/* Generated by Cython 3.0.7 */

/* BEGIN: Cython Metadata
{
    "distutils": {
        "depends": [
            "/io/cuda/include/cuda",
            "/io/cuda/include/cuda.h",
            "/io/cuda/include/cudaProfiler.h"
        ],
        "extra_compile_args": [
            "-std=c++14",
            "-fpermissive",
            "-Wno-deprecated-declarations",
            "-D _GLIBCXX_ASSERTIONS",
            "-fno-var-tracking-assignments",
            "-O3"
        ],
        "include_dirs": [
            "cuda",
            "/opt/conda/conda-bld/cuda-python_1705509865348/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/include",
            "/io/cuda/include"
        ],
        "language": "c++",
        "library_dirs": [
            "/opt/conda/conda-bld/cuda-python_1705509865348/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib/python3.9/site-packages",
            "/opt/conda/conda-bld/cuda-python_1705509865348/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/lib"
        ],
        "name": "cuda.cuda",
        "sources": [
            "cuda/cuda.pyx"
        ]
    },
    "module_name": "cuda.cuda"
}
END: Cython Metadata */

#ifndef PY_SSIZE_T_CLEAN
#define PY_SSIZE_T_CLEAN
#endif /* PY_SSIZE_T_CLEAN */
#if defined(CYTHON_LIMITED_API) && 0
  #ifndef Py_LIMITED_API
    #if CYTHON_LIMITED_API+0 > 0x03030000
      #define Py_LIMITED_API CYTHON_LIMITED_API
    #else
      #define Py_LIMITED_API 0x03030000
    #endif
  #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 < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
    #error Cython requires Python 2.7+ or Python 3.3+.
#else
#if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API
#define __PYX_EXTRA_ABI_MODULE_NAME "limited"
#else
#define __PYX_EXTRA_ABI_MODULE_NAME ""
#endif
#define CYTHON_ABI "3_0_7" __PYX_EXTRA_ABI_MODULE_NAME
#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."
#define CYTHON_HEX_VERSION 0x030007F0
#define CYTHON_FUTURE_DIVISION 1
#include <stddef.h>
#ifndef offsetof
  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
#endif
#if !defined(_WIN32) && !defined(WIN32) && !defined(MS_WINDOWS)
  #ifndef __stdcall
    #define __stdcall
  #endif
  #ifndef __cdecl
    #define __cdecl
  #endif
  #ifndef __fastcall
    #define __fastcall
  #endif
#endif
#ifndef DL_IMPORT
  #define DL_IMPORT(t) t
#endif
#ifndef DL_EXPORT
  #define DL_EXPORT(t) t
#endif
#define __PYX_COMMA ,
#ifndef HAVE_LONG_LONG
  #define HAVE_LONG_LONG
#endif
#ifndef PY_LONG_LONG
  #define PY_LONG_LONG LONG_LONG
#endif
#ifndef Py_HUGE_VAL
  #define Py_HUGE_VAL HUGE_VAL
#endif
#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX
#if defined(GRAALVM_PYTHON)
  /* For very preliminary testing purposes. Most variables are set the same as PyPy.
     The existence of this section does not imply that anything works or is even tested */
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #define CYTHON_COMPILING_IN_LIMITED_API 0
  #define CYTHON_COMPILING_IN_GRAAL 1
  #define CYTHON_COMPILING_IN_NOGIL 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
  #if PY_VERSION_HEX < 0x03050000
    #undef CYTHON_USE_ASYNC_SLOTS
    #define CYTHON_USE_ASYNC_SLOTS 0
  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
    #define CYTHON_USE_ASYNC_SLOTS 1
  #endif
  #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_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 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 (PY_MAJOR_VERSION >= 3)
  #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_TP_FINALIZE
  #define CYTHON_USE_TP_FINALIZE 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 0
  #endif
#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_NOGIL 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 0
  #ifndef CYTHON_USE_TYPE_SPECS
    #define CYTHON_USE_TYPE_SPECS 0
  #endif
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #if PY_VERSION_HEX < 0x03050000
    #undef CYTHON_USE_ASYNC_SLOTS
    #define CYTHON_USE_ASYNC_SLOTS 0
  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
    #define CYTHON_USE_ASYNC_SLOTS 1
  #endif
  #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_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 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 (PY_MAJOR_VERSION >= 3)
  #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_TP_FINALIZE
  #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00)
  #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
#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_NOGIL 0
  #undef CYTHON_CLINE_IN_TRACEBACK
  #define CYTHON_CLINE_IN_TRACEBACK 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 0
  #undef CYTHON_USE_TYPE_SPECS
  #define CYTHON_USE_TYPE_SPECS 1
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #undef CYTHON_USE_ASYNC_SLOTS
  #define CYTHON_USE_ASYNC_SLOTS 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
  #undef CYTHON_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 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 0
  #undef CYTHON_USE_MODULE_STATE
  #define CYTHON_USE_MODULE_STATE 1
  #ifndef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE 0
  #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
#elif defined(Py_GIL_DISABLED) || defined(Py_NOGIL)
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #define CYTHON_COMPILING_IN_LIMITED_API 0
  #define CYTHON_COMPILING_IN_GRAAL 0
  #define CYTHON_COMPILING_IN_NOGIL 1
  #ifndef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #ifndef CYTHON_USE_ASYNC_SLOTS
    #define CYTHON_USE_ASYNC_SLOTS 1
  #endif
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #ifndef CYTHON_USE_UNICODE_INTERNALS
    #define CYTHON_USE_UNICODE_INTERNALS 1
  #endif
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #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_ASSUME_SAFE_MACROS
    #define CYTHON_ASSUME_SAFE_MACROS 1
  #endif
  #ifndef CYTHON_UNPACK_METHODS
    #define CYTHON_UNPACK_METHODS 1
  #endif
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
  #endif
  #ifndef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE 1
  #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
#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
  #define CYTHON_COMPILING_IN_NOGIL 0
  #ifndef 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
  #if PY_MAJOR_VERSION < 3
    #undef CYTHON_USE_ASYNC_SLOTS
    #define CYTHON_USE_ASYNC_SLOTS 0
  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
    #define CYTHON_USE_ASYNC_SLOTS 1
  #endif
  #ifndef CYTHON_USE_PYLONG_INTERNALS
    #define CYTHON_USE_PYLONG_INTERNALS 1
  #endif
  #ifndef CYTHON_USE_PYLIST_INTERNALS
    #define CYTHON_USE_PYLIST_INTERNALS 1
  #endif
  #ifndef CYTHON_USE_UNICODE_INTERNALS
    #define CYTHON_USE_UNICODE_INTERNALS 1
  #endif
  #if PY_VERSION_HEX < 0x030300F0 || 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
  #ifndef CYTHON_ASSUME_SAFE_MACROS
    #define CYTHON_ASSUME_SAFE_MACROS 1
  #endif
  #ifndef CYTHON_UNPACK_METHODS
    #define CYTHON_UNPACK_METHODS 1
  #endif
  #ifndef CYTHON_FAST_THREAD_STATE
    #define CYTHON_FAST_THREAD_STATE 1
  #endif
  #ifndef CYTHON_FAST_GIL
    #define CYTHON_FAST_GIL (PY_MAJOR_VERSION < 3 || PY_VERSION_HEX >= 0x03060000 && PY_VERSION_HEX < 0x030C00A6)
  #endif
  #ifndef CYTHON_METH_FASTCALL
    #define CYTHON_METH_FASTCALL (PY_VERSION_HEX >= 0x030700A1)
  #endif
  #ifndef CYTHON_FAST_PYCALL
    #define CYTHON_FAST_PYCALL 1
  #endif
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS 1
  #endif
  #if PY_VERSION_HEX < 0x03050000
    #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
  #ifndef CYTHON_USE_MODULE_STATE
    #define CYTHON_USE_MODULE_STATE 0
  #endif
  #if PY_VERSION_HEX < 0x030400a1
    #undef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE 0
  #elif !defined(CYTHON_USE_TP_FINALIZE)
    #define CYTHON_USE_TP_FINALIZE 1
  #endif
  #if PY_VERSION_HEX < 0x030600B1
    #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)
  #endif
  #if PY_VERSION_HEX < 0x030700A3
    #undef CYTHON_USE_EXC_INFO_STACK
    #define CYTHON_USE_EXC_INFO_STACK 0
  #elif !defined(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
#endif
#if !defined(CYTHON_FAST_PYCCALL)
#define CYTHON_FAST_PYCCALL  (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
#endif
#if !defined(CYTHON_VECTORCALL)
#define CYTHON_VECTORCALL  (CYTHON_FAST_PYCCALL && PY_VERSION_HEX >= 0x030800B1)
#endif
#define CYTHON_BACKPORT_VECTORCALL (CYTHON_METH_FASTCALL && PY_VERSION_HEX < 0x030800B1)
#if CYTHON_USE_PYLONG_INTERNALS
  #if PY_MAJOR_VERSION < 3
    #include "longintrepr.h"
  #endif
  #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
#  define CYTHON_NCP_UNUSED
# else
#  define CYTHON_NCP_UNUSED CYTHON_UNUSED
# endif
#endif
#ifndef CYTHON_USE_CPP_STD_MOVE
  #if defined(__cplusplus) && (\
    __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600))
    #define CYTHON_USE_CPP_STD_MOVE 1
  #else
    #define CYTHON_USE_CPP_STD_MOVE 0
  #endif
#endif
#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
#ifdef _MSC_VER
    #ifndef _MSC_STDINT_H_
        #if _MSC_VER < 1300
            typedef unsigned char     uint8_t;
            typedef unsigned short    uint16_t;
            typedef unsigned int      uint32_t;
        #else
            typedef unsigned __int8   uint8_t;
            typedef unsigned __int16  uint16_t;
            typedef unsigned __int32  uint32_t;
        #endif
    #endif
    #if _MSC_VER < 1300
        #ifdef _WIN64
            typedef unsigned long long  __pyx_uintptr_t;
        #else
            typedef unsigned int        __pyx_uintptr_t;
        #endif
    #else
        #ifdef _WIN64
            typedef unsigned __int64    __pyx_uintptr_t;
        #else
            typedef unsigned __int32    __pyx_uintptr_t;
        #endif
    #endif
#else
    #include <stdint.h>
    typedef uintptr_t  __pyx_uintptr_t;
#endif
#ifndef CYTHON_FALLTHROUGH
  #if defined(__cplusplus)
    /* for clang __has_cpp_attribute(fallthrough) is true even before C++17
     * but leads to warnings with -pedantic, since it is a C++17 feature */
    #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
      #if __has_cpp_attribute(fallthrough)
        #define CYTHON_FALLTHROUGH [[fallthrough]]
      #endif
    #endif
    #ifndef CYTHON_FALLTHROUGH
      #if __has_cpp_attribute(clang::fallthrough)
        #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
      #elif __has_cpp_attribute(gnu::fallthrough)
        #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
      #endif
    #endif
  #endif
  #ifndef CYTHON_FALLTHROUGH
    #if __has_attribute(fallthrough)
      #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
    #else
      #define CYTHON_FALLTHROUGH
    #endif
  #endif
  #if defined(__clang__) && defined(__apple_build_version__)
    #if __apple_build_version__ < 7000000
      #undef  CYTHON_FALLTHROUGH
      #define CYTHON_FALLTHROUGH
    #endif
  #endif
#endif
#ifdef __cplusplus
  template <typename T>
  struct __PYX_IS_UNSIGNED_IMPL {static const bool value = T(0) < T(-1);};
  #define __PYX_IS_UNSIGNED(type) (__PYX_IS_UNSIGNED_IMPL<type>::value)
#else
  #define __PYX_IS_UNSIGNED(type) (((type)-1) > 0)
#endif
#if CYTHON_COMPILING_IN_PYPY == 1
  #define __PYX_NEED_TP_PRINT_SLOT  (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x030A0000)
#else
  #define __PYX_NEED_TP_PRINT_SLOT  (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000)
#endif
#define __PYX_REINTERPRET_FUNCION(func_pointer, other_pointer) ((func_pointer)(void(*)(void))(other_pointer))

#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;
};

#define __PYX_BUILD_PY_SSIZE_T "n"
#define CYTHON_FORMAT_SSIZE_T "z"
#if PY_MAJOR_VERSION < 3
  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
  #define __Pyx_DefaultClassType PyClass_Type
  #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
          PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#else
  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
  #define __Pyx_DefaultClassType PyType_Type
#if CYTHON_COMPILING_IN_LIMITED_API
    static CYTHON_INLINE PyObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
                                                    PyObject *code, PyObject *c, PyObject* n, PyObject *v,
                                                    PyObject *fv, PyObject *cell, PyObject* fn,
                                                    PyObject *name, int fline, PyObject *lnos) {
        PyObject *exception_table = NULL;
        PyObject *types_module=NULL, *code_type=NULL, *result=NULL;
        #if __PYX_LIMITED_VERSION_HEX < 0x030B0000
        PyObject *version_info; // borrowed
        PyObject *py_minor_version = NULL;
        #endif
        long minor_version = 0;
        PyObject *type, *value, *traceback;
        PyErr_Fetch(&type, &value, &traceback);
        #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000
        minor_version = 11; // we don't yet need to distinguish between versions > 11
        #else
        if (!(version_info = PySys_GetObject("version_info"))) goto end;
        if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end;
        minor_version = PyLong_AsLong(py_minor_version);
        Py_DECREF(py_minor_version);
        if (minor_version == -1 && PyErr_Occurred()) goto end;
        #endif
        if (!(types_module = PyImport_ImportModule("types"))) goto end;
        if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end;
        if (minor_version <= 7) {
            (void)p;
            result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOO", a, k, l, s, f, code,
                          c, n, v, fn, name, fline, lnos, fv, cell);
        } else if (minor_version <= 10) {
            result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOO", a,p, k, l, s, f, code,
                          c, n, v, fn, name, fline, lnos, fv, cell);
        } else {
            if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end;
            result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOO", a,p, k, l, s, f, code,
                          c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell);
        }
    end:
        Py_XDECREF(code_type);
        Py_XDECREF(exception_table);
        Py_XDECREF(types_module);
        if (type) {
            PyErr_Restore(type, value, traceback);
        }
        return result;
    }
    #ifndef CO_OPTIMIZED
    #define CO_OPTIMIZED 0x0001
    #endif
    #ifndef CO_NEWLOCALS
    #define CO_NEWLOCALS 0x0002
    #endif
    #ifndef CO_VARARGS
    #define CO_VARARGS 0x0004
    #endif
    #ifndef CO_VARKEYWORDS
    #define CO_VARKEYWORDS 0x0008
    #endif
    #ifndef CO_ASYNC_GENERATOR
    #define CO_ASYNC_GENERATOR 0x0200
    #endif
    #ifndef CO_GENERATOR
    #define CO_GENERATOR 0x0020
    #endif
    #ifndef CO_COROUTINE
    #define CO_COROUTINE 0x0080
    #endif
#elif PY_VERSION_HEX >= 0x030B0000
  static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
                                                    PyObject *code, PyObject *c, PyObject* n, PyObject *v,
                                                    PyObject *fv, PyObject *cell, PyObject* fn,
                                                    PyObject *name, int fline, PyObject *lnos) {
    PyCodeObject *result;
    PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0);  // we don't have access to __pyx_empty_bytes here
    if (!empty_bytes) return NULL;
    result =
      #if PY_VERSION_HEX >= 0x030C0000
        PyUnstable_Code_NewWithPosOnlyArgs
      #else
        PyCode_NewWithPosOnlyArgs
      #endif
        (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, empty_bytes);
    Py_DECREF(empty_bytes);
    return result;
  }
#elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY
  #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
          PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#else
  #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#endif
#endif
#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 CO_COROUTINE
  #define CO_COROUTINE 0x80
#endif
#ifndef CO_ASYNC_GENERATOR
  #define CO_ASYNC_GENERATOR 0x200
#endif
#ifndef Py_TPFLAGS_CHECKTYPES
  #define Py_TPFLAGS_CHECKTYPES 0
#endif
#ifndef Py_TPFLAGS_HAVE_INDEX
  #define Py_TPFLAGS_HAVE_INDEX 0
#endif
#ifndef Py_TPFLAGS_HAVE_NEWBUFFER
  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
#endif
#ifndef Py_TPFLAGS_HAVE_FINALIZE
  #define Py_TPFLAGS_HAVE_FINALIZE 0
#endif
#ifndef Py_TPFLAGS_SEQUENCE
  #define Py_TPFLAGS_SEQUENCE 0
#endif
#ifndef Py_TPFLAGS_MAPPING
  #define Py_TPFLAGS_MAPPING 0
#endif
#ifndef METH_STACKLESS
  #define METH_STACKLESS 0
#endif
#if PY_VERSION_HEX <= 0x030700A3 || !defined(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
  #define __Pyx_PyCFunctionFast _PyCFunctionFast
  #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
#endif
#if CYTHON_METH_FASTCALL
  #define __Pyx_METH_FASTCALL METH_FASTCALL
  #define __Pyx_PyCFunction_FastCall __Pyx_PyCFunctionFast
  #define __Pyx_PyCFunction_FastCallWithKeywords __Pyx_PyCFunctionFastWithKeywords
#else
  #define __Pyx_METH_FASTCALL METH_VARARGS
  #define __Pyx_PyCFunction_FastCall PyCFunction
  #define __Pyx_PyCFunction_FastCallWithKeywords PyCFunctionWithKeywords
#endif
#if CYTHON_VECTORCALL
  #define __pyx_vectorcallfunc vectorcallfunc
  #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET  PY_VECTORCALL_ARGUMENTS_OFFSET
  #define __Pyx_PyVectorcall_NARGS(n)  PyVectorcall_NARGS((size_t)(n))
#elif CYTHON_BACKPORT_VECTORCALL
  typedef PyObject *(*__pyx_vectorcallfunc)(PyObject *callable, PyObject *const *args,
                                            size_t nargsf, PyObject *kwnames);
  #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET  ((size_t)1 << (8 * sizeof(size_t) - 1))
  #define __Pyx_PyVectorcall_NARGS(n)  ((Py_ssize_t)(((size_t)(n)) & ~__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET))
#else
  #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET  0
  #define __Pyx_PyVectorcall_NARGS(n)  ((Py_ssize_t)(n))
#endif
#if PY_MAJOR_VERSION >= 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) {
#if CYTHON_COMPILING_IN_LIMITED_API
    return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
#else
    return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
#endif
}
#define __Pyx_IsSameCFunction(func, cfunc)   __Pyx__IsSameCFunction(func, cfunc)
#if __PYX_LIMITED_VERSION_HEX < 0x030900B1
  #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_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
  #define __Pyx_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()
#elif PY_VERSION_HEX >= 0x03060000
  #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
#elif PY_VERSION_HEX >= 0x03000000
  #define __Pyx_PyThreadState_Current PyThreadState_GET()
#else
  #define __Pyx_PyThreadState_Current _PyThreadState_Current
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
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;
}
#endif
#define __Pyx_PyObject_GetSlot(obj, name, func_ctype)  __Pyx_PyType_GetSlot(Py_TYPE(obj), name, func_ctype)
#if CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_PyType_GetSlot(type, name, func_ctype)  ((func_ctype) PyType_GetSlot((type), Py_##name))
#else
  #define __Pyx_PyType_GetSlot(type, name, func_ctype)  ((type)->name)
#endif
#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
#include "pythread.h"
#define Py_tss_NEEDS_INIT 0
typedef int Py_tss_t;
static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {
  *key = PyThread_create_key();
  return 0;
}
static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {
  Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));
  *key = Py_tss_NEEDS_INIT;
  return key;
}
static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {
  PyObject_Free(key);
}
static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {
  return *key != Py_tss_NEEDS_INIT;
}
static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {
  PyThread_delete_key(*key);
  *key = Py_tss_NEEDS_INIT;
}
static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {
  return PyThread_set_key_value(*key, value);
}
static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
  return PyThread_get_key_value(*key);
}
#endif
#if PY_MAJOR_VERSION < 3
    #if CYTHON_COMPILING_IN_PYPY
        #if PYPY_VERSION_NUM < 0x07030600
            #if defined(__cplusplus) && __cplusplus >= 201402L
                [[deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")]]
            #elif defined(__GNUC__) || defined(__clang__)
                __attribute__ ((__deprecated__("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")))
            #elif defined(_MSC_VER)
                __declspec(deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6"))
            #endif
            static CYTHON_INLINE int PyGILState_Check(void) {
                return 0;
            }
        #else  // PYPY_VERSION_NUM < 0x07030600
        #endif  // PYPY_VERSION_NUM < 0x07030600
    #else
        static CYTHON_INLINE int PyGILState_Check(void) {
            PyThreadState * tstate = _PyThreadState_Current;
            return tstate && (tstate == PyGILState_GetThisThreadState());
        }
    #endif
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized)
#define __Pyx_PyDict_NewPresized(n)  ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
#else
#define __Pyx_PyDict_NewPresized(n)  PyDict_New()
#endif
#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
#else
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && 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 PY_MAJOR_VERSION >= 3 && (!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)
  #define __Pyx_PyObject_GetIterNextFunc(obj)  (Py_TYPE(obj)->tp_iternext)
#else
  #define __Pyx_PyType_GetFlags(tp)   (PyType_GetFlags((PyTypeObject *)tp))
  #define __Pyx_PyType_HasFeature(type, feature)  PyType_HasFeature(type, feature)
  #define __Pyx_PyObject_GetIterNextFunc(obj)  PyIter_Next
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_SetItemOnTypeDict(tp, k, v) PyObject_GenericSetAttr((PyObject*)tp, k, v)
#else
  #define __Pyx_SetItemOnTypeDict(tp, k, v) PyDict_SetItem(tp->tp_dict, k, v)
#endif
#if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000
#define __Pyx_PyHeapTypeObject_GC_Del(obj)  {\
    PyTypeObject *type = Py_TYPE((PyObject*)obj);\
    assert(__Pyx_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE));\
    PyObject_GC_Del(obj);\
    Py_DECREF(type);\
}
#else
#define __Pyx_PyHeapTypeObject_GC_Del(obj)  PyObject_GC_Del(obj)
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
  #define CYTHON_PEP393_ENABLED 1
  #define __Pyx_PyUnicode_READY(op)       (0)
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GetLength(u)
  #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))
#elif PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
  #define CYTHON_PEP393_ENABLED 1
  #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_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
  #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
#else
  #define CYTHON_PEP393_ENABLED 0
  #define PyUnicode_1BYTE_KIND  1
  #define PyUnicode_2BYTE_KIND  2
  #define PyUnicode_4BYTE_KIND  4
  #define __Pyx_PyUnicode_READY(op)       (0)
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   ((sizeof(Py_UNICODE) == 2) ? 65535U : 1114111U)
  #define __Pyx_PyUnicode_KIND(u)         ((int)sizeof(Py_UNICODE))
  #define __Pyx_PyUnicode_DATA(u)         ((void*)PyUnicode_AS_UNICODE(u))
  #define __Pyx_PyUnicode_READ(k, d, i)   ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  (((void)(k)), ((Py_UNICODE*)d)[i] = (Py_UNICODE) ch)
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_SIZE(u))
#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) || (PY_MAJOR_VERSION == 2 && PYPY_VERSION_NUM < 0x07030500)
    #undef 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_PyString_FormatSafe(a, b)   ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
#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 PY_MAJOR_VERSION >= 3
  #define __Pyx_PyString_Format(a, b)  PyUnicode_Format(a, b)
#else
  #define __Pyx_PyString_Format(a, b)  PyString_Format(a, b)
#endif
#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
  #define PyObject_ASCII(o)            PyObject_Repr(o)
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBaseString_Type            PyUnicode_Type
  #define PyStringObject               PyUnicodeObject
  #define PyString_Type                PyUnicode_Type
  #define PyString_Check               PyUnicode_Check
  #define PyString_CheckExact          PyUnicode_CheckExact
#ifndef PyObject_Unicode
  #define PyObject_Unicode             PyObject_Str
#endif
#endif
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
  #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
#else
  #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
  #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
#endif
#if CYTHON_COMPILING_IN_CPYTHON
  #define __Pyx_PySequence_ListKeepNew(obj)\
    (likely(PyList_CheckExact(obj) && Py_REFCNT(obj) == 1) ? __Pyx_NewRef(obj) : PySequence_List(obj))
#else
  #define __Pyx_PySequence_ListKeepNew(obj)  PySequence_List(obj)
#endif
#ifndef PySet_CheckExact
  #define PySet_CheckExact(obj)        __Pyx_IS_TYPE(obj, &PySet_Type)
#endif
#if PY_VERSION_HEX >= 0x030900A4
  #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)
  #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)
#else
  #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
  #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
#endif
#if CYTHON_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_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0))
  #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)
#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_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v)
  #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)
#endif
#if PY_VERSION_HEX >= 0x030d00A1
  #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
#else
  static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) {
      PyObject *module = PyImport_AddModule(name);
      Py_XINCREF(module);
      return module;
  }
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyIntObject                  PyLongObject
  #define PyInt_Type                   PyLong_Type
  #define PyInt_Check(op)              PyLong_Check(op)
  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
  #define __Pyx_Py3Int_Check(op)       PyLong_Check(op)
  #define __Pyx_Py3Int_CheckExact(op)  PyLong_CheckExact(op)
  #define PyInt_FromString             PyLong_FromString
  #define PyInt_FromUnicode            PyLong_FromUnicode
  #define PyInt_FromLong               PyLong_FromLong
  #define PyInt_FromSize_t             PyLong_FromSize_t
  #define PyInt_FromSsize_t            PyLong_FromSsize_t
  #define PyInt_AsLong                 PyLong_AsLong
  #define PyInt_AS_LONG                PyLong_AS_LONG
  #define PyInt_AsSsize_t              PyLong_AsSsize_t
  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
  #define PyNumber_Int                 PyNumber_Long
#else
  #define __Pyx_Py3Int_Check(op)       (PyLong_Check(op) || PyInt_Check(op))
  #define __Pyx_Py3Int_CheckExact(op)  (PyLong_CheckExact(op) || PyInt_CheckExact(op))
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBoolObject                 PyLongObject
#endif
#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
  #ifndef PyUnicode_InternFromString
    #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
  #endif
#endif
#if PY_VERSION_HEX < 0x030200A4
  typedef long Py_hash_t;
  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
  #define __Pyx_PyInt_AsHash_t   __Pyx_PyIndex_AsHash_t
#else
  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
  #define __Pyx_PyInt_AsHash_t   __Pyx_PyIndex_AsSsize_t
#endif
#if CYTHON_USE_ASYNC_SLOTS
  #if PY_VERSION_HEX >= 0x030500B1
    #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
    #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
  #else
    #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
  #endif
#else
  #define __Pyx_PyType_AsAsync(obj) NULL
#endif
#ifndef __Pyx_PyAsyncMethodsStruct
    typedef struct {
        unaryfunc am_await;
        unaryfunc am_aiter;
        unaryfunc am_anext;
    } __Pyx_PyAsyncMethodsStruct;
#endif

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

#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; }
#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__cuda
#define __PYX_HAVE_API__cuda__cuda
/* Early includes */
#include <stdint.h>
#include "cuda.h"
#include "cudaProfiler.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>
#ifdef _OPENMP
#include <omp.h>
#endif /* _OPENMP */

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

typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
                const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;

#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)
#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 PY_MAJOR_VERSION < 3
    #define __Pyx_PyStr_FromString        __Pyx_PyBytes_FromString
    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
#else
    #define __Pyx_PyStr_FromString        __Pyx_PyUnicode_FromString
    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
#endif
#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_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_PyStr_FromCString(s)     __Pyx_PyStr_FromString((const char*)s)
#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
#if CYTHON_COMPILING_IN_LIMITED_API
static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const wchar_t *u)
{
    const wchar_t *u_end = u;
    while (*u_end++) ;
    return (size_t)(u_end - u - 1);
}
#else
static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
{
    const Py_UNICODE *u_end = u;
    while (*u_end++) ;
    return (size_t)(u_end - u - 1);
}
#endif
#define __Pyx_PyUnicode_FromOrdinal(o)       PyUnicode_FromOrdinal((int)o)
#define __Pyx_PyUnicode_FromUnicode(u)       PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
#define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
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_IntOrLong(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_PyInt_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))
#else
#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
#endif
#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
#else
#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
#endif
#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  // Py < 3.12
  #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 PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
#include <string.h>
static int __Pyx_sys_getdefaultencoding_not_ascii;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
    PyObject* sys;
    PyObject* default_encoding = NULL;
    PyObject* ascii_chars_u = NULL;
    PyObject* ascii_chars_b = NULL;
    const char* default_encoding_c;
    sys = PyImport_ImportModule("sys");
    if (!sys) goto bad;
    default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
    Py_DECREF(sys);
    if (!default_encoding) goto bad;
    default_encoding_c = PyBytes_AsString(default_encoding);
    if (!default_encoding_c) goto bad;
    if (strcmp(default_encoding_c, "ascii") == 0) {
        __Pyx_sys_getdefaultencoding_not_ascii = 0;
    } else {
        char ascii_chars[128];
        int c;
        for (c = 0; c < 128; c++) {
            ascii_chars[c] = (char) c;
        }
        __Pyx_sys_getdefaultencoding_not_ascii = 1;
        ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
        if (!ascii_chars_u) goto bad;
        ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
        if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
            PyErr_Format(
                PyExc_ValueError,
                "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
                default_encoding_c);
            goto bad;
        }
        Py_DECREF(ascii_chars_u);
        Py_DECREF(ascii_chars_b);
    }
    Py_DECREF(default_encoding);
    return 0;
bad:
    Py_XDECREF(default_encoding);
    Py_XDECREF(ascii_chars_u);
    Py_XDECREF(ascii_chars_b);
    return -1;
}
#endif
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
#else
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
#include <string.h>
static char* __PYX_DEFAULT_STRING_ENCODING;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
    PyObject* sys;
    PyObject* default_encoding = NULL;
    char* default_encoding_c;
    sys = PyImport_ImportModule("sys");
    if (!sys) goto bad;
    default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
    Py_DECREF(sys);
    if (!default_encoding) goto bad;
    default_encoding_c = PyBytes_AsString(default_encoding);
    if (!default_encoding_c) goto bad;
    __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
    if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
    strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
    Py_DECREF(default_encoding);
    return 0;
bad:
    Py_XDECREF(default_encoding);
    return -1;
}
#endif
#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__ */
static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }

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

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

static const char *__pyx_f[] = {
  "<stringsource>",
  "cuda/cuda.pyx",
  "cuda/cuda.pxd",
  "cuda/_lib/utils.pxd",
  "type.pxd",
};
/* #### Code section: utility_code_proto_before_types ### */
/* ForceInitThreads.proto */
#ifndef __PYX_FORCE_INIT_THREADS
  #define __PYX_FORCE_INIT_THREADS 0
#endif

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

/* "cuda/ccuda.pxd":2338
 * ctypedef CUGLmap_flags_enum CUGLmap_flags
 * 
 * ctypedef unsigned int GLenum             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned int GLuint
 */
typedef unsigned int __pyx_t_4cuda_5ccuda_GLenum;

/* "cuda/ccuda.pxd":2340
 * ctypedef unsigned int GLenum
 * 
 * ctypedef unsigned int GLuint             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef unsigned int __pyx_t_4cuda_5ccuda_GLuint;

/* "cuda/ccuda.pxd":2352
 * ctypedef void* EGLStreamKHR
 * 
 * ctypedef unsigned int EGLint             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef unsigned int __pyx_t_4cuda_5ccuda_EGLint;

/* "cuda/ccuda.pxd":2359
 * ctypedef void* EGLSyncKHR
 * 
 * ctypedef uint32_t VdpDevice             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned long long VdpGetProcAddress
 */
typedef uint32_t __pyx_t_4cuda_5ccuda_VdpDevice;

/* "cuda/ccuda.pxd":2361
 * ctypedef uint32_t VdpDevice
 * 
 * ctypedef unsigned long long VdpGetProcAddress             # <<<<<<<<<<<<<<
 * 
 * ctypedef uint32_t VdpVideoSurface
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_5ccuda_VdpGetProcAddress;

/* "cuda/ccuda.pxd":2363
 * ctypedef unsigned long long VdpGetProcAddress
 * 
 * ctypedef uint32_t VdpVideoSurface             # <<<<<<<<<<<<<<
 * 
 * ctypedef uint32_t VdpOutputSurface
 */
typedef uint32_t __pyx_t_4cuda_5ccuda_VdpVideoSurface;

/* "cuda/ccuda.pxd":2365
 * 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_5ccuda_VdpOutputSurface;

/* "cuda/cuda.pyx":21
 * from cpython.bytes cimport PyBytes_FromStringAndSize
 * 
 * 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_4cuda_signed_char_ptr;

/* "cuda/cuda.pyx":22
 * 
 * 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_4cuda_unsigned_char_ptr;

/* "cuda/cuda.pyx":23
 * 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_4cuda_char_ptr;

/* "cuda/cuda.pyx":24
 * 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_4cuda_short_ptr;

/* "cuda/cuda.pyx":25
 * 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_4cuda_unsigned_short_ptr;

/* "cuda/cuda.pyx":26
 * 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_4cuda_int_ptr;

/* "cuda/cuda.pyx":27
 * 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_4cuda_long_int_ptr;

/* "cuda/cuda.pyx":28
 * 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_4cuda_long_long_int_ptr;

/* "cuda/cuda.pyx":29
 * 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_4cuda_unsigned_int_ptr;

/* "cuda/cuda.pyx":30
 * 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_4cuda_unsigned_long_int_ptr;

/* "cuda/cuda.pyx":31
 * 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_4cuda_unsigned_long_long_int_ptr;

/* "cuda/cuda.pyx":32
 * 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_4cuda_uint32_t_ptr;

/* "cuda/cuda.pyx":33
 * 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_4cuda_uint64_t_ptr;

/* "cuda/cuda.pyx":34
 * 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_4cuda_int32_t_ptr;

/* "cuda/cuda.pyx":35
 * 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_4cuda_int64_t_ptr;

/* "cuda/cuda.pyx":36
 * 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_4cuda_unsigned_ptr;

/* "cuda/cuda.pyx":37
 * 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_4cuda_unsigned_long_long_ptr;

/* "cuda/cuda.pyx":38
 * 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 float_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_4cuda_long_long_ptr;

/* "cuda/cuda.pyx":39
 * 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 float_ptr
 * ctypedef unsigned long long double_ptr
 */
typedef unsigned PY_LONG_LONG __pyx_t_4cuda_4cuda_size_t_ptr;

/* "cuda/cuda.pyx":40
 * ctypedef unsigned long long long_long_ptr
 * ctypedef unsigned long long size_t_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_4cuda_float_ptr;

/* "cuda/cuda.pyx":41
 * ctypedef unsigned long long size_t_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_4cuda_double_ptr;

/* "cuda/cuda.pyx":42
 * 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_4cuda_void_ptr;
/* #### Code section: complex_type_declarations ### */
/* #### Code section: type_declarations ### */

/*--- Type declarations ---*/
struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams;
struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr;
struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemPool_attribute;
struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmem_range_attribute;
struct __pyx_obj_4cuda_4_lib_5utils_HelperCUpointer_attribute;
struct __pyx_obj_4cuda_4_lib_5utils_HelperCUgraphMem_attribute;
struct __pyx_obj_4cuda_4_lib_5utils_HelperCUjit_option;
struct __pyx_obj_4cuda_4_lib_5utils_HelperCUlibraryOption;
struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemAllocationHandleType;
struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper;
struct __pyx_obj_4cuda_4_lib_5utils_HelperCUcoredumpSettings;
struct __pyx_obj_4cuda_4cuda_CUcontext;
struct __pyx_obj_4cuda_4cuda_CUmodule;
struct __pyx_obj_4cuda_4cuda_CUfunction;
struct __pyx_obj_4cuda_4cuda_CUlibrary;
struct __pyx_obj_4cuda_4cuda_CUkernel;
struct __pyx_obj_4cuda_4cuda_CUarray;
struct __pyx_obj_4cuda_4cuda_CUmipmappedArray;
struct __pyx_obj_4cuda_4cuda_CUtexref;
struct __pyx_obj_4cuda_4cuda_CUsurfref;
struct __pyx_obj_4cuda_4cuda_CUevent;
struct __pyx_obj_4cuda_4cuda_CUstream;
struct __pyx_obj_4cuda_4cuda_CUgraphicsResource;
struct __pyx_obj_4cuda_4cuda_CUexternalMemory;
struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore;
struct __pyx_obj_4cuda_4cuda_CUgraph;
struct __pyx_obj_4cuda_4cuda_CUgraphNode;
struct __pyx_obj_4cuda_4cuda_CUgraphExec;
struct __pyx_obj_4cuda_4cuda_CUmemoryPool;
struct __pyx_obj_4cuda_4cuda_CUuserObject;
struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode;
struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle;
struct __pyx_obj_4cuda_4cuda_CUlinkState;
struct __pyx_obj_4cuda_4cuda_CUgreenCtx;
struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc;
struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection;
struct __pyx_obj_4cuda_4cuda_EGLImageKHR;
struct __pyx_obj_4cuda_4cuda_EGLStreamKHR;
struct __pyx_obj_4cuda_4cuda_EGLSyncKHR;
struct __pyx_obj_4cuda_4cuda_CUasyncCallback;
struct __pyx_obj_4cuda_4cuda_CUhostFn;
struct __pyx_obj_4cuda_4cuda_CUstreamCallback;
struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize;
struct __pyx_obj_4cuda_4cuda_CUuuid_st;
struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st;
struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st;
struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st;
struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st;
struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st;
struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st;
struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st;
struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union;
struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st;
struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st;
struct __pyx_obj_4cuda_4cuda_anon_struct0;
struct __pyx_obj_4cuda_4cuda_anon_union2;
struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st;
struct __pyx_obj_4cuda_4cuda_CUdevprop_st;
struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st;
struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st;
struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st;
struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st;
struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st;
struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st;
struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st;
struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st;
struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS;
struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st;
struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st;
struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st;
struct __pyx_obj_4cuda_4cuda_anon_struct1;
struct __pyx_obj_4cuda_4cuda_anon_struct2;
struct __pyx_obj_4cuda_4cuda_anon_struct3;
struct __pyx_obj_4cuda_4cuda_anon_struct4;
struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union;
struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st;
struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st;
struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st;
struct __pyx_obj_4cuda_4cuda_anon_union3;
struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st;
struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st;
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st;
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st;
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st;
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st;
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st;
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st;
struct __pyx_obj_4cuda_4cuda_anon_struct5;
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st;
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st;
struct __pyx_obj_4cuda_4cuda_anon_struct6;
struct __pyx_obj_4cuda_4cuda_anon_struct7;
struct __pyx_obj_4cuda_4cuda_anon_struct8;
struct __pyx_obj_4cuda_4cuda_anon_struct9;
struct __pyx_obj_4cuda_4cuda_anon_struct10;
struct __pyx_obj_4cuda_4cuda_anon_union4;
struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st;
struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st;
struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st;
struct __pyx_obj_4cuda_4cuda_CUtensorMap_st;
struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st;
struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st;
struct __pyx_obj_4cuda_4cuda_anon_struct11;
struct __pyx_obj_4cuda_4cuda_anon_union5;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st;
struct __pyx_obj_4cuda_4cuda_anon_struct12;
struct __pyx_obj_4cuda_4cuda_anon_union6;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st;
struct __pyx_obj_4cuda_4cuda_anon_struct13;
struct __pyx_obj_4cuda_4cuda_anon_union7;
struct __pyx_obj_4cuda_4cuda_anon_struct14;
struct __pyx_obj_4cuda_4cuda_anon_struct15;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st;
struct __pyx_obj_4cuda_4cuda_anon_struct16;
struct __pyx_obj_4cuda_4cuda_anon_union8;
struct __pyx_obj_4cuda_4cuda_anon_struct17;
struct __pyx_obj_4cuda_4cuda_anon_struct18;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st;
struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st;
struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st;
struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st;
struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st;
struct __pyx_obj_4cuda_4cuda_anon_union9;
struct __pyx_obj_4cuda_4cuda_anon_struct19;
struct __pyx_obj_4cuda_4cuda_anon_struct20;
struct __pyx_obj_4cuda_4cuda_anon_union10;
struct __pyx_obj_4cuda_4cuda_anon_union11;
struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st;
struct __pyx_obj_4cuda_4cuda_CUmemLocation_st;
struct __pyx_obj_4cuda_4cuda_anon_struct21;
struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st;
struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st;
struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st;
struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st;
struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st;
struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st;
struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st;
struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st;
struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st;
struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st;
struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st;
struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st;
struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st;
struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st;
struct __pyx_obj_4cuda_4cuda_CUdevResource_st;
struct __pyx_obj_4cuda_4cuda_anon_union14;
struct __pyx_obj_4cuda_4cuda_CUeglFrame_st;
struct __pyx_obj_4cuda_4cuda_CUdeviceptr;
struct __pyx_obj_4cuda_4cuda_CUdevice;
struct __pyx_obj_4cuda_4cuda_CUtexObject;
struct __pyx_obj_4cuda_4cuda_CUsurfObject;
struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle;
struct __pyx_obj_4cuda_4cuda_CUuuid;
struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_v1;
struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle;
struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_v1;
struct __pyx_obj_4cuda_4cuda_CUipcEventHandle;
struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_v1;
struct __pyx_obj_4cuda_4cuda_CUipcMemHandle;
struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_v1;
struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams;
struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS;
struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2;
struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo;
struct __pyx_obj_4cuda_4cuda_CUdevprop_v1;
struct __pyx_obj_4cuda_4cuda_CUdevprop;
struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_v1;
struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow;
struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2;
struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS;
struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3;
struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS;
struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2;
struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS;
struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2;
struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData;
struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS;
struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap;
struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue;
struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute;
struct __pyx_obj_4cuda_4cuda_CUlaunchConfig;
struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue_v1;
struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue;
struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue_v1;
struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue;
struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_v1;
struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount;
struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_v1;
struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam;
struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable;
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_v2;
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D;
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_v2;
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D;
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER;
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS;
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2;
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR;
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2;
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR;
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES;
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS;
struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC;
struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC;
struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC;
struct __pyx_obj_4cuda_4cuda_CUtensorMap;
struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS;
struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS;
struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS;
struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2;
struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS;
struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2;
struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle;
struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_v1;
struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo;
struct __pyx_obj_4cuda_4cuda_CUmemLocation_v1;
struct __pyx_obj_4cuda_4cuda_CUmemLocation;
struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_v1;
struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp;
struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_v1;
struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp;
struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_v1;
struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc;
struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1;
struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo;
struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_v1;
struct __pyx_obj_4cuda_4cuda_CUmemPoolProps;
struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_v1;
struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData;
struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1;
struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS;
struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2;
struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS;
struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS;
struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS;
struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS;
struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams;
struct __pyx_obj_4cuda_4cuda_CUdevSmResource;
struct __pyx_obj_4cuda_4cuda_CUdevResource_v1;
struct __pyx_obj_4cuda_4cuda_CUdevResource;
struct __pyx_obj_4cuda_4cuda_CUeglFrame_v1;
struct __pyx_obj_4cuda_4cuda_CUeglFrame;
struct __pyx_obj_4cuda_4cuda_cuuint32_t;
struct __pyx_obj_4cuda_4cuda_cuuint64_t;
struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2;
struct __pyx_obj_4cuda_4cuda_CUdevice_v1;
struct __pyx_obj_4cuda_4cuda_CUtexObject_v1;
struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1;
struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1;
struct __pyx_obj_4cuda_4cuda_GLenum;
struct __pyx_obj_4cuda_4cuda_GLuint;
struct __pyx_obj_4cuda_4cuda_EGLint;
struct __pyx_obj_4cuda_4cuda_VdpDevice;
struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress;
struct __pyx_obj_4cuda_4cuda_VdpVideoSurface;
struct __pyx_obj_4cuda_4cuda_VdpOutputSurface;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct__genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_1_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_2_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_3_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_4_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_5_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_6_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_7_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_8_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_9_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_10_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_11_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_12_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_13_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_14_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_15_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_16_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_17_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_18_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_19_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_20_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_21_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_22_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_23_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_24_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_25_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_26_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_27_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_28_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_29_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_30_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_31_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_32_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_33_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_34_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_35_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_36_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_37_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_38_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_39_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_40_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_41_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_42_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_43_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_44_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_45_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_46_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_47_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_48_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_49_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_50_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_51_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_52_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_53_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_54_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_55_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_56_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_57_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_58_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_59_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_60_genexpr;
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_61_genexpr;
union __pyx_t_4cuda_5ccuda_anon_union14;
struct __pyx_t_4cuda_5ccuda_CUeglFrame_st;

/* "cuda/ccuda.pxd":2168
 *     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_5ccuda_CUeglFrameType_enum {
  __pyx_e_4cuda_5ccuda_CU_EGL_FRAME_TYPE_ARRAY = 0,
  __pyx_e_4cuda_5ccuda_CU_EGL_FRAME_TYPE_PITCH = 1
};

/* "cuda/ccuda.pxd":2174
 * ctypedef CUeglFrameType_enum CUeglFrameType
 * 
 * cdef enum CUeglResourceLocationFlags_enum:             # <<<<<<<<<<<<<<
 *     CU_EGL_RESOURCE_LOCATION_SYSMEM = 0
 *     CU_EGL_RESOURCE_LOCATION_VIDMEM = 1
 */
enum __pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum {
  __pyx_e_4cuda_5ccuda_CU_EGL_RESOURCE_LOCATION_SYSMEM = 0,
  __pyx_e_4cuda_5ccuda_CU_EGL_RESOURCE_LOCATION_VIDMEM = 1
};

/* "cuda/ccuda.pxd":2180
 * 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_5ccuda_CUeglColorFormat_enum {
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV420_PLANAR = 0,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR = 1,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV422_PLANAR = 2,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR = 3,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_RGB = 4,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BGR = 5,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_ARGB = 6,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_RGBA = 7,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_L = 8,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_R = 9,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV444_PLANAR = 10,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR = 11,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUYV_422 = 12,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_UYVY_422 = 13,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_ABGR = 14,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BGRA = 15,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_A = 16,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_RG = 17,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_AYUV = 18,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR = 19,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR = 20,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR = 21,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR = 22,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR = 23,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR = 24,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR = 25,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_VYUY_ER = 26,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_UYVY_ER = 27,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUYV_ER = 28,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVYU_ER = 29,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV_ER = 30,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUVA_ER = 31,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_AYUV_ER = 32,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV444_PLANAR_ER = 33,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV422_PLANAR_ER = 34,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV420_PLANAR_ER = 35,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR_ER = 36,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR_ER = 37,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_ER = 38,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU444_PLANAR_ER = 39,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU422_PLANAR_ER = 40,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU420_PLANAR_ER = 41,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR_ER = 42,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR_ER = 43,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_ER = 44,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_RGGB = 45,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_BGGR = 46,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_GRBG = 47,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_GBRG = 48,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER10_RGGB = 49,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER10_BGGR = 50,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER10_GRBG = 51,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER10_GBRG = 52,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_RGGB = 53,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_BGGR = 54,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_GRBG = 55,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_GBRG = 56,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER14_RGGB = 57,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER14_BGGR = 58,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER14_GRBG = 59,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER14_GBRG = 60,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER20_RGGB = 61,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER20_BGGR = 62,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER20_GRBG = 63,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER20_GBRG = 64,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU444_PLANAR = 65,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU422_PLANAR = 66,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU420_PLANAR = 67,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_ISP_RGGB = 68,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_ISP_BGGR = 69,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_ISP_GRBG = 70,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_ISP_GBRG = 71,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_BCCR = 72,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_RCCB = 73,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_CRBC = 74,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_CBRC = 75,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER10_CCCC = 76,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_BCCR = 77,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_RCCB = 78,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_CRBC = 79,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_CBRC = 80,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_CCCC = 81,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y = 82,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_2020 = 83,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_2020 = 84,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV420_PLANAR_2020 = 85,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU420_PLANAR_2020 = 86,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_709 = 87,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_709 = 88,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV420_PLANAR_709 = 89,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU420_PLANAR_709 = 90,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709 = 91,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_2020 = 92,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_2020 = 93,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR = 94,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_709 = 95,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y_ER = 96,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y_709_ER = 97,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10_ER = 98,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10_709_ER = 99,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y12_ER = 0x64,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y12_709_ER = 0x65,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUVA = 0x66,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV = 0x67,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVYU = 0x68,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_VYUY = 0x69,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_ER = 0x6A,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709_ER = 0x6B,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_ER = 0x6C,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_709_ER = 0x6D,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_ER = 0x6E,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_709_ER = 0x6F,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_ER = 0x70,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_709_ER = 0x71,
  __pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_MAX = 0x72
};

/* "cuda/ccuda.pxd":2324
 * 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_5ccuda_CUGLDeviceList_enum {
  __pyx_e_4cuda_5ccuda_CU_GL_DEVICE_LIST_ALL = 1,
  __pyx_e_4cuda_5ccuda_CU_GL_DEVICE_LIST_CURRENT_FRAME = 2,
  __pyx_e_4cuda_5ccuda_CU_GL_DEVICE_LIST_NEXT_FRAME = 3
};

/* "cuda/ccuda.pxd":2331
 * 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_5ccuda_CUGLmap_flags_enum {
  __pyx_e_4cuda_5ccuda_CU_GL_MAP_RESOURCE_FLAGS_NONE = 0,
  __pyx_e_4cuda_5ccuda_CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = 1,
  __pyx_e_4cuda_5ccuda_CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2
};

/* "cuda/ccuda.pxd":3267
 * cdef CUresult cuGraphicsVDPAURegisterOutputSurface(CUgraphicsResource* pCudaResource, VdpOutputSurface vdpSurface, unsigned int flags) except ?CUDA_ERROR_NOT_FOUND nogil
 * 
 * cdef enum: CUDA_VERSION = 12040             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_IPC_HANDLE_SIZE = 64
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_VERSION = 0x2F08
};

/* "cuda/ccuda.pxd":3269
 * cdef enum: CUDA_VERSION = 12040
 * 
 * cdef enum: CU_IPC_HANDLE_SIZE = 64             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_STREAM_LEGACY = 1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_IPC_HANDLE_SIZE = 64
};

/* "cuda/ccuda.pxd":3271
 * cdef enum: CU_IPC_HANDLE_SIZE = 64
 * 
 * cdef enum: CU_STREAM_LEGACY = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_STREAM_PER_THREAD = 2
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_STREAM_LEGACY = 1
};

/* "cuda/ccuda.pxd":3273
 * 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_5ccuda_CU_STREAM_PER_THREAD = 2
};

/* "cuda/ccuda.pxd":3275
 * cdef enum: CU_STREAM_PER_THREAD = 2
 * 
 * cdef enum: CU_COMPUTE_ACCELERATED_TARGET_BASE = 65536             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_GRAPH_COND_ASSIGN_DEFAULT = 1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_COMPUTE_ACCELERATED_TARGET_BASE = 0x10000
};

/* "cuda/ccuda.pxd":3277
 * cdef enum: CU_COMPUTE_ACCELERATED_TARGET_BASE = 65536
 * 
 * cdef enum: CU_GRAPH_COND_ASSIGN_DEFAULT = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_GRAPH_KERNEL_NODE_PORT_DEFAULT = 0
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_GRAPH_COND_ASSIGN_DEFAULT = 1
};

/* "cuda/ccuda.pxd":3279
 * 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_5ccuda_CU_GRAPH_KERNEL_NODE_PORT_DEFAULT = 0
};

/* "cuda/ccuda.pxd":3281
 * 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_5ccuda_CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC = 1
};

/* "cuda/ccuda.pxd":3283
 * 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_5ccuda_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER = 2
};

/* "cuda/ccuda.pxd":3285
 * 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_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1
};

/* "cuda/ccuda.pxd":3287
 * 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_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE = 2
};

/* "cuda/ccuda.pxd":3289
 * 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_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION = 4
};

/* "cuda/ccuda.pxd":3291
 * 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_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = 5
};

/* "cuda/ccuda.pxd":3293
 * 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_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_PRIORITY = 8
};

/* "cuda/ccuda.pxd":3295
 * 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_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9
};

/* "cuda/ccuda.pxd":3297
 * 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_DEVICE_UPDATABLE_KERNEL_NODE = 13
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN = 10
};

/* "cuda/ccuda.pxd":3299
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN = 10
 * 
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = 13             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = 13
};

/* "cuda/ccuda.pxd":3301
 * cdef enum: CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = 13
 * 
 * cdef enum: CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = 1
};

/* "cuda/ccuda.pxd":3303
 * 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_5ccuda_CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = 3
};

/* "cuda/ccuda.pxd":3305
 * 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_5ccuda_CU_STREAM_ATTRIBUTE_PRIORITY = 8
};

/* "cuda/ccuda.pxd":3307
 * 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_5ccuda_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = 9
};

/* "cuda/ccuda.pxd":3309
 * 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_5ccuda_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN = 10
};

/* "cuda/ccuda.pxd":3311
 * 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_5ccuda_CU_MEMHOSTALLOC_PORTABLE = 1
};

/* "cuda/ccuda.pxd":3313
 * cdef enum: CU_MEMHOSTALLOC_PORTABLE = 1
 * 
 * cdef enum: CU_MEMHOSTALLOC_DEVICEMAP = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTALLOC_WRITECOMBINED = 4
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_MEMHOSTALLOC_DEVICEMAP = 2
};

/* "cuda/ccuda.pxd":3315
 * cdef enum: CU_MEMHOSTALLOC_DEVICEMAP = 2
 * 
 * cdef enum: CU_MEMHOSTALLOC_WRITECOMBINED = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTREGISTER_PORTABLE = 1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_MEMHOSTALLOC_WRITECOMBINED = 4
};

/* "cuda/ccuda.pxd":3317
 * cdef enum: CU_MEMHOSTALLOC_WRITECOMBINED = 4
 * 
 * cdef enum: CU_MEMHOSTREGISTER_PORTABLE = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTREGISTER_DEVICEMAP = 2
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_MEMHOSTREGISTER_PORTABLE = 1
};

/* "cuda/ccuda.pxd":3319
 * cdef enum: CU_MEMHOSTREGISTER_PORTABLE = 1
 * 
 * cdef enum: CU_MEMHOSTREGISTER_DEVICEMAP = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTREGISTER_IOMEMORY = 4
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_MEMHOSTREGISTER_DEVICEMAP = 2
};

/* "cuda/ccuda.pxd":3321
 * cdef enum: CU_MEMHOSTREGISTER_DEVICEMAP = 2
 * 
 * cdef enum: CU_MEMHOSTREGISTER_IOMEMORY = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_MEMHOSTREGISTER_READ_ONLY = 8
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_MEMHOSTREGISTER_IOMEMORY = 4
};

/* "cuda/ccuda.pxd":3323
 * 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_5ccuda_CU_MEMHOSTREGISTER_READ_ONLY = 8
};

/* "cuda/ccuda.pxd":3325
 * 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_5ccuda_CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL = 1
};

/* "cuda/ccuda.pxd":3327
 * 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_5ccuda_CU_TENSOR_MAP_NUM_QWORDS = 16
};

/* "cuda/ccuda.pxd":3329
 * 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_5ccuda_CUDA_EXTERNAL_MEMORY_DEDICATED = 1
};

/* "cuda/ccuda.pxd":3331
 * 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_5ccuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC = 1
};

/* "cuda/ccuda.pxd":3333
 * 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_5ccuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC = 2
};

/* "cuda/ccuda.pxd":3335
 * 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_5ccuda_CUDA_NVSCISYNC_ATTR_SIGNAL = 1
};

/* "cuda/ccuda.pxd":3337
 * 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_5ccuda_CUDA_NVSCISYNC_ATTR_WAIT = 2
};

/* "cuda/ccuda.pxd":3339
 * cdef enum: CUDA_NVSCISYNC_ATTR_WAIT = 2
 * 
 * cdef enum: CU_MEM_CREATE_USAGE_TILE_POOL = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC = 1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_MEM_CREATE_USAGE_TILE_POOL = 1
};

/* "cuda/ccuda.pxd":3341
 * cdef enum: CU_MEM_CREATE_USAGE_TILE_POOL = 1
 * 
 * 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_5ccuda_CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC = 1
};

/* "cuda/ccuda.pxd":3343
 * 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_5ccuda_CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC = 2
};

/* "cuda/ccuda.pxd":3345
 * 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_5ccuda_CUDA_ARRAY3D_LAYERED = 1
};

/* "cuda/ccuda.pxd":3347
 * cdef enum: CUDA_ARRAY3D_LAYERED = 1
 * 
 * cdef enum: CUDA_ARRAY3D_2DARRAY = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_SURFACE_LDST = 2
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_2DARRAY = 1
};

/* "cuda/ccuda.pxd":3349
 * cdef enum: CUDA_ARRAY3D_2DARRAY = 1
 * 
 * cdef enum: CUDA_ARRAY3D_SURFACE_LDST = 2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_CUBEMAP = 4
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_SURFACE_LDST = 2
};

/* "cuda/ccuda.pxd":3351
 * cdef enum: CUDA_ARRAY3D_SURFACE_LDST = 2
 * 
 * cdef enum: CUDA_ARRAY3D_CUBEMAP = 4             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_TEXTURE_GATHER = 8
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_CUBEMAP = 4
};

/* "cuda/ccuda.pxd":3353
 * cdef enum: CUDA_ARRAY3D_CUBEMAP = 4
 * 
 * cdef enum: CUDA_ARRAY3D_TEXTURE_GATHER = 8             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_DEPTH_TEXTURE = 16
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_TEXTURE_GATHER = 8
};

/* "cuda/ccuda.pxd":3355
 * 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_5ccuda_CUDA_ARRAY3D_DEPTH_TEXTURE = 16
};

/* "cuda/ccuda.pxd":3357
 * cdef enum: CUDA_ARRAY3D_DEPTH_TEXTURE = 16
 * 
 * cdef enum: CUDA_ARRAY3D_COLOR_ATTACHMENT = 32             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_SPARSE = 64
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_COLOR_ATTACHMENT = 32
};

/* "cuda/ccuda.pxd":3359
 * cdef enum: CUDA_ARRAY3D_COLOR_ATTACHMENT = 32
 * 
 * cdef enum: CUDA_ARRAY3D_SPARSE = 64             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_ARRAY3D_DEFERRED_MAPPING = 128
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_SPARSE = 64
};

/* "cuda/ccuda.pxd":3361
 * cdef enum: CUDA_ARRAY3D_SPARSE = 64
 * 
 * cdef enum: CUDA_ARRAY3D_DEFERRED_MAPPING = 128             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_TRSA_OVERRIDE_FORMAT = 1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_DEFERRED_MAPPING = 0x80
};

/* "cuda/ccuda.pxd":3363
 * cdef enum: CUDA_ARRAY3D_DEFERRED_MAPPING = 128
 * 
 * cdef enum: CU_TRSA_OVERRIDE_FORMAT = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_TRSF_READ_AS_INTEGER = 1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_TRSA_OVERRIDE_FORMAT = 1
};

/* "cuda/ccuda.pxd":3365
 * 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_5ccuda_CU_TRSF_READ_AS_INTEGER = 1
};

/* "cuda/ccuda.pxd":3367
 * 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_5ccuda_CU_TRSF_NORMALIZED_COORDINATES = 2
};

/* "cuda/ccuda.pxd":3369
 * 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_5ccuda_CU_TRSF_SRGB = 16
};

/* "cuda/ccuda.pxd":3371
 * 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_5ccuda_CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION = 32
};

/* "cuda/ccuda.pxd":3373
 * cdef enum: CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION = 32
 * 
 * cdef enum: CU_TRSF_SEAMLESS_CUBEMAP = 64             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_LAUNCH_PARAM_END_AS_INT = 0
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_TRSF_SEAMLESS_CUBEMAP = 64
};

/* "cuda/ccuda.pxd":3375
 * cdef enum: CU_TRSF_SEAMLESS_CUBEMAP = 64
 * 
 * cdef enum: CU_LAUNCH_PARAM_END_AS_INT = 0             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_LAUNCH_PARAM_END = 0
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_LAUNCH_PARAM_END_AS_INT = 0
};

/* "cuda/ccuda.pxd":3377
 * 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_5ccuda_CU_LAUNCH_PARAM_END = 0
};

/* "cuda/ccuda.pxd":3379
 * 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_5ccuda_CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT = 1
};

/* "cuda/ccuda.pxd":3381
 * 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_5ccuda_CU_LAUNCH_PARAM_BUFFER_POINTER = 1
};

/* "cuda/ccuda.pxd":3383
 * 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_5ccuda_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT = 2
};

/* "cuda/ccuda.pxd":3385
 * 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_5ccuda_CU_LAUNCH_PARAM_BUFFER_SIZE = 2
};

/* "cuda/ccuda.pxd":3387
 * 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_5ccuda_CU_PARAM_TR_DEFAULT = -1L
};

/* "cuda/ccuda.pxd":3389
 * cdef enum: CU_PARAM_TR_DEFAULT = -1
 * 
 * cdef enum: CU_DEVICE_CPU = -1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CU_DEVICE_INVALID = -2
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_DEVICE_CPU = -1L
};

/* "cuda/ccuda.pxd":3391
 * cdef enum: CU_DEVICE_CPU = -1
 * 
 * cdef enum: CU_DEVICE_INVALID = -2             # <<<<<<<<<<<<<<
 * 
 * cdef enum: RESOURCE_ABI_VERSION = 1
 */
enum  {
  __pyx_e_4cuda_5ccuda_CU_DEVICE_INVALID = -2L
};

/* "cuda/ccuda.pxd":3393
 * cdef enum: CU_DEVICE_INVALID = -2
 * 
 * cdef enum: RESOURCE_ABI_VERSION = 1             # <<<<<<<<<<<<<<
 * 
 * cdef enum: RESOURCE_ABI_EXTERNAL_BYTES = 48
 */
enum  {
  __pyx_e_4cuda_5ccuda_RESOURCE_ABI_VERSION = 1
};

/* "cuda/ccuda.pxd":3395
 * cdef enum: RESOURCE_ABI_VERSION = 1
 * 
 * cdef enum: RESOURCE_ABI_EXTERNAL_BYTES = 48             # <<<<<<<<<<<<<<
 * 
 * cdef enum: MAX_PLANES = 3
 */
enum  {
  __pyx_e_4cuda_5ccuda_RESOURCE_ABI_EXTERNAL_BYTES = 48
};

/* "cuda/ccuda.pxd":3397
 * cdef enum: RESOURCE_ABI_EXTERNAL_BYTES = 48
 * 
 * cdef enum: MAX_PLANES = 3             # <<<<<<<<<<<<<<
 * 
 * cdef enum: CUDA_EGL_INFINITE_TIMEOUT = 4294967295
 */
enum  {
  __pyx_e_4cuda_5ccuda_MAX_PLANES = 3
};

/* "cuda/ccuda.pxd":3399
 * cdef enum: MAX_PLANES = 3
 * 
 * cdef enum: CUDA_EGL_INFINITE_TIMEOUT = 4294967295             # <<<<<<<<<<<<<<
 */
enum  {
  __pyx_e_4cuda_5ccuda_CUDA_EGL_INFINITE_TIMEOUT = 0xFFFFFFFF
};

/* "cuda/ccuda.pxd":2172
 *     CU_EGL_FRAME_TYPE_PITCH = 1
 * 
 * ctypedef CUeglFrameType_enum CUeglFrameType             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUeglResourceLocationFlags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum __pyx_t_4cuda_5ccuda_CUeglFrameType;

/* "cuda/ccuda.pxd":2178
 *     CU_EGL_RESOURCE_LOCATION_VIDMEM = 1
 * 
 * ctypedef CUeglResourceLocationFlags_enum CUeglResourceLocationFlags             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUeglColorFormat_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum __pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags;

/* "cuda/ccuda.pxd":2297
 *     CU_EGL_COLOR_FORMAT_MAX = 114
 * 
 * ctypedef CUeglColorFormat_enum CUeglColorFormat             # <<<<<<<<<<<<<<
 * 
 * cdef union anon_union14:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum __pyx_t_4cuda_5ccuda_CUeglColorFormat;

/* "cuda/ccuda.pxd":2299
 * ctypedef CUeglColorFormat_enum CUeglColorFormat
 * 
 * cdef union anon_union14:             # <<<<<<<<<<<<<<
 *     CUarray pArray[3]
 *     void* pPitch[3]
 */
union __pyx_t_4cuda_5ccuda_anon_union14 {
  CUarray pArray[3];
  void *pPitch[3];
};

/* "cuda/ccuda.pxd":2303
 *     void* pPitch[3]
 * 
 * cdef struct CUeglFrame_st:             # <<<<<<<<<<<<<<
 *     anon_union14 frame
 *     unsigned int width
 */
struct __pyx_t_4cuda_5ccuda_CUeglFrame_st {
  union __pyx_t_4cuda_5ccuda_anon_union14 frame;
  unsigned int width;
  unsigned int height;
  unsigned int depth;
  unsigned int pitch;
  unsigned int planeCount;
  unsigned int numChannels;
  __pyx_t_4cuda_5ccuda_CUeglFrameType frameType;
  __pyx_t_4cuda_5ccuda_CUeglColorFormat eglColorFormat;
  CUarray_format cuFormat;
};

/* "cuda/ccuda.pxd":2315
 *     CUarray_format cuFormat
 * 
 * ctypedef CUeglFrame_st CUeglFrame_v1             # <<<<<<<<<<<<<<
 * 
 * ctypedef CUeglFrame_v1 CUeglFrame
 */
typedef struct __pyx_t_4cuda_5ccuda_CUeglFrame_st __pyx_t_4cuda_5ccuda_CUeglFrame_v1;

/* "cuda/ccuda.pxd":2317
 * ctypedef CUeglFrame_st CUeglFrame_v1
 * 
 * ctypedef CUeglFrame_v1 CUeglFrame             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef __pyx_t_4cuda_5ccuda_CUeglFrame_v1 __pyx_t_4cuda_5ccuda_CUeglFrame;

/* "cuda/ccuda.pxd":2322
 *     cdef struct CUeglStreamConnection_st:
 *         pass
 * ctypedef CUeglStreamConnection_st* CUeglStreamConnection             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUGLDeviceList_enum:
 */
typedef struct CUeglStreamConnection_st *__pyx_t_4cuda_5ccuda_CUeglStreamConnection;

/* "cuda/ccuda.pxd":2329
 *     CU_GL_DEVICE_LIST_NEXT_FRAME = 3
 * 
 * ctypedef CUGLDeviceList_enum CUGLDeviceList             # <<<<<<<<<<<<<<
 * 
 * cdef enum CUGLmap_flags_enum:
 */
typedef enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum __pyx_t_4cuda_5ccuda_CUGLDeviceList;

/* "cuda/ccuda.pxd":2336
 *     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 2
 * 
 * ctypedef CUGLmap_flags_enum CUGLmap_flags             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned int GLenum
 */
typedef enum __pyx_t_4cuda_5ccuda_CUGLmap_flags_enum __pyx_t_4cuda_5ccuda_CUGLmap_flags;

/* "cuda/ccuda.pxd":2345
 *     cdef struct void:
 *         pass
 * ctypedef void* EGLImageKHR             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "":
 */
typedef void *__pyx_t_4cuda_5ccuda_EGLImageKHR;

/* "cuda/ccuda.pxd":2350
 *     cdef struct void:
 *         pass
 * ctypedef void* EGLStreamKHR             # <<<<<<<<<<<<<<
 * 
 * ctypedef unsigned int EGLint
 */
typedef void *__pyx_t_4cuda_5ccuda_EGLStreamKHR;

/* "cuda/ccuda.pxd":2357
 *     cdef struct void:
 *         pass
 * ctypedef void* EGLSyncKHR             # <<<<<<<<<<<<<<
 * 
 * ctypedef uint32_t VdpDevice
 */
typedef void *__pyx_t_4cuda_5ccuda_EGLSyncKHR;

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


/* "cuda/_lib/utils.pxd":20
 *     cdef bint _malloc_list_created
 * 
 * cdef class HelperInputVoidPtr:             # <<<<<<<<<<<<<<
 *     cdef Py_buffer _pybuffer
 *     cdef void* _cptr
 */
struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr {
  PyObject_HEAD
  Py_buffer _pybuffer;
  void *_cptr;
  int _pyobj_acquired;
};


/* "cuda/_lib/utils.pxd":25
 *     cdef bint _pyobj_acquired
 * 
 * cdef class HelperCUmemPool_attribute:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef ccuda.CUmemPool_attribute_enum _attr
 */
struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemPool_attribute {
  PyObject_HEAD
  void *_cptr;
  enum CUmemPool_attribute_enum _attr;
  int _is_getter;
  int _int_val;
  struct __pyx_obj_4cuda_4cuda_cuuint64_t *_cuuint64_t_val;
};


/* "cuda/_lib/utils.pxd":34
 *     cdef cuda.cuuint64_t _cuuint64_t_val
 * 
 * cdef class HelperCUmem_range_attribute:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef ccuda.CUmem_range_attribute_enum _attr
 */
struct __pyx_obj_4cuda_4_lib_5utils_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/_lib/utils.pxd":43
 *     cdef int* _int_val_list # 32 bit integer array
 * 
 * cdef class HelperCUpointer_attribute:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef ccuda.CUpointer_attribute_enum _attr
 */
struct __pyx_obj_4cuda_4_lib_5utils_HelperCUpointer_attribute {
  PyObject_HEAD
  void *_cptr;
  enum CUpointer_attribute_enum _attr;
  int _is_getter;
  struct __pyx_obj_4cuda_4cuda_CUcontext *_ctx;
  unsigned int _uint;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_devptr;
  void **_void;
  struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS *_token;
  int _bool;
  unsigned PY_LONG_LONG _ull;
  size_t _size;
  struct __pyx_obj_4cuda_4cuda_CUmemoryPool *_mempool;
};


/* "cuda/_lib/utils.pxd":59
 *     cdef cuda.CUmemoryPool _mempool
 * 
 * cdef class HelperCUgraphMem_attribute:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef ccuda.CUgraphMem_attribute_enum _attr
 */
struct __pyx_obj_4cuda_4_lib_5utils_HelperCUgraphMem_attribute {
  PyObject_HEAD
  void *_cptr;
  enum CUgraphMem_attribute_enum _attr;
  int _is_getter;
  struct __pyx_obj_4cuda_4cuda_cuuint64_t *_cuuint64_t_val;
};


/* "cuda/_lib/utils.pxd":67
 *     cdef cuda.cuuint64_t _cuuint64_t_val
 * 
 * cdef class HelperCUjit_option:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef ccuda.CUjit_option_enum _attr
 */
struct __pyx_obj_4cuda_4_lib_5utils_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_4_lib_5utils_InputVoidPtrPtrHelper *_voidstarstar;
};


/* "cuda/_lib/utils.pxd":82
 *     cdef InputVoidPtrPtrHelper _voidstarstar # list of addresses
 * 
 * cdef class HelperCUlibraryOption:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef ccuda.CUlibraryOption_enum _attr
 */
struct __pyx_obj_4cuda_4_lib_5utils_HelperCUlibraryOption {
  PyObject_HEAD
  void *_cptr;
  enum CUlibraryOption_enum _attr;
  unsigned int _uint;
};


/* "cuda/_lib/utils.pxd":89
 *     cdef unsigned int _uint
 * 
 * cdef class HelperCUmemAllocationHandleType:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef ccuda.CUmemAllocationHandleType_enum _type
 */
struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemAllocationHandleType {
  PyObject_HEAD
  void *_cptr;
  enum CUmemAllocationHandleType_enum _type;
  int _int;
  void *_handle;
  unsigned int _d3dkmt_handle;
  struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle *_mem_fabric_handle;
};


/* "cuda/_lib/utils.pxd":99
 *     cdef cuda.CUmemFabricHandle _mem_fabric_handle
 * 
 * cdef class InputVoidPtrPtrHelper:             # <<<<<<<<<<<<<<
 *     cdef void** _cptr
 * 
 */
struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper {
  PyObject_HEAD
  void **_cptr;
};


/* "cuda/_lib/utils.pxd":102
 *     cdef void** _cptr
 * 
 * cdef class HelperCUcoredumpSettings:             # <<<<<<<<<<<<<<
 *     cdef void* _cptr
 *     cdef ccuda.CUcoredumpSettings_enum _attrib
 */
struct __pyx_obj_4cuda_4_lib_5utils_HelperCUcoredumpSettings {
  PyObject_HEAD
  void *_cptr;
  enum CUcoredumpSettings_enum _attrib;
  int _is_getter;
  size_t _size;
  int _bool;
  char *_charstar;
};


/* "cuda/cuda.pxd":11
 * cimport cuda._lib.utils as utils
 * 
 * cdef class CUcontext:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUcontext {
  PyObject_HEAD
  CUcontext _CUcontext__val;
  CUcontext *_ptr;
};


/* "cuda/cuda.pxd":25
 *     cdef ccuda.CUcontext* _ptr
 * 
 * cdef class CUmodule:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUmodule {
  PyObject_HEAD
  CUmodule _CUmodule__val;
  CUmodule *_ptr;
};


/* "cuda/cuda.pxd":39
 *     cdef ccuda.CUmodule* _ptr
 * 
 * cdef class CUfunction:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUfunction {
  PyObject_HEAD
  CUfunction _CUfunction__val;
  CUfunction *_ptr;
};


/* "cuda/cuda.pxd":53
 *     cdef ccuda.CUfunction* _ptr
 * 
 * cdef class CUlibrary:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUlibrary {
  PyObject_HEAD
  CUlibrary _CUlibrary__val;
  CUlibrary *_ptr;
};


/* "cuda/cuda.pxd":67
 *     cdef ccuda.CUlibrary* _ptr
 * 
 * cdef class CUkernel:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUkernel {
  PyObject_HEAD
  CUkernel _CUkernel__val;
  CUkernel *_ptr;
};


/* "cuda/cuda.pxd":81
 *     cdef ccuda.CUkernel* _ptr
 * 
 * cdef class CUarray:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUarray {
  PyObject_HEAD
  CUarray _CUarray__val;
  CUarray *_ptr;
};


/* "cuda/cuda.pxd":95
 *     cdef ccuda.CUarray* _ptr
 * 
 * cdef class CUmipmappedArray:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUmipmappedArray {
  PyObject_HEAD
  CUmipmappedArray _CUmipmappedArray__val;
  CUmipmappedArray *_ptr;
};


/* "cuda/cuda.pxd":109
 *     cdef ccuda.CUmipmappedArray* _ptr
 * 
 * cdef class CUtexref:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUtexref {
  PyObject_HEAD
  CUtexref _CUtexref__val;
  CUtexref *_ptr;
};


/* "cuda/cuda.pxd":123
 *     cdef ccuda.CUtexref* _ptr
 * 
 * cdef class CUsurfref:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUsurfref {
  PyObject_HEAD
  CUsurfref _CUsurfref__val;
  CUsurfref *_ptr;
};


/* "cuda/cuda.pxd":137
 *     cdef ccuda.CUsurfref* _ptr
 * 
 * cdef class CUevent:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUevent {
  PyObject_HEAD
  CUevent _CUevent__val;
  CUevent *_ptr;
};


/* "cuda/cuda.pxd":151
 *     cdef ccuda.CUevent* _ptr
 * 
 * cdef class CUstream:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUstream {
  PyObject_HEAD
  CUstream _CUstream__val;
  CUstream *_ptr;
};


/* "cuda/cuda.pxd":165
 *     cdef ccuda.CUstream* _ptr
 * 
 * cdef class CUgraphicsResource:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUgraphicsResource {
  PyObject_HEAD
  CUgraphicsResource _CUgraphicsResource__val;
  CUgraphicsResource *_ptr;
};


/* "cuda/cuda.pxd":179
 *     cdef ccuda.CUgraphicsResource* _ptr
 * 
 * cdef class CUexternalMemory:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUexternalMemory {
  PyObject_HEAD
  CUexternalMemory _CUexternalMemory__val;
  CUexternalMemory *_ptr;
};


/* "cuda/cuda.pxd":193
 *     cdef ccuda.CUexternalMemory* _ptr
 * 
 * cdef class CUexternalSemaphore:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore {
  PyObject_HEAD
  CUexternalSemaphore _CUexternalSemaphore__val;
  CUexternalSemaphore *_ptr;
};


/* "cuda/cuda.pxd":207
 *     cdef ccuda.CUexternalSemaphore* _ptr
 * 
 * cdef class CUgraph:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUgraph {
  PyObject_HEAD
  CUgraph _CUgraph__val;
  CUgraph *_ptr;
};


/* "cuda/cuda.pxd":221
 *     cdef ccuda.CUgraph* _ptr
 * 
 * cdef class CUgraphNode:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUgraphNode {
  PyObject_HEAD
  CUgraphNode _CUgraphNode__val;
  CUgraphNode *_ptr;
};


/* "cuda/cuda.pxd":235
 *     cdef ccuda.CUgraphNode* _ptr
 * 
 * cdef class CUgraphExec:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUgraphExec {
  PyObject_HEAD
  CUgraphExec _CUgraphExec__val;
  CUgraphExec *_ptr;
};


/* "cuda/cuda.pxd":249
 *     cdef ccuda.CUgraphExec* _ptr
 * 
 * cdef class CUmemoryPool:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUmemoryPool {
  PyObject_HEAD
  CUmemoryPool _CUmemoryPool__val;
  CUmemoryPool *_ptr;
};


/* "cuda/cuda.pxd":263
 *     cdef ccuda.CUmemoryPool* _ptr
 * 
 * cdef class CUuserObject:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUuserObject {
  PyObject_HEAD
  CUuserObject _CUuserObject__val;
  CUuserObject *_ptr;
};


/* "cuda/cuda.pxd":277
 *     cdef ccuda.CUuserObject* _ptr
 * 
 * cdef class CUgraphDeviceNode:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode {
  PyObject_HEAD
  CUgraphDeviceNode _CUgraphDeviceNode__val;
  CUgraphDeviceNode *_ptr;
};


/* "cuda/cuda.pxd":291
 *     cdef ccuda.CUgraphDeviceNode* _ptr
 * 
 * cdef class CUasyncCallbackHandle:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle {
  PyObject_HEAD
  CUasyncCallbackHandle _CUasyncCallbackHandle__val;
  CUasyncCallbackHandle *_ptr;
};


/* "cuda/cuda.pxd":305
 *     cdef ccuda.CUasyncCallbackHandle* _ptr
 * 
 * cdef class CUlinkState:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUlinkState {
  PyObject_HEAD
  CUlinkState _CUlinkState__val;
  CUlinkState *_ptr;
  PyObject *_keepalive;
};


/* "cuda/cuda.pxd":318
 *     cdef list _keepalive
 * 
 * cdef class CUgreenCtx:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUgreenCtx {
  PyObject_HEAD
  CUgreenCtx _CUgreenCtx__val;
  CUgreenCtx *_ptr;
};


/* "cuda/cuda.pxd":332
 *     cdef ccuda.CUgreenCtx* _ptr
 * 
 * cdef class CUdevResourceDesc:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc {
  PyObject_HEAD
  CUdevResourceDesc _CUdevResourceDesc__val;
  CUdevResourceDesc *_ptr;
};


/* "cuda/cuda.pxd":346
 *     cdef ccuda.CUdevResourceDesc* _ptr
 * 
 * cdef class CUeglStreamConnection:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_CUeglStreamConnection _CUeglStreamConnection__val;
  __pyx_t_4cuda_5ccuda_CUeglStreamConnection *_ptr;
};


/* "cuda/cuda.pxd":360
 *     cdef ccuda.CUeglStreamConnection* _ptr
 * 
 * cdef class EGLImageKHR:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_EGLImageKHR {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_EGLImageKHR _EGLImageKHR__val;
  __pyx_t_4cuda_5ccuda_EGLImageKHR *_ptr;
};


/* "cuda/cuda.pxd":372
 *     cdef ccuda.EGLImageKHR* _ptr
 * 
 * cdef class EGLStreamKHR:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_EGLStreamKHR {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_EGLStreamKHR _EGLStreamKHR__val;
  __pyx_t_4cuda_5ccuda_EGLStreamKHR *_ptr;
};


/* "cuda/cuda.pxd":384
 *     cdef ccuda.EGLStreamKHR* _ptr
 * 
 * cdef class EGLSyncKHR:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_EGLSyncKHR {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_EGLSyncKHR _EGLSyncKHR__val;
  __pyx_t_4cuda_5ccuda_EGLSyncKHR *_ptr;
};


/* "cuda/cuda.pxd":396
 *     cdef ccuda.EGLSyncKHR* _ptr
 * 
 * cdef class CUasyncCallback:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUasyncCallback {
  PyObject_HEAD
  CUasyncCallback _CUasyncCallback__val;
  CUasyncCallback *_ptr;
};


/* "cuda/cuda.pxd":408
 *     cdef ccuda.CUasyncCallback* _ptr
 * 
 * cdef class CUhostFn:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUhostFn {
  PyObject_HEAD
  CUhostFn _CUhostFn__val;
  CUhostFn *_ptr;
};


/* "cuda/cuda.pxd":420
 *     cdef ccuda.CUhostFn* _ptr
 * 
 * cdef class CUstreamCallback:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUstreamCallback {
  PyObject_HEAD
  CUstreamCallback _CUstreamCallback__val;
  CUstreamCallback *_ptr;
};


/* "cuda/cuda.pxd":432
 *     cdef ccuda.CUstreamCallback* _ptr
 * 
 * cdef class CUoccupancyB2DSize:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize {
  PyObject_HEAD
  CUoccupancyB2DSize _CUoccupancyB2DSize__val;
  CUoccupancyB2DSize *_ptr;
};


/* "cuda/cuda.pxd":444
 *     cdef ccuda.CUoccupancyB2DSize* _ptr
 * 
 * cdef class CUuuid_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_CUuuid_st {
  PyObject_HEAD
  struct CUuuid_st _CUuuid_st__val;
  struct CUuuid_st *_ptr;
};


/* "cuda/cuda.pxd":460
 *     cdef ccuda.CUuuid_st* _ptr
 * 
 * cdef class CUmemFabricHandle_st:             # <<<<<<<<<<<<<<
 *     """
 *     Fabric handle - An opaque handle representing a memory allocation
 */
struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st {
  PyObject_HEAD
  struct CUmemFabricHandle_st _CUmemFabricHandle_st__val;
  struct CUmemFabricHandle_st *_ptr;
};


/* "cuda/cuda.pxd":481
 *     cdef ccuda.CUmemFabricHandle_st* _ptr
 * 
 * cdef class CUipcEventHandle_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC event handle
 */
struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st {
  PyObject_HEAD
  struct CUipcEventHandle_st _CUipcEventHandle_st__val;
  struct CUipcEventHandle_st *_ptr;
};


/* "cuda/cuda.pxd":499
 *     cdef ccuda.CUipcEventHandle_st* _ptr
 * 
 * cdef class CUipcMemHandle_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC mem handle
 */
struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st {
  PyObject_HEAD
  struct CUipcMemHandle_st _CUipcMemHandle_st__val;
  struct CUipcMemHandle_st *_ptr;
};


/* "cuda/cuda.pxd":517
 *     cdef ccuda.CUipcMemHandle_st* _ptr
 * 
 * cdef class CUstreamMemOpWaitValueParams_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st {
  PyObject_HEAD
  union CUstreamBatchMemOpParams_union *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_address;
  struct __pyx_obj_4cuda_4cuda_cuuint32_t *_value;
  struct __pyx_obj_4cuda_4cuda_cuuint64_t *_value64;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_alias;
};


/* "cuda/cuda.pxd":546
 *     cdef CUdeviceptr _alias
 * 
 * cdef class CUstreamMemOpWriteValueParams_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st {
  PyObject_HEAD
  union CUstreamBatchMemOpParams_union *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_address;
  struct __pyx_obj_4cuda_4cuda_cuuint32_t *_value;
  struct __pyx_obj_4cuda_4cuda_cuuint64_t *_value64;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_alias;
};


/* "cuda/cuda.pxd":575
 *     cdef CUdeviceptr _alias
 * 
 * cdef class CUstreamMemOpFlushRemoteWritesParams_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st {
  PyObject_HEAD
  union CUstreamBatchMemOpParams_union *_ptr;
};


/* "cuda/cuda.pxd":592
 *     cdef ccuda.CUstreamBatchMemOpParams_union* _ptr
 * 
 * cdef class CUstreamMemOpMemoryBarrierParams_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st {
  PyObject_HEAD
  union CUstreamBatchMemOpParams_union *_ptr;
};


/* "cuda/cuda.pxd":609
 *     cdef ccuda.CUstreamBatchMemOpParams_union* _ptr
 * 
 * cdef class CUstreamBatchMemOpParams_union:             # <<<<<<<<<<<<<<
 *     """
 *     Per-operation parameters for cuStreamBatchMemOp
 */
struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union {
  PyObject_HEAD
  union CUstreamBatchMemOpParams_union _CUstreamBatchMemOpParams_union__val;
  union CUstreamBatchMemOpParams_union *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *_waitValue;
  struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *_writeValue;
  struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *_flushRemoteWrites;
  struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *_memoryBarrier;
};


/* "cuda/cuda.pxd":641
 *     cdef CUstreamMemOpMemoryBarrierParams_st _memoryBarrier
 * 
 * cdef class CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st {
  PyObject_HEAD
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st _CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st__val;
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUcontext *_ctx;
  size_t _paramArray_length;
  CUstreamBatchMemOpParams *_paramArray;
};


/* "cuda/cuda.pxd":666
 *     cdef ccuda.CUstreamBatchMemOpParams* _paramArray
 * 
 * cdef class CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *     """
 *     Batch memory operation node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st {
  PyObject_HEAD
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st _CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st__val;
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUcontext *_ctx;
  size_t _paramArray_length;
  CUstreamBatchMemOpParams *_paramArray;
};


/* "cuda/cuda.pxd":693
 *     cdef ccuda.CUstreamBatchMemOpParams* _paramArray
 * 
 * cdef class anon_struct0:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct0 {
  PyObject_HEAD
  struct CUasyncNotificationInfo_st *_ptr;
};


/* "cuda/cuda.pxd":708
 *     cdef ccuda.CUasyncNotificationInfo_st* _ptr
 * 
 * cdef class anon_union2:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_union2 {
  PyObject_HEAD
  struct CUasyncNotificationInfo_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_anon_struct0 *_overBudget;
};


/* "cuda/cuda.pxd":724
 *     cdef anon_struct0 _overBudget
 * 
 * cdef class CUasyncNotificationInfo_st:             # <<<<<<<<<<<<<<
 *     """
 *     Information passed to the user via the async notification callback
 */
struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st {
  PyObject_HEAD
  struct CUasyncNotificationInfo_st *_val_ptr;
  struct CUasyncNotificationInfo_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_anon_union2 *_info;
};


/* "cuda/cuda.pxd":745
 *     cdef anon_union2 _info
 * 
 * cdef class CUdevprop_st:             # <<<<<<<<<<<<<<
 *     """
 *     Legacy device properties
 */
struct __pyx_obj_4cuda_4cuda_CUdevprop_st {
  PyObject_HEAD
  struct CUdevprop_st _CUdevprop_st__val;
  struct CUdevprop_st *_ptr;
};


/* "cuda/cuda.pxd":781
 *     cdef ccuda.CUdevprop_st* _ptr
 * 
 * cdef class CUaccessPolicyWindow_st:             # <<<<<<<<<<<<<<
 *     """
 *     Specifies an access policy for a window, a contiguous extent of
 */
struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st {
  PyObject_HEAD
  struct CUaccessPolicyWindow_st _CUaccessPolicyWindow_st__val;
  struct CUaccessPolicyWindow_st *_ptr;
};


/* "cuda/cuda.pxd":819
 *     cdef ccuda.CUaccessPolicyWindow_st* _ptr
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     GPU kernel node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_KERNEL_NODE_PARAMS_st _CUDA_KERNEL_NODE_PARAMS_st__val;
  struct CUDA_KERNEL_NODE_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUfunction *_func;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *_ckernelParams;
};


/* "cuda/cuda.pxd":857
 *     cdef utils.HelperKernelParams _ckernelParams
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *     """
 *     GPU kernel node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st {
  PyObject_HEAD
  struct CUDA_KERNEL_NODE_PARAMS_v2_st _CUDA_KERNEL_NODE_PARAMS_v2_st__val;
  struct CUDA_KERNEL_NODE_PARAMS_v2_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUfunction *_func;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *_ckernelParams;
  struct __pyx_obj_4cuda_4cuda_CUkernel *_kern;
  struct __pyx_obj_4cuda_4cuda_CUcontext *_ctx;
};


/* "cuda/cuda.pxd":903
 *     cdef CUcontext _ctx
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_v3_st:             # <<<<<<<<<<<<<<
 *     """
 *     GPU kernel node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st {
  PyObject_HEAD
  struct CUDA_KERNEL_NODE_PARAMS_v3_st _CUDA_KERNEL_NODE_PARAMS_v3_st__val;
  struct CUDA_KERNEL_NODE_PARAMS_v3_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUfunction *_func;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *_ckernelParams;
  struct __pyx_obj_4cuda_4cuda_CUkernel *_kern;
  struct __pyx_obj_4cuda_4cuda_CUcontext *_ctx;
};


/* "cuda/cuda.pxd":949
 *     cdef CUcontext _ctx
 * 
 * cdef class CUDA_MEMSET_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memset node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_MEMSET_NODE_PARAMS_st _CUDA_MEMSET_NODE_PARAMS_st__val;
  struct CUDA_MEMSET_NODE_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_dst;
};


/* "cuda/cuda.pxd":978
 *     cdef CUdeviceptr _dst
 * 
 * cdef class CUDA_MEMSET_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memset node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st {
  PyObject_HEAD
  struct CUDA_MEMSET_NODE_PARAMS_v2_st _CUDA_MEMSET_NODE_PARAMS_v2_st__val;
  struct CUDA_MEMSET_NODE_PARAMS_v2_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_dst;
  struct __pyx_obj_4cuda_4cuda_CUcontext *_ctx;
};


/* "cuda/cuda.pxd":1010
 *     cdef CUcontext _ctx
 * 
 * cdef class CUDA_HOST_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Host node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_HOST_NODE_PARAMS_st _CUDA_HOST_NODE_PARAMS_st__val;
  struct CUDA_HOST_NODE_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUhostFn *_fn;
};


/* "cuda/cuda.pxd":1031
 *     cdef CUhostFn _fn
 * 
 * cdef class CUDA_HOST_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *     """
 *     Host node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st {
  PyObject_HEAD
  struct CUDA_HOST_NODE_PARAMS_v2_st _CUDA_HOST_NODE_PARAMS_v2_st__val;
  struct CUDA_HOST_NODE_PARAMS_v2_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUhostFn *_fn;
};


/* "cuda/cuda.pxd":1052
 *     cdef CUhostFn _fn
 * 
 * cdef class CUDA_CONDITIONAL_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *     """
 *     Conditional node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS {
  PyObject_HEAD
  struct CUDA_CONDITIONAL_NODE_PARAMS _CUDA_CONDITIONAL_NODE_PARAMS__val;
  struct CUDA_CONDITIONAL_NODE_PARAMS *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *_handle;
  size_t _phGraph_out_length;
  CUgraph *_phGraph_out;
  struct __pyx_obj_4cuda_4cuda_CUcontext *_ctx;
};


/* "cuda/cuda.pxd":1094
 *     cdef CUcontext _ctx
 * 
 * cdef class CUgraphEdgeData_st:             # <<<<<<<<<<<<<<
 *     """
 *     Optional annotation for edges in a CUDA graph. Note, all edges
 */
struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st {
  PyObject_HEAD
  struct CUgraphEdgeData_st _CUgraphEdgeData_st__val;
  struct CUgraphEdgeData_st *_ptr;
};


/* "cuda/cuda.pxd":1137
 *     cdef ccuda.CUgraphEdgeData_st* _ptr
 * 
 * cdef class CUDA_GRAPH_INSTANTIATE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Graph instantiation parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_GRAPH_INSTANTIATE_PARAMS_st _CUDA_GRAPH_INSTANTIATE_PARAMS_st__val;
  struct CUDA_GRAPH_INSTANTIATE_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_cuuint64_t *_flags;
  struct __pyx_obj_4cuda_4cuda_CUstream *_hUploadStream;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *_hErrNode_out;
};


/* "cuda/cuda.pxd":1164
 *     cdef CUgraphNode _hErrNode_out
 * 
 * cdef class CUlaunchMemSyncDomainMap_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memory Synchronization Domain map  See ::cudaLaunchMemSyncDomain.
 */
struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st {
  PyObject_HEAD
  struct CUlaunchMemSyncDomainMap_st _CUlaunchMemSyncDomainMap_st__val;
  struct CUlaunchMemSyncDomainMap_st *_ptr;
};


/* "cuda/cuda.pxd":1190
 *     cdef ccuda.CUlaunchMemSyncDomainMap_st* _ptr
 * 
 * cdef class anon_struct1:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct1 {
  PyObject_HEAD
  union CUlaunchAttributeValue_union *_ptr;
};


/* "cuda/cuda.pxd":1209
 *     cdef ccuda.CUlaunchAttributeValue_union* _ptr
 * 
 * cdef class anon_struct2:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct2 {
  PyObject_HEAD
  union CUlaunchAttributeValue_union *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUevent *_event;
};


/* "cuda/cuda.pxd":1229
 *     cdef CUevent _event
 * 
 * cdef class anon_struct3:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct3 {
  PyObject_HEAD
  union CUlaunchAttributeValue_union *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUevent *_event;
};


/* "cuda/cuda.pxd":1247
 *     cdef CUevent _event
 * 
 * cdef class anon_struct4:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct4 {
  PyObject_HEAD
  union CUlaunchAttributeValue_union *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *_devNode;
};


/* "cuda/cuda.pxd":1265
 *     cdef CUgraphDeviceNode _devNode
 * 
 * cdef class CUlaunchAttributeValue_union:             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes union; used as value field of CUlaunchAttribute
 */
struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union {
  PyObject_HEAD
  union CUlaunchAttributeValue_union _CUlaunchAttributeValue_union__val;
  union CUlaunchAttributeValue_union *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow *_accessPolicyWindow;
  struct __pyx_obj_4cuda_4cuda_anon_struct1 *_clusterDim;
  struct __pyx_obj_4cuda_4cuda_anon_struct2 *_programmaticEvent;
  struct __pyx_obj_4cuda_4cuda_anon_struct3 *_launchCompletionEvent;
  struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap *_memSyncDomainMap;
  struct __pyx_obj_4cuda_4cuda_anon_struct4 *_deviceUpdatableKernelNode;
};


/* "cuda/cuda.pxd":1330
 *     cdef anon_struct4 _deviceUpdatableKernelNode
 * 
 * cdef class CUlaunchAttribute_st:             # <<<<<<<<<<<<<<
 *     """
 *     Launch attribute
 */
struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st {
  PyObject_HEAD
  struct CUlaunchAttribute_st _CUlaunchAttribute_st__val;
  struct CUlaunchAttribute_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue *_value;
};


/* "cuda/cuda.pxd":1351
 *     cdef CUlaunchAttributeValue _value
 * 
 * cdef class CUlaunchConfig_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA extensible launch configuration
 */
struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st {
  PyObject_HEAD
  struct CUlaunchConfig_st _CUlaunchConfig_st__val;
  struct CUlaunchConfig_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUstream *_hStream;
  size_t _attrs_length;
  CUlaunchAttribute *_attrs;
};


/* "cuda/cuda.pxd":1390
 *     cdef ccuda.CUlaunchAttribute* _attrs
 * 
 * cdef class CUexecAffinitySmCount_st:             # <<<<<<<<<<<<<<
 *     """
 *     Value for CU_EXEC_AFFINITY_TYPE_SM_COUNT
 */
struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st {
  PyObject_HEAD
  struct CUexecAffinitySmCount_st _CUexecAffinitySmCount_st__val;
  struct CUexecAffinitySmCount_st *_ptr;
};


/* "cuda/cuda.pxd":1408
 *     cdef ccuda.CUexecAffinitySmCount_st* _ptr
 * 
 * cdef class anon_union3:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_union3 {
  PyObject_HEAD
  struct CUexecAffinityParam_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount *_smCount;
};


/* "cuda/cuda.pxd":1424
 *     cdef CUexecAffinitySmCount _smCount
 * 
 * cdef class CUexecAffinityParam_st:             # <<<<<<<<<<<<<<
 *     """
 *     Execution Affinity Parameters
 */
struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st {
  PyObject_HEAD
  struct CUexecAffinityParam_st *_val_ptr;
  struct CUexecAffinityParam_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_anon_union3 *_param;
};


/* "cuda/cuda.pxd":1445
 *     cdef anon_union3 _param
 * 
 * cdef class CUlibraryHostUniversalFunctionAndDataTable_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st {
  PyObject_HEAD
  struct CUlibraryHostUniversalFunctionAndDataTable_st _CUlibraryHostUniversalFunctionAndDataTable_st__val;
  struct CUlibraryHostUniversalFunctionAndDataTable_st *_ptr;
};


/* "cuda/cuda.pxd":1467
 *     cdef ccuda.CUlibraryHostUniversalFunctionAndDataTable_st* _ptr
 * 
 * cdef class CUDA_MEMCPY2D_st:             # <<<<<<<<<<<<<<
 *     """
 *     2D memory copy parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st {
  PyObject_HEAD
  struct CUDA_MEMCPY2D_st _CUDA_MEMCPY2D_st__val;
  struct CUDA_MEMCPY2D_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_srcDevice;
  struct __pyx_obj_4cuda_4cuda_CUarray *_srcArray;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_dstDevice;
  struct __pyx_obj_4cuda_4cuda_CUarray *_dstArray;
};


/* "cuda/cuda.pxd":1519
 *     cdef CUarray _dstArray
 * 
 * cdef class CUDA_MEMCPY3D_st:             # <<<<<<<<<<<<<<
 *     """
 *     3D memory copy parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st {
  PyObject_HEAD
  struct CUDA_MEMCPY3D_st _CUDA_MEMCPY3D_st__val;
  struct CUDA_MEMCPY3D_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_srcDevice;
  struct __pyx_obj_4cuda_4cuda_CUarray *_srcArray;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_dstDevice;
  struct __pyx_obj_4cuda_4cuda_CUarray *_dstArray;
};


/* "cuda/cuda.pxd":1590
 *     cdef CUarray _dstArray
 * 
 * cdef class CUDA_MEMCPY3D_PEER_st:             # <<<<<<<<<<<<<<
 *     """
 *     3D memory cross-context copy parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st {
  PyObject_HEAD
  struct CUDA_MEMCPY3D_PEER_st _CUDA_MEMCPY3D_PEER_st__val;
  struct CUDA_MEMCPY3D_PEER_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_srcDevice;
  struct __pyx_obj_4cuda_4cuda_CUarray *_srcArray;
  struct __pyx_obj_4cuda_4cuda_CUcontext *_srcContext;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_dstDevice;
  struct __pyx_obj_4cuda_4cuda_CUarray *_dstArray;
  struct __pyx_obj_4cuda_4cuda_CUcontext *_dstContext;
};


/* "cuda/cuda.pxd":1664
 *     cdef CUcontext _dstContext
 * 
 * cdef class CUDA_MEMCPY_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memcpy node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_MEMCPY_NODE_PARAMS_st _CUDA_MEMCPY_NODE_PARAMS_st__val;
  struct CUDA_MEMCPY_NODE_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUcontext *_copyCtx;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *_copyParams;
};


/* "cuda/cuda.pxd":1690
 *     cdef CUDA_MEMCPY3D _copyParams
 * 
 * cdef class CUDA_ARRAY_DESCRIPTOR_st:             # <<<<<<<<<<<<<<
 *     """
 *     Array descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st {
  PyObject_HEAD
  struct CUDA_ARRAY_DESCRIPTOR_st _CUDA_ARRAY_DESCRIPTOR_st__val;
  struct CUDA_ARRAY_DESCRIPTOR_st *_ptr;
};


/* "cuda/cuda.pxd":1714
 *     cdef ccuda.CUDA_ARRAY_DESCRIPTOR_st* _ptr
 * 
 * cdef class CUDA_ARRAY3D_DESCRIPTOR_st:             # <<<<<<<<<<<<<<
 *     """
 *     3D array descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st {
  PyObject_HEAD
  struct CUDA_ARRAY3D_DESCRIPTOR_st _CUDA_ARRAY3D_DESCRIPTOR_st__val;
  struct CUDA_ARRAY3D_DESCRIPTOR_st *_ptr;
};


/* "cuda/cuda.pxd":1742
 *     cdef ccuda.CUDA_ARRAY3D_DESCRIPTOR_st* _ptr
 * 
 * cdef class anon_struct5:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct5 {
  PyObject_HEAD
  struct CUDA_ARRAY_SPARSE_PROPERTIES_st *_ptr;
};


/* "cuda/cuda.pxd":1761
 *     cdef ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_st* _ptr
 * 
 * cdef class CUDA_ARRAY_SPARSE_PROPERTIES_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA array sparse properties
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st {
  PyObject_HEAD
  struct CUDA_ARRAY_SPARSE_PROPERTIES_st _CUDA_ARRAY_SPARSE_PROPERTIES_st__val;
  struct CUDA_ARRAY_SPARSE_PROPERTIES_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_anon_struct5 *_tileExtent;
};


/* "cuda/cuda.pxd":1789
 *     cdef anon_struct5 _tileExtent
 * 
 * cdef class CUDA_ARRAY_MEMORY_REQUIREMENTS_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA array memory requirements
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st {
  PyObject_HEAD
  struct CUDA_ARRAY_MEMORY_REQUIREMENTS_st _CUDA_ARRAY_MEMORY_REQUIREMENTS_st__val;
  struct CUDA_ARRAY_MEMORY_REQUIREMENTS_st *_ptr;
};


/* "cuda/cuda.pxd":1811
 *     cdef ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st* _ptr
 * 
 * cdef class anon_struct6:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct6 {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUarray *_hArray;
};


/* "cuda/cuda.pxd":1827
 *     cdef CUarray _hArray
 * 
 * cdef class anon_struct7:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct7 {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *_hMipmappedArray;
};


/* "cuda/cuda.pxd":1843
 *     cdef CUmipmappedArray _hMipmappedArray
 * 
 * cdef class anon_struct8:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct8 {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_devPtr;
};


/* "cuda/cuda.pxd":1865
 *     cdef CUdeviceptr _devPtr
 * 
 * cdef class anon_struct9:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct9 {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_devPtr;
};


/* "cuda/cuda.pxd":1891
 *     cdef CUdeviceptr _devPtr
 * 
 * cdef class anon_struct10:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct10 {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_ptr;
};


/* "cuda/cuda.pxd":1906
 *     cdef ccuda.CUDA_RESOURCE_DESC_st* _ptr
 * 
 * cdef class anon_union4:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_union4 {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_anon_struct6 *_array;
  struct __pyx_obj_4cuda_4cuda_anon_struct7 *_mipmap;
  struct __pyx_obj_4cuda_4cuda_anon_struct8 *_linear;
  struct __pyx_obj_4cuda_4cuda_anon_struct9 *_pitch2D;
  struct __pyx_obj_4cuda_4cuda_anon_struct10 *_reserved;
};


/* "cuda/cuda.pxd":1934
 *     cdef anon_struct10 _reserved
 * 
 * cdef class CUDA_RESOURCE_DESC_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Resource descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st {
  PyObject_HEAD
  struct CUDA_RESOURCE_DESC_st *_val_ptr;
  struct CUDA_RESOURCE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_anon_union4 *_res;
};


/* "cuda/cuda.pxd":1957
 *     cdef anon_union4 _res
 * 
 * cdef class CUDA_TEXTURE_DESC_st:             # <<<<<<<<<<<<<<
 *     """
 *     Texture descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st {
  PyObject_HEAD
  struct CUDA_TEXTURE_DESC_st _CUDA_TEXTURE_DESC_st__val;
  struct CUDA_TEXTURE_DESC_st *_ptr;
};


/* "cuda/cuda.pxd":1993
 *     cdef ccuda.CUDA_TEXTURE_DESC_st* _ptr
 * 
 * cdef class CUDA_RESOURCE_VIEW_DESC_st:             # <<<<<<<<<<<<<<
 *     """
 *     Resource view descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st {
  PyObject_HEAD
  struct CUDA_RESOURCE_VIEW_DESC_st _CUDA_RESOURCE_VIEW_DESC_st__val;
  struct CUDA_RESOURCE_VIEW_DESC_st *_ptr;
};


/* "cuda/cuda.pxd":2027
 *     cdef ccuda.CUDA_RESOURCE_VIEW_DESC_st* _ptr
 * 
 * cdef class CUtensorMap_st:             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map descriptor. Requires compiler support for aligning to 64
 */
struct __pyx_obj_4cuda_4cuda_CUtensorMap_st {
  PyObject_HEAD
  struct CUtensorMap_st _CUtensorMap_st__val;
  struct CUtensorMap_st *_ptr;
};


/* "cuda/cuda.pxd":2046
 *     cdef ccuda.CUtensorMap_st* _ptr
 * 
 * cdef class CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:             # <<<<<<<<<<<<<<
 *     """
 *     GPU Direct v3 tokens
 */
struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st {
  PyObject_HEAD
  struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st _CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st__val;
  struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *_ptr;
};


/* "cuda/cuda.pxd":2066
 *     cdef ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st* _ptr
 * 
 * cdef class CUDA_LAUNCH_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Kernel launch parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st {
  PyObject_HEAD
  struct CUDA_LAUNCH_PARAMS_st _CUDA_LAUNCH_PARAMS_st__val;
  struct CUDA_LAUNCH_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUfunction *_function;
  struct __pyx_obj_4cuda_4cuda_CUstream *_hStream;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *_ckernelParams;
};


/* "cuda/cuda.pxd":2105
 *     cdef utils.HelperKernelParams _ckernelParams
 * 
 * cdef class anon_struct11:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct11 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *_ptr;
};


/* "cuda/cuda.pxd":2122
 *     cdef ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st* _ptr
 * 
 * cdef class anon_union5:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_union5 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_anon_struct11 *_win32;
};


/* "cuda/cuda.pxd":2142
 *     cdef anon_struct11 _win32
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:             # <<<<<<<<<<<<<<
 *     """
 *     External memory handle descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st {
  PyObject_HEAD
  struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *_val_ptr;
  struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_anon_union5 *_handle;
};


/* "cuda/cuda.pxd":2169
 *     cdef anon_union5 _handle
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:             # <<<<<<<<<<<<<<
 *     """
 *     External memory buffer descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st {
  PyObject_HEAD
  struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st _CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st__val;
  struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *_ptr;
};


/* "cuda/cuda.pxd":2193
 *     cdef ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st* _ptr
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:             # <<<<<<<<<<<<<<
 *     """
 *     External memory mipmap descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st {
  PyObject_HEAD
  struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st _CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st__val;
  struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR *_arrayDesc;
};


/* "cuda/cuda.pxd":2219
 *     cdef CUDA_ARRAY3D_DESCRIPTOR _arrayDesc
 * 
 * cdef class anon_struct12:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct12 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *_ptr;
};


/* "cuda/cuda.pxd":2236
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st* _ptr
 * 
 * cdef class anon_union6:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_union6 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_anon_struct12 *_win32;
};


/* "cuda/cuda.pxd":2256
 *     cdef anon_struct12 _win32
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore handle descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *_val_ptr;
  struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_anon_union6 *_handle;
};


/* "cuda/cuda.pxd":2281
 *     cdef anon_union6 _handle
 * 
 * cdef class anon_struct13:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct13 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_ptr;
};


/* "cuda/cuda.pxd":2296
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st* _ptr
 * 
 * cdef class anon_union7:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_union7 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_ptr;
};


/* "cuda/cuda.pxd":2313
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st* _ptr
 * 
 * cdef class anon_struct14:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct14 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_ptr;
};


/* "cuda/cuda.pxd":2328
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st* _ptr
 * 
 * cdef class anon_struct15:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct15 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_anon_struct13 *_fence;
  struct __pyx_obj_4cuda_4cuda_anon_union7 *_nvSciSync;
  struct __pyx_obj_4cuda_4cuda_anon_struct14 *_keyedMutex;
};


/* "cuda/cuda.pxd":2352
 *     cdef anon_struct14 _keyedMutex
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore signal parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st _CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st__val;
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_anon_struct15 *_params;
};


/* "cuda/cuda.pxd":2382
 *     cdef anon_struct15 _params
 * 
 * cdef class anon_struct16:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct16 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_ptr;
};


/* "cuda/cuda.pxd":2397
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st* _ptr
 * 
 * cdef class anon_union8:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_union8 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_ptr;
};


/* "cuda/cuda.pxd":2414
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st* _ptr
 * 
 * cdef class anon_struct17:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct17 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_ptr;
};


/* "cuda/cuda.pxd":2431
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st* _ptr
 * 
 * cdef class anon_struct18:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct18 {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_anon_struct16 *_fence;
  struct __pyx_obj_4cuda_4cuda_anon_union8 *_nvSciSync;
  struct __pyx_obj_4cuda_4cuda_anon_struct17 *_keyedMutex;
};


/* "cuda/cuda.pxd":2455
 *     cdef anon_struct17 _keyedMutex
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore wait parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st {
  PyObject_HEAD
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st _CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st__val;
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_anon_struct18 *_params;
};


/* "cuda/cuda.pxd":2485
 *     cdef anon_struct18 _params
 * 
 * cdef class CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Semaphore signal node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st _CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st__val;
  struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *_ptr;
  size_t _extSemArray_length;
  CUexternalSemaphore *_extSemArray;
  size_t _paramsArray_length;
  CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *_paramsArray;
};


/* "cuda/cuda.pxd":2513
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* _paramsArray
 * 
 * cdef class CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *     """
 *     Semaphore signal node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st {
  PyObject_HEAD
  struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st _CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st__val;
  struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *_ptr;
  size_t _extSemArray_length;
  CUexternalSemaphore *_extSemArray;
  size_t _paramsArray_length;
  CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *_paramsArray;
};


/* "cuda/cuda.pxd":2541
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* _paramsArray
 * 
 * cdef class CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Semaphore wait node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st _CUDA_EXT_SEM_WAIT_NODE_PARAMS_st__val;
  struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *_ptr;
  size_t _extSemArray_length;
  CUexternalSemaphore *_extSemArray;
  size_t _paramsArray_length;
  CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *_paramsArray;
};


/* "cuda/cuda.pxd":2569
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* _paramsArray
 * 
 * cdef class CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *     """
 *     Semaphore wait node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st {
  PyObject_HEAD
  struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st _CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st__val;
  struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *_ptr;
  size_t _extSemArray_length;
  CUexternalSemaphore *_extSemArray;
  size_t _paramsArray_length;
  CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *_paramsArray;
};


/* "cuda/cuda.pxd":2597
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* _paramsArray
 * 
 * cdef class anon_union9:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_union9 {
  PyObject_HEAD
  struct CUarrayMapInfo_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *_mipmap;
  struct __pyx_obj_4cuda_4cuda_CUarray *_array;
};


/* "cuda/cuda.pxd":2616
 *     cdef CUarray _array
 * 
 * cdef class anon_struct19:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct19 {
  PyObject_HEAD
  struct CUarrayMapInfo_st *_ptr;
};


/* "cuda/cuda.pxd":2645
 *     cdef ccuda.CUarrayMapInfo_st* _ptr
 * 
 * cdef class anon_struct20:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct20 {
  PyObject_HEAD
  struct CUarrayMapInfo_st *_ptr;
};


/* "cuda/cuda.pxd":2664
 *     cdef ccuda.CUarrayMapInfo_st* _ptr
 * 
 * cdef class anon_union10:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_union10 {
  PyObject_HEAD
  struct CUarrayMapInfo_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_anon_struct19 *_sparseLevel;
  struct __pyx_obj_4cuda_4cuda_anon_struct20 *_miptail;
};


/* "cuda/cuda.pxd":2683
 *     cdef anon_struct20 _miptail
 * 
 * cdef class anon_union11:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_union11 {
  PyObject_HEAD
  struct CUarrayMapInfo_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *_memHandle;
};


/* "cuda/cuda.pxd":2699
 *     cdef CUmemGenericAllocationHandle _memHandle
 * 
 * cdef class CUarrayMapInfo_st:             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the CUDA array or CUDA mipmapped array memory mapping
 */
struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st {
  PyObject_HEAD
  struct CUarrayMapInfo_st *_val_ptr;
  struct CUarrayMapInfo_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_anon_union9 *_resource;
  struct __pyx_obj_4cuda_4cuda_anon_union10 *_subresource;
  struct __pyx_obj_4cuda_4cuda_anon_union11 *_memHandle;
};


/* "cuda/cuda.pxd":2741
 *     cdef anon_union11 _memHandle
 * 
 * cdef class CUmemLocation_st:             # <<<<<<<<<<<<<<
 *     """
 *     Specifies a memory location.
 */
struct __pyx_obj_4cuda_4cuda_CUmemLocation_st {
  PyObject_HEAD
  struct CUmemLocation_st _CUmemLocation_st__val;
  struct CUmemLocation_st *_ptr;
};


/* "cuda/cuda.pxd":2761
 *     cdef ccuda.CUmemLocation_st* _ptr
 * 
 * cdef class anon_struct21:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_struct21 {
  PyObject_HEAD
  struct CUmemAllocationProp_st *_ptr;
};


/* "cuda/cuda.pxd":2782
 *     cdef ccuda.CUmemAllocationProp_st* _ptr
 * 
 * cdef class CUmemAllocationProp_st:             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the allocation properties for a allocation.
 */
struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st {
  PyObject_HEAD
  struct CUmemAllocationProp_st _CUmemAllocationProp_st__val;
  struct CUmemAllocationProp_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUmemLocation *_location;
  struct __pyx_obj_4cuda_4cuda_anon_struct21 *_allocFlags;
};


/* "cuda/cuda.pxd":2814
 *     cdef anon_struct21 _allocFlags
 * 
 * cdef class CUmulticastObjectProp_st:             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the properties for a multicast object.
 */
struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st {
  PyObject_HEAD
  struct CUmulticastObjectProp_st _CUmulticastObjectProp_st__val;
  struct CUmulticastObjectProp_st *_ptr;
};


/* "cuda/cuda.pxd":2841
 *     cdef ccuda.CUmulticastObjectProp_st* _ptr
 * 
 * cdef class CUmemAccessDesc_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memory access descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st {
  PyObject_HEAD
  struct CUmemAccessDesc_st _CUmemAccessDesc_st__val;
  struct CUmemAccessDesc_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUmemLocation *_location;
};


/* "cuda/cuda.pxd":2862
 *     cdef CUmemLocation _location
 * 
 * cdef class CUgraphExecUpdateResultInfo_st:             # <<<<<<<<<<<<<<
 *     """
 *     Result information returned by cuGraphExecUpdate
 */
struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st {
  PyObject_HEAD
  struct CUgraphExecUpdateResultInfo_st _CUgraphExecUpdateResultInfo_st__val;
  struct CUgraphExecUpdateResultInfo_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *_errorNode;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *_errorFromNode;
};


/* "cuda/cuda.pxd":2889
 *     cdef CUgraphNode _errorFromNode
 * 
 * cdef class CUmemPoolProps_st:             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the properties of allocations made from the pool.
 */
struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st {
  PyObject_HEAD
  struct CUmemPoolProps_st _CUmemPoolProps_st__val;
  struct CUmemPoolProps_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUmemLocation *_location;
};


/* "cuda/cuda.pxd":2924
 *     cdef CUmemLocation _location
 * 
 * cdef class CUmemPoolPtrExportData_st:             # <<<<<<<<<<<<<<
 *     """
 *     Opaque data for exporting a pool allocation
 */
struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st {
  PyObject_HEAD
  struct CUmemPoolPtrExportData_st _CUmemPoolPtrExportData_st__val;
  struct CUmemPoolPtrExportData_st *_ptr;
};


/* "cuda/cuda.pxd":2942
 *     cdef ccuda.CUmemPoolPtrExportData_st* _ptr
 * 
 * cdef class CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memory allocation node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st {
  PyObject_HEAD
  struct CUDA_MEM_ALLOC_NODE_PARAMS_v1_st _CUDA_MEM_ALLOC_NODE_PARAMS_v1_st__val;
  struct CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *_poolProps;
  size_t _accessDescs_length;
  CUmemAccessDesc *_accessDescs;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_dptr;
};


/* "cuda/cuda.pxd":2977
 *     cdef CUdeviceptr _dptr
 * 
 * cdef class CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memory allocation node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st {
  PyObject_HEAD
  struct CUDA_MEM_ALLOC_NODE_PARAMS_v2_st _CUDA_MEM_ALLOC_NODE_PARAMS_v2_st__val;
  struct CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *_poolProps;
  size_t _accessDescs_length;
  CUmemAccessDesc *_accessDescs;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_dptr;
};


/* "cuda/cuda.pxd":3012
 *     cdef CUdeviceptr _dptr
 * 
 * cdef class CUDA_MEM_FREE_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Memory free node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_MEM_FREE_NODE_PARAMS_st _CUDA_MEM_FREE_NODE_PARAMS_st__val;
  struct CUDA_MEM_FREE_NODE_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *_dptr;
};


/* "cuda/cuda.pxd":3031
 *     cdef CUdeviceptr _dptr
 * 
 * cdef class CUDA_CHILD_GRAPH_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Child graph node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_CHILD_GRAPH_NODE_PARAMS_st _CUDA_CHILD_GRAPH_NODE_PARAMS_st__val;
  struct CUDA_CHILD_GRAPH_NODE_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUgraph *_graph;
};


/* "cuda/cuda.pxd":3051
 *     cdef CUgraph _graph
 * 
 * cdef class CUDA_EVENT_RECORD_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Event record node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_EVENT_RECORD_NODE_PARAMS_st _CUDA_EVENT_RECORD_NODE_PARAMS_st__val;
  struct CUDA_EVENT_RECORD_NODE_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUevent *_event;
};


/* "cuda/cuda.pxd":3070
 *     cdef CUevent _event
 * 
 * cdef class CUDA_EVENT_WAIT_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *     """
 *     Event wait node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st {
  PyObject_HEAD
  struct CUDA_EVENT_WAIT_NODE_PARAMS_st _CUDA_EVENT_WAIT_NODE_PARAMS_st__val;
  struct CUDA_EVENT_WAIT_NODE_PARAMS_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUevent *_event;
};


/* "cuda/cuda.pxd":3089
 *     cdef CUevent _event
 * 
 * cdef class CUgraphNodeParams_st:             # <<<<<<<<<<<<<<
 *     """
 *     Graph node parameters. See cuGraphAddNode.
 */
struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st {
  PyObject_HEAD
  struct CUgraphNodeParams_st *_val_ptr;
  struct CUgraphNodeParams_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3 *_kernel;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS *_memcpy;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2 *_memset;
  struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2 *_host;
  struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS *_graph;
  struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS *_eventWait;
  struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS *_eventRecord;
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 *_extSemSignal;
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 *_extSemWait;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2 *_alloc;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS *_free;
  struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 *_memOp;
  struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *_conditional;
};


/* "cuda/cuda.pxd":3152
 *     cdef CUDA_CONDITIONAL_NODE_PARAMS _conditional
 * 
 * cdef class CUdevSmResource_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st {
  PyObject_HEAD
  struct CUdevSmResource_st _CUdevSmResource_st__val;
  struct CUdevSmResource_st *_ptr;
};


/* "cuda/cuda.pxd":3169
 *     cdef ccuda.CUdevSmResource_st* _ptr
 * 
 * cdef class CUdevResource_st:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_CUdevResource_st {
  PyObject_HEAD
  struct CUdevResource_st *_val_ptr;
  struct CUdevResource_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_CUdevSmResource *_sm;
};


/* "cuda/cuda.pxd":3192
 *     cdef CUdevSmResource _sm
 * 
 * cdef class anon_union14:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_anon_union14 {
  PyObject_HEAD
  struct __pyx_t_4cuda_5ccuda_CUeglFrame_st *_ptr;
};


/* "cuda/cuda.pxd":3209
 *     cdef ccuda.CUeglFrame_st* _ptr
 * 
 * cdef class CUeglFrame_st:             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EGLFrame structure Descriptor - structure defining one frame
 */
struct __pyx_obj_4cuda_4cuda_CUeglFrame_st {
  PyObject_HEAD
  struct __pyx_t_4cuda_5ccuda_CUeglFrame_st *_val_ptr;
  struct __pyx_t_4cuda_5ccuda_CUeglFrame_st *_ptr;
  struct __pyx_obj_4cuda_4cuda_anon_union14 *_frame;
};


/* "cuda/cuda.pxd":3248
 *     cdef anon_union14 _frame
 * 
 * cdef class CUdeviceptr:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUdeviceptr {
  PyObject_HEAD
  CUdeviceptr _CUdeviceptr__val;
  CUdeviceptr *_ptr;
};


/* "cuda/cuda.pxd":3262
 *     cdef ccuda.CUdeviceptr* _ptr
 * 
 * cdef class CUdevice:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUdevice {
  PyObject_HEAD
  CUdevice _CUdevice__val;
  CUdevice *_ptr;
};


/* "cuda/cuda.pxd":3276
 *     cdef ccuda.CUdevice* _ptr
 * 
 * cdef class CUtexObject:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUtexObject {
  PyObject_HEAD
  CUtexObject _CUtexObject__val;
  CUtexObject *_ptr;
};


/* "cuda/cuda.pxd":3290
 *     cdef ccuda.CUtexObject* _ptr
 * 
 * cdef class CUsurfObject:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUsurfObject {
  PyObject_HEAD
  CUsurfObject _CUsurfObject__val;
  CUsurfObject *_ptr;
};


/* "cuda/cuda.pxd":3304
 *     cdef ccuda.CUsurfObject* _ptr
 * 
 * cdef class CUgraphConditionalHandle:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle {
  PyObject_HEAD
  CUgraphConditionalHandle _CUgraphConditionalHandle__val;
  CUgraphConditionalHandle *_ptr;
};


/* "cuda/cuda.pxd":3316
 *     cdef ccuda.CUgraphConditionalHandle* _ptr
 * 
 * cdef class CUuuid(CUuuid_st):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_CUuuid {
  struct __pyx_obj_4cuda_4cuda_CUuuid_st __pyx_base;
};


/* "cuda/cuda.pxd":3331
 *     pass
 * 
 * cdef class CUmemFabricHandle_v1(CUmemFabricHandle_st):             # <<<<<<<<<<<<<<
 *     """
 *     Fabric handle - An opaque handle representing a memory allocation
 */
struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_v1 {
  struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st __pyx_base;
};


/* "cuda/cuda.pxd":3351
 *     pass
 * 
 * cdef class CUmemFabricHandle(CUmemFabricHandle_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Fabric handle - An opaque handle representing a memory allocation
 */
struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle {
  struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_v1 __pyx_base;
};


/* "cuda/cuda.pxd":3371
 *     pass
 * 
 * cdef class CUipcEventHandle_v1(CUipcEventHandle_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC event handle
 */
struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_v1 {
  struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st __pyx_base;
};


/* "cuda/cuda.pxd":3388
 *     pass
 * 
 * cdef class CUipcEventHandle(CUipcEventHandle_v1):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC event handle
 */
struct __pyx_obj_4cuda_4cuda_CUipcEventHandle {
  struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_v1 __pyx_base;
};


/* "cuda/cuda.pxd":3405
 *     pass
 * 
 * cdef class CUipcMemHandle_v1(CUipcMemHandle_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC mem handle
 */
struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_v1 {
  struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st __pyx_base;
};


/* "cuda/cuda.pxd":3422
 *     pass
 * 
 * cdef class CUipcMemHandle(CUipcMemHandle_v1):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA IPC mem handle
 */
struct __pyx_obj_4cuda_4cuda_CUipcMemHandle {
  struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_v1 __pyx_base;
};


/* "cuda/cuda.pxd":3439
 *     pass
 * 
 * cdef class CUstreamBatchMemOpParams_v1(CUstreamBatchMemOpParams_union):             # <<<<<<<<<<<<<<
 *     """
 *     Per-operation parameters for cuStreamBatchMemOp
 */
struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_v1 {
  struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union __pyx_base;
};


/* "cuda/cuda.pxd":3466
 *     pass
 * 
 * cdef class CUstreamBatchMemOpParams(CUstreamBatchMemOpParams_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Per-operation parameters for cuStreamBatchMemOp
 */
struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams {
  struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_v1 __pyx_base;
};


/* "cuda/cuda.pxd":3493
 *     pass
 * 
 * cdef class CUDA_BATCH_MEM_OP_NODE_PARAMS_v1(CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st __pyx_base;
};


/* "cuda/cuda.pxd":3514
 *     pass
 * 
 * cdef class CUDA_BATCH_MEM_OP_NODE_PARAMS(CUDA_BATCH_MEM_OP_NODE_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 __pyx_base;
};


/* "cuda/cuda.pxd":3535
 *     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_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 {
  struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st __pyx_base;
};


/* "cuda/cuda.pxd":3558
 *     pass
 * 
 * cdef class CUasyncNotificationInfo(CUasyncNotificationInfo_st):             # <<<<<<<<<<<<<<
 *     """
 *     Information passed to the user via the async notification callback
 */
struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo {
  struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st __pyx_base;
};


/* "cuda/cuda.pxd":3577
 *     pass
 * 
 * cdef class CUdevprop_v1(CUdevprop_st):             # <<<<<<<<<<<<<<
 *     """
 *     Legacy device properties
 */
struct __pyx_obj_4cuda_4cuda_CUdevprop_v1 {
  struct __pyx_obj_4cuda_4cuda_CUdevprop_st __pyx_base;
};


/* "cuda/cuda.pxd":3612
 *     pass
 * 
 * cdef class CUdevprop(CUdevprop_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Legacy device properties
 */
struct __pyx_obj_4cuda_4cuda_CUdevprop {
  struct __pyx_obj_4cuda_4cuda_CUdevprop_v1 __pyx_base;
};


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


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


/* "cuda/cuda.pxd":3721
 *     pass
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_v1(CUDA_KERNEL_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     GPU kernel node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":3756
 *     pass
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_v2(CUDA_KERNEL_NODE_PARAMS_v2_st):             # <<<<<<<<<<<<<<
 *     """
 *     GPU kernel node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2 {
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st __pyx_base;
};


/* "cuda/cuda.pxd":3797
 *     pass
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS(CUDA_KERNEL_NODE_PARAMS_v2):             # <<<<<<<<<<<<<<
 *     """
 *     GPU kernel node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2 __pyx_base;
};


/* "cuda/cuda.pxd":3838
 *     pass
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_v3(CUDA_KERNEL_NODE_PARAMS_v3_st):             # <<<<<<<<<<<<<<
 *     """
 *     GPU kernel node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3 {
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st __pyx_base;
};


/* "cuda/cuda.pxd":3879
 *     pass
 * 
 * cdef class CUDA_MEMSET_NODE_PARAMS_v1(CUDA_MEMSET_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memset node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":3906
 *     pass
 * 
 * cdef class CUDA_MEMSET_NODE_PARAMS(CUDA_MEMSET_NODE_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Memset node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1 __pyx_base;
};


/* "cuda/cuda.pxd":3933
 *     pass
 * 
 * cdef class CUDA_MEMSET_NODE_PARAMS_v2(CUDA_MEMSET_NODE_PARAMS_v2_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memset node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2 {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st __pyx_base;
};


/* "cuda/cuda.pxd":3962
 *     pass
 * 
 * cdef class CUDA_HOST_NODE_PARAMS_v1(CUDA_HOST_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Host node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":3981
 *     pass
 * 
 * cdef class CUDA_HOST_NODE_PARAMS(CUDA_HOST_NODE_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Host node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1 __pyx_base;
};


/* "cuda/cuda.pxd":4000
 *     pass
 * 
 * cdef class CUDA_HOST_NODE_PARAMS_v2(CUDA_HOST_NODE_PARAMS_v2_st):             # <<<<<<<<<<<<<<
 *     """
 *     Host node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2 {
  struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st __pyx_base;
};


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


/* "cuda/cuda.pxd":4061
 *     pass
 * 
 * cdef class CUDA_GRAPH_INSTANTIATE_PARAMS(CUDA_GRAPH_INSTANTIATE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Graph instantiation parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":4084
 *     pass
 * 
 * cdef class CUlaunchMemSyncDomainMap(CUlaunchMemSyncDomainMap_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memory Synchronization Domain map  See ::cudaLaunchMemSyncDomain.
 */
struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap {
  struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st __pyx_base;
};


/* "cuda/cuda.pxd":4109
 *     pass
 * 
 * cdef class CUlaunchAttributeValue(CUlaunchAttributeValue_union):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes union; used as value field of CUlaunchAttribute
 */
struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue {
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union __pyx_base;
};


/* "cuda/cuda.pxd":4167
 *     pass
 * 
 * cdef class CUlaunchAttribute(CUlaunchAttribute_st):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attribute
 */
struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute {
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st __pyx_base;
};


/* "cuda/cuda.pxd":4186
 *     pass
 * 
 * cdef class CUlaunchConfig(CUlaunchConfig_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA extensible launch configuration
 */
struct __pyx_obj_4cuda_4cuda_CUlaunchConfig {
  struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st __pyx_base;
};


/* "cuda/cuda.pxd":4221
 *     pass
 * 
 * cdef class CUkernelNodeAttrValue_v1(CUlaunchAttributeValue):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes union; used as value field of CUlaunchAttribute
 */
struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue_v1 {
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue __pyx_base;
};


/* "cuda/cuda.pxd":4279
 *     pass
 * 
 * cdef class CUkernelNodeAttrValue(CUkernelNodeAttrValue_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes union; used as value field of CUlaunchAttribute
 */
struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue {
  struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue_v1 __pyx_base;
};


/* "cuda/cuda.pxd":4337
 *     pass
 * 
 * cdef class CUstreamAttrValue_v1(CUlaunchAttributeValue):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes union; used as value field of CUlaunchAttribute
 */
struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue_v1 {
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue __pyx_base;
};


/* "cuda/cuda.pxd":4395
 *     pass
 * 
 * cdef class CUstreamAttrValue(CUstreamAttrValue_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes union; used as value field of CUlaunchAttribute
 */
struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue {
  struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue_v1 __pyx_base;
};


/* "cuda/cuda.pxd":4453
 *     pass
 * 
 * cdef class CUexecAffinitySmCount_v1(CUexecAffinitySmCount_st):             # <<<<<<<<<<<<<<
 *     """
 *     Value for CU_EXEC_AFFINITY_TYPE_SM_COUNT
 */
struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_v1 {
  struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st __pyx_base;
};


/* "cuda/cuda.pxd":4470
 *     pass
 * 
 * cdef class CUexecAffinitySmCount(CUexecAffinitySmCount_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Value for CU_EXEC_AFFINITY_TYPE_SM_COUNT
 */
struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount {
  struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_v1 __pyx_base;
};


/* "cuda/cuda.pxd":4487
 *     pass
 * 
 * cdef class CUexecAffinityParam_v1(CUexecAffinityParam_st):             # <<<<<<<<<<<<<<
 *     """
 *     Execution Affinity Parameters
 */
struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_v1 {
  struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st __pyx_base;
};


/* "cuda/cuda.pxd":4506
 *     pass
 * 
 * cdef class CUexecAffinityParam(CUexecAffinityParam_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Execution Affinity Parameters
 */
struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam {
  struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_v1 __pyx_base;
};


/* "cuda/cuda.pxd":4525
 *     pass
 * 
 * cdef class CUlibraryHostUniversalFunctionAndDataTable(CUlibraryHostUniversalFunctionAndDataTable_st):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable {
  struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st __pyx_base;
};


/* "cuda/cuda.pxd":4546
 *     pass
 * 
 * cdef class CUDA_MEMCPY2D_v2(CUDA_MEMCPY2D_st):             # <<<<<<<<<<<<<<
 *     """
 *     2D memory copy parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_v2 {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st __pyx_base;
};


/* "cuda/cuda.pxd":4593
 *     pass
 * 
 * cdef class CUDA_MEMCPY2D(CUDA_MEMCPY2D_v2):             # <<<<<<<<<<<<<<
 *     """
 *     2D memory copy parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_v2 __pyx_base;
};


/* "cuda/cuda.pxd":4640
 *     pass
 * 
 * cdef class CUDA_MEMCPY3D_v2(CUDA_MEMCPY3D_st):             # <<<<<<<<<<<<<<
 *     """
 *     3D memory copy parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_v2 {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st __pyx_base;
};


/* "cuda/cuda.pxd":4706
 *     pass
 * 
 * cdef class CUDA_MEMCPY3D(CUDA_MEMCPY3D_v2):             # <<<<<<<<<<<<<<
 *     """
 *     3D memory copy parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_v2 __pyx_base;
};


/* "cuda/cuda.pxd":4772
 *     pass
 * 
 * cdef class CUDA_MEMCPY3D_PEER_v1(CUDA_MEMCPY3D_PEER_st):             # <<<<<<<<<<<<<<
 *     """
 *     3D memory cross-context copy parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st __pyx_base;
};


/* "cuda/cuda.pxd":4839
 *     pass
 * 
 * cdef class CUDA_MEMCPY3D_PEER(CUDA_MEMCPY3D_PEER_v1):             # <<<<<<<<<<<<<<
 *     """
 *     3D memory cross-context copy parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1 __pyx_base;
};


/* "cuda/cuda.pxd":4906
 *     pass
 * 
 * cdef class CUDA_MEMCPY_NODE_PARAMS(CUDA_MEMCPY_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memcpy node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":4929
 *     pass
 * 
 * cdef class CUDA_ARRAY_DESCRIPTOR_v2(CUDA_ARRAY_DESCRIPTOR_st):             # <<<<<<<<<<<<<<
 *     """
 *     Array descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2 {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st __pyx_base;
};


/* "cuda/cuda.pxd":4952
 *     pass
 * 
 * cdef class CUDA_ARRAY_DESCRIPTOR(CUDA_ARRAY_DESCRIPTOR_v2):             # <<<<<<<<<<<<<<
 *     """
 *     Array descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2 __pyx_base;
};


/* "cuda/cuda.pxd":4975
 *     pass
 * 
 * cdef class CUDA_ARRAY3D_DESCRIPTOR_v2(CUDA_ARRAY3D_DESCRIPTOR_st):             # <<<<<<<<<<<<<<
 *     """
 *     3D array descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2 {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st __pyx_base;
};


/* "cuda/cuda.pxd":5002
 *     pass
 * 
 * cdef class CUDA_ARRAY3D_DESCRIPTOR(CUDA_ARRAY3D_DESCRIPTOR_v2):             # <<<<<<<<<<<<<<
 *     """
 *     3D array descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2 __pyx_base;
};


/* "cuda/cuda.pxd":5029
 *     pass
 * 
 * cdef class CUDA_ARRAY_SPARSE_PROPERTIES_v1(CUDA_ARRAY_SPARSE_PROPERTIES_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA array sparse properties
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st __pyx_base;
};


/* "cuda/cuda.pxd":5055
 *     pass
 * 
 * cdef class CUDA_ARRAY_SPARSE_PROPERTIES(CUDA_ARRAY_SPARSE_PROPERTIES_v1):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA array sparse properties
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1 __pyx_base;
};


/* "cuda/cuda.pxd":5081
 *     pass
 * 
 * cdef class CUDA_ARRAY_MEMORY_REQUIREMENTS_v1(CUDA_ARRAY_MEMORY_REQUIREMENTS_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA array memory requirements
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st __pyx_base;
};


/* "cuda/cuda.pxd":5102
 *     pass
 * 
 * cdef class CUDA_ARRAY_MEMORY_REQUIREMENTS(CUDA_ARRAY_MEMORY_REQUIREMENTS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA array memory requirements
 */
struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 __pyx_base;
};


/* "cuda/cuda.pxd":5123
 *     pass
 * 
 * cdef class CUDA_RESOURCE_DESC_v1(CUDA_RESOURCE_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Resource descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st __pyx_base;
};


/* "cuda/cuda.pxd":5144
 *     pass
 * 
 * cdef class CUDA_RESOURCE_DESC(CUDA_RESOURCE_DESC_v1):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Resource descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC {
  struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_v1 __pyx_base;
};


/* "cuda/cuda.pxd":5165
 *     pass
 * 
 * cdef class CUDA_TEXTURE_DESC_v1(CUDA_TEXTURE_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     Texture descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st __pyx_base;
};


/* "cuda/cuda.pxd":5200
 *     pass
 * 
 * cdef class CUDA_TEXTURE_DESC(CUDA_TEXTURE_DESC_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Texture descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC {
  struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_v1 __pyx_base;
};


/* "cuda/cuda.pxd":5235
 *     pass
 * 
 * cdef class CUDA_RESOURCE_VIEW_DESC_v1(CUDA_RESOURCE_VIEW_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     Resource view descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st __pyx_base;
};


/* "cuda/cuda.pxd":5268
 *     pass
 * 
 * cdef class CUDA_RESOURCE_VIEW_DESC(CUDA_RESOURCE_VIEW_DESC_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Resource view descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC {
  struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1 __pyx_base;
};


/* "cuda/cuda.pxd":5301
 *     pass
 * 
 * cdef class CUtensorMap(CUtensorMap_st):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map descriptor. Requires compiler support for aligning to 64
 */
struct __pyx_obj_4cuda_4cuda_CUtensorMap {
  struct __pyx_obj_4cuda_4cuda_CUtensorMap_st __pyx_base;
};


/* "cuda/cuda.pxd":5319
 *     pass
 * 
 * cdef class CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1(CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st):             # <<<<<<<<<<<<<<
 *     """
 *     GPU Direct v3 tokens
 */
struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st __pyx_base;
};


/* "cuda/cuda.pxd":5338
 *     pass
 * 
 * cdef class CUDA_POINTER_ATTRIBUTE_P2P_TOKENS(CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     GPU Direct v3 tokens
 */
struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS {
  struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 __pyx_base;
};


/* "cuda/cuda.pxd":5357
 *     pass
 * 
 * cdef class CUDA_LAUNCH_PARAMS_v1(CUDA_LAUNCH_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Kernel launch parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":5392
 *     pass
 * 
 * cdef class CUDA_LAUNCH_PARAMS(CUDA_LAUNCH_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Kernel launch parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1 __pyx_base;
};


/* "cuda/cuda.pxd":5427
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1(CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     External memory handle descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st __pyx_base;
};


/* "cuda/cuda.pxd":5452
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_HANDLE_DESC(CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1):             # <<<<<<<<<<<<<<
 *     """
 *     External memory handle descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 __pyx_base;
};


/* "cuda/cuda.pxd":5477
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1(CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     External memory buffer descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st __pyx_base;
};


/* "cuda/cuda.pxd":5500
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_BUFFER_DESC(CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1):             # <<<<<<<<<<<<<<
 *     """
 *     External memory buffer descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 __pyx_base;
};


/* "cuda/cuda.pxd":5523
 *     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_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st __pyx_base;
};


/* "cuda/cuda.pxd":5547
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC(CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1):             # <<<<<<<<<<<<<<
 *     """
 *     External memory mipmap descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 __pyx_base;
};


/* "cuda/cuda.pxd":5571
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1(CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore handle descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st __pyx_base;
};


/* "cuda/cuda.pxd":5594
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC(CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore handle descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 __pyx_base;
};


/* "cuda/cuda.pxd":5617
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore signal parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":5645
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore signal parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 __pyx_base;
};


/* "cuda/cuda.pxd":5673
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore wait parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":5701
 *     pass
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore wait parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 __pyx_base;
};


/* "cuda/cuda.pxd":5729
 *     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_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":5751
 *     pass
 * 
 * cdef class CUDA_EXT_SEM_SIGNAL_NODE_PARAMS(CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Semaphore signal node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 __pyx_base;
};


/* "cuda/cuda.pxd":5773
 *     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_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st __pyx_base;
};


/* "cuda/cuda.pxd":5795
 *     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_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":5817
 *     pass
 * 
 * cdef class CUDA_EXT_SEM_WAIT_NODE_PARAMS(CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Semaphore wait node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 __pyx_base;
};


/* "cuda/cuda.pxd":5839
 *     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_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st __pyx_base;
};


/* "cuda/cuda.pxd":5861
 *     pass
 * 
 * cdef class CUmemGenericAllocationHandle:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle {
  PyObject_HEAD
  CUmemGenericAllocationHandle _CUmemGenericAllocationHandle__val;
  CUmemGenericAllocationHandle *_ptr;
};


/* "cuda/cuda.pxd":5873
 *     cdef ccuda.CUmemGenericAllocationHandle* _ptr
 * 
 * cdef class CUarrayMapInfo_v1(CUarrayMapInfo_st):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the CUDA array or CUDA mipmapped array memory mapping
 */
struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_v1 {
  struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st __pyx_base;
};


/* "cuda/cuda.pxd":5911
 *     pass
 * 
 * cdef class CUarrayMapInfo(CUarrayMapInfo_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the CUDA array or CUDA mipmapped array memory mapping
 */
struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo {
  struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_v1 __pyx_base;
};


/* "cuda/cuda.pxd":5949
 *     pass
 * 
 * cdef class CUmemLocation_v1(CUmemLocation_st):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies a memory location.
 */
struct __pyx_obj_4cuda_4cuda_CUmemLocation_v1 {
  struct __pyx_obj_4cuda_4cuda_CUmemLocation_st __pyx_base;
};


/* "cuda/cuda.pxd":5968
 *     pass
 * 
 * cdef class CUmemLocation(CUmemLocation_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies a memory location.
 */
struct __pyx_obj_4cuda_4cuda_CUmemLocation {
  struct __pyx_obj_4cuda_4cuda_CUmemLocation_v1 __pyx_base;
};


/* "cuda/cuda.pxd":5987
 *     pass
 * 
 * cdef class CUmemAllocationProp_v1(CUmemAllocationProp_st):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the allocation properties for a allocation.
 */
struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_v1 {
  struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st __pyx_base;
};


/* "cuda/cuda.pxd":6016
 *     pass
 * 
 * cdef class CUmemAllocationProp(CUmemAllocationProp_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the allocation properties for a allocation.
 */
struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp {
  struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_v1 __pyx_base;
};


/* "cuda/cuda.pxd":6045
 *     pass
 * 
 * cdef class CUmulticastObjectProp_v1(CUmulticastObjectProp_st):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the properties for a multicast object.
 */
struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_v1 {
  struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st __pyx_base;
};


/* "cuda/cuda.pxd":6071
 *     pass
 * 
 * cdef class CUmulticastObjectProp(CUmulticastObjectProp_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the properties for a multicast object.
 */
struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp {
  struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_v1 __pyx_base;
};


/* "cuda/cuda.pxd":6097
 *     pass
 * 
 * cdef class CUmemAccessDesc_v1(CUmemAccessDesc_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memory access descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_v1 {
  struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st __pyx_base;
};


/* "cuda/cuda.pxd":6116
 *     pass
 * 
 * cdef class CUmemAccessDesc(CUmemAccessDesc_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Memory access descriptor
 */
struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc {
  struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_v1 __pyx_base;
};


/* "cuda/cuda.pxd":6135
 *     pass
 * 
 * cdef class CUgraphExecUpdateResultInfo_v1(CUgraphExecUpdateResultInfo_st):             # <<<<<<<<<<<<<<
 *     """
 *     Result information returned by cuGraphExecUpdate
 */
struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1 {
  struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st __pyx_base;
};


/* "cuda/cuda.pxd":6159
 *     pass
 * 
 * cdef class CUgraphExecUpdateResultInfo(CUgraphExecUpdateResultInfo_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Result information returned by cuGraphExecUpdate
 */
struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo {
  struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1 __pyx_base;
};


/* "cuda/cuda.pxd":6183
 *     pass
 * 
 * cdef class CUmemPoolProps_v1(CUmemPoolProps_st):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the properties of allocations made from the pool.
 */
struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_v1 {
  struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st __pyx_base;
};


/* "cuda/cuda.pxd":6216
 *     pass
 * 
 * cdef class CUmemPoolProps(CUmemPoolProps_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the properties of allocations made from the pool.
 */
struct __pyx_obj_4cuda_4cuda_CUmemPoolProps {
  struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_v1 __pyx_base;
};


/* "cuda/cuda.pxd":6249
 *     pass
 * 
 * cdef class CUmemPoolPtrExportData_v1(CUmemPoolPtrExportData_st):             # <<<<<<<<<<<<<<
 *     """
 *     Opaque data for exporting a pool allocation
 */
struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_v1 {
  struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st __pyx_base;
};


/* "cuda/cuda.pxd":6266
 *     pass
 * 
 * cdef class CUmemPoolPtrExportData(CUmemPoolPtrExportData_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Opaque data for exporting a pool allocation
 */
struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData {
  struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_v1 __pyx_base;
};


/* "cuda/cuda.pxd":6283
 *     pass
 * 
 * cdef class CUDA_MEM_ALLOC_NODE_PARAMS_v1(CUDA_MEM_ALLOC_NODE_PARAMS_v1_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memory allocation node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1 {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st __pyx_base;
};


/* "cuda/cuda.pxd":6312
 *     pass
 * 
 * cdef class CUDA_MEM_ALLOC_NODE_PARAMS(CUDA_MEM_ALLOC_NODE_PARAMS_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Memory allocation node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1 __pyx_base;
};


/* "cuda/cuda.pxd":6341
 *     pass
 * 
 * cdef class CUDA_MEM_ALLOC_NODE_PARAMS_v2(CUDA_MEM_ALLOC_NODE_PARAMS_v2_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memory allocation node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2 {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st __pyx_base;
};


/* "cuda/cuda.pxd":6370
 *     pass
 * 
 * cdef class CUDA_MEM_FREE_NODE_PARAMS(CUDA_MEM_FREE_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Memory free node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":6387
 *     pass
 * 
 * cdef class CUDA_CHILD_GRAPH_NODE_PARAMS(CUDA_CHILD_GRAPH_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Child graph node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":6405
 *     pass
 * 
 * cdef class CUDA_EVENT_RECORD_NODE_PARAMS(CUDA_EVENT_RECORD_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Event record node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":6422
 *     pass
 * 
 * cdef class CUDA_EVENT_WAIT_NODE_PARAMS(CUDA_EVENT_WAIT_NODE_PARAMS_st):             # <<<<<<<<<<<<<<
 *     """
 *     Event wait node parameters
 */
struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS {
  struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st __pyx_base;
};


/* "cuda/cuda.pxd":6439
 *     pass
 * 
 * cdef class CUgraphNodeParams(CUgraphNodeParams_st):             # <<<<<<<<<<<<<<
 *     """
 *     Graph node parameters. See cuGraphAddNode.
 */
struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams {
  struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st __pyx_base;
};


/* "cuda/cuda.pxd":6488
 *     pass
 * 
 * cdef class CUdevSmResource(CUdevSmResource_st):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_CUdevSmResource {
  struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st __pyx_base;
};


/* "cuda/cuda.pxd":6504
 *     pass
 * 
 * cdef class CUdevResource_v1(CUdevResource_st):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_CUdevResource_v1 {
  struct __pyx_obj_4cuda_4cuda_CUdevResource_st __pyx_base;
};


/* "cuda/cuda.pxd":6525
 *     pass
 * 
 * cdef class CUdevResource(CUdevResource_v1):             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
 */
struct __pyx_obj_4cuda_4cuda_CUdevResource {
  struct __pyx_obj_4cuda_4cuda_CUdevResource_v1 __pyx_base;
};


/* "cuda/cuda.pxd":6546
 *     pass
 * 
 * cdef class CUeglFrame_v1(CUeglFrame_st):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EGLFrame structure Descriptor - structure defining one frame
 */
struct __pyx_obj_4cuda_4cuda_CUeglFrame_v1 {
  struct __pyx_obj_4cuda_4cuda_CUeglFrame_st __pyx_base;
};


/* "cuda/cuda.pxd":6583
 *     pass
 * 
 * cdef class CUeglFrame(CUeglFrame_v1):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EGLFrame structure Descriptor - structure defining one frame
 */
struct __pyx_obj_4cuda_4cuda_CUeglFrame {
  struct __pyx_obj_4cuda_4cuda_CUeglFrame_v1 __pyx_base;
};


/* "cuda/cuda.pxd":6620
 *     pass
 * 
 * cdef class cuuint32_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_cuuint32_t {
  PyObject_HEAD
  cuuint32_t _cuuint32_t__val;
  cuuint32_t *_ptr;
};


/* "cuda/cuda.pxd":6632
 *     cdef ccuda.cuuint32_t* _ptr
 * 
 * cdef class cuuint64_t:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_cuuint64_t {
  PyObject_HEAD
  cuuint64_t _cuuint64_t__val;
  cuuint64_t *_ptr;
};


/* "cuda/cuda.pxd":6644
 *     cdef ccuda.cuuint64_t* _ptr
 * 
 * cdef class CUdeviceptr_v2:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 {
  PyObject_HEAD
  CUdeviceptr_v2 _CUdeviceptr_v2__val;
  CUdeviceptr_v2 *_ptr;
};


/* "cuda/cuda.pxd":6658
 *     cdef ccuda.CUdeviceptr_v2* _ptr
 * 
 * cdef class CUdevice_v1:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUdevice_v1 {
  PyObject_HEAD
  CUdevice_v1 _CUdevice_v1__val;
  CUdevice_v1 *_ptr;
};


/* "cuda/cuda.pxd":6672
 *     cdef ccuda.CUdevice_v1* _ptr
 * 
 * cdef class CUtexObject_v1:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 {
  PyObject_HEAD
  CUtexObject_v1 _CUtexObject_v1__val;
  CUtexObject_v1 *_ptr;
};


/* "cuda/cuda.pxd":6686
 *     cdef ccuda.CUtexObject_v1* _ptr
 * 
 * cdef class CUsurfObject_v1:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 {
  PyObject_HEAD
  CUsurfObject_v1 _CUsurfObject_v1__val;
  CUsurfObject_v1 *_ptr;
};


/* "cuda/cuda.pxd":6700
 *     cdef ccuda.CUsurfObject_v1* _ptr
 * 
 * cdef class CUmemGenericAllocationHandle_v1:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 {
  PyObject_HEAD
  CUmemGenericAllocationHandle_v1 _CUmemGenericAllocationHandle_v1__val;
  CUmemGenericAllocationHandle_v1 *_ptr;
};


/* "cuda/cuda.pxd":6712
 *     cdef ccuda.CUmemGenericAllocationHandle_v1* _ptr
 * 
 * cdef class GLenum:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_GLenum {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_GLenum _GLenum__val;
  __pyx_t_4cuda_5ccuda_GLenum *_ptr;
};


/* "cuda/cuda.pxd":6724
 *     cdef ccuda.GLenum* _ptr
 * 
 * cdef class GLuint:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_GLuint {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_GLuint _GLuint__val;
  __pyx_t_4cuda_5ccuda_GLuint *_ptr;
};


/* "cuda/cuda.pxd":6736
 *     cdef ccuda.GLuint* _ptr
 * 
 * cdef class EGLint:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_EGLint {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_EGLint _EGLint__val;
  __pyx_t_4cuda_5ccuda_EGLint *_ptr;
};


/* "cuda/cuda.pxd":6748
 *     cdef ccuda.EGLint* _ptr
 * 
 * cdef class VdpDevice:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_VdpDevice {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_VdpDevice _VdpDevice__val;
  __pyx_t_4cuda_5ccuda_VdpDevice *_ptr;
};


/* "cuda/cuda.pxd":6760
 *     cdef ccuda.VdpDevice* _ptr
 * 
 * cdef class VdpGetProcAddress:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_VdpGetProcAddress _VdpGetProcAddress__val;
  __pyx_t_4cuda_5ccuda_VdpGetProcAddress *_ptr;
};


/* "cuda/cuda.pxd":6772
 *     cdef ccuda.VdpGetProcAddress* _ptr
 * 
 * cdef class VdpVideoSurface:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_VdpVideoSurface {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_VdpVideoSurface _VdpVideoSurface__val;
  __pyx_t_4cuda_5ccuda_VdpVideoSurface *_ptr;
};


/* "cuda/cuda.pxd":6784
 *     cdef ccuda.VdpVideoSurface* _ptr
 * 
 * cdef class VdpOutputSurface:             # <<<<<<<<<<<<<<
 *     """
 * 
 */
struct __pyx_obj_4cuda_4cuda_VdpOutputSurface {
  PyObject_HEAD
  __pyx_t_4cuda_5ccuda_VdpOutputSurface _VdpOutputSurface__val;
  __pyx_t_4cuda_5ccuda_VdpOutputSurface *_ptr;
};


/* "cuda/cuda.pyx":17397
 *         cdev = <ccuda.CUdevice>pdev
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUexecAffinityParam,)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.CUexecAffinityParam,]")
 *     cdef CUcontext pctx = CUcontext()
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct__genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":18364
 *     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 List[ccuda.CUjit_option]")
 *     cdef CUmodule module = CUmodule()
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_1_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":18687
 *     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 List[ccuda.CUjit_option]")
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_2_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":18749
 *     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 List[ccuda.CUjit_option]")
 *     cdef ccuda.CUlinkState cstate
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_3_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":18817
 *     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 List[ccuda.CUjit_option]")
 *     cdef ccuda.CUlinkState cstate
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_4_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":19058
 *     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 List[ccuda.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_5_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":19062
 *     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 List[ccuda.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_6_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":19144
 *     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 List[ccuda.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_7_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":19148
 *     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 List[ccuda.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_8_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":24501
 *         chStream = <ccuda.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 List[ccuda.CUarrayMapInfo,]")
 *     cdef ccuda.CUarrayMapInfo* cmapInfoList = NULL
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_9_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":24605
 *     """
 *     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 List[ccuda.CUmemAccessDesc,]")
 *     cdef ccuda.CUdeviceptr cptr
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_10_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":25177
 *     """
 *     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 List[ccuda.CUmemAccessDesc,]")
 *     cdef ccuda.CUmemoryPool cpool
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_11_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":26943
 *         cdevPtr = <ccuda.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 List[ccuda.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_12_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":26945
 *     if not all(isinstance(_x, (CUmem_range_attribute)) for _x in attributes):
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccuda.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 *     pylist = [utils.HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_13_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":27087
 *         cptr = <ccuda.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 List[ccuda.CUpointer_attribute]")
 *     if numAttributes > len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_14_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":27625
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_15_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":27628
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_16_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":28062
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUstream chStream
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_17_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":28131
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_18_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":28134
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUstream chStream
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_19_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":29435
 *         cstream = <ccuda.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 List[ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_20_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":29438
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.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 List[ccuda.CUexternalSemaphore,]")
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_21_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":29558
 *         cstream = <ccuda.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 List[ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_22_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":29561
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.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 List[ccuda.CUexternalSemaphore,]")
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_23_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":29933
 *     """
 *     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 List[ccuda.CUstreamBatchMemOpParams,]")
 *     cdef ccuda.CUstream cstream
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_24_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":31037
 *     """
 *     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 List[ccuda.CUDA_LAUNCH_PARAMS,]")
 *     cdef ccuda.CUDA_LAUNCH_PARAMS* claunchParamsList = NULL
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_25_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":31778
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_26_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":31942
 *         cctx = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_27_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":32087
 *         cctx = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_28_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":32221
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_29_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":32367
 *         cchildGraph = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_30_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":32471
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_31_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":32543
 *         cevent = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_32_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":32695
 *         cevent = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_33_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":32837
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_34_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":32979
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_35_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":33124
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_36_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":33375
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_37_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":33503
 *         cdptr = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_38_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":34375
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_39_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":34378
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_40_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":34447
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     to = [] if to is None else to
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_41_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":34450
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_42_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":34453
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_43_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":34532
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_44_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":34535
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_45_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":34610
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     to = [] if to is None else to
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_46_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":34613
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_47_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":34616
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_48_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":36471
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_49_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":36547
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_50_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":36550
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_51_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":39050
 *     """
 *     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 List[ccuda.cuuint32_t,]")
 *     boxDim = [] if boxDim is None else boxDim
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_52_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":39053
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint32_t,]")
 *     globalStrides = [] if globalStrides is None else globalStrides
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_53_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":39056
 *         raise TypeError("Argument 'boxDim' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_54_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":39059
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 *     cdef ccuda.cuuint32_t ctensorRank
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_55_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":39310
 *     """
 *     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 List[ccuda.cuuint32_t,]")
 *     cdef ccuda.cuuint32_t cpixelsPerColumn
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_56_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":39331
 *         cchannelsPerPixel = <ccuda.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 List[ccuda.int]")
 *     pixelBoxLowerCorner = [] if pixelBoxLowerCorner is None else pixelBoxLowerCorner
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_57_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":39334
 *         raise TypeError("Argument 'pixelBoxUpperCorner' is not instance of type (expected List[ccuda.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 List[ccuda.int]")
 *     globalStrides = [] if globalStrides is None else globalStrides
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_58_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":39337
 *         raise TypeError("Argument 'pixelBoxLowerCorner' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_59_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":39340
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 *     cdef ccuda.cuuint32_t ctensorRank
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_60_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v__x;
};


/* "cuda/cuda.pyx":40836
 *     """
 *     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 List[ccuda.CUdevResource,]")
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()
 */
struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_61_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;
#ifdef WITH_THREAD
  #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);\
          }
#else
  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__))
  #define __Pyx_RefNannyFinishContextNogil() __Pyx_RefNannyFinishContext()
#endif
  #define __Pyx_RefNannyFinishContextNogil() {\
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
              __Pyx_RefNannyFinishContext();\
              PyGILState_Release(__pyx_gilstate_save);\
          }
  #define __Pyx_RefNannyFinishContext()\
          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_XINCREF(r)  do { if((r) == NULL); else {__Pyx_INCREF(r); }} while(0)
  #define __Pyx_XDECREF(r)  do { if((r) == NULL); else {__Pyx_DECREF(r); }} while(0)
  #define __Pyx_XGOTREF(r)  do { if((r) == NULL); else {__Pyx_GOTREF(r); }} while(0)
  #define __Pyx_XGIVEREF(r) do { if((r) == NULL); else {__Pyx_GIVEREF(r);}} while(0)
#else
  #define __Pyx_RefNannyDeclarations
  #define __Pyx_RefNannySetupContext(name, acquire_gil)
  #define __Pyx_RefNannyFinishContextNogil()
  #define __Pyx_RefNannyFinishContext()
  #define __Pyx_INCREF(r) Py_INCREF(r)
  #define __Pyx_DECREF(r) Py_DECREF(r)
  #define __Pyx_GOTREF(r)
  #define __Pyx_GIVEREF(r)
  #define __Pyx_XINCREF(r) Py_XINCREF(r)
  #define __Pyx_XDECREF(r) Py_XDECREF(r)
  #define __Pyx_XGOTREF(r)
  #define __Pyx_XGIVEREF(r)
#endif
#define __Pyx_Py_XDECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; Py_XDECREF(tmp);\
    } while (0)
#define __Pyx_XDECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; __Pyx_XDECREF(tmp);\
    } while (0)
#define __Pyx_DECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; __Pyx_DECREF(tmp);\
    } while (0)
#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)

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

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

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

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

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

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

/* Profile.proto */
#ifndef CYTHON_PROFILE
#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
  #define CYTHON_PROFILE 0
#else
  #define CYTHON_PROFILE 1
#endif
#endif
#ifndef CYTHON_TRACE_NOGIL
  #define CYTHON_TRACE_NOGIL 0
#else
  #if CYTHON_TRACE_NOGIL && !defined(CYTHON_TRACE)
    #define CYTHON_TRACE 1
  #endif
#endif
#ifndef CYTHON_TRACE
  #define CYTHON_TRACE 0
#endif
#if CYTHON_TRACE
  #undef CYTHON_PROFILE_REUSE_FRAME
#endif
#ifndef CYTHON_PROFILE_REUSE_FRAME
  #define CYTHON_PROFILE_REUSE_FRAME 0
#endif
#if CYTHON_PROFILE || CYTHON_TRACE
  #include "compile.h"
  #include "frameobject.h"
  #include "traceback.h"
#if PY_VERSION_HEX >= 0x030b00a6
  #ifndef Py_BUILD_CORE
    #define Py_BUILD_CORE 1
  #endif
  #include "internal/pycore_frame.h"
#endif
  #if CYTHON_PROFILE_REUSE_FRAME
    #define CYTHON_FRAME_MODIFIER static
    #define CYTHON_FRAME_DEL(frame)
  #else
    #define CYTHON_FRAME_MODIFIER
    #define CYTHON_FRAME_DEL(frame) Py_CLEAR(frame)
  #endif
  #define __Pyx_TraceDeclarations\
      static PyCodeObject *__pyx_frame_code = NULL;\
      CYTHON_FRAME_MODIFIER PyFrameObject *__pyx_frame = NULL;\
      int __Pyx_use_tracing = 0;
  #define __Pyx_TraceFrameInit(codeobj)\
      if (codeobj) __pyx_frame_code = (PyCodeObject*) codeobj;
#if PY_VERSION_HEX >= 0x030b00a2
  #if PY_VERSION_HEX >= 0x030C00b1
  #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\
     ((!(check_tracing) || !(tstate)->tracing) &&\
         (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc)))
  #else
  #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\
     (unlikely((tstate)->cframe->use_tracing) &&\
         (!(check_tracing) || !(tstate)->tracing) &&\
         (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc)))
  #endif
  #define __Pyx_EnterTracing(tstate)  PyThreadState_EnterTracing(tstate)
  #define __Pyx_LeaveTracing(tstate)  PyThreadState_LeaveTracing(tstate)
#elif PY_VERSION_HEX >= 0x030a00b1
  #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\
     (unlikely((tstate)->cframe->use_tracing) &&\
         (!(check_tracing) || !(tstate)->tracing) &&\
         (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc)))
  #define __Pyx_EnterTracing(tstate)\
      do { tstate->tracing++; tstate->cframe->use_tracing = 0; } while (0)
  #define __Pyx_LeaveTracing(tstate)\
      do {\
          tstate->tracing--;\
          tstate->cframe->use_tracing = ((CYTHON_TRACE && tstate->c_tracefunc != NULL)\
                                 || tstate->c_profilefunc != NULL);\
      } while (0)
#else
  #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\
     (unlikely((tstate)->use_tracing) &&\
         (!(check_tracing) || !(tstate)->tracing) &&\
         (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc)))
  #define __Pyx_EnterTracing(tstate)\
      do { tstate->tracing++; tstate->use_tracing = 0; } while (0)
  #define __Pyx_LeaveTracing(tstate)\
      do {\
          tstate->tracing--;\
          tstate->use_tracing = ((CYTHON_TRACE && tstate->c_tracefunc != NULL)\
                                         || tstate->c_profilefunc != NULL);\
      } while (0)
#endif
  #ifdef WITH_THREAD
  #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error)\
  if (nogil) {\
      if (CYTHON_TRACE_NOGIL) {\
          PyThreadState *tstate;\
          PyGILState_STATE state = PyGILState_Ensure();\
          tstate = __Pyx_PyThreadState_Current;\
          if (__Pyx_IsTracing(tstate, 1, 1)) {\
              __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\
          }\
          PyGILState_Release(state);\
          if (unlikely(__Pyx_use_tracing < 0)) goto_error;\
      }\
  } else {\
      PyThreadState* tstate = PyThreadState_GET();\
      if (__Pyx_IsTracing(tstate, 1, 1)) {\
          __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\
          if (unlikely(__Pyx_use_tracing < 0)) goto_error;\
      }\
  }
  #else
  #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error)\
  {   PyThreadState* tstate = PyThreadState_GET();\
      if (__Pyx_IsTracing(tstate, 1, 1)) {\
          __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\
          if (unlikely(__Pyx_use_tracing < 0)) goto_error;\
      }\
  }
  #endif
  #define __Pyx_TraceException()\
  if (likely(!__Pyx_use_tracing)); else {\
      PyThreadState* tstate = __Pyx_PyThreadState_Current;\
      if (__Pyx_IsTracing(tstate, 0, 1)) {\
          __Pyx_EnterTracing(tstate);\
          PyObject *exc_info = __Pyx_GetExceptionTuple(tstate);\
          if (exc_info) {\
              if (CYTHON_TRACE && tstate->c_tracefunc)\
                  tstate->c_tracefunc(\
                      tstate->c_traceobj, __pyx_frame, PyTrace_EXCEPTION, exc_info);\
              tstate->c_profilefunc(\
                  tstate->c_profileobj, __pyx_frame, PyTrace_EXCEPTION, exc_info);\
              Py_DECREF(exc_info);\
          }\
          __Pyx_LeaveTracing(tstate);\
      }\
  }
  static void __Pyx_call_return_trace_func(PyThreadState *tstate, PyFrameObject *frame, PyObject *result) {
      PyObject *type, *value, *traceback;
      __Pyx_ErrFetchInState(tstate, &type, &value, &traceback);
      __Pyx_EnterTracing(tstate);
      if (CYTHON_TRACE && tstate->c_tracefunc)
          tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_RETURN, result);
      if (tstate->c_profilefunc)
          tstate->c_profilefunc(tstate->c_profileobj, frame, PyTrace_RETURN, result);
      CYTHON_FRAME_DEL(frame);
      __Pyx_LeaveTracing(tstate);
      __Pyx_ErrRestoreInState(tstate, type, value, traceback);
  }
  #ifdef WITH_THREAD
  #define __Pyx_TraceReturn(result, nogil)\
  if (likely(!__Pyx_use_tracing)); else {\
      if (nogil) {\
          if (CYTHON_TRACE_NOGIL) {\
              PyThreadState *tstate;\
              PyGILState_STATE state = PyGILState_Ensure();\
              tstate = __Pyx_PyThreadState_Current;\
              if (__Pyx_IsTracing(tstate, 0, 0)) {\
                  __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\
              }\
              PyGILState_Release(state);\
          }\
      } else {\
          PyThreadState* tstate = __Pyx_PyThreadState_Current;\
          if (__Pyx_IsTracing(tstate, 0, 0)) {\
              __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\
          }\
      }\
  }
  #else
  #define __Pyx_TraceReturn(result, nogil)\
  if (likely(!__Pyx_use_tracing)); else {\
      PyThreadState* tstate = __Pyx_PyThreadState_Current;\
      if (__Pyx_IsTracing(tstate, 0, 0)) {\
          __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\
      }\
  }
  #endif
  static PyCodeObject *__Pyx_createFrameCodeObject(const char *funcname, const char *srcfile, int firstlineno);
  static int __Pyx_TraceSetupAndCall(PyCodeObject** code, PyFrameObject** frame, PyThreadState* tstate, const char *funcname, const char *srcfile, int firstlineno);
#else
  #define __Pyx_TraceDeclarations
  #define __Pyx_TraceFrameInit(codeobj)
  #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error)   if ((1)); else goto_error;
  #define __Pyx_TraceException()
  #define __Pyx_TraceReturn(result, nogil)
#endif
#if CYTHON_TRACE
  static int __Pyx_call_line_trace_func(PyThreadState *tstate, PyFrameObject *frame, int lineno) {
      int ret;
      PyObject *type, *value, *traceback;
      __Pyx_ErrFetchInState(tstate, &type, &value, &traceback);
      __Pyx_PyFrame_SetLineNumber(frame, lineno);
      __Pyx_EnterTracing(tstate);
      ret = tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_LINE, NULL);
      __Pyx_LeaveTracing(tstate);
      if (likely(!ret)) {
          __Pyx_ErrRestoreInState(tstate, type, value, traceback);
      } else {
          Py_XDECREF(type);
          Py_XDECREF(value);
          Py_XDECREF(traceback);
      }
      return ret;
  }
  #ifdef WITH_THREAD
  #define __Pyx_TraceLine(lineno, nogil, goto_error)\
  if (likely(!__Pyx_use_tracing)); else {\
      if (nogil) {\
          if (CYTHON_TRACE_NOGIL) {\
              int ret = 0;\
              PyThreadState *tstate;\
              PyGILState_STATE state = __Pyx_PyGILState_Ensure();\
              tstate = __Pyx_PyThreadState_Current;\
              if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\
                  ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\
              }\
              __Pyx_PyGILState_Release(state);\
              if (unlikely(ret)) goto_error;\
          }\
      } else {\
          PyThreadState* tstate = __Pyx_PyThreadState_Current;\
          if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\
              int ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\
              if (unlikely(ret)) goto_error;\
          }\
      }\
  }
  #else
  #define __Pyx_TraceLine(lineno, nogil, goto_error)\
  if (likely(!__Pyx_use_tracing)); else {\
      PyThreadState* tstate = __Pyx_PyThreadState_Current;\
      if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\
          int ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\
          if (unlikely(ret)) goto_error;\
      }\
  }
  #endif
#else
  #define __Pyx_TraceLine(lineno, nogil, goto_error)   if ((1)); else goto_error;
#endif

/* GetTopmostException.proto */
#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE
static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
#endif

/* SaveResetException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_ExceptionSave(type, value, tb)  __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#define __Pyx_ExceptionReset(type, value, tb)  __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
#else
#define __Pyx_ExceptionSave(type, value, tb)   PyErr_GetExcInfo(type, value, tb)
#define __Pyx_ExceptionReset(type, value, tb)  PyErr_SetExcInfo(type, value, tb)
#endif

/* FastTypeChecks.proto */
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
#define __Pyx_TypeCheck2(obj, type1, type2) __Pyx_IsAnySubtype2(Py_TYPE(obj), (PyTypeObject *)type1, (PyTypeObject *)type2)
static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b);
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
#else
#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
#define __Pyx_TypeCheck2(obj, type1, type2) (PyObject_TypeCheck(obj, (PyTypeObject *)type1) || PyObject_TypeCheck(obj, (PyTypeObject *)type2))
#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (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)

/* TupleAndListFromArray.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n);
static CYTHON_INLINE PyObject* __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n);
#endif

/* IncludeStringH.proto */
#include <string.h>

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

/* UnicodeEquals.proto */
static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);

/* fastcall.proto */
#if CYTHON_AVOID_BORROWED_REFS
    #define __Pyx_Arg_VARARGS(args, i) PySequence_GetItem(args, i)
#elif CYTHON_ASSUME_SAFE_MACROS
    #define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i)
#else
    #define __Pyx_Arg_VARARGS(args, i) PyTuple_GetItem(args, i)
#endif
#if CYTHON_AVOID_BORROWED_REFS
    #define __Pyx_Arg_NewRef_VARARGS(arg) __Pyx_NewRef(arg)
    #define __Pyx_Arg_XDECREF_VARARGS(arg) Py_XDECREF(arg)
#else
    #define __Pyx_Arg_NewRef_VARARGS(arg) arg // no-op
    #define __Pyx_Arg_XDECREF_VARARGS(arg) // no-op - arg is borrowed
#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_Arg_FASTCALL(args, i) args[i]
    #define __Pyx_NumKwargs_FASTCALL(kwds) 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_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues);
  #else
    #define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw)
  #endif
    #define __Pyx_Arg_NewRef_FASTCALL(arg) arg // no-op, __Pyx_Arg_FASTCALL is direct and this needs
    #define __Pyx_Arg_XDECREF_FASTCALL(arg)  // no-op - arg was returned from array
#else
    #define __Pyx_Arg_FASTCALL __Pyx_Arg_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
    #define __Pyx_Arg_NewRef_FASTCALL(arg) __Pyx_Arg_NewRef_VARARGS(arg)
    #define __Pyx_Arg_XDECREF_FASTCALL(arg) __Pyx_Arg_XDECREF_VARARGS(arg)
#endif
#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
#define __Pyx_ArgsSlice_VARARGS(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_VARARGS(args, start), stop - start)
#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_FASTCALL(args, start), stop - start)
#else
#define __Pyx_ArgsSlice_VARARGS(args, start, stop) PyTuple_GetSlice(args, start, stop)
#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) PyTuple_GetSlice(args, start, stop)
#endif

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

/* ParseKeywords.proto */
static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject *const *kwvalues,
    PyObject **argnames[],
    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,
    const char* function_name);

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

/* WriteUnraisableException.proto */
static void __Pyx_WriteUnraisable(const char *name, int clineno,
                                  int lineno, const char *filename,
                                  int full_traceback, int nogil);

/* PyObject_Str.proto */
#define __Pyx_PyObject_Str(obj)\
    (likely(PyString_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Str(obj))

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

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

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

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

/* UnicodeConcatInPlace.proto */
# if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
    #if CYTHON_REFNANNY
        #define __Pyx_PyUnicode_ConcatInPlace(left, right) __Pyx_PyUnicode_ConcatInPlaceImpl(&left, right, __pyx_refnanny)
    #else
        #define __Pyx_PyUnicode_ConcatInPlace(left, right) __Pyx_PyUnicode_ConcatInPlaceImpl(&left, right)
    #endif
    static CYTHON_INLINE PyObject *__Pyx_PyUnicode_ConcatInPlaceImpl(PyObject **p_left, PyObject *right
        #if CYTHON_REFNANNY
        , void* __pyx_refnanny
        #endif
    );
#else
#define __Pyx_PyUnicode_ConcatInPlace __Pyx_PyUnicode_Concat
#endif
#define __Pyx_PyUnicode_ConcatInPlaceSafe(left, right) ((unlikely((left) == Py_None) || unlikely((right) == Py_None)) ?\
    PyNumber_InPlaceAdd(left, right) : __Pyx_PyUnicode_ConcatInPlace(left, right))

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

/* RaiseException.proto */
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);

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

/* GetException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_GetException(type, value, tb)  __Pyx__GetException(__pyx_tstate, type, value, tb)
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#else
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
#endif

/* PyIntBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\
    (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2))
#endif

/* PyIntBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyInt_SubtractObjC(op1, op2, intval, inplace, zerodivision_check)\
    (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2))
#endif

/* PyDictVersioning.proto */
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
#define __PYX_DICT_VERSION_INIT  ((PY_UINT64_T) -1)
#define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
    (version_var) = __PYX_GET_DICT_VERSION(dict);\
    (cache_var) = (value);
#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
    static PY_UINT64_T __pyx_dict_version = 0;\
    static PyObject *__pyx_dict_cached_value = NULL;\
    if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
        (VAR) = __pyx_dict_cached_value;\
    } else {\
        (VAR) = __pyx_dict_cached_value = (LOOKUP);\
        __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
    }\
}
static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
#else
#define __PYX_GET_DICT_VERSION(dict)  (0)
#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP)  (VAR) = (LOOKUP);
#endif

/* GetModuleGlobalName.proto */
#if CYTHON_USE_DICT_VERSIONS
#define __Pyx_GetModuleGlobalName(var, name)  do {\
    static PY_UINT64_T __pyx_dict_version = 0;\
    static PyObject *__pyx_dict_cached_value = NULL;\
    (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_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

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

/* ArgTypeTest.proto */
#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
    ((likely(__Pyx_IS_TYPE(obj, type) | (none_allowed && (obj == Py_None)))) ? 1 :\
        __Pyx__ArgTypeTest(obj, type, name, exact))
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);

/* GetItemInt.proto */
#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
    (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
               __Pyx_GetItemInt_Generic(o, to_py_func(i))))
#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
    (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck);
#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
    (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck);
static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
                                                     int is_list, int wraparound, int boundscheck);

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

/* PySequenceMultiply.proto */
#define __Pyx_PySequence_Multiply_Left(mul, seq)  __Pyx_PySequence_Multiply(seq, mul)
static CYTHON_INLINE PyObject* __Pyx_PySequence_Multiply(PyObject *seq, Py_ssize_t mul);

/* RaiseUnboundLocalError.proto */
static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname);

/* pep479.proto */
static void __Pyx_Generator_Replace_StopIteration(int in_async_gen);

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

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

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

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

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

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

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

/* FixUpExtensionType.proto */
#if CYTHON_USE_TYPE_SPECS
static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type);
#endif

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

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

/* ValidateBasesTuple.proto */
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases);
#endif

/* PyType_Ready.proto */
CYTHON_UNUSED static int __Pyx_PyType_Ready(PyTypeObject *t);

/* PyObject_GenericGetAttrNoDict.proto */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
#endif

/* PyObject_GenericGetAttr.proto */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr
#endif

/* SetupReduce.proto */
#if !CYTHON_COMPILING_IN_LIMITED_API
static int __Pyx_setup_reduce(PyObject* type_obj);
#endif

/* TypeImport.proto */
#ifndef __PYX_HAVE_RT_ImportType_proto_3_0_7
#define __PYX_HAVE_RT_ImportType_proto_3_0_7
#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_0_7(s) alignof(s)
#else
#define __PYX_GET_STRUCT_ALIGNMENT_3_0_7(s) sizeof(void*)
#endif
enum __Pyx_ImportType_CheckSize_3_0_7 {
   __Pyx_ImportType_CheckSize_Error_3_0_7 = 0,
   __Pyx_ImportType_CheckSize_Warn_3_0_7 = 1,
   __Pyx_ImportType_CheckSize_Ignore_3_0_7 = 2
};
static PyTypeObject *__Pyx_ImportType_3_0_7(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_7 check_size);
#endif

/* Import.proto */
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);

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

/* ImportDottedModule.proto */
static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple);
#if PY_MAJOR_VERSION >= 3
static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple);
#endif

/* 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 >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000
#define __Pyx_SetNameInClass(ns, name, value)\
    (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
#elif CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_SetNameInClass(ns, name, value)\
    (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value))
#else
#define __Pyx_SetNameInClass(ns, name, value)  PyObject_SetItem(ns, name, value)
#endif

/* PyObjectCall2Args.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);

/* PyObjectLookupSpecial.proto */
#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
#define __Pyx_PyObject_LookupSpecialNoError(obj, attr_name)  __Pyx__PyObject_LookupSpecial(obj, attr_name, 0)
#define __Pyx_PyObject_LookupSpecial(obj, attr_name)  __Pyx__PyObject_LookupSpecial(obj, attr_name, 1)
static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error);
#else
#define __Pyx_PyObject_LookupSpecialNoError(o,n) __Pyx_PyObject_GetAttrStrNoError(o,n)
#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n)
#endif

/* Py3ClassCreate.proto */
static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
                                           PyObject *mkw, PyObject *modname, PyObject *doc);
static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
                                      PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);

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

/* FetchCommonType.proto */
#if !CYTHON_USE_TYPE_SPECS
static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
#else
static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases);
#endif

/* PyMethodNew.proto */
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
    PyObject *typesModule=NULL, *methodType=NULL, *result=NULL;
    CYTHON_UNUSED_VAR(typ);
    if (!self)
        return __Pyx_NewRef(func);
    typesModule = PyImport_ImportModule("types");
    if (!typesModule) return NULL;
    methodType = PyObject_GetAttrString(typesModule, "MethodType");
    Py_DECREF(typesModule);
    if (!methodType) return NULL;
    result = PyObject_CallFunctionObjArgs(methodType, func, self, NULL);
    Py_DECREF(methodType);
    return result;
}
#elif PY_MAJOR_VERSION >= 3
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
    CYTHON_UNUSED_VAR(typ);
    if (!self)
        return __Pyx_NewRef(func);
    return PyMethod_New(func, self);
}
#else
    #define __Pyx_PyMethod_New PyMethod_New
#endif

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

/* CythonFunctionShared.proto */
#define __Pyx_CyFunction_USED
#define __Pyx_CYFUNCTION_STATICMETHOD  0x01
#define __Pyx_CYFUNCTION_CLASSMETHOD   0x02
#define __Pyx_CYFUNCTION_CCLASS        0x04
#define __Pyx_CYFUNCTION_COROUTINE     0x08
#define __Pyx_CyFunction_GetClosure(f)\
    (((__pyx_CyFunctionObject *) (f))->func_closure)
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_CyFunction_GetClassObj(f)\
      (((__pyx_CyFunctionObject *) (f))->func_classobj)
#else
  #define __Pyx_CyFunction_GetClassObj(f)\
      ((PyObject*) ((PyCMethodObject *) (f))->mm_class)
#endif
#define __Pyx_CyFunction_SetClassObj(f, classobj)\
    __Pyx__CyFunction_SetClassObj((__pyx_CyFunctionObject *) (f), (classobj))
#define __Pyx_CyFunction_Defaults(type, f)\
    ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
    ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
typedef struct {
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject_HEAD
    PyObject *func;
#elif PY_VERSION_HEX < 0x030900B1
    PyCFunctionObject func;
#else
    PyCMethodObject func;
#endif
#if CYTHON_BACKPORT_VECTORCALL
    __pyx_vectorcallfunc func_vectorcall;
#endif
#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
    PyObject *func_weakreflist;
#endif
    PyObject *func_dict;
    PyObject *func_name;
    PyObject *func_qualname;
    PyObject *func_doc;
    PyObject *func_globals;
    PyObject *func_code;
    PyObject *func_closure;
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
    PyObject *func_classobj;
#endif
    void *defaults;
    int defaults_pyobjects;
    size_t defaults_size;  // used by FusedFunction for copying 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_CyFunctionType)
#define __Pyx_CyOrPyCFunction_Check(obj)  __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type)
#define __Pyx_CyFunction_CheckExact(obj)  __Pyx_IS_TYPE(obj, __pyx_CyFunctionType)
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc);
#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 void *__Pyx_CyFunction_InitDefaults(PyObject *m,
                                                         size_t size,
                                                         int pyobjects);
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
                                                            PyObject *tuple);
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
                                                             PyObject *dict);
static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
                                                              PyObject *dict);
static int __pyx_CyFunction_init(PyObject *module);
#if CYTHON_METH_FASTCALL
static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
#if CYTHON_BACKPORT_VECTORCALL
#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);

/* CLineInTraceback.proto */
#ifdef CYTHON_CLINE_IN_TRACEBACK
#define __Pyx_CLineForTraceback(tstate, c_line)  (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
#else
static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
#endif

/* CodeObjectCache.proto */
#if !CYTHON_COMPILING_IN_LIMITED_API
typedef struct {
    PyCodeObject* code_object;
    int code_line;
} __Pyx_CodeObjectCacheEntry;
struct __Pyx_CodeObjectCache {
    int count;
    int max_count;
    __Pyx_CodeObjectCacheEntry* entries;
};
static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
static PyCodeObject *__pyx_find_code_object(int code_line);
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
#endif

/* AddTraceback.proto */
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename);

/* None.proto */
#include <new>

/* GCCDiagnostics.proto */
#if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
#define __Pyx_HAS_GCC_DIAGNOSTIC
#endif

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From___pyx_anon_enum(int value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUipcMem_flags_enum(enum CUipcMem_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemAttach_flags_enum(enum CUmemAttach_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUctx_flags_enum(enum CUctx_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUevent_sched_flags_enum(enum CUevent_sched_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cl_event_flags_enum(enum cl_event_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cl_context_flags_enum(enum cl_context_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUstream_flags_enum(enum CUstream_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUevent_flags_enum(enum CUevent_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUevent_record_flags_enum(enum CUevent_record_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUevent_wait_flags_enum(enum CUevent_wait_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUstreamWaitValue_flags_enum(enum CUstreamWaitValue_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUstreamWriteValue_flags_enum(enum CUstreamWriteValue_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUstreamBatchMemOpType_enum(enum CUstreamBatchMemOpType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUstreamMemoryBarrier_flags_enum(enum CUstreamMemoryBarrier_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUoccupancy_flags_enum(enum CUoccupancy_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUstreamUpdateCaptureDependencies_flags_enum(enum CUstreamUpdateCaptureDependencies_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUasyncNotificationType_enum(enum CUasyncNotificationType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUarray_format_enum(enum CUarray_format_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUaddress_mode_enum(enum CUaddress_mode_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUfilter_mode_enum(enum CUfilter_mode_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUdevice_attribute_enum(enum CUdevice_attribute_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUpointer_attribute_enum(enum CUpointer_attribute_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUfunction_attribute_enum(enum CUfunction_attribute_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUfunc_cache_enum(enum CUfunc_cache_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUsharedconfig_enum(enum CUsharedconfig_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUshared_carveout_enum(enum CUshared_carveout_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemorytype_enum(enum CUmemorytype_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUcomputemode_enum(enum CUcomputemode_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmem_advise_enum(enum CUmem_advise_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmem_range_attribute_enum(enum CUmem_range_attribute_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUjit_option_enum(enum CUjit_option_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUjit_target_enum(enum CUjit_target_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUjit_fallback_enum(enum CUjit_fallback_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUjit_cacheMode_enum(enum CUjit_cacheMode_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUjitInputType_enum(enum CUjitInputType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphicsRegisterFlags_enum(enum CUgraphicsRegisterFlags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphicsMapResourceFlags_enum(enum CUgraphicsMapResourceFlags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUarray_cubemap_face_enum(enum CUarray_cubemap_face_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUlimit_enum(enum CUlimit_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUresourcetype_enum(enum CUresourcetype_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUaccessProperty_enum(enum CUaccessProperty_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphConditionalNodeType_enum(enum CUgraphConditionalNodeType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphNodeType_enum(enum CUgraphNodeType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphDependencyType_enum(enum CUgraphDependencyType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphInstantiateResult_enum(enum CUgraphInstantiateResult_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUsynchronizationPolicy_enum(enum CUsynchronizationPolicy_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUclusterSchedulingPolicy_enum(enum CUclusterSchedulingPolicy_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUlaunchMemSyncDomain_enum(enum CUlaunchMemSyncDomain_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(enum CUlaunchAttributeID_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUstreamCaptureStatus_enum(enum CUstreamCaptureStatus_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUstreamCaptureMode_enum(enum CUstreamCaptureMode_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUdriverProcAddress_flags_enum(enum CUdriverProcAddress_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUdriverProcAddressQueryResult_enum(enum CUdriverProcAddressQueryResult_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUexecAffinityType_enum(enum CUexecAffinityType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUlibraryOption_enum(enum CUlibraryOption_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaError_enum(enum cudaError_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUdevice_P2PAttribute_enum(enum CUdevice_P2PAttribute_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(enum CUresourceViewFormat_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUtensorMapDataType_enum(enum CUtensorMapDataType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUtensorMapInterleave_enum(enum CUtensorMapInterleave_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUtensorMapSwizzle_enum(enum CUtensorMapSwizzle_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUtensorMapL2promotion_enum(enum CUtensorMapL2promotion_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUtensorMapFloatOOBfill_enum(enum CUtensorMapFloatOOBfill_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUexternalMemoryHandleType_enum(enum CUexternalMemoryHandleType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUexternalSemaphoreHandleType_enum(enum CUexternalSemaphoreHandleType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemAllocationHandleType_enum(enum CUmemAllocationHandleType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemAccess_flags_enum(enum CUmemAccess_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemLocationType_enum(enum CUmemLocationType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemAllocationType_enum(enum CUmemAllocationType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemAllocationGranularity_flags_enum(enum CUmemAllocationGranularity_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemRangeHandleType_enum(enum CUmemRangeHandleType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUarraySparseSubresourceType_enum(enum CUarraySparseSubresourceType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemOperationType_enum(enum CUmemOperationType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemHandleType_enum(enum CUmemHandleType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemAllocationCompType_enum(enum CUmemAllocationCompType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmulticastGranularity_flags_enum(enum CUmulticastGranularity_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphExecUpdateResult_enum(enum CUgraphExecUpdateResult_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemPool_attribute_enum(enum CUmemPool_attribute_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphMem_attribute_enum(enum CUgraphMem_attribute_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUflushGPUDirectRDMAWritesOptions_enum(enum CUflushGPUDirectRDMAWritesOptions_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUGPUDirectRDMAWritesOrdering_enum(enum CUGPUDirectRDMAWritesOrdering_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUflushGPUDirectRDMAWritesScope_enum(enum CUflushGPUDirectRDMAWritesScope_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUflushGPUDirectRDMAWritesTarget_enum(enum CUflushGPUDirectRDMAWritesTarget_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(enum CUgraphDebugDot_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUuserObject_flags_enum(enum CUuserObject_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUuserObjectRetain_flags_enum(enum CUuserObjectRetain_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphInstantiate_flags_enum(enum CUgraphInstantiate_flags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUdeviceNumaConfig_enum(enum CUdeviceNumaConfig_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmoduleLoadingMode_enum(enum CUmoduleLoadingMode_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUfunctionLoadingState_enum(enum CUfunctionLoadingState_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUcoredumpSettings_enum(enum CUcoredumpSettings_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_CUgreenCtxCreate_flags(CUgreenCtxCreate_flags value);

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

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUoutput_mode_enum(enum CUoutput_mode_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglFrameType_enum(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum(enum __pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUGLDeviceList_enum(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUGLmap_flags_enum(enum __pyx_t_4cuda_5ccuda_CUGLmap_flags_enum value);

/* CIntFromPy.proto */
static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_As_unsigned_PY_LONG_LONG(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE unsigned char __Pyx_PyInt_As_unsigned_char(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE unsigned short __Pyx_PyInt_As_unsigned_short(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_As_PY_LONG_LONG(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE uint32_t __Pyx_PyInt_As_uint32_t(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_PY_LONG_LONG(unsigned PY_LONG_LONG value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value);

/* CIntFromPy.proto */
static CYTHON_INLINE char __Pyx_PyInt_As_char(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUstreamBatchMemOpType_enum __Pyx_PyInt_As_enum__CUstreamBatchMemOpType_enum(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUasyncNotificationType_enum __Pyx_PyInt_As_enum__CUasyncNotificationType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUaccessProperty_enum __Pyx_PyInt_As_enum__CUaccessProperty_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUgraphConditionalNodeType_enum __Pyx_PyInt_As_enum__CUgraphConditionalNodeType_enum(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_char(unsigned char value);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUgraphInstantiateResult_enum __Pyx_PyInt_As_enum__CUgraphInstantiateResult_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUsynchronizationPolicy_enum __Pyx_PyInt_As_enum__CUsynchronizationPolicy_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUclusterSchedulingPolicy_enum __Pyx_PyInt_As_enum__CUclusterSchedulingPolicy_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUlaunchMemSyncDomain_enum __Pyx_PyInt_As_enum__CUlaunchMemSyncDomain_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUlaunchAttributeID_enum __Pyx_PyInt_As_enum__CUlaunchAttributeID_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUexecAffinityType_enum __Pyx_PyInt_As_enum__CUexecAffinityType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemorytype_enum __Pyx_PyInt_As_enum__CUmemorytype_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUarray_format_enum __Pyx_PyInt_As_enum__CUarray_format_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUresourcetype_enum __Pyx_PyInt_As_enum__CUresourcetype_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUaddress_mode_enum __Pyx_PyInt_As_enum__CUaddress_mode_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUfilter_mode_enum __Pyx_PyInt_As_enum__CUfilter_mode_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUresourceViewFormat_enum __Pyx_PyInt_As_enum__CUresourceViewFormat_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUexternalMemoryHandleType_enum __Pyx_PyInt_As_enum__CUexternalMemoryHandleType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUexternalSemaphoreHandleType_enum __Pyx_PyInt_As_enum__CUexternalSemaphoreHandleType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUarraySparseSubresourceType_enum __Pyx_PyInt_As_enum__CUarraySparseSubresourceType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemOperationType_enum __Pyx_PyInt_As_enum__CUmemOperationType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemHandleType_enum __Pyx_PyInt_As_enum__CUmemHandleType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemLocationType_enum __Pyx_PyInt_As_enum__CUmemLocationType_enum(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_short(unsigned short value);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemAllocationType_enum __Pyx_PyInt_As_enum__CUmemAllocationType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemAllocationHandleType_enum __Pyx_PyInt_As_enum__CUmemAllocationHandleType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemAccess_flags_enum __Pyx_PyInt_As_enum__CUmemAccess_flags_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUgraphExecUpdateResult_enum __Pyx_PyInt_As_enum__CUgraphExecUpdateResult_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUgraphNodeType_enum __Pyx_PyInt_As_enum__CUgraphNodeType_enum(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_PY_LONG_LONG(PY_LONG_LONG value);

/* CIntFromPy.proto */
static CYTHON_INLINE CUdevResourceType __Pyx_PyInt_As_CUdevResourceType(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum __Pyx_PyInt_As_enum____pyx_t_4cuda_5ccuda_CUeglFrameType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum __Pyx_PyInt_As_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint32_t(uint32_t value);

/* CIntFromPy.proto */
static CYTHON_INLINE enum cudaError_enum __Pyx_PyInt_As_enum__cudaError_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE CUdevice_v1 __Pyx_PyInt_As_CUdevice_v1(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUdevice_attribute_enum __Pyx_PyInt_As_enum__CUdevice_attribute_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUflushGPUDirectRDMAWritesTarget_enum __Pyx_PyInt_As_enum__CUflushGPUDirectRDMAWritesTarget_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUflushGPUDirectRDMAWritesScope_enum __Pyx_PyInt_As_enum__CUflushGPUDirectRDMAWritesScope_enum(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUlimit_enum __Pyx_PyInt_As_enum__CUlimit_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUfunc_cache_enum __Pyx_PyInt_As_enum__CUfunc_cache_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUsharedconfig_enum __Pyx_PyInt_As_enum__CUsharedconfig_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUjit_option_enum __Pyx_PyInt_As_enum__CUjit_option_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUjitInputType_enum __Pyx_PyInt_As_enum__CUjitInputType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUlibraryOption_enum __Pyx_PyInt_As_enum__CUlibraryOption_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUfunction_attribute_enum __Pyx_PyInt_As_enum__CUfunction_attribute_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemRangeHandleType_enum __Pyx_PyInt_As_enum__CUmemRangeHandleType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemAllocationGranularity_flags_enum __Pyx_PyInt_As_enum__CUmemAllocationGranularity_flags_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmemPool_attribute_enum __Pyx_PyInt_As_enum__CUmemPool_attribute_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmulticastGranularity_flags_enum __Pyx_PyInt_As_enum__CUmulticastGranularity_flags_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUpointer_attribute_enum __Pyx_PyInt_As_enum__CUpointer_attribute_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmem_advise_enum __Pyx_PyInt_As_enum__CUmem_advise_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUmem_range_attribute_enum __Pyx_PyInt_As_enum__CUmem_range_attribute_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUstreamCaptureMode_enum __Pyx_PyInt_As_enum__CUstreamCaptureMode_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUgraphMem_attribute_enum __Pyx_PyInt_As_enum__CUgraphMem_attribute_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUtensorMapDataType_enum __Pyx_PyInt_As_enum__CUtensorMapDataType_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUtensorMapInterleave_enum __Pyx_PyInt_As_enum__CUtensorMapInterleave_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUtensorMapSwizzle_enum __Pyx_PyInt_As_enum__CUtensorMapSwizzle_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUtensorMapL2promotion_enum __Pyx_PyInt_As_enum__CUtensorMapL2promotion_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUtensorMapFloatOOBfill_enum __Pyx_PyInt_As_enum__CUtensorMapFloatOOBfill_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUdevice_P2PAttribute_enum __Pyx_PyInt_As_enum__CUdevice_P2PAttribute_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum CUcoredumpSettings_enum __Pyx_PyInt_As_enum__CUcoredumpSettings_enum(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum __Pyx_PyInt_As_enum____pyx_t_4cuda_5ccuda_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"
static __Pyx_TypeName __Pyx_PyType_GetName(PyTypeObject* tp);
#define __Pyx_DECREF_TypeName(obj) Py_XDECREF(obj)
#else
typedef const char *__Pyx_TypeName;
#define __Pyx_FMT_TYPENAME "%.200s"
#define __Pyx_PyType_GetName(tp) ((tp)->tp_name)
#define __Pyx_DECREF_TypeName(obj)
#endif

/* CIntFromPy.proto */
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);

/* SwapException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_ExceptionSwap(type, value, tb)  __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#else
static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
#endif

/* PyObjectCallMethod1.proto */
static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);

/* CoroutineBase.proto */
struct __pyx_CoroutineObject;
typedef PyObject *(*__pyx_coroutine_body_t)(struct __pyx_CoroutineObject *, PyThreadState *, PyObject *);
#if CYTHON_USE_EXC_INFO_STACK
#define __Pyx_ExcInfoStruct  _PyErr_StackItem
#else
typedef struct {
    PyObject *exc_type;
    PyObject *exc_value;
    PyObject *exc_traceback;
} __Pyx_ExcInfoStruct;
#endif
typedef struct __pyx_CoroutineObject {
    PyObject_HEAD
    __pyx_coroutine_body_t body;
    PyObject *closure;
    __Pyx_ExcInfoStruct gi_exc_state;
    PyObject *gi_weakreflist;
    PyObject *classobj;
    PyObject *yieldfrom;
    PyObject *gi_name;
    PyObject *gi_qualname;
    PyObject *gi_modulename;
    PyObject *gi_code;
    PyObject *gi_frame;
    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 PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value);
static PyObject *__Pyx_Coroutine_Close(PyObject *self);
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);

/* PatchModuleWithCoroutine.proto */
static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code);

/* PatchGeneratorABC.proto */
static int __Pyx_patch_abc(void);

/* Generator.proto */
#define __Pyx_Generator_USED
#define __Pyx_Generator_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_GeneratorType)
#define __Pyx_Generator_New(body, code, closure, name, qualname, module_name)\
    __Pyx__Coroutine_New(__pyx_GeneratorType, body, code, closure, name, qualname, module_name)
static PyObject *__Pyx_Generator_Next(PyObject *self);
static int __pyx_Generator_init(PyObject *module);

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

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

/* InitStrings.proto */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);

/* #### Code section: module_declarations ### */

/* Module declarations from "libc.stdint" */

/* Module declarations from "cuda.ccuda" */
static CUresult (*__pyx_f_4cuda_5ccuda_cuGetErrorString)(CUresult, char const **); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGetErrorName)(CUresult, char const **); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuInit)(unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDriverGetVersion)(int *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGet)(CUdevice *, int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGetCount)(int *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGetName)(char *, int, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGetUuid)(CUuuid *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGetUuid_v2)(CUuuid *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGetLuid)(char *, unsigned int *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceTotalMem)(size_t *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGetTexture1DLinearMaxWidth)(size_t *, CUarray_format, unsigned int, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGetAttribute)(int *, CUdevice_attribute, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGetNvSciSyncAttributes)(void *, CUdevice, int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceSetMemPool)(CUdevice, CUmemoryPool); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGetMemPool)(CUmemoryPool *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGetDefaultMemPool)(CUmemoryPool *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGetExecAffinitySupport)(int *, CUexecAffinityType, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuFlushGPUDirectRDMAWrites)(CUflushGPUDirectRDMAWritesTarget, CUflushGPUDirectRDMAWritesScope); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGetProperties)(CUdevprop *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceComputeCapability)(int *, int *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDevicePrimaryCtxRetain)(CUcontext *, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDevicePrimaryCtxRelease)(CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDevicePrimaryCtxSetFlags)(CUdevice, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDevicePrimaryCtxGetState)(CUdevice, unsigned int *, int *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDevicePrimaryCtxReset)(CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxCreate)(CUcontext *, unsigned int, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxCreate_v3)(CUcontext *, CUexecAffinityParam *, int, unsigned int, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxDestroy)(CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxPushCurrent)(CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxPopCurrent)(CUcontext *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxSetCurrent)(CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxGetCurrent)(CUcontext *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxGetDevice)(CUdevice *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxGetFlags)(unsigned int *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxSetFlags)(unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxGetId)(CUcontext, unsigned PY_LONG_LONG *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxSynchronize)(void); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxSetLimit)(CUlimit, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxGetLimit)(size_t *, CUlimit); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxGetCacheConfig)(CUfunc_cache *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxSetCacheConfig)(CUfunc_cache); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxGetApiVersion)(CUcontext, unsigned int *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxGetStreamPriorityRange)(int *, int *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxResetPersistingL2Cache)(void); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxGetExecAffinity)(CUexecAffinityParam *, CUexecAffinityType); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxAttach)(CUcontext *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxDetach)(CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxGetSharedMemConfig)(CUsharedconfig *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxSetSharedMemConfig)(CUsharedconfig); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuModuleLoad)(CUmodule *, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuModuleLoadData)(CUmodule *, void const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuModuleLoadDataEx)(CUmodule *, void const *, unsigned int, CUjit_option *, void **); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuModuleLoadFatBinary)(CUmodule *, void const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuModuleUnload)(CUmodule); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuModuleGetLoadingMode)(CUmoduleLoadingMode *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuModuleGetFunction)(CUfunction *, CUmodule, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuModuleGetFunctionCount)(unsigned int *, CUmodule); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuModuleEnumerateFunctions)(CUfunction *, unsigned int, CUmodule); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuModuleGetGlobal)(CUdeviceptr *, size_t *, CUmodule, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLinkCreate)(unsigned int, CUjit_option *, void **, CUlinkState *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLinkAddData)(CUlinkState, CUjitInputType, void *, size_t, char const *, unsigned int, CUjit_option *, void **); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLinkAddFile)(CUlinkState, CUjitInputType, char const *, unsigned int, CUjit_option *, void **); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLinkComplete)(CUlinkState, void **, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLinkDestroy)(CUlinkState); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuModuleGetTexRef)(CUtexref *, CUmodule, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuModuleGetSurfRef)(CUsurfref *, CUmodule, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLibraryLoadData)(CUlibrary *, void const *, CUjit_option *, void **, unsigned int, CUlibraryOption *, void **, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLibraryLoadFromFile)(CUlibrary *, char const *, CUjit_option *, void **, unsigned int, CUlibraryOption *, void **, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLibraryUnload)(CUlibrary); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLibraryGetKernel)(CUkernel *, CUlibrary, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLibraryGetKernelCount)(unsigned int *, CUlibrary); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLibraryEnumerateKernels)(CUkernel *, unsigned int, CUlibrary); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLibraryGetModule)(CUmodule *, CUlibrary); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuKernelGetFunction)(CUfunction *, CUkernel); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLibraryGetGlobal)(CUdeviceptr *, size_t *, CUlibrary, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLibraryGetManaged)(CUdeviceptr *, size_t *, CUlibrary, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLibraryGetUnifiedFunction)(void **, CUlibrary, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuKernelGetAttribute)(int *, CUfunction_attribute, CUkernel, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuKernelSetAttribute)(CUfunction_attribute, int, CUkernel, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuKernelSetCacheConfig)(CUkernel, CUfunc_cache, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuKernelGetName)(char const **, CUkernel); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuKernelGetParamInfo)(CUkernel, size_t, size_t *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemGetInfo)(size_t *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemAlloc)(CUdeviceptr *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemAllocPitch)(CUdeviceptr *, size_t *, size_t, size_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemFree)(CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemGetAddressRange)(CUdeviceptr *, size_t *, CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemAllocHost)(void **, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemFreeHost)(void *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemHostAlloc)(void **, size_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemHostGetDevicePointer)(CUdeviceptr *, void *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemHostGetFlags)(unsigned int *, void *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemAllocManaged)(CUdeviceptr *, size_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceRegisterAsyncNotification)(CUdevice, CUasyncCallback, void *, CUasyncCallbackHandle *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceUnregisterAsyncNotification)(CUdevice, CUasyncCallbackHandle); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGetByPCIBusId)(CUdevice *, char const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGetPCIBusId)(char *, int, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuIpcGetEventHandle)(CUipcEventHandle *, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuIpcOpenEventHandle)(CUevent *, CUipcEventHandle); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuIpcGetMemHandle)(CUipcMemHandle *, CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuIpcOpenMemHandle)(CUdeviceptr *, CUipcMemHandle, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuIpcCloseMemHandle)(CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemHostRegister)(void *, size_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemHostUnregister)(void *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpy)(CUdeviceptr, CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpyPeer)(CUdeviceptr, CUcontext, CUdeviceptr, CUcontext, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpyHtoD)(CUdeviceptr, void const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpyDtoH)(void *, CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpyDtoD)(CUdeviceptr, CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpyDtoA)(CUarray, size_t, CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpyAtoD)(CUdeviceptr, CUarray, size_t, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpyHtoA)(CUarray, size_t, void const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpyAtoH)(void *, CUarray, size_t, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpyAtoA)(CUarray, size_t, CUarray, size_t, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpy2D)(CUDA_MEMCPY2D const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpy2DUnaligned)(CUDA_MEMCPY2D const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpy3D)(CUDA_MEMCPY3D const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpy3DPeer)(CUDA_MEMCPY3D_PEER const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpyAsync)(CUdeviceptr, CUdeviceptr, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpyPeerAsync)(CUdeviceptr, CUcontext, CUdeviceptr, CUcontext, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpyHtoDAsync)(CUdeviceptr, void const *, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpyDtoHAsync)(void *, CUdeviceptr, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpyDtoDAsync)(CUdeviceptr, CUdeviceptr, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpyHtoAAsync)(CUarray, size_t, void const *, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpyAtoHAsync)(void *, CUarray, size_t, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpy2DAsync)(CUDA_MEMCPY2D const *, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpy3DAsync)(CUDA_MEMCPY3D const *, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemcpy3DPeerAsync)(CUDA_MEMCPY3D_PEER const *, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemsetD8)(CUdeviceptr, unsigned char, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemsetD16)(CUdeviceptr, unsigned short, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemsetD32)(CUdeviceptr, unsigned int, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemsetD2D8)(CUdeviceptr, size_t, unsigned char, size_t, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemsetD2D16)(CUdeviceptr, size_t, unsigned short, size_t, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemsetD2D32)(CUdeviceptr, size_t, unsigned int, size_t, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemsetD8Async)(CUdeviceptr, unsigned char, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemsetD16Async)(CUdeviceptr, unsigned short, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemsetD32Async)(CUdeviceptr, unsigned int, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemsetD2D8Async)(CUdeviceptr, size_t, unsigned char, size_t, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemsetD2D16Async)(CUdeviceptr, size_t, unsigned short, size_t, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemsetD2D32Async)(CUdeviceptr, size_t, unsigned int, size_t, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuArrayCreate)(CUarray *, CUDA_ARRAY_DESCRIPTOR const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuArrayGetDescriptor)(CUDA_ARRAY_DESCRIPTOR *, CUarray); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuArrayGetSparseProperties)(CUDA_ARRAY_SPARSE_PROPERTIES *, CUarray); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMipmappedArrayGetSparseProperties)(CUDA_ARRAY_SPARSE_PROPERTIES *, CUmipmappedArray); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuArrayGetMemoryRequirements)(CUDA_ARRAY_MEMORY_REQUIREMENTS *, CUarray, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMipmappedArrayGetMemoryRequirements)(CUDA_ARRAY_MEMORY_REQUIREMENTS *, CUmipmappedArray, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuArrayGetPlane)(CUarray *, CUarray, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuArrayDestroy)(CUarray); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuArray3DCreate)(CUarray *, CUDA_ARRAY3D_DESCRIPTOR const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuArray3DGetDescriptor)(CUDA_ARRAY3D_DESCRIPTOR *, CUarray); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMipmappedArrayCreate)(CUmipmappedArray *, CUDA_ARRAY3D_DESCRIPTOR const *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMipmappedArrayGetLevel)(CUarray *, CUmipmappedArray, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMipmappedArrayDestroy)(CUmipmappedArray); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemGetHandleForAddressRange)(void *, CUdeviceptr, size_t, CUmemRangeHandleType, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemAddressReserve)(CUdeviceptr *, size_t, size_t, CUdeviceptr, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemAddressFree)(CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemCreate)(CUmemGenericAllocationHandle *, size_t, CUmemAllocationProp const *, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemRelease)(CUmemGenericAllocationHandle); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemMap)(CUdeviceptr, size_t, size_t, CUmemGenericAllocationHandle, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemMapArrayAsync)(CUarrayMapInfo *, unsigned int, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemUnmap)(CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemSetAccess)(CUdeviceptr, size_t, CUmemAccessDesc const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemGetAccess)(unsigned PY_LONG_LONG *, CUmemLocation const *, CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemExportToShareableHandle)(void *, CUmemGenericAllocationHandle, CUmemAllocationHandleType, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemImportFromShareableHandle)(CUmemGenericAllocationHandle *, void *, CUmemAllocationHandleType); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemGetAllocationGranularity)(size_t *, CUmemAllocationProp const *, CUmemAllocationGranularity_flags); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemGetAllocationPropertiesFromHandle)(CUmemAllocationProp *, CUmemGenericAllocationHandle); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemRetainAllocationHandle)(CUmemGenericAllocationHandle *, void *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemFreeAsync)(CUdeviceptr, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemAllocAsync)(CUdeviceptr *, size_t, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemPoolTrimTo)(CUmemoryPool, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemPoolSetAttribute)(CUmemoryPool, CUmemPool_attribute, void *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemPoolGetAttribute)(CUmemoryPool, CUmemPool_attribute, void *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemPoolSetAccess)(CUmemoryPool, CUmemAccessDesc const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemPoolGetAccess)(CUmemAccess_flags *, CUmemoryPool, CUmemLocation *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemPoolCreate)(CUmemoryPool *, CUmemPoolProps const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemPoolDestroy)(CUmemoryPool); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemAllocFromPoolAsync)(CUdeviceptr *, size_t, CUmemoryPool, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemPoolExportToShareableHandle)(void *, CUmemoryPool, CUmemAllocationHandleType, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemPoolImportFromShareableHandle)(CUmemoryPool *, void *, CUmemAllocationHandleType, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemPoolExportPointer)(CUmemPoolPtrExportData *, CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemPoolImportPointer)(CUdeviceptr *, CUmemoryPool, CUmemPoolPtrExportData *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMulticastCreate)(CUmemGenericAllocationHandle *, CUmulticastObjectProp const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMulticastAddDevice)(CUmemGenericAllocationHandle, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMulticastBindMem)(CUmemGenericAllocationHandle, size_t, CUmemGenericAllocationHandle, size_t, size_t, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMulticastBindAddr)(CUmemGenericAllocationHandle, size_t, CUdeviceptr, size_t, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMulticastUnbind)(CUmemGenericAllocationHandle, CUdevice, size_t, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMulticastGetGranularity)(size_t *, CUmulticastObjectProp const *, CUmulticastGranularity_flags); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuPointerGetAttribute)(void *, CUpointer_attribute, CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemPrefetchAsync)(CUdeviceptr, size_t, CUdevice, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemPrefetchAsync_v2)(CUdeviceptr, size_t, CUmemLocation, unsigned int, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemAdvise)(CUdeviceptr, size_t, CUmem_advise, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemAdvise_v2)(CUdeviceptr, size_t, CUmem_advise, CUmemLocation); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemRangeGetAttribute)(void *, size_t, CUmem_range_attribute, CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuMemRangeGetAttributes)(void **, size_t *, CUmem_range_attribute *, size_t, CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuPointerSetAttribute)(void const *, CUpointer_attribute, CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuPointerGetAttributes)(unsigned int, CUpointer_attribute *, void **, CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamCreate)(CUstream *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamCreateWithPriority)(CUstream *, unsigned int, int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamGetPriority)(CUstream, int *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamGetFlags)(CUstream, unsigned int *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamGetId)(CUstream, unsigned PY_LONG_LONG *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamGetCtx)(CUstream, CUcontext *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamWaitEvent)(CUstream, CUevent, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamAddCallback)(CUstream, CUstreamCallback, void *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamBeginCapture)(CUstream, CUstreamCaptureMode); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamBeginCaptureToGraph)(CUstream, CUgraph, CUgraphNode const *, CUgraphEdgeData const *, size_t, CUstreamCaptureMode); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuThreadExchangeStreamCaptureMode)(CUstreamCaptureMode *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamEndCapture)(CUstream, CUgraph *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamIsCapturing)(CUstream, CUstreamCaptureStatus *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamGetCaptureInfo)(CUstream, CUstreamCaptureStatus *, cuuint64_t *, CUgraph *, CUgraphNode const **, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamGetCaptureInfo_v3)(CUstream, CUstreamCaptureStatus *, cuuint64_t *, CUgraph *, CUgraphNode const **, CUgraphEdgeData const **, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamUpdateCaptureDependencies)(CUstream, CUgraphNode *, size_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamUpdateCaptureDependencies_v2)(CUstream, CUgraphNode *, CUgraphEdgeData const *, size_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamAttachMemAsync)(CUstream, CUdeviceptr, size_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamQuery)(CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamSynchronize)(CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamDestroy)(CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamCopyAttributes)(CUstream, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamGetAttribute)(CUstream, CUstreamAttrID, CUstreamAttrValue *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamSetAttribute)(CUstream, CUstreamAttrID, CUstreamAttrValue const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuEventCreate)(CUevent *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuEventRecord)(CUevent, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuEventRecordWithFlags)(CUevent, CUstream, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuEventQuery)(CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuEventSynchronize)(CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuEventDestroy)(CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuEventElapsedTime)(float *, CUevent, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuImportExternalMemory)(CUexternalMemory *, CUDA_EXTERNAL_MEMORY_HANDLE_DESC const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuExternalMemoryGetMappedBuffer)(CUdeviceptr *, CUexternalMemory, CUDA_EXTERNAL_MEMORY_BUFFER_DESC const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuExternalMemoryGetMappedMipmappedArray)(CUmipmappedArray *, CUexternalMemory, CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDestroyExternalMemory)(CUexternalMemory); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuImportExternalSemaphore)(CUexternalSemaphore *, CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuSignalExternalSemaphoresAsync)(CUexternalSemaphore const *, CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS const *, unsigned int, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuWaitExternalSemaphoresAsync)(CUexternalSemaphore const *, CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS const *, unsigned int, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDestroyExternalSemaphore)(CUexternalSemaphore); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamWaitValue32)(CUstream, CUdeviceptr, cuuint32_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamWaitValue64)(CUstream, CUdeviceptr, cuuint64_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamWriteValue32)(CUstream, CUdeviceptr, cuuint32_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamWriteValue64)(CUstream, CUdeviceptr, cuuint64_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamBatchMemOp)(CUstream, unsigned int, CUstreamBatchMemOpParams *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuFuncGetAttribute)(int *, CUfunction_attribute, CUfunction); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuFuncSetAttribute)(CUfunction, CUfunction_attribute, int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuFuncSetCacheConfig)(CUfunction, CUfunc_cache); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuFuncGetModule)(CUmodule *, CUfunction); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuFuncGetName)(char const **, CUfunction); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuFuncGetParamInfo)(CUfunction, size_t, size_t *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuFuncIsLoaded)(CUfunctionLoadingState *, CUfunction); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuFuncLoad)(CUfunction); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_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_5ccuda_cuLaunchKernelEx)(CUlaunchConfig const *, CUfunction, void **, void **); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLaunchCooperativeKernel)(CUfunction, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, CUstream, void **); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLaunchCooperativeKernelMultiDevice)(CUDA_LAUNCH_PARAMS *, unsigned int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLaunchHostFunc)(CUstream, CUhostFn, void *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuFuncSetBlockShape)(CUfunction, int, int, int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuFuncSetSharedSize)(CUfunction, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuParamSetSize)(CUfunction, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuParamSeti)(CUfunction, int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuParamSetf)(CUfunction, int, float); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuParamSetv)(CUfunction, int, void *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLaunch)(CUfunction); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLaunchGrid)(CUfunction, int, int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuLaunchGridAsync)(CUfunction, int, int, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuParamSetTexRef)(CUfunction, int, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuFuncSetSharedMemConfig)(CUfunction, CUsharedconfig); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphCreate)(CUgraph *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphAddKernelNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_KERNEL_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphKernelNodeGetParams)(CUgraphNode, CUDA_KERNEL_NODE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphKernelNodeSetParams)(CUgraphNode, CUDA_KERNEL_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphAddMemcpyNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_MEMCPY3D const *, CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphMemcpyNodeGetParams)(CUgraphNode, CUDA_MEMCPY3D *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphMemcpyNodeSetParams)(CUgraphNode, CUDA_MEMCPY3D const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphAddMemsetNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_MEMSET_NODE_PARAMS const *, CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphMemsetNodeGetParams)(CUgraphNode, CUDA_MEMSET_NODE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphMemsetNodeSetParams)(CUgraphNode, CUDA_MEMSET_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphAddHostNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_HOST_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphHostNodeGetParams)(CUgraphNode, CUDA_HOST_NODE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphHostNodeSetParams)(CUgraphNode, CUDA_HOST_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphAddChildGraphNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUgraph); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphChildGraphNodeGetGraph)(CUgraphNode, CUgraph *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphAddEmptyNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphAddEventRecordNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphEventRecordNodeGetEvent)(CUgraphNode, CUevent *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphEventRecordNodeSetEvent)(CUgraphNode, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphAddEventWaitNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphEventWaitNodeGetEvent)(CUgraphNode, CUevent *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphEventWaitNodeSetEvent)(CUgraphNode, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphAddExternalSemaphoresSignalNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExternalSemaphoresSignalNodeGetParams)(CUgraphNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExternalSemaphoresSignalNodeSetParams)(CUgraphNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphAddExternalSemaphoresWaitNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_EXT_SEM_WAIT_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExternalSemaphoresWaitNodeGetParams)(CUgraphNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExternalSemaphoresWaitNodeSetParams)(CUgraphNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphAddBatchMemOpNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_BATCH_MEM_OP_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphBatchMemOpNodeGetParams)(CUgraphNode, CUDA_BATCH_MEM_OP_NODE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphBatchMemOpNodeSetParams)(CUgraphNode, CUDA_BATCH_MEM_OP_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExecBatchMemOpNodeSetParams)(CUgraphExec, CUgraphNode, CUDA_BATCH_MEM_OP_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphAddMemAllocNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_MEM_ALLOC_NODE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphMemAllocNodeGetParams)(CUgraphNode, CUDA_MEM_ALLOC_NODE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphAddMemFreeNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUdeviceptr); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphMemFreeNodeGetParams)(CUgraphNode, CUdeviceptr *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGraphMemTrim)(CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGetGraphMemAttribute)(CUdevice, CUgraphMem_attribute, void *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceSetGraphMemAttribute)(CUdevice, CUgraphMem_attribute, void *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphClone)(CUgraph *, CUgraph); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphNodeFindInClone)(CUgraphNode *, CUgraphNode, CUgraph); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphNodeGetType)(CUgraphNode, CUgraphNodeType *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphGetNodes)(CUgraph, CUgraphNode *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphGetRootNodes)(CUgraph, CUgraphNode *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphGetEdges)(CUgraph, CUgraphNode *, CUgraphNode *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphGetEdges_v2)(CUgraph, CUgraphNode *, CUgraphNode *, CUgraphEdgeData *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphNodeGetDependencies)(CUgraphNode, CUgraphNode *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphNodeGetDependencies_v2)(CUgraphNode, CUgraphNode *, CUgraphEdgeData *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphNodeGetDependentNodes)(CUgraphNode, CUgraphNode *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphNodeGetDependentNodes_v2)(CUgraphNode, CUgraphNode *, CUgraphEdgeData *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphAddDependencies)(CUgraph, CUgraphNode const *, CUgraphNode const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphAddDependencies_v2)(CUgraph, CUgraphNode const *, CUgraphNode const *, CUgraphEdgeData const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphRemoveDependencies)(CUgraph, CUgraphNode const *, CUgraphNode const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphRemoveDependencies_v2)(CUgraph, CUgraphNode const *, CUgraphNode const *, CUgraphEdgeData const *, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphDestroyNode)(CUgraphNode); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphInstantiate)(CUgraphExec *, CUgraph, unsigned PY_LONG_LONG); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphInstantiateWithParams)(CUgraphExec *, CUgraph, CUDA_GRAPH_INSTANTIATE_PARAMS *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExecGetFlags)(CUgraphExec, cuuint64_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExecKernelNodeSetParams)(CUgraphExec, CUgraphNode, CUDA_KERNEL_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExecMemcpyNodeSetParams)(CUgraphExec, CUgraphNode, CUDA_MEMCPY3D const *, CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExecMemsetNodeSetParams)(CUgraphExec, CUgraphNode, CUDA_MEMSET_NODE_PARAMS const *, CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExecHostNodeSetParams)(CUgraphExec, CUgraphNode, CUDA_HOST_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExecChildGraphNodeSetParams)(CUgraphExec, CUgraphNode, CUgraph); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExecEventRecordNodeSetEvent)(CUgraphExec, CUgraphNode, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExecEventWaitNodeSetEvent)(CUgraphExec, CUgraphNode, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExecExternalSemaphoresSignalNodeSetParams)(CUgraphExec, CUgraphNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExecExternalSemaphoresWaitNodeSetParams)(CUgraphExec, CUgraphNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphNodeSetEnabled)(CUgraphExec, CUgraphNode, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphNodeGetEnabled)(CUgraphExec, CUgraphNode, unsigned int *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphUpload)(CUgraphExec, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphLaunch)(CUgraphExec, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExecDestroy)(CUgraphExec); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphDestroy)(CUgraph); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExecUpdate)(CUgraphExec, CUgraph, CUgraphExecUpdateResultInfo *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphKernelNodeCopyAttributes)(CUgraphNode, CUgraphNode); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphKernelNodeGetAttribute)(CUgraphNode, CUkernelNodeAttrID, CUkernelNodeAttrValue *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphKernelNodeSetAttribute)(CUgraphNode, CUkernelNodeAttrID, CUkernelNodeAttrValue const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphDebugDotPrint)(CUgraph, char const *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuUserObjectCreate)(CUuserObject *, void *, CUhostFn, unsigned int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuUserObjectRetain)(CUuserObject, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuUserObjectRelease)(CUuserObject, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphRetainUserObject)(CUgraph, CUuserObject, unsigned int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphReleaseUserObject)(CUgraph, CUuserObject, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphAddNode)(CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUgraphNodeParams *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphAddNode_v2)(CUgraphNode *, CUgraph, CUgraphNode const *, CUgraphEdgeData const *, size_t, CUgraphNodeParams *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphNodeSetParams)(CUgraphNode, CUgraphNodeParams *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphExecNodeSetParams)(CUgraphExec, CUgraphNode, CUgraphNodeParams *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphConditionalHandleCreate)(CUgraphConditionalHandle *, CUgraph, CUcontext, unsigned int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuOccupancyMaxActiveBlocksPerMultiprocessor)(int *, CUfunction, int, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags)(int *, CUfunction, int, size_t, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuOccupancyMaxPotentialBlockSize)(int *, int *, CUfunction, CUoccupancyB2DSize, size_t, int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuOccupancyMaxPotentialBlockSizeWithFlags)(int *, int *, CUfunction, CUoccupancyB2DSize, size_t, int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuOccupancyAvailableDynamicSMemPerBlock)(size_t *, CUfunction, int, int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuOccupancyMaxPotentialClusterSize)(int *, CUfunction, CUlaunchConfig const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuOccupancyMaxActiveClusters)(int *, CUfunction, CUlaunchConfig const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefSetArray)(CUtexref, CUarray, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefSetMipmappedArray)(CUtexref, CUmipmappedArray, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefSetAddress)(size_t *, CUtexref, CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefSetAddress2D)(CUtexref, CUDA_ARRAY_DESCRIPTOR const *, CUdeviceptr, size_t); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefSetFormat)(CUtexref, CUarray_format, int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefSetAddressMode)(CUtexref, int, CUaddress_mode); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefSetFilterMode)(CUtexref, CUfilter_mode); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefSetMipmapFilterMode)(CUtexref, CUfilter_mode); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefSetMipmapLevelBias)(CUtexref, float); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefSetMipmapLevelClamp)(CUtexref, float, float); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefSetMaxAnisotropy)(CUtexref, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefSetBorderColor)(CUtexref, float *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefSetFlags)(CUtexref, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefGetAddress)(CUdeviceptr *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefGetArray)(CUarray *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefGetMipmappedArray)(CUmipmappedArray *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefGetAddressMode)(CUaddress_mode *, CUtexref, int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefGetFilterMode)(CUfilter_mode *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefGetFormat)(CUarray_format *, int *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefGetMipmapFilterMode)(CUfilter_mode *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefGetMipmapLevelBias)(float *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefGetMipmapLevelClamp)(float *, float *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefGetMaxAnisotropy)(int *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefGetBorderColor)(float *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefGetFlags)(unsigned int *, CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefCreate)(CUtexref *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexRefDestroy)(CUtexref); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuSurfRefSetArray)(CUsurfref, CUarray, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuSurfRefGetArray)(CUarray *, CUsurfref); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexObjectCreate)(CUtexObject *, CUDA_RESOURCE_DESC const *, CUDA_TEXTURE_DESC const *, CUDA_RESOURCE_VIEW_DESC const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexObjectDestroy)(CUtexObject); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexObjectGetResourceDesc)(CUDA_RESOURCE_DESC *, CUtexObject); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexObjectGetTextureDesc)(CUDA_TEXTURE_DESC *, CUtexObject); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuTexObjectGetResourceViewDesc)(CUDA_RESOURCE_VIEW_DESC *, CUtexObject); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuSurfObjectCreate)(CUsurfObject *, CUDA_RESOURCE_DESC const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuSurfObjectDestroy)(CUsurfObject); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuSurfObjectGetResourceDesc)(CUDA_RESOURCE_DESC *, CUsurfObject); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_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_5ccuda_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_5ccuda_cuTensorMapReplaceAddress)(CUtensorMap *, void *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceCanAccessPeer)(int *, CUdevice, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxEnablePeerAccess)(CUcontext, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxDisablePeerAccess)(CUcontext); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGetP2PAttribute)(int *, CUdevice_P2PAttribute, CUdevice, CUdevice); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphicsUnregisterResource)(CUgraphicsResource); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphicsSubResourceGetMappedArray)(CUarray *, CUgraphicsResource, unsigned int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphicsResourceGetMappedMipmappedArray)(CUmipmappedArray *, CUgraphicsResource); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphicsResourceGetMappedPointer)(CUdeviceptr *, size_t *, CUgraphicsResource); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphicsResourceSetMapFlags)(CUgraphicsResource, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphicsMapResources)(unsigned int, CUgraphicsResource *, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphicsUnmapResources)(unsigned int, CUgraphicsResource *, CUstream); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGetProcAddress)(char const *, void **, int, cuuint64_t, CUdriverProcAddressQueryResult *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCoredumpGetAttribute)(CUcoredumpSettings, void *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCoredumpGetAttributeGlobal)(CUcoredumpSettings, void *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCoredumpSetAttribute)(CUcoredumpSettings, void *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCoredumpSetAttributeGlobal)(CUcoredumpSettings, void *, size_t *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGetExportTable)(void const **, CUuuid const *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGreenCtxCreate)(CUgreenCtx *, CUdevResourceDesc, CUdevice, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGreenCtxDestroy)(CUgreenCtx); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxFromGreenCtx)(CUcontext *, CUgreenCtx); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDeviceGetDevResource)(CUdevice, CUdevResource *, CUdevResourceType); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuCtxGetDevResource)(CUcontext, CUdevResource *, CUdevResourceType); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGreenCtxGetDevResource)(CUgreenCtx, CUdevResource *, CUdevResourceType); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDevSmResourceSplitByCount)(CUdevResource *, unsigned int *, CUdevResource const *, CUdevResource *, unsigned int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuDevResourceGenerateDesc)(CUdevResourceDesc *, CUdevResource *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGreenCtxRecordEvent)(CUgreenCtx, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGreenCtxWaitEvent)(CUgreenCtx, CUevent); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuStreamGetGreenCtx)(CUstream, CUgreenCtx *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuProfilerStart)(void); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuProfilerStop)(void); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphicsEGLRegisterImage)(CUgraphicsResource *, __pyx_t_4cuda_5ccuda_EGLImageKHR, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuEGLStreamConsumerConnect)(__pyx_t_4cuda_5ccuda_CUeglStreamConnection *, __pyx_t_4cuda_5ccuda_EGLStreamKHR); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuEGLStreamConsumerConnectWithFlags)(__pyx_t_4cuda_5ccuda_CUeglStreamConnection *, __pyx_t_4cuda_5ccuda_EGLStreamKHR, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuEGLStreamConsumerDisconnect)(__pyx_t_4cuda_5ccuda_CUeglStreamConnection *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuEGLStreamConsumerAcquireFrame)(__pyx_t_4cuda_5ccuda_CUeglStreamConnection *, CUgraphicsResource *, CUstream *, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuEGLStreamConsumerReleaseFrame)(__pyx_t_4cuda_5ccuda_CUeglStreamConnection *, CUgraphicsResource, CUstream *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuEGLStreamProducerConnect)(__pyx_t_4cuda_5ccuda_CUeglStreamConnection *, __pyx_t_4cuda_5ccuda_EGLStreamKHR, __pyx_t_4cuda_5ccuda_EGLint, __pyx_t_4cuda_5ccuda_EGLint); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuEGLStreamProducerDisconnect)(__pyx_t_4cuda_5ccuda_CUeglStreamConnection *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuEGLStreamProducerPresentFrame)(__pyx_t_4cuda_5ccuda_CUeglStreamConnection *, __pyx_t_4cuda_5ccuda_CUeglFrame, CUstream *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuEGLStreamProducerReturnFrame)(__pyx_t_4cuda_5ccuda_CUeglStreamConnection *, __pyx_t_4cuda_5ccuda_CUeglFrame *, CUstream *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphicsResourceGetMappedEglFrame)(__pyx_t_4cuda_5ccuda_CUeglFrame *, CUgraphicsResource, unsigned int, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuEventCreateFromEGLSync)(CUevent *, __pyx_t_4cuda_5ccuda_EGLSyncKHR, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphicsGLRegisterBuffer)(CUgraphicsResource *, __pyx_t_4cuda_5ccuda_GLuint, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphicsGLRegisterImage)(CUgraphicsResource *, __pyx_t_4cuda_5ccuda_GLuint, __pyx_t_4cuda_5ccuda_GLenum, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGLGetDevices)(unsigned int *, CUdevice *, unsigned int, __pyx_t_4cuda_5ccuda_CUGLDeviceList); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuVDPAUGetDevice)(CUdevice *, __pyx_t_4cuda_5ccuda_VdpDevice, __pyx_t_4cuda_5ccuda_VdpGetProcAddress *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuVDPAUCtxCreate)(CUcontext *, unsigned int, CUdevice, __pyx_t_4cuda_5ccuda_VdpDevice, __pyx_t_4cuda_5ccuda_VdpGetProcAddress *); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphicsVDPAURegisterVideoSurface)(CUgraphicsResource *, __pyx_t_4cuda_5ccuda_VdpVideoSurface, unsigned int); /*proto*/
static CUresult (*__pyx_f_4cuda_5ccuda_cuGraphicsVDPAURegisterOutputSurface)(CUgraphicsResource *, __pyx_t_4cuda_5ccuda_VdpOutputSurface, unsigned int); /*proto*/

/* Module declarations from "libcpp.vector" */

/* Module declarations from "cuda._lib.utils" */

/* 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 "cuda.cuda" */
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<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.cuda"
extern int __pyx_module_is_main_cuda__cuda;
int __pyx_module_is_main_cuda__cuda = 0;

/* Implementation of "cuda.cuda" */
/* #### Code section: global_var ### */
static PyObject *__pyx_builtin_TypeError;
static PyObject *__pyx_builtin_hex;
static PyObject *__pyx_builtin_ValueError;
static PyObject *__pyx_builtin_enumerate;
static PyObject *__pyx_builtin_range;
static PyObject *__pyx_builtin_MemoryError;
static PyObject *__pyx_builtin_IndexError;
static PyObject *__pyx_builtin_RuntimeError;
static PyObject *__pyx_builtin_zip;
static PyObject *__pyx_builtin_OverflowError;
/* #### Code section: string_decls ### */
static const char __pyx_k_[] = ">";
static const char __pyx_k_N[] = "N";
static const char __pyx_k_f[] = "f";
static const char __pyx_k_p[] = "p";
static const char __pyx_k_x[] = "x";
static const char __pyx_k_y[] = "y : ";
static const char __pyx_k_z[] = "z : ";
static const char __pyx_k_am[] = "am";
static const char __pyx_k_cf[] = "cf";
static const char __pyx_k_cp[] = "cp";
static const char __pyx_k_fd[] = "fd : ";
static const char __pyx_k_fm[] = "fm";
static const char __pyx_k_fn[] = "fn : ";
static const char __pyx_k_gc[] = "gc";
static const char __pyx_k_id[] = "id : ";
static const char __pyx_k_pf[] = "pf";
static const char __pyx_k_pi[] = "pi";
static const char __pyx_k_pp[] = "pp";
static const char __pyx_k_sm[] = "sm :\n";
static const char __pyx_k_to[] = "to";
static const char __pyx_k_uc[] = "uc";
static const char __pyx_k_ui[] = "ui";
static const char __pyx_k_us[] = "us";
static const char __pyx_k_Any[] = "Any";
static const char __pyx_k_cam[] = "cam";
static const char __pyx_k_cfm[] = "cfm";
static const char __pyx_k_cfn[] = "cfn";
static const char __pyx_k_cto[] = "cto";
static const char __pyx_k_ctx[] = "ctx : ";
static const char __pyx_k_dev[] = "dev";
static const char __pyx_k_dim[] = "dim";
static const char __pyx_k_doc[] = "__doc__";
static const char __pyx_k_dst[] = "dst : ";
static const char __pyx_k_err[] = "err";
static const char __pyx_k_fmt[] = "fmt";
static const char __pyx_k_hex[] = "hex";
static const char __pyx_k_idx[] = "idx";
static const char __pyx_k_int[] = "__int__";
static const char __pyx_k_key[] = "key : ";
static const char __pyx_k_lib[] = "lib";
static const char __pyx_k_map[] = "map";
static const char __pyx_k_mod[] = "mod";
static const char __pyx_k_obj[] = "obj";
static const char __pyx_k_pad[] = "pad : ";
static const char __pyx_k_pam[] = "pam";
static const char __pyx_k_pfm[] = "pfm";
static const char __pyx_k_pfn[] = "pfn";
static const char __pyx_k_ptr[] = "_ptr";
static const char __pyx_k_res[] = "res :\n";
static const char __pyx_k_src[] = "src";
static const char __pyx_k_val[] = "val : ";
static const char __pyx_k_x_2[] = "x : ";
static const char __pyx_k_y_2[] = "y";
static const char __pyx_k_z_2[] = "z";
static const char __pyx_k_zip[] = "zip";
static const char __pyx_k_List[] = "List";
static const char __pyx_k__117[] = "\n";
static const char __pyx_k__118[] = "";
static const char __pyx_k__143[] = "    ";
static const char __pyx_k__486[] = " ";
static const char __pyx_k__535[] = " < ";
static const char __pyx_k__959[] = ".";
static const char __pyx_k__960[] = "*";
static const char __pyx_k__961[] = "\n\n    ";
static const char __pyx_k_addr[] = "addr";
static const char __pyx_k_args[] = "args";
static const char __pyx_k_attr[] = "attr";
static const char __pyx_k_bias[] = "bias";
static const char __pyx_k_cctx[] = "cctx";
static const char __pyx_k_cdev[] = "cdev";
static const char __pyx_k_cdst[] = "cdst";
static const char __pyx_k_cfmt[] = "cfmt";
static const char __pyx_k_clib[] = "clib";
static const char __pyx_k_cmap[] = "cmap";
static const char __pyx_k_cmod[] = "cmod";
static const char __pyx_k_code[] = "code";
static const char __pyx_k_conn[] = "conn";
static const char __pyx_k_cptr[] = "cptr";
static const char __pyx_k_csrc[] = "csrc";
static const char __pyx_k_data[] = "data : ";
static const char __pyx_k_desc[] = "desc";
static const char __pyx_k_dict[] = "__dict__";
static const char __pyx_k_dptr[] = "dptr : ";
static const char __pyx_k_dstY[] = "dstY : ";
static const char __pyx_k_dstZ[] = "dstZ : ";
static const char __pyx_k_enum[] = "enum";
static const char __pyx_k_fd_2[] = "fd";
static const char __pyx_k_fn_2[] = "fn";
static const char __pyx_k_fptr[] = "fptr";
static const char __pyx_k_free[] = "free :\n";
static const char __pyx_k_from[] = "from_";
static const char __pyx_k_func[] = "func : ";
static const char __pyx_k_hCtx[] = "hCtx";
static const char __pyx_k_hEnd[] = "hEnd";
static const char __pyx_k_hmod[] = "hmod";
static const char __pyx_k_host[] = "host :\n";
static const char __pyx_k_id_2[] = "id";
static const char __pyx_k_info[] = "info :\n";
static const char __pyx_k_kern[] = "kern : ";
static const char __pyx_k_luid[] = "luid";
static const char __pyx_k_main[] = "__main__";
static const char __pyx_k_mode[] = "mode";
static const char __pyx_k_name[] = "name : ";
static const char __pyx_k_pCtx[] = "pCtx";
static const char __pyx_k_pMod[] = "pMod";
static const char __pyx_k_pStr[] = "pStr";
static const char __pyx_k_path[] = "path";
static const char __pyx_k_pctx[] = "pctx";
static const char __pyx_k_pdev[] = "pdev";
static const char __pyx_k_pdst[] = "pdst";
static const char __pyx_k_plib[] = "plib";
static const char __pyx_k_pmod[] = "pmod";
static const char __pyx_k_pool[] = "pool";
static const char __pyx_k_pptr[] = "pptr";
static const char __pyx_k_prop[] = "prop";
static const char __pyx_k_psrc[] = "psrc";
static const char __pyx_k_pyto[] = "pyto";
static const char __pyx_k_self[] = "self";
static const char __pyx_k_send[] = "send";
static const char __pyx_k_size[] = "size : ";
static const char __pyx_k_sm_2[] = "sm";
static const char __pyx_k_spec[] = "__spec__";
static const char __pyx_k_srcY[] = "srcY : ";
static const char __pyx_k_srcZ[] = "srcZ : ";
static const char __pyx_k_test[] = "__test__";
static const char __pyx_k_type[] = "type : ";
static const char __pyx_k_uuid[] = "uuid";
static const char __pyx_k_Depth[] = "Depth : ";
static const char __pyx_k_Flags[] = "Flags : ";
static const char __pyx_k_Pitch[] = "Pitch";
static const char __pyx_k_Tuple[] = "Tuple";
static const char __pyx_k_Width[] = "Width : ";
static const char __pyx_k__1338[] = "?";
static const char __pyx_k_alias[] = "alias : ";
static const char __pyx_k_alloc[] = "alloc :\n";
static const char __pyx_k_array[] = "array :\n";
static const char __pyx_k_attrs[] = "attrs : ";
static const char __pyx_k_bytes[] = "bytes : ";
static const char __pyx_k_caddr[] = "caddr";
static const char __pyx_k_cattr[] = "cattr";
static const char __pyx_k_ccode[] = "ccode";
static const char __pyx_k_cconn[] = "cconn";
static const char __pyx_k_cdata[] = "cdata";
static const char __pyx_k_cdesc[] = "cdesc";
static const char __pyx_k_cdptr[] = "cdptr";
static const char __pyx_k_cfrom[] = "cfrom_";
static const char __pyx_k_cfunc[] = "cfunc";
static const char __pyx_k_chCtx[] = "chCtx";
static const char __pyx_k_chEnd[] = "chEnd";
static const char __pyx_k_chmod[] = "chmod";
static const char __pyx_k_close[] = "close";
static const char __pyx_k_cmode[] = "cmode";
static const char __pyx_k_count[] = "count : ";
static const char __pyx_k_cpool[] = "cpool";
static const char __pyx_k_ctxId[] = "ctxId";
static const char __pyx_k_ctx_2[] = "ctx";
static const char __pyx_k_depth[] = "depth : ";
static const char __pyx_k_dst_2[] = "dst";
static const char __pyx_k_error[] = "error";
static const char __pyx_k_event[] = "event : ";
static const char __pyx_k_extra[] = "extra : ";
static const char __pyx_k_fence[] = "fence : ";
static const char __pyx_k_flags[] = "flags : ";
static const char __pyx_k_fname[] = "fname";
static const char __pyx_k_frame[] = "frame :\n";
static const char __pyx_k_graph[] = "graph : ";
static const char __pyx_k_hNode[] = "hNode";
static const char __pyx_k_hfunc[] = "hfunc";
static const char __pyx_k_image[] = "image";
static const char __pyx_k_index[] = "index";
static const char __pyx_k_input[] = "input_";
static const char __pyx_k_key_2[] = "key";
static const char __pyx_k_layer[] = "layer : ";
static const char __pyx_k_level[] = "level : ";
static const char __pyx_k_limit[] = "limit";
static const char __pyx_k_major[] = "major";
static const char __pyx_k_memOp[] = "memOp :\n";
static const char __pyx_k_minor[] = "minor";
static const char __pyx_k_pCopy[] = "pCopy";
static const char __pyx_k_pFunc[] = "pFunc";
static const char __pyx_k_pSize[] = "pSize";
static const char __pyx_k_pad_2[] = "pad";
static const char __pyx_k_paddr[] = "paddr";
static const char __pyx_k_param[] = "param :\n";
static const char __pyx_k_pbase[] = "pbase";
static const char __pyx_k_pbias[] = "pbias";
static const char __pyx_k_pconn[] = "pconn";
static const char __pyx_k_pdesc[] = "pdesc";
static const char __pyx_k_pdptr[] = "pdptr";
static const char __pyx_k_pfunc[] = "pfunc";
static const char __pyx_k_phCtx[] = "phCtx";
static const char __pyx_k_phEnd[] = "phEnd";
static const char __pyx_k_phmod[] = "phmod";
static const char __pyx_k_pitch[] = "pitch : ";
static const char __pyx_k_ppool[] = "ppool";
static const char __pyx_k_psize[] = "psize";
static const char __pyx_k_ptr_2[] = "ptr";
static const char __pyx_k_pyObj[] = "pyObj";
static const char __pyx_k_range[] = "range";
static const char __pyx_k_res_2[] = "res";
static const char __pyx_k_scope[] = "scope";
static const char __pyx_k_state[] = "state";
static const char __pyx_k_super[] = "super";
static const char __pyx_k_throw[] = "throw";
static const char __pyx_k_total[] = "total";
static const char __pyx_k_usage[] = "usage : ";
static const char __pyx_k_val_2[] = "val";
static const char __pyx_k_value[] = "value : ";
static const char __pyx_k_width[] = "width : ";
static const char __pyx_k_win32[] = "win32 :\n";
static const char __pyx_k_CUuuid[] = "CUuuid";
static const char __pyx_k_EGLint[] = "<EGLint ";
static const char __pyx_k_Format[] = "Format : ";
static const char __pyx_k_GLenum[] = "<GLenum ";
static const char __pyx_k_GLuint[] = "<GLuint ";
static const char __pyx_k_Height[] = "Height : ";
static const char __pyx_k_Limits[] = "\n    Limits\n    ";
static const char __pyx_k_active[] = "active";
static const char __pyx_k_advice[] = "advice";
static const char __pyx_k_attrib[] = "attrib";
static const char __pyx_k_boxDim[] = "boxDim";
static const char __pyx_k_buffer[] = "buffer";
static const char __pyx_k_carray[] = "carray";
static const char __pyx_k_cerror[] = "cerror";
static const char __pyx_k_cevent[] = "cevent";
static const char __pyx_k_cflags[] = "cflags";
static const char __pyx_k_cgraph[] = "cgraph";
static const char __pyx_k_chNode[] = "chNode";
static const char __pyx_k_chfunc[] = "chfunc";
static const char __pyx_k_cimage[] = "cimage";
static const char __pyx_k_climit[] = "climit";
static const char __pyx_k_cnodes[] = "cnodes";
static const char __pyx_k_config[] = "config";
static const char __pyx_k_cp_ptr[] = "cp_ptr";
static const char __pyx_k_cscope[] = "cscope";
static const char __pyx_k_cstate[] = "cstate";
static const char __pyx_k_ctypes[] = "ctypes";
static const char __pyx_k_cuInit[] = "cuInit";
static const char __pyx_k_cvalue[] = "cvalue";
static const char __pyx_k_cwidth[] = "cwidth";
static const char __pyx_k_data_2[] = "data";
static const char __pyx_k_devPtr[] = "devPtr : ";
static const char __pyx_k_device[] = "device";
static const char __pyx_k_dptr_2[] = "dptr";
static const char __pyx_k_dstLOD[] = "dstLOD : ";
static const char __pyx_k_dstY_2[] = "dstY";
static const char __pyx_k_dstZ_2[] = "dstZ";
static const char __pyx_k_enable[] = "enable";
static const char __pyx_k_extMem[] = "extMem";
static const char __pyx_k_extSem[] = "extSem";
static const char __pyx_k_format[] = "format : ";
static const char __pyx_k_free_2[] = "free";
static const char __pyx_k_func_2[] = "func";
static const char __pyx_k_getPtr[] = "getPtr";
static const char __pyx_k_hArray[] = "hArray : ";
static const char __pyx_k_hEvent[] = "hEvent";
static const char __pyx_k_hGraph[] = "hGraph";
static const char __pyx_k_hStart[] = "hStart";
static const char __pyx_k_handle[] = "handle : ";
static const char __pyx_k_height[] = "height : ";
static const char __pyx_k_host_2[] = "host";
static const char __pyx_k_id_out[] = "id_out";
static const char __pyx_k_import[] = "__import__";
static const char __pyx_k_info_2[] = "info";
static const char __pyx_k_kern_2[] = "kern";
static const char __pyx_k_kernel[] = "kernel :\n";
static const char __pyx_k_length[] = "length";
static const char __pyx_k_linear[] = "linear :\n";
static const char __pyx_k_memcpy[] = "memcpy :\n";
static const char __pyx_k_memptr[] = "memptr";
static const char __pyx_k_memset[] = "memset :\n";
static const char __pyx_k_mipmap[] = "mipmap :\n";
static const char __pyx_k_module[] = "__module__";
static const char __pyx_k_name_2[] = "name";
static const char __pyx_k_name_3[] = "__name__";
static const char __pyx_k_object[] = "object";
static const char __pyx_k_offset[] = "offset : ";
static const char __pyx_k_opaque[] = "opaque : ";
static const char __pyx_k_option[] = "option";
static const char __pyx_k_pArray[] = "pArray : ";
static const char __pyx_k_pFlags[] = "pFlags";
static const char __pyx_k_pPitch[] = "pPitch : ";
static const char __pyx_k_params[] = "params :\n";
static const char __pyx_k_parray[] = "parray";
static const char __pyx_k_pevent[] = "pevent";
static const char __pyx_k_pflags[] = "pflags";
static const char __pyx_k_pgraph[] = "pgraph";
static const char __pyx_k_phDesc[] = "phDesc";
static const char __pyx_k_phNode[] = "phNode";
static const char __pyx_k_phfunc[] = "phfunc";
static const char __pyx_k_pimage[] = "pimage";
static const char __pyx_k_pstate[] = "pstate";
static const char __pyx_k_pvalue[] = "pvalue";
static const char __pyx_k_pwidth[] = "pwidth";
static const char __pyx_k_pyfrom[] = "pyfrom_";
static const char __pyx_k_pylist[] = "pylist";
static const char __pyx_k_pyname[] = "pyname";
static const char __pyx_k_reduce[] = "__reduce__";
static const char __pyx_k_remote[] = "remote : ";
static const char __pyx_k_result[] = "result : ";
static const char __pyx_k_size_2[] = "size";
static const char __pyx_k_sizeof[] = "sizeof";
static const char __pyx_k_srcLOD[] = "srcLOD : ";
static const char __pyx_k_srcY_2[] = "srcY";
static const char __pyx_k_srcZ_2[] = "srcZ";
static const char __pyx_k_stream[] = "stream";
static const char __pyx_k_symbol[] = "symbol";
static const char __pyx_k_target[] = "target";
static const char __pyx_k_type_2[] = "type";
static const char __pyx_k_typing[] = "typing";
static const char __pyx_k_CUarray[] = "<CUarray ";
static const char __pyx_k_CUevent[] = "<CUevent ";
static const char __pyx_k_CUgraph[] = "<CUgraph ";
static const char __pyx_k_CUlimit[] = "CUlimit";
static const char __pyx_k_Depth_2[] = "Depth";
static const char __pyx_k_Flags_2[] = "Flags";
static const char __pyx_k_IntEnum[] = "IntEnum";
static const char __pyx_k_Width_2[] = "Width";
static const char __pyx_k_address[] = "address : ";
static const char __pyx_k_alias_2[] = "alias";
static const char __pyx_k_alloc_2[] = "alloc";
static const char __pyx_k_array_2[] = "array";
static const char __pyx_k_array_3[] = "array : ";
static const char __pyx_k_attrs_2[] = "attrs";
static const char __pyx_k_bytes_2[] = "bytes";
static const char __pyx_k_cadvice[] = "cadvice";
static const char __pyx_k_cattrib[] = "cattrib";
static const char __pyx_k_cboxDim[] = "cboxDim";
static const char __pyx_k_cbuffer[] = "cbuffer";
static const char __pyx_k_cconfig[] = "cconfig";
static const char __pyx_k_cdevPtr[] = "cdevPtr";
static const char __pyx_k_cdevice[] = "cdevice";
static const char __pyx_k_cextMem[] = "cextMem";
static const char __pyx_k_cextSem[] = "cextSem";
static const char __pyx_k_chArray[] = "chArray";
static const char __pyx_k_chEvent[] = "chEvent";
static const char __pyx_k_chGraph[] = "chGraph";
static const char __pyx_k_chStart[] = "chStart";
static const char __pyx_k_chandle[] = "chandle";
static const char __pyx_k_cheight[] = "cheight";
static const char __pyx_k_ckernel[] = "ckernel";
static const char __pyx_k_cmemptr[] = "cmemptr";
static const char __pyx_k_cmipmap[] = "cmipmap";
static const char __pyx_k_cobject[] = "cobject";
static const char __pyx_k_coption[] = "coption";
static const char __pyx_k_copyCtx[] = "copyCtx : ";
static const char __pyx_k_count_2[] = "count";
static const char __pyx_k_cresult[] = "cresult";
static const char __pyx_k_cstream[] = "cstream";
static const char __pyx_k_ctarget[] = "ctarget";
static const char __pyx_k_default[] = "default_ : ";
static const char __pyx_k_depth_2[] = "depth";
static const char __pyx_k_destroy[] = "destroy";
static const char __pyx_k_devNode[] = "devNode : ";
static const char __pyx_k_disable[] = "disable";
static const char __pyx_k_dstHost[] = "dstHost : ";
static const char __pyx_k_eglSync[] = "eglSync";
static const char __pyx_k_event_2[] = "event";
static const char __pyx_k_extra_2[] = "extra";
static const char __pyx_k_fence_2[] = "fence";
static const char __pyx_k_fence_3[] = "fence :\n";
static const char __pyx_k_flags_2[] = "flags";
static const char __pyx_k_frame_2[] = "frame";
static const char __pyx_k_genexpr[] = "genexpr";
static const char __pyx_k_graph_2[] = "graph";
static const char __pyx_k_graph_3[] = "graph :\n";
static const char __pyx_k_hStream[] = "hStream : ";
static const char __pyx_k_hTexRef[] = "hTexRef";
static const char __pyx_k_hitProp[] = "hitProp : ";
static const char __pyx_k_layer_2[] = "layer";
static const char __pyx_k_level_2[] = "level";
static const char __pyx_k_library[] = "library";
static const char __pyx_k_maxSize[] = "maxSize : ";
static const char __pyx_k_memOp_2[] = "memOp";
static const char __pyx_k_memPool[] = "memPool";
static const char __pyx_k_miptail[] = "miptail :\n";
static const char __pyx_k_objType[] = "objType";
static const char __pyx_k_offsetX[] = "offsetX : ";
static const char __pyx_k_offsetY[] = "offsetY : ";
static const char __pyx_k_offsetZ[] = "offsetZ : ";
static const char __pyx_k_oobFill[] = "oobFill";
static const char __pyx_k_options[] = "options";
static const char __pyx_k_ordinal[] = "ordinal";
static const char __pyx_k_pConfig[] = "pConfig";
static const char __pyx_k_pDevPtr[] = "pDevPtr";
static const char __pyx_k_pDevice[] = "pDevice";
static const char __pyx_k_pFormat[] = "pFormat";
static const char __pyx_k_pHandle[] = "pHandle";
static const char __pyx_k_pKernel[] = "pKernel";
static const char __pyx_k_pStream[] = "pStream";
static const char __pyx_k_pTexRef[] = "pTexRef";
static const char __pyx_k_param_2[] = "param";
static const char __pyx_k_pbuffer[] = "pbuffer";
static const char __pyx_k_pconfig[] = "pconfig";
static const char __pyx_k_pdevPtr[] = "pdevPtr";
static const char __pyx_k_pdevice[] = "pdevice";
static const char __pyx_k_peerDev[] = "peerDev";
static const char __pyx_k_pextMem[] = "pextMem";
static const char __pyx_k_pextSem[] = "pextSem";
static const char __pyx_k_pformat[] = "pformat";
static const char __pyx_k_phArray[] = "phArray";
static const char __pyx_k_phEvent[] = "phEvent";
static const char __pyx_k_phGraph[] = "phGraph";
static const char __pyx_k_phStart[] = "phStart";
static const char __pyx_k_phandle[] = "phandle";
static const char __pyx_k_pheight[] = "pheight";
static const char __pyx_k_pitch2D[] = "pitch2D :\n";
static const char __pyx_k_pitch_2[] = "pitch";
static const char __pyx_k_pkernel[] = "pkernel";
static const char __pyx_k_pmemptr[] = "pmemptr";
static const char __pyx_k_pmipmap[] = "pmipmap";
static const char __pyx_k_pobject[] = "pobject";
static const char __pyx_k_prepare[] = "__prepare__";
static const char __pyx_k_pstream[] = "pstream";
static const char __pyx_k_ptarget[] = "ptarget";
static const char __pyx_k_ptr_out[] = "ptr_out";
static const char __pyx_k_pynodes[] = "pynodes";
static const char __pyx_k_resType[] = "resType : ";
static const char __pyx_k_sizeOut[] = "sizeOut";
static const char __pyx_k_smCount[] = "smCount :\n";
static const char __pyx_k_srcHost[] = "srcHost : ";
static const char __pyx_k_swizzle[] = "swizzle";
static const char __pyx_k_texunit[] = "texunit";
static const char __pyx_k_timeout[] = "timeout";
static const char __pyx_k_to_port[] = "to_port : ";
static const char __pyx_k_usage_2[] = "usage";
static const char __pyx_k_value64[] = "value64 : ";
static const char __pyx_k_value_2[] = "value";
static const char __pyx_k_value_3[] = "value :\n";
static const char __pyx_k_version[] = "version";
static const char __pyx_k_width_2[] = "width";
static const char __pyx_k_win32_2[] = "win32";
static const char __pyx_k_CUdevice[] = "<CUdevice ";
static const char __pyx_k_CUhostFn[] = "<CUhostFn ";
static const char __pyx_k_CUkernel[] = "<CUkernel ";
static const char __pyx_k_CUmodule[] = "<CUmodule ";
static const char __pyx_k_CUresult[] = "CUresult";
static const char __pyx_k_CUstream[] = "<CUstream ";
static const char __pyx_k_CUtexref[] = "<CUtexref ";
static const char __pyx_k_EGLint_2[] = "EGLint";
static const char __pyx_k_Format_2[] = "Format";
static const char __pyx_k_GLenum_2[] = "GLenum";
static const char __pyx_k_GLuint_2[] = "GLuint";
static const char __pyx_k_Height_2[] = "Height";
static const char __pyx_k_List_int[] = "List[int]";
static const char __pyx_k_Optional[] = "Optional";
static const char __pyx_k_base_ptr[] = "base_ptr : ";
static const char __pyx_k_bytesize[] = "bytesize : ";
static const char __pyx_k_callback[] = "callback";
static const char __pyx_k_cdestroy[] = "cdestroy";
static const char __pyx_k_cdstHost[] = "cdstHost";
static const char __pyx_k_ceglSync[] = "ceglSync";
static const char __pyx_k_chStream[] = "chStream";
static const char __pyx_k_chTexRef[] = "chTexRef";
static const char __pyx_k_ckernels[] = "ckernels";
static const char __pyx_k_clibrary[] = "clibrary";
static const char __pyx_k_cmemPool[] = "cmemPool";
static const char __pyx_k_coobFill[] = "coobFill";
static const char __pyx_k_coptions[] = "coptions";
static const char __pyx_k_cpStream[] = "cpStream";
static const char __pyx_k_cpeerDev[] = "cpeerDev";
static const char __pyx_k_cpformat[] = "cpformat";
static const char __pyx_k_cptr_ptr[] = "cptr_ptr";
static const char __pyx_k_csrcHost[] = "csrcHost";
static const char __pyx_k_cswizzle[] = "cswizzle";
static const char __pyx_k_cuFormat[] = "cuFormat : ";
static const char __pyx_k_cuLaunch[] = "cuLaunch";
static const char __pyx_k_cuMemMap[] = "cuMemMap";
static const char __pyx_k_cuMemcpy[] = "cuMemcpy";
static const char __pyx_k_cubinOut[] = "cubinOut";
static const char __pyx_k_dataSize[] = "dataSize";
static const char __pyx_k_devPtr_2[] = "devPtr";
static const char __pyx_k_dptr_out[] = "dptr_out";
static const char __pyx_k_dstArray[] = "dstArray : ";
static const char __pyx_k_dstLOD_2[] = "dstLOD";
static const char __pyx_k_dstPitch[] = "dstPitch : ";
static const char __pyx_k_edgeData[] = "edgeData";
static const char __pyx_k_eglFrame[] = "eglFrame";
static const char __pyx_k_eglframe[] = "eglframe";
static const char __pyx_k_fatCubin[] = "fatCubin";
static const char __pyx_k_fileName[] = "fileName";
static const char __pyx_k_format_2[] = "format";
static const char __pyx_k_function[] = "function : ";
static const char __pyx_k_getstate[] = "__getstate__";
static const char __pyx_k_gridDimX[] = "gridDimX : ";
static const char __pyx_k_gridDimY[] = "gridDimY : ";
static const char __pyx_k_gridDimZ[] = "gridDimZ : ";
static const char __pyx_k_hArray_2[] = "hArray";
static const char __pyx_k_hSurfRef[] = "hSurfRef";
static const char __pyx_k_handle_2[] = "handle";
static const char __pyx_k_handle_3[] = "handle :\n";
static const char __pyx_k_height_2[] = "height";
static const char __pyx_k_hitRatio[] = "hitRatio : ";
static const char __pyx_k_kernel_2[] = "kernel";
static const char __pyx_k_linear_2[] = "linear";
static const char __pyx_k_location[] = "location :\n";
static const char __pyx_k_maxAniso[] = "maxAniso";
static const char __pyx_k_mcHandle[] = "mcHandle";
static const char __pyx_k_mcOffset[] = "mcOffset";
static const char __pyx_k_memPitch[] = "memPitch : ";
static const char __pyx_k_memcpy_2[] = "memcpy";
static const char __pyx_k_memset_2[] = "memset";
static const char __pyx_k_minCount[] = "minCount";
static const char __pyx_k_mipLevel[] = "mipLevel";
static const char __pyx_k_mipmap_2[] = "mipmap";
static const char __pyx_k_mipmap_3[] = "mipmap : ";
static const char __pyx_k_missProp[] = "missProp : ";
static const char __pyx_k_module_2[] = "module";
static const char __pyx_k_nbGroups[] = "nbGroups";
static const char __pyx_k_numAttrs[] = "numAttrs : ";
static const char __pyx_k_numEdges[] = "numEdges";
static const char __pyx_k_numNodes[] = "numNodes";
static const char __pyx_k_numbytes[] = "numbytes";
static const char __pyx_k_offset_2[] = "offset";
static const char __pyx_k_opaque_2[] = "opaque";
static const char __pyx_k_osHandle[] = "osHandle";
static const char __pyx_k_oversize[] = "_oversize : ";
static const char __pyx_k_p2pToken[] = "p2pToken : ";
static const char __pyx_k_pArray_2[] = "pArray";
static const char __pyx_k_pContext[] = "pContext";
static const char __pyx_k_pPitch_2[] = "pPitch";
static const char __pyx_k_pResDesc[] = "pResDesc";
static const char __pyx_k_pSurfRef[] = "pSurfRef";
static const char __pyx_k_pTexDesc[] = "pTexDesc";
static const char __pyx_k_params_2[] = "params";
static const char __pyx_k_pciBusId[] = "pciBusId";
static const char __pyx_k_pdestroy[] = "pdestroy";
static const char __pyx_k_peglSync[] = "peglSync";
static const char __pyx_k_phStream[] = "phStream";
static const char __pyx_k_phTexRef[] = "phTexRef";
static const char __pyx_k_planeIdx[] = "planeIdx";
static const char __pyx_k_plibrary[] = "plibrary";
static const char __pyx_k_pmemPool[] = "pmemPool";
static const char __pyx_k_pool_out[] = "pool_out";
static const char __pyx_k_ppStream[] = "ppStream";
static const char __pyx_k_ppeerDev[] = "ppeerDev";
static const char __pyx_k_priority[] = "priority : ";
static const char __pyx_k_pyresult[] = "pyresult";
static const char __pyx_k_qualname[] = "__qualname__";
static const char __pyx_k_remote_2[] = "remote";
static const char __pyx_k_reserved[] = "reserved : ";
static const char __pyx_k_resource[] = "resource :\n";
static const char __pyx_k_result_2[] = "result";
static const char __pyx_k_set_name[] = "__set_name__";
static const char __pyx_k_setstate[] = "__setstate__";
static const char __pyx_k_srcArray[] = "srcArray : ";
static const char __pyx_k_srcLOD_2[] = "srcLOD";
static const char __pyx_k_srcPitch[] = "srcPitch : ";
static const char __pyx_k_stateOut[] = "stateOut";
static const char __pyx_k_streamId[] = "streamId";
static const char __pyx_k_typename[] = "typename";
static const char __pyx_k_useFlags[] = "useFlags";
static const char __pyx_k_userData[] = "userData : ";
static const char __pyx_k_ByteCount[] = "ByteCount";
static const char __pyx_k_CUarray_2[] = "CUarray";
static const char __pyx_k_CUcontext[] = "<CUcontext ";
static const char __pyx_k_CUdevprop[] = "CUdevprop";
static const char __pyx_k_CUevent_2[] = "CUevent";
static const char __pyx_k_CUgraph_2[] = "CUgraph";
static const char __pyx_k_CUlibrary[] = "<CUlibrary ";
static const char __pyx_k_CUsurfref[] = "<CUsurfref ";
static const char __pyx_k_CUuuid_st[] = "CUuuid_st";
static const char __pyx_k_SIMDWidth[] = "SIMDWidth : ";
static const char __pyx_k_TypeError[] = "TypeError";
static const char __pyx_k_VdpDevice[] = "<VdpDevice ";
static const char __pyx_k_address_2[] = "address";
static const char __pyx_k_alignment[] = "alignment : ";
static const char __pyx_k_allocType[] = "allocType : ";
static const char __pyx_k_arrayDesc[] = "arrayDesc :\n";
static const char __pyx_k_attribute[] = "attribute";
static const char __pyx_k_blockDimX[] = "blockDimX : ";
static const char __pyx_k_blockDimY[] = "blockDimY : ";
static const char __pyx_k_blockDimZ[] = "blockDimZ : ";
static const char __pyx_k_blockSize[] = "blockSize";
static const char __pyx_k_caddr_ptr[] = "caddr_ptr";
static const char __pyx_k_ccallback[] = "ccallback";
static const char __pyx_k_ccode_ptr[] = "ccode_ptr";
static const char __pyx_k_cdata_ptr[] = "cdata_ptr";
static const char __pyx_k_cdesc_ptr[] = "cdesc_ptr";
static const char __pyx_k_cdstArray[] = "cdstArray";
static const char __pyx_k_cedgeData[] = "cedgeData";
static const char __pyx_k_cfatCubin[] = "cfatCubin";
static const char __pyx_k_cfunction[] = "cfunction";
static const char __pyx_k_chSurfRef[] = "chSurfRef";
static const char __pyx_k_clockRate[] = "clockRate : ";
static const char __pyx_k_cmcHandle[] = "cmcHandle";
static const char __pyx_k_cnbGroups[] = "cnbGroups";
static const char __pyx_k_copyCtx_2[] = "copyCtx";
static const char __pyx_k_cosHandle[] = "cosHandle";
static const char __pyx_k_cprop_ptr[] = "cprop_ptr";
static const char __pyx_k_cresource[] = "cresource";
static const char __pyx_k_csrcArray[] = "csrcArray";
static const char __pyx_k_ctypename[] = "ctypename";
static const char __pyx_k_cuMemFree[] = "cuMemFree";
static const char __pyx_k_cuda_cuda[] = "cuda.cuda";
static const char __pyx_k_cuserData[] = "cuserData";
static const char __pyx_k_dataSizes[] = "dataSizes";
static const char __pyx_k_dataTable[] = "dataTable : ";
static const char __pyx_k_default_2[] = "default_";
static const char __pyx_k_devNode_2[] = "devNode";
static const char __pyx_k_dstDevice[] = "dstDevice : ";
static const char __pyx_k_dstHeight[] = "dstHeight : ";
static const char __pyx_k_dstHost_2[] = "dstHost";
static const char __pyx_k_dstOffset[] = "dstOffset";
static const char __pyx_k_enumerate[] = "enumerate";
static const char __pyx_k_errorNode[] = "errorNode : ";
static const char __pyx_k_eventWait[] = "eventWait :\n";
static const char __pyx_k_event_out[] = "event_out";
static const char __pyx_k_frameType[] = "frameType : ";
static const char __pyx_k_from_port[] = "from_port : ";
static const char __pyx_k_globalDim[] = "globalDim";
static const char __pyx_k_graph_out[] = "graph_out";
static const char __pyx_k_hStream_2[] = "hStream";
static const char __pyx_k_hitProp_2[] = "hitProp";
static const char __pyx_k_isEnabled[] = "isEnabled";
static const char __pyx_k_is_getter[] = "is_getter";
static const char __pyx_k_isenabled[] = "isenabled";
static const char __pyx_k_lastLayer[] = "lastLayer : ";
static const char __pyx_k_maxSize_2[] = "maxSize";
static const char __pyx_k_memHandle[] = "memHandle : ";
static const char __pyx_k_memOffset[] = "memOffset";
static const char __pyx_k_metaclass[] = "__metaclass__";
static const char __pyx_k_miptail_2[] = "miptail";
static const char __pyx_k_numBlocks[] = "numBlocks";
static const char __pyx_k_numLevels[] = "numLevels : ";
static const char __pyx_k_numParams[] = "numParams";
static const char __pyx_k_num_bytes[] = "num_bytes : ";
static const char __pyx_k_nvSciSync[] = "nvSciSync :\n";
static const char __pyx_k_offsetX_2[] = "offsetX";
static const char __pyx_k_offsetY_2[] = "offsetY";
static const char __pyx_k_offsetZ_2[] = "offsetZ";
static const char __pyx_k_operation[] = "operation : ";
static const char __pyx_k_paramSize[] = "paramSize";
static const char __pyx_k_pcallback[] = "pcallback";
static const char __pyx_k_pdstArray[] = "pdstArray";
static const char __pyx_k_pfunction[] = "pfunction";
static const char __pyx_k_phSurfRef[] = "phSurfRef";
static const char __pyx_k_pitch2D_2[] = "pitch2D";
static const char __pyx_k_pmaxAniso[] = "pmaxAniso";
static const char __pyx_k_pmcHandle[] = "pmcHandle";
static const char __pyx_k_poolProps[] = "poolProps :\n";
static const char __pyx_k_presource[] = "presource";
static const char __pyx_k_psrcArray[] = "psrcArray";
static const char __pyx_k_pykernels[] = "pykernels";
static const char __pyx_k_pyoptions[] = "pyoptions";
static const char __pyx_k_pyx_state[] = "__pyx_state";
static const char __pyx_k_reduce_ex[] = "__reduce_ex__";
static const char __pyx_k_remaining[] = "remaining";
static const char __pyx_k_resType_2[] = "resType";
static const char __pyx_k_reserved0[] = "reserved0 : ";
static const char __pyx_k_reserved1[] = "reserved1 : ";
static const char __pyx_k_reserved2[] = "reserved2 : ";
static const char __pyx_k_resources[] = "resources";
static const char __pyx_k_shareData[] = "shareData";
static const char __pyx_k_smCount_2[] = "smCount";
static const char __pyx_k_smCount_3[] = "smCount : ";
static const char __pyx_k_srcDevice[] = "srcDevice : ";
static const char __pyx_k_srcHeight[] = "srcHeight : ";
static const char __pyx_k_srcHost_2[] = "srcHost";
static const char __pyx_k_srcOffset[] = "srcOffset";
static const char __pyx_k_tensorMap[] = "tensorMap";
static const char __pyx_k_texObject[] = "texObject";
static const char __pyx_k_timeoutMs[] = "timeoutMs : ";
static const char __pyx_k_to_port_2[] = "to_port";
static const char __pyx_k_value64_2[] = "value64";
static const char __pyx_k_value_out[] = "value_out";
static const char __pyx_k_vdpDevice[] = "vdpDevice";
static const char __pyx_k_waitValue[] = "waitValue :\n";
static const char __pyx_k_ByteOffset[] = "ByteOffset";
static const char __pyx_k_CU_JIT_FMA[] = "CU_JIT_FMA";
static const char __pyx_k_CU_JIT_FTZ[] = "CU_JIT_FTZ";
static const char __pyx_k_CU_JIT_LTO[] = "CU_JIT_LTO";
static const char __pyx_k_CU_OUT_CSV[] = "CU_OUT_CSV";
static const char __pyx_k_CUdevice_2[] = "CUdevice";
static const char __pyx_k_CUeglFrame[] = "CUeglFrame";
static const char __pyx_k_CUfunction[] = "<CUfunction ";
static const char __pyx_k_CUgreenCtx[] = "<CUgreenCtx ";
static const char __pyx_k_CUhostFn_2[] = "CUhostFn";
static const char __pyx_k_CUkernel_2[] = "CUkernel";
static const char __pyx_k_CUmodule_2[] = "CUmodule";
static const char __pyx_k_CUstream_2[] = "CUstream";
static const char __pyx_k_CUtexref_2[] = "CUtexref";
static const char __pyx_k_EGLSyncKHR[] = "<EGLSyncKHR ";
static const char __pyx_k_IndexError[] = "IndexError";
static const char __pyx_k_MAX_PLANES[] = "MAX_PLANES";
static const char __pyx_k_ValueError[] = "ValueError";
static const char __pyx_k_allocFlags[] = "allocFlags :\n";
static const char __pyx_k_arrayIndex[] = "arrayIndex";
static const char __pyx_k_attributes[] = "attributes";
static const char __pyx_k_base_ptr_2[] = "base_ptr";
static const char __pyx_k_bufferDesc[] = "bufferDesc";
static const char __pyx_k_bytesize_2[] = "bytesize";
static const char __pyx_k_cattribute[] = "cattribute";
static const char __pyx_k_cdataSizes[] = "cdataSizes";
static const char __pyx_k_cdstDevice[] = "cdstDevice";
static const char __pyx_k_cfunctions[] = "cfunctions";
static const char __pyx_k_cglobalDim[] = "cglobalDim";
static const char __pyx_k_childGraph[] = "childGraph";
static const char __pyx_k_cimage_ptr[] = "cimage_ptr";
static const char __pyx_k_clusterDim[] = "clusterDim :\n";
static const char __pyx_k_cmemHandle[] = "cmemHandle";
static const char __pyx_k_copyParams[] = "copyParams :\n";
static const char __pyx_k_cpCopy_ptr[] = "cpCopy_ptr";
static const char __pyx_k_cresources[] = "cresources";
static const char __pyx_k_crootNodes[] = "crootNodes";
static const char __pyx_k_csrcDevice[] = "csrcDevice";
static const char __pyx_k_ctexObject[] = "ctexObject";
static const char __pyx_k_cuCtxGetId[] = "cuCtxGetId";
static const char __pyx_k_cuFormat_2[] = "cuFormat";
static const char __pyx_k_cuFuncLoad[] = "cuFuncLoad";
static const char __pyx_k_cuMemAlloc[] = "cuMemAlloc";
static const char __pyx_k_cuMemUnmap[] = "cuMemUnmap";
static const char __pyx_k_cuMemcpy2D[] = "cuMemcpy2D";
static const char __pyx_k_cuMemcpy3D[] = "cuMemcpy3D";
static const char __pyx_k_cuMemsetD8[] = "cuMemsetD8";
static const char __pyx_k_cuuint32_t[] = "<cuuint32_t ";
static const char __pyx_k_cuuint64_t[] = "<cuuint64_t ";
static const char __pyx_k_cvalue_ptr[] = "cvalue_ptr";
static const char __pyx_k_cvdpDevice[] = "cvdpDevice";
static const char __pyx_k_deviceList[] = "deviceList";
static const char __pyx_k_dstArray_2[] = "dstArray";
static const char __pyx_k_dstContext[] = "dstContext : ";
static const char __pyx_k_dstPitch_2[] = "dstPitch";
static const char __pyx_k_extMem_out[] = "extMem_out";
static const char __pyx_k_extSemWait[] = "extSemWait :\n";
static const char __pyx_k_extSem_out[] = "extSem_out";
static const char __pyx_k_filterMode[] = "filterMode : ";
static const char __pyx_k_firstLayer[] = "firstLayer : ";
static const char __pyx_k_function_2[] = "function";
static const char __pyx_k_gridDimX_2[] = "gridDimX";
static const char __pyx_k_gridDimY_2[] = "gridDimY";
static const char __pyx_k_gridDimZ_2[] = "gridDimZ";
static const char __pyx_k_grid_width[] = "grid_width";
static const char __pyx_k_hGraphExec[] = "hGraphExec";
static const char __pyx_k_handleType[] = "handleType";
static const char __pyx_k_hitRatio_2[] = "hitRatio";
static const char __pyx_k_init_value[] = "init_value";
static const char __pyx_k_interleave[] = "interleave";
static const char __pyx_k_jitOptions[] = "jitOptions";
static const char __pyx_k_keyedMutex[] = "keyedMutex :\n";
static const char __pyx_k_location_2[] = "location";
static const char __pyx_k_memPitch_2[] = "memPitch";
static const char __pyx_k_mipmapDesc[] = "mipmapDesc";
static const char __pyx_k_missProp_2[] = "missProp";
static const char __pyx_k_nodeParams[] = "nodeParams";
static const char __pyx_k_numAttrs_2[] = "numAttrs";
static const char __pyx_k_numDevices[] = "numDevices : ";
static const char __pyx_k_numExtSems[] = "numExtSems : ";
static const char __pyx_k_numKernels[] = "numKernels";
static const char __pyx_k_numOptions[] = "numOptions";
static const char __pyx_k_object_out[] = "object_out";
static const char __pyx_k_overBudget[] = "overBudget :\n";
static const char __pyx_k_oversize_2[] = "_oversize";
static const char __pyx_k_p2pToken_2[] = "p2pToken";
static const char __pyx_k_pTexObject[] = "pTexObject";
static const char __pyx_k_paramArray[] = "paramArray : ";
static const char __pyx_k_paramIndex[] = "paramIndex";
static const char __pyx_k_params_out[] = "params_out";
static const char __pyx_k_pdstDevice[] = "pdstDevice";
static const char __pyx_k_planeCount[] = "planeCount : ";
static const char __pyx_k_pmemHandle[] = "pmemHandle";
static const char __pyx_k_presources[] = "presources";
static const char __pyx_k_priority_2[] = "priority";
static const char __pyx_k_psrcDevice[] = "psrcDevice";
static const char __pyx_k_ptexObject[] = "ptexObject";
static const char __pyx_k_pvdpDevice[] = "pvdpDevice";
static const char __pyx_k_pyedgeData[] = "pyedgeData";
static const char __pyx_k_pypciBusId[] = "pypciBusId";
static const char __pyx_k_reserved_2[] = "reserved";
static const char __pyx_k_reserved_3[] = "reserved :\n";
static const char __pyx_k_resource_2[] = "resource";
static const char __pyx_k_resultInfo[] = "resultInfo";
static const char __pyx_k_result_out[] = "result_out : ";
static const char __pyx_k_splitlines[] = "splitlines";
static const char __pyx_k_srcArray_2[] = "srcArray";
static const char __pyx_k_srcContext[] = "srcContext : ";
static const char __pyx_k_srcPitch_2[] = "srcPitch";
static const char __pyx_k_surfObject[] = "surfObject";
static const char __pyx_k_syncPolicy[] = "syncPolicy : ";
static const char __pyx_k_tensorRank[] = "tensorRank";
static const char __pyx_k_tileExtent[] = "tileExtent :\n";
static const char __pyx_k_userData_2[] = "userData";
static const char __pyx_k_vdpSurface[] = "vdpSurface";
static const char __pyx_k_writeValue[] = "writeValue :\n";
static const char __pyx_k_CUcontext_2[] = "CUcontext";
static const char __pyx_k_CUctx_flags[] = "CUctx_flags";
static const char __pyx_k_CUdevice_v1[] = "<CUdevice_v1 ";
static const char __pyx_k_CUdeviceptr[] = "<CUdeviceptr ";
static const char __pyx_k_CUgraphExec[] = "<CUgraphExec ";
static const char __pyx_k_CUgraphNode[] = "<CUgraphNode ";
static const char __pyx_k_CUlibrary_2[] = "CUlibrary";
static const char __pyx_k_CUlinkState[] = "<CUlinkState ";
static const char __pyx_k_CUsurfref_2[] = "CUsurfref";
static const char __pyx_k_CUtensorMap[] = "CUtensorMap";
static const char __pyx_k_CUtexObject[] = "<CUtexObject ";
static const char __pyx_k_EGLImageKHR[] = "<EGLImageKHR ";
static const char __pyx_k_Error_codes[] = "\n    Error codes\n    ";
static const char __pyx_k_MemoryError[] = "MemoryError";
static const char __pyx_k_NumChannels[] = "NumChannels : ";
static const char __pyx_k_SIMDWidth_2[] = "SIMDWidth";
static const char __pyx_k_VdpDevice_2[] = "VdpDevice";
static const char __pyx_k_accessDescs[] = "accessDescs : ";
static const char __pyx_k_addressMode[] = "addressMode : ";
static const char __pyx_k_alignment_2[] = "alignment";
static const char __pyx_k_allocType_2[] = "allocType";
static const char __pyx_k_anon_union2[] = "anon_union2";
static const char __pyx_k_anon_union3[] = "anon_union3";
static const char __pyx_k_anon_union4[] = "anon_union4";
static const char __pyx_k_anon_union5[] = "anon_union5";
static const char __pyx_k_anon_union6[] = "anon_union6";
static const char __pyx_k_anon_union7[] = "anon_union7";
static const char __pyx_k_anon_union8[] = "anon_union8";
static const char __pyx_k_anon_union9[] = "anon_union9";
static const char __pyx_k_arrayDesc_2[] = "arrayDesc";
static const char __pyx_k_blockDimX_2[] = "blockDimX";
static const char __pyx_k_blockDimY_2[] = "blockDimY";
static const char __pyx_k_blockDimZ_2[] = "blockDimZ";
static const char __pyx_k_borderColor[] = "borderColor : ";
static const char __pyx_k_cattributes[] = "cattributes";
static const char __pyx_k_cchildGraph[] = "cchildGraph";
static const char __pyx_k_cconfig_ptr[] = "cconfig_ptr";
static const char __pyx_k_cdeviceList[] = "cdeviceList";
static const char __pyx_k_cdstContext[] = "cdstContext";
static const char __pyx_k_chGraphExec[] = "chGraphExec";
static const char __pyx_k_chandleType[] = "chandleType";
static const char __pyx_k_chandle_out[] = "chandle_out";
static const char __pyx_k_chandle_ptr[] = "chandle_ptr";
static const char __pyx_k_cinput__ptr[] = "cinput__ptr";
static const char __pyx_k_cinterleave[] = "cinterleave";
static const char __pyx_k_cjitOptions[] = "cjitOptions";
static const char __pyx_k_clockRate_2[] = "clockRate";
static const char __pyx_k_clusterSize[] = "clusterSize";
static const char __pyx_k_conditional[] = "conditional :\n";
static const char __pyx_k_cooperative[] = "cooperative : ";
static const char __pyx_k_cparamArray[] = "cparamArray";
static const char __pyx_k_csrcContext[] = "csrcContext";
static const char __pyx_k_csurfObject[] = "csurfObject";
static const char __pyx_k_ctensorRank[] = "ctensorRank";
static const char __pyx_k_cuCtxAttach[] = "cuCtxAttach";
static const char __pyx_k_cuCtxCreate[] = "cuCtxCreate";
static const char __pyx_k_cuCtxDetach[] = "cuCtxDetach";
static const char __pyx_k_cuDeviceGet[] = "cuDeviceGet";
static const char __pyx_k_cuMemAdvise[] = "cuMemAdvise";
static const char __pyx_k_cuMemCreate[] = "cuMemCreate";
static const char __pyx_k_cuMemsetD16[] = "cuMemsetD16";
static const char __pyx_k_cuMemsetD32[] = "cuMemsetD32";
static const char __pyx_k_cuParamSetf[] = "cuParamSetf";
static const char __pyx_k_cuParamSeti[] = "cuParamSeti";
static const char __pyx_k_cuParamSetv[] = "cuParamSetv";
static const char __pyx_k_cudaVersion[] = "cudaVersion";
static const char __pyx_k_cvdpSurface[] = "cvdpSurface";
static const char __pyx_k_dataTable_2[] = "dataTable";
static const char __pyx_k_dstDevice_2[] = "dstDevice";
static const char __pyx_k_dstHeight_2[] = "dstHeight";
static const char __pyx_k_dstXInBytes[] = "dstXInBytes : ";
static const char __pyx_k_elementSize[] = "elementSize : ";
static const char __pyx_k_errorNode_2[] = "errorNode";
static const char __pyx_k_eventRecord[] = "eventRecord :\n";
static const char __pyx_k_eventWait_2[] = "eventWait";
static const char __pyx_k_extSemArray[] = "extSemArray : ";
static const char __pyx_k_extentDepth[] = "extentDepth : ";
static const char __pyx_k_extentWidth[] = "extentWidth : ";
static const char __pyx_k_frameType_2[] = "frameType";
static const char __pyx_k_from_port_2[] = "from_port";
static const char __pyx_k_granularity[] = "granularity";
static const char __pyx_k_grid_height[] = "grid_height";
static const char __pyx_k_handleTypes[] = "handleTypes : ";
static const char __pyx_k_l2Promotion[] = "l2Promotion";
static const char __pyx_k_lastLayer_2[] = "lastLayer";
static const char __pyx_k_mapInfoList[] = "mapInfoList";
static const char __pyx_k_maxGridSize[] = "maxGridSize : ";
static const char __pyx_k_memHandle_2[] = "memHandle";
static const char __pyx_k_memHandle_3[] = "memHandle :\n";
static const char __pyx_k_minGridSize[] = "minGridSize";
static const char __pyx_k_miptailSize[] = "miptailSize : ";
static const char __pyx_k_mro_entries[] = "__mro_entries__";
static const char __pyx_k_nbResources[] = "nbResources";
static const char __pyx_k_numChannels[] = "numChannels : ";
static const char __pyx_k_numClusters[] = "numClusters";
static const char __pyx_k_numLevels_2[] = "numLevels";
static const char __pyx_k_num_bytes_2[] = "num_bytes";
static const char __pyx_k_nvSciSync_2[] = "nvSciSync";
static const char __pyx_k_operation_2[] = "operation";
static const char __pyx_k_pHandle_out[] = "pHandle_out";
static const char __pyx_k_pLevelArray[] = "pLevelArray";
static const char __pyx_k_pPlaneArray[] = "pPlaneArray";
static const char __pyx_k_pSurfObject[] = "pSurfObject";
static const char __pyx_k_paramOffset[] = "paramOffset";
static const char __pyx_k_paramsArray[] = "paramsArray : ";
static const char __pyx_k_pchildGraph[] = "pchildGraph";
static const char __pyx_k_pdstContext[] = "pdstContext";
static const char __pyx_k_peerContext[] = "peerContext";
static const char __pyx_k_phGraphExec[] = "phGraphExec";
static const char __pyx_k_phGraphNode[] = "phGraphNode";
static const char __pyx_k_phGraph_out[] = "phGraph_out : ";
static const char __pyx_k_poolProps_2[] = "poolProps";
static const char __pyx_k_psrcContext[] = "psrcContext";
static const char __pyx_k_psurfObject[] = "psurfObject";
static const char __pyx_k_ptensorRank[] = "ptensorRank";
static const char __pyx_k_pvdpSurface[] = "pvdpSurface";
static const char __pyx_k_pydataSizes[] = "pydataSizes";
static const char __pyx_k_pyfunctions[] = "pyfunctions";
static const char __pyx_k_pyrootNodes[] = "pyrootNodes";
static const char __pyx_k_reserved0_2[] = "reserved0";
static const char __pyx_k_reserved1_2[] = "reserved1";
static const char __pyx_k_reserved2_2[] = "reserved2";
static const char __pyx_k_sizeInBytes[] = "sizeInBytes : ";
static const char __pyx_k_sparseLevel[] = "sparseLevel :\n";
static const char __pyx_k_srcDevice_2[] = "srcDevice";
static const char __pyx_k_srcHeight_2[] = "srcHeight";
static const char __pyx_k_srcXInBytes[] = "srcXInBytes : ";
static const char __pyx_k_subresource[] = "subresource :\n";
static const char __pyx_k_timeoutMs_2[] = "timeoutMs";
static const char __pyx_k_waitValue_2[] = "waitValue";
static const char __pyx_k_CUDA_SUCCESS[] = "CUDA_SUCCESS";
static const char __pyx_k_CUDA_VERSION[] = "CUDA_VERSION";
static const char __pyx_k_CU_LIMIT_MAX[] = "CU_LIMIT_MAX";
static const char __pyx_k_CU_TRSF_SRGB[] = "CU_TRSF_SRGB";
static const char __pyx_k_CUdevprop_st[] = "CUdevprop_st";
static const char __pyx_k_CUdevprop_v1[] = "CUdevprop_v1";
static const char __pyx_k_CUfunc_cache[] = "CUfunc_cache";
static const char __pyx_k_CUfunction_2[] = "CUfunction";
static const char __pyx_k_CUgreenCtx_2[] = "CUgreenCtx";
static const char __pyx_k_CUjit_option[] = "CUjit_option";
static const char __pyx_k_CUjit_target[] = "CUjit_target";
static const char __pyx_k_CUmem_advise[] = "CUmem_advise";
static const char __pyx_k_CUmemoryPool[] = "<CUmemoryPool ";
static const char __pyx_k_CUmemorytype[] = "CUmemorytype";
static const char __pyx_k_CUsurfObject[] = "<CUsurfObject ";
static const char __pyx_k_CUuserObject[] = "<CUuserObject ";
static const char __pyx_k_EGLStreamKHR[] = "<EGLStreamKHR ";
static const char __pyx_k_EGLSyncKHR_2[] = "EGLSyncKHR";
static const char __pyx_k_Memory_types[] = "\n    Memory types\n    ";
static const char __pyx_k_RuntimeError[] = "RuntimeError";
static const char __pyx_k_Unknown_type[] = "Unknown type: ";
static const char __pyx_k_WidthInBytes[] = "WidthInBytes : ";
static const char __pyx_k_allocFlags_2[] = "allocFlags";
static const char __pyx_k_anon_struct0[] = "anon_struct0";
static const char __pyx_k_anon_struct1[] = "anon_struct1";
static const char __pyx_k_anon_struct2[] = "anon_struct2";
static const char __pyx_k_anon_struct3[] = "anon_struct3";
static const char __pyx_k_anon_struct4[] = "anon_struct4";
static const char __pyx_k_anon_struct5[] = "anon_struct5";
static const char __pyx_k_anon_struct6[] = "anon_struct6";
static const char __pyx_k_anon_struct7[] = "anon_struct7";
static const char __pyx_k_anon_struct8[] = "anon_struct8";
static const char __pyx_k_anon_struct9[] = "anon_struct9";
static const char __pyx_k_anon_union10[] = "anon_union10";
static const char __pyx_k_anon_union11[] = "anon_union11";
static const char __pyx_k_anon_union14[] = "anon_union14";
static const char __pyx_k_callbackFunc[] = "callbackFunc";
static const char __pyx_k_cdstHost_ptr[] = "cdstHost_ptr";
static const char __pyx_k_cextSemArray[] = "cextSemArray";
static const char __pyx_k_cl2Promotion[] = "cl2Promotion";
static const char __pyx_k_clusterDim_2[] = "clusterDim";
static const char __pyx_k_cmapInfoList[] = "cmapInfoList";
static const char __pyx_k_copyParams_2[] = "copyParams";
static const char __pyx_k_cparamsArray[] = "cparamsArray";
static const char __pyx_k_cpeerContext[] = "cpeerContext";
static const char __pyx_k_csrcHost_ptr[] = "csrcHost_ptr";
static const char __pyx_k_cuCtxDestroy[] = "cuCtxDestroy";
static const char __pyx_k_cuEventQuery[] = "cuEventQuery";
static const char __pyx_k_cuGraphClone[] = "cuGraphClone";
static const char __pyx_k_cuLaunchGrid[] = "cuLaunchGrid";
static const char __pyx_k_cuLinkCreate[] = "cuLinkCreate";
static const char __pyx_k_cuMemGetInfo[] = "cuMemGetInfo";
static const char __pyx_k_cuMemRelease[] = "cuMemRelease";
static const char __pyx_k_cuMemcpyAtoA[] = "cuMemcpyAtoA";
static const char __pyx_k_cuMemcpyAtoD[] = "cuMemcpyAtoD";
static const char __pyx_k_cuMemcpyAtoH[] = "cuMemcpyAtoH";
static const char __pyx_k_cuMemcpyDtoA[] = "cuMemcpyDtoA";
static const char __pyx_k_cuMemcpyDtoD[] = "cuMemcpyDtoD";
static const char __pyx_k_cuMemcpyDtoH[] = "cuMemcpyDtoH";
static const char __pyx_k_cuMemcpyHtoA[] = "cuMemcpyHtoA";
static const char __pyx_k_cuMemcpyHtoD[] = "cuMemcpyHtoD";
static const char __pyx_k_cuMemcpyPeer[] = "cuMemcpyPeer";
static const char __pyx_k_cuMemsetD2D8[] = "cuMemsetD2D8";
static const char __pyx_k_cuModuleLoad[] = "cuModuleLoad";
static const char __pyx_k_cuuint32_t_2[] = "cuuint32_t";
static const char __pyx_k_cuuint64_t_2[] = "cuuint64_t";
static const char __pyx_k_dependencies[] = "dependencies";
static const char __pyx_k_dstContext_2[] = "dstContext";
static const char __pyx_k_extSemSignal[] = "extSemSignal :\n";
static const char __pyx_k_extSemWait_2[] = "extSemWait";
static const char __pyx_k_extentHeight[] = "extentHeight : ";
static const char __pyx_k_filterMode_2[] = "filterMode";
static const char __pyx_k_firstLayer_2[] = "firstLayer";
static const char __pyx_k_graph_length[] = "_graph_length";
static const char __pyx_k_hClonedGraph[] = "hClonedGraph";
static const char __pyx_k_hErrNode_out[] = "hErrNode_out : ";
static const char __pyx_k_initializing[] = "_initializing";
static const char __pyx_k_is_coroutine[] = "_is_coroutine";
static const char __pyx_k_kernelParams[] = "kernelParams : ";
static const char __pyx_k_keyedMutex_2[] = "keyedMutex";
static const char __pyx_k_memsetParams[] = "memsetParams";
static const char __pyx_k_numDevices_2[] = "numDevices";
static const char __pyx_k_numExtSems_2[] = "numExtSems";
static const char __pyx_k_numFunctions[] = "numFunctions";
static const char __pyx_k_numRootNodes[] = "numRootNodes";
static const char __pyx_k_nvSciSyncObj[] = "nvSciSyncObj : ";
static const char __pyx_k_optionValues[] = "optionValues";
static const char __pyx_k_overBudget_2[] = "overBudget";
static const char __pyx_k_pBorderColor[] = "pBorderColor";
static const char __pyx_k_pNumChannels[] = "pNumChannels";
static const char __pyx_k_pResViewDesc[] = "pResViewDesc";
static const char __pyx_k_paramArray_2[] = "paramArray";
static const char __pyx_k_phGraphClone[] = "phGraphClone";
static const char __pyx_k_pitchInBytes[] = "pitchInBytes : ";
static const char __pyx_k_planeCount_2[] = "planeCount";
static const char __pyx_k_ppeerContext[] = "ppeerContext";
static const char __pyx_k_pyattributes[] = "pyattributes";
static const char __pyx_k_pyjitOptions[] = "pyjitOptions";
static const char __pyx_k_regsPerBlock[] = "regsPerBlock : ";
static const char __pyx_k_resourceType[] = "resourceType : ";
static const char __pyx_k_result_out_2[] = "result_out";
static const char __pyx_k_shHandleType[] = "shHandleType";
static const char __pyx_k_srcContext_2[] = "srcContext";
static const char __pyx_k_stringsource[] = "<stringsource>";
static const char __pyx_k_symbolStatus[] = "symbolStatus";
static const char __pyx_k_syncPolicy_2[] = "syncPolicy";
static const char __pyx_k_textureAlign[] = "textureAlign : ";
static const char __pyx_k_tileExtent_2[] = "tileExtent";
static const char __pyx_k_vaSpaceToken[] = "vaSpaceToken : ";
static const char __pyx_k_writeValue_2[] = "writeValue";
static const char __pyx_k_x_ValueError[] = "x : <ValueError>";
static const char __pyx_k_y_ValueError[] = "y : <ValueError>";
static const char __pyx_k_z_ValueError[] = "z : <ValueError>";
static const char __pyx_k_Array_formats[] = "\n    Array formats\n    ";
static const char __pyx_k_CUDA_MEMCPY2D[] = "CUDA_MEMCPY2D";
static const char __pyx_k_CUDA_MEMCPY3D[] = "CUDA_MEMCPY3D";
static const char __pyx_k_CUGLmap_flags[] = "CUGLmap_flags";
static const char __pyx_k_CU_DEVICE_CPU[] = "CU_DEVICE_CPU";
static const char __pyx_k_CU_JIT_TARGET[] = "CU_JIT_TARGET";
static const char __pyx_k_CU_PREFER_PTX[] = "CU_PREFER_PTX";
static const char __pyx_k_CUcomputemode[] = "CUcomputemode";
static const char __pyx_k_CUdevResource[] = "CUdevResource";
static const char __pyx_k_CUdevice_v1_2[] = "CUdevice_v1";
static const char __pyx_k_CUdeviceptr_2[] = "CUdeviceptr";
static const char __pyx_k_CUeglFrame_st[] = "CUeglFrame_st";
static const char __pyx_k_CUeglFrame_v1[] = "CUeglFrame_v1";
static const char __pyx_k_CUevent_flags[] = "CUevent_flags";
static const char __pyx_k_CUfilter_mode[] = "CUfilter_mode";
static const char __pyx_k_CUgraphExec_2[] = "CUgraphExec";
static const char __pyx_k_CUgraphNode_2[] = "CUgraphNode";
static const char __pyx_k_CUlinkState_2[] = "CUlinkState";
static const char __pyx_k_CUmemLocation[] = "CUmemLocation";
static const char __pyx_k_CUoutput_mode[] = "CUoutput_mode";
static const char __pyx_k_CUtexObject_2[] = "CUtexObject";
static const char __pyx_k_Compute_Modes[] = "\n    Compute Modes\n    ";
static const char __pyx_k_EGLImageKHR_2[] = "EGLImageKHR";
static const char __pyx_k_EGLint_getPtr[] = "EGLint.getPtr";
static const char __pyx_k_GLenum_getPtr[] = "GLenum.getPtr";
static const char __pyx_k_GLuint_getPtr[] = "GLuint.getPtr";
static const char __pyx_k_NumChannels_2[] = "NumChannels";
static const char __pyx_k_OverflowError[] = "OverflowError";
static const char __pyx_k_accessDescs_2[] = "accessDescs";
static const char __pyx_k_addressMode_2[] = "addressMode";
static const char __pyx_k_anon_struct10[] = "anon_struct10";
static const char __pyx_k_anon_struct11[] = "anon_struct11";
static const char __pyx_k_anon_struct12[] = "anon_struct12";
static const char __pyx_k_anon_struct13[] = "anon_struct13";
static const char __pyx_k_anon_struct14[] = "anon_struct14";
static const char __pyx_k_anon_struct15[] = "anon_struct15";
static const char __pyx_k_anon_struct16[] = "anon_struct16";
static const char __pyx_k_anon_struct17[] = "anon_struct17";
static const char __pyx_k_anon_struct18[] = "anon_struct18";
static const char __pyx_k_anon_struct19[] = "anon_struct19";
static const char __pyx_k_anon_struct20[] = "anon_struct20";
static const char __pyx_k_anon_struct21[] = "anon_struct21";
static const char __pyx_k_borderColor_2[] = "borderColor";
static const char __pyx_k_canAccessPeer[] = "canAccessPeer";
static const char __pyx_k_captureStatus[] = "captureStatus";
static const char __pyx_k_ccallbackFunc[] = "ccallbackFunc";
static const char __pyx_k_cdependencies[] = "cdependencies";
static const char __pyx_k_cedgeData_out[] = "cedgeData_out";
static const char __pyx_k_ceglframe_ptr[] = "ceglframe_ptr";
static const char __pyx_k_cfatCubin_ptr[] = "cfatCubin_ptr";
static const char __pyx_k_chClonedGraph[] = "chClonedGraph";
static const char __pyx_k_ckernelParams[] = "ckernelParams";
static const char __pyx_k_clocation_ptr[] = "clocation_ptr";
static const char __pyx_k_conditional_2[] = "conditional";
static const char __pyx_k_cooperative_2[] = "cooperative";
static const char __pyx_k_cosHandle_ptr[] = "cosHandle_ptr";
static const char __pyx_k_cpCudaDevices[] = "cpCudaDevices";
static const char __pyx_k_cpResDesc_ptr[] = "cpResDesc_ptr";
static const char __pyx_k_cpTexDesc_ptr[] = "cpTexDesc_ptr";
static const char __pyx_k_cshHandleType[] = "cshHandleType";
static const char __pyx_k_cuArrayCreate[] = "cuArrayCreate";
static const char __pyx_k_cuCtxGetFlags[] = "cuCtxGetFlags";
static const char __pyx_k_cuCtxGetLimit[] = "cuCtxGetLimit";
static const char __pyx_k_cuCtxSetFlags[] = "cuCtxSetFlags";
static const char __pyx_k_cuCtxSetLimit[] = "cuCtxSetLimit";
static const char __pyx_k_cuEventCreate[] = "cuEventCreate";
static const char __pyx_k_cuEventRecord[] = "cuEventRecord";
static const char __pyx_k_cuFuncGetName[] = "cuFuncGetName";
static const char __pyx_k_cuGraphCreate[] = "cuGraphCreate";
static const char __pyx_k_cuGraphLaunch[] = "cuGraphLaunch";
static const char __pyx_k_cuGraphUpload[] = "cuGraphUpload";
static const char __pyx_k_cuLinkAddData[] = "cuLinkAddData";
static const char __pyx_k_cuLinkAddFile[] = "cuLinkAddFile";
static const char __pyx_k_cuLinkDestroy[] = "cuLinkDestroy";
static const char __pyx_k_cuMemFreeHost[] = "cuMemFreeHost";
static const char __pyx_k_cuMemcpyAsync[] = "cuMemcpyAsync";
static const char __pyx_k_cuMemsetD2D16[] = "cuMemsetD2D16";
static const char __pyx_k_cuMemsetD2D32[] = "cuMemsetD2D32";
static const char __pyx_k_cuStreamGetId[] = "cuStreamGetId";
static const char __pyx_k_cuStreamQuery[] = "cuStreamQuery";
static const char __pyx_k_cuda_cuda_pyx[] = "cuda/cuda.pyx";
static const char __pyx_k_cuserData_ptr[] = "cuserData_ptr";
static const char __pyx_k_deviceBitMask[] = "deviceBitMask : ";
static const char __pyx_k_driverVersion[] = "driverVersion";
static const char __pyx_k_dstMemoryType[] = "dstMemoryType : ";
static const char __pyx_k_dstXInBytes_2[] = "dstXInBytes";
static const char __pyx_k_elementSize_2[] = "elementSize";
static const char __pyx_k_errorFromNode[] = "errorFromNode : ";
static const char __pyx_k_eventRecord_2[] = "eventRecord";
static const char __pyx_k_extSemArray_2[] = "extSemArray";
static const char __pyx_k_extentDepth_2[] = "extentDepth";
static const char __pyx_k_extentWidth_2[] = "extentWidth";
static const char __pyx_k_fd_ValueError[] = "fd : <ValueError>";
static const char __pyx_k_fn_ValueError[] = "fn : <ValueError>";
static const char __pyx_k_functionTable[] = "functionTable : ";
static const char __pyx_k_globalAddress[] = "globalAddress";
static const char __pyx_k_globalStrides[] = "globalStrides";
static const char __pyx_k_hOriginalNode[] = "hOriginalNode";
static const char __pyx_k_hUploadStream[] = "hUploadStream : ";
static const char __pyx_k_handleTypes_2[] = "handleTypes";
static const char __pyx_k_id_ValueError[] = "id : <ValueError>";
static const char __pyx_k_init_subclass[] = "__init_subclass__";
static const char __pyx_k_leastPriority[] = "leastPriority";
static const char __pyx_k_maxAnisotropy[] = "maxAnisotropy : ";
static const char __pyx_k_maxGridSize_2[] = "maxGridSize";
static const char __pyx_k_maxThreadsDim[] = "maxThreadsDim : ";
static const char __pyx_k_memHandleDesc[] = "memHandleDesc";
static const char __pyx_k_memHandleType[] = "memHandleType : ";
static const char __pyx_k_memSyncDomain[] = "memSyncDomain : ";
static const char __pyx_k_memoryBarrier[] = "memoryBarrier :\n";
static const char __pyx_k_miptailSize_2[] = "miptailSize";
static const char __pyx_k_numAttributes[] = "numAttributes";
static const char __pyx_k_numChannels_2[] = "numChannels";
static const char __pyx_k_numJitOptions[] = "numJitOptions";
static const char __pyx_k_originalGraph[] = "originalGraph";
static const char __pyx_k_pCudaResource[] = "pCudaResource";
static const char __pyx_k_pExecAffinity[] = "pExecAffinity";
static const char __pyx_k_pMilliseconds[] = "pMilliseconds";
static const char __pyx_k_paramsArray_2[] = "paramsArray";
static const char __pyx_k_pcallbackFunc[] = "pcallbackFunc";
static const char __pyx_k_phClonedGraph[] = "phClonedGraph";
static const char __pyx_k_phGraph_out_2[] = "phGraph_out";
static const char __pyx_k_ppExportTable[] = "ppExportTable";
static const char __pyx_k_reduce_cython[] = "__reduce_cython__";
static const char __pyx_k_semHandleDesc[] = "semHandleDesc";
static const char __pyx_k_shareData_out[] = "shareData_out";
static const char __pyx_k_sizeInBytes_2[] = "sizeInBytes";
static const char __pyx_k_sm_ValueError[] = "sm : <ValueError>";
static const char __pyx_k_sparseLevel_2[] = "sparseLevel";
static const char __pyx_k_srcMemoryType[] = "srcMemoryType : ";
static const char __pyx_k_srcXInBytes_2[] = "srcXInBytes";
static const char __pyx_k_subresource_2[] = "subresource";
static const char __pyx_k_CUGLDeviceList[] = "CUGLDeviceList";
static const char __pyx_k_CUaddress_mode[] = "CUaddress_mode";
static const char __pyx_k_CUarrayMapInfo[] = "CUarrayMapInfo";
static const char __pyx_k_CUarray_format[] = "CUarray_format";
static const char __pyx_k_CUarray_getPtr[] = "CUarray.getPtr";
static const char __pyx_k_CUdeviceptr_v2[] = "<CUdeviceptr_v2 ";
static const char __pyx_k_CUeglFrameType[] = "CUeglFrameType";
static const char __pyx_k_CUevent_getPtr[] = "CUevent.getPtr";
static const char __pyx_k_CUgraph_getPtr[] = "CUgraph.getPtr";
static const char __pyx_k_CUipcMemHandle[] = "CUipcMemHandle";
static const char __pyx_k_CUipcMem_flags[] = "CUipcMem_flags";
static const char __pyx_k_CUjitInputType[] = "CUjitInputType";
static const char __pyx_k_CUjit_fallback[] = "CUjit_fallback";
static const char __pyx_k_CUlaunchConfig[] = "CUlaunchConfig";
static const char __pyx_k_CUmemPoolProps[] = "CUmemPoolProps";
static const char __pyx_k_CUmemoryPool_2[] = "CUmemoryPool";
static const char __pyx_k_CUresourcetype[] = "CUresourcetype";
static const char __pyx_k_CUsharedconfig[] = "CUsharedconfig";
static const char __pyx_k_CUstreamAttrID[] = "CUstreamAttrID";
static const char __pyx_k_CUstream_flags[] = "CUstream_flags";
static const char __pyx_k_CUsurfObject_2[] = "CUsurfObject";
static const char __pyx_k_CUtensorMap_st[] = "CUtensorMap_st";
static const char __pyx_k_CUtexObject_v1[] = "<CUtexObject_v1 ";
static const char __pyx_k_CUuserObject_2[] = "CUuserObject";
static const char __pyx_k_EGLStreamKHR_2[] = "EGLStreamKHR";
static const char __pyx_k_P2P_Attributes[] = "\n    P2P Attributes\n    ";
static const char __pyx_k_Resource_types[] = "\n    Resource types\n    ";
static const char __pyx_k_WidthInBytes_2[] = "WidthInBytes";
static const char __pyx_k_blockSizeLimit[] = "blockSizeLimit";
static const char __pyx_k_cglobalAddress[] = "cglobalAddress";
static const char __pyx_k_cglobalStrides[] = "cglobalStrides";
static const char __pyx_k_chOriginalNode[] = "chOriginalNode";
static const char __pyx_k_cl_event_flags[] = "cl_event_flags";
static const char __pyx_k_coriginalGraph[] = "coriginalGraph";
static const char __pyx_k_cpCudaResource[] = "cpCudaResource";
static const char __pyx_k_cpoolProps_ptr[] = "cpoolProps_ptr";
static const char __pyx_k_cshareData_ptr[] = "cshareData_ptr";
static const char __pyx_k_ctensorMap_ptr[] = "ctensorMap_ptr";
static const char __pyx_k_ctx_ValueError[] = "ctx : <ValueError>";
static const char __pyx_k_cuArrayDestroy[] = "cuArrayDestroy";
static const char __pyx_k_cuCtxCreate_v3[] = "cuCtxCreate_v3";
static const char __pyx_k_cuCtxGetDevice[] = "cuCtxGetDevice";
static const char __pyx_k_cuEventDestroy[] = "cuEventDestroy";
static const char __pyx_k_cuFuncIsLoaded[] = "cuFuncIsLoaded";
static const char __pyx_k_cuGLGetDevices[] = "cuGLGetDevices";
static const char __pyx_k_cuGetErrorName[] = "cuGetErrorName";
static const char __pyx_k_cuGraphAddNode[] = "cuGraphAddNode";
static const char __pyx_k_cuGraphDestroy[] = "cuGraphDestroy";
static const char __pyx_k_cuLaunchKernel[] = "cuLaunchKernel";
static const char __pyx_k_cuLinkComplete[] = "cuLinkComplete";
static const char __pyx_k_cuMemAdvise_v2[] = "cuMemAdvise_v2";
static const char __pyx_k_cuMemAllocHost[] = "cuMemAllocHost";
static const char __pyx_k_cuMemFreeAsync[] = "cuMemFreeAsync";
static const char __pyx_k_cuMemGetAccess[] = "cuMemGetAccess";
static const char __pyx_k_cuMemHostAlloc[] = "cuMemHostAlloc";
static const char __pyx_k_cuMemSetAccess[] = "cuMemSetAccess";
static const char __pyx_k_cuMemcpy3DPeer[] = "cuMemcpy3DPeer";
static const char __pyx_k_cuModuleUnload[] = "cuModuleUnload";
static const char __pyx_k_cuParamSetSize[] = "cuParamSetSize";
static const char __pyx_k_cuProfilerStop[] = "cuProfilerStop";
static const char __pyx_k_cuStreamCreate[] = "cuStreamCreate";
static const char __pyx_k_cuStreamGetCtx[] = "cuStreamGetCtx";
static const char __pyx_k_cuTexRefCreate[] = "cuTexRefCreate";
static const char __pyx_k_dataWindowSize[] = "dataWindowSize : ";
static const char __pyx_k_dependencyData[] = "dependencyData";
static const char __pyx_k_deviceNodeMask[] = "deviceNodeMask";
static const char __pyx_k_dst_ValueError[] = "dst : <ValueError>";
static const char __pyx_k_eglColorFormat[] = "eglColorFormat : ";
static const char __pyx_k_elementStrides[] = "elementStrides";
static const char __pyx_k_extSemSignal_2[] = "extSemSignal";
static const char __pyx_k_extentHeight_2[] = "extentHeight";
static const char __pyx_k_hErrNode_out_2[] = "hErrNode_out";
static const char __pyx_k_kernelParams_2[] = "kernelParams";
static const char __pyx_k_key_ValueError[] = "key : <ValueError>";
static const char __pyx_k_libraryOptions[] = "libraryOptions";
static const char __pyx_k_minBytesToKeep[] = "minBytesToKeep";
static const char __pyx_k_nodeParams_out[] = "nodeParams_out";
static const char __pyx_k_nvSciBufObject[] = "nvSciBufObject : ";
static const char __pyx_k_nvSciSyncObj_2[] = "nvSciSyncObj";
static const char __pyx_k_pAllocateArray[] = "pAllocateArray";
static const char __pyx_k_pExportTableId[] = "pExportTableId";
static const char __pyx_k_pad_ValueError[] = "pad : <ValueError>";
static const char __pyx_k_phOriginalNode[] = "phOriginalNode";
static const char __pyx_k_pitchInBytes_2[] = "pitchInBytes";
static const char __pyx_k_poriginalGraph[] = "poriginalGraph";
static const char __pyx_k_ppCudaResource[] = "ppCudaResource";
static const char __pyx_k_pydependencies[] = "pydependencies";
static const char __pyx_k_pyedgeData_out[] = "pyedgeData_out";
static const char __pyx_k_pyoptionValues[] = "pyoptionValues";
static const char __pyx_k_pypCudaDevices[] = "pypCudaDevices";
static const char __pyx_k_regsPerBlock_2[] = "regsPerBlock";
static const char __pyx_k_res_ValueError[] = "res : <ValueError>";
static const char __pyx_k_resourceType_2[] = "resourceType";
static const char __pyx_k_sharedMemBytes[] = "sharedMemBytes : ";
static const char __pyx_k_tensorDataType[] = "tensorDataType";
static const char __pyx_k_textureAlign_2[] = "textureAlign";
static const char __pyx_k_vaSpaceToken_2[] = "vaSpaceToken";
static const char __pyx_k_val_ValueError[] = "val : <ValueError>";
static const char __pyx_k_CU_COREDUMP_MAX[] = "CU_COREDUMP_MAX";
static const char __pyx_k_CU_CTX_MAP_HOST[] = "CU_CTX_MAP_HOST";
static const char __pyx_k_CU_JIT_PREC_DIV[] = "CU_JIT_PREC_DIV";
static const char __pyx_k_CUasyncCallback[] = "<CUasyncCallback ";
static const char __pyx_k_CUdevSmResource[] = "CUdevSmResource";
static const char __pyx_k_CUdevice_getPtr[] = "CUdevice.getPtr";
static const char __pyx_k_CUgraphEdgeData[] = "CUgraphEdgeData";
static const char __pyx_k_CUgraphNodeType[] = "CUgraphNodeType";
static const char __pyx_k_CUhostFn_getPtr[] = "CUhostFn.getPtr";
static const char __pyx_k_CUjit_cacheMode[] = "CUjit_cacheMode";
static const char __pyx_k_CUkernel_getPtr[] = "CUkernel.getPtr";
static const char __pyx_k_CUlibraryOption[] = "CUlibraryOption";
static const char __pyx_k_CUmemAccessDesc[] = "CUmemAccessDesc";
static const char __pyx_k_CUmemHandleType[] = "CUmemHandleType";
static const char __pyx_k_CUmodule_getPtr[] = "CUmodule.getPtr";
static const char __pyx_k_CUstream_getPtr[] = "CUstream.getPtr";
static const char __pyx_k_CUsurfObject_v1[] = "<CUsurfObject_v1 ";
static const char __pyx_k_CUtexref_getPtr[] = "CUtexref.getPtr";
static const char __pyx_k_Optional_CUuuid[] = "Optional[CUuuid]";
static const char __pyx_k_VdpVideoSurface[] = "<VdpVideoSurface ";
static const char __pyx_k_accessDescCount[] = "accessDescCount : ";
static const char __pyx_k_bytesOverBudget[] = "bytesOverBudget : ";
static const char __pyx_k_cbufferDesc_ptr[] = "cbufferDesc_ptr";
static const char __pyx_k_ccopyParams_ptr[] = "ccopyParams_ptr";
static const char __pyx_k_cdependencyData[] = "cdependencyData";
static const char __pyx_k_cdependentNodes[] = "cdependentNodes";
static const char __pyx_k_celementStrides[] = "celementStrides";
static const char __pyx_k_chandle_out_ptr[] = "chandle_out_ptr";
static const char __pyx_k_clibraryOptions[] = "clibraryOptions";
static const char __pyx_k_cmipmapDesc_ptr[] = "cmipmapDesc_ptr";
static const char __pyx_k_cnodeParams_ptr[] = "cnodeParams_ptr";
static const char __pyx_k_compressionType[] = "compressionType : ";
static const char __pyx_k_ctensorDataType[] = "ctensorDataType";
static const char __pyx_k_cuArray3DCreate[] = "cuArray3DCreate";
static const char __pyx_k_cuArrayGetPlane[] = "cuArrayGetPlane";
static const char __pyx_k_cuCtxGetCurrent[] = "cuCtxGetCurrent";
static const char __pyx_k_cuCtxPopCurrent[] = "cuCtxPopCurrent";
static const char __pyx_k_cuCtxSetCurrent[] = "cuCtxSetCurrent";
static const char __pyx_k_cuDeviceGetLuid[] = "cuDeviceGetLuid";
static const char __pyx_k_cuDeviceGetName[] = "cuDeviceGetName";
static const char __pyx_k_cuDeviceGetUuid[] = "cuDeviceGetUuid";
static const char __pyx_k_cuFuncGetModule[] = "cuFuncGetModule";
static const char __pyx_k_cuGraphGetEdges[] = "cuGraphGetEdges";
static const char __pyx_k_cuGraphGetNodes[] = "cuGraphGetNodes";
static const char __pyx_k_cuKernelGetName[] = "cuKernelGetName";
static const char __pyx_k_cuLibraryUnload[] = "cuLibraryUnload";
static const char __pyx_k_cuMemAllocAsync[] = "cuMemAllocAsync";
static const char __pyx_k_cuMemAllocPitch[] = "cuMemAllocPitch";
static const char __pyx_k_cuMemPoolCreate[] = "cuMemPoolCreate";
static const char __pyx_k_cuMemPoolTrimTo[] = "cuMemPoolTrimTo";
static const char __pyx_k_cuMemcpy2DAsync[] = "cuMemcpy2DAsync";
static const char __pyx_k_cuMemcpy3DAsync[] = "cuMemcpy3DAsync";
static const char __pyx_k_cuMemsetD8Async[] = "cuMemsetD8Async";
static const char __pyx_k_cuProfilerStart[] = "cuProfilerStart";
static const char __pyx_k_cuStreamDestroy[] = "cuStreamDestroy";
static const char __pyx_k_cuTexRefDestroy[] = "cuTexRefDestroy";
static const char __pyx_k_cudaDeviceCount[] = "cudaDeviceCount";
static const char __pyx_k_data_ValueError[] = "data : <ValueError>";
static const char __pyx_k_deviceBitMask_2[] = "deviceBitMask";
static const char __pyx_k_deviceUpdatable[] = "deviceUpdatable : ";
static const char __pyx_k_dptr_ValueError[] = "dptr : <ValueError>";
static const char __pyx_k_dstMemoryType_2[] = "dstMemoryType";
static const char __pyx_k_dstY_ValueError[] = "dstY : <ValueError>";
static const char __pyx_k_dstZ_ValueError[] = "dstZ : <ValueError>";
static const char __pyx_k_dynamicSMemSize[] = "dynamicSMemSize";
static const char __pyx_k_dynamicSmemSize[] = "dynamicSmemSize";
static const char __pyx_k_errorFromNode_2[] = "errorFromNode";
static const char __pyx_k_free_ValueError[] = "free : <ValueError>";
static const char __pyx_k_func_ValueError[] = "func : <ValueError>";
static const char __pyx_k_functionTable_2[] = "functionTable";
static const char __pyx_k_hMipmappedArray[] = "hMipmappedArray : ";
static const char __pyx_k_hUploadStream_2[] = "hUploadStream";
static const char __pyx_k_host_ValueError[] = "host : <ValueError>";
static const char __pyx_k_info_ValueError[] = "info : <ValueError>";
static const char __pyx_k_initialRefcount[] = "initialRefcount";
static const char __pyx_k_kern_ValueError[] = "kern : <ValueError>";
static const char __pyx_k_lastMipmapLevel[] = "lastMipmapLevel : ";
static const char __pyx_k_maxAnisotropy_2[] = "maxAnisotropy";
static const char __pyx_k_maxThreadsDim_2[] = "maxThreadsDim";
static const char __pyx_k_memHandleType_2[] = "memHandleType";
static const char __pyx_k_memSyncDomain_2[] = "memSyncDomain";
static const char __pyx_k_memoryBarrier_2[] = "memoryBarrier";
static const char __pyx_k_mipmapLevelBias[] = "mipmapLevelBias : ";
static const char __pyx_k_name_ValueError[] = "name : <ValueError>";
static const char __pyx_k_numDependencies[] = "numDependencies";
static const char __pyx_k_numMipmapLevels[] = "numMipmapLevels";
static const char __pyx_k_pMipmappedArray[] = "pMipmappedArray";
static const char __pyx_k_pixelsPerColumn[] = "pixelsPerColumn";
static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
static const char __pyx_k_size_ValueError[] = "size : <ValueError>";
static const char __pyx_k_srcMemoryType_2[] = "srcMemoryType";
static const char __pyx_k_srcY_ValueError[] = "srcY : <ValueError>";
static const char __pyx_k_srcZ_ValueError[] = "srcZ : <ValueError>";
static const char __pyx_k_subresourceType[] = "subresourceType : ";
static const char __pyx_k_type_ValueError[] = "type : <ValueError>";
static const char __pyx_k_CUDA_MEMCPY2D_st[] = "CUDA_MEMCPY2D_st";
static const char __pyx_k_CUDA_MEMCPY2D_v2[] = "CUDA_MEMCPY2D_v2";
static const char __pyx_k_CUDA_MEMCPY3D_st[] = "CUDA_MEMCPY3D_st";
static const char __pyx_k_CUDA_MEMCPY3D_v2[] = "CUDA_MEMCPY3D_v2";
static const char __pyx_k_CU_COREDUMP_FILE[] = "CU_COREDUMP_FILE";
static const char __pyx_k_CU_COREDUMP_PIPE[] = "CU_COREDUMP_PIPE";
static const char __pyx_k_CU_EVENT_DEFAULT[] = "CU_EVENT_DEFAULT";
static const char __pyx_k_CU_JIT_INPUT_PTX[] = "CU_JIT_INPUT_PTX";
static const char __pyx_k_CU_JIT_PREC_SQRT[] = "CU_JIT_PREC_SQRT";
static const char __pyx_k_CU_JIT_WALL_TIME[] = "CU_JIT_WALL_TIME";
static const char __pyx_k_CU_PREFER_BINARY[] = "CU_PREFER_BINARY";
static const char __pyx_k_CU_STREAM_LEGACY[] = "CU_STREAM_LEGACY";
static const char __pyx_k_CUaccessProperty[] = "CUaccessProperty";
static const char __pyx_k_CUcontext_getPtr[] = "CUcontext.getPtr";
static const char __pyx_k_CUdevResource_st[] = "CUdevResource_st";
static const char __pyx_k_CUdevResource_v1[] = "CUdevResource_v1";
static const char __pyx_k_CUdeviceptr_v2_2[] = "CUdeviceptr_v2";
static const char __pyx_k_CUeglColorFormat[] = "CUeglColorFormat";
static const char __pyx_k_CUexternalMemory[] = "<CUexternalMemory ";
static const char __pyx_k_CUipcEventHandle[] = "CUipcEventHandle";
static const char __pyx_k_CUlibrary_getPtr[] = "CUlibrary.getPtr";
static const char __pyx_k_CUmemLocation_st[] = "CUmemLocation_st";
static const char __pyx_k_CUmemLocation_v1[] = "CUmemLocation_v1";
static const char __pyx_k_CUmipmappedArray[] = "<CUmipmappedArray ";
static const char __pyx_k_CUstreamCallback[] = "<CUstreamCallback ";
static const char __pyx_k_CUsurfref_getPtr[] = "CUsurfref.getPtr";
static const char __pyx_k_CUtexObject_v1_2[] = "CUtexObject_v1";
static const char __pyx_k_CUuuid_st_getPtr[] = "CUuuid_st.getPtr";
static const char __pyx_k_Depth_ValueError[] = "Depth : <ValueError>";
static const char __pyx_k_ElementSizeBytes[] = "ElementSizeBytes";
static const char __pyx_k_Event_wait_flags[] = "\n    Event wait flags\n    ";
static const char __pyx_k_Flags_ValueError[] = "Flags : <ValueError>";
static const char __pyx_k_Graph_node_types[] = "\n    Graph node types\n    ";
static const char __pyx_k_Type_of_resource[] = "\n    Type of resource\n    ";
static const char __pyx_k_VdpDevice_getPtr[] = "VdpDevice.getPtr";
static const char __pyx_k_VdpOutputSurface[] = "<VdpOutputSurface ";
static const char __pyx_k_Width_ValueError[] = "Width : <ValueError>";
static const char __pyx_k_alias_ValueError[] = "alias : <ValueError>";
static const char __pyx_k_alloc_ValueError[] = "alloc : <ValueError>";
static const char __pyx_k_array_ValueError[] = "array : <ValueError>";
static const char __pyx_k_attrs_ValueError[] = "attrs : <ValueError>";
static const char __pyx_k_bytes_ValueError[] = "bytes : <ValueError>";
static const char __pyx_k_chMipmappedArray[] = "chMipmappedArray";
static const char __pyx_k_channelsPerPixel[] = "channelsPerPixel";
static const char __pyx_k_cl_context_flags[] = "cl_context_flags";
static const char __pyx_k_count_ValueError[] = "count : <ValueError>";
static const char __pyx_k_cpixelsPerColumn[] = "cpixelsPerColumn";
static const char __pyx_k_cshareableHandle[] = "cshareableHandle";
static const char __pyx_k_cuCtxPushCurrent[] = "cuCtxPushCurrent";
static const char __pyx_k_cuCtxSynchronize[] = "cuCtxSynchronize";
static const char __pyx_k_cuDeviceGetCount[] = "cuDeviceGetCount";
static const char __pyx_k_cuDeviceTotalMem[] = "cuDeviceTotalMem";
static const char __pyx_k_cuGetErrorString[] = "cuGetErrorString";
static const char __pyx_k_cuGetExportTable[] = "cuGetExportTable";
static const char __pyx_k_cuGetProcAddress[] = "cuGetProcAddress";
static const char __pyx_k_cuGreenCtxCreate[] = "cuGreenCtxCreate";
static const char __pyx_k_cuLaunchHostFunc[] = "cuLaunchHostFunc";
static const char __pyx_k_cuLaunchKernelEx[] = "cuLaunchKernelEx";
static const char __pyx_k_cuMemAddressFree[] = "cuMemAddressFree";
static const char __pyx_k_cuMemPoolDestroy[] = "cuMemPoolDestroy";
static const char __pyx_k_cuMemsetD16Async[] = "cuMemsetD16Async";
static const char __pyx_k_cuMemsetD32Async[] = "cuMemsetD32Async";
static const char __pyx_k_cuModuleLoadData[] = "cuModuleLoadData";
static const char __pyx_k_cuParamSetTexRef[] = "cuParamSetTexRef";
static const char __pyx_k_cuStreamGetFlags[] = "cuStreamGetFlags";
static const char __pyx_k_cuTexRefGetArray[] = "cuTexRefGetArray";
static const char __pyx_k_cuTexRefGetFlags[] = "cuTexRefGetFlags";
static const char __pyx_k_cuTexRefSetArray[] = "cuTexRefSetArray";
static const char __pyx_k_cuTexRefSetFlags[] = "cuTexRefSetFlags";
static const char __pyx_k_cuVDPAUCtxCreate[] = "cuVDPAUCtxCreate";
static const char __pyx_k_cuVDPAUGetDevice[] = "cuVDPAUGetDevice";
static const char __pyx_k_dataWindowSize_2[] = "dataWindowSize";
static const char __pyx_k_depth_ValueError[] = "depth : <ValueError>";
static const char __pyx_k_eglColorFormat_2[] = "eglColorFormat";
static const char __pyx_k_event_ValueError[] = "event : <ValueError>";
static const char __pyx_k_extra_ValueError[] = "extra : <ValueError>";
static const char __pyx_k_fence_ValueError[] = "fence : <ValueError>";
static const char __pyx_k_firstMipmapLevel[] = "firstMipmapLevel : ";
static const char __pyx_k_flags_ValueError[] = "flags : <ValueError>";
static const char __pyx_k_frame_ValueError[] = "frame : <ValueError>";
static const char __pyx_k_graph_ValueError[] = "graph : <ValueError>";
static const char __pyx_k_greatestPriority[] = "greatestPriority";
static const char __pyx_k_internal_padding[] = "_internal_padding : ";
static const char __pyx_k_jitOptionsValues[] = "jitOptionsValues";
static const char __pyx_k_launchParamsList[] = "launchParamsList";
static const char __pyx_k_layer_ValueError[] = "layer : <ValueError>";
static const char __pyx_k_level_ValueError[] = "level : <ValueError>";
static const char __pyx_k_memOp_ValueError[] = "memOp : <ValueError>";
static const char __pyx_k_memOperationType[] = "memOperationType : ";
static const char __pyx_k_memSyncDomainMap[] = "memSyncDomainMap :\n";
static const char __pyx_k_mipmapFilterMode[] = "mipmapFilterMode : ";
static const char __pyx_k_nvSciBufObject_2[] = "nvSciBufObject";
static const char __pyx_k_pArrayDescriptor[] = "pArrayDescriptor";
static const char __pyx_k_pCudaDeviceCount[] = "pCudaDeviceCount";
static const char __pyx_k_param_ValueError[] = "param : <ValueError>";
static const char __pyx_k_phMipmappedArray[] = "phMipmappedArray";
static const char __pyx_k_pitch_ValueError[] = "pitch : <ValueError>";
static const char __pyx_k_ppixelsPerColumn[] = "ppixelsPerColumn";
static const char __pyx_k_pydependentNodes[] = "pydependentNodes";
static const char __pyx_k_pylibraryOptions[] = "pylibraryOptions";
static const char __pyx_k_sharedMemBytes_2[] = "sharedMemBytes";
static const char __pyx_k_sparseProperties[] = "sparseProperties";
static const char __pyx_k_usage_ValueError[] = "usage : <ValueError>";
static const char __pyx_k_value_ValueError[] = "value : <ValueError>";
static const char __pyx_k_width_ValueError[] = "width : <ValueError>";
static const char __pyx_k_win32_ValueError[] = "win32 : <ValueError>";
static const char __pyx_k_CUDA_ERROR_ASSERT[] = "CUDA_ERROR_ASSERT";
static const char __pyx_k_CUDA_TEXTURE_DESC[] = "CUDA_TEXTURE_DESC";
static const char __pyx_k_CU_AD_FORMAT_HALF[] = "CU_AD_FORMAT_HALF";
static const char __pyx_k_CU_AD_FORMAT_NV12[] = "CU_AD_FORMAT_NV12";
static const char __pyx_k_CU_CTX_FLAGS_MASK[] = "CU_CTX_FLAGS_MASK";
static const char __pyx_k_CU_CTX_SCHED_AUTO[] = "CU_CTX_SCHED_AUTO";
static const char __pyx_k_CU_CTX_SCHED_MASK[] = "CU_CTX_SCHED_MASK";
static const char __pyx_k_CU_CTX_SCHED_SPIN[] = "CU_CTX_SCHED_SPIN";
static const char __pyx_k_CU_DEVICE_INVALID[] = "CU_DEVICE_INVALID";
static const char __pyx_k_CU_JIT_CACHE_MODE[] = "CU_JIT_CACHE_MODE";
static const char __pyx_k_CU_JIT_INPUT_NVVM[] = "CU_JIT_INPUT_NVVM";
static const char __pyx_k_CU_STREAM_DEFAULT[] = "CU_STREAM_DEFAULT";
static const char __pyx_k_CUarrayMapInfo_st[] = "CUarrayMapInfo_st";
static const char __pyx_k_CUarrayMapInfo_v1[] = "CUarrayMapInfo_v1";
static const char __pyx_k_CUasyncCallback_2[] = "CUasyncCallback";
static const char __pyx_k_CUdevResourceDesc[] = "<CUdevResourceDesc ";
static const char __pyx_k_CUdevResourceType[] = "CUdevResourceType";
static const char __pyx_k_CUfunction_getPtr[] = "CUfunction.getPtr";
static const char __pyx_k_CUgraphDeviceNode[] = "<CUgraphDeviceNode ";
static const char __pyx_k_CUgraphNodeParams[] = "CUgraphNodeParams";
static const char __pyx_k_CUgreenCtx_getPtr[] = "CUgreenCtx.getPtr";
static const char __pyx_k_CUipcMemHandle_st[] = "CUipcMemHandle_st";
static const char __pyx_k_CUipcMemHandle_v1[] = "CUipcMemHandle_v1";
static const char __pyx_k_CUlaunchAttribute[] = "CUlaunchAttribute";
static const char __pyx_k_CUlaunchConfig_st[] = "CUlaunchConfig_st";
static const char __pyx_k_CUmemAccess_flags[] = "CUmemAccess_flags";
static const char __pyx_k_CUmemAttach_flags[] = "CUmemAttach_flags";
static const char __pyx_k_CUmemFabricHandle[] = "CUmemFabricHandle";
static const char __pyx_k_CUmemLocationType[] = "CUmemLocationType";
static const char __pyx_k_CUmemPoolProps_st[] = "CUmemPoolProps_st";
static const char __pyx_k_CUmemPoolProps_v1[] = "CUmemPoolProps_v1";
static const char __pyx_k_CUoccupancy_flags[] = "CUoccupancy_flags";
static const char __pyx_k_CUshared_carveout[] = "CUshared_carveout";
static const char __pyx_k_CUstreamAttrValue[] = "CUstreamAttrValue";
static const char __pyx_k_CUsurfObject_v1_2[] = "CUsurfObject_v1";
static const char __pyx_k_Device_properties[] = "\n    Device properties\n    ";
static const char __pyx_k_EGLSyncKHR_getPtr[] = "EGLSyncKHR.getPtr";
static const char __pyx_k_Event_sched_flags[] = "\n    Event sched flags\n    ";
static const char __pyx_k_Format_ValueError[] = "Format : <ValueError>";
static const char __pyx_k_Height_ValueError[] = "Height : <ValueError>";
static const char __pyx_k_List_is_too_small[] = "List is too small: ";
static const char __pyx_k_Optional_List_Any[] = "Optional[List[Any]]";
static const char __pyx_k_Optional_List_int[] = "Optional[List[int]]";
static const char __pyx_k_VdpGetProcAddress[] = "<VdpGetProcAddress ";
static const char __pyx_k_VdpVideoSurface_2[] = "VdpVideoSurface";
static const char __pyx_k_accessDescCount_2[] = "accessDescCount";
static const char __pyx_k_bytesOverBudget_2[] = "bytesOverBudget";
static const char __pyx_k_captureStatus_out[] = "captureStatus_out";
static const char __pyx_k_cchannelsPerPixel[] = "cchannelsPerPixel";
static const char __pyx_k_cdependencies_out[] = "cdependencies_out";
static const char __pyx_k_claunchParamsList[] = "claunchParamsList";
static const char __pyx_k_cmemsetParams_ptr[] = "cmemsetParams_ptr";
static const char __pyx_k_compressionType_2[] = "compressionType";
static const char __pyx_k_cpResViewDesc_ptr[] = "cpResViewDesc_ptr";
static const char __pyx_k_cuCtxFromGreenCtx[] = "cuCtxFromGreenCtx";
static const char __pyx_k_cuGraphAddNode_v2[] = "cuGraphAddNode_v2";
static const char __pyx_k_cuGraphExecUpdate[] = "cuGraphExecUpdate";
static const char __pyx_k_cuGreenCtxDestroy[] = "cuGreenCtxDestroy";
static const char __pyx_k_cuIpcGetMemHandle[] = "cuIpcGetMemHandle";
static const char __pyx_k_cuLaunchGridAsync[] = "cuLaunchGridAsync";
static const char __pyx_k_cuLibraryLoadData[] = "cuLibraryLoadData";
static const char __pyx_k_cuMemAllocManaged[] = "cuMemAllocManaged";
static const char __pyx_k_cuMemHostGetFlags[] = "cuMemHostGetFlags";
static const char __pyx_k_cuMemHostRegister[] = "cuMemHostRegister";
static const char __pyx_k_cuMemcpyAtoHAsync[] = "cuMemcpyAtoHAsync";
static const char __pyx_k_cuMemcpyDtoDAsync[] = "cuMemcpyDtoDAsync";
static const char __pyx_k_cuMemcpyDtoHAsync[] = "cuMemcpyDtoHAsync";
static const char __pyx_k_cuMemcpyHtoAAsync[] = "cuMemcpyHtoAAsync";
static const char __pyx_k_cuMemcpyHtoDAsync[] = "cuMemcpyHtoDAsync";
static const char __pyx_k_cuMemcpyPeerAsync[] = "cuMemcpyPeerAsync";
static const char __pyx_k_cuMemsetD2D8Async[] = "cuMemsetD2D8Async";
static const char __pyx_k_cuModuleGetGlobal[] = "cuModuleGetGlobal";
static const char __pyx_k_cuModuleGetTexRef[] = "cuModuleGetTexRef";
static const char __pyx_k_cuMulticastCreate[] = "cuMulticastCreate";
static const char __pyx_k_cuMulticastUnbind[] = "cuMulticastUnbind";
static const char __pyx_k_cuStreamWaitEvent[] = "cuStreamWaitEvent";
static const char __pyx_k_cuSurfRefGetArray[] = "cuSurfRefGetArray";
static const char __pyx_k_cuSurfRefSetArray[] = "cuSurfRefSetArray";
static const char __pyx_k_cuTexObjectCreate[] = "cuTexObjectCreate";
static const char __pyx_k_cuTexRefGetFormat[] = "cuTexRefGetFormat";
static const char __pyx_k_cuTexRefSetFormat[] = "cuTexRefSetFormat";
static const char __pyx_k_cuuint32_t_getPtr[] = "cuuint32_t.getPtr";
static const char __pyx_k_cuuint64_t_getPtr[] = "cuuint64_t.getPtr";
static const char __pyx_k_devPtr_ValueError[] = "devPtr : <ValueError>";
static const char __pyx_k_deviceUpdatable_2[] = "deviceUpdatable";
static const char __pyx_k_dstLOD_ValueError[] = "dstLOD : <ValueError>";
static const char __pyx_k_flushRemoteWrites[] = "flushRemoteWrites :\n";
static const char __pyx_k_format_ValueError[] = "format : <ValueError>";
static const char __pyx_k_hArray_ValueError[] = "hArray : <ValueError>";
static const char __pyx_k_hMipmappedArray_2[] = "hMipmappedArray";
static const char __pyx_k_handle_ValueError[] = "handle : <ValueError>";
static const char __pyx_k_height_ValueError[] = "height : <ValueError>";
static const char __pyx_k_instantiateParams[] = "instantiateParams";
static const char __pyx_k_kernel_ValueError[] = "kernel : <ValueError>";
static const char __pyx_k_lastMipmapLevel_2[] = "lastMipmapLevel";
static const char __pyx_k_linear_ValueError[] = "linear : <ValueError>";
static const char __pyx_k_memcpy_ValueError[] = "memcpy : <ValueError>";
static const char __pyx_k_memset_ValueError[] = "memset : <ValueError>";
static const char __pyx_k_mipmapLevelBias_2[] = "mipmapLevelBias";
static const char __pyx_k_mipmap_ValueError[] = "mipmap : <ValueError>";
static const char __pyx_k_miptailFirstLevel[] = "miptailFirstLevel : ";
static const char __pyx_k_numDependentNodes[] = "numDependentNodes";
static const char __pyx_k_numLibraryOptions[] = "numLibraryOptions";
static const char __pyx_k_nvSciSyncAttrList[] = "nvSciSyncAttrList";
static const char __pyx_k_offset_ValueError[] = "offset : <ValueError>";
static const char __pyx_k_opaque_ValueError[] = "opaque : <ValueError>";
static const char __pyx_k_pArray_ValueError[] = "pArray : <ValueError>";
static const char __pyx_k_pPitch_ValueError[] = "pPitch : <ValueError>";
static const char __pyx_k_params_ValueError[] = "params : <ValueError>";
static const char __pyx_k_pchannelsPerPixel[] = "pchannelsPerPixel";
static const char __pyx_k_programmaticEvent[] = "programmaticEvent :\n";
static const char __pyx_k_remote_ValueError[] = "remote : <ValueError>";
static const char __pyx_k_result_ValueError[] = "result : <ValueError>";
static const char __pyx_k_sharedMemPerBlock[] = "sharedMemPerBlock : ";
static const char __pyx_k_srcLOD_ValueError[] = "srcLOD : <ValueError>";
static const char __pyx_k_subresourceType_2[] = "subresourceType";
static const char __pyx_k_vdpGetProcAddress[] = "vdpGetProcAddress";
static const char __pyx_k_CUDA_ERROR_TIMEOUT[] = "CUDA_ERROR_TIMEOUT";
static const char __pyx_k_CUDA_ERROR_UNKNOWN[] = "CUDA_ERROR_UNKNOWN";
static const char __pyx_k_CUDA_Ipc_Mem_Flags[] = "\n    CUDA Ipc Mem Flags\n    ";
static const char __pyx_k_CUDA_LAUNCH_PARAMS[] = "CUDA_LAUNCH_PARAMS";
static const char __pyx_k_CUDA_MEMCPY3D_PEER[] = "CUDA_MEMCPY3D_PEER";
static const char __pyx_k_CUDA_RESOURCE_DESC[] = "CUDA_RESOURCE_DESC";
static const char __pyx_k_CU_AD_FORMAT_FLOAT[] = "CU_AD_FORMAT_FLOAT";
static const char __pyx_k_CU_CTX_SCHED_YIELD[] = "CU_CTX_SCHED_YIELD";
static const char __pyx_k_CU_CTX_SYNC_MEMOPS[] = "CU_CTX_SYNC_MEMOPS";
static const char __pyx_k_CU_IPC_HANDLE_SIZE[] = "CU_IPC_HANDLE_SIZE";
static const char __pyx_k_CU_JIT_INPUT_CUBIN[] = "CU_JIT_INPUT_CUBIN";
static const char __pyx_k_CU_JIT_LOG_VERBOSE[] = "CU_JIT_LOG_VERBOSE";
static const char __pyx_k_CU_JIT_NUM_OPTIONS[] = "CU_JIT_NUM_OPTIONS";
static const char __pyx_k_CU_MEMORYTYPE_HOST[] = "CU_MEMORYTYPE_HOST";
static const char __pyx_k_CU_MEM_ATTACH_HOST[] = "CU_MEM_ATTACH_HOST";
static const char __pyx_k_CUcoredumpSettings[] = "CUcoredumpSettings";
static const char __pyx_k_CUdevSmResource_st[] = "CUdevSmResource_st";
static const char __pyx_k_CUdeviceNumaConfig[] = "CUdeviceNumaConfig";
static const char __pyx_k_CUdevice_attribute[] = "CUdevice_attribute";
static const char __pyx_k_CUdevice_v1_getPtr[] = "CUdevice_v1.getPtr";
static const char __pyx_k_CUdeviceptr_getPtr[] = "CUdeviceptr.getPtr";
static const char __pyx_k_CUevent_wait_flags[] = "CUevent_wait_flags";
static const char __pyx_k_CUexecAffinityType[] = "CUexecAffinityType";
static const char __pyx_k_CUexternalMemory_2[] = "CUexternalMemory";
static const char __pyx_k_CUgraphEdgeData_st[] = "CUgraphEdgeData_st";
static const char __pyx_k_CUgraphExec_getPtr[] = "CUgraphExec.getPtr";
static const char __pyx_k_CUgraphNode_getPtr[] = "CUgraphNode.getPtr";
static const char __pyx_k_CUgraphicsResource[] = "<CUgraphicsResource ";
static const char __pyx_k_CUkernelNodeAttrID[] = "CUkernelNodeAttrID";
static const char __pyx_k_CUlinkState_getPtr[] = "CUlinkState.getPtr";
static const char __pyx_k_CUmemAccessDesc_st[] = "CUmemAccessDesc_st";
static const char __pyx_k_CUmemAccessDesc_v1[] = "CUmemAccessDesc_v1";
static const char __pyx_k_CUmemOperationType[] = "CUmemOperationType";
static const char __pyx_k_CUmipmappedArray_2[] = "CUmipmappedArray";
static const char __pyx_k_CUoccupancyB2DSize[] = "<CUoccupancyB2DSize ";
static const char __pyx_k_CUstreamCallback_2[] = "CUstreamCallback";
static const char __pyx_k_CUtensorMapSwizzle[] = "CUtensorMapSwizzle";
static const char __pyx_k_CUtexObject_getPtr[] = "CUtexObject.getPtr";
static const char __pyx_k_CUuserObject_flags[] = "CUuserObject_flags";
static const char __pyx_k_EGLImageKHR_getPtr[] = "EGLImageKHR.getPtr";
static const char __pyx_k_Event_record_flags[] = "\n    Event record flags\n    ";
static const char __pyx_k_VdpOutputSurface_2[] = "VdpOutputSurface";
static const char __pyx_k_accessPolicyWindow[] = "accessPolicyWindow :\n";
static const char __pyx_k_address_ValueError[] = "address : <ValueError>";
static const char __pyx_k_anon_union2_getPtr[] = "anon_union2.getPtr";
static const char __pyx_k_anon_union3_getPtr[] = "anon_union3.getPtr";
static const char __pyx_k_anon_union4_getPtr[] = "anon_union4.getPtr";
static const char __pyx_k_anon_union5_getPtr[] = "anon_union5.getPtr";
static const char __pyx_k_anon_union6_getPtr[] = "anon_union6.getPtr";
static const char __pyx_k_anon_union7_getPtr[] = "anon_union7.getPtr";
static const char __pyx_k_anon_union8_getPtr[] = "anon_union8.getPtr";
static const char __pyx_k_anon_union9_getPtr[] = "anon_union9.getPtr";
static const char __pyx_k_asyncio_coroutines[] = "asyncio.coroutines";
static const char __pyx_k_cglobalAddress_ptr[] = "cglobalAddress_ptr";
static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
static const char __pyx_k_cmemHandleDesc_ptr[] = "cmemHandleDesc_ptr";
static const char __pyx_k_cnvSciSyncAttrList[] = "cnvSciSyncAttrList";
static const char __pyx_k_copyCtx_ValueError[] = "copyCtx : <ValueError>";
static const char __pyx_k_csemHandleDesc_ptr[] = "csemHandleDesc_ptr";
static const char __pyx_k_cuCtxGetApiVersion[] = "cuCtxGetApiVersion";
static const char __pyx_k_cuDeviceGetMemPool[] = "cuDeviceGetMemPool";
static const char __pyx_k_cuDeviceGetUuid_v2[] = "cuDeviceGetUuid_v2";
static const char __pyx_k_cuDeviceSetMemPool[] = "cuDeviceSetMemPool";
static const char __pyx_k_cuDriverGetVersion[] = "cuDriverGetVersion";
static const char __pyx_k_cuEventElapsedTime[] = "cuEventElapsedTime";
static const char __pyx_k_cuEventSynchronize[] = "cuEventSynchronize";
static const char __pyx_k_cuFuncGetAttribute[] = "cuFuncGetAttribute";
static const char __pyx_k_cuFuncGetParamInfo[] = "cuFuncGetParamInfo";
static const char __pyx_k_cuFuncSetAttribute[] = "cuFuncSetAttribute";
static const char __pyx_k_cuGraphAddHostNode[] = "cuGraphAddHostNode";
static const char __pyx_k_cuGraphDestroyNode[] = "cuGraphDestroyNode";
static const char __pyx_k_cuGraphExecDestroy[] = "cuGraphExecDestroy";
static const char __pyx_k_cuGraphGetEdges_v2[] = "cuGraphGetEdges_v2";
static const char __pyx_k_cuGraphInstantiate[] = "cuGraphInstantiate";
static const char __pyx_k_cuGraphNodeGetType[] = "cuGraphNodeGetType";
static const char __pyx_k_cuIpcOpenMemHandle[] = "cuIpcOpenMemHandle";
static const char __pyx_k_cuLibraryGetGlobal[] = "cuLibraryGetGlobal";
static const char __pyx_k_cuLibraryGetKernel[] = "cuLibraryGetKernel";
static const char __pyx_k_cuLibraryGetModule[] = "cuLibraryGetModule";
static const char __pyx_k_cuMemMapArrayAsync[] = "cuMemMapArrayAsync";
static const char __pyx_k_cuMemPoolGetAccess[] = "cuMemPoolGetAccess";
static const char __pyx_k_cuMemPoolSetAccess[] = "cuMemPoolSetAccess";
static const char __pyx_k_cuMemPrefetchAsync[] = "cuMemPrefetchAsync";
static const char __pyx_k_cuMemsetD2D16Async[] = "cuMemsetD2D16Async";
static const char __pyx_k_cuMemsetD2D32Async[] = "cuMemsetD2D32Async";
static const char __pyx_k_cuModuleGetSurfRef[] = "cuModuleGetSurfRef";
static const char __pyx_k_cuModuleLoadDataEx[] = "cuModuleLoadDataEx";
static const char __pyx_k_cuMulticastBindMem[] = "cuMulticastBindMem";
static const char __pyx_k_cuStreamBatchMemOp[] = "cuStreamBatchMemOp";
static const char __pyx_k_cuStreamEndCapture[] = "cuStreamEndCapture";
static const char __pyx_k_cuSurfObjectCreate[] = "cuSurfObjectCreate";
static const char __pyx_k_cuTexObjectDestroy[] = "cuTexObjectDestroy";
static const char __pyx_k_cuTexRefGetAddress[] = "cuTexRefGetAddress";
static const char __pyx_k_cuTexRefSetAddress[] = "cuTexRefSetAddress";
static const char __pyx_k_cuUserObjectCreate[] = "cuUserObjectCreate";
static const char __pyx_k_cuUserObjectRetain[] = "cuUserObjectRetain";
static const char __pyx_k_cvdpGetProcAddress[] = "cvdpGetProcAddress";
static const char __pyx_k_defaultLaunchValue[] = "defaultLaunchValue";
static const char __pyx_k_devNode_ValueError[] = "devNode : <ValueError>";
static const char __pyx_k_dstHost_ValueError[] = "dstHost : <ValueError>";
static const char __pyx_k_firstMipmapLevel_2[] = "firstMipmapLevel";
static const char __pyx_k_functionWindowSize[] = "functionWindowSize : ";
static const char __pyx_k_hStream_ValueError[] = "hStream : <ValueError>";
static const char __pyx_k_hitProp_ValueError[] = "hitProp : <ValueError>";
static const char __pyx_k_internal_padding_2[] = "_internal_padding";
static const char __pyx_k_maxSize_ValueError[] = "maxSize : <ValueError>";
static const char __pyx_k_maxThreadsPerBlock[] = "maxThreadsPerBlock : ";
static const char __pyx_k_maxWidthInElements[] = "maxWidthInElements";
static const char __pyx_k_memOperationType_2[] = "memOperationType";
static const char __pyx_k_memSyncDomainMap_2[] = "memSyncDomainMap";
static const char __pyx_k_memoryRequirements[] = "memoryRequirements";
static const char __pyx_k_mipmapFilterMode_2[] = "mipmapFilterMode";
static const char __pyx_k_miptail_ValueError[] = "miptail : <ValueError>";
static const char __pyx_k_offsetX_ValueError[] = "offsetX : <ValueError>";
static const char __pyx_k_offsetY_ValueError[] = "offsetY : <ValueError>";
static const char __pyx_k_offsetZ_ValueError[] = "offsetZ : <ValueError>";
static const char __pyx_k_pitch2D_ValueError[] = "pitch2D : <ValueError>";
static const char __pyx_k_pvdpGetProcAddress[] = "pvdpGetProcAddress";
static const char __pyx_k_pydependencies_out[] = "pydependencies_out";
static const char __pyx_k_resType_ValueError[] = "resType : <ValueError>";
static const char __pyx_k_smCount_ValueError[] = "smCount : <ValueError>";
static const char __pyx_k_srcHost_ValueError[] = "srcHost : <ValueError>";
static const char __pyx_k_to_port_ValueError[] = "to_port : <ValueError>";
static const char __pyx_k_value64_ValueError[] = "value64 : <ValueError>";
static const char __pyx_k_voidStarHelperdata[] = "voidStarHelperdata";
static const char __pyx_k_CUDA_ARRAY3D_SPARSE[] = "CUDA_ARRAY3D_SPARSE";
static const char __pyx_k_CU_EVENT_SCHED_AUTO[] = "CU_EVENT_SCHED_AUTO";
static const char __pyx_k_CU_EVENT_SCHED_SPIN[] = "CU_EVENT_SCHED_SPIN";
static const char __pyx_k_CU_JIT_FAST_COMPILE[] = "CU_JIT_FAST_COMPILE";
static const char __pyx_k_CU_JIT_INPUT_OBJECT[] = "CU_JIT_INPUT_OBJECT";
static const char __pyx_k_CU_JIT_NEW_SM3X_OPT[] = "CU_JIT_NEW_SM3X_OPT";
static const char __pyx_k_CU_LAUNCH_PARAM_END[] = "CU_LAUNCH_PARAM_END";
static const char __pyx_k_CU_LIMIT_STACK_SIZE[] = "CU_LIMIT_STACK_SIZE";
static const char __pyx_k_CU_MEMORYTYPE_ARRAY[] = "CU_MEMORYTYPE_ARRAY";
static const char __pyx_k_CU_PARAM_TR_DEFAULT[] = "CU_PARAM_TR_DEFAULT";
static const char __pyx_k_CU_SYNC_POLICY_AUTO[] = "CU_SYNC_POLICY_AUTO";
static const char __pyx_k_CU_SYNC_POLICY_SPIN[] = "CU_SYNC_POLICY_SPIN";
static const char __pyx_k_CUdevResourceDesc_2[] = "CUdevResourceDesc";
static const char __pyx_k_CUdevprop_st_getPtr[] = "CUdevprop_st.getPtr";
static const char __pyx_k_CUevent_sched_flags[] = "CUevent_sched_flags";
static const char __pyx_k_CUexecAffinityParam[] = "CUexecAffinityParam";
static const char __pyx_k_CUexternalSemaphore[] = "<CUexternalSemaphore ";
static const char __pyx_k_CUgraphDeviceNode_2[] = "CUgraphDeviceNode";
static const char __pyx_k_CUipcEventHandle_st[] = "CUipcEventHandle_st";
static const char __pyx_k_CUipcEventHandle_v1[] = "CUipcEventHandle_v1";
static const char __pyx_k_CUlaunchAttributeID[] = "CUlaunchAttributeID";
static const char __pyx_k_CUmemAllocationProp[] = "CUmemAllocationProp";
static const char __pyx_k_CUmemAllocationType[] = "CUmemAllocationType";
static const char __pyx_k_CUmemPool_attribute[] = "CUmemPool_attribute";
static const char __pyx_k_CUmemoryPool_getPtr[] = "CUmemoryPool.getPtr";
static const char __pyx_k_CUmoduleLoadingMode[] = "CUmoduleLoadingMode";
static const char __pyx_k_CUpointer_attribute[] = "CUpointer_attribute";
static const char __pyx_k_CUstreamCaptureMode[] = "CUstreamCaptureMode";
static const char __pyx_k_CUsurfObject_getPtr[] = "CUsurfObject.getPtr";
static const char __pyx_k_CUtensorMapDataType[] = "CUtensorMapDataType";
static const char __pyx_k_CUuserObject_getPtr[] = "CUuserObject.getPtr";
static const char __pyx_k_Device_code_formats[] = "\n    Device code formats\n    ";
static const char __pyx_k_EGLStreamKHR_getPtr[] = "EGLStreamKHR.getPtr";
static const char __pyx_k_Function_properties[] = "\n    Function properties\n    ";
static const char __pyx_k_Memory_handle_types[] = "\n    Memory handle types\n    ";
static const char __pyx_k_NVCL_CTX_SCHED_AUTO[] = "NVCL_CTX_SCHED_AUTO";
static const char __pyx_k_NVCL_CTX_SCHED_SPIN[] = "NVCL_CTX_SCHED_SPIN";
static const char __pyx_k_NumPackedComponents[] = "NumPackedComponents";
static const char __pyx_k_Optional_CUeglFrame[] = "Optional[CUeglFrame]";
static const char __pyx_k_Pointer_information[] = "\n    Pointer information\n    ";
static const char __pyx_k_VdpGetProcAddress_2[] = "VdpGetProcAddress";
static const char __pyx_k_anon_struct0_getPtr[] = "anon_struct0.getPtr";
static const char __pyx_k_anon_struct1_getPtr[] = "anon_struct1.getPtr";
static const char __pyx_k_anon_struct2_getPtr[] = "anon_struct2.getPtr";
static const char __pyx_k_anon_struct3_getPtr[] = "anon_struct3.getPtr";
static const char __pyx_k_anon_struct4_getPtr[] = "anon_struct4.getPtr";
static const char __pyx_k_anon_struct5_getPtr[] = "anon_struct5.getPtr";
static const char __pyx_k_anon_struct6_getPtr[] = "anon_struct6.getPtr";
static const char __pyx_k_anon_struct7_getPtr[] = "anon_struct7.getPtr";
static const char __pyx_k_anon_struct8_getPtr[] = "anon_struct8.getPtr";
static const char __pyx_k_anon_struct9_getPtr[] = "anon_struct9.getPtr";
static const char __pyx_k_anon_union10_getPtr[] = "anon_union10.getPtr";
static const char __pyx_k_anon_union11_getPtr[] = "anon_union11.getPtr";
static const char __pyx_k_anon_union14_getPtr[] = "anon_union14.getPtr";
static const char __pyx_k_base_ptr_ValueError[] = "base_ptr : <ValueError>";
static const char __pyx_k_bytesize_ValueError[] = "bytesize : <ValueError>";
static const char __pyx_k_cpAllocateArray_ptr[] = "cpAllocateArray_ptr";
static const char __pyx_k_cpExportTableId_ptr[] = "cpExportTableId_ptr";
static const char __pyx_k_cuCtxGetCacheConfig[] = "cuCtxGetCacheConfig";
static const char __pyx_k_cuCtxGetDevResource[] = "cuCtxGetDevResource";
static const char __pyx_k_cuCtxSetCacheConfig[] = "cuCtxSetCacheConfig";
static const char __pyx_k_cuDeviceGetPCIBusId[] = "cuDeviceGetPCIBusId";
static const char __pyx_k_cuFormat_ValueError[] = "cuFormat : <ValueError>";
static const char __pyx_k_cuFuncSetBlockShape[] = "cuFuncSetBlockShape";
static const char __pyx_k_cuFuncSetSharedSize[] = "cuFuncSetSharedSize";
static const char __pyx_k_cuGraphAddEmptyNode[] = "cuGraphAddEmptyNode";
static const char __pyx_k_cuGraphExecGetFlags[] = "cuGraphExecGetFlags";
static const char __pyx_k_cuGraphGetRootNodes[] = "cuGraphGetRootNodes";
static const char __pyx_k_cuGreenCtxWaitEvent[] = "cuGreenCtxWaitEvent";
static const char __pyx_k_cuIpcCloseMemHandle[] = "cuIpcCloseMemHandle";
static const char __pyx_k_cuIpcGetEventHandle[] = "cuIpcGetEventHandle";
static const char __pyx_k_cuKernelGetFunction[] = "cuKernelGetFunction";
static const char __pyx_k_cuLibraryGetManaged[] = "cuLibraryGetManaged";
static const char __pyx_k_cuMemAddressReserve[] = "cuMemAddressReserve";
static const char __pyx_k_cuMemHostUnregister[] = "cuMemHostUnregister";
static const char __pyx_k_cuMemcpy2DUnaligned[] = "cuMemcpy2DUnaligned";
static const char __pyx_k_cuMemcpy3DPeerAsync[] = "cuMemcpy3DPeerAsync";
static const char __pyx_k_cuModuleGetFunction[] = "cuModuleGetFunction";
static const char __pyx_k_cuMulticastBindAddr[] = "cuMulticastBindAddr";
static const char __pyx_k_cuStreamAddCallback[] = "cuStreamAddCallback";
static const char __pyx_k_cuStreamGetGreenCtx[] = "cuStreamGetGreenCtx";
static const char __pyx_k_cuStreamGetPriority[] = "cuStreamGetPriority";
static const char __pyx_k_cuStreamIsCapturing[] = "cuStreamIsCapturing";
static const char __pyx_k_cuStreamSynchronize[] = "cuStreamSynchronize";
static const char __pyx_k_cuStreamWaitValue32[] = "cuStreamWaitValue32";
static const char __pyx_k_cuStreamWaitValue64[] = "cuStreamWaitValue64";
static const char __pyx_k_cuSurfObjectDestroy[] = "cuSurfObjectDestroy";
static const char __pyx_k_cuUserObjectRelease[] = "cuUserObjectRelease";
static const char __pyx_k_cvoidStarHelper_ptr[] = "cvoidStarHelper_ptr";
static const char __pyx_k_default__ValueError[] = "default_ : <ValueError>";
static const char __pyx_k_dstArray_ValueError[] = "dstArray : <ValueError>";
static const char __pyx_k_dstPitch_ValueError[] = "dstPitch : <ValueError>";
static const char __pyx_k_flushRemoteWrites_2[] = "flushRemoteWrites";
static const char __pyx_k_function_ValueError[] = "function : <ValueError>";
static const char __pyx_k_gridDimX_ValueError[] = "gridDimX : <ValueError>";
static const char __pyx_k_gridDimY_ValueError[] = "gridDimY : <ValueError>";
static const char __pyx_k_gridDimZ_ValueError[] = "gridDimZ : <ValueError>";
static const char __pyx_k_hitRatio_ValueError[] = "hitRatio : <ValueError>";
static const char __pyx_k_libraryOptionValues[] = "libraryOptionValues";
static const char __pyx_k_location_ValueError[] = "location : <ValueError>";
static const char __pyx_k_maxMipmapLevelClamp[] = "maxMipmapLevelClamp : ";
static const char __pyx_k_memPitch_ValueError[] = "memPitch : <ValueError>";
static const char __pyx_k_minMipmapLevelClamp[] = "minMipmapLevelClamp : ";
static const char __pyx_k_miptailFirstLevel_2[] = "miptailFirstLevel";
static const char __pyx_k_missProp_ValueError[] = "missProp : <ValueError>";
static const char __pyx_k_numAttrs_ValueError[] = "numAttrs : <ValueError>";
static const char __pyx_k_numDependencies_out[] = "numDependencies_out";
static const char __pyx_k_oversize_ValueError[] = "_oversize : <ValueError>";
static const char __pyx_k_p2pToken_ValueError[] = "p2pToken : <ValueError>";
static const char __pyx_k_pMipmappedArrayDesc[] = "pMipmappedArrayDesc";
static const char __pyx_k_pixelBoxLowerCorner[] = "pixelBoxLowerCorner";
static const char __pyx_k_pixelBoxUpperCorner[] = "pixelBoxUpperCorner";
static const char __pyx_k_priority_ValueError[] = "priority : <ValueError>";
static const char __pyx_k_programmaticEvent_2[] = "programmaticEvent";
static const char __pyx_k_reserved_ValueError[] = "reserved : <ValueError>";
static const char __pyx_k_resource_ValueError[] = "resource : <ValueError>";
static const char __pyx_k_sharedMemPerBlock_2[] = "sharedMemPerBlock";
static const char __pyx_k_srcArray_ValueError[] = "srcArray : <ValueError>";
static const char __pyx_k_srcPitch_ValueError[] = "srcPitch : <ValueError>";
static const char __pyx_k_totalConstantMemory[] = "totalConstantMemory : ";
static const char __pyx_k_triggerAtBlockStart[] = "triggerAtBlockStart : ";
static const char __pyx_k_userData_ValueError[] = "userData : <ValueError>";
static const char __pyx_k_win32HandleMetaData[] = "win32HandleMetaData : ";
static const char __pyx_k_CUDA_ARRAY3D_2DARRAY[] = "CUDA_ARRAY3D_2DARRAY";
static const char __pyx_k_CUDA_ARRAY3D_CUBEMAP[] = "CUDA_ARRAY3D_CUBEMAP";
static const char __pyx_k_CUDA_ARRAY3D_LAYERED[] = "CUDA_ARRAY3D_LAYERED";
static const char __pyx_k_CUDA_ERROR_NOT_FOUND[] = "CUDA_ERROR_NOT_FOUND";
static const char __pyx_k_CUDA_ERROR_NOT_READY[] = "CUDA_ERROR_NOT_READY";
static const char __pyx_k_CUDA_ERROR_NO_DEVICE[] = "CUDA_ERROR_NO_DEVICE";
static const char __pyx_k_CUDA_TEXTURE_DESC_st[] = "CUDA_TEXTURE_DESC_st";
static const char __pyx_k_CUDA_TEXTURE_DESC_v1[] = "CUDA_TEXTURE_DESC_v1";
static const char __pyx_k_CU_CTX_BLOCKING_SYNC[] = "CU_CTX_BLOCKING_SYNC";
static const char __pyx_k_CU_EVENT_SCHED_YIELD[] = "CU_EVENT_SCHED_YIELD";
static const char __pyx_k_CU_JIT_INPUT_LIBRARY[] = "CU_JIT_INPUT_LIBRARY";
static const char __pyx_k_CU_JIT_MAX_REGISTERS[] = "CU_JIT_MAX_REGISTERS";
static const char __pyx_k_CU_MEMORYTYPE_DEVICE[] = "CU_MEMORYTYPE_DEVICE";
static const char __pyx_k_CU_MEM_ATTACH_GLOBAL[] = "CU_MEM_ATTACH_GLOBAL";
static const char __pyx_k_CU_MEM_ATTACH_SINGLE[] = "CU_MEM_ATTACH_SINGLE";
static const char __pyx_k_CU_OCCUPANCY_DEFAULT[] = "CU_OCCUPANCY_DEFAULT";
static const char __pyx_k_CU_STREAM_PER_THREAD[] = "CU_STREAM_PER_THREAD";
static const char __pyx_k_CU_SYNC_POLICY_YIELD[] = "CU_SYNC_POLICY_YIELD";
static const char __pyx_k_CU_TARGET_COMPUTE_30[] = "CU_TARGET_COMPUTE_30";
static const char __pyx_k_CU_TARGET_COMPUTE_32[] = "CU_TARGET_COMPUTE_32";
static const char __pyx_k_CU_TARGET_COMPUTE_35[] = "CU_TARGET_COMPUTE_35";
static const char __pyx_k_CU_TARGET_COMPUTE_37[] = "CU_TARGET_COMPUTE_37";
static const char __pyx_k_CU_TARGET_COMPUTE_50[] = "CU_TARGET_COMPUTE_50";
static const char __pyx_k_CU_TARGET_COMPUTE_52[] = "CU_TARGET_COMPUTE_52";
static const char __pyx_k_CU_TARGET_COMPUTE_53[] = "CU_TARGET_COMPUTE_53";
static const char __pyx_k_CU_TARGET_COMPUTE_60[] = "CU_TARGET_COMPUTE_60";
static const char __pyx_k_CU_TARGET_COMPUTE_61[] = "CU_TARGET_COMPUTE_61";
static const char __pyx_k_CU_TARGET_COMPUTE_62[] = "CU_TARGET_COMPUTE_62";
static const char __pyx_k_CU_TARGET_COMPUTE_70[] = "CU_TARGET_COMPUTE_70";
static const char __pyx_k_CU_TARGET_COMPUTE_72[] = "CU_TARGET_COMPUTE_72";
static const char __pyx_k_CU_TARGET_COMPUTE_75[] = "CU_TARGET_COMPUTE_75";
static const char __pyx_k_CU_TARGET_COMPUTE_80[] = "CU_TARGET_COMPUTE_80";
static const char __pyx_k_CU_TARGET_COMPUTE_86[] = "CU_TARGET_COMPUTE_86";
static const char __pyx_k_CU_TARGET_COMPUTE_87[] = "CU_TARGET_COMPUTE_87";
static const char __pyx_k_CU_TARGET_COMPUTE_89[] = "CU_TARGET_COMPUTE_89";
static const char __pyx_k_CU_TARGET_COMPUTE_90[] = "CU_TARGET_COMPUTE_90";
static const char __pyx_k_CUaccessPolicyWindow[] = "CUaccessPolicyWindow";
static const char __pyx_k_CUarray_cubemap_face[] = "CUarray_cubemap_face";
static const char __pyx_k_CUeglFrame_st_getPtr[] = "CUeglFrame_st.getPtr";
static const char __pyx_k_CUevent_record_flags[] = "CUevent_record_flags";
static const char __pyx_k_CUfunction_attribute[] = "CUfunction_attribute";
static const char __pyx_k_CUgraphMem_attribute[] = "CUgraphMem_attribute";
static const char __pyx_k_CUgraphNodeParams_st[] = "CUgraphNodeParams_st";
static const char __pyx_k_CUgraphicsResource_2[] = "CUgraphicsResource";
static const char __pyx_k_CUlaunchAttribute_st[] = "CUlaunchAttribute_st";
static const char __pyx_k_CUmemFabricHandle_st[] = "CUmemFabricHandle_st";
static const char __pyx_k_CUmemFabricHandle_v1[] = "CUmemFabricHandle_v1";
static const char __pyx_k_CUmemRangeHandleType[] = "CUmemRangeHandleType";
static const char __pyx_k_CUoccupancyB2DSize_2[] = "CUoccupancyB2DSize";
static const char __pyx_k_CUresourceViewFormat[] = "CUresourceViewFormat";
static const char __pyx_k_CUstreamAttrValue_v1[] = "CUstreamAttrValue_v1";
static const char __pyx_k_Event_creation_flags[] = "\n    Event creation flags\n    ";
static const char __pyx_k_Memory_advise_values[] = "\n    Memory advise values\n    ";
static const char __pyx_k_NVCL_CTX_SCHED_YIELD[] = "NVCL_CTX_SCHED_YIELD";
static const char __pyx_k_Optional_CUtensorMap[] = "Optional[CUtensorMap]";
static const char __pyx_k_RESOURCE_ABI_VERSION[] = "RESOURCE_ABI_VERSION";
static const char __pyx_k_Resource_view_format[] = "\n    Resource view format\n    ";
static const char __pyx_k_SIMDWidth_ValueError[] = "SIMDWidth : <ValueError>";
static const char __pyx_k_Tensor_map_data_type[] = "\n    Tensor map data type\n    ";
static const char __pyx_k_accessPolicyWindow_2[] = "accessPolicyWindow";
static const char __pyx_k_alignment_ValueError[] = "alignment : <ValueError>";
static const char __pyx_k_allocType_ValueError[] = "allocType : <ValueError>";
static const char __pyx_k_anon_struct10_getPtr[] = "anon_struct10.getPtr";
static const char __pyx_k_anon_struct11_getPtr[] = "anon_struct11.getPtr";
static const char __pyx_k_anon_struct12_getPtr[] = "anon_struct12.getPtr";
static const char __pyx_k_anon_struct13_getPtr[] = "anon_struct13.getPtr";
static const char __pyx_k_anon_struct14_getPtr[] = "anon_struct14.getPtr";
static const char __pyx_k_anon_struct15_getPtr[] = "anon_struct15.getPtr";
static const char __pyx_k_anon_struct16_getPtr[] = "anon_struct16.getPtr";
static const char __pyx_k_anon_struct17_getPtr[] = "anon_struct17.getPtr";
static const char __pyx_k_anon_struct18_getPtr[] = "anon_struct18.getPtr";
static const char __pyx_k_anon_struct19_getPtr[] = "anon_struct19.getPtr";
static const char __pyx_k_anon_struct20_getPtr[] = "anon_struct20.getPtr";
static const char __pyx_k_anon_struct21_getPtr[] = "anon_struct21.getPtr";
static const char __pyx_k_arrayDesc_ValueError[] = "arrayDesc : <ValueError>";
static const char __pyx_k_blockDimX_ValueError[] = "blockDimX : <ValueError>";
static const char __pyx_k_blockDimY_ValueError[] = "blockDimY : <ValueError>";
static const char __pyx_k_blockDimZ_ValueError[] = "blockDimZ : <ValueError>";
static const char __pyx_k_clockRate_ValueError[] = "clockRate : <ValueError>";
static const char __pyx_k_cpixelBoxLowerCorner[] = "cpixelBoxLowerCorner";
static const char __pyx_k_cpixelBoxUpperCorner[] = "cpixelBoxUpperCorner";
static const char __pyx_k_cshareableHandle_ptr[] = "cshareableHandle_ptr";
static const char __pyx_k_cuArrayGetDescriptor[] = "cuArrayGetDescriptor";
static const char __pyx_k_cuCtxGetExecAffinity[] = "cuCtxGetExecAffinity";
static const char __pyx_k_cuDeviceGetAttribute[] = "cuDeviceGetAttribute";
static const char __pyx_k_cuDeviceGraphMemTrim[] = "cuDeviceGraphMemTrim";
static const char __pyx_k_cuFuncSetCacheConfig[] = "cuFuncSetCacheConfig";
static const char __pyx_k_cuGraphAddKernelNode[] = "cuGraphAddKernelNode";
static const char __pyx_k_cuGraphAddMemcpyNode[] = "cuGraphAddMemcpyNode";
static const char __pyx_k_cuGraphAddMemsetNode[] = "cuGraphAddMemsetNode";
static const char __pyx_k_cuGraphDebugDotPrint[] = "cuGraphDebugDotPrint";
static const char __pyx_k_cuGraphNodeSetParams[] = "cuGraphNodeSetParams";
static const char __pyx_k_cuIpcOpenEventHandle[] = "cuIpcOpenEventHandle";
static const char __pyx_k_cuKernelGetAttribute[] = "cuKernelGetAttribute";
static const char __pyx_k_cuKernelGetParamInfo[] = "cuKernelGetParamInfo";
static const char __pyx_k_cuKernelSetAttribute[] = "cuKernelSetAttribute";
static const char __pyx_k_cuMemGetAddressRange[] = "cuMemGetAddressRange";
static const char __pyx_k_cuMulticastAddDevice[] = "cuMulticastAddDevice";
static const char __pyx_k_cuStreamBeginCapture[] = "cuStreamBeginCapture";
static const char __pyx_k_cuStreamGetAttribute[] = "cuStreamGetAttribute";
static const char __pyx_k_cuStreamSetAttribute[] = "cuStreamSetAttribute";
static const char __pyx_k_cuStreamWriteValue32[] = "cuStreamWriteValue32";
static const char __pyx_k_cuStreamWriteValue64[] = "cuStreamWriteValue64";
static const char __pyx_k_cuTexRefSetAddress2D[] = "cuTexRefSetAddress2D";
static const char __pyx_k_dataTable_ValueError[] = "dataTable : <ValueError>";
static const char __pyx_k_dstDevice_ValueError[] = "dstDevice : <ValueError>";
static const char __pyx_k_dstHeight_ValueError[] = "dstHeight : <ValueError>";
static const char __pyx_k_errorNode_ValueError[] = "errorNode : <ValueError>";
static const char __pyx_k_eventWait_ValueError[] = "eventWait : <ValueError>";
static const char __pyx_k_frameType_ValueError[] = "frameType : <ValueError>";
static const char __pyx_k_from_port_ValueError[] = "from_port : <ValueError>";
static const char __pyx_k_functionWindowSize_2[] = "functionWindowSize";
static const char __pyx_k_gpuDirectRDMACapable[] = "gpuDirectRDMACapable : ";
static const char __pyx_k_lastLayer_ValueError[] = "lastLayer : <ValueError>";
static const char __pyx_k_maxThreadsPerBlock_2[] = "maxThreadsPerBlock";
static const char __pyx_k_memHandle_ValueError[] = "memHandle : <ValueError>";
static const char __pyx_k_numLevels_ValueError[] = "numLevels : <ValueError>";
static const char __pyx_k_num_bytes_ValueError[] = "num_bytes : <ValueError>";
static const char __pyx_k_nvSciSync_ValueError[] = "nvSciSync : <ValueError>";
static const char __pyx_k_operation_ValueError[] = "operation : <ValueError>";
static const char __pyx_k_pmaxMipmapLevelClamp[] = "pmaxMipmapLevelClamp";
static const char __pyx_k_pminMipmapLevelClamp[] = "pminMipmapLevelClamp";
static const char __pyx_k_poolProps_ValueError[] = "poolProps : <ValueError>";
static const char __pyx_k_requestedHandleTypes[] = "requestedHandleTypes : ";
static const char __pyx_k_reserved0_ValueError[] = "reserved0 : <ValueError>";
static const char __pyx_k_reserved1_ValueError[] = "reserved1 : <ValueError>";
static const char __pyx_k_reserved2_ValueError[] = "reserved2 : <ValueError>";
static const char __pyx_k_srcDevice_ValueError[] = "srcDevice : <ValueError>";
static const char __pyx_k_srcHeight_ValueError[] = "srcHeight : <ValueError>";
static const char __pyx_k_timeoutMs_ValueError[] = "timeoutMs : <ValueError>";
static const char __pyx_k_waitValue_ValueError[] = "waitValue : <ValueError>";
static const char __pyx_k_CUDA_ARRAY_DESCRIPTOR[] = "CUDA_ARRAY_DESCRIPTOR";
static const char __pyx_k_CUDA_ERROR_INVALID_PC[] = "CUDA_ERROR_INVALID_PC";
static const char __pyx_k_CUDA_ERROR_MAP_FAILED[] = "CUDA_ERROR_MAP_FAILED";
static const char __pyx_k_CUDA_ERROR_NOT_MAPPED[] = "CUDA_ERROR_NOT_MAPPED";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS[] = "CUDA_HOST_NODE_PARAMS";
static const char __pyx_k_CUDA_LAUNCH_PARAMS_st[] = "CUDA_LAUNCH_PARAMS_st";
static const char __pyx_k_CUDA_LAUNCH_PARAMS_v1[] = "CUDA_LAUNCH_PARAMS_v1";
static const char __pyx_k_CUDA_MEMCPY3D_PEER_st[] = "CUDA_MEMCPY3D_PEER_st";
static const char __pyx_k_CUDA_MEMCPY3D_PEER_v1[] = "CUDA_MEMCPY3D_PEER_v1";
static const char __pyx_k_CUDA_Mem_Attach_Flags[] = "\n    CUDA Mem Attach Flags\n    ";
static const char __pyx_k_CUDA_RESOURCE_DESC_st[] = "CUDA_RESOURCE_DESC_st";
static const char __pyx_k_CUDA_RESOURCE_DESC_v1[] = "CUDA_RESOURCE_DESC_v1";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_A[] = "CU_EGL_COLOR_FORMAT_A";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_L[] = "CU_EGL_COLOR_FORMAT_L";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_R[] = "CU_EGL_COLOR_FORMAT_R";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y[] = "CU_EGL_COLOR_FORMAT_Y";
static const char __pyx_k_CU_EVENT_INTERPROCESS[] = "CU_EVENT_INTERPROCESS";
static const char __pyx_k_CU_EVENT_WAIT_DEFAULT[] = "CU_EVENT_WAIT_DEFAULT";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_MAX[] = "CU_FUNC_ATTRIBUTE_MAX";
static const char __pyx_k_CU_GL_DEVICE_LIST_ALL[] = "CU_GL_DEVICE_LIST_ALL";
static const char __pyx_k_CU_GRAPH_COND_TYPE_IF[] = "CU_GRAPH_COND_TYPE_IF";
static const char __pyx_k_CU_JIT_MIN_CTA_PER_SM[] = "CU_JIT_MIN_CTA_PER_SM";
static const char __pyx_k_CU_MEMORYTYPE_UNIFIED[] = "CU_MEMORYTYPE_UNIFIED";
static const char __pyx_k_CU_OUT_KEY_VALUE_PAIR[] = "CU_OUT_KEY_VALUE_PAIR";
static const char __pyx_k_CU_TARGET_COMPUTE_90A[] = "CU_TARGET_COMPUTE_90A";
static const char __pyx_k_CUasyncCallbackHandle[] = "<CUasyncCallbackHandle ";
static const char __pyx_k_CUdevice_P2PAttribute[] = "CUdevice_P2PAttribute";
static const char __pyx_k_CUdeviceptr_v2_getPtr[] = "CUdeviceptr_v2.getPtr";
static const char __pyx_k_CUeglStreamConnection[] = "<CUeglStreamConnection ";
static const char __pyx_k_CUexecAffinitySmCount[] = "CUexecAffinitySmCount";
static const char __pyx_k_CUexternalSemaphore_2[] = "CUexternalSemaphore";
static const char __pyx_k_CUgraphDebugDot_flags[] = "CUgraphDebugDot_flags";
static const char __pyx_k_CUgraphDependencyType[] = "CUgraphDependencyType";
static const char __pyx_k_CUkernelNodeAttrValue[] = "CUkernelNodeAttrValue";
static const char __pyx_k_CUlaunchMemSyncDomain[] = "CUlaunchMemSyncDomain";
static const char __pyx_k_CUmem_range_attribute[] = "CUmem_range_attribute";
static const char __pyx_k_CUmulticastObjectProp[] = "CUmulticastObjectProp";
static const char __pyx_k_CUstreamCaptureStatus[] = "CUstreamCaptureStatus";
static const char __pyx_k_CUtensorMapInterleave[] = "CUtensorMapInterleave";
static const char __pyx_k_CUtensorMap_st_getPtr[] = "CUtensorMap_st.getPtr";
static const char __pyx_k_CUtexObject_v1_getPtr[] = "CUtexObject_v1.getPtr";
static const char __pyx_k_NVCL_EVENT_SCHED_AUTO[] = "NVCL_EVENT_SCHED_AUTO";
static const char __pyx_k_NVCL_EVENT_SCHED_SPIN[] = "NVCL_EVENT_SCHED_SPIN";
static const char __pyx_k_Profiler_Output_Modes[] = "\n    Profiler Output Modes\n    ";
static const char __pyx_k_Stream_creation_flags[] = "\n    Stream creation flags\n    ";
static const char __pyx_k_allocFlags_ValueError[] = "allocFlags : <ValueError>";
static const char __pyx_k_clusterDim_ValueError[] = "clusterDim : <ValueError>";
static const char __pyx_k_copyParams_ValueError[] = "copyParams : <ValueError>";
static const char __pyx_k_cuCtxEnablePeerAccess[] = "cuCtxEnablePeerAccess";
static const char __pyx_k_cuDeviceCanAccessPeer[] = "cuDeviceCanAccessPeer";
static const char __pyx_k_cuDeviceGetByPCIBusId[] = "cuDeviceGetByPCIBusId";
static const char __pyx_k_cuDeviceGetProperties[] = "cuDeviceGetProperties";
static const char __pyx_k_cuGraphAddMemFreeNode[] = "cuGraphAddMemFreeNode";
static const char __pyx_k_cuGraphNodeGetEnabled[] = "cuGraphNodeGetEnabled";
static const char __pyx_k_cuGraphNodeSetEnabled[] = "cuGraphNodeSetEnabled";
static const char __pyx_k_cuGreenCtxRecordEvent[] = "cuGreenCtxRecordEvent";
static const char __pyx_k_cuLibraryLoadFromFile[] = "cuLibraryLoadFromFile";
static const char __pyx_k_cuMemPoolGetAttribute[] = "cuMemPoolGetAttribute";
static const char __pyx_k_cuMemPoolSetAttribute[] = "cuMemPoolSetAttribute";
static const char __pyx_k_cuMemPrefetchAsync_v2[] = "cuMemPrefetchAsync_v2";
static const char __pyx_k_cuModuleLoadFatBinary[] = "cuModuleLoadFatBinary";
static const char __pyx_k_cuPointerGetAttribute[] = "cuPointerGetAttribute";
static const char __pyx_k_cuPointerSetAttribute[] = "cuPointerSetAttribute";
static const char __pyx_k_cuTexRefGetFilterMode[] = "cuTexRefGetFilterMode";
static const char __pyx_k_cuTexRefSetFilterMode[] = "cuTexRefSetFilterMode";
static const char __pyx_k_dstContext_ValueError[] = "dstContext : <ValueError>";
static const char __pyx_k_extSemWait_ValueError[] = "extSemWait : <ValueError>";
static const char __pyx_k_filterMode_ValueError[] = "filterMode : <ValueError>";
static const char __pyx_k_firstLayer_ValueError[] = "firstLayer : <ValueError>";
static const char __pyx_k_keyedMutex_ValueError[] = "keyedMutex : <ValueError>";
static const char __pyx_k_launchCompletionEvent[] = "launchCompletionEvent :\n";
static const char __pyx_k_maxMipmapLevelClamp_2[] = "maxMipmapLevelClamp";
static const char __pyx_k_minMipmapLevelClamp_2[] = "minMipmapLevelClamp";
static const char __pyx_k_numDevices_ValueError[] = "numDevices : <ValueError>";
static const char __pyx_k_numExtSems_ValueError[] = "numExtSems : <ValueError>";
static const char __pyx_k_overBudget_ValueError[] = "overBudget : <ValueError>";
static const char __pyx_k_paramArray_ValueError[] = "paramArray : <ValueError>";
static const char __pyx_k_planeCount_ValueError[] = "planeCount : <ValueError>";
static const char __pyx_k_pypixelBoxLowerCorner[] = "pypixelBoxLowerCorner";
static const char __pyx_k_pypixelBoxUpperCorner[] = "pypixelBoxUpperCorner";
static const char __pyx_k_result_out_ValueError[] = "result_out : <ValueError>";
static const char __pyx_k_srcContext_ValueError[] = "srcContext : <ValueError>";
static const char __pyx_k_syncPolicy_ValueError[] = "syncPolicy : <ValueError>";
static const char __pyx_k_tileExtent_ValueError[] = "tileExtent : <ValueError>";
static const char __pyx_k_totalConstantMemory_2[] = "totalConstantMemory";
static const char __pyx_k_triggerAtBlockStart_2[] = "triggerAtBlockStart";
static const char __pyx_k_win32HandleMetaData_2[] = "win32HandleMetaData";
static const char __pyx_k_writeValue_ValueError[] = "writeValue : <ValueError>";
static const char __pyx_k_CUDA_ERROR_INVALID_PTX[] = "CUDA_ERROR_INVALID_PTX";
static const char __pyx_k_CUDA_ERROR_LOSSY_QUERY[] = "CUDA_ERROR_LOSSY_QUERY";
static const char __pyx_k_CU_AD_FORMAT_BC1_UNORM[] = "CU_AD_FORMAT_BC1_UNORM";
static const char __pyx_k_CU_AD_FORMAT_BC2_UNORM[] = "CU_AD_FORMAT_BC2_UNORM";
static const char __pyx_k_CU_AD_FORMAT_BC3_UNORM[] = "CU_AD_FORMAT_BC3_UNORM";
static const char __pyx_k_CU_AD_FORMAT_BC4_SNORM[] = "CU_AD_FORMAT_BC4_SNORM";
static const char __pyx_k_CU_AD_FORMAT_BC4_UNORM[] = "CU_AD_FORMAT_BC4_UNORM";
static const char __pyx_k_CU_AD_FORMAT_BC5_SNORM[] = "CU_AD_FORMAT_BC5_SNORM";
static const char __pyx_k_CU_AD_FORMAT_BC5_UNORM[] = "CU_AD_FORMAT_BC5_UNORM";
static const char __pyx_k_CU_AD_FORMAT_BC6H_SF16[] = "CU_AD_FORMAT_BC6H_SF16";
static const char __pyx_k_CU_AD_FORMAT_BC6H_UF16[] = "CU_AD_FORMAT_BC6H_UF16";
static const char __pyx_k_CU_AD_FORMAT_BC7_UNORM[] = "CU_AD_FORMAT_BC7_UNORM";
static const char __pyx_k_CU_COMPUTEMODE_DEFAULT[] = "CU_COMPUTEMODE_DEFAULT";
static const char __pyx_k_CU_CTX_COREDUMP_ENABLE[] = "CU_CTX_COREDUMP_ENABLE";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_RG[] = "CU_EGL_COLOR_FORMAT_RG";
static const char __pyx_k_CU_EVENT_BLOCKING_SYNC[] = "CU_EVENT_BLOCKING_SYNC";
static const char __pyx_k_CU_EVENT_WAIT_EXTERNAL[] = "CU_EVENT_WAIT_EXTERNAL";
static const char __pyx_k_CU_JIT_CACHE_OPTION_CA[] = "CU_JIT_CACHE_OPTION_CA";
static const char __pyx_k_CU_JIT_CACHE_OPTION_CG[] = "CU_JIT_CACHE_OPTION_CG";
static const char __pyx_k_CU_JIT_INFO_LOG_BUFFER[] = "CU_JIT_INFO_LOG_BUFFER";
static const char __pyx_k_CU_JIT_INPUT_FATBINARY[] = "CU_JIT_INPUT_FATBINARY";
static const char __pyx_k_CU_JIT_NUM_INPUT_TYPES[] = "CU_JIT_NUM_INPUT_TYPES";
static const char __pyx_k_CU_LIBRARY_NUM_OPTIONS[] = "CU_LIBRARY_NUM_OPTIONS";
static const char __pyx_k_CU_MEM_HANDLE_TYPE_MAX[] = "CU_MEM_HANDLE_TYPE_MAX";
static const char __pyx_k_CU_MODULE_LAZY_LOADING[] = "CU_MODULE_LAZY_LOADING";
static const char __pyx_k_CU_RESOURCE_TYPE_ARRAY[] = "CU_RESOURCE_TYPE_ARRAY";
static const char __pyx_k_CU_STREAM_NON_BLOCKING[] = "CU_STREAM_NON_BLOCKING";
static const char __pyx_k_CUasyncCallback_getPtr[] = "CUasyncCallback.getPtr";
static const char __pyx_k_CUexecAffinityParam_st[] = "CUexecAffinityParam_st";
static const char __pyx_k_CUexecAffinityParam_v1[] = "CUexecAffinityParam_v1";
static const char __pyx_k_CUfunctionLoadingState[] = "CUfunctionLoadingState";
static const char __pyx_k_CUgreenCtxCreate_flags[] = "CUgreenCtxCreate_flags";
static const char __pyx_k_CUlaunchAttributeValue[] = "CUlaunchAttributeValue";
static const char __pyx_k_CUmemAllocationProp_st[] = "CUmemAllocationProp_st";
static const char __pyx_k_CUmemAllocationProp_v1[] = "CUmemAllocationProp_v1";
static const char __pyx_k_CUmemPoolPtrExportData[] = "CUmemPoolPtrExportData";
static const char __pyx_k_CUstreamBatchMemOpType[] = "CUstreamBatchMemOpType";
static const char __pyx_k_CUsurfObject_v1_getPtr[] = "CUsurfObject_v1.getPtr";
static const char __pyx_k_CUtensorMapL2promotion[] = "CUtensorMapL2promotion";
static const char __pyx_k_Caching_modes_for_dlcm[] = "\n    Caching modes for dlcm\n    ";
static const char __pyx_k_Conditional_node_types[] = "\n    Conditional node types\n    ";
static const char __pyx_k_Context_creation_flags[] = "\n    Context creation flags\n    ";
static const char __pyx_k_EGLint___reduce_cython[] = "EGLint.__reduce_cython__";
static const char __pyx_k_GLenum___reduce_cython[] = "GLenum.__reduce_cython__";
static const char __pyx_k_GLuint___reduce_cython[] = "GLuint.__reduce_cython__";
static const char __pyx_k_Memory_operation_types[] = "\n    Memory operation types\n    ";
static const char __pyx_k_NVCL_EVENT_SCHED_YIELD[] = "NVCL_EVENT_SCHED_YIELD";
static const char __pyx_k_NumChannels_ValueError[] = "NumChannels : <ValueError>";
static const char __pyx_k_Optional_CUDA_MEMCPY2D[] = "Optional[CUDA_MEMCPY2D]";
static const char __pyx_k_Optional_CUDA_MEMCPY3D[] = "Optional[CUDA_MEMCPY3D]";
static const char __pyx_k_Optional_CUdevResource[] = "Optional[CUdevResource]";
static const char __pyx_k_Optional_CUmemLocation[] = "Optional[CUmemLocation]";
static const char __pyx_k_VdpVideoSurface_getPtr[] = "VdpVideoSurface.getPtr";
static const char __pyx_k_accessDescs_ValueError[] = "accessDescs : <ValueError>";
static const char __pyx_k_addressMode_ValueError[] = "addressMode : <ValueError>";
static const char __pyx_k_borderColor_ValueError[] = "borderColor : <ValueError>";
static const char __pyx_k_cinstantiateParams_ptr[] = "cinstantiateParams_ptr";
static const char __pyx_k_cnvSciSyncAttrList_ptr[] = "cnvSciSyncAttrList_ptr";
static const char __pyx_k_conditional_ValueError[] = "conditional : <ValueError>";
static const char __pyx_k_cooperative_ValueError[] = "cooperative : <ValueError>";
static const char __pyx_k_cuArray3DGetDescriptor[] = "cuArray3DGetDescriptor";
static const char __pyx_k_cuCoredumpGetAttribute[] = "cuCoredumpGetAttribute";
static const char __pyx_k_cuCoredumpSetAttribute[] = "cuCoredumpSetAttribute";
static const char __pyx_k_cuCtxDisablePeerAccess[] = "cuCtxDisablePeerAccess";
static const char __pyx_k_cuDeviceGetDevResource[] = "cuDeviceGetDevResource";
static const char __pyx_k_cuEventRecordWithFlags[] = "cuEventRecordWithFlags";
static const char __pyx_k_cuGraphAddDependencies[] = "cuGraphAddDependencies";
static const char __pyx_k_cuGraphAddMemAllocNode[] = "cuGraphAddMemAllocNode";
static const char __pyx_k_cuGraphNodeFindInClone[] = "cuGraphNodeFindInClone";
static const char __pyx_k_cuGraphicsMapResources[] = "cuGraphicsMapResources";
static const char __pyx_k_cuImportExternalMemory[] = "cuImportExternalMemory";
static const char __pyx_k_cuKernelSetCacheConfig[] = "cuKernelSetCacheConfig";
static const char __pyx_k_cuMemPoolExportPointer[] = "cuMemPoolExportPointer";
static const char __pyx_k_cuMemPoolImportPointer[] = "cuMemPoolImportPointer";
static const char __pyx_k_cuMemRangeGetAttribute[] = "cuMemRangeGetAttribute";
static const char __pyx_k_cuMipmappedArrayCreate[] = "cuMipmappedArrayCreate";
static const char __pyx_k_cuModuleGetLoadingMode[] = "cuModuleGetLoadingMode";
static const char __pyx_k_cuPointerGetAttributes[] = "cuPointerGetAttributes";
static const char __pyx_k_cuStreamAttachMemAsync[] = "cuStreamAttachMemAsync";
static const char __pyx_k_cuStreamCopyAttributes[] = "cuStreamCopyAttributes";
static const char __pyx_k_cuStreamGetCaptureInfo[] = "cuStreamGetCaptureInfo";
static const char __pyx_k_cuTensorMapEncodeTiled[] = "cuTensorMapEncodeTiled";
static const char __pyx_k_cuTexRefGetAddressMode[] = "cuTexRefGetAddressMode";
static const char __pyx_k_cuTexRefGetBorderColor[] = "cuTexRefGetBorderColor";
static const char __pyx_k_cuTexRefSetAddressMode[] = "cuTexRefSetAddressMode";
static const char __pyx_k_cuTexRefSetBorderColor[] = "cuTexRefSetBorderColor";
static const char __pyx_k_dstXInBytes_ValueError[] = "dstXInBytes : <ValueError>";
static const char __pyx_k_elementSize_ValueError[] = "elementSize : <ValueError>";
static const char __pyx_k_eventRecord_ValueError[] = "eventRecord : <ValueError>";
static const char __pyx_k_extSemArray_ValueError[] = "extSemArray : <ValueError>";
static const char __pyx_k_extentDepth_ValueError[] = "extentDepth : <ValueError>";
static const char __pyx_k_extentWidth_ValueError[] = "extentWidth : <ValueError>";
static const char __pyx_k_gpuDirectRDMACapable_2[] = "gpuDirectRDMACapable";
static const char __pyx_k_handleTypes_ValueError[] = "handleTypes : <ValueError>";
static const char __pyx_k_maxGridSize_ValueError[] = "maxGridSize : <ValueError>";
static const char __pyx_k_miptailSize_ValueError[] = "miptailSize : <ValueError>";
static const char __pyx_k_numChannels_ValueError[] = "numChannels : <ValueError>";
static const char __pyx_k_paramsArray_ValueError[] = "paramsArray : <ValueError>";
static const char __pyx_k_phGraph_out_ValueError[] = "phGraph_out : <ValueError>";
static const char __pyx_k_requestedHandleTypes_2[] = "requestedHandleTypes";
static const char __pyx_k_sizeInBytes_ValueError[] = "sizeInBytes : <ValueError>";
static const char __pyx_k_sparseLevel_ValueError[] = "sparseLevel : <ValueError>";
static const char __pyx_k_srcXInBytes_ValueError[] = "srcXInBytes : <ValueError>";
static const char __pyx_k_subresource_ValueError[] = "subresource : <ValueError>";
static const char __pyx_k_CUDA_ARRAY3D_DESCRIPTOR[] = "CUDA_ARRAY3D_DESCRIPTOR";
static const char __pyx_k_CUDA_ERROR_STUB_LIBRARY[] = "CUDA_ERROR_STUB_LIBRARY";
static const char __pyx_k_CUDA_ERROR_UNMAP_FAILED[] = "CUDA_ERROR_UNMAP_FAILED";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS[] = "CUDA_KERNEL_NODE_PARAMS";
static const char __pyx_k_CUDA_MEMCPY2D_st_getPtr[] = "CUDA_MEMCPY2D_st.getPtr";
static const char __pyx_k_CUDA_MEMCPY3D_st_getPtr[] = "CUDA_MEMCPY3D_st.getPtr";
static const char __pyx_k_CUDA_MEMCPY_NODE_PARAMS[] = "CUDA_MEMCPY_NODE_PARAMS";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS[] = "CUDA_MEMSET_NODE_PARAMS";
static const char __pyx_k_CUDA_RESOURCE_VIEW_DESC[] = "CUDA_RESOURCE_VIEW_DESC";
static const char __pyx_k_CU_COREDUMP_LIGHTWEIGHT[] = "CU_COREDUMP_LIGHTWEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX[] = "CU_DEVICE_ATTRIBUTE_MAX";
static const char __pyx_k_CU_DEV_RESOURCE_TYPE_SM[] = "CU_DEV_RESOURCE_TYPE_SM";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BGR[] = "CU_EGL_COLOR_FORMAT_BGR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_MAX[] = "CU_EGL_COLOR_FORMAT_MAX";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_RGB[] = "CU_EGL_COLOR_FORMAT_RGB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV[] = "CU_EGL_COLOR_FORMAT_YUV";
static const char __pyx_k_CU_EGL_FRAME_TYPE_ARRAY[] = "CU_EGL_FRAME_TYPE_ARRAY";
static const char __pyx_k_CU_EGL_FRAME_TYPE_PITCH[] = "CU_EGL_FRAME_TYPE_PITCH";
static const char __pyx_k_CU_EVENT_DISABLE_TIMING[] = "CU_EVENT_DISABLE_TIMING";
static const char __pyx_k_CU_EVENT_RECORD_DEFAULT[] = "CU_EVENT_RECORD_DEFAULT";
static const char __pyx_k_CU_FUNC_CACHE_PREFER_L1[] = "CU_FUNC_CACHE_PREFER_L1";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_HOST[] = "CU_GRAPH_NODE_TYPE_HOST";
static const char __pyx_k_CU_JIT_ERROR_LOG_BUFFER[] = "CU_JIT_ERROR_LOG_BUFFER";
static const char __pyx_k_CU_MEM_HANDLE_TYPE_NONE[] = "CU_MEM_HANDLE_TYPE_NONE";
static const char __pyx_k_CU_MODULE_EAGER_LOADING[] = "CU_MODULE_EAGER_LOADING";
static const char __pyx_k_CU_RESOURCE_TYPE_LINEAR[] = "CU_RESOURCE_TYPE_LINEAR";
static const char __pyx_k_CU_RES_VIEW_FORMAT_NONE[] = "CU_RES_VIEW_FORMAT_NONE";
static const char __pyx_k_CU_STREAM_WAIT_VALUE_EQ[] = "CU_STREAM_WAIT_VALUE_EQ";
static const char __pyx_k_CU_TRSA_OVERRIDE_FORMAT[] = "CU_TRSA_OVERRIDE_FORMAT";
static const char __pyx_k_CU_TRSF_READ_AS_INTEGER[] = "CU_TRSF_READ_AS_INTEGER";
static const char __pyx_k_CU_TR_ADDRESS_MODE_WRAP[] = "CU_TR_ADDRESS_MODE_WRAP";
static const char __pyx_k_CU_TR_FILTER_MODE_POINT[] = "CU_TR_FILTER_MODE_POINT";
static const char __pyx_k_CUaccessPolicyWindow_st[] = "CUaccessPolicyWindow_st";
static const char __pyx_k_CUaccessPolicyWindow_v1[] = "CUaccessPolicyWindow_v1";
static const char __pyx_k_CUarray___reduce_cython[] = "CUarray.__reduce_cython__";
static const char __pyx_k_CUasyncCallbackHandle_2[] = "CUasyncCallbackHandle";
static const char __pyx_k_CUasyncNotificationInfo[] = "CUasyncNotificationInfo";
static const char __pyx_k_CUasyncNotificationType[] = "CUasyncNotificationType";
static const char __pyx_k_CUdevResource_st_getPtr[] = "CUdevResource_st.getPtr";
static const char __pyx_k_CUeglStreamConnection_2[] = "CUeglStreamConnection";
static const char __pyx_k_CUevent___reduce_cython[] = "CUevent.__reduce_cython__";
static const char __pyx_k_CUexternalMemory_getPtr[] = "CUexternalMemory.getPtr";
static const char __pyx_k_CUgraphExecUpdateResult[] = "CUgraphExecUpdateResult";
static const char __pyx_k_CUgraph___reduce_cython[] = "CUgraph.__reduce_cython__";
static const char __pyx_k_CUgraphicsRegisterFlags[] = "CUgraphicsRegisterFlags";
static const char __pyx_k_CUmemAllocationCompType[] = "CUmemAllocationCompType";
static const char __pyx_k_CUmemLocation_st_getPtr[] = "CUmemLocation_st.getPtr";
static const char __pyx_k_CUmipmappedArray_getPtr[] = "CUmipmappedArray.getPtr";
static const char __pyx_k_CUstreamCallback_getPtr[] = "CUstreamCallback.getPtr";
static const char __pyx_k_CUstreamWaitValue_flags[] = "CUstreamWaitValue_flags";
static const char __pyx_k_CUsynchronizationPolicy[] = "CUsynchronizationPolicy";
static const char __pyx_k_CUtensorMapFloatOOBfill[] = "CUtensorMapFloatOOBfill";
static const char __pyx_k_Optional_CUlaunchConfig[] = "Optional[CUlaunchConfig]";
static const char __pyx_k_Optional_CUmemPoolProps[] = "Optional[CUmemPoolProps]";
static const char __pyx_k_VdpOutputSurface_getPtr[] = "VdpOutputSurface.getPtr";
static const char __pyx_k_WidthInBytes_ValueError[] = "WidthInBytes : <ValueError>";
static const char __pyx_k_cuCtxGetSharedMemConfig[] = "cuCtxGetSharedMemConfig";
static const char __pyx_k_cuCtxSetSharedMemConfig[] = "cuCtxSetSharedMemConfig";
static const char __pyx_k_cuDestroyExternalMemory[] = "cuDestroyExternalMemory";
static const char __pyx_k_cuDeviceGetP2PAttribute[] = "cuDeviceGetP2PAttribute";
static const char __pyx_k_cuDevicePrimaryCtxReset[] = "cuDevicePrimaryCtxReset";
static const char __pyx_k_cuGraphAddEventWaitNode[] = "cuGraphAddEventWaitNode";
static const char __pyx_k_cuGraphRetainUserObject[] = "cuGraphRetainUserObject";
static const char __pyx_k_cuLibraryGetKernelCount[] = "cuLibraryGetKernelCount";
static const char __pyx_k_cuMemAllocFromPoolAsync[] = "cuMemAllocFromPoolAsync";
static const char __pyx_k_cuMemRangeGetAttributes[] = "cuMemRangeGetAttributes";
static const char __pyx_k_cuMipmappedArrayDestroy[] = "cuMipmappedArrayDestroy";
static const char __pyx_k_cuTensorMapEncodeIm2col[] = "cuTensorMapEncodeIm2col";
static const char __pyx_k_extSemSignal_ValueError[] = "extSemSignal : <ValueError>";
static const char __pyx_k_extentHeight_ValueError[] = "extentHeight : <ValueError>";
static const char __pyx_k_hErrNode_out_ValueError[] = "hErrNode_out : <ValueError>";
static const char __pyx_k_kernelParams_ValueError[] = "kernelParams : <ValueError>";
static const char __pyx_k_launchCompletionEvent_2[] = "launchCompletionEvent";
static const char __pyx_k_nvSciSyncObj_ValueError[] = "nvSciSyncObj : <ValueError>";
static const char __pyx_k_pitchInBytes_ValueError[] = "pitchInBytes : <ValueError>";
static const char __pyx_k_regsPerBlock_ValueError[] = "regsPerBlock : <ValueError>";
static const char __pyx_k_resourceType_ValueError[] = "resourceType : <ValueError>";
static const char __pyx_k_textureAlign_ValueError[] = "textureAlign : <ValueError>";
static const char __pyx_k_vaSpaceToken_ValueError[] = "vaSpaceToken : <ValueError>";
static const char __pyx_k_win32SecurityAttributes[] = "win32SecurityAttributes : ";
static const char __pyx_k_CUDA_ARRAY_DESCRIPTOR_st[] = "CUDA_ARRAY_DESCRIPTOR_st";
static const char __pyx_k_CUDA_ARRAY_DESCRIPTOR_v2[] = "CUDA_ARRAY_DESCRIPTOR_v2";
static const char __pyx_k_CUDA_ERROR_DEINITIALIZED[] = "CUDA_ERROR_DEINITIALIZED";
static const char __pyx_k_CUDA_ERROR_ILLEGAL_STATE[] = "CUDA_ERROR_ILLEGAL_STATE";
static const char __pyx_k_CUDA_ERROR_INVALID_IMAGE[] = "CUDA_ERROR_INVALID_IMAGE";
static const char __pyx_k_CUDA_ERROR_INVALID_VALUE[] = "CUDA_ERROR_INVALID_VALUE";
static const char __pyx_k_CUDA_ERROR_LAUNCH_FAILED[] = "CUDA_ERROR_LAUNCH_FAILED";
static const char __pyx_k_CUDA_ERROR_NOT_PERMITTED[] = "CUDA_ERROR_NOT_PERMITTED";
static const char __pyx_k_CUDA_ERROR_NOT_SUPPORTED[] = "CUDA_ERROR_NOT_SUPPORTED";
static const char __pyx_k_CUDA_ERROR_OUT_OF_MEMORY[] = "CUDA_ERROR_OUT_OF_MEMORY";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_st[] = "CUDA_HOST_NODE_PARAMS_st";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_v1[] = "CUDA_HOST_NODE_PARAMS_v1";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_v2[] = "CUDA_HOST_NODE_PARAMS_v2";
static const char __pyx_k_CUDA_Lazy_Loading_status[] = "\n    CUDA Lazy Loading status\n    ";
static const char __pyx_k_CUDA_NVSCISYNC_ATTR_WAIT[] = "CUDA_NVSCISYNC_ATTR_WAIT";
static const char __pyx_k_CU_AD_FORMAT_SIGNED_INT8[] = "CU_AD_FORMAT_SIGNED_INT8";
static const char __pyx_k_CU_COREDUMP_TRIGGER_HOST[] = "CU_COREDUMP_TRIGGER_HOST";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_ABGR[] = "CU_EGL_COLOR_FORMAT_ABGR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_ARGB[] = "CU_EGL_COLOR_FORMAT_ARGB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_AYUV[] = "CU_EGL_COLOR_FORMAT_AYUV";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BGRA[] = "CU_EGL_COLOR_FORMAT_BGRA";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_RGBA[] = "CU_EGL_COLOR_FORMAT_RGBA";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_VYUY[] = "CU_EGL_COLOR_FORMAT_VYUY";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUVA[] = "CU_EGL_COLOR_FORMAT_YUVA";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVYU[] = "CU_EGL_COLOR_FORMAT_YVYU";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y_ER[] = "CU_EGL_COLOR_FORMAT_Y_ER";
static const char __pyx_k_CU_EVENT_RECORD_EXTERNAL[] = "CU_EVENT_RECORD_EXTERNAL";
static const char __pyx_k_CU_GRAPH_COND_TYPE_WHILE[] = "CU_GRAPH_COND_TYPE_WHILE";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_EMPTY[] = "CU_GRAPH_NODE_TYPE_EMPTY";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_GRAPH[] = "CU_GRAPH_NODE_TYPE_GRAPH";
static const char __pyx_k_CU_JIT_CACHE_OPTION_NONE[] = "CU_JIT_CACHE_OPTION_NONE";
static const char __pyx_k_CU_JIT_FALLBACK_STRATEGY[] = "CU_JIT_FALLBACK_STRATEGY";
static const char __pyx_k_CU_JIT_THREADS_PER_BLOCK[] = "CU_JIT_THREADS_PER_BLOCK";
static const char __pyx_k_CU_MEMHOSTALLOC_PORTABLE[] = "CU_MEMHOSTALLOC_PORTABLE";
static const char __pyx_k_CU_MEM_HANDLE_TYPE_WIN32[] = "CU_MEM_HANDLE_TYPE_WIN32";
static const char __pyx_k_CU_MEM_LOCATION_TYPE_MAX[] = "CU_MEM_LOCATION_TYPE_MAX";
static const char __pyx_k_CU_RESOURCE_TYPE_PITCH2D[] = "CU_RESOURCE_TYPE_PITCH2D";
static const char __pyx_k_CU_STREAM_MEM_OP_BARRIER[] = "CU_STREAM_MEM_OP_BARRIER";
static const char __pyx_k_CU_STREAM_WAIT_VALUE_AND[] = "CU_STREAM_WAIT_VALUE_AND";
static const char __pyx_k_CU_STREAM_WAIT_VALUE_GEQ[] = "CU_STREAM_WAIT_VALUE_GEQ";
static const char __pyx_k_CU_STREAM_WAIT_VALUE_NOR[] = "CU_STREAM_WAIT_VALUE_NOR";
static const char __pyx_k_CU_TENSOR_MAP_NUM_QWORDS[] = "CU_TENSOR_MAP_NUM_QWORDS";
static const char __pyx_k_CU_TRSF_SEAMLESS_CUBEMAP[] = "CU_TRSF_SEAMLESS_CUBEMAP";
static const char __pyx_k_CU_TR_ADDRESS_MODE_CLAMP[] = "CU_TR_ADDRESS_MODE_CLAMP";
static const char __pyx_k_CU_TR_FILTER_MODE_LINEAR[] = "CU_TR_FILTER_MODE_LINEAR";
static const char __pyx_k_CUarrayMapInfo_st_getPtr[] = "CUarrayMapInfo_st.getPtr";
static const char __pyx_k_CUdevResourceDesc_getPtr[] = "CUdevResourceDesc.getPtr";
static const char __pyx_k_CUdevice___reduce_cython[] = "CUdevice.__reduce_cython__";
static const char __pyx_k_CUexecAffinitySmCount_st[] = "CUexecAffinitySmCount_st";
static const char __pyx_k_CUexecAffinitySmCount_v1[] = "CUexecAffinitySmCount_v1";
static const char __pyx_k_CUgraphConditionalHandle[] = "<CUgraphConditionalHandle ";
static const char __pyx_k_CUgraphDeviceNode_getPtr[] = "CUgraphDeviceNode.getPtr";
static const char __pyx_k_CUgraphInstantiateResult[] = "CUgraphInstantiateResult";
static const char __pyx_k_CUgraphInstantiate_flags[] = "CUgraphInstantiate_flags";
static const char __pyx_k_CUhostFn___reduce_cython[] = "CUhostFn.__reduce_cython__";
static const char __pyx_k_CUipcMemHandle_st_getPtr[] = "CUipcMemHandle_st.getPtr";
static const char __pyx_k_CUkernelNodeAttrValue_v1[] = "CUkernelNodeAttrValue_v1";
static const char __pyx_k_CUkernel___reduce_cython[] = "CUkernel.__reduce_cython__";
static const char __pyx_k_CUlaunchConfig_st_getPtr[] = "CUlaunchConfig_st.getPtr";
static const char __pyx_k_CUlaunchMemSyncDomainMap[] = "CUlaunchMemSyncDomainMap";
static const char __pyx_k_CUmemPoolProps_st_getPtr[] = "CUmemPoolProps_st.getPtr";
static const char __pyx_k_CUmodule___reduce_cython[] = "CUmodule.__reduce_cython__";
static const char __pyx_k_CUmulticastObjectProp_st[] = "CUmulticastObjectProp_st";
static const char __pyx_k_CUmulticastObjectProp_v1[] = "CUmulticastObjectProp_v1";
static const char __pyx_k_CUstreamBatchMemOpParams[] = "CUstreamBatchMemOpParams";
static const char __pyx_k_CUstreamWriteValue_flags[] = "CUstreamWriteValue_flags";
static const char __pyx_k_CUstream___reduce_cython[] = "CUstream.__reduce_cython__";
static const char __pyx_k_CUtexref___reduce_cython[] = "CUtexref.__reduce_cython__";
static const char __pyx_k_CUuserObjectRetain_flags[] = "CUuserObjectRetain_flags";
static const char __pyx_k_EGLint___setstate_cython[] = "EGLint.__setstate_cython__";
static const char __pyx_k_Execution_Affinity_Types[] = "\n    Execution Affinity Types\n    ";
static const char __pyx_k_GLenum___setstate_cython[] = "GLenum.__setstate_cython__";
static const char __pyx_k_GLuint___setstate_cython[] = "GLuint.__setstate_cython__";
static const char __pyx_k_Optional_List_cuuint32_t[] = "Optional[List[cuuint32_t]]";
static const char __pyx_k_Optional_List_cuuint64_t[] = "Optional[List[cuuint64_t]]";
static const char __pyx_k_Sparse_subresource_types[] = "\n    Sparse subresource types\n    ";
static const char __pyx_k_VdpGetProcAddress_getPtr[] = "VdpGetProcAddress.getPtr";
static const char __pyx_k_cpMipmappedArrayDesc_ptr[] = "cpMipmappedArrayDesc_ptr";
static const char __pyx_k_cuDevicePrimaryCtxRetain[] = "cuDevicePrimaryCtxRetain";
static const char __pyx_k_cuEventCreateFromEGLSync[] = "cuEventCreateFromEGLSync";
static const char __pyx_k_cuFuncSetSharedMemConfig[] = "cuFuncSetSharedMemConfig";
static const char __pyx_k_cuGraphAddBatchMemOpNode[] = "cuGraphAddBatchMemOpNode";
static const char __pyx_k_cuGraphAddChildGraphNode[] = "cuGraphAddChildGraphNode";
static const char __pyx_k_cuGraphExecNodeSetParams[] = "cuGraphExecNodeSetParams";
static const char __pyx_k_cuGraphHostNodeGetParams[] = "cuGraphHostNodeGetParams";
static const char __pyx_k_cuGraphHostNodeSetParams[] = "cuGraphHostNodeSetParams";
static const char __pyx_k_cuGraphReleaseUserObject[] = "cuGraphReleaseUserObject";
static const char __pyx_k_cuGraphicsUnmapResources[] = "cuGraphicsUnmapResources";
static const char __pyx_k_cuGreenCtxGetDevResource[] = "cuGreenCtxGetDevResource";
static const char __pyx_k_cuMipmappedArrayGetLevel[] = "cuMipmappedArrayGetLevel";
static const char __pyx_k_cuModuleGetFunctionCount[] = "cuModuleGetFunctionCount";
static const char __pyx_k_cuTexRefGetMaxAnisotropy[] = "cuTexRefGetMaxAnisotropy";
static const char __pyx_k_cuTexRefSetMaxAnisotropy[] = "cuTexRefSetMaxAnisotropy";
static const char __pyx_k_deviceBitMask_ValueError[] = "deviceBitMask : <ValueError>";
static const char __pyx_k_dstMemoryType_ValueError[] = "dstMemoryType : <ValueError>";
static const char __pyx_k_errorFromNode_ValueError[] = "errorFromNode : <ValueError>";
static const char __pyx_k_functionTable_ValueError[] = "functionTable : <ValueError>";
static const char __pyx_k_hUploadStream_ValueError[] = "hUploadStream : <ValueError>";
static const char __pyx_k_maxAnisotropy_ValueError[] = "maxAnisotropy : <ValueError>";
static const char __pyx_k_maxThreadsDim_ValueError[] = "maxThreadsDim : <ValueError>";
static const char __pyx_k_memHandleType_ValueError[] = "memHandleType : <ValueError>";
static const char __pyx_k_memSyncDomain_ValueError[] = "memSyncDomain : <ValueError>";
static const char __pyx_k_memoryBarrier_ValueError[] = "memoryBarrier : <ValueError>";
static const char __pyx_k_pad_length_must_be_64_is[] = "pad length must be 64, is ";
static const char __pyx_k_srcMemoryType_ValueError[] = "srcMemoryType : <ValueError>";
static const char __pyx_k_CUDA_ARRAY3D_SURFACE_LDST[] = "CUDA_ARRAY3D_SURFACE_LDST";
static const char __pyx_k_CUDA_EGL_INFINITE_TIMEOUT[] = "CUDA_EGL_INFINITE_TIMEOUT";
static const char __pyx_k_CUDA_ERROR_ALREADY_MAPPED[] = "CUDA_ERROR_ALREADY_MAPPED";
static const char __pyx_k_CUDA_ERROR_CAPTURED_EVENT[] = "CUDA_ERROR_CAPTURED_EVENT";
static const char __pyx_k_CUDA_ERROR_FILE_NOT_FOUND[] = "CUDA_ERROR_FILE_NOT_FOUND";
static const char __pyx_k_CUDA_ERROR_INVALID_DEVICE[] = "CUDA_ERROR_INVALID_DEVICE";
static const char __pyx_k_CUDA_ERROR_INVALID_HANDLE[] = "CUDA_ERROR_INVALID_HANDLE";
static const char __pyx_k_CUDA_ERROR_INVALID_SOURCE[] = "CUDA_ERROR_INVALID_SOURCE";
static const char __pyx_k_CUDA_ERROR_LAUNCH_TIMEOUT[] = "CUDA_ERROR_LAUNCH_TIMEOUT";
static const char __pyx_k_CUDA_ERROR_TOO_MANY_PEERS[] = "CUDA_ERROR_TOO_MANY_PEERS";
static const char __pyx_k_CUDA_MEM_FREE_NODE_PARAMS[] = "CUDA_MEM_FREE_NODE_PARAMS";
static const char __pyx_k_CU_ACCESS_PROPERTY_NORMAL[] = "CU_ACCESS_PROPERTY_NORMAL";
static const char __pyx_k_CU_AD_FORMAT_SIGNED_INT16[] = "CU_AD_FORMAT_SIGNED_INT16";
static const char __pyx_k_CU_AD_FORMAT_SIGNED_INT32[] = "CU_AD_FORMAT_SIGNED_INT32";
static const char __pyx_k_CU_AD_FORMAT_SNORM_INT8X1[] = "CU_AD_FORMAT_SNORM_INT8X1";
static const char __pyx_k_CU_AD_FORMAT_SNORM_INT8X2[] = "CU_AD_FORMAT_SNORM_INT8X2";
static const char __pyx_k_CU_AD_FORMAT_SNORM_INT8X4[] = "CU_AD_FORMAT_SNORM_INT8X4";
static const char __pyx_k_CU_AD_FORMAT_UNORM_INT8X1[] = "CU_AD_FORMAT_UNORM_INT8X1";
static const char __pyx_k_CU_AD_FORMAT_UNORM_INT8X2[] = "CU_AD_FORMAT_UNORM_INT8X2";
static const char __pyx_k_CU_AD_FORMAT_UNORM_INT8X4[] = "CU_AD_FORMAT_UNORM_INT8X4";
static const char __pyx_k_CU_COMPUTEMODE_PROHIBITED[] = "CU_COMPUTEMODE_PROHIBITED";
static const char __pyx_k_CU_CTX_LMEM_RESIZE_TO_MAX[] = "CU_CTX_LMEM_RESIZE_TO_MAX";
static const char __pyx_k_CU_EXEC_AFFINITY_TYPE_MAX[] = "CU_EXEC_AFFINITY_TYPE_MAX";
static const char __pyx_k_CU_FUNC_CACHE_PREFER_NONE[] = "CU_FUNC_CACHE_PREFER_NONE";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_KERNEL[] = "CU_GRAPH_NODE_TYPE_KERNEL";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_MEMCPY[] = "CU_GRAPH_NODE_TYPE_MEMCPY";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_MEMSET[] = "CU_GRAPH_NODE_TYPE_MEMSET";
static const char __pyx_k_CU_GRAPH_USER_OBJECT_MOVE[] = "CU_GRAPH_USER_OBJECT_MOVE";
static const char __pyx_k_CU_JIT_GENERATE_LINE_INFO[] = "CU_JIT_GENERATE_LINE_INFO";
static const char __pyx_k_CU_JIT_OPTIMIZATION_LEVEL[] = "CU_JIT_OPTIMIZATION_LEVEL";
static const char __pyx_k_CU_LIMIT_MALLOC_HEAP_SIZE[] = "CU_LIMIT_MALLOC_HEAP_SIZE";
static const char __pyx_k_CU_LIMIT_PRINTF_FIFO_SIZE[] = "CU_LIMIT_PRINTF_FIFO_SIZE";
static const char __pyx_k_CU_MEMHOSTALLOC_DEVICEMAP[] = "CU_MEMHOSTALLOC_DEVICEMAP";
static const char __pyx_k_CU_MEM_HANDLE_TYPE_FABRIC[] = "CU_MEM_HANDLE_TYPE_FABRIC";
static const char __pyx_k_CU_MEM_LOCATION_TYPE_HOST[] = "CU_MEM_LOCATION_TYPE_HOST";
static const char __pyx_k_CU_MEM_OPERATION_TYPE_MAP[] = "CU_MEM_OPERATION_TYPE_MAP";
static const char __pyx_k_CU_TENSOR_MAP_SWIZZLE_32B[] = "CU_TENSOR_MAP_SWIZZLE_32B";
static const char __pyx_k_CU_TENSOR_MAP_SWIZZLE_64B[] = "CU_TENSOR_MAP_SWIZZLE_64B";
static const char __pyx_k_CU_TR_ADDRESS_MODE_BORDER[] = "CU_TR_ADDRESS_MODE_BORDER";
static const char __pyx_k_CU_TR_ADDRESS_MODE_MIRROR[] = "CU_TR_ADDRESS_MODE_MIRROR";
static const char __pyx_k_CUarray___setstate_cython[] = "CUarray.__setstate_cython__";
static const char __pyx_k_CUclusterSchedulingPolicy[] = "CUclusterSchedulingPolicy";
static const char __pyx_k_CUcontext___reduce_cython[] = "CUcontext.__reduce_cython__";
static const char __pyx_k_CUdevSmResource_st_getPtr[] = "CUdevSmResource_st.getPtr";
static const char __pyx_k_CUdriverProcAddress_flags[] = "CUdriverProcAddress_flags";
static const char __pyx_k_CUevent___setstate_cython[] = "CUevent.__setstate_cython__";
static const char __pyx_k_CUgraphEdgeData_st_getPtr[] = "CUgraphEdgeData_st.getPtr";
static const char __pyx_k_CUgraph___setstate_cython[] = "CUgraph.__setstate_cython__";
static const char __pyx_k_CUgraphicsResource_getPtr[] = "CUgraphicsResource.getPtr";
static const char __pyx_k_CUlibrary___reduce_cython[] = "CUlibrary.__reduce_cython__";
static const char __pyx_k_CUmemAccessDesc_st_getPtr[] = "CUmemAccessDesc_st.getPtr";
static const char __pyx_k_CUmemAllocationHandleType[] = "CUmemAllocationHandleType";
static const char __pyx_k_CUmemPoolPtrExportData_st[] = "CUmemPoolPtrExportData_st";
static const char __pyx_k_CUmemPoolPtrExportData_v1[] = "CUmemPoolPtrExportData_v1";
static const char __pyx_k_CUoccupancyB2DSize_getPtr[] = "CUoccupancyB2DSize.getPtr";
static const char __pyx_k_CUsurfref___reduce_cython[] = "CUsurfref.__reduce_cython__";
static const char __pyx_k_CUuuid_st___reduce_cython[] = "CUuuid_st.__reduce_cython__";
static const char __pyx_k_Occupancy_calculator_flag[] = "\n    Occupancy calculator flag\n    ";
static const char __pyx_k_Optional_List_CUgraphNode[] = "Optional[List[CUgraphNode]]";
static const char __pyx_k_VdpDevice___reduce_cython[] = "VdpDevice.__reduce_cython__";
static const char __pyx_k_cuDevResourceGenerateDesc[] = "cuDevResourceGenerateDesc";
static const char __pyx_k_cuDeviceComputeCapability[] = "cuDeviceComputeCapability";
static const char __pyx_k_cuDeviceGetDefaultMemPool[] = "cuDeviceGetDefaultMemPool";
static const char __pyx_k_cuDevicePrimaryCtxRelease[] = "cuDevicePrimaryCtxRelease";
static const char __pyx_k_cuGraphAddDependencies_v2[] = "cuGraphAddDependencies_v2";
static const char __pyx_k_cuGraphAddEventRecordNode[] = "cuGraphAddEventRecordNode";
static const char __pyx_k_cuGraphRemoveDependencies[] = "cuGraphRemoveDependencies";
static const char __pyx_k_cuGraphicsGLRegisterImage[] = "cuGraphicsGLRegisterImage";
static const char __pyx_k_cuImportExternalSemaphore[] = "cuImportExternalSemaphore";
static const char __pyx_k_cuLaunchCooperativeKernel[] = "cuLaunchCooperativeKernel";
static const char __pyx_k_cuLibraryEnumerateKernels[] = "cuLibraryEnumerateKernels";
static const char __pyx_k_cuMemHostGetDevicePointer[] = "cuMemHostGetDevicePointer";
static const char __pyx_k_cuMulticastGetGranularity[] = "cuMulticastGetGranularity";
static const char __pyx_k_cuStreamGetCaptureInfo_v3[] = "cuStreamGetCaptureInfo_v3";
static const char __pyx_k_cuTensorMapReplaceAddress[] = "cuTensorMapReplaceAddress";
static const char __pyx_k_cuTexObjectGetTextureDesc[] = "cuTexObjectGetTextureDesc";
static const char __pyx_k_cuTexRefGetMipmappedArray[] = "cuTexRefGetMipmappedArray";
static const char __pyx_k_cuTexRefSetMipmappedArray[] = "cuTexRefSetMipmappedArray";
static const char __pyx_k_dataWindowSize_ValueError[] = "dataWindowSize : <ValueError>";
static const char __pyx_k_data_length_must_be_64_is[] = "data length must be 64, is ";
static const char __pyx_k_deviceUpdatableKernelNode[] = "deviceUpdatableKernelNode :\n";
static const char __pyx_k_eglColorFormat_ValueError[] = "eglColorFormat : <ValueError>";
static const char __pyx_k_nvSciBufObject_ValueError[] = "nvSciBufObject : <ValueError>";
static const char __pyx_k_sharedMemBytes_ValueError[] = "sharedMemBytes : <ValueError>";
static const char __pyx_k_win32SecurityAttributes_2[] = "win32SecurityAttributes";
static const char __pyx_k_CUDA_ARRAY3D_DEPTH_TEXTURE[] = "CUDA_ARRAY3D_DEPTH_TEXTURE";
static const char __pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st[] = "CUDA_ARRAY3D_DESCRIPTOR_st";
static const char __pyx_k_CUDA_ARRAY3D_DESCRIPTOR_v2[] = "CUDA_ARRAY3D_DESCRIPTOR_v2";
static const char __pyx_k_CUDA_ERROR_ARRAY_IS_MAPPED[] = "CUDA_ERROR_ARRAY_IS_MAPPED";
static const char __pyx_k_CUDA_ERROR_EXTERNAL_DEVICE[] = "CUDA_ERROR_EXTERNAL_DEVICE";
static const char __pyx_k_CUDA_ERROR_ILLEGAL_ADDRESS[] = "CUDA_ERROR_ILLEGAL_ADDRESS";
static const char __pyx_k_CUDA_ERROR_INVALID_CONTEXT[] = "CUDA_ERROR_INVALID_CONTEXT";
static const char __pyx_k_CUDA_ERROR_MPS_RPC_FAILURE[] = "CUDA_ERROR_MPS_RPC_FAILURE";
static const char __pyx_k_CUDA_ERROR_NOT_INITIALIZED[] = "CUDA_ERROR_NOT_INITIALIZED";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_st[] = "CUDA_KERNEL_NODE_PARAMS_st";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v1[] = "CUDA_KERNEL_NODE_PARAMS_v1";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v2[] = "CUDA_KERNEL_NODE_PARAMS_v2";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v3[] = "CUDA_KERNEL_NODE_PARAMS_v3";
static const char __pyx_k_CUDA_MEMCPY_NODE_PARAMS_st[] = "CUDA_MEMCPY_NODE_PARAMS_st";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_st[] = "CUDA_MEMSET_NODE_PARAMS_st";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_v1[] = "CUDA_MEMSET_NODE_PARAMS_v1";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_v2[] = "CUDA_MEMSET_NODE_PARAMS_v2";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS[] = "CUDA_MEM_ALLOC_NODE_PARAMS";
static const char __pyx_k_CUDA_NVSCISYNC_ATTR_SIGNAL[] = "CUDA_NVSCISYNC_ATTR_SIGNAL";
static const char __pyx_k_CUDA_RESOURCE_VIEW_DESC_st[] = "CUDA_RESOURCE_VIEW_DESC_st";
static const char __pyx_k_CUDA_RESOURCE_VIEW_DESC_v1[] = "CUDA_RESOURCE_VIEW_DESC_v1";
static const char __pyx_k_CU_AD_FORMAT_SNORM_INT16X1[] = "CU_AD_FORMAT_SNORM_INT16X1";
static const char __pyx_k_CU_AD_FORMAT_SNORM_INT16X2[] = "CU_AD_FORMAT_SNORM_INT16X2";
static const char __pyx_k_CU_AD_FORMAT_SNORM_INT16X4[] = "CU_AD_FORMAT_SNORM_INT16X4";
static const char __pyx_k_CU_AD_FORMAT_UNORM_INT16X1[] = "CU_AD_FORMAT_UNORM_INT16X1";
static const char __pyx_k_CU_AD_FORMAT_UNORM_INT16X2[] = "CU_AD_FORMAT_UNORM_INT16X2";
static const char __pyx_k_CU_AD_FORMAT_UNORM_INT16X4[] = "CU_AD_FORMAT_UNORM_INT16X4";
static const char __pyx_k_CU_AD_FORMAT_UNSIGNED_INT8[] = "CU_AD_FORMAT_UNSIGNED_INT8";
static const char __pyx_k_CU_CTX_SCHED_BLOCKING_SYNC[] = "CU_CTX_SCHED_BLOCKING_SYNC";
static const char __pyx_k_CU_CUBEMAP_FACE_NEGATIVE_X[] = "CU_CUBEMAP_FACE_NEGATIVE_X";
static const char __pyx_k_CU_CUBEMAP_FACE_NEGATIVE_Y[] = "CU_CUBEMAP_FACE_NEGATIVE_Y";
static const char __pyx_k_CU_CUBEMAP_FACE_NEGATIVE_Z[] = "CU_CUBEMAP_FACE_NEGATIVE_Z";
static const char __pyx_k_CU_CUBEMAP_FACE_POSITIVE_X[] = "CU_CUBEMAP_FACE_POSITIVE_X";
static const char __pyx_k_CU_CUBEMAP_FACE_POSITIVE_Y[] = "CU_CUBEMAP_FACE_POSITIVE_Y";
static const char __pyx_k_CU_CUBEMAP_FACE_POSITIVE_Z[] = "CU_CUBEMAP_FACE_POSITIVE_Z";
static const char __pyx_k_CU_DEVICE_NUMA_CONFIG_NONE[] = "CU_DEVICE_NUMA_CONFIG_NONE";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10_ER[] = "CU_EGL_COLOR_FORMAT_Y10_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y12_ER[] = "CU_EGL_COLOR_FORMAT_Y12_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV_ER[] = "CU_EGL_COLOR_FORMAT_YUV_ER";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_NUM_REGS[] = "CU_FUNC_ATTRIBUTE_NUM_REGS";
static const char __pyx_k_CU_FUNC_CACHE_PREFER_EQUAL[] = "CU_FUNC_CACHE_PREFER_EQUAL";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR[] = "CU_GRAPH_EXEC_UPDATE_ERROR";
static const char __pyx_k_CU_JIT_GENERATE_DEBUG_INFO[] = "CU_JIT_GENERATE_DEBUG_INFO";
static const char __pyx_k_CU_JIT_GLOBAL_SYMBOL_COUNT[] = "CU_JIT_GLOBAL_SYMBOL_COUNT";
static const char __pyx_k_CU_JIT_GLOBAL_SYMBOL_NAMES[] = "CU_JIT_GLOBAL_SYMBOL_NAMES";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_IGNORE[] = "CU_LAUNCH_ATTRIBUTE_IGNORE";
static const char __pyx_k_CU_LAUNCH_PARAM_END_AS_INT[] = "CU_LAUNCH_PARAM_END_AS_INT";
static const char __pyx_k_CU_MEM_ALLOCATION_TYPE_MAX[] = "CU_MEM_ALLOCATION_TYPE_MAX";
static const char __pyx_k_CU_MEM_HANDLE_TYPE_GENERIC[] = "CU_MEM_HANDLE_TYPE_GENERIC";
static const char __pyx_k_CU_STREAM_WAIT_VALUE_FLUSH[] = "CU_STREAM_WAIT_VALUE_FLUSH";
static const char __pyx_k_CU_TENSOR_MAP_SWIZZLE_128B[] = "CU_TENSOR_MAP_SWIZZLE_128B";
static const char __pyx_k_CU_TENSOR_MAP_SWIZZLE_NONE[] = "CU_TENSOR_MAP_SWIZZLE_NONE";
static const char __pyx_k_CUasyncNotificationInfo_st[] = "CUasyncNotificationInfo_st";
static const char __pyx_k_CUdevice___setstate_cython[] = "CUdevice.__setstate_cython__";
static const char __pyx_k_CUeglResourceLocationFlags[] = "CUeglResourceLocationFlags";
static const char __pyx_k_CUexternalMemoryHandleType[] = "CUexternalMemoryHandleType";
static const char __pyx_k_CUexternalSemaphore_getPtr[] = "CUexternalSemaphore.getPtr";
static const char __pyx_k_CUfunction___reduce_cython[] = "CUfunction.__reduce_cython__";
static const char __pyx_k_CUgraphConditionalHandle_2[] = "CUgraphConditionalHandle";
static const char __pyx_k_CUgraphConditionalNodeType[] = "CUgraphConditionalNodeType";
static const char __pyx_k_CUgraphicsMapResourceFlags[] = "CUgraphicsMapResourceFlags";
static const char __pyx_k_CUgreenCtx___reduce_cython[] = "CUgreenCtx.__reduce_cython__";
static const char __pyx_k_CUhostFn___setstate_cython[] = "CUhostFn.__setstate_cython__";
static const char __pyx_k_CUipcEventHandle_st_getPtr[] = "CUipcEventHandle_st.getPtr";
static const char __pyx_k_CUkernel___setstate_cython[] = "CUkernel.__setstate_cython__";
static const char __pyx_k_CUmodule___setstate_cython[] = "CUmodule.__setstate_cython__";
static const char __pyx_k_CUstream___setstate_cython[] = "CUstream.__setstate_cython__";
static const char __pyx_k_CUtexref___setstate_cython[] = "CUtexref.__setstate_cython__";
static const char __pyx_k_EGLSyncKHR___reduce_cython[] = "EGLSyncKHR.__reduce_cython__";
static const char __pyx_k_Online_compilation_targets[] = "\n    Online compilation targets\n    ";
static const char __pyx_k_Optional_CUDA_TEXTURE_DESC[] = "Optional[CUDA_TEXTURE_DESC]";
static const char __pyx_k_Optional_CUgraphNodeParams[] = "Optional[CUgraphNodeParams]";
static const char __pyx_k_Optional_CUstreamAttrValue[] = "Optional[CUstreamAttrValue]";
static const char __pyx_k_Optional_List_CUjit_option[] = "Optional[List[CUjit_option]]";
static const char __pyx_k_accessDescCount_ValueError[] = "accessDescCount : <ValueError>";
static const char __pyx_k_blockSizeToDynamicSMemSize[] = "blockSizeToDynamicSMemSize";
static const char __pyx_k_bytesOverBudget_ValueError[] = "bytesOverBudget : <ValueError>";
static const char __pyx_k_compressionType_ValueError[] = "compressionType : <ValueError>";
static const char __pyx_k_cuArrayGetSparseProperties[] = "cuArrayGetSparseProperties";
static const char __pyx_k_cuDestroyExternalSemaphore[] = "cuDestroyExternalSemaphore";
static const char __pyx_k_cuDevicePrimaryCtxGetState[] = "cuDevicePrimaryCtxGetState";
static const char __pyx_k_cuDevicePrimaryCtxSetFlags[] = "cuDevicePrimaryCtxSetFlags";
static const char __pyx_k_cuEGLStreamConsumerConnect[] = "cuEGLStreamConsumerConnect";
static const char __pyx_k_cuEGLStreamProducerConnect[] = "cuEGLStreamProducerConnect";
static const char __pyx_k_cuFlushGPUDirectRDMAWrites[] = "cuFlushGPUDirectRDMAWrites";
static const char __pyx_k_cuGraphKernelNodeGetParams[] = "cuGraphKernelNodeGetParams";
static const char __pyx_k_cuGraphKernelNodeSetParams[] = "cuGraphKernelNodeSetParams";
static const char __pyx_k_cuGraphMemcpyNodeGetParams[] = "cuGraphMemcpyNodeGetParams";
static const char __pyx_k_cuGraphMemcpyNodeSetParams[] = "cuGraphMemcpyNodeSetParams";
static const char __pyx_k_cuGraphMemsetNodeGetParams[] = "cuGraphMemsetNodeGetParams";
static const char __pyx_k_cuGraphMemsetNodeSetParams[] = "cuGraphMemsetNodeSetParams";
static const char __pyx_k_cuGraphNodeGetDependencies[] = "cuGraphNodeGetDependencies";
static const char __pyx_k_cuGraphicsEGLRegisterImage[] = "cuGraphicsEGLRegisterImage";
static const char __pyx_k_cuGraphicsGLRegisterBuffer[] = "cuGraphicsGLRegisterBuffer";
static const char __pyx_k_cuModuleEnumerateFunctions[] = "cuModuleEnumerateFunctions";
static const char __pyx_k_cuStreamCreateWithPriority[] = "cuStreamCreateWithPriority";
static const char __pyx_k_cuTexObjectGetResourceDesc[] = "cuTexObjectGetResourceDesc";
static const char __pyx_k_cuTexRefGetMipmapLevelBias[] = "cuTexRefGetMipmapLevelBias";
static const char __pyx_k_cuTexRefSetMipmapLevelBias[] = "cuTexRefSetMipmapLevelBias";
static const char __pyx_k_cuuint32_t___reduce_cython[] = "cuuint32_t.__reduce_cython__";
static const char __pyx_k_cuuint64_t___reduce_cython[] = "cuuint64_t.__reduce_cython__";
static const char __pyx_k_deviceUpdatable_ValueError[] = "deviceUpdatable : <ValueError>";
static const char __pyx_k_hMipmappedArray_ValueError[] = "hMipmappedArray : <ValueError>";
static const char __pyx_k_lastMipmapLevel_ValueError[] = "lastMipmapLevel : <ValueError>";
static const char __pyx_k_mipmapLevelBias_ValueError[] = "mipmapLevelBias : <ValueError>";
static const char __pyx_k_subresourceType_ValueError[] = "subresourceType : <ValueError>";
static const char __pyx_k_voidStarHelperoptionValues[] = "voidStarHelperoptionValues";
static const char __pyx_k_CUDA_ARRAY3D_TEXTURE_GATHER[] = "CUDA_ARRAY3D_TEXTURE_GATHER";
static const char __pyx_k_CUDA_ERROR_ALREADY_ACQUIRED[] = "CUDA_ERROR_ALREADY_ACQUIRED";
static const char __pyx_k_CUDA_ERROR_OPERATING_SYSTEM[] = "CUDA_ERROR_OPERATING_SYSTEM";
static const char __pyx_k_CUDA_ERROR_SYSTEM_NOT_READY[] = "CUDA_ERROR_SYSTEM_NOT_READY";
static const char __pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS[] = "CUDA_EVENT_WAIT_NODE_PARAMS";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_v2_st[] = "CUDA_HOST_NODE_PARAMS_v2_st";
static const char __pyx_k_CUDA_TEXTURE_DESC_st_getPtr[] = "CUDA_TEXTURE_DESC_st.getPtr";
static const char __pyx_k_CUDA_memory_pool_attributes[] = "\n    CUDA memory pool attributes\n    ";
static const char __pyx_k_CU_AD_FORMAT_BC1_UNORM_SRGB[] = "CU_AD_FORMAT_BC1_UNORM_SRGB";
static const char __pyx_k_CU_AD_FORMAT_BC2_UNORM_SRGB[] = "CU_AD_FORMAT_BC2_UNORM_SRGB";
static const char __pyx_k_CU_AD_FORMAT_BC3_UNORM_SRGB[] = "CU_AD_FORMAT_BC3_UNORM_SRGB";
static const char __pyx_k_CU_AD_FORMAT_BC7_UNORM_SRGB[] = "CU_AD_FORMAT_BC7_UNORM_SRGB";
static const char __pyx_k_CU_AD_FORMAT_UNSIGNED_INT16[] = "CU_AD_FORMAT_UNSIGNED_INT16";
static const char __pyx_k_CU_AD_FORMAT_UNSIGNED_INT32[] = "CU_AD_FORMAT_UNSIGNED_INT32";
static const char __pyx_k_CU_CTX_USER_COREDUMP_ENABLE[] = "CU_CTX_USER_COREDUMP_ENABLE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_NUMA_ID[] = "CU_DEVICE_ATTRIBUTE_NUMA_ID";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_AYUV_ER[] = "CU_EGL_COLOR_FORMAT_AYUV_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_UYVY_ER[] = "CU_EGL_COLOR_FORMAT_UYVY_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_VYUY_ER[] = "CU_EGL_COLOR_FORMAT_VYUY_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUVA_ER[] = "CU_EGL_COLOR_FORMAT_YUVA_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUYV_ER[] = "CU_EGL_COLOR_FORMAT_YUYV_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVYU_ER[] = "CU_EGL_COLOR_FORMAT_YVYU_ER";
static const char __pyx_k_CU_FUNC_CACHE_PREFER_SHARED[] = "CU_FUNC_CACHE_PREFER_SHARED";
static const char __pyx_k_CU_GET_PROC_ADDRESS_DEFAULT[] = "CU_GET_PROC_ADDRESS_DEFAULT";
static const char __pyx_k_CU_GET_PROC_ADDRESS_SUCCESS[] = "CU_GET_PROC_ADDRESS_SUCCESS";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_MEM_FREE[] = "CU_GRAPH_NODE_TYPE_MEM_FREE";
static const char __pyx_k_CU_GREEN_CTX_DEFAULT_STREAM[] = "CU_GREEN_CTX_DEFAULT_STREAM";
static const char __pyx_k_CU_LAUNCH_PARAM_BUFFER_SIZE[] = "CU_LAUNCH_PARAM_BUFFER_SIZE";
static const char __pyx_k_CU_MEMHOSTREGISTER_IOMEMORY[] = "CU_MEMHOSTREGISTER_IOMEMORY";
static const char __pyx_k_CU_MEMHOSTREGISTER_PORTABLE[] = "CU_MEMHOSTREGISTER_PORTABLE";
static const char __pyx_k_CU_MEM_ALLOCATION_COMP_NONE[] = "CU_MEM_ALLOCATION_COMP_NONE";
static const char __pyx_k_CU_MEM_LOCATION_TYPE_DEVICE[] = "CU_MEM_LOCATION_TYPE_DEVICE";
static const char __pyx_k_CU_MEM_OPERATION_TYPE_UNMAP[] = "CU_MEM_OPERATION_TYPE_UNMAP";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_MAPPED[] = "CU_POINTER_ATTRIBUTE_MAPPED";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_1X8[] = "CU_RES_VIEW_FORMAT_SINT_1X8";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_2X8[] = "CU_RES_VIEW_FORMAT_SINT_2X8";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_4X8[] = "CU_RES_VIEW_FORMAT_SINT_4X8";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_1X8[] = "CU_RES_VIEW_FORMAT_UINT_1X8";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_2X8[] = "CU_RES_VIEW_FORMAT_UINT_2X8";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_4X8[] = "CU_RES_VIEW_FORMAT_UINT_4X8";
static const char __pyx_k_CUcontext___setstate_cython[] = "CUcontext.__setstate_cython__";
static const char __pyx_k_CUdevice_v1___reduce_cython[] = "CUdevice_v1.__reduce_cython__";
static const char __pyx_k_CUdeviceptr___reduce_cython[] = "CUdeviceptr.__reduce_cython__";
static const char __pyx_k_CUgraphExecUpdateResultInfo[] = "CUgraphExecUpdateResultInfo";
static const char __pyx_k_CUgraphExec___reduce_cython[] = "CUgraphExec.__reduce_cython__";
static const char __pyx_k_CUgraphNodeParams_st_getPtr[] = "CUgraphNodeParams_st.getPtr";
static const char __pyx_k_CUgraphNode___reduce_cython[] = "CUgraphNode.__reduce_cython__";
static const char __pyx_k_CUlaunchAttribute_st_getPtr[] = "CUlaunchAttribute_st.getPtr";
static const char __pyx_k_CUlaunchMemSyncDomainMap_st[] = "CUlaunchMemSyncDomainMap_st";
static const char __pyx_k_CUlibrary___setstate_cython[] = "CUlibrary.__setstate_cython__";
static const char __pyx_k_CUlinkState___reduce_cython[] = "CUlinkState.__reduce_cython__";
static const char __pyx_k_CUmemFabricHandle_st_getPtr[] = "CUmemFabricHandle_st.getPtr";
static const char __pyx_k_CUstreamBatchMemOpParams_v1[] = "CUstreamBatchMemOpParams_v1";
static const char __pyx_k_CUstreamMemoryBarrier_flags[] = "CUstreamMemoryBarrier_flags";
static const char __pyx_k_CUsurfref___setstate_cython[] = "CUsurfref.__setstate_cython__";
static const char __pyx_k_CUtexObject___reduce_cython[] = "CUtexObject.__reduce_cython__";
static const char __pyx_k_CUuuid_st___setstate_cython[] = "CUuuid_st.__setstate_cython__";
static const char __pyx_k_EGLImageKHR___reduce_cython[] = "EGLImageKHR.__reduce_cython__";
static const char __pyx_k_Graph_instantiation_results[] = "\n    Graph instantiation results\n    ";
static const char __pyx_k_NVCL_event_scheduling_flags[] = "\n    NVCL event scheduling flags\n    ";
static const char __pyx_k_Optional_CUDA_MEMCPY3D_PEER[] = "Optional[CUDA_MEMCPY3D_PEER]";
static const char __pyx_k_Optional_CUDA_RESOURCE_DESC[] = "Optional[CUDA_RESOURCE_DESC]";
static const char __pyx_k_Optional_List_CUdevResource[] = "Optional[List[CUdevResource]]";
static const char __pyx_k_RESOURCE_ABI_EXTERNAL_BYTES[] = "RESOURCE_ABI_EXTERNAL_BYTES";
static const char __pyx_k_VdpDevice___setstate_cython[] = "VdpDevice.__setstate_cython__";
static const char __pyx_k_anon_union2___reduce_cython[] = "anon_union2.__reduce_cython__";
static const char __pyx_k_anon_union3___reduce_cython[] = "anon_union3.__reduce_cython__";
static const char __pyx_k_anon_union4___reduce_cython[] = "anon_union4.__reduce_cython__";
static const char __pyx_k_anon_union5___reduce_cython[] = "anon_union5.__reduce_cython__";
static const char __pyx_k_anon_union6___reduce_cython[] = "anon_union6.__reduce_cython__";
static const char __pyx_k_anon_union7___reduce_cython[] = "anon_union7.__reduce_cython__";
static const char __pyx_k_anon_union8___reduce_cython[] = "anon_union8.__reduce_cython__";
static const char __pyx_k_anon_union9___reduce_cython[] = "anon_union9.__reduce_cython__";
static const char __pyx_k_cblockSizeToDynamicSMemSize[] = "cblockSizeToDynamicSMemSize";
static const char __pyx_k_cuCtxGetStreamPriorityRange[] = "cuCtxGetStreamPriorityRange";
static const char __pyx_k_cuCtxResetPersistingL2Cache[] = "cuCtxResetPersistingL2Cache";
static const char __pyx_k_cuDevSmResourceSplitByCount[] = "cuDevSmResourceSplitByCount";
static const char __pyx_k_cuGraphMemFreeNodeGetParams[] = "cuGraphMemFreeNodeGetParams";
static const char __pyx_k_cuLibraryGetUnifiedFunction[] = "cuLibraryGetUnifiedFunction";
static const char __pyx_k_cuLinkCreate_locals_genexpr[] = "cuLinkCreate.<locals>.genexpr";
static const char __pyx_k_cuMemRetainAllocationHandle[] = "cuMemRetainAllocationHandle";
static const char __pyx_k_cuStreamBeginCaptureToGraph[] = "cuStreamBeginCaptureToGraph";
static const char __pyx_k_cuSurfObjectGetResourceDesc[] = "cuSurfObjectGetResourceDesc";
static const char __pyx_k_cuTexRefGetMipmapFilterMode[] = "cuTexRefGetMipmapFilterMode";
static const char __pyx_k_cuTexRefGetMipmapLevelClamp[] = "cuTexRefGetMipmapLevelClamp";
static const char __pyx_k_cuTexRefSetMipmapFilterMode[] = "cuTexRefSetMipmapFilterMode";
static const char __pyx_k_cuTexRefSetMipmapLevelClamp[] = "cuTexRefSetMipmapLevelClamp";
static const char __pyx_k_deviceUpdatableKernelNode_2[] = "deviceUpdatableKernelNode";
static const char __pyx_k_firstMipmapLevel_ValueError[] = "firstMipmapLevel : <ValueError>";
static const char __pyx_k_internal_padding_ValueError[] = "_internal_padding : <ValueError>";
static const char __pyx_k_memOperationType_ValueError[] = "memOperationType : <ValueError>";
static const char __pyx_k_memSyncDomainMap_ValueError[] = "memSyncDomainMap : <ValueError>";
static const char __pyx_k_mipmapFilterMode_ValueError[] = "mipmapFilterMode : <ValueError>";
static const char __pyx_k_pblockSizeToDynamicSMemSize[] = "pblockSizeToDynamicSMemSize";
static const char __pyx_k_Array_indices_for_cube_faces[] = "\n    Array indices for cube faces\n    ";
static const char __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES[] = "CUDA_ARRAY_SPARSE_PROPERTIES";
static const char __pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS[] = "CUDA_CHILD_GRAPH_NODE_PARAMS";
static const char __pyx_k_CUDA_CONDITIONAL_NODE_PARAMS[] = "CUDA_CONDITIONAL_NODE_PARAMS";
static const char __pyx_k_CUDA_ERROR_CDP_NOT_SUPPORTED[] = "CUDA_ERROR_CDP_NOT_SUPPORTED";
static const char __pyx_k_CUDA_ERROR_ECC_UNCORRECTABLE[] = "CUDA_ERROR_ECC_UNCORRECTABLE";
static const char __pyx_k_CUDA_ERROR_NO_BINARY_FOR_GPU[] = "CUDA_ERROR_NO_BINARY_FOR_GPU";
static const char __pyx_k_CUDA_ERROR_PROFILER_DISABLED[] = "CUDA_ERROR_PROFILER_DISABLED";
static const char __pyx_k_CUDA_ERROR_UNSUPPORTED_LIMIT[] = "CUDA_ERROR_UNSUPPORTED_LIMIT";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_ERROR[] = "CUDA_GRAPH_INSTANTIATE_ERROR";
static const char __pyx_k_CUDA_LAUNCH_PARAMS_st_getPtr[] = "CUDA_LAUNCH_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_MEMCPY3D_PEER_st_getPtr[] = "CUDA_MEMCPY3D_PEER_st.getPtr";
static const char __pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st[] = "CUDA_MEM_FREE_NODE_PARAMS_st";
static const char __pyx_k_CUDA_RESOURCE_DESC_st_getPtr[] = "CUDA_RESOURCE_DESC_st.getPtr";
static const char __pyx_k_CU_ACCESS_PROPERTY_STREAMING[] = "CU_ACCESS_PROPERTY_STREAMING";
static const char __pyx_k_CU_DEV_RESOURCE_TYPE_INVALID[] = "CU_DEV_RESOURCE_TYPE_INVALID";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_UYVY_422[] = "CU_EGL_COLOR_FORMAT_UYVY_422";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUYV_422[] = "CU_EGL_COLOR_FORMAT_YUYV_422";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y_709_ER[] = "CU_EGL_COLOR_FORMAT_Y_709_ER";
static const char __pyx_k_CU_EVENT_SCHED_BLOCKING_SYNC[] = "CU_EVENT_SCHED_BLOCKING_SYNC";
static const char __pyx_k_CU_GL_DEVICE_LIST_NEXT_FRAME[] = "CU_GL_DEVICE_LIST_NEXT_FRAME";
static const char __pyx_k_CU_GRAPH_COND_ASSIGN_DEFAULT[] = "CU_GRAPH_COND_ASSIGN_DEFAULT";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_SUCCESS[] = "CU_GRAPH_EXEC_UPDATE_SUCCESS";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_MEM_ALLOC[] = "CU_GRAPH_NODE_TYPE_MEM_ALLOC";
static const char __pyx_k_CU_JIT_MAX_THREADS_PER_BLOCK[] = "CU_JIT_MAX_THREADS_PER_BLOCK";
static const char __pyx_k_CU_JIT_TARGET_FROM_CUCONTEXT[] = "CU_JIT_TARGET_FROM_CUCONTEXT";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_PRIORITY[] = "CU_LAUNCH_ATTRIBUTE_PRIORITY";
static const char __pyx_k_CU_MEMHOSTREGISTER_DEVICEMAP[] = "CU_MEMHOSTREGISTER_DEVICEMAP";
static const char __pyx_k_CU_MEMHOSTREGISTER_READ_ONLY[] = "CU_MEMHOSTREGISTER_READ_ONLY";
static const char __pyx_k_CU_MEM_ACCESS_FLAGS_PROT_MAX[] = "CU_MEM_ACCESS_FLAGS_PROT_MAX";
static const char __pyx_k_CU_MEM_HANDLE_TYPE_WIN32_KMT[] = "CU_MEM_HANDLE_TYPE_WIN32_KMT";
static const char __pyx_k_CU_MEM_LOCATION_TYPE_INVALID[] = "CU_MEM_LOCATION_TYPE_INVALID";
static const char __pyx_k_CU_MEM_RANGE_HANDLE_TYPE_MAX[] = "CU_MEM_RANGE_HANDLE_TYPE_MAX";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_CONTEXT[] = "CU_POINTER_ATTRIBUTE_CONTEXT";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_1X16[] = "CU_RES_VIEW_FORMAT_SINT_1X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_1X32[] = "CU_RES_VIEW_FORMAT_SINT_1X32";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_2X16[] = "CU_RES_VIEW_FORMAT_SINT_2X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_2X32[] = "CU_RES_VIEW_FORMAT_SINT_2X32";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_4X16[] = "CU_RES_VIEW_FORMAT_SINT_4X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SINT_4X32[] = "CU_RES_VIEW_FORMAT_SINT_4X32";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_1X16[] = "CU_RES_VIEW_FORMAT_UINT_1X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_1X32[] = "CU_RES_VIEW_FORMAT_UINT_1X32";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_2X16[] = "CU_RES_VIEW_FORMAT_UINT_2X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_2X32[] = "CU_RES_VIEW_FORMAT_UINT_2X32";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_4X16[] = "CU_RES_VIEW_FORMAT_UINT_4X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UINT_4X32[] = "CU_RES_VIEW_FORMAT_UINT_4X32";
static const char __pyx_k_CU_SHAREDMEM_CARVEOUT_MAX_L1[] = "CU_SHAREDMEM_CARVEOUT_MAX_L1";
static const char __pyx_k_CU_STREAM_ATTRIBUTE_PRIORITY[] = "CU_STREAM_ATTRIBUTE_PRIORITY";
static const char __pyx_k_CU_SYNC_POLICY_BLOCKING_SYNC[] = "CU_SYNC_POLICY_BLOCKING_SYNC";
static const char __pyx_k_CU_TENSOR_MAP_INTERLEAVE_16B[] = "CU_TENSOR_MAP_INTERLEAVE_16B";
static const char __pyx_k_CU_TENSOR_MAP_INTERLEAVE_32B[] = "CU_TENSOR_MAP_INTERLEAVE_32B";
static const char __pyx_k_CUarraySparseSubresourceType[] = "CUarraySparseSubresourceType";
static const char __pyx_k_CUasyncCallbackHandle_getPtr[] = "CUasyncCallbackHandle.getPtr";
static const char __pyx_k_CUdevprop_st___reduce_cython[] = "CUdevprop_st.__reduce_cython__";
static const char __pyx_k_CUeglStreamConnection_getPtr[] = "CUeglStreamConnection.getPtr";
static const char __pyx_k_CUfunction___setstate_cython[] = "CUfunction.__setstate_cython__";
static const char __pyx_k_CUgreenCtx___setstate_cython[] = "CUgreenCtx.__setstate_cython__";
static const char __pyx_k_CUlaunchAttributeValue_union[] = "CUlaunchAttributeValue_union";
static const char __pyx_k_CUmemGenericAllocationHandle[] = "<CUmemGenericAllocationHandle ";
static const char __pyx_k_CUmemoryPool___reduce_cython[] = "CUmemoryPool.__reduce_cython__";
static const char __pyx_k_CUmulticastGranularity_flags[] = "CUmulticastGranularity_flags";
static const char __pyx_k_CUsurfObject___reduce_cython[] = "CUsurfObject.__reduce_cython__";
static const char __pyx_k_CUuserObject___reduce_cython[] = "CUuserObject.__reduce_cython__";
static const char __pyx_k_EGLStreamKHR___reduce_cython[] = "EGLStreamKHR.__reduce_cython__";
static const char __pyx_k_EGLSyncKHR___setstate_cython[] = "EGLSyncKHR.__setstate_cython__";
static const char __pyx_k_External_memory_handle_types[] = "\n    External memory handle types\n    ";
static const char __pyx_k_NVCL_CTX_SCHED_BLOCKING_SYNC[] = "NVCL_CTX_SCHED_BLOCKING_SYNC";
static const char __pyx_k_Optional_CUmemAllocationProp[] = "Optional[CUmemAllocationProp]";
static const char __pyx_k_Optional_List_CUarrayMapInfo[] = "Optional[List[CUarrayMapInfo]]";
static const char __pyx_k_Tensor_map_L2_promotion_type[] = "\n    Tensor map L2 promotion type\n    ";
static const char __pyx_k_anon_struct0___reduce_cython[] = "anon_struct0.__reduce_cython__";
static const char __pyx_k_anon_struct1___reduce_cython[] = "anon_struct1.__reduce_cython__";
static const char __pyx_k_anon_struct2___reduce_cython[] = "anon_struct2.__reduce_cython__";
static const char __pyx_k_anon_struct3___reduce_cython[] = "anon_struct3.__reduce_cython__";
static const char __pyx_k_anon_struct4___reduce_cython[] = "anon_struct4.__reduce_cython__";
static const char __pyx_k_anon_struct5___reduce_cython[] = "anon_struct5.__reduce_cython__";
static const char __pyx_k_anon_struct6___reduce_cython[] = "anon_struct6.__reduce_cython__";
static const char __pyx_k_anon_struct7___reduce_cython[] = "anon_struct7.__reduce_cython__";
static const char __pyx_k_anon_struct8___reduce_cython[] = "anon_struct8.__reduce_cython__";
static const char __pyx_k_anon_struct9___reduce_cython[] = "anon_struct9.__reduce_cython__";
static const char __pyx_k_anon_union10___reduce_cython[] = "anon_union10.__reduce_cython__";
static const char __pyx_k_anon_union11___reduce_cython[] = "anon_union11.__reduce_cython__";
static const char __pyx_k_anon_union14___reduce_cython[] = "anon_union14.__reduce_cython__";
static const char __pyx_k_cuArrayGetMemoryRequirements[] = "cuArrayGetMemoryRequirements";
static const char __pyx_k_cuCoredumpGetAttributeGlobal[] = "cuCoredumpGetAttributeGlobal";
static const char __pyx_k_cuCoredumpSetAttributeGlobal[] = "cuCoredumpSetAttributeGlobal";
static const char __pyx_k_cuDeviceGetGraphMemAttribute[] = "cuDeviceGetGraphMemAttribute";
static const char __pyx_k_cuDeviceSetGraphMemAttribute[] = "cuDeviceSetGraphMemAttribute";
static const char __pyx_k_cuGraphEventWaitNodeGetEvent[] = "cuGraphEventWaitNodeGetEvent";
static const char __pyx_k_cuGraphEventWaitNodeSetEvent[] = "cuGraphEventWaitNodeSetEvent";
static const char __pyx_k_cuGraphExecHostNodeSetParams[] = "cuGraphExecHostNodeSetParams";
static const char __pyx_k_cuGraphInstantiateWithParams[] = "cuGraphInstantiateWithParams";
static const char __pyx_k_cuGraphMemAllocNodeGetParams[] = "cuGraphMemAllocNodeGetParams";
static const char __pyx_k_cuGraphNodeGetDependentNodes[] = "cuGraphNodeGetDependentNodes";
static const char __pyx_k_cuGraphRemoveDependencies_v2[] = "cuGraphRemoveDependencies_v2";
static const char __pyx_k_cuGraphicsUnregisterResource[] = "cuGraphicsUnregisterResource";
static const char __pyx_k_cuLinkAddData_locals_genexpr[] = "cuLinkAddData.<locals>.genexpr";
static const char __pyx_k_cuLinkAddFile_locals_genexpr[] = "cuLinkAddFile.<locals>.genexpr";
static const char __pyx_k_cuMemExportToShareableHandle[] = "cuMemExportToShareableHandle";
static const char __pyx_k_cuOccupancyMaxActiveClusters[] = "cuOccupancyMaxActiveClusters";
static const char __pyx_k_cuuint32_t___setstate_cython[] = "cuuint32_t.__setstate_cython__";
static const char __pyx_k_cuuint64_t___setstate_cython[] = "cuuint64_t.__setstate_cython__";
static const char __pyx_k_flushRemoteWrites_ValueError[] = "flushRemoteWrites : <ValueError>";
static const char __pyx_k_miptailFirstLevel_ValueError[] = "miptailFirstLevel : <ValueError>";
static const char __pyx_k_programmaticEvent_ValueError[] = "programmaticEvent : <ValueError>";
static const char __pyx_k_reserved_length_must_be_4_is[] = "reserved length must be 4, is ";
static const char __pyx_k_reserved_length_must_be_5_is[] = "reserved length must be 5, is ";
static const char __pyx_k_sharedMemPerBlock_ValueError[] = "sharedMemPerBlock : <ValueError>";
static const char __pyx_k_CUDA_ARRAY3D_COLOR_ATTACHMENT[] = "CUDA_ARRAY3D_COLOR_ATTACHMENT";
static const char __pyx_k_CUDA_ARRAY3D_DEFERRED_MAPPING[] = "CUDA_ARRAY3D_DEFERRED_MAPPING";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS";
static const char __pyx_k_CUDA_ERROR_DEVICE_UNAVAILABLE[] = "CUDA_ERROR_DEVICE_UNAVAILABLE";
static const char __pyx_k_CUDA_ERROR_MISALIGNED_ADDRESS[] = "CUDA_ERROR_MISALIGNED_ADDRESS";
static const char __pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS[] = "CUDA_EVENT_RECORD_NODE_PARAMS";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS[] = "CUDA_GRAPH_INSTANTIATE_PARAMS";
static const char __pyx_k_CUDA_Graph_Update_error_types[] = "\n    CUDA Graph Update error types\n    ";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st[] = "CUDA_KERNEL_NODE_PARAMS_v2_st";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st[] = "CUDA_KERNEL_NODE_PARAMS_v3_st";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st[] = "CUDA_MEMSET_NODE_PARAMS_v2_st";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v1";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v2";
static const char __pyx_k_CUGPUDirectRDMAWritesOrdering[] = "CUGPUDirectRDMAWritesOrdering";
static const char __pyx_k_CU_ACCESS_PROPERTY_PERSISTING[] = "CU_ACCESS_PROPERTY_PERSISTING";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_PITCH[] = "CU_DEVICE_ATTRIBUTE_MAX_PITCH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_WARP_SIZE[] = "CU_DEVICE_ATTRIBUTE_WARP_SIZE";
static const char __pyx_k_CU_FUNCTION_LOADING_STATE_MAX[] = "CU_FUNCTION_LOADING_STATE_MAX";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_PTX_VERSION[] = "CU_FUNC_ATTRIBUTE_PTX_VERSION";
static const char __pyx_k_CU_GL_MAP_RESOURCE_FLAGS_NONE[] = "CU_GL_MAP_RESOURCE_FLAGS_NONE";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_WAIT_EVENT[] = "CU_GRAPH_NODE_TYPE_WAIT_EVENT";
static const char __pyx_k_CU_MEMHOSTALLOC_WRITECOMBINED[] = "CU_MEMHOSTALLOC_WRITECOMBINED";
static const char __pyx_k_CU_MEMPOOL_ATTR_USED_MEM_HIGH[] = "CU_MEMPOOL_ATTR_USED_MEM_HIGH";
static const char __pyx_k_CU_MEM_ACCESS_FLAGS_PROT_NONE[] = "CU_MEM_ACCESS_FLAGS_PROT_NONE";
static const char __pyx_k_CU_MEM_ACCESS_FLAGS_PROT_READ[] = "CU_MEM_ACCESS_FLAGS_PROT_READ";
static const char __pyx_k_CU_MEM_ADVISE_SET_ACCESSED_BY[] = "CU_MEM_ADVISE_SET_ACCESSED_BY";
static const char __pyx_k_CU_MEM_ADVISE_SET_READ_MOSTLY[] = "CU_MEM_ADVISE_SET_READ_MOSTLY";
static const char __pyx_k_CU_MEM_ALLOCATION_TYPE_PINNED[] = "CU_MEM_ALLOCATION_TYPE_PINNED";
static const char __pyx_k_CU_MEM_CREATE_USAGE_TILE_POOL[] = "CU_MEM_CREATE_USAGE_TILE_POOL";
static const char __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_1X16[] = "CU_RES_VIEW_FORMAT_FLOAT_1X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_1X32[] = "CU_RES_VIEW_FORMAT_FLOAT_1X32";
static const char __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_2X16[] = "CU_RES_VIEW_FORMAT_FLOAT_2X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_2X32[] = "CU_RES_VIEW_FORMAT_FLOAT_2X32";
static const char __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_4X16[] = "CU_RES_VIEW_FORMAT_FLOAT_4X16";
static const char __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_4X32[] = "CU_RES_VIEW_FORMAT_FLOAT_4X32";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC4[] = "CU_RES_VIEW_FORMAT_SIGNED_BC4";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC5[] = "CU_RES_VIEW_FORMAT_SIGNED_BC5";
static const char __pyx_k_CU_SHAREDMEM_CARVEOUT_DEFAULT[] = "CU_SHAREDMEM_CARVEOUT_DEFAULT";
static const char __pyx_k_CU_STREAM_CAPTURE_MODE_GLOBAL[] = "CU_STREAM_CAPTURE_MODE_GLOBAL";
static const char __pyx_k_CU_STREAM_CAPTURE_STATUS_NONE[] = "CU_STREAM_CAPTURE_STATUS_NONE";
static const char __pyx_k_CU_STREAM_WRITE_VALUE_DEFAULT[] = "CU_STREAM_WRITE_VALUE_DEFAULT";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_INT32[] = "CU_TENSOR_MAP_DATA_TYPE_INT32";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_INT64[] = "CU_TENSOR_MAP_DATA_TYPE_INT64";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT8[] = "CU_TENSOR_MAP_DATA_TYPE_UINT8";
static const char __pyx_k_CU_TENSOR_MAP_INTERLEAVE_NONE[] = "CU_TENSOR_MAP_INTERLEAVE_NONE";
static const char __pyx_k_CUdevice_v1___setstate_cython[] = "CUdevice_v1.__setstate_cython__";
static const char __pyx_k_CUdeviceptr___setstate_cython[] = "CUdeviceptr.__setstate_cython__";
static const char __pyx_k_CUeglFrame_st___reduce_cython[] = "CUeglFrame_st.__reduce_cython__";
static const char __pyx_k_CUexecAffinityParam_st_getPtr[] = "CUexecAffinityParam_st.getPtr";
static const char __pyx_k_CUexternalSemaphoreHandleType[] = "CUexternalSemaphoreHandleType";
static const char __pyx_k_CUgraphExec___setstate_cython[] = "CUgraphExec.__setstate_cython__";
static const char __pyx_k_CUgraphNode___setstate_cython[] = "CUgraphNode.__setstate_cython__";
static const char __pyx_k_CUlinkState___setstate_cython[] = "CUlinkState.__setstate_cython__";
static const char __pyx_k_CUmemAllocationProp_st_getPtr[] = "CUmemAllocationProp_st.getPtr";
static const char __pyx_k_CUtexObject___setstate_cython[] = "CUtexObject.__setstate_cython__";
static const char __pyx_k_EGLImageKHR___setstate_cython[] = "EGLImageKHR.__setstate_cython__";
static const char __pyx_k_Function_cache_configurations[] = "\n    Function cache configurations\n    ";
static const char __pyx_k_NVCL_context_scheduling_flags[] = "\n    NVCL context scheduling flags\n    ";
static const char __pyx_k_Optional_List_CUgraphEdgeData[] = "Optional[List[CUgraphEdgeData]]";
static const char __pyx_k_Optional_List_CUlibraryOption[] = "Optional[List[CUlibraryOption]]";
static const char __pyx_k_Optional_List_CUmemAccessDesc[] = "Optional[List[CUmemAccessDesc]]";
static const char __pyx_k_accessPolicyWindow_ValueError[] = "accessPolicyWindow : <ValueError>";
static const char __pyx_k_anon_struct10___reduce_cython[] = "anon_struct10.__reduce_cython__";
static const char __pyx_k_anon_struct11___reduce_cython[] = "anon_struct11.__reduce_cython__";
static const char __pyx_k_anon_struct12___reduce_cython[] = "anon_struct12.__reduce_cython__";
static const char __pyx_k_anon_struct13___reduce_cython[] = "anon_struct13.__reduce_cython__";
static const char __pyx_k_anon_struct14___reduce_cython[] = "anon_struct14.__reduce_cython__";
static const char __pyx_k_anon_struct15___reduce_cython[] = "anon_struct15.__reduce_cython__";
static const char __pyx_k_anon_struct16___reduce_cython[] = "anon_struct16.__reduce_cython__";
static const char __pyx_k_anon_struct17___reduce_cython[] = "anon_struct17.__reduce_cython__";
static const char __pyx_k_anon_struct18___reduce_cython[] = "anon_struct18.__reduce_cython__";
static const char __pyx_k_anon_struct19___reduce_cython[] = "anon_struct19.__reduce_cython__";
static const char __pyx_k_anon_struct20___reduce_cython[] = "anon_struct20.__reduce_cython__";
static const char __pyx_k_anon_struct21___reduce_cython[] = "anon_struct21.__reduce_cython__";
static const char __pyx_k_anon_union2___setstate_cython[] = "anon_union2.__setstate_cython__";
static const char __pyx_k_anon_union3___setstate_cython[] = "anon_union3.__setstate_cython__";
static const char __pyx_k_anon_union4___setstate_cython[] = "anon_union4.__setstate_cython__";
static const char __pyx_k_anon_union5___setstate_cython[] = "anon_union5.__setstate_cython__";
static const char __pyx_k_anon_union6___setstate_cython[] = "anon_union6.__setstate_cython__";
static const char __pyx_k_anon_union7___setstate_cython[] = "anon_union7.__setstate_cython__";
static const char __pyx_k_anon_union8___setstate_cython[] = "anon_union8.__setstate_cython__";
static const char __pyx_k_anon_union9___setstate_cython[] = "anon_union9.__setstate_cython__";
static const char __pyx_k_cuCtxCreate_v3_locals_genexpr[] = "cuCtxCreate_v3.<locals>.genexpr";
static const char __pyx_k_cuEGLStreamConsumerDisconnect[] = "cuEGLStreamConsumerDisconnect";
static const char __pyx_k_cuEGLStreamProducerDisconnect[] = "cuEGLStreamProducerDisconnect";
static const char __pyx_k_cuGraphAddNode_locals_genexpr[] = "cuGraphAddNode.<locals>.genexpr";
static const char __pyx_k_cuGraphChildGraphNodeGetGraph[] = "cuGraphChildGraphNodeGetGraph";
static const char __pyx_k_cuGraphKernelNodeGetAttribute[] = "cuGraphKernelNodeGetAttribute";
static const char __pyx_k_cuGraphKernelNodeSetAttribute[] = "cuGraphKernelNodeSetAttribute";
static const char __pyx_k_cuGraphNodeGetDependencies_v2[] = "cuGraphNodeGetDependencies_v2";
static const char __pyx_k_cuGraphicsResourceSetMapFlags[] = "cuGraphicsResourceSetMapFlags";
static const char __pyx_k_cuMemGetAllocationGranularity[] = "cuMemGetAllocationGranularity";
static const char __pyx_k_cuMemGetHandleForAddressRange[] = "cuMemGetHandleForAddressRange";
static const char __pyx_k_cuMemSetAccess_locals_genexpr[] = "cuMemSetAccess.<locals>.genexpr";
static const char __pyx_k_cuWaitExternalSemaphoresAsync[] = "cuWaitExternalSemaphoresAsync";
static const char __pyx_k_functionWindowSize_ValueError[] = "functionWindowSize : <ValueError>";
static const char __pyx_k_maxThreadsPerBlock_ValueError[] = "maxThreadsPerBlock : <ValueError>";
static const char __pyx_k_oversize_length_must_be_48_is[] = "_oversize length must be 48, is ";
static const char __pyx_k_reserved_length_must_be_56_is[] = "reserved length must be 56, is ";
static const char __pyx_k_reserved_length_must_be_64_is[] = "reserved length must be 64, is ";
static const char __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS[] = "CUDA_ARRAY_MEMORY_REQUIREMENTS";
static const char __pyx_k_CUDA_ERROR_DEVICE_NOT_LICENSED[] = "CUDA_ERROR_DEVICE_NOT_LICENSED";
static const char __pyx_k_CUDA_ERROR_FUNCTION_NOT_LOADED[] = "CUDA_ERROR_FUNCTION_NOT_LOADED";
static const char __pyx_k_CUDA_ERROR_ILLEGAL_INSTRUCTION[] = "CUDA_ERROR_ILLEGAL_INSTRUCTION";
static const char __pyx_k_CUDA_ERROR_NOT_MAPPED_AS_ARRAY[] = "CUDA_ERROR_NOT_MAPPED_AS_ARRAY";
static const char __pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st[] = "CUDA_EVENT_WAIT_NODE_PARAMS_st";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_DEDICATED[] = "CUDA_EXTERNAL_MEMORY_DEDICATED";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_SUCCESS[] = "CUDA_GRAPH_INSTANTIATE_SUCCESS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CLOCK_RATE[] = "CU_DEVICE_ATTRIBUTE_CLOCK_RATE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_INTEGRATED[] = "CU_DEVICE_ATTRIBUTE_INTEGRATED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID[] = "CU_DEVICE_ATTRIBUTE_PCI_BUS_ID";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_TCC_DRIVER[] = "CU_DEVICE_ATTRIBUTE_TCC_DRIVER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_BCCR[] = "CU_EGL_COLOR_FORMAT_BAYER_BCCR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_BGGR[] = "CU_EGL_COLOR_FORMAT_BAYER_BGGR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_CBRC[] = "CU_EGL_COLOR_FORMAT_BAYER_CBRC";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_CRBC[] = "CU_EGL_COLOR_FORMAT_BAYER_CRBC";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_GBRG[] = "CU_EGL_COLOR_FORMAT_BAYER_GBRG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_GRBG[] = "CU_EGL_COLOR_FORMAT_BAYER_GRBG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_RCCB[] = "CU_EGL_COLOR_FORMAT_BAYER_RCCB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_RGGB[] = "CU_EGL_COLOR_FORMAT_BAYER_RGGB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10_709_ER[] = "CU_EGL_COLOR_FORMAT_Y10_709_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y12_709_ER[] = "CU_EGL_COLOR_FORMAT_Y12_709_ER";
static const char __pyx_k_CU_EXEC_AFFINITY_TYPE_SM_COUNT[] = "CU_EXEC_AFFINITY_TYPE_SM_COUNT";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_CONDITIONAL[] = "CU_GRAPH_NODE_TYPE_CONDITIONAL";
static const char __pyx_k_CU_JIT_GLOBAL_SYMBOL_ADDRESSES[] = "CU_JIT_GLOBAL_SYMBOL_ADDRESSES";
static const char __pyx_k_CU_JIT_REFERENCED_KERNEL_COUNT[] = "CU_JIT_REFERENCED_KERNEL_COUNT";
static const char __pyx_k_CU_JIT_REFERENCED_KERNEL_NAMES[] = "CU_JIT_REFERENCED_KERNEL_NAMES";
static const char __pyx_k_CU_LAUNCH_PARAM_BUFFER_POINTER[] = "CU_LAUNCH_PARAM_BUFFER_POINTER";
static const char __pyx_k_CU_LIBRARY_BINARY_IS_PRESERVED[] = "CU_LIBRARY_BINARY_IS_PRESERVED";
static const char __pyx_k_CU_MEM_ALLOCATION_COMP_GENERIC[] = "CU_MEM_ALLOCATION_COMP_GENERIC";
static const char __pyx_k_CU_MEM_ALLOCATION_TYPE_INVALID[] = "CU_MEM_ALLOCATION_TYPE_INVALID";
static const char __pyx_k_CU_MEM_LOCATION_TYPE_HOST_NUMA[] = "CU_MEM_LOCATION_TYPE_HOST_NUMA";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_BUFFER_ID[] = "CU_POINTER_ATTRIBUTE_BUFFER_ID";
static const char __pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC6H[] = "CU_RES_VIEW_FORMAT_SIGNED_BC6H";
static const char __pyx_k_CU_STREAM_CAPTURE_MODE_RELAXED[] = "CU_STREAM_CAPTURE_MODE_RELAXED";
static const char __pyx_k_CU_STREAM_MEM_OP_WAIT_VALUE_32[] = "CU_STREAM_MEM_OP_WAIT_VALUE_32";
static const char __pyx_k_CU_STREAM_MEM_OP_WAIT_VALUE_64[] = "CU_STREAM_MEM_OP_WAIT_VALUE_64";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT16[] = "CU_TENSOR_MAP_DATA_TYPE_UINT16";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT32[] = "CU_TENSOR_MAP_DATA_TYPE_UINT32";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT64[] = "CU_TENSOR_MAP_DATA_TYPE_UINT64";
static const char __pyx_k_CU_TRSF_NORMALIZED_COORDINATES[] = "CU_TRSF_NORMALIZED_COORDINATES";
static const char __pyx_k_CUaccessPolicyWindow_st_getPtr[] = "CUaccessPolicyWindow_st.getPtr";
static const char __pyx_k_CUdeviceptr_v2___reduce_cython[] = "CUdeviceptr_v2.__reduce_cython__";
static const char __pyx_k_CUdevprop_st___setstate_cython[] = "CUdevprop_st.__setstate_cython__";
static const char __pyx_k_CUdriverProcAddressQueryResult[] = "CUdriverProcAddressQueryResult";
static const char __pyx_k_CUgraphExecUpdateResultInfo_st[] = "CUgraphExecUpdateResultInfo_st";
static const char __pyx_k_CUgraphExecUpdateResultInfo_v1[] = "CUgraphExecUpdateResultInfo_v1";
static const char __pyx_k_CUmemGenericAllocationHandle_2[] = "CUmemGenericAllocationHandle";
static const char __pyx_k_CUmemoryPool___setstate_cython[] = "CUmemoryPool.__setstate_cython__";
static const char __pyx_k_CUstreamBatchMemOpParams_union[] = "CUstreamBatchMemOpParams_union";
static const char __pyx_k_CUsurfObject___setstate_cython[] = "CUsurfObject.__setstate_cython__";
static const char __pyx_k_CUtensorMap_st___reduce_cython[] = "CUtensorMap_st.__reduce_cython__";
static const char __pyx_k_CUtexObject_v1___reduce_cython[] = "CUtexObject_v1.__reduce_cython__";
static const char __pyx_k_CUuserObject___setstate_cython[] = "CUuserObject.__setstate_cython__";
static const char __pyx_k_EGLStreamKHR___setstate_cython[] = "EGLStreamKHR.__setstate_cython__";
static const char __pyx_k_Launch_attributes_enum_used_as[] = "\n    Launch attributes enum; used as id field of\n    :py:obj:`~.CUlaunchAttribute`\n    ";
static const char __pyx_k_NVCL_EVENT_SCHED_BLOCKING_SYNC[] = "NVCL_EVENT_SCHED_BLOCKING_SYNC";
static const char __pyx_k_Optional_CUDA_ARRAY_DESCRIPTOR[] = "Optional[CUDA_ARRAY_DESCRIPTOR]";
static const char __pyx_k_Optional_CUDA_HOST_NODE_PARAMS[] = "Optional[CUDA_HOST_NODE_PARAMS]";
static const char __pyx_k_Optional_CUkernelNodeAttrValue[] = "Optional[CUkernelNodeAttrValue]";
static const char __pyx_k_Optional_CUmulticastObjectProp[] = "Optional[CUmulticastObjectProp]";
static const char __pyx_k_Resource_location_flags_sysmem[] = "\n    Resource location flags- sysmem or vidmem  For CUDA context on\n    iGPU, since video and system memory are equivalent - these flags\n    will not have an effect on the execution.  For CUDA context on\n    dGPU, applications can use the flag\n    :py:obj:`~.CUeglResourceLocationFlags` to give a hint about the\n    desired location.  :py:obj:`~.CU_EGL_RESOURCE_LOCATION_SYSMEM` -\n    the frame data is made resident on the system memory to be accessed\n    by CUDA.  :py:obj:`~.CU_EGL_RESOURCE_LOCATION_VIDMEM` - the frame\n    data is made resident on the dedicated video memory to be accessed\n    by CUDA.  There may be an additional latency due to new allocation\n    and data migration, if the frame is produced on a different memory.\n    ";
static const char __pyx_k_Specifies_the_type_of_location[] = "\n    Specifies the type of location\n    ";
static const char __pyx_k_anon_struct0___setstate_cython[] = "anon_struct0.__setstate_cython__";
static const char __pyx_k_anon_struct1___setstate_cython[] = "anon_struct1.__setstate_cython__";
static const char __pyx_k_anon_struct2___setstate_cython[] = "anon_struct2.__setstate_cython__";
static const char __pyx_k_anon_struct3___setstate_cython[] = "anon_struct3.__setstate_cython__";
static const char __pyx_k_anon_struct4___setstate_cython[] = "anon_struct4.__setstate_cython__";
static const char __pyx_k_anon_struct5___setstate_cython[] = "anon_struct5.__setstate_cython__";
static const char __pyx_k_anon_struct6___setstate_cython[] = "anon_struct6.__setstate_cython__";
static const char __pyx_k_anon_struct7___setstate_cython[] = "anon_struct7.__setstate_cython__";
static const char __pyx_k_anon_struct8___setstate_cython[] = "anon_struct8.__setstate_cython__";
static const char __pyx_k_anon_struct9___setstate_cython[] = "anon_struct9.__setstate_cython__";
static const char __pyx_k_anon_union10___setstate_cython[] = "anon_union10.__setstate_cython__";
static const char __pyx_k_anon_union11___setstate_cython[] = "anon_union11.__setstate_cython__";
static const char __pyx_k_anon_union14___setstate_cython[] = "anon_union14.__setstate_cython__";
static const char __pyx_k_cuDeviceGetExecAffinitySupport[] = "cuDeviceGetExecAffinitySupport";
static const char __pyx_k_cuDeviceGetNvSciSyncAttributes[] = "cuDeviceGetNvSciSyncAttributes";
static const char __pyx_k_cuEGLStreamProducerReturnFrame[] = "cuEGLStreamProducerReturnFrame";
static const char __pyx_k_cuGraphBatchMemOpNodeGetParams[] = "cuGraphBatchMemOpNodeGetParams";
static const char __pyx_k_cuGraphBatchMemOpNodeSetParams[] = "cuGraphBatchMemOpNodeSetParams";
static const char __pyx_k_cuGraphConditionalHandleCreate[] = "cuGraphConditionalHandleCreate";
static const char __pyx_k_cuGraphEventRecordNodeGetEvent[] = "cuGraphEventRecordNodeGetEvent";
static const char __pyx_k_cuGraphEventRecordNodeSetEvent[] = "cuGraphEventRecordNodeSetEvent";
static const char __pyx_k_cuGraphExecKernelNodeSetParams[] = "cuGraphExecKernelNodeSetParams";
static const char __pyx_k_cuGraphExecMemcpyNodeSetParams[] = "cuGraphExecMemcpyNodeSetParams";
static const char __pyx_k_cuGraphExecMemsetNodeSetParams[] = "cuGraphExecMemsetNodeSetParams";
static const char __pyx_k_cuMemImportFromShareableHandle[] = "cuMemImportFromShareableHandle";
static const char __pyx_k_cuTexObjectGetResourceViewDesc[] = "cuTexObjectGetResourceViewDesc";
static const char __pyx_k_maxMipmapLevelClamp_ValueError[] = "maxMipmapLevelClamp : <ValueError>";
static const char __pyx_k_minMipmapLevelClamp_ValueError[] = "minMipmapLevelClamp : <ValueError>";
static const char __pyx_k_totalConstantMemory_ValueError[] = "totalConstantMemory : <ValueError>";
static const char __pyx_k_triggerAtBlockStart_ValueError[] = "triggerAtBlockStart : <ValueError>";
static const char __pyx_k_voidStarHelperjitOptionsValues[] = "voidStarHelperjitOptionsValues";
static const char __pyx_k_win32HandleMetaData_ValueError[] = "win32HandleMetaData : <ValueError>";
static const char __pyx_k_Access_flags_that_specify_the_l[] = "\n    Access flags that specify the level of access the current context's\n    device has on the memory referenced.\n    ";
static const char __pyx_k_Argument_boxDim_is_not_instance[] = "Argument 'boxDim' is not instance of type (expected List[ccuda.cuuint32_t,]";
static const char __pyx_k_Argument_map_is_not_instance_of[] = "Argument 'map' is not instance of type (expected List[ccuda.CUmemAccessDesc,]";
static const char __pyx_k_Argument_pixelBoxLowerCorner_is[] = "Argument 'pixelBoxLowerCorner' is not instance of type (expected List[ccuda.int]";
static const char __pyx_k_Argument_pixelBoxUpperCorner_is[] = "Argument 'pixelBoxUpperCorner' is not instance of type (expected List[ccuda.int]";
static const char __pyx_k_Bitmasks_for_py_obj_CU_DEVICE_A[] = "\n    Bitmasks for\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS`\n    ";
static const char __pyx_k_CUDA_ARRAY_DESCRIPTOR_st_getPtr[] = "CUDA_ARRAY_DESCRIPTOR_st.getPtr";
static const char __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st[] = "CUDA_ARRAY_SPARSE_PROPERTIES_st";
static const char __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_v1[] = "CUDA_ARRAY_SPARSE_PROPERTIES_v1";
static const char __pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st[] = "CUDA_CHILD_GRAPH_NODE_PARAMS_st";
static const char __pyx_k_CUDA_EGL_Color_Format_The_diffe[] = "\n    CUDA EGL Color Format - The different planar and multiplanar\n    formats currently supported for CUDA_EGL interops. Three channel\n    formats are currently not supported for\n    :py:obj:`~.CU_EGL_FRAME_TYPE_ARRAY`\n    ";
static const char __pyx_k_CUDA_ERROR_CDP_VERSION_MISMATCH[] = "CUDA_ERROR_CDP_VERSION_MISMATCH";
static const char __pyx_k_CUDA_ERROR_COMPAT_NOT_SUPPORTED[] = "CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE";
static const char __pyx_k_CUDA_ERROR_CONTEXT_IS_DESTROYED[] = "CUDA_ERROR_CONTEXT_IS_DESTROYED";
static const char __pyx_k_CUDA_ERROR_HARDWARE_STACK_ERROR[] = "CUDA_ERROR_HARDWARE_STACK_ERROR";
static const char __pyx_k_CUDA_ERROR_INVALID_CLUSTER_SIZE[] = "CUDA_ERROR_INVALID_CLUSTER_SIZE";
static const char __pyx_k_CUDA_ERROR_MPS_SERVER_NOT_READY[] = "CUDA_ERROR_MPS_SERVER_NOT_READY";
static const char __pyx_k_CUDA_ERROR_NVLINK_UNCORRECTABLE[] = "CUDA_ERROR_NVLINK_UNCORRECTABLE";
static const char __pyx_k_CUDA_ERROR_SHARED_OBJECT_SYMBOL[] = "CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND";
static const char __pyx_k_CUDA_ERROR_STREAM_CAPTURE_MERGE[] = "CUDA_ERROR_STREAM_CAPTURE_MERGE";
static const char __pyx_k_CUDA_ERROR_STREAM_CAPTURE_WRONG[] = "CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st";
static const char __pyx_k_CUDA_EglFrame_type_array_or_poi[] = "\n    CUDA EglFrame type - array or pointer\n    ";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_USE[] = "CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_MULTIPLE[] = "CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_st_getPtr[] = "CUDA_HOST_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_2[] = "CUDA_KERNEL_NODE_PARAMS_v2_st.__reduce_cython__";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_3[] = "CUDA_KERNEL_NODE_PARAMS_v2_st.__setstate_cython__";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_2[] = "CUDA_KERNEL_NODE_PARAMS_v3_st.__reduce_cython__";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_3[] = "CUDA_KERNEL_NODE_PARAMS_v3_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_2[] = "CUDA_MEMSET_NODE_PARAMS_v2_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_3[] = "CUDA_MEMSET_NODE_PARAMS_v2_st.__setstate_cython__";
static const char __pyx_k_CUDA_TEXTURE_DESC_st___setstate[] = "CUDA_TEXTURE_DESC_st.__setstate_cython__";
static const char __pyx_k_CUDA_devices_corresponding_to_a[] = "\n    CUDA devices corresponding to an OpenGL device\n    ";
static const char __pyx_k_CU_ASYNC_NOTIFICATION_TYPE_OVER[] = "CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET";
static const char __pyx_k_CU_COREDUMP_ENABLE_ON_EXCEPTION[] = "CU_COREDUMP_ENABLE_ON_EXCEPTION";
static const char __pyx_k_CU_COREDUMP_ENABLE_USER_TRIGGER[] = "CU_COREDUMP_ENABLE_USER_TRIGGER";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_COOPERATIVE[] = "CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_ECC_ENABLED[] = "CU_DEVICE_ATTRIBUTE_ECC_ENABLED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP[] = "CU_DEVICE_ATTRIBUTE_GPU_OVERLAP";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE[] = "CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NATIVE[] = "CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC[] = "CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_THREADS[] = "CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MPS_ENABLED[] = "CU_DEVICE_ATTRIBUTE_MPS_ENABLED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_NUMA_CONFIG[] = "CU_DEVICE_ATTRIBUTE_NUMA_CONFIG";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA[] = "CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED";
static const char __pyx_k_CU_DEVICE_NUMA_CONFIG_NUMA_NODE[] = "CU_DEVICE_NUMA_CONFIG_NUMA_NODE";
static const char __pyx_k_CU_EGL_RESOURCE_LOCATION_SYSMEM[] = "CU_EGL_RESOURCE_LOCATION_SYSMEM";
static const char __pyx_k_CU_EGL_RESOURCE_LOCATION_VIDMEM[] = "CU_EGL_RESOURCE_LOCATION_VIDMEM";
static const char __pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES[] = "CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA[] = "CU_FUNC_ATTRIBUTE_CACHE_MODE_CA";
static const char __pyx_k_CU_GET_PROC_ADDRESS_VERSION_NOT[] = "CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT";
static const char __pyx_k_CU_GL_DEVICE_LIST_CURRENT_FRAME[] = "CU_GL_DEVICE_LIST_CURRENT_FRAME";
static const char __pyx_k_CU_GRAPHICS_REGISTER_FLAGS_NONE[] = "CU_GRAPHICS_REGISTER_FLAGS_NONE";
static const char __pyx_k_CU_GRAPHICS_REGISTER_FLAGS_READ[] = "CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL[] = "CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY[] = "CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET[] = "CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_NODE[] = "CU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED";
static const char __pyx_k_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH[] = "CU_GRAPH_MEM_ATTR_USED_MEM_HIGH";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_BATCH_MEM_OP[] = "CU_GRAPH_NODE_TYPE_BATCH_MEM_OP";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_EVENT_RECORD[] = "CU_GRAPH_NODE_TYPE_EVENT_RECORD";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_ACCESS[] = "CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_DEVICE[] = "CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_COOPERATIVE[] = "CU_LAUNCH_ATTRIBUTE_COOPERATIVE";
static const char __pyx_k_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH[] = "CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH";
static const char __pyx_k_CU_MEM_ADVISE_UNSET_ACCESSED_BY[] = "CU_MEM_ADVISE_UNSET_ACCESSED_BY";
static const char __pyx_k_CU_MEM_ADVISE_UNSET_READ_MOSTLY[] = "CU_MEM_ADVISE_UNSET_READ_MOSTLY";
static const char __pyx_k_CU_MEM_RANGE_ATTRIBUTE_ACCESSED[] = "CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_IS_MANAGED[] = "CU_POINTER_ATTRIBUTE_IS_MANAGED";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_P2P_TOKENS[] = "CU_POINTER_ATTRIBUTE_P2P_TOKENS";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_RANGE_SIZE[] = "CU_POINTER_ATTRIBUTE_RANGE_SIZE";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC1[] = "CU_RES_VIEW_FORMAT_UNSIGNED_BC1";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC2[] = "CU_RES_VIEW_FORMAT_UNSIGNED_BC2";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC3[] = "CU_RES_VIEW_FORMAT_UNSIGNED_BC3";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC4[] = "CU_RES_VIEW_FORMAT_UNSIGNED_BC4";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC5[] = "CU_RES_VIEW_FORMAT_UNSIGNED_BC5";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC7[] = "CU_RES_VIEW_FORMAT_UNSIGNED_BC7";
static const char __pyx_k_CU_SHARED_MEM_CONFIG_EIGHT_BYTE[] = "CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE";
static const char __pyx_k_CU_STREAM_CAPTURE_STATUS_ACTIVE[] = "CU_STREAM_CAPTURE_STATUS_ACTIVE";
static const char __pyx_k_CU_STREAM_MEM_OP_WRITE_VALUE_32[] = "CU_STREAM_MEM_OP_WRITE_VALUE_32";
static const char __pyx_k_CU_STREAM_MEM_OP_WRITE_VALUE_64[] = "CU_STREAM_MEM_OP_WRITE_VALUE_64";
static const char __pyx_k_CU_STREAM_WRITE_VALUE_NO_MEMORY[] = "CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT16[] = "CU_TENSOR_MAP_DATA_TYPE_FLOAT16";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT32[] = "CU_TENSOR_MAP_DATA_TYPE_FLOAT32";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT64[] = "CU_TENSOR_MAP_DATA_TYPE_FLOAT64";
static const char __pyx_k_CU_TENSOR_MAP_L2_PROMOTION_NONE[] = "CU_TENSOR_MAP_L2_PROMOTION_NONE";
static const char __pyx_k_CUasyncCallback___reduce_cython[] = "CUasyncCallback.__reduce_cython__";
static const char __pyx_k_CUeglFrame_st___setstate_cython[] = "CUeglFrame_st.__setstate_cython__";
static const char __pyx_k_CUexecAffinityParam_st___reduce[] = "CUexecAffinityParam_st.__reduce_cython__";
static const char __pyx_k_CUexecAffinitySmCount_st_getPtr[] = "CUexecAffinitySmCount_st.getPtr";
static const char __pyx_k_CUflushGPUDirectRDMAWritesScope[] = "CUflushGPUDirectRDMAWritesScope";
static const char __pyx_k_CUgraphConditionalHandle_getPtr[] = "CUgraphConditionalHandle.getPtr";
static const char __pyx_k_CUgraphNodeParams_st___setstate[] = "CUgraphNodeParams_st.__setstate_cython__";
static const char __pyx_k_CUlaunchAttribute_st___setstate[] = "CUlaunchAttribute_st.__setstate_cython__";
static const char __pyx_k_CUmemAllocationProp_st___reduce[] = "CUmemAllocationProp_st.__reduce_cython__";
static const char __pyx_k_CUmemFabricHandle_st___setstate[] = "CUmemFabricHandle_st.__setstate_cython__";
static const char __pyx_k_CUmemGenericAllocationHandle_v1[] = "<CUmemGenericAllocationHandle_v1 ";
static const char __pyx_k_CUmulticastObjectProp_st_getPtr[] = "CUmulticastObjectProp_st.getPtr";
static const char __pyx_k_CUstreamMemOpWaitValueParams_st[] = "CUstreamMemOpWaitValueParams_st";
static const char __pyx_k_CUsurfObject_v1___reduce_cython[] = "CUsurfObject_v1.__reduce_cython__";
static const char __pyx_k_Cluster_scheduling_policies_The[] = "\n    Cluster scheduling policies. These may be passed to\n    :py:obj:`~.cuFuncSetAttribute` or :py:obj:`~.cuKernelSetAttribute`\n    ";
static const char __pyx_k_Cubin_matching_fallback_strateg[] = "\n    Cubin matching fallback strategies\n    ";
static const char __pyx_k_Defines_the_allocation_types_av[] = "\n    Defines the allocation types available\n    ";
static const char __pyx_k_Deprecated_Shared_memory_config[] = "\n    [Deprecated]  Shared memory configurations\n    ";
static const char __pyx_k_External_semaphore_handle_types[] = "\n    External semaphore handle types\n    ";
static const char __pyx_k_Flag_for_requesting_different_o[] = "\n    Flag for requesting different optimal and required granularities\n    for an allocation.\n    ";
static const char __pyx_k_Flags_for_choosing_a_coredump_a[] = "\n    Flags for choosing a coredump attribute to get/set\n    ";
static const char __pyx_k_Flags_for_instantiating_a_graph[] = "\n    Flags for instantiating a graph\n    ";
static const char __pyx_k_Flags_for_mapping_and_unmapping[] = "\n    Flags for mapping and unmapping interop resources\n    ";
static const char __pyx_k_Flags_for_py_obj_cuStreamMemory[] = "\n    Flags for :py:obj:`~.cuStreamMemoryBarrier`\n    ";
static const char __pyx_k_Flags_for_py_obj_cuStreamUpdate[] = "\n    Flags for :py:obj:`~.cuStreamUpdateCaptureDependencies`\n    ";
static const char __pyx_k_Flags_for_py_obj_cuStreamWaitVa[] = "\n    Flags for :py:obj:`~.cuStreamWaitValue32` and\n    :py:obj:`~.cuStreamWaitValue64`\n    ";
static const char __pyx_k_Flags_for_py_obj_cuStreamWriteV[] = "\n    Flags for :py:obj:`~.cuStreamWriteValue32`\n    ";
static const char __pyx_k_Flags_for_querying_different_gr[] = "\n    Flags for querying different granularities for a multicast object\n    ";
static const char __pyx_k_Flags_for_retaining_user_object[] = "\n    Flags for retaining user object references for graphs\n    ";
static const char __pyx_k_Flags_for_specifying_particular[] = "\n    Flags for specifying particular handle types\n    ";
static const char __pyx_k_Flags_for_user_objects_for_grap[] = "\n    Flags for user objects for graphs\n    ";
static const char __pyx_k_Flags_to_indicate_search_status[] = "\n    Flags to indicate search status. For more details see\n    :py:obj:`~.cuGetProcAddress`\n    ";
static const char __pyx_k_Flags_to_map_or_unmap_a_resourc[] = "\n    Flags to map or unmap a resource\n    ";
static const char __pyx_k_Flags_to_register_a_graphics_re[] = "\n    Flags to register a graphics resource\n    ";
static const char __pyx_k_Flags_to_specify_search_options[] = "\n    Flags to specify search options. For more details see\n    :py:obj:`~.cuGetProcAddress`\n    ";
static const char __pyx_k_Library_options_to_be_specified[] = "\n    Library options to be specified with\n    :py:obj:`~.cuLibraryLoadData()` or\n    :py:obj:`~.cuLibraryLoadFromFile()`\n    ";
static const char __pyx_k_Memory_Synchronization_Domain_A[] = "\n    Memory Synchronization Domain  A kernel can be launched in a\n    specified memory synchronization domain that affects all memory\n    operations issued by that kernel. A memory barrier issued in one\n    domain will only order memory operations in that domain, thus\n    eliminating latency increase from memory barriers ordering\n    unrelated traffic.  By default, kernels are launched in domain 0.\n    Kernel launched with :py:obj:`~.CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE`\n    will have a different domain ID. User may also alter the domain ID\n    with :py:obj:`~.CUlaunchMemSyncDomainMap` for a specific stream /\n    graph node / kernel launch. See\n    :py:obj:`~.CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN`,\n    :py:obj:`~.cuStreamSetAttribute`, :py:obj:`~.cuLaunchKernelEx`,\n    :py:obj:`~.cuGraphKernelNodeSetAttribute`.  Memory operations done\n    in kernels launched in different domains are considered system-\n    scope distanced. In other words, a GPU scoped memory\n    synchronization is not sufficient for memory order to be observed\n    by kernels in another memory synchronization domain even if they\n    are on the same GPU.\n    ";
static const char __pyx_k_Online_compiler_and_linker_opti[] = "\n    Online compiler and linker options\n    ";
static const char __pyx_k_Operations_for_py_obj_cuStreamB[] = "\n    Operations for :py:obj:`~.cuStreamBatchMemOp`\n    ";
static const char __pyx_k_Optional_CUDA_BATCH_MEM_OP_NODE[] = "Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]";
static const char __pyx_k_Optional_CUDA_EXT_SEM_WAIT_NODE[] = "Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]";
static const char __pyx_k_Optional_CUDA_GRAPH_INSTANTIATE[] = "Optional[CUDA_GRAPH_INSTANTIATE_PARAMS]";
static const char __pyx_k_Optional_CUmemPoolPtrExportData[] = "Optional[CUmemPoolPtrExportData]";
static const char __pyx_k_Platform_native_ordering_for_GP[] = "\n    Platform native ordering for GPUDirect RDMA writes\n    ";
static const char __pyx_k_Possible_modes_for_stream_captu[] = "\n    Possible modes for stream capture thread interactions. For more\n    details see :py:obj:`~.cuStreamBeginCapture` and\n    :py:obj:`~.cuThreadExchangeStreamCaptureMode`\n    ";
static const char __pyx_k_Possible_stream_capture_statuse[] = "\n    Possible stream capture statuses returned by\n    :py:obj:`~.cuStreamIsCapturing`\n    ";
static const char __pyx_k_Shared_memory_carveout_configur[] = "\n    Shared memory carveout configurations. These may be passed to\n    :py:obj:`~.cuFuncSetAttribute` or :py:obj:`~.cuKernelSetAttribute`\n    ";
static const char __pyx_k_Specifies_compression_attribute[] = "\n    Specifies compression attribute for an allocation.\n    ";
static const char __pyx_k_Specifies_performance_hint_with[] = "\n    Specifies performance hint with :py:obj:`~.CUaccessPolicyWindow`\n    for hitProp and missProp members.\n    ";
static const char __pyx_k_Specifies_the_handle_type_for_a[] = "\n    Specifies the handle type for address range\n    ";
static const char __pyx_k_Specifies_the_memory_protection[] = "\n    Specifies the memory protection flags for mapping.\n    ";
static const char __pyx_k_Tensor_map_interleave_layout_ty[] = "\n    Tensor map interleave layout type\n    ";
static const char __pyx_k_Tensor_map_out_of_bounds_fill_t[] = "\n    Tensor map out-of-bounds fill type\n    ";
static const char __pyx_k_Tensor_map_swizzling_mode_of_sh[] = "\n    Tensor map swizzling mode of shared memory banks\n    ";
static const char __pyx_k_Texture_reference_addressing_mo[] = "\n    Texture reference addressing modes\n    ";
static const char __pyx_k_Texture_reference_filtering_mod[] = "\n    Texture reference filtering modes\n    ";
static const char __pyx_k_The_additional_write_options_fo[] = "\n    The additional write options for :py:obj:`~.cuGraphDebugDotPrint`\n    ";
static const char __pyx_k_The_scopes_for_py_obj_cuFlushGP[] = "\n    The scopes for :py:obj:`~.cuFlushGPUDirectRDMAWrites`\n    ";
static const char __pyx_k_The_targets_for_py_obj_cuFlushG[] = "\n    The targets for :py:obj:`~.cuFlushGPUDirectRDMAWrites`\n    ";
static const char __pyx_k_Type_annotations_that_can_be_ap[] = "\n    Type annotations that can be applied to graph edges as part of\n    :py:obj:`~.CUgraphEdgeData`.\n    ";
static const char __pyx_k_Types_of_async_notification_tha[] = "\n    Types of async notification that can be sent\n    ";
static const char __pyx_k_VdpVideoSurface___reduce_cython[] = "VdpVideoSurface.__reduce_cython__";
static const char __pyx_k_anon_struct10___setstate_cython[] = "anon_struct10.__setstate_cython__";
static const char __pyx_k_anon_struct11___setstate_cython[] = "anon_struct11.__setstate_cython__";
static const char __pyx_k_anon_struct12___setstate_cython[] = "anon_struct12.__setstate_cython__";
static const char __pyx_k_anon_struct13___setstate_cython[] = "anon_struct13.__setstate_cython__";
static const char __pyx_k_anon_struct14___setstate_cython[] = "anon_struct14.__setstate_cython__";
static const char __pyx_k_anon_struct15___setstate_cython[] = "anon_struct15.__setstate_cython__";
static const char __pyx_k_anon_struct16___setstate_cython[] = "anon_struct16.__setstate_cython__";
static const char __pyx_k_anon_struct17___setstate_cython[] = "anon_struct17.__setstate_cython__";
static const char __pyx_k_anon_struct18___setstate_cython[] = "anon_struct18.__setstate_cython__";
static const char __pyx_k_anon_struct19___setstate_cython[] = "anon_struct19.__setstate_cython__";
static const char __pyx_k_anon_struct20___setstate_cython[] = "anon_struct20.__setstate_cython__";
static const char __pyx_k_anon_struct21___setstate_cython[] = "anon_struct21.__setstate_cython__";
static const char __pyx_k_cuEGLStreamConsumerAcquireFrame[] = "cuEGLStreamConsumerAcquireFrame";
static const char __pyx_k_cuEGLStreamConsumerReleaseFrame[] = "cuEGLStreamConsumerReleaseFrame";
static const char __pyx_k_cuEGLStreamProducerPresentFrame[] = "cuEGLStreamProducerPresentFrame";
static const char __pyx_k_cuExternalMemoryGetMappedBuffer[] = "cuExternalMemoryGetMappedBuffer";
static const char __pyx_k_cuGraphAddBatchMemOpNode_locals[] = "cuGraphAddBatchMemOpNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddChildGraphNode_locals[] = "cuGraphAddChildGraphNode.<locals>.genexpr";
static const char __pyx_k_cuGraphKernelNodeCopyAttributes[] = "cuGraphKernelNodeCopyAttributes";
static const char __pyx_k_cuGraphNodeGetDependentNodes_v2[] = "cuGraphNodeGetDependentNodes_v2";
static const char __pyx_k_cuSignalExternalSemaphoresAsync[] = "cuSignalExternalSemaphoresAsync.<locals>.genexpr";
static const char __pyx_k_gpuDirectRDMACapable_ValueError[] = "gpuDirectRDMACapable : <ValueError>";
static const char __pyx_k_internal_padding_length_must_be[] = "_internal_padding length must be 92, is ";
static const char __pyx_k_requestedHandleTypes_ValueError[] = "requestedHandleTypes : <ValueError>";
static const char __pyx_k_Argument_attributes_is_not_insta[] = "Argument 'attributes' is not instance of type (expected List[ccuda.CUmem_range_attribute]";
static const char __pyx_k_Argument_conn_is_not_instance_of[] = "Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found ";
static const char __pyx_k_Argument_dataSizes_is_not_instan[] = "Argument 'dataSizes' is not instance of type (expected List[int]";
static const char __pyx_k_Argument_dependencies_is_not_ins[] = "Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]";
static const char __pyx_k_Argument_dependencyData_is_not_i[] = "Argument 'dependencyData' is not instance of type (expected List[ccuda.CUgraphEdgeData,]";
static const char __pyx_k_Argument_desc_is_not_instance_of[] = "Argument 'desc' is not instance of type (expected List[ccuda.CUmemAccessDesc,]";
static const char __pyx_k_Argument_edgeData_is_not_instanc[] = "Argument 'edgeData' is not instance of type (expected List[ccuda.CUgraphEdgeData,]";
static const char __pyx_k_Argument_elementStrides_is_not_i[] = "Argument 'elementStrides' is not instance of type (expected List[ccuda.cuuint32_t,]";
static const char __pyx_k_Argument_extSemArray_is_not_inst[] = "Argument 'extSemArray' is not instance of type (expected List[ccuda.CUexternalSemaphore,]";
static const char __pyx_k_Argument_from__is_not_instance_o[] = "Argument 'from_' is not instance of type (expected List[ccuda.CUgraphNode,]";
static const char __pyx_k_Argument_globalDim_is_not_instan[] = "Argument 'globalDim' is not instance of type (expected List[ccuda.cuuint64_t,]";
static const char __pyx_k_Argument_globalStrides_is_not_in[] = "Argument 'globalStrides' is not instance of type (expected List[ccuda.cuuint64_t,]";
static const char __pyx_k_Argument_jitOptions_is_not_insta[] = "Argument 'jitOptions' is not instance of type (expected List[ccuda.CUjit_option]";
static const char __pyx_k_Argument_launchParamsList_is_not[] = "Argument 'launchParamsList' is not instance of type (expected List[ccuda.CUDA_LAUNCH_PARAMS,]";
static const char __pyx_k_Argument_libraryOptions_is_not_i[] = "Argument 'libraryOptions' is not instance of type (expected List[ccuda.CUlibraryOption]";
static const char __pyx_k_Argument_mapInfoList_is_not_inst[] = "Argument 'mapInfoList' is not instance of type (expected List[ccuda.CUarrayMapInfo,]";
static const char __pyx_k_Argument_options_is_not_instance[] = "Argument 'options' is not instance of type (expected List[ccuda.CUjit_option]";
static const char __pyx_k_Argument_pCudaResource_is_not_in[] = "Argument 'pCudaResource' is not instance of type (expected <class 'int, cuda.CUgraphicsResource'>, found ";
static const char __pyx_k_Argument_pStream_is_not_instance[] = "Argument 'pStream' is not instance of type (expected <class 'int, cuda.CUstream'>, found ";
static const char __pyx_k_Argument_paramArray_is_not_insta[] = "Argument 'paramArray' is not instance of type (expected List[ccuda.CUstreamBatchMemOpParams,]";
static const char __pyx_k_Argument_paramsArray_is_not_inst[] = "Argument 'paramsArray' is not instance of type (expected List[ccuda.CUexecAffinityParam,]";
static const char __pyx_k_Argument_resources_is_not_instan[] = "Argument 'resources' is not instance of type (expected <class 'int, cuda.CUgraphicsResource'>, found ";
static const char __pyx_k_Argument_to_is_not_instance_of_t[] = "Argument 'to' is not instance of type (expected List[ccuda.CUgraphNode,]";
static const char __pyx_k_Argument_vdpGetProcAddress_is_no[] = "Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, cuda.VdpGetProcAddress'>, found ";
static const char __pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st___red[] = "CUDA_ARRAY3D_DESCRIPTOR_st.__reduce_cython__";
static const char __pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st___set[] = "CUDA_ARRAY3D_DESCRIPTOR_st.__setstate_cython__";
static const char __pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st_getPt[] = "CUDA_ARRAY3D_DESCRIPTOR_st.getPtr";
static const char __pyx_k_CUDA_ARRAY_DESCRIPTOR_st___reduc[] = "CUDA_ARRAY_DESCRIPTOR_st.__reduce_cython__";
static const char __pyx_k_CUDA_ARRAY_DESCRIPTOR_st___setst[] = "CUDA_ARRAY_DESCRIPTOR_st.__setstate_cython__";
static const char __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s[] = "CUDA_ARRAY_MEMORY_REQUIREMENTS_st";
static const char __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_v[] = "CUDA_ARRAY_MEMORY_REQUIREMENTS_v1";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st";
static const char __pyx_k_CUDA_CONDITIONAL_NODE_PARAMS___r[] = "CUDA_CONDITIONAL_NODE_PARAMS.__reduce_cython__";
static const char __pyx_k_CUDA_CONDITIONAL_NODE_PARAMS___s[] = "CUDA_CONDITIONAL_NODE_PARAMS.__setstate_cython__";
static const char __pyx_k_CUDA_CONDITIONAL_NODE_PARAMS_get[] = "CUDA_CONDITIONAL_NODE_PARAMS.getPtr";
static const char __pyx_k_CUDA_COOPERATIVE_LAUNCH_MULTI_DE[] = "CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC";
static const char __pyx_k_CUDA_ERROR_CONTEXT_ALREADY_CURRE[] = "CUDA_ERROR_CONTEXT_ALREADY_CURRENT";
static const char __pyx_k_CUDA_ERROR_CONTEXT_ALREADY_IN_US[] = "CUDA_ERROR_CONTEXT_ALREADY_IN_USE";
static const char __pyx_k_CUDA_ERROR_COOPERATIVE_LAUNCH_TO[] = "CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE";
static const char __pyx_k_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAI[] = "CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE";
static const char __pyx_k_CUDA_ERROR_HOST_MEMORY_ALREADY_R[] = "CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED";
static const char __pyx_k_CUDA_ERROR_HOST_MEMORY_NOT_REGIS[] = "CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED";
static const char __pyx_k_CUDA_ERROR_INVALID_ADDRESS_SPACE[] = "CUDA_ERROR_INVALID_ADDRESS_SPACE";
static const char __pyx_k_CUDA_ERROR_INVALID_GRAPHICS_CONT[] = "CUDA_ERROR_INVALID_GRAPHICS_CONTEXT";
static const char __pyx_k_CUDA_ERROR_INVALID_RESOURCE_CONF[] = "CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION";
static const char __pyx_k_CUDA_ERROR_INVALID_RESOURCE_TYPE[] = "CUDA_ERROR_INVALID_RESOURCE_TYPE";
static const char __pyx_k_CUDA_ERROR_JIT_COMPILATION_DISAB[] = "CUDA_ERROR_JIT_COMPILATION_DISABLED";
static const char __pyx_k_CUDA_ERROR_JIT_COMPILER_NOT_FOUN[] = "CUDA_ERROR_JIT_COMPILER_NOT_FOUND";
static const char __pyx_k_CUDA_ERROR_LAUNCH_INCOMPATIBLE_T[] = "CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING";
static const char __pyx_k_CUDA_ERROR_LAUNCH_OUT_OF_RESOURC[] = "CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES";
static const char __pyx_k_CUDA_ERROR_MPS_CLIENT_TERMINATED[] = "CUDA_ERROR_MPS_CLIENT_TERMINATED";
static const char __pyx_k_CUDA_ERROR_MPS_CONNECTION_FAILED[] = "CUDA_ERROR_MPS_CONNECTION_FAILED";
static const char __pyx_k_CUDA_ERROR_MPS_MAX_CLIENTS_REACH[] = "CUDA_ERROR_MPS_MAX_CLIENTS_REACHED";
static const char __pyx_k_CUDA_ERROR_MPS_MAX_CONNECTIONS_R[] = "CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED";
static const char __pyx_k_CUDA_ERROR_NOT_MAPPED_AS_POINTER[] = "CUDA_ERROR_NOT_MAPPED_AS_POINTER";
static const char __pyx_k_CUDA_ERROR_PEER_ACCESS_ALREADY_E[] = "CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED";
static const char __pyx_k_CUDA_ERROR_PEER_ACCESS_NOT_ENABL[] = "CUDA_ERROR_PEER_ACCESS_NOT_ENABLED";
static const char __pyx_k_CUDA_ERROR_PEER_ACCESS_UNSUPPORT[] = "CUDA_ERROR_PEER_ACCESS_UNSUPPORTED";
static const char __pyx_k_CUDA_ERROR_PRIMARY_CONTEXT_ACTIV[] = "CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE";
static const char __pyx_k_CUDA_ERROR_PROFILER_ALREADY_STAR[] = "CUDA_ERROR_PROFILER_ALREADY_STARTED";
static const char __pyx_k_CUDA_ERROR_PROFILER_ALREADY_STOP[] = "CUDA_ERROR_PROFILER_ALREADY_STOPPED";
static const char __pyx_k_CUDA_ERROR_PROFILER_NOT_INITIALI[] = "CUDA_ERROR_PROFILER_NOT_INITIALIZED";
static const char __pyx_k_CUDA_ERROR_SHARED_OBJECT_INIT_FA[] = "CUDA_ERROR_SHARED_OBJECT_INIT_FAILED";
static const char __pyx_k_CUDA_ERROR_STREAM_CAPTURE_IMPLIC[] = "CUDA_ERROR_STREAM_CAPTURE_IMPLICIT";
static const char __pyx_k_CUDA_ERROR_STREAM_CAPTURE_INVALI[] = "CUDA_ERROR_STREAM_CAPTURE_INVALIDATED";
static const char __pyx_k_CUDA_ERROR_STREAM_CAPTURE_ISOLAT[] = "CUDA_ERROR_STREAM_CAPTURE_ISOLATION";
static const char __pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNJOIN[] = "CUDA_ERROR_STREAM_CAPTURE_UNJOINED";
static const char __pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNMATC[] = "CUDA_ERROR_STREAM_CAPTURE_UNMATCHED";
static const char __pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNSUPP[] = "CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED";
static const char __pyx_k_CUDA_ERROR_SYSTEM_DRIVER_MISMATC[] = "CUDA_ERROR_SYSTEM_DRIVER_MISMATCH";
static const char __pyx_k_CUDA_ERROR_UNSUPPORTED_DEVSIDE_S[] = "CUDA_ERROR_UNSUPPORTED_DEVSIDE_SYNC";
static const char __pyx_k_CUDA_ERROR_UNSUPPORTED_EXEC_AFFI[] = "CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY";
static const char __pyx_k_CUDA_ERROR_UNSUPPORTED_PTX_VERSI[] = "CUDA_ERROR_UNSUPPORTED_PTX_VERSION";
static const char __pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st[] = "CUDA_EVENT_RECORD_NODE_PARAMS_st";
static const char __pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_2[] = "CUDA_EVENT_WAIT_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_3[] = "CUDA_EVENT_WAIT_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_g[] = "CUDA_EVENT_WAIT_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC[] = "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC[] = "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A[] = "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D[] = "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P[] = "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_S[] = "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR[] = "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKI[] = "CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_st";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO[] = "CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_DEVI[] = "CUDA_GRAPH_INSTANTIATE_FLAG_DEVICE_LAUNCH";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_UPLO[] = "CUDA_GRAPH_INSTANTIATE_FLAG_UPLOAD";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_INVALID_S[] = "CUDA_GRAPH_INSTANTIATE_INVALID_STRUCTURE";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_NODE_OPER[] = "CUDA_GRAPH_INSTANTIATE_NODE_OPERATION_NOT_SUPPORTED";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st[] = "CUDA_GRAPH_INSTANTIATE_PARAMS_st";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_st___reduc[] = "CUDA_HOST_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_st___setst[] = "CUDA_HOST_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_v2_st___re[] = "CUDA_HOST_NODE_PARAMS_v2_st.__reduce_cython__";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_v2_st___se[] = "CUDA_HOST_NODE_PARAMS_v2_st.__setstate_cython__";
static const char __pyx_k_CUDA_HOST_NODE_PARAMS_v2_st_getP[] = "CUDA_HOST_NODE_PARAMS_v2_st.getPtr";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_st___red[] = "CUDA_KERNEL_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_st___set[] = "CUDA_KERNEL_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_st_getPt[] = "CUDA_KERNEL_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_ge[] = "CUDA_KERNEL_NODE_PARAMS_v2_st.getPtr";
static const char __pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_ge[] = "CUDA_KERNEL_NODE_PARAMS_v3_st.getPtr";
static const char __pyx_k_CUDA_LAUNCH_PARAMS_st___reduce_c[] = "CUDA_LAUNCH_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_LAUNCH_PARAMS_st___setstate[] = "CUDA_LAUNCH_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEMCPY2D_st___reduce_cython[] = "CUDA_MEMCPY2D_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEMCPY2D_st___setstate_cyth[] = "CUDA_MEMCPY2D_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEMCPY3D_PEER_st___reduce_c[] = "CUDA_MEMCPY3D_PEER_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEMCPY3D_PEER_st___setstate[] = "CUDA_MEMCPY3D_PEER_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEMCPY3D_st___reduce_cython[] = "CUDA_MEMCPY3D_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEMCPY3D_st___setstate_cyth[] = "CUDA_MEMCPY3D_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEMCPY_NODE_PARAMS_st___red[] = "CUDA_MEMCPY_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEMCPY_NODE_PARAMS_st___set[] = "CUDA_MEMCPY_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEMCPY_NODE_PARAMS_st_getPt[] = "CUDA_MEMCPY_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_st___red[] = "CUDA_MEMSET_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_st___set[] = "CUDA_MEMSET_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_st_getPt[] = "CUDA_MEMSET_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_ge[] = "CUDA_MEMSET_NODE_PARAMS_v2_st.getPtr";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v1_st";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v2_st";
static const char __pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st___r[] = "CUDA_MEM_FREE_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st___s[] = "CUDA_MEM_FREE_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st_get[] = "CUDA_MEM_FREE_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_POINTER_ATTRIBUTE_ACCESS_FL[] = "CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS";
static const char __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN[] = "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st";
static const char __pyx_k_CUDA_RESOURCE_DESC_st___reduce_c[] = "CUDA_RESOURCE_DESC_st.__reduce_cython__";
static const char __pyx_k_CUDA_RESOURCE_DESC_st___setstate[] = "CUDA_RESOURCE_DESC_st.__setstate_cython__";
static const char __pyx_k_CUDA_RESOURCE_VIEW_DESC_st___red[] = "CUDA_RESOURCE_VIEW_DESC_st.__reduce_cython__";
static const char __pyx_k_CUDA_RESOURCE_VIEW_DESC_st___set[] = "CUDA_RESOURCE_VIEW_DESC_st.__setstate_cython__";
static const char __pyx_k_CUDA_RESOURCE_VIEW_DESC_st_getPt[] = "CUDA_RESOURCE_VIEW_DESC_st.getPtr";
static const char __pyx_k_CUDA_TEXTURE_DESC_st___reduce_cy[] = "CUDA_TEXTURE_DESC_st.__reduce_cython__";
static const char __pyx_k_CU_ARRAY_SPARSE_PROPERTIES_SINGL[] = "CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL";
static const char __pyx_k_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE[] = "CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL";
static const char __pyx_k_CU_CLUSTER_SCHEDULING_POLICY_DEF[] = "CU_CLUSTER_SCHEDULING_POLICY_DEFAULT";
static const char __pyx_k_CU_CLUSTER_SCHEDULING_POLICY_LOA[] = "CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING";
static const char __pyx_k_CU_CLUSTER_SCHEDULING_POLICY_SPR[] = "CU_CLUSTER_SCHEDULING_POLICY_SPREAD";
static const char __pyx_k_CU_COMPUTEMODE_EXCLUSIVE_PROCESS[] = "CU_COMPUTEMODE_EXCLUSIVE_PROCESS";
static const char __pyx_k_CU_COMPUTE_ACCELERATED_TARGET_BA[] = "CU_COMPUTE_ACCELERATED_TARGET_BASE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE[] = "CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_RE[] = "CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST[] = "CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GA[] = "CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B[] = "CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST[] = "CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE[] = "CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CLUSTER_LAUN[] = "CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA[] = "CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE[] = "CU_DEVICE_ATTRIBUTE_COMPUTE_MODE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_PREE[] = "CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CONCURRENT_K[] = "CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CONCURRENT_M[] = "CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_DEFERRED_MAP[] = "CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_DIRECT_MANAG[] = "CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPP[] = "CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GENERIC_COMP[] = "CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CA[] = "CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMOR[] = "CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R[] = "CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID[] = "CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_HOST_REGISTE[] = "CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_IPC_EVENT_SU[] = "CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZ[] = "CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CAC[] = "CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MANAGED_MEMO[] = "CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_P[] = "CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_P[] = "CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI[] = "CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM[] = "CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_PERSISTI[] = "CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_REGISTER[] = "CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M[] = "CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK[] = "CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS[] = "CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPP[] = "CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOM[] = "CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MULTICAST_SU[] = "CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MULTIPROCESS[] = "CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO[] = "CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM[] = "CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_I[] = "CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_I[] = "CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_READ_ONLY_HO[] = "CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_REGISTERS_PE[] = "CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_RESERVED_SHA[] = "CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_SHARED_MEMOR[] = "CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DO[] = "CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_STREAM_PRIOR[] = "CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_SURFACE_ALIG[] = "CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_TENSOR_MAP_A[] = "CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIG[] = "CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_TEXTURE_PITC[] = "CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_TIMELINE_SEM[] = "CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTA[] = "CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDR[] = "CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_UNIFIED_FUNC[] = "CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDR[] = "CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMO[] = "CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED";
static const char __pyx_k_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_A[] = "CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED";
static const char __pyx_k_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_S[] = "CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED";
static const char __pyx_k_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARR[] = "CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED";
static const char __pyx_k_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_A[] = "CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED";
static const char __pyx_k_CU_DEVICE_P2P_ATTRIBUTE_PERFORMA[] = "CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_BGGR[] = "CU_EGL_COLOR_FORMAT_BAYER10_BGGR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_CCCC[] = "CU_EGL_COLOR_FORMAT_BAYER10_CCCC";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_GBRG[] = "CU_EGL_COLOR_FORMAT_BAYER10_GBRG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_GRBG[] = "CU_EGL_COLOR_FORMAT_BAYER10_GRBG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_RGGB[] = "CU_EGL_COLOR_FORMAT_BAYER10_RGGB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_BCCR[] = "CU_EGL_COLOR_FORMAT_BAYER12_BCCR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_BGGR[] = "CU_EGL_COLOR_FORMAT_BAYER12_BGGR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CBRC[] = "CU_EGL_COLOR_FORMAT_BAYER12_CBRC";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CCCC[] = "CU_EGL_COLOR_FORMAT_BAYER12_CCCC";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CRBC[] = "CU_EGL_COLOR_FORMAT_BAYER12_CRBC";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_GBRG[] = "CU_EGL_COLOR_FORMAT_BAYER12_GBRG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_GRBG[] = "CU_EGL_COLOR_FORMAT_BAYER12_GRBG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_RCCB[] = "CU_EGL_COLOR_FORMAT_BAYER12_RCCB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_RGGB[] = "CU_EGL_COLOR_FORMAT_BAYER12_RGGB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_BGGR[] = "CU_EGL_COLOR_FORMAT_BAYER14_BGGR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_GBRG[] = "CU_EGL_COLOR_FORMAT_BAYER14_GBRG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_GRBG[] = "CU_EGL_COLOR_FORMAT_BAYER14_GRBG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_RGGB[] = "CU_EGL_COLOR_FORMAT_BAYER14_RGGB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_BGGR[] = "CU_EGL_COLOR_FORMAT_BAYER20_BGGR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_GBRG[] = "CU_EGL_COLOR_FORMAT_BAYER20_GBRG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_GRBG[] = "CU_EGL_COLOR_FORMAT_BAYER20_GRBG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_RGGB[] = "CU_EGL_COLOR_FORMAT_BAYER20_RGGB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_BG[] = "CU_EGL_COLOR_FORMAT_BAYER_ISP_BGGR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_GB[] = "CU_EGL_COLOR_FORMAT_BAYER_ISP_GBRG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_GR[] = "CU_EGL_COLOR_FORMAT_BAYER_ISP_GRBG";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_RG[] = "CU_EGL_COLOR_FORMAT_BAYER_ISP_RGGB";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42[] = "CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44[] = "CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA[] = "CU_EGL_COLOR_FORMAT_YUV420_PLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP[] = "CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV422_PLANA[] = "CU_EGL_COLOR_FORMAT_YUV422_PLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV422_SEMIP[] = "CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV444_PLANA[] = "CU_EGL_COLOR_FORMAT_YUV444_PLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV444_SEMIP[] = "CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA[] = "CU_EGL_COLOR_FORMAT_YVU420_PLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP[] = "CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU422_PLANA[] = "CU_EGL_COLOR_FORMAT_YVU422_PLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU422_SEMIP[] = "CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU444_PLANA[] = "CU_EGL_COLOR_FORMAT_YVU444_PLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU444_SEMIP[] = "CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR";
static const char __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D[] = "CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP";
static const char __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_N[] = "CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF";
static const char __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O[] = "CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD";
static const char __pyx_k_CU_FUNCTION_LOADING_STATE_LOADED[] = "CU_FUNCTION_LOADING_STATE_LOADED";
static const char __pyx_k_CU_FUNCTION_LOADING_STATE_UNLOAD[] = "CU_FUNCTION_LOADING_STATE_UNLOADED";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_BINARY_VERSION[] = "CU_FUNC_ATTRIBUTE_BINARY_VERSION";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDU[] = "CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_M[] = "CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_MUST_BE_SET";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYT[] = "CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYT[] = "CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SH[] = "CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_MAX_THREADS_PE[] = "CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_NON_PORTABLE_C[] = "CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_PREFERRED_SHAR[] = "CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST[] = "CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BY[] = "CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES";
static const char __pyx_k_CU_GET_PROC_ADDRESS_LEGACY_STREA[] = "CU_GET_PROC_ADDRESS_LEGACY_STREAM";
static const char __pyx_k_CU_GET_PROC_ADDRESS_PER_THREAD_D[] = "CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM";
static const char __pyx_k_CU_GET_PROC_ADDRESS_SYMBOL_NOT_F[] = "CU_GET_PROC_ADDRESS_SYMBOL_NOT_FOUND";
static const char __pyx_k_CU_GL_MAP_RESOURCE_FLAGS_READ_ON[] = "CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY";
static const char __pyx_k_CU_GL_MAP_RESOURCE_FLAGS_WRITE_D[] = "CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD";
static const char __pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI[] = "CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE";
static const char __pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_N[] = "CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE";
static const char __pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_R[] = "CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY";
static const char __pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_W[] = "CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD";
static const char __pyx_k_CU_GRAPHICS_REGISTER_FLAGS_SURFA[] = "CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST";
static const char __pyx_k_CU_GRAPHICS_REGISTER_FLAGS_TEXTU[] = "CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER";
static const char __pyx_k_CU_GRAPHICS_REGISTER_FLAGS_WRITE[] = "CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_M[] = "CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_MEM_OP_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_CONDITI[] = "CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_N[] = "CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_T[] = "CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_TOPO_INFO";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM[] = "CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES[] = "CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NO[] = "CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALL[] = "CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FRE[] = "CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME[] = "CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE[] = "CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE";
static const char __pyx_k_CU_GRAPH_DEPENDENCY_TYPE_DEFAULT[] = "CU_GRAPH_DEPENDENCY_TYPE_DEFAULT";
static const char __pyx_k_CU_GRAPH_DEPENDENCY_TYPE_PROGRAM[] = "CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_ATTRI[] = "CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCT[] = "CU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_S[] = "CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_PARAM[] = "CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOL[] = "CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED";
static const char __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUP[] = "CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE";
static const char __pyx_k_CU_GRAPH_KERNEL_NODE_PORT_DEFAUL[] = "CU_GRAPH_KERNEL_NODE_PORT_DEFAULT";
static const char __pyx_k_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH[] = "CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER";
static const char __pyx_k_CU_GRAPH_KERNEL_NODE_PORT_PROGRA[] = "CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC";
static const char __pyx_k_CU_GRAPH_MEM_ATTR_RESERVED_MEM_C[] = "CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT";
static const char __pyx_k_CU_GRAPH_MEM_ATTR_RESERVED_MEM_H[] = "CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH";
static const char __pyx_k_CU_GRAPH_MEM_ATTR_USED_MEM_CURRE[] = "CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIG[] = "CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL";
static const char __pyx_k_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAI[] = "CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT";
static const char __pyx_k_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCE[] = "CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS";
static const char __pyx_k_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYT[] = "CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES";
static const char __pyx_k_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTE[] = "CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES";
static const char __pyx_k_CU_JIT_OPTIMIZE_UNUSED_DEVICE_VA[] = "CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES";
static const char __pyx_k_CU_JIT_OVERRIDE_DIRECTIVE_VALUES[] = "CU_JIT_OVERRIDE_DIRECTIVE_VALUES";
static const char __pyx_k_CU_JIT_POSITION_INDEPENDENT_CODE[] = "CU_JIT_POSITION_INDEPENDENT_CODE";
static const char __pyx_k_CU_JIT_REFERENCED_VARIABLE_COUNT[] = "CU_JIT_REFERENCED_VARIABLE_COUNT";
static const char __pyx_k_CU_JIT_REFERENCED_VARIABLE_NAMES[] = "CU_JIT_REFERENCED_VARIABLE_NAMES";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER[] = "CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_COOPERA[] = "CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN[] = "CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_PRIORIT[] = "CU_KERNEL_NODE_ATTRIBUTE_PRIORITY";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC[] = "CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME[] = "CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE[] = "CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT[] = "CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL[] = "CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM[] = "CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC[] = "CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT[] = "CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY";
static const char __pyx_k_CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAUL[] = "CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAULT";
static const char __pyx_k_CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE[] = "CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE";
static const char __pyx_k_CU_LAUNCH_PARAM_BUFFER_POINTER_A[] = "CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT";
static const char __pyx_k_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_I[] = "CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT";
static const char __pyx_k_CU_LIBRARY_HOST_UNIVERSAL_FUNCTI[] = "CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE";
static const char __pyx_k_CU_LIMIT_DEV_RUNTIME_PENDING_LAU[] = "CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT";
static const char __pyx_k_CU_LIMIT_MAX_L2_FETCH_GRANULARIT[] = "CU_LIMIT_MAX_L2_FETCH_GRANULARITY";
static const char __pyx_k_CU_LIMIT_PERSISTING_L2_CACHE_SIZ[] = "CU_LIMIT_PERSISTING_L2_CACHE_SIZE";
static const char __pyx_k_CU_MEMPOOL_ATTR_RELEASE_THRESHOL[] = "CU_MEMPOOL_ATTR_RELEASE_THRESHOLD";
static const char __pyx_k_CU_MEMPOOL_ATTR_RESERVED_MEM_CUR[] = "CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT";
static const char __pyx_k_CU_MEMPOOL_ATTR_RESERVED_MEM_HIG[] = "CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH";
static const char __pyx_k_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTE[] = "CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES";
static const char __pyx_k_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPO[] = "CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC";
static const char __pyx_k_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVE[] = "CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES";
static const char __pyx_k_CU_MEMPOOL_ATTR_USED_MEM_CURRENT[] = "CU_MEMPOOL_ATTR_USED_MEM_CURRENT";
static const char __pyx_k_CU_MEM_ACCESS_FLAGS_PROT_READWRI[] = "CU_MEM_ACCESS_FLAGS_PROT_READWRITE";
static const char __pyx_k_CU_MEM_ADVISE_SET_PREFERRED_LOCA[] = "CU_MEM_ADVISE_SET_PREFERRED_LOCATION";
static const char __pyx_k_CU_MEM_ADVISE_UNSET_PREFERRED_LO[] = "CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION";
static const char __pyx_k_CU_MEM_ALLOC_GRANULARITY_MINIMUM[] = "CU_MEM_ALLOC_GRANULARITY_MINIMUM";
static const char __pyx_k_CU_MEM_ALLOC_GRANULARITY_RECOMME[] = "CU_MEM_ALLOC_GRANULARITY_RECOMMENDED";
static const char __pyx_k_CU_MEM_HANDLE_TYPE_POSIX_FILE_DE[] = "CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR";
static const char __pyx_k_CU_MEM_LOCATION_TYPE_HOST_NUMA_C[] = "CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT";
static const char __pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF[] = "CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION";
static const char __pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED[] = "CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION";
static const char __pyx_k_CU_MEM_RANGE_ATTRIBUTE_READ_MOST[] = "CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY";
static const char __pyx_k_CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF[] = "CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD";
static const char __pyx_k_CU_MULTICAST_GRANULARITY_MINIMUM[] = "CU_MULTICAST_GRANULARITY_MINIMUM";
static const char __pyx_k_CU_MULTICAST_GRANULARITY_RECOMME[] = "CU_MULTICAST_GRANULARITY_RECOMMENDED";
static const char __pyx_k_CU_OCCUPANCY_DISABLE_CACHING_OVE[] = "CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG[] = "CU_POINTER_ATTRIBUTE_ACCESS_FLAGS";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_ALLOWED_HAN[] = "CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_DEVICE_ORDI[] = "CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_DEVICE_POIN[] = "CU_POINTER_ATTRIBUTE_DEVICE_POINTER";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_HOST_POINTE[] = "CU_POINTER_ATTRIBUTE_HOST_POINTER";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_IS_GPU_DIRE[] = "CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_IS_LEGACY_C[] = "CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_MAPPING_BAS[] = "CU_POINTER_ATTRIBUTE_MAPPING_BASE_ADDR";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_MAPPING_SIZ[] = "CU_POINTER_ATTRIBUTE_MAPPING_SIZE";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_MEMORY_BLOC[] = "CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_MEMORY_TYPE[] = "CU_POINTER_ATTRIBUTE_MEMORY_TYPE";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_MEMPOOL_HAN[] = "CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_RANGE_START[] = "CU_POINTER_ATTRIBUTE_RANGE_START_ADDR";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS[] = "CU_POINTER_ATTRIBUTE_SYNC_MEMOPS";
static const char __pyx_k_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY[] = "CU_RESOURCE_TYPE_MIPMAPPED_ARRAY";
static const char __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H[] = "CU_RES_VIEW_FORMAT_UNSIGNED_BC6H";
static const char __pyx_k_CU_SHAREDMEM_CARVEOUT_MAX_SHARED[] = "CU_SHAREDMEM_CARVEOUT_MAX_SHARED";
static const char __pyx_k_CU_SHARED_MEM_CONFIG_DEFAULT_BAN[] = "CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE";
static const char __pyx_k_CU_SHARED_MEM_CONFIG_FOUR_BYTE_B[] = "CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE";
static const char __pyx_k_CU_STREAM_ADD_CAPTURE_DEPENDENCI[] = "CU_STREAM_ADD_CAPTURE_DEPENDENCIES";
static const char __pyx_k_CU_STREAM_ATTRIBUTE_ACCESS_POLIC[] = "CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW";
static const char __pyx_k_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM[] = "CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP";
static const char __pyx_k_CU_STREAM_ATTRIBUTE_SYNCHRONIZAT[] = "CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY";
static const char __pyx_k_CU_STREAM_CAPTURE_MODE_THREAD_LO[] = "CU_STREAM_CAPTURE_MODE_THREAD_LOCAL";
static const char __pyx_k_CU_STREAM_CAPTURE_STATUS_INVALID[] = "CU_STREAM_CAPTURE_STATUS_INVALIDATED";
static const char __pyx_k_CU_STREAM_MEMORY_BARRIER_TYPE_GP[] = "CU_STREAM_MEMORY_BARRIER_TYPE_GPU";
static const char __pyx_k_CU_STREAM_MEMORY_BARRIER_TYPE_SY[] = "CU_STREAM_MEMORY_BARRIER_TYPE_SYS";
static const char __pyx_k_CU_STREAM_MEM_OP_FLUSH_REMOTE_WR[] = "CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES";
static const char __pyx_k_CU_STREAM_SET_CAPTURE_DEPENDENCI[] = "CU_STREAM_SET_CAPTURE_DEPENDENCIES";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_BFLOAT16[] = "CU_TENSOR_MAP_DATA_TYPE_BFLOAT16";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32[] = "CU_TENSOR_MAP_DATA_TYPE_TFLOAT32";
static const char __pyx_k_CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN[] = "CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA";
static const char __pyx_k_CU_TENSOR_MAP_FLOAT_OOB_FILL_NON[] = "CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE";
static const char __pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_12[] = "CU_TENSOR_MAP_L2_PROMOTION_L2_128B";
static const char __pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_25[] = "CU_TENSOR_MAP_L2_PROMOTION_L2_256B";
static const char __pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_64[] = "CU_TENSOR_MAP_L2_PROMOTION_L2_64B";
static const char __pyx_k_CU_TRSF_DISABLE_TRILINEAR_OPTIMI[] = "CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION";
static const char __pyx_k_CU_USER_OBJECT_NO_DESTRUCTOR_SYN[] = "CU_USER_OBJECT_NO_DESTRUCTOR_SYNC";
static const char __pyx_k_CUaccessPolicyWindow_st___reduce[] = "CUaccessPolicyWindow_st.__reduce_cython__";
static const char __pyx_k_CUaccessPolicyWindow_st___setsta[] = "CUaccessPolicyWindow_st.__setstate_cython__";
static const char __pyx_k_CUarrayMapInfo_st___reduce_cytho[] = "CUarrayMapInfo_st.__reduce_cython__";
static const char __pyx_k_CUarrayMapInfo_st___setstate_cyt[] = "CUarrayMapInfo_st.__setstate_cython__";
static const char __pyx_k_CUasyncCallbackHandle___reduce_c[] = "CUasyncCallbackHandle.__reduce_cython__";
static const char __pyx_k_CUasyncCallbackHandle___setstate[] = "CUasyncCallbackHandle.__setstate_cython__";
static const char __pyx_k_CUasyncCallback___setstate_cytho[] = "CUasyncCallback.__setstate_cython__";
static const char __pyx_k_CUasyncNotificationInfo_st___red[] = "CUasyncNotificationInfo_st.__reduce_cython__";
static const char __pyx_k_CUasyncNotificationInfo_st___set[] = "CUasyncNotificationInfo_st.__setstate_cython__";
static const char __pyx_k_CUasyncNotificationInfo_st_getPt[] = "CUasyncNotificationInfo_st.getPtr";
static const char __pyx_k_CUdevResourceDesc___reduce_cytho[] = "CUdevResourceDesc.__reduce_cython__";
static const char __pyx_k_CUdevResourceDesc___setstate_cyt[] = "CUdevResourceDesc.__setstate_cython__";
static const char __pyx_k_CUdevResource_st___reduce_cython[] = "CUdevResource_st.__reduce_cython__";
static const char __pyx_k_CUdevResource_st___setstate_cyth[] = "CUdevResource_st.__setstate_cython__";
static const char __pyx_k_CUdevSmResource_st___reduce_cyth[] = "CUdevSmResource_st.__reduce_cython__";
static const char __pyx_k_CUdevSmResource_st___setstate_cy[] = "CUdevSmResource_st.__setstate_cython__";
static const char __pyx_k_CUdeviceptr_v2___setstate_cython[] = "CUdeviceptr_v2.__setstate_cython__";
static const char __pyx_k_CUeglStreamConnection___reduce_c[] = "CUeglStreamConnection.__reduce_cython__";
static const char __pyx_k_CUeglStreamConnection___setstate[] = "CUeglStreamConnection.__setstate_cython__";
static const char __pyx_k_CUexecAffinityParam_st___setstat[] = "CUexecAffinityParam_st.__setstate_cython__";
static const char __pyx_k_CUexecAffinitySmCount_st___reduc[] = "CUexecAffinitySmCount_st.__reduce_cython__";
static const char __pyx_k_CUexecAffinitySmCount_st___setst[] = "CUexecAffinitySmCount_st.__setstate_cython__";
static const char __pyx_k_CUexternalMemory___reduce_cython[] = "CUexternalMemory.__reduce_cython__";
static const char __pyx_k_CUexternalMemory___setstate_cyth[] = "CUexternalMemory.__setstate_cython__";
static const char __pyx_k_CUexternalSemaphore___reduce_cyt[] = "CUexternalSemaphore.__reduce_cython__";
static const char __pyx_k_CUexternalSemaphore___setstate_c[] = "CUexternalSemaphore.__setstate_cython__";
static const char __pyx_k_CUflushGPUDirectRDMAWritesOption[] = "CUflushGPUDirectRDMAWritesOptions";
static const char __pyx_k_CUflushGPUDirectRDMAWritesTarget[] = "CUflushGPUDirectRDMAWritesTarget";
static const char __pyx_k_CUgraphConditionalHandle___reduc[] = "CUgraphConditionalHandle.__reduce_cython__";
static const char __pyx_k_CUgraphConditionalHandle___setst[] = "CUgraphConditionalHandle.__setstate_cython__";
static const char __pyx_k_CUgraphDeviceNode___reduce_cytho[] = "CUgraphDeviceNode.__reduce_cython__";
static const char __pyx_k_CUgraphDeviceNode___setstate_cyt[] = "CUgraphDeviceNode.__setstate_cython__";
static const char __pyx_k_CUgraphEdgeData_st___reduce_cyth[] = "CUgraphEdgeData_st.__reduce_cython__";
static const char __pyx_k_CUgraphEdgeData_st___setstate_cy[] = "CUgraphEdgeData_st.__setstate_cython__";
static const char __pyx_k_CUgraphExecUpdateResultInfo_st_2[] = "CUgraphExecUpdateResultInfo_st.__reduce_cython__";
static const char __pyx_k_CUgraphExecUpdateResultInfo_st_3[] = "CUgraphExecUpdateResultInfo_st.__setstate_cython__";
static const char __pyx_k_CUgraphExecUpdateResultInfo_st_g[] = "CUgraphExecUpdateResultInfo_st.getPtr";
static const char __pyx_k_CUgraphNodeParams_st___reduce_cy[] = "CUgraphNodeParams_st.__reduce_cython__";
static const char __pyx_k_CUgraphicsResource___reduce_cyth[] = "CUgraphicsResource.__reduce_cython__";
static const char __pyx_k_CUgraphicsResource___setstate_cy[] = "CUgraphicsResource.__setstate_cython__";
static const char __pyx_k_CUipcEventHandle_st___reduce_cyt[] = "CUipcEventHandle_st.__reduce_cython__";
static const char __pyx_k_CUipcEventHandle_st___setstate_c[] = "CUipcEventHandle_st.__setstate_cython__";
static const char __pyx_k_CUipcMemHandle_st___reduce_cytho[] = "CUipcMemHandle_st.__reduce_cython__";
static const char __pyx_k_CUipcMemHandle_st___setstate_cyt[] = "CUipcMemHandle_st.__setstate_cython__";
static const char __pyx_k_CUlaunchAttributeValue_union___r[] = "CUlaunchAttributeValue_union.__reduce_cython__";
static const char __pyx_k_CUlaunchAttributeValue_union___s[] = "CUlaunchAttributeValue_union.__setstate_cython__";
static const char __pyx_k_CUlaunchAttributeValue_union_get[] = "CUlaunchAttributeValue_union.getPtr";
static const char __pyx_k_CUlaunchAttribute_st___reduce_cy[] = "CUlaunchAttribute_st.__reduce_cython__";
static const char __pyx_k_CUlaunchConfig_st___reduce_cytho[] = "CUlaunchConfig_st.__reduce_cython__";
static const char __pyx_k_CUlaunchConfig_st___setstate_cyt[] = "CUlaunchConfig_st.__setstate_cython__";
static const char __pyx_k_CUlaunchMemSyncDomainMap_st___re[] = "CUlaunchMemSyncDomainMap_st.__reduce_cython__";
static const char __pyx_k_CUlaunchMemSyncDomainMap_st___se[] = "CUlaunchMemSyncDomainMap_st.__setstate_cython__";
static const char __pyx_k_CUlaunchMemSyncDomainMap_st_getP[] = "CUlaunchMemSyncDomainMap_st.getPtr";
static const char __pyx_k_CUlibraryHostUniversalFunctionAn[] = "CUlibraryHostUniversalFunctionAndDataTable_st";
static const char __pyx_k_CUmemAccessDesc_st___reduce_cyth[] = "CUmemAccessDesc_st.__reduce_cython__";
static const char __pyx_k_CUmemAccessDesc_st___setstate_cy[] = "CUmemAccessDesc_st.__setstate_cython__";
static const char __pyx_k_CUmemAllocationGranularity_flags[] = "CUmemAllocationGranularity_flags";
static const char __pyx_k_CUmemAllocationProp_st___setstat[] = "CUmemAllocationProp_st.__setstate_cython__";
static const char __pyx_k_CUmemFabricHandle_st___reduce_cy[] = "CUmemFabricHandle_st.__reduce_cython__";
static const char __pyx_k_CUmemGenericAllocationHandle___r[] = "CUmemGenericAllocationHandle.__reduce_cython__";
static const char __pyx_k_CUmemGenericAllocationHandle___s[] = "CUmemGenericAllocationHandle.__setstate_cython__";
static const char __pyx_k_CUmemGenericAllocationHandle_get[] = "CUmemGenericAllocationHandle.getPtr";
static const char __pyx_k_CUmemLocation_st___reduce_cython[] = "CUmemLocation_st.__reduce_cython__";
static const char __pyx_k_CUmemLocation_st___setstate_cyth[] = "CUmemLocation_st.__setstate_cython__";
static const char __pyx_k_CUmemPoolProps_st___reduce_cytho[] = "CUmemPoolProps_st.__reduce_cython__";
static const char __pyx_k_CUmemPoolProps_st___setstate_cyt[] = "CUmemPoolProps_st.__setstate_cython__";
static const char __pyx_k_CUmemPoolPtrExportData_st___redu[] = "CUmemPoolPtrExportData_st.__reduce_cython__";
static const char __pyx_k_CUmemPoolPtrExportData_st___sets[] = "CUmemPoolPtrExportData_st.__setstate_cython__";
static const char __pyx_k_CUmemPoolPtrExportData_st_getPtr[] = "CUmemPoolPtrExportData_st.getPtr";
static const char __pyx_k_CUmipmappedArray___reduce_cython[] = "CUmipmappedArray.__reduce_cython__";
static const char __pyx_k_CUmipmappedArray___setstate_cyth[] = "CUmipmappedArray.__setstate_cython__";
static const char __pyx_k_CUmulticastObjectProp_st___reduc[] = "CUmulticastObjectProp_st.__reduce_cython__";
static const char __pyx_k_CUmulticastObjectProp_st___setst[] = "CUmulticastObjectProp_st.__setstate_cython__";
static const char __pyx_k_CUoccupancyB2DSize___reduce_cyth[] = "CUoccupancyB2DSize.__reduce_cython__";
static const char __pyx_k_CUoccupancyB2DSize___setstate_cy[] = "CUoccupancyB2DSize.__setstate_cython__";
static const char __pyx_k_CUstreamBatchMemOpParams_union_2[] = "CUstreamBatchMemOpParams_union.__reduce_cython__";
static const char __pyx_k_CUstreamBatchMemOpParams_union_3[] = "CUstreamBatchMemOpParams_union.__setstate_cython__";
static const char __pyx_k_CUstreamBatchMemOpParams_union_g[] = "CUstreamBatchMemOpParams_union.getPtr";
static const char __pyx_k_CUstreamCallback___reduce_cython[] = "CUstreamCallback.__reduce_cython__";
static const char __pyx_k_CUstreamCallback___setstate_cyth[] = "CUstreamCallback.__setstate_cython__";
static const char __pyx_k_CUstreamMemOpFlushRemoteWritesPa[] = "CUstreamMemOpFlushRemoteWritesParams_st";
static const char __pyx_k_CUstreamMemOpMemoryBarrierParams[] = "CUstreamMemOpMemoryBarrierParams_st";
static const char __pyx_k_CUstreamMemOpWriteValueParams_st[] = "CUstreamMemOpWriteValueParams_st";
static const char __pyx_k_CUstreamUpdateCaptureDependencie[] = "CUstreamUpdateCaptureDependencies_flags";
static const char __pyx_k_CUsurfObject_v1___setstate_cytho[] = "CUsurfObject_v1.__setstate_cython__";
static const char __pyx_k_CUtensorMap_st___setstate_cython[] = "CUtensorMap_st.__setstate_cython__";
static const char __pyx_k_CUtexObject_v1___setstate_cython[] = "CUtexObject_v1.__setstate_cython__";
static const char __pyx_k_Failed_to_allocate_length_x_size[] = "Failed to allocate length x size memory: ";
static const char __pyx_k_Optional_CUDA_ARRAY3D_DESCRIPTOR[] = "Optional[CUDA_ARRAY3D_DESCRIPTOR]";
static const char __pyx_k_Optional_CUDA_EXTERNAL_MEMORY_BU[] = "Optional[CUDA_EXTERNAL_MEMORY_BUFFER_DESC]";
static const char __pyx_k_Optional_CUDA_EXTERNAL_MEMORY_HA[] = "Optional[CUDA_EXTERNAL_MEMORY_HANDLE_DESC]";
static const char __pyx_k_Optional_CUDA_EXTERNAL_MEMORY_MI[] = "Optional[CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC]";
static const char __pyx_k_Optional_CUDA_EXTERNAL_SEMAPHORE[] = "Optional[CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC]";
static const char __pyx_k_Optional_CUDA_EXT_SEM_SIGNAL_NOD[] = "Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]";
static const char __pyx_k_Optional_CUDA_KERNEL_NODE_PARAMS[] = "Optional[CUDA_KERNEL_NODE_PARAMS]";
static const char __pyx_k_Optional_CUDA_MEMSET_NODE_PARAMS[] = "Optional[CUDA_MEMSET_NODE_PARAMS]";
static const char __pyx_k_Optional_CUDA_MEM_ALLOC_NODE_PAR[] = "Optional[CUDA_MEM_ALLOC_NODE_PARAMS]";
static const char __pyx_k_Optional_CUDA_RESOURCE_VIEW_DESC[] = "Optional[CUDA_RESOURCE_VIEW_DESC]";
static const char __pyx_k_Optional_List_CUDA_EXTERNAL_SEMA[] = "Optional[List[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS]]";
static const char __pyx_k_Optional_List_CUDA_LAUNCH_PARAMS[] = "Optional[List[CUDA_LAUNCH_PARAMS]]";
static const char __pyx_k_Optional_List_CUexecAffinityPara[] = "Optional[List[CUexecAffinityParam]]";
static const char __pyx_k_Optional_List_CUexternalSemaphor[] = "Optional[List[CUexternalSemaphore]]";
static const char __pyx_k_Optional_List_CUmem_range_attrib[] = "Optional[List[CUmem_range_attribute]]";
static const char __pyx_k_Optional_List_CUpointer_attribut[] = "Optional[List[CUpointer_attribute]]";
static const char __pyx_k_Optional_List_CUstreamBatchMemOp[] = "Optional[List[CUstreamBatchMemOpParams]]";
static const char __pyx_k_VdpGetProcAddress___reduce_cytho[] = "VdpGetProcAddress.__reduce_cython__";
static const char __pyx_k_VdpGetProcAddress___setstate_cyt[] = "VdpGetProcAddress.__setstate_cython__";
static const char __pyx_k_VdpOutputSurface___reduce_cython[] = "VdpOutputSurface.__reduce_cython__";
static const char __pyx_k_VdpOutputSurface___setstate_cyth[] = "VdpOutputSurface.__setstate_cython__";
static const char __pyx_k_VdpVideoSurface___setstate_cytho[] = "VdpVideoSurface.__setstate_cython__";
static const char __pyx_k_clusterSchedulingPolicyPreferenc[] = "clusterSchedulingPolicyPreference : ";
static const char __pyx_k_cuDevResourceGenerateDesc_locals[] = "cuDevResourceGenerateDesc.<locals>.genexpr";
static const char __pyx_k_cuDeviceGetTexture1DLinearMaxWid[] = "cuDeviceGetTexture1DLinearMaxWidth";
static const char __pyx_k_cuDeviceRegisterAsyncNotificatio[] = "cuDeviceRegisterAsyncNotification";
static const char __pyx_k_cuDeviceUnregisterAsyncNotificat[] = "cuDeviceUnregisterAsyncNotification";
static const char __pyx_k_cuEGLStreamConsumerConnectWithFl[] = "cuEGLStreamConsumerConnectWithFlags";
static const char __pyx_k_cuExternalMemoryGetMappedMipmapp[] = "cuExternalMemoryGetMappedMipmappedArray";
static const char __pyx_k_cuGraphAddDependencies_locals_ge[] = "cuGraphAddDependencies.<locals>.genexpr";
static const char __pyx_k_cuGraphAddDependencies_v2_locals[] = "cuGraphAddDependencies_v2.<locals>.genexpr";
static const char __pyx_k_cuGraphAddEmptyNode_locals_genex[] = "cuGraphAddEmptyNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddEventRecordNode_locals[] = "cuGraphAddEventRecordNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddEventWaitNode_locals_g[] = "cuGraphAddEventWaitNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddExternalSemaphoresSign[] = "cuGraphAddExternalSemaphoresSignalNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddExternalSemaphoresWait[] = "cuGraphAddExternalSemaphoresWaitNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddHostNode_locals_genexp[] = "cuGraphAddHostNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddKernelNode_locals_gene[] = "cuGraphAddKernelNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddMemAllocNode_locals_ge[] = "cuGraphAddMemAllocNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddMemFreeNode_locals_gen[] = "cuGraphAddMemFreeNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddMemcpyNode_locals_gene[] = "cuGraphAddMemcpyNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddMemsetNode_locals_gene[] = "cuGraphAddMemsetNode.<locals>.genexpr";
static const char __pyx_k_cuGraphAddNode_v2_locals_genexpr[] = "cuGraphAddNode_v2.<locals>.genexpr";
static const char __pyx_k_cuGraphExecBatchMemOpNodeSetPara[] = "cuGraphExecBatchMemOpNodeSetParams";
static const char __pyx_k_cuGraphExecChildGraphNodeSetPara[] = "cuGraphExecChildGraphNodeSetParams";
static const char __pyx_k_cuGraphExecEventRecordNodeSetEve[] = "cuGraphExecEventRecordNodeSetEvent";
static const char __pyx_k_cuGraphExecEventWaitNodeSetEvent[] = "cuGraphExecEventWaitNodeSetEvent";
static const char __pyx_k_cuGraphExecExternalSemaphoresSig[] = "cuGraphExecExternalSemaphoresSignalNodeSetParams";
static const char __pyx_k_cuGraphExecExternalSemaphoresWai[] = "cuGraphExecExternalSemaphoresWaitNodeSetParams";
static const char __pyx_k_cuGraphExternalSemaphoresSignalN[] = "cuGraphExternalSemaphoresSignalNodeGetParams";
static const char __pyx_k_cuGraphExternalSemaphoresWaitNod[] = "cuGraphExternalSemaphoresWaitNodeGetParams";
static const char __pyx_k_cuGraphRemoveDependencies_locals[] = "cuGraphRemoveDependencies.<locals>.genexpr";
static const char __pyx_k_cuGraphRemoveDependencies_v2_loc[] = "cuGraphRemoveDependencies_v2.<locals>.genexpr";
static const char __pyx_k_cuGraphicsResourceGetMappedEglFr[] = "cuGraphicsResourceGetMappedEglFrame";
static const char __pyx_k_cuGraphicsResourceGetMappedMipma[] = "cuGraphicsResourceGetMappedMipmappedArray";
static const char __pyx_k_cuGraphicsResourceGetMappedPoint[] = "cuGraphicsResourceGetMappedPointer";
static const char __pyx_k_cuGraphicsSubResourceGetMappedAr[] = "cuGraphicsSubResourceGetMappedArray";
static const char __pyx_k_cuGraphicsVDPAURegisterOutputSur[] = "cuGraphicsVDPAURegisterOutputSurface";
static const char __pyx_k_cuGraphicsVDPAURegisterVideoSurf[] = "cuGraphicsVDPAURegisterVideoSurface";
static const char __pyx_k_cuLaunchCooperativeKernelMultiDe[] = "cuLaunchCooperativeKernelMultiDevice.<locals>.genexpr";
static const char __pyx_k_cuLibraryLoadData_locals_genexpr[] = "cuLibraryLoadData.<locals>.genexpr";
static const char __pyx_k_cuLibraryLoadFromFile_locals_gen[] = "cuLibraryLoadFromFile.<locals>.genexpr";
static const char __pyx_k_cuMemGetAllocationPropertiesFrom[] = "cuMemGetAllocationPropertiesFromHandle";
static const char __pyx_k_cuMemMapArrayAsync_locals_genexp[] = "cuMemMapArrayAsync.<locals>.genexpr";
static const char __pyx_k_cuMemPoolExportToShareableHandle[] = "cuMemPoolExportToShareableHandle";
static const char __pyx_k_cuMemPoolImportFromShareableHand[] = "cuMemPoolImportFromShareableHandle";
static const char __pyx_k_cuMemPoolSetAccess_locals_genexp[] = "cuMemPoolSetAccess.<locals>.genexpr";
static const char __pyx_k_cuMemRangeGetAttributes_locals_g[] = "cuMemRangeGetAttributes.<locals>.genexpr";
static const char __pyx_k_cuMipmappedArrayGetMemoryRequire[] = "cuMipmappedArrayGetMemoryRequirements";
static const char __pyx_k_cuMipmappedArrayGetSparsePropert[] = "cuMipmappedArrayGetSparseProperties";
static const char __pyx_k_cuModuleLoadDataEx_locals_genexp[] = "cuModuleLoadDataEx.<locals>.genexpr";
static const char __pyx_k_cuOccupancyAvailableDynamicSMemP[] = "cuOccupancyAvailableDynamicSMemPerBlock";
static const char __pyx_k_cuOccupancyMaxActiveBlocksPerMul[] = "cuOccupancyMaxActiveBlocksPerMultiprocessor";
static const char __pyx_k_cuOccupancyMaxPotentialBlockSize[] = "cuOccupancyMaxPotentialBlockSize";
static const char __pyx_k_cuOccupancyMaxPotentialClusterSi[] = "cuOccupancyMaxPotentialClusterSize";
static const char __pyx_k_cuPointerGetAttributes_locals_ge[] = "cuPointerGetAttributes.<locals>.genexpr";
static const char __pyx_k_cuStreamBatchMemOp_locals_genexp[] = "cuStreamBatchMemOp.<locals>.genexpr";
static const char __pyx_k_cuStreamBeginCaptureToGraph_loca[] = "cuStreamBeginCaptureToGraph.<locals>.genexpr";
static const char __pyx_k_cuStreamUpdateCaptureDependencie[] = "cuStreamUpdateCaptureDependencies.<locals>.genexpr";
static const char __pyx_k_cuTensorMapEncodeIm2col_locals_g[] = "cuTensorMapEncodeIm2col.<locals>.genexpr";
static const char __pyx_k_cuTensorMapEncodeTiled_locals_ge[] = "cuTensorMapEncodeTiled.<locals>.genexpr";
static const char __pyx_k_cuThreadExchangeStreamCaptureMod[] = "cuThreadExchangeStreamCaptureMode";
static const char __pyx_k_cuWaitExternalSemaphoresAsync_lo[] = "cuWaitExternalSemaphoresAsync.<locals>.genexpr";
static const char __pyx_k_deviceUpdatableKernelNode_ValueE[] = "deviceUpdatableKernelNode : <ValueError>";
static const char __pyx_k_launchCompletionEvent_ValueError[] = "launchCompletionEvent : <ValueError>";
static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__";
static const char __pyx_k_not_enough_values_found_during_a[] = "not enough values found during array assignment, expected 3, got";
static const char __pyx_k_programmaticStreamSerializationA[] = "programmaticStreamSerializationAllowed : ";
static const char __pyx_k_voidStarHelperlibraryOptionValue[] = "voidStarHelperlibraryOptionValues";
static const char __pyx_k_win32SecurityAttributes_ValueErr[] = "win32SecurityAttributes : <ValueError>";
static const char __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_2[] = "CUDA_ARRAY_SPARSE_PROPERTIES_st.getPtr";
static const char __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_3[] = "CUDA_ARRAY_SPARSE_PROPERTIES_st.__reduce_cython__";
static const char __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_4[] = "CUDA_ARRAY_SPARSE_PROPERTIES_st.__setstate_cython__";
static const char __pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_2[] = "CUDA_CHILD_GRAPH_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_3[] = "CUDA_CHILD_GRAPH_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_4[] = "CUDA_CHILD_GRAPH_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_2[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_3[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_4[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_5[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_6[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_7[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_8[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_9[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.getPtr";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_COOPERATIVE_2[] = "CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_2[] = "CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_3[] = "CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_4[] = "CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_THREADS_2[] = "CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR";
static const char __pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_2[] = "CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS";
static const char __pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_3[] = "CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER";
static const char __pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_4[] = "CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES";
static const char __pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_5[] = "CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_2[] = "CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT32_2[] = "CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ";
static const char __pyx_k_CUmemGenericAllocationHandle_v1_2[] = "CUmemGenericAllocationHandle_v1";
static const char __pyx_k_CUmemGenericAllocationHandle_v1_3[] = "CUmemGenericAllocationHandle_v1.getPtr";
static const char __pyx_k_CUmemGenericAllocationHandle_v1_4[] = "CUmemGenericAllocationHandle_v1.__reduce_cython__";
static const char __pyx_k_CUmemGenericAllocationHandle_v1_5[] = "CUmemGenericAllocationHandle_v1.__setstate_cython__";
static const char __pyx_k_CUstreamMemOpWaitValueParams_st_2[] = "CUstreamMemOpWaitValueParams_st.getPtr";
static const char __pyx_k_CUstreamMemOpWaitValueParams_st_3[] = "CUstreamMemOpWaitValueParams_st.__reduce_cython__";
static const char __pyx_k_CUstreamMemOpWaitValueParams_st_4[] = "CUstreamMemOpWaitValueParams_st.__setstate_cython__";
static const char __pyx_k_cuSignalExternalSemaphoresAsync_2[] = "cuSignalExternalSemaphoresAsync";
static const char __pyx_k_Argument_attributes_is_not_insta_2[] = "Argument 'attributes' is not instance of type (expected List[ccuda.CUpointer_attribute]";
static const char __pyx_k_Argument_paramsArray_is_not_inst_2[] = "Argument 'paramsArray' is not instance of type (expected List[ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]";
static const char __pyx_k_Argument_paramsArray_is_not_inst_3[] = "Argument 'paramsArray' is not instance of type (expected List[ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]";
static const char __pyx_k_Argument_resources_is_not_instan_2[] = "Argument 'resources' is not instance of type (expected List[ccuda.CUdevResource,]";
static const char __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_2[] = "CUDA_ARRAY_MEMORY_REQUIREMENTS_st.getPtr";
static const char __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_3[] = "CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__reduce_cython__";
static const char __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_4[] = "CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__setstate_cython__";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_2[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v1";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_3[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.getPtr";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_4[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__reduce_cython__";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_5[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__setstate_cython__";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_2[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v2";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_3[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.getPtr";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_4[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__reduce_cython__";
static const char __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_5[] = "CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__setstate_cython__";
static const char __pyx_k_CUDA_COOPERATIVE_LAUNCH_MULTI_DE_2[] = "CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC";
static const char __pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_2[] = "CUDA_EVENT_RECORD_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_3[] = "CUDA_EVENT_RECORD_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_4[] = "CUDA_EVENT_RECORD_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_2[] = "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_3[] = "CUDA_EXTERNAL_MEMORY_BUFFER_DESC";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_4[] = "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.getPtr";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_5[] = "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_6[] = "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_2[] = "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_3[] = "CUDA_EXTERNAL_MEMORY_HANDLE_DESC";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_4[] = "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.getPtr";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_5[] = "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_6[] = "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_2[] = "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_3[] = "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_4[] = "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.getPtr";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_5[] = "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_6[] = "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_2[] = "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_3[] = "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_4[] = "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.getPtr";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_5[] = "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_6[] = "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_2[] = "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_3[] = "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_4[] = "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_5[] = "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_6[] = "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_2[] = "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_3[] = "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_4[] = "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_5[] = "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_6[] = "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_10[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_11[] = "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_2[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_3[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.getPtr";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_4[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__reduce_cython__";
static const char __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_5[] = "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__setstate_cython__";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_2[] = "CUDA_GRAPH_INSTANTIATE_PARAMS_st.getPtr";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_3[] = "CUDA_GRAPH_INSTANTIATE_PARAMS_st.__reduce_cython__";
static const char __pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_4[] = "CUDA_GRAPH_INSTANTIATE_PARAMS_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.getPtr";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__setstate_cython__";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.getPtr";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__reduce_cython__";
static const char __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4[] = "CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__setstate_cython__";
static const char __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_2[] = "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1";
static const char __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_3[] = "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS";
static const char __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_4[] = "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.getPtr";
static const char __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_5[] = "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__reduce_cython__";
static const char __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_6[] = "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__setstate_cython__";
static const char __pyx_k_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_2[] = "CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B_2[] = "CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_2[] = "CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_3[] = "CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA_2[] = "CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_2[] = "CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_3[] = "CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_4[] = "CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_2[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_3[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_4[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_5[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_6[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_7[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_8[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_9[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_2[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_3[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_4[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_5[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_6[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_7[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_8[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_9[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_2[] = "CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_3[] = "CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_2[] = "CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_3[] = "CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_REGISTER_2[] = "CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_2[] = "CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_3[] = "CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO_2[] = "CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM_2[] = "CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_2[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_3[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_2020";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_4[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_2020";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_5[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_6[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_709";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_7[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_8[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44_2[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44_3[] = "CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_709_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42_2[] = "CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42_3[] = "CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_709_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44_2[] = "CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44_3[] = "CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_709_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_2[] = "CU_EGL_COLOR_FORMAT_YUV420_PLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_3[] = "CU_EGL_COLOR_FORMAT_YUV420_PLANAR_2020";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_4[] = "CU_EGL_COLOR_FORMAT_YUV420_PLANAR_709";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_2[] = "CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_3[] = "CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_2020";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_4[] = "CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_709";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV422_PLANA_2[] = "CU_EGL_COLOR_FORMAT_YUV422_PLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV422_SEMIP_2[] = "CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV444_PLANA_2[] = "CU_EGL_COLOR_FORMAT_YUV444_PLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YUV444_SEMIP_2[] = "CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_2[] = "CU_EGL_COLOR_FORMAT_YVU420_PLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_3[] = "CU_EGL_COLOR_FORMAT_YVU420_PLANAR_2020";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_4[] = "CU_EGL_COLOR_FORMAT_YVU420_PLANAR_709";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_2[] = "CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_3[] = "CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_2020";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_4[] = "CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_709";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU422_PLANA_2[] = "CU_EGL_COLOR_FORMAT_YVU422_PLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU422_SEMIP_2[] = "CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR_ER";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU444_PLANA_2[] = "CU_EGL_COLOR_FORMAT_YVU444_PLANAR";
static const char __pyx_k_CU_EGL_COLOR_FORMAT_YVU444_SEMIP_2[] = "CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR_ER";
static const char __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_2[] = "CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE";
static const char __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_3[] = "CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE";
static const char __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_4[] = "CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT";
static const char __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_2[] = "CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32";
static const char __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_3[] = "CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_2[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_3[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_4[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_5[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_6[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_7[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_8[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_9[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_2[] = "CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT";
static const char __pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_3[] = "CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH";
static const char __pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_2[] = "CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER";
static const char __pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_3[] = "CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES";
static const char __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM_2[] = "CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_2[] = "CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE";
static const char __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN_2[] = "CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2[] = "CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN";
static const char __pyx_k_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2[] = "CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT";
static const char __pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_2[] = "CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_TYPE";
static const char __pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_3[] = "CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID";
static const char __pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_2[] = "CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_TYPE";
static const char __pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_3[] = "CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_ID";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_2[] = "CU_POINTER_ATTRIBUTE_ACCESS_FLAG_NONE";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_3[] = "CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READ";
static const char __pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_4[] = "CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE";
static const char __pyx_k_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM_2[] = "CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN";
static const char __pyx_k_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_2[] = "CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ";
static const char __pyx_k_CUlibraryHostUniversalFunctionAn_2[] = "CUlibraryHostUniversalFunctionAndDataTable";
static const char __pyx_k_CUlibraryHostUniversalFunctionAn_3[] = "CUlibraryHostUniversalFunctionAndDataTable_st.getPtr";
static const char __pyx_k_CUlibraryHostUniversalFunctionAn_4[] = "CUlibraryHostUniversalFunctionAndDataTable_st.__reduce_cython__";
static const char __pyx_k_CUlibraryHostUniversalFunctionAn_5[] = "CUlibraryHostUniversalFunctionAndDataTable_st.__setstate_cython__";
static const char __pyx_k_CUstreamMemOpFlushRemoteWritesPa_2[] = "CUstreamMemOpFlushRemoteWritesParams_st.getPtr";
static const char __pyx_k_CUstreamMemOpFlushRemoteWritesPa_3[] = "CUstreamMemOpFlushRemoteWritesParams_st.__reduce_cython__";
static const char __pyx_k_CUstreamMemOpFlushRemoteWritesPa_4[] = "CUstreamMemOpFlushRemoteWritesParams_st.__setstate_cython__";
static const char __pyx_k_CUstreamMemOpMemoryBarrierParams_2[] = "CUstreamMemOpMemoryBarrierParams_st.getPtr";
static const char __pyx_k_CUstreamMemOpMemoryBarrierParams_3[] = "CUstreamMemOpMemoryBarrierParams_st.__reduce_cython__";
static const char __pyx_k_CUstreamMemOpMemoryBarrierParams_4[] = "CUstreamMemOpMemoryBarrierParams_st.__setstate_cython__";
static const char __pyx_k_CUstreamMemOpWriteValueParams_st_2[] = "CUstreamMemOpWriteValueParams_st.getPtr";
static const char __pyx_k_CUstreamMemOpWriteValueParams_st_3[] = "CUstreamMemOpWriteValueParams_st.__reduce_cython__";
static const char __pyx_k_CUstreamMemOpWriteValueParams_st_4[] = "CUstreamMemOpWriteValueParams_st.__setstate_cython__";
static const char __pyx_k_Optional_List_CUDA_EXTERNAL_SEMA_2[] = "Optional[List[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS]]";
static const char __pyx_k_clusterSchedulingPolicyPreferenc_2[] = "clusterSchedulingPolicyPreference";
static const char __pyx_k_clusterSchedulingPolicyPreferenc_3[] = "clusterSchedulingPolicyPreference : <ValueError>";
static const char __pyx_k_cuGraphAddExternalSemaphoresSign_2[] = "cuGraphAddExternalSemaphoresSignalNode";
static const char __pyx_k_cuGraphAddExternalSemaphoresWait_2[] = "cuGraphAddExternalSemaphoresWaitNode";
static const char __pyx_k_cuGraphExternalSemaphoresSignalN_2[] = "cuGraphExternalSemaphoresSignalNodeSetParams";
static const char __pyx_k_cuGraphExternalSemaphoresWaitNod_2[] = "cuGraphExternalSemaphoresWaitNodeSetParams";
static const char __pyx_k_cuLaunchCooperativeKernelMultiDe_2[] = "cuLaunchCooperativeKernelMultiDevice";
static const char __pyx_k_cuOccupancyMaxActiveBlocksPerMul_2[] = "cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags";
static const char __pyx_k_cuOccupancyMaxPotentialBlockSize_2[] = "cuOccupancyMaxPotentialBlockSizeWithFlags";
static const char __pyx_k_cuStreamUpdateCaptureDependencie_2[] = "cuStreamUpdateCaptureDependencies_v2.<locals>.genexpr";
static const char __pyx_k_cuStreamUpdateCaptureDependencie_3[] = "cuStreamUpdateCaptureDependencies";
static const char __pyx_k_cuStreamUpdateCaptureDependencie_4[] = "cuStreamUpdateCaptureDependencies_v2";
static const char __pyx_k_programmaticStreamSerializationA_2[] = "programmaticStreamSerializationAllowed";
static const char __pyx_k_programmaticStreamSerializationA_3[] = "programmaticStreamSerializationAllowed : <ValueError>";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_10[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_11[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_12[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_13[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_14[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_10[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_11[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_12[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_13[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_14[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_15[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_16[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_17[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_18[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_19[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_20[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_21[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_22[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_23[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_24[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_25[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_26[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_27[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_28[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT";
static const char __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_29[] = "CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH";
static const char __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_10[] = "CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32";
/* #### Code section: decls ### */
static int __pyx_pf_4cuda_4cuda_11CUdeviceptr___cinit__(struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_11CUdeviceptr_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUdeviceptr_4__repr__(struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUdeviceptr_6__int__(struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUdeviceptr_8getPtr(struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUdeviceptr_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUdeviceptr_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_8CUdevice___cinit__(struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_self, int __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_8CUdevice_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUdevice_4__repr__(struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUdevice_6__int__(struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUdevice_8getPtr(struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUdevice_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUdevice_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_11CUtexObject___cinit__(struct __pyx_obj_4cuda_4cuda_CUtexObject *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_11CUtexObject_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUtexObject_4__repr__(struct __pyx_obj_4cuda_4cuda_CUtexObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUtexObject_6__int__(struct __pyx_obj_4cuda_4cuda_CUtexObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUtexObject_8getPtr(struct __pyx_obj_4cuda_4cuda_CUtexObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUtexObject_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUtexObject_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12CUsurfObject___cinit__(struct __pyx_obj_4cuda_4cuda_CUsurfObject *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_12CUsurfObject_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUsurfObject_4__repr__(struct __pyx_obj_4cuda_4cuda_CUsurfObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUsurfObject_6__int__(struct __pyx_obj_4cuda_4cuda_CUsurfObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUsurfObject_8getPtr(struct __pyx_obj_4cuda_4cuda_CUsurfObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUsurfObject_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUsurfObject_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *__pyx_v_self, uint64_t __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle_4__repr__(struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle_6__int__(struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle_8getPtr(struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle_4__repr__(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle_6__int__(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle_8getPtr(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_9CUcontext___cinit__(struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_9CUcontext_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUcontext_4__repr__(struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUcontext_6__index__(struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUcontext_8__int__(struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUcontext_10getPtr(struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUcontext_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUcontext_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_8CUmodule___cinit__(struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_8CUmodule_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUmodule_4__repr__(struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUmodule_6__index__(struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUmodule_8__int__(struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUmodule_10getPtr(struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUmodule_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUmodule_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_10CUfunction___cinit__(struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_10CUfunction_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10CUfunction_4__repr__(struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10CUfunction_6__index__(struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10CUfunction_8__int__(struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10CUfunction_10getPtr(struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10CUfunction_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10CUfunction_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_9CUlibrary___cinit__(struct __pyx_obj_4cuda_4cuda_CUlibrary *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_9CUlibrary_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlibrary *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUlibrary_4__repr__(struct __pyx_obj_4cuda_4cuda_CUlibrary *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUlibrary_6__index__(struct __pyx_obj_4cuda_4cuda_CUlibrary *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUlibrary_8__int__(struct __pyx_obj_4cuda_4cuda_CUlibrary *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUlibrary_10getPtr(struct __pyx_obj_4cuda_4cuda_CUlibrary *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUlibrary_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlibrary *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUlibrary_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlibrary *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_8CUkernel___cinit__(struct __pyx_obj_4cuda_4cuda_CUkernel *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_8CUkernel_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUkernel *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUkernel_4__repr__(struct __pyx_obj_4cuda_4cuda_CUkernel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUkernel_6__index__(struct __pyx_obj_4cuda_4cuda_CUkernel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUkernel_8__int__(struct __pyx_obj_4cuda_4cuda_CUkernel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUkernel_10getPtr(struct __pyx_obj_4cuda_4cuda_CUkernel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUkernel_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUkernel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUkernel_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUkernel *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_7CUarray___cinit__(struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_7CUarray_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUarray_4__repr__(struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUarray_6__index__(struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUarray_8__int__(struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUarray_10getPtr(struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUarray_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUarray_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUmipmappedArray___cinit__(struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUmipmappedArray_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUmipmappedArray_4__repr__(struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUmipmappedArray_6__index__(struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUmipmappedArray_8__int__(struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUmipmappedArray_10getPtr(struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUmipmappedArray_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUmipmappedArray_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_8CUtexref___cinit__(struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_8CUtexref_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUtexref_4__repr__(struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUtexref_6__index__(struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUtexref_8__int__(struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUtexref_10getPtr(struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUtexref_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUtexref_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_9CUsurfref___cinit__(struct __pyx_obj_4cuda_4cuda_CUsurfref *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_9CUsurfref_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfref *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUsurfref_4__repr__(struct __pyx_obj_4cuda_4cuda_CUsurfref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUsurfref_6__index__(struct __pyx_obj_4cuda_4cuda_CUsurfref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUsurfref_8__int__(struct __pyx_obj_4cuda_4cuda_CUsurfref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUsurfref_10getPtr(struct __pyx_obj_4cuda_4cuda_CUsurfref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUsurfref_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfref *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUsurfref_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfref *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_7CUevent___cinit__(struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_7CUevent_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUevent_4__repr__(struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUevent_6__index__(struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUevent_8__int__(struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUevent_10getPtr(struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUevent_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUevent_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_8CUstream___cinit__(struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_8CUstream_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUstream_4__repr__(struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUstream_6__index__(struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUstream_8__int__(struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUstream_10getPtr(struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUstream_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUstream_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_18CUgraphicsResource___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_18CUgraphicsResource_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphicsResource_4__repr__(struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphicsResource_6__index__(struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphicsResource_8__int__(struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphicsResource_10getPtr(struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphicsResource_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphicsResource_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUexternalMemory___cinit__(struct __pyx_obj_4cuda_4cuda_CUexternalMemory *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUexternalMemory_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexternalMemory *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUexternalMemory_4__repr__(struct __pyx_obj_4cuda_4cuda_CUexternalMemory *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUexternalMemory_6__index__(struct __pyx_obj_4cuda_4cuda_CUexternalMemory *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUexternalMemory_8__int__(struct __pyx_obj_4cuda_4cuda_CUexternalMemory *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUexternalMemory_10getPtr(struct __pyx_obj_4cuda_4cuda_CUexternalMemory *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUexternalMemory_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexternalMemory *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUexternalMemory_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexternalMemory *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_19CUexternalSemaphore___cinit__(struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_19CUexternalSemaphore_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_19CUexternalSemaphore_4__repr__(struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_19CUexternalSemaphore_6__index__(struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_19CUexternalSemaphore_8__int__(struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_19CUexternalSemaphore_10getPtr(struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_19CUexternalSemaphore_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_19CUexternalSemaphore_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_7CUgraph___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_7CUgraph_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUgraph_4__repr__(struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUgraph_6__index__(struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUgraph_8__int__(struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUgraph_10getPtr(struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUgraph_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_7CUgraph_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_11CUgraphNode___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_11CUgraphNode_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphNode_4__repr__(struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphNode_6__index__(struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphNode_8__int__(struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphNode_10getPtr(struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphNode_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphNode_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_11CUgraphExec___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_11CUgraphExec_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphExec_4__repr__(struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphExec_6__index__(struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphExec_8__int__(struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphExec_10getPtr(struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphExec_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphExec_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12CUmemoryPool___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_12CUmemoryPool_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUmemoryPool_4__repr__(struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUmemoryPool_6__index__(struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUmemoryPool_8__int__(struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUmemoryPool_10getPtr(struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUmemoryPool_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUmemoryPool_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12CUuserObject___cinit__(struct __pyx_obj_4cuda_4cuda_CUuserObject *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_12CUuserObject_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUuserObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUuserObject_4__repr__(struct __pyx_obj_4cuda_4cuda_CUuserObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUuserObject_6__index__(struct __pyx_obj_4cuda_4cuda_CUuserObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUuserObject_8__int__(struct __pyx_obj_4cuda_4cuda_CUuserObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUuserObject_10getPtr(struct __pyx_obj_4cuda_4cuda_CUuserObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUuserObject_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUuserObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUuserObject_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUuserObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUgraphDeviceNode___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUgraphDeviceNode_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUgraphDeviceNode_4__repr__(struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUgraphDeviceNode_6__index__(struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUgraphDeviceNode_8__int__(struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUgraphDeviceNode_10getPtr(struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUgraphDeviceNode_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUgraphDeviceNode_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle___cinit__(struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle_4__repr__(struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle_6__index__(struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle_8__int__(struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle_10getPtr(struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_11CUlinkState___cinit__(struct __pyx_obj_4cuda_4cuda_CUlinkState *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_11CUlinkState_2__init__(struct __pyx_obj_4cuda_4cuda_CUlinkState *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUlinkState_4__repr__(struct __pyx_obj_4cuda_4cuda_CUlinkState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUlinkState_6__index__(struct __pyx_obj_4cuda_4cuda_CUlinkState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUlinkState_8__int__(struct __pyx_obj_4cuda_4cuda_CUlinkState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUlinkState_10getPtr(struct __pyx_obj_4cuda_4cuda_CUlinkState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUlinkState_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlinkState *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUlinkState_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlinkState *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_10CUgreenCtx___cinit__(struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_10CUgreenCtx_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10CUgreenCtx_4__repr__(struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10CUgreenCtx_6__index__(struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10CUgreenCtx_8__int__(struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10CUgreenCtx_10getPtr(struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10CUgreenCtx_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10CUgreenCtx_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUdevResourceDesc___cinit__(struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUdevResourceDesc_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUdevResourceDesc_4__repr__(struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUdevResourceDesc_6__index__(struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUdevResourceDesc_8__int__(struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUdevResourceDesc_10getPtr(struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUdevResourceDesc_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUdevResourceDesc_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUeglStreamConnection___cinit__(struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUeglStreamConnection_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUeglStreamConnection_4__repr__(struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUeglStreamConnection_6__index__(struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUeglStreamConnection_8__int__(struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUeglStreamConnection_10getPtr(struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUeglStreamConnection_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUeglStreamConnection_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_11EGLImageKHR___cinit__(struct __pyx_obj_4cuda_4cuda_EGLImageKHR *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_11EGLImageKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLImageKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11EGLImageKHR_4__repr__(struct __pyx_obj_4cuda_4cuda_EGLImageKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11EGLImageKHR_6__index__(struct __pyx_obj_4cuda_4cuda_EGLImageKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11EGLImageKHR_8__int__(struct __pyx_obj_4cuda_4cuda_EGLImageKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11EGLImageKHR_10getPtr(struct __pyx_obj_4cuda_4cuda_EGLImageKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11EGLImageKHR_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLImageKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11EGLImageKHR_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLImageKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12EGLStreamKHR___cinit__(struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_12EGLStreamKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12EGLStreamKHR_4__repr__(struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12EGLStreamKHR_6__index__(struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12EGLStreamKHR_8__int__(struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12EGLStreamKHR_10getPtr(struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12EGLStreamKHR_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12EGLStreamKHR_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_10EGLSyncKHR___cinit__(struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_10EGLSyncKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10EGLSyncKHR_4__repr__(struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10EGLSyncKHR_6__index__(struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10EGLSyncKHR_8__int__(struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10EGLSyncKHR_10getPtr(struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10EGLSyncKHR_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10EGLSyncKHR_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_15CUasyncCallback___cinit__(struct __pyx_obj_4cuda_4cuda_CUasyncCallback *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_15CUasyncCallback_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUasyncCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_15CUasyncCallback_4__repr__(struct __pyx_obj_4cuda_4cuda_CUasyncCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_15CUasyncCallback_6__index__(struct __pyx_obj_4cuda_4cuda_CUasyncCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_15CUasyncCallback_8__int__(struct __pyx_obj_4cuda_4cuda_CUasyncCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_15CUasyncCallback_10getPtr(struct __pyx_obj_4cuda_4cuda_CUasyncCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_15CUasyncCallback_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUasyncCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_15CUasyncCallback_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUasyncCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_8CUhostFn___cinit__(struct __pyx_obj_4cuda_4cuda_CUhostFn *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_8CUhostFn_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUhostFn *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUhostFn_4__repr__(struct __pyx_obj_4cuda_4cuda_CUhostFn *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUhostFn_6__index__(struct __pyx_obj_4cuda_4cuda_CUhostFn *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUhostFn_8__int__(struct __pyx_obj_4cuda_4cuda_CUhostFn *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUhostFn_10getPtr(struct __pyx_obj_4cuda_4cuda_CUhostFn *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUhostFn_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUhostFn *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8CUhostFn_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUhostFn *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUstreamCallback___cinit__(struct __pyx_obj_4cuda_4cuda_CUstreamCallback *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUstreamCallback_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUstreamCallback_4__repr__(struct __pyx_obj_4cuda_4cuda_CUstreamCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUstreamCallback_6__index__(struct __pyx_obj_4cuda_4cuda_CUstreamCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUstreamCallback_8__int__(struct __pyx_obj_4cuda_4cuda_CUstreamCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUstreamCallback_10getPtr(struct __pyx_obj_4cuda_4cuda_CUstreamCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUstreamCallback_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamCallback *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUstreamCallback_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize___cinit__(struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize_4__repr__(struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize_6__index__(struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize_8__int__(struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize_10getPtr(struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_9CUuuid_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUuuid_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_9CUuuid_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUuuid_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_9CUuuid_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUuuid_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUuuid_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUuuid_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUuuid_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUuuid_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUuuid_st_5bytes___get__(struct __pyx_obj_4cuda_4cuda_CUuuid_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUuuid_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUuuid_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9CUuuid_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUuuid_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_4data___get__(struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_4data_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self, PyObject *__pyx_v_data); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_19CUipcEventHandle_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUipcMemHandle_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_9operation___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_9operation_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_operation); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7address___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7address_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_address); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5value___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5value_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7value64___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7value64_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_value64); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5alias___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5alias_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_alias); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_9operation___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_9operation_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_operation); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7address___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7address_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_address); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5value___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5value_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7value64___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7value64_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_value64); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5alias___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5alias_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_alias); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_9operation___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_9operation_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, PyObject *__pyx_v_operation); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_9operation___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_9operation_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, PyObject *__pyx_v_operation); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union___cinit__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_2__init__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_6getPtr(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_8__repr__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9operation___get__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9operation_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, PyObject *__pyx_v_operation); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9waitValue___get__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9waitValue_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_waitValue); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_10writeValue___get__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_10writeValue_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_writeValue); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_17flushRemoteWrites___get__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_17flushRemoteWrites_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_flushRemoteWrites); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_13memoryBarrier___get__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_13memoryBarrier_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_memoryBarrier); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_3pad___get__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_3pad_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, PyObject *__pyx_v_pad); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx___get__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count___get__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, unsigned int __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx___get__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count___get__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct0___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct0_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_12anon_struct0_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct0_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct0_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct0_15bytesOverBudget___get__(struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct0_15bytesOverBudget_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_bytesOverBudget); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct0_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct0_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union2___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union2_2__init__(struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_11anon_union2_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union2_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union2_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union2_10overBudget___get__(struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union2_10overBudget_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_overBudget); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union2_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union2_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_4info___get__(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_4info_2__set__(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_info); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12CUdevprop_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_12CUdevprop_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_18maxThreadsPerBlock___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_18maxThreadsPerBlock_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, int __pyx_v_maxThreadsPerBlock); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_13maxThreadsDim___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_13maxThreadsDim_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, PyObject *__pyx_v_maxThreadsDim); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_11maxGridSize___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_11maxGridSize_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, PyObject *__pyx_v_maxGridSize); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_17sharedMemPerBlock___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_17sharedMemPerBlock_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, int __pyx_v_sharedMemPerBlock); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_19totalConstantMemory___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_19totalConstantMemory_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, int __pyx_v_totalConstantMemory); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_9SIMDWidth___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_9SIMDWidth_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, int __pyx_v_SIMDWidth); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_8memPitch___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_8memPitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, int __pyx_v_memPitch); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_12regsPerBlock___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_12regsPerBlock_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, int __pyx_v_regsPerBlock); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_9clockRate___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_9clockRate_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, int __pyx_v_clockRate); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_12textureAlign___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_12textureAlign_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, int __pyx_v_textureAlign); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_8base_ptr___get__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_8base_ptr_2__set__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self, PyObject *__pyx_v_base_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_9num_bytes___get__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_9num_bytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self, size_t __pyx_v_num_bytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_8hitRatio___get__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_8hitRatio_2__set__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self, float __pyx_v_hitRatio); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_7hitProp___get__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_7hitProp_2__set__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self, PyObject *__pyx_v_hitProp); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_8missProp___get__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_8missProp_2__set__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self, PyObject *__pyx_v_missProp); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_4func___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_4func_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_func); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimX); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimY); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimX); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimY); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_kernelParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_5extra___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_5extra_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_extra); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_func); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_gridDimX); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_gridDimY); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_blockDimX); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_blockDimY); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_kernelParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_extra); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_kern); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, PyObject *__pyx_v_func); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_gridDimX); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_gridDimY); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_blockDimX); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_blockDimY); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, PyObject *__pyx_v_kernelParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_extra); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, PyObject *__pyx_v_kern); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_3dst___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_3dst_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_dst); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5pitch___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5pitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, size_t __pyx_v_pitch); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5value___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5value_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_elementSize); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5width___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5width_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, size_t __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_6height___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_6height_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, size_t __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_dst); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_pitch); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_elementSize); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_2fn___get__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_2fn_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_fn); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_8userData___get__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_8userData_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_userData); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_2fn___get__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_2fn_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_fn); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_8userData___get__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_8userData_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_userData); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_6handle___get__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_6handle_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, PyObject *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4type___get__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4size___get__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4size_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, unsigned int __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_11phGraph_out___get__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx___get__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_9from_port___get__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_9from_port_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self, unsigned char __pyx_v_from_port); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_7to_port___get__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_7to_port_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self, unsigned char __pyx_v_to_port); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self, unsigned char __pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream___get__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_hUploadStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out___get__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_hErrNode_out); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out___get__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_result_out); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_8default____get__(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_8default__2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self, unsigned char __pyx_v_default_); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_6remote___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_6remote_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self, unsigned char __pyx_v_remote); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct1___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct1_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_12anon_struct1_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct1_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct1_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct1_1x___get__(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct1_1x_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self, unsigned int __pyx_v_x); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct1_1y___get__(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct1_1y_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self, unsigned int __pyx_v_y); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct1_1z___get__(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct1_1z_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self, unsigned int __pyx_v_z); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct2___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct2_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_12anon_struct2_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct2_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct2_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct2_5event___get__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct2_5event_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct2_5flags___get__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct2_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self, int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct2_19triggerAtBlockStart___get__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct2_19triggerAtBlockStart_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self, int __pyx_v_triggerAtBlockStart); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct2_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct2_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct3___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct3_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_12anon_struct3_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct3_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct3_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct3_5event___get__(struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct3_5event_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct3_5flags___get__(struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct3_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self, int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct3_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct3_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct4___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct4_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_12anon_struct4_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct4_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct4_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct4_15deviceUpdatable___get__(struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct4_15deviceUpdatable_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self, int __pyx_v_deviceUpdatable); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct4_7devNode___get__(struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct4_7devNode_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self, PyObject *__pyx_v_devNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct4_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct4_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union___cinit__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_2__init__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_6getPtr(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_8__repr__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_3pad___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_3pad_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, PyObject *__pyx_v_pad); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_18accessPolicyWindow___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_18accessPolicyWindow_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow *__pyx_v_accessPolicyWindow); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_11cooperative___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_11cooperative_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, int __pyx_v_cooperative); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_10syncPolicy___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_10syncPolicy_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, PyObject *__pyx_v_syncPolicy); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_10clusterDim___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_10clusterDim_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_clusterDim); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, PyObject *__pyx_v_clusterSchedulingPolicyPreference); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, int __pyx_v_programmaticStreamSerializationAllowed); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_17programmaticEvent___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_17programmaticEvent_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_programmaticEvent); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_21launchCompletionEvent___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_21launchCompletionEvent_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_launchCompletionEvent); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_8priority___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_8priority_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, int __pyx_v_priority); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_16memSyncDomainMap___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_16memSyncDomainMap_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap *__pyx_v_memSyncDomainMap); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_13memSyncDomain___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_13memSyncDomain_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, PyObject *__pyx_v_memSyncDomain); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_deviceUpdatableKernelNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_2id___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_2id_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self, PyObject *__pyx_v_id); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_5value___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_5value_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8gridDimX___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_gridDimX); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8gridDimY___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_gridDimY); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8gridDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_9blockDimX___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_blockDimX); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_9blockDimY___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_blockDimY); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_9blockDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_7hStream___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_7hStream_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_5attrs___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_5attrs_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8numAttrs___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8numAttrs_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_numAttrs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_3val___get__(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_3val_2__set__(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self, unsigned int __pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union3___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union3_2__init__(struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_11anon_union3_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union3_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union3_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union3_7smCount___get__(struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union3_7smCount_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount *__pyx_v_smCount); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union3_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union3_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_5param___get__(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_5param_2__set__(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_param); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable___get__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable_2__set__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, PyObject *__pyx_v_functionTable); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize___get__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize_2__set__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, size_t __pyx_v_functionWindowSize); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable___get__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable_2__set__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, PyObject *__pyx_v_dataTable); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize___get__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize_2__set__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, size_t __pyx_v_dataWindowSize); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_11srcXInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_11srcXInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_srcXInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_4srcY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_4srcY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_srcY); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_13srcMemoryType___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_13srcMemoryType_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_srcMemoryType); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_7srcHost___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_7srcHost_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_srcHost); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_9srcDevice___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_9srcDevice_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_srcDevice); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8srcArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8srcArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_srcArray); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8srcPitch___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8srcPitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_srcPitch); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_11dstXInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_11dstXInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_dstXInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_4dstY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_4dstY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_dstY); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_13dstMemoryType___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_13dstMemoryType_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_dstMemoryType); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_7dstHost___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_7dstHost_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_dstHost); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_9dstDevice___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_9dstDevice_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_dstDevice); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8dstArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8dstArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_dstArray); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8dstPitch___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8dstPitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_dstPitch); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_12WidthInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_12WidthInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_WidthInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_6Height___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_6Height_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_Height); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_11srcXInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_11srcXInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcXInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4srcY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4srcY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcY); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4srcZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4srcZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcZ); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_6srcLOD___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_6srcLOD_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcLOD); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_13srcMemoryType___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_13srcMemoryType_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_srcMemoryType); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_7srcHost___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_7srcHost_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_srcHost); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9srcDevice___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9srcDevice_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_srcDevice); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8srcArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8srcArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_srcArray); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9reserved0___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9reserved0_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_reserved0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8srcPitch___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8srcPitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcPitch); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9srcHeight___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9srcHeight_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcHeight); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_11dstXInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_11dstXInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstXInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4dstY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4dstY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstY); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4dstZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4dstZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstZ); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_6dstLOD___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_6dstLOD_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstLOD); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_13dstMemoryType___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_13dstMemoryType_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_dstMemoryType); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_7dstHost___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_7dstHost_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_dstHost); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9dstDevice___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9dstDevice_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_dstDevice); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8dstArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8dstArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_dstArray); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9reserved1___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9reserved1_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_reserved1); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8dstPitch___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8dstPitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstPitch); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9dstHeight___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9dstHeight_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstHeight); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_12WidthInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_12WidthInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_WidthInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_6Height___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_6Height_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_Height); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_5Depth___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_5Depth_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_Depth); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcXInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcY); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcZ); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6srcLOD___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6srcLOD_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcLOD); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcMemoryType); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7srcHost___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7srcHost_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcHost); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcDevice___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcDevice_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcDevice); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcArray); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10srcContext___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10srcContext_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcContext); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcPitch___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcPitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcPitch); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcHeight___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcHeight_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcHeight); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstXInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstY); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstZ); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6dstLOD___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6dstLOD_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstLOD); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstMemoryType); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7dstHost___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7dstHost_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstHost); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstDevice___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstDevice_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstDevice); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstArray); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10dstContext___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10dstContext_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstContext); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstPitch___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstPitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstPitch); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstHeight___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstHeight_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstHeight); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_WidthInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6Height___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6Height_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_Height); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_5Depth___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_5Depth_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_Depth); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, int __pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_copyCtx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *__pyx_v_copyParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_5Width___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_5Width_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Width); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Height___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Height_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Height); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Format___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Format_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, PyObject *__pyx_v_Format); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, unsigned int __pyx_v_NumChannels); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Width); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Height); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Depth); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, PyObject *__pyx_v_Format); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, unsigned int __pyx_v_NumChannels); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct5___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct5_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_12anon_struct5_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct5_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct5_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct5_5width___get__(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct5_5width_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self, unsigned int __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct5_6height___get__(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct5_6height_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self, unsigned int __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct5_5depth___get__(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct5_5depth_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self, unsigned int __pyx_v_depth); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct5_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct5_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_tileExtent); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, unsigned int __pyx_v_miptailFirstLevel); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_miptailSize); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, size_t __pyx_v_alignment); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct6___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct6_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_12anon_struct6_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct6_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct6_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct6_6hArray___get__(struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct6_6hArray_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self, PyObject *__pyx_v_hArray); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct6_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct6_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct7___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct7_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_12anon_struct7_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct7_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct7_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct7_15hMipmappedArray___get__(struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct7_15hMipmappedArray_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self, PyObject *__pyx_v_hMipmappedArray); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct7_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct7_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct8___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct8_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_12anon_struct8_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct8_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct8_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct8_6devPtr___get__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct8_6devPtr_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self, PyObject *__pyx_v_devPtr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct8_6format___get__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct8_6format_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self, PyObject *__pyx_v_format); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct8_11numChannels___get__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct8_11numChannels_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self, unsigned int __pyx_v_numChannels); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct8_11sizeInBytes___get__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct8_11sizeInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self, size_t __pyx_v_sizeInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct8_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct8_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct9___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct9_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_12anon_struct9_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_6devPtr___get__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct9_6devPtr_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, PyObject *__pyx_v_devPtr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_6format___get__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct9_6format_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, PyObject *__pyx_v_format); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_11numChannels___get__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct9_11numChannels_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, unsigned int __pyx_v_numChannels); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_5width___get__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct9_5width_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, size_t __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_6height___get__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct9_6height_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, size_t __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_12pitchInBytes___get__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_struct9_12pitchInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, size_t __pyx_v_pitchInBytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct10___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct10_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_13anon_struct10_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct10_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct10_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct10_8reserved___get__(struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct10_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct10_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct10_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union4___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union4_2__init__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_11anon_union4_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_5array___get__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union4_5array_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_6mipmap___get__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union4_6mipmap_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_mipmap); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_6linear___get__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union4_6linear_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_linear); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_7pitch2D___get__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union4_7pitch2D_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_pitch2D); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_8reserved___get__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union4_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_7resType___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_7resType_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self, PyObject *__pyx_v_resType); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_3res___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_3res_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_res); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11addressMode___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11addressMode_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_addressMode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_10filterMode___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_10filterMode_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_filterMode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_13maxAnisotropy___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_13maxAnisotropy_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, unsigned int __pyx_v_maxAnisotropy); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_mipmapFilterMode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, float __pyx_v_mipmapLevelBias); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, float __pyx_v_minMipmapLevelClamp); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, float __pyx_v_maxMipmapLevelClamp); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11borderColor___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11borderColor_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_borderColor); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6format___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6format_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, PyObject *__pyx_v_format); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5width___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5width_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, size_t __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6height___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6height_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, size_t __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5depth___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5depth_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, size_t __pyx_v_depth); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, unsigned int __pyx_v_firstMipmapLevel); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, unsigned int __pyx_v_lastMipmapLevel); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, unsigned int __pyx_v_firstLayer); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, unsigned int __pyx_v_lastLayer); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_14CUtensorMap_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_14CUtensorMap_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_14CUtensorMap_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14CUtensorMap_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14CUtensorMap_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14CUtensorMap_st_6opaque___get__(struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_14CUtensorMap_st_6opaque_2__set__(struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self, PyObject *__pyx_v_opaque); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14CUtensorMap_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14CUtensorMap_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken___get__(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_p2pToken); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken___get__(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, unsigned int __pyx_v_vaSpaceToken); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8function___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8function_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_function); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimX___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimX); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimY); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimX___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimX); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimY); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_7hStream___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_7hStream_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_12kernelParams___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_12kernelParams_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_kernelParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct11___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct11_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_13anon_struct11_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct11_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct11_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct11_6handle___get__(struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct11_6handle_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self, PyObject *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct11_4name___get__(struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct11_4name_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct11_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct11_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union5___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union5_2__init__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_11anon_union5_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union5_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union5_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union5_2fd___get__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union5_2fd_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self, int __pyx_v_fd); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union5_5win32___get__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union5_5win32_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_win32); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union5_14nvSciBufObject___get__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union5_14nvSciBufObject_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self, PyObject *__pyx_v_nvSciBufObject); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union5_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union5_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_arrayDesc); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, unsigned int __pyx_v_numLevels); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct12___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct12_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_13anon_struct12_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct12_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct12_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct12_6handle___get__(struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct12_6handle_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self, PyObject *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct12_4name___get__(struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct12_4name_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct12_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct12_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union6___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union6_2__init__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_11anon_union6_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union6_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union6_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union6_2fd___get__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union6_2fd_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self, int __pyx_v_fd); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union6_5win32___get__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union6_5win32_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_win32); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union6_12nvSciSyncObj___get__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union6_12nvSciSyncObj_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self, PyObject *__pyx_v_nvSciSyncObj); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union6_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union6_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct13___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct13_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_13anon_struct13_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct13_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct13_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct13_5value___get__(struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct13_5value_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct13_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct13_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union7___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union7_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_11anon_union7_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union7_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union7_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union7_5fence___get__(struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union7_5fence_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self, PyObject *__pyx_v_fence); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union7_8reserved___get__(struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union7_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union7_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union7_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct14___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct14_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_13anon_struct14_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct14_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct14_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct14_3key___get__(struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct14_3key_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_key); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct14_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct14_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct15___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct15_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_13anon_struct15_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct15_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct15_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct15_5fence___get__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct15_5fence_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_fence); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct15_9nvSciSync___get__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct15_9nvSciSync_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_nvSciSync); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct15_10keyedMutex___get__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct15_10keyedMutex_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_keyedMutex); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct15_8reserved___get__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct15_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct15_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct15_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_params); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct16___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct16_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_13anon_struct16_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct16_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct16_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct16_5value___get__(struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct16_5value_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct16_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct16_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union8___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union8_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_11anon_union8_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union8_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union8_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union8_5fence___get__(struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union8_5fence_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self, PyObject *__pyx_v_fence); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union8_8reserved___get__(struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union8_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union8_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union8_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct17___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct17_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_13anon_struct17_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct17_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct17_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct17_3key___get__(struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct17_3key_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_key); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct17_9timeoutMs___get__(struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct17_9timeoutMs_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self, unsigned int __pyx_v_timeoutMs); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct17_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct17_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct18___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct18_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_13anon_struct18_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct18_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct18_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct18_5fence___get__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct18_5fence_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_fence); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct18_9nvSciSync___get__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct18_9nvSciSync_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_nvSciSync); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct18_10keyedMutex___get__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct18_10keyedMutex_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_keyedMutex); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct18_8reserved___get__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct18_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct18_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct18_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_params); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_numExtSems); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_numExtSems); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_numExtSems); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_numExtSems); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union9___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union9_2__init__(struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_11anon_union9_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union9_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union9_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union9_6mipmap___get__(struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union9_6mipmap_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self, PyObject *__pyx_v_mipmap); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union9_5array___get__(struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_11anon_union9_5array_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self, PyObject *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union9_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11anon_union9_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct19___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct19_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_13anon_struct19_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_5level___get__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct19_5level_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, unsigned int __pyx_v_level); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_5layer___get__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct19_5layer_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, unsigned int __pyx_v_layer); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_7offsetX___get__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct19_7offsetX_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, unsigned int __pyx_v_offsetX); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_7offsetY___get__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct19_7offsetY_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, unsigned int __pyx_v_offsetY); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_7offsetZ___get__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct19_7offsetZ_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, unsigned int __pyx_v_offsetZ); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_11extentWidth___get__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct19_11extentWidth_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, unsigned int __pyx_v_extentWidth); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_12extentHeight___get__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct19_12extentHeight_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, unsigned int __pyx_v_extentHeight); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_11extentDepth___get__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct19_11extentDepth_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, unsigned int __pyx_v_extentDepth); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct20___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct20_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_13anon_struct20_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct20_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct20_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct20_5layer___get__(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct20_5layer_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_layer); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct20_6offset___get__(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct20_6offset_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct20_4size___get__(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct20_4size_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct20_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct20_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_union10___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_union10_2__init__(struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_12anon_union10_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_union10_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_union10_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_union10_11sparseLevel___get__(struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_union10_11sparseLevel_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_sparseLevel); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_union10_7miptail___get__(struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_union10_7miptail_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_miptail); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_union10_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_union10_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_union11___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_union11_2__init__(struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_12anon_union11_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_union11_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_union11_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_union11_9memHandle___get__(struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_union11_9memHandle_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self, PyObject *__pyx_v_memHandle); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_union11_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_union11_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_12resourceType___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_12resourceType_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_resourceType); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_8resource___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_8resource_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_resource); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_15subresourceType___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_15subresourceType_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_subresourceType); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_11subresource___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_11subresource_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_subresource); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_16memOperationType___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_16memOperationType_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_memOperationType); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_13memHandleType___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_13memHandleType_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_memHandleType); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_9memHandle___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_9memHandle_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_memHandle); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_6offset___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_6offset_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_13deviceBitMask___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_13deviceBitMask_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, unsigned int __pyx_v_deviceBitMask); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUmemLocation_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUmemLocation_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_16CUmemLocation_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUmemLocation_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUmemLocation_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUmemLocation_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUmemLocation_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUmemLocation_st_2id___get__(struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUmemLocation_st_2id_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self, int __pyx_v_id); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUmemLocation_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUmemLocation_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct21___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct21_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_13anon_struct21_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct21_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct21_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct21_15compressionType___get__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct21_15compressionType_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self, unsigned char __pyx_v_compressionType); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct21_20gpuDirectRDMACapable___get__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct21_20gpuDirectRDMACapable_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self, unsigned char __pyx_v_gpuDirectRDMACapable); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct21_5usage___get__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct21_5usage_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self, unsigned short __pyx_v_usage); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct21_8reserved___get__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13anon_struct21_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct21_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct21_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_20requestedHandleTypes___get__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_20requestedHandleTypes_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self, PyObject *__pyx_v_requestedHandleTypes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_8location___get__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_8location_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUmemLocation *__pyx_v_location); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_19win32HandleMetaData___get__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_19win32HandleMetaData_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self, PyObject *__pyx_v_win32HandleMetaData); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_10allocFlags___get__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_10allocFlags_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_allocFlags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_10numDevices___get__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_10numDevices_2__set__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self, unsigned int __pyx_v_numDevices); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_4size___get__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_4size_2__set__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_11handleTypes___get__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_11handleTypes_2__set__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_handleTypes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_8location___get__(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_8location_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUmemLocation *__pyx_v_location); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self, PyObject *__pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_6result___get__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_6result_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self, PyObject *__pyx_v_result); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_9errorNode___get__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_9errorNode_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self, PyObject *__pyx_v_errorNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_13errorFromNode___get__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_13errorFromNode_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self, PyObject *__pyx_v_errorFromNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_9allocType___get__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_9allocType_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, PyObject *__pyx_v_allocType); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_11handleTypes___get__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_11handleTypes_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, PyObject *__pyx_v_handleTypes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_8location___get__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_8location_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUmemLocation *__pyx_v_location); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_23win32SecurityAttributes___get__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_23win32SecurityAttributes_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, PyObject *__pyx_v_win32SecurityAttributes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_7maxSize___get__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_7maxSize_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, size_t __pyx_v_maxSize); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self, PyObject *__pyx_v_reserved); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *__pyx_v_poolProps); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, size_t __pyx_v_accessDescCount); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, size_t __pyx_v_bytesize); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, PyObject *__pyx_v_dptr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *__pyx_v_poolProps); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_accessDescCount); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_bytesize); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_dptr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_dptr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph___get__(struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_graph); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9reserved0___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9reserved0_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, PyObject *__pyx_v_reserved0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9reserved1___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9reserved1_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, PyObject *__pyx_v_reserved1); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6kernel___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6kernel_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3 *__pyx_v_kernel); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6memcpy___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6memcpy_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS *__pyx_v_memcpy); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6memset___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6memset_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2 *__pyx_v_memset); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_4host___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_4host_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2 *__pyx_v_host); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_5graph___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_5graph_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS *__pyx_v_graph); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9eventWait___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9eventWait_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS *__pyx_v_eventWait); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_11eventRecord___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_11eventRecord_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS *__pyx_v_eventRecord); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_12extSemSignal___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_12extSemSignal_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 *__pyx_v_extSemSignal); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_10extSemWait___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_10extSemWait_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 *__pyx_v_extSemWait); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_5alloc___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_5alloc_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2 *__pyx_v_alloc); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_4free___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_4free_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS *__pyx_v_free); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_5memOp___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_5memOp_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 *__pyx_v_memOp); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_11conditional___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_11conditional_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_conditional); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9reserved2___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9reserved2_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, PY_LONG_LONG __pyx_v_reserved2); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_18CUdevSmResource_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_18CUdevSmResource_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_18CUdevSmResource_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUdevSmResource_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUdevSmResource_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUdevSmResource_st_7smCount___get__(struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_18CUdevSmResource_st_7smCount_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self, unsigned int __pyx_v_smCount); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUdevSmResource_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18CUdevSmResource_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUdevResource_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUdevResource_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_16CUdevResource_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUdevResource_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUdevResource_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUdevResource_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUdevResource_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self, PyObject *__pyx_v_type); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUdevResource_st_17_internal_padding___get__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUdevResource_st_17_internal_padding_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self, PyObject *__pyx_v__internal_padding); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUdevResource_st_2sm___get__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUdevResource_st_2sm_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUdevSmResource *__pyx_v_sm); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUdevResource_st_9_oversize___get__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_16CUdevResource_st_9_oversize_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self, PyObject *__pyx_v__oversize); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUdevResource_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16CUdevResource_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_union14___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_union14_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_12anon_union14_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_union14_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_union14_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_union14_6pArray___get__(struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_union14_6pArray_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self, PyObject *__pyx_v_pArray); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_union14_6pPitch___get__(struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_12anon_union14_6pPitch_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self, PyObject *__pyx_v_pPitch); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_union14_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12anon_union14_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_13CUeglFrame_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_5frame___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_5frame_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_frame); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_5width___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_5width_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_6height___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_6height_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_5depth___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_5depth_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_depth); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_5pitch___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_5pitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_pitch); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_10planeCount___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_10planeCount_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_planeCount); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_11numChannels___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_11numChannels_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_numChannels); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_9frameType___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_9frameType_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, PyObject *__pyx_v_frameType); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_14eglColorFormat___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_14eglColorFormat_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, PyObject *__pyx_v_eglColorFormat); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_8cuFormat___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self); /* proto */
static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_8cuFormat_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, PyObject *__pyx_v_cuFormat); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_10cuuint32_t___cinit__(struct __pyx_obj_4cuda_4cuda_cuuint32_t *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_10cuuint32_t_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_cuuint32_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10cuuint32_t_4__repr__(struct __pyx_obj_4cuda_4cuda_cuuint32_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10cuuint32_t_6__int__(struct __pyx_obj_4cuda_4cuda_cuuint32_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10cuuint32_t_8getPtr(struct __pyx_obj_4cuda_4cuda_cuuint32_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10cuuint32_t_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_cuuint32_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10cuuint32_t_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_cuuint32_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_10cuuint64_t___cinit__(struct __pyx_obj_4cuda_4cuda_cuuint64_t *__pyx_v_self, uint64_t __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_10cuuint64_t_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_cuuint64_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10cuuint64_t_4__repr__(struct __pyx_obj_4cuda_4cuda_cuuint64_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10cuuint64_t_6__int__(struct __pyx_obj_4cuda_4cuda_cuuint64_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10cuuint64_t_8getPtr(struct __pyx_obj_4cuda_4cuda_cuuint64_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10cuuint64_t_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_cuuint64_t *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10cuuint64_t_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_cuuint64_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_14CUdeviceptr_v2___cinit__(struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_14CUdeviceptr_v2_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14CUdeviceptr_v2_4__repr__(struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14CUdeviceptr_v2_6__int__(struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14CUdeviceptr_v2_8getPtr(struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14CUdeviceptr_v2_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14CUdeviceptr_v2_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_11CUdevice_v1___cinit__(struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *__pyx_v_self, int __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_11CUdevice_v1_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUdevice_v1_4__repr__(struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUdevice_v1_6__int__(struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUdevice_v1_8getPtr(struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUdevice_v1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_11CUdevice_v1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_14CUtexObject_v1___cinit__(struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_14CUtexObject_v1_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14CUtexObject_v1_4__repr__(struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14CUtexObject_v1_6__int__(struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14CUtexObject_v1_8getPtr(struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14CUtexObject_v1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14CUtexObject_v1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_15CUsurfObject_v1___cinit__(struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_15CUsurfObject_v1_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_15CUsurfObject_v1_4__repr__(struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_15CUsurfObject_v1_6__int__(struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_15CUsurfObject_v1_8getPtr(struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_15CUsurfObject_v1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_15CUsurfObject_v1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_4__repr__(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_6__int__(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_8getPtr(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_6GLenum___cinit__(struct __pyx_obj_4cuda_4cuda_GLenum *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_6GLenum_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_GLenum *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_6GLenum_4__repr__(struct __pyx_obj_4cuda_4cuda_GLenum *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_6GLenum_6__int__(struct __pyx_obj_4cuda_4cuda_GLenum *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_6GLenum_8getPtr(struct __pyx_obj_4cuda_4cuda_GLenum *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_6GLenum_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_GLenum *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_6GLenum_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_GLenum *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_6GLuint___cinit__(struct __pyx_obj_4cuda_4cuda_GLuint *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_6GLuint_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_GLuint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_6GLuint_4__repr__(struct __pyx_obj_4cuda_4cuda_GLuint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_6GLuint_6__int__(struct __pyx_obj_4cuda_4cuda_GLuint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_6GLuint_8getPtr(struct __pyx_obj_4cuda_4cuda_GLuint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_6GLuint_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_GLuint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_6GLuint_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_GLuint *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_6EGLint___cinit__(struct __pyx_obj_4cuda_4cuda_EGLint *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_6EGLint_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_6EGLint_4__repr__(struct __pyx_obj_4cuda_4cuda_EGLint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_6EGLint_6__int__(struct __pyx_obj_4cuda_4cuda_EGLint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_6EGLint_8getPtr(struct __pyx_obj_4cuda_4cuda_EGLint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_6EGLint_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_6EGLint_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLint *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_9VdpDevice___cinit__(struct __pyx_obj_4cuda_4cuda_VdpDevice *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_9VdpDevice_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpDevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9VdpDevice_4__repr__(struct __pyx_obj_4cuda_4cuda_VdpDevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9VdpDevice_6__int__(struct __pyx_obj_4cuda_4cuda_VdpDevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9VdpDevice_8getPtr(struct __pyx_obj_4cuda_4cuda_VdpDevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9VdpDevice_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpDevice *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_9VdpDevice_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpDevice *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_17VdpGetProcAddress___cinit__(struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_17VdpGetProcAddress_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17VdpGetProcAddress_4__repr__(struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17VdpGetProcAddress_6__int__(struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17VdpGetProcAddress_8getPtr(struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17VdpGetProcAddress_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17VdpGetProcAddress_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_15VdpVideoSurface___cinit__(struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_15VdpVideoSurface_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_15VdpVideoSurface_4__repr__(struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_15VdpVideoSurface_6__int__(struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_15VdpVideoSurface_8getPtr(struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_15VdpVideoSurface_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_15VdpVideoSurface_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4cuda_4cuda_16VdpOutputSurface___cinit__(struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr); /* proto */
static void __pyx_pf_4cuda_4cuda_16VdpOutputSurface_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16VdpOutputSurface_4__repr__(struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16VdpOutputSurface_6__int__(struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16VdpOutputSurface_8getPtr(struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16VdpOutputSurface_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16VdpOutputSurface_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_cuGetErrorString(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_error); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_2cuGetErrorName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_error); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_4cuInit(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_6cuDriverGetVersion(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_8cuDeviceGet(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_ordinal); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_10cuDeviceGetCount(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12cuDeviceGetName(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_length, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14cuDeviceGetUuid(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_16cuDeviceGetUuid_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18cuDeviceGetLuid(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20cuDeviceTotalMem(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22cuDeviceGetTexture1DLinearMaxWidth(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pformat, unsigned int __pyx_v_numChannels, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24cuDeviceGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_26cuDeviceGetNvSciSyncAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nvSciSyncAttrList, PyObject *__pyx_v_dev, int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28cuDeviceSetMemPool(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev, PyObject *__pyx_v_pool); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_30cuDeviceGetMemPool(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_32cuDeviceGetDefaultMemPool(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_34cuDeviceGetExecAffinitySupport(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_typename, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_36cuFlushGPUDirectRDMAWrites(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_target, PyObject *__pyx_v_scope); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_38cuDeviceGetProperties(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_40cuDeviceComputeCapability(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_42cuDevicePrimaryCtxRetain(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_44cuDevicePrimaryCtxRelease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_46cuDevicePrimaryCtxSetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_48cuDevicePrimaryCtxGetState(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_50cuDevicePrimaryCtxReset(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_52cuCtxCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14cuCtxCreate_v3_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_54cuCtxCreate_v3(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_paramsArray, int __pyx_v_numParams, unsigned int __pyx_v_flags, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_56cuCtxDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_58cuCtxPushCurrent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_60cuCtxPopCurrent(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_62cuCtxSetCurrent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_64cuCtxGetCurrent(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_66cuCtxGetDevice(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_68cuCtxGetFlags(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_70cuCtxSetFlags(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_72cuCtxGetId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_74cuCtxSynchronize(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_76cuCtxSetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit, size_t __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_78cuCtxGetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_80cuCtxGetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_82cuCtxSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_84cuCtxGetApiVersion(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_86cuCtxGetStreamPriorityRange(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_88cuCtxResetPersistingL2Cache(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_90cuCtxGetExecAffinity(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_typename); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_92cuCtxAttach(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_94cuCtxDetach(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_96cuCtxGetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_98cuCtxSetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_100cuModuleLoad(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_fname); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_102cuModuleLoadData(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18cuModuleLoadDataEx_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_104cuModuleLoadDataEx(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_4cuda_106cuModuleLoadFatBinary(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fatCubin); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_108cuModuleUnload(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_110cuModuleGetLoadingMode(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_112cuModuleGetFunction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod, char *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_114cuModuleGetFunctionCount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mod); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_116cuModuleEnumerateFunctions(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_numFunctions, PyObject *__pyx_v_mod); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_118cuModuleGetGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod, char *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_12cuLinkCreate_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_120cuLinkCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_numOptions, PyObject *__pyx_v_options, PyObject *__pyx_v_optionValues); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_13cuLinkAddData_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_122cuLinkAddData(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_4cuda_13cuLinkAddFile_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_124cuLinkAddFile(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_4cuda_126cuLinkComplete(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_128cuLinkDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_130cuModuleGetTexRef(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod, char *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_132cuModuleGetSurfRef(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod, char *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17cuLibraryLoadData_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17cuLibraryLoadData_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_134cuLibraryLoadData(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_4cuda_21cuLibraryLoadFromFile_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21cuLibraryLoadFromFile_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_136cuLibraryLoadFromFile(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_4cuda_138cuLibraryUnload(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_140cuLibraryGetKernel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library, char *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_142cuLibraryGetKernelCount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_lib); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_144cuLibraryEnumerateKernels(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_numKernels, PyObject *__pyx_v_lib); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_146cuLibraryGetModule(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_148cuKernelGetFunction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kernel); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_150cuLibraryGetGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library, char *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_152cuLibraryGetManaged(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library, char *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_154cuLibraryGetUnifiedFunction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library, char *__pyx_v_symbol); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_156cuKernelGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_kernel, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_158cuKernelSetAttribute(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_4cuda_160cuKernelSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kernel, PyObject *__pyx_v_config, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_162cuKernelGetName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_164cuKernelGetParamInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kernel, size_t __pyx_v_paramIndex); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_166cuMemGetInfo(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_168cuMemAlloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_170cuMemAllocPitch(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_4cuda_172cuMemFree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_174cuMemGetAddressRange(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_176cuMemAllocHost(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_178cuMemFreeHost(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_180cuMemHostAlloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_182cuMemHostGetDevicePointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_184cuMemHostGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_186cuMemAllocManaged(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_188cuDeviceRegisterAsyncNotification(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_callbackFunc, PyObject *__pyx_v_userData); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_190cuDeviceUnregisterAsyncNotification(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_192cuDeviceGetByPCIBusId(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_pciBusId); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_194cuDeviceGetPCIBusId(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_length, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_196cuIpcGetEventHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_198cuIpcOpenEventHandle(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUipcEventHandle *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_200cuIpcGetMemHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_202cuIpcOpenMemHandle(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUipcMemHandle *__pyx_v_handle, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_204cuIpcCloseMemHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_206cuMemHostRegister(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_4cuda_208cuMemHostUnregister(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_210cuMemcpy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_ByteCount); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_212cuMemcpyPeer(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_4cuda_214cuMemcpyHtoD(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_srcHost, size_t __pyx_v_ByteCount); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_216cuMemcpyDtoH(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstHost, PyObject *__pyx_v_srcDevice, size_t __pyx_v_ByteCount); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_218cuMemcpyDtoD(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_srcDevice, size_t __pyx_v_ByteCount); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_220cuMemcpyDtoA(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_4cuda_222cuMemcpyAtoD(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_4cuda_224cuMemcpyHtoA(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_4cuda_226cuMemcpyAtoH(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_4cuda_228cuMemcpyAtoA(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_4cuda_230cuMemcpy2D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D *__pyx_v_pCopy); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_232cuMemcpy2DUnaligned(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D *__pyx_v_pCopy); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_234cuMemcpy3D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *__pyx_v_pCopy); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_236cuMemcpy3DPeer(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER *__pyx_v_pCopy); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_238cuMemcpyAsync(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_4cuda_240cuMemcpyPeerAsync(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_4cuda_242cuMemcpyHtoDAsync(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_4cuda_244cuMemcpyDtoHAsync(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_4cuda_246cuMemcpyDtoDAsync(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_4cuda_248cuMemcpyHtoAAsync(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_4cuda_250cuMemcpyAtoHAsync(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_4cuda_252cuMemcpy2DAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D *__pyx_v_pCopy, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_254cuMemcpy3DAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *__pyx_v_pCopy, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_256cuMemcpy3DPeerAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER *__pyx_v_pCopy, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_258cuMemsetD8(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_4cuda_260cuMemsetD16(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_4cuda_262cuMemsetD32(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_4cuda_264cuMemsetD2D8(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_4cuda_266cuMemsetD2D16(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_4cuda_268cuMemsetD2D32(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_4cuda_270cuMemsetD8Async(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_4cuda_272cuMemsetD16Async(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_4cuda_274cuMemsetD32Async(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_4cuda_276cuMemsetD2D8Async(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_4cuda_278cuMemsetD2D16Async(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_4cuda_280cuMemsetD2D32Async(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_4cuda_282cuArrayCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR *__pyx_v_pAllocateArray); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_284cuArrayGetDescriptor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_286cuArrayGetSparseProperties(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_288cuMipmappedArrayGetSparseProperties(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mipmap); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_290cuArrayGetMemoryRequirements(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array, PyObject *__pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_292cuMipmappedArrayGetMemoryRequirements(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mipmap, PyObject *__pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_294cuArrayGetPlane(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray, unsigned int __pyx_v_planeIdx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_296cuArrayDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_298cuArray3DCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_pAllocateArray); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_300cuArray3DGetDescriptor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_302cuMipmappedArrayCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_pMipmappedArrayDesc, unsigned int __pyx_v_numMipmapLevels); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_304cuMipmappedArrayGetLevel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hMipmappedArray, unsigned int __pyx_v_level); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_306cuMipmappedArrayDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hMipmappedArray); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_308cuMemGetHandleForAddressRange(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_4cuda_310cuMemAddressReserve(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_4cuda_312cuMemAddressFree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_314cuMemCreate(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp *__pyx_v_prop, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_316cuMemRelease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_318cuMemMap(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_4cuda_18cuMemMapArrayAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_320cuMemMapArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mapInfoList, unsigned int __pyx_v_count, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_322cuMemUnmap(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14cuMemSetAccess_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_324cuMemSetAccess(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_4cuda_326cuMemGetAccess(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUmemLocation *__pyx_v_location, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_328cuMemExportToShareableHandle(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_4cuda_330cuMemImportFromShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_osHandle, PyObject *__pyx_v_shHandleType); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_332cuMemGetAllocationGranularity(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp *__pyx_v_prop, PyObject *__pyx_v_option); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_334cuMemGetAllocationPropertiesFromHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_handle); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_336cuMemRetainAllocationHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_addr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_338cuMemFreeAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_340cuMemAllocAsync(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_342cuMemPoolTrimTo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, size_t __pyx_v_minBytesToKeep); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_344cuMemPoolSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, PyObject *__pyx_v_attr, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_346cuMemPoolGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18cuMemPoolSetAccess_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_348cuMemPoolSetAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, PyObject *__pyx_v_map, size_t __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_350cuMemPoolGetAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, struct __pyx_obj_4cuda_4cuda_CUmemLocation *__pyx_v_location); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_352cuMemPoolCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *__pyx_v_poolProps); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_354cuMemPoolDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_356cuMemAllocFromPoolAsync(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize, PyObject *__pyx_v_pool, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_358cuMemPoolExportToShareableHandle(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_4cuda_360cuMemPoolImportFromShareableHandle(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_4cuda_362cuMemPoolExportPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_364cuMemPoolImportPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData *__pyx_v_shareData); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_366cuMulticastCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp *__pyx_v_prop); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_368cuMulticastAddDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mcHandle, PyObject *__pyx_v_dev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_370cuMulticastBindMem(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_4cuda_372cuMulticastBindAddr(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_4cuda_374cuMulticastUnbind(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_4cuda_376cuMulticastGetGranularity(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp *__pyx_v_prop, PyObject *__pyx_v_option); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_378cuPointerGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attribute, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_380cuMemPrefetchAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_382cuMemPrefetchAsync_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, struct __pyx_obj_4cuda_4cuda_CUmemLocation *__pyx_v_location, unsigned int __pyx_v_flags, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_384cuMemAdvise(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, PyObject *__pyx_v_advice, PyObject *__pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_386cuMemAdvise_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, PyObject *__pyx_v_advice, struct __pyx_obj_4cuda_4cuda_CUmemLocation *__pyx_v_location); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_388cuMemRangeGetAttribute(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_4cuda_23cuMemRangeGetAttributes_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_23cuMemRangeGetAttributes_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_390cuMemRangeGetAttributes(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_4cuda_392cuPointerSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_value, PyObject *__pyx_v_attribute, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22cuPointerGetAttributes_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_394cuPointerGetAttributes(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_numAttributes, PyObject *__pyx_v_attributes, PyObject *__pyx_v_ptr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_396cuStreamCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_398cuStreamCreateWithPriority(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags, int __pyx_v_priority); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_400cuStreamGetPriority(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_402cuStreamGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_404cuStreamGetId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_406cuStreamGetCtx(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_408cuStreamWaitEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_hEvent, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_410cuStreamAddCallback(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_4cuda_412cuStreamBeginCapture(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_mode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_27cuStreamBeginCaptureToGraph_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_27cuStreamBeginCaptureToGraph_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_414cuStreamBeginCaptureToGraph(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_4cuda_416cuThreadExchangeStreamCaptureMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_418cuStreamEndCapture(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_420cuStreamIsCapturing(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_422cuStreamGetCaptureInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_424cuStreamGetCaptureInfo_v3(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_33cuStreamUpdateCaptureDependencies_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_426cuStreamUpdateCaptureDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_36cuStreamUpdateCaptureDependencies_v2_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_36cuStreamUpdateCaptureDependencies_v2_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_428cuStreamUpdateCaptureDependencies_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_dependencies, PyObject *__pyx_v_dependencyData, size_t __pyx_v_numDependencies, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_430cuStreamAttachMemAsync(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_4cuda_432cuStreamQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_434cuStreamSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_436cuStreamDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_438cuStreamCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_440cuStreamGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_442cuStreamSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_attr, struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_444cuEventCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_446cuEventRecord(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_448cuEventRecordWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent, PyObject *__pyx_v_hStream, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_450cuEventQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_452cuEventSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_454cuEventDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_456cuEventElapsedTime(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStart, PyObject *__pyx_v_hEnd); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_458cuImportExternalMemory(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC *__pyx_v_memHandleDesc); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_460cuExternalMemoryGetMappedBuffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem, struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC *__pyx_v_bufferDesc); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_462cuExternalMemoryGetMappedMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem, struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC *__pyx_v_mipmapDesc); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_464cuDestroyExternalMemory(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_466cuImportExternalSemaphore(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC *__pyx_v_semHandleDesc); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31cuSignalExternalSemaphoresAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_31cuSignalExternalSemaphoresAsync_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_468cuSignalExternalSemaphoresAsync(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_4cuda_29cuWaitExternalSemaphoresAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_29cuWaitExternalSemaphoresAsync_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_470cuWaitExternalSemaphoresAsync(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_4cuda_472cuDestroyExternalSemaphore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extSem); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_474cuStreamWaitValue32(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_4cuda_476cuStreamWaitValue64(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_4cuda_478cuStreamWriteValue32(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_4cuda_480cuStreamWriteValue64(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_4cuda_18cuStreamBatchMemOp_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_482cuStreamBatchMemOp(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_4cuda_484cuFuncGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_hfunc); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_486cuFuncSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, PyObject *__pyx_v_attrib, int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_488cuFuncSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, PyObject *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_490cuFuncGetModule(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_492cuFuncGetName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_494cuFuncGetParamInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, size_t __pyx_v_paramIndex); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_496cuFuncIsLoaded(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_function); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_498cuFuncLoad(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_function); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_500cuLaunchKernel(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_4cuda_void_ptr __pyx_v_extra); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_502cuLaunchKernelEx(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUlaunchConfig *__pyx_v_config, PyObject *__pyx_v_f, PyObject *__pyx_v_kernelParams, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_extra); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_504cuLaunchCooperativeKernel(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_4cuda_36cuLaunchCooperativeKernelMultiDevice_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_506cuLaunchCooperativeKernelMultiDevice(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_4cuda_508cuLaunchHostFunc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_fn, PyObject *__pyx_v_userData); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_510cuFuncSetBlockShape(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_4cuda_512cuFuncSetSharedSize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, unsigned int __pyx_v_numbytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_514cuParamSetSize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, unsigned int __pyx_v_numbytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_516cuParamSeti(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, int __pyx_v_offset, unsigned int __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_518cuParamSetf(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, int __pyx_v_offset, float __pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_520cuParamSetv(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_4cuda_522cuLaunch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_f); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_524cuLaunchGrid(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_4cuda_526cuLaunchGridAsync(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_4cuda_528cuParamSetTexRef(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, int __pyx_v_texunit, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_530cuFuncSetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, PyObject *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_532cuGraphCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20cuGraphAddKernelNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_534cuGraphAddKernelNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_536cuGraphKernelNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_538cuGraphKernelNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20cuGraphAddMemcpyNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_540cuGraphAddMemcpyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *__pyx_v_copyParams, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_542cuGraphMemcpyNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_544cuGraphMemcpyNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_20cuGraphAddMemsetNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_546cuGraphAddMemsetNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS *__pyx_v_memsetParams, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_548cuGraphMemsetNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_550cuGraphMemsetNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_18cuGraphAddHostNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_552cuGraphAddHostNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_554cuGraphHostNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_556cuGraphHostNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24cuGraphAddChildGraphNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_558cuGraphAddChildGraphNode(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_4cuda_560cuGraphChildGraphNodeGetGraph(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_19cuGraphAddEmptyNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_562cuGraphAddEmptyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_25cuGraphAddEventRecordNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_564cuGraphAddEventRecordNode(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_4cuda_566cuGraphEventRecordNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_568cuGraphEventRecordNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_23cuGraphAddEventWaitNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_570cuGraphAddEventWaitNode(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_4cuda_572cuGraphEventWaitNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_574cuGraphEventWaitNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_38cuGraphAddExternalSemaphoresSignalNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_576cuGraphAddExternalSemaphoresSignalNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_578cuGraphExternalSemaphoresSignalNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_580cuGraphExternalSemaphoresSignalNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_36cuGraphAddExternalSemaphoresWaitNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_582cuGraphAddExternalSemaphoresWaitNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_584cuGraphExternalSemaphoresWaitNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_586cuGraphExternalSemaphoresWaitNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_24cuGraphAddBatchMemOpNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_588cuGraphAddBatchMemOpNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_590cuGraphBatchMemOpNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_592cuGraphBatchMemOpNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_594cuGraphExecBatchMemOpNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22cuGraphAddMemAllocNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_596cuGraphAddMemAllocNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_598cuGraphMemAllocNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_21cuGraphAddMemFreeNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_600cuGraphAddMemFreeNode(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_4cuda_602cuGraphMemFreeNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_604cuDeviceGraphMemTrim(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_606cuDeviceGetGraphMemAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_608cuDeviceSetGraphMemAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_attr, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_610cuGraphClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_originalGraph); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_612cuGraphNodeFindInClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hOriginalNode, PyObject *__pyx_v_hClonedGraph); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_614cuGraphNodeGetType(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_616cuGraphGetNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numNodes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_618cuGraphGetRootNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numRootNodes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_620cuGraphGetEdges(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numEdges); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_622cuGraphGetEdges_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numEdges); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_624cuGraphNodeGetDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_626cuGraphNodeGetDependencies_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_628cuGraphNodeGetDependentNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, size_t __pyx_v_numDependentNodes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_630cuGraphNodeGetDependentNodes_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, size_t __pyx_v_numDependentNodes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22cuGraphAddDependencies_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22cuGraphAddDependencies_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_632cuGraphAddDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_25cuGraphAddDependencies_v2_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_25cuGraphAddDependencies_v2_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_25cuGraphAddDependencies_v2_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_634cuGraphAddDependencies_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, PyObject *__pyx_v_edgeData, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_25cuGraphRemoveDependencies_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_25cuGraphRemoveDependencies_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_636cuGraphRemoveDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28cuGraphRemoveDependencies_v2_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28cuGraphRemoveDependencies_v2_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_28cuGraphRemoveDependencies_v2_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_638cuGraphRemoveDependencies_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, PyObject *__pyx_v_edgeData, size_t __pyx_v_numDependencies); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_640cuGraphDestroyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_642cuGraphInstantiate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, unsigned PY_LONG_LONG __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_644cuGraphInstantiateWithParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS *__pyx_v_instantiateParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_646cuGraphExecGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_648cuGraphExecKernelNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_650cuGraphExecMemcpyNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *__pyx_v_copyParams, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_652cuGraphExecMemsetNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS *__pyx_v_memsetParams, PyObject *__pyx_v_ctx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_654cuGraphExecHostNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_656cuGraphExecChildGraphNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_childGraph); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_658cuGraphExecEventRecordNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_660cuGraphExecEventWaitNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_662cuGraphExecExternalSemaphoresSignalNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_664cuGraphExecExternalSemaphoresWaitNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_666cuGraphNodeSetEnabled(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, unsigned int __pyx_v_isEnabled); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_668cuGraphNodeGetEnabled(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_670cuGraphUpload(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_672cuGraphLaunch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_674cuGraphExecDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_676cuGraphDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_678cuGraphExecUpdate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hGraph); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_680cuGraphKernelNodeCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_682cuGraphKernelNodeGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_684cuGraphKernelNodeSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_attr, struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_686cuGraphDebugDotPrint(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, char *__pyx_v_path, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_688cuUserObjectCreate(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_4cuda_690cuUserObjectRetain(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_692cuUserObjectRelease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_694cuGraphRetainUserObject(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_4cuda_696cuGraphReleaseUserObject(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_object, unsigned int __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_14cuGraphAddNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_698cuGraphAddNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17cuGraphAddNode_v2_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_17cuGraphAddNode_v2_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_700cuGraphAddNode_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, PyObject *__pyx_v_dependencyData, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_702cuGraphNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_704cuGraphExecNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams *__pyx_v_nodeParams); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_706cuGraphConditionalHandleCreate(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_4cuda_708cuOccupancyMaxActiveBlocksPerMultiprocessor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, int __pyx_v_blockSize, size_t __pyx_v_dynamicSMemSize); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_710cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(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_4cuda_712cuOccupancyMaxPotentialBlockSize(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_4cuda_714cuOccupancyMaxPotentialBlockSizeWithFlags(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_4cuda_716cuOccupancyAvailableDynamicSMemPerBlock(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, int __pyx_v_numBlocks, int __pyx_v_blockSize); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_718cuOccupancyMaxPotentialClusterSize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, struct __pyx_obj_4cuda_4cuda_CUlaunchConfig *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_720cuOccupancyMaxActiveClusters(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, struct __pyx_obj_4cuda_4cuda_CUlaunchConfig *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_722cuTexRefSetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_hArray, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_724cuTexRefSetMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_hMipmappedArray, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_726cuTexRefSetAddress(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_dptr, size_t __pyx_v_numbytes); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_728cuTexRefSetAddress2D(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR *__pyx_v_desc, PyObject *__pyx_v_dptr, size_t __pyx_v_Pitch); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_730cuTexRefSetFormat(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_fmt, int __pyx_v_NumPackedComponents); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_732cuTexRefSetAddressMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, int __pyx_v_dim, PyObject *__pyx_v_am); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_734cuTexRefSetFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_fm); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_736cuTexRefSetMipmapFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_fm); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_738cuTexRefSetMipmapLevelBias(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, float __pyx_v_bias); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_740cuTexRefSetMipmapLevelClamp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, float __pyx_v_minMipmapLevelClamp, float __pyx_v_maxMipmapLevelClamp); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_742cuTexRefSetMaxAnisotropy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, unsigned int __pyx_v_maxAniso); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_744cuTexRefSetBorderColor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, float __pyx_v_pBorderColor); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_746cuTexRefSetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_748cuTexRefGetAddress(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_750cuTexRefGetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_752cuTexRefGetMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_754cuTexRefGetAddressMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, int __pyx_v_dim); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_756cuTexRefGetFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_758cuTexRefGetFormat(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_760cuTexRefGetMipmapFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_762cuTexRefGetMipmapLevelBias(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_764cuTexRefGetMipmapLevelClamp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_766cuTexRefGetMaxAnisotropy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_768cuTexRefGetBorderColor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_770cuTexRefGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_772cuTexRefCreate(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_774cuTexRefDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_776cuSurfRefSetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hSurfRef, PyObject *__pyx_v_hArray, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_778cuSurfRefGetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hSurfRef); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_780cuTexObjectCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC *__pyx_v_pResDesc, struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC *__pyx_v_pTexDesc, struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC *__pyx_v_pResViewDesc); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_782cuTexObjectDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_784cuTexObjectGetResourceDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_786cuTexObjectGetTextureDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_788cuTexObjectGetResourceViewDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_790cuSurfObjectCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC *__pyx_v_pResDesc); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_792cuSurfObjectDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_surfObject); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_794cuSurfObjectGetResourceDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_surfObject); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22cuTensorMapEncodeTiled_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22cuTensorMapEncodeTiled_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22cuTensorMapEncodeTiled_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_22cuTensorMapEncodeTiled_9genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_796cuTensorMapEncodeTiled(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_4cuda_23cuTensorMapEncodeIm2col_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_23cuTensorMapEncodeIm2col_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_23cuTensorMapEncodeIm2col_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_23cuTensorMapEncodeIm2col_9genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_23cuTensorMapEncodeIm2col_12genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_798cuTensorMapEncodeIm2col(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_4cuda_800cuTensorMapReplaceAddress(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUtensorMap *__pyx_v_tensorMap, PyObject *__pyx_v_globalAddress); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_802cuDeviceCanAccessPeer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev, PyObject *__pyx_v_peerDev); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_804cuCtxEnablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_peerContext, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_806cuCtxDisablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_peerContext); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_808cuDeviceGetP2PAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_srcDevice, PyObject *__pyx_v_dstDevice); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_810cuGraphicsUnregisterResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_812cuGraphicsSubResourceGetMappedArray(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_4cuda_814cuGraphicsResourceGetMappedMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_816cuGraphicsResourceGetMappedPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_818cuGraphicsResourceSetMapFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_820cuGraphicsMapResources(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_count, PyObject *__pyx_v_resources, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_822cuGraphicsUnmapResources(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_count, PyObject *__pyx_v_resources, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_824cuGetProcAddress(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_symbol, int __pyx_v_cudaVersion, PyObject *__pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_826cuCoredumpGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_828cuCoredumpGetAttributeGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_830cuCoredumpSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_832cuCoredumpSetAttributeGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_834cuGetExportTable(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUuuid *__pyx_v_pExportTableId); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_836cuGreenCtxCreate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_desc, PyObject *__pyx_v_dev, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_838cuGreenCtxDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_840cuCtxFromGreenCtx(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_842cuDeviceGetDevResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_typename); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_844cuCtxGetDevResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_typename); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_846cuGreenCtxGetDevResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_typename); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_848cuDevSmResourceSplitByCount(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_nbGroups, struct __pyx_obj_4cuda_4cuda_CUdevResource *__pyx_v_input_, unsigned int __pyx_v_useFlags, unsigned int __pyx_v_minCount); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_25cuDevResourceGenerateDesc_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_850cuDevResourceGenerateDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resources, unsigned int __pyx_v_nbResources); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_852cuGreenCtxRecordEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_hEvent); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_854cuGreenCtxWaitEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_hEvent); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_856cuStreamGetGreenCtx(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_858cuProfilerStart(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_860cuProfilerStop(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_862cuGraphicsEGLRegisterImage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_864cuEGLStreamConsumerConnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_866cuEGLStreamConsumerConnectWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_868cuEGLStreamConsumerDisconnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_870cuEGLStreamConsumerAcquireFrame(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_4cuda_872cuEGLStreamConsumerReleaseFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, PyObject *__pyx_v_pCudaResource, PyObject *__pyx_v_pStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_874cuEGLStreamProducerConnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_width, PyObject *__pyx_v_height); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_876cuEGLStreamProducerDisconnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_878cuEGLStreamProducerPresentFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, struct __pyx_obj_4cuda_4cuda_CUeglFrame *__pyx_v_eglframe, PyObject *__pyx_v_pStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_880cuEGLStreamProducerReturnFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, struct __pyx_obj_4cuda_4cuda_CUeglFrame *__pyx_v_eglframe, PyObject *__pyx_v_pStream); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_882cuGraphicsResourceGetMappedEglFrame(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_4cuda_884cuEventCreateFromEGLSync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_eglSync, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_886cuGraphicsGLRegisterBuffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_buffer, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_888cuGraphicsGLRegisterImage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image, PyObject *__pyx_v_target, unsigned int __pyx_v_Flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_890cuGLGetDevices(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_cudaDeviceCount, PyObject *__pyx_v_deviceList); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_892cuVDPAUGetDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpDevice, PyObject *__pyx_v_vdpGetProcAddress); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_894cuVDPAUCtxCreate(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_4cuda_896cuGraphicsVDPAURegisterVideoSurface(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpSurface, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_898cuGraphicsVDPAURegisterOutputSurface(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpSurface, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4cuda_4cuda_900sizeof(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_objType); /* proto */
static PyObject *__pyx_tp_new_4cuda_4cuda_CUcontext(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUmodule(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUfunction(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUlibrary(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUkernel(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUarray(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUmipmappedArray(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUtexref(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUsurfref(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUevent(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUstream(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraphicsResource(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUexternalMemory(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUexternalSemaphore(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraph(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraphNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraphExec(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemoryPool(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUuserObject(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraphDeviceNode(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUasyncCallbackHandle(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUlinkState(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUgreenCtx(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUdevResourceDesc(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUeglStreamConnection(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_EGLImageKHR(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_EGLStreamKHR(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_EGLSyncKHR(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUasyncCallback(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUhostFn(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUstreamCallback(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUoccupancyB2DSize(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUuuid_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemFabricHandle_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUipcEventHandle_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUipcMemHandle_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUstreamMemOpWaitValueParams_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUstreamMemOpWriteValueParams_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUstreamBatchMemOpParams_union(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct0(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union2(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUasyncNotificationInfo_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUdevprop_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUaccessPolicyWindow_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraphEdgeData_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUlaunchMemSyncDomainMap_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct1(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct2(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct3(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct4(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUlaunchAttributeValue_union(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUlaunchAttribute_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUlaunchConfig_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUexecAffinitySmCount_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union3(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUexecAffinityParam_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY2D_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY3D_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct5(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct6(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct7(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct8(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct9(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct10(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union4(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_RESOURCE_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_TEXTURE_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUtensorMap_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct11(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union5(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct12(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union6(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct13(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union7(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct14(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct15(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct16(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union8(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct17(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct18(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union9(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct19(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct20(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union10(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union11(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUarrayMapInfo_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemLocation_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct21(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemAllocationProp_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUmulticastObjectProp_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemAccessDesc_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraphExecUpdateResultInfo_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemPoolProps_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemPoolPtrExportData_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraphNodeParams_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUdevSmResource_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUdevResource_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union14(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUeglFrame_st(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUdeviceptr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUdevice(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUtexObject(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUsurfObject(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraphConditionalHandle(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemGenericAllocationHandle(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_cuuint32_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_cuuint64_t(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUdeviceptr_v2(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUdevice_v1(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUtexObject_v1(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUsurfObject_v1(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemGenericAllocationHandle_v1(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_GLenum(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_GLuint(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_EGLint(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_VdpDevice(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_VdpGetProcAddress(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_VdpVideoSurface(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda_VdpOutputSurface(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct__genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_1_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_2_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_3_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_4_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_5_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_6_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_7_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_8_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_9_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_10_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_11_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_12_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_13_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_14_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_15_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_16_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_17_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_18_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_19_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_20_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_21_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_22_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_23_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_24_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_25_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_26_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_27_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_28_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_29_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_30_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_31_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_32_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_33_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_34_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_35_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_36_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_37_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_38_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_39_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_40_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_41_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_42_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_43_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_44_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_45_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_46_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_47_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_48_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_49_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_50_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_51_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_52_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_53_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_54_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_55_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_56_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_57_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_58_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_59_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_60_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_61_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
/* #### Code section: late_includes ### */
/* #### Code section: module_state ### */
typedef struct {
  PyObject *__pyx_d;
  PyObject *__pyx_b;
  PyObject *__pyx_cython_runtime;
  PyObject *__pyx_empty_tuple;
  PyObject *__pyx_empty_bytes;
  PyObject *__pyx_empty_unicode;
  #ifdef __Pyx_CyFunction_USED
  PyTypeObject *__pyx_CyFunctionType;
  #endif
  #ifdef __Pyx_FusedFunction_USED
  PyTypeObject *__pyx_FusedFunctionType;
  #endif
  #ifdef __Pyx_Generator_USED
  PyTypeObject *__pyx_GeneratorType;
  #endif
  #ifdef __Pyx_IterableCoroutine_USED
  PyTypeObject *__pyx_IterableCoroutineType;
  #endif
  #ifdef __Pyx_Coroutine_USED
  PyTypeObject *__pyx_CoroutineAwaitType;
  #endif
  #ifdef __Pyx_Coroutine_USED
  PyTypeObject *__pyx_CoroutineType;
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_HelperKernelParams;
  PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr;
  PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemPool_attribute;
  PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_HelperCUmem_range_attribute;
  PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_HelperCUpointer_attribute;
  PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_HelperCUgraphMem_attribute;
  PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_HelperCUjit_option;
  PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_HelperCUlibraryOption;
  PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemAllocationHandleType;
  PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper;
  PyTypeObject *__pyx_ptype_4cuda_4_lib_5utils_HelperCUcoredumpSettings;
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  PyTypeObject *__pyx_ptype_7cpython_4type_type;
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  #endif
  #if CYTHON_USE_MODULE_STATE
  PyObject *__pyx_type_4cuda_4cuda_CUcontext;
  PyObject *__pyx_type_4cuda_4cuda_CUmodule;
  PyObject *__pyx_type_4cuda_4cuda_CUfunction;
  PyObject *__pyx_type_4cuda_4cuda_CUlibrary;
  PyObject *__pyx_type_4cuda_4cuda_CUkernel;
  PyObject *__pyx_type_4cuda_4cuda_CUarray;
  PyObject *__pyx_type_4cuda_4cuda_CUmipmappedArray;
  PyObject *__pyx_type_4cuda_4cuda_CUtexref;
  PyObject *__pyx_type_4cuda_4cuda_CUsurfref;
  PyObject *__pyx_type_4cuda_4cuda_CUevent;
  PyObject *__pyx_type_4cuda_4cuda_CUstream;
  PyObject *__pyx_type_4cuda_4cuda_CUgraphicsResource;
  PyObject *__pyx_type_4cuda_4cuda_CUexternalMemory;
  PyObject *__pyx_type_4cuda_4cuda_CUexternalSemaphore;
  PyObject *__pyx_type_4cuda_4cuda_CUgraph;
  PyObject *__pyx_type_4cuda_4cuda_CUgraphNode;
  PyObject *__pyx_type_4cuda_4cuda_CUgraphExec;
  PyObject *__pyx_type_4cuda_4cuda_CUmemoryPool;
  PyObject *__pyx_type_4cuda_4cuda_CUuserObject;
  PyObject *__pyx_type_4cuda_4cuda_CUgraphDeviceNode;
  PyObject *__pyx_type_4cuda_4cuda_CUasyncCallbackHandle;
  PyObject *__pyx_type_4cuda_4cuda_CUlinkState;
  PyObject *__pyx_type_4cuda_4cuda_CUgreenCtx;
  PyObject *__pyx_type_4cuda_4cuda_CUdevResourceDesc;
  PyObject *__pyx_type_4cuda_4cuda_CUeglStreamConnection;
  PyObject *__pyx_type_4cuda_4cuda_EGLImageKHR;
  PyObject *__pyx_type_4cuda_4cuda_EGLStreamKHR;
  PyObject *__pyx_type_4cuda_4cuda_EGLSyncKHR;
  PyObject *__pyx_type_4cuda_4cuda_CUasyncCallback;
  PyObject *__pyx_type_4cuda_4cuda_CUhostFn;
  PyObject *__pyx_type_4cuda_4cuda_CUstreamCallback;
  PyObject *__pyx_type_4cuda_4cuda_CUoccupancyB2DSize;
  PyObject *__pyx_type_4cuda_4cuda_CUuuid_st;
  PyObject *__pyx_type_4cuda_4cuda_CUmemFabricHandle_st;
  PyObject *__pyx_type_4cuda_4cuda_CUipcEventHandle_st;
  PyObject *__pyx_type_4cuda_4cuda_CUipcMemHandle_st;
  PyObject *__pyx_type_4cuda_4cuda_CUstreamMemOpWaitValueParams_st;
  PyObject *__pyx_type_4cuda_4cuda_CUstreamMemOpWriteValueParams_st;
  PyObject *__pyx_type_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st;
  PyObject *__pyx_type_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st;
  PyObject *__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_union;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct0;
  PyObject *__pyx_type_4cuda_4cuda_anon_union2;
  PyObject *__pyx_type_4cuda_4cuda_CUasyncNotificationInfo_st;
  PyObject *__pyx_type_4cuda_4cuda_CUdevprop_st;
  PyObject *__pyx_type_4cuda_4cuda_CUaccessPolicyWindow_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_4cuda_CUgraphEdgeData_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st;
  PyObject *__pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap_st;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct1;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct2;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct3;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct4;
  PyObject *__pyx_type_4cuda_4cuda_CUlaunchAttributeValue_union;
  PyObject *__pyx_type_4cuda_4cuda_CUlaunchAttribute_st;
  PyObject *__pyx_type_4cuda_4cuda_CUlaunchConfig_st;
  PyObject *__pyx_type_4cuda_4cuda_CUexecAffinitySmCount_st;
  PyObject *__pyx_type_4cuda_4cuda_anon_union3;
  PyObject *__pyx_type_4cuda_4cuda_CUexecAffinityParam_st;
  PyObject *__pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct5;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct6;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct7;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct8;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct9;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct10;
  PyObject *__pyx_type_4cuda_4cuda_anon_union4;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st;
  PyObject *__pyx_type_4cuda_4cuda_CUtensorMap_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct11;
  PyObject *__pyx_type_4cuda_4cuda_anon_union5;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct12;
  PyObject *__pyx_type_4cuda_4cuda_anon_union6;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct13;
  PyObject *__pyx_type_4cuda_4cuda_anon_union7;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct14;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct15;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct16;
  PyObject *__pyx_type_4cuda_4cuda_anon_union8;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct17;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct18;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st;
  PyObject *__pyx_type_4cuda_4cuda_anon_union9;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct19;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct20;
  PyObject *__pyx_type_4cuda_4cuda_anon_union10;
  PyObject *__pyx_type_4cuda_4cuda_anon_union11;
  PyObject *__pyx_type_4cuda_4cuda_CUarrayMapInfo_st;
  PyObject *__pyx_type_4cuda_4cuda_CUmemLocation_st;
  PyObject *__pyx_type_4cuda_4cuda_anon_struct21;
  PyObject *__pyx_type_4cuda_4cuda_CUmemAllocationProp_st;
  PyObject *__pyx_type_4cuda_4cuda_CUmulticastObjectProp_st;
  PyObject *__pyx_type_4cuda_4cuda_CUmemAccessDesc_st;
  PyObject *__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_st;
  PyObject *__pyx_type_4cuda_4cuda_CUmemPoolProps_st;
  PyObject *__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st;
  PyObject *__pyx_type_4cuda_4cuda_CUgraphNodeParams_st;
  PyObject *__pyx_type_4cuda_4cuda_CUdevSmResource_st;
  PyObject *__pyx_type_4cuda_4cuda_CUdevResource_st;
  PyObject *__pyx_type_4cuda_4cuda_anon_union14;
  PyObject *__pyx_type_4cuda_4cuda_CUeglFrame_st;
  PyObject *__pyx_type_4cuda_4cuda_CUdeviceptr;
  PyObject *__pyx_type_4cuda_4cuda_CUdevice;
  PyObject *__pyx_type_4cuda_4cuda_CUtexObject;
  PyObject *__pyx_type_4cuda_4cuda_CUsurfObject;
  PyObject *__pyx_type_4cuda_4cuda_CUgraphConditionalHandle;
  PyObject *__pyx_type_4cuda_4cuda_CUuuid;
  PyObject *__pyx_type_4cuda_4cuda_CUmemFabricHandle_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUmemFabricHandle;
  PyObject *__pyx_type_4cuda_4cuda_CUipcEventHandle_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUipcEventHandle;
  PyObject *__pyx_type_4cuda_4cuda_CUipcMemHandle_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUipcMemHandle;
  PyObject *__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2;
  PyObject *__pyx_type_4cuda_4cuda_CUasyncNotificationInfo;
  PyObject *__pyx_type_4cuda_4cuda_CUdevprop_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUdevprop;
  PyObject *__pyx_type_4cuda_4cuda_CUaccessPolicyWindow_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUaccessPolicyWindow;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2;
  PyObject *__pyx_type_4cuda_4cuda_CUgraphEdgeData;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS;
  PyObject *__pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap;
  PyObject *__pyx_type_4cuda_4cuda_CUlaunchAttributeValue;
  PyObject *__pyx_type_4cuda_4cuda_CUlaunchAttribute;
  PyObject *__pyx_type_4cuda_4cuda_CUlaunchConfig;
  PyObject *__pyx_type_4cuda_4cuda_CUkernelNodeAttrValue_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUkernelNodeAttrValue;
  PyObject *__pyx_type_4cuda_4cuda_CUstreamAttrValue_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUstreamAttrValue;
  PyObject *__pyx_type_4cuda_4cuda_CUexecAffinitySmCount_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUexecAffinitySmCount;
  PyObject *__pyx_type_4cuda_4cuda_CUexecAffinityParam_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUexecAffinityParam;
  PyObject *__pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_v2;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_v2;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC;
  PyObject *__pyx_type_4cuda_4cuda_CUtensorMap;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2;
  PyObject *__pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle;
  PyObject *__pyx_type_4cuda_4cuda_CUarrayMapInfo_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUarrayMapInfo;
  PyObject *__pyx_type_4cuda_4cuda_CUmemLocation_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUmemLocation;
  PyObject *__pyx_type_4cuda_4cuda_CUmemAllocationProp_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUmemAllocationProp;
  PyObject *__pyx_type_4cuda_4cuda_CUmulticastObjectProp_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUmulticastObjectProp;
  PyObject *__pyx_type_4cuda_4cuda_CUmemAccessDesc_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUmemAccessDesc;
  PyObject *__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo;
  PyObject *__pyx_type_4cuda_4cuda_CUmemPoolProps_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUmemPoolProps;
  PyObject *__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS;
  PyObject *__pyx_type_4cuda_4cuda_CUgraphNodeParams;
  PyObject *__pyx_type_4cuda_4cuda_CUdevSmResource;
  PyObject *__pyx_type_4cuda_4cuda_CUdevResource_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUdevResource;
  PyObject *__pyx_type_4cuda_4cuda_CUeglFrame_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUeglFrame;
  PyObject *__pyx_type_4cuda_4cuda_cuuint32_t;
  PyObject *__pyx_type_4cuda_4cuda_cuuint64_t;
  PyObject *__pyx_type_4cuda_4cuda_CUdeviceptr_v2;
  PyObject *__pyx_type_4cuda_4cuda_CUdevice_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUtexObject_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUsurfObject_v1;
  PyObject *__pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle_v1;
  PyObject *__pyx_type_4cuda_4cuda_GLenum;
  PyObject *__pyx_type_4cuda_4cuda_GLuint;
  PyObject *__pyx_type_4cuda_4cuda_EGLint;
  PyObject *__pyx_type_4cuda_4cuda_VdpDevice;
  PyObject *__pyx_type_4cuda_4cuda_VdpGetProcAddress;
  PyObject *__pyx_type_4cuda_4cuda_VdpVideoSurface;
  PyObject *__pyx_type_4cuda_4cuda_VdpOutputSurface;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct__genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_1_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_2_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_3_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_4_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_5_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_6_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_7_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_8_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_9_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_10_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_11_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_12_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_13_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_14_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_15_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_16_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_17_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_18_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_19_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_20_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_21_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_22_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_23_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_24_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_25_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_26_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_27_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_28_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_29_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_30_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_31_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_32_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_33_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_34_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_35_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_36_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_37_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_38_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_39_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_40_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_41_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_42_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_43_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_44_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_45_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_46_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_47_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_48_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_49_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_50_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_51_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_52_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_53_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_54_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_55_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_56_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_57_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_58_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_59_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_60_genexpr;
  PyObject *__pyx_type_4cuda_4cuda___pyx_scope_struct_61_genexpr;
  #endif
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUcontext;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmodule;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUfunction;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlibrary;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUkernel;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUarray;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmipmappedArray;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUtexref;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUsurfref;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUevent;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstream;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgraphicsResource;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUexternalMemory;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUexternalSemaphore;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgraph;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgraphNode;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgraphExec;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemoryPool;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUuserObject;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgraphDeviceNode;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlinkState;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgreenCtx;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdevResourceDesc;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUeglStreamConnection;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_EGLImageKHR;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_EGLStreamKHR;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_EGLSyncKHR;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUasyncCallback;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUhostFn;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamCallback;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUuuid_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUipcEventHandle_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUipcMemHandle_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct0;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_union2;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdevprop_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct2;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct3;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct4;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlaunchConfig_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_union3;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct5;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct6;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct7;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct8;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct9;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct10;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_union4;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUtensorMap_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct11;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_union5;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct12;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_union6;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct13;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_union7;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct14;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct15;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct16;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_union8;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct17;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct18;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_union9;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct19;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct20;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_union10;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_union11;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemLocation_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_struct21;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemPoolProps_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdevSmResource_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdevResource_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_anon_union14;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUeglFrame_st;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdeviceptr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdevice;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUtexObject;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUsurfObject;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUuuid;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemFabricHandle;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUipcEventHandle;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUipcMemHandle;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdevprop_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdevprop;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgraphEdgeData;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlaunchAttribute;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlaunchConfig;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUstreamAttrValue;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUexecAffinityParam;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUtensorMap;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUarrayMapInfo;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemLocation_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemLocation;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemAllocationProp;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemAccessDesc;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemPoolProps;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUgraphNodeParams;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdevSmResource;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdevResource_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdevResource;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUeglFrame_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUeglFrame;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_cuuint32_t;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_cuuint64_t;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdeviceptr_v2;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUdevice_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUtexObject_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUsurfObject_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_GLenum;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_GLuint;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_EGLint;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_VdpDevice;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_VdpGetProcAddress;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_VdpVideoSurface;
  PyTypeObject *__pyx_ptype_4cuda_4cuda_VdpOutputSurface;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct__genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_1_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_2_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_3_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_4_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_5_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_6_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_7_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_8_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_9_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_10_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_11_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_12_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_13_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_14_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_15_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_16_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_17_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_18_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_19_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_20_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_21_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_22_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_23_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_24_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_25_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_26_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_27_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_28_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_29_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_30_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_31_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_32_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_33_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_34_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_35_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_36_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_37_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_38_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_39_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_40_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_41_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_42_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_43_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_44_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_45_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_46_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_47_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_48_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_49_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_50_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_51_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_52_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_53_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_54_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_55_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_56_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_57_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_58_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_59_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_60_genexpr;
  PyTypeObject *__pyx_ptype_4cuda_4cuda___pyx_scope_struct_61_genexpr;
  PyObject *__pyx_kp_u_;
  PyObject *__pyx_kp_s_Access_flags_that_specify_the_l;
  PyObject *__pyx_n_s_Any;
  PyObject *__pyx_kp_u_Argument_attributes_is_not_insta;
  PyObject *__pyx_kp_u_Argument_attributes_is_not_insta_2;
  PyObject *__pyx_kp_u_Argument_boxDim_is_not_instance;
  PyObject *__pyx_kp_u_Argument_conn_is_not_instance_of;
  PyObject *__pyx_kp_u_Argument_dataSizes_is_not_instan;
  PyObject *__pyx_kp_u_Argument_dependencies_is_not_ins;
  PyObject *__pyx_kp_u_Argument_dependencyData_is_not_i;
  PyObject *__pyx_kp_u_Argument_desc_is_not_instance_of;
  PyObject *__pyx_kp_u_Argument_edgeData_is_not_instanc;
  PyObject *__pyx_kp_u_Argument_elementStrides_is_not_i;
  PyObject *__pyx_kp_u_Argument_extSemArray_is_not_inst;
  PyObject *__pyx_kp_u_Argument_from__is_not_instance_o;
  PyObject *__pyx_kp_u_Argument_globalDim_is_not_instan;
  PyObject *__pyx_kp_u_Argument_globalStrides_is_not_in;
  PyObject *__pyx_kp_u_Argument_jitOptions_is_not_insta;
  PyObject *__pyx_kp_u_Argument_launchParamsList_is_not;
  PyObject *__pyx_kp_u_Argument_libraryOptions_is_not_i;
  PyObject *__pyx_kp_u_Argument_mapInfoList_is_not_inst;
  PyObject *__pyx_kp_u_Argument_map_is_not_instance_of;
  PyObject *__pyx_kp_u_Argument_options_is_not_instance;
  PyObject *__pyx_kp_u_Argument_pCudaResource_is_not_in;
  PyObject *__pyx_kp_u_Argument_pStream_is_not_instance;
  PyObject *__pyx_kp_u_Argument_paramArray_is_not_insta;
  PyObject *__pyx_kp_u_Argument_paramsArray_is_not_inst;
  PyObject *__pyx_kp_u_Argument_paramsArray_is_not_inst_2;
  PyObject *__pyx_kp_u_Argument_paramsArray_is_not_inst_3;
  PyObject *__pyx_kp_u_Argument_pixelBoxLowerCorner_is;
  PyObject *__pyx_kp_u_Argument_pixelBoxUpperCorner_is;
  PyObject *__pyx_kp_u_Argument_resources_is_not_instan;
  PyObject *__pyx_kp_u_Argument_resources_is_not_instan_2;
  PyObject *__pyx_kp_u_Argument_to_is_not_instance_of_t;
  PyObject *__pyx_kp_u_Argument_vdpGetProcAddress_is_no;
  PyObject *__pyx_kp_s_Array_formats;
  PyObject *__pyx_kp_s_Array_indices_for_cube_faces;
  PyObject *__pyx_kp_s_Bitmasks_for_py_obj_CU_DEVICE_A;
  PyObject *__pyx_n_s_ByteCount;
  PyObject *__pyx_n_s_ByteOffset;
  PyObject *__pyx_n_s_CUDA_ARRAY3D_2DARRAY;
  PyObject *__pyx_n_s_CUDA_ARRAY3D_COLOR_ATTACHMENT;
  PyObject *__pyx_n_s_CUDA_ARRAY3D_CUBEMAP;
  PyObject *__pyx_n_s_CUDA_ARRAY3D_DEFERRED_MAPPING;
  PyObject *__pyx_n_s_CUDA_ARRAY3D_DEPTH_TEXTURE;
  PyObject *__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR;
  PyObject *__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st;
  PyObject *__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st___red;
  PyObject *__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st___set;
  PyObject *__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st_getPt;
  PyObject *__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_v2;
  PyObject *__pyx_n_s_CUDA_ARRAY3D_LAYERED;
  PyObject *__pyx_n_s_CUDA_ARRAY3D_SPARSE;
  PyObject *__pyx_n_s_CUDA_ARRAY3D_SURFACE_LDST;
  PyObject *__pyx_n_s_CUDA_ARRAY3D_TEXTURE_GATHER;
  PyObject *__pyx_n_s_CUDA_ARRAY_DESCRIPTOR;
  PyObject *__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st;
  PyObject *__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st___reduc;
  PyObject *__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st___setst;
  PyObject *__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st_getPtr;
  PyObject *__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_v2;
  PyObject *__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS;
  PyObject *__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s;
  PyObject *__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_2;
  PyObject *__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_3;
  PyObject *__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_4;
  PyObject *__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_v;
  PyObject *__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES;
  PyObject *__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st;
  PyObject *__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_2;
  PyObject *__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_3;
  PyObject *__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_4;
  PyObject *__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_v1;
  PyObject *__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS;
  PyObject *__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1;
  PyObject *__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_2;
  PyObject *__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_3;
  PyObject *__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_4;
  PyObject *__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_5;
  PyObject *__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2;
  PyObject *__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_2;
  PyObject *__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_3;
  PyObject *__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_4;
  PyObject *__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_5;
  PyObject *__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS;
  PyObject *__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st;
  PyObject *__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_2;
  PyObject *__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_3;
  PyObject *__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_4;
  PyObject *__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS;
  PyObject *__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS___r;
  PyObject *__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS___s;
  PyObject *__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS_get;
  PyObject *__pyx_n_s_CUDA_COOPERATIVE_LAUNCH_MULTI_DE;
  PyObject *__pyx_n_s_CUDA_COOPERATIVE_LAUNCH_MULTI_DE_2;
  PyObject *__pyx_kp_s_CUDA_EGL_Color_Format_The_diffe;
  PyObject *__pyx_n_s_CUDA_EGL_INFINITE_TIMEOUT;
  PyObject *__pyx_n_s_CUDA_ERROR_ALREADY_ACQUIRED;
  PyObject *__pyx_n_s_CUDA_ERROR_ALREADY_MAPPED;
  PyObject *__pyx_n_s_CUDA_ERROR_ARRAY_IS_MAPPED;
  PyObject *__pyx_n_s_CUDA_ERROR_ASSERT;
  PyObject *__pyx_n_s_CUDA_ERROR_CAPTURED_EVENT;
  PyObject *__pyx_n_s_CUDA_ERROR_CDP_NOT_SUPPORTED;
  PyObject *__pyx_n_s_CUDA_ERROR_CDP_VERSION_MISMATCH;
  PyObject *__pyx_n_s_CUDA_ERROR_COMPAT_NOT_SUPPORTED;
  PyObject *__pyx_n_s_CUDA_ERROR_CONTEXT_ALREADY_CURRE;
  PyObject *__pyx_n_s_CUDA_ERROR_CONTEXT_ALREADY_IN_US;
  PyObject *__pyx_n_s_CUDA_ERROR_CONTEXT_IS_DESTROYED;
  PyObject *__pyx_n_s_CUDA_ERROR_COOPERATIVE_LAUNCH_TO;
  PyObject *__pyx_n_s_CUDA_ERROR_DEINITIALIZED;
  PyObject *__pyx_n_s_CUDA_ERROR_DEVICE_NOT_LICENSED;
  PyObject *__pyx_n_s_CUDA_ERROR_DEVICE_UNAVAILABLE;
  PyObject *__pyx_n_s_CUDA_ERROR_ECC_UNCORRECTABLE;
  PyObject *__pyx_n_s_CUDA_ERROR_EXTERNAL_DEVICE;
  PyObject *__pyx_n_s_CUDA_ERROR_FILE_NOT_FOUND;
  PyObject *__pyx_n_s_CUDA_ERROR_FUNCTION_NOT_LOADED;
  PyObject *__pyx_n_s_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAI;
  PyObject *__pyx_n_s_CUDA_ERROR_HARDWARE_STACK_ERROR;
  PyObject *__pyx_n_s_CUDA_ERROR_HOST_MEMORY_ALREADY_R;
  PyObject *__pyx_n_s_CUDA_ERROR_HOST_MEMORY_NOT_REGIS;
  PyObject *__pyx_n_s_CUDA_ERROR_ILLEGAL_ADDRESS;
  PyObject *__pyx_n_s_CUDA_ERROR_ILLEGAL_INSTRUCTION;
  PyObject *__pyx_n_s_CUDA_ERROR_ILLEGAL_STATE;
  PyObject *__pyx_n_s_CUDA_ERROR_INVALID_ADDRESS_SPACE;
  PyObject *__pyx_n_s_CUDA_ERROR_INVALID_CLUSTER_SIZE;
  PyObject *__pyx_n_s_CUDA_ERROR_INVALID_CONTEXT;
  PyObject *__pyx_n_s_CUDA_ERROR_INVALID_DEVICE;
  PyObject *__pyx_n_s_CUDA_ERROR_INVALID_GRAPHICS_CONT;
  PyObject *__pyx_n_s_CUDA_ERROR_INVALID_HANDLE;
  PyObject *__pyx_n_s_CUDA_ERROR_INVALID_IMAGE;
  PyObject *__pyx_n_s_CUDA_ERROR_INVALID_PC;
  PyObject *__pyx_n_s_CUDA_ERROR_INVALID_PTX;
  PyObject *__pyx_n_s_CUDA_ERROR_INVALID_RESOURCE_CONF;
  PyObject *__pyx_n_s_CUDA_ERROR_INVALID_RESOURCE_TYPE;
  PyObject *__pyx_n_s_CUDA_ERROR_INVALID_SOURCE;
  PyObject *__pyx_n_s_CUDA_ERROR_INVALID_VALUE;
  PyObject *__pyx_n_s_CUDA_ERROR_JIT_COMPILATION_DISAB;
  PyObject *__pyx_n_s_CUDA_ERROR_JIT_COMPILER_NOT_FOUN;
  PyObject *__pyx_n_s_CUDA_ERROR_LAUNCH_FAILED;
  PyObject *__pyx_n_s_CUDA_ERROR_LAUNCH_INCOMPATIBLE_T;
  PyObject *__pyx_n_s_CUDA_ERROR_LAUNCH_OUT_OF_RESOURC;
  PyObject *__pyx_n_s_CUDA_ERROR_LAUNCH_TIMEOUT;
  PyObject *__pyx_n_s_CUDA_ERROR_LOSSY_QUERY;
  PyObject *__pyx_n_s_CUDA_ERROR_MAP_FAILED;
  PyObject *__pyx_n_s_CUDA_ERROR_MISALIGNED_ADDRESS;
  PyObject *__pyx_n_s_CUDA_ERROR_MPS_CLIENT_TERMINATED;
  PyObject *__pyx_n_s_CUDA_ERROR_MPS_CONNECTION_FAILED;
  PyObject *__pyx_n_s_CUDA_ERROR_MPS_MAX_CLIENTS_REACH;
  PyObject *__pyx_n_s_CUDA_ERROR_MPS_MAX_CONNECTIONS_R;
  PyObject *__pyx_n_s_CUDA_ERROR_MPS_RPC_FAILURE;
  PyObject *__pyx_n_s_CUDA_ERROR_MPS_SERVER_NOT_READY;
  PyObject *__pyx_n_s_CUDA_ERROR_NOT_FOUND;
  PyObject *__pyx_n_s_CUDA_ERROR_NOT_INITIALIZED;
  PyObject *__pyx_n_s_CUDA_ERROR_NOT_MAPPED;
  PyObject *__pyx_n_s_CUDA_ERROR_NOT_MAPPED_AS_ARRAY;
  PyObject *__pyx_n_s_CUDA_ERROR_NOT_MAPPED_AS_POINTER;
  PyObject *__pyx_n_s_CUDA_ERROR_NOT_PERMITTED;
  PyObject *__pyx_n_s_CUDA_ERROR_NOT_READY;
  PyObject *__pyx_n_s_CUDA_ERROR_NOT_SUPPORTED;
  PyObject *__pyx_n_s_CUDA_ERROR_NO_BINARY_FOR_GPU;
  PyObject *__pyx_n_s_CUDA_ERROR_NO_DEVICE;
  PyObject *__pyx_n_s_CUDA_ERROR_NVLINK_UNCORRECTABLE;
  PyObject *__pyx_n_s_CUDA_ERROR_OPERATING_SYSTEM;
  PyObject *__pyx_n_s_CUDA_ERROR_OUT_OF_MEMORY;
  PyObject *__pyx_n_s_CUDA_ERROR_PEER_ACCESS_ALREADY_E;
  PyObject *__pyx_n_s_CUDA_ERROR_PEER_ACCESS_NOT_ENABL;
  PyObject *__pyx_n_s_CUDA_ERROR_PEER_ACCESS_UNSUPPORT;
  PyObject *__pyx_n_s_CUDA_ERROR_PRIMARY_CONTEXT_ACTIV;
  PyObject *__pyx_n_s_CUDA_ERROR_PROFILER_ALREADY_STAR;
  PyObject *__pyx_n_s_CUDA_ERROR_PROFILER_ALREADY_STOP;
  PyObject *__pyx_n_s_CUDA_ERROR_PROFILER_DISABLED;
  PyObject *__pyx_n_s_CUDA_ERROR_PROFILER_NOT_INITIALI;
  PyObject *__pyx_n_s_CUDA_ERROR_SHARED_OBJECT_INIT_FA;
  PyObject *__pyx_n_s_CUDA_ERROR_SHARED_OBJECT_SYMBOL;
  PyObject *__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_IMPLIC;
  PyObject *__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_INVALI;
  PyObject *__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_ISOLAT;
  PyObject *__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_MERGE;
  PyObject *__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNJOIN;
  PyObject *__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNMATC;
  PyObject *__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNSUPP;
  PyObject *__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_WRONG;
  PyObject *__pyx_n_s_CUDA_ERROR_STUB_LIBRARY;
  PyObject *__pyx_n_s_CUDA_ERROR_SYSTEM_DRIVER_MISMATC;
  PyObject *__pyx_n_s_CUDA_ERROR_SYSTEM_NOT_READY;
  PyObject *__pyx_n_s_CUDA_ERROR_TIMEOUT;
  PyObject *__pyx_n_s_CUDA_ERROR_TOO_MANY_PEERS;
  PyObject *__pyx_n_s_CUDA_ERROR_UNKNOWN;
  PyObject *__pyx_n_s_CUDA_ERROR_UNMAP_FAILED;
  PyObject *__pyx_n_s_CUDA_ERROR_UNSUPPORTED_DEVSIDE_S;
  PyObject *__pyx_n_s_CUDA_ERROR_UNSUPPORTED_EXEC_AFFI;
  PyObject *__pyx_n_s_CUDA_ERROR_UNSUPPORTED_LIMIT;
  PyObject *__pyx_n_s_CUDA_ERROR_UNSUPPORTED_PTX_VERSI;
  PyObject *__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS;
  PyObject *__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st;
  PyObject *__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_2;
  PyObject *__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_3;
  PyObject *__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_4;
  PyObject *__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS;
  PyObject *__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st;
  PyObject *__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_2;
  PyObject *__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_3;
  PyObject *__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_g;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_2;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_3;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_4;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_5;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_6;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_DEDICATED;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_2;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_3;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_4;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_5;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_6;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_2;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_3;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_4;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_5;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_6;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_2;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_3;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_4;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_5;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_6;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_2;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_3;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_4;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_5;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_6;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_S;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_2;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_3;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_4;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_5;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_6;
  PyObject *__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKI;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_10;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_11;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_2;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_3;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_4;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_5;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_6;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_7;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_8;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_9;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_2;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_3;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_4;
  PyObject *__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_5;
  PyObject *__pyx_kp_s_CUDA_EglFrame_type_array_or_poi;
  PyObject *__pyx_n_s_CUDA_GRAPH_INSTANTIATE_ERROR;
  PyObject *__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO;
  PyObject *__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_DEVI;
  PyObject *__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_UPLO;
  PyObject *__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_USE;
  PyObject *__pyx_n_s_CUDA_GRAPH_INSTANTIATE_INVALID_S;
  PyObject *__pyx_n_s_CUDA_GRAPH_INSTANTIATE_MULTIPLE;
  PyObject *__pyx_n_s_CUDA_GRAPH_INSTANTIATE_NODE_OPER;
  PyObject *__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS;
  PyObject *__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st;
  PyObject *__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_2;
  PyObject *__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_3;
  PyObject *__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_4;
  PyObject *__pyx_n_s_CUDA_GRAPH_INSTANTIATE_SUCCESS;
  PyObject *__pyx_kp_s_CUDA_Graph_Update_error_types;
  PyObject *__pyx_n_s_CUDA_HOST_NODE_PARAMS;
  PyObject *__pyx_n_s_CUDA_HOST_NODE_PARAMS_st;
  PyObject *__pyx_n_s_CUDA_HOST_NODE_PARAMS_st___reduc;
  PyObject *__pyx_n_s_CUDA_HOST_NODE_PARAMS_st___setst;
  PyObject *__pyx_n_s_CUDA_HOST_NODE_PARAMS_st_getPtr;
  PyObject *__pyx_n_s_CUDA_HOST_NODE_PARAMS_v1;
  PyObject *__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2;
  PyObject *__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st;
  PyObject *__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st___re;
  PyObject *__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st___se;
  PyObject *__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st_getP;
  PyObject *__pyx_kp_s_CUDA_Ipc_Mem_Flags;
  PyObject *__pyx_n_s_CUDA_KERNEL_NODE_PARAMS;
  PyObject *__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st;
  PyObject *__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st___red;
  PyObject *__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st___set;
  PyObject *__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st_getPt;
  PyObject *__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v1;
  PyObject *__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2;
  PyObject *__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st;
  PyObject *__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_2;
  PyObject *__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_3;
  PyObject *__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_ge;
  PyObject *__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3;
  PyObject *__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st;
  PyObject *__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_2;
  PyObject *__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_3;
  PyObject *__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_ge;
  PyObject *__pyx_n_s_CUDA_LAUNCH_PARAMS;
  PyObject *__pyx_n_s_CUDA_LAUNCH_PARAMS_st;
  PyObject *__pyx_n_s_CUDA_LAUNCH_PARAMS_st___reduce_c;
  PyObject *__pyx_n_s_CUDA_LAUNCH_PARAMS_st___setstate;
  PyObject *__pyx_n_s_CUDA_LAUNCH_PARAMS_st_getPtr;
  PyObject *__pyx_n_s_CUDA_LAUNCH_PARAMS_v1;
  PyObject *__pyx_kp_s_CUDA_Lazy_Loading_status;
  PyObject *__pyx_n_s_CUDA_MEMCPY2D;
  PyObject *__pyx_n_s_CUDA_MEMCPY2D_st;
  PyObject *__pyx_n_s_CUDA_MEMCPY2D_st___reduce_cython;
  PyObject *__pyx_n_s_CUDA_MEMCPY2D_st___setstate_cyth;
  PyObject *__pyx_n_s_CUDA_MEMCPY2D_st_getPtr;
  PyObject *__pyx_n_s_CUDA_MEMCPY2D_v2;
  PyObject *__pyx_n_s_CUDA_MEMCPY3D;
  PyObject *__pyx_n_s_CUDA_MEMCPY3D_PEER;
  PyObject *__pyx_n_s_CUDA_MEMCPY3D_PEER_st;
  PyObject *__pyx_n_s_CUDA_MEMCPY3D_PEER_st___reduce_c;
  PyObject *__pyx_n_s_CUDA_MEMCPY3D_PEER_st___setstate;
  PyObject *__pyx_n_s_CUDA_MEMCPY3D_PEER_st_getPtr;
  PyObject *__pyx_n_s_CUDA_MEMCPY3D_PEER_v1;
  PyObject *__pyx_n_s_CUDA_MEMCPY3D_st;
  PyObject *__pyx_n_s_CUDA_MEMCPY3D_st___reduce_cython;
  PyObject *__pyx_n_s_CUDA_MEMCPY3D_st___setstate_cyth;
  PyObject *__pyx_n_s_CUDA_MEMCPY3D_st_getPtr;
  PyObject *__pyx_n_s_CUDA_MEMCPY3D_v2;
  PyObject *__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS;
  PyObject *__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st;
  PyObject *__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st___red;
  PyObject *__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st___set;
  PyObject *__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st_getPt;
  PyObject *__pyx_n_s_CUDA_MEMSET_NODE_PARAMS;
  PyObject *__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st;
  PyObject *__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st___red;
  PyObject *__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st___set;
  PyObject *__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st_getPt;
  PyObject *__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v1;
  PyObject *__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2;
  PyObject *__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st;
  PyObject *__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_2;
  PyObject *__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_3;
  PyObject *__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_ge;
  PyObject *__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS;
  PyObject *__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1;
  PyObject *__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st;
  PyObject *__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2;
  PyObject *__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3;
  PyObject *__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4;
  PyObject *__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2;
  PyObject *__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st;
  PyObject *__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2;
  PyObject *__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3;
  PyObject *__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4;
  PyObject *__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS;
  PyObject *__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st;
  PyObject *__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st___r;
  PyObject *__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st___s;
  PyObject *__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st_get;
  PyObject *__pyx_kp_s_CUDA_Mem_Attach_Flags;
  PyObject *__pyx_n_s_CUDA_NVSCISYNC_ATTR_SIGNAL;
  PyObject *__pyx_n_s_CUDA_NVSCISYNC_ATTR_WAIT;
  PyObject *__pyx_n_s_CUDA_POINTER_ATTRIBUTE_ACCESS_FL;
  PyObject *__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN;
  PyObject *__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_2;
  PyObject *__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_3;
  PyObject *__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_4;
  PyObject *__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_5;
  PyObject *__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_6;
  PyObject *__pyx_n_s_CUDA_RESOURCE_DESC;
  PyObject *__pyx_n_s_CUDA_RESOURCE_DESC_st;
  PyObject *__pyx_n_s_CUDA_RESOURCE_DESC_st___reduce_c;
  PyObject *__pyx_n_s_CUDA_RESOURCE_DESC_st___setstate;
  PyObject *__pyx_n_s_CUDA_RESOURCE_DESC_st_getPtr;
  PyObject *__pyx_n_s_CUDA_RESOURCE_DESC_v1;
  PyObject *__pyx_n_s_CUDA_RESOURCE_VIEW_DESC;
  PyObject *__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st;
  PyObject *__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st___red;
  PyObject *__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st___set;
  PyObject *__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st_getPt;
  PyObject *__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_v1;
  PyObject *__pyx_n_s_CUDA_SUCCESS;
  PyObject *__pyx_n_s_CUDA_TEXTURE_DESC;
  PyObject *__pyx_n_s_CUDA_TEXTURE_DESC_st;
  PyObject *__pyx_n_s_CUDA_TEXTURE_DESC_st___reduce_cy;
  PyObject *__pyx_n_s_CUDA_TEXTURE_DESC_st___setstate;
  PyObject *__pyx_n_s_CUDA_TEXTURE_DESC_st_getPtr;
  PyObject *__pyx_n_s_CUDA_TEXTURE_DESC_v1;
  PyObject *__pyx_n_s_CUDA_VERSION;
  PyObject *__pyx_kp_s_CUDA_devices_corresponding_to_a;
  PyObject *__pyx_kp_s_CUDA_memory_pool_attributes;
  PyObject *__pyx_n_s_CUGLDeviceList;
  PyObject *__pyx_n_s_CUGLmap_flags;
  PyObject *__pyx_n_s_CUGPUDirectRDMAWritesOrdering;
  PyObject *__pyx_n_s_CU_ACCESS_PROPERTY_NORMAL;
  PyObject *__pyx_n_s_CU_ACCESS_PROPERTY_PERSISTING;
  PyObject *__pyx_n_s_CU_ACCESS_PROPERTY_STREAMING;
  PyObject *__pyx_n_s_CU_AD_FORMAT_BC1_UNORM;
  PyObject *__pyx_n_s_CU_AD_FORMAT_BC1_UNORM_SRGB;
  PyObject *__pyx_n_s_CU_AD_FORMAT_BC2_UNORM;
  PyObject *__pyx_n_s_CU_AD_FORMAT_BC2_UNORM_SRGB;
  PyObject *__pyx_n_s_CU_AD_FORMAT_BC3_UNORM;
  PyObject *__pyx_n_s_CU_AD_FORMAT_BC3_UNORM_SRGB;
  PyObject *__pyx_n_s_CU_AD_FORMAT_BC4_SNORM;
  PyObject *__pyx_n_s_CU_AD_FORMAT_BC4_UNORM;
  PyObject *__pyx_n_s_CU_AD_FORMAT_BC5_SNORM;
  PyObject *__pyx_n_s_CU_AD_FORMAT_BC5_UNORM;
  PyObject *__pyx_n_s_CU_AD_FORMAT_BC6H_SF16;
  PyObject *__pyx_n_s_CU_AD_FORMAT_BC6H_UF16;
  PyObject *__pyx_n_s_CU_AD_FORMAT_BC7_UNORM;
  PyObject *__pyx_n_s_CU_AD_FORMAT_BC7_UNORM_SRGB;
  PyObject *__pyx_n_s_CU_AD_FORMAT_FLOAT;
  PyObject *__pyx_n_s_CU_AD_FORMAT_HALF;
  PyObject *__pyx_n_s_CU_AD_FORMAT_NV12;
  PyObject *__pyx_n_s_CU_AD_FORMAT_SIGNED_INT16;
  PyObject *__pyx_n_s_CU_AD_FORMAT_SIGNED_INT32;
  PyObject *__pyx_n_s_CU_AD_FORMAT_SIGNED_INT8;
  PyObject *__pyx_n_s_CU_AD_FORMAT_SNORM_INT16X1;
  PyObject *__pyx_n_s_CU_AD_FORMAT_SNORM_INT16X2;
  PyObject *__pyx_n_s_CU_AD_FORMAT_SNORM_INT16X4;
  PyObject *__pyx_n_s_CU_AD_FORMAT_SNORM_INT8X1;
  PyObject *__pyx_n_s_CU_AD_FORMAT_SNORM_INT8X2;
  PyObject *__pyx_n_s_CU_AD_FORMAT_SNORM_INT8X4;
  PyObject *__pyx_n_s_CU_AD_FORMAT_UNORM_INT16X1;
  PyObject *__pyx_n_s_CU_AD_FORMAT_UNORM_INT16X2;
  PyObject *__pyx_n_s_CU_AD_FORMAT_UNORM_INT16X4;
  PyObject *__pyx_n_s_CU_AD_FORMAT_UNORM_INT8X1;
  PyObject *__pyx_n_s_CU_AD_FORMAT_UNORM_INT8X2;
  PyObject *__pyx_n_s_CU_AD_FORMAT_UNORM_INT8X4;
  PyObject *__pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT16;
  PyObject *__pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT32;
  PyObject *__pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT8;
  PyObject *__pyx_n_s_CU_ARRAY_SPARSE_PROPERTIES_SINGL;
  PyObject *__pyx_n_s_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE;
  PyObject *__pyx_n_s_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_2;
  PyObject *__pyx_n_s_CU_ASYNC_NOTIFICATION_TYPE_OVER;
  PyObject *__pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_DEF;
  PyObject *__pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_LOA;
  PyObject *__pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_SPR;
  PyObject *__pyx_n_s_CU_COMPUTEMODE_DEFAULT;
  PyObject *__pyx_n_s_CU_COMPUTEMODE_EXCLUSIVE_PROCESS;
  PyObject *__pyx_n_s_CU_COMPUTEMODE_PROHIBITED;
  PyObject *__pyx_n_s_CU_COMPUTE_ACCELERATED_TARGET_BA;
  PyObject *__pyx_n_s_CU_COREDUMP_ENABLE_ON_EXCEPTION;
  PyObject *__pyx_n_s_CU_COREDUMP_ENABLE_USER_TRIGGER;
  PyObject *__pyx_n_s_CU_COREDUMP_FILE;
  PyObject *__pyx_n_s_CU_COREDUMP_LIGHTWEIGHT;
  PyObject *__pyx_n_s_CU_COREDUMP_MAX;
  PyObject *__pyx_n_s_CU_COREDUMP_PIPE;
  PyObject *__pyx_n_s_CU_COREDUMP_TRIGGER_HOST;
  PyObject *__pyx_n_s_CU_CTX_BLOCKING_SYNC;
  PyObject *__pyx_n_s_CU_CTX_COREDUMP_ENABLE;
  PyObject *__pyx_n_s_CU_CTX_FLAGS_MASK;
  PyObject *__pyx_n_s_CU_CTX_LMEM_RESIZE_TO_MAX;
  PyObject *__pyx_n_s_CU_CTX_MAP_HOST;
  PyObject *__pyx_n_s_CU_CTX_SCHED_AUTO;
  PyObject *__pyx_n_s_CU_CTX_SCHED_BLOCKING_SYNC;
  PyObject *__pyx_n_s_CU_CTX_SCHED_MASK;
  PyObject *__pyx_n_s_CU_CTX_SCHED_SPIN;
  PyObject *__pyx_n_s_CU_CTX_SCHED_YIELD;
  PyObject *__pyx_n_s_CU_CTX_SYNC_MEMOPS;
  PyObject *__pyx_n_s_CU_CTX_USER_COREDUMP_ENABLE;
  PyObject *__pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_X;
  PyObject *__pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_Y;
  PyObject *__pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_Z;
  PyObject *__pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_X;
  PyObject *__pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_Y;
  PyObject *__pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_Z;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_RE;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GA;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B_2;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_2;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_3;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_CLOCK_RATE;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_CLUSTER_LAUN;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA_2;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_PREE;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_CONCURRENT_K;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_CONCURRENT_M;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_COOPERATIVE;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_COOPERATIVE_2;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_DEFERRED_MAP;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_DIRECT_MANAG;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPP;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_ECC_ENABLED;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_GENERIC_COMP;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CA;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMOR;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_2;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_3;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_4;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_2;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_3;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_4;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_NATIVE;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_REGISTE;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_INTEGRATED;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_IPC_EVENT_SU;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZ;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CAC;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MANAGED_MEMO;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_10;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_11;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_12;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_13;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_14;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_2;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_3;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_4;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_5;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_6;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_7;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_8;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_9;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_10;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_11;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_12;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_13;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_14;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_15;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_16;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_17;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_18;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_19;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_2;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_20;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_21;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_22;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_23;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_24;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_25;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_26;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_27;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_28;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_29;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_3;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_4;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_5;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_6;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_7;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_8;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_9;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_P;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_P;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_2;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_3;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_2;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_3;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_PERSISTI;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_PITCH;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_REGISTER;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_REGISTER_2;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_2;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_3;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_THREADS;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_THREADS_2;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPP;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOM;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MPS_ENABLED;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTICAST_SU;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTIPROCESS;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO_2;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_NUMA_CONFIG;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_NUMA_ID;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM_2;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_I;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_I;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_READ_ONLY_HO;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_REGISTERS_PE;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_RESERVED_SHA;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_SHARED_MEMOR;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DO;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_STREAM_PRIOR;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_SURFACE_ALIG;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_TCC_DRIVER;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_TENSOR_MAP_A;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIG;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_TEXTURE_PITC;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_TIMELINE_SEM;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTA;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDR;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_UNIFIED_FUNC;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDR;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMO;
  PyObject *__pyx_n_s_CU_DEVICE_ATTRIBUTE_WARP_SIZE;
  PyObject *__pyx_n_s_CU_DEVICE_CPU;
  PyObject *__pyx_n_s_CU_DEVICE_INVALID;
  PyObject *__pyx_n_s_CU_DEVICE_NUMA_CONFIG_NONE;
  PyObject *__pyx_n_s_CU_DEVICE_NUMA_CONFIG_NUMA_NODE;
  PyObject *__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_A;
  PyObject *__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_S;
  PyObject *__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARR;
  PyObject *__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_A;
  PyObject *__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_PERFORMA;
  PyObject *__pyx_n_s_CU_DEV_RESOURCE_TYPE_INVALID;
  PyObject *__pyx_n_s_CU_DEV_RESOURCE_TYPE_SM;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_A;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_ABGR;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_ARGB;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_AYUV;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_AYUV_ER;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_BGGR;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_CCCC;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_GBRG;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_GRBG;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_RGGB;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_BCCR;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_BGGR;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CBRC;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CCCC;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CRBC;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_GBRG;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_GRBG;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_RCCB;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_RGGB;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_BGGR;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_GBRG;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_GRBG;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_RGGB;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_BGGR;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_GBRG;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_GRBG;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_RGGB;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_BCCR;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_BGGR;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_CBRC;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_CRBC;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_GBRG;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_GRBG;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_BG;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_GB;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_GR;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_RG;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_RCCB;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_RGGB;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BGR;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_BGRA;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_L;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_MAX;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_R;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_RG;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_RGB;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_RGBA;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_UYVY_422;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_UYVY_ER;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_VYUY;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_VYUY_ER;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_2;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_3;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_4;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_5;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_6;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_7;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_8;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44_2;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44_3;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10_709_ER;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10_ER;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42_2;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42_3;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44_2;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44_3;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12_709_ER;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12_ER;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_2;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_3;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_4;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_2;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_3;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_4;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_PLANA;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_PLANA_2;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_SEMIP;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_SEMIP_2;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_PLANA;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_PLANA_2;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_SEMIP;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_SEMIP_2;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUVA;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUVA_ER;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV_ER;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUYV_422;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YUYV_ER;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_2;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_3;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_4;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_2;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_3;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_4;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_PLANA;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_PLANA_2;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_SEMIP;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_SEMIP_2;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_PLANA;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_PLANA_2;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_SEMIP;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_SEMIP_2;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVYU;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_YVYU_ER;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y_709_ER;
  PyObject *__pyx_n_s_CU_EGL_COLOR_FORMAT_Y_ER;
  PyObject *__pyx_n_s_CU_EGL_FRAME_TYPE_ARRAY;
  PyObject *__pyx_n_s_CU_EGL_FRAME_TYPE_PITCH;
  PyObject *__pyx_n_s_CU_EGL_RESOURCE_LOCATION_SYSMEM;
  PyObject *__pyx_n_s_CU_EGL_RESOURCE_LOCATION_VIDMEM;
  PyObject *__pyx_n_s_CU_EVENT_BLOCKING_SYNC;
  PyObject *__pyx_n_s_CU_EVENT_DEFAULT;
  PyObject *__pyx_n_s_CU_EVENT_DISABLE_TIMING;
  PyObject *__pyx_n_s_CU_EVENT_INTERPROCESS;
  PyObject *__pyx_n_s_CU_EVENT_RECORD_DEFAULT;
  PyObject *__pyx_n_s_CU_EVENT_RECORD_EXTERNAL;
  PyObject *__pyx_n_s_CU_EVENT_SCHED_AUTO;
  PyObject *__pyx_n_s_CU_EVENT_SCHED_BLOCKING_SYNC;
  PyObject *__pyx_n_s_CU_EVENT_SCHED_SPIN;
  PyObject *__pyx_n_s_CU_EVENT_SCHED_YIELD;
  PyObject *__pyx_n_s_CU_EVENT_WAIT_DEFAULT;
  PyObject *__pyx_n_s_CU_EVENT_WAIT_EXTERNAL;
  PyObject *__pyx_n_s_CU_EXEC_AFFINITY_TYPE_MAX;
  PyObject *__pyx_n_s_CU_EXEC_AFFINITY_TYPE_SM_COUNT;
  PyObject *__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D;
  PyObject *__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_2;
  PyObject *__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_3;
  PyObject *__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_4;
  PyObject *__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_N;
  PyObject *__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O;
  PyObject *__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_2;
  PyObject *__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_3;
  PyObject *__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP;
  PyObject *__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_10;
  PyObject *__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_2;
  PyObject *__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_3;
  PyObject *__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_4;
  PyObject *__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_5;
  PyObject *__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_6;
  PyObject *__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_7;
  PyObject *__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_8;
  PyObject *__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_9;
  PyObject *__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES;
  PyObject *__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_2;
  PyObject *__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_3;
  PyObject *__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_4;
  PyObject *__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_5;
  PyObject *__pyx_n_s_CU_FUNCTION_LOADING_STATE_LOADED;
  PyObject *__pyx_n_s_CU_FUNCTION_LOADING_STATE_MAX;
  PyObject *__pyx_n_s_CU_FUNCTION_LOADING_STATE_UNLOAD;
  PyObject *__pyx_n_s_CU_FUNC_ATTRIBUTE_BINARY_VERSION;
  PyObject *__pyx_n_s_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA;
  PyObject *__pyx_n_s_CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDU;
  PyObject *__pyx_n_s_CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_M;
  PyObject *__pyx_n_s_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYT;
  PyObject *__pyx_n_s_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYT;
  PyObject *__pyx_n_s_CU_FUNC_ATTRIBUTE_MAX;
  PyObject *__pyx_n_s_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SH;
  PyObject *__pyx_n_s_CU_FUNC_ATTRIBUTE_MAX_THREADS_PE;
  PyObject *__pyx_n_s_CU_FUNC_ATTRIBUTE_NON_PORTABLE_C;
  PyObject *__pyx_n_s_CU_FUNC_ATTRIBUTE_NUM_REGS;
  PyObject *__pyx_n_s_CU_FUNC_ATTRIBUTE_PREFERRED_SHAR;
  PyObject *__pyx_n_s_CU_FUNC_ATTRIBUTE_PTX_VERSION;
  PyObject *__pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST;
  PyObject *__pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_2;
  PyObject *__pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_3;
  PyObject *__pyx_n_s_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BY;
  PyObject *__pyx_n_s_CU_FUNC_CACHE_PREFER_EQUAL;
  PyObject *__pyx_n_s_CU_FUNC_CACHE_PREFER_L1;
  PyObject *__pyx_n_s_CU_FUNC_CACHE_PREFER_NONE;
  PyObject *__pyx_n_s_CU_FUNC_CACHE_PREFER_SHARED;
  PyObject *__pyx_n_s_CU_GET_PROC_ADDRESS_DEFAULT;
  PyObject *__pyx_n_s_CU_GET_PROC_ADDRESS_LEGACY_STREA;
  PyObject *__pyx_n_s_CU_GET_PROC_ADDRESS_PER_THREAD_D;
  PyObject *__pyx_n_s_CU_GET_PROC_ADDRESS_SUCCESS;
  PyObject *__pyx_n_s_CU_GET_PROC_ADDRESS_SYMBOL_NOT_F;
  PyObject *__pyx_n_s_CU_GET_PROC_ADDRESS_VERSION_NOT;
  PyObject *__pyx_n_s_CU_GL_DEVICE_LIST_ALL;
  PyObject *__pyx_n_s_CU_GL_DEVICE_LIST_CURRENT_FRAME;
  PyObject *__pyx_n_s_CU_GL_DEVICE_LIST_NEXT_FRAME;
  PyObject *__pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_NONE;
  PyObject *__pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_READ_ON;
  PyObject *__pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_WRITE_D;
  PyObject *__pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI;
  PyObject *__pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_2;
  PyObject *__pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_3;
  PyObject *__pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_N;
  PyObject *__pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_R;
  PyObject *__pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_W;
  PyObject *__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_NONE;
  PyObject *__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_READ;
  PyObject *__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_SURFA;
  PyObject *__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_TEXTU;
  PyObject *__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_WRITE;
  PyObject *__pyx_n_s_CU_GRAPH_COND_ASSIGN_DEFAULT;
  PyObject *__pyx_n_s_CU_GRAPH_COND_TYPE_IF;
  PyObject *__pyx_n_s_CU_GRAPH_COND_TYPE_WHILE;
  PyObject *__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_M;
  PyObject *__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_CONDITI;
  PyObject *__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_N;
  PyObject *__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_T;
  PyObject *__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM;
  PyObject *__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM_2;
  PyObject *__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES;
  PyObject *__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NO;
  PyObject *__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL;
  PyObject *__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_2;
  PyObject *__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY;
  PyObject *__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET;
  PyObject *__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALL;
  PyObject *__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FRE;
  PyObject *__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME;
  PyObject *__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE;
  PyObject *__pyx_n_s_CU_GRAPH_DEPENDENCY_TYPE_DEFAULT;
  PyObject *__pyx_n_s_CU_GRAPH_DEPENDENCY_TYPE_PROGRAM;
  PyObject *__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR;
  PyObject *__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_ATTRI;
  PyObject *__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCT;
  PyObject *__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_NODE;
  PyObject *__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_S;
  PyObject *__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_PARAM;
  PyObject *__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOL;
  PyObject *__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUP;
  PyObject *__pyx_n_s_CU_GRAPH_EXEC_UPDATE_SUCCESS;
  PyObject *__pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_DEFAUL;
  PyObject *__pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH;
  PyObject *__pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_PROGRA;
  PyObject *__pyx_n_s_CU_GRAPH_MEM_ATTR_RESERVED_MEM_C;
  PyObject *__pyx_n_s_CU_GRAPH_MEM_ATTR_RESERVED_MEM_H;
  PyObject *__pyx_n_s_CU_GRAPH_MEM_ATTR_USED_MEM_CURRE;
  PyObject *__pyx_n_s_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH;
  PyObject *__pyx_n_s_CU_GRAPH_NODE_TYPE_BATCH_MEM_OP;
  PyObject *__pyx_n_s_CU_GRAPH_NODE_TYPE_CONDITIONAL;
  PyObject *__pyx_n_s_CU_GRAPH_NODE_TYPE_EMPTY;
  PyObject *__pyx_n_s_CU_GRAPH_NODE_TYPE_EVENT_RECORD;
  PyObject *__pyx_n_s_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIG;
  PyObject *__pyx_n_s_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAI;
  PyObject *__pyx_n_s_CU_GRAPH_NODE_TYPE_GRAPH;
  PyObject *__pyx_n_s_CU_GRAPH_NODE_TYPE_HOST;
  PyObject *__pyx_n_s_CU_GRAPH_NODE_TYPE_KERNEL;
  PyObject *__pyx_n_s_CU_GRAPH_NODE_TYPE_MEMCPY;
  PyObject *__pyx_n_s_CU_GRAPH_NODE_TYPE_MEMSET;
  PyObject *__pyx_n_s_CU_GRAPH_NODE_TYPE_MEM_ALLOC;
  PyObject *__pyx_n_s_CU_GRAPH_NODE_TYPE_MEM_FREE;
  PyObject *__pyx_n_s_CU_GRAPH_NODE_TYPE_WAIT_EVENT;
  PyObject *__pyx_n_s_CU_GRAPH_USER_OBJECT_MOVE;
  PyObject *__pyx_n_s_CU_GREEN_CTX_DEFAULT_STREAM;
  PyObject *__pyx_n_s_CU_IPC_HANDLE_SIZE;
  PyObject *__pyx_n_s_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCE;
  PyObject *__pyx_n_s_CU_JIT_CACHE_MODE;
  PyObject *__pyx_n_s_CU_JIT_CACHE_OPTION_CA;
  PyObject *__pyx_n_s_CU_JIT_CACHE_OPTION_CG;
  PyObject *__pyx_n_s_CU_JIT_CACHE_OPTION_NONE;
  PyObject *__pyx_n_s_CU_JIT_ERROR_LOG_BUFFER;
  PyObject *__pyx_n_s_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYT;
  PyObject *__pyx_n_s_CU_JIT_FALLBACK_STRATEGY;
  PyObject *__pyx_n_s_CU_JIT_FAST_COMPILE;
  PyObject *__pyx_n_s_CU_JIT_FMA;
  PyObject *__pyx_n_s_CU_JIT_FTZ;
  PyObject *__pyx_n_s_CU_JIT_GENERATE_DEBUG_INFO;
  PyObject *__pyx_n_s_CU_JIT_GENERATE_LINE_INFO;
  PyObject *__pyx_n_s_CU_JIT_GLOBAL_SYMBOL_ADDRESSES;
  PyObject *__pyx_n_s_CU_JIT_GLOBAL_SYMBOL_COUNT;
  PyObject *__pyx_n_s_CU_JIT_GLOBAL_SYMBOL_NAMES;
  PyObject *__pyx_n_s_CU_JIT_INFO_LOG_BUFFER;
  PyObject *__pyx_n_s_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTE;
  PyObject *__pyx_n_s_CU_JIT_INPUT_CUBIN;
  PyObject *__pyx_n_s_CU_JIT_INPUT_FATBINARY;
  PyObject *__pyx_n_s_CU_JIT_INPUT_LIBRARY;
  PyObject *__pyx_n_s_CU_JIT_INPUT_NVVM;
  PyObject *__pyx_n_s_CU_JIT_INPUT_OBJECT;
  PyObject *__pyx_n_s_CU_JIT_INPUT_PTX;
  PyObject *__pyx_n_s_CU_JIT_LOG_VERBOSE;
  PyObject *__pyx_n_s_CU_JIT_LTO;
  PyObject *__pyx_n_s_CU_JIT_MAX_REGISTERS;
  PyObject *__pyx_n_s_CU_JIT_MAX_THREADS_PER_BLOCK;
  PyObject *__pyx_n_s_CU_JIT_MIN_CTA_PER_SM;
  PyObject *__pyx_n_s_CU_JIT_NEW_SM3X_OPT;
  PyObject *__pyx_n_s_CU_JIT_NUM_INPUT_TYPES;
  PyObject *__pyx_n_s_CU_JIT_NUM_OPTIONS;
  PyObject *__pyx_n_s_CU_JIT_OPTIMIZATION_LEVEL;
  PyObject *__pyx_n_s_CU_JIT_OPTIMIZE_UNUSED_DEVICE_VA;
  PyObject *__pyx_n_s_CU_JIT_OVERRIDE_DIRECTIVE_VALUES;
  PyObject *__pyx_n_s_CU_JIT_POSITION_INDEPENDENT_CODE;
  PyObject *__pyx_n_s_CU_JIT_PREC_DIV;
  PyObject *__pyx_n_s_CU_JIT_PREC_SQRT;
  PyObject *__pyx_n_s_CU_JIT_REFERENCED_KERNEL_COUNT;
  PyObject *__pyx_n_s_CU_JIT_REFERENCED_KERNEL_NAMES;
  PyObject *__pyx_n_s_CU_JIT_REFERENCED_VARIABLE_COUNT;
  PyObject *__pyx_n_s_CU_JIT_REFERENCED_VARIABLE_NAMES;
  PyObject *__pyx_n_s_CU_JIT_TARGET;
  PyObject *__pyx_n_s_CU_JIT_TARGET_FROM_CUCONTEXT;
  PyObject *__pyx_n_s_CU_JIT_THREADS_PER_BLOCK;
  PyObject *__pyx_n_s_CU_JIT_WALL_TIME;
  PyObject *__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_ACCESS;
  PyObject *__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER;
  PyObject *__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_2;
  PyObject *__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_COOPERA;
  PyObject *__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_DEVICE;
  PyObject *__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN;
  PyObject *__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN_2;
  PyObject *__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_PRIORIT;
  PyObject *__pyx_n_s_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC;
  PyObject *__pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME;
  PyObject *__pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE;
  PyObject *__pyx_n_s_CU_LAUNCH_ATTRIBUTE_COOPERATIVE;
  PyObject *__pyx_n_s_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT;
  PyObject *__pyx_n_s_CU_LAUNCH_ATTRIBUTE_IGNORE;
  PyObject *__pyx_n_s_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL;
  PyObject *__pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM;
  PyObject *__pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2;
  PyObject *__pyx_n_s_CU_LAUNCH_ATTRIBUTE_PRIORITY;
  PyObject *__pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC;
  PyObject *__pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2;
  PyObject *__pyx_n_s_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT;
  PyObject *__pyx_n_s_CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAUL;
  PyObject *__pyx_n_s_CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE;
  PyObject *__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_POINTER;
  PyObject *__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_POINTER_A;
  PyObject *__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_SIZE;
  PyObject *__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_I;
  PyObject *__pyx_n_s_CU_LAUNCH_PARAM_END;
  PyObject *__pyx_n_s_CU_LAUNCH_PARAM_END_AS_INT;
  PyObject *__pyx_n_s_CU_LIBRARY_BINARY_IS_PRESERVED;
  PyObject *__pyx_n_s_CU_LIBRARY_HOST_UNIVERSAL_FUNCTI;
  PyObject *__pyx_n_s_CU_LIBRARY_NUM_OPTIONS;
  PyObject *__pyx_n_s_CU_LIMIT_DEV_RUNTIME_PENDING_LAU;
  PyObject *__pyx_n_s_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH;
  PyObject *__pyx_n_s_CU_LIMIT_MALLOC_HEAP_SIZE;
  PyObject *__pyx_n_s_CU_LIMIT_MAX;
  PyObject *__pyx_n_s_CU_LIMIT_MAX_L2_FETCH_GRANULARIT;
  PyObject *__pyx_n_s_CU_LIMIT_PERSISTING_L2_CACHE_SIZ;
  PyObject *__pyx_n_s_CU_LIMIT_PRINTF_FIFO_SIZE;
  PyObject *__pyx_n_s_CU_LIMIT_STACK_SIZE;
  PyObject *__pyx_n_s_CU_MEMHOSTALLOC_DEVICEMAP;
  PyObject *__pyx_n_s_CU_MEMHOSTALLOC_PORTABLE;
  PyObject *__pyx_n_s_CU_MEMHOSTALLOC_WRITECOMBINED;
  PyObject *__pyx_n_s_CU_MEMHOSTREGISTER_DEVICEMAP;
  PyObject *__pyx_n_s_CU_MEMHOSTREGISTER_IOMEMORY;
  PyObject *__pyx_n_s_CU_MEMHOSTREGISTER_PORTABLE;
  PyObject *__pyx_n_s_CU_MEMHOSTREGISTER_READ_ONLY;
  PyObject *__pyx_n_s_CU_MEMORYTYPE_ARRAY;
  PyObject *__pyx_n_s_CU_MEMORYTYPE_DEVICE;
  PyObject *__pyx_n_s_CU_MEMORYTYPE_HOST;
  PyObject *__pyx_n_s_CU_MEMORYTYPE_UNIFIED;
  PyObject *__pyx_n_s_CU_MEMPOOL_ATTR_RELEASE_THRESHOL;
  PyObject *__pyx_n_s_CU_MEMPOOL_ATTR_RESERVED_MEM_CUR;
  PyObject *__pyx_n_s_CU_MEMPOOL_ATTR_RESERVED_MEM_HIG;
  PyObject *__pyx_n_s_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTE;
  PyObject *__pyx_n_s_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPO;
  PyObject *__pyx_n_s_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVE;
  PyObject *__pyx_n_s_CU_MEMPOOL_ATTR_USED_MEM_CURRENT;
  PyObject *__pyx_n_s_CU_MEMPOOL_ATTR_USED_MEM_HIGH;
  PyObject *__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_MAX;
  PyObject *__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_NONE;
  PyObject *__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_READ;
  PyObject *__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_READWRI;
  PyObject *__pyx_n_s_CU_MEM_ADVISE_SET_ACCESSED_BY;
  PyObject *__pyx_n_s_CU_MEM_ADVISE_SET_PREFERRED_LOCA;
  PyObject *__pyx_n_s_CU_MEM_ADVISE_SET_READ_MOSTLY;
  PyObject *__pyx_n_s_CU_MEM_ADVISE_UNSET_ACCESSED_BY;
  PyObject *__pyx_n_s_CU_MEM_ADVISE_UNSET_PREFERRED_LO;
  PyObject *__pyx_n_s_CU_MEM_ADVISE_UNSET_READ_MOSTLY;
  PyObject *__pyx_n_s_CU_MEM_ALLOCATION_COMP_GENERIC;
  PyObject *__pyx_n_s_CU_MEM_ALLOCATION_COMP_NONE;
  PyObject *__pyx_n_s_CU_MEM_ALLOCATION_TYPE_INVALID;
  PyObject *__pyx_n_s_CU_MEM_ALLOCATION_TYPE_MAX;
  PyObject *__pyx_n_s_CU_MEM_ALLOCATION_TYPE_PINNED;
  PyObject *__pyx_n_s_CU_MEM_ALLOC_GRANULARITY_MINIMUM;
  PyObject *__pyx_n_s_CU_MEM_ALLOC_GRANULARITY_RECOMME;
  PyObject *__pyx_n_s_CU_MEM_ATTACH_GLOBAL;
  PyObject *__pyx_n_s_CU_MEM_ATTACH_HOST;
  PyObject *__pyx_n_s_CU_MEM_ATTACH_SINGLE;
  PyObject *__pyx_n_s_CU_MEM_CREATE_USAGE_TILE_POOL;
  PyObject *__pyx_n_s_CU_MEM_HANDLE_TYPE_FABRIC;
  PyObject *__pyx_n_s_CU_MEM_HANDLE_TYPE_GENERIC;
  PyObject *__pyx_n_s_CU_MEM_HANDLE_TYPE_MAX;
  PyObject *__pyx_n_s_CU_MEM_HANDLE_TYPE_NONE;
  PyObject *__pyx_n_s_CU_MEM_HANDLE_TYPE_POSIX_FILE_DE;
  PyObject *__pyx_n_s_CU_MEM_HANDLE_TYPE_WIN32;
  PyObject *__pyx_n_s_CU_MEM_HANDLE_TYPE_WIN32_KMT;
  PyObject *__pyx_n_s_CU_MEM_LOCATION_TYPE_DEVICE;
  PyObject *__pyx_n_s_CU_MEM_LOCATION_TYPE_HOST;
  PyObject *__pyx_n_s_CU_MEM_LOCATION_TYPE_HOST_NUMA;
  PyObject *__pyx_n_s_CU_MEM_LOCATION_TYPE_HOST_NUMA_C;
  PyObject *__pyx_n_s_CU_MEM_LOCATION_TYPE_INVALID;
  PyObject *__pyx_n_s_CU_MEM_LOCATION_TYPE_MAX;
  PyObject *__pyx_n_s_CU_MEM_OPERATION_TYPE_MAP;
  PyObject *__pyx_n_s_CU_MEM_OPERATION_TYPE_UNMAP;
  PyObject *__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_ACCESSED;
  PyObject *__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF;
  PyObject *__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_2;
  PyObject *__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_3;
  PyObject *__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED;
  PyObject *__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_2;
  PyObject *__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_3;
  PyObject *__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_READ_MOST;
  PyObject *__pyx_n_s_CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF;
  PyObject *__pyx_n_s_CU_MEM_RANGE_HANDLE_TYPE_MAX;
  PyObject *__pyx_n_s_CU_MODULE_EAGER_LOADING;
  PyObject *__pyx_n_s_CU_MODULE_LAZY_LOADING;
  PyObject *__pyx_n_s_CU_MULTICAST_GRANULARITY_MINIMUM;
  PyObject *__pyx_n_s_CU_MULTICAST_GRANULARITY_RECOMME;
  PyObject *__pyx_n_s_CU_OCCUPANCY_DEFAULT;
  PyObject *__pyx_n_s_CU_OCCUPANCY_DISABLE_CACHING_OVE;
  PyObject *__pyx_n_s_CU_OUT_CSV;
  PyObject *__pyx_n_s_CU_OUT_KEY_VALUE_PAIR;
  PyObject *__pyx_n_s_CU_PARAM_TR_DEFAULT;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_2;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_3;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_4;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_ALLOWED_HAN;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_BUFFER_ID;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_CONTEXT;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_DEVICE_ORDI;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_DEVICE_POIN;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_HOST_POINTE;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_IS_GPU_DIRE;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_IS_LEGACY_C;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_IS_MANAGED;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPED;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPING_BAS;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPING_SIZ;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_MEMORY_BLOC;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_MEMORY_TYPE;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_MEMPOOL_HAN;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_P2P_TOKENS;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_RANGE_SIZE;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_RANGE_START;
  PyObject *__pyx_n_s_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS;
  PyObject *__pyx_n_s_CU_PREFER_BINARY;
  PyObject *__pyx_n_s_CU_PREFER_PTX;
  PyObject *__pyx_n_s_CU_RESOURCE_TYPE_ARRAY;
  PyObject *__pyx_n_s_CU_RESOURCE_TYPE_LINEAR;
  PyObject *__pyx_n_s_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY;
  PyObject *__pyx_n_s_CU_RESOURCE_TYPE_PITCH2D;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_1X16;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_1X32;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_2X16;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_2X32;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_4X16;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_4X32;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_NONE;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC4;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC5;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC6H;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X16;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X32;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X8;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X16;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X32;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X8;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X16;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X32;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X8;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X16;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X32;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X8;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X16;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X32;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X8;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X16;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X32;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X8;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC1;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC2;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC3;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC4;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC5;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H;
  PyObject *__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC7;
  PyObject *__pyx_n_s_CU_SHAREDMEM_CARVEOUT_DEFAULT;
  PyObject *__pyx_n_s_CU_SHAREDMEM_CARVEOUT_MAX_L1;
  PyObject *__pyx_n_s_CU_SHAREDMEM_CARVEOUT_MAX_SHARED;
  PyObject *__pyx_n_s_CU_SHARED_MEM_CONFIG_DEFAULT_BAN;
  PyObject *__pyx_n_s_CU_SHARED_MEM_CONFIG_EIGHT_BYTE;
  PyObject *__pyx_n_s_CU_SHARED_MEM_CONFIG_FOUR_BYTE_B;
  PyObject *__pyx_n_s_CU_STREAM_ADD_CAPTURE_DEPENDENCI;
  PyObject *__pyx_n_s_CU_STREAM_ATTRIBUTE_ACCESS_POLIC;
  PyObject *__pyx_n_s_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM;
  PyObject *__pyx_n_s_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM_2;
  PyObject *__pyx_n_s_CU_STREAM_ATTRIBUTE_PRIORITY;
  PyObject *__pyx_n_s_CU_STREAM_ATTRIBUTE_SYNCHRONIZAT;
  PyObject *__pyx_n_s_CU_STREAM_CAPTURE_MODE_GLOBAL;
  PyObject *__pyx_n_s_CU_STREAM_CAPTURE_MODE_RELAXED;
  PyObject *__pyx_n_s_CU_STREAM_CAPTURE_MODE_THREAD_LO;
  PyObject *__pyx_n_s_CU_STREAM_CAPTURE_STATUS_ACTIVE;
  PyObject *__pyx_n_s_CU_STREAM_CAPTURE_STATUS_INVALID;
  PyObject *__pyx_n_s_CU_STREAM_CAPTURE_STATUS_NONE;
  PyObject *__pyx_n_s_CU_STREAM_DEFAULT;
  PyObject *__pyx_n_s_CU_STREAM_LEGACY;
  PyObject *__pyx_n_s_CU_STREAM_MEMORY_BARRIER_TYPE_GP;
  PyObject *__pyx_n_s_CU_STREAM_MEMORY_BARRIER_TYPE_SY;
  PyObject *__pyx_n_s_CU_STREAM_MEM_OP_BARRIER;
  PyObject *__pyx_n_s_CU_STREAM_MEM_OP_FLUSH_REMOTE_WR;
  PyObject *__pyx_n_s_CU_STREAM_MEM_OP_WAIT_VALUE_32;
  PyObject *__pyx_n_s_CU_STREAM_MEM_OP_WAIT_VALUE_64;
  PyObject *__pyx_n_s_CU_STREAM_MEM_OP_WRITE_VALUE_32;
  PyObject *__pyx_n_s_CU_STREAM_MEM_OP_WRITE_VALUE_64;
  PyObject *__pyx_n_s_CU_STREAM_NON_BLOCKING;
  PyObject *__pyx_n_s_CU_STREAM_PER_THREAD;
  PyObject *__pyx_n_s_CU_STREAM_SET_CAPTURE_DEPENDENCI;
  PyObject *__pyx_n_s_CU_STREAM_WAIT_VALUE_AND;
  PyObject *__pyx_n_s_CU_STREAM_WAIT_VALUE_EQ;
  PyObject *__pyx_n_s_CU_STREAM_WAIT_VALUE_FLUSH;
  PyObject *__pyx_n_s_CU_STREAM_WAIT_VALUE_GEQ;
  PyObject *__pyx_n_s_CU_STREAM_WAIT_VALUE_NOR;
  PyObject *__pyx_n_s_CU_STREAM_WRITE_VALUE_DEFAULT;
  PyObject *__pyx_n_s_CU_STREAM_WRITE_VALUE_NO_MEMORY;
  PyObject *__pyx_n_s_CU_SYNC_POLICY_AUTO;
  PyObject *__pyx_n_s_CU_SYNC_POLICY_BLOCKING_SYNC;
  PyObject *__pyx_n_s_CU_SYNC_POLICY_SPIN;
  PyObject *__pyx_n_s_CU_SYNC_POLICY_YIELD;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_30;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_32;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_35;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_37;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_50;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_52;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_53;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_60;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_61;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_62;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_70;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_72;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_75;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_80;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_86;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_87;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_89;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_90;
  PyObject *__pyx_n_s_CU_TARGET_COMPUTE_90A;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_BFLOAT16;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT16;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT32;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT32_2;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT64;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_INT32;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_INT64;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_2;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT16;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT32;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT64;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT8;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_FLOAT_OOB_FILL_NON;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_16B;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_32B;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_NONE;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_12;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_25;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_64;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_NONE;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_NUM_QWORDS;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_128B;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_32B;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_64B;
  PyObject *__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_NONE;
  PyObject *__pyx_n_s_CU_TRSA_OVERRIDE_FORMAT;
  PyObject *__pyx_n_s_CU_TRSF_DISABLE_TRILINEAR_OPTIMI;
  PyObject *__pyx_n_s_CU_TRSF_NORMALIZED_COORDINATES;
  PyObject *__pyx_n_s_CU_TRSF_READ_AS_INTEGER;
  PyObject *__pyx_n_s_CU_TRSF_SEAMLESS_CUBEMAP;
  PyObject *__pyx_n_s_CU_TRSF_SRGB;
  PyObject *__pyx_n_s_CU_TR_ADDRESS_MODE_BORDER;
  PyObject *__pyx_n_s_CU_TR_ADDRESS_MODE_CLAMP;
  PyObject *__pyx_n_s_CU_TR_ADDRESS_MODE_MIRROR;
  PyObject *__pyx_n_s_CU_TR_ADDRESS_MODE_WRAP;
  PyObject *__pyx_n_s_CU_TR_FILTER_MODE_LINEAR;
  PyObject *__pyx_n_s_CU_TR_FILTER_MODE_POINT;
  PyObject *__pyx_n_s_CU_USER_OBJECT_NO_DESTRUCTOR_SYN;
  PyObject *__pyx_n_s_CUaccessPolicyWindow;
  PyObject *__pyx_n_s_CUaccessPolicyWindow_st;
  PyObject *__pyx_n_s_CUaccessPolicyWindow_st___reduce;
  PyObject *__pyx_n_s_CUaccessPolicyWindow_st___setsta;
  PyObject *__pyx_n_s_CUaccessPolicyWindow_st_getPtr;
  PyObject *__pyx_n_s_CUaccessPolicyWindow_v1;
  PyObject *__pyx_n_s_CUaccessProperty;
  PyObject *__pyx_n_s_CUaddress_mode;
  PyObject *__pyx_kp_u_CUarray;
  PyObject *__pyx_n_s_CUarrayMapInfo;
  PyObject *__pyx_n_s_CUarrayMapInfo_st;
  PyObject *__pyx_n_s_CUarrayMapInfo_st___reduce_cytho;
  PyObject *__pyx_n_s_CUarrayMapInfo_st___setstate_cyt;
  PyObject *__pyx_n_s_CUarrayMapInfo_st_getPtr;
  PyObject *__pyx_n_s_CUarrayMapInfo_v1;
  PyObject *__pyx_n_s_CUarraySparseSubresourceType;
  PyObject *__pyx_n_s_CUarray_2;
  PyObject *__pyx_n_s_CUarray___reduce_cython;
  PyObject *__pyx_n_s_CUarray___setstate_cython;
  PyObject *__pyx_n_s_CUarray_cubemap_face;
  PyObject *__pyx_n_s_CUarray_format;
  PyObject *__pyx_n_s_CUarray_getPtr;
  PyObject *__pyx_kp_u_CUasyncCallback;
  PyObject *__pyx_kp_u_CUasyncCallbackHandle;
  PyObject *__pyx_n_s_CUasyncCallbackHandle_2;
  PyObject *__pyx_n_s_CUasyncCallbackHandle___reduce_c;
  PyObject *__pyx_n_s_CUasyncCallbackHandle___setstate;
  PyObject *__pyx_n_s_CUasyncCallbackHandle_getPtr;
  PyObject *__pyx_n_s_CUasyncCallback_2;
  PyObject *__pyx_n_s_CUasyncCallback___reduce_cython;
  PyObject *__pyx_n_s_CUasyncCallback___setstate_cytho;
  PyObject *__pyx_n_s_CUasyncCallback_getPtr;
  PyObject *__pyx_n_s_CUasyncNotificationInfo;
  PyObject *__pyx_n_s_CUasyncNotificationInfo_st;
  PyObject *__pyx_n_s_CUasyncNotificationInfo_st___red;
  PyObject *__pyx_n_s_CUasyncNotificationInfo_st___set;
  PyObject *__pyx_n_s_CUasyncNotificationInfo_st_getPt;
  PyObject *__pyx_n_s_CUasyncNotificationType;
  PyObject *__pyx_n_s_CUclusterSchedulingPolicy;
  PyObject *__pyx_n_s_CUcomputemode;
  PyObject *__pyx_kp_u_CUcontext;
  PyObject *__pyx_n_s_CUcontext_2;
  PyObject *__pyx_n_s_CUcontext___reduce_cython;
  PyObject *__pyx_n_s_CUcontext___setstate_cython;
  PyObject *__pyx_n_s_CUcontext_getPtr;
  PyObject *__pyx_n_s_CUcoredumpSettings;
  PyObject *__pyx_n_s_CUctx_flags;
  PyObject *__pyx_n_s_CUdevResource;
  PyObject *__pyx_kp_u_CUdevResourceDesc;
  PyObject *__pyx_n_s_CUdevResourceDesc_2;
  PyObject *__pyx_n_s_CUdevResourceDesc___reduce_cytho;
  PyObject *__pyx_n_s_CUdevResourceDesc___setstate_cyt;
  PyObject *__pyx_n_s_CUdevResourceDesc_getPtr;
  PyObject *__pyx_n_s_CUdevResourceType;
  PyObject *__pyx_n_s_CUdevResource_st;
  PyObject *__pyx_n_s_CUdevResource_st___reduce_cython;
  PyObject *__pyx_n_s_CUdevResource_st___setstate_cyth;
  PyObject *__pyx_n_s_CUdevResource_st_getPtr;
  PyObject *__pyx_n_s_CUdevResource_v1;
  PyObject *__pyx_n_s_CUdevSmResource;
  PyObject *__pyx_n_s_CUdevSmResource_st;
  PyObject *__pyx_n_s_CUdevSmResource_st___reduce_cyth;
  PyObject *__pyx_n_s_CUdevSmResource_st___setstate_cy;
  PyObject *__pyx_n_s_CUdevSmResource_st_getPtr;
  PyObject *__pyx_kp_u_CUdevice;
  PyObject *__pyx_n_s_CUdeviceNumaConfig;
  PyObject *__pyx_n_s_CUdevice_2;
  PyObject *__pyx_n_s_CUdevice_P2PAttribute;
  PyObject *__pyx_n_s_CUdevice___reduce_cython;
  PyObject *__pyx_n_s_CUdevice___setstate_cython;
  PyObject *__pyx_n_s_CUdevice_attribute;
  PyObject *__pyx_n_s_CUdevice_getPtr;
  PyObject *__pyx_kp_u_CUdevice_v1;
  PyObject *__pyx_n_s_CUdevice_v1_2;
  PyObject *__pyx_n_s_CUdevice_v1___reduce_cython;
  PyObject *__pyx_n_s_CUdevice_v1___setstate_cython;
  PyObject *__pyx_n_s_CUdevice_v1_getPtr;
  PyObject *__pyx_kp_u_CUdeviceptr;
  PyObject *__pyx_n_s_CUdeviceptr_2;
  PyObject *__pyx_n_s_CUdeviceptr___reduce_cython;
  PyObject *__pyx_n_s_CUdeviceptr___setstate_cython;
  PyObject *__pyx_n_s_CUdeviceptr_getPtr;
  PyObject *__pyx_kp_u_CUdeviceptr_v2;
  PyObject *__pyx_n_s_CUdeviceptr_v2_2;
  PyObject *__pyx_n_s_CUdeviceptr_v2___reduce_cython;
  PyObject *__pyx_n_s_CUdeviceptr_v2___setstate_cython;
  PyObject *__pyx_n_s_CUdeviceptr_v2_getPtr;
  PyObject *__pyx_n_s_CUdevprop;
  PyObject *__pyx_n_s_CUdevprop_st;
  PyObject *__pyx_n_s_CUdevprop_st___reduce_cython;
  PyObject *__pyx_n_s_CUdevprop_st___setstate_cython;
  PyObject *__pyx_n_s_CUdevprop_st_getPtr;
  PyObject *__pyx_n_s_CUdevprop_v1;
  PyObject *__pyx_n_s_CUdriverProcAddressQueryResult;
  PyObject *__pyx_n_s_CUdriverProcAddress_flags;
  PyObject *__pyx_n_s_CUeglColorFormat;
  PyObject *__pyx_n_s_CUeglFrame;
  PyObject *__pyx_n_s_CUeglFrameType;
  PyObject *__pyx_n_s_CUeglFrame_st;
  PyObject *__pyx_n_s_CUeglFrame_st___reduce_cython;
  PyObject *__pyx_n_s_CUeglFrame_st___setstate_cython;
  PyObject *__pyx_n_s_CUeglFrame_st_getPtr;
  PyObject *__pyx_n_s_CUeglFrame_v1;
  PyObject *__pyx_n_s_CUeglResourceLocationFlags;
  PyObject *__pyx_kp_u_CUeglStreamConnection;
  PyObject *__pyx_n_s_CUeglStreamConnection_2;
  PyObject *__pyx_n_s_CUeglStreamConnection___reduce_c;
  PyObject *__pyx_n_s_CUeglStreamConnection___setstate;
  PyObject *__pyx_n_s_CUeglStreamConnection_getPtr;
  PyObject *__pyx_kp_u_CUevent;
  PyObject *__pyx_n_s_CUevent_2;
  PyObject *__pyx_n_s_CUevent___reduce_cython;
  PyObject *__pyx_n_s_CUevent___setstate_cython;
  PyObject *__pyx_n_s_CUevent_flags;
  PyObject *__pyx_n_s_CUevent_getPtr;
  PyObject *__pyx_n_s_CUevent_record_flags;
  PyObject *__pyx_n_s_CUevent_sched_flags;
  PyObject *__pyx_n_s_CUevent_wait_flags;
  PyObject *__pyx_n_s_CUexecAffinityParam;
  PyObject *__pyx_n_s_CUexecAffinityParam_st;
  PyObject *__pyx_n_s_CUexecAffinityParam_st___reduce;
  PyObject *__pyx_n_s_CUexecAffinityParam_st___setstat;
  PyObject *__pyx_n_s_CUexecAffinityParam_st_getPtr;
  PyObject *__pyx_n_s_CUexecAffinityParam_v1;
  PyObject *__pyx_n_s_CUexecAffinitySmCount;
  PyObject *__pyx_n_s_CUexecAffinitySmCount_st;
  PyObject *__pyx_n_s_CUexecAffinitySmCount_st___reduc;
  PyObject *__pyx_n_s_CUexecAffinitySmCount_st___setst;
  PyObject *__pyx_n_s_CUexecAffinitySmCount_st_getPtr;
  PyObject *__pyx_n_s_CUexecAffinitySmCount_v1;
  PyObject *__pyx_n_s_CUexecAffinityType;
  PyObject *__pyx_kp_u_CUexternalMemory;
  PyObject *__pyx_n_s_CUexternalMemoryHandleType;
  PyObject *__pyx_n_s_CUexternalMemory_2;
  PyObject *__pyx_n_s_CUexternalMemory___reduce_cython;
  PyObject *__pyx_n_s_CUexternalMemory___setstate_cyth;
  PyObject *__pyx_n_s_CUexternalMemory_getPtr;
  PyObject *__pyx_kp_u_CUexternalSemaphore;
  PyObject *__pyx_n_s_CUexternalSemaphoreHandleType;
  PyObject *__pyx_n_s_CUexternalSemaphore_2;
  PyObject *__pyx_n_s_CUexternalSemaphore___reduce_cyt;
  PyObject *__pyx_n_s_CUexternalSemaphore___setstate_c;
  PyObject *__pyx_n_s_CUexternalSemaphore_getPtr;
  PyObject *__pyx_n_s_CUfilter_mode;
  PyObject *__pyx_n_s_CUflushGPUDirectRDMAWritesOption;
  PyObject *__pyx_n_s_CUflushGPUDirectRDMAWritesScope;
  PyObject *__pyx_n_s_CUflushGPUDirectRDMAWritesTarget;
  PyObject *__pyx_n_s_CUfunc_cache;
  PyObject *__pyx_kp_u_CUfunction;
  PyObject *__pyx_n_s_CUfunctionLoadingState;
  PyObject *__pyx_n_s_CUfunction_2;
  PyObject *__pyx_n_s_CUfunction___reduce_cython;
  PyObject *__pyx_n_s_CUfunction___setstate_cython;
  PyObject *__pyx_n_s_CUfunction_attribute;
  PyObject *__pyx_n_s_CUfunction_getPtr;
  PyObject *__pyx_kp_u_CUgraph;
  PyObject *__pyx_kp_u_CUgraphConditionalHandle;
  PyObject *__pyx_n_s_CUgraphConditionalHandle_2;
  PyObject *__pyx_n_s_CUgraphConditionalHandle___reduc;
  PyObject *__pyx_n_s_CUgraphConditionalHandle___setst;
  PyObject *__pyx_n_s_CUgraphConditionalHandle_getPtr;
  PyObject *__pyx_n_s_CUgraphConditionalNodeType;
  PyObject *__pyx_n_s_CUgraphDebugDot_flags;
  PyObject *__pyx_n_s_CUgraphDependencyType;
  PyObject *__pyx_kp_u_CUgraphDeviceNode;
  PyObject *__pyx_n_s_CUgraphDeviceNode_2;
  PyObject *__pyx_n_s_CUgraphDeviceNode___reduce_cytho;
  PyObject *__pyx_n_s_CUgraphDeviceNode___setstate_cyt;
  PyObject *__pyx_n_s_CUgraphDeviceNode_getPtr;
  PyObject *__pyx_n_s_CUgraphEdgeData;
  PyObject *__pyx_n_s_CUgraphEdgeData_st;
  PyObject *__pyx_n_s_CUgraphEdgeData_st___reduce_cyth;
  PyObject *__pyx_n_s_CUgraphEdgeData_st___setstate_cy;
  PyObject *__pyx_n_s_CUgraphEdgeData_st_getPtr;
  PyObject *__pyx_kp_u_CUgraphExec;
  PyObject *__pyx_n_s_CUgraphExecUpdateResult;
  PyObject *__pyx_n_s_CUgraphExecUpdateResultInfo;
  PyObject *__pyx_n_s_CUgraphExecUpdateResultInfo_st;
  PyObject *__pyx_n_s_CUgraphExecUpdateResultInfo_st_2;
  PyObject *__pyx_n_s_CUgraphExecUpdateResultInfo_st_3;
  PyObject *__pyx_n_s_CUgraphExecUpdateResultInfo_st_g;
  PyObject *__pyx_n_s_CUgraphExecUpdateResultInfo_v1;
  PyObject *__pyx_n_s_CUgraphExec_2;
  PyObject *__pyx_n_s_CUgraphExec___reduce_cython;
  PyObject *__pyx_n_s_CUgraphExec___setstate_cython;
  PyObject *__pyx_n_s_CUgraphExec_getPtr;
  PyObject *__pyx_n_s_CUgraphInstantiateResult;
  PyObject *__pyx_n_s_CUgraphInstantiate_flags;
  PyObject *__pyx_n_s_CUgraphMem_attribute;
  PyObject *__pyx_kp_u_CUgraphNode;
  PyObject *__pyx_n_s_CUgraphNodeParams;
  PyObject *__pyx_n_s_CUgraphNodeParams_st;
  PyObject *__pyx_n_s_CUgraphNodeParams_st___reduce_cy;
  PyObject *__pyx_n_s_CUgraphNodeParams_st___setstate;
  PyObject *__pyx_n_s_CUgraphNodeParams_st_getPtr;
  PyObject *__pyx_n_s_CUgraphNodeType;
  PyObject *__pyx_n_s_CUgraphNode_2;
  PyObject *__pyx_n_s_CUgraphNode___reduce_cython;
  PyObject *__pyx_n_s_CUgraphNode___setstate_cython;
  PyObject *__pyx_n_s_CUgraphNode_getPtr;
  PyObject *__pyx_n_s_CUgraph_2;
  PyObject *__pyx_n_s_CUgraph___reduce_cython;
  PyObject *__pyx_n_s_CUgraph___setstate_cython;
  PyObject *__pyx_n_s_CUgraph_getPtr;
  PyObject *__pyx_n_s_CUgraphicsMapResourceFlags;
  PyObject *__pyx_n_s_CUgraphicsRegisterFlags;
  PyObject *__pyx_kp_u_CUgraphicsResource;
  PyObject *__pyx_n_s_CUgraphicsResource_2;
  PyObject *__pyx_n_s_CUgraphicsResource___reduce_cyth;
  PyObject *__pyx_n_s_CUgraphicsResource___setstate_cy;
  PyObject *__pyx_n_s_CUgraphicsResource_getPtr;
  PyObject *__pyx_kp_u_CUgreenCtx;
  PyObject *__pyx_n_s_CUgreenCtxCreate_flags;
  PyObject *__pyx_n_s_CUgreenCtx_2;
  PyObject *__pyx_n_s_CUgreenCtx___reduce_cython;
  PyObject *__pyx_n_s_CUgreenCtx___setstate_cython;
  PyObject *__pyx_n_s_CUgreenCtx_getPtr;
  PyObject *__pyx_kp_u_CUhostFn;
  PyObject *__pyx_n_s_CUhostFn_2;
  PyObject *__pyx_n_s_CUhostFn___reduce_cython;
  PyObject *__pyx_n_s_CUhostFn___setstate_cython;
  PyObject *__pyx_n_s_CUhostFn_getPtr;
  PyObject *__pyx_n_s_CUipcEventHandle;
  PyObject *__pyx_n_s_CUipcEventHandle_st;
  PyObject *__pyx_n_s_CUipcEventHandle_st___reduce_cyt;
  PyObject *__pyx_n_s_CUipcEventHandle_st___setstate_c;
  PyObject *__pyx_n_s_CUipcEventHandle_st_getPtr;
  PyObject *__pyx_n_s_CUipcEventHandle_v1;
  PyObject *__pyx_n_s_CUipcMemHandle;
  PyObject *__pyx_n_s_CUipcMemHandle_st;
  PyObject *__pyx_n_s_CUipcMemHandle_st___reduce_cytho;
  PyObject *__pyx_n_s_CUipcMemHandle_st___setstate_cyt;
  PyObject *__pyx_n_s_CUipcMemHandle_st_getPtr;
  PyObject *__pyx_n_s_CUipcMemHandle_v1;
  PyObject *__pyx_n_s_CUipcMem_flags;
  PyObject *__pyx_n_s_CUjitInputType;
  PyObject *__pyx_n_s_CUjit_cacheMode;
  PyObject *__pyx_n_s_CUjit_fallback;
  PyObject *__pyx_n_s_CUjit_option;
  PyObject *__pyx_n_s_CUjit_target;
  PyObject *__pyx_kp_u_CUkernel;
  PyObject *__pyx_n_s_CUkernelNodeAttrID;
  PyObject *__pyx_n_s_CUkernelNodeAttrValue;
  PyObject *__pyx_n_s_CUkernelNodeAttrValue_v1;
  PyObject *__pyx_n_s_CUkernel_2;
  PyObject *__pyx_n_s_CUkernel___reduce_cython;
  PyObject *__pyx_n_s_CUkernel___setstate_cython;
  PyObject *__pyx_n_s_CUkernel_getPtr;
  PyObject *__pyx_n_s_CUlaunchAttribute;
  PyObject *__pyx_n_s_CUlaunchAttributeID;
  PyObject *__pyx_n_s_CUlaunchAttributeValue;
  PyObject *__pyx_n_s_CUlaunchAttributeValue_union;
  PyObject *__pyx_n_s_CUlaunchAttributeValue_union___r;
  PyObject *__pyx_n_s_CUlaunchAttributeValue_union___s;
  PyObject *__pyx_n_s_CUlaunchAttributeValue_union_get;
  PyObject *__pyx_n_s_CUlaunchAttribute_st;
  PyObject *__pyx_n_s_CUlaunchAttribute_st___reduce_cy;
  PyObject *__pyx_n_s_CUlaunchAttribute_st___setstate;
  PyObject *__pyx_n_s_CUlaunchAttribute_st_getPtr;
  PyObject *__pyx_n_s_CUlaunchConfig;
  PyObject *__pyx_n_s_CUlaunchConfig_st;
  PyObject *__pyx_n_s_CUlaunchConfig_st___reduce_cytho;
  PyObject *__pyx_n_s_CUlaunchConfig_st___setstate_cyt;
  PyObject *__pyx_n_s_CUlaunchConfig_st_getPtr;
  PyObject *__pyx_n_s_CUlaunchMemSyncDomain;
  PyObject *__pyx_n_s_CUlaunchMemSyncDomainMap;
  PyObject *__pyx_n_s_CUlaunchMemSyncDomainMap_st;
  PyObject *__pyx_n_s_CUlaunchMemSyncDomainMap_st___re;
  PyObject *__pyx_n_s_CUlaunchMemSyncDomainMap_st___se;
  PyObject *__pyx_n_s_CUlaunchMemSyncDomainMap_st_getP;
  PyObject *__pyx_kp_u_CUlibrary;
  PyObject *__pyx_n_s_CUlibraryHostUniversalFunctionAn;
  PyObject *__pyx_n_s_CUlibraryHostUniversalFunctionAn_2;
  PyObject *__pyx_n_s_CUlibraryHostUniversalFunctionAn_3;
  PyObject *__pyx_n_s_CUlibraryHostUniversalFunctionAn_4;
  PyObject *__pyx_n_s_CUlibraryHostUniversalFunctionAn_5;
  PyObject *__pyx_n_s_CUlibraryOption;
  PyObject *__pyx_n_s_CUlibrary_2;
  PyObject *__pyx_n_s_CUlibrary___reduce_cython;
  PyObject *__pyx_n_s_CUlibrary___setstate_cython;
  PyObject *__pyx_n_s_CUlibrary_getPtr;
  PyObject *__pyx_n_s_CUlimit;
  PyObject *__pyx_kp_u_CUlinkState;
  PyObject *__pyx_n_s_CUlinkState_2;
  PyObject *__pyx_n_s_CUlinkState___reduce_cython;
  PyObject *__pyx_n_s_CUlinkState___setstate_cython;
  PyObject *__pyx_n_s_CUlinkState_getPtr;
  PyObject *__pyx_n_s_CUmemAccessDesc;
  PyObject *__pyx_n_s_CUmemAccessDesc_st;
  PyObject *__pyx_n_s_CUmemAccessDesc_st___reduce_cyth;
  PyObject *__pyx_n_s_CUmemAccessDesc_st___setstate_cy;
  PyObject *__pyx_n_s_CUmemAccessDesc_st_getPtr;
  PyObject *__pyx_n_s_CUmemAccessDesc_v1;
  PyObject *__pyx_n_s_CUmemAccess_flags;
  PyObject *__pyx_n_s_CUmemAllocationCompType;
  PyObject *__pyx_n_s_CUmemAllocationGranularity_flags;
  PyObject *__pyx_n_s_CUmemAllocationHandleType;
  PyObject *__pyx_n_s_CUmemAllocationProp;
  PyObject *__pyx_n_s_CUmemAllocationProp_st;
  PyObject *__pyx_n_s_CUmemAllocationProp_st___reduce;
  PyObject *__pyx_n_s_CUmemAllocationProp_st___setstat;
  PyObject *__pyx_n_s_CUmemAllocationProp_st_getPtr;
  PyObject *__pyx_n_s_CUmemAllocationProp_v1;
  PyObject *__pyx_n_s_CUmemAllocationType;
  PyObject *__pyx_n_s_CUmemAttach_flags;
  PyObject *__pyx_n_s_CUmemFabricHandle;
  PyObject *__pyx_n_s_CUmemFabricHandle_st;
  PyObject *__pyx_n_s_CUmemFabricHandle_st___reduce_cy;
  PyObject *__pyx_n_s_CUmemFabricHandle_st___setstate;
  PyObject *__pyx_n_s_CUmemFabricHandle_st_getPtr;
  PyObject *__pyx_n_s_CUmemFabricHandle_v1;
  PyObject *__pyx_kp_u_CUmemGenericAllocationHandle;
  PyObject *__pyx_n_s_CUmemGenericAllocationHandle_2;
  PyObject *__pyx_n_s_CUmemGenericAllocationHandle___r;
  PyObject *__pyx_n_s_CUmemGenericAllocationHandle___s;
  PyObject *__pyx_n_s_CUmemGenericAllocationHandle_get;
  PyObject *__pyx_kp_u_CUmemGenericAllocationHandle_v1;
  PyObject *__pyx_n_s_CUmemGenericAllocationHandle_v1_2;
  PyObject *__pyx_n_s_CUmemGenericAllocationHandle_v1_3;
  PyObject *__pyx_n_s_CUmemGenericAllocationHandle_v1_4;
  PyObject *__pyx_n_s_CUmemGenericAllocationHandle_v1_5;
  PyObject *__pyx_n_s_CUmemHandleType;
  PyObject *__pyx_n_s_CUmemLocation;
  PyObject *__pyx_n_s_CUmemLocationType;
  PyObject *__pyx_n_s_CUmemLocation_st;
  PyObject *__pyx_n_s_CUmemLocation_st___reduce_cython;
  PyObject *__pyx_n_s_CUmemLocation_st___setstate_cyth;
  PyObject *__pyx_n_s_CUmemLocation_st_getPtr;
  PyObject *__pyx_n_s_CUmemLocation_v1;
  PyObject *__pyx_n_s_CUmemOperationType;
  PyObject *__pyx_n_s_CUmemPoolProps;
  PyObject *__pyx_n_s_CUmemPoolProps_st;
  PyObject *__pyx_n_s_CUmemPoolProps_st___reduce_cytho;
  PyObject *__pyx_n_s_CUmemPoolProps_st___setstate_cyt;
  PyObject *__pyx_n_s_CUmemPoolProps_st_getPtr;
  PyObject *__pyx_n_s_CUmemPoolProps_v1;
  PyObject *__pyx_n_s_CUmemPoolPtrExportData;
  PyObject *__pyx_n_s_CUmemPoolPtrExportData_st;
  PyObject *__pyx_n_s_CUmemPoolPtrExportData_st___redu;
  PyObject *__pyx_n_s_CUmemPoolPtrExportData_st___sets;
  PyObject *__pyx_n_s_CUmemPoolPtrExportData_st_getPtr;
  PyObject *__pyx_n_s_CUmemPoolPtrExportData_v1;
  PyObject *__pyx_n_s_CUmemPool_attribute;
  PyObject *__pyx_n_s_CUmemRangeHandleType;
  PyObject *__pyx_n_s_CUmem_advise;
  PyObject *__pyx_n_s_CUmem_range_attribute;
  PyObject *__pyx_kp_u_CUmemoryPool;
  PyObject *__pyx_n_s_CUmemoryPool_2;
  PyObject *__pyx_n_s_CUmemoryPool___reduce_cython;
  PyObject *__pyx_n_s_CUmemoryPool___setstate_cython;
  PyObject *__pyx_n_s_CUmemoryPool_getPtr;
  PyObject *__pyx_n_s_CUmemorytype;
  PyObject *__pyx_kp_u_CUmipmappedArray;
  PyObject *__pyx_n_s_CUmipmappedArray_2;
  PyObject *__pyx_n_s_CUmipmappedArray___reduce_cython;
  PyObject *__pyx_n_s_CUmipmappedArray___setstate_cyth;
  PyObject *__pyx_n_s_CUmipmappedArray_getPtr;
  PyObject *__pyx_kp_u_CUmodule;
  PyObject *__pyx_n_s_CUmoduleLoadingMode;
  PyObject *__pyx_n_s_CUmodule_2;
  PyObject *__pyx_n_s_CUmodule___reduce_cython;
  PyObject *__pyx_n_s_CUmodule___setstate_cython;
  PyObject *__pyx_n_s_CUmodule_getPtr;
  PyObject *__pyx_n_s_CUmulticastGranularity_flags;
  PyObject *__pyx_n_s_CUmulticastObjectProp;
  PyObject *__pyx_n_s_CUmulticastObjectProp_st;
  PyObject *__pyx_n_s_CUmulticastObjectProp_st___reduc;
  PyObject *__pyx_n_s_CUmulticastObjectProp_st___setst;
  PyObject *__pyx_n_s_CUmulticastObjectProp_st_getPtr;
  PyObject *__pyx_n_s_CUmulticastObjectProp_v1;
  PyObject *__pyx_kp_u_CUoccupancyB2DSize;
  PyObject *__pyx_n_s_CUoccupancyB2DSize_2;
  PyObject *__pyx_n_s_CUoccupancyB2DSize___reduce_cyth;
  PyObject *__pyx_n_s_CUoccupancyB2DSize___setstate_cy;
  PyObject *__pyx_n_s_CUoccupancyB2DSize_getPtr;
  PyObject *__pyx_n_s_CUoccupancy_flags;
  PyObject *__pyx_n_s_CUoutput_mode;
  PyObject *__pyx_n_s_CUpointer_attribute;
  PyObject *__pyx_n_s_CUresourceViewFormat;
  PyObject *__pyx_n_s_CUresourcetype;
  PyObject *__pyx_n_s_CUresult;
  PyObject *__pyx_n_s_CUshared_carveout;
  PyObject *__pyx_n_s_CUsharedconfig;
  PyObject *__pyx_kp_u_CUstream;
  PyObject *__pyx_n_s_CUstreamAttrID;
  PyObject *__pyx_n_s_CUstreamAttrValue;
  PyObject *__pyx_n_s_CUstreamAttrValue_v1;
  PyObject *__pyx_n_s_CUstreamBatchMemOpParams;
  PyObject *__pyx_n_s_CUstreamBatchMemOpParams_union;
  PyObject *__pyx_n_s_CUstreamBatchMemOpParams_union_2;
  PyObject *__pyx_n_s_CUstreamBatchMemOpParams_union_3;
  PyObject *__pyx_n_s_CUstreamBatchMemOpParams_union_g;
  PyObject *__pyx_n_s_CUstreamBatchMemOpParams_v1;
  PyObject *__pyx_n_s_CUstreamBatchMemOpType;
  PyObject *__pyx_kp_u_CUstreamCallback;
  PyObject *__pyx_n_s_CUstreamCallback_2;
  PyObject *__pyx_n_s_CUstreamCallback___reduce_cython;
  PyObject *__pyx_n_s_CUstreamCallback___setstate_cyth;
  PyObject *__pyx_n_s_CUstreamCallback_getPtr;
  PyObject *__pyx_n_s_CUstreamCaptureMode;
  PyObject *__pyx_n_s_CUstreamCaptureStatus;
  PyObject *__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa;
  PyObject *__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_2;
  PyObject *__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_3;
  PyObject *__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_4;
  PyObject *__pyx_n_s_CUstreamMemOpMemoryBarrierParams;
  PyObject *__pyx_n_s_CUstreamMemOpMemoryBarrierParams_2;
  PyObject *__pyx_n_s_CUstreamMemOpMemoryBarrierParams_3;
  PyObject *__pyx_n_s_CUstreamMemOpMemoryBarrierParams_4;
  PyObject *__pyx_n_s_CUstreamMemOpWaitValueParams_st;
  PyObject *__pyx_n_s_CUstreamMemOpWaitValueParams_st_2;
  PyObject *__pyx_n_s_CUstreamMemOpWaitValueParams_st_3;
  PyObject *__pyx_n_s_CUstreamMemOpWaitValueParams_st_4;
  PyObject *__pyx_n_s_CUstreamMemOpWriteValueParams_st;
  PyObject *__pyx_n_s_CUstreamMemOpWriteValueParams_st_2;
  PyObject *__pyx_n_s_CUstreamMemOpWriteValueParams_st_3;
  PyObject *__pyx_n_s_CUstreamMemOpWriteValueParams_st_4;
  PyObject *__pyx_n_s_CUstreamMemoryBarrier_flags;
  PyObject *__pyx_n_s_CUstreamUpdateCaptureDependencie;
  PyObject *__pyx_n_s_CUstreamWaitValue_flags;
  PyObject *__pyx_n_s_CUstreamWriteValue_flags;
  PyObject *__pyx_n_s_CUstream_2;
  PyObject *__pyx_n_s_CUstream___reduce_cython;
  PyObject *__pyx_n_s_CUstream___setstate_cython;
  PyObject *__pyx_n_s_CUstream_flags;
  PyObject *__pyx_n_s_CUstream_getPtr;
  PyObject *__pyx_kp_u_CUsurfObject;
  PyObject *__pyx_n_s_CUsurfObject_2;
  PyObject *__pyx_n_s_CUsurfObject___reduce_cython;
  PyObject *__pyx_n_s_CUsurfObject___setstate_cython;
  PyObject *__pyx_n_s_CUsurfObject_getPtr;
  PyObject *__pyx_kp_u_CUsurfObject_v1;
  PyObject *__pyx_n_s_CUsurfObject_v1_2;
  PyObject *__pyx_n_s_CUsurfObject_v1___reduce_cython;
  PyObject *__pyx_n_s_CUsurfObject_v1___setstate_cytho;
  PyObject *__pyx_n_s_CUsurfObject_v1_getPtr;
  PyObject *__pyx_kp_u_CUsurfref;
  PyObject *__pyx_n_s_CUsurfref_2;
  PyObject *__pyx_n_s_CUsurfref___reduce_cython;
  PyObject *__pyx_n_s_CUsurfref___setstate_cython;
  PyObject *__pyx_n_s_CUsurfref_getPtr;
  PyObject *__pyx_n_s_CUsynchronizationPolicy;
  PyObject *__pyx_n_s_CUtensorMap;
  PyObject *__pyx_n_s_CUtensorMapDataType;
  PyObject *__pyx_n_s_CUtensorMapFloatOOBfill;
  PyObject *__pyx_n_s_CUtensorMapInterleave;
  PyObject *__pyx_n_s_CUtensorMapL2promotion;
  PyObject *__pyx_n_s_CUtensorMapSwizzle;
  PyObject *__pyx_n_s_CUtensorMap_st;
  PyObject *__pyx_n_s_CUtensorMap_st___reduce_cython;
  PyObject *__pyx_n_s_CUtensorMap_st___setstate_cython;
  PyObject *__pyx_n_s_CUtensorMap_st_getPtr;
  PyObject *__pyx_kp_u_CUtexObject;
  PyObject *__pyx_n_s_CUtexObject_2;
  PyObject *__pyx_n_s_CUtexObject___reduce_cython;
  PyObject *__pyx_n_s_CUtexObject___setstate_cython;
  PyObject *__pyx_n_s_CUtexObject_getPtr;
  PyObject *__pyx_kp_u_CUtexObject_v1;
  PyObject *__pyx_n_s_CUtexObject_v1_2;
  PyObject *__pyx_n_s_CUtexObject_v1___reduce_cython;
  PyObject *__pyx_n_s_CUtexObject_v1___setstate_cython;
  PyObject *__pyx_n_s_CUtexObject_v1_getPtr;
  PyObject *__pyx_kp_u_CUtexref;
  PyObject *__pyx_n_s_CUtexref_2;
  PyObject *__pyx_n_s_CUtexref___reduce_cython;
  PyObject *__pyx_n_s_CUtexref___setstate_cython;
  PyObject *__pyx_n_s_CUtexref_getPtr;
  PyObject *__pyx_kp_u_CUuserObject;
  PyObject *__pyx_n_s_CUuserObjectRetain_flags;
  PyObject *__pyx_n_s_CUuserObject_2;
  PyObject *__pyx_n_s_CUuserObject___reduce_cython;
  PyObject *__pyx_n_s_CUuserObject___setstate_cython;
  PyObject *__pyx_n_s_CUuserObject_flags;
  PyObject *__pyx_n_s_CUuserObject_getPtr;
  PyObject *__pyx_n_s_CUuuid;
  PyObject *__pyx_n_s_CUuuid_st;
  PyObject *__pyx_n_s_CUuuid_st___reduce_cython;
  PyObject *__pyx_n_s_CUuuid_st___setstate_cython;
  PyObject *__pyx_n_s_CUuuid_st_getPtr;
  PyObject *__pyx_kp_s_Caching_modes_for_dlcm;
  PyObject *__pyx_kp_s_Cluster_scheduling_policies_The;
  PyObject *__pyx_kp_s_Compute_Modes;
  PyObject *__pyx_kp_s_Conditional_node_types;
  PyObject *__pyx_kp_s_Context_creation_flags;
  PyObject *__pyx_kp_s_Cubin_matching_fallback_strateg;
  PyObject *__pyx_kp_s_Defines_the_allocation_types_av;
  PyObject *__pyx_kp_s_Deprecated_Shared_memory_config;
  PyObject *__pyx_kp_u_Depth;
  PyObject *__pyx_n_s_Depth_2;
  PyObject *__pyx_kp_u_Depth_ValueError;
  PyObject *__pyx_kp_s_Device_code_formats;
  PyObject *__pyx_kp_s_Device_properties;
  PyObject *__pyx_kp_u_EGLImageKHR;
  PyObject *__pyx_n_s_EGLImageKHR_2;
  PyObject *__pyx_n_s_EGLImageKHR___reduce_cython;
  PyObject *__pyx_n_s_EGLImageKHR___setstate_cython;
  PyObject *__pyx_n_s_EGLImageKHR_getPtr;
  PyObject *__pyx_kp_u_EGLStreamKHR;
  PyObject *__pyx_n_s_EGLStreamKHR_2;
  PyObject *__pyx_n_s_EGLStreamKHR___reduce_cython;
  PyObject *__pyx_n_s_EGLStreamKHR___setstate_cython;
  PyObject *__pyx_n_s_EGLStreamKHR_getPtr;
  PyObject *__pyx_kp_u_EGLSyncKHR;
  PyObject *__pyx_n_s_EGLSyncKHR_2;
  PyObject *__pyx_n_s_EGLSyncKHR___reduce_cython;
  PyObject *__pyx_n_s_EGLSyncKHR___setstate_cython;
  PyObject *__pyx_n_s_EGLSyncKHR_getPtr;
  PyObject *__pyx_kp_u_EGLint;
  PyObject *__pyx_n_s_EGLint_2;
  PyObject *__pyx_n_s_EGLint___reduce_cython;
  PyObject *__pyx_n_s_EGLint___setstate_cython;
  PyObject *__pyx_n_s_EGLint_getPtr;
  PyObject *__pyx_n_s_ElementSizeBytes;
  PyObject *__pyx_kp_s_Error_codes;
  PyObject *__pyx_kp_s_Event_creation_flags;
  PyObject *__pyx_kp_s_Event_record_flags;
  PyObject *__pyx_kp_s_Event_sched_flags;
  PyObject *__pyx_kp_s_Event_wait_flags;
  PyObject *__pyx_kp_s_Execution_Affinity_Types;
  PyObject *__pyx_kp_s_External_memory_handle_types;
  PyObject *__pyx_kp_s_External_semaphore_handle_types;
  PyObject *__pyx_kp_u_Failed_to_allocate_length_x_size;
  PyObject *__pyx_kp_s_Flag_for_requesting_different_o;
  PyObject *__pyx_kp_u_Flags;
  PyObject *__pyx_n_s_Flags_2;
  PyObject *__pyx_kp_u_Flags_ValueError;
  PyObject *__pyx_kp_s_Flags_for_choosing_a_coredump_a;
  PyObject *__pyx_kp_s_Flags_for_instantiating_a_graph;
  PyObject *__pyx_kp_s_Flags_for_mapping_and_unmapping;
  PyObject *__pyx_kp_s_Flags_for_py_obj_cuStreamMemory;
  PyObject *__pyx_kp_s_Flags_for_py_obj_cuStreamUpdate;
  PyObject *__pyx_kp_s_Flags_for_py_obj_cuStreamWaitVa;
  PyObject *__pyx_kp_s_Flags_for_py_obj_cuStreamWriteV;
  PyObject *__pyx_kp_s_Flags_for_querying_different_gr;
  PyObject *__pyx_kp_s_Flags_for_retaining_user_object;
  PyObject *__pyx_kp_s_Flags_for_specifying_particular;
  PyObject *__pyx_kp_s_Flags_for_user_objects_for_grap;
  PyObject *__pyx_kp_s_Flags_to_indicate_search_status;
  PyObject *__pyx_kp_s_Flags_to_map_or_unmap_a_resourc;
  PyObject *__pyx_kp_s_Flags_to_register_a_graphics_re;
  PyObject *__pyx_kp_s_Flags_to_specify_search_options;
  PyObject *__pyx_kp_u_Format;
  PyObject *__pyx_n_s_Format_2;
  PyObject *__pyx_kp_u_Format_ValueError;
  PyObject *__pyx_kp_s_Function_cache_configurations;
  PyObject *__pyx_kp_s_Function_properties;
  PyObject *__pyx_kp_u_GLenum;
  PyObject *__pyx_n_s_GLenum_2;
  PyObject *__pyx_n_s_GLenum___reduce_cython;
  PyObject *__pyx_n_s_GLenum___setstate_cython;
  PyObject *__pyx_n_s_GLenum_getPtr;
  PyObject *__pyx_kp_u_GLuint;
  PyObject *__pyx_n_s_GLuint_2;
  PyObject *__pyx_n_s_GLuint___reduce_cython;
  PyObject *__pyx_n_s_GLuint___setstate_cython;
  PyObject *__pyx_n_s_GLuint_getPtr;
  PyObject *__pyx_kp_s_Graph_instantiation_results;
  PyObject *__pyx_kp_s_Graph_node_types;
  PyObject *__pyx_kp_u_Height;
  PyObject *__pyx_n_s_Height_2;
  PyObject *__pyx_kp_u_Height_ValueError;
  PyObject *__pyx_n_s_IndexError;
  PyObject *__pyx_n_s_IntEnum;
  PyObject *__pyx_kp_s_Launch_attributes_enum_used_as;
  PyObject *__pyx_kp_s_Library_options_to_be_specified;
  PyObject *__pyx_kp_s_Limits;
  PyObject *__pyx_n_s_List;
  PyObject *__pyx_kp_s_List_int;
  PyObject *__pyx_kp_u_List_is_too_small;
  PyObject *__pyx_n_s_MAX_PLANES;
  PyObject *__pyx_n_s_MemoryError;
  PyObject *__pyx_kp_s_Memory_Synchronization_Domain_A;
  PyObject *__pyx_kp_s_Memory_advise_values;
  PyObject *__pyx_kp_s_Memory_handle_types;
  PyObject *__pyx_kp_s_Memory_operation_types;
  PyObject *__pyx_kp_s_Memory_types;
  PyObject *__pyx_n_s_N;
  PyObject *__pyx_n_s_NVCL_CTX_SCHED_AUTO;
  PyObject *__pyx_n_s_NVCL_CTX_SCHED_BLOCKING_SYNC;
  PyObject *__pyx_n_s_NVCL_CTX_SCHED_SPIN;
  PyObject *__pyx_n_s_NVCL_CTX_SCHED_YIELD;
  PyObject *__pyx_n_s_NVCL_EVENT_SCHED_AUTO;
  PyObject *__pyx_n_s_NVCL_EVENT_SCHED_BLOCKING_SYNC;
  PyObject *__pyx_n_s_NVCL_EVENT_SCHED_SPIN;
  PyObject *__pyx_n_s_NVCL_EVENT_SCHED_YIELD;
  PyObject *__pyx_kp_s_NVCL_context_scheduling_flags;
  PyObject *__pyx_kp_s_NVCL_event_scheduling_flags;
  PyObject *__pyx_kp_u_NumChannels;
  PyObject *__pyx_n_s_NumChannels_2;
  PyObject *__pyx_kp_u_NumChannels_ValueError;
  PyObject *__pyx_n_s_NumPackedComponents;
  PyObject *__pyx_kp_s_Occupancy_calculator_flag;
  PyObject *__pyx_kp_s_Online_compilation_targets;
  PyObject *__pyx_kp_s_Online_compiler_and_linker_opti;
  PyObject *__pyx_kp_s_Operations_for_py_obj_cuStreamB;
  PyObject *__pyx_n_s_Optional;
  PyObject *__pyx_kp_s_Optional_CUDA_ARRAY3D_DESCRIPTOR;
  PyObject *__pyx_kp_s_Optional_CUDA_ARRAY_DESCRIPTOR;
  PyObject *__pyx_kp_s_Optional_CUDA_BATCH_MEM_OP_NODE;
  PyObject *__pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_BU;
  PyObject *__pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_HA;
  PyObject *__pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_MI;
  PyObject *__pyx_kp_s_Optional_CUDA_EXTERNAL_SEMAPHORE;
  PyObject *__pyx_kp_s_Optional_CUDA_EXT_SEM_SIGNAL_NOD;
  PyObject *__pyx_kp_s_Optional_CUDA_EXT_SEM_WAIT_NODE;
  PyObject *__pyx_kp_s_Optional_CUDA_GRAPH_INSTANTIATE;
  PyObject *__pyx_kp_s_Optional_CUDA_HOST_NODE_PARAMS;
  PyObject *__pyx_kp_s_Optional_CUDA_KERNEL_NODE_PARAMS;
  PyObject *__pyx_kp_s_Optional_CUDA_MEMCPY2D;
  PyObject *__pyx_kp_s_Optional_CUDA_MEMCPY3D;
  PyObject *__pyx_kp_s_Optional_CUDA_MEMCPY3D_PEER;
  PyObject *__pyx_kp_s_Optional_CUDA_MEMSET_NODE_PARAMS;
  PyObject *__pyx_kp_s_Optional_CUDA_MEM_ALLOC_NODE_PAR;
  PyObject *__pyx_kp_s_Optional_CUDA_RESOURCE_DESC;
  PyObject *__pyx_kp_s_Optional_CUDA_RESOURCE_VIEW_DESC;
  PyObject *__pyx_kp_s_Optional_CUDA_TEXTURE_DESC;
  PyObject *__pyx_kp_s_Optional_CUdevResource;
  PyObject *__pyx_kp_s_Optional_CUeglFrame;
  PyObject *__pyx_kp_s_Optional_CUgraphNodeParams;
  PyObject *__pyx_kp_s_Optional_CUkernelNodeAttrValue;
  PyObject *__pyx_kp_s_Optional_CUlaunchConfig;
  PyObject *__pyx_kp_s_Optional_CUmemAllocationProp;
  PyObject *__pyx_kp_s_Optional_CUmemLocation;
  PyObject *__pyx_kp_s_Optional_CUmemPoolProps;
  PyObject *__pyx_kp_s_Optional_CUmemPoolPtrExportData;
  PyObject *__pyx_kp_s_Optional_CUmulticastObjectProp;
  PyObject *__pyx_kp_s_Optional_CUstreamAttrValue;
  PyObject *__pyx_kp_s_Optional_CUtensorMap;
  PyObject *__pyx_kp_s_Optional_CUuuid;
  PyObject *__pyx_kp_s_Optional_List_Any;
  PyObject *__pyx_kp_s_Optional_List_CUDA_EXTERNAL_SEMA;
  PyObject *__pyx_kp_s_Optional_List_CUDA_EXTERNAL_SEMA_2;
  PyObject *__pyx_kp_s_Optional_List_CUDA_LAUNCH_PARAMS;
  PyObject *__pyx_kp_s_Optional_List_CUarrayMapInfo;
  PyObject *__pyx_kp_s_Optional_List_CUdevResource;
  PyObject *__pyx_kp_s_Optional_List_CUexecAffinityPara;
  PyObject *__pyx_kp_s_Optional_List_CUexternalSemaphor;
  PyObject *__pyx_kp_s_Optional_List_CUgraphEdgeData;
  PyObject *__pyx_kp_s_Optional_List_CUgraphNode;
  PyObject *__pyx_kp_s_Optional_List_CUjit_option;
  PyObject *__pyx_kp_s_Optional_List_CUlibraryOption;
  PyObject *__pyx_kp_s_Optional_List_CUmemAccessDesc;
  PyObject *__pyx_kp_s_Optional_List_CUmem_range_attrib;
  PyObject *__pyx_kp_s_Optional_List_CUpointer_attribut;
  PyObject *__pyx_kp_s_Optional_List_CUstreamBatchMemOp;
  PyObject *__pyx_kp_s_Optional_List_cuuint32_t;
  PyObject *__pyx_kp_s_Optional_List_cuuint64_t;
  PyObject *__pyx_kp_s_Optional_List_int;
  PyObject *__pyx_n_s_OverflowError;
  PyObject *__pyx_kp_s_P2P_Attributes;
  PyObject *__pyx_n_s_Pitch;
  PyObject *__pyx_kp_s_Platform_native_ordering_for_GP;
  PyObject *__pyx_kp_s_Pointer_information;
  PyObject *__pyx_kp_s_Possible_modes_for_stream_captu;
  PyObject *__pyx_kp_s_Possible_stream_capture_statuse;
  PyObject *__pyx_kp_s_Profiler_Output_Modes;
  PyObject *__pyx_n_s_RESOURCE_ABI_EXTERNAL_BYTES;
  PyObject *__pyx_n_s_RESOURCE_ABI_VERSION;
  PyObject *__pyx_kp_s_Resource_location_flags_sysmem;
  PyObject *__pyx_kp_s_Resource_types;
  PyObject *__pyx_kp_s_Resource_view_format;
  PyObject *__pyx_n_s_RuntimeError;
  PyObject *__pyx_kp_u_SIMDWidth;
  PyObject *__pyx_n_s_SIMDWidth_2;
  PyObject *__pyx_kp_u_SIMDWidth_ValueError;
  PyObject *__pyx_kp_s_Shared_memory_carveout_configur;
  PyObject *__pyx_kp_s_Sparse_subresource_types;
  PyObject *__pyx_kp_s_Specifies_compression_attribute;
  PyObject *__pyx_kp_s_Specifies_performance_hint_with;
  PyObject *__pyx_kp_s_Specifies_the_handle_type_for_a;
  PyObject *__pyx_kp_s_Specifies_the_memory_protection;
  PyObject *__pyx_kp_s_Specifies_the_type_of_location;
  PyObject *__pyx_kp_s_Stream_creation_flags;
  PyObject *__pyx_kp_s_Tensor_map_L2_promotion_type;
  PyObject *__pyx_kp_s_Tensor_map_data_type;
  PyObject *__pyx_kp_s_Tensor_map_interleave_layout_ty;
  PyObject *__pyx_kp_s_Tensor_map_out_of_bounds_fill_t;
  PyObject *__pyx_kp_s_Tensor_map_swizzling_mode_of_sh;
  PyObject *__pyx_kp_s_Texture_reference_addressing_mo;
  PyObject *__pyx_kp_s_Texture_reference_filtering_mod;
  PyObject *__pyx_kp_s_The_additional_write_options_fo;
  PyObject *__pyx_kp_s_The_scopes_for_py_obj_cuFlushGP;
  PyObject *__pyx_kp_s_The_targets_for_py_obj_cuFlushG;
  PyObject *__pyx_n_s_Tuple;
  PyObject *__pyx_n_s_TypeError;
  PyObject *__pyx_kp_s_Type_annotations_that_can_be_ap;
  PyObject *__pyx_kp_s_Type_of_resource;
  PyObject *__pyx_kp_s_Types_of_async_notification_tha;
  PyObject *__pyx_kp_u_Unknown_type;
  PyObject *__pyx_n_s_ValueError;
  PyObject *__pyx_kp_u_VdpDevice;
  PyObject *__pyx_n_s_VdpDevice_2;
  PyObject *__pyx_n_s_VdpDevice___reduce_cython;
  PyObject *__pyx_n_s_VdpDevice___setstate_cython;
  PyObject *__pyx_n_s_VdpDevice_getPtr;
  PyObject *__pyx_kp_u_VdpGetProcAddress;
  PyObject *__pyx_n_s_VdpGetProcAddress_2;
  PyObject *__pyx_n_s_VdpGetProcAddress___reduce_cytho;
  PyObject *__pyx_n_s_VdpGetProcAddress___setstate_cyt;
  PyObject *__pyx_n_s_VdpGetProcAddress_getPtr;
  PyObject *__pyx_kp_u_VdpOutputSurface;
  PyObject *__pyx_n_s_VdpOutputSurface_2;
  PyObject *__pyx_n_s_VdpOutputSurface___reduce_cython;
  PyObject *__pyx_n_s_VdpOutputSurface___setstate_cyth;
  PyObject *__pyx_n_s_VdpOutputSurface_getPtr;
  PyObject *__pyx_kp_u_VdpVideoSurface;
  PyObject *__pyx_n_s_VdpVideoSurface_2;
  PyObject *__pyx_n_s_VdpVideoSurface___reduce_cython;
  PyObject *__pyx_n_s_VdpVideoSurface___setstate_cytho;
  PyObject *__pyx_n_s_VdpVideoSurface_getPtr;
  PyObject *__pyx_kp_u_Width;
  PyObject *__pyx_kp_u_WidthInBytes;
  PyObject *__pyx_n_s_WidthInBytes_2;
  PyObject *__pyx_kp_u_WidthInBytes_ValueError;
  PyObject *__pyx_n_s_Width_2;
  PyObject *__pyx_kp_u_Width_ValueError;
  PyObject *__pyx_kp_u__117;
  PyObject *__pyx_kp_u__118;
  PyObject *__pyx_n_s__1338;
  PyObject *__pyx_kp_u__143;
  PyObject *__pyx_kp_b__486;
  PyObject *__pyx_kp_u__535;
  PyObject *__pyx_kp_u__959;
  PyObject *__pyx_n_s__960;
  PyObject *__pyx_kp_s__961;
  PyObject *__pyx_kp_u_accessDescCount;
  PyObject *__pyx_n_s_accessDescCount_2;
  PyObject *__pyx_kp_u_accessDescCount_ValueError;
  PyObject *__pyx_kp_u_accessDescs;
  PyObject *__pyx_n_s_accessDescs_2;
  PyObject *__pyx_kp_u_accessDescs_ValueError;
  PyObject *__pyx_kp_u_accessPolicyWindow;
  PyObject *__pyx_n_s_accessPolicyWindow_2;
  PyObject *__pyx_kp_u_accessPolicyWindow_ValueError;
  PyObject *__pyx_n_s_active;
  PyObject *__pyx_n_s_addr;
  PyObject *__pyx_kp_u_address;
  PyObject *__pyx_kp_u_addressMode;
  PyObject *__pyx_n_s_addressMode_2;
  PyObject *__pyx_kp_u_addressMode_ValueError;
  PyObject *__pyx_n_s_address_2;
  PyObject *__pyx_kp_u_address_ValueError;
  PyObject *__pyx_n_s_advice;
  PyObject *__pyx_kp_u_alias;
  PyObject *__pyx_n_s_alias_2;
  PyObject *__pyx_kp_u_alias_ValueError;
  PyObject *__pyx_kp_u_alignment;
  PyObject *__pyx_n_s_alignment_2;
  PyObject *__pyx_kp_u_alignment_ValueError;
  PyObject *__pyx_kp_u_alloc;
  PyObject *__pyx_kp_u_allocFlags;
  PyObject *__pyx_n_s_allocFlags_2;
  PyObject *__pyx_kp_u_allocFlags_ValueError;
  PyObject *__pyx_kp_u_allocType;
  PyObject *__pyx_n_s_allocType_2;
  PyObject *__pyx_kp_u_allocType_ValueError;
  PyObject *__pyx_n_s_alloc_2;
  PyObject *__pyx_kp_u_alloc_ValueError;
  PyObject *__pyx_n_s_am;
  PyObject *__pyx_n_s_anon_struct0;
  PyObject *__pyx_n_s_anon_struct0___reduce_cython;
  PyObject *__pyx_n_s_anon_struct0___setstate_cython;
  PyObject *__pyx_n_s_anon_struct0_getPtr;
  PyObject *__pyx_n_s_anon_struct1;
  PyObject *__pyx_n_s_anon_struct10;
  PyObject *__pyx_n_s_anon_struct10___reduce_cython;
  PyObject *__pyx_n_s_anon_struct10___setstate_cython;
  PyObject *__pyx_n_s_anon_struct10_getPtr;
  PyObject *__pyx_n_s_anon_struct11;
  PyObject *__pyx_n_s_anon_struct11___reduce_cython;
  PyObject *__pyx_n_s_anon_struct11___setstate_cython;
  PyObject *__pyx_n_s_anon_struct11_getPtr;
  PyObject *__pyx_n_s_anon_struct12;
  PyObject *__pyx_n_s_anon_struct12___reduce_cython;
  PyObject *__pyx_n_s_anon_struct12___setstate_cython;
  PyObject *__pyx_n_s_anon_struct12_getPtr;
  PyObject *__pyx_n_s_anon_struct13;
  PyObject *__pyx_n_s_anon_struct13___reduce_cython;
  PyObject *__pyx_n_s_anon_struct13___setstate_cython;
  PyObject *__pyx_n_s_anon_struct13_getPtr;
  PyObject *__pyx_n_s_anon_struct14;
  PyObject *__pyx_n_s_anon_struct14___reduce_cython;
  PyObject *__pyx_n_s_anon_struct14___setstate_cython;
  PyObject *__pyx_n_s_anon_struct14_getPtr;
  PyObject *__pyx_n_s_anon_struct15;
  PyObject *__pyx_n_s_anon_struct15___reduce_cython;
  PyObject *__pyx_n_s_anon_struct15___setstate_cython;
  PyObject *__pyx_n_s_anon_struct15_getPtr;
  PyObject *__pyx_n_s_anon_struct16;
  PyObject *__pyx_n_s_anon_struct16___reduce_cython;
  PyObject *__pyx_n_s_anon_struct16___setstate_cython;
  PyObject *__pyx_n_s_anon_struct16_getPtr;
  PyObject *__pyx_n_s_anon_struct17;
  PyObject *__pyx_n_s_anon_struct17___reduce_cython;
  PyObject *__pyx_n_s_anon_struct17___setstate_cython;
  PyObject *__pyx_n_s_anon_struct17_getPtr;
  PyObject *__pyx_n_s_anon_struct18;
  PyObject *__pyx_n_s_anon_struct18___reduce_cython;
  PyObject *__pyx_n_s_anon_struct18___setstate_cython;
  PyObject *__pyx_n_s_anon_struct18_getPtr;
  PyObject *__pyx_n_s_anon_struct19;
  PyObject *__pyx_n_s_anon_struct19___reduce_cython;
  PyObject *__pyx_n_s_anon_struct19___setstate_cython;
  PyObject *__pyx_n_s_anon_struct19_getPtr;
  PyObject *__pyx_n_s_anon_struct1___reduce_cython;
  PyObject *__pyx_n_s_anon_struct1___setstate_cython;
  PyObject *__pyx_n_s_anon_struct1_getPtr;
  PyObject *__pyx_n_s_anon_struct2;
  PyObject *__pyx_n_s_anon_struct20;
  PyObject *__pyx_n_s_anon_struct20___reduce_cython;
  PyObject *__pyx_n_s_anon_struct20___setstate_cython;
  PyObject *__pyx_n_s_anon_struct20_getPtr;
  PyObject *__pyx_n_s_anon_struct21;
  PyObject *__pyx_n_s_anon_struct21___reduce_cython;
  PyObject *__pyx_n_s_anon_struct21___setstate_cython;
  PyObject *__pyx_n_s_anon_struct21_getPtr;
  PyObject *__pyx_n_s_anon_struct2___reduce_cython;
  PyObject *__pyx_n_s_anon_struct2___setstate_cython;
  PyObject *__pyx_n_s_anon_struct2_getPtr;
  PyObject *__pyx_n_s_anon_struct3;
  PyObject *__pyx_n_s_anon_struct3___reduce_cython;
  PyObject *__pyx_n_s_anon_struct3___setstate_cython;
  PyObject *__pyx_n_s_anon_struct3_getPtr;
  PyObject *__pyx_n_s_anon_struct4;
  PyObject *__pyx_n_s_anon_struct4___reduce_cython;
  PyObject *__pyx_n_s_anon_struct4___setstate_cython;
  PyObject *__pyx_n_s_anon_struct4_getPtr;
  PyObject *__pyx_n_s_anon_struct5;
  PyObject *__pyx_n_s_anon_struct5___reduce_cython;
  PyObject *__pyx_n_s_anon_struct5___setstate_cython;
  PyObject *__pyx_n_s_anon_struct5_getPtr;
  PyObject *__pyx_n_s_anon_struct6;
  PyObject *__pyx_n_s_anon_struct6___reduce_cython;
  PyObject *__pyx_n_s_anon_struct6___setstate_cython;
  PyObject *__pyx_n_s_anon_struct6_getPtr;
  PyObject *__pyx_n_s_anon_struct7;
  PyObject *__pyx_n_s_anon_struct7___reduce_cython;
  PyObject *__pyx_n_s_anon_struct7___setstate_cython;
  PyObject *__pyx_n_s_anon_struct7_getPtr;
  PyObject *__pyx_n_s_anon_struct8;
  PyObject *__pyx_n_s_anon_struct8___reduce_cython;
  PyObject *__pyx_n_s_anon_struct8___setstate_cython;
  PyObject *__pyx_n_s_anon_struct8_getPtr;
  PyObject *__pyx_n_s_anon_struct9;
  PyObject *__pyx_n_s_anon_struct9___reduce_cython;
  PyObject *__pyx_n_s_anon_struct9___setstate_cython;
  PyObject *__pyx_n_s_anon_struct9_getPtr;
  PyObject *__pyx_n_s_anon_union10;
  PyObject *__pyx_n_s_anon_union10___reduce_cython;
  PyObject *__pyx_n_s_anon_union10___setstate_cython;
  PyObject *__pyx_n_s_anon_union10_getPtr;
  PyObject *__pyx_n_s_anon_union11;
  PyObject *__pyx_n_s_anon_union11___reduce_cython;
  PyObject *__pyx_n_s_anon_union11___setstate_cython;
  PyObject *__pyx_n_s_anon_union11_getPtr;
  PyObject *__pyx_n_s_anon_union14;
  PyObject *__pyx_n_s_anon_union14___reduce_cython;
  PyObject *__pyx_n_s_anon_union14___setstate_cython;
  PyObject *__pyx_n_s_anon_union14_getPtr;
  PyObject *__pyx_n_s_anon_union2;
  PyObject *__pyx_n_s_anon_union2___reduce_cython;
  PyObject *__pyx_n_s_anon_union2___setstate_cython;
  PyObject *__pyx_n_s_anon_union2_getPtr;
  PyObject *__pyx_n_s_anon_union3;
  PyObject *__pyx_n_s_anon_union3___reduce_cython;
  PyObject *__pyx_n_s_anon_union3___setstate_cython;
  PyObject *__pyx_n_s_anon_union3_getPtr;
  PyObject *__pyx_n_s_anon_union4;
  PyObject *__pyx_n_s_anon_union4___reduce_cython;
  PyObject *__pyx_n_s_anon_union4___setstate_cython;
  PyObject *__pyx_n_s_anon_union4_getPtr;
  PyObject *__pyx_n_s_anon_union5;
  PyObject *__pyx_n_s_anon_union5___reduce_cython;
  PyObject *__pyx_n_s_anon_union5___setstate_cython;
  PyObject *__pyx_n_s_anon_union5_getPtr;
  PyObject *__pyx_n_s_anon_union6;
  PyObject *__pyx_n_s_anon_union6___reduce_cython;
  PyObject *__pyx_n_s_anon_union6___setstate_cython;
  PyObject *__pyx_n_s_anon_union6_getPtr;
  PyObject *__pyx_n_s_anon_union7;
  PyObject *__pyx_n_s_anon_union7___reduce_cython;
  PyObject *__pyx_n_s_anon_union7___setstate_cython;
  PyObject *__pyx_n_s_anon_union7_getPtr;
  PyObject *__pyx_n_s_anon_union8;
  PyObject *__pyx_n_s_anon_union8___reduce_cython;
  PyObject *__pyx_n_s_anon_union8___setstate_cython;
  PyObject *__pyx_n_s_anon_union8_getPtr;
  PyObject *__pyx_n_s_anon_union9;
  PyObject *__pyx_n_s_anon_union9___reduce_cython;
  PyObject *__pyx_n_s_anon_union9___setstate_cython;
  PyObject *__pyx_n_s_anon_union9_getPtr;
  PyObject *__pyx_n_s_args;
  PyObject *__pyx_kp_u_array;
  PyObject *__pyx_kp_u_arrayDesc;
  PyObject *__pyx_n_s_arrayDesc_2;
  PyObject *__pyx_kp_u_arrayDesc_ValueError;
  PyObject *__pyx_n_s_arrayIndex;
  PyObject *__pyx_n_s_array_2;
  PyObject *__pyx_kp_u_array_3;
  PyObject *__pyx_kp_u_array_ValueError;
  PyObject *__pyx_n_s_asyncio_coroutines;
  PyObject *__pyx_n_s_attr;
  PyObject *__pyx_n_s_attrib;
  PyObject *__pyx_n_s_attribute;
  PyObject *__pyx_n_s_attributes;
  PyObject *__pyx_kp_u_attrs;
  PyObject *__pyx_n_s_attrs_2;
  PyObject *__pyx_kp_u_attrs_ValueError;
  PyObject *__pyx_kp_u_base_ptr;
  PyObject *__pyx_n_s_base_ptr_2;
  PyObject *__pyx_kp_u_base_ptr_ValueError;
  PyObject *__pyx_n_s_bias;
  PyObject *__pyx_kp_u_blockDimX;
  PyObject *__pyx_n_s_blockDimX_2;
  PyObject *__pyx_kp_u_blockDimX_ValueError;
  PyObject *__pyx_kp_u_blockDimY;
  PyObject *__pyx_n_s_blockDimY_2;
  PyObject *__pyx_kp_u_blockDimY_ValueError;
  PyObject *__pyx_kp_u_blockDimZ;
  PyObject *__pyx_n_s_blockDimZ_2;
  PyObject *__pyx_kp_u_blockDimZ_ValueError;
  PyObject *__pyx_n_s_blockSize;
  PyObject *__pyx_n_s_blockSizeLimit;
  PyObject *__pyx_n_s_blockSizeToDynamicSMemSize;
  PyObject *__pyx_kp_u_borderColor;
  PyObject *__pyx_n_s_borderColor_2;
  PyObject *__pyx_kp_u_borderColor_ValueError;
  PyObject *__pyx_n_s_boxDim;
  PyObject *__pyx_n_s_buffer;
  PyObject *__pyx_n_s_bufferDesc;
  PyObject *__pyx_kp_u_bytes;
  PyObject *__pyx_kp_u_bytesOverBudget;
  PyObject *__pyx_n_s_bytesOverBudget_2;
  PyObject *__pyx_kp_u_bytesOverBudget_ValueError;
  PyObject *__pyx_n_s_bytes_2;
  PyObject *__pyx_kp_u_bytes_ValueError;
  PyObject *__pyx_kp_u_bytesize;
  PyObject *__pyx_n_s_bytesize_2;
  PyObject *__pyx_kp_u_bytesize_ValueError;
  PyObject *__pyx_n_s_caddr;
  PyObject *__pyx_n_s_caddr_ptr;
  PyObject *__pyx_n_s_cadvice;
  PyObject *__pyx_n_s_callback;
  PyObject *__pyx_n_s_callbackFunc;
  PyObject *__pyx_n_s_cam;
  PyObject *__pyx_n_s_canAccessPeer;
  PyObject *__pyx_n_s_captureStatus;
  PyObject *__pyx_n_s_captureStatus_out;
  PyObject *__pyx_n_s_carray;
  PyObject *__pyx_n_s_cattr;
  PyObject *__pyx_n_s_cattrib;
  PyObject *__pyx_n_s_cattribute;
  PyObject *__pyx_n_s_cattributes;
  PyObject *__pyx_n_s_cblockSizeToDynamicSMemSize;
  PyObject *__pyx_n_s_cboxDim;
  PyObject *__pyx_n_s_cbuffer;
  PyObject *__pyx_n_s_cbufferDesc_ptr;
  PyObject *__pyx_n_s_ccallback;
  PyObject *__pyx_n_s_ccallbackFunc;
  PyObject *__pyx_n_s_cchannelsPerPixel;
  PyObject *__pyx_n_s_cchildGraph;
  PyObject *__pyx_n_s_ccode;
  PyObject *__pyx_n_s_ccode_ptr;
  PyObject *__pyx_n_s_cconfig;
  PyObject *__pyx_n_s_cconfig_ptr;
  PyObject *__pyx_n_s_cconn;
  PyObject *__pyx_n_s_ccopyParams_ptr;
  PyObject *__pyx_n_s_cctx;
  PyObject *__pyx_n_s_cdata;
  PyObject *__pyx_n_s_cdataSizes;
  PyObject *__pyx_n_s_cdata_ptr;
  PyObject *__pyx_n_s_cdependencies;
  PyObject *__pyx_n_s_cdependencies_out;
  PyObject *__pyx_n_s_cdependencyData;
  PyObject *__pyx_n_s_cdependentNodes;
  PyObject *__pyx_n_s_cdesc;
  PyObject *__pyx_n_s_cdesc_ptr;
  PyObject *__pyx_n_s_cdestroy;
  PyObject *__pyx_n_s_cdev;
  PyObject *__pyx_n_s_cdevPtr;
  PyObject *__pyx_n_s_cdevice;
  PyObject *__pyx_n_s_cdeviceList;
  PyObject *__pyx_n_s_cdptr;
  PyObject *__pyx_n_s_cdst;
  PyObject *__pyx_n_s_cdstArray;
  PyObject *__pyx_n_s_cdstContext;
  PyObject *__pyx_n_s_cdstDevice;
  PyObject *__pyx_n_s_cdstHost;
  PyObject *__pyx_n_s_cdstHost_ptr;
  PyObject *__pyx_n_s_cedgeData;
  PyObject *__pyx_n_s_cedgeData_out;
  PyObject *__pyx_n_s_ceglSync;
  PyObject *__pyx_n_s_ceglframe_ptr;
  PyObject *__pyx_n_s_celementStrides;
  PyObject *__pyx_n_s_cerror;
  PyObject *__pyx_n_s_cevent;
  PyObject *__pyx_n_s_cextMem;
  PyObject *__pyx_n_s_cextSem;
  PyObject *__pyx_n_s_cextSemArray;
  PyObject *__pyx_n_s_cf;
  PyObject *__pyx_n_s_cfatCubin;
  PyObject *__pyx_n_s_cfatCubin_ptr;
  PyObject *__pyx_n_s_cflags;
  PyObject *__pyx_n_s_cfm;
  PyObject *__pyx_n_s_cfmt;
  PyObject *__pyx_n_s_cfn;
  PyObject *__pyx_n_s_cfrom;
  PyObject *__pyx_n_s_cfunc;
  PyObject *__pyx_n_s_cfunction;
  PyObject *__pyx_n_s_cfunctions;
  PyObject *__pyx_n_s_cglobalAddress;
  PyObject *__pyx_n_s_cglobalAddress_ptr;
  PyObject *__pyx_n_s_cglobalDim;
  PyObject *__pyx_n_s_cglobalStrides;
  PyObject *__pyx_n_s_cgraph;
  PyObject *__pyx_n_s_chArray;
  PyObject *__pyx_n_s_chClonedGraph;
  PyObject *__pyx_n_s_chCtx;
  PyObject *__pyx_n_s_chEnd;
  PyObject *__pyx_n_s_chEvent;
  PyObject *__pyx_n_s_chGraph;
  PyObject *__pyx_n_s_chGraphExec;
  PyObject *__pyx_n_s_chMipmappedArray;
  PyObject *__pyx_n_s_chNode;
  PyObject *__pyx_n_s_chOriginalNode;
  PyObject *__pyx_n_s_chStart;
  PyObject *__pyx_n_s_chStream;
  PyObject *__pyx_n_s_chSurfRef;
  PyObject *__pyx_n_s_chTexRef;
  PyObject *__pyx_n_s_chandle;
  PyObject *__pyx_n_s_chandleType;
  PyObject *__pyx_n_s_chandle_out;
  PyObject *__pyx_n_s_chandle_out_ptr;
  PyObject *__pyx_n_s_chandle_ptr;
  PyObject *__pyx_n_s_channelsPerPixel;
  PyObject *__pyx_n_s_cheight;
  PyObject *__pyx_n_s_chfunc;
  PyObject *__pyx_n_s_childGraph;
  PyObject *__pyx_n_s_chmod;
  PyObject *__pyx_n_s_cimage;
  PyObject *__pyx_n_s_cimage_ptr;
  PyObject *__pyx_n_s_cinput__ptr;
  PyObject *__pyx_n_s_cinstantiateParams_ptr;
  PyObject *__pyx_n_s_cinterleave;
  PyObject *__pyx_n_s_cjitOptions;
  PyObject *__pyx_n_s_ckernel;
  PyObject *__pyx_n_s_ckernelParams;
  PyObject *__pyx_n_s_ckernels;
  PyObject *__pyx_n_s_cl2Promotion;
  PyObject *__pyx_n_s_cl_context_flags;
  PyObject *__pyx_n_s_cl_event_flags;
  PyObject *__pyx_n_s_claunchParamsList;
  PyObject *__pyx_n_s_clib;
  PyObject *__pyx_n_s_clibrary;
  PyObject *__pyx_n_s_clibraryOptions;
  PyObject *__pyx_n_s_climit;
  PyObject *__pyx_n_s_cline_in_traceback;
  PyObject *__pyx_n_s_clocation_ptr;
  PyObject *__pyx_kp_u_clockRate;
  PyObject *__pyx_n_s_clockRate_2;
  PyObject *__pyx_kp_u_clockRate_ValueError;
  PyObject *__pyx_n_s_close;
  PyObject *__pyx_kp_u_clusterDim;
  PyObject *__pyx_n_s_clusterDim_2;
  PyObject *__pyx_kp_u_clusterDim_ValueError;
  PyObject *__pyx_kp_u_clusterSchedulingPolicyPreferenc;
  PyObject *__pyx_n_s_clusterSchedulingPolicyPreferenc_2;
  PyObject *__pyx_kp_u_clusterSchedulingPolicyPreferenc_3;
  PyObject *__pyx_n_s_clusterSize;
  PyObject *__pyx_n_s_cmap;
  PyObject *__pyx_n_s_cmapInfoList;
  PyObject *__pyx_n_s_cmcHandle;
  PyObject *__pyx_n_s_cmemHandle;
  PyObject *__pyx_n_s_cmemHandleDesc_ptr;
  PyObject *__pyx_n_s_cmemPool;
  PyObject *__pyx_n_s_cmemptr;
  PyObject *__pyx_n_s_cmemsetParams_ptr;
  PyObject *__pyx_n_s_cmipmap;
  PyObject *__pyx_n_s_cmipmapDesc_ptr;
  PyObject *__pyx_n_s_cmod;
  PyObject *__pyx_n_s_cmode;
  PyObject *__pyx_n_s_cnbGroups;
  PyObject *__pyx_n_s_cnodeParams_ptr;
  PyObject *__pyx_n_s_cnodes;
  PyObject *__pyx_n_s_cnvSciSyncAttrList;
  PyObject *__pyx_n_s_cnvSciSyncAttrList_ptr;
  PyObject *__pyx_n_s_cobject;
  PyObject *__pyx_n_s_code;
  PyObject *__pyx_kp_u_compressionType;
  PyObject *__pyx_n_s_compressionType_2;
  PyObject *__pyx_kp_u_compressionType_ValueError;
  PyObject *__pyx_kp_u_conditional;
  PyObject *__pyx_n_s_conditional_2;
  PyObject *__pyx_kp_u_conditional_ValueError;
  PyObject *__pyx_n_s_config;
  PyObject *__pyx_n_s_conn;
  PyObject *__pyx_n_s_coobFill;
  PyObject *__pyx_kp_u_cooperative;
  PyObject *__pyx_n_s_cooperative_2;
  PyObject *__pyx_kp_u_cooperative_ValueError;
  PyObject *__pyx_n_s_coption;
  PyObject *__pyx_n_s_coptions;
  PyObject *__pyx_kp_u_copyCtx;
  PyObject *__pyx_n_s_copyCtx_2;
  PyObject *__pyx_kp_u_copyCtx_ValueError;
  PyObject *__pyx_kp_u_copyParams;
  PyObject *__pyx_n_s_copyParams_2;
  PyObject *__pyx_kp_u_copyParams_ValueError;
  PyObject *__pyx_n_s_coriginalGraph;
  PyObject *__pyx_n_s_cosHandle;
  PyObject *__pyx_n_s_cosHandle_ptr;
  PyObject *__pyx_kp_u_count;
  PyObject *__pyx_n_s_count_2;
  PyObject *__pyx_kp_u_count_ValueError;
  PyObject *__pyx_n_s_cp;
  PyObject *__pyx_n_s_cpAllocateArray_ptr;
  PyObject *__pyx_n_s_cpCopy_ptr;
  PyObject *__pyx_n_s_cpCudaDevices;
  PyObject *__pyx_n_s_cpCudaResource;
  PyObject *__pyx_n_s_cpExportTableId_ptr;
  PyObject *__pyx_n_s_cpMipmappedArrayDesc_ptr;
  PyObject *__pyx_n_s_cpResDesc_ptr;
  PyObject *__pyx_n_s_cpResViewDesc_ptr;
  PyObject *__pyx_n_s_cpStream;
  PyObject *__pyx_n_s_cpTexDesc_ptr;
  PyObject *__pyx_n_s_cp_ptr;
  PyObject *__pyx_n_s_cparamArray;
  PyObject *__pyx_n_s_cparamsArray;
  PyObject *__pyx_n_s_cpeerContext;
  PyObject *__pyx_n_s_cpeerDev;
  PyObject *__pyx_n_s_cpformat;
  PyObject *__pyx_n_s_cpixelBoxLowerCorner;
  PyObject *__pyx_n_s_cpixelBoxUpperCorner;
  PyObject *__pyx_n_s_cpixelsPerColumn;
  PyObject *__pyx_n_s_cpool;
  PyObject *__pyx_n_s_cpoolProps_ptr;
  PyObject *__pyx_n_s_cprop_ptr;
  PyObject *__pyx_n_s_cptr;
  PyObject *__pyx_n_s_cptr_ptr;
  PyObject *__pyx_n_s_cresource;
  PyObject *__pyx_n_s_cresources;
  PyObject *__pyx_n_s_cresult;
  PyObject *__pyx_n_s_crootNodes;
  PyObject *__pyx_n_s_cscope;
  PyObject *__pyx_n_s_csemHandleDesc_ptr;
  PyObject *__pyx_n_s_cshHandleType;
  PyObject *__pyx_n_s_cshareData_ptr;
  PyObject *__pyx_n_s_cshareableHandle;
  PyObject *__pyx_n_s_cshareableHandle_ptr;
  PyObject *__pyx_n_s_csrc;
  PyObject *__pyx_n_s_csrcArray;
  PyObject *__pyx_n_s_csrcContext;
  PyObject *__pyx_n_s_csrcDevice;
  PyObject *__pyx_n_s_csrcHost;
  PyObject *__pyx_n_s_csrcHost_ptr;
  PyObject *__pyx_n_s_cstate;
  PyObject *__pyx_n_s_cstream;
  PyObject *__pyx_n_s_csurfObject;
  PyObject *__pyx_n_s_cswizzle;
  PyObject *__pyx_n_s_ctarget;
  PyObject *__pyx_n_s_ctensorDataType;
  PyObject *__pyx_n_s_ctensorMap_ptr;
  PyObject *__pyx_n_s_ctensorRank;
  PyObject *__pyx_n_s_ctexObject;
  PyObject *__pyx_n_s_cto;
  PyObject *__pyx_kp_u_ctx;
  PyObject *__pyx_n_s_ctxId;
  PyObject *__pyx_n_s_ctx_2;
  PyObject *__pyx_kp_u_ctx_ValueError;
  PyObject *__pyx_n_s_ctypename;
  PyObject *__pyx_n_s_ctypes;
  PyObject *__pyx_n_s_cuArray3DCreate;
  PyObject *__pyx_n_s_cuArray3DGetDescriptor;
  PyObject *__pyx_n_s_cuArrayCreate;
  PyObject *__pyx_n_s_cuArrayDestroy;
  PyObject *__pyx_n_s_cuArrayGetDescriptor;
  PyObject *__pyx_n_s_cuArrayGetMemoryRequirements;
  PyObject *__pyx_n_s_cuArrayGetPlane;
  PyObject *__pyx_n_s_cuArrayGetSparseProperties;
  PyObject *__pyx_n_s_cuCoredumpGetAttribute;
  PyObject *__pyx_n_s_cuCoredumpGetAttributeGlobal;
  PyObject *__pyx_n_s_cuCoredumpSetAttribute;
  PyObject *__pyx_n_s_cuCoredumpSetAttributeGlobal;
  PyObject *__pyx_n_s_cuCtxAttach;
  PyObject *__pyx_n_s_cuCtxCreate;
  PyObject *__pyx_n_s_cuCtxCreate_v3;
  PyObject *__pyx_n_s_cuCtxCreate_v3_locals_genexpr;
  PyObject *__pyx_n_s_cuCtxDestroy;
  PyObject *__pyx_n_s_cuCtxDetach;
  PyObject *__pyx_n_s_cuCtxDisablePeerAccess;
  PyObject *__pyx_n_s_cuCtxEnablePeerAccess;
  PyObject *__pyx_n_s_cuCtxFromGreenCtx;
  PyObject *__pyx_n_s_cuCtxGetApiVersion;
  PyObject *__pyx_n_s_cuCtxGetCacheConfig;
  PyObject *__pyx_n_s_cuCtxGetCurrent;
  PyObject *__pyx_n_s_cuCtxGetDevResource;
  PyObject *__pyx_n_s_cuCtxGetDevice;
  PyObject *__pyx_n_s_cuCtxGetExecAffinity;
  PyObject *__pyx_n_s_cuCtxGetFlags;
  PyObject *__pyx_n_s_cuCtxGetId;
  PyObject *__pyx_n_s_cuCtxGetLimit;
  PyObject *__pyx_n_s_cuCtxGetSharedMemConfig;
  PyObject *__pyx_n_s_cuCtxGetStreamPriorityRange;
  PyObject *__pyx_n_s_cuCtxPopCurrent;
  PyObject *__pyx_n_s_cuCtxPushCurrent;
  PyObject *__pyx_n_s_cuCtxResetPersistingL2Cache;
  PyObject *__pyx_n_s_cuCtxSetCacheConfig;
  PyObject *__pyx_n_s_cuCtxSetCurrent;
  PyObject *__pyx_n_s_cuCtxSetFlags;
  PyObject *__pyx_n_s_cuCtxSetLimit;
  PyObject *__pyx_n_s_cuCtxSetSharedMemConfig;
  PyObject *__pyx_n_s_cuCtxSynchronize;
  PyObject *__pyx_n_s_cuDestroyExternalMemory;
  PyObject *__pyx_n_s_cuDestroyExternalSemaphore;
  PyObject *__pyx_n_s_cuDevResourceGenerateDesc;
  PyObject *__pyx_n_s_cuDevResourceGenerateDesc_locals;
  PyObject *__pyx_n_s_cuDevSmResourceSplitByCount;
  PyObject *__pyx_n_s_cuDeviceCanAccessPeer;
  PyObject *__pyx_n_s_cuDeviceComputeCapability;
  PyObject *__pyx_n_s_cuDeviceGet;
  PyObject *__pyx_n_s_cuDeviceGetAttribute;
  PyObject *__pyx_n_s_cuDeviceGetByPCIBusId;
  PyObject *__pyx_n_s_cuDeviceGetCount;
  PyObject *__pyx_n_s_cuDeviceGetDefaultMemPool;
  PyObject *__pyx_n_s_cuDeviceGetDevResource;
  PyObject *__pyx_n_s_cuDeviceGetExecAffinitySupport;
  PyObject *__pyx_n_s_cuDeviceGetGraphMemAttribute;
  PyObject *__pyx_n_s_cuDeviceGetLuid;
  PyObject *__pyx_n_s_cuDeviceGetMemPool;
  PyObject *__pyx_n_s_cuDeviceGetName;
  PyObject *__pyx_n_s_cuDeviceGetNvSciSyncAttributes;
  PyObject *__pyx_n_s_cuDeviceGetP2PAttribute;
  PyObject *__pyx_n_s_cuDeviceGetPCIBusId;
  PyObject *__pyx_n_s_cuDeviceGetProperties;
  PyObject *__pyx_n_s_cuDeviceGetTexture1DLinearMaxWid;
  PyObject *__pyx_n_s_cuDeviceGetUuid;
  PyObject *__pyx_n_s_cuDeviceGetUuid_v2;
  PyObject *__pyx_n_s_cuDeviceGraphMemTrim;
  PyObject *__pyx_n_s_cuDevicePrimaryCtxGetState;
  PyObject *__pyx_n_s_cuDevicePrimaryCtxRelease;
  PyObject *__pyx_n_s_cuDevicePrimaryCtxReset;
  PyObject *__pyx_n_s_cuDevicePrimaryCtxRetain;
  PyObject *__pyx_n_s_cuDevicePrimaryCtxSetFlags;
  PyObject *__pyx_n_s_cuDeviceRegisterAsyncNotificatio;
  PyObject *__pyx_n_s_cuDeviceSetGraphMemAttribute;
  PyObject *__pyx_n_s_cuDeviceSetMemPool;
  PyObject *__pyx_n_s_cuDeviceTotalMem;
  PyObject *__pyx_n_s_cuDeviceUnregisterAsyncNotificat;
  PyObject *__pyx_n_s_cuDriverGetVersion;
  PyObject *__pyx_n_s_cuEGLStreamConsumerAcquireFrame;
  PyObject *__pyx_n_s_cuEGLStreamConsumerConnect;
  PyObject *__pyx_n_s_cuEGLStreamConsumerConnectWithFl;
  PyObject *__pyx_n_s_cuEGLStreamConsumerDisconnect;
  PyObject *__pyx_n_s_cuEGLStreamConsumerReleaseFrame;
  PyObject *__pyx_n_s_cuEGLStreamProducerConnect;
  PyObject *__pyx_n_s_cuEGLStreamProducerDisconnect;
  PyObject *__pyx_n_s_cuEGLStreamProducerPresentFrame;
  PyObject *__pyx_n_s_cuEGLStreamProducerReturnFrame;
  PyObject *__pyx_n_s_cuEventCreate;
  PyObject *__pyx_n_s_cuEventCreateFromEGLSync;
  PyObject *__pyx_n_s_cuEventDestroy;
  PyObject *__pyx_n_s_cuEventElapsedTime;
  PyObject *__pyx_n_s_cuEventQuery;
  PyObject *__pyx_n_s_cuEventRecord;
  PyObject *__pyx_n_s_cuEventRecordWithFlags;
  PyObject *__pyx_n_s_cuEventSynchronize;
  PyObject *__pyx_n_s_cuExternalMemoryGetMappedBuffer;
  PyObject *__pyx_n_s_cuExternalMemoryGetMappedMipmapp;
  PyObject *__pyx_n_s_cuFlushGPUDirectRDMAWrites;
  PyObject *__pyx_kp_u_cuFormat;
  PyObject *__pyx_n_s_cuFormat_2;
  PyObject *__pyx_kp_u_cuFormat_ValueError;
  PyObject *__pyx_n_s_cuFuncGetAttribute;
  PyObject *__pyx_n_s_cuFuncGetModule;
  PyObject *__pyx_n_s_cuFuncGetName;
  PyObject *__pyx_n_s_cuFuncGetParamInfo;
  PyObject *__pyx_n_s_cuFuncIsLoaded;
  PyObject *__pyx_n_s_cuFuncLoad;
  PyObject *__pyx_n_s_cuFuncSetAttribute;
  PyObject *__pyx_n_s_cuFuncSetBlockShape;
  PyObject *__pyx_n_s_cuFuncSetCacheConfig;
  PyObject *__pyx_n_s_cuFuncSetSharedMemConfig;
  PyObject *__pyx_n_s_cuFuncSetSharedSize;
  PyObject *__pyx_n_s_cuGLGetDevices;
  PyObject *__pyx_n_s_cuGetErrorName;
  PyObject *__pyx_n_s_cuGetErrorString;
  PyObject *__pyx_n_s_cuGetExportTable;
  PyObject *__pyx_n_s_cuGetProcAddress;
  PyObject *__pyx_n_s_cuGraphAddBatchMemOpNode;
  PyObject *__pyx_n_s_cuGraphAddBatchMemOpNode_locals;
  PyObject *__pyx_n_s_cuGraphAddChildGraphNode;
  PyObject *__pyx_n_s_cuGraphAddChildGraphNode_locals;
  PyObject *__pyx_n_s_cuGraphAddDependencies;
  PyObject *__pyx_n_s_cuGraphAddDependencies_locals_ge;
  PyObject *__pyx_n_s_cuGraphAddDependencies_v2;
  PyObject *__pyx_n_s_cuGraphAddDependencies_v2_locals;
  PyObject *__pyx_n_s_cuGraphAddEmptyNode;
  PyObject *__pyx_n_s_cuGraphAddEmptyNode_locals_genex;
  PyObject *__pyx_n_s_cuGraphAddEventRecordNode;
  PyObject *__pyx_n_s_cuGraphAddEventRecordNode_locals;
  PyObject *__pyx_n_s_cuGraphAddEventWaitNode;
  PyObject *__pyx_n_s_cuGraphAddEventWaitNode_locals_g;
  PyObject *__pyx_n_s_cuGraphAddExternalSemaphoresSign;
  PyObject *__pyx_n_s_cuGraphAddExternalSemaphoresSign_2;
  PyObject *__pyx_n_s_cuGraphAddExternalSemaphoresWait;
  PyObject *__pyx_n_s_cuGraphAddExternalSemaphoresWait_2;
  PyObject *__pyx_n_s_cuGraphAddHostNode;
  PyObject *__pyx_n_s_cuGraphAddHostNode_locals_genexp;
  PyObject *__pyx_n_s_cuGraphAddKernelNode;
  PyObject *__pyx_n_s_cuGraphAddKernelNode_locals_gene;
  PyObject *__pyx_n_s_cuGraphAddMemAllocNode;
  PyObject *__pyx_n_s_cuGraphAddMemAllocNode_locals_ge;
  PyObject *__pyx_n_s_cuGraphAddMemFreeNode;
  PyObject *__pyx_n_s_cuGraphAddMemFreeNode_locals_gen;
  PyObject *__pyx_n_s_cuGraphAddMemcpyNode;
  PyObject *__pyx_n_s_cuGraphAddMemcpyNode_locals_gene;
  PyObject *__pyx_n_s_cuGraphAddMemsetNode;
  PyObject *__pyx_n_s_cuGraphAddMemsetNode_locals_gene;
  PyObject *__pyx_n_s_cuGraphAddNode;
  PyObject *__pyx_n_s_cuGraphAddNode_locals_genexpr;
  PyObject *__pyx_n_s_cuGraphAddNode_v2;
  PyObject *__pyx_n_s_cuGraphAddNode_v2_locals_genexpr;
  PyObject *__pyx_n_s_cuGraphBatchMemOpNodeGetParams;
  PyObject *__pyx_n_s_cuGraphBatchMemOpNodeSetParams;
  PyObject *__pyx_n_s_cuGraphChildGraphNodeGetGraph;
  PyObject *__pyx_n_s_cuGraphClone;
  PyObject *__pyx_n_s_cuGraphConditionalHandleCreate;
  PyObject *__pyx_n_s_cuGraphCreate;
  PyObject *__pyx_n_s_cuGraphDebugDotPrint;
  PyObject *__pyx_n_s_cuGraphDestroy;
  PyObject *__pyx_n_s_cuGraphDestroyNode;
  PyObject *__pyx_n_s_cuGraphEventRecordNodeGetEvent;
  PyObject *__pyx_n_s_cuGraphEventRecordNodeSetEvent;
  PyObject *__pyx_n_s_cuGraphEventWaitNodeGetEvent;
  PyObject *__pyx_n_s_cuGraphEventWaitNodeSetEvent;
  PyObject *__pyx_n_s_cuGraphExecBatchMemOpNodeSetPara;
  PyObject *__pyx_n_s_cuGraphExecChildGraphNodeSetPara;
  PyObject *__pyx_n_s_cuGraphExecDestroy;
  PyObject *__pyx_n_s_cuGraphExecEventRecordNodeSetEve;
  PyObject *__pyx_n_s_cuGraphExecEventWaitNodeSetEvent;
  PyObject *__pyx_n_s_cuGraphExecExternalSemaphoresSig;
  PyObject *__pyx_n_s_cuGraphExecExternalSemaphoresWai;
  PyObject *__pyx_n_s_cuGraphExecGetFlags;
  PyObject *__pyx_n_s_cuGraphExecHostNodeSetParams;
  PyObject *__pyx_n_s_cuGraphExecKernelNodeSetParams;
  PyObject *__pyx_n_s_cuGraphExecMemcpyNodeSetParams;
  PyObject *__pyx_n_s_cuGraphExecMemsetNodeSetParams;
  PyObject *__pyx_n_s_cuGraphExecNodeSetParams;
  PyObject *__pyx_n_s_cuGraphExecUpdate;
  PyObject *__pyx_n_s_cuGraphExternalSemaphoresSignalN;
  PyObject *__pyx_n_s_cuGraphExternalSemaphoresSignalN_2;
  PyObject *__pyx_n_s_cuGraphExternalSemaphoresWaitNod;
  PyObject *__pyx_n_s_cuGraphExternalSemaphoresWaitNod_2;
  PyObject *__pyx_n_s_cuGraphGetEdges;
  PyObject *__pyx_n_s_cuGraphGetEdges_v2;
  PyObject *__pyx_n_s_cuGraphGetNodes;
  PyObject *__pyx_n_s_cuGraphGetRootNodes;
  PyObject *__pyx_n_s_cuGraphHostNodeGetParams;
  PyObject *__pyx_n_s_cuGraphHostNodeSetParams;
  PyObject *__pyx_n_s_cuGraphInstantiate;
  PyObject *__pyx_n_s_cuGraphInstantiateWithParams;
  PyObject *__pyx_n_s_cuGraphKernelNodeCopyAttributes;
  PyObject *__pyx_n_s_cuGraphKernelNodeGetAttribute;
  PyObject *__pyx_n_s_cuGraphKernelNodeGetParams;
  PyObject *__pyx_n_s_cuGraphKernelNodeSetAttribute;
  PyObject *__pyx_n_s_cuGraphKernelNodeSetParams;
  PyObject *__pyx_n_s_cuGraphLaunch;
  PyObject *__pyx_n_s_cuGraphMemAllocNodeGetParams;
  PyObject *__pyx_n_s_cuGraphMemFreeNodeGetParams;
  PyObject *__pyx_n_s_cuGraphMemcpyNodeGetParams;
  PyObject *__pyx_n_s_cuGraphMemcpyNodeSetParams;
  PyObject *__pyx_n_s_cuGraphMemsetNodeGetParams;
  PyObject *__pyx_n_s_cuGraphMemsetNodeSetParams;
  PyObject *__pyx_n_s_cuGraphNodeFindInClone;
  PyObject *__pyx_n_s_cuGraphNodeGetDependencies;
  PyObject *__pyx_n_s_cuGraphNodeGetDependencies_v2;
  PyObject *__pyx_n_s_cuGraphNodeGetDependentNodes;
  PyObject *__pyx_n_s_cuGraphNodeGetDependentNodes_v2;
  PyObject *__pyx_n_s_cuGraphNodeGetEnabled;
  PyObject *__pyx_n_s_cuGraphNodeGetType;
  PyObject *__pyx_n_s_cuGraphNodeSetEnabled;
  PyObject *__pyx_n_s_cuGraphNodeSetParams;
  PyObject *__pyx_n_s_cuGraphReleaseUserObject;
  PyObject *__pyx_n_s_cuGraphRemoveDependencies;
  PyObject *__pyx_n_s_cuGraphRemoveDependencies_locals;
  PyObject *__pyx_n_s_cuGraphRemoveDependencies_v2;
  PyObject *__pyx_n_s_cuGraphRemoveDependencies_v2_loc;
  PyObject *__pyx_n_s_cuGraphRetainUserObject;
  PyObject *__pyx_n_s_cuGraphUpload;
  PyObject *__pyx_n_s_cuGraphicsEGLRegisterImage;
  PyObject *__pyx_n_s_cuGraphicsGLRegisterBuffer;
  PyObject *__pyx_n_s_cuGraphicsGLRegisterImage;
  PyObject *__pyx_n_s_cuGraphicsMapResources;
  PyObject *__pyx_n_s_cuGraphicsResourceGetMappedEglFr;
  PyObject *__pyx_n_s_cuGraphicsResourceGetMappedMipma;
  PyObject *__pyx_n_s_cuGraphicsResourceGetMappedPoint;
  PyObject *__pyx_n_s_cuGraphicsResourceSetMapFlags;
  PyObject *__pyx_n_s_cuGraphicsSubResourceGetMappedAr;
  PyObject *__pyx_n_s_cuGraphicsUnmapResources;
  PyObject *__pyx_n_s_cuGraphicsUnregisterResource;
  PyObject *__pyx_n_s_cuGraphicsVDPAURegisterOutputSur;
  PyObject *__pyx_n_s_cuGraphicsVDPAURegisterVideoSurf;
  PyObject *__pyx_n_s_cuGreenCtxCreate;
  PyObject *__pyx_n_s_cuGreenCtxDestroy;
  PyObject *__pyx_n_s_cuGreenCtxGetDevResource;
  PyObject *__pyx_n_s_cuGreenCtxRecordEvent;
  PyObject *__pyx_n_s_cuGreenCtxWaitEvent;
  PyObject *__pyx_n_s_cuImportExternalMemory;
  PyObject *__pyx_n_s_cuImportExternalSemaphore;
  PyObject *__pyx_n_s_cuInit;
  PyObject *__pyx_n_s_cuIpcCloseMemHandle;
  PyObject *__pyx_n_s_cuIpcGetEventHandle;
  PyObject *__pyx_n_s_cuIpcGetMemHandle;
  PyObject *__pyx_n_s_cuIpcOpenEventHandle;
  PyObject *__pyx_n_s_cuIpcOpenMemHandle;
  PyObject *__pyx_n_s_cuKernelGetAttribute;
  PyObject *__pyx_n_s_cuKernelGetFunction;
  PyObject *__pyx_n_s_cuKernelGetName;
  PyObject *__pyx_n_s_cuKernelGetParamInfo;
  PyObject *__pyx_n_s_cuKernelSetAttribute;
  PyObject *__pyx_n_s_cuKernelSetCacheConfig;
  PyObject *__pyx_n_s_cuLaunch;
  PyObject *__pyx_n_s_cuLaunchCooperativeKernel;
  PyObject *__pyx_n_s_cuLaunchCooperativeKernelMultiDe;
  PyObject *__pyx_n_s_cuLaunchCooperativeKernelMultiDe_2;
  PyObject *__pyx_n_s_cuLaunchGrid;
  PyObject *__pyx_n_s_cuLaunchGridAsync;
  PyObject *__pyx_n_s_cuLaunchHostFunc;
  PyObject *__pyx_n_s_cuLaunchKernel;
  PyObject *__pyx_n_s_cuLaunchKernelEx;
  PyObject *__pyx_n_s_cuLibraryEnumerateKernels;
  PyObject *__pyx_n_s_cuLibraryGetGlobal;
  PyObject *__pyx_n_s_cuLibraryGetKernel;
  PyObject *__pyx_n_s_cuLibraryGetKernelCount;
  PyObject *__pyx_n_s_cuLibraryGetManaged;
  PyObject *__pyx_n_s_cuLibraryGetModule;
  PyObject *__pyx_n_s_cuLibraryGetUnifiedFunction;
  PyObject *__pyx_n_s_cuLibraryLoadData;
  PyObject *__pyx_n_s_cuLibraryLoadData_locals_genexpr;
  PyObject *__pyx_n_s_cuLibraryLoadFromFile;
  PyObject *__pyx_n_s_cuLibraryLoadFromFile_locals_gen;
  PyObject *__pyx_n_s_cuLibraryUnload;
  PyObject *__pyx_n_s_cuLinkAddData;
  PyObject *__pyx_n_s_cuLinkAddData_locals_genexpr;
  PyObject *__pyx_n_s_cuLinkAddFile;
  PyObject *__pyx_n_s_cuLinkAddFile_locals_genexpr;
  PyObject *__pyx_n_s_cuLinkComplete;
  PyObject *__pyx_n_s_cuLinkCreate;
  PyObject *__pyx_n_s_cuLinkCreate_locals_genexpr;
  PyObject *__pyx_n_s_cuLinkDestroy;
  PyObject *__pyx_n_s_cuMemAddressFree;
  PyObject *__pyx_n_s_cuMemAddressReserve;
  PyObject *__pyx_n_s_cuMemAdvise;
  PyObject *__pyx_n_s_cuMemAdvise_v2;
  PyObject *__pyx_n_s_cuMemAlloc;
  PyObject *__pyx_n_s_cuMemAllocAsync;
  PyObject *__pyx_n_s_cuMemAllocFromPoolAsync;
  PyObject *__pyx_n_s_cuMemAllocHost;
  PyObject *__pyx_n_s_cuMemAllocManaged;
  PyObject *__pyx_n_s_cuMemAllocPitch;
  PyObject *__pyx_n_s_cuMemCreate;
  PyObject *__pyx_n_s_cuMemExportToShareableHandle;
  PyObject *__pyx_n_s_cuMemFree;
  PyObject *__pyx_n_s_cuMemFreeAsync;
  PyObject *__pyx_n_s_cuMemFreeHost;
  PyObject *__pyx_n_s_cuMemGetAccess;
  PyObject *__pyx_n_s_cuMemGetAddressRange;
  PyObject *__pyx_n_s_cuMemGetAllocationGranularity;
  PyObject *__pyx_n_s_cuMemGetAllocationPropertiesFrom;
  PyObject *__pyx_n_s_cuMemGetHandleForAddressRange;
  PyObject *__pyx_n_s_cuMemGetInfo;
  PyObject *__pyx_n_s_cuMemHostAlloc;
  PyObject *__pyx_n_s_cuMemHostGetDevicePointer;
  PyObject *__pyx_n_s_cuMemHostGetFlags;
  PyObject *__pyx_n_s_cuMemHostRegister;
  PyObject *__pyx_n_s_cuMemHostUnregister;
  PyObject *__pyx_n_s_cuMemImportFromShareableHandle;
  PyObject *__pyx_n_s_cuMemMap;
  PyObject *__pyx_n_s_cuMemMapArrayAsync;
  PyObject *__pyx_n_s_cuMemMapArrayAsync_locals_genexp;
  PyObject *__pyx_n_s_cuMemPoolCreate;
  PyObject *__pyx_n_s_cuMemPoolDestroy;
  PyObject *__pyx_n_s_cuMemPoolExportPointer;
  PyObject *__pyx_n_s_cuMemPoolExportToShareableHandle;
  PyObject *__pyx_n_s_cuMemPoolGetAccess;
  PyObject *__pyx_n_s_cuMemPoolGetAttribute;
  PyObject *__pyx_n_s_cuMemPoolImportFromShareableHand;
  PyObject *__pyx_n_s_cuMemPoolImportPointer;
  PyObject *__pyx_n_s_cuMemPoolSetAccess;
  PyObject *__pyx_n_s_cuMemPoolSetAccess_locals_genexp;
  PyObject *__pyx_n_s_cuMemPoolSetAttribute;
  PyObject *__pyx_n_s_cuMemPoolTrimTo;
  PyObject *__pyx_n_s_cuMemPrefetchAsync;
  PyObject *__pyx_n_s_cuMemPrefetchAsync_v2;
  PyObject *__pyx_n_s_cuMemRangeGetAttribute;
  PyObject *__pyx_n_s_cuMemRangeGetAttributes;
  PyObject *__pyx_n_s_cuMemRangeGetAttributes_locals_g;
  PyObject *__pyx_n_s_cuMemRelease;
  PyObject *__pyx_n_s_cuMemRetainAllocationHandle;
  PyObject *__pyx_n_s_cuMemSetAccess;
  PyObject *__pyx_n_s_cuMemSetAccess_locals_genexpr;
  PyObject *__pyx_n_s_cuMemUnmap;
  PyObject *__pyx_n_s_cuMemcpy;
  PyObject *__pyx_n_s_cuMemcpy2D;
  PyObject *__pyx_n_s_cuMemcpy2DAsync;
  PyObject *__pyx_n_s_cuMemcpy2DUnaligned;
  PyObject *__pyx_n_s_cuMemcpy3D;
  PyObject *__pyx_n_s_cuMemcpy3DAsync;
  PyObject *__pyx_n_s_cuMemcpy3DPeer;
  PyObject *__pyx_n_s_cuMemcpy3DPeerAsync;
  PyObject *__pyx_n_s_cuMemcpyAsync;
  PyObject *__pyx_n_s_cuMemcpyAtoA;
  PyObject *__pyx_n_s_cuMemcpyAtoD;
  PyObject *__pyx_n_s_cuMemcpyAtoH;
  PyObject *__pyx_n_s_cuMemcpyAtoHAsync;
  PyObject *__pyx_n_s_cuMemcpyDtoA;
  PyObject *__pyx_n_s_cuMemcpyDtoD;
  PyObject *__pyx_n_s_cuMemcpyDtoDAsync;
  PyObject *__pyx_n_s_cuMemcpyDtoH;
  PyObject *__pyx_n_s_cuMemcpyDtoHAsync;
  PyObject *__pyx_n_s_cuMemcpyHtoA;
  PyObject *__pyx_n_s_cuMemcpyHtoAAsync;
  PyObject *__pyx_n_s_cuMemcpyHtoD;
  PyObject *__pyx_n_s_cuMemcpyHtoDAsync;
  PyObject *__pyx_n_s_cuMemcpyPeer;
  PyObject *__pyx_n_s_cuMemcpyPeerAsync;
  PyObject *__pyx_n_s_cuMemsetD16;
  PyObject *__pyx_n_s_cuMemsetD16Async;
  PyObject *__pyx_n_s_cuMemsetD2D16;
  PyObject *__pyx_n_s_cuMemsetD2D16Async;
  PyObject *__pyx_n_s_cuMemsetD2D32;
  PyObject *__pyx_n_s_cuMemsetD2D32Async;
  PyObject *__pyx_n_s_cuMemsetD2D8;
  PyObject *__pyx_n_s_cuMemsetD2D8Async;
  PyObject *__pyx_n_s_cuMemsetD32;
  PyObject *__pyx_n_s_cuMemsetD32Async;
  PyObject *__pyx_n_s_cuMemsetD8;
  PyObject *__pyx_n_s_cuMemsetD8Async;
  PyObject *__pyx_n_s_cuMipmappedArrayCreate;
  PyObject *__pyx_n_s_cuMipmappedArrayDestroy;
  PyObject *__pyx_n_s_cuMipmappedArrayGetLevel;
  PyObject *__pyx_n_s_cuMipmappedArrayGetMemoryRequire;
  PyObject *__pyx_n_s_cuMipmappedArrayGetSparsePropert;
  PyObject *__pyx_n_s_cuModuleEnumerateFunctions;
  PyObject *__pyx_n_s_cuModuleGetFunction;
  PyObject *__pyx_n_s_cuModuleGetFunctionCount;
  PyObject *__pyx_n_s_cuModuleGetGlobal;
  PyObject *__pyx_n_s_cuModuleGetLoadingMode;
  PyObject *__pyx_n_s_cuModuleGetSurfRef;
  PyObject *__pyx_n_s_cuModuleGetTexRef;
  PyObject *__pyx_n_s_cuModuleLoad;
  PyObject *__pyx_n_s_cuModuleLoadData;
  PyObject *__pyx_n_s_cuModuleLoadDataEx;
  PyObject *__pyx_n_s_cuModuleLoadDataEx_locals_genexp;
  PyObject *__pyx_n_s_cuModuleLoadFatBinary;
  PyObject *__pyx_n_s_cuModuleUnload;
  PyObject *__pyx_n_s_cuMulticastAddDevice;
  PyObject *__pyx_n_s_cuMulticastBindAddr;
  PyObject *__pyx_n_s_cuMulticastBindMem;
  PyObject *__pyx_n_s_cuMulticastCreate;
  PyObject *__pyx_n_s_cuMulticastGetGranularity;
  PyObject *__pyx_n_s_cuMulticastUnbind;
  PyObject *__pyx_n_s_cuOccupancyAvailableDynamicSMemP;
  PyObject *__pyx_n_s_cuOccupancyMaxActiveBlocksPerMul;
  PyObject *__pyx_n_s_cuOccupancyMaxActiveBlocksPerMul_2;
  PyObject *__pyx_n_s_cuOccupancyMaxActiveClusters;
  PyObject *__pyx_n_s_cuOccupancyMaxPotentialBlockSize;
  PyObject *__pyx_n_s_cuOccupancyMaxPotentialBlockSize_2;
  PyObject *__pyx_n_s_cuOccupancyMaxPotentialClusterSi;
  PyObject *__pyx_n_s_cuParamSetSize;
  PyObject *__pyx_n_s_cuParamSetTexRef;
  PyObject *__pyx_n_s_cuParamSetf;
  PyObject *__pyx_n_s_cuParamSeti;
  PyObject *__pyx_n_s_cuParamSetv;
  PyObject *__pyx_n_s_cuPointerGetAttribute;
  PyObject *__pyx_n_s_cuPointerGetAttributes;
  PyObject *__pyx_n_s_cuPointerGetAttributes_locals_ge;
  PyObject *__pyx_n_s_cuPointerSetAttribute;
  PyObject *__pyx_n_s_cuProfilerStart;
  PyObject *__pyx_n_s_cuProfilerStop;
  PyObject *__pyx_n_s_cuSignalExternalSemaphoresAsync;
  PyObject *__pyx_n_s_cuSignalExternalSemaphoresAsync_2;
  PyObject *__pyx_n_s_cuStreamAddCallback;
  PyObject *__pyx_n_s_cuStreamAttachMemAsync;
  PyObject *__pyx_n_s_cuStreamBatchMemOp;
  PyObject *__pyx_n_s_cuStreamBatchMemOp_locals_genexp;
  PyObject *__pyx_n_s_cuStreamBeginCapture;
  PyObject *__pyx_n_s_cuStreamBeginCaptureToGraph;
  PyObject *__pyx_n_s_cuStreamBeginCaptureToGraph_loca;
  PyObject *__pyx_n_s_cuStreamCopyAttributes;
  PyObject *__pyx_n_s_cuStreamCreate;
  PyObject *__pyx_n_s_cuStreamCreateWithPriority;
  PyObject *__pyx_n_s_cuStreamDestroy;
  PyObject *__pyx_n_s_cuStreamEndCapture;
  PyObject *__pyx_n_s_cuStreamGetAttribute;
  PyObject *__pyx_n_s_cuStreamGetCaptureInfo;
  PyObject *__pyx_n_s_cuStreamGetCaptureInfo_v3;
  PyObject *__pyx_n_s_cuStreamGetCtx;
  PyObject *__pyx_n_s_cuStreamGetFlags;
  PyObject *__pyx_n_s_cuStreamGetGreenCtx;
  PyObject *__pyx_n_s_cuStreamGetId;
  PyObject *__pyx_n_s_cuStreamGetPriority;
  PyObject *__pyx_n_s_cuStreamIsCapturing;
  PyObject *__pyx_n_s_cuStreamQuery;
  PyObject *__pyx_n_s_cuStreamSetAttribute;
  PyObject *__pyx_n_s_cuStreamSynchronize;
  PyObject *__pyx_n_s_cuStreamUpdateCaptureDependencie;
  PyObject *__pyx_n_s_cuStreamUpdateCaptureDependencie_2;
  PyObject *__pyx_n_s_cuStreamUpdateCaptureDependencie_3;
  PyObject *__pyx_n_s_cuStreamUpdateCaptureDependencie_4;
  PyObject *__pyx_n_s_cuStreamWaitEvent;
  PyObject *__pyx_n_s_cuStreamWaitValue32;
  PyObject *__pyx_n_s_cuStreamWaitValue64;
  PyObject *__pyx_n_s_cuStreamWriteValue32;
  PyObject *__pyx_n_s_cuStreamWriteValue64;
  PyObject *__pyx_n_s_cuSurfObjectCreate;
  PyObject *__pyx_n_s_cuSurfObjectDestroy;
  PyObject *__pyx_n_s_cuSurfObjectGetResourceDesc;
  PyObject *__pyx_n_s_cuSurfRefGetArray;
  PyObject *__pyx_n_s_cuSurfRefSetArray;
  PyObject *__pyx_n_s_cuTensorMapEncodeIm2col;
  PyObject *__pyx_n_s_cuTensorMapEncodeIm2col_locals_g;
  PyObject *__pyx_n_s_cuTensorMapEncodeTiled;
  PyObject *__pyx_n_s_cuTensorMapEncodeTiled_locals_ge;
  PyObject *__pyx_n_s_cuTensorMapReplaceAddress;
  PyObject *__pyx_n_s_cuTexObjectCreate;
  PyObject *__pyx_n_s_cuTexObjectDestroy;
  PyObject *__pyx_n_s_cuTexObjectGetResourceDesc;
  PyObject *__pyx_n_s_cuTexObjectGetResourceViewDesc;
  PyObject *__pyx_n_s_cuTexObjectGetTextureDesc;
  PyObject *__pyx_n_s_cuTexRefCreate;
  PyObject *__pyx_n_s_cuTexRefDestroy;
  PyObject *__pyx_n_s_cuTexRefGetAddress;
  PyObject *__pyx_n_s_cuTexRefGetAddressMode;
  PyObject *__pyx_n_s_cuTexRefGetArray;
  PyObject *__pyx_n_s_cuTexRefGetBorderColor;
  PyObject *__pyx_n_s_cuTexRefGetFilterMode;
  PyObject *__pyx_n_s_cuTexRefGetFlags;
  PyObject *__pyx_n_s_cuTexRefGetFormat;
  PyObject *__pyx_n_s_cuTexRefGetMaxAnisotropy;
  PyObject *__pyx_n_s_cuTexRefGetMipmapFilterMode;
  PyObject *__pyx_n_s_cuTexRefGetMipmapLevelBias;
  PyObject *__pyx_n_s_cuTexRefGetMipmapLevelClamp;
  PyObject *__pyx_n_s_cuTexRefGetMipmappedArray;
  PyObject *__pyx_n_s_cuTexRefSetAddress;
  PyObject *__pyx_n_s_cuTexRefSetAddress2D;
  PyObject *__pyx_n_s_cuTexRefSetAddressMode;
  PyObject *__pyx_n_s_cuTexRefSetArray;
  PyObject *__pyx_n_s_cuTexRefSetBorderColor;
  PyObject *__pyx_n_s_cuTexRefSetFilterMode;
  PyObject *__pyx_n_s_cuTexRefSetFlags;
  PyObject *__pyx_n_s_cuTexRefSetFormat;
  PyObject *__pyx_n_s_cuTexRefSetMaxAnisotropy;
  PyObject *__pyx_n_s_cuTexRefSetMipmapFilterMode;
  PyObject *__pyx_n_s_cuTexRefSetMipmapLevelBias;
  PyObject *__pyx_n_s_cuTexRefSetMipmapLevelClamp;
  PyObject *__pyx_n_s_cuTexRefSetMipmappedArray;
  PyObject *__pyx_n_s_cuThreadExchangeStreamCaptureMod;
  PyObject *__pyx_n_s_cuUserObjectCreate;
  PyObject *__pyx_n_s_cuUserObjectRelease;
  PyObject *__pyx_n_s_cuUserObjectRetain;
  PyObject *__pyx_n_s_cuVDPAUCtxCreate;
  PyObject *__pyx_n_s_cuVDPAUGetDevice;
  PyObject *__pyx_n_s_cuWaitExternalSemaphoresAsync;
  PyObject *__pyx_n_s_cuWaitExternalSemaphoresAsync_lo;
  PyObject *__pyx_n_s_cubinOut;
  PyObject *__pyx_n_s_cudaDeviceCount;
  PyObject *__pyx_n_s_cudaVersion;
  PyObject *__pyx_n_s_cuda_cuda;
  PyObject *__pyx_kp_s_cuda_cuda_pyx;
  PyObject *__pyx_n_s_cuserData;
  PyObject *__pyx_n_s_cuserData_ptr;
  PyObject *__pyx_kp_u_cuuint32_t;
  PyObject *__pyx_n_s_cuuint32_t_2;
  PyObject *__pyx_n_s_cuuint32_t___reduce_cython;
  PyObject *__pyx_n_s_cuuint32_t___setstate_cython;
  PyObject *__pyx_n_s_cuuint32_t_getPtr;
  PyObject *__pyx_kp_u_cuuint64_t;
  PyObject *__pyx_n_s_cuuint64_t_2;
  PyObject *__pyx_n_s_cuuint64_t___reduce_cython;
  PyObject *__pyx_n_s_cuuint64_t___setstate_cython;
  PyObject *__pyx_n_s_cuuint64_t_getPtr;
  PyObject *__pyx_n_s_cvalue;
  PyObject *__pyx_n_s_cvalue_ptr;
  PyObject *__pyx_n_s_cvdpDevice;
  PyObject *__pyx_n_s_cvdpGetProcAddress;
  PyObject *__pyx_n_s_cvdpSurface;
  PyObject *__pyx_n_s_cvoidStarHelper_ptr;
  PyObject *__pyx_n_s_cwidth;
  PyObject *__pyx_kp_u_data;
  PyObject *__pyx_n_s_dataSize;
  PyObject *__pyx_n_s_dataSizes;
  PyObject *__pyx_kp_u_dataTable;
  PyObject *__pyx_n_s_dataTable_2;
  PyObject *__pyx_kp_u_dataTable_ValueError;
  PyObject *__pyx_kp_u_dataWindowSize;
  PyObject *__pyx_n_s_dataWindowSize_2;
  PyObject *__pyx_kp_u_dataWindowSize_ValueError;
  PyObject *__pyx_n_s_data_2;
  PyObject *__pyx_kp_u_data_ValueError;
  PyObject *__pyx_kp_u_data_length_must_be_64_is;
  PyObject *__pyx_kp_u_default;
  PyObject *__pyx_n_s_defaultLaunchValue;
  PyObject *__pyx_n_s_default_2;
  PyObject *__pyx_kp_u_default__ValueError;
  PyObject *__pyx_n_s_dependencies;
  PyObject *__pyx_n_s_dependencyData;
  PyObject *__pyx_kp_u_depth;
  PyObject *__pyx_n_s_depth_2;
  PyObject *__pyx_kp_u_depth_ValueError;
  PyObject *__pyx_n_s_desc;
  PyObject *__pyx_n_s_destroy;
  PyObject *__pyx_n_s_dev;
  PyObject *__pyx_kp_u_devNode;
  PyObject *__pyx_n_s_devNode_2;
  PyObject *__pyx_kp_u_devNode_ValueError;
  PyObject *__pyx_kp_u_devPtr;
  PyObject *__pyx_n_s_devPtr_2;
  PyObject *__pyx_kp_u_devPtr_ValueError;
  PyObject *__pyx_n_s_device;
  PyObject *__pyx_kp_u_deviceBitMask;
  PyObject *__pyx_n_s_deviceBitMask_2;
  PyObject *__pyx_kp_u_deviceBitMask_ValueError;
  PyObject *__pyx_n_s_deviceList;
  PyObject *__pyx_n_s_deviceNodeMask;
  PyObject *__pyx_kp_u_deviceUpdatable;
  PyObject *__pyx_kp_u_deviceUpdatableKernelNode;
  PyObject *__pyx_n_s_deviceUpdatableKernelNode_2;
  PyObject *__pyx_kp_u_deviceUpdatableKernelNode_ValueE;
  PyObject *__pyx_n_s_deviceUpdatable_2;
  PyObject *__pyx_kp_u_deviceUpdatable_ValueError;
  PyObject *__pyx_n_s_dict;
  PyObject *__pyx_n_s_dim;
  PyObject *__pyx_kp_u_disable;
  PyObject *__pyx_n_s_doc;
  PyObject *__pyx_kp_u_dptr;
  PyObject *__pyx_n_s_dptr_2;
  PyObject *__pyx_kp_u_dptr_ValueError;
  PyObject *__pyx_n_s_dptr_out;
  PyObject *__pyx_n_s_driverVersion;
  PyObject *__pyx_kp_u_dst;
  PyObject *__pyx_kp_u_dstArray;
  PyObject *__pyx_n_s_dstArray_2;
  PyObject *__pyx_kp_u_dstArray_ValueError;
  PyObject *__pyx_kp_u_dstContext;
  PyObject *__pyx_n_s_dstContext_2;
  PyObject *__pyx_kp_u_dstContext_ValueError;
  PyObject *__pyx_kp_u_dstDevice;
  PyObject *__pyx_n_s_dstDevice_2;
  PyObject *__pyx_kp_u_dstDevice_ValueError;
  PyObject *__pyx_kp_u_dstHeight;
  PyObject *__pyx_n_s_dstHeight_2;
  PyObject *__pyx_kp_u_dstHeight_ValueError;
  PyObject *__pyx_kp_u_dstHost;
  PyObject *__pyx_n_s_dstHost_2;
  PyObject *__pyx_kp_u_dstHost_ValueError;
  PyObject *__pyx_kp_u_dstLOD;
  PyObject *__pyx_n_s_dstLOD_2;
  PyObject *__pyx_kp_u_dstLOD_ValueError;
  PyObject *__pyx_kp_u_dstMemoryType;
  PyObject *__pyx_n_s_dstMemoryType_2;
  PyObject *__pyx_kp_u_dstMemoryType_ValueError;
  PyObject *__pyx_n_s_dstOffset;
  PyObject *__pyx_kp_u_dstPitch;
  PyObject *__pyx_n_s_dstPitch_2;
  PyObject *__pyx_kp_u_dstPitch_ValueError;
  PyObject *__pyx_kp_u_dstXInBytes;
  PyObject *__pyx_n_s_dstXInBytes_2;
  PyObject *__pyx_kp_u_dstXInBytes_ValueError;
  PyObject *__pyx_kp_u_dstY;
  PyObject *__pyx_n_s_dstY_2;
  PyObject *__pyx_kp_u_dstY_ValueError;
  PyObject *__pyx_kp_u_dstZ;
  PyObject *__pyx_n_s_dstZ_2;
  PyObject *__pyx_kp_u_dstZ_ValueError;
  PyObject *__pyx_n_s_dst_2;
  PyObject *__pyx_kp_u_dst_ValueError;
  PyObject *__pyx_n_s_dynamicSMemSize;
  PyObject *__pyx_n_s_dynamicSmemSize;
  PyObject *__pyx_n_s_edgeData;
  PyObject *__pyx_kp_u_eglColorFormat;
  PyObject *__pyx_n_s_eglColorFormat_2;
  PyObject *__pyx_kp_u_eglColorFormat_ValueError;
  PyObject *__pyx_n_s_eglFrame;
  PyObject *__pyx_n_s_eglSync;
  PyObject *__pyx_n_s_eglframe;
  PyObject *__pyx_kp_u_elementSize;
  PyObject *__pyx_n_s_elementSize_2;
  PyObject *__pyx_kp_u_elementSize_ValueError;
  PyObject *__pyx_n_s_elementStrides;
  PyObject *__pyx_kp_u_enable;
  PyObject *__pyx_n_s_enum;
  PyObject *__pyx_n_s_enumerate;
  PyObject *__pyx_n_s_err;
  PyObject *__pyx_n_s_error;
  PyObject *__pyx_kp_u_errorFromNode;
  PyObject *__pyx_n_s_errorFromNode_2;
  PyObject *__pyx_kp_u_errorFromNode_ValueError;
  PyObject *__pyx_kp_u_errorNode;
  PyObject *__pyx_n_s_errorNode_2;
  PyObject *__pyx_kp_u_errorNode_ValueError;
  PyObject *__pyx_kp_u_event;
  PyObject *__pyx_kp_u_eventRecord;
  PyObject *__pyx_n_s_eventRecord_2;
  PyObject *__pyx_kp_u_eventRecord_ValueError;
  PyObject *__pyx_kp_u_eventWait;
  PyObject *__pyx_n_s_eventWait_2;
  PyObject *__pyx_kp_u_eventWait_ValueError;
  PyObject *__pyx_n_s_event_2;
  PyObject *__pyx_kp_u_event_ValueError;
  PyObject *__pyx_n_s_event_out;
  PyObject *__pyx_n_s_extMem;
  PyObject *__pyx_n_s_extMem_out;
  PyObject *__pyx_n_s_extSem;
  PyObject *__pyx_kp_u_extSemArray;
  PyObject *__pyx_n_s_extSemArray_2;
  PyObject *__pyx_kp_u_extSemArray_ValueError;
  PyObject *__pyx_kp_u_extSemSignal;
  PyObject *__pyx_n_s_extSemSignal_2;
  PyObject *__pyx_kp_u_extSemSignal_ValueError;
  PyObject *__pyx_kp_u_extSemWait;
  PyObject *__pyx_n_s_extSemWait_2;
  PyObject *__pyx_kp_u_extSemWait_ValueError;
  PyObject *__pyx_n_s_extSem_out;
  PyObject *__pyx_kp_u_extentDepth;
  PyObject *__pyx_n_s_extentDepth_2;
  PyObject *__pyx_kp_u_extentDepth_ValueError;
  PyObject *__pyx_kp_u_extentHeight;
  PyObject *__pyx_n_s_extentHeight_2;
  PyObject *__pyx_kp_u_extentHeight_ValueError;
  PyObject *__pyx_kp_u_extentWidth;
  PyObject *__pyx_n_s_extentWidth_2;
  PyObject *__pyx_kp_u_extentWidth_ValueError;
  PyObject *__pyx_kp_u_extra;
  PyObject *__pyx_n_s_extra_2;
  PyObject *__pyx_kp_u_extra_ValueError;
  PyObject *__pyx_n_s_f;
  PyObject *__pyx_n_s_fatCubin;
  PyObject *__pyx_kp_u_fd;
  PyObject *__pyx_n_s_fd_2;
  PyObject *__pyx_kp_u_fd_ValueError;
  PyObject *__pyx_kp_u_fence;
  PyObject *__pyx_n_s_fence_2;
  PyObject *__pyx_kp_u_fence_3;
  PyObject *__pyx_kp_u_fence_ValueError;
  PyObject *__pyx_n_s_fileName;
  PyObject *__pyx_kp_u_filterMode;
  PyObject *__pyx_n_s_filterMode_2;
  PyObject *__pyx_kp_u_filterMode_ValueError;
  PyObject *__pyx_kp_u_firstLayer;
  PyObject *__pyx_n_s_firstLayer_2;
  PyObject *__pyx_kp_u_firstLayer_ValueError;
  PyObject *__pyx_kp_u_firstMipmapLevel;
  PyObject *__pyx_n_s_firstMipmapLevel_2;
  PyObject *__pyx_kp_u_firstMipmapLevel_ValueError;
  PyObject *__pyx_kp_u_flags;
  PyObject *__pyx_n_s_flags_2;
  PyObject *__pyx_kp_u_flags_ValueError;
  PyObject *__pyx_kp_u_flushRemoteWrites;
  PyObject *__pyx_n_s_flushRemoteWrites_2;
  PyObject *__pyx_kp_u_flushRemoteWrites_ValueError;
  PyObject *__pyx_n_s_fm;
  PyObject *__pyx_n_s_fmt;
  PyObject *__pyx_kp_u_fn;
  PyObject *__pyx_n_s_fn_2;
  PyObject *__pyx_kp_u_fn_ValueError;
  PyObject *__pyx_n_s_fname;
  PyObject *__pyx_kp_u_format;
  PyObject *__pyx_n_s_format_2;
  PyObject *__pyx_kp_u_format_ValueError;
  PyObject *__pyx_n_s_fptr;
  PyObject *__pyx_kp_u_frame;
  PyObject *__pyx_kp_u_frameType;
  PyObject *__pyx_n_s_frameType_2;
  PyObject *__pyx_kp_u_frameType_ValueError;
  PyObject *__pyx_n_s_frame_2;
  PyObject *__pyx_kp_u_frame_ValueError;
  PyObject *__pyx_kp_u_free;
  PyObject *__pyx_n_s_free_2;
  PyObject *__pyx_kp_u_free_ValueError;
  PyObject *__pyx_n_s_from;
  PyObject *__pyx_kp_u_from_port;
  PyObject *__pyx_n_s_from_port_2;
  PyObject *__pyx_kp_u_from_port_ValueError;
  PyObject *__pyx_kp_u_func;
  PyObject *__pyx_n_s_func_2;
  PyObject *__pyx_kp_u_func_ValueError;
  PyObject *__pyx_kp_u_function;
  PyObject *__pyx_kp_u_functionTable;
  PyObject *__pyx_n_s_functionTable_2;
  PyObject *__pyx_kp_u_functionTable_ValueError;
  PyObject *__pyx_kp_u_functionWindowSize;
  PyObject *__pyx_n_s_functionWindowSize_2;
  PyObject *__pyx_kp_u_functionWindowSize_ValueError;
  PyObject *__pyx_n_s_function_2;
  PyObject *__pyx_kp_u_function_ValueError;
  PyObject *__pyx_kp_u_gc;
  PyObject *__pyx_n_s_genexpr;
  PyObject *__pyx_n_s_getPtr;
  PyObject *__pyx_n_s_getstate;
  PyObject *__pyx_n_s_globalAddress;
  PyObject *__pyx_n_s_globalDim;
  PyObject *__pyx_n_s_globalStrides;
  PyObject *__pyx_kp_u_gpuDirectRDMACapable;
  PyObject *__pyx_n_s_gpuDirectRDMACapable_2;
  PyObject *__pyx_kp_u_gpuDirectRDMACapable_ValueError;
  PyObject *__pyx_n_s_granularity;
  PyObject *__pyx_kp_u_graph;
  PyObject *__pyx_n_s_graph_2;
  PyObject *__pyx_kp_u_graph_3;
  PyObject *__pyx_kp_u_graph_ValueError;
  PyObject *__pyx_n_s_graph_length;
  PyObject *__pyx_n_s_graph_out;
  PyObject *__pyx_n_s_greatestPriority;
  PyObject *__pyx_kp_u_gridDimX;
  PyObject *__pyx_n_s_gridDimX_2;
  PyObject *__pyx_kp_u_gridDimX_ValueError;
  PyObject *__pyx_kp_u_gridDimY;
  PyObject *__pyx_n_s_gridDimY_2;
  PyObject *__pyx_kp_u_gridDimY_ValueError;
  PyObject *__pyx_kp_u_gridDimZ;
  PyObject *__pyx_n_s_gridDimZ_2;
  PyObject *__pyx_kp_u_gridDimZ_ValueError;
  PyObject *__pyx_n_s_grid_height;
  PyObject *__pyx_n_s_grid_width;
  PyObject *__pyx_kp_u_hArray;
  PyObject *__pyx_n_s_hArray_2;
  PyObject *__pyx_kp_u_hArray_ValueError;
  PyObject *__pyx_n_s_hClonedGraph;
  PyObject *__pyx_n_s_hCtx;
  PyObject *__pyx_n_s_hEnd;
  PyObject *__pyx_kp_u_hErrNode_out;
  PyObject *__pyx_n_s_hErrNode_out_2;
  PyObject *__pyx_kp_u_hErrNode_out_ValueError;
  PyObject *__pyx_n_s_hEvent;
  PyObject *__pyx_n_s_hGraph;
  PyObject *__pyx_n_s_hGraphExec;
  PyObject *__pyx_kp_u_hMipmappedArray;
  PyObject *__pyx_n_s_hMipmappedArray_2;
  PyObject *__pyx_kp_u_hMipmappedArray_ValueError;
  PyObject *__pyx_n_s_hNode;
  PyObject *__pyx_n_s_hOriginalNode;
  PyObject *__pyx_n_s_hStart;
  PyObject *__pyx_kp_u_hStream;
  PyObject *__pyx_n_s_hStream_2;
  PyObject *__pyx_kp_u_hStream_ValueError;
  PyObject *__pyx_n_s_hSurfRef;
  PyObject *__pyx_n_s_hTexRef;
  PyObject *__pyx_kp_u_hUploadStream;
  PyObject *__pyx_n_s_hUploadStream_2;
  PyObject *__pyx_kp_u_hUploadStream_ValueError;
  PyObject *__pyx_kp_u_handle;
  PyObject *__pyx_n_s_handleType;
  PyObject *__pyx_kp_u_handleTypes;
  PyObject *__pyx_n_s_handleTypes_2;
  PyObject *__pyx_kp_u_handleTypes_ValueError;
  PyObject *__pyx_n_s_handle_2;
  PyObject *__pyx_kp_u_handle_3;
  PyObject *__pyx_kp_u_handle_ValueError;
  PyObject *__pyx_kp_u_height;
  PyObject *__pyx_n_s_height_2;
  PyObject *__pyx_kp_u_height_ValueError;
  PyObject *__pyx_n_s_hex;
  PyObject *__pyx_n_s_hfunc;
  PyObject *__pyx_kp_u_hitProp;
  PyObject *__pyx_n_s_hitProp_2;
  PyObject *__pyx_kp_u_hitProp_ValueError;
  PyObject *__pyx_kp_u_hitRatio;
  PyObject *__pyx_n_s_hitRatio_2;
  PyObject *__pyx_kp_u_hitRatio_ValueError;
  PyObject *__pyx_n_s_hmod;
  PyObject *__pyx_kp_u_host;
  PyObject *__pyx_n_s_host_2;
  PyObject *__pyx_kp_u_host_ValueError;
  PyObject *__pyx_kp_u_id;
  PyObject *__pyx_n_s_id_2;
  PyObject *__pyx_kp_u_id_ValueError;
  PyObject *__pyx_n_s_id_out;
  PyObject *__pyx_n_s_idx;
  PyObject *__pyx_n_s_image;
  PyObject *__pyx_n_s_import;
  PyObject *__pyx_n_s_index;
  PyObject *__pyx_kp_u_info;
  PyObject *__pyx_n_s_info_2;
  PyObject *__pyx_kp_u_info_ValueError;
  PyObject *__pyx_n_s_init_subclass;
  PyObject *__pyx_n_s_init_value;
  PyObject *__pyx_n_s_initialRefcount;
  PyObject *__pyx_n_s_initializing;
  PyObject *__pyx_n_s_input;
  PyObject *__pyx_n_s_instantiateParams;
  PyObject *__pyx_n_s_int;
  PyObject *__pyx_n_s_interleave;
  PyObject *__pyx_kp_u_internal_padding;
  PyObject *__pyx_n_s_internal_padding_2;
  PyObject *__pyx_kp_u_internal_padding_ValueError;
  PyObject *__pyx_kp_u_internal_padding_length_must_be;
  PyObject *__pyx_n_s_isEnabled;
  PyObject *__pyx_n_s_is_coroutine;
  PyObject *__pyx_n_s_is_getter;
  PyObject *__pyx_kp_u_isenabled;
  PyObject *__pyx_n_s_jitOptions;
  PyObject *__pyx_n_s_jitOptionsValues;
  PyObject *__pyx_kp_u_kern;
  PyObject *__pyx_n_s_kern_2;
  PyObject *__pyx_kp_u_kern_ValueError;
  PyObject *__pyx_kp_u_kernel;
  PyObject *__pyx_kp_u_kernelParams;
  PyObject *__pyx_n_s_kernelParams_2;
  PyObject *__pyx_kp_u_kernelParams_ValueError;
  PyObject *__pyx_n_s_kernel_2;
  PyObject *__pyx_kp_u_kernel_ValueError;
  PyObject *__pyx_kp_u_key;
  PyObject *__pyx_n_s_key_2;
  PyObject *__pyx_kp_u_key_ValueError;
  PyObject *__pyx_kp_u_keyedMutex;
  PyObject *__pyx_n_s_keyedMutex_2;
  PyObject *__pyx_kp_u_keyedMutex_ValueError;
  PyObject *__pyx_n_s_l2Promotion;
  PyObject *__pyx_kp_u_lastLayer;
  PyObject *__pyx_n_s_lastLayer_2;
  PyObject *__pyx_kp_u_lastLayer_ValueError;
  PyObject *__pyx_kp_u_lastMipmapLevel;
  PyObject *__pyx_n_s_lastMipmapLevel_2;
  PyObject *__pyx_kp_u_lastMipmapLevel_ValueError;
  PyObject *__pyx_kp_u_launchCompletionEvent;
  PyObject *__pyx_n_s_launchCompletionEvent_2;
  PyObject *__pyx_kp_u_launchCompletionEvent_ValueError;
  PyObject *__pyx_n_s_launchParamsList;
  PyObject *__pyx_kp_u_layer;
  PyObject *__pyx_n_s_layer_2;
  PyObject *__pyx_kp_u_layer_ValueError;
  PyObject *__pyx_n_s_leastPriority;
  PyObject *__pyx_n_s_length;
  PyObject *__pyx_kp_u_level;
  PyObject *__pyx_n_s_level_2;
  PyObject *__pyx_kp_u_level_ValueError;
  PyObject *__pyx_n_s_lib;
  PyObject *__pyx_n_s_library;
  PyObject *__pyx_n_s_libraryOptionValues;
  PyObject *__pyx_n_s_libraryOptions;
  PyObject *__pyx_n_s_limit;
  PyObject *__pyx_kp_u_linear;
  PyObject *__pyx_n_s_linear_2;
  PyObject *__pyx_kp_u_linear_ValueError;
  PyObject *__pyx_kp_u_location;
  PyObject *__pyx_n_s_location_2;
  PyObject *__pyx_kp_u_location_ValueError;
  PyObject *__pyx_n_s_luid;
  PyObject *__pyx_n_s_main;
  PyObject *__pyx_n_s_major;
  PyObject *__pyx_n_s_map;
  PyObject *__pyx_n_s_mapInfoList;
  PyObject *__pyx_n_s_maxAniso;
  PyObject *__pyx_kp_u_maxAnisotropy;
  PyObject *__pyx_n_s_maxAnisotropy_2;
  PyObject *__pyx_kp_u_maxAnisotropy_ValueError;
  PyObject *__pyx_kp_u_maxGridSize;
  PyObject *__pyx_n_s_maxGridSize_2;
  PyObject *__pyx_kp_u_maxGridSize_ValueError;
  PyObject *__pyx_kp_u_maxMipmapLevelClamp;
  PyObject *__pyx_n_s_maxMipmapLevelClamp_2;
  PyObject *__pyx_kp_u_maxMipmapLevelClamp_ValueError;
  PyObject *__pyx_kp_u_maxSize;
  PyObject *__pyx_n_s_maxSize_2;
  PyObject *__pyx_kp_u_maxSize_ValueError;
  PyObject *__pyx_kp_u_maxThreadsDim;
  PyObject *__pyx_n_s_maxThreadsDim_2;
  PyObject *__pyx_kp_u_maxThreadsDim_ValueError;
  PyObject *__pyx_kp_u_maxThreadsPerBlock;
  PyObject *__pyx_n_s_maxThreadsPerBlock_2;
  PyObject *__pyx_kp_u_maxThreadsPerBlock_ValueError;
  PyObject *__pyx_n_s_maxWidthInElements;
  PyObject *__pyx_n_s_mcHandle;
  PyObject *__pyx_n_s_mcOffset;
  PyObject *__pyx_kp_u_memHandle;
  PyObject *__pyx_n_s_memHandleDesc;
  PyObject *__pyx_kp_u_memHandleType;
  PyObject *__pyx_n_s_memHandleType_2;
  PyObject *__pyx_kp_u_memHandleType_ValueError;
  PyObject *__pyx_n_s_memHandle_2;
  PyObject *__pyx_kp_u_memHandle_3;
  PyObject *__pyx_kp_u_memHandle_ValueError;
  PyObject *__pyx_n_s_memOffset;
  PyObject *__pyx_kp_u_memOp;
  PyObject *__pyx_n_s_memOp_2;
  PyObject *__pyx_kp_u_memOp_ValueError;
  PyObject *__pyx_kp_u_memOperationType;
  PyObject *__pyx_n_s_memOperationType_2;
  PyObject *__pyx_kp_u_memOperationType_ValueError;
  PyObject *__pyx_kp_u_memPitch;
  PyObject *__pyx_n_s_memPitch_2;
  PyObject *__pyx_kp_u_memPitch_ValueError;
  PyObject *__pyx_n_s_memPool;
  PyObject *__pyx_kp_u_memSyncDomain;
  PyObject *__pyx_kp_u_memSyncDomainMap;
  PyObject *__pyx_n_s_memSyncDomainMap_2;
  PyObject *__pyx_kp_u_memSyncDomainMap_ValueError;
  PyObject *__pyx_n_s_memSyncDomain_2;
  PyObject *__pyx_kp_u_memSyncDomain_ValueError;
  PyObject *__pyx_kp_u_memcpy;
  PyObject *__pyx_n_s_memcpy_2;
  PyObject *__pyx_kp_u_memcpy_ValueError;
  PyObject *__pyx_kp_u_memoryBarrier;
  PyObject *__pyx_n_s_memoryBarrier_2;
  PyObject *__pyx_kp_u_memoryBarrier_ValueError;
  PyObject *__pyx_n_s_memoryRequirements;
  PyObject *__pyx_n_s_memptr;
  PyObject *__pyx_kp_u_memset;
  PyObject *__pyx_n_s_memsetParams;
  PyObject *__pyx_n_s_memset_2;
  PyObject *__pyx_kp_u_memset_ValueError;
  PyObject *__pyx_n_s_metaclass;
  PyObject *__pyx_n_s_minBytesToKeep;
  PyObject *__pyx_n_s_minCount;
  PyObject *__pyx_n_s_minGridSize;
  PyObject *__pyx_kp_u_minMipmapLevelClamp;
  PyObject *__pyx_n_s_minMipmapLevelClamp_2;
  PyObject *__pyx_kp_u_minMipmapLevelClamp_ValueError;
  PyObject *__pyx_n_s_minor;
  PyObject *__pyx_n_s_mipLevel;
  PyObject *__pyx_kp_u_mipmap;
  PyObject *__pyx_n_s_mipmapDesc;
  PyObject *__pyx_kp_u_mipmapFilterMode;
  PyObject *__pyx_n_s_mipmapFilterMode_2;
  PyObject *__pyx_kp_u_mipmapFilterMode_ValueError;
  PyObject *__pyx_kp_u_mipmapLevelBias;
  PyObject *__pyx_n_s_mipmapLevelBias_2;
  PyObject *__pyx_kp_u_mipmapLevelBias_ValueError;
  PyObject *__pyx_n_s_mipmap_2;
  PyObject *__pyx_kp_u_mipmap_3;
  PyObject *__pyx_kp_u_mipmap_ValueError;
  PyObject *__pyx_kp_u_miptail;
  PyObject *__pyx_kp_u_miptailFirstLevel;
  PyObject *__pyx_n_s_miptailFirstLevel_2;
  PyObject *__pyx_kp_u_miptailFirstLevel_ValueError;
  PyObject *__pyx_kp_u_miptailSize;
  PyObject *__pyx_n_s_miptailSize_2;
  PyObject *__pyx_kp_u_miptailSize_ValueError;
  PyObject *__pyx_n_s_miptail_2;
  PyObject *__pyx_kp_u_miptail_ValueError;
  PyObject *__pyx_kp_u_missProp;
  PyObject *__pyx_n_s_missProp_2;
  PyObject *__pyx_kp_u_missProp_ValueError;
  PyObject *__pyx_n_s_mod;
  PyObject *__pyx_n_s_mode;
  PyObject *__pyx_n_s_module;
  PyObject *__pyx_n_s_module_2;
  PyObject *__pyx_n_s_mro_entries;
  PyObject *__pyx_kp_u_name;
  PyObject *__pyx_n_s_name_2;
  PyObject *__pyx_n_s_name_3;
  PyObject *__pyx_kp_u_name_ValueError;
  PyObject *__pyx_n_s_nbGroups;
  PyObject *__pyx_n_s_nbResources;
  PyObject *__pyx_kp_s_no_default___reduce___due_to_non;
  PyObject *__pyx_n_s_nodeParams;
  PyObject *__pyx_n_s_nodeParams_out;
  PyObject *__pyx_kp_u_not_enough_values_found_during_a;
  PyObject *__pyx_n_s_numAttributes;
  PyObject *__pyx_kp_u_numAttrs;
  PyObject *__pyx_n_s_numAttrs_2;
  PyObject *__pyx_kp_u_numAttrs_ValueError;
  PyObject *__pyx_n_s_numBlocks;
  PyObject *__pyx_kp_u_numChannels;
  PyObject *__pyx_n_s_numChannels_2;
  PyObject *__pyx_kp_u_numChannels_ValueError;
  PyObject *__pyx_n_s_numClusters;
  PyObject *__pyx_n_s_numDependencies;
  PyObject *__pyx_n_s_numDependencies_out;
  PyObject *__pyx_n_s_numDependentNodes;
  PyObject *__pyx_kp_u_numDevices;
  PyObject *__pyx_n_s_numDevices_2;
  PyObject *__pyx_kp_u_numDevices_ValueError;
  PyObject *__pyx_n_s_numEdges;
  PyObject *__pyx_kp_u_numExtSems;
  PyObject *__pyx_n_s_numExtSems_2;
  PyObject *__pyx_kp_u_numExtSems_ValueError;
  PyObject *__pyx_n_s_numFunctions;
  PyObject *__pyx_n_s_numJitOptions;
  PyObject *__pyx_n_s_numKernels;
  PyObject *__pyx_kp_u_numLevels;
  PyObject *__pyx_n_s_numLevels_2;
  PyObject *__pyx_kp_u_numLevels_ValueError;
  PyObject *__pyx_n_s_numLibraryOptions;
  PyObject *__pyx_n_s_numMipmapLevels;
  PyObject *__pyx_n_s_numNodes;
  PyObject *__pyx_n_s_numOptions;
  PyObject *__pyx_n_s_numParams;
  PyObject *__pyx_n_s_numRootNodes;
  PyObject *__pyx_kp_u_num_bytes;
  PyObject *__pyx_n_s_num_bytes_2;
  PyObject *__pyx_kp_u_num_bytes_ValueError;
  PyObject *__pyx_n_s_numbytes;
  PyObject *__pyx_kp_u_nvSciBufObject;
  PyObject *__pyx_n_s_nvSciBufObject_2;
  PyObject *__pyx_kp_u_nvSciBufObject_ValueError;
  PyObject *__pyx_kp_u_nvSciSync;
  PyObject *__pyx_n_s_nvSciSyncAttrList;
  PyObject *__pyx_kp_u_nvSciSyncObj;
  PyObject *__pyx_n_s_nvSciSyncObj_2;
  PyObject *__pyx_kp_u_nvSciSyncObj_ValueError;
  PyObject *__pyx_n_s_nvSciSync_2;
  PyObject *__pyx_kp_u_nvSciSync_ValueError;
  PyObject *__pyx_n_s_obj;
  PyObject *__pyx_n_s_objType;
  PyObject *__pyx_n_s_object;
  PyObject *__pyx_n_s_object_out;
  PyObject *__pyx_kp_u_offset;
  PyObject *__pyx_kp_u_offsetX;
  PyObject *__pyx_n_s_offsetX_2;
  PyObject *__pyx_kp_u_offsetX_ValueError;
  PyObject *__pyx_kp_u_offsetY;
  PyObject *__pyx_n_s_offsetY_2;
  PyObject *__pyx_kp_u_offsetY_ValueError;
  PyObject *__pyx_kp_u_offsetZ;
  PyObject *__pyx_n_s_offsetZ_2;
  PyObject *__pyx_kp_u_offsetZ_ValueError;
  PyObject *__pyx_n_s_offset_2;
  PyObject *__pyx_kp_u_offset_ValueError;
  PyObject *__pyx_n_s_oobFill;
  PyObject *__pyx_kp_u_opaque;
  PyObject *__pyx_n_s_opaque_2;
  PyObject *__pyx_kp_u_opaque_ValueError;
  PyObject *__pyx_kp_u_operation;
  PyObject *__pyx_n_s_operation_2;
  PyObject *__pyx_kp_u_operation_ValueError;
  PyObject *__pyx_n_s_option;
  PyObject *__pyx_n_s_optionValues;
  PyObject *__pyx_n_s_options;
  PyObject *__pyx_n_s_ordinal;
  PyObject *__pyx_n_s_originalGraph;
  PyObject *__pyx_n_s_osHandle;
  PyObject *__pyx_kp_u_overBudget;
  PyObject *__pyx_n_s_overBudget_2;
  PyObject *__pyx_kp_u_overBudget_ValueError;
  PyObject *__pyx_kp_u_oversize;
  PyObject *__pyx_n_s_oversize_2;
  PyObject *__pyx_kp_u_oversize_ValueError;
  PyObject *__pyx_kp_u_oversize_length_must_be_48_is;
  PyObject *__pyx_n_s_p;
  PyObject *__pyx_kp_u_p2pToken;
  PyObject *__pyx_n_s_p2pToken_2;
  PyObject *__pyx_kp_u_p2pToken_ValueError;
  PyObject *__pyx_n_s_pAllocateArray;
  PyObject *__pyx_kp_u_pArray;
  PyObject *__pyx_n_s_pArrayDescriptor;
  PyObject *__pyx_n_s_pArray_2;
  PyObject *__pyx_kp_u_pArray_ValueError;
  PyObject *__pyx_n_s_pBorderColor;
  PyObject *__pyx_n_s_pConfig;
  PyObject *__pyx_n_s_pContext;
  PyObject *__pyx_n_s_pCopy;
  PyObject *__pyx_n_s_pCtx;
  PyObject *__pyx_n_s_pCudaDeviceCount;
  PyObject *__pyx_n_s_pCudaResource;
  PyObject *__pyx_n_s_pDevPtr;
  PyObject *__pyx_n_s_pDevice;
  PyObject *__pyx_n_s_pExecAffinity;
  PyObject *__pyx_n_s_pExportTableId;
  PyObject *__pyx_n_s_pFlags;
  PyObject *__pyx_n_s_pFormat;
  PyObject *__pyx_n_s_pFunc;
  PyObject *__pyx_n_s_pHandle;
  PyObject *__pyx_n_s_pHandle_out;
  PyObject *__pyx_n_s_pKernel;
  PyObject *__pyx_n_s_pLevelArray;
  PyObject *__pyx_n_s_pMilliseconds;
  PyObject *__pyx_n_s_pMipmappedArray;
  PyObject *__pyx_n_s_pMipmappedArrayDesc;
  PyObject *__pyx_n_s_pMod;
  PyObject *__pyx_n_s_pNumChannels;
  PyObject *__pyx_kp_u_pPitch;
  PyObject *__pyx_n_s_pPitch_2;
  PyObject *__pyx_kp_u_pPitch_ValueError;
  PyObject *__pyx_n_s_pPlaneArray;
  PyObject *__pyx_n_s_pResDesc;
  PyObject *__pyx_n_s_pResViewDesc;
  PyObject *__pyx_n_s_pSize;
  PyObject *__pyx_n_s_pStr;
  PyObject *__pyx_n_s_pStream;
  PyObject *__pyx_n_s_pSurfObject;
  PyObject *__pyx_n_s_pSurfRef;
  PyObject *__pyx_n_s_pTexDesc;
  PyObject *__pyx_n_s_pTexObject;
  PyObject *__pyx_n_s_pTexRef;
  PyObject *__pyx_kp_u_pad;
  PyObject *__pyx_n_s_pad_2;
  PyObject *__pyx_kp_u_pad_ValueError;
  PyObject *__pyx_kp_u_pad_length_must_be_64_is;
  PyObject *__pyx_n_s_paddr;
  PyObject *__pyx_n_s_pam;
  PyObject *__pyx_kp_u_param;
  PyObject *__pyx_kp_u_paramArray;
  PyObject *__pyx_n_s_paramArray_2;
  PyObject *__pyx_kp_u_paramArray_ValueError;
  PyObject *__pyx_n_s_paramIndex;
  PyObject *__pyx_n_s_paramOffset;
  PyObject *__pyx_n_s_paramSize;
  PyObject *__pyx_n_s_param_2;
  PyObject *__pyx_kp_u_param_ValueError;
  PyObject *__pyx_kp_u_params;
  PyObject *__pyx_kp_u_paramsArray;
  PyObject *__pyx_n_s_paramsArray_2;
  PyObject *__pyx_kp_u_paramsArray_ValueError;
  PyObject *__pyx_n_s_params_2;
  PyObject *__pyx_kp_u_params_ValueError;
  PyObject *__pyx_n_s_params_out;
  PyObject *__pyx_n_s_parray;
  PyObject *__pyx_n_s_path;
  PyObject *__pyx_n_s_pbase;
  PyObject *__pyx_n_s_pbias;
  PyObject *__pyx_n_s_pblockSizeToDynamicSMemSize;
  PyObject *__pyx_n_s_pbuffer;
  PyObject *__pyx_n_s_pcallback;
  PyObject *__pyx_n_s_pcallbackFunc;
  PyObject *__pyx_n_s_pchannelsPerPixel;
  PyObject *__pyx_n_s_pchildGraph;
  PyObject *__pyx_n_s_pciBusId;
  PyObject *__pyx_n_s_pconfig;
  PyObject *__pyx_n_s_pconn;
  PyObject *__pyx_n_s_pctx;
  PyObject *__pyx_n_s_pdesc;
  PyObject *__pyx_n_s_pdestroy;
  PyObject *__pyx_n_s_pdev;
  PyObject *__pyx_n_s_pdevPtr;
  PyObject *__pyx_n_s_pdevice;
  PyObject *__pyx_n_s_pdptr;
  PyObject *__pyx_n_s_pdst;
  PyObject *__pyx_n_s_pdstArray;
  PyObject *__pyx_n_s_pdstContext;
  PyObject *__pyx_n_s_pdstDevice;
  PyObject *__pyx_n_s_peerContext;
  PyObject *__pyx_n_s_peerDev;
  PyObject *__pyx_n_s_peglSync;
  PyObject *__pyx_n_s_pevent;
  PyObject *__pyx_n_s_pextMem;
  PyObject *__pyx_n_s_pextSem;
  PyObject *__pyx_n_s_pf;
  PyObject *__pyx_n_s_pflags;
  PyObject *__pyx_n_s_pfm;
  PyObject *__pyx_n_s_pfn;
  PyObject *__pyx_n_s_pformat;
  PyObject *__pyx_n_s_pfunc;
  PyObject *__pyx_n_s_pfunction;
  PyObject *__pyx_n_s_pgraph;
  PyObject *__pyx_n_s_phArray;
  PyObject *__pyx_n_s_phClonedGraph;
  PyObject *__pyx_n_s_phCtx;
  PyObject *__pyx_n_s_phDesc;
  PyObject *__pyx_n_s_phEnd;
  PyObject *__pyx_n_s_phEvent;
  PyObject *__pyx_n_s_phGraph;
  PyObject *__pyx_n_s_phGraphClone;
  PyObject *__pyx_n_s_phGraphExec;
  PyObject *__pyx_n_s_phGraphNode;
  PyObject *__pyx_kp_u_phGraph_out;
  PyObject *__pyx_n_s_phGraph_out_2;
  PyObject *__pyx_kp_u_phGraph_out_ValueError;
  PyObject *__pyx_n_s_phMipmappedArray;
  PyObject *__pyx_n_s_phNode;
  PyObject *__pyx_n_s_phOriginalNode;
  PyObject *__pyx_n_s_phStart;
  PyObject *__pyx_n_s_phStream;
  PyObject *__pyx_n_s_phSurfRef;
  PyObject *__pyx_n_s_phTexRef;
  PyObject *__pyx_n_s_phandle;
  PyObject *__pyx_n_s_pheight;
  PyObject *__pyx_n_s_phfunc;
  PyObject *__pyx_n_s_phmod;
  PyObject *__pyx_n_s_pi;
  PyObject *__pyx_n_s_pimage;
  PyObject *__pyx_kp_u_pitch;
  PyObject *__pyx_kp_u_pitch2D;
  PyObject *__pyx_n_s_pitch2D_2;
  PyObject *__pyx_kp_u_pitch2D_ValueError;
  PyObject *__pyx_kp_u_pitchInBytes;
  PyObject *__pyx_n_s_pitchInBytes_2;
  PyObject *__pyx_kp_u_pitchInBytes_ValueError;
  PyObject *__pyx_n_s_pitch_2;
  PyObject *__pyx_kp_u_pitch_ValueError;
  PyObject *__pyx_n_s_pixelBoxLowerCorner;
  PyObject *__pyx_n_s_pixelBoxUpperCorner;
  PyObject *__pyx_n_s_pixelsPerColumn;
  PyObject *__pyx_n_s_pkernel;
  PyObject *__pyx_kp_u_planeCount;
  PyObject *__pyx_n_s_planeCount_2;
  PyObject *__pyx_kp_u_planeCount_ValueError;
  PyObject *__pyx_n_s_planeIdx;
  PyObject *__pyx_n_s_plib;
  PyObject *__pyx_n_s_plibrary;
  PyObject *__pyx_n_s_pmaxAniso;
  PyObject *__pyx_n_s_pmaxMipmapLevelClamp;
  PyObject *__pyx_n_s_pmcHandle;
  PyObject *__pyx_n_s_pmemHandle;
  PyObject *__pyx_n_s_pmemPool;
  PyObject *__pyx_n_s_pmemptr;
  PyObject *__pyx_n_s_pminMipmapLevelClamp;
  PyObject *__pyx_n_s_pmipmap;
  PyObject *__pyx_n_s_pmod;
  PyObject *__pyx_n_s_pobject;
  PyObject *__pyx_n_s_pool;
  PyObject *__pyx_kp_u_poolProps;
  PyObject *__pyx_n_s_poolProps_2;
  PyObject *__pyx_kp_u_poolProps_ValueError;
  PyObject *__pyx_n_s_pool_out;
  PyObject *__pyx_n_s_poriginalGraph;
  PyObject *__pyx_n_s_pp;
  PyObject *__pyx_n_s_ppCudaResource;
  PyObject *__pyx_n_s_ppExportTable;
  PyObject *__pyx_n_s_ppStream;
  PyObject *__pyx_n_s_ppeerContext;
  PyObject *__pyx_n_s_ppeerDev;
  PyObject *__pyx_n_s_ppixelsPerColumn;
  PyObject *__pyx_n_s_ppool;
  PyObject *__pyx_n_s_pptr;
  PyObject *__pyx_n_s_prepare;
  PyObject *__pyx_n_s_presource;
  PyObject *__pyx_n_s_presources;
  PyObject *__pyx_kp_u_priority;
  PyObject *__pyx_n_s_priority_2;
  PyObject *__pyx_kp_u_priority_ValueError;
  PyObject *__pyx_kp_u_programmaticEvent;
  PyObject *__pyx_n_s_programmaticEvent_2;
  PyObject *__pyx_kp_u_programmaticEvent_ValueError;
  PyObject *__pyx_kp_u_programmaticStreamSerializationA;
  PyObject *__pyx_n_s_programmaticStreamSerializationA_2;
  PyObject *__pyx_kp_u_programmaticStreamSerializationA_3;
  PyObject *__pyx_n_s_prop;
  PyObject *__pyx_n_s_psize;
  PyObject *__pyx_n_s_psrc;
  PyObject *__pyx_n_s_psrcArray;
  PyObject *__pyx_n_s_psrcContext;
  PyObject *__pyx_n_s_psrcDevice;
  PyObject *__pyx_n_s_pstate;
  PyObject *__pyx_n_s_pstream;
  PyObject *__pyx_n_s_psurfObject;
  PyObject *__pyx_n_s_ptarget;
  PyObject *__pyx_n_s_ptensorRank;
  PyObject *__pyx_n_s_ptexObject;
  PyObject *__pyx_n_s_ptr;
  PyObject *__pyx_n_s_ptr_2;
  PyObject *__pyx_n_s_ptr_out;
  PyObject *__pyx_n_s_pvalue;
  PyObject *__pyx_n_s_pvdpDevice;
  PyObject *__pyx_n_s_pvdpGetProcAddress;
  PyObject *__pyx_n_s_pvdpSurface;
  PyObject *__pyx_n_s_pwidth;
  PyObject *__pyx_n_s_pyObj;
  PyObject *__pyx_n_s_pyattributes;
  PyObject *__pyx_n_s_pydataSizes;
  PyObject *__pyx_n_s_pydependencies;
  PyObject *__pyx_n_s_pydependencies_out;
  PyObject *__pyx_n_s_pydependentNodes;
  PyObject *__pyx_n_s_pyedgeData;
  PyObject *__pyx_n_s_pyedgeData_out;
  PyObject *__pyx_n_s_pyfrom;
  PyObject *__pyx_n_s_pyfunctions;
  PyObject *__pyx_n_s_pyjitOptions;
  PyObject *__pyx_n_s_pykernels;
  PyObject *__pyx_n_s_pylibraryOptions;
  PyObject *__pyx_n_s_pylist;
  PyObject *__pyx_n_s_pyname;
  PyObject *__pyx_n_s_pynodes;
  PyObject *__pyx_n_s_pyoptionValues;
  PyObject *__pyx_n_s_pyoptions;
  PyObject *__pyx_n_s_pypCudaDevices;
  PyObject *__pyx_n_s_pypciBusId;
  PyObject *__pyx_n_s_pypixelBoxLowerCorner;
  PyObject *__pyx_n_s_pypixelBoxUpperCorner;
  PyObject *__pyx_n_s_pyresult;
  PyObject *__pyx_n_s_pyrootNodes;
  PyObject *__pyx_n_s_pyto;
  PyObject *__pyx_n_s_pyx_state;
  PyObject *__pyx_n_s_qualname;
  PyObject *__pyx_n_s_range;
  PyObject *__pyx_n_s_reduce;
  PyObject *__pyx_n_s_reduce_cython;
  PyObject *__pyx_n_s_reduce_ex;
  PyObject *__pyx_kp_u_regsPerBlock;
  PyObject *__pyx_n_s_regsPerBlock_2;
  PyObject *__pyx_kp_u_regsPerBlock_ValueError;
  PyObject *__pyx_n_s_remaining;
  PyObject *__pyx_kp_u_remote;
  PyObject *__pyx_n_s_remote_2;
  PyObject *__pyx_kp_u_remote_ValueError;
  PyObject *__pyx_kp_u_requestedHandleTypes;
  PyObject *__pyx_n_s_requestedHandleTypes_2;
  PyObject *__pyx_kp_u_requestedHandleTypes_ValueError;
  PyObject *__pyx_kp_u_res;
  PyObject *__pyx_kp_u_resType;
  PyObject *__pyx_n_s_resType_2;
  PyObject *__pyx_kp_u_resType_ValueError;
  PyObject *__pyx_n_s_res_2;
  PyObject *__pyx_kp_u_res_ValueError;
  PyObject *__pyx_kp_u_reserved;
  PyObject *__pyx_kp_u_reserved0;
  PyObject *__pyx_n_s_reserved0_2;
  PyObject *__pyx_kp_u_reserved0_ValueError;
  PyObject *__pyx_kp_u_reserved1;
  PyObject *__pyx_n_s_reserved1_2;
  PyObject *__pyx_kp_u_reserved1_ValueError;
  PyObject *__pyx_kp_u_reserved2;
  PyObject *__pyx_n_s_reserved2_2;
  PyObject *__pyx_kp_u_reserved2_ValueError;
  PyObject *__pyx_n_s_reserved_2;
  PyObject *__pyx_kp_u_reserved_3;
  PyObject *__pyx_kp_u_reserved_ValueError;
  PyObject *__pyx_kp_u_reserved_length_must_be_4_is;
  PyObject *__pyx_kp_u_reserved_length_must_be_56_is;
  PyObject *__pyx_kp_u_reserved_length_must_be_5_is;
  PyObject *__pyx_kp_u_reserved_length_must_be_64_is;
  PyObject *__pyx_kp_u_resource;
  PyObject *__pyx_kp_u_resourceType;
  PyObject *__pyx_n_s_resourceType_2;
  PyObject *__pyx_kp_u_resourceType_ValueError;
  PyObject *__pyx_n_s_resource_2;
  PyObject *__pyx_kp_u_resource_ValueError;
  PyObject *__pyx_n_s_resources;
  PyObject *__pyx_kp_u_result;
  PyObject *__pyx_n_s_resultInfo;
  PyObject *__pyx_n_s_result_2;
  PyObject *__pyx_kp_u_result_ValueError;
  PyObject *__pyx_kp_u_result_out;
  PyObject *__pyx_n_s_result_out_2;
  PyObject *__pyx_kp_u_result_out_ValueError;
  PyObject *__pyx_n_s_scope;
  PyObject *__pyx_n_s_self;
  PyObject *__pyx_n_s_semHandleDesc;
  PyObject *__pyx_n_s_send;
  PyObject *__pyx_n_s_set_name;
  PyObject *__pyx_n_s_setstate;
  PyObject *__pyx_n_s_setstate_cython;
  PyObject *__pyx_n_s_shHandleType;
  PyObject *__pyx_n_s_shareData;
  PyObject *__pyx_n_s_shareData_out;
  PyObject *__pyx_kp_u_sharedMemBytes;
  PyObject *__pyx_n_s_sharedMemBytes_2;
  PyObject *__pyx_kp_u_sharedMemBytes_ValueError;
  PyObject *__pyx_kp_u_sharedMemPerBlock;
  PyObject *__pyx_n_s_sharedMemPerBlock_2;
  PyObject *__pyx_kp_u_sharedMemPerBlock_ValueError;
  PyObject *__pyx_kp_u_size;
  PyObject *__pyx_kp_u_sizeInBytes;
  PyObject *__pyx_n_s_sizeInBytes_2;
  PyObject *__pyx_kp_u_sizeInBytes_ValueError;
  PyObject *__pyx_n_s_sizeOut;
  PyObject *__pyx_n_s_size_2;
  PyObject *__pyx_kp_u_size_ValueError;
  PyObject *__pyx_n_s_sizeof;
  PyObject *__pyx_kp_u_sm;
  PyObject *__pyx_kp_u_smCount;
  PyObject *__pyx_n_s_smCount_2;
  PyObject *__pyx_kp_u_smCount_3;
  PyObject *__pyx_kp_u_smCount_ValueError;
  PyObject *__pyx_n_s_sm_2;
  PyObject *__pyx_kp_u_sm_ValueError;
  PyObject *__pyx_kp_u_sparseLevel;
  PyObject *__pyx_n_s_sparseLevel_2;
  PyObject *__pyx_kp_u_sparseLevel_ValueError;
  PyObject *__pyx_n_s_sparseProperties;
  PyObject *__pyx_n_s_spec;
  PyObject *__pyx_n_s_splitlines;
  PyObject *__pyx_n_s_src;
  PyObject *__pyx_kp_u_srcArray;
  PyObject *__pyx_n_s_srcArray_2;
  PyObject *__pyx_kp_u_srcArray_ValueError;
  PyObject *__pyx_kp_u_srcContext;
  PyObject *__pyx_n_s_srcContext_2;
  PyObject *__pyx_kp_u_srcContext_ValueError;
  PyObject *__pyx_kp_u_srcDevice;
  PyObject *__pyx_n_s_srcDevice_2;
  PyObject *__pyx_kp_u_srcDevice_ValueError;
  PyObject *__pyx_kp_u_srcHeight;
  PyObject *__pyx_n_s_srcHeight_2;
  PyObject *__pyx_kp_u_srcHeight_ValueError;
  PyObject *__pyx_kp_u_srcHost;
  PyObject *__pyx_n_s_srcHost_2;
  PyObject *__pyx_kp_u_srcHost_ValueError;
  PyObject *__pyx_kp_u_srcLOD;
  PyObject *__pyx_n_s_srcLOD_2;
  PyObject *__pyx_kp_u_srcLOD_ValueError;
  PyObject *__pyx_kp_u_srcMemoryType;
  PyObject *__pyx_n_s_srcMemoryType_2;
  PyObject *__pyx_kp_u_srcMemoryType_ValueError;
  PyObject *__pyx_n_s_srcOffset;
  PyObject *__pyx_kp_u_srcPitch;
  PyObject *__pyx_n_s_srcPitch_2;
  PyObject *__pyx_kp_u_srcPitch_ValueError;
  PyObject *__pyx_kp_u_srcXInBytes;
  PyObject *__pyx_n_s_srcXInBytes_2;
  PyObject *__pyx_kp_u_srcXInBytes_ValueError;
  PyObject *__pyx_kp_u_srcY;
  PyObject *__pyx_n_s_srcY_2;
  PyObject *__pyx_kp_u_srcY_ValueError;
  PyObject *__pyx_kp_u_srcZ;
  PyObject *__pyx_n_s_srcZ_2;
  PyObject *__pyx_kp_u_srcZ_ValueError;
  PyObject *__pyx_n_s_state;
  PyObject *__pyx_n_s_stateOut;
  PyObject *__pyx_n_s_stream;
  PyObject *__pyx_n_s_streamId;
  PyObject *__pyx_kp_s_stringsource;
  PyObject *__pyx_kp_u_subresource;
  PyObject *__pyx_kp_u_subresourceType;
  PyObject *__pyx_n_s_subresourceType_2;
  PyObject *__pyx_kp_u_subresourceType_ValueError;
  PyObject *__pyx_n_s_subresource_2;
  PyObject *__pyx_kp_u_subresource_ValueError;
  PyObject *__pyx_n_s_super;
  PyObject *__pyx_n_s_surfObject;
  PyObject *__pyx_n_s_swizzle;
  PyObject *__pyx_n_s_symbol;
  PyObject *__pyx_n_s_symbolStatus;
  PyObject *__pyx_kp_u_syncPolicy;
  PyObject *__pyx_n_s_syncPolicy_2;
  PyObject *__pyx_kp_u_syncPolicy_ValueError;
  PyObject *__pyx_n_s_target;
  PyObject *__pyx_n_s_tensorDataType;
  PyObject *__pyx_n_s_tensorMap;
  PyObject *__pyx_n_s_tensorRank;
  PyObject *__pyx_n_s_test;
  PyObject *__pyx_n_s_texObject;
  PyObject *__pyx_kp_u_textureAlign;
  PyObject *__pyx_n_s_textureAlign_2;
  PyObject *__pyx_kp_u_textureAlign_ValueError;
  PyObject *__pyx_n_s_texunit;
  PyObject *__pyx_n_s_throw;
  PyObject *__pyx_kp_u_tileExtent;
  PyObject *__pyx_n_s_tileExtent_2;
  PyObject *__pyx_kp_u_tileExtent_ValueError;
  PyObject *__pyx_n_s_timeout;
  PyObject *__pyx_kp_u_timeoutMs;
  PyObject *__pyx_n_s_timeoutMs_2;
  PyObject *__pyx_kp_u_timeoutMs_ValueError;
  PyObject *__pyx_n_s_to;
  PyObject *__pyx_kp_u_to_port;
  PyObject *__pyx_n_s_to_port_2;
  PyObject *__pyx_kp_u_to_port_ValueError;
  PyObject *__pyx_n_s_total;
  PyObject *__pyx_kp_u_totalConstantMemory;
  PyObject *__pyx_n_s_totalConstantMemory_2;
  PyObject *__pyx_kp_u_totalConstantMemory_ValueError;
  PyObject *__pyx_kp_u_triggerAtBlockStart;
  PyObject *__pyx_n_s_triggerAtBlockStart_2;
  PyObject *__pyx_kp_u_triggerAtBlockStart_ValueError;
  PyObject *__pyx_kp_u_type;
  PyObject *__pyx_n_s_type_2;
  PyObject *__pyx_kp_u_type_ValueError;
  PyObject *__pyx_n_s_typename;
  PyObject *__pyx_n_s_typing;
  PyObject *__pyx_n_s_uc;
  PyObject *__pyx_n_s_ui;
  PyObject *__pyx_n_s_us;
  PyObject *__pyx_kp_u_usage;
  PyObject *__pyx_n_s_usage_2;
  PyObject *__pyx_kp_u_usage_ValueError;
  PyObject *__pyx_n_s_useFlags;
  PyObject *__pyx_kp_u_userData;
  PyObject *__pyx_n_s_userData_2;
  PyObject *__pyx_kp_u_userData_ValueError;
  PyObject *__pyx_n_s_uuid;
  PyObject *__pyx_kp_u_vaSpaceToken;
  PyObject *__pyx_n_s_vaSpaceToken_2;
  PyObject *__pyx_kp_u_vaSpaceToken_ValueError;
  PyObject *__pyx_kp_u_val;
  PyObject *__pyx_n_s_val_2;
  PyObject *__pyx_kp_u_val_ValueError;
  PyObject *__pyx_kp_u_value;
  PyObject *__pyx_kp_u_value64;
  PyObject *__pyx_n_s_value64_2;
  PyObject *__pyx_kp_u_value64_ValueError;
  PyObject *__pyx_n_s_value_2;
  PyObject *__pyx_kp_u_value_3;
  PyObject *__pyx_kp_u_value_ValueError;
  PyObject *__pyx_n_s_value_out;
  PyObject *__pyx_n_s_vdpDevice;
  PyObject *__pyx_n_s_vdpGetProcAddress;
  PyObject *__pyx_n_s_vdpSurface;
  PyObject *__pyx_n_s_version;
  PyObject *__pyx_n_s_voidStarHelperdata;
  PyObject *__pyx_n_s_voidStarHelperjitOptionsValues;
  PyObject *__pyx_n_s_voidStarHelperlibraryOptionValue;
  PyObject *__pyx_n_s_voidStarHelperoptionValues;
  PyObject *__pyx_kp_u_waitValue;
  PyObject *__pyx_n_s_waitValue_2;
  PyObject *__pyx_kp_u_waitValue_ValueError;
  PyObject *__pyx_kp_u_width;
  PyObject *__pyx_n_s_width_2;
  PyObject *__pyx_kp_u_width_ValueError;
  PyObject *__pyx_kp_u_win32;
  PyObject *__pyx_kp_u_win32HandleMetaData;
  PyObject *__pyx_n_s_win32HandleMetaData_2;
  PyObject *__pyx_kp_u_win32HandleMetaData_ValueError;
  PyObject *__pyx_kp_u_win32SecurityAttributes;
  PyObject *__pyx_n_s_win32SecurityAttributes_2;
  PyObject *__pyx_kp_u_win32SecurityAttributes_ValueErr;
  PyObject *__pyx_n_s_win32_2;
  PyObject *__pyx_kp_u_win32_ValueError;
  PyObject *__pyx_kp_u_writeValue;
  PyObject *__pyx_n_s_writeValue_2;
  PyObject *__pyx_kp_u_writeValue_ValueError;
  PyObject *__pyx_n_s_x;
  PyObject *__pyx_n_u_x;
  PyObject *__pyx_kp_u_x_2;
  PyObject *__pyx_kp_u_x_ValueError;
  PyObject *__pyx_kp_u_y;
  PyObject *__pyx_n_s_y_2;
  PyObject *__pyx_kp_u_y_ValueError;
  PyObject *__pyx_kp_u_z;
  PyObject *__pyx_n_s_z_2;
  PyObject *__pyx_kp_u_z_ValueError;
  PyObject *__pyx_n_s_zip;
  PyObject *__pyx_int_0;
  PyObject *__pyx_int_1;
  PyObject *__pyx_int_127;
  PyObject *__pyx_int_256;
  PyObject *__pyx_int_neg_129;
  PyObject *__pyx_codeobj__2;
  PyObject *__pyx_codeobj__3;
  PyObject *__pyx_codeobj__4;
  PyObject *__pyx_codeobj__5;
  PyObject *__pyx_codeobj__6;
  PyObject *__pyx_codeobj__7;
  PyObject *__pyx_codeobj__8;
  PyObject *__pyx_codeobj__9;
  PyObject *__pyx_tuple__508;
  PyObject *__pyx_tuple__534;
  PyObject *__pyx_tuple__551;
  PyObject *__pyx_tuple__552;
  PyObject *__pyx_tuple__646;
  PyObject *__pyx_tuple__649;
  PyObject *__pyx_tuple__662;
  PyObject *__pyx_tuple__684;
  PyObject *__pyx_tuple__685;
  PyObject *__pyx_tuple__688;
  PyObject *__pyx_tuple__699;
  PyObject *__pyx_tuple__700;
  PyObject *__pyx_tuple__728;
  PyObject *__pyx_tuple__729;
  PyObject *__pyx_tuple__731;
  PyObject *__pyx_tuple__738;
  PyObject *__pyx_tuple__751;
  PyObject *__pyx_tuple__815;
  PyObject *__pyx_tuple__816;
  PyObject *__pyx_tuple__818;
  PyObject *__pyx_tuple__900;
  PyObject *__pyx_tuple__901;
  PyObject *__pyx_tuple__902;
  PyObject *__pyx_tuple__903;
  PyObject *__pyx_tuple__905;
  PyObject *__pyx_tuple__906;
  PyObject *__pyx_tuple__933;
  PyObject *__pyx_tuple__962;
  PyObject *__pyx_tuple__963;
  PyObject *__pyx_tuple__964;
  PyObject *__pyx_tuple__965;
  PyObject *__pyx_tuple__966;
  PyObject *__pyx_tuple__967;
  PyObject *__pyx_tuple__968;
  PyObject *__pyx_tuple__969;
  PyObject *__pyx_tuple__970;
  PyObject *__pyx_tuple__971;
  PyObject *__pyx_tuple__972;
  PyObject *__pyx_tuple__973;
  PyObject *__pyx_tuple__974;
  PyObject *__pyx_tuple__975;
  PyObject *__pyx_tuple__976;
  PyObject *__pyx_tuple__977;
  PyObject *__pyx_tuple__978;
  PyObject *__pyx_tuple__979;
  PyObject *__pyx_tuple__980;
  PyObject *__pyx_tuple__981;
  PyObject *__pyx_tuple__982;
  PyObject *__pyx_tuple__983;
  PyObject *__pyx_tuple__984;
  PyObject *__pyx_tuple__985;
  PyObject *__pyx_tuple__986;
  PyObject *__pyx_tuple__987;
  PyObject *__pyx_tuple__988;
  PyObject *__pyx_tuple__989;
  PyObject *__pyx_tuple__990;
  PyObject *__pyx_tuple__991;
  PyObject *__pyx_tuple__992;
  PyObject *__pyx_tuple__993;
  PyObject *__pyx_tuple__994;
  PyObject *__pyx_tuple__995;
  PyObject *__pyx_tuple__996;
  PyObject *__pyx_tuple__997;
  PyObject *__pyx_tuple__998;
  PyObject *__pyx_tuple__999;
  PyObject *__pyx_codeobj__10;
  PyObject *__pyx_codeobj__11;
  PyObject *__pyx_codeobj__12;
  PyObject *__pyx_codeobj__13;
  PyObject *__pyx_codeobj__14;
  PyObject *__pyx_codeobj__15;
  PyObject *__pyx_codeobj__16;
  PyObject *__pyx_codeobj__17;
  PyObject *__pyx_codeobj__18;
  PyObject *__pyx_codeobj__19;
  PyObject *__pyx_codeobj__20;
  PyObject *__pyx_codeobj__21;
  PyObject *__pyx_codeobj__22;
  PyObject *__pyx_codeobj__23;
  PyObject *__pyx_codeobj__24;
  PyObject *__pyx_codeobj__25;
  PyObject *__pyx_codeobj__26;
  PyObject *__pyx_codeobj__27;
  PyObject *__pyx_codeobj__28;
  PyObject *__pyx_codeobj__29;
  PyObject *__pyx_codeobj__30;
  PyObject *__pyx_codeobj__31;
  PyObject *__pyx_codeobj__32;
  PyObject *__pyx_codeobj__33;
  PyObject *__pyx_codeobj__34;
  PyObject *__pyx_codeobj__35;
  PyObject *__pyx_codeobj__36;
  PyObject *__pyx_codeobj__37;
  PyObject *__pyx_codeobj__38;
  PyObject *__pyx_codeobj__39;
  PyObject *__pyx_codeobj__40;
  PyObject *__pyx_codeobj__41;
  PyObject *__pyx_codeobj__42;
  PyObject *__pyx_codeobj__43;
  PyObject *__pyx_codeobj__44;
  PyObject *__pyx_codeobj__45;
  PyObject *__pyx_codeobj__46;
  PyObject *__pyx_codeobj__47;
  PyObject *__pyx_codeobj__48;
  PyObject *__pyx_codeobj__49;
  PyObject *__pyx_codeobj__50;
  PyObject *__pyx_codeobj__51;
  PyObject *__pyx_codeobj__52;
  PyObject *__pyx_codeobj__53;
  PyObject *__pyx_codeobj__54;
  PyObject *__pyx_codeobj__55;
  PyObject *__pyx_codeobj__56;
  PyObject *__pyx_codeobj__57;
  PyObject *__pyx_codeobj__58;
  PyObject *__pyx_codeobj__59;
  PyObject *__pyx_codeobj__60;
  PyObject *__pyx_codeobj__61;
  PyObject *__pyx_codeobj__62;
  PyObject *__pyx_codeobj__63;
  PyObject *__pyx_codeobj__64;
  PyObject *__pyx_codeobj__65;
  PyObject *__pyx_codeobj__66;
  PyObject *__pyx_codeobj__67;
  PyObject *__pyx_codeobj__68;
  PyObject *__pyx_codeobj__69;
  PyObject *__pyx_codeobj__70;
  PyObject *__pyx_codeobj__71;
  PyObject *__pyx_codeobj__72;
  PyObject *__pyx_codeobj__73;
  PyObject *__pyx_codeobj__74;
  PyObject *__pyx_codeobj__75;
  PyObject *__pyx_codeobj__76;
  PyObject *__pyx_codeobj__77;
  PyObject *__pyx_codeobj__78;
  PyObject *__pyx_codeobj__79;
  PyObject *__pyx_codeobj__80;
  PyObject *__pyx_codeobj__81;
  PyObject *__pyx_codeobj__82;
  PyObject *__pyx_codeobj__83;
  PyObject *__pyx_codeobj__84;
  PyObject *__pyx_codeobj__85;
  PyObject *__pyx_codeobj__86;
  PyObject *__pyx_codeobj__87;
  PyObject *__pyx_codeobj__88;
  PyObject *__pyx_codeobj__89;
  PyObject *__pyx_codeobj__90;
  PyObject *__pyx_codeobj__91;
  PyObject *__pyx_codeobj__92;
  PyObject *__pyx_codeobj__93;
  PyObject *__pyx_codeobj__94;
  PyObject *__pyx_codeobj__95;
  PyObject *__pyx_codeobj__96;
  PyObject *__pyx_codeobj__97;
  PyObject *__pyx_codeobj__98;
  PyObject *__pyx_codeobj__99;
  PyObject *__pyx_tuple__1000;
  PyObject *__pyx_tuple__1001;
  PyObject *__pyx_tuple__1002;
  PyObject *__pyx_tuple__1003;
  PyObject *__pyx_tuple__1004;
  PyObject *__pyx_tuple__1005;
  PyObject *__pyx_tuple__1006;
  PyObject *__pyx_tuple__1007;
  PyObject *__pyx_tuple__1008;
  PyObject *__pyx_tuple__1009;
  PyObject *__pyx_tuple__1010;
  PyObject *__pyx_tuple__1011;
  PyObject *__pyx_tuple__1012;
  PyObject *__pyx_tuple__1013;
  PyObject *__pyx_tuple__1014;
  PyObject *__pyx_tuple__1015;
  PyObject *__pyx_tuple__1016;
  PyObject *__pyx_tuple__1017;
  PyObject *__pyx_tuple__1018;
  PyObject *__pyx_tuple__1019;
  PyObject *__pyx_tuple__1020;
  PyObject *__pyx_tuple__1021;
  PyObject *__pyx_tuple__1022;
  PyObject *__pyx_tuple__1023;
  PyObject *__pyx_tuple__1024;
  PyObject *__pyx_tuple__1025;
  PyObject *__pyx_tuple__1026;
  PyObject *__pyx_tuple__1027;
  PyObject *__pyx_tuple__1028;
  PyObject *__pyx_tuple__1029;
  PyObject *__pyx_tuple__1030;
  PyObject *__pyx_tuple__1031;
  PyObject *__pyx_tuple__1032;
  PyObject *__pyx_tuple__1033;
  PyObject *__pyx_tuple__1034;
  PyObject *__pyx_tuple__1035;
  PyObject *__pyx_tuple__1036;
  PyObject *__pyx_tuple__1037;
  PyObject *__pyx_tuple__1038;
  PyObject *__pyx_tuple__1039;
  PyObject *__pyx_tuple__1040;
  PyObject *__pyx_tuple__1041;
  PyObject *__pyx_tuple__1042;
  PyObject *__pyx_tuple__1043;
  PyObject *__pyx_tuple__1044;
  PyObject *__pyx_tuple__1045;
  PyObject *__pyx_tuple__1046;
  PyObject *__pyx_tuple__1047;
  PyObject *__pyx_tuple__1048;
  PyObject *__pyx_tuple__1049;
  PyObject *__pyx_tuple__1050;
  PyObject *__pyx_tuple__1051;
  PyObject *__pyx_tuple__1052;
  PyObject *__pyx_tuple__1053;
  PyObject *__pyx_tuple__1054;
  PyObject *__pyx_tuple__1055;
  PyObject *__pyx_tuple__1056;
  PyObject *__pyx_tuple__1057;
  PyObject *__pyx_tuple__1058;
  PyObject *__pyx_tuple__1059;
  PyObject *__pyx_tuple__1060;
  PyObject *__pyx_tuple__1061;
  PyObject *__pyx_tuple__1062;
  PyObject *__pyx_tuple__1063;
  PyObject *__pyx_tuple__1064;
  PyObject *__pyx_tuple__1065;
  PyObject *__pyx_tuple__1066;
  PyObject *__pyx_tuple__1067;
  PyObject *__pyx_tuple__1068;
  PyObject *__pyx_tuple__1069;
  PyObject *__pyx_tuple__1070;
  PyObject *__pyx_tuple__1071;
  PyObject *__pyx_tuple__1072;
  PyObject *__pyx_tuple__1073;
  PyObject *__pyx_tuple__1074;
  PyObject *__pyx_tuple__1075;
  PyObject *__pyx_tuple__1076;
  PyObject *__pyx_tuple__1077;
  PyObject *__pyx_tuple__1078;
  PyObject *__pyx_tuple__1079;
  PyObject *__pyx_tuple__1080;
  PyObject *__pyx_tuple__1081;
  PyObject *__pyx_tuple__1082;
  PyObject *__pyx_tuple__1083;
  PyObject *__pyx_tuple__1084;
  PyObject *__pyx_tuple__1085;
  PyObject *__pyx_tuple__1086;
  PyObject *__pyx_tuple__1087;
  PyObject *__pyx_tuple__1088;
  PyObject *__pyx_tuple__1089;
  PyObject *__pyx_tuple__1090;
  PyObject *__pyx_tuple__1091;
  PyObject *__pyx_tuple__1092;
  PyObject *__pyx_tuple__1093;
  PyObject *__pyx_tuple__1094;
  PyObject *__pyx_tuple__1095;
  PyObject *__pyx_tuple__1096;
  PyObject *__pyx_tuple__1097;
  PyObject *__pyx_tuple__1098;
  PyObject *__pyx_tuple__1099;
  PyObject *__pyx_tuple__1100;
  PyObject *__pyx_tuple__1101;
  PyObject *__pyx_tuple__1102;
  PyObject *__pyx_tuple__1103;
  PyObject *__pyx_tuple__1104;
  PyObject *__pyx_tuple__1105;
  PyObject *__pyx_tuple__1106;
  PyObject *__pyx_tuple__1107;
  PyObject *__pyx_tuple__1108;
  PyObject *__pyx_tuple__1109;
  PyObject *__pyx_tuple__1110;
  PyObject *__pyx_tuple__1111;
  PyObject *__pyx_tuple__1112;
  PyObject *__pyx_tuple__1113;
  PyObject *__pyx_tuple__1114;
  PyObject *__pyx_tuple__1115;
  PyObject *__pyx_tuple__1116;
  PyObject *__pyx_tuple__1117;
  PyObject *__pyx_tuple__1118;
  PyObject *__pyx_tuple__1119;
  PyObject *__pyx_tuple__1120;
  PyObject *__pyx_tuple__1121;
  PyObject *__pyx_tuple__1122;
  PyObject *__pyx_tuple__1123;
  PyObject *__pyx_tuple__1124;
  PyObject *__pyx_tuple__1125;
  PyObject *__pyx_tuple__1126;
  PyObject *__pyx_tuple__1127;
  PyObject *__pyx_tuple__1128;
  PyObject *__pyx_tuple__1129;
  PyObject *__pyx_tuple__1130;
  PyObject *__pyx_tuple__1131;
  PyObject *__pyx_tuple__1132;
  PyObject *__pyx_tuple__1133;
  PyObject *__pyx_tuple__1134;
  PyObject *__pyx_tuple__1135;
  PyObject *__pyx_tuple__1136;
  PyObject *__pyx_tuple__1137;
  PyObject *__pyx_tuple__1138;
  PyObject *__pyx_tuple__1139;
  PyObject *__pyx_tuple__1140;
  PyObject *__pyx_tuple__1141;
  PyObject *__pyx_tuple__1142;
  PyObject *__pyx_tuple__1143;
  PyObject *__pyx_tuple__1144;
  PyObject *__pyx_tuple__1145;
  PyObject *__pyx_tuple__1146;
  PyObject *__pyx_tuple__1147;
  PyObject *__pyx_tuple__1148;
  PyObject *__pyx_tuple__1149;
  PyObject *__pyx_tuple__1150;
  PyObject *__pyx_tuple__1151;
  PyObject *__pyx_tuple__1152;
  PyObject *__pyx_tuple__1153;
  PyObject *__pyx_tuple__1154;
  PyObject *__pyx_tuple__1155;
  PyObject *__pyx_tuple__1156;
  PyObject *__pyx_tuple__1157;
  PyObject *__pyx_tuple__1158;
  PyObject *__pyx_tuple__1159;
  PyObject *__pyx_tuple__1160;
  PyObject *__pyx_tuple__1161;
  PyObject *__pyx_tuple__1162;
  PyObject *__pyx_tuple__1163;
  PyObject *__pyx_tuple__1164;
  PyObject *__pyx_tuple__1165;
  PyObject *__pyx_tuple__1166;
  PyObject *__pyx_tuple__1167;
  PyObject *__pyx_tuple__1168;
  PyObject *__pyx_tuple__1169;
  PyObject *__pyx_tuple__1170;
  PyObject *__pyx_tuple__1171;
  PyObject *__pyx_tuple__1172;
  PyObject *__pyx_tuple__1173;
  PyObject *__pyx_tuple__1174;
  PyObject *__pyx_tuple__1175;
  PyObject *__pyx_tuple__1176;
  PyObject *__pyx_tuple__1177;
  PyObject *__pyx_tuple__1178;
  PyObject *__pyx_tuple__1179;
  PyObject *__pyx_tuple__1180;
  PyObject *__pyx_tuple__1181;
  PyObject *__pyx_tuple__1182;
  PyObject *__pyx_tuple__1183;
  PyObject *__pyx_tuple__1184;
  PyObject *__pyx_tuple__1185;
  PyObject *__pyx_tuple__1186;
  PyObject *__pyx_tuple__1187;
  PyObject *__pyx_tuple__1188;
  PyObject *__pyx_tuple__1189;
  PyObject *__pyx_tuple__1190;
  PyObject *__pyx_tuple__1191;
  PyObject *__pyx_tuple__1192;
  PyObject *__pyx_tuple__1193;
  PyObject *__pyx_tuple__1194;
  PyObject *__pyx_tuple__1195;
  PyObject *__pyx_tuple__1196;
  PyObject *__pyx_tuple__1197;
  PyObject *__pyx_tuple__1198;
  PyObject *__pyx_tuple__1199;
  PyObject *__pyx_tuple__1200;
  PyObject *__pyx_tuple__1201;
  PyObject *__pyx_tuple__1202;
  PyObject *__pyx_tuple__1203;
  PyObject *__pyx_tuple__1204;
  PyObject *__pyx_tuple__1205;
  PyObject *__pyx_tuple__1206;
  PyObject *__pyx_tuple__1207;
  PyObject *__pyx_tuple__1208;
  PyObject *__pyx_tuple__1209;
  PyObject *__pyx_tuple__1210;
  PyObject *__pyx_tuple__1211;
  PyObject *__pyx_tuple__1212;
  PyObject *__pyx_tuple__1213;
  PyObject *__pyx_tuple__1214;
  PyObject *__pyx_tuple__1215;
  PyObject *__pyx_tuple__1216;
  PyObject *__pyx_tuple__1217;
  PyObject *__pyx_tuple__1218;
  PyObject *__pyx_tuple__1219;
  PyObject *__pyx_tuple__1220;
  PyObject *__pyx_tuple__1221;
  PyObject *__pyx_tuple__1222;
  PyObject *__pyx_tuple__1223;
  PyObject *__pyx_tuple__1224;
  PyObject *__pyx_tuple__1225;
  PyObject *__pyx_tuple__1226;
  PyObject *__pyx_tuple__1227;
  PyObject *__pyx_tuple__1228;
  PyObject *__pyx_tuple__1229;
  PyObject *__pyx_tuple__1230;
  PyObject *__pyx_tuple__1231;
  PyObject *__pyx_tuple__1232;
  PyObject *__pyx_tuple__1233;
  PyObject *__pyx_tuple__1234;
  PyObject *__pyx_tuple__1235;
  PyObject *__pyx_tuple__1236;
  PyObject *__pyx_tuple__1237;
  PyObject *__pyx_tuple__1238;
  PyObject *__pyx_tuple__1239;
  PyObject *__pyx_tuple__1240;
  PyObject *__pyx_tuple__1241;
  PyObject *__pyx_tuple__1242;
  PyObject *__pyx_tuple__1243;
  PyObject *__pyx_tuple__1244;
  PyObject *__pyx_tuple__1245;
  PyObject *__pyx_tuple__1246;
  PyObject *__pyx_tuple__1247;
  PyObject *__pyx_tuple__1248;
  PyObject *__pyx_tuple__1249;
  PyObject *__pyx_tuple__1250;
  PyObject *__pyx_tuple__1251;
  PyObject *__pyx_tuple__1252;
  PyObject *__pyx_tuple__1253;
  PyObject *__pyx_tuple__1254;
  PyObject *__pyx_tuple__1255;
  PyObject *__pyx_tuple__1256;
  PyObject *__pyx_tuple__1257;
  PyObject *__pyx_tuple__1258;
  PyObject *__pyx_tuple__1259;
  PyObject *__pyx_tuple__1260;
  PyObject *__pyx_tuple__1261;
  PyObject *__pyx_tuple__1262;
  PyObject *__pyx_tuple__1263;
  PyObject *__pyx_tuple__1264;
  PyObject *__pyx_tuple__1265;
  PyObject *__pyx_tuple__1266;
  PyObject *__pyx_tuple__1267;
  PyObject *__pyx_tuple__1268;
  PyObject *__pyx_tuple__1269;
  PyObject *__pyx_tuple__1270;
  PyObject *__pyx_tuple__1271;
  PyObject *__pyx_tuple__1272;
  PyObject *__pyx_tuple__1273;
  PyObject *__pyx_tuple__1274;
  PyObject *__pyx_tuple__1275;
  PyObject *__pyx_tuple__1276;
  PyObject *__pyx_tuple__1277;
  PyObject *__pyx_tuple__1278;
  PyObject *__pyx_tuple__1279;
  PyObject *__pyx_tuple__1280;
  PyObject *__pyx_tuple__1281;
  PyObject *__pyx_tuple__1282;
  PyObject *__pyx_tuple__1283;
  PyObject *__pyx_tuple__1284;
  PyObject *__pyx_tuple__1285;
  PyObject *__pyx_tuple__1286;
  PyObject *__pyx_tuple__1287;
  PyObject *__pyx_tuple__1288;
  PyObject *__pyx_tuple__1289;
  PyObject *__pyx_tuple__1290;
  PyObject *__pyx_tuple__1291;
  PyObject *__pyx_tuple__1292;
  PyObject *__pyx_tuple__1293;
  PyObject *__pyx_tuple__1294;
  PyObject *__pyx_tuple__1295;
  PyObject *__pyx_tuple__1296;
  PyObject *__pyx_tuple__1297;
  PyObject *__pyx_tuple__1298;
  PyObject *__pyx_tuple__1299;
  PyObject *__pyx_tuple__1300;
  PyObject *__pyx_tuple__1301;
  PyObject *__pyx_tuple__1302;
  PyObject *__pyx_tuple__1303;
  PyObject *__pyx_tuple__1304;
  PyObject *__pyx_tuple__1305;
  PyObject *__pyx_tuple__1306;
  PyObject *__pyx_tuple__1307;
  PyObject *__pyx_tuple__1308;
  PyObject *__pyx_tuple__1309;
  PyObject *__pyx_tuple__1310;
  PyObject *__pyx_tuple__1311;
  PyObject *__pyx_tuple__1312;
  PyObject *__pyx_tuple__1313;
  PyObject *__pyx_tuple__1314;
  PyObject *__pyx_tuple__1315;
  PyObject *__pyx_tuple__1316;
  PyObject *__pyx_tuple__1317;
  PyObject *__pyx_tuple__1318;
  PyObject *__pyx_tuple__1319;
  PyObject *__pyx_tuple__1320;
  PyObject *__pyx_tuple__1321;
  PyObject *__pyx_tuple__1322;
  PyObject *__pyx_tuple__1323;
  PyObject *__pyx_tuple__1324;
  PyObject *__pyx_tuple__1325;
  PyObject *__pyx_tuple__1326;
  PyObject *__pyx_tuple__1327;
  PyObject *__pyx_tuple__1328;
  PyObject *__pyx_tuple__1329;
  PyObject *__pyx_tuple__1330;
  PyObject *__pyx_tuple__1331;
  PyObject *__pyx_tuple__1332;
  PyObject *__pyx_tuple__1333;
  PyObject *__pyx_tuple__1334;
  PyObject *__pyx_tuple__1335;
  PyObject *__pyx_tuple__1336;
  PyObject *__pyx_tuple__1337;
  PyObject *__pyx_codeobj__100;
  PyObject *__pyx_codeobj__101;
  PyObject *__pyx_codeobj__102;
  PyObject *__pyx_codeobj__103;
  PyObject *__pyx_codeobj__104;
  PyObject *__pyx_codeobj__105;
  PyObject *__pyx_codeobj__106;
  PyObject *__pyx_codeobj__107;
  PyObject *__pyx_codeobj__108;
  PyObject *__pyx_codeobj__109;
  PyObject *__pyx_codeobj__110;
  PyObject *__pyx_codeobj__111;
  PyObject *__pyx_codeobj__112;
  PyObject *__pyx_codeobj__113;
  PyObject *__pyx_codeobj__114;
  PyObject *__pyx_codeobj__115;
  PyObject *__pyx_codeobj__116;
  PyObject *__pyx_codeobj__119;
  PyObject *__pyx_codeobj__120;
  PyObject *__pyx_codeobj__121;
  PyObject *__pyx_codeobj__122;
  PyObject *__pyx_codeobj__123;
  PyObject *__pyx_codeobj__124;
  PyObject *__pyx_codeobj__125;
  PyObject *__pyx_codeobj__126;
  PyObject *__pyx_codeobj__127;
  PyObject *__pyx_codeobj__128;
  PyObject *__pyx_codeobj__129;
  PyObject *__pyx_codeobj__130;
  PyObject *__pyx_codeobj__131;
  PyObject *__pyx_codeobj__132;
  PyObject *__pyx_codeobj__133;
  PyObject *__pyx_codeobj__134;
  PyObject *__pyx_codeobj__135;
  PyObject *__pyx_codeobj__136;
  PyObject *__pyx_codeobj__137;
  PyObject *__pyx_codeobj__138;
  PyObject *__pyx_codeobj__139;
  PyObject *__pyx_codeobj__140;
  PyObject *__pyx_codeobj__141;
  PyObject *__pyx_codeobj__142;
  PyObject *__pyx_codeobj__144;
  PyObject *__pyx_codeobj__145;
  PyObject *__pyx_codeobj__146;
  PyObject *__pyx_codeobj__147;
  PyObject *__pyx_codeobj__148;
  PyObject *__pyx_codeobj__149;
  PyObject *__pyx_codeobj__150;
  PyObject *__pyx_codeobj__151;
  PyObject *__pyx_codeobj__152;
  PyObject *__pyx_codeobj__153;
  PyObject *__pyx_codeobj__154;
  PyObject *__pyx_codeobj__155;
  PyObject *__pyx_codeobj__156;
  PyObject *__pyx_codeobj__157;
  PyObject *__pyx_codeobj__158;
  PyObject *__pyx_codeobj__159;
  PyObject *__pyx_codeobj__160;
  PyObject *__pyx_codeobj__161;
  PyObject *__pyx_codeobj__162;
  PyObject *__pyx_codeobj__163;
  PyObject *__pyx_codeobj__164;
  PyObject *__pyx_codeobj__165;
  PyObject *__pyx_codeobj__166;
  PyObject *__pyx_codeobj__167;
  PyObject *__pyx_codeobj__168;
  PyObject *__pyx_codeobj__169;
  PyObject *__pyx_codeobj__170;
  PyObject *__pyx_codeobj__171;
  PyObject *__pyx_codeobj__172;
  PyObject *__pyx_codeobj__173;
  PyObject *__pyx_codeobj__174;
  PyObject *__pyx_codeobj__175;
  PyObject *__pyx_codeobj__176;
  PyObject *__pyx_codeobj__177;
  PyObject *__pyx_codeobj__178;
  PyObject *__pyx_codeobj__179;
  PyObject *__pyx_codeobj__180;
  PyObject *__pyx_codeobj__181;
  PyObject *__pyx_codeobj__182;
  PyObject *__pyx_codeobj__183;
  PyObject *__pyx_codeobj__184;
  PyObject *__pyx_codeobj__185;
  PyObject *__pyx_codeobj__186;
  PyObject *__pyx_codeobj__187;
  PyObject *__pyx_codeobj__188;
  PyObject *__pyx_codeobj__189;
  PyObject *__pyx_codeobj__190;
  PyObject *__pyx_codeobj__191;
  PyObject *__pyx_codeobj__192;
  PyObject *__pyx_codeobj__193;
  PyObject *__pyx_codeobj__194;
  PyObject *__pyx_codeobj__195;
  PyObject *__pyx_codeobj__196;
  PyObject *__pyx_codeobj__197;
  PyObject *__pyx_codeobj__198;
  PyObject *__pyx_codeobj__199;
  PyObject *__pyx_codeobj__200;
  PyObject *__pyx_codeobj__201;
  PyObject *__pyx_codeobj__202;
  PyObject *__pyx_codeobj__203;
  PyObject *__pyx_codeobj__204;
  PyObject *__pyx_codeobj__205;
  PyObject *__pyx_codeobj__206;
  PyObject *__pyx_codeobj__207;
  PyObject *__pyx_codeobj__208;
  PyObject *__pyx_codeobj__209;
  PyObject *__pyx_codeobj__210;
  PyObject *__pyx_codeobj__211;
  PyObject *__pyx_codeobj__212;
  PyObject *__pyx_codeobj__213;
  PyObject *__pyx_codeobj__214;
  PyObject *__pyx_codeobj__215;
  PyObject *__pyx_codeobj__216;
  PyObject *__pyx_codeobj__217;
  PyObject *__pyx_codeobj__218;
  PyObject *__pyx_codeobj__219;
  PyObject *__pyx_codeobj__220;
  PyObject *__pyx_codeobj__221;
  PyObject *__pyx_codeobj__222;
  PyObject *__pyx_codeobj__223;
  PyObject *__pyx_codeobj__224;
  PyObject *__pyx_codeobj__225;
  PyObject *__pyx_codeobj__226;
  PyObject *__pyx_codeobj__227;
  PyObject *__pyx_codeobj__228;
  PyObject *__pyx_codeobj__229;
  PyObject *__pyx_codeobj__230;
  PyObject *__pyx_codeobj__231;
  PyObject *__pyx_codeobj__232;
  PyObject *__pyx_codeobj__233;
  PyObject *__pyx_codeobj__234;
  PyObject *__pyx_codeobj__235;
  PyObject *__pyx_codeobj__236;
  PyObject *__pyx_codeobj__237;
  PyObject *__pyx_codeobj__238;
  PyObject *__pyx_codeobj__239;
  PyObject *__pyx_codeobj__240;
  PyObject *__pyx_codeobj__241;
  PyObject *__pyx_codeobj__242;
  PyObject *__pyx_codeobj__243;
  PyObject *__pyx_codeobj__244;
  PyObject *__pyx_codeobj__245;
  PyObject *__pyx_codeobj__246;
  PyObject *__pyx_codeobj__247;
  PyObject *__pyx_codeobj__248;
  PyObject *__pyx_codeobj__249;
  PyObject *__pyx_codeobj__250;
  PyObject *__pyx_codeobj__251;
  PyObject *__pyx_codeobj__252;
  PyObject *__pyx_codeobj__253;
  PyObject *__pyx_codeobj__254;
  PyObject *__pyx_codeobj__255;
  PyObject *__pyx_codeobj__256;
  PyObject *__pyx_codeobj__257;
  PyObject *__pyx_codeobj__258;
  PyObject *__pyx_codeobj__259;
  PyObject *__pyx_codeobj__260;
  PyObject *__pyx_codeobj__261;
  PyObject *__pyx_codeobj__262;
  PyObject *__pyx_codeobj__263;
  PyObject *__pyx_codeobj__264;
  PyObject *__pyx_codeobj__265;
  PyObject *__pyx_codeobj__266;
  PyObject *__pyx_codeobj__267;
  PyObject *__pyx_codeobj__268;
  PyObject *__pyx_codeobj__269;
  PyObject *__pyx_codeobj__270;
  PyObject *__pyx_codeobj__271;
  PyObject *__pyx_codeobj__272;
  PyObject *__pyx_codeobj__273;
  PyObject *__pyx_codeobj__274;
  PyObject *__pyx_codeobj__275;
  PyObject *__pyx_codeobj__276;
  PyObject *__pyx_codeobj__277;
  PyObject *__pyx_codeobj__278;
  PyObject *__pyx_codeobj__279;
  PyObject *__pyx_codeobj__280;
  PyObject *__pyx_codeobj__281;
  PyObject *__pyx_codeobj__282;
  PyObject *__pyx_codeobj__283;
  PyObject *__pyx_codeobj__284;
  PyObject *__pyx_codeobj__285;
  PyObject *__pyx_codeobj__286;
  PyObject *__pyx_codeobj__287;
  PyObject *__pyx_codeobj__288;
  PyObject *__pyx_codeobj__289;
  PyObject *__pyx_codeobj__290;
  PyObject *__pyx_codeobj__291;
  PyObject *__pyx_codeobj__292;
  PyObject *__pyx_codeobj__293;
  PyObject *__pyx_codeobj__294;
  PyObject *__pyx_codeobj__295;
  PyObject *__pyx_codeobj__296;
  PyObject *__pyx_codeobj__297;
  PyObject *__pyx_codeobj__298;
  PyObject *__pyx_codeobj__299;
  PyObject *__pyx_codeobj__300;
  PyObject *__pyx_codeobj__301;
  PyObject *__pyx_codeobj__302;
  PyObject *__pyx_codeobj__303;
  PyObject *__pyx_codeobj__304;
  PyObject *__pyx_codeobj__305;
  PyObject *__pyx_codeobj__306;
  PyObject *__pyx_codeobj__307;
  PyObject *__pyx_codeobj__308;
  PyObject *__pyx_codeobj__309;
  PyObject *__pyx_codeobj__310;
  PyObject *__pyx_codeobj__311;
  PyObject *__pyx_codeobj__312;
  PyObject *__pyx_codeobj__313;
  PyObject *__pyx_codeobj__314;
  PyObject *__pyx_codeobj__315;
  PyObject *__pyx_codeobj__316;
  PyObject *__pyx_codeobj__317;
  PyObject *__pyx_codeobj__318;
  PyObject *__pyx_codeobj__319;
  PyObject *__pyx_codeobj__320;
  PyObject *__pyx_codeobj__321;
  PyObject *__pyx_codeobj__322;
  PyObject *__pyx_codeobj__323;
  PyObject *__pyx_codeobj__324;
  PyObject *__pyx_codeobj__325;
  PyObject *__pyx_codeobj__326;
  PyObject *__pyx_codeobj__327;
  PyObject *__pyx_codeobj__328;
  PyObject *__pyx_codeobj__329;
  PyObject *__pyx_codeobj__330;
  PyObject *__pyx_codeobj__331;
  PyObject *__pyx_codeobj__332;
  PyObject *__pyx_codeobj__333;
  PyObject *__pyx_codeobj__334;
  PyObject *__pyx_codeobj__335;
  PyObject *__pyx_codeobj__336;
  PyObject *__pyx_codeobj__337;
  PyObject *__pyx_codeobj__338;
  PyObject *__pyx_codeobj__339;
  PyObject *__pyx_codeobj__340;
  PyObject *__pyx_codeobj__341;
  PyObject *__pyx_codeobj__342;
  PyObject *__pyx_codeobj__343;
  PyObject *__pyx_codeobj__344;
  PyObject *__pyx_codeobj__345;
  PyObject *__pyx_codeobj__346;
  PyObject *__pyx_codeobj__347;
  PyObject *__pyx_codeobj__348;
  PyObject *__pyx_codeobj__349;
  PyObject *__pyx_codeobj__350;
  PyObject *__pyx_codeobj__351;
  PyObject *__pyx_codeobj__352;
  PyObject *__pyx_codeobj__353;
  PyObject *__pyx_codeobj__354;
  PyObject *__pyx_codeobj__355;
  PyObject *__pyx_codeobj__356;
  PyObject *__pyx_codeobj__357;
  PyObject *__pyx_codeobj__358;
  PyObject *__pyx_codeobj__359;
  PyObject *__pyx_codeobj__360;
  PyObject *__pyx_codeobj__361;
  PyObject *__pyx_codeobj__362;
  PyObject *__pyx_codeobj__363;
  PyObject *__pyx_codeobj__364;
  PyObject *__pyx_codeobj__365;
  PyObject *__pyx_codeobj__366;
  PyObject *__pyx_codeobj__367;
  PyObject *__pyx_codeobj__368;
  PyObject *__pyx_codeobj__369;
  PyObject *__pyx_codeobj__370;
  PyObject *__pyx_codeobj__371;
  PyObject *__pyx_codeobj__372;
  PyObject *__pyx_codeobj__373;
  PyObject *__pyx_codeobj__374;
  PyObject *__pyx_codeobj__375;
  PyObject *__pyx_codeobj__376;
  PyObject *__pyx_codeobj__377;
  PyObject *__pyx_codeobj__378;
  PyObject *__pyx_codeobj__379;
  PyObject *__pyx_codeobj__380;
  PyObject *__pyx_codeobj__381;
  PyObject *__pyx_codeobj__382;
  PyObject *__pyx_codeobj__383;
  PyObject *__pyx_codeobj__384;
  PyObject *__pyx_codeobj__385;
  PyObject *__pyx_codeobj__386;
  PyObject *__pyx_codeobj__387;
  PyObject *__pyx_codeobj__388;
  PyObject *__pyx_codeobj__389;
  PyObject *__pyx_codeobj__390;
  PyObject *__pyx_codeobj__391;
  PyObject *__pyx_codeobj__392;
  PyObject *__pyx_codeobj__393;
  PyObject *__pyx_codeobj__394;
  PyObject *__pyx_codeobj__395;
  PyObject *__pyx_codeobj__396;
  PyObject *__pyx_codeobj__397;
  PyObject *__pyx_codeobj__398;
  PyObject *__pyx_codeobj__399;
  PyObject *__pyx_codeobj__400;
  PyObject *__pyx_codeobj__401;
  PyObject *__pyx_codeobj__402;
  PyObject *__pyx_codeobj__403;
  PyObject *__pyx_codeobj__404;
  PyObject *__pyx_codeobj__405;
  PyObject *__pyx_codeobj__406;
  PyObject *__pyx_codeobj__407;
  PyObject *__pyx_codeobj__408;
  PyObject *__pyx_codeobj__409;
  PyObject *__pyx_codeobj__410;
  PyObject *__pyx_codeobj__411;
  PyObject *__pyx_codeobj__412;
  PyObject *__pyx_codeobj__413;
  PyObject *__pyx_codeobj__414;
  PyObject *__pyx_codeobj__415;
  PyObject *__pyx_codeobj__416;
  PyObject *__pyx_codeobj__417;
  PyObject *__pyx_codeobj__418;
  PyObject *__pyx_codeobj__419;
  PyObject *__pyx_codeobj__420;
  PyObject *__pyx_codeobj__421;
  PyObject *__pyx_codeobj__422;
  PyObject *__pyx_codeobj__423;
  PyObject *__pyx_codeobj__424;
  PyObject *__pyx_codeobj__425;
  PyObject *__pyx_codeobj__426;
  PyObject *__pyx_codeobj__427;
  PyObject *__pyx_codeobj__428;
  PyObject *__pyx_codeobj__429;
  PyObject *__pyx_codeobj__430;
  PyObject *__pyx_codeobj__431;
  PyObject *__pyx_codeobj__432;
  PyObject *__pyx_codeobj__433;
  PyObject *__pyx_codeobj__434;
  PyObject *__pyx_codeobj__435;
  PyObject *__pyx_codeobj__436;
  PyObject *__pyx_codeobj__437;
  PyObject *__pyx_codeobj__438;
  PyObject *__pyx_codeobj__439;
  PyObject *__pyx_codeobj__440;
  PyObject *__pyx_codeobj__441;
  PyObject *__pyx_codeobj__442;
  PyObject *__pyx_codeobj__443;
  PyObject *__pyx_codeobj__444;
  PyObject *__pyx_codeobj__445;
  PyObject *__pyx_codeobj__446;
  PyObject *__pyx_codeobj__447;
  PyObject *__pyx_codeobj__448;
  PyObject *__pyx_codeobj__449;
  PyObject *__pyx_codeobj__450;
  PyObject *__pyx_codeobj__451;
  PyObject *__pyx_codeobj__452;
  PyObject *__pyx_codeobj__453;
  PyObject *__pyx_codeobj__454;
  PyObject *__pyx_codeobj__455;
  PyObject *__pyx_codeobj__456;
  PyObject *__pyx_codeobj__457;
  PyObject *__pyx_codeobj__458;
  PyObject *__pyx_codeobj__459;
  PyObject *__pyx_codeobj__460;
  PyObject *__pyx_codeobj__461;
  PyObject *__pyx_codeobj__462;
  PyObject *__pyx_codeobj__463;
  PyObject *__pyx_codeobj__464;
  PyObject *__pyx_codeobj__465;
  PyObject *__pyx_codeobj__466;
  PyObject *__pyx_codeobj__467;
  PyObject *__pyx_codeobj__468;
  PyObject *__pyx_codeobj__469;
  PyObject *__pyx_codeobj__470;
  PyObject *__pyx_codeobj__471;
  PyObject *__pyx_codeobj__472;
  PyObject *__pyx_codeobj__473;
  PyObject *__pyx_codeobj__474;
  PyObject *__pyx_codeobj__475;
  PyObject *__pyx_codeobj__476;
  PyObject *__pyx_codeobj__477;
  PyObject *__pyx_codeobj__478;
  PyObject *__pyx_codeobj__479;
  PyObject *__pyx_codeobj__480;
  PyObject *__pyx_codeobj__481;
  PyObject *__pyx_codeobj__482;
  PyObject *__pyx_codeobj__483;
  PyObject *__pyx_codeobj__484;
  PyObject *__pyx_codeobj__485;
  PyObject *__pyx_codeobj__487;
  PyObject *__pyx_codeobj__488;
  PyObject *__pyx_codeobj__489;
  PyObject *__pyx_codeobj__490;
  PyObject *__pyx_codeobj__491;
  PyObject *__pyx_codeobj__492;
  PyObject *__pyx_codeobj__493;
  PyObject *__pyx_codeobj__494;
  PyObject *__pyx_codeobj__495;
  PyObject *__pyx_codeobj__496;
  PyObject *__pyx_codeobj__497;
  PyObject *__pyx_codeobj__498;
  PyObject *__pyx_codeobj__499;
  PyObject *__pyx_codeobj__500;
  PyObject *__pyx_codeobj__501;
  PyObject *__pyx_codeobj__502;
  PyObject *__pyx_codeobj__503;
  PyObject *__pyx_codeobj__504;
  PyObject *__pyx_codeobj__505;
  PyObject *__pyx_codeobj__506;
  PyObject *__pyx_codeobj__507;
  PyObject *__pyx_codeobj__509;
  PyObject *__pyx_codeobj__510;
  PyObject *__pyx_codeobj__511;
  PyObject *__pyx_codeobj__512;
  PyObject *__pyx_codeobj__513;
  PyObject *__pyx_codeobj__514;
  PyObject *__pyx_codeobj__515;
  PyObject *__pyx_codeobj__516;
  PyObject *__pyx_codeobj__517;
  PyObject *__pyx_codeobj__518;
  PyObject *__pyx_codeobj__519;
  PyObject *__pyx_codeobj__520;
  PyObject *__pyx_codeobj__521;
  PyObject *__pyx_codeobj__522;
  PyObject *__pyx_codeobj__523;
  PyObject *__pyx_codeobj__524;
  PyObject *__pyx_codeobj__525;
  PyObject *__pyx_codeobj__526;
  PyObject *__pyx_codeobj__527;
  PyObject *__pyx_codeobj__528;
  PyObject *__pyx_codeobj__529;
  PyObject *__pyx_codeobj__530;
  PyObject *__pyx_codeobj__531;
  PyObject *__pyx_codeobj__532;
  PyObject *__pyx_codeobj__533;
  PyObject *__pyx_codeobj__536;
  PyObject *__pyx_codeobj__537;
  PyObject *__pyx_codeobj__538;
  PyObject *__pyx_codeobj__539;
  PyObject *__pyx_codeobj__540;
  PyObject *__pyx_codeobj__541;
  PyObject *__pyx_codeobj__542;
  PyObject *__pyx_codeobj__543;
  PyObject *__pyx_codeobj__544;
  PyObject *__pyx_codeobj__545;
  PyObject *__pyx_codeobj__546;
  PyObject *__pyx_codeobj__547;
  PyObject *__pyx_codeobj__548;
  PyObject *__pyx_codeobj__549;
  PyObject *__pyx_codeobj__550;
  PyObject *__pyx_codeobj__553;
  PyObject *__pyx_codeobj__554;
  PyObject *__pyx_codeobj__555;
  PyObject *__pyx_codeobj__556;
  PyObject *__pyx_codeobj__557;
  PyObject *__pyx_codeobj__558;
  PyObject *__pyx_codeobj__559;
  PyObject *__pyx_codeobj__560;
  PyObject *__pyx_codeobj__561;
  PyObject *__pyx_codeobj__562;
  PyObject *__pyx_codeobj__563;
  PyObject *__pyx_codeobj__564;
  PyObject *__pyx_codeobj__565;
  PyObject *__pyx_codeobj__566;
  PyObject *__pyx_codeobj__567;
  PyObject *__pyx_codeobj__568;
  PyObject *__pyx_codeobj__569;
  PyObject *__pyx_codeobj__570;
  PyObject *__pyx_codeobj__571;
  PyObject *__pyx_codeobj__572;
  PyObject *__pyx_codeobj__573;
  PyObject *__pyx_codeobj__574;
  PyObject *__pyx_codeobj__575;
  PyObject *__pyx_codeobj__576;
  PyObject *__pyx_codeobj__577;
  PyObject *__pyx_codeobj__578;
  PyObject *__pyx_codeobj__579;
  PyObject *__pyx_codeobj__580;
  PyObject *__pyx_codeobj__581;
  PyObject *__pyx_codeobj__582;
  PyObject *__pyx_codeobj__583;
  PyObject *__pyx_codeobj__584;
  PyObject *__pyx_codeobj__585;
  PyObject *__pyx_codeobj__586;
  PyObject *__pyx_codeobj__587;
  PyObject *__pyx_codeobj__588;
  PyObject *__pyx_codeobj__589;
  PyObject *__pyx_codeobj__590;
  PyObject *__pyx_codeobj__591;
  PyObject *__pyx_codeobj__592;
  PyObject *__pyx_codeobj__593;
  PyObject *__pyx_codeobj__594;
  PyObject *__pyx_codeobj__595;
  PyObject *__pyx_codeobj__596;
  PyObject *__pyx_codeobj__597;
  PyObject *__pyx_codeobj__598;
  PyObject *__pyx_codeobj__599;
  PyObject *__pyx_codeobj__600;
  PyObject *__pyx_codeobj__601;
  PyObject *__pyx_codeobj__602;
  PyObject *__pyx_codeobj__603;
  PyObject *__pyx_codeobj__604;
  PyObject *__pyx_codeobj__605;
  PyObject *__pyx_codeobj__606;
  PyObject *__pyx_codeobj__607;
  PyObject *__pyx_codeobj__608;
  PyObject *__pyx_codeobj__609;
  PyObject *__pyx_codeobj__610;
  PyObject *__pyx_codeobj__611;
  PyObject *__pyx_codeobj__612;
  PyObject *__pyx_codeobj__613;
  PyObject *__pyx_codeobj__614;
  PyObject *__pyx_codeobj__615;
  PyObject *__pyx_codeobj__616;
  PyObject *__pyx_codeobj__617;
  PyObject *__pyx_codeobj__618;
  PyObject *__pyx_codeobj__619;
  PyObject *__pyx_codeobj__620;
  PyObject *__pyx_codeobj__621;
  PyObject *__pyx_codeobj__622;
  PyObject *__pyx_codeobj__623;
  PyObject *__pyx_codeobj__624;
  PyObject *__pyx_codeobj__625;
  PyObject *__pyx_codeobj__626;
  PyObject *__pyx_codeobj__627;
  PyObject *__pyx_codeobj__628;
  PyObject *__pyx_codeobj__629;
  PyObject *__pyx_codeobj__630;
  PyObject *__pyx_codeobj__631;
  PyObject *__pyx_codeobj__632;
  PyObject *__pyx_codeobj__633;
  PyObject *__pyx_codeobj__634;
  PyObject *__pyx_codeobj__635;
  PyObject *__pyx_codeobj__636;
  PyObject *__pyx_codeobj__637;
  PyObject *__pyx_codeobj__638;
  PyObject *__pyx_codeobj__639;
  PyObject *__pyx_codeobj__640;
  PyObject *__pyx_codeobj__641;
  PyObject *__pyx_codeobj__642;
  PyObject *__pyx_codeobj__643;
  PyObject *__pyx_codeobj__644;
  PyObject *__pyx_codeobj__645;
  PyObject *__pyx_codeobj__647;
  PyObject *__pyx_codeobj__648;
  PyObject *__pyx_codeobj__650;
  PyObject *__pyx_codeobj__651;
  PyObject *__pyx_codeobj__652;
  PyObject *__pyx_codeobj__653;
  PyObject *__pyx_codeobj__654;
  PyObject *__pyx_codeobj__655;
  PyObject *__pyx_codeobj__656;
  PyObject *__pyx_codeobj__657;
  PyObject *__pyx_codeobj__658;
  PyObject *__pyx_codeobj__659;
  PyObject *__pyx_codeobj__660;
  PyObject *__pyx_codeobj__661;
  PyObject *__pyx_codeobj__663;
  PyObject *__pyx_codeobj__664;
  PyObject *__pyx_codeobj__665;
  PyObject *__pyx_codeobj__666;
  PyObject *__pyx_codeobj__667;
  PyObject *__pyx_codeobj__668;
  PyObject *__pyx_codeobj__669;
  PyObject *__pyx_codeobj__670;
  PyObject *__pyx_codeobj__671;
  PyObject *__pyx_codeobj__672;
  PyObject *__pyx_codeobj__673;
  PyObject *__pyx_codeobj__674;
  PyObject *__pyx_codeobj__675;
  PyObject *__pyx_codeobj__676;
  PyObject *__pyx_codeobj__677;
  PyObject *__pyx_codeobj__678;
  PyObject *__pyx_codeobj__679;
  PyObject *__pyx_codeobj__680;
  PyObject *__pyx_codeobj__681;
  PyObject *__pyx_codeobj__682;
  PyObject *__pyx_codeobj__683;
  PyObject *__pyx_codeobj__686;
  PyObject *__pyx_codeobj__687;
  PyObject *__pyx_codeobj__689;
  PyObject *__pyx_codeobj__690;
  PyObject *__pyx_codeobj__691;
  PyObject *__pyx_codeobj__692;
  PyObject *__pyx_codeobj__693;
  PyObject *__pyx_codeobj__694;
  PyObject *__pyx_codeobj__695;
  PyObject *__pyx_codeobj__696;
  PyObject *__pyx_codeobj__697;
  PyObject *__pyx_codeobj__698;
  PyObject *__pyx_codeobj__701;
  PyObject *__pyx_codeobj__702;
  PyObject *__pyx_codeobj__703;
  PyObject *__pyx_codeobj__704;
  PyObject *__pyx_codeobj__705;
  PyObject *__pyx_codeobj__706;
  PyObject *__pyx_codeobj__707;
  PyObject *__pyx_codeobj__708;
  PyObject *__pyx_codeobj__709;
  PyObject *__pyx_codeobj__710;
  PyObject *__pyx_codeobj__711;
  PyObject *__pyx_codeobj__712;
  PyObject *__pyx_codeobj__713;
  PyObject *__pyx_codeobj__714;
  PyObject *__pyx_codeobj__715;
  PyObject *__pyx_codeobj__716;
  PyObject *__pyx_codeobj__717;
  PyObject *__pyx_codeobj__718;
  PyObject *__pyx_codeobj__719;
  PyObject *__pyx_codeobj__720;
  PyObject *__pyx_codeobj__721;
  PyObject *__pyx_codeobj__722;
  PyObject *__pyx_codeobj__723;
  PyObject *__pyx_codeobj__724;
  PyObject *__pyx_codeobj__725;
  PyObject *__pyx_codeobj__726;
  PyObject *__pyx_codeobj__727;
  PyObject *__pyx_codeobj__730;
  PyObject *__pyx_codeobj__732;
  PyObject *__pyx_codeobj__733;
  PyObject *__pyx_codeobj__734;
  PyObject *__pyx_codeobj__735;
  PyObject *__pyx_codeobj__736;
  PyObject *__pyx_codeobj__737;
  PyObject *__pyx_codeobj__739;
  PyObject *__pyx_codeobj__740;
  PyObject *__pyx_codeobj__741;
  PyObject *__pyx_codeobj__742;
  PyObject *__pyx_codeobj__743;
  PyObject *__pyx_codeobj__744;
  PyObject *__pyx_codeobj__745;
  PyObject *__pyx_codeobj__746;
  PyObject *__pyx_codeobj__747;
  PyObject *__pyx_codeobj__748;
  PyObject *__pyx_codeobj__749;
  PyObject *__pyx_codeobj__750;
  PyObject *__pyx_codeobj__752;
  PyObject *__pyx_codeobj__753;
  PyObject *__pyx_codeobj__754;
  PyObject *__pyx_codeobj__755;
  PyObject *__pyx_codeobj__756;
  PyObject *__pyx_codeobj__757;
  PyObject *__pyx_codeobj__758;
  PyObject *__pyx_codeobj__759;
  PyObject *__pyx_codeobj__760;
  PyObject *__pyx_codeobj__761;
  PyObject *__pyx_codeobj__762;
  PyObject *__pyx_codeobj__763;
  PyObject *__pyx_codeobj__764;
  PyObject *__pyx_codeobj__765;
  PyObject *__pyx_codeobj__766;
  PyObject *__pyx_codeobj__767;
  PyObject *__pyx_codeobj__768;
  PyObject *__pyx_codeobj__769;
  PyObject *__pyx_codeobj__770;
  PyObject *__pyx_codeobj__771;
  PyObject *__pyx_codeobj__772;
  PyObject *__pyx_codeobj__773;
  PyObject *__pyx_codeobj__774;
  PyObject *__pyx_codeobj__775;
  PyObject *__pyx_codeobj__776;
  PyObject *__pyx_codeobj__777;
  PyObject *__pyx_codeobj__778;
  PyObject *__pyx_codeobj__779;
  PyObject *__pyx_codeobj__780;
  PyObject *__pyx_codeobj__781;
  PyObject *__pyx_codeobj__782;
  PyObject *__pyx_codeobj__783;
  PyObject *__pyx_codeobj__784;
  PyObject *__pyx_codeobj__785;
  PyObject *__pyx_codeobj__786;
  PyObject *__pyx_codeobj__787;
  PyObject *__pyx_codeobj__788;
  PyObject *__pyx_codeobj__789;
  PyObject *__pyx_codeobj__790;
  PyObject *__pyx_codeobj__791;
  PyObject *__pyx_codeobj__792;
  PyObject *__pyx_codeobj__793;
  PyObject *__pyx_codeobj__794;
  PyObject *__pyx_codeobj__795;
  PyObject *__pyx_codeobj__796;
  PyObject *__pyx_codeobj__797;
  PyObject *__pyx_codeobj__798;
  PyObject *__pyx_codeobj__799;
  PyObject *__pyx_codeobj__800;
  PyObject *__pyx_codeobj__801;
  PyObject *__pyx_codeobj__802;
  PyObject *__pyx_codeobj__803;
  PyObject *__pyx_codeobj__804;
  PyObject *__pyx_codeobj__805;
  PyObject *__pyx_codeobj__806;
  PyObject *__pyx_codeobj__807;
  PyObject *__pyx_codeobj__808;
  PyObject *__pyx_codeobj__809;
  PyObject *__pyx_codeobj__810;
  PyObject *__pyx_codeobj__811;
  PyObject *__pyx_codeobj__812;
  PyObject *__pyx_codeobj__813;
  PyObject *__pyx_codeobj__814;
  PyObject *__pyx_codeobj__817;
  PyObject *__pyx_codeobj__819;
  PyObject *__pyx_codeobj__820;
  PyObject *__pyx_codeobj__821;
  PyObject *__pyx_codeobj__822;
  PyObject *__pyx_codeobj__823;
  PyObject *__pyx_codeobj__824;
  PyObject *__pyx_codeobj__825;
  PyObject *__pyx_codeobj__826;
  PyObject *__pyx_codeobj__827;
  PyObject *__pyx_codeobj__828;
  PyObject *__pyx_codeobj__829;
  PyObject *__pyx_codeobj__830;
  PyObject *__pyx_codeobj__831;
  PyObject *__pyx_codeobj__832;
  PyObject *__pyx_codeobj__833;
  PyObject *__pyx_codeobj__834;
  PyObject *__pyx_codeobj__835;
  PyObject *__pyx_codeobj__836;
  PyObject *__pyx_codeobj__837;
  PyObject *__pyx_codeobj__838;
  PyObject *__pyx_codeobj__839;
  PyObject *__pyx_codeobj__840;
  PyObject *__pyx_codeobj__841;
  PyObject *__pyx_codeobj__842;
  PyObject *__pyx_codeobj__843;
  PyObject *__pyx_codeobj__844;
  PyObject *__pyx_codeobj__845;
  PyObject *__pyx_codeobj__846;
  PyObject *__pyx_codeobj__847;
  PyObject *__pyx_codeobj__848;
  PyObject *__pyx_codeobj__849;
  PyObject *__pyx_codeobj__850;
  PyObject *__pyx_codeobj__851;
  PyObject *__pyx_codeobj__852;
  PyObject *__pyx_codeobj__853;
  PyObject *__pyx_codeobj__854;
  PyObject *__pyx_codeobj__855;
  PyObject *__pyx_codeobj__856;
  PyObject *__pyx_codeobj__857;
  PyObject *__pyx_codeobj__858;
  PyObject *__pyx_codeobj__859;
  PyObject *__pyx_codeobj__860;
  PyObject *__pyx_codeobj__861;
  PyObject *__pyx_codeobj__862;
  PyObject *__pyx_codeobj__863;
  PyObject *__pyx_codeobj__864;
  PyObject *__pyx_codeobj__865;
  PyObject *__pyx_codeobj__866;
  PyObject *__pyx_codeobj__867;
  PyObject *__pyx_codeobj__868;
  PyObject *__pyx_codeobj__869;
  PyObject *__pyx_codeobj__870;
  PyObject *__pyx_codeobj__871;
  PyObject *__pyx_codeobj__872;
  PyObject *__pyx_codeobj__873;
  PyObject *__pyx_codeobj__874;
  PyObject *__pyx_codeobj__875;
  PyObject *__pyx_codeobj__876;
  PyObject *__pyx_codeobj__877;
  PyObject *__pyx_codeobj__878;
  PyObject *__pyx_codeobj__879;
  PyObject *__pyx_codeobj__880;
  PyObject *__pyx_codeobj__881;
  PyObject *__pyx_codeobj__882;
  PyObject *__pyx_codeobj__883;
  PyObject *__pyx_codeobj__884;
  PyObject *__pyx_codeobj__885;
  PyObject *__pyx_codeobj__886;
  PyObject *__pyx_codeobj__887;
  PyObject *__pyx_codeobj__888;
  PyObject *__pyx_codeobj__889;
  PyObject *__pyx_codeobj__890;
  PyObject *__pyx_codeobj__891;
  PyObject *__pyx_codeobj__892;
  PyObject *__pyx_codeobj__893;
  PyObject *__pyx_codeobj__894;
  PyObject *__pyx_codeobj__895;
  PyObject *__pyx_codeobj__896;
  PyObject *__pyx_codeobj__897;
  PyObject *__pyx_codeobj__898;
  PyObject *__pyx_codeobj__899;
  PyObject *__pyx_codeobj__904;
  PyObject *__pyx_codeobj__907;
  PyObject *__pyx_codeobj__908;
  PyObject *__pyx_codeobj__909;
  PyObject *__pyx_codeobj__910;
  PyObject *__pyx_codeobj__911;
  PyObject *__pyx_codeobj__912;
  PyObject *__pyx_codeobj__913;
  PyObject *__pyx_codeobj__914;
  PyObject *__pyx_codeobj__915;
  PyObject *__pyx_codeobj__916;
  PyObject *__pyx_codeobj__917;
  PyObject *__pyx_codeobj__918;
  PyObject *__pyx_codeobj__919;
  PyObject *__pyx_codeobj__920;
  PyObject *__pyx_codeobj__921;
  PyObject *__pyx_codeobj__922;
  PyObject *__pyx_codeobj__923;
  PyObject *__pyx_codeobj__924;
  PyObject *__pyx_codeobj__925;
  PyObject *__pyx_codeobj__926;
  PyObject *__pyx_codeobj__927;
  PyObject *__pyx_codeobj__928;
  PyObject *__pyx_codeobj__929;
  PyObject *__pyx_codeobj__930;
  PyObject *__pyx_codeobj__931;
  PyObject *__pyx_codeobj__932;
  PyObject *__pyx_codeobj__934;
  PyObject *__pyx_codeobj__935;
  PyObject *__pyx_codeobj__936;
  PyObject *__pyx_codeobj__937;
  PyObject *__pyx_codeobj__938;
  PyObject *__pyx_codeobj__939;
  PyObject *__pyx_codeobj__940;
  PyObject *__pyx_codeobj__941;
  PyObject *__pyx_codeobj__942;
  PyObject *__pyx_codeobj__943;
  PyObject *__pyx_codeobj__944;
  PyObject *__pyx_codeobj__945;
  PyObject *__pyx_codeobj__946;
  PyObject *__pyx_codeobj__947;
  PyObject *__pyx_codeobj__948;
  PyObject *__pyx_codeobj__949;
  PyObject *__pyx_codeobj__950;
  PyObject *__pyx_codeobj__951;
  PyObject *__pyx_codeobj__952;
  PyObject *__pyx_codeobj__953;
  PyObject *__pyx_codeobj__954;
  PyObject *__pyx_codeobj__955;
  PyObject *__pyx_codeobj__956;
  PyObject *__pyx_codeobj__957;
  PyObject *__pyx_codeobj__958;
} __pyx_mstate;

#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(o) ((__pyx_mstate *)__Pyx_PyModule_GetState(o))

#define __pyx_mstate_global (__pyx_mstate(PyState_FindModule(&__pyx_moduledef)))

#define __pyx_m (PyState_FindModule(&__pyx_moduledef))
#else
static __pyx_mstate __pyx_mstate_global_static =
#ifdef __cplusplus
    {};
#else
    {0};
#endif
static __pyx_mstate *__pyx_mstate_global = &__pyx_mstate_global_static;
#endif
/* #### Code section: module_state_clear ### */
#if CYTHON_USE_MODULE_STATE
static int __pyx_m_clear(PyObject *m) {
  __pyx_mstate *clear_module_state = __pyx_mstate(m);
  if (!clear_module_state) return 0;
  Py_CLEAR(clear_module_state->__pyx_d);
  Py_CLEAR(clear_module_state->__pyx_b);
  Py_CLEAR(clear_module_state->__pyx_cython_runtime);
  Py_CLEAR(clear_module_state->__pyx_empty_tuple);
  Py_CLEAR(clear_module_state->__pyx_empty_bytes);
  Py_CLEAR(clear_module_state->__pyx_empty_unicode);
  #ifdef __Pyx_CyFunction_USED
  Py_CLEAR(clear_module_state->__pyx_CyFunctionType);
  #endif
  #ifdef __Pyx_FusedFunction_USED
  Py_CLEAR(clear_module_state->__pyx_FusedFunctionType);
  #endif
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperKernelParams);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemPool_attribute);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperCUmem_range_attribute);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperCUpointer_attribute);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperCUgraphMem_attribute);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperCUjit_option);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperCUlibraryOption);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemAllocationHandleType);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperCUcoredumpSettings);
  Py_CLEAR(clear_module_state->__pyx_ptype_7cpython_4type_type);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUcontext);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUcontext);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmodule);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmodule);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUfunction);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUfunction);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUlibrary);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUlibrary);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUkernel);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUkernel);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUarray);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUarray);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmipmappedArray);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmipmappedArray);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUtexref);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUtexref);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUsurfref);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUsurfref);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUevent);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUevent);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUstream);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUstream);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUgraphicsResource);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUgraphicsResource);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUexternalMemory);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUexternalMemory);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUexternalSemaphore);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUexternalSemaphore);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUgraph);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUgraph);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUgraphNode);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUgraphNode);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUgraphExec);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUgraphExec);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemoryPool);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemoryPool);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUuserObject);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUuserObject);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUgraphDeviceNode);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUgraphDeviceNode);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUasyncCallbackHandle);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUlinkState);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUlinkState);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUgreenCtx);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUgreenCtx);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUdevResourceDesc);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUdevResourceDesc);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUeglStreamConnection);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUeglStreamConnection);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_EGLImageKHR);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_EGLImageKHR);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_EGLStreamKHR);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_EGLStreamKHR);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_EGLSyncKHR);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_EGLSyncKHR);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUasyncCallback);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUasyncCallback);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUhostFn);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUhostFn);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUstreamCallback);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUstreamCallback);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUoccupancyB2DSize);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUuuid_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUuuid_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemFabricHandle_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUipcEventHandle_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUipcEventHandle_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUipcMemHandle_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUipcMemHandle_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUstreamMemOpWaitValueParams_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUstreamMemOpWriteValueParams_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_union);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct0);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct0);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_union2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_union2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUasyncNotificationInfo_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUdevprop_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUdevprop_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUaccessPolicyWindow_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUgraphEdgeData_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct3);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct3);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct4);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct4);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUlaunchAttributeValue_union);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUlaunchAttribute_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUlaunchConfig_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUlaunchConfig_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUexecAffinitySmCount_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_union3);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_union3);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUexecAffinityParam_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct5);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct5);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct6);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct6);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct7);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct7);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct8);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct8);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct9);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct9);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct10);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct10);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_union4);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_union4);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUtensorMap_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUtensorMap_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct11);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct11);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_union5);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_union5);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct12);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct12);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_union6);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_union6);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct13);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct13);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_union7);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_union7);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct14);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct14);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct15);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct15);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct16);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct16);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_union8);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_union8);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct17);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct17);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct18);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct18);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_union9);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_union9);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct19);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct19);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct20);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct20);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_union10);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_union10);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_union11);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_union11);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUarrayMapInfo_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemLocation_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemLocation_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_struct21);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_struct21);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemAllocationProp_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmulticastObjectProp_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemAccessDesc_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemPoolProps_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemPoolProps_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUgraphNodeParams_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUdevSmResource_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUdevSmResource_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUdevResource_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUdevResource_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_anon_union14);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_anon_union14);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUeglFrame_st);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUeglFrame_st);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUdeviceptr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUdeviceptr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUdevice);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUdevice);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUtexObject);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUtexObject);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUsurfObject);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUsurfObject);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUgraphConditionalHandle);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUuuid);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUuuid);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemFabricHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemFabricHandle);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemFabricHandle);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUipcEventHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUipcEventHandle);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUipcEventHandle);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUipcMemHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUipcMemHandle);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUipcMemHandle);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUasyncNotificationInfo);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUdevprop_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUdevprop_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUdevprop);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUdevprop);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUaccessPolicyWindow_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUaccessPolicyWindow);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUgraphEdgeData);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUgraphEdgeData);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUlaunchAttributeValue);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUlaunchAttribute);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUlaunchAttribute);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUlaunchConfig);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUlaunchConfig);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUkernelNodeAttrValue_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUkernelNodeAttrValue);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUstreamAttrValue_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUstreamAttrValue);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUstreamAttrValue);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUexecAffinitySmCount_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUexecAffinitySmCount);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUexecAffinityParam_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUexecAffinityParam);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUexecAffinityParam);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUtensorMap);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUtensorMap);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUarrayMapInfo_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUarrayMapInfo);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUarrayMapInfo);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemLocation_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemLocation_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemLocation);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemLocation);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemAllocationProp_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemAllocationProp);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemAllocationProp);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmulticastObjectProp_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmulticastObjectProp);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemAccessDesc_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemAccessDesc);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemAccessDesc);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemPoolProps_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemPoolProps);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemPoolProps);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUgraphNodeParams);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUgraphNodeParams);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUdevSmResource);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUdevSmResource);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUdevResource_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUdevResource_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUdevResource);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUdevResource);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUeglFrame_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUeglFrame_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUeglFrame);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUeglFrame);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_cuuint32_t);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_cuuint32_t);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_cuuint64_t);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_cuuint64_t);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUdeviceptr_v2);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUdeviceptr_v2);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUdevice_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUdevice_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUtexObject_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUtexObject_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUsurfObject_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUsurfObject_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_GLenum);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_GLenum);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_GLuint);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_GLuint);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_EGLint);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_EGLint);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_VdpDevice);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_VdpDevice);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_VdpGetProcAddress);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_VdpGetProcAddress);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_VdpVideoSurface);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_VdpVideoSurface);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda_VdpOutputSurface);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda_VdpOutputSurface);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct__genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct__genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_1_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_1_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_2_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_2_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_3_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_3_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_4_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_4_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_5_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_5_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_6_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_6_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_7_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_7_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_8_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_8_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_9_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_9_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_10_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_10_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_11_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_11_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_12_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_12_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_13_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_13_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_14_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_14_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_15_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_15_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_16_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_16_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_17_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_17_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_18_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_18_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_19_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_19_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_20_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_20_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_21_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_21_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_22_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_22_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_23_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_23_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_24_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_24_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_25_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_25_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_26_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_26_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_27_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_27_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_28_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_28_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_29_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_29_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_30_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_30_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_31_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_31_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_32_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_32_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_33_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_33_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_34_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_34_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_35_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_35_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_36_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_36_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_37_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_37_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_38_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_38_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_39_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_39_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_40_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_40_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_41_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_41_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_42_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_42_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_43_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_43_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_44_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_44_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_45_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_45_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_46_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_46_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_47_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_47_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_48_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_48_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_49_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_49_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_50_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_50_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_51_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_51_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_52_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_52_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_53_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_53_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_54_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_54_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_55_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_55_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_56_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_56_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_57_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_57_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_58_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_58_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_59_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_59_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_60_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_60_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_61_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_61_genexpr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Access_flags_that_specify_the_l);
  Py_CLEAR(clear_module_state->__pyx_n_s_Any);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_attributes_is_not_insta);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_attributes_is_not_insta_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_boxDim_is_not_instance);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_conn_is_not_instance_of);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_dataSizes_is_not_instan);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_dependencies_is_not_ins);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_dependencyData_is_not_i);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_desc_is_not_instance_of);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_edgeData_is_not_instanc);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_elementStrides_is_not_i);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_extSemArray_is_not_inst);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_from__is_not_instance_o);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_globalDim_is_not_instan);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_globalStrides_is_not_in);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_jitOptions_is_not_insta);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_launchParamsList_is_not);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_libraryOptions_is_not_i);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_mapInfoList_is_not_inst);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_map_is_not_instance_of);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_options_is_not_instance);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_pCudaResource_is_not_in);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_pStream_is_not_instance);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_paramArray_is_not_insta);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_paramsArray_is_not_inst);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_paramsArray_is_not_inst_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_paramsArray_is_not_inst_3);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_pixelBoxLowerCorner_is);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_pixelBoxUpperCorner_is);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_resources_is_not_instan);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_resources_is_not_instan_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_to_is_not_instance_of_t);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Argument_vdpGetProcAddress_is_no);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Array_formats);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Array_indices_for_cube_faces);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Bitmasks_for_py_obj_CU_DEVICE_A);
  Py_CLEAR(clear_module_state->__pyx_n_s_ByteCount);
  Py_CLEAR(clear_module_state->__pyx_n_s_ByteOffset);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY3D_2DARRAY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY3D_COLOR_ATTACHMENT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY3D_CUBEMAP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY3D_DEFERRED_MAPPING);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY3D_DEPTH_TEXTURE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st___red);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st___set);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st_getPt);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY3D_LAYERED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY3D_SPARSE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY3D_SURFACE_LDST);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY3D_TEXTURE_GATHER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st___reduc);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st___setst);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_v);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS___r);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS___s);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS_get);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_COOPERATIVE_LAUNCH_MULTI_DE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_COOPERATIVE_LAUNCH_MULTI_DE_2);
  Py_CLEAR(clear_module_state->__pyx_kp_s_CUDA_EGL_Color_Format_The_diffe);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EGL_INFINITE_TIMEOUT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_ALREADY_ACQUIRED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_ALREADY_MAPPED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_ARRAY_IS_MAPPED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_ASSERT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_CAPTURED_EVENT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_CDP_NOT_SUPPORTED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_CDP_VERSION_MISMATCH);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_COMPAT_NOT_SUPPORTED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_CONTEXT_ALREADY_CURRE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_CONTEXT_ALREADY_IN_US);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_CONTEXT_IS_DESTROYED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_COOPERATIVE_LAUNCH_TO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_DEINITIALIZED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_DEVICE_NOT_LICENSED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_DEVICE_UNAVAILABLE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_ECC_UNCORRECTABLE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_EXTERNAL_DEVICE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_FILE_NOT_FOUND);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_FUNCTION_NOT_LOADED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_HARDWARE_STACK_ERROR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_HOST_MEMORY_ALREADY_R);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_HOST_MEMORY_NOT_REGIS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_ILLEGAL_ADDRESS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_ILLEGAL_INSTRUCTION);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_ILLEGAL_STATE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_INVALID_ADDRESS_SPACE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_INVALID_CLUSTER_SIZE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_INVALID_CONTEXT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_INVALID_DEVICE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_INVALID_GRAPHICS_CONT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_INVALID_HANDLE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_INVALID_IMAGE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_INVALID_PC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_INVALID_PTX);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_INVALID_RESOURCE_CONF);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_INVALID_RESOURCE_TYPE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_INVALID_SOURCE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_INVALID_VALUE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_JIT_COMPILATION_DISAB);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_JIT_COMPILER_NOT_FOUN);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_LAUNCH_FAILED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_LAUNCH_INCOMPATIBLE_T);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_LAUNCH_OUT_OF_RESOURC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_LAUNCH_TIMEOUT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_LOSSY_QUERY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_MAP_FAILED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_MISALIGNED_ADDRESS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_MPS_CLIENT_TERMINATED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_MPS_CONNECTION_FAILED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_MPS_MAX_CLIENTS_REACH);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_MPS_MAX_CONNECTIONS_R);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_MPS_RPC_FAILURE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_MPS_SERVER_NOT_READY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_NOT_FOUND);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_NOT_INITIALIZED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_NOT_MAPPED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_NOT_MAPPED_AS_ARRAY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_NOT_MAPPED_AS_POINTER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_NOT_PERMITTED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_NOT_READY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_NOT_SUPPORTED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_NO_BINARY_FOR_GPU);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_NO_DEVICE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_NVLINK_UNCORRECTABLE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_OPERATING_SYSTEM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_OUT_OF_MEMORY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_PEER_ACCESS_ALREADY_E);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_PEER_ACCESS_NOT_ENABL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_PEER_ACCESS_UNSUPPORT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_PRIMARY_CONTEXT_ACTIV);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_PROFILER_ALREADY_STAR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_PROFILER_ALREADY_STOP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_PROFILER_DISABLED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_PROFILER_NOT_INITIALI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_SHARED_OBJECT_INIT_FA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_SHARED_OBJECT_SYMBOL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_IMPLIC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_INVALI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_ISOLAT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_MERGE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNJOIN);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNMATC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNSUPP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_WRONG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_STUB_LIBRARY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_SYSTEM_DRIVER_MISMATC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_SYSTEM_NOT_READY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_TIMEOUT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_TOO_MANY_PEERS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_UNKNOWN);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_UNMAP_FAILED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_UNSUPPORTED_DEVSIDE_S);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_UNSUPPORTED_EXEC_AFFI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_UNSUPPORTED_LIMIT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_ERROR_UNSUPPORTED_PTX_VERSI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_g);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_6);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_DEDICATED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_6);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_6);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_6);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_6);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_S);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_6);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_10);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_11);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_6);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_7);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_8);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_9);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_5);
  Py_CLEAR(clear_module_state->__pyx_kp_s_CUDA_EglFrame_type_array_or_poi);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_ERROR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_DEVI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_UPLO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_USE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_INVALID_S);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_MULTIPLE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_NODE_OPER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_SUCCESS);
  Py_CLEAR(clear_module_state->__pyx_kp_s_CUDA_Graph_Update_error_types);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_st___reduc);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_st___setst);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st___re);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st___se);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st_getP);
  Py_CLEAR(clear_module_state->__pyx_kp_s_CUDA_Ipc_Mem_Flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st___red);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st___set);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st_getPt);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_ge);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_ge);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_LAUNCH_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_LAUNCH_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_LAUNCH_PARAMS_st___reduce_c);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_LAUNCH_PARAMS_st___setstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_LAUNCH_PARAMS_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_LAUNCH_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_kp_s_CUDA_Lazy_Loading_status);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY2D);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY2D_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY2D_st___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY2D_st___setstate_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY2D_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY2D_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY3D);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY3D_PEER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY3D_PEER_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY3D_PEER_st___reduce_c);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY3D_PEER_st___setstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY3D_PEER_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY3D_PEER_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY3D_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY3D_st___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY3D_st___setstate_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY3D_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY3D_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st___red);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st___set);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st_getPt);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st___red);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st___set);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st_getPt);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_ge);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st___r);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st___s);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st_get);
  Py_CLEAR(clear_module_state->__pyx_kp_s_CUDA_Mem_Attach_Flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_NVSCISYNC_ATTR_SIGNAL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_NVSCISYNC_ATTR_WAIT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_ACCESS_FL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_6);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_RESOURCE_DESC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_RESOURCE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_RESOURCE_DESC_st___reduce_c);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_RESOURCE_DESC_st___setstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_RESOURCE_DESC_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_RESOURCE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st___red);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st___set);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st_getPt);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_SUCCESS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_TEXTURE_DESC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_TEXTURE_DESC_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_TEXTURE_DESC_st___reduce_cy);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_TEXTURE_DESC_st___setstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_TEXTURE_DESC_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_TEXTURE_DESC_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUDA_VERSION);
  Py_CLEAR(clear_module_state->__pyx_kp_s_CUDA_devices_corresponding_to_a);
  Py_CLEAR(clear_module_state->__pyx_kp_s_CUDA_memory_pool_attributes);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUGLDeviceList);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUGLmap_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUGPUDirectRDMAWritesOrdering);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_ACCESS_PROPERTY_NORMAL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_ACCESS_PROPERTY_PERSISTING);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_ACCESS_PROPERTY_STREAMING);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_BC1_UNORM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_BC1_UNORM_SRGB);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_BC2_UNORM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_BC2_UNORM_SRGB);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_BC3_UNORM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_BC3_UNORM_SRGB);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_BC4_SNORM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_BC4_UNORM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_BC5_SNORM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_BC5_UNORM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_BC6H_SF16);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_BC6H_UF16);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_BC7_UNORM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_BC7_UNORM_SRGB);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_FLOAT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_HALF);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_NV12);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_SIGNED_INT16);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_SIGNED_INT32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_SIGNED_INT8);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_SNORM_INT16X1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_SNORM_INT16X2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_SNORM_INT16X4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_SNORM_INT8X1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_SNORM_INT8X2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_SNORM_INT8X4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_UNORM_INT16X1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_UNORM_INT16X2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_UNORM_INT16X4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_UNORM_INT8X1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_UNORM_INT8X2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_UNORM_INT8X4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT16);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT8);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_ARRAY_SPARSE_PROPERTIES_SINGL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_ASYNC_NOTIFICATION_TYPE_OVER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_DEF);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_LOA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_SPR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_COMPUTEMODE_DEFAULT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_COMPUTEMODE_EXCLUSIVE_PROCESS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_COMPUTEMODE_PROHIBITED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_COMPUTE_ACCELERATED_TARGET_BA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_COREDUMP_ENABLE_ON_EXCEPTION);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_COREDUMP_ENABLE_USER_TRIGGER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_COREDUMP_FILE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_COREDUMP_LIGHTWEIGHT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_COREDUMP_MAX);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_COREDUMP_PIPE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_COREDUMP_TRIGGER_HOST);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CTX_BLOCKING_SYNC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CTX_COREDUMP_ENABLE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CTX_FLAGS_MASK);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CTX_LMEM_RESIZE_TO_MAX);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CTX_MAP_HOST);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CTX_SCHED_AUTO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CTX_SCHED_BLOCKING_SYNC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CTX_SCHED_MASK);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CTX_SCHED_SPIN);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CTX_SCHED_YIELD);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CTX_SYNC_MEMOPS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CTX_USER_COREDUMP_ENABLE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_X);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_Y);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_Z);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_X);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_Y);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_Z);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_RE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CLOCK_RATE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CLUSTER_LAUN);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_PREE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CONCURRENT_K);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CONCURRENT_M);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COOPERATIVE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COOPERATIVE_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_DEFERRED_MAP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_DIRECT_MANAG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_ECC_ENABLED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GENERIC_COMP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMOR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_NATIVE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_REGISTE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_INTEGRATED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_IPC_EVENT_SU);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZ);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CAC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MANAGED_MEMO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_10);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_11);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_12);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_13);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_14);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_6);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_7);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_8);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_9);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_10);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_11);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_12);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_13);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_14);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_15);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_16);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_17);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_18);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_19);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_20);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_21);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_22);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_23);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_24);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_25);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_26);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_27);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_28);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_29);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_6);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_7);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_8);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_9);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_P);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_P);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_PERSISTI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_PITCH);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_REGISTER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_REGISTER_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_THREADS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_THREADS_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MPS_ENABLED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTICAST_SU);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTIPROCESS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_NUMA_CONFIG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_NUMA_ID);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_I);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_I);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_READ_ONLY_HO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_REGISTERS_PE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_RESERVED_SHA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_SHARED_MEMOR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_STREAM_PRIOR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_SURFACE_ALIG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TCC_DRIVER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TENSOR_MAP_A);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TEXTURE_PITC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TIMELINE_SEM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_UNIFIED_FUNC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_WARP_SIZE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_CPU);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_INVALID);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_NUMA_CONFIG_NONE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_NUMA_CONFIG_NUMA_NODE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_A);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_S);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_A);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_PERFORMA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEV_RESOURCE_TYPE_INVALID);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_DEV_RESOURCE_TYPE_SM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_A);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_ABGR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_ARGB);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_AYUV);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_AYUV_ER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_BGGR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_CCCC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_GBRG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_GRBG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_RGGB);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_BCCR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_BGGR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CBRC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CCCC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CRBC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_GBRG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_GRBG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_RCCB);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_RGGB);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_BGGR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_GBRG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_GRBG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_RGGB);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_BGGR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_GBRG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_GRBG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_RGGB);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_BCCR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_BGGR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_CBRC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_CRBC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_GBRG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_GRBG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_BG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_GB);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_GR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_RG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_RCCB);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_RGGB);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BGR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BGRA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_L);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_MAX);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_R);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_RG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_RGB);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_RGBA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_UYVY_422);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_UYVY_ER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_VYUY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_VYUY_ER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_6);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_7);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_8);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10_709_ER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10_ER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12_709_ER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12_ER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_PLANA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_PLANA_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_SEMIP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_SEMIP_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_PLANA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_PLANA_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_SEMIP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_SEMIP_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUVA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUVA_ER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV_ER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUYV_422);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUYV_ER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_PLANA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_PLANA_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_SEMIP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_SEMIP_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_PLANA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_PLANA_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_SEMIP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_SEMIP_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVYU);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVYU_ER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y_709_ER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y_ER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_FRAME_TYPE_ARRAY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_FRAME_TYPE_PITCH);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_RESOURCE_LOCATION_SYSMEM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EGL_RESOURCE_LOCATION_VIDMEM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EVENT_BLOCKING_SYNC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EVENT_DEFAULT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EVENT_DISABLE_TIMING);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EVENT_INTERPROCESS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EVENT_RECORD_DEFAULT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EVENT_RECORD_EXTERNAL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EVENT_SCHED_AUTO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EVENT_SCHED_BLOCKING_SYNC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EVENT_SCHED_SPIN);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EVENT_SCHED_YIELD);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EVENT_WAIT_DEFAULT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EVENT_WAIT_EXTERNAL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXEC_AFFINITY_TYPE_MAX);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXEC_AFFINITY_TYPE_SM_COUNT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_N);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_10);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_6);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_7);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_8);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_9);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNCTION_LOADING_STATE_LOADED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNCTION_LOADING_STATE_MAX);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNCTION_LOADING_STATE_UNLOAD);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_BINARY_VERSION);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDU);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_M);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_MAX);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SH);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_MAX_THREADS_PE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_NON_PORTABLE_C);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_NUM_REGS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_PREFERRED_SHAR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_PTX_VERSION);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_CACHE_PREFER_EQUAL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_CACHE_PREFER_L1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_CACHE_PREFER_NONE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_FUNC_CACHE_PREFER_SHARED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GET_PROC_ADDRESS_DEFAULT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GET_PROC_ADDRESS_LEGACY_STREA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GET_PROC_ADDRESS_PER_THREAD_D);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GET_PROC_ADDRESS_SUCCESS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GET_PROC_ADDRESS_SYMBOL_NOT_F);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GET_PROC_ADDRESS_VERSION_NOT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GL_DEVICE_LIST_ALL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GL_DEVICE_LIST_CURRENT_FRAME);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GL_DEVICE_LIST_NEXT_FRAME);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_NONE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_READ_ON);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_WRITE_D);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_N);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_R);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_W);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_NONE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_READ);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_SURFA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_TEXTU);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_WRITE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_COND_ASSIGN_DEFAULT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_COND_TYPE_IF);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_COND_TYPE_WHILE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_M);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_CONDITI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_N);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_T);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FRE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEPENDENCY_TYPE_DEFAULT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_DEPENDENCY_TYPE_PROGRAM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_ATTRI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_NODE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_S);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_PARAM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_SUCCESS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_DEFAUL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_PROGRA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_MEM_ATTR_RESERVED_MEM_C);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_MEM_ATTR_RESERVED_MEM_H);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_MEM_ATTR_USED_MEM_CURRE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_BATCH_MEM_OP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_CONDITIONAL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_EMPTY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_EVENT_RECORD);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_GRAPH);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_HOST);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_KERNEL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_MEMCPY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_MEMSET);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_MEM_ALLOC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_MEM_FREE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_WAIT_EVENT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GRAPH_USER_OBJECT_MOVE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_GREEN_CTX_DEFAULT_STREAM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_IPC_HANDLE_SIZE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_CACHE_MODE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_CACHE_OPTION_CA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_CACHE_OPTION_CG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_CACHE_OPTION_NONE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_ERROR_LOG_BUFFER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_FALLBACK_STRATEGY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_FAST_COMPILE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_FMA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_FTZ);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_GENERATE_DEBUG_INFO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_GENERATE_LINE_INFO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_GLOBAL_SYMBOL_ADDRESSES);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_GLOBAL_SYMBOL_COUNT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_GLOBAL_SYMBOL_NAMES);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_INFO_LOG_BUFFER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_INPUT_CUBIN);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_INPUT_FATBINARY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_INPUT_LIBRARY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_INPUT_NVVM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_INPUT_OBJECT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_INPUT_PTX);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_LOG_VERBOSE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_LTO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_MAX_REGISTERS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_MAX_THREADS_PER_BLOCK);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_MIN_CTA_PER_SM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_NEW_SM3X_OPT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_NUM_INPUT_TYPES);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_NUM_OPTIONS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_OPTIMIZATION_LEVEL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_OPTIMIZE_UNUSED_DEVICE_VA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_OVERRIDE_DIRECTIVE_VALUES);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_POSITION_INDEPENDENT_CODE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_PREC_DIV);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_PREC_SQRT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_REFERENCED_KERNEL_COUNT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_REFERENCED_KERNEL_NAMES);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_REFERENCED_VARIABLE_COUNT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_REFERENCED_VARIABLE_NAMES);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_TARGET);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_TARGET_FROM_CUCONTEXT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_THREADS_PER_BLOCK);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_JIT_WALL_TIME);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_ACCESS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_COOPERA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_DEVICE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_PRIORIT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_COOPERATIVE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_IGNORE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_PRIORITY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAUL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_POINTER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_POINTER_A);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_SIZE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_I);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_PARAM_END);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LAUNCH_PARAM_END_AS_INT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LIBRARY_BINARY_IS_PRESERVED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LIBRARY_HOST_UNIVERSAL_FUNCTI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LIBRARY_NUM_OPTIONS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LIMIT_DEV_RUNTIME_PENDING_LAU);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LIMIT_MALLOC_HEAP_SIZE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LIMIT_MAX);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LIMIT_MAX_L2_FETCH_GRANULARIT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LIMIT_PERSISTING_L2_CACHE_SIZ);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LIMIT_PRINTF_FIFO_SIZE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_LIMIT_STACK_SIZE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMHOSTALLOC_DEVICEMAP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMHOSTALLOC_PORTABLE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMHOSTALLOC_WRITECOMBINED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMHOSTREGISTER_DEVICEMAP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMHOSTREGISTER_IOMEMORY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMHOSTREGISTER_PORTABLE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMHOSTREGISTER_READ_ONLY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMORYTYPE_ARRAY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMORYTYPE_DEVICE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMORYTYPE_HOST);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMORYTYPE_UNIFIED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMPOOL_ATTR_RELEASE_THRESHOL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMPOOL_ATTR_RESERVED_MEM_CUR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMPOOL_ATTR_RESERVED_MEM_HIG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMPOOL_ATTR_USED_MEM_CURRENT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEMPOOL_ATTR_USED_MEM_HIGH);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_MAX);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_NONE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_READ);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_READWRI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ADVISE_SET_ACCESSED_BY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ADVISE_SET_PREFERRED_LOCA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ADVISE_SET_READ_MOSTLY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ADVISE_UNSET_ACCESSED_BY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ADVISE_UNSET_PREFERRED_LO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ADVISE_UNSET_READ_MOSTLY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ALLOCATION_COMP_GENERIC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ALLOCATION_COMP_NONE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ALLOCATION_TYPE_INVALID);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ALLOCATION_TYPE_MAX);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ALLOCATION_TYPE_PINNED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ALLOC_GRANULARITY_MINIMUM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ALLOC_GRANULARITY_RECOMME);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ATTACH_GLOBAL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ATTACH_HOST);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_ATTACH_SINGLE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_CREATE_USAGE_TILE_POOL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_HANDLE_TYPE_FABRIC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_HANDLE_TYPE_GENERIC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_HANDLE_TYPE_MAX);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_HANDLE_TYPE_NONE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_HANDLE_TYPE_POSIX_FILE_DE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_HANDLE_TYPE_WIN32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_HANDLE_TYPE_WIN32_KMT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_LOCATION_TYPE_DEVICE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_LOCATION_TYPE_HOST);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_LOCATION_TYPE_HOST_NUMA);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_LOCATION_TYPE_HOST_NUMA_C);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_LOCATION_TYPE_INVALID);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_LOCATION_TYPE_MAX);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_OPERATION_TYPE_MAP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_OPERATION_TYPE_UNMAP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_ACCESSED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_READ_MOST);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MEM_RANGE_HANDLE_TYPE_MAX);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MODULE_EAGER_LOADING);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MODULE_LAZY_LOADING);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MULTICAST_GRANULARITY_MINIMUM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_MULTICAST_GRANULARITY_RECOMME);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_OCCUPANCY_DEFAULT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_OCCUPANCY_DISABLE_CACHING_OVE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_OUT_CSV);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_OUT_KEY_VALUE_PAIR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_PARAM_TR_DEFAULT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_ALLOWED_HAN);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_BUFFER_ID);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_CONTEXT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_DEVICE_ORDI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_DEVICE_POIN);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_HOST_POINTE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_IS_GPU_DIRE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_IS_LEGACY_C);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_IS_MANAGED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPING_BAS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPING_SIZ);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_MEMORY_BLOC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_MEMORY_TYPE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_MEMPOOL_HAN);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_P2P_TOKENS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_RANGE_SIZE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_RANGE_START);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_PREFER_BINARY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_PREFER_PTX);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RESOURCE_TYPE_ARRAY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RESOURCE_TYPE_LINEAR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RESOURCE_TYPE_PITCH2D);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_1X16);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_1X32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_2X16);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_2X32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_4X16);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_4X32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_NONE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC6H);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X16);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X8);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X16);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X8);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X16);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X8);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X16);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X8);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X16);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X8);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X16);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X8);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC7);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_SHAREDMEM_CARVEOUT_DEFAULT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_SHAREDMEM_CARVEOUT_MAX_L1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_SHAREDMEM_CARVEOUT_MAX_SHARED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_SHARED_MEM_CONFIG_DEFAULT_BAN);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_SHARED_MEM_CONFIG_EIGHT_BYTE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_SHARED_MEM_CONFIG_FOUR_BYTE_B);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_ADD_CAPTURE_DEPENDENCI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_ATTRIBUTE_ACCESS_POLIC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_ATTRIBUTE_PRIORITY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_ATTRIBUTE_SYNCHRONIZAT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_CAPTURE_MODE_GLOBAL);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_CAPTURE_MODE_RELAXED);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_CAPTURE_MODE_THREAD_LO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_CAPTURE_STATUS_ACTIVE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_CAPTURE_STATUS_INVALID);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_CAPTURE_STATUS_NONE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_DEFAULT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_LEGACY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_MEMORY_BARRIER_TYPE_GP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_MEMORY_BARRIER_TYPE_SY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_MEM_OP_BARRIER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_MEM_OP_FLUSH_REMOTE_WR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_MEM_OP_WAIT_VALUE_32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_MEM_OP_WAIT_VALUE_64);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_MEM_OP_WRITE_VALUE_32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_MEM_OP_WRITE_VALUE_64);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_NON_BLOCKING);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_PER_THREAD);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_SET_CAPTURE_DEPENDENCI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_WAIT_VALUE_AND);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_WAIT_VALUE_EQ);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_WAIT_VALUE_FLUSH);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_WAIT_VALUE_GEQ);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_WAIT_VALUE_NOR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_WRITE_VALUE_DEFAULT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_STREAM_WRITE_VALUE_NO_MEMORY);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_SYNC_POLICY_AUTO);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_SYNC_POLICY_BLOCKING_SYNC);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_SYNC_POLICY_SPIN);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_SYNC_POLICY_YIELD);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_30);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_35);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_37);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_50);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_52);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_53);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_60);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_61);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_62);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_70);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_72);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_75);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_80);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_86);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_87);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_89);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_90);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TARGET_COMPUTE_90A);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_BFLOAT16);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT16);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT32_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT64);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_INT32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_INT64);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT16);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT32);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT64);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT8);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_FLOAT_OOB_FILL_NON);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_16B);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_32B);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_NONE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_12);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_25);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_64);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_NONE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_NUM_QWORDS);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_128B);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_32B);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_64B);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_NONE);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TRSA_OVERRIDE_FORMAT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TRSF_DISABLE_TRILINEAR_OPTIMI);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TRSF_NORMALIZED_COORDINATES);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TRSF_READ_AS_INTEGER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TRSF_SEAMLESS_CUBEMAP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TRSF_SRGB);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TR_ADDRESS_MODE_BORDER);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TR_ADDRESS_MODE_CLAMP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TR_ADDRESS_MODE_MIRROR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TR_ADDRESS_MODE_WRAP);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TR_FILTER_MODE_LINEAR);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_TR_FILTER_MODE_POINT);
  Py_CLEAR(clear_module_state->__pyx_n_s_CU_USER_OBJECT_NO_DESTRUCTOR_SYN);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUaccessPolicyWindow);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUaccessPolicyWindow_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUaccessPolicyWindow_st___reduce);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUaccessPolicyWindow_st___setsta);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUaccessPolicyWindow_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUaccessPolicyWindow_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUaccessProperty);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUaddress_mode);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUarray);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUarrayMapInfo);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUarrayMapInfo_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUarrayMapInfo_st___reduce_cytho);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUarrayMapInfo_st___setstate_cyt);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUarrayMapInfo_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUarrayMapInfo_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUarraySparseSubresourceType);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUarray_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUarray___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUarray___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUarray_cubemap_face);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUarray_format);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUarray_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUasyncCallback);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUasyncCallbackHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUasyncCallbackHandle_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUasyncCallbackHandle___reduce_c);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUasyncCallbackHandle___setstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUasyncCallbackHandle_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUasyncCallback_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUasyncCallback___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUasyncCallback___setstate_cytho);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUasyncCallback_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUasyncNotificationInfo);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUasyncNotificationInfo_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUasyncNotificationInfo_st___red);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUasyncNotificationInfo_st___set);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUasyncNotificationInfo_st_getPt);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUasyncNotificationType);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUclusterSchedulingPolicy);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUcomputemode);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUcontext);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUcontext_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUcontext___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUcontext___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUcontext_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUcoredumpSettings);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUctx_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevResource);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUdevResourceDesc);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevResourceDesc_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevResourceDesc___reduce_cytho);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevResourceDesc___setstate_cyt);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevResourceDesc_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevResourceType);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevResource_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevResource_st___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevResource_st___setstate_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevResource_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevResource_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevSmResource);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevSmResource_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevSmResource_st___reduce_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevSmResource_st___setstate_cy);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevSmResource_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUdevice);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdeviceNumaConfig);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevice_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevice_P2PAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevice___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevice___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevice_attribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevice_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUdevice_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevice_v1_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevice_v1___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevice_v1___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevice_v1_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUdeviceptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdeviceptr_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdeviceptr___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdeviceptr___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdeviceptr_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUdeviceptr_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdeviceptr_v2_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdeviceptr_v2___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdeviceptr_v2___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdeviceptr_v2_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevprop);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevprop_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevprop_st___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevprop_st___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevprop_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdevprop_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdriverProcAddressQueryResult);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUdriverProcAddress_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUeglColorFormat);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUeglFrame);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUeglFrameType);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUeglFrame_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUeglFrame_st___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUeglFrame_st___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUeglFrame_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUeglFrame_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUeglResourceLocationFlags);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUeglStreamConnection);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUeglStreamConnection_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUeglStreamConnection___reduce_c);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUeglStreamConnection___setstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUeglStreamConnection_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUevent);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUevent_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUevent___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUevent___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUevent_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUevent_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUevent_record_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUevent_sched_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUevent_wait_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexecAffinityParam);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexecAffinityParam_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexecAffinityParam_st___reduce);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexecAffinityParam_st___setstat);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexecAffinityParam_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexecAffinityParam_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexecAffinitySmCount);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexecAffinitySmCount_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexecAffinitySmCount_st___reduc);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexecAffinitySmCount_st___setst);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexecAffinitySmCount_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexecAffinitySmCount_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexecAffinityType);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUexternalMemory);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexternalMemoryHandleType);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexternalMemory_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexternalMemory___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexternalMemory___setstate_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexternalMemory_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUexternalSemaphore);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexternalSemaphoreHandleType);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexternalSemaphore_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexternalSemaphore___reduce_cyt);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexternalSemaphore___setstate_c);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUexternalSemaphore_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUfilter_mode);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUflushGPUDirectRDMAWritesOption);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUflushGPUDirectRDMAWritesScope);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUflushGPUDirectRDMAWritesTarget);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUfunc_cache);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUfunction);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUfunctionLoadingState);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUfunction_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUfunction___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUfunction___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUfunction_attribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUfunction_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUgraph);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUgraphConditionalHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphConditionalHandle_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphConditionalHandle___reduc);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphConditionalHandle___setst);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphConditionalHandle_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphConditionalNodeType);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphDebugDot_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphDependencyType);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUgraphDeviceNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphDeviceNode_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphDeviceNode___reduce_cytho);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphDeviceNode___setstate_cyt);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphDeviceNode_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphEdgeData);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphEdgeData_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphEdgeData_st___reduce_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphEdgeData_st___setstate_cy);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphEdgeData_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUgraphExec);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphExecUpdateResult);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphExecUpdateResultInfo);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphExecUpdateResultInfo_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphExecUpdateResultInfo_st_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphExecUpdateResultInfo_st_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphExecUpdateResultInfo_st_g);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphExecUpdateResultInfo_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphExec_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphExec___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphExec___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphExec_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphInstantiateResult);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphInstantiate_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphMem_attribute);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUgraphNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphNodeParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphNodeParams_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphNodeParams_st___reduce_cy);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphNodeParams_st___setstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphNodeParams_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphNodeType);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphNode_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphNode___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphNode___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphNode_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraph_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraph___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraph___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraph_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphicsMapResourceFlags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphicsRegisterFlags);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUgraphicsResource);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphicsResource_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphicsResource___reduce_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphicsResource___setstate_cy);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgraphicsResource_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUgreenCtx);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgreenCtxCreate_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgreenCtx_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgreenCtx___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgreenCtx___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUgreenCtx_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUhostFn);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUhostFn_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUhostFn___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUhostFn___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUhostFn_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUipcEventHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUipcEventHandle_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUipcEventHandle_st___reduce_cyt);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUipcEventHandle_st___setstate_c);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUipcEventHandle_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUipcEventHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUipcMemHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUipcMemHandle_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUipcMemHandle_st___reduce_cytho);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUipcMemHandle_st___setstate_cyt);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUipcMemHandle_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUipcMemHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUipcMem_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUjitInputType);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUjit_cacheMode);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUjit_fallback);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUjit_option);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUjit_target);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUkernel);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUkernelNodeAttrID);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUkernelNodeAttrValue);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUkernelNodeAttrValue_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUkernel_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUkernel___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUkernel___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUkernel_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchAttributeID);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchAttributeValue);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchAttributeValue_union);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchAttributeValue_union___r);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchAttributeValue_union___s);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchAttributeValue_union_get);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchAttribute_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchAttribute_st___reduce_cy);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchAttribute_st___setstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchAttribute_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchConfig);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchConfig_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchConfig_st___reduce_cytho);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchConfig_st___setstate_cyt);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchConfig_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchMemSyncDomain);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchMemSyncDomainMap);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchMemSyncDomainMap_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchMemSyncDomainMap_st___re);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchMemSyncDomainMap_st___se);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlaunchMemSyncDomainMap_st_getP);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUlibrary);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlibraryHostUniversalFunctionAn);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlibraryHostUniversalFunctionAn_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlibraryHostUniversalFunctionAn_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlibraryHostUniversalFunctionAn_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlibraryHostUniversalFunctionAn_5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlibraryOption);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlibrary_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlibrary___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlibrary___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlibrary_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlimit);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUlinkState);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlinkState_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlinkState___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlinkState___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUlinkState_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAccessDesc);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAccessDesc_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAccessDesc_st___reduce_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAccessDesc_st___setstate_cy);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAccessDesc_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAccessDesc_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAccess_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAllocationCompType);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAllocationGranularity_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAllocationHandleType);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAllocationProp);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAllocationProp_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAllocationProp_st___reduce);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAllocationProp_st___setstat);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAllocationProp_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAllocationProp_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAllocationType);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemAttach_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemFabricHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemFabricHandle_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemFabricHandle_st___reduce_cy);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemFabricHandle_st___setstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemFabricHandle_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemFabricHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUmemGenericAllocationHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemGenericAllocationHandle_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemGenericAllocationHandle___r);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemGenericAllocationHandle___s);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemGenericAllocationHandle_get);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUmemGenericAllocationHandle_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemGenericAllocationHandle_v1_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemGenericAllocationHandle_v1_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemGenericAllocationHandle_v1_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemGenericAllocationHandle_v1_5);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemHandleType);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemLocation);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemLocationType);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemLocation_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemLocation_st___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemLocation_st___setstate_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemLocation_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemLocation_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemOperationType);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemPoolProps);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemPoolProps_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemPoolProps_st___reduce_cytho);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemPoolProps_st___setstate_cyt);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemPoolProps_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemPoolProps_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemPoolPtrExportData);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemPoolPtrExportData_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemPoolPtrExportData_st___redu);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemPoolPtrExportData_st___sets);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemPoolPtrExportData_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemPoolPtrExportData_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemPool_attribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemRangeHandleType);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmem_advise);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmem_range_attribute);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUmemoryPool);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemoryPool_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemoryPool___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemoryPool___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemoryPool_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmemorytype);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUmipmappedArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmipmappedArray_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmipmappedArray___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmipmappedArray___setstate_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmipmappedArray_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUmodule);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmoduleLoadingMode);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmodule_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmodule___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmodule___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmodule_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmulticastGranularity_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmulticastObjectProp);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmulticastObjectProp_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmulticastObjectProp_st___reduc);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmulticastObjectProp_st___setst);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmulticastObjectProp_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUmulticastObjectProp_v1);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUoccupancyB2DSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUoccupancyB2DSize_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUoccupancyB2DSize___reduce_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUoccupancyB2DSize___setstate_cy);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUoccupancyB2DSize_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUoccupancy_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUoutput_mode);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUpointer_attribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUresourceViewFormat);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUresourcetype);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUresult);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUshared_carveout);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUsharedconfig);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUstream);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamAttrID);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamAttrValue);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamAttrValue_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamBatchMemOpParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamBatchMemOpParams_union);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamBatchMemOpParams_union_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamBatchMemOpParams_union_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamBatchMemOpParams_union_g);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamBatchMemOpParams_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamBatchMemOpType);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUstreamCallback);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamCallback_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamCallback___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamCallback___setstate_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamCallback_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamCaptureMode);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamCaptureStatus);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamMemOpMemoryBarrierParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamMemOpMemoryBarrierParams_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamMemOpMemoryBarrierParams_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamMemOpMemoryBarrierParams_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamMemOpWaitValueParams_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamMemOpWaitValueParams_st_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamMemOpWaitValueParams_st_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamMemOpWaitValueParams_st_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamMemOpWriteValueParams_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamMemOpWriteValueParams_st_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamMemOpWriteValueParams_st_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamMemOpWriteValueParams_st_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamMemoryBarrier_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamUpdateCaptureDependencie);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamWaitValue_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstreamWriteValue_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstream_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstream___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstream___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstream_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUstream_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUsurfObject);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUsurfObject_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUsurfObject___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUsurfObject___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUsurfObject_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUsurfObject_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUsurfObject_v1_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUsurfObject_v1___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUsurfObject_v1___setstate_cytho);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUsurfObject_v1_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUsurfref);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUsurfref_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUsurfref___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUsurfref___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUsurfref_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUsynchronizationPolicy);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtensorMap);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtensorMapDataType);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtensorMapFloatOOBfill);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtensorMapInterleave);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtensorMapL2promotion);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtensorMapSwizzle);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtensorMap_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtensorMap_st___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtensorMap_st___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtensorMap_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUtexObject);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtexObject_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtexObject___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtexObject___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtexObject_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUtexObject_v1);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtexObject_v1_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtexObject_v1___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtexObject_v1___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtexObject_v1_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUtexref);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtexref_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtexref___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtexref___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUtexref_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_CUuserObject);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUuserObjectRetain_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUuserObject_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUuserObject___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUuserObject___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUuserObject_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUuserObject_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUuuid);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUuuid_st);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUuuid_st___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUuuid_st___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_CUuuid_st_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Caching_modes_for_dlcm);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Cluster_scheduling_policies_The);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Compute_Modes);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Conditional_node_types);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Context_creation_flags);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Cubin_matching_fallback_strateg);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Defines_the_allocation_types_av);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Deprecated_Shared_memory_config);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Depth);
  Py_CLEAR(clear_module_state->__pyx_n_s_Depth_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Depth_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Device_code_formats);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Device_properties);
  Py_CLEAR(clear_module_state->__pyx_kp_u_EGLImageKHR);
  Py_CLEAR(clear_module_state->__pyx_n_s_EGLImageKHR_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_EGLImageKHR___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_EGLImageKHR___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_EGLImageKHR_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_EGLStreamKHR);
  Py_CLEAR(clear_module_state->__pyx_n_s_EGLStreamKHR_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_EGLStreamKHR___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_EGLStreamKHR___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_EGLStreamKHR_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_EGLSyncKHR);
  Py_CLEAR(clear_module_state->__pyx_n_s_EGLSyncKHR_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_EGLSyncKHR___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_EGLSyncKHR___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_EGLSyncKHR_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_EGLint);
  Py_CLEAR(clear_module_state->__pyx_n_s_EGLint_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_EGLint___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_EGLint___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_EGLint_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_ElementSizeBytes);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Error_codes);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Event_creation_flags);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Event_record_flags);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Event_sched_flags);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Event_wait_flags);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Execution_Affinity_Types);
  Py_CLEAR(clear_module_state->__pyx_kp_s_External_memory_handle_types);
  Py_CLEAR(clear_module_state->__pyx_kp_s_External_semaphore_handle_types);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Failed_to_allocate_length_x_size);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Flag_for_requesting_different_o);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_Flags_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Flags_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Flags_for_choosing_a_coredump_a);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Flags_for_instantiating_a_graph);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Flags_for_mapping_and_unmapping);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Flags_for_py_obj_cuStreamMemory);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Flags_for_py_obj_cuStreamUpdate);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Flags_for_py_obj_cuStreamWaitVa);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Flags_for_py_obj_cuStreamWriteV);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Flags_for_querying_different_gr);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Flags_for_retaining_user_object);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Flags_for_specifying_particular);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Flags_for_user_objects_for_grap);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Flags_to_indicate_search_status);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Flags_to_map_or_unmap_a_resourc);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Flags_to_register_a_graphics_re);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Flags_to_specify_search_options);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Format);
  Py_CLEAR(clear_module_state->__pyx_n_s_Format_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Format_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Function_cache_configurations);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Function_properties);
  Py_CLEAR(clear_module_state->__pyx_kp_u_GLenum);
  Py_CLEAR(clear_module_state->__pyx_n_s_GLenum_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_GLenum___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_GLenum___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_GLenum_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_GLuint);
  Py_CLEAR(clear_module_state->__pyx_n_s_GLuint_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_GLuint___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_GLuint___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_GLuint_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Graph_instantiation_results);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Graph_node_types);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Height);
  Py_CLEAR(clear_module_state->__pyx_n_s_Height_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Height_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_IndexError);
  Py_CLEAR(clear_module_state->__pyx_n_s_IntEnum);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Launch_attributes_enum_used_as);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Library_options_to_be_specified);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Limits);
  Py_CLEAR(clear_module_state->__pyx_n_s_List);
  Py_CLEAR(clear_module_state->__pyx_kp_s_List_int);
  Py_CLEAR(clear_module_state->__pyx_kp_u_List_is_too_small);
  Py_CLEAR(clear_module_state->__pyx_n_s_MAX_PLANES);
  Py_CLEAR(clear_module_state->__pyx_n_s_MemoryError);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Memory_Synchronization_Domain_A);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Memory_advise_values);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Memory_handle_types);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Memory_operation_types);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Memory_types);
  Py_CLEAR(clear_module_state->__pyx_n_s_N);
  Py_CLEAR(clear_module_state->__pyx_n_s_NVCL_CTX_SCHED_AUTO);
  Py_CLEAR(clear_module_state->__pyx_n_s_NVCL_CTX_SCHED_BLOCKING_SYNC);
  Py_CLEAR(clear_module_state->__pyx_n_s_NVCL_CTX_SCHED_SPIN);
  Py_CLEAR(clear_module_state->__pyx_n_s_NVCL_CTX_SCHED_YIELD);
  Py_CLEAR(clear_module_state->__pyx_n_s_NVCL_EVENT_SCHED_AUTO);
  Py_CLEAR(clear_module_state->__pyx_n_s_NVCL_EVENT_SCHED_BLOCKING_SYNC);
  Py_CLEAR(clear_module_state->__pyx_n_s_NVCL_EVENT_SCHED_SPIN);
  Py_CLEAR(clear_module_state->__pyx_n_s_NVCL_EVENT_SCHED_YIELD);
  Py_CLEAR(clear_module_state->__pyx_kp_s_NVCL_context_scheduling_flags);
  Py_CLEAR(clear_module_state->__pyx_kp_s_NVCL_event_scheduling_flags);
  Py_CLEAR(clear_module_state->__pyx_kp_u_NumChannels);
  Py_CLEAR(clear_module_state->__pyx_n_s_NumChannels_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_NumChannels_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_NumPackedComponents);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Occupancy_calculator_flag);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Online_compilation_targets);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Online_compiler_and_linker_opti);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Operations_for_py_obj_cuStreamB);
  Py_CLEAR(clear_module_state->__pyx_n_s_Optional);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_ARRAY3D_DESCRIPTOR);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_ARRAY_DESCRIPTOR);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_BATCH_MEM_OP_NODE);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_BU);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_HA);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_MI);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_EXTERNAL_SEMAPHORE);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_EXT_SEM_SIGNAL_NOD);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_EXT_SEM_WAIT_NODE);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_GRAPH_INSTANTIATE);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_HOST_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_KERNEL_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_MEMCPY2D);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_MEMCPY3D);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_MEMCPY3D_PEER);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_MEMSET_NODE_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_MEM_ALLOC_NODE_PAR);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_RESOURCE_DESC);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_RESOURCE_VIEW_DESC);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUDA_TEXTURE_DESC);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUdevResource);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUeglFrame);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUgraphNodeParams);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUkernelNodeAttrValue);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUlaunchConfig);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUmemAllocationProp);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUmemLocation);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUmemPoolProps);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUmemPoolPtrExportData);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUmulticastObjectProp);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUstreamAttrValue);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUtensorMap);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_CUuuid);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_Any);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_CUDA_EXTERNAL_SEMA);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_CUDA_EXTERNAL_SEMA_2);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_CUDA_LAUNCH_PARAMS);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_CUarrayMapInfo);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_CUdevResource);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_CUexecAffinityPara);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_CUexternalSemaphor);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_CUgraphEdgeData);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_CUgraphNode);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_CUjit_option);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_CUlibraryOption);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_CUmemAccessDesc);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_CUmem_range_attrib);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_CUpointer_attribut);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_CUstreamBatchMemOp);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_cuuint32_t);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_cuuint64_t);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_List_int);
  Py_CLEAR(clear_module_state->__pyx_n_s_OverflowError);
  Py_CLEAR(clear_module_state->__pyx_kp_s_P2P_Attributes);
  Py_CLEAR(clear_module_state->__pyx_n_s_Pitch);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Platform_native_ordering_for_GP);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Pointer_information);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Possible_modes_for_stream_captu);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Possible_stream_capture_statuse);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Profiler_Output_Modes);
  Py_CLEAR(clear_module_state->__pyx_n_s_RESOURCE_ABI_EXTERNAL_BYTES);
  Py_CLEAR(clear_module_state->__pyx_n_s_RESOURCE_ABI_VERSION);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Resource_location_flags_sysmem);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Resource_types);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Resource_view_format);
  Py_CLEAR(clear_module_state->__pyx_n_s_RuntimeError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_SIMDWidth);
  Py_CLEAR(clear_module_state->__pyx_n_s_SIMDWidth_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_SIMDWidth_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Shared_memory_carveout_configur);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Sparse_subresource_types);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Specifies_compression_attribute);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Specifies_performance_hint_with);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Specifies_the_handle_type_for_a);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Specifies_the_memory_protection);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Specifies_the_type_of_location);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Stream_creation_flags);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Tensor_map_L2_promotion_type);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Tensor_map_data_type);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Tensor_map_interleave_layout_ty);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Tensor_map_out_of_bounds_fill_t);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Tensor_map_swizzling_mode_of_sh);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Texture_reference_addressing_mo);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Texture_reference_filtering_mod);
  Py_CLEAR(clear_module_state->__pyx_kp_s_The_additional_write_options_fo);
  Py_CLEAR(clear_module_state->__pyx_kp_s_The_scopes_for_py_obj_cuFlushGP);
  Py_CLEAR(clear_module_state->__pyx_kp_s_The_targets_for_py_obj_cuFlushG);
  Py_CLEAR(clear_module_state->__pyx_n_s_Tuple);
  Py_CLEAR(clear_module_state->__pyx_n_s_TypeError);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Type_annotations_that_can_be_ap);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Type_of_resource);
  Py_CLEAR(clear_module_state->__pyx_kp_s_Types_of_async_notification_tha);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Unknown_type);
  Py_CLEAR(clear_module_state->__pyx_n_s_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_VdpDevice);
  Py_CLEAR(clear_module_state->__pyx_n_s_VdpDevice_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_VdpDevice___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_VdpDevice___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_VdpDevice_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_VdpGetProcAddress);
  Py_CLEAR(clear_module_state->__pyx_n_s_VdpGetProcAddress_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_VdpGetProcAddress___reduce_cytho);
  Py_CLEAR(clear_module_state->__pyx_n_s_VdpGetProcAddress___setstate_cyt);
  Py_CLEAR(clear_module_state->__pyx_n_s_VdpGetProcAddress_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_VdpOutputSurface);
  Py_CLEAR(clear_module_state->__pyx_n_s_VdpOutputSurface_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_VdpOutputSurface___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_VdpOutputSurface___setstate_cyth);
  Py_CLEAR(clear_module_state->__pyx_n_s_VdpOutputSurface_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_VdpVideoSurface);
  Py_CLEAR(clear_module_state->__pyx_n_s_VdpVideoSurface_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_VdpVideoSurface___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_VdpVideoSurface___setstate_cytho);
  Py_CLEAR(clear_module_state->__pyx_n_s_VdpVideoSurface_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Width);
  Py_CLEAR(clear_module_state->__pyx_kp_u_WidthInBytes);
  Py_CLEAR(clear_module_state->__pyx_n_s_WidthInBytes_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_WidthInBytes_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_Width_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_Width_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u__117);
  Py_CLEAR(clear_module_state->__pyx_kp_u__118);
  Py_CLEAR(clear_module_state->__pyx_n_s__1338);
  Py_CLEAR(clear_module_state->__pyx_kp_u__143);
  Py_CLEAR(clear_module_state->__pyx_kp_b__486);
  Py_CLEAR(clear_module_state->__pyx_kp_u__535);
  Py_CLEAR(clear_module_state->__pyx_kp_u__959);
  Py_CLEAR(clear_module_state->__pyx_n_s__960);
  Py_CLEAR(clear_module_state->__pyx_kp_s__961);
  Py_CLEAR(clear_module_state->__pyx_kp_u_accessDescCount);
  Py_CLEAR(clear_module_state->__pyx_n_s_accessDescCount_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_accessDescCount_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_accessDescs);
  Py_CLEAR(clear_module_state->__pyx_n_s_accessDescs_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_accessDescs_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_accessPolicyWindow);
  Py_CLEAR(clear_module_state->__pyx_n_s_accessPolicyWindow_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_accessPolicyWindow_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_active);
  Py_CLEAR(clear_module_state->__pyx_n_s_addr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_address);
  Py_CLEAR(clear_module_state->__pyx_kp_u_addressMode);
  Py_CLEAR(clear_module_state->__pyx_n_s_addressMode_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_addressMode_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_address_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_address_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_advice);
  Py_CLEAR(clear_module_state->__pyx_kp_u_alias);
  Py_CLEAR(clear_module_state->__pyx_n_s_alias_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_alias_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_alignment);
  Py_CLEAR(clear_module_state->__pyx_n_s_alignment_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_alignment_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_alloc);
  Py_CLEAR(clear_module_state->__pyx_kp_u_allocFlags);
  Py_CLEAR(clear_module_state->__pyx_n_s_allocFlags_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_allocFlags_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_allocType);
  Py_CLEAR(clear_module_state->__pyx_n_s_allocType_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_allocType_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_alloc_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_alloc_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_am);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct0);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct0___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct0___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct0_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct1);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct10);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct10___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct10___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct10_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct11);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct11___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct11___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct11_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct12);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct12___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct12___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct12_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct13);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct13___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct13___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct13_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct14);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct14___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct14___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct14_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct15);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct15___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct15___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct15_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct16);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct16___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct16___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct16_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct17);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct17___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct17___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct17_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct18);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct18___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct18___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct18_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct19);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct19___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct19___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct19_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct1___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct1___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct1_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct2);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct20);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct20___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct20___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct20_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct21);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct21___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct21___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct21_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct2___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct2___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct2_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct3);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct3___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct3___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct3_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct4);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct4___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct4___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct4_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct5);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct5___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct5___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct5_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct6);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct6___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct6___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct6_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct7);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct7___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct7___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct7_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct8);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct8___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct8___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct8_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct9);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct9___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct9___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_struct9_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union10);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union10___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union10___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union10_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union11);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union11___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union11___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union11_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union14);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union14___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union14___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union14_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union2);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union2___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union2___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union2_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union3);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union3___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union3___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union3_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union4);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union4___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union4___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union4_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union5);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union5___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union5___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union5_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union6);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union6___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union6___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union6_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union7);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union7___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union7___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union7_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union8);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union8___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union8___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union8_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union9);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union9___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union9___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_anon_union9_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_args);
  Py_CLEAR(clear_module_state->__pyx_kp_u_array);
  Py_CLEAR(clear_module_state->__pyx_kp_u_arrayDesc);
  Py_CLEAR(clear_module_state->__pyx_n_s_arrayDesc_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_arrayDesc_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_arrayIndex);
  Py_CLEAR(clear_module_state->__pyx_n_s_array_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_array_3);
  Py_CLEAR(clear_module_state->__pyx_kp_u_array_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_asyncio_coroutines);
  Py_CLEAR(clear_module_state->__pyx_n_s_attr);
  Py_CLEAR(clear_module_state->__pyx_n_s_attrib);
  Py_CLEAR(clear_module_state->__pyx_n_s_attribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_attributes);
  Py_CLEAR(clear_module_state->__pyx_kp_u_attrs);
  Py_CLEAR(clear_module_state->__pyx_n_s_attrs_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_attrs_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_base_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_base_ptr_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_base_ptr_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_bias);
  Py_CLEAR(clear_module_state->__pyx_kp_u_blockDimX);
  Py_CLEAR(clear_module_state->__pyx_n_s_blockDimX_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_blockDimX_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_blockDimY);
  Py_CLEAR(clear_module_state->__pyx_n_s_blockDimY_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_blockDimY_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_blockDimZ);
  Py_CLEAR(clear_module_state->__pyx_n_s_blockDimZ_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_blockDimZ_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_blockSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_blockSizeLimit);
  Py_CLEAR(clear_module_state->__pyx_n_s_blockSizeToDynamicSMemSize);
  Py_CLEAR(clear_module_state->__pyx_kp_u_borderColor);
  Py_CLEAR(clear_module_state->__pyx_n_s_borderColor_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_borderColor_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_boxDim);
  Py_CLEAR(clear_module_state->__pyx_n_s_buffer);
  Py_CLEAR(clear_module_state->__pyx_n_s_bufferDesc);
  Py_CLEAR(clear_module_state->__pyx_kp_u_bytes);
  Py_CLEAR(clear_module_state->__pyx_kp_u_bytesOverBudget);
  Py_CLEAR(clear_module_state->__pyx_n_s_bytesOverBudget_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_bytesOverBudget_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_bytes_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_bytes_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_bytesize);
  Py_CLEAR(clear_module_state->__pyx_n_s_bytesize_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_bytesize_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_caddr);
  Py_CLEAR(clear_module_state->__pyx_n_s_caddr_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cadvice);
  Py_CLEAR(clear_module_state->__pyx_n_s_callback);
  Py_CLEAR(clear_module_state->__pyx_n_s_callbackFunc);
  Py_CLEAR(clear_module_state->__pyx_n_s_cam);
  Py_CLEAR(clear_module_state->__pyx_n_s_canAccessPeer);
  Py_CLEAR(clear_module_state->__pyx_n_s_captureStatus);
  Py_CLEAR(clear_module_state->__pyx_n_s_captureStatus_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_carray);
  Py_CLEAR(clear_module_state->__pyx_n_s_cattr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cattrib);
  Py_CLEAR(clear_module_state->__pyx_n_s_cattribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cattributes);
  Py_CLEAR(clear_module_state->__pyx_n_s_cblockSizeToDynamicSMemSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_cboxDim);
  Py_CLEAR(clear_module_state->__pyx_n_s_cbuffer);
  Py_CLEAR(clear_module_state->__pyx_n_s_cbufferDesc_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_ccallback);
  Py_CLEAR(clear_module_state->__pyx_n_s_ccallbackFunc);
  Py_CLEAR(clear_module_state->__pyx_n_s_cchannelsPerPixel);
  Py_CLEAR(clear_module_state->__pyx_n_s_cchildGraph);
  Py_CLEAR(clear_module_state->__pyx_n_s_ccode);
  Py_CLEAR(clear_module_state->__pyx_n_s_ccode_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cconfig);
  Py_CLEAR(clear_module_state->__pyx_n_s_cconfig_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cconn);
  Py_CLEAR(clear_module_state->__pyx_n_s_ccopyParams_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cctx);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdata);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdataSizes);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdata_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdependencies);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdependencies_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdependencyData);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdependentNodes);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdesc);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdesc_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdestroy);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdev);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdevPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdevice);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdeviceList);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdst);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdstArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdstContext);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdstDevice);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdstHost);
  Py_CLEAR(clear_module_state->__pyx_n_s_cdstHost_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cedgeData);
  Py_CLEAR(clear_module_state->__pyx_n_s_cedgeData_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_ceglSync);
  Py_CLEAR(clear_module_state->__pyx_n_s_ceglframe_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_celementStrides);
  Py_CLEAR(clear_module_state->__pyx_n_s_cerror);
  Py_CLEAR(clear_module_state->__pyx_n_s_cevent);
  Py_CLEAR(clear_module_state->__pyx_n_s_cextMem);
  Py_CLEAR(clear_module_state->__pyx_n_s_cextSem);
  Py_CLEAR(clear_module_state->__pyx_n_s_cextSemArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_cf);
  Py_CLEAR(clear_module_state->__pyx_n_s_cfatCubin);
  Py_CLEAR(clear_module_state->__pyx_n_s_cfatCubin_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cflags);
  Py_CLEAR(clear_module_state->__pyx_n_s_cfm);
  Py_CLEAR(clear_module_state->__pyx_n_s_cfmt);
  Py_CLEAR(clear_module_state->__pyx_n_s_cfn);
  Py_CLEAR(clear_module_state->__pyx_n_s_cfrom);
  Py_CLEAR(clear_module_state->__pyx_n_s_cfunc);
  Py_CLEAR(clear_module_state->__pyx_n_s_cfunction);
  Py_CLEAR(clear_module_state->__pyx_n_s_cfunctions);
  Py_CLEAR(clear_module_state->__pyx_n_s_cglobalAddress);
  Py_CLEAR(clear_module_state->__pyx_n_s_cglobalAddress_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cglobalDim);
  Py_CLEAR(clear_module_state->__pyx_n_s_cglobalStrides);
  Py_CLEAR(clear_module_state->__pyx_n_s_cgraph);
  Py_CLEAR(clear_module_state->__pyx_n_s_chArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_chClonedGraph);
  Py_CLEAR(clear_module_state->__pyx_n_s_chCtx);
  Py_CLEAR(clear_module_state->__pyx_n_s_chEnd);
  Py_CLEAR(clear_module_state->__pyx_n_s_chEvent);
  Py_CLEAR(clear_module_state->__pyx_n_s_chGraph);
  Py_CLEAR(clear_module_state->__pyx_n_s_chGraphExec);
  Py_CLEAR(clear_module_state->__pyx_n_s_chMipmappedArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_chNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_chOriginalNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_chStart);
  Py_CLEAR(clear_module_state->__pyx_n_s_chStream);
  Py_CLEAR(clear_module_state->__pyx_n_s_chSurfRef);
  Py_CLEAR(clear_module_state->__pyx_n_s_chTexRef);
  Py_CLEAR(clear_module_state->__pyx_n_s_chandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_chandleType);
  Py_CLEAR(clear_module_state->__pyx_n_s_chandle_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_chandle_out_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_chandle_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_channelsPerPixel);
  Py_CLEAR(clear_module_state->__pyx_n_s_cheight);
  Py_CLEAR(clear_module_state->__pyx_n_s_chfunc);
  Py_CLEAR(clear_module_state->__pyx_n_s_childGraph);
  Py_CLEAR(clear_module_state->__pyx_n_s_chmod);
  Py_CLEAR(clear_module_state->__pyx_n_s_cimage);
  Py_CLEAR(clear_module_state->__pyx_n_s_cimage_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cinput__ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cinstantiateParams_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cinterleave);
  Py_CLEAR(clear_module_state->__pyx_n_s_cjitOptions);
  Py_CLEAR(clear_module_state->__pyx_n_s_ckernel);
  Py_CLEAR(clear_module_state->__pyx_n_s_ckernelParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_ckernels);
  Py_CLEAR(clear_module_state->__pyx_n_s_cl2Promotion);
  Py_CLEAR(clear_module_state->__pyx_n_s_cl_context_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_cl_event_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_claunchParamsList);
  Py_CLEAR(clear_module_state->__pyx_n_s_clib);
  Py_CLEAR(clear_module_state->__pyx_n_s_clibrary);
  Py_CLEAR(clear_module_state->__pyx_n_s_clibraryOptions);
  Py_CLEAR(clear_module_state->__pyx_n_s_climit);
  Py_CLEAR(clear_module_state->__pyx_n_s_cline_in_traceback);
  Py_CLEAR(clear_module_state->__pyx_n_s_clocation_ptr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_clockRate);
  Py_CLEAR(clear_module_state->__pyx_n_s_clockRate_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_clockRate_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_close);
  Py_CLEAR(clear_module_state->__pyx_kp_u_clusterDim);
  Py_CLEAR(clear_module_state->__pyx_n_s_clusterDim_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_clusterDim_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_clusterSchedulingPolicyPreferenc);
  Py_CLEAR(clear_module_state->__pyx_n_s_clusterSchedulingPolicyPreferenc_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_clusterSchedulingPolicyPreferenc_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_clusterSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_cmap);
  Py_CLEAR(clear_module_state->__pyx_n_s_cmapInfoList);
  Py_CLEAR(clear_module_state->__pyx_n_s_cmcHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_cmemHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_cmemHandleDesc_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cmemPool);
  Py_CLEAR(clear_module_state->__pyx_n_s_cmemptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cmemsetParams_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cmipmap);
  Py_CLEAR(clear_module_state->__pyx_n_s_cmipmapDesc_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cmod);
  Py_CLEAR(clear_module_state->__pyx_n_s_cmode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cnbGroups);
  Py_CLEAR(clear_module_state->__pyx_n_s_cnodeParams_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cnodes);
  Py_CLEAR(clear_module_state->__pyx_n_s_cnvSciSyncAttrList);
  Py_CLEAR(clear_module_state->__pyx_n_s_cnvSciSyncAttrList_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cobject);
  Py_CLEAR(clear_module_state->__pyx_n_s_code);
  Py_CLEAR(clear_module_state->__pyx_kp_u_compressionType);
  Py_CLEAR(clear_module_state->__pyx_n_s_compressionType_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_compressionType_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_conditional);
  Py_CLEAR(clear_module_state->__pyx_n_s_conditional_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_conditional_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_config);
  Py_CLEAR(clear_module_state->__pyx_n_s_conn);
  Py_CLEAR(clear_module_state->__pyx_n_s_coobFill);
  Py_CLEAR(clear_module_state->__pyx_kp_u_cooperative);
  Py_CLEAR(clear_module_state->__pyx_n_s_cooperative_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_cooperative_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_coption);
  Py_CLEAR(clear_module_state->__pyx_n_s_coptions);
  Py_CLEAR(clear_module_state->__pyx_kp_u_copyCtx);
  Py_CLEAR(clear_module_state->__pyx_n_s_copyCtx_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_copyCtx_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_copyParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_copyParams_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_copyParams_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_coriginalGraph);
  Py_CLEAR(clear_module_state->__pyx_n_s_cosHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_cosHandle_ptr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_count);
  Py_CLEAR(clear_module_state->__pyx_n_s_count_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_count_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_cp);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpAllocateArray_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpCopy_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpCudaDevices);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpCudaResource);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpExportTableId_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpMipmappedArrayDesc_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpResDesc_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpResViewDesc_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpStream);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpTexDesc_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cp_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cparamArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_cparamsArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpeerContext);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpeerDev);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpformat);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpixelBoxLowerCorner);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpixelBoxUpperCorner);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpixelsPerColumn);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpool);
  Py_CLEAR(clear_module_state->__pyx_n_s_cpoolProps_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cprop_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cptr_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cresource);
  Py_CLEAR(clear_module_state->__pyx_n_s_cresources);
  Py_CLEAR(clear_module_state->__pyx_n_s_cresult);
  Py_CLEAR(clear_module_state->__pyx_n_s_crootNodes);
  Py_CLEAR(clear_module_state->__pyx_n_s_cscope);
  Py_CLEAR(clear_module_state->__pyx_n_s_csemHandleDesc_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cshHandleType);
  Py_CLEAR(clear_module_state->__pyx_n_s_cshareData_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cshareableHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_cshareableHandle_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_csrc);
  Py_CLEAR(clear_module_state->__pyx_n_s_csrcArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_csrcContext);
  Py_CLEAR(clear_module_state->__pyx_n_s_csrcDevice);
  Py_CLEAR(clear_module_state->__pyx_n_s_csrcHost);
  Py_CLEAR(clear_module_state->__pyx_n_s_csrcHost_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cstream);
  Py_CLEAR(clear_module_state->__pyx_n_s_csurfObject);
  Py_CLEAR(clear_module_state->__pyx_n_s_cswizzle);
  Py_CLEAR(clear_module_state->__pyx_n_s_ctarget);
  Py_CLEAR(clear_module_state->__pyx_n_s_ctensorDataType);
  Py_CLEAR(clear_module_state->__pyx_n_s_ctensorMap_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_ctensorRank);
  Py_CLEAR(clear_module_state->__pyx_n_s_ctexObject);
  Py_CLEAR(clear_module_state->__pyx_n_s_cto);
  Py_CLEAR(clear_module_state->__pyx_kp_u_ctx);
  Py_CLEAR(clear_module_state->__pyx_n_s_ctxId);
  Py_CLEAR(clear_module_state->__pyx_n_s_ctx_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_ctx_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_ctypename);
  Py_CLEAR(clear_module_state->__pyx_n_s_ctypes);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuArray3DCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuArray3DGetDescriptor);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuArrayCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuArrayDestroy);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuArrayGetDescriptor);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuArrayGetMemoryRequirements);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuArrayGetPlane);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuArrayGetSparseProperties);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCoredumpGetAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCoredumpGetAttributeGlobal);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCoredumpSetAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCoredumpSetAttributeGlobal);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxAttach);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxCreate_v3);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxCreate_v3_locals_genexpr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxDestroy);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxDetach);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxDisablePeerAccess);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxEnablePeerAccess);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxFromGreenCtx);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxGetApiVersion);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxGetCacheConfig);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxGetCurrent);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxGetDevResource);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxGetDevice);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxGetExecAffinity);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxGetFlags);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxGetId);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxGetLimit);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxGetSharedMemConfig);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxGetStreamPriorityRange);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxPopCurrent);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxPushCurrent);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxResetPersistingL2Cache);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxSetCacheConfig);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxSetCurrent);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxSetFlags);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxSetLimit);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxSetSharedMemConfig);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuCtxSynchronize);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDestroyExternalMemory);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDestroyExternalSemaphore);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDevResourceGenerateDesc);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDevResourceGenerateDesc_locals);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDevSmResourceSplitByCount);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceCanAccessPeer);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceComputeCapability);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGet);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGetAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGetByPCIBusId);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGetCount);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGetDefaultMemPool);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGetDevResource);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGetExecAffinitySupport);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGetGraphMemAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGetLuid);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGetMemPool);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGetName);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGetNvSciSyncAttributes);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGetP2PAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGetPCIBusId);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGetProperties);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGetTexture1DLinearMaxWid);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGetUuid);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGetUuid_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceGraphMemTrim);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDevicePrimaryCtxGetState);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDevicePrimaryCtxRelease);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDevicePrimaryCtxReset);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDevicePrimaryCtxRetain);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDevicePrimaryCtxSetFlags);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceRegisterAsyncNotificatio);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceSetGraphMemAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceSetMemPool);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceTotalMem);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDeviceUnregisterAsyncNotificat);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuDriverGetVersion);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuEGLStreamConsumerAcquireFrame);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuEGLStreamConsumerConnect);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuEGLStreamConsumerConnectWithFl);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuEGLStreamConsumerDisconnect);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuEGLStreamConsumerReleaseFrame);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuEGLStreamProducerConnect);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuEGLStreamProducerDisconnect);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuEGLStreamProducerPresentFrame);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuEGLStreamProducerReturnFrame);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuEventCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuEventCreateFromEGLSync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuEventDestroy);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuEventElapsedTime);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuEventQuery);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuEventRecord);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuEventRecordWithFlags);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuEventSynchronize);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuExternalMemoryGetMappedBuffer);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuExternalMemoryGetMappedMipmapp);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuFlushGPUDirectRDMAWrites);
  Py_CLEAR(clear_module_state->__pyx_kp_u_cuFormat);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuFormat_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_cuFormat_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuFuncGetAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuFuncGetModule);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuFuncGetName);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuFuncGetParamInfo);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuFuncIsLoaded);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuFuncLoad);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuFuncSetAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuFuncSetBlockShape);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuFuncSetCacheConfig);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuFuncSetSharedMemConfig);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuFuncSetSharedSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGLGetDevices);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGetErrorName);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGetErrorString);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGetExportTable);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGetProcAddress);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddBatchMemOpNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddBatchMemOpNode_locals);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddChildGraphNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddChildGraphNode_locals);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddDependencies);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddDependencies_locals_ge);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddDependencies_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddDependencies_v2_locals);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddEmptyNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddEmptyNode_locals_genex);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddEventRecordNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddEventRecordNode_locals);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddEventWaitNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddEventWaitNode_locals_g);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddExternalSemaphoresSign);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddExternalSemaphoresSign_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddExternalSemaphoresWait);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddExternalSemaphoresWait_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddHostNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddHostNode_locals_genexp);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddKernelNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddKernelNode_locals_gene);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddMemAllocNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddMemAllocNode_locals_ge);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddMemFreeNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddMemFreeNode_locals_gen);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddMemcpyNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddMemcpyNode_locals_gene);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddMemsetNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddMemsetNode_locals_gene);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddNode_locals_genexpr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddNode_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphAddNode_v2_locals_genexpr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphBatchMemOpNodeGetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphBatchMemOpNodeSetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphChildGraphNodeGetGraph);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphClone);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphConditionalHandleCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphDebugDotPrint);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphDestroy);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphDestroyNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphEventRecordNodeGetEvent);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphEventRecordNodeSetEvent);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphEventWaitNodeGetEvent);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphEventWaitNodeSetEvent);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExecBatchMemOpNodeSetPara);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExecChildGraphNodeSetPara);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExecDestroy);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExecEventRecordNodeSetEve);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExecEventWaitNodeSetEvent);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExecExternalSemaphoresSig);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExecExternalSemaphoresWai);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExecGetFlags);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExecHostNodeSetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExecKernelNodeSetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExecMemcpyNodeSetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExecMemsetNodeSetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExecNodeSetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExecUpdate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExternalSemaphoresSignalN);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExternalSemaphoresSignalN_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExternalSemaphoresWaitNod);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphExternalSemaphoresWaitNod_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphGetEdges);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphGetEdges_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphGetNodes);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphGetRootNodes);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphHostNodeGetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphHostNodeSetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphInstantiate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphInstantiateWithParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphKernelNodeCopyAttributes);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphKernelNodeGetAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphKernelNodeGetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphKernelNodeSetAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphKernelNodeSetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphLaunch);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphMemAllocNodeGetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphMemFreeNodeGetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphMemcpyNodeGetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphMemcpyNodeSetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphMemsetNodeGetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphMemsetNodeSetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphNodeFindInClone);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphNodeGetDependencies);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphNodeGetDependencies_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphNodeGetDependentNodes);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphNodeGetDependentNodes_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphNodeGetEnabled);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphNodeGetType);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphNodeSetEnabled);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphNodeSetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphReleaseUserObject);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphRemoveDependencies);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphRemoveDependencies_locals);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphRemoveDependencies_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphRemoveDependencies_v2_loc);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphRetainUserObject);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphUpload);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphicsEGLRegisterImage);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphicsGLRegisterBuffer);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphicsGLRegisterImage);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphicsMapResources);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphicsResourceGetMappedEglFr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphicsResourceGetMappedMipma);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphicsResourceGetMappedPoint);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphicsResourceSetMapFlags);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphicsSubResourceGetMappedAr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphicsUnmapResources);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphicsUnregisterResource);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphicsVDPAURegisterOutputSur);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGraphicsVDPAURegisterVideoSurf);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGreenCtxCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGreenCtxDestroy);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGreenCtxGetDevResource);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGreenCtxRecordEvent);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuGreenCtxWaitEvent);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuImportExternalMemory);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuImportExternalSemaphore);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuInit);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuIpcCloseMemHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuIpcGetEventHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuIpcGetMemHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuIpcOpenEventHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuIpcOpenMemHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuKernelGetAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuKernelGetFunction);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuKernelGetName);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuKernelGetParamInfo);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuKernelSetAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuKernelSetCacheConfig);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLaunch);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLaunchCooperativeKernel);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLaunchCooperativeKernelMultiDe);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLaunchCooperativeKernelMultiDe_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLaunchGrid);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLaunchGridAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLaunchHostFunc);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLaunchKernel);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLaunchKernelEx);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLibraryEnumerateKernels);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLibraryGetGlobal);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLibraryGetKernel);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLibraryGetKernelCount);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLibraryGetManaged);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLibraryGetModule);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLibraryGetUnifiedFunction);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLibraryLoadData);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLibraryLoadData_locals_genexpr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLibraryLoadFromFile);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLibraryLoadFromFile_locals_gen);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLibraryUnload);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLinkAddData);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLinkAddData_locals_genexpr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLinkAddFile);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLinkAddFile_locals_genexpr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLinkComplete);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLinkCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLinkCreate_locals_genexpr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuLinkDestroy);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemAddressFree);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemAddressReserve);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemAdvise);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemAdvise_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemAlloc);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemAllocAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemAllocFromPoolAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemAllocHost);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemAllocManaged);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemAllocPitch);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemExportToShareableHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemFree);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemFreeAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemFreeHost);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemGetAccess);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemGetAddressRange);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemGetAllocationGranularity);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemGetAllocationPropertiesFrom);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemGetHandleForAddressRange);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemGetInfo);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemHostAlloc);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemHostGetDevicePointer);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemHostGetFlags);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemHostRegister);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemHostUnregister);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemImportFromShareableHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemMap);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemMapArrayAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemMapArrayAsync_locals_genexp);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemPoolCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemPoolDestroy);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemPoolExportPointer);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemPoolExportToShareableHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemPoolGetAccess);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemPoolGetAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemPoolImportFromShareableHand);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemPoolImportPointer);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemPoolSetAccess);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemPoolSetAccess_locals_genexp);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemPoolSetAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemPoolTrimTo);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemPrefetchAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemPrefetchAsync_v2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemRangeGetAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemRangeGetAttributes);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemRangeGetAttributes_locals_g);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemRelease);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemRetainAllocationHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemSetAccess);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemSetAccess_locals_genexpr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemUnmap);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpy);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpy2D);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpy2DAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpy2DUnaligned);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpy3D);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpy3DAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpy3DPeer);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpy3DPeerAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpyAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpyAtoA);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpyAtoD);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpyAtoH);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpyAtoHAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpyDtoA);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpyDtoD);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpyDtoDAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpyDtoH);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpyDtoHAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpyHtoA);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpyHtoAAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpyHtoD);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpyHtoDAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpyPeer);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemcpyPeerAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemsetD16);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemsetD16Async);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemsetD2D16);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemsetD2D16Async);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemsetD2D32);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemsetD2D32Async);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemsetD2D8);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemsetD2D8Async);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemsetD32);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemsetD32Async);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemsetD8);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMemsetD8Async);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMipmappedArrayCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMipmappedArrayDestroy);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMipmappedArrayGetLevel);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMipmappedArrayGetMemoryRequire);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMipmappedArrayGetSparsePropert);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuModuleEnumerateFunctions);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuModuleGetFunction);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuModuleGetFunctionCount);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuModuleGetGlobal);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuModuleGetLoadingMode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuModuleGetSurfRef);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuModuleGetTexRef);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuModuleLoad);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuModuleLoadData);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuModuleLoadDataEx);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuModuleLoadDataEx_locals_genexp);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuModuleLoadFatBinary);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuModuleUnload);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMulticastAddDevice);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMulticastBindAddr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMulticastBindMem);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMulticastCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMulticastGetGranularity);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuMulticastUnbind);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuOccupancyAvailableDynamicSMemP);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuOccupancyMaxActiveBlocksPerMul);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuOccupancyMaxActiveBlocksPerMul_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuOccupancyMaxActiveClusters);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuOccupancyMaxPotentialBlockSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuOccupancyMaxPotentialBlockSize_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuOccupancyMaxPotentialClusterSi);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuParamSetSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuParamSetTexRef);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuParamSetf);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuParamSeti);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuParamSetv);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuPointerGetAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuPointerGetAttributes);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuPointerGetAttributes_locals_ge);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuPointerSetAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuProfilerStart);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuProfilerStop);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuSignalExternalSemaphoresAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuSignalExternalSemaphoresAsync_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamAddCallback);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamAttachMemAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamBatchMemOp);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamBatchMemOp_locals_genexp);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamBeginCapture);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamBeginCaptureToGraph);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamBeginCaptureToGraph_loca);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamCopyAttributes);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamCreateWithPriority);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamDestroy);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamEndCapture);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamGetAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamGetCaptureInfo);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamGetCaptureInfo_v3);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamGetCtx);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamGetFlags);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamGetGreenCtx);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamGetId);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamGetPriority);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamIsCapturing);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamQuery);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamSetAttribute);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamSynchronize);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamUpdateCaptureDependencie);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamUpdateCaptureDependencie_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamUpdateCaptureDependencie_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamUpdateCaptureDependencie_4);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamWaitEvent);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamWaitValue32);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamWaitValue64);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamWriteValue32);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuStreamWriteValue64);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuSurfObjectCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuSurfObjectDestroy);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuSurfObjectGetResourceDesc);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuSurfRefGetArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuSurfRefSetArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTensorMapEncodeIm2col);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTensorMapEncodeIm2col_locals_g);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTensorMapEncodeTiled);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTensorMapEncodeTiled_locals_ge);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTensorMapReplaceAddress);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexObjectCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexObjectDestroy);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexObjectGetResourceDesc);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexObjectGetResourceViewDesc);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexObjectGetTextureDesc);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefDestroy);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefGetAddress);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefGetAddressMode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefGetArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefGetBorderColor);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefGetFilterMode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefGetFlags);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefGetFormat);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefGetMaxAnisotropy);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefGetMipmapFilterMode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefGetMipmapLevelBias);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefGetMipmapLevelClamp);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefGetMipmappedArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefSetAddress);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefSetAddress2D);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefSetAddressMode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefSetArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefSetBorderColor);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefSetFilterMode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefSetFlags);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefSetFormat);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefSetMaxAnisotropy);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefSetMipmapFilterMode);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefSetMipmapLevelBias);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefSetMipmapLevelClamp);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuTexRefSetMipmappedArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuThreadExchangeStreamCaptureMod);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuUserObjectCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuUserObjectRelease);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuUserObjectRetain);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuVDPAUCtxCreate);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuVDPAUGetDevice);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuWaitExternalSemaphoresAsync);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuWaitExternalSemaphoresAsync_lo);
  Py_CLEAR(clear_module_state->__pyx_n_s_cubinOut);
  Py_CLEAR(clear_module_state->__pyx_n_s_cudaDeviceCount);
  Py_CLEAR(clear_module_state->__pyx_n_s_cudaVersion);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuda_cuda);
  Py_CLEAR(clear_module_state->__pyx_kp_s_cuda_cuda_pyx);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuserData);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuserData_ptr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_cuuint32_t);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuuint32_t_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuuint32_t___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuuint32_t___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuuint32_t_getPtr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_cuuint64_t);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuuint64_t_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuuint64_t___reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuuint64_t___setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_cuuint64_t_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cvalue);
  Py_CLEAR(clear_module_state->__pyx_n_s_cvalue_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cvdpDevice);
  Py_CLEAR(clear_module_state->__pyx_n_s_cvdpGetProcAddress);
  Py_CLEAR(clear_module_state->__pyx_n_s_cvdpSurface);
  Py_CLEAR(clear_module_state->__pyx_n_s_cvoidStarHelper_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_cwidth);
  Py_CLEAR(clear_module_state->__pyx_kp_u_data);
  Py_CLEAR(clear_module_state->__pyx_n_s_dataSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_dataSizes);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dataTable);
  Py_CLEAR(clear_module_state->__pyx_n_s_dataTable_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dataTable_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dataWindowSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_dataWindowSize_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dataWindowSize_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_data_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_data_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_data_length_must_be_64_is);
  Py_CLEAR(clear_module_state->__pyx_kp_u_default);
  Py_CLEAR(clear_module_state->__pyx_n_s_defaultLaunchValue);
  Py_CLEAR(clear_module_state->__pyx_n_s_default_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_default__ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_dependencies);
  Py_CLEAR(clear_module_state->__pyx_n_s_dependencyData);
  Py_CLEAR(clear_module_state->__pyx_kp_u_depth);
  Py_CLEAR(clear_module_state->__pyx_n_s_depth_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_depth_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_desc);
  Py_CLEAR(clear_module_state->__pyx_n_s_destroy);
  Py_CLEAR(clear_module_state->__pyx_n_s_dev);
  Py_CLEAR(clear_module_state->__pyx_kp_u_devNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_devNode_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_devNode_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_devPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_devPtr_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_devPtr_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_device);
  Py_CLEAR(clear_module_state->__pyx_kp_u_deviceBitMask);
  Py_CLEAR(clear_module_state->__pyx_n_s_deviceBitMask_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_deviceBitMask_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_deviceList);
  Py_CLEAR(clear_module_state->__pyx_n_s_deviceNodeMask);
  Py_CLEAR(clear_module_state->__pyx_kp_u_deviceUpdatable);
  Py_CLEAR(clear_module_state->__pyx_kp_u_deviceUpdatableKernelNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_deviceUpdatableKernelNode_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_deviceUpdatableKernelNode_ValueE);
  Py_CLEAR(clear_module_state->__pyx_n_s_deviceUpdatable_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_deviceUpdatable_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_dict);
  Py_CLEAR(clear_module_state->__pyx_n_s_dim);
  Py_CLEAR(clear_module_state->__pyx_kp_u_disable);
  Py_CLEAR(clear_module_state->__pyx_n_s_doc);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_dptr_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dptr_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_dptr_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_driverVersion);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dst);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_dstArray_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstArray_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstContext);
  Py_CLEAR(clear_module_state->__pyx_n_s_dstContext_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstContext_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstDevice);
  Py_CLEAR(clear_module_state->__pyx_n_s_dstDevice_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstDevice_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstHeight);
  Py_CLEAR(clear_module_state->__pyx_n_s_dstHeight_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstHeight_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstHost);
  Py_CLEAR(clear_module_state->__pyx_n_s_dstHost_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstHost_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstLOD);
  Py_CLEAR(clear_module_state->__pyx_n_s_dstLOD_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstLOD_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstMemoryType);
  Py_CLEAR(clear_module_state->__pyx_n_s_dstMemoryType_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstMemoryType_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_dstOffset);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstPitch);
  Py_CLEAR(clear_module_state->__pyx_n_s_dstPitch_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstPitch_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstXInBytes);
  Py_CLEAR(clear_module_state->__pyx_n_s_dstXInBytes_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstXInBytes_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstY);
  Py_CLEAR(clear_module_state->__pyx_n_s_dstY_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstY_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstZ);
  Py_CLEAR(clear_module_state->__pyx_n_s_dstZ_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dstZ_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_dst_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_dst_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_dynamicSMemSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_dynamicSmemSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_edgeData);
  Py_CLEAR(clear_module_state->__pyx_kp_u_eglColorFormat);
  Py_CLEAR(clear_module_state->__pyx_n_s_eglColorFormat_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_eglColorFormat_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_eglFrame);
  Py_CLEAR(clear_module_state->__pyx_n_s_eglSync);
  Py_CLEAR(clear_module_state->__pyx_n_s_eglframe);
  Py_CLEAR(clear_module_state->__pyx_kp_u_elementSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_elementSize_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_elementSize_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_elementStrides);
  Py_CLEAR(clear_module_state->__pyx_kp_u_enable);
  Py_CLEAR(clear_module_state->__pyx_n_s_enum);
  Py_CLEAR(clear_module_state->__pyx_n_s_enumerate);
  Py_CLEAR(clear_module_state->__pyx_n_s_err);
  Py_CLEAR(clear_module_state->__pyx_n_s_error);
  Py_CLEAR(clear_module_state->__pyx_kp_u_errorFromNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_errorFromNode_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_errorFromNode_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_errorNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_errorNode_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_errorNode_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_event);
  Py_CLEAR(clear_module_state->__pyx_kp_u_eventRecord);
  Py_CLEAR(clear_module_state->__pyx_n_s_eventRecord_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_eventRecord_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_eventWait);
  Py_CLEAR(clear_module_state->__pyx_n_s_eventWait_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_eventWait_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_event_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_event_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_event_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_extMem);
  Py_CLEAR(clear_module_state->__pyx_n_s_extMem_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_extSem);
  Py_CLEAR(clear_module_state->__pyx_kp_u_extSemArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_extSemArray_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_extSemArray_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_extSemSignal);
  Py_CLEAR(clear_module_state->__pyx_n_s_extSemSignal_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_extSemSignal_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_extSemWait);
  Py_CLEAR(clear_module_state->__pyx_n_s_extSemWait_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_extSemWait_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_extSem_out);
  Py_CLEAR(clear_module_state->__pyx_kp_u_extentDepth);
  Py_CLEAR(clear_module_state->__pyx_n_s_extentDepth_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_extentDepth_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_extentHeight);
  Py_CLEAR(clear_module_state->__pyx_n_s_extentHeight_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_extentHeight_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_extentWidth);
  Py_CLEAR(clear_module_state->__pyx_n_s_extentWidth_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_extentWidth_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_extra);
  Py_CLEAR(clear_module_state->__pyx_n_s_extra_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_extra_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_f);
  Py_CLEAR(clear_module_state->__pyx_n_s_fatCubin);
  Py_CLEAR(clear_module_state->__pyx_kp_u_fd);
  Py_CLEAR(clear_module_state->__pyx_n_s_fd_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_fd_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_fence);
  Py_CLEAR(clear_module_state->__pyx_n_s_fence_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_fence_3);
  Py_CLEAR(clear_module_state->__pyx_kp_u_fence_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_fileName);
  Py_CLEAR(clear_module_state->__pyx_kp_u_filterMode);
  Py_CLEAR(clear_module_state->__pyx_n_s_filterMode_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_filterMode_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_firstLayer);
  Py_CLEAR(clear_module_state->__pyx_n_s_firstLayer_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_firstLayer_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_firstMipmapLevel);
  Py_CLEAR(clear_module_state->__pyx_n_s_firstMipmapLevel_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_firstMipmapLevel_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_flags);
  Py_CLEAR(clear_module_state->__pyx_n_s_flags_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_flags_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_flushRemoteWrites);
  Py_CLEAR(clear_module_state->__pyx_n_s_flushRemoteWrites_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_flushRemoteWrites_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_fm);
  Py_CLEAR(clear_module_state->__pyx_n_s_fmt);
  Py_CLEAR(clear_module_state->__pyx_kp_u_fn);
  Py_CLEAR(clear_module_state->__pyx_n_s_fn_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_fn_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_fname);
  Py_CLEAR(clear_module_state->__pyx_kp_u_format);
  Py_CLEAR(clear_module_state->__pyx_n_s_format_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_format_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_fptr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_frame);
  Py_CLEAR(clear_module_state->__pyx_kp_u_frameType);
  Py_CLEAR(clear_module_state->__pyx_n_s_frameType_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_frameType_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_frame_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_frame_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_free);
  Py_CLEAR(clear_module_state->__pyx_n_s_free_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_free_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_from);
  Py_CLEAR(clear_module_state->__pyx_kp_u_from_port);
  Py_CLEAR(clear_module_state->__pyx_n_s_from_port_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_from_port_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_func);
  Py_CLEAR(clear_module_state->__pyx_n_s_func_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_func_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_function);
  Py_CLEAR(clear_module_state->__pyx_kp_u_functionTable);
  Py_CLEAR(clear_module_state->__pyx_n_s_functionTable_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_functionTable_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_functionWindowSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_functionWindowSize_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_functionWindowSize_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_function_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_function_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_gc);
  Py_CLEAR(clear_module_state->__pyx_n_s_genexpr);
  Py_CLEAR(clear_module_state->__pyx_n_s_getPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_getstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_globalAddress);
  Py_CLEAR(clear_module_state->__pyx_n_s_globalDim);
  Py_CLEAR(clear_module_state->__pyx_n_s_globalStrides);
  Py_CLEAR(clear_module_state->__pyx_kp_u_gpuDirectRDMACapable);
  Py_CLEAR(clear_module_state->__pyx_n_s_gpuDirectRDMACapable_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_gpuDirectRDMACapable_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_granularity);
  Py_CLEAR(clear_module_state->__pyx_kp_u_graph);
  Py_CLEAR(clear_module_state->__pyx_n_s_graph_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_graph_3);
  Py_CLEAR(clear_module_state->__pyx_kp_u_graph_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_graph_length);
  Py_CLEAR(clear_module_state->__pyx_n_s_graph_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_greatestPriority);
  Py_CLEAR(clear_module_state->__pyx_kp_u_gridDimX);
  Py_CLEAR(clear_module_state->__pyx_n_s_gridDimX_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_gridDimX_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_gridDimY);
  Py_CLEAR(clear_module_state->__pyx_n_s_gridDimY_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_gridDimY_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_gridDimZ);
  Py_CLEAR(clear_module_state->__pyx_n_s_gridDimZ_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_gridDimZ_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_grid_height);
  Py_CLEAR(clear_module_state->__pyx_n_s_grid_width);
  Py_CLEAR(clear_module_state->__pyx_kp_u_hArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_hArray_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_hArray_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_hClonedGraph);
  Py_CLEAR(clear_module_state->__pyx_n_s_hCtx);
  Py_CLEAR(clear_module_state->__pyx_n_s_hEnd);
  Py_CLEAR(clear_module_state->__pyx_kp_u_hErrNode_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_hErrNode_out_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_hErrNode_out_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_hEvent);
  Py_CLEAR(clear_module_state->__pyx_n_s_hGraph);
  Py_CLEAR(clear_module_state->__pyx_n_s_hGraphExec);
  Py_CLEAR(clear_module_state->__pyx_kp_u_hMipmappedArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_hMipmappedArray_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_hMipmappedArray_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_hNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_hOriginalNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_hStart);
  Py_CLEAR(clear_module_state->__pyx_kp_u_hStream);
  Py_CLEAR(clear_module_state->__pyx_n_s_hStream_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_hStream_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_hSurfRef);
  Py_CLEAR(clear_module_state->__pyx_n_s_hTexRef);
  Py_CLEAR(clear_module_state->__pyx_kp_u_hUploadStream);
  Py_CLEAR(clear_module_state->__pyx_n_s_hUploadStream_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_hUploadStream_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_handle);
  Py_CLEAR(clear_module_state->__pyx_n_s_handleType);
  Py_CLEAR(clear_module_state->__pyx_kp_u_handleTypes);
  Py_CLEAR(clear_module_state->__pyx_n_s_handleTypes_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_handleTypes_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_handle_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_handle_3);
  Py_CLEAR(clear_module_state->__pyx_kp_u_handle_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_height);
  Py_CLEAR(clear_module_state->__pyx_n_s_height_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_height_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_hex);
  Py_CLEAR(clear_module_state->__pyx_n_s_hfunc);
  Py_CLEAR(clear_module_state->__pyx_kp_u_hitProp);
  Py_CLEAR(clear_module_state->__pyx_n_s_hitProp_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_hitProp_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_hitRatio);
  Py_CLEAR(clear_module_state->__pyx_n_s_hitRatio_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_hitRatio_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_hmod);
  Py_CLEAR(clear_module_state->__pyx_kp_u_host);
  Py_CLEAR(clear_module_state->__pyx_n_s_host_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_host_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_id);
  Py_CLEAR(clear_module_state->__pyx_n_s_id_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_id_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_id_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_idx);
  Py_CLEAR(clear_module_state->__pyx_n_s_image);
  Py_CLEAR(clear_module_state->__pyx_n_s_import);
  Py_CLEAR(clear_module_state->__pyx_n_s_index);
  Py_CLEAR(clear_module_state->__pyx_kp_u_info);
  Py_CLEAR(clear_module_state->__pyx_n_s_info_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_info_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_init_subclass);
  Py_CLEAR(clear_module_state->__pyx_n_s_init_value);
  Py_CLEAR(clear_module_state->__pyx_n_s_initialRefcount);
  Py_CLEAR(clear_module_state->__pyx_n_s_initializing);
  Py_CLEAR(clear_module_state->__pyx_n_s_input);
  Py_CLEAR(clear_module_state->__pyx_n_s_instantiateParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_int);
  Py_CLEAR(clear_module_state->__pyx_n_s_interleave);
  Py_CLEAR(clear_module_state->__pyx_kp_u_internal_padding);
  Py_CLEAR(clear_module_state->__pyx_n_s_internal_padding_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_internal_padding_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_internal_padding_length_must_be);
  Py_CLEAR(clear_module_state->__pyx_n_s_isEnabled);
  Py_CLEAR(clear_module_state->__pyx_n_s_is_coroutine);
  Py_CLEAR(clear_module_state->__pyx_n_s_is_getter);
  Py_CLEAR(clear_module_state->__pyx_kp_u_isenabled);
  Py_CLEAR(clear_module_state->__pyx_n_s_jitOptions);
  Py_CLEAR(clear_module_state->__pyx_n_s_jitOptionsValues);
  Py_CLEAR(clear_module_state->__pyx_kp_u_kern);
  Py_CLEAR(clear_module_state->__pyx_n_s_kern_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_kern_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_kernel);
  Py_CLEAR(clear_module_state->__pyx_kp_u_kernelParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_kernelParams_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_kernelParams_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_kernel_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_kernel_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_key);
  Py_CLEAR(clear_module_state->__pyx_n_s_key_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_key_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_keyedMutex);
  Py_CLEAR(clear_module_state->__pyx_n_s_keyedMutex_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_keyedMutex_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_l2Promotion);
  Py_CLEAR(clear_module_state->__pyx_kp_u_lastLayer);
  Py_CLEAR(clear_module_state->__pyx_n_s_lastLayer_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_lastLayer_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_lastMipmapLevel);
  Py_CLEAR(clear_module_state->__pyx_n_s_lastMipmapLevel_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_lastMipmapLevel_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_launchCompletionEvent);
  Py_CLEAR(clear_module_state->__pyx_n_s_launchCompletionEvent_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_launchCompletionEvent_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_launchParamsList);
  Py_CLEAR(clear_module_state->__pyx_kp_u_layer);
  Py_CLEAR(clear_module_state->__pyx_n_s_layer_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_layer_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_leastPriority);
  Py_CLEAR(clear_module_state->__pyx_n_s_length);
  Py_CLEAR(clear_module_state->__pyx_kp_u_level);
  Py_CLEAR(clear_module_state->__pyx_n_s_level_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_level_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_lib);
  Py_CLEAR(clear_module_state->__pyx_n_s_library);
  Py_CLEAR(clear_module_state->__pyx_n_s_libraryOptionValues);
  Py_CLEAR(clear_module_state->__pyx_n_s_libraryOptions);
  Py_CLEAR(clear_module_state->__pyx_n_s_limit);
  Py_CLEAR(clear_module_state->__pyx_kp_u_linear);
  Py_CLEAR(clear_module_state->__pyx_n_s_linear_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_linear_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_location);
  Py_CLEAR(clear_module_state->__pyx_n_s_location_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_location_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_luid);
  Py_CLEAR(clear_module_state->__pyx_n_s_main);
  Py_CLEAR(clear_module_state->__pyx_n_s_major);
  Py_CLEAR(clear_module_state->__pyx_n_s_map);
  Py_CLEAR(clear_module_state->__pyx_n_s_mapInfoList);
  Py_CLEAR(clear_module_state->__pyx_n_s_maxAniso);
  Py_CLEAR(clear_module_state->__pyx_kp_u_maxAnisotropy);
  Py_CLEAR(clear_module_state->__pyx_n_s_maxAnisotropy_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_maxAnisotropy_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_maxGridSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_maxGridSize_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_maxGridSize_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_maxMipmapLevelClamp);
  Py_CLEAR(clear_module_state->__pyx_n_s_maxMipmapLevelClamp_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_maxMipmapLevelClamp_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_maxSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_maxSize_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_maxSize_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_maxThreadsDim);
  Py_CLEAR(clear_module_state->__pyx_n_s_maxThreadsDim_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_maxThreadsDim_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_maxThreadsPerBlock);
  Py_CLEAR(clear_module_state->__pyx_n_s_maxThreadsPerBlock_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_maxThreadsPerBlock_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_maxWidthInElements);
  Py_CLEAR(clear_module_state->__pyx_n_s_mcHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_mcOffset);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_memHandleDesc);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memHandleType);
  Py_CLEAR(clear_module_state->__pyx_n_s_memHandleType_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memHandleType_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_memHandle_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memHandle_3);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memHandle_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_memOffset);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memOp);
  Py_CLEAR(clear_module_state->__pyx_n_s_memOp_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memOp_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memOperationType);
  Py_CLEAR(clear_module_state->__pyx_n_s_memOperationType_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memOperationType_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memPitch);
  Py_CLEAR(clear_module_state->__pyx_n_s_memPitch_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memPitch_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_memPool);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memSyncDomain);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memSyncDomainMap);
  Py_CLEAR(clear_module_state->__pyx_n_s_memSyncDomainMap_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memSyncDomainMap_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_memSyncDomain_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memSyncDomain_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memcpy);
  Py_CLEAR(clear_module_state->__pyx_n_s_memcpy_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memcpy_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memoryBarrier);
  Py_CLEAR(clear_module_state->__pyx_n_s_memoryBarrier_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memoryBarrier_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_memoryRequirements);
  Py_CLEAR(clear_module_state->__pyx_n_s_memptr);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memset);
  Py_CLEAR(clear_module_state->__pyx_n_s_memsetParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_memset_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_memset_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_metaclass);
  Py_CLEAR(clear_module_state->__pyx_n_s_minBytesToKeep);
  Py_CLEAR(clear_module_state->__pyx_n_s_minCount);
  Py_CLEAR(clear_module_state->__pyx_n_s_minGridSize);
  Py_CLEAR(clear_module_state->__pyx_kp_u_minMipmapLevelClamp);
  Py_CLEAR(clear_module_state->__pyx_n_s_minMipmapLevelClamp_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_minMipmapLevelClamp_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_minor);
  Py_CLEAR(clear_module_state->__pyx_n_s_mipLevel);
  Py_CLEAR(clear_module_state->__pyx_kp_u_mipmap);
  Py_CLEAR(clear_module_state->__pyx_n_s_mipmapDesc);
  Py_CLEAR(clear_module_state->__pyx_kp_u_mipmapFilterMode);
  Py_CLEAR(clear_module_state->__pyx_n_s_mipmapFilterMode_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_mipmapFilterMode_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_mipmapLevelBias);
  Py_CLEAR(clear_module_state->__pyx_n_s_mipmapLevelBias_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_mipmapLevelBias_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_mipmap_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_mipmap_3);
  Py_CLEAR(clear_module_state->__pyx_kp_u_mipmap_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_miptail);
  Py_CLEAR(clear_module_state->__pyx_kp_u_miptailFirstLevel);
  Py_CLEAR(clear_module_state->__pyx_n_s_miptailFirstLevel_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_miptailFirstLevel_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_miptailSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_miptailSize_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_miptailSize_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_miptail_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_miptail_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_missProp);
  Py_CLEAR(clear_module_state->__pyx_n_s_missProp_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_missProp_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_mod);
  Py_CLEAR(clear_module_state->__pyx_n_s_mode);
  Py_CLEAR(clear_module_state->__pyx_n_s_module);
  Py_CLEAR(clear_module_state->__pyx_n_s_module_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_mro_entries);
  Py_CLEAR(clear_module_state->__pyx_kp_u_name);
  Py_CLEAR(clear_module_state->__pyx_n_s_name_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_name_3);
  Py_CLEAR(clear_module_state->__pyx_kp_u_name_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_nbGroups);
  Py_CLEAR(clear_module_state->__pyx_n_s_nbResources);
  Py_CLEAR(clear_module_state->__pyx_kp_s_no_default___reduce___due_to_non);
  Py_CLEAR(clear_module_state->__pyx_n_s_nodeParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_nodeParams_out);
  Py_CLEAR(clear_module_state->__pyx_kp_u_not_enough_values_found_during_a);
  Py_CLEAR(clear_module_state->__pyx_n_s_numAttributes);
  Py_CLEAR(clear_module_state->__pyx_kp_u_numAttrs);
  Py_CLEAR(clear_module_state->__pyx_n_s_numAttrs_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_numAttrs_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_numBlocks);
  Py_CLEAR(clear_module_state->__pyx_kp_u_numChannels);
  Py_CLEAR(clear_module_state->__pyx_n_s_numChannels_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_numChannels_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_numClusters);
  Py_CLEAR(clear_module_state->__pyx_n_s_numDependencies);
  Py_CLEAR(clear_module_state->__pyx_n_s_numDependencies_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_numDependentNodes);
  Py_CLEAR(clear_module_state->__pyx_kp_u_numDevices);
  Py_CLEAR(clear_module_state->__pyx_n_s_numDevices_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_numDevices_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_numEdges);
  Py_CLEAR(clear_module_state->__pyx_kp_u_numExtSems);
  Py_CLEAR(clear_module_state->__pyx_n_s_numExtSems_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_numExtSems_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_numFunctions);
  Py_CLEAR(clear_module_state->__pyx_n_s_numJitOptions);
  Py_CLEAR(clear_module_state->__pyx_n_s_numKernels);
  Py_CLEAR(clear_module_state->__pyx_kp_u_numLevels);
  Py_CLEAR(clear_module_state->__pyx_n_s_numLevels_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_numLevels_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_numLibraryOptions);
  Py_CLEAR(clear_module_state->__pyx_n_s_numMipmapLevels);
  Py_CLEAR(clear_module_state->__pyx_n_s_numNodes);
  Py_CLEAR(clear_module_state->__pyx_n_s_numOptions);
  Py_CLEAR(clear_module_state->__pyx_n_s_numParams);
  Py_CLEAR(clear_module_state->__pyx_n_s_numRootNodes);
  Py_CLEAR(clear_module_state->__pyx_kp_u_num_bytes);
  Py_CLEAR(clear_module_state->__pyx_n_s_num_bytes_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_num_bytes_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_numbytes);
  Py_CLEAR(clear_module_state->__pyx_kp_u_nvSciBufObject);
  Py_CLEAR(clear_module_state->__pyx_n_s_nvSciBufObject_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_nvSciBufObject_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_nvSciSync);
  Py_CLEAR(clear_module_state->__pyx_n_s_nvSciSyncAttrList);
  Py_CLEAR(clear_module_state->__pyx_kp_u_nvSciSyncObj);
  Py_CLEAR(clear_module_state->__pyx_n_s_nvSciSyncObj_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_nvSciSyncObj_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_nvSciSync_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_nvSciSync_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_obj);
  Py_CLEAR(clear_module_state->__pyx_n_s_objType);
  Py_CLEAR(clear_module_state->__pyx_n_s_object);
  Py_CLEAR(clear_module_state->__pyx_n_s_object_out);
  Py_CLEAR(clear_module_state->__pyx_kp_u_offset);
  Py_CLEAR(clear_module_state->__pyx_kp_u_offsetX);
  Py_CLEAR(clear_module_state->__pyx_n_s_offsetX_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_offsetX_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_offsetY);
  Py_CLEAR(clear_module_state->__pyx_n_s_offsetY_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_offsetY_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_offsetZ);
  Py_CLEAR(clear_module_state->__pyx_n_s_offsetZ_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_offsetZ_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_offset_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_offset_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_oobFill);
  Py_CLEAR(clear_module_state->__pyx_kp_u_opaque);
  Py_CLEAR(clear_module_state->__pyx_n_s_opaque_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_opaque_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_operation);
  Py_CLEAR(clear_module_state->__pyx_n_s_operation_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_operation_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_option);
  Py_CLEAR(clear_module_state->__pyx_n_s_optionValues);
  Py_CLEAR(clear_module_state->__pyx_n_s_options);
  Py_CLEAR(clear_module_state->__pyx_n_s_ordinal);
  Py_CLEAR(clear_module_state->__pyx_n_s_originalGraph);
  Py_CLEAR(clear_module_state->__pyx_n_s_osHandle);
  Py_CLEAR(clear_module_state->__pyx_kp_u_overBudget);
  Py_CLEAR(clear_module_state->__pyx_n_s_overBudget_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_overBudget_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_oversize);
  Py_CLEAR(clear_module_state->__pyx_n_s_oversize_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_oversize_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_oversize_length_must_be_48_is);
  Py_CLEAR(clear_module_state->__pyx_n_s_p);
  Py_CLEAR(clear_module_state->__pyx_kp_u_p2pToken);
  Py_CLEAR(clear_module_state->__pyx_n_s_p2pToken_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_p2pToken_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_pAllocateArray);
  Py_CLEAR(clear_module_state->__pyx_kp_u_pArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_pArrayDescriptor);
  Py_CLEAR(clear_module_state->__pyx_n_s_pArray_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_pArray_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_pBorderColor);
  Py_CLEAR(clear_module_state->__pyx_n_s_pConfig);
  Py_CLEAR(clear_module_state->__pyx_n_s_pContext);
  Py_CLEAR(clear_module_state->__pyx_n_s_pCopy);
  Py_CLEAR(clear_module_state->__pyx_n_s_pCtx);
  Py_CLEAR(clear_module_state->__pyx_n_s_pCudaDeviceCount);
  Py_CLEAR(clear_module_state->__pyx_n_s_pCudaResource);
  Py_CLEAR(clear_module_state->__pyx_n_s_pDevPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_pDevice);
  Py_CLEAR(clear_module_state->__pyx_n_s_pExecAffinity);
  Py_CLEAR(clear_module_state->__pyx_n_s_pExportTableId);
  Py_CLEAR(clear_module_state->__pyx_n_s_pFlags);
  Py_CLEAR(clear_module_state->__pyx_n_s_pFormat);
  Py_CLEAR(clear_module_state->__pyx_n_s_pFunc);
  Py_CLEAR(clear_module_state->__pyx_n_s_pHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_pHandle_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_pKernel);
  Py_CLEAR(clear_module_state->__pyx_n_s_pLevelArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_pMilliseconds);
  Py_CLEAR(clear_module_state->__pyx_n_s_pMipmappedArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_pMipmappedArrayDesc);
  Py_CLEAR(clear_module_state->__pyx_n_s_pMod);
  Py_CLEAR(clear_module_state->__pyx_n_s_pNumChannels);
  Py_CLEAR(clear_module_state->__pyx_kp_u_pPitch);
  Py_CLEAR(clear_module_state->__pyx_n_s_pPitch_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_pPitch_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_pPlaneArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_pResDesc);
  Py_CLEAR(clear_module_state->__pyx_n_s_pResViewDesc);
  Py_CLEAR(clear_module_state->__pyx_n_s_pSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_pStr);
  Py_CLEAR(clear_module_state->__pyx_n_s_pStream);
  Py_CLEAR(clear_module_state->__pyx_n_s_pSurfObject);
  Py_CLEAR(clear_module_state->__pyx_n_s_pSurfRef);
  Py_CLEAR(clear_module_state->__pyx_n_s_pTexDesc);
  Py_CLEAR(clear_module_state->__pyx_n_s_pTexObject);
  Py_CLEAR(clear_module_state->__pyx_n_s_pTexRef);
  Py_CLEAR(clear_module_state->__pyx_kp_u_pad);
  Py_CLEAR(clear_module_state->__pyx_n_s_pad_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_pad_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_pad_length_must_be_64_is);
  Py_CLEAR(clear_module_state->__pyx_n_s_paddr);
  Py_CLEAR(clear_module_state->__pyx_n_s_pam);
  Py_CLEAR(clear_module_state->__pyx_kp_u_param);
  Py_CLEAR(clear_module_state->__pyx_kp_u_paramArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_paramArray_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_paramArray_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_paramIndex);
  Py_CLEAR(clear_module_state->__pyx_n_s_paramOffset);
  Py_CLEAR(clear_module_state->__pyx_n_s_paramSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_param_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_param_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_params);
  Py_CLEAR(clear_module_state->__pyx_kp_u_paramsArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_paramsArray_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_paramsArray_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_params_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_params_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_params_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_parray);
  Py_CLEAR(clear_module_state->__pyx_n_s_path);
  Py_CLEAR(clear_module_state->__pyx_n_s_pbase);
  Py_CLEAR(clear_module_state->__pyx_n_s_pbias);
  Py_CLEAR(clear_module_state->__pyx_n_s_pblockSizeToDynamicSMemSize);
  Py_CLEAR(clear_module_state->__pyx_n_s_pbuffer);
  Py_CLEAR(clear_module_state->__pyx_n_s_pcallback);
  Py_CLEAR(clear_module_state->__pyx_n_s_pcallbackFunc);
  Py_CLEAR(clear_module_state->__pyx_n_s_pchannelsPerPixel);
  Py_CLEAR(clear_module_state->__pyx_n_s_pchildGraph);
  Py_CLEAR(clear_module_state->__pyx_n_s_pciBusId);
  Py_CLEAR(clear_module_state->__pyx_n_s_pconfig);
  Py_CLEAR(clear_module_state->__pyx_n_s_pconn);
  Py_CLEAR(clear_module_state->__pyx_n_s_pctx);
  Py_CLEAR(clear_module_state->__pyx_n_s_pdesc);
  Py_CLEAR(clear_module_state->__pyx_n_s_pdestroy);
  Py_CLEAR(clear_module_state->__pyx_n_s_pdev);
  Py_CLEAR(clear_module_state->__pyx_n_s_pdevPtr);
  Py_CLEAR(clear_module_state->__pyx_n_s_pdevice);
  Py_CLEAR(clear_module_state->__pyx_n_s_pdptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_pdst);
  Py_CLEAR(clear_module_state->__pyx_n_s_pdstArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_pdstContext);
  Py_CLEAR(clear_module_state->__pyx_n_s_pdstDevice);
  Py_CLEAR(clear_module_state->__pyx_n_s_peerContext);
  Py_CLEAR(clear_module_state->__pyx_n_s_peerDev);
  Py_CLEAR(clear_module_state->__pyx_n_s_peglSync);
  Py_CLEAR(clear_module_state->__pyx_n_s_pevent);
  Py_CLEAR(clear_module_state->__pyx_n_s_pextMem);
  Py_CLEAR(clear_module_state->__pyx_n_s_pextSem);
  Py_CLEAR(clear_module_state->__pyx_n_s_pf);
  Py_CLEAR(clear_module_state->__pyx_n_s_pflags);
  Py_CLEAR(clear_module_state->__pyx_n_s_pfm);
  Py_CLEAR(clear_module_state->__pyx_n_s_pfn);
  Py_CLEAR(clear_module_state->__pyx_n_s_pformat);
  Py_CLEAR(clear_module_state->__pyx_n_s_pfunc);
  Py_CLEAR(clear_module_state->__pyx_n_s_pfunction);
  Py_CLEAR(clear_module_state->__pyx_n_s_pgraph);
  Py_CLEAR(clear_module_state->__pyx_n_s_phArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_phClonedGraph);
  Py_CLEAR(clear_module_state->__pyx_n_s_phCtx);
  Py_CLEAR(clear_module_state->__pyx_n_s_phDesc);
  Py_CLEAR(clear_module_state->__pyx_n_s_phEnd);
  Py_CLEAR(clear_module_state->__pyx_n_s_phEvent);
  Py_CLEAR(clear_module_state->__pyx_n_s_phGraph);
  Py_CLEAR(clear_module_state->__pyx_n_s_phGraphClone);
  Py_CLEAR(clear_module_state->__pyx_n_s_phGraphExec);
  Py_CLEAR(clear_module_state->__pyx_n_s_phGraphNode);
  Py_CLEAR(clear_module_state->__pyx_kp_u_phGraph_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_phGraph_out_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_phGraph_out_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_phMipmappedArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_phNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_phOriginalNode);
  Py_CLEAR(clear_module_state->__pyx_n_s_phStart);
  Py_CLEAR(clear_module_state->__pyx_n_s_phStream);
  Py_CLEAR(clear_module_state->__pyx_n_s_phSurfRef);
  Py_CLEAR(clear_module_state->__pyx_n_s_phTexRef);
  Py_CLEAR(clear_module_state->__pyx_n_s_phandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_pheight);
  Py_CLEAR(clear_module_state->__pyx_n_s_phfunc);
  Py_CLEAR(clear_module_state->__pyx_n_s_phmod);
  Py_CLEAR(clear_module_state->__pyx_n_s_pi);
  Py_CLEAR(clear_module_state->__pyx_n_s_pimage);
  Py_CLEAR(clear_module_state->__pyx_kp_u_pitch);
  Py_CLEAR(clear_module_state->__pyx_kp_u_pitch2D);
  Py_CLEAR(clear_module_state->__pyx_n_s_pitch2D_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_pitch2D_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_pitchInBytes);
  Py_CLEAR(clear_module_state->__pyx_n_s_pitchInBytes_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_pitchInBytes_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_pitch_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_pitch_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_pixelBoxLowerCorner);
  Py_CLEAR(clear_module_state->__pyx_n_s_pixelBoxUpperCorner);
  Py_CLEAR(clear_module_state->__pyx_n_s_pixelsPerColumn);
  Py_CLEAR(clear_module_state->__pyx_n_s_pkernel);
  Py_CLEAR(clear_module_state->__pyx_kp_u_planeCount);
  Py_CLEAR(clear_module_state->__pyx_n_s_planeCount_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_planeCount_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_planeIdx);
  Py_CLEAR(clear_module_state->__pyx_n_s_plib);
  Py_CLEAR(clear_module_state->__pyx_n_s_plibrary);
  Py_CLEAR(clear_module_state->__pyx_n_s_pmaxAniso);
  Py_CLEAR(clear_module_state->__pyx_n_s_pmaxMipmapLevelClamp);
  Py_CLEAR(clear_module_state->__pyx_n_s_pmcHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_pmemHandle);
  Py_CLEAR(clear_module_state->__pyx_n_s_pmemPool);
  Py_CLEAR(clear_module_state->__pyx_n_s_pmemptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_pminMipmapLevelClamp);
  Py_CLEAR(clear_module_state->__pyx_n_s_pmipmap);
  Py_CLEAR(clear_module_state->__pyx_n_s_pmod);
  Py_CLEAR(clear_module_state->__pyx_n_s_pobject);
  Py_CLEAR(clear_module_state->__pyx_n_s_pool);
  Py_CLEAR(clear_module_state->__pyx_kp_u_poolProps);
  Py_CLEAR(clear_module_state->__pyx_n_s_poolProps_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_poolProps_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_pool_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_poriginalGraph);
  Py_CLEAR(clear_module_state->__pyx_n_s_pp);
  Py_CLEAR(clear_module_state->__pyx_n_s_ppCudaResource);
  Py_CLEAR(clear_module_state->__pyx_n_s_ppExportTable);
  Py_CLEAR(clear_module_state->__pyx_n_s_ppStream);
  Py_CLEAR(clear_module_state->__pyx_n_s_ppeerContext);
  Py_CLEAR(clear_module_state->__pyx_n_s_ppeerDev);
  Py_CLEAR(clear_module_state->__pyx_n_s_ppixelsPerColumn);
  Py_CLEAR(clear_module_state->__pyx_n_s_ppool);
  Py_CLEAR(clear_module_state->__pyx_n_s_pptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_prepare);
  Py_CLEAR(clear_module_state->__pyx_n_s_presource);
  Py_CLEAR(clear_module_state->__pyx_n_s_presources);
  Py_CLEAR(clear_module_state->__pyx_kp_u_priority);
  Py_CLEAR(clear_module_state->__pyx_n_s_priority_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_priority_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_programmaticEvent);
  Py_CLEAR(clear_module_state->__pyx_n_s_programmaticEvent_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_programmaticEvent_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_programmaticStreamSerializationA);
  Py_CLEAR(clear_module_state->__pyx_n_s_programmaticStreamSerializationA_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_programmaticStreamSerializationA_3);
  Py_CLEAR(clear_module_state->__pyx_n_s_prop);
  Py_CLEAR(clear_module_state->__pyx_n_s_psize);
  Py_CLEAR(clear_module_state->__pyx_n_s_psrc);
  Py_CLEAR(clear_module_state->__pyx_n_s_psrcArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_psrcContext);
  Py_CLEAR(clear_module_state->__pyx_n_s_psrcDevice);
  Py_CLEAR(clear_module_state->__pyx_n_s_pstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_pstream);
  Py_CLEAR(clear_module_state->__pyx_n_s_psurfObject);
  Py_CLEAR(clear_module_state->__pyx_n_s_ptarget);
  Py_CLEAR(clear_module_state->__pyx_n_s_ptensorRank);
  Py_CLEAR(clear_module_state->__pyx_n_s_ptexObject);
  Py_CLEAR(clear_module_state->__pyx_n_s_ptr);
  Py_CLEAR(clear_module_state->__pyx_n_s_ptr_2);
  Py_CLEAR(clear_module_state->__pyx_n_s_ptr_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_pvalue);
  Py_CLEAR(clear_module_state->__pyx_n_s_pvdpDevice);
  Py_CLEAR(clear_module_state->__pyx_n_s_pvdpGetProcAddress);
  Py_CLEAR(clear_module_state->__pyx_n_s_pvdpSurface);
  Py_CLEAR(clear_module_state->__pyx_n_s_pwidth);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyObj);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyattributes);
  Py_CLEAR(clear_module_state->__pyx_n_s_pydataSizes);
  Py_CLEAR(clear_module_state->__pyx_n_s_pydependencies);
  Py_CLEAR(clear_module_state->__pyx_n_s_pydependencies_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_pydependentNodes);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyedgeData);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyedgeData_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyfrom);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyfunctions);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyjitOptions);
  Py_CLEAR(clear_module_state->__pyx_n_s_pykernels);
  Py_CLEAR(clear_module_state->__pyx_n_s_pylibraryOptions);
  Py_CLEAR(clear_module_state->__pyx_n_s_pylist);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyname);
  Py_CLEAR(clear_module_state->__pyx_n_s_pynodes);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyoptionValues);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyoptions);
  Py_CLEAR(clear_module_state->__pyx_n_s_pypCudaDevices);
  Py_CLEAR(clear_module_state->__pyx_n_s_pypciBusId);
  Py_CLEAR(clear_module_state->__pyx_n_s_pypixelBoxLowerCorner);
  Py_CLEAR(clear_module_state->__pyx_n_s_pypixelBoxUpperCorner);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyresult);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyrootNodes);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyto);
  Py_CLEAR(clear_module_state->__pyx_n_s_pyx_state);
  Py_CLEAR(clear_module_state->__pyx_n_s_qualname);
  Py_CLEAR(clear_module_state->__pyx_n_s_range);
  Py_CLEAR(clear_module_state->__pyx_n_s_reduce);
  Py_CLEAR(clear_module_state->__pyx_n_s_reduce_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_reduce_ex);
  Py_CLEAR(clear_module_state->__pyx_kp_u_regsPerBlock);
  Py_CLEAR(clear_module_state->__pyx_n_s_regsPerBlock_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_regsPerBlock_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_remaining);
  Py_CLEAR(clear_module_state->__pyx_kp_u_remote);
  Py_CLEAR(clear_module_state->__pyx_n_s_remote_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_remote_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_requestedHandleTypes);
  Py_CLEAR(clear_module_state->__pyx_n_s_requestedHandleTypes_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_requestedHandleTypes_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_res);
  Py_CLEAR(clear_module_state->__pyx_kp_u_resType);
  Py_CLEAR(clear_module_state->__pyx_n_s_resType_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_resType_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_res_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_res_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_reserved);
  Py_CLEAR(clear_module_state->__pyx_kp_u_reserved0);
  Py_CLEAR(clear_module_state->__pyx_n_s_reserved0_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_reserved0_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_reserved1);
  Py_CLEAR(clear_module_state->__pyx_n_s_reserved1_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_reserved1_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_reserved2);
  Py_CLEAR(clear_module_state->__pyx_n_s_reserved2_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_reserved2_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_reserved_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_reserved_3);
  Py_CLEAR(clear_module_state->__pyx_kp_u_reserved_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_reserved_length_must_be_4_is);
  Py_CLEAR(clear_module_state->__pyx_kp_u_reserved_length_must_be_56_is);
  Py_CLEAR(clear_module_state->__pyx_kp_u_reserved_length_must_be_5_is);
  Py_CLEAR(clear_module_state->__pyx_kp_u_reserved_length_must_be_64_is);
  Py_CLEAR(clear_module_state->__pyx_kp_u_resource);
  Py_CLEAR(clear_module_state->__pyx_kp_u_resourceType);
  Py_CLEAR(clear_module_state->__pyx_n_s_resourceType_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_resourceType_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_resource_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_resource_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_resources);
  Py_CLEAR(clear_module_state->__pyx_kp_u_result);
  Py_CLEAR(clear_module_state->__pyx_n_s_resultInfo);
  Py_CLEAR(clear_module_state->__pyx_n_s_result_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_result_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_result_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_result_out_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_result_out_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_scope);
  Py_CLEAR(clear_module_state->__pyx_n_s_self);
  Py_CLEAR(clear_module_state->__pyx_n_s_semHandleDesc);
  Py_CLEAR(clear_module_state->__pyx_n_s_send);
  Py_CLEAR(clear_module_state->__pyx_n_s_set_name);
  Py_CLEAR(clear_module_state->__pyx_n_s_setstate);
  Py_CLEAR(clear_module_state->__pyx_n_s_setstate_cython);
  Py_CLEAR(clear_module_state->__pyx_n_s_shHandleType);
  Py_CLEAR(clear_module_state->__pyx_n_s_shareData);
  Py_CLEAR(clear_module_state->__pyx_n_s_shareData_out);
  Py_CLEAR(clear_module_state->__pyx_kp_u_sharedMemBytes);
  Py_CLEAR(clear_module_state->__pyx_n_s_sharedMemBytes_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_sharedMemBytes_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_sharedMemPerBlock);
  Py_CLEAR(clear_module_state->__pyx_n_s_sharedMemPerBlock_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_sharedMemPerBlock_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_size);
  Py_CLEAR(clear_module_state->__pyx_kp_u_sizeInBytes);
  Py_CLEAR(clear_module_state->__pyx_n_s_sizeInBytes_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_sizeInBytes_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_sizeOut);
  Py_CLEAR(clear_module_state->__pyx_n_s_size_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_size_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_sizeof);
  Py_CLEAR(clear_module_state->__pyx_kp_u_sm);
  Py_CLEAR(clear_module_state->__pyx_kp_u_smCount);
  Py_CLEAR(clear_module_state->__pyx_n_s_smCount_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_smCount_3);
  Py_CLEAR(clear_module_state->__pyx_kp_u_smCount_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_sm_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_sm_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_sparseLevel);
  Py_CLEAR(clear_module_state->__pyx_n_s_sparseLevel_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_sparseLevel_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_sparseProperties);
  Py_CLEAR(clear_module_state->__pyx_n_s_spec);
  Py_CLEAR(clear_module_state->__pyx_n_s_splitlines);
  Py_CLEAR(clear_module_state->__pyx_n_s_src);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcArray);
  Py_CLEAR(clear_module_state->__pyx_n_s_srcArray_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcArray_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcContext);
  Py_CLEAR(clear_module_state->__pyx_n_s_srcContext_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcContext_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcDevice);
  Py_CLEAR(clear_module_state->__pyx_n_s_srcDevice_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcDevice_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcHeight);
  Py_CLEAR(clear_module_state->__pyx_n_s_srcHeight_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcHeight_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcHost);
  Py_CLEAR(clear_module_state->__pyx_n_s_srcHost_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcHost_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcLOD);
  Py_CLEAR(clear_module_state->__pyx_n_s_srcLOD_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcLOD_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcMemoryType);
  Py_CLEAR(clear_module_state->__pyx_n_s_srcMemoryType_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcMemoryType_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_srcOffset);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcPitch);
  Py_CLEAR(clear_module_state->__pyx_n_s_srcPitch_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcPitch_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcXInBytes);
  Py_CLEAR(clear_module_state->__pyx_n_s_srcXInBytes_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcXInBytes_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcY);
  Py_CLEAR(clear_module_state->__pyx_n_s_srcY_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcY_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcZ);
  Py_CLEAR(clear_module_state->__pyx_n_s_srcZ_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_srcZ_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_state);
  Py_CLEAR(clear_module_state->__pyx_n_s_stateOut);
  Py_CLEAR(clear_module_state->__pyx_n_s_stream);
  Py_CLEAR(clear_module_state->__pyx_n_s_streamId);
  Py_CLEAR(clear_module_state->__pyx_kp_s_stringsource);
  Py_CLEAR(clear_module_state->__pyx_kp_u_subresource);
  Py_CLEAR(clear_module_state->__pyx_kp_u_subresourceType);
  Py_CLEAR(clear_module_state->__pyx_n_s_subresourceType_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_subresourceType_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_subresource_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_subresource_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_super);
  Py_CLEAR(clear_module_state->__pyx_n_s_surfObject);
  Py_CLEAR(clear_module_state->__pyx_n_s_swizzle);
  Py_CLEAR(clear_module_state->__pyx_n_s_symbol);
  Py_CLEAR(clear_module_state->__pyx_n_s_symbolStatus);
  Py_CLEAR(clear_module_state->__pyx_kp_u_syncPolicy);
  Py_CLEAR(clear_module_state->__pyx_n_s_syncPolicy_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_syncPolicy_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_target);
  Py_CLEAR(clear_module_state->__pyx_n_s_tensorDataType);
  Py_CLEAR(clear_module_state->__pyx_n_s_tensorMap);
  Py_CLEAR(clear_module_state->__pyx_n_s_tensorRank);
  Py_CLEAR(clear_module_state->__pyx_n_s_test);
  Py_CLEAR(clear_module_state->__pyx_n_s_texObject);
  Py_CLEAR(clear_module_state->__pyx_kp_u_textureAlign);
  Py_CLEAR(clear_module_state->__pyx_n_s_textureAlign_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_textureAlign_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_texunit);
  Py_CLEAR(clear_module_state->__pyx_n_s_throw);
  Py_CLEAR(clear_module_state->__pyx_kp_u_tileExtent);
  Py_CLEAR(clear_module_state->__pyx_n_s_tileExtent_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_tileExtent_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_timeout);
  Py_CLEAR(clear_module_state->__pyx_kp_u_timeoutMs);
  Py_CLEAR(clear_module_state->__pyx_n_s_timeoutMs_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_timeoutMs_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_to);
  Py_CLEAR(clear_module_state->__pyx_kp_u_to_port);
  Py_CLEAR(clear_module_state->__pyx_n_s_to_port_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_to_port_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_total);
  Py_CLEAR(clear_module_state->__pyx_kp_u_totalConstantMemory);
  Py_CLEAR(clear_module_state->__pyx_n_s_totalConstantMemory_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_totalConstantMemory_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_triggerAtBlockStart);
  Py_CLEAR(clear_module_state->__pyx_n_s_triggerAtBlockStart_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_triggerAtBlockStart_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_type);
  Py_CLEAR(clear_module_state->__pyx_n_s_type_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_type_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_typename);
  Py_CLEAR(clear_module_state->__pyx_n_s_typing);
  Py_CLEAR(clear_module_state->__pyx_n_s_uc);
  Py_CLEAR(clear_module_state->__pyx_n_s_ui);
  Py_CLEAR(clear_module_state->__pyx_n_s_us);
  Py_CLEAR(clear_module_state->__pyx_kp_u_usage);
  Py_CLEAR(clear_module_state->__pyx_n_s_usage_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_usage_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_useFlags);
  Py_CLEAR(clear_module_state->__pyx_kp_u_userData);
  Py_CLEAR(clear_module_state->__pyx_n_s_userData_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_userData_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_uuid);
  Py_CLEAR(clear_module_state->__pyx_kp_u_vaSpaceToken);
  Py_CLEAR(clear_module_state->__pyx_n_s_vaSpaceToken_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_vaSpaceToken_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_val);
  Py_CLEAR(clear_module_state->__pyx_n_s_val_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_val_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_value);
  Py_CLEAR(clear_module_state->__pyx_kp_u_value64);
  Py_CLEAR(clear_module_state->__pyx_n_s_value64_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_value64_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_value_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_value_3);
  Py_CLEAR(clear_module_state->__pyx_kp_u_value_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_value_out);
  Py_CLEAR(clear_module_state->__pyx_n_s_vdpDevice);
  Py_CLEAR(clear_module_state->__pyx_n_s_vdpGetProcAddress);
  Py_CLEAR(clear_module_state->__pyx_n_s_vdpSurface);
  Py_CLEAR(clear_module_state->__pyx_n_s_version);
  Py_CLEAR(clear_module_state->__pyx_n_s_voidStarHelperdata);
  Py_CLEAR(clear_module_state->__pyx_n_s_voidStarHelperjitOptionsValues);
  Py_CLEAR(clear_module_state->__pyx_n_s_voidStarHelperlibraryOptionValue);
  Py_CLEAR(clear_module_state->__pyx_n_s_voidStarHelperoptionValues);
  Py_CLEAR(clear_module_state->__pyx_kp_u_waitValue);
  Py_CLEAR(clear_module_state->__pyx_n_s_waitValue_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_waitValue_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_width);
  Py_CLEAR(clear_module_state->__pyx_n_s_width_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_width_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_win32);
  Py_CLEAR(clear_module_state->__pyx_kp_u_win32HandleMetaData);
  Py_CLEAR(clear_module_state->__pyx_n_s_win32HandleMetaData_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_win32HandleMetaData_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_win32SecurityAttributes);
  Py_CLEAR(clear_module_state->__pyx_n_s_win32SecurityAttributes_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_win32SecurityAttributes_ValueErr);
  Py_CLEAR(clear_module_state->__pyx_n_s_win32_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_win32_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_writeValue);
  Py_CLEAR(clear_module_state->__pyx_n_s_writeValue_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_writeValue_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_x);
  Py_CLEAR(clear_module_state->__pyx_n_u_x);
  Py_CLEAR(clear_module_state->__pyx_kp_u_x_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_x_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_y);
  Py_CLEAR(clear_module_state->__pyx_n_s_y_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_y_ValueError);
  Py_CLEAR(clear_module_state->__pyx_kp_u_z);
  Py_CLEAR(clear_module_state->__pyx_n_s_z_2);
  Py_CLEAR(clear_module_state->__pyx_kp_u_z_ValueError);
  Py_CLEAR(clear_module_state->__pyx_n_s_zip);
  Py_CLEAR(clear_module_state->__pyx_int_0);
  Py_CLEAR(clear_module_state->__pyx_int_1);
  Py_CLEAR(clear_module_state->__pyx_int_127);
  Py_CLEAR(clear_module_state->__pyx_int_256);
  Py_CLEAR(clear_module_state->__pyx_int_neg_129);
  Py_CLEAR(clear_module_state->__pyx_codeobj__2);
  Py_CLEAR(clear_module_state->__pyx_codeobj__3);
  Py_CLEAR(clear_module_state->__pyx_codeobj__4);
  Py_CLEAR(clear_module_state->__pyx_codeobj__5);
  Py_CLEAR(clear_module_state->__pyx_codeobj__6);
  Py_CLEAR(clear_module_state->__pyx_codeobj__7);
  Py_CLEAR(clear_module_state->__pyx_codeobj__8);
  Py_CLEAR(clear_module_state->__pyx_codeobj__9);
  Py_CLEAR(clear_module_state->__pyx_tuple__508);
  Py_CLEAR(clear_module_state->__pyx_tuple__534);
  Py_CLEAR(clear_module_state->__pyx_tuple__551);
  Py_CLEAR(clear_module_state->__pyx_tuple__552);
  Py_CLEAR(clear_module_state->__pyx_tuple__646);
  Py_CLEAR(clear_module_state->__pyx_tuple__649);
  Py_CLEAR(clear_module_state->__pyx_tuple__662);
  Py_CLEAR(clear_module_state->__pyx_tuple__684);
  Py_CLEAR(clear_module_state->__pyx_tuple__685);
  Py_CLEAR(clear_module_state->__pyx_tuple__688);
  Py_CLEAR(clear_module_state->__pyx_tuple__699);
  Py_CLEAR(clear_module_state->__pyx_tuple__700);
  Py_CLEAR(clear_module_state->__pyx_tuple__728);
  Py_CLEAR(clear_module_state->__pyx_tuple__729);
  Py_CLEAR(clear_module_state->__pyx_tuple__731);
  Py_CLEAR(clear_module_state->__pyx_tuple__738);
  Py_CLEAR(clear_module_state->__pyx_tuple__751);
  Py_CLEAR(clear_module_state->__pyx_tuple__815);
  Py_CLEAR(clear_module_state->__pyx_tuple__816);
  Py_CLEAR(clear_module_state->__pyx_tuple__818);
  Py_CLEAR(clear_module_state->__pyx_tuple__900);
  Py_CLEAR(clear_module_state->__pyx_tuple__901);
  Py_CLEAR(clear_module_state->__pyx_tuple__902);
  Py_CLEAR(clear_module_state->__pyx_tuple__903);
  Py_CLEAR(clear_module_state->__pyx_tuple__905);
  Py_CLEAR(clear_module_state->__pyx_tuple__906);
  Py_CLEAR(clear_module_state->__pyx_tuple__933);
  Py_CLEAR(clear_module_state->__pyx_tuple__962);
  Py_CLEAR(clear_module_state->__pyx_tuple__963);
  Py_CLEAR(clear_module_state->__pyx_tuple__964);
  Py_CLEAR(clear_module_state->__pyx_tuple__965);
  Py_CLEAR(clear_module_state->__pyx_tuple__966);
  Py_CLEAR(clear_module_state->__pyx_tuple__967);
  Py_CLEAR(clear_module_state->__pyx_tuple__968);
  Py_CLEAR(clear_module_state->__pyx_tuple__969);
  Py_CLEAR(clear_module_state->__pyx_tuple__970);
  Py_CLEAR(clear_module_state->__pyx_tuple__971);
  Py_CLEAR(clear_module_state->__pyx_tuple__972);
  Py_CLEAR(clear_module_state->__pyx_tuple__973);
  Py_CLEAR(clear_module_state->__pyx_tuple__974);
  Py_CLEAR(clear_module_state->__pyx_tuple__975);
  Py_CLEAR(clear_module_state->__pyx_tuple__976);
  Py_CLEAR(clear_module_state->__pyx_tuple__977);
  Py_CLEAR(clear_module_state->__pyx_tuple__978);
  Py_CLEAR(clear_module_state->__pyx_tuple__979);
  Py_CLEAR(clear_module_state->__pyx_tuple__980);
  Py_CLEAR(clear_module_state->__pyx_tuple__981);
  Py_CLEAR(clear_module_state->__pyx_tuple__982);
  Py_CLEAR(clear_module_state->__pyx_tuple__983);
  Py_CLEAR(clear_module_state->__pyx_tuple__984);
  Py_CLEAR(clear_module_state->__pyx_tuple__985);
  Py_CLEAR(clear_module_state->__pyx_tuple__986);
  Py_CLEAR(clear_module_state->__pyx_tuple__987);
  Py_CLEAR(clear_module_state->__pyx_tuple__988);
  Py_CLEAR(clear_module_state->__pyx_tuple__989);
  Py_CLEAR(clear_module_state->__pyx_tuple__990);
  Py_CLEAR(clear_module_state->__pyx_tuple__991);
  Py_CLEAR(clear_module_state->__pyx_tuple__992);
  Py_CLEAR(clear_module_state->__pyx_tuple__993);
  Py_CLEAR(clear_module_state->__pyx_tuple__994);
  Py_CLEAR(clear_module_state->__pyx_tuple__995);
  Py_CLEAR(clear_module_state->__pyx_tuple__996);
  Py_CLEAR(clear_module_state->__pyx_tuple__997);
  Py_CLEAR(clear_module_state->__pyx_tuple__998);
  Py_CLEAR(clear_module_state->__pyx_tuple__999);
  Py_CLEAR(clear_module_state->__pyx_codeobj__10);
  Py_CLEAR(clear_module_state->__pyx_codeobj__11);
  Py_CLEAR(clear_module_state->__pyx_codeobj__12);
  Py_CLEAR(clear_module_state->__pyx_codeobj__13);
  Py_CLEAR(clear_module_state->__pyx_codeobj__14);
  Py_CLEAR(clear_module_state->__pyx_codeobj__15);
  Py_CLEAR(clear_module_state->__pyx_codeobj__16);
  Py_CLEAR(clear_module_state->__pyx_codeobj__17);
  Py_CLEAR(clear_module_state->__pyx_codeobj__18);
  Py_CLEAR(clear_module_state->__pyx_codeobj__19);
  Py_CLEAR(clear_module_state->__pyx_codeobj__20);
  Py_CLEAR(clear_module_state->__pyx_codeobj__21);
  Py_CLEAR(clear_module_state->__pyx_codeobj__22);
  Py_CLEAR(clear_module_state->__pyx_codeobj__23);
  Py_CLEAR(clear_module_state->__pyx_codeobj__24);
  Py_CLEAR(clear_module_state->__pyx_codeobj__25);
  Py_CLEAR(clear_module_state->__pyx_codeobj__26);
  Py_CLEAR(clear_module_state->__pyx_codeobj__27);
  Py_CLEAR(clear_module_state->__pyx_codeobj__28);
  Py_CLEAR(clear_module_state->__pyx_codeobj__29);
  Py_CLEAR(clear_module_state->__pyx_codeobj__30);
  Py_CLEAR(clear_module_state->__pyx_codeobj__31);
  Py_CLEAR(clear_module_state->__pyx_codeobj__32);
  Py_CLEAR(clear_module_state->__pyx_codeobj__33);
  Py_CLEAR(clear_module_state->__pyx_codeobj__34);
  Py_CLEAR(clear_module_state->__pyx_codeobj__35);
  Py_CLEAR(clear_module_state->__pyx_codeobj__36);
  Py_CLEAR(clear_module_state->__pyx_codeobj__37);
  Py_CLEAR(clear_module_state->__pyx_codeobj__38);
  Py_CLEAR(clear_module_state->__pyx_codeobj__39);
  Py_CLEAR(clear_module_state->__pyx_codeobj__40);
  Py_CLEAR(clear_module_state->__pyx_codeobj__41);
  Py_CLEAR(clear_module_state->__pyx_codeobj__42);
  Py_CLEAR(clear_module_state->__pyx_codeobj__43);
  Py_CLEAR(clear_module_state->__pyx_codeobj__44);
  Py_CLEAR(clear_module_state->__pyx_codeobj__45);
  Py_CLEAR(clear_module_state->__pyx_codeobj__46);
  Py_CLEAR(clear_module_state->__pyx_codeobj__47);
  Py_CLEAR(clear_module_state->__pyx_codeobj__48);
  Py_CLEAR(clear_module_state->__pyx_codeobj__49);
  Py_CLEAR(clear_module_state->__pyx_codeobj__50);
  Py_CLEAR(clear_module_state->__pyx_codeobj__51);
  Py_CLEAR(clear_module_state->__pyx_codeobj__52);
  Py_CLEAR(clear_module_state->__pyx_codeobj__53);
  Py_CLEAR(clear_module_state->__pyx_codeobj__54);
  Py_CLEAR(clear_module_state->__pyx_codeobj__55);
  Py_CLEAR(clear_module_state->__pyx_codeobj__56);
  Py_CLEAR(clear_module_state->__pyx_codeobj__57);
  Py_CLEAR(clear_module_state->__pyx_codeobj__58);
  Py_CLEAR(clear_module_state->__pyx_codeobj__59);
  Py_CLEAR(clear_module_state->__pyx_codeobj__60);
  Py_CLEAR(clear_module_state->__pyx_codeobj__61);
  Py_CLEAR(clear_module_state->__pyx_codeobj__62);
  Py_CLEAR(clear_module_state->__pyx_codeobj__63);
  Py_CLEAR(clear_module_state->__pyx_codeobj__64);
  Py_CLEAR(clear_module_state->__pyx_codeobj__65);
  Py_CLEAR(clear_module_state->__pyx_codeobj__66);
  Py_CLEAR(clear_module_state->__pyx_codeobj__67);
  Py_CLEAR(clear_module_state->__pyx_codeobj__68);
  Py_CLEAR(clear_module_state->__pyx_codeobj__69);
  Py_CLEAR(clear_module_state->__pyx_codeobj__70);
  Py_CLEAR(clear_module_state->__pyx_codeobj__71);
  Py_CLEAR(clear_module_state->__pyx_codeobj__72);
  Py_CLEAR(clear_module_state->__pyx_codeobj__73);
  Py_CLEAR(clear_module_state->__pyx_codeobj__74);
  Py_CLEAR(clear_module_state->__pyx_codeobj__75);
  Py_CLEAR(clear_module_state->__pyx_codeobj__76);
  Py_CLEAR(clear_module_state->__pyx_codeobj__77);
  Py_CLEAR(clear_module_state->__pyx_codeobj__78);
  Py_CLEAR(clear_module_state->__pyx_codeobj__79);
  Py_CLEAR(clear_module_state->__pyx_codeobj__80);
  Py_CLEAR(clear_module_state->__pyx_codeobj__81);
  Py_CLEAR(clear_module_state->__pyx_codeobj__82);
  Py_CLEAR(clear_module_state->__pyx_codeobj__83);
  Py_CLEAR(clear_module_state->__pyx_codeobj__84);
  Py_CLEAR(clear_module_state->__pyx_codeobj__85);
  Py_CLEAR(clear_module_state->__pyx_codeobj__86);
  Py_CLEAR(clear_module_state->__pyx_codeobj__87);
  Py_CLEAR(clear_module_state->__pyx_codeobj__88);
  Py_CLEAR(clear_module_state->__pyx_codeobj__89);
  Py_CLEAR(clear_module_state->__pyx_codeobj__90);
  Py_CLEAR(clear_module_state->__pyx_codeobj__91);
  Py_CLEAR(clear_module_state->__pyx_codeobj__92);
  Py_CLEAR(clear_module_state->__pyx_codeobj__93);
  Py_CLEAR(clear_module_state->__pyx_codeobj__94);
  Py_CLEAR(clear_module_state->__pyx_codeobj__95);
  Py_CLEAR(clear_module_state->__pyx_codeobj__96);
  Py_CLEAR(clear_module_state->__pyx_codeobj__97);
  Py_CLEAR(clear_module_state->__pyx_codeobj__98);
  Py_CLEAR(clear_module_state->__pyx_codeobj__99);
  Py_CLEAR(clear_module_state->__pyx_tuple__1000);
  Py_CLEAR(clear_module_state->__pyx_tuple__1001);
  Py_CLEAR(clear_module_state->__pyx_tuple__1002);
  Py_CLEAR(clear_module_state->__pyx_tuple__1003);
  Py_CLEAR(clear_module_state->__pyx_tuple__1004);
  Py_CLEAR(clear_module_state->__pyx_tuple__1005);
  Py_CLEAR(clear_module_state->__pyx_tuple__1006);
  Py_CLEAR(clear_module_state->__pyx_tuple__1007);
  Py_CLEAR(clear_module_state->__pyx_tuple__1008);
  Py_CLEAR(clear_module_state->__pyx_tuple__1009);
  Py_CLEAR(clear_module_state->__pyx_tuple__1010);
  Py_CLEAR(clear_module_state->__pyx_tuple__1011);
  Py_CLEAR(clear_module_state->__pyx_tuple__1012);
  Py_CLEAR(clear_module_state->__pyx_tuple__1013);
  Py_CLEAR(clear_module_state->__pyx_tuple__1014);
  Py_CLEAR(clear_module_state->__pyx_tuple__1015);
  Py_CLEAR(clear_module_state->__pyx_tuple__1016);
  Py_CLEAR(clear_module_state->__pyx_tuple__1017);
  Py_CLEAR(clear_module_state->__pyx_tuple__1018);
  Py_CLEAR(clear_module_state->__pyx_tuple__1019);
  Py_CLEAR(clear_module_state->__pyx_tuple__1020);
  Py_CLEAR(clear_module_state->__pyx_tuple__1021);
  Py_CLEAR(clear_module_state->__pyx_tuple__1022);
  Py_CLEAR(clear_module_state->__pyx_tuple__1023);
  Py_CLEAR(clear_module_state->__pyx_tuple__1024);
  Py_CLEAR(clear_module_state->__pyx_tuple__1025);
  Py_CLEAR(clear_module_state->__pyx_tuple__1026);
  Py_CLEAR(clear_module_state->__pyx_tuple__1027);
  Py_CLEAR(clear_module_state->__pyx_tuple__1028);
  Py_CLEAR(clear_module_state->__pyx_tuple__1029);
  Py_CLEAR(clear_module_state->__pyx_tuple__1030);
  Py_CLEAR(clear_module_state->__pyx_tuple__1031);
  Py_CLEAR(clear_module_state->__pyx_tuple__1032);
  Py_CLEAR(clear_module_state->__pyx_tuple__1033);
  Py_CLEAR(clear_module_state->__pyx_tuple__1034);
  Py_CLEAR(clear_module_state->__pyx_tuple__1035);
  Py_CLEAR(clear_module_state->__pyx_tuple__1036);
  Py_CLEAR(clear_module_state->__pyx_tuple__1037);
  Py_CLEAR(clear_module_state->__pyx_tuple__1038);
  Py_CLEAR(clear_module_state->__pyx_tuple__1039);
  Py_CLEAR(clear_module_state->__pyx_tuple__1040);
  Py_CLEAR(clear_module_state->__pyx_tuple__1041);
  Py_CLEAR(clear_module_state->__pyx_tuple__1042);
  Py_CLEAR(clear_module_state->__pyx_tuple__1043);
  Py_CLEAR(clear_module_state->__pyx_tuple__1044);
  Py_CLEAR(clear_module_state->__pyx_tuple__1045);
  Py_CLEAR(clear_module_state->__pyx_tuple__1046);
  Py_CLEAR(clear_module_state->__pyx_tuple__1047);
  Py_CLEAR(clear_module_state->__pyx_tuple__1048);
  Py_CLEAR(clear_module_state->__pyx_tuple__1049);
  Py_CLEAR(clear_module_state->__pyx_tuple__1050);
  Py_CLEAR(clear_module_state->__pyx_tuple__1051);
  Py_CLEAR(clear_module_state->__pyx_tuple__1052);
  Py_CLEAR(clear_module_state->__pyx_tuple__1053);
  Py_CLEAR(clear_module_state->__pyx_tuple__1054);
  Py_CLEAR(clear_module_state->__pyx_tuple__1055);
  Py_CLEAR(clear_module_state->__pyx_tuple__1056);
  Py_CLEAR(clear_module_state->__pyx_tuple__1057);
  Py_CLEAR(clear_module_state->__pyx_tuple__1058);
  Py_CLEAR(clear_module_state->__pyx_tuple__1059);
  Py_CLEAR(clear_module_state->__pyx_tuple__1060);
  Py_CLEAR(clear_module_state->__pyx_tuple__1061);
  Py_CLEAR(clear_module_state->__pyx_tuple__1062);
  Py_CLEAR(clear_module_state->__pyx_tuple__1063);
  Py_CLEAR(clear_module_state->__pyx_tuple__1064);
  Py_CLEAR(clear_module_state->__pyx_tuple__1065);
  Py_CLEAR(clear_module_state->__pyx_tuple__1066);
  Py_CLEAR(clear_module_state->__pyx_tuple__1067);
  Py_CLEAR(clear_module_state->__pyx_tuple__1068);
  Py_CLEAR(clear_module_state->__pyx_tuple__1069);
  Py_CLEAR(clear_module_state->__pyx_tuple__1070);
  Py_CLEAR(clear_module_state->__pyx_tuple__1071);
  Py_CLEAR(clear_module_state->__pyx_tuple__1072);
  Py_CLEAR(clear_module_state->__pyx_tuple__1073);
  Py_CLEAR(clear_module_state->__pyx_tuple__1074);
  Py_CLEAR(clear_module_state->__pyx_tuple__1075);
  Py_CLEAR(clear_module_state->__pyx_tuple__1076);
  Py_CLEAR(clear_module_state->__pyx_tuple__1077);
  Py_CLEAR(clear_module_state->__pyx_tuple__1078);
  Py_CLEAR(clear_module_state->__pyx_tuple__1079);
  Py_CLEAR(clear_module_state->__pyx_tuple__1080);
  Py_CLEAR(clear_module_state->__pyx_tuple__1081);
  Py_CLEAR(clear_module_state->__pyx_tuple__1082);
  Py_CLEAR(clear_module_state->__pyx_tuple__1083);
  Py_CLEAR(clear_module_state->__pyx_tuple__1084);
  Py_CLEAR(clear_module_state->__pyx_tuple__1085);
  Py_CLEAR(clear_module_state->__pyx_tuple__1086);
  Py_CLEAR(clear_module_state->__pyx_tuple__1087);
  Py_CLEAR(clear_module_state->__pyx_tuple__1088);
  Py_CLEAR(clear_module_state->__pyx_tuple__1089);
  Py_CLEAR(clear_module_state->__pyx_tuple__1090);
  Py_CLEAR(clear_module_state->__pyx_tuple__1091);
  Py_CLEAR(clear_module_state->__pyx_tuple__1092);
  Py_CLEAR(clear_module_state->__pyx_tuple__1093);
  Py_CLEAR(clear_module_state->__pyx_tuple__1094);
  Py_CLEAR(clear_module_state->__pyx_tuple__1095);
  Py_CLEAR(clear_module_state->__pyx_tuple__1096);
  Py_CLEAR(clear_module_state->__pyx_tuple__1097);
  Py_CLEAR(clear_module_state->__pyx_tuple__1098);
  Py_CLEAR(clear_module_state->__pyx_tuple__1099);
  Py_CLEAR(clear_module_state->__pyx_tuple__1100);
  Py_CLEAR(clear_module_state->__pyx_tuple__1101);
  Py_CLEAR(clear_module_state->__pyx_tuple__1102);
  Py_CLEAR(clear_module_state->__pyx_tuple__1103);
  Py_CLEAR(clear_module_state->__pyx_tuple__1104);
  Py_CLEAR(clear_module_state->__pyx_tuple__1105);
  Py_CLEAR(clear_module_state->__pyx_tuple__1106);
  Py_CLEAR(clear_module_state->__pyx_tuple__1107);
  Py_CLEAR(clear_module_state->__pyx_tuple__1108);
  Py_CLEAR(clear_module_state->__pyx_tuple__1109);
  Py_CLEAR(clear_module_state->__pyx_tuple__1110);
  Py_CLEAR(clear_module_state->__pyx_tuple__1111);
  Py_CLEAR(clear_module_state->__pyx_tuple__1112);
  Py_CLEAR(clear_module_state->__pyx_tuple__1113);
  Py_CLEAR(clear_module_state->__pyx_tuple__1114);
  Py_CLEAR(clear_module_state->__pyx_tuple__1115);
  Py_CLEAR(clear_module_state->__pyx_tuple__1116);
  Py_CLEAR(clear_module_state->__pyx_tuple__1117);
  Py_CLEAR(clear_module_state->__pyx_tuple__1118);
  Py_CLEAR(clear_module_state->__pyx_tuple__1119);
  Py_CLEAR(clear_module_state->__pyx_tuple__1120);
  Py_CLEAR(clear_module_state->__pyx_tuple__1121);
  Py_CLEAR(clear_module_state->__pyx_tuple__1122);
  Py_CLEAR(clear_module_state->__pyx_tuple__1123);
  Py_CLEAR(clear_module_state->__pyx_tuple__1124);
  Py_CLEAR(clear_module_state->__pyx_tuple__1125);
  Py_CLEAR(clear_module_state->__pyx_tuple__1126);
  Py_CLEAR(clear_module_state->__pyx_tuple__1127);
  Py_CLEAR(clear_module_state->__pyx_tuple__1128);
  Py_CLEAR(clear_module_state->__pyx_tuple__1129);
  Py_CLEAR(clear_module_state->__pyx_tuple__1130);
  Py_CLEAR(clear_module_state->__pyx_tuple__1131);
  Py_CLEAR(clear_module_state->__pyx_tuple__1132);
  Py_CLEAR(clear_module_state->__pyx_tuple__1133);
  Py_CLEAR(clear_module_state->__pyx_tuple__1134);
  Py_CLEAR(clear_module_state->__pyx_tuple__1135);
  Py_CLEAR(clear_module_state->__pyx_tuple__1136);
  Py_CLEAR(clear_module_state->__pyx_tuple__1137);
  Py_CLEAR(clear_module_state->__pyx_tuple__1138);
  Py_CLEAR(clear_module_state->__pyx_tuple__1139);
  Py_CLEAR(clear_module_state->__pyx_tuple__1140);
  Py_CLEAR(clear_module_state->__pyx_tuple__1141);
  Py_CLEAR(clear_module_state->__pyx_tuple__1142);
  Py_CLEAR(clear_module_state->__pyx_tuple__1143);
  Py_CLEAR(clear_module_state->__pyx_tuple__1144);
  Py_CLEAR(clear_module_state->__pyx_tuple__1145);
  Py_CLEAR(clear_module_state->__pyx_tuple__1146);
  Py_CLEAR(clear_module_state->__pyx_tuple__1147);
  Py_CLEAR(clear_module_state->__pyx_tuple__1148);
  Py_CLEAR(clear_module_state->__pyx_tuple__1149);
  Py_CLEAR(clear_module_state->__pyx_tuple__1150);
  Py_CLEAR(clear_module_state->__pyx_tuple__1151);
  Py_CLEAR(clear_module_state->__pyx_tuple__1152);
  Py_CLEAR(clear_module_state->__pyx_tuple__1153);
  Py_CLEAR(clear_module_state->__pyx_tuple__1154);
  Py_CLEAR(clear_module_state->__pyx_tuple__1155);
  Py_CLEAR(clear_module_state->__pyx_tuple__1156);
  Py_CLEAR(clear_module_state->__pyx_tuple__1157);
  Py_CLEAR(clear_module_state->__pyx_tuple__1158);
  Py_CLEAR(clear_module_state->__pyx_tuple__1159);
  Py_CLEAR(clear_module_state->__pyx_tuple__1160);
  Py_CLEAR(clear_module_state->__pyx_tuple__1161);
  Py_CLEAR(clear_module_state->__pyx_tuple__1162);
  Py_CLEAR(clear_module_state->__pyx_tuple__1163);
  Py_CLEAR(clear_module_state->__pyx_tuple__1164);
  Py_CLEAR(clear_module_state->__pyx_tuple__1165);
  Py_CLEAR(clear_module_state->__pyx_tuple__1166);
  Py_CLEAR(clear_module_state->__pyx_tuple__1167);
  Py_CLEAR(clear_module_state->__pyx_tuple__1168);
  Py_CLEAR(clear_module_state->__pyx_tuple__1169);
  Py_CLEAR(clear_module_state->__pyx_tuple__1170);
  Py_CLEAR(clear_module_state->__pyx_tuple__1171);
  Py_CLEAR(clear_module_state->__pyx_tuple__1172);
  Py_CLEAR(clear_module_state->__pyx_tuple__1173);
  Py_CLEAR(clear_module_state->__pyx_tuple__1174);
  Py_CLEAR(clear_module_state->__pyx_tuple__1175);
  Py_CLEAR(clear_module_state->__pyx_tuple__1176);
  Py_CLEAR(clear_module_state->__pyx_tuple__1177);
  Py_CLEAR(clear_module_state->__pyx_tuple__1178);
  Py_CLEAR(clear_module_state->__pyx_tuple__1179);
  Py_CLEAR(clear_module_state->__pyx_tuple__1180);
  Py_CLEAR(clear_module_state->__pyx_tuple__1181);
  Py_CLEAR(clear_module_state->__pyx_tuple__1182);
  Py_CLEAR(clear_module_state->__pyx_tuple__1183);
  Py_CLEAR(clear_module_state->__pyx_tuple__1184);
  Py_CLEAR(clear_module_state->__pyx_tuple__1185);
  Py_CLEAR(clear_module_state->__pyx_tuple__1186);
  Py_CLEAR(clear_module_state->__pyx_tuple__1187);
  Py_CLEAR(clear_module_state->__pyx_tuple__1188);
  Py_CLEAR(clear_module_state->__pyx_tuple__1189);
  Py_CLEAR(clear_module_state->__pyx_tuple__1190);
  Py_CLEAR(clear_module_state->__pyx_tuple__1191);
  Py_CLEAR(clear_module_state->__pyx_tuple__1192);
  Py_CLEAR(clear_module_state->__pyx_tuple__1193);
  Py_CLEAR(clear_module_state->__pyx_tuple__1194);
  Py_CLEAR(clear_module_state->__pyx_tuple__1195);
  Py_CLEAR(clear_module_state->__pyx_tuple__1196);
  Py_CLEAR(clear_module_state->__pyx_tuple__1197);
  Py_CLEAR(clear_module_state->__pyx_tuple__1198);
  Py_CLEAR(clear_module_state->__pyx_tuple__1199);
  Py_CLEAR(clear_module_state->__pyx_tuple__1200);
  Py_CLEAR(clear_module_state->__pyx_tuple__1201);
  Py_CLEAR(clear_module_state->__pyx_tuple__1202);
  Py_CLEAR(clear_module_state->__pyx_tuple__1203);
  Py_CLEAR(clear_module_state->__pyx_tuple__1204);
  Py_CLEAR(clear_module_state->__pyx_tuple__1205);
  Py_CLEAR(clear_module_state->__pyx_tuple__1206);
  Py_CLEAR(clear_module_state->__pyx_tuple__1207);
  Py_CLEAR(clear_module_state->__pyx_tuple__1208);
  Py_CLEAR(clear_module_state->__pyx_tuple__1209);
  Py_CLEAR(clear_module_state->__pyx_tuple__1210);
  Py_CLEAR(clear_module_state->__pyx_tuple__1211);
  Py_CLEAR(clear_module_state->__pyx_tuple__1212);
  Py_CLEAR(clear_module_state->__pyx_tuple__1213);
  Py_CLEAR(clear_module_state->__pyx_tuple__1214);
  Py_CLEAR(clear_module_state->__pyx_tuple__1215);
  Py_CLEAR(clear_module_state->__pyx_tuple__1216);
  Py_CLEAR(clear_module_state->__pyx_tuple__1217);
  Py_CLEAR(clear_module_state->__pyx_tuple__1218);
  Py_CLEAR(clear_module_state->__pyx_tuple__1219);
  Py_CLEAR(clear_module_state->__pyx_tuple__1220);
  Py_CLEAR(clear_module_state->__pyx_tuple__1221);
  Py_CLEAR(clear_module_state->__pyx_tuple__1222);
  Py_CLEAR(clear_module_state->__pyx_tuple__1223);
  Py_CLEAR(clear_module_state->__pyx_tuple__1224);
  Py_CLEAR(clear_module_state->__pyx_tuple__1225);
  Py_CLEAR(clear_module_state->__pyx_tuple__1226);
  Py_CLEAR(clear_module_state->__pyx_tuple__1227);
  Py_CLEAR(clear_module_state->__pyx_tuple__1228);
  Py_CLEAR(clear_module_state->__pyx_tuple__1229);
  Py_CLEAR(clear_module_state->__pyx_tuple__1230);
  Py_CLEAR(clear_module_state->__pyx_tuple__1231);
  Py_CLEAR(clear_module_state->__pyx_tuple__1232);
  Py_CLEAR(clear_module_state->__pyx_tuple__1233);
  Py_CLEAR(clear_module_state->__pyx_tuple__1234);
  Py_CLEAR(clear_module_state->__pyx_tuple__1235);
  Py_CLEAR(clear_module_state->__pyx_tuple__1236);
  Py_CLEAR(clear_module_state->__pyx_tuple__1237);
  Py_CLEAR(clear_module_state->__pyx_tuple__1238);
  Py_CLEAR(clear_module_state->__pyx_tuple__1239);
  Py_CLEAR(clear_module_state->__pyx_tuple__1240);
  Py_CLEAR(clear_module_state->__pyx_tuple__1241);
  Py_CLEAR(clear_module_state->__pyx_tuple__1242);
  Py_CLEAR(clear_module_state->__pyx_tuple__1243);
  Py_CLEAR(clear_module_state->__pyx_tuple__1244);
  Py_CLEAR(clear_module_state->__pyx_tuple__1245);
  Py_CLEAR(clear_module_state->__pyx_tuple__1246);
  Py_CLEAR(clear_module_state->__pyx_tuple__1247);
  Py_CLEAR(clear_module_state->__pyx_tuple__1248);
  Py_CLEAR(clear_module_state->__pyx_tuple__1249);
  Py_CLEAR(clear_module_state->__pyx_tuple__1250);
  Py_CLEAR(clear_module_state->__pyx_tuple__1251);
  Py_CLEAR(clear_module_state->__pyx_tuple__1252);
  Py_CLEAR(clear_module_state->__pyx_tuple__1253);
  Py_CLEAR(clear_module_state->__pyx_tuple__1254);
  Py_CLEAR(clear_module_state->__pyx_tuple__1255);
  Py_CLEAR(clear_module_state->__pyx_tuple__1256);
  Py_CLEAR(clear_module_state->__pyx_tuple__1257);
  Py_CLEAR(clear_module_state->__pyx_tuple__1258);
  Py_CLEAR(clear_module_state->__pyx_tuple__1259);
  Py_CLEAR(clear_module_state->__pyx_tuple__1260);
  Py_CLEAR(clear_module_state->__pyx_tuple__1261);
  Py_CLEAR(clear_module_state->__pyx_tuple__1262);
  Py_CLEAR(clear_module_state->__pyx_tuple__1263);
  Py_CLEAR(clear_module_state->__pyx_tuple__1264);
  Py_CLEAR(clear_module_state->__pyx_tuple__1265);
  Py_CLEAR(clear_module_state->__pyx_tuple__1266);
  Py_CLEAR(clear_module_state->__pyx_tuple__1267);
  Py_CLEAR(clear_module_state->__pyx_tuple__1268);
  Py_CLEAR(clear_module_state->__pyx_tuple__1269);
  Py_CLEAR(clear_module_state->__pyx_tuple__1270);
  Py_CLEAR(clear_module_state->__pyx_tuple__1271);
  Py_CLEAR(clear_module_state->__pyx_tuple__1272);
  Py_CLEAR(clear_module_state->__pyx_tuple__1273);
  Py_CLEAR(clear_module_state->__pyx_tuple__1274);
  Py_CLEAR(clear_module_state->__pyx_tuple__1275);
  Py_CLEAR(clear_module_state->__pyx_tuple__1276);
  Py_CLEAR(clear_module_state->__pyx_tuple__1277);
  Py_CLEAR(clear_module_state->__pyx_tuple__1278);
  Py_CLEAR(clear_module_state->__pyx_tuple__1279);
  Py_CLEAR(clear_module_state->__pyx_tuple__1280);
  Py_CLEAR(clear_module_state->__pyx_tuple__1281);
  Py_CLEAR(clear_module_state->__pyx_tuple__1282);
  Py_CLEAR(clear_module_state->__pyx_tuple__1283);
  Py_CLEAR(clear_module_state->__pyx_tuple__1284);
  Py_CLEAR(clear_module_state->__pyx_tuple__1285);
  Py_CLEAR(clear_module_state->__pyx_tuple__1286);
  Py_CLEAR(clear_module_state->__pyx_tuple__1287);
  Py_CLEAR(clear_module_state->__pyx_tuple__1288);
  Py_CLEAR(clear_module_state->__pyx_tuple__1289);
  Py_CLEAR(clear_module_state->__pyx_tuple__1290);
  Py_CLEAR(clear_module_state->__pyx_tuple__1291);
  Py_CLEAR(clear_module_state->__pyx_tuple__1292);
  Py_CLEAR(clear_module_state->__pyx_tuple__1293);
  Py_CLEAR(clear_module_state->__pyx_tuple__1294);
  Py_CLEAR(clear_module_state->__pyx_tuple__1295);
  Py_CLEAR(clear_module_state->__pyx_tuple__1296);
  Py_CLEAR(clear_module_state->__pyx_tuple__1297);
  Py_CLEAR(clear_module_state->__pyx_tuple__1298);
  Py_CLEAR(clear_module_state->__pyx_tuple__1299);
  Py_CLEAR(clear_module_state->__pyx_tuple__1300);
  Py_CLEAR(clear_module_state->__pyx_tuple__1301);
  Py_CLEAR(clear_module_state->__pyx_tuple__1302);
  Py_CLEAR(clear_module_state->__pyx_tuple__1303);
  Py_CLEAR(clear_module_state->__pyx_tuple__1304);
  Py_CLEAR(clear_module_state->__pyx_tuple__1305);
  Py_CLEAR(clear_module_state->__pyx_tuple__1306);
  Py_CLEAR(clear_module_state->__pyx_tuple__1307);
  Py_CLEAR(clear_module_state->__pyx_tuple__1308);
  Py_CLEAR(clear_module_state->__pyx_tuple__1309);
  Py_CLEAR(clear_module_state->__pyx_tuple__1310);
  Py_CLEAR(clear_module_state->__pyx_tuple__1311);
  Py_CLEAR(clear_module_state->__pyx_tuple__1312);
  Py_CLEAR(clear_module_state->__pyx_tuple__1313);
  Py_CLEAR(clear_module_state->__pyx_tuple__1314);
  Py_CLEAR(clear_module_state->__pyx_tuple__1315);
  Py_CLEAR(clear_module_state->__pyx_tuple__1316);
  Py_CLEAR(clear_module_state->__pyx_tuple__1317);
  Py_CLEAR(clear_module_state->__pyx_tuple__1318);
  Py_CLEAR(clear_module_state->__pyx_tuple__1319);
  Py_CLEAR(clear_module_state->__pyx_tuple__1320);
  Py_CLEAR(clear_module_state->__pyx_tuple__1321);
  Py_CLEAR(clear_module_state->__pyx_tuple__1322);
  Py_CLEAR(clear_module_state->__pyx_tuple__1323);
  Py_CLEAR(clear_module_state->__pyx_tuple__1324);
  Py_CLEAR(clear_module_state->__pyx_tuple__1325);
  Py_CLEAR(clear_module_state->__pyx_tuple__1326);
  Py_CLEAR(clear_module_state->__pyx_tuple__1327);
  Py_CLEAR(clear_module_state->__pyx_tuple__1328);
  Py_CLEAR(clear_module_state->__pyx_tuple__1329);
  Py_CLEAR(clear_module_state->__pyx_tuple__1330);
  Py_CLEAR(clear_module_state->__pyx_tuple__1331);
  Py_CLEAR(clear_module_state->__pyx_tuple__1332);
  Py_CLEAR(clear_module_state->__pyx_tuple__1333);
  Py_CLEAR(clear_module_state->__pyx_tuple__1334);
  Py_CLEAR(clear_module_state->__pyx_tuple__1335);
  Py_CLEAR(clear_module_state->__pyx_tuple__1336);
  Py_CLEAR(clear_module_state->__pyx_tuple__1337);
  Py_CLEAR(clear_module_state->__pyx_codeobj__100);
  Py_CLEAR(clear_module_state->__pyx_codeobj__101);
  Py_CLEAR(clear_module_state->__pyx_codeobj__102);
  Py_CLEAR(clear_module_state->__pyx_codeobj__103);
  Py_CLEAR(clear_module_state->__pyx_codeobj__104);
  Py_CLEAR(clear_module_state->__pyx_codeobj__105);
  Py_CLEAR(clear_module_state->__pyx_codeobj__106);
  Py_CLEAR(clear_module_state->__pyx_codeobj__107);
  Py_CLEAR(clear_module_state->__pyx_codeobj__108);
  Py_CLEAR(clear_module_state->__pyx_codeobj__109);
  Py_CLEAR(clear_module_state->__pyx_codeobj__110);
  Py_CLEAR(clear_module_state->__pyx_codeobj__111);
  Py_CLEAR(clear_module_state->__pyx_codeobj__112);
  Py_CLEAR(clear_module_state->__pyx_codeobj__113);
  Py_CLEAR(clear_module_state->__pyx_codeobj__114);
  Py_CLEAR(clear_module_state->__pyx_codeobj__115);
  Py_CLEAR(clear_module_state->__pyx_codeobj__116);
  Py_CLEAR(clear_module_state->__pyx_codeobj__119);
  Py_CLEAR(clear_module_state->__pyx_codeobj__120);
  Py_CLEAR(clear_module_state->__pyx_codeobj__121);
  Py_CLEAR(clear_module_state->__pyx_codeobj__122);
  Py_CLEAR(clear_module_state->__pyx_codeobj__123);
  Py_CLEAR(clear_module_state->__pyx_codeobj__124);
  Py_CLEAR(clear_module_state->__pyx_codeobj__125);
  Py_CLEAR(clear_module_state->__pyx_codeobj__126);
  Py_CLEAR(clear_module_state->__pyx_codeobj__127);
  Py_CLEAR(clear_module_state->__pyx_codeobj__128);
  Py_CLEAR(clear_module_state->__pyx_codeobj__129);
  Py_CLEAR(clear_module_state->__pyx_codeobj__130);
  Py_CLEAR(clear_module_state->__pyx_codeobj__131);
  Py_CLEAR(clear_module_state->__pyx_codeobj__132);
  Py_CLEAR(clear_module_state->__pyx_codeobj__133);
  Py_CLEAR(clear_module_state->__pyx_codeobj__134);
  Py_CLEAR(clear_module_state->__pyx_codeobj__135);
  Py_CLEAR(clear_module_state->__pyx_codeobj__136);
  Py_CLEAR(clear_module_state->__pyx_codeobj__137);
  Py_CLEAR(clear_module_state->__pyx_codeobj__138);
  Py_CLEAR(clear_module_state->__pyx_codeobj__139);
  Py_CLEAR(clear_module_state->__pyx_codeobj__140);
  Py_CLEAR(clear_module_state->__pyx_codeobj__141);
  Py_CLEAR(clear_module_state->__pyx_codeobj__142);
  Py_CLEAR(clear_module_state->__pyx_codeobj__144);
  Py_CLEAR(clear_module_state->__pyx_codeobj__145);
  Py_CLEAR(clear_module_state->__pyx_codeobj__146);
  Py_CLEAR(clear_module_state->__pyx_codeobj__147);
  Py_CLEAR(clear_module_state->__pyx_codeobj__148);
  Py_CLEAR(clear_module_state->__pyx_codeobj__149);
  Py_CLEAR(clear_module_state->__pyx_codeobj__150);
  Py_CLEAR(clear_module_state->__pyx_codeobj__151);
  Py_CLEAR(clear_module_state->__pyx_codeobj__152);
  Py_CLEAR(clear_module_state->__pyx_codeobj__153);
  Py_CLEAR(clear_module_state->__pyx_codeobj__154);
  Py_CLEAR(clear_module_state->__pyx_codeobj__155);
  Py_CLEAR(clear_module_state->__pyx_codeobj__156);
  Py_CLEAR(clear_module_state->__pyx_codeobj__157);
  Py_CLEAR(clear_module_state->__pyx_codeobj__158);
  Py_CLEAR(clear_module_state->__pyx_codeobj__159);
  Py_CLEAR(clear_module_state->__pyx_codeobj__160);
  Py_CLEAR(clear_module_state->__pyx_codeobj__161);
  Py_CLEAR(clear_module_state->__pyx_codeobj__162);
  Py_CLEAR(clear_module_state->__pyx_codeobj__163);
  Py_CLEAR(clear_module_state->__pyx_codeobj__164);
  Py_CLEAR(clear_module_state->__pyx_codeobj__165);
  Py_CLEAR(clear_module_state->__pyx_codeobj__166);
  Py_CLEAR(clear_module_state->__pyx_codeobj__167);
  Py_CLEAR(clear_module_state->__pyx_codeobj__168);
  Py_CLEAR(clear_module_state->__pyx_codeobj__169);
  Py_CLEAR(clear_module_state->__pyx_codeobj__170);
  Py_CLEAR(clear_module_state->__pyx_codeobj__171);
  Py_CLEAR(clear_module_state->__pyx_codeobj__172);
  Py_CLEAR(clear_module_state->__pyx_codeobj__173);
  Py_CLEAR(clear_module_state->__pyx_codeobj__174);
  Py_CLEAR(clear_module_state->__pyx_codeobj__175);
  Py_CLEAR(clear_module_state->__pyx_codeobj__176);
  Py_CLEAR(clear_module_state->__pyx_codeobj__177);
  Py_CLEAR(clear_module_state->__pyx_codeobj__178);
  Py_CLEAR(clear_module_state->__pyx_codeobj__179);
  Py_CLEAR(clear_module_state->__pyx_codeobj__180);
  Py_CLEAR(clear_module_state->__pyx_codeobj__181);
  Py_CLEAR(clear_module_state->__pyx_codeobj__182);
  Py_CLEAR(clear_module_state->__pyx_codeobj__183);
  Py_CLEAR(clear_module_state->__pyx_codeobj__184);
  Py_CLEAR(clear_module_state->__pyx_codeobj__185);
  Py_CLEAR(clear_module_state->__pyx_codeobj__186);
  Py_CLEAR(clear_module_state->__pyx_codeobj__187);
  Py_CLEAR(clear_module_state->__pyx_codeobj__188);
  Py_CLEAR(clear_module_state->__pyx_codeobj__189);
  Py_CLEAR(clear_module_state->__pyx_codeobj__190);
  Py_CLEAR(clear_module_state->__pyx_codeobj__191);
  Py_CLEAR(clear_module_state->__pyx_codeobj__192);
  Py_CLEAR(clear_module_state->__pyx_codeobj__193);
  Py_CLEAR(clear_module_state->__pyx_codeobj__194);
  Py_CLEAR(clear_module_state->__pyx_codeobj__195);
  Py_CLEAR(clear_module_state->__pyx_codeobj__196);
  Py_CLEAR(clear_module_state->__pyx_codeobj__197);
  Py_CLEAR(clear_module_state->__pyx_codeobj__198);
  Py_CLEAR(clear_module_state->__pyx_codeobj__199);
  Py_CLEAR(clear_module_state->__pyx_codeobj__200);
  Py_CLEAR(clear_module_state->__pyx_codeobj__201);
  Py_CLEAR(clear_module_state->__pyx_codeobj__202);
  Py_CLEAR(clear_module_state->__pyx_codeobj__203);
  Py_CLEAR(clear_module_state->__pyx_codeobj__204);
  Py_CLEAR(clear_module_state->__pyx_codeobj__205);
  Py_CLEAR(clear_module_state->__pyx_codeobj__206);
  Py_CLEAR(clear_module_state->__pyx_codeobj__207);
  Py_CLEAR(clear_module_state->__pyx_codeobj__208);
  Py_CLEAR(clear_module_state->__pyx_codeobj__209);
  Py_CLEAR(clear_module_state->__pyx_codeobj__210);
  Py_CLEAR(clear_module_state->__pyx_codeobj__211);
  Py_CLEAR(clear_module_state->__pyx_codeobj__212);
  Py_CLEAR(clear_module_state->__pyx_codeobj__213);
  Py_CLEAR(clear_module_state->__pyx_codeobj__214);
  Py_CLEAR(clear_module_state->__pyx_codeobj__215);
  Py_CLEAR(clear_module_state->__pyx_codeobj__216);
  Py_CLEAR(clear_module_state->__pyx_codeobj__217);
  Py_CLEAR(clear_module_state->__pyx_codeobj__218);
  Py_CLEAR(clear_module_state->__pyx_codeobj__219);
  Py_CLEAR(clear_module_state->__pyx_codeobj__220);
  Py_CLEAR(clear_module_state->__pyx_codeobj__221);
  Py_CLEAR(clear_module_state->__pyx_codeobj__222);
  Py_CLEAR(clear_module_state->__pyx_codeobj__223);
  Py_CLEAR(clear_module_state->__pyx_codeobj__224);
  Py_CLEAR(clear_module_state->__pyx_codeobj__225);
  Py_CLEAR(clear_module_state->__pyx_codeobj__226);
  Py_CLEAR(clear_module_state->__pyx_codeobj__227);
  Py_CLEAR(clear_module_state->__pyx_codeobj__228);
  Py_CLEAR(clear_module_state->__pyx_codeobj__229);
  Py_CLEAR(clear_module_state->__pyx_codeobj__230);
  Py_CLEAR(clear_module_state->__pyx_codeobj__231);
  Py_CLEAR(clear_module_state->__pyx_codeobj__232);
  Py_CLEAR(clear_module_state->__pyx_codeobj__233);
  Py_CLEAR(clear_module_state->__pyx_codeobj__234);
  Py_CLEAR(clear_module_state->__pyx_codeobj__235);
  Py_CLEAR(clear_module_state->__pyx_codeobj__236);
  Py_CLEAR(clear_module_state->__pyx_codeobj__237);
  Py_CLEAR(clear_module_state->__pyx_codeobj__238);
  Py_CLEAR(clear_module_state->__pyx_codeobj__239);
  Py_CLEAR(clear_module_state->__pyx_codeobj__240);
  Py_CLEAR(clear_module_state->__pyx_codeobj__241);
  Py_CLEAR(clear_module_state->__pyx_codeobj__242);
  Py_CLEAR(clear_module_state->__pyx_codeobj__243);
  Py_CLEAR(clear_module_state->__pyx_codeobj__244);
  Py_CLEAR(clear_module_state->__pyx_codeobj__245);
  Py_CLEAR(clear_module_state->__pyx_codeobj__246);
  Py_CLEAR(clear_module_state->__pyx_codeobj__247);
  Py_CLEAR(clear_module_state->__pyx_codeobj__248);
  Py_CLEAR(clear_module_state->__pyx_codeobj__249);
  Py_CLEAR(clear_module_state->__pyx_codeobj__250);
  Py_CLEAR(clear_module_state->__pyx_codeobj__251);
  Py_CLEAR(clear_module_state->__pyx_codeobj__252);
  Py_CLEAR(clear_module_state->__pyx_codeobj__253);
  Py_CLEAR(clear_module_state->__pyx_codeobj__254);
  Py_CLEAR(clear_module_state->__pyx_codeobj__255);
  Py_CLEAR(clear_module_state->__pyx_codeobj__256);
  Py_CLEAR(clear_module_state->__pyx_codeobj__257);
  Py_CLEAR(clear_module_state->__pyx_codeobj__258);
  Py_CLEAR(clear_module_state->__pyx_codeobj__259);
  Py_CLEAR(clear_module_state->__pyx_codeobj__260);
  Py_CLEAR(clear_module_state->__pyx_codeobj__261);
  Py_CLEAR(clear_module_state->__pyx_codeobj__262);
  Py_CLEAR(clear_module_state->__pyx_codeobj__263);
  Py_CLEAR(clear_module_state->__pyx_codeobj__264);
  Py_CLEAR(clear_module_state->__pyx_codeobj__265);
  Py_CLEAR(clear_module_state->__pyx_codeobj__266);
  Py_CLEAR(clear_module_state->__pyx_codeobj__267);
  Py_CLEAR(clear_module_state->__pyx_codeobj__268);
  Py_CLEAR(clear_module_state->__pyx_codeobj__269);
  Py_CLEAR(clear_module_state->__pyx_codeobj__270);
  Py_CLEAR(clear_module_state->__pyx_codeobj__271);
  Py_CLEAR(clear_module_state->__pyx_codeobj__272);
  Py_CLEAR(clear_module_state->__pyx_codeobj__273);
  Py_CLEAR(clear_module_state->__pyx_codeobj__274);
  Py_CLEAR(clear_module_state->__pyx_codeobj__275);
  Py_CLEAR(clear_module_state->__pyx_codeobj__276);
  Py_CLEAR(clear_module_state->__pyx_codeobj__277);
  Py_CLEAR(clear_module_state->__pyx_codeobj__278);
  Py_CLEAR(clear_module_state->__pyx_codeobj__279);
  Py_CLEAR(clear_module_state->__pyx_codeobj__280);
  Py_CLEAR(clear_module_state->__pyx_codeobj__281);
  Py_CLEAR(clear_module_state->__pyx_codeobj__282);
  Py_CLEAR(clear_module_state->__pyx_codeobj__283);
  Py_CLEAR(clear_module_state->__pyx_codeobj__284);
  Py_CLEAR(clear_module_state->__pyx_codeobj__285);
  Py_CLEAR(clear_module_state->__pyx_codeobj__286);
  Py_CLEAR(clear_module_state->__pyx_codeobj__287);
  Py_CLEAR(clear_module_state->__pyx_codeobj__288);
  Py_CLEAR(clear_module_state->__pyx_codeobj__289);
  Py_CLEAR(clear_module_state->__pyx_codeobj__290);
  Py_CLEAR(clear_module_state->__pyx_codeobj__291);
  Py_CLEAR(clear_module_state->__pyx_codeobj__292);
  Py_CLEAR(clear_module_state->__pyx_codeobj__293);
  Py_CLEAR(clear_module_state->__pyx_codeobj__294);
  Py_CLEAR(clear_module_state->__pyx_codeobj__295);
  Py_CLEAR(clear_module_state->__pyx_codeobj__296);
  Py_CLEAR(clear_module_state->__pyx_codeobj__297);
  Py_CLEAR(clear_module_state->__pyx_codeobj__298);
  Py_CLEAR(clear_module_state->__pyx_codeobj__299);
  Py_CLEAR(clear_module_state->__pyx_codeobj__300);
  Py_CLEAR(clear_module_state->__pyx_codeobj__301);
  Py_CLEAR(clear_module_state->__pyx_codeobj__302);
  Py_CLEAR(clear_module_state->__pyx_codeobj__303);
  Py_CLEAR(clear_module_state->__pyx_codeobj__304);
  Py_CLEAR(clear_module_state->__pyx_codeobj__305);
  Py_CLEAR(clear_module_state->__pyx_codeobj__306);
  Py_CLEAR(clear_module_state->__pyx_codeobj__307);
  Py_CLEAR(clear_module_state->__pyx_codeobj__308);
  Py_CLEAR(clear_module_state->__pyx_codeobj__309);
  Py_CLEAR(clear_module_state->__pyx_codeobj__310);
  Py_CLEAR(clear_module_state->__pyx_codeobj__311);
  Py_CLEAR(clear_module_state->__pyx_codeobj__312);
  Py_CLEAR(clear_module_state->__pyx_codeobj__313);
  Py_CLEAR(clear_module_state->__pyx_codeobj__314);
  Py_CLEAR(clear_module_state->__pyx_codeobj__315);
  Py_CLEAR(clear_module_state->__pyx_codeobj__316);
  Py_CLEAR(clear_module_state->__pyx_codeobj__317);
  Py_CLEAR(clear_module_state->__pyx_codeobj__318);
  Py_CLEAR(clear_module_state->__pyx_codeobj__319);
  Py_CLEAR(clear_module_state->__pyx_codeobj__320);
  Py_CLEAR(clear_module_state->__pyx_codeobj__321);
  Py_CLEAR(clear_module_state->__pyx_codeobj__322);
  Py_CLEAR(clear_module_state->__pyx_codeobj__323);
  Py_CLEAR(clear_module_state->__pyx_codeobj__324);
  Py_CLEAR(clear_module_state->__pyx_codeobj__325);
  Py_CLEAR(clear_module_state->__pyx_codeobj__326);
  Py_CLEAR(clear_module_state->__pyx_codeobj__327);
  Py_CLEAR(clear_module_state->__pyx_codeobj__328);
  Py_CLEAR(clear_module_state->__pyx_codeobj__329);
  Py_CLEAR(clear_module_state->__pyx_codeobj__330);
  Py_CLEAR(clear_module_state->__pyx_codeobj__331);
  Py_CLEAR(clear_module_state->__pyx_codeobj__332);
  Py_CLEAR(clear_module_state->__pyx_codeobj__333);
  Py_CLEAR(clear_module_state->__pyx_codeobj__334);
  Py_CLEAR(clear_module_state->__pyx_codeobj__335);
  Py_CLEAR(clear_module_state->__pyx_codeobj__336);
  Py_CLEAR(clear_module_state->__pyx_codeobj__337);
  Py_CLEAR(clear_module_state->__pyx_codeobj__338);
  Py_CLEAR(clear_module_state->__pyx_codeobj__339);
  Py_CLEAR(clear_module_state->__pyx_codeobj__340);
  Py_CLEAR(clear_module_state->__pyx_codeobj__341);
  Py_CLEAR(clear_module_state->__pyx_codeobj__342);
  Py_CLEAR(clear_module_state->__pyx_codeobj__343);
  Py_CLEAR(clear_module_state->__pyx_codeobj__344);
  Py_CLEAR(clear_module_state->__pyx_codeobj__345);
  Py_CLEAR(clear_module_state->__pyx_codeobj__346);
  Py_CLEAR(clear_module_state->__pyx_codeobj__347);
  Py_CLEAR(clear_module_state->__pyx_codeobj__348);
  Py_CLEAR(clear_module_state->__pyx_codeobj__349);
  Py_CLEAR(clear_module_state->__pyx_codeobj__350);
  Py_CLEAR(clear_module_state->__pyx_codeobj__351);
  Py_CLEAR(clear_module_state->__pyx_codeobj__352);
  Py_CLEAR(clear_module_state->__pyx_codeobj__353);
  Py_CLEAR(clear_module_state->__pyx_codeobj__354);
  Py_CLEAR(clear_module_state->__pyx_codeobj__355);
  Py_CLEAR(clear_module_state->__pyx_codeobj__356);
  Py_CLEAR(clear_module_state->__pyx_codeobj__357);
  Py_CLEAR(clear_module_state->__pyx_codeobj__358);
  Py_CLEAR(clear_module_state->__pyx_codeobj__359);
  Py_CLEAR(clear_module_state->__pyx_codeobj__360);
  Py_CLEAR(clear_module_state->__pyx_codeobj__361);
  Py_CLEAR(clear_module_state->__pyx_codeobj__362);
  Py_CLEAR(clear_module_state->__pyx_codeobj__363);
  Py_CLEAR(clear_module_state->__pyx_codeobj__364);
  Py_CLEAR(clear_module_state->__pyx_codeobj__365);
  Py_CLEAR(clear_module_state->__pyx_codeobj__366);
  Py_CLEAR(clear_module_state->__pyx_codeobj__367);
  Py_CLEAR(clear_module_state->__pyx_codeobj__368);
  Py_CLEAR(clear_module_state->__pyx_codeobj__369);
  Py_CLEAR(clear_module_state->__pyx_codeobj__370);
  Py_CLEAR(clear_module_state->__pyx_codeobj__371);
  Py_CLEAR(clear_module_state->__pyx_codeobj__372);
  Py_CLEAR(clear_module_state->__pyx_codeobj__373);
  Py_CLEAR(clear_module_state->__pyx_codeobj__374);
  Py_CLEAR(clear_module_state->__pyx_codeobj__375);
  Py_CLEAR(clear_module_state->__pyx_codeobj__376);
  Py_CLEAR(clear_module_state->__pyx_codeobj__377);
  Py_CLEAR(clear_module_state->__pyx_codeobj__378);
  Py_CLEAR(clear_module_state->__pyx_codeobj__379);
  Py_CLEAR(clear_module_state->__pyx_codeobj__380);
  Py_CLEAR(clear_module_state->__pyx_codeobj__381);
  Py_CLEAR(clear_module_state->__pyx_codeobj__382);
  Py_CLEAR(clear_module_state->__pyx_codeobj__383);
  Py_CLEAR(clear_module_state->__pyx_codeobj__384);
  Py_CLEAR(clear_module_state->__pyx_codeobj__385);
  Py_CLEAR(clear_module_state->__pyx_codeobj__386);
  Py_CLEAR(clear_module_state->__pyx_codeobj__387);
  Py_CLEAR(clear_module_state->__pyx_codeobj__388);
  Py_CLEAR(clear_module_state->__pyx_codeobj__389);
  Py_CLEAR(clear_module_state->__pyx_codeobj__390);
  Py_CLEAR(clear_module_state->__pyx_codeobj__391);
  Py_CLEAR(clear_module_state->__pyx_codeobj__392);
  Py_CLEAR(clear_module_state->__pyx_codeobj__393);
  Py_CLEAR(clear_module_state->__pyx_codeobj__394);
  Py_CLEAR(clear_module_state->__pyx_codeobj__395);
  Py_CLEAR(clear_module_state->__pyx_codeobj__396);
  Py_CLEAR(clear_module_state->__pyx_codeobj__397);
  Py_CLEAR(clear_module_state->__pyx_codeobj__398);
  Py_CLEAR(clear_module_state->__pyx_codeobj__399);
  Py_CLEAR(clear_module_state->__pyx_codeobj__400);
  Py_CLEAR(clear_module_state->__pyx_codeobj__401);
  Py_CLEAR(clear_module_state->__pyx_codeobj__402);
  Py_CLEAR(clear_module_state->__pyx_codeobj__403);
  Py_CLEAR(clear_module_state->__pyx_codeobj__404);
  Py_CLEAR(clear_module_state->__pyx_codeobj__405);
  Py_CLEAR(clear_module_state->__pyx_codeobj__406);
  Py_CLEAR(clear_module_state->__pyx_codeobj__407);
  Py_CLEAR(clear_module_state->__pyx_codeobj__408);
  Py_CLEAR(clear_module_state->__pyx_codeobj__409);
  Py_CLEAR(clear_module_state->__pyx_codeobj__410);
  Py_CLEAR(clear_module_state->__pyx_codeobj__411);
  Py_CLEAR(clear_module_state->__pyx_codeobj__412);
  Py_CLEAR(clear_module_state->__pyx_codeobj__413);
  Py_CLEAR(clear_module_state->__pyx_codeobj__414);
  Py_CLEAR(clear_module_state->__pyx_codeobj__415);
  Py_CLEAR(clear_module_state->__pyx_codeobj__416);
  Py_CLEAR(clear_module_state->__pyx_codeobj__417);
  Py_CLEAR(clear_module_state->__pyx_codeobj__418);
  Py_CLEAR(clear_module_state->__pyx_codeobj__419);
  Py_CLEAR(clear_module_state->__pyx_codeobj__420);
  Py_CLEAR(clear_module_state->__pyx_codeobj__421);
  Py_CLEAR(clear_module_state->__pyx_codeobj__422);
  Py_CLEAR(clear_module_state->__pyx_codeobj__423);
  Py_CLEAR(clear_module_state->__pyx_codeobj__424);
  Py_CLEAR(clear_module_state->__pyx_codeobj__425);
  Py_CLEAR(clear_module_state->__pyx_codeobj__426);
  Py_CLEAR(clear_module_state->__pyx_codeobj__427);
  Py_CLEAR(clear_module_state->__pyx_codeobj__428);
  Py_CLEAR(clear_module_state->__pyx_codeobj__429);
  Py_CLEAR(clear_module_state->__pyx_codeobj__430);
  Py_CLEAR(clear_module_state->__pyx_codeobj__431);
  Py_CLEAR(clear_module_state->__pyx_codeobj__432);
  Py_CLEAR(clear_module_state->__pyx_codeobj__433);
  Py_CLEAR(clear_module_state->__pyx_codeobj__434);
  Py_CLEAR(clear_module_state->__pyx_codeobj__435);
  Py_CLEAR(clear_module_state->__pyx_codeobj__436);
  Py_CLEAR(clear_module_state->__pyx_codeobj__437);
  Py_CLEAR(clear_module_state->__pyx_codeobj__438);
  Py_CLEAR(clear_module_state->__pyx_codeobj__439);
  Py_CLEAR(clear_module_state->__pyx_codeobj__440);
  Py_CLEAR(clear_module_state->__pyx_codeobj__441);
  Py_CLEAR(clear_module_state->__pyx_codeobj__442);
  Py_CLEAR(clear_module_state->__pyx_codeobj__443);
  Py_CLEAR(clear_module_state->__pyx_codeobj__444);
  Py_CLEAR(clear_module_state->__pyx_codeobj__445);
  Py_CLEAR(clear_module_state->__pyx_codeobj__446);
  Py_CLEAR(clear_module_state->__pyx_codeobj__447);
  Py_CLEAR(clear_module_state->__pyx_codeobj__448);
  Py_CLEAR(clear_module_state->__pyx_codeobj__449);
  Py_CLEAR(clear_module_state->__pyx_codeobj__450);
  Py_CLEAR(clear_module_state->__pyx_codeobj__451);
  Py_CLEAR(clear_module_state->__pyx_codeobj__452);
  Py_CLEAR(clear_module_state->__pyx_codeobj__453);
  Py_CLEAR(clear_module_state->__pyx_codeobj__454);
  Py_CLEAR(clear_module_state->__pyx_codeobj__455);
  Py_CLEAR(clear_module_state->__pyx_codeobj__456);
  Py_CLEAR(clear_module_state->__pyx_codeobj__457);
  Py_CLEAR(clear_module_state->__pyx_codeobj__458);
  Py_CLEAR(clear_module_state->__pyx_codeobj__459);
  Py_CLEAR(clear_module_state->__pyx_codeobj__460);
  Py_CLEAR(clear_module_state->__pyx_codeobj__461);
  Py_CLEAR(clear_module_state->__pyx_codeobj__462);
  Py_CLEAR(clear_module_state->__pyx_codeobj__463);
  Py_CLEAR(clear_module_state->__pyx_codeobj__464);
  Py_CLEAR(clear_module_state->__pyx_codeobj__465);
  Py_CLEAR(clear_module_state->__pyx_codeobj__466);
  Py_CLEAR(clear_module_state->__pyx_codeobj__467);
  Py_CLEAR(clear_module_state->__pyx_codeobj__468);
  Py_CLEAR(clear_module_state->__pyx_codeobj__469);
  Py_CLEAR(clear_module_state->__pyx_codeobj__470);
  Py_CLEAR(clear_module_state->__pyx_codeobj__471);
  Py_CLEAR(clear_module_state->__pyx_codeobj__472);
  Py_CLEAR(clear_module_state->__pyx_codeobj__473);
  Py_CLEAR(clear_module_state->__pyx_codeobj__474);
  Py_CLEAR(clear_module_state->__pyx_codeobj__475);
  Py_CLEAR(clear_module_state->__pyx_codeobj__476);
  Py_CLEAR(clear_module_state->__pyx_codeobj__477);
  Py_CLEAR(clear_module_state->__pyx_codeobj__478);
  Py_CLEAR(clear_module_state->__pyx_codeobj__479);
  Py_CLEAR(clear_module_state->__pyx_codeobj__480);
  Py_CLEAR(clear_module_state->__pyx_codeobj__481);
  Py_CLEAR(clear_module_state->__pyx_codeobj__482);
  Py_CLEAR(clear_module_state->__pyx_codeobj__483);
  Py_CLEAR(clear_module_state->__pyx_codeobj__484);
  Py_CLEAR(clear_module_state->__pyx_codeobj__485);
  Py_CLEAR(clear_module_state->__pyx_codeobj__487);
  Py_CLEAR(clear_module_state->__pyx_codeobj__488);
  Py_CLEAR(clear_module_state->__pyx_codeobj__489);
  Py_CLEAR(clear_module_state->__pyx_codeobj__490);
  Py_CLEAR(clear_module_state->__pyx_codeobj__491);
  Py_CLEAR(clear_module_state->__pyx_codeobj__492);
  Py_CLEAR(clear_module_state->__pyx_codeobj__493);
  Py_CLEAR(clear_module_state->__pyx_codeobj__494);
  Py_CLEAR(clear_module_state->__pyx_codeobj__495);
  Py_CLEAR(clear_module_state->__pyx_codeobj__496);
  Py_CLEAR(clear_module_state->__pyx_codeobj__497);
  Py_CLEAR(clear_module_state->__pyx_codeobj__498);
  Py_CLEAR(clear_module_state->__pyx_codeobj__499);
  Py_CLEAR(clear_module_state->__pyx_codeobj__500);
  Py_CLEAR(clear_module_state->__pyx_codeobj__501);
  Py_CLEAR(clear_module_state->__pyx_codeobj__502);
  Py_CLEAR(clear_module_state->__pyx_codeobj__503);
  Py_CLEAR(clear_module_state->__pyx_codeobj__504);
  Py_CLEAR(clear_module_state->__pyx_codeobj__505);
  Py_CLEAR(clear_module_state->__pyx_codeobj__506);
  Py_CLEAR(clear_module_state->__pyx_codeobj__507);
  Py_CLEAR(clear_module_state->__pyx_codeobj__509);
  Py_CLEAR(clear_module_state->__pyx_codeobj__510);
  Py_CLEAR(clear_module_state->__pyx_codeobj__511);
  Py_CLEAR(clear_module_state->__pyx_codeobj__512);
  Py_CLEAR(clear_module_state->__pyx_codeobj__513);
  Py_CLEAR(clear_module_state->__pyx_codeobj__514);
  Py_CLEAR(clear_module_state->__pyx_codeobj__515);
  Py_CLEAR(clear_module_state->__pyx_codeobj__516);
  Py_CLEAR(clear_module_state->__pyx_codeobj__517);
  Py_CLEAR(clear_module_state->__pyx_codeobj__518);
  Py_CLEAR(clear_module_state->__pyx_codeobj__519);
  Py_CLEAR(clear_module_state->__pyx_codeobj__520);
  Py_CLEAR(clear_module_state->__pyx_codeobj__521);
  Py_CLEAR(clear_module_state->__pyx_codeobj__522);
  Py_CLEAR(clear_module_state->__pyx_codeobj__523);
  Py_CLEAR(clear_module_state->__pyx_codeobj__524);
  Py_CLEAR(clear_module_state->__pyx_codeobj__525);
  Py_CLEAR(clear_module_state->__pyx_codeobj__526);
  Py_CLEAR(clear_module_state->__pyx_codeobj__527);
  Py_CLEAR(clear_module_state->__pyx_codeobj__528);
  Py_CLEAR(clear_module_state->__pyx_codeobj__529);
  Py_CLEAR(clear_module_state->__pyx_codeobj__530);
  Py_CLEAR(clear_module_state->__pyx_codeobj__531);
  Py_CLEAR(clear_module_state->__pyx_codeobj__532);
  Py_CLEAR(clear_module_state->__pyx_codeobj__533);
  Py_CLEAR(clear_module_state->__pyx_codeobj__536);
  Py_CLEAR(clear_module_state->__pyx_codeobj__537);
  Py_CLEAR(clear_module_state->__pyx_codeobj__538);
  Py_CLEAR(clear_module_state->__pyx_codeobj__539);
  Py_CLEAR(clear_module_state->__pyx_codeobj__540);
  Py_CLEAR(clear_module_state->__pyx_codeobj__541);
  Py_CLEAR(clear_module_state->__pyx_codeobj__542);
  Py_CLEAR(clear_module_state->__pyx_codeobj__543);
  Py_CLEAR(clear_module_state->__pyx_codeobj__544);
  Py_CLEAR(clear_module_state->__pyx_codeobj__545);
  Py_CLEAR(clear_module_state->__pyx_codeobj__546);
  Py_CLEAR(clear_module_state->__pyx_codeobj__547);
  Py_CLEAR(clear_module_state->__pyx_codeobj__548);
  Py_CLEAR(clear_module_state->__pyx_codeobj__549);
  Py_CLEAR(clear_module_state->__pyx_codeobj__550);
  Py_CLEAR(clear_module_state->__pyx_codeobj__553);
  Py_CLEAR(clear_module_state->__pyx_codeobj__554);
  Py_CLEAR(clear_module_state->__pyx_codeobj__555);
  Py_CLEAR(clear_module_state->__pyx_codeobj__556);
  Py_CLEAR(clear_module_state->__pyx_codeobj__557);
  Py_CLEAR(clear_module_state->__pyx_codeobj__558);
  Py_CLEAR(clear_module_state->__pyx_codeobj__559);
  Py_CLEAR(clear_module_state->__pyx_codeobj__560);
  Py_CLEAR(clear_module_state->__pyx_codeobj__561);
  Py_CLEAR(clear_module_state->__pyx_codeobj__562);
  Py_CLEAR(clear_module_state->__pyx_codeobj__563);
  Py_CLEAR(clear_module_state->__pyx_codeobj__564);
  Py_CLEAR(clear_module_state->__pyx_codeobj__565);
  Py_CLEAR(clear_module_state->__pyx_codeobj__566);
  Py_CLEAR(clear_module_state->__pyx_codeobj__567);
  Py_CLEAR(clear_module_state->__pyx_codeobj__568);
  Py_CLEAR(clear_module_state->__pyx_codeobj__569);
  Py_CLEAR(clear_module_state->__pyx_codeobj__570);
  Py_CLEAR(clear_module_state->__pyx_codeobj__571);
  Py_CLEAR(clear_module_state->__pyx_codeobj__572);
  Py_CLEAR(clear_module_state->__pyx_codeobj__573);
  Py_CLEAR(clear_module_state->__pyx_codeobj__574);
  Py_CLEAR(clear_module_state->__pyx_codeobj__575);
  Py_CLEAR(clear_module_state->__pyx_codeobj__576);
  Py_CLEAR(clear_module_state->__pyx_codeobj__577);
  Py_CLEAR(clear_module_state->__pyx_codeobj__578);
  Py_CLEAR(clear_module_state->__pyx_codeobj__579);
  Py_CLEAR(clear_module_state->__pyx_codeobj__580);
  Py_CLEAR(clear_module_state->__pyx_codeobj__581);
  Py_CLEAR(clear_module_state->__pyx_codeobj__582);
  Py_CLEAR(clear_module_state->__pyx_codeobj__583);
  Py_CLEAR(clear_module_state->__pyx_codeobj__584);
  Py_CLEAR(clear_module_state->__pyx_codeobj__585);
  Py_CLEAR(clear_module_state->__pyx_codeobj__586);
  Py_CLEAR(clear_module_state->__pyx_codeobj__587);
  Py_CLEAR(clear_module_state->__pyx_codeobj__588);
  Py_CLEAR(clear_module_state->__pyx_codeobj__589);
  Py_CLEAR(clear_module_state->__pyx_codeobj__590);
  Py_CLEAR(clear_module_state->__pyx_codeobj__591);
  Py_CLEAR(clear_module_state->__pyx_codeobj__592);
  Py_CLEAR(clear_module_state->__pyx_codeobj__593);
  Py_CLEAR(clear_module_state->__pyx_codeobj__594);
  Py_CLEAR(clear_module_state->__pyx_codeobj__595);
  Py_CLEAR(clear_module_state->__pyx_codeobj__596);
  Py_CLEAR(clear_module_state->__pyx_codeobj__597);
  Py_CLEAR(clear_module_state->__pyx_codeobj__598);
  Py_CLEAR(clear_module_state->__pyx_codeobj__599);
  Py_CLEAR(clear_module_state->__pyx_codeobj__600);
  Py_CLEAR(clear_module_state->__pyx_codeobj__601);
  Py_CLEAR(clear_module_state->__pyx_codeobj__602);
  Py_CLEAR(clear_module_state->__pyx_codeobj__603);
  Py_CLEAR(clear_module_state->__pyx_codeobj__604);
  Py_CLEAR(clear_module_state->__pyx_codeobj__605);
  Py_CLEAR(clear_module_state->__pyx_codeobj__606);
  Py_CLEAR(clear_module_state->__pyx_codeobj__607);
  Py_CLEAR(clear_module_state->__pyx_codeobj__608);
  Py_CLEAR(clear_module_state->__pyx_codeobj__609);
  Py_CLEAR(clear_module_state->__pyx_codeobj__610);
  Py_CLEAR(clear_module_state->__pyx_codeobj__611);
  Py_CLEAR(clear_module_state->__pyx_codeobj__612);
  Py_CLEAR(clear_module_state->__pyx_codeobj__613);
  Py_CLEAR(clear_module_state->__pyx_codeobj__614);
  Py_CLEAR(clear_module_state->__pyx_codeobj__615);
  Py_CLEAR(clear_module_state->__pyx_codeobj__616);
  Py_CLEAR(clear_module_state->__pyx_codeobj__617);
  Py_CLEAR(clear_module_state->__pyx_codeobj__618);
  Py_CLEAR(clear_module_state->__pyx_codeobj__619);
  Py_CLEAR(clear_module_state->__pyx_codeobj__620);
  Py_CLEAR(clear_module_state->__pyx_codeobj__621);
  Py_CLEAR(clear_module_state->__pyx_codeobj__622);
  Py_CLEAR(clear_module_state->__pyx_codeobj__623);
  Py_CLEAR(clear_module_state->__pyx_codeobj__624);
  Py_CLEAR(clear_module_state->__pyx_codeobj__625);
  Py_CLEAR(clear_module_state->__pyx_codeobj__626);
  Py_CLEAR(clear_module_state->__pyx_codeobj__627);
  Py_CLEAR(clear_module_state->__pyx_codeobj__628);
  Py_CLEAR(clear_module_state->__pyx_codeobj__629);
  Py_CLEAR(clear_module_state->__pyx_codeobj__630);
  Py_CLEAR(clear_module_state->__pyx_codeobj__631);
  Py_CLEAR(clear_module_state->__pyx_codeobj__632);
  Py_CLEAR(clear_module_state->__pyx_codeobj__633);
  Py_CLEAR(clear_module_state->__pyx_codeobj__634);
  Py_CLEAR(clear_module_state->__pyx_codeobj__635);
  Py_CLEAR(clear_module_state->__pyx_codeobj__636);
  Py_CLEAR(clear_module_state->__pyx_codeobj__637);
  Py_CLEAR(clear_module_state->__pyx_codeobj__638);
  Py_CLEAR(clear_module_state->__pyx_codeobj__639);
  Py_CLEAR(clear_module_state->__pyx_codeobj__640);
  Py_CLEAR(clear_module_state->__pyx_codeobj__641);
  Py_CLEAR(clear_module_state->__pyx_codeobj__642);
  Py_CLEAR(clear_module_state->__pyx_codeobj__643);
  Py_CLEAR(clear_module_state->__pyx_codeobj__644);
  Py_CLEAR(clear_module_state->__pyx_codeobj__645);
  Py_CLEAR(clear_module_state->__pyx_codeobj__647);
  Py_CLEAR(clear_module_state->__pyx_codeobj__648);
  Py_CLEAR(clear_module_state->__pyx_codeobj__650);
  Py_CLEAR(clear_module_state->__pyx_codeobj__651);
  Py_CLEAR(clear_module_state->__pyx_codeobj__652);
  Py_CLEAR(clear_module_state->__pyx_codeobj__653);
  Py_CLEAR(clear_module_state->__pyx_codeobj__654);
  Py_CLEAR(clear_module_state->__pyx_codeobj__655);
  Py_CLEAR(clear_module_state->__pyx_codeobj__656);
  Py_CLEAR(clear_module_state->__pyx_codeobj__657);
  Py_CLEAR(clear_module_state->__pyx_codeobj__658);
  Py_CLEAR(clear_module_state->__pyx_codeobj__659);
  Py_CLEAR(clear_module_state->__pyx_codeobj__660);
  Py_CLEAR(clear_module_state->__pyx_codeobj__661);
  Py_CLEAR(clear_module_state->__pyx_codeobj__663);
  Py_CLEAR(clear_module_state->__pyx_codeobj__664);
  Py_CLEAR(clear_module_state->__pyx_codeobj__665);
  Py_CLEAR(clear_module_state->__pyx_codeobj__666);
  Py_CLEAR(clear_module_state->__pyx_codeobj__667);
  Py_CLEAR(clear_module_state->__pyx_codeobj__668);
  Py_CLEAR(clear_module_state->__pyx_codeobj__669);
  Py_CLEAR(clear_module_state->__pyx_codeobj__670);
  Py_CLEAR(clear_module_state->__pyx_codeobj__671);
  Py_CLEAR(clear_module_state->__pyx_codeobj__672);
  Py_CLEAR(clear_module_state->__pyx_codeobj__673);
  Py_CLEAR(clear_module_state->__pyx_codeobj__674);
  Py_CLEAR(clear_module_state->__pyx_codeobj__675);
  Py_CLEAR(clear_module_state->__pyx_codeobj__676);
  Py_CLEAR(clear_module_state->__pyx_codeobj__677);
  Py_CLEAR(clear_module_state->__pyx_codeobj__678);
  Py_CLEAR(clear_module_state->__pyx_codeobj__679);
  Py_CLEAR(clear_module_state->__pyx_codeobj__680);
  Py_CLEAR(clear_module_state->__pyx_codeobj__681);
  Py_CLEAR(clear_module_state->__pyx_codeobj__682);
  Py_CLEAR(clear_module_state->__pyx_codeobj__683);
  Py_CLEAR(clear_module_state->__pyx_codeobj__686);
  Py_CLEAR(clear_module_state->__pyx_codeobj__687);
  Py_CLEAR(clear_module_state->__pyx_codeobj__689);
  Py_CLEAR(clear_module_state->__pyx_codeobj__690);
  Py_CLEAR(clear_module_state->__pyx_codeobj__691);
  Py_CLEAR(clear_module_state->__pyx_codeobj__692);
  Py_CLEAR(clear_module_state->__pyx_codeobj__693);
  Py_CLEAR(clear_module_state->__pyx_codeobj__694);
  Py_CLEAR(clear_module_state->__pyx_codeobj__695);
  Py_CLEAR(clear_module_state->__pyx_codeobj__696);
  Py_CLEAR(clear_module_state->__pyx_codeobj__697);
  Py_CLEAR(clear_module_state->__pyx_codeobj__698);
  Py_CLEAR(clear_module_state->__pyx_codeobj__701);
  Py_CLEAR(clear_module_state->__pyx_codeobj__702);
  Py_CLEAR(clear_module_state->__pyx_codeobj__703);
  Py_CLEAR(clear_module_state->__pyx_codeobj__704);
  Py_CLEAR(clear_module_state->__pyx_codeobj__705);
  Py_CLEAR(clear_module_state->__pyx_codeobj__706);
  Py_CLEAR(clear_module_state->__pyx_codeobj__707);
  Py_CLEAR(clear_module_state->__pyx_codeobj__708);
  Py_CLEAR(clear_module_state->__pyx_codeobj__709);
  Py_CLEAR(clear_module_state->__pyx_codeobj__710);
  Py_CLEAR(clear_module_state->__pyx_codeobj__711);
  Py_CLEAR(clear_module_state->__pyx_codeobj__712);
  Py_CLEAR(clear_module_state->__pyx_codeobj__713);
  Py_CLEAR(clear_module_state->__pyx_codeobj__714);
  Py_CLEAR(clear_module_state->__pyx_codeobj__715);
  Py_CLEAR(clear_module_state->__pyx_codeobj__716);
  Py_CLEAR(clear_module_state->__pyx_codeobj__717);
  Py_CLEAR(clear_module_state->__pyx_codeobj__718);
  Py_CLEAR(clear_module_state->__pyx_codeobj__719);
  Py_CLEAR(clear_module_state->__pyx_codeobj__720);
  Py_CLEAR(clear_module_state->__pyx_codeobj__721);
  Py_CLEAR(clear_module_state->__pyx_codeobj__722);
  Py_CLEAR(clear_module_state->__pyx_codeobj__723);
  Py_CLEAR(clear_module_state->__pyx_codeobj__724);
  Py_CLEAR(clear_module_state->__pyx_codeobj__725);
  Py_CLEAR(clear_module_state->__pyx_codeobj__726);
  Py_CLEAR(clear_module_state->__pyx_codeobj__727);
  Py_CLEAR(clear_module_state->__pyx_codeobj__730);
  Py_CLEAR(clear_module_state->__pyx_codeobj__732);
  Py_CLEAR(clear_module_state->__pyx_codeobj__733);
  Py_CLEAR(clear_module_state->__pyx_codeobj__734);
  Py_CLEAR(clear_module_state->__pyx_codeobj__735);
  Py_CLEAR(clear_module_state->__pyx_codeobj__736);
  Py_CLEAR(clear_module_state->__pyx_codeobj__737);
  Py_CLEAR(clear_module_state->__pyx_codeobj__739);
  Py_CLEAR(clear_module_state->__pyx_codeobj__740);
  Py_CLEAR(clear_module_state->__pyx_codeobj__741);
  Py_CLEAR(clear_module_state->__pyx_codeobj__742);
  Py_CLEAR(clear_module_state->__pyx_codeobj__743);
  Py_CLEAR(clear_module_state->__pyx_codeobj__744);
  Py_CLEAR(clear_module_state->__pyx_codeobj__745);
  Py_CLEAR(clear_module_state->__pyx_codeobj__746);
  Py_CLEAR(clear_module_state->__pyx_codeobj__747);
  Py_CLEAR(clear_module_state->__pyx_codeobj__748);
  Py_CLEAR(clear_module_state->__pyx_codeobj__749);
  Py_CLEAR(clear_module_state->__pyx_codeobj__750);
  Py_CLEAR(clear_module_state->__pyx_codeobj__752);
  Py_CLEAR(clear_module_state->__pyx_codeobj__753);
  Py_CLEAR(clear_module_state->__pyx_codeobj__754);
  Py_CLEAR(clear_module_state->__pyx_codeobj__755);
  Py_CLEAR(clear_module_state->__pyx_codeobj__756);
  Py_CLEAR(clear_module_state->__pyx_codeobj__757);
  Py_CLEAR(clear_module_state->__pyx_codeobj__758);
  Py_CLEAR(clear_module_state->__pyx_codeobj__759);
  Py_CLEAR(clear_module_state->__pyx_codeobj__760);
  Py_CLEAR(clear_module_state->__pyx_codeobj__761);
  Py_CLEAR(clear_module_state->__pyx_codeobj__762);
  Py_CLEAR(clear_module_state->__pyx_codeobj__763);
  Py_CLEAR(clear_module_state->__pyx_codeobj__764);
  Py_CLEAR(clear_module_state->__pyx_codeobj__765);
  Py_CLEAR(clear_module_state->__pyx_codeobj__766);
  Py_CLEAR(clear_module_state->__pyx_codeobj__767);
  Py_CLEAR(clear_module_state->__pyx_codeobj__768);
  Py_CLEAR(clear_module_state->__pyx_codeobj__769);
  Py_CLEAR(clear_module_state->__pyx_codeobj__770);
  Py_CLEAR(clear_module_state->__pyx_codeobj__771);
  Py_CLEAR(clear_module_state->__pyx_codeobj__772);
  Py_CLEAR(clear_module_state->__pyx_codeobj__773);
  Py_CLEAR(clear_module_state->__pyx_codeobj__774);
  Py_CLEAR(clear_module_state->__pyx_codeobj__775);
  Py_CLEAR(clear_module_state->__pyx_codeobj__776);
  Py_CLEAR(clear_module_state->__pyx_codeobj__777);
  Py_CLEAR(clear_module_state->__pyx_codeobj__778);
  Py_CLEAR(clear_module_state->__pyx_codeobj__779);
  Py_CLEAR(clear_module_state->__pyx_codeobj__780);
  Py_CLEAR(clear_module_state->__pyx_codeobj__781);
  Py_CLEAR(clear_module_state->__pyx_codeobj__782);
  Py_CLEAR(clear_module_state->__pyx_codeobj__783);
  Py_CLEAR(clear_module_state->__pyx_codeobj__784);
  Py_CLEAR(clear_module_state->__pyx_codeobj__785);
  Py_CLEAR(clear_module_state->__pyx_codeobj__786);
  Py_CLEAR(clear_module_state->__pyx_codeobj__787);
  Py_CLEAR(clear_module_state->__pyx_codeobj__788);
  Py_CLEAR(clear_module_state->__pyx_codeobj__789);
  Py_CLEAR(clear_module_state->__pyx_codeobj__790);
  Py_CLEAR(clear_module_state->__pyx_codeobj__791);
  Py_CLEAR(clear_module_state->__pyx_codeobj__792);
  Py_CLEAR(clear_module_state->__pyx_codeobj__793);
  Py_CLEAR(clear_module_state->__pyx_codeobj__794);
  Py_CLEAR(clear_module_state->__pyx_codeobj__795);
  Py_CLEAR(clear_module_state->__pyx_codeobj__796);
  Py_CLEAR(clear_module_state->__pyx_codeobj__797);
  Py_CLEAR(clear_module_state->__pyx_codeobj__798);
  Py_CLEAR(clear_module_state->__pyx_codeobj__799);
  Py_CLEAR(clear_module_state->__pyx_codeobj__800);
  Py_CLEAR(clear_module_state->__pyx_codeobj__801);
  Py_CLEAR(clear_module_state->__pyx_codeobj__802);
  Py_CLEAR(clear_module_state->__pyx_codeobj__803);
  Py_CLEAR(clear_module_state->__pyx_codeobj__804);
  Py_CLEAR(clear_module_state->__pyx_codeobj__805);
  Py_CLEAR(clear_module_state->__pyx_codeobj__806);
  Py_CLEAR(clear_module_state->__pyx_codeobj__807);
  Py_CLEAR(clear_module_state->__pyx_codeobj__808);
  Py_CLEAR(clear_module_state->__pyx_codeobj__809);
  Py_CLEAR(clear_module_state->__pyx_codeobj__810);
  Py_CLEAR(clear_module_state->__pyx_codeobj__811);
  Py_CLEAR(clear_module_state->__pyx_codeobj__812);
  Py_CLEAR(clear_module_state->__pyx_codeobj__813);
  Py_CLEAR(clear_module_state->__pyx_codeobj__814);
  Py_CLEAR(clear_module_state->__pyx_codeobj__817);
  Py_CLEAR(clear_module_state->__pyx_codeobj__819);
  Py_CLEAR(clear_module_state->__pyx_codeobj__820);
  Py_CLEAR(clear_module_state->__pyx_codeobj__821);
  Py_CLEAR(clear_module_state->__pyx_codeobj__822);
  Py_CLEAR(clear_module_state->__pyx_codeobj__823);
  Py_CLEAR(clear_module_state->__pyx_codeobj__824);
  Py_CLEAR(clear_module_state->__pyx_codeobj__825);
  Py_CLEAR(clear_module_state->__pyx_codeobj__826);
  Py_CLEAR(clear_module_state->__pyx_codeobj__827);
  Py_CLEAR(clear_module_state->__pyx_codeobj__828);
  Py_CLEAR(clear_module_state->__pyx_codeobj__829);
  Py_CLEAR(clear_module_state->__pyx_codeobj__830);
  Py_CLEAR(clear_module_state->__pyx_codeobj__831);
  Py_CLEAR(clear_module_state->__pyx_codeobj__832);
  Py_CLEAR(clear_module_state->__pyx_codeobj__833);
  Py_CLEAR(clear_module_state->__pyx_codeobj__834);
  Py_CLEAR(clear_module_state->__pyx_codeobj__835);
  Py_CLEAR(clear_module_state->__pyx_codeobj__836);
  Py_CLEAR(clear_module_state->__pyx_codeobj__837);
  Py_CLEAR(clear_module_state->__pyx_codeobj__838);
  Py_CLEAR(clear_module_state->__pyx_codeobj__839);
  Py_CLEAR(clear_module_state->__pyx_codeobj__840);
  Py_CLEAR(clear_module_state->__pyx_codeobj__841);
  Py_CLEAR(clear_module_state->__pyx_codeobj__842);
  Py_CLEAR(clear_module_state->__pyx_codeobj__843);
  Py_CLEAR(clear_module_state->__pyx_codeobj__844);
  Py_CLEAR(clear_module_state->__pyx_codeobj__845);
  Py_CLEAR(clear_module_state->__pyx_codeobj__846);
  Py_CLEAR(clear_module_state->__pyx_codeobj__847);
  Py_CLEAR(clear_module_state->__pyx_codeobj__848);
  Py_CLEAR(clear_module_state->__pyx_codeobj__849);
  Py_CLEAR(clear_module_state->__pyx_codeobj__850);
  Py_CLEAR(clear_module_state->__pyx_codeobj__851);
  Py_CLEAR(clear_module_state->__pyx_codeobj__852);
  Py_CLEAR(clear_module_state->__pyx_codeobj__853);
  Py_CLEAR(clear_module_state->__pyx_codeobj__854);
  Py_CLEAR(clear_module_state->__pyx_codeobj__855);
  Py_CLEAR(clear_module_state->__pyx_codeobj__856);
  Py_CLEAR(clear_module_state->__pyx_codeobj__857);
  Py_CLEAR(clear_module_state->__pyx_codeobj__858);
  Py_CLEAR(clear_module_state->__pyx_codeobj__859);
  Py_CLEAR(clear_module_state->__pyx_codeobj__860);
  Py_CLEAR(clear_module_state->__pyx_codeobj__861);
  Py_CLEAR(clear_module_state->__pyx_codeobj__862);
  Py_CLEAR(clear_module_state->__pyx_codeobj__863);
  Py_CLEAR(clear_module_state->__pyx_codeobj__864);
  Py_CLEAR(clear_module_state->__pyx_codeobj__865);
  Py_CLEAR(clear_module_state->__pyx_codeobj__866);
  Py_CLEAR(clear_module_state->__pyx_codeobj__867);
  Py_CLEAR(clear_module_state->__pyx_codeobj__868);
  Py_CLEAR(clear_module_state->__pyx_codeobj__869);
  Py_CLEAR(clear_module_state->__pyx_codeobj__870);
  Py_CLEAR(clear_module_state->__pyx_codeobj__871);
  Py_CLEAR(clear_module_state->__pyx_codeobj__872);
  Py_CLEAR(clear_module_state->__pyx_codeobj__873);
  Py_CLEAR(clear_module_state->__pyx_codeobj__874);
  Py_CLEAR(clear_module_state->__pyx_codeobj__875);
  Py_CLEAR(clear_module_state->__pyx_codeobj__876);
  Py_CLEAR(clear_module_state->__pyx_codeobj__877);
  Py_CLEAR(clear_module_state->__pyx_codeobj__878);
  Py_CLEAR(clear_module_state->__pyx_codeobj__879);
  Py_CLEAR(clear_module_state->__pyx_codeobj__880);
  Py_CLEAR(clear_module_state->__pyx_codeobj__881);
  Py_CLEAR(clear_module_state->__pyx_codeobj__882);
  Py_CLEAR(clear_module_state->__pyx_codeobj__883);
  Py_CLEAR(clear_module_state->__pyx_codeobj__884);
  Py_CLEAR(clear_module_state->__pyx_codeobj__885);
  Py_CLEAR(clear_module_state->__pyx_codeobj__886);
  Py_CLEAR(clear_module_state->__pyx_codeobj__887);
  Py_CLEAR(clear_module_state->__pyx_codeobj__888);
  Py_CLEAR(clear_module_state->__pyx_codeobj__889);
  Py_CLEAR(clear_module_state->__pyx_codeobj__890);
  Py_CLEAR(clear_module_state->__pyx_codeobj__891);
  Py_CLEAR(clear_module_state->__pyx_codeobj__892);
  Py_CLEAR(clear_module_state->__pyx_codeobj__893);
  Py_CLEAR(clear_module_state->__pyx_codeobj__894);
  Py_CLEAR(clear_module_state->__pyx_codeobj__895);
  Py_CLEAR(clear_module_state->__pyx_codeobj__896);
  Py_CLEAR(clear_module_state->__pyx_codeobj__897);
  Py_CLEAR(clear_module_state->__pyx_codeobj__898);
  Py_CLEAR(clear_module_state->__pyx_codeobj__899);
  Py_CLEAR(clear_module_state->__pyx_codeobj__904);
  Py_CLEAR(clear_module_state->__pyx_codeobj__907);
  Py_CLEAR(clear_module_state->__pyx_codeobj__908);
  Py_CLEAR(clear_module_state->__pyx_codeobj__909);
  Py_CLEAR(clear_module_state->__pyx_codeobj__910);
  Py_CLEAR(clear_module_state->__pyx_codeobj__911);
  Py_CLEAR(clear_module_state->__pyx_codeobj__912);
  Py_CLEAR(clear_module_state->__pyx_codeobj__913);
  Py_CLEAR(clear_module_state->__pyx_codeobj__914);
  Py_CLEAR(clear_module_state->__pyx_codeobj__915);
  Py_CLEAR(clear_module_state->__pyx_codeobj__916);
  Py_CLEAR(clear_module_state->__pyx_codeobj__917);
  Py_CLEAR(clear_module_state->__pyx_codeobj__918);
  Py_CLEAR(clear_module_state->__pyx_codeobj__919);
  Py_CLEAR(clear_module_state->__pyx_codeobj__920);
  Py_CLEAR(clear_module_state->__pyx_codeobj__921);
  Py_CLEAR(clear_module_state->__pyx_codeobj__922);
  Py_CLEAR(clear_module_state->__pyx_codeobj__923);
  Py_CLEAR(clear_module_state->__pyx_codeobj__924);
  Py_CLEAR(clear_module_state->__pyx_codeobj__925);
  Py_CLEAR(clear_module_state->__pyx_codeobj__926);
  Py_CLEAR(clear_module_state->__pyx_codeobj__927);
  Py_CLEAR(clear_module_state->__pyx_codeobj__928);
  Py_CLEAR(clear_module_state->__pyx_codeobj__929);
  Py_CLEAR(clear_module_state->__pyx_codeobj__930);
  Py_CLEAR(clear_module_state->__pyx_codeobj__931);
  Py_CLEAR(clear_module_state->__pyx_codeobj__932);
  Py_CLEAR(clear_module_state->__pyx_codeobj__934);
  Py_CLEAR(clear_module_state->__pyx_codeobj__935);
  Py_CLEAR(clear_module_state->__pyx_codeobj__936);
  Py_CLEAR(clear_module_state->__pyx_codeobj__937);
  Py_CLEAR(clear_module_state->__pyx_codeobj__938);
  Py_CLEAR(clear_module_state->__pyx_codeobj__939);
  Py_CLEAR(clear_module_state->__pyx_codeobj__940);
  Py_CLEAR(clear_module_state->__pyx_codeobj__941);
  Py_CLEAR(clear_module_state->__pyx_codeobj__942);
  Py_CLEAR(clear_module_state->__pyx_codeobj__943);
  Py_CLEAR(clear_module_state->__pyx_codeobj__944);
  Py_CLEAR(clear_module_state->__pyx_codeobj__945);
  Py_CLEAR(clear_module_state->__pyx_codeobj__946);
  Py_CLEAR(clear_module_state->__pyx_codeobj__947);
  Py_CLEAR(clear_module_state->__pyx_codeobj__948);
  Py_CLEAR(clear_module_state->__pyx_codeobj__949);
  Py_CLEAR(clear_module_state->__pyx_codeobj__950);
  Py_CLEAR(clear_module_state->__pyx_codeobj__951);
  Py_CLEAR(clear_module_state->__pyx_codeobj__952);
  Py_CLEAR(clear_module_state->__pyx_codeobj__953);
  Py_CLEAR(clear_module_state->__pyx_codeobj__954);
  Py_CLEAR(clear_module_state->__pyx_codeobj__955);
  Py_CLEAR(clear_module_state->__pyx_codeobj__956);
  Py_CLEAR(clear_module_state->__pyx_codeobj__957);
  Py_CLEAR(clear_module_state->__pyx_codeobj__958);
  return 0;
}
#endif
/* #### Code section: module_state_traverse ### */
#if CYTHON_USE_MODULE_STATE
static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
  __pyx_mstate *traverse_module_state = __pyx_mstate(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);
  Py_VISIT(traverse_module_state->__pyx_empty_tuple);
  Py_VISIT(traverse_module_state->__pyx_empty_bytes);
  Py_VISIT(traverse_module_state->__pyx_empty_unicode);
  #ifdef __Pyx_CyFunction_USED
  Py_VISIT(traverse_module_state->__pyx_CyFunctionType);
  #endif
  #ifdef __Pyx_FusedFunction_USED
  Py_VISIT(traverse_module_state->__pyx_FusedFunctionType);
  #endif
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperKernelParams);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemPool_attribute);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperCUmem_range_attribute);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperCUpointer_attribute);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperCUgraphMem_attribute);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperCUjit_option);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperCUlibraryOption);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemAllocationHandleType);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4_lib_5utils_HelperCUcoredumpSettings);
  Py_VISIT(traverse_module_state->__pyx_ptype_7cpython_4type_type);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUcontext);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUcontext);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmodule);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmodule);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUfunction);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUfunction);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUlibrary);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUlibrary);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUkernel);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUkernel);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUarray);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUarray);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmipmappedArray);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmipmappedArray);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUtexref);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUtexref);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUsurfref);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUsurfref);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUevent);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUevent);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUstream);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUstream);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUgraphicsResource);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUgraphicsResource);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUexternalMemory);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUexternalMemory);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUexternalSemaphore);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUexternalSemaphore);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUgraph);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUgraph);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUgraphNode);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUgraphNode);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUgraphExec);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUgraphExec);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemoryPool);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemoryPool);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUuserObject);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUuserObject);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUgraphDeviceNode);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUgraphDeviceNode);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUasyncCallbackHandle);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUlinkState);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUlinkState);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUgreenCtx);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUgreenCtx);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUdevResourceDesc);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUdevResourceDesc);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUeglStreamConnection);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUeglStreamConnection);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_EGLImageKHR);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_EGLImageKHR);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_EGLStreamKHR);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_EGLStreamKHR);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_EGLSyncKHR);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_EGLSyncKHR);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUasyncCallback);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUasyncCallback);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUhostFn);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUhostFn);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUstreamCallback);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUstreamCallback);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUoccupancyB2DSize);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUuuid_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUuuid_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemFabricHandle_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUipcEventHandle_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUipcEventHandle_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUipcMemHandle_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUipcMemHandle_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUstreamMemOpWaitValueParams_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUstreamMemOpWriteValueParams_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_union);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct0);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct0);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_union2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_union2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUasyncNotificationInfo_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUdevprop_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUdevprop_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUaccessPolicyWindow_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUgraphEdgeData_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct3);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct3);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct4);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct4);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUlaunchAttributeValue_union);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUlaunchAttribute_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUlaunchConfig_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUlaunchConfig_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUexecAffinitySmCount_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_union3);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_union3);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUexecAffinityParam_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct5);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct5);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct6);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct6);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct7);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct7);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct8);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct8);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct9);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct9);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct10);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct10);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_union4);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_union4);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUtensorMap_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUtensorMap_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct11);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct11);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_union5);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_union5);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct12);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct12);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_union6);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_union6);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct13);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct13);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_union7);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_union7);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct14);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct14);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct15);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct15);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct16);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct16);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_union8);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_union8);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct17);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct17);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct18);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct18);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_union9);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_union9);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct19);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct19);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct20);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct20);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_union10);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_union10);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_union11);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_union11);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUarrayMapInfo_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemLocation_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemLocation_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_struct21);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_struct21);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemAllocationProp_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmulticastObjectProp_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemAccessDesc_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemPoolProps_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemPoolProps_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUgraphNodeParams_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUdevSmResource_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUdevSmResource_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUdevResource_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUdevResource_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_anon_union14);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_anon_union14);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUeglFrame_st);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUeglFrame_st);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUdeviceptr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUdeviceptr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUdevice);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUdevice);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUtexObject);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUtexObject);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUsurfObject);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUsurfObject);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUgraphConditionalHandle);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUuuid);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUuuid);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemFabricHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemFabricHandle);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemFabricHandle);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUipcEventHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUipcEventHandle);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUipcEventHandle);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUipcMemHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUipcMemHandle);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUipcMemHandle);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUasyncNotificationInfo);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUdevprop_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUdevprop_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUdevprop);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUdevprop);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUaccessPolicyWindow_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUaccessPolicyWindow);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUgraphEdgeData);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUgraphEdgeData);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUlaunchAttributeValue);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUlaunchAttribute);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUlaunchAttribute);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUlaunchConfig);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUlaunchConfig);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUkernelNodeAttrValue_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUkernelNodeAttrValue);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUstreamAttrValue_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUstreamAttrValue);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUstreamAttrValue);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUexecAffinitySmCount_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUexecAffinitySmCount);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUexecAffinityParam_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUexecAffinityParam);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUexecAffinityParam);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUtensorMap);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUtensorMap);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUarrayMapInfo_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUarrayMapInfo);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUarrayMapInfo);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemLocation_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemLocation_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemLocation);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemLocation);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemAllocationProp_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemAllocationProp);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemAllocationProp);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmulticastObjectProp_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmulticastObjectProp);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemAccessDesc_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemAccessDesc);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemAccessDesc);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemPoolProps_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemPoolProps);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemPoolProps);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUgraphNodeParams);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUgraphNodeParams);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUdevSmResource);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUdevSmResource);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUdevResource_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUdevResource_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUdevResource);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUdevResource);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUeglFrame_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUeglFrame_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUeglFrame);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUeglFrame);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_cuuint32_t);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_cuuint32_t);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_cuuint64_t);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_cuuint64_t);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUdeviceptr_v2);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUdeviceptr_v2);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUdevice_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUdevice_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUtexObject_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUtexObject_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUsurfObject_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUsurfObject_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_GLenum);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_GLenum);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_GLuint);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_GLuint);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_EGLint);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_EGLint);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_VdpDevice);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_VdpDevice);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_VdpGetProcAddress);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_VdpGetProcAddress);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_VdpVideoSurface);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_VdpVideoSurface);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda_VdpOutputSurface);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda_VdpOutputSurface);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct__genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct__genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_1_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_1_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_2_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_2_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_3_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_3_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_4_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_4_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_5_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_5_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_6_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_6_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_7_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_7_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_8_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_8_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_9_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_9_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_10_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_10_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_11_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_11_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_12_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_12_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_13_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_13_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_14_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_14_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_15_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_15_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_16_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_16_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_17_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_17_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_18_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_18_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_19_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_19_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_20_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_20_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_21_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_21_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_22_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_22_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_23_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_23_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_24_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_24_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_25_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_25_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_26_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_26_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_27_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_27_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_28_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_28_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_29_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_29_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_30_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_30_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_31_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_31_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_32_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_32_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_33_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_33_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_34_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_34_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_35_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_35_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_36_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_36_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_37_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_37_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_38_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_38_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_39_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_39_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_40_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_40_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_41_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_41_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_42_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_42_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_43_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_43_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_44_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_44_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_45_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_45_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_46_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_46_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_47_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_47_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_48_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_48_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_49_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_49_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_50_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_50_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_51_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_51_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_52_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_52_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_53_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_53_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_54_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_54_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_55_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_55_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_56_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_56_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_57_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_57_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_58_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_58_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_59_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_59_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_60_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_60_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_61_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_4cuda_4cuda___pyx_scope_struct_61_genexpr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Access_flags_that_specify_the_l);
  Py_VISIT(traverse_module_state->__pyx_n_s_Any);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_attributes_is_not_insta);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_attributes_is_not_insta_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_boxDim_is_not_instance);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_conn_is_not_instance_of);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_dataSizes_is_not_instan);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_dependencies_is_not_ins);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_dependencyData_is_not_i);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_desc_is_not_instance_of);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_edgeData_is_not_instanc);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_elementStrides_is_not_i);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_extSemArray_is_not_inst);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_from__is_not_instance_o);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_globalDim_is_not_instan);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_globalStrides_is_not_in);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_jitOptions_is_not_insta);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_launchParamsList_is_not);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_libraryOptions_is_not_i);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_mapInfoList_is_not_inst);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_map_is_not_instance_of);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_options_is_not_instance);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_pCudaResource_is_not_in);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_pStream_is_not_instance);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_paramArray_is_not_insta);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_paramsArray_is_not_inst);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_paramsArray_is_not_inst_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_paramsArray_is_not_inst_3);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_pixelBoxLowerCorner_is);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_pixelBoxUpperCorner_is);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_resources_is_not_instan);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_resources_is_not_instan_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_to_is_not_instance_of_t);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Argument_vdpGetProcAddress_is_no);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Array_formats);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Array_indices_for_cube_faces);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Bitmasks_for_py_obj_CU_DEVICE_A);
  Py_VISIT(traverse_module_state->__pyx_n_s_ByteCount);
  Py_VISIT(traverse_module_state->__pyx_n_s_ByteOffset);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY3D_2DARRAY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY3D_COLOR_ATTACHMENT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY3D_CUBEMAP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY3D_DEFERRED_MAPPING);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY3D_DEPTH_TEXTURE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st___red);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st___set);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st_getPt);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY3D_LAYERED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY3D_SPARSE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY3D_SURFACE_LDST);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY3D_TEXTURE_GATHER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st___reduc);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st___setst);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_v);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS___r);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS___s);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS_get);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_COOPERATIVE_LAUNCH_MULTI_DE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_COOPERATIVE_LAUNCH_MULTI_DE_2);
  Py_VISIT(traverse_module_state->__pyx_kp_s_CUDA_EGL_Color_Format_The_diffe);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EGL_INFINITE_TIMEOUT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_ALREADY_ACQUIRED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_ALREADY_MAPPED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_ARRAY_IS_MAPPED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_ASSERT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_CAPTURED_EVENT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_CDP_NOT_SUPPORTED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_CDP_VERSION_MISMATCH);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_COMPAT_NOT_SUPPORTED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_CONTEXT_ALREADY_CURRE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_CONTEXT_ALREADY_IN_US);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_CONTEXT_IS_DESTROYED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_COOPERATIVE_LAUNCH_TO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_DEINITIALIZED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_DEVICE_NOT_LICENSED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_DEVICE_UNAVAILABLE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_ECC_UNCORRECTABLE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_EXTERNAL_DEVICE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_FILE_NOT_FOUND);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_FUNCTION_NOT_LOADED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_HARDWARE_STACK_ERROR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_HOST_MEMORY_ALREADY_R);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_HOST_MEMORY_NOT_REGIS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_ILLEGAL_ADDRESS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_ILLEGAL_INSTRUCTION);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_ILLEGAL_STATE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_INVALID_ADDRESS_SPACE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_INVALID_CLUSTER_SIZE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_INVALID_CONTEXT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_INVALID_DEVICE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_INVALID_GRAPHICS_CONT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_INVALID_HANDLE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_INVALID_IMAGE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_INVALID_PC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_INVALID_PTX);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_INVALID_RESOURCE_CONF);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_INVALID_RESOURCE_TYPE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_INVALID_SOURCE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_INVALID_VALUE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_JIT_COMPILATION_DISAB);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_JIT_COMPILER_NOT_FOUN);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_LAUNCH_FAILED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_LAUNCH_INCOMPATIBLE_T);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_LAUNCH_OUT_OF_RESOURC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_LAUNCH_TIMEOUT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_LOSSY_QUERY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_MAP_FAILED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_MISALIGNED_ADDRESS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_MPS_CLIENT_TERMINATED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_MPS_CONNECTION_FAILED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_MPS_MAX_CLIENTS_REACH);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_MPS_MAX_CONNECTIONS_R);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_MPS_RPC_FAILURE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_MPS_SERVER_NOT_READY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_NOT_FOUND);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_NOT_INITIALIZED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_NOT_MAPPED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_NOT_MAPPED_AS_ARRAY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_NOT_MAPPED_AS_POINTER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_NOT_PERMITTED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_NOT_READY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_NOT_SUPPORTED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_NO_BINARY_FOR_GPU);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_NO_DEVICE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_NVLINK_UNCORRECTABLE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_OPERATING_SYSTEM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_OUT_OF_MEMORY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_PEER_ACCESS_ALREADY_E);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_PEER_ACCESS_NOT_ENABL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_PEER_ACCESS_UNSUPPORT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_PRIMARY_CONTEXT_ACTIV);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_PROFILER_ALREADY_STAR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_PROFILER_ALREADY_STOP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_PROFILER_DISABLED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_PROFILER_NOT_INITIALI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_SHARED_OBJECT_INIT_FA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_SHARED_OBJECT_SYMBOL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_IMPLIC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_INVALI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_ISOLAT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_MERGE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNJOIN);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNMATC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNSUPP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_WRONG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_STUB_LIBRARY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_SYSTEM_DRIVER_MISMATC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_SYSTEM_NOT_READY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_TIMEOUT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_TOO_MANY_PEERS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_UNKNOWN);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_UNMAP_FAILED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_UNSUPPORTED_DEVSIDE_S);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_UNSUPPORTED_EXEC_AFFI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_UNSUPPORTED_LIMIT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_ERROR_UNSUPPORTED_PTX_VERSI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_g);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_6);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_DEDICATED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_6);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_6);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_6);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_6);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_S);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_6);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_10);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_11);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_6);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_7);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_8);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_9);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_5);
  Py_VISIT(traverse_module_state->__pyx_kp_s_CUDA_EglFrame_type_array_or_poi);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_ERROR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_DEVI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_UPLO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_USE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_INVALID_S);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_MULTIPLE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_NODE_OPER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_SUCCESS);
  Py_VISIT(traverse_module_state->__pyx_kp_s_CUDA_Graph_Update_error_types);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_st___reduc);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_st___setst);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st___re);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st___se);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st_getP);
  Py_VISIT(traverse_module_state->__pyx_kp_s_CUDA_Ipc_Mem_Flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st___red);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st___set);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st_getPt);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_ge);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_ge);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_LAUNCH_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_LAUNCH_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_LAUNCH_PARAMS_st___reduce_c);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_LAUNCH_PARAMS_st___setstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_LAUNCH_PARAMS_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_LAUNCH_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_kp_s_CUDA_Lazy_Loading_status);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY2D);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY2D_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY2D_st___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY2D_st___setstate_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY2D_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY2D_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY3D);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY3D_PEER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY3D_PEER_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY3D_PEER_st___reduce_c);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY3D_PEER_st___setstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY3D_PEER_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY3D_PEER_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY3D_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY3D_st___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY3D_st___setstate_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY3D_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY3D_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st___red);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st___set);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st_getPt);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st___red);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st___set);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st_getPt);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_ge);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st___r);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st___s);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st_get);
  Py_VISIT(traverse_module_state->__pyx_kp_s_CUDA_Mem_Attach_Flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_NVSCISYNC_ATTR_SIGNAL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_NVSCISYNC_ATTR_WAIT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_ACCESS_FL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_6);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_RESOURCE_DESC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_RESOURCE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_RESOURCE_DESC_st___reduce_c);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_RESOURCE_DESC_st___setstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_RESOURCE_DESC_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_RESOURCE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st___red);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st___set);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st_getPt);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_SUCCESS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_TEXTURE_DESC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_TEXTURE_DESC_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_TEXTURE_DESC_st___reduce_cy);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_TEXTURE_DESC_st___setstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_TEXTURE_DESC_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_TEXTURE_DESC_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUDA_VERSION);
  Py_VISIT(traverse_module_state->__pyx_kp_s_CUDA_devices_corresponding_to_a);
  Py_VISIT(traverse_module_state->__pyx_kp_s_CUDA_memory_pool_attributes);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUGLDeviceList);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUGLmap_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUGPUDirectRDMAWritesOrdering);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_ACCESS_PROPERTY_NORMAL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_ACCESS_PROPERTY_PERSISTING);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_ACCESS_PROPERTY_STREAMING);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_BC1_UNORM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_BC1_UNORM_SRGB);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_BC2_UNORM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_BC2_UNORM_SRGB);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_BC3_UNORM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_BC3_UNORM_SRGB);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_BC4_SNORM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_BC4_UNORM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_BC5_SNORM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_BC5_UNORM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_BC6H_SF16);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_BC6H_UF16);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_BC7_UNORM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_BC7_UNORM_SRGB);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_FLOAT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_HALF);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_NV12);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_SIGNED_INT16);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_SIGNED_INT32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_SIGNED_INT8);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_SNORM_INT16X1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_SNORM_INT16X2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_SNORM_INT16X4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_SNORM_INT8X1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_SNORM_INT8X2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_SNORM_INT8X4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_UNORM_INT16X1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_UNORM_INT16X2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_UNORM_INT16X4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_UNORM_INT8X1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_UNORM_INT8X2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_UNORM_INT8X4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT16);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT8);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_ARRAY_SPARSE_PROPERTIES_SINGL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_ASYNC_NOTIFICATION_TYPE_OVER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_DEF);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_LOA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_SPR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_COMPUTEMODE_DEFAULT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_COMPUTEMODE_EXCLUSIVE_PROCESS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_COMPUTEMODE_PROHIBITED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_COMPUTE_ACCELERATED_TARGET_BA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_COREDUMP_ENABLE_ON_EXCEPTION);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_COREDUMP_ENABLE_USER_TRIGGER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_COREDUMP_FILE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_COREDUMP_LIGHTWEIGHT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_COREDUMP_MAX);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_COREDUMP_PIPE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_COREDUMP_TRIGGER_HOST);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CTX_BLOCKING_SYNC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CTX_COREDUMP_ENABLE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CTX_FLAGS_MASK);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CTX_LMEM_RESIZE_TO_MAX);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CTX_MAP_HOST);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CTX_SCHED_AUTO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CTX_SCHED_BLOCKING_SYNC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CTX_SCHED_MASK);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CTX_SCHED_SPIN);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CTX_SCHED_YIELD);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CTX_SYNC_MEMOPS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CTX_USER_COREDUMP_ENABLE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_X);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_Y);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_Z);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_X);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_Y);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_Z);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_RE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CLOCK_RATE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CLUSTER_LAUN);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_PREE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CONCURRENT_K);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CONCURRENT_M);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COOPERATIVE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COOPERATIVE_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_DEFERRED_MAP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_DIRECT_MANAG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_ECC_ENABLED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GENERIC_COMP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMOR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_NATIVE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_REGISTE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_INTEGRATED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_IPC_EVENT_SU);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZ);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CAC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MANAGED_MEMO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_10);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_11);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_12);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_13);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_14);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_6);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_7);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_8);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_9);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_10);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_11);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_12);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_13);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_14);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_15);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_16);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_17);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_18);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_19);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_20);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_21);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_22);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_23);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_24);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_25);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_26);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_27);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_28);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_29);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_6);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_7);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_8);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_9);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_P);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_P);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_PERSISTI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_PITCH);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_REGISTER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_REGISTER_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_THREADS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_THREADS_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MPS_ENABLED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTICAST_SU);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTIPROCESS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_NUMA_CONFIG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_NUMA_ID);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_I);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_I);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_READ_ONLY_HO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_REGISTERS_PE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_RESERVED_SHA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_SHARED_MEMOR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_STREAM_PRIOR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_SURFACE_ALIG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TCC_DRIVER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TENSOR_MAP_A);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TEXTURE_PITC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TIMELINE_SEM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_UNIFIED_FUNC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_ATTRIBUTE_WARP_SIZE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_CPU);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_INVALID);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_NUMA_CONFIG_NONE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_NUMA_CONFIG_NUMA_NODE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_A);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_S);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_A);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_PERFORMA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEV_RESOURCE_TYPE_INVALID);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_DEV_RESOURCE_TYPE_SM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_A);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_ABGR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_ARGB);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_AYUV);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_AYUV_ER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_BGGR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_CCCC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_GBRG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_GRBG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_RGGB);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_BCCR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_BGGR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CBRC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CCCC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CRBC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_GBRG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_GRBG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_RCCB);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_RGGB);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_BGGR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_GBRG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_GRBG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_RGGB);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_BGGR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_GBRG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_GRBG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_RGGB);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_BCCR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_BGGR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_CBRC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_CRBC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_GBRG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_GRBG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_BG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_GB);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_GR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_RG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_RCCB);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_RGGB);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BGR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_BGRA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_L);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_MAX);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_R);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_RG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_RGB);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_RGBA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_UYVY_422);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_UYVY_ER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_VYUY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_VYUY_ER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_6);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_7);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_8);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10_709_ER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10_ER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12_709_ER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12_ER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_PLANA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_PLANA_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_SEMIP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_SEMIP_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_PLANA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_PLANA_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_SEMIP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_SEMIP_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUVA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUVA_ER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV_ER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUYV_422);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUYV_ER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_PLANA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_PLANA_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_SEMIP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_SEMIP_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_PLANA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_PLANA_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_SEMIP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_SEMIP_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVYU);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVYU_ER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y_709_ER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y_ER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_FRAME_TYPE_ARRAY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_FRAME_TYPE_PITCH);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_RESOURCE_LOCATION_SYSMEM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EGL_RESOURCE_LOCATION_VIDMEM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EVENT_BLOCKING_SYNC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EVENT_DEFAULT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EVENT_DISABLE_TIMING);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EVENT_INTERPROCESS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EVENT_RECORD_DEFAULT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EVENT_RECORD_EXTERNAL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EVENT_SCHED_AUTO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EVENT_SCHED_BLOCKING_SYNC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EVENT_SCHED_SPIN);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EVENT_SCHED_YIELD);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EVENT_WAIT_DEFAULT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EVENT_WAIT_EXTERNAL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXEC_AFFINITY_TYPE_MAX);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXEC_AFFINITY_TYPE_SM_COUNT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_N);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_10);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_6);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_7);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_8);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_9);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNCTION_LOADING_STATE_LOADED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNCTION_LOADING_STATE_MAX);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNCTION_LOADING_STATE_UNLOAD);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_BINARY_VERSION);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDU);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_M);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_MAX);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SH);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_MAX_THREADS_PE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_NON_PORTABLE_C);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_NUM_REGS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_PREFERRED_SHAR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_PTX_VERSION);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_CACHE_PREFER_EQUAL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_CACHE_PREFER_L1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_CACHE_PREFER_NONE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_FUNC_CACHE_PREFER_SHARED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GET_PROC_ADDRESS_DEFAULT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GET_PROC_ADDRESS_LEGACY_STREA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GET_PROC_ADDRESS_PER_THREAD_D);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GET_PROC_ADDRESS_SUCCESS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GET_PROC_ADDRESS_SYMBOL_NOT_F);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GET_PROC_ADDRESS_VERSION_NOT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GL_DEVICE_LIST_ALL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GL_DEVICE_LIST_CURRENT_FRAME);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GL_DEVICE_LIST_NEXT_FRAME);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_NONE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_READ_ON);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_WRITE_D);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_N);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_R);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_W);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_NONE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_READ);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_SURFA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_TEXTU);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_WRITE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_COND_ASSIGN_DEFAULT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_COND_TYPE_IF);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_COND_TYPE_WHILE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_M);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_CONDITI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_N);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_T);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FRE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEPENDENCY_TYPE_DEFAULT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_DEPENDENCY_TYPE_PROGRAM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_ATTRI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_NODE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_S);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_PARAM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_SUCCESS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_DEFAUL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_PROGRA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_MEM_ATTR_RESERVED_MEM_C);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_MEM_ATTR_RESERVED_MEM_H);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_MEM_ATTR_USED_MEM_CURRE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_BATCH_MEM_OP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_CONDITIONAL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_EMPTY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_EVENT_RECORD);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_GRAPH);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_HOST);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_KERNEL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_MEMCPY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_MEMSET);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_MEM_ALLOC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_MEM_FREE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_NODE_TYPE_WAIT_EVENT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GRAPH_USER_OBJECT_MOVE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_GREEN_CTX_DEFAULT_STREAM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_IPC_HANDLE_SIZE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_CACHE_MODE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_CACHE_OPTION_CA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_CACHE_OPTION_CG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_CACHE_OPTION_NONE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_ERROR_LOG_BUFFER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_FALLBACK_STRATEGY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_FAST_COMPILE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_FMA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_FTZ);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_GENERATE_DEBUG_INFO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_GENERATE_LINE_INFO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_GLOBAL_SYMBOL_ADDRESSES);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_GLOBAL_SYMBOL_COUNT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_GLOBAL_SYMBOL_NAMES);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_INFO_LOG_BUFFER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_INPUT_CUBIN);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_INPUT_FATBINARY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_INPUT_LIBRARY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_INPUT_NVVM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_INPUT_OBJECT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_INPUT_PTX);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_LOG_VERBOSE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_LTO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_MAX_REGISTERS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_MAX_THREADS_PER_BLOCK);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_MIN_CTA_PER_SM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_NEW_SM3X_OPT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_NUM_INPUT_TYPES);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_NUM_OPTIONS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_OPTIMIZATION_LEVEL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_OPTIMIZE_UNUSED_DEVICE_VA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_OVERRIDE_DIRECTIVE_VALUES);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_POSITION_INDEPENDENT_CODE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_PREC_DIV);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_PREC_SQRT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_REFERENCED_KERNEL_COUNT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_REFERENCED_KERNEL_NAMES);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_REFERENCED_VARIABLE_COUNT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_REFERENCED_VARIABLE_NAMES);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_TARGET);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_TARGET_FROM_CUCONTEXT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_THREADS_PER_BLOCK);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_JIT_WALL_TIME);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_ACCESS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_COOPERA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_DEVICE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_PRIORIT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_COOPERATIVE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_IGNORE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_PRIORITY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAUL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_POINTER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_POINTER_A);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_SIZE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_I);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_PARAM_END);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LAUNCH_PARAM_END_AS_INT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LIBRARY_BINARY_IS_PRESERVED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LIBRARY_HOST_UNIVERSAL_FUNCTI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LIBRARY_NUM_OPTIONS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LIMIT_DEV_RUNTIME_PENDING_LAU);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LIMIT_MALLOC_HEAP_SIZE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LIMIT_MAX);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LIMIT_MAX_L2_FETCH_GRANULARIT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LIMIT_PERSISTING_L2_CACHE_SIZ);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LIMIT_PRINTF_FIFO_SIZE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_LIMIT_STACK_SIZE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMHOSTALLOC_DEVICEMAP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMHOSTALLOC_PORTABLE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMHOSTALLOC_WRITECOMBINED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMHOSTREGISTER_DEVICEMAP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMHOSTREGISTER_IOMEMORY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMHOSTREGISTER_PORTABLE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMHOSTREGISTER_READ_ONLY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMORYTYPE_ARRAY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMORYTYPE_DEVICE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMORYTYPE_HOST);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMORYTYPE_UNIFIED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMPOOL_ATTR_RELEASE_THRESHOL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMPOOL_ATTR_RESERVED_MEM_CUR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMPOOL_ATTR_RESERVED_MEM_HIG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMPOOL_ATTR_USED_MEM_CURRENT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEMPOOL_ATTR_USED_MEM_HIGH);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_MAX);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_NONE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_READ);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_READWRI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ADVISE_SET_ACCESSED_BY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ADVISE_SET_PREFERRED_LOCA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ADVISE_SET_READ_MOSTLY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ADVISE_UNSET_ACCESSED_BY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ADVISE_UNSET_PREFERRED_LO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ADVISE_UNSET_READ_MOSTLY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ALLOCATION_COMP_GENERIC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ALLOCATION_COMP_NONE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ALLOCATION_TYPE_INVALID);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ALLOCATION_TYPE_MAX);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ALLOCATION_TYPE_PINNED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ALLOC_GRANULARITY_MINIMUM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ALLOC_GRANULARITY_RECOMME);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ATTACH_GLOBAL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ATTACH_HOST);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_ATTACH_SINGLE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_CREATE_USAGE_TILE_POOL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_HANDLE_TYPE_FABRIC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_HANDLE_TYPE_GENERIC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_HANDLE_TYPE_MAX);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_HANDLE_TYPE_NONE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_HANDLE_TYPE_POSIX_FILE_DE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_HANDLE_TYPE_WIN32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_HANDLE_TYPE_WIN32_KMT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_LOCATION_TYPE_DEVICE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_LOCATION_TYPE_HOST);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_LOCATION_TYPE_HOST_NUMA);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_LOCATION_TYPE_HOST_NUMA_C);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_LOCATION_TYPE_INVALID);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_LOCATION_TYPE_MAX);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_OPERATION_TYPE_MAP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_OPERATION_TYPE_UNMAP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_ACCESSED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_READ_MOST);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MEM_RANGE_HANDLE_TYPE_MAX);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MODULE_EAGER_LOADING);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MODULE_LAZY_LOADING);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MULTICAST_GRANULARITY_MINIMUM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_MULTICAST_GRANULARITY_RECOMME);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_OCCUPANCY_DEFAULT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_OCCUPANCY_DISABLE_CACHING_OVE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_OUT_CSV);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_OUT_KEY_VALUE_PAIR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_PARAM_TR_DEFAULT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_ALLOWED_HAN);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_BUFFER_ID);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_CONTEXT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_DEVICE_ORDI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_DEVICE_POIN);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_HOST_POINTE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_IS_GPU_DIRE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_IS_LEGACY_C);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_IS_MANAGED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPING_BAS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPING_SIZ);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_MEMORY_BLOC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_MEMORY_TYPE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_MEMPOOL_HAN);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_P2P_TOKENS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_RANGE_SIZE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_RANGE_START);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_PREFER_BINARY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_PREFER_PTX);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RESOURCE_TYPE_ARRAY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RESOURCE_TYPE_LINEAR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RESOURCE_TYPE_PITCH2D);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_1X16);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_1X32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_2X16);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_2X32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_4X16);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_4X32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_NONE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC6H);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X16);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X8);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X16);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X8);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X16);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X8);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X16);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X8);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X16);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X8);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X16);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X8);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC7);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_SHAREDMEM_CARVEOUT_DEFAULT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_SHAREDMEM_CARVEOUT_MAX_L1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_SHAREDMEM_CARVEOUT_MAX_SHARED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_SHARED_MEM_CONFIG_DEFAULT_BAN);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_SHARED_MEM_CONFIG_EIGHT_BYTE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_SHARED_MEM_CONFIG_FOUR_BYTE_B);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_ADD_CAPTURE_DEPENDENCI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_ATTRIBUTE_ACCESS_POLIC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_ATTRIBUTE_PRIORITY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_ATTRIBUTE_SYNCHRONIZAT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_CAPTURE_MODE_GLOBAL);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_CAPTURE_MODE_RELAXED);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_CAPTURE_MODE_THREAD_LO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_CAPTURE_STATUS_ACTIVE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_CAPTURE_STATUS_INVALID);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_CAPTURE_STATUS_NONE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_DEFAULT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_LEGACY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_MEMORY_BARRIER_TYPE_GP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_MEMORY_BARRIER_TYPE_SY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_MEM_OP_BARRIER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_MEM_OP_FLUSH_REMOTE_WR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_MEM_OP_WAIT_VALUE_32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_MEM_OP_WAIT_VALUE_64);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_MEM_OP_WRITE_VALUE_32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_MEM_OP_WRITE_VALUE_64);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_NON_BLOCKING);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_PER_THREAD);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_SET_CAPTURE_DEPENDENCI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_WAIT_VALUE_AND);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_WAIT_VALUE_EQ);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_WAIT_VALUE_FLUSH);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_WAIT_VALUE_GEQ);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_WAIT_VALUE_NOR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_WRITE_VALUE_DEFAULT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_STREAM_WRITE_VALUE_NO_MEMORY);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_SYNC_POLICY_AUTO);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_SYNC_POLICY_BLOCKING_SYNC);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_SYNC_POLICY_SPIN);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_SYNC_POLICY_YIELD);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_30);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_35);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_37);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_50);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_52);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_53);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_60);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_61);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_62);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_70);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_72);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_75);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_80);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_86);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_87);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_89);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_90);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TARGET_COMPUTE_90A);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_BFLOAT16);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT16);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT32_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT64);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_INT32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_INT64);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT16);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT32);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT64);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT8);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_FLOAT_OOB_FILL_NON);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_16B);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_32B);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_NONE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_12);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_25);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_64);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_NONE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_NUM_QWORDS);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_128B);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_32B);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_64B);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_NONE);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TRSA_OVERRIDE_FORMAT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TRSF_DISABLE_TRILINEAR_OPTIMI);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TRSF_NORMALIZED_COORDINATES);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TRSF_READ_AS_INTEGER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TRSF_SEAMLESS_CUBEMAP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TRSF_SRGB);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TR_ADDRESS_MODE_BORDER);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TR_ADDRESS_MODE_CLAMP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TR_ADDRESS_MODE_MIRROR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TR_ADDRESS_MODE_WRAP);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TR_FILTER_MODE_LINEAR);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_TR_FILTER_MODE_POINT);
  Py_VISIT(traverse_module_state->__pyx_n_s_CU_USER_OBJECT_NO_DESTRUCTOR_SYN);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUaccessPolicyWindow);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUaccessPolicyWindow_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUaccessPolicyWindow_st___reduce);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUaccessPolicyWindow_st___setsta);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUaccessPolicyWindow_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUaccessPolicyWindow_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUaccessProperty);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUaddress_mode);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUarray);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUarrayMapInfo);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUarrayMapInfo_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUarrayMapInfo_st___reduce_cytho);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUarrayMapInfo_st___setstate_cyt);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUarrayMapInfo_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUarrayMapInfo_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUarraySparseSubresourceType);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUarray_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUarray___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUarray___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUarray_cubemap_face);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUarray_format);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUarray_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUasyncCallback);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUasyncCallbackHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUasyncCallbackHandle_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUasyncCallbackHandle___reduce_c);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUasyncCallbackHandle___setstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUasyncCallbackHandle_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUasyncCallback_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUasyncCallback___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUasyncCallback___setstate_cytho);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUasyncCallback_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUasyncNotificationInfo);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUasyncNotificationInfo_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUasyncNotificationInfo_st___red);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUasyncNotificationInfo_st___set);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUasyncNotificationInfo_st_getPt);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUasyncNotificationType);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUclusterSchedulingPolicy);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUcomputemode);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUcontext);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUcontext_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUcontext___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUcontext___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUcontext_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUcoredumpSettings);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUctx_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevResource);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUdevResourceDesc);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevResourceDesc_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevResourceDesc___reduce_cytho);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevResourceDesc___setstate_cyt);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevResourceDesc_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevResourceType);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevResource_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevResource_st___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevResource_st___setstate_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevResource_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevResource_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevSmResource);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevSmResource_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevSmResource_st___reduce_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevSmResource_st___setstate_cy);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevSmResource_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUdevice);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdeviceNumaConfig);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevice_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevice_P2PAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevice___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevice___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevice_attribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevice_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUdevice_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevice_v1_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevice_v1___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevice_v1___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevice_v1_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUdeviceptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdeviceptr_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdeviceptr___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdeviceptr___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdeviceptr_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUdeviceptr_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdeviceptr_v2_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdeviceptr_v2___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdeviceptr_v2___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdeviceptr_v2_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevprop);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevprop_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevprop_st___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevprop_st___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevprop_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdevprop_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdriverProcAddressQueryResult);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUdriverProcAddress_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUeglColorFormat);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUeglFrame);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUeglFrameType);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUeglFrame_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUeglFrame_st___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUeglFrame_st___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUeglFrame_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUeglFrame_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUeglResourceLocationFlags);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUeglStreamConnection);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUeglStreamConnection_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUeglStreamConnection___reduce_c);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUeglStreamConnection___setstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUeglStreamConnection_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUevent);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUevent_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUevent___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUevent___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUevent_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUevent_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUevent_record_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUevent_sched_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUevent_wait_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexecAffinityParam);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexecAffinityParam_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexecAffinityParam_st___reduce);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexecAffinityParam_st___setstat);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexecAffinityParam_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexecAffinityParam_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexecAffinitySmCount);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexecAffinitySmCount_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexecAffinitySmCount_st___reduc);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexecAffinitySmCount_st___setst);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexecAffinitySmCount_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexecAffinitySmCount_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexecAffinityType);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUexternalMemory);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexternalMemoryHandleType);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexternalMemory_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexternalMemory___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexternalMemory___setstate_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexternalMemory_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUexternalSemaphore);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexternalSemaphoreHandleType);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexternalSemaphore_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexternalSemaphore___reduce_cyt);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexternalSemaphore___setstate_c);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUexternalSemaphore_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUfilter_mode);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUflushGPUDirectRDMAWritesOption);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUflushGPUDirectRDMAWritesScope);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUflushGPUDirectRDMAWritesTarget);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUfunc_cache);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUfunction);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUfunctionLoadingState);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUfunction_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUfunction___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUfunction___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUfunction_attribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUfunction_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUgraph);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUgraphConditionalHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphConditionalHandle_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphConditionalHandle___reduc);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphConditionalHandle___setst);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphConditionalHandle_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphConditionalNodeType);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphDebugDot_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphDependencyType);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUgraphDeviceNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphDeviceNode_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphDeviceNode___reduce_cytho);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphDeviceNode___setstate_cyt);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphDeviceNode_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphEdgeData);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphEdgeData_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphEdgeData_st___reduce_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphEdgeData_st___setstate_cy);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphEdgeData_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUgraphExec);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphExecUpdateResult);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphExecUpdateResultInfo);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphExecUpdateResultInfo_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphExecUpdateResultInfo_st_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphExecUpdateResultInfo_st_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphExecUpdateResultInfo_st_g);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphExecUpdateResultInfo_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphExec_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphExec___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphExec___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphExec_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphInstantiateResult);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphInstantiate_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphMem_attribute);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUgraphNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphNodeParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphNodeParams_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphNodeParams_st___reduce_cy);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphNodeParams_st___setstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphNodeParams_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphNodeType);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphNode_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphNode___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphNode___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphNode_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraph_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraph___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraph___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraph_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphicsMapResourceFlags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphicsRegisterFlags);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUgraphicsResource);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphicsResource_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphicsResource___reduce_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphicsResource___setstate_cy);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgraphicsResource_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUgreenCtx);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgreenCtxCreate_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgreenCtx_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgreenCtx___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgreenCtx___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUgreenCtx_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUhostFn);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUhostFn_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUhostFn___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUhostFn___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUhostFn_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUipcEventHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUipcEventHandle_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUipcEventHandle_st___reduce_cyt);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUipcEventHandle_st___setstate_c);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUipcEventHandle_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUipcEventHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUipcMemHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUipcMemHandle_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUipcMemHandle_st___reduce_cytho);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUipcMemHandle_st___setstate_cyt);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUipcMemHandle_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUipcMemHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUipcMem_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUjitInputType);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUjit_cacheMode);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUjit_fallback);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUjit_option);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUjit_target);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUkernel);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUkernelNodeAttrID);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUkernelNodeAttrValue);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUkernelNodeAttrValue_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUkernel_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUkernel___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUkernel___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUkernel_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchAttributeID);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchAttributeValue);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchAttributeValue_union);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchAttributeValue_union___r);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchAttributeValue_union___s);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchAttributeValue_union_get);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchAttribute_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchAttribute_st___reduce_cy);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchAttribute_st___setstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchAttribute_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchConfig);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchConfig_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchConfig_st___reduce_cytho);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchConfig_st___setstate_cyt);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchConfig_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchMemSyncDomain);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchMemSyncDomainMap);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchMemSyncDomainMap_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchMemSyncDomainMap_st___re);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchMemSyncDomainMap_st___se);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlaunchMemSyncDomainMap_st_getP);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUlibrary);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlibraryHostUniversalFunctionAn);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlibraryHostUniversalFunctionAn_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlibraryHostUniversalFunctionAn_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlibraryHostUniversalFunctionAn_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlibraryHostUniversalFunctionAn_5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlibraryOption);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlibrary_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlibrary___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlibrary___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlibrary_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlimit);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUlinkState);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlinkState_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlinkState___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlinkState___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUlinkState_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAccessDesc);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAccessDesc_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAccessDesc_st___reduce_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAccessDesc_st___setstate_cy);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAccessDesc_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAccessDesc_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAccess_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAllocationCompType);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAllocationGranularity_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAllocationHandleType);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAllocationProp);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAllocationProp_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAllocationProp_st___reduce);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAllocationProp_st___setstat);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAllocationProp_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAllocationProp_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAllocationType);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemAttach_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemFabricHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemFabricHandle_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemFabricHandle_st___reduce_cy);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemFabricHandle_st___setstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemFabricHandle_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemFabricHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUmemGenericAllocationHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemGenericAllocationHandle_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemGenericAllocationHandle___r);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemGenericAllocationHandle___s);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemGenericAllocationHandle_get);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUmemGenericAllocationHandle_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemGenericAllocationHandle_v1_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemGenericAllocationHandle_v1_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemGenericAllocationHandle_v1_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemGenericAllocationHandle_v1_5);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemHandleType);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemLocation);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemLocationType);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemLocation_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemLocation_st___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemLocation_st___setstate_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemLocation_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemLocation_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemOperationType);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemPoolProps);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemPoolProps_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemPoolProps_st___reduce_cytho);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemPoolProps_st___setstate_cyt);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemPoolProps_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemPoolProps_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemPoolPtrExportData);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemPoolPtrExportData_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemPoolPtrExportData_st___redu);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemPoolPtrExportData_st___sets);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemPoolPtrExportData_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemPoolPtrExportData_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemPool_attribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemRangeHandleType);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmem_advise);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmem_range_attribute);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUmemoryPool);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemoryPool_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemoryPool___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemoryPool___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemoryPool_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmemorytype);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUmipmappedArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmipmappedArray_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmipmappedArray___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmipmappedArray___setstate_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmipmappedArray_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUmodule);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmoduleLoadingMode);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmodule_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmodule___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmodule___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmodule_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmulticastGranularity_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmulticastObjectProp);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmulticastObjectProp_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmulticastObjectProp_st___reduc);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmulticastObjectProp_st___setst);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmulticastObjectProp_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUmulticastObjectProp_v1);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUoccupancyB2DSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUoccupancyB2DSize_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUoccupancyB2DSize___reduce_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUoccupancyB2DSize___setstate_cy);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUoccupancyB2DSize_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUoccupancy_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUoutput_mode);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUpointer_attribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUresourceViewFormat);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUresourcetype);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUresult);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUshared_carveout);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUsharedconfig);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUstream);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamAttrID);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamAttrValue);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamAttrValue_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamBatchMemOpParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamBatchMemOpParams_union);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamBatchMemOpParams_union_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamBatchMemOpParams_union_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamBatchMemOpParams_union_g);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamBatchMemOpParams_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamBatchMemOpType);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUstreamCallback);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamCallback_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamCallback___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamCallback___setstate_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamCallback_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamCaptureMode);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamCaptureStatus);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamMemOpMemoryBarrierParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamMemOpMemoryBarrierParams_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamMemOpMemoryBarrierParams_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamMemOpMemoryBarrierParams_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamMemOpWaitValueParams_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamMemOpWaitValueParams_st_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamMemOpWaitValueParams_st_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamMemOpWaitValueParams_st_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamMemOpWriteValueParams_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamMemOpWriteValueParams_st_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamMemOpWriteValueParams_st_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamMemOpWriteValueParams_st_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamMemoryBarrier_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamUpdateCaptureDependencie);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamWaitValue_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstreamWriteValue_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstream_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstream___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstream___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstream_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUstream_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUsurfObject);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUsurfObject_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUsurfObject___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUsurfObject___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUsurfObject_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUsurfObject_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUsurfObject_v1_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUsurfObject_v1___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUsurfObject_v1___setstate_cytho);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUsurfObject_v1_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUsurfref);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUsurfref_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUsurfref___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUsurfref___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUsurfref_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUsynchronizationPolicy);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtensorMap);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtensorMapDataType);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtensorMapFloatOOBfill);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtensorMapInterleave);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtensorMapL2promotion);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtensorMapSwizzle);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtensorMap_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtensorMap_st___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtensorMap_st___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtensorMap_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUtexObject);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtexObject_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtexObject___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtexObject___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtexObject_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUtexObject_v1);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtexObject_v1_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtexObject_v1___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtexObject_v1___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtexObject_v1_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUtexref);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtexref_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtexref___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtexref___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUtexref_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_CUuserObject);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUuserObjectRetain_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUuserObject_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUuserObject___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUuserObject___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUuserObject_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUuserObject_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUuuid);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUuuid_st);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUuuid_st___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUuuid_st___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_CUuuid_st_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Caching_modes_for_dlcm);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Cluster_scheduling_policies_The);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Compute_Modes);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Conditional_node_types);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Context_creation_flags);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Cubin_matching_fallback_strateg);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Defines_the_allocation_types_av);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Deprecated_Shared_memory_config);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Depth);
  Py_VISIT(traverse_module_state->__pyx_n_s_Depth_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Depth_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Device_code_formats);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Device_properties);
  Py_VISIT(traverse_module_state->__pyx_kp_u_EGLImageKHR);
  Py_VISIT(traverse_module_state->__pyx_n_s_EGLImageKHR_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_EGLImageKHR___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_EGLImageKHR___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_EGLImageKHR_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_EGLStreamKHR);
  Py_VISIT(traverse_module_state->__pyx_n_s_EGLStreamKHR_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_EGLStreamKHR___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_EGLStreamKHR___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_EGLStreamKHR_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_EGLSyncKHR);
  Py_VISIT(traverse_module_state->__pyx_n_s_EGLSyncKHR_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_EGLSyncKHR___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_EGLSyncKHR___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_EGLSyncKHR_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_EGLint);
  Py_VISIT(traverse_module_state->__pyx_n_s_EGLint_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_EGLint___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_EGLint___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_EGLint_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_ElementSizeBytes);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Error_codes);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Event_creation_flags);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Event_record_flags);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Event_sched_flags);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Event_wait_flags);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Execution_Affinity_Types);
  Py_VISIT(traverse_module_state->__pyx_kp_s_External_memory_handle_types);
  Py_VISIT(traverse_module_state->__pyx_kp_s_External_semaphore_handle_types);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Failed_to_allocate_length_x_size);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Flag_for_requesting_different_o);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_Flags_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Flags_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Flags_for_choosing_a_coredump_a);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Flags_for_instantiating_a_graph);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Flags_for_mapping_and_unmapping);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Flags_for_py_obj_cuStreamMemory);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Flags_for_py_obj_cuStreamUpdate);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Flags_for_py_obj_cuStreamWaitVa);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Flags_for_py_obj_cuStreamWriteV);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Flags_for_querying_different_gr);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Flags_for_retaining_user_object);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Flags_for_specifying_particular);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Flags_for_user_objects_for_grap);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Flags_to_indicate_search_status);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Flags_to_map_or_unmap_a_resourc);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Flags_to_register_a_graphics_re);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Flags_to_specify_search_options);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Format);
  Py_VISIT(traverse_module_state->__pyx_n_s_Format_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Format_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Function_cache_configurations);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Function_properties);
  Py_VISIT(traverse_module_state->__pyx_kp_u_GLenum);
  Py_VISIT(traverse_module_state->__pyx_n_s_GLenum_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_GLenum___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_GLenum___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_GLenum_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_GLuint);
  Py_VISIT(traverse_module_state->__pyx_n_s_GLuint_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_GLuint___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_GLuint___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_GLuint_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Graph_instantiation_results);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Graph_node_types);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Height);
  Py_VISIT(traverse_module_state->__pyx_n_s_Height_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Height_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_IndexError);
  Py_VISIT(traverse_module_state->__pyx_n_s_IntEnum);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Launch_attributes_enum_used_as);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Library_options_to_be_specified);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Limits);
  Py_VISIT(traverse_module_state->__pyx_n_s_List);
  Py_VISIT(traverse_module_state->__pyx_kp_s_List_int);
  Py_VISIT(traverse_module_state->__pyx_kp_u_List_is_too_small);
  Py_VISIT(traverse_module_state->__pyx_n_s_MAX_PLANES);
  Py_VISIT(traverse_module_state->__pyx_n_s_MemoryError);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Memory_Synchronization_Domain_A);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Memory_advise_values);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Memory_handle_types);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Memory_operation_types);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Memory_types);
  Py_VISIT(traverse_module_state->__pyx_n_s_N);
  Py_VISIT(traverse_module_state->__pyx_n_s_NVCL_CTX_SCHED_AUTO);
  Py_VISIT(traverse_module_state->__pyx_n_s_NVCL_CTX_SCHED_BLOCKING_SYNC);
  Py_VISIT(traverse_module_state->__pyx_n_s_NVCL_CTX_SCHED_SPIN);
  Py_VISIT(traverse_module_state->__pyx_n_s_NVCL_CTX_SCHED_YIELD);
  Py_VISIT(traverse_module_state->__pyx_n_s_NVCL_EVENT_SCHED_AUTO);
  Py_VISIT(traverse_module_state->__pyx_n_s_NVCL_EVENT_SCHED_BLOCKING_SYNC);
  Py_VISIT(traverse_module_state->__pyx_n_s_NVCL_EVENT_SCHED_SPIN);
  Py_VISIT(traverse_module_state->__pyx_n_s_NVCL_EVENT_SCHED_YIELD);
  Py_VISIT(traverse_module_state->__pyx_kp_s_NVCL_context_scheduling_flags);
  Py_VISIT(traverse_module_state->__pyx_kp_s_NVCL_event_scheduling_flags);
  Py_VISIT(traverse_module_state->__pyx_kp_u_NumChannels);
  Py_VISIT(traverse_module_state->__pyx_n_s_NumChannels_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_NumChannels_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_NumPackedComponents);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Occupancy_calculator_flag);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Online_compilation_targets);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Online_compiler_and_linker_opti);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Operations_for_py_obj_cuStreamB);
  Py_VISIT(traverse_module_state->__pyx_n_s_Optional);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_ARRAY3D_DESCRIPTOR);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_ARRAY_DESCRIPTOR);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_BATCH_MEM_OP_NODE);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_BU);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_HA);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_MI);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_EXTERNAL_SEMAPHORE);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_EXT_SEM_SIGNAL_NOD);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_EXT_SEM_WAIT_NODE);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_GRAPH_INSTANTIATE);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_HOST_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_KERNEL_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_MEMCPY2D);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_MEMCPY3D);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_MEMCPY3D_PEER);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_MEMSET_NODE_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_MEM_ALLOC_NODE_PAR);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_RESOURCE_DESC);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_RESOURCE_VIEW_DESC);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUDA_TEXTURE_DESC);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUdevResource);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUeglFrame);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUgraphNodeParams);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUkernelNodeAttrValue);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUlaunchConfig);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUmemAllocationProp);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUmemLocation);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUmemPoolProps);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUmemPoolPtrExportData);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUmulticastObjectProp);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUstreamAttrValue);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUtensorMap);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_CUuuid);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_Any);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_CUDA_EXTERNAL_SEMA);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_CUDA_EXTERNAL_SEMA_2);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_CUDA_LAUNCH_PARAMS);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_CUarrayMapInfo);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_CUdevResource);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_CUexecAffinityPara);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_CUexternalSemaphor);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_CUgraphEdgeData);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_CUgraphNode);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_CUjit_option);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_CUlibraryOption);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_CUmemAccessDesc);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_CUmem_range_attrib);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_CUpointer_attribut);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_CUstreamBatchMemOp);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_cuuint32_t);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_cuuint64_t);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_List_int);
  Py_VISIT(traverse_module_state->__pyx_n_s_OverflowError);
  Py_VISIT(traverse_module_state->__pyx_kp_s_P2P_Attributes);
  Py_VISIT(traverse_module_state->__pyx_n_s_Pitch);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Platform_native_ordering_for_GP);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Pointer_information);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Possible_modes_for_stream_captu);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Possible_stream_capture_statuse);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Profiler_Output_Modes);
  Py_VISIT(traverse_module_state->__pyx_n_s_RESOURCE_ABI_EXTERNAL_BYTES);
  Py_VISIT(traverse_module_state->__pyx_n_s_RESOURCE_ABI_VERSION);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Resource_location_flags_sysmem);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Resource_types);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Resource_view_format);
  Py_VISIT(traverse_module_state->__pyx_n_s_RuntimeError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_SIMDWidth);
  Py_VISIT(traverse_module_state->__pyx_n_s_SIMDWidth_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_SIMDWidth_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Shared_memory_carveout_configur);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Sparse_subresource_types);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Specifies_compression_attribute);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Specifies_performance_hint_with);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Specifies_the_handle_type_for_a);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Specifies_the_memory_protection);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Specifies_the_type_of_location);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Stream_creation_flags);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Tensor_map_L2_promotion_type);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Tensor_map_data_type);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Tensor_map_interleave_layout_ty);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Tensor_map_out_of_bounds_fill_t);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Tensor_map_swizzling_mode_of_sh);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Texture_reference_addressing_mo);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Texture_reference_filtering_mod);
  Py_VISIT(traverse_module_state->__pyx_kp_s_The_additional_write_options_fo);
  Py_VISIT(traverse_module_state->__pyx_kp_s_The_scopes_for_py_obj_cuFlushGP);
  Py_VISIT(traverse_module_state->__pyx_kp_s_The_targets_for_py_obj_cuFlushG);
  Py_VISIT(traverse_module_state->__pyx_n_s_Tuple);
  Py_VISIT(traverse_module_state->__pyx_n_s_TypeError);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Type_annotations_that_can_be_ap);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Type_of_resource);
  Py_VISIT(traverse_module_state->__pyx_kp_s_Types_of_async_notification_tha);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Unknown_type);
  Py_VISIT(traverse_module_state->__pyx_n_s_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_VdpDevice);
  Py_VISIT(traverse_module_state->__pyx_n_s_VdpDevice_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_VdpDevice___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_VdpDevice___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_VdpDevice_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_VdpGetProcAddress);
  Py_VISIT(traverse_module_state->__pyx_n_s_VdpGetProcAddress_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_VdpGetProcAddress___reduce_cytho);
  Py_VISIT(traverse_module_state->__pyx_n_s_VdpGetProcAddress___setstate_cyt);
  Py_VISIT(traverse_module_state->__pyx_n_s_VdpGetProcAddress_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_VdpOutputSurface);
  Py_VISIT(traverse_module_state->__pyx_n_s_VdpOutputSurface_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_VdpOutputSurface___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_VdpOutputSurface___setstate_cyth);
  Py_VISIT(traverse_module_state->__pyx_n_s_VdpOutputSurface_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_VdpVideoSurface);
  Py_VISIT(traverse_module_state->__pyx_n_s_VdpVideoSurface_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_VdpVideoSurface___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_VdpVideoSurface___setstate_cytho);
  Py_VISIT(traverse_module_state->__pyx_n_s_VdpVideoSurface_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Width);
  Py_VISIT(traverse_module_state->__pyx_kp_u_WidthInBytes);
  Py_VISIT(traverse_module_state->__pyx_n_s_WidthInBytes_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_WidthInBytes_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_Width_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_Width_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u__117);
  Py_VISIT(traverse_module_state->__pyx_kp_u__118);
  Py_VISIT(traverse_module_state->__pyx_n_s__1338);
  Py_VISIT(traverse_module_state->__pyx_kp_u__143);
  Py_VISIT(traverse_module_state->__pyx_kp_b__486);
  Py_VISIT(traverse_module_state->__pyx_kp_u__535);
  Py_VISIT(traverse_module_state->__pyx_kp_u__959);
  Py_VISIT(traverse_module_state->__pyx_n_s__960);
  Py_VISIT(traverse_module_state->__pyx_kp_s__961);
  Py_VISIT(traverse_module_state->__pyx_kp_u_accessDescCount);
  Py_VISIT(traverse_module_state->__pyx_n_s_accessDescCount_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_accessDescCount_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_accessDescs);
  Py_VISIT(traverse_module_state->__pyx_n_s_accessDescs_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_accessDescs_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_accessPolicyWindow);
  Py_VISIT(traverse_module_state->__pyx_n_s_accessPolicyWindow_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_accessPolicyWindow_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_active);
  Py_VISIT(traverse_module_state->__pyx_n_s_addr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_address);
  Py_VISIT(traverse_module_state->__pyx_kp_u_addressMode);
  Py_VISIT(traverse_module_state->__pyx_n_s_addressMode_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_addressMode_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_address_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_address_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_advice);
  Py_VISIT(traverse_module_state->__pyx_kp_u_alias);
  Py_VISIT(traverse_module_state->__pyx_n_s_alias_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_alias_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_alignment);
  Py_VISIT(traverse_module_state->__pyx_n_s_alignment_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_alignment_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_alloc);
  Py_VISIT(traverse_module_state->__pyx_kp_u_allocFlags);
  Py_VISIT(traverse_module_state->__pyx_n_s_allocFlags_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_allocFlags_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_allocType);
  Py_VISIT(traverse_module_state->__pyx_n_s_allocType_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_allocType_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_alloc_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_alloc_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_am);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct0);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct0___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct0___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct0_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct1);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct10);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct10___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct10___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct10_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct11);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct11___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct11___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct11_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct12);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct12___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct12___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct12_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct13);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct13___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct13___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct13_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct14);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct14___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct14___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct14_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct15);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct15___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct15___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct15_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct16);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct16___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct16___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct16_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct17);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct17___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct17___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct17_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct18);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct18___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct18___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct18_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct19);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct19___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct19___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct19_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct1___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct1___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct1_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct2);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct20);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct20___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct20___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct20_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct21);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct21___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct21___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct21_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct2___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct2___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct2_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct3);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct3___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct3___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct3_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct4);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct4___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct4___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct4_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct5);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct5___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct5___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct5_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct6);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct6___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct6___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct6_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct7);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct7___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct7___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct7_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct8);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct8___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct8___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct8_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct9);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct9___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct9___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_struct9_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union10);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union10___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union10___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union10_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union11);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union11___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union11___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union11_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union14);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union14___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union14___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union14_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union2);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union2___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union2___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union2_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union3);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union3___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union3___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union3_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union4);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union4___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union4___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union4_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union5);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union5___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union5___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union5_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union6);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union6___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union6___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union6_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union7);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union7___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union7___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union7_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union8);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union8___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union8___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union8_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union9);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union9___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union9___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_anon_union9_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_args);
  Py_VISIT(traverse_module_state->__pyx_kp_u_array);
  Py_VISIT(traverse_module_state->__pyx_kp_u_arrayDesc);
  Py_VISIT(traverse_module_state->__pyx_n_s_arrayDesc_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_arrayDesc_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_arrayIndex);
  Py_VISIT(traverse_module_state->__pyx_n_s_array_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_array_3);
  Py_VISIT(traverse_module_state->__pyx_kp_u_array_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_asyncio_coroutines);
  Py_VISIT(traverse_module_state->__pyx_n_s_attr);
  Py_VISIT(traverse_module_state->__pyx_n_s_attrib);
  Py_VISIT(traverse_module_state->__pyx_n_s_attribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_attributes);
  Py_VISIT(traverse_module_state->__pyx_kp_u_attrs);
  Py_VISIT(traverse_module_state->__pyx_n_s_attrs_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_attrs_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_base_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_base_ptr_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_base_ptr_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_bias);
  Py_VISIT(traverse_module_state->__pyx_kp_u_blockDimX);
  Py_VISIT(traverse_module_state->__pyx_n_s_blockDimX_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_blockDimX_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_blockDimY);
  Py_VISIT(traverse_module_state->__pyx_n_s_blockDimY_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_blockDimY_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_blockDimZ);
  Py_VISIT(traverse_module_state->__pyx_n_s_blockDimZ_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_blockDimZ_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_blockSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_blockSizeLimit);
  Py_VISIT(traverse_module_state->__pyx_n_s_blockSizeToDynamicSMemSize);
  Py_VISIT(traverse_module_state->__pyx_kp_u_borderColor);
  Py_VISIT(traverse_module_state->__pyx_n_s_borderColor_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_borderColor_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_boxDim);
  Py_VISIT(traverse_module_state->__pyx_n_s_buffer);
  Py_VISIT(traverse_module_state->__pyx_n_s_bufferDesc);
  Py_VISIT(traverse_module_state->__pyx_kp_u_bytes);
  Py_VISIT(traverse_module_state->__pyx_kp_u_bytesOverBudget);
  Py_VISIT(traverse_module_state->__pyx_n_s_bytesOverBudget_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_bytesOverBudget_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_bytes_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_bytes_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_bytesize);
  Py_VISIT(traverse_module_state->__pyx_n_s_bytesize_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_bytesize_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_caddr);
  Py_VISIT(traverse_module_state->__pyx_n_s_caddr_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cadvice);
  Py_VISIT(traverse_module_state->__pyx_n_s_callback);
  Py_VISIT(traverse_module_state->__pyx_n_s_callbackFunc);
  Py_VISIT(traverse_module_state->__pyx_n_s_cam);
  Py_VISIT(traverse_module_state->__pyx_n_s_canAccessPeer);
  Py_VISIT(traverse_module_state->__pyx_n_s_captureStatus);
  Py_VISIT(traverse_module_state->__pyx_n_s_captureStatus_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_carray);
  Py_VISIT(traverse_module_state->__pyx_n_s_cattr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cattrib);
  Py_VISIT(traverse_module_state->__pyx_n_s_cattribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cattributes);
  Py_VISIT(traverse_module_state->__pyx_n_s_cblockSizeToDynamicSMemSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_cboxDim);
  Py_VISIT(traverse_module_state->__pyx_n_s_cbuffer);
  Py_VISIT(traverse_module_state->__pyx_n_s_cbufferDesc_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_ccallback);
  Py_VISIT(traverse_module_state->__pyx_n_s_ccallbackFunc);
  Py_VISIT(traverse_module_state->__pyx_n_s_cchannelsPerPixel);
  Py_VISIT(traverse_module_state->__pyx_n_s_cchildGraph);
  Py_VISIT(traverse_module_state->__pyx_n_s_ccode);
  Py_VISIT(traverse_module_state->__pyx_n_s_ccode_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cconfig);
  Py_VISIT(traverse_module_state->__pyx_n_s_cconfig_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cconn);
  Py_VISIT(traverse_module_state->__pyx_n_s_ccopyParams_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cctx);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdata);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdataSizes);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdata_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdependencies);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdependencies_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdependencyData);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdependentNodes);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdesc);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdesc_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdestroy);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdev);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdevPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdevice);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdeviceList);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdst);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdstArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdstContext);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdstDevice);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdstHost);
  Py_VISIT(traverse_module_state->__pyx_n_s_cdstHost_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cedgeData);
  Py_VISIT(traverse_module_state->__pyx_n_s_cedgeData_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_ceglSync);
  Py_VISIT(traverse_module_state->__pyx_n_s_ceglframe_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_celementStrides);
  Py_VISIT(traverse_module_state->__pyx_n_s_cerror);
  Py_VISIT(traverse_module_state->__pyx_n_s_cevent);
  Py_VISIT(traverse_module_state->__pyx_n_s_cextMem);
  Py_VISIT(traverse_module_state->__pyx_n_s_cextSem);
  Py_VISIT(traverse_module_state->__pyx_n_s_cextSemArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_cf);
  Py_VISIT(traverse_module_state->__pyx_n_s_cfatCubin);
  Py_VISIT(traverse_module_state->__pyx_n_s_cfatCubin_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cflags);
  Py_VISIT(traverse_module_state->__pyx_n_s_cfm);
  Py_VISIT(traverse_module_state->__pyx_n_s_cfmt);
  Py_VISIT(traverse_module_state->__pyx_n_s_cfn);
  Py_VISIT(traverse_module_state->__pyx_n_s_cfrom);
  Py_VISIT(traverse_module_state->__pyx_n_s_cfunc);
  Py_VISIT(traverse_module_state->__pyx_n_s_cfunction);
  Py_VISIT(traverse_module_state->__pyx_n_s_cfunctions);
  Py_VISIT(traverse_module_state->__pyx_n_s_cglobalAddress);
  Py_VISIT(traverse_module_state->__pyx_n_s_cglobalAddress_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cglobalDim);
  Py_VISIT(traverse_module_state->__pyx_n_s_cglobalStrides);
  Py_VISIT(traverse_module_state->__pyx_n_s_cgraph);
  Py_VISIT(traverse_module_state->__pyx_n_s_chArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_chClonedGraph);
  Py_VISIT(traverse_module_state->__pyx_n_s_chCtx);
  Py_VISIT(traverse_module_state->__pyx_n_s_chEnd);
  Py_VISIT(traverse_module_state->__pyx_n_s_chEvent);
  Py_VISIT(traverse_module_state->__pyx_n_s_chGraph);
  Py_VISIT(traverse_module_state->__pyx_n_s_chGraphExec);
  Py_VISIT(traverse_module_state->__pyx_n_s_chMipmappedArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_chNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_chOriginalNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_chStart);
  Py_VISIT(traverse_module_state->__pyx_n_s_chStream);
  Py_VISIT(traverse_module_state->__pyx_n_s_chSurfRef);
  Py_VISIT(traverse_module_state->__pyx_n_s_chTexRef);
  Py_VISIT(traverse_module_state->__pyx_n_s_chandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_chandleType);
  Py_VISIT(traverse_module_state->__pyx_n_s_chandle_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_chandle_out_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_chandle_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_channelsPerPixel);
  Py_VISIT(traverse_module_state->__pyx_n_s_cheight);
  Py_VISIT(traverse_module_state->__pyx_n_s_chfunc);
  Py_VISIT(traverse_module_state->__pyx_n_s_childGraph);
  Py_VISIT(traverse_module_state->__pyx_n_s_chmod);
  Py_VISIT(traverse_module_state->__pyx_n_s_cimage);
  Py_VISIT(traverse_module_state->__pyx_n_s_cimage_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cinput__ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cinstantiateParams_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cinterleave);
  Py_VISIT(traverse_module_state->__pyx_n_s_cjitOptions);
  Py_VISIT(traverse_module_state->__pyx_n_s_ckernel);
  Py_VISIT(traverse_module_state->__pyx_n_s_ckernelParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_ckernels);
  Py_VISIT(traverse_module_state->__pyx_n_s_cl2Promotion);
  Py_VISIT(traverse_module_state->__pyx_n_s_cl_context_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_cl_event_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_claunchParamsList);
  Py_VISIT(traverse_module_state->__pyx_n_s_clib);
  Py_VISIT(traverse_module_state->__pyx_n_s_clibrary);
  Py_VISIT(traverse_module_state->__pyx_n_s_clibraryOptions);
  Py_VISIT(traverse_module_state->__pyx_n_s_climit);
  Py_VISIT(traverse_module_state->__pyx_n_s_cline_in_traceback);
  Py_VISIT(traverse_module_state->__pyx_n_s_clocation_ptr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_clockRate);
  Py_VISIT(traverse_module_state->__pyx_n_s_clockRate_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_clockRate_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_close);
  Py_VISIT(traverse_module_state->__pyx_kp_u_clusterDim);
  Py_VISIT(traverse_module_state->__pyx_n_s_clusterDim_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_clusterDim_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_clusterSchedulingPolicyPreferenc);
  Py_VISIT(traverse_module_state->__pyx_n_s_clusterSchedulingPolicyPreferenc_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_clusterSchedulingPolicyPreferenc_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_clusterSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_cmap);
  Py_VISIT(traverse_module_state->__pyx_n_s_cmapInfoList);
  Py_VISIT(traverse_module_state->__pyx_n_s_cmcHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_cmemHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_cmemHandleDesc_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cmemPool);
  Py_VISIT(traverse_module_state->__pyx_n_s_cmemptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cmemsetParams_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cmipmap);
  Py_VISIT(traverse_module_state->__pyx_n_s_cmipmapDesc_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cmod);
  Py_VISIT(traverse_module_state->__pyx_n_s_cmode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cnbGroups);
  Py_VISIT(traverse_module_state->__pyx_n_s_cnodeParams_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cnodes);
  Py_VISIT(traverse_module_state->__pyx_n_s_cnvSciSyncAttrList);
  Py_VISIT(traverse_module_state->__pyx_n_s_cnvSciSyncAttrList_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cobject);
  Py_VISIT(traverse_module_state->__pyx_n_s_code);
  Py_VISIT(traverse_module_state->__pyx_kp_u_compressionType);
  Py_VISIT(traverse_module_state->__pyx_n_s_compressionType_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_compressionType_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_conditional);
  Py_VISIT(traverse_module_state->__pyx_n_s_conditional_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_conditional_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_config);
  Py_VISIT(traverse_module_state->__pyx_n_s_conn);
  Py_VISIT(traverse_module_state->__pyx_n_s_coobFill);
  Py_VISIT(traverse_module_state->__pyx_kp_u_cooperative);
  Py_VISIT(traverse_module_state->__pyx_n_s_cooperative_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_cooperative_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_coption);
  Py_VISIT(traverse_module_state->__pyx_n_s_coptions);
  Py_VISIT(traverse_module_state->__pyx_kp_u_copyCtx);
  Py_VISIT(traverse_module_state->__pyx_n_s_copyCtx_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_copyCtx_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_copyParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_copyParams_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_copyParams_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_coriginalGraph);
  Py_VISIT(traverse_module_state->__pyx_n_s_cosHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_cosHandle_ptr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_count);
  Py_VISIT(traverse_module_state->__pyx_n_s_count_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_count_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_cp);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpAllocateArray_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpCopy_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpCudaDevices);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpCudaResource);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpExportTableId_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpMipmappedArrayDesc_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpResDesc_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpResViewDesc_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpStream);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpTexDesc_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cp_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cparamArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_cparamsArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpeerContext);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpeerDev);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpformat);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpixelBoxLowerCorner);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpixelBoxUpperCorner);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpixelsPerColumn);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpool);
  Py_VISIT(traverse_module_state->__pyx_n_s_cpoolProps_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cprop_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cptr_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cresource);
  Py_VISIT(traverse_module_state->__pyx_n_s_cresources);
  Py_VISIT(traverse_module_state->__pyx_n_s_cresult);
  Py_VISIT(traverse_module_state->__pyx_n_s_crootNodes);
  Py_VISIT(traverse_module_state->__pyx_n_s_cscope);
  Py_VISIT(traverse_module_state->__pyx_n_s_csemHandleDesc_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cshHandleType);
  Py_VISIT(traverse_module_state->__pyx_n_s_cshareData_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cshareableHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_cshareableHandle_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_csrc);
  Py_VISIT(traverse_module_state->__pyx_n_s_csrcArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_csrcContext);
  Py_VISIT(traverse_module_state->__pyx_n_s_csrcDevice);
  Py_VISIT(traverse_module_state->__pyx_n_s_csrcHost);
  Py_VISIT(traverse_module_state->__pyx_n_s_csrcHost_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cstream);
  Py_VISIT(traverse_module_state->__pyx_n_s_csurfObject);
  Py_VISIT(traverse_module_state->__pyx_n_s_cswizzle);
  Py_VISIT(traverse_module_state->__pyx_n_s_ctarget);
  Py_VISIT(traverse_module_state->__pyx_n_s_ctensorDataType);
  Py_VISIT(traverse_module_state->__pyx_n_s_ctensorMap_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_ctensorRank);
  Py_VISIT(traverse_module_state->__pyx_n_s_ctexObject);
  Py_VISIT(traverse_module_state->__pyx_n_s_cto);
  Py_VISIT(traverse_module_state->__pyx_kp_u_ctx);
  Py_VISIT(traverse_module_state->__pyx_n_s_ctxId);
  Py_VISIT(traverse_module_state->__pyx_n_s_ctx_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_ctx_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_ctypename);
  Py_VISIT(traverse_module_state->__pyx_n_s_ctypes);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuArray3DCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuArray3DGetDescriptor);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuArrayCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuArrayDestroy);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuArrayGetDescriptor);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuArrayGetMemoryRequirements);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuArrayGetPlane);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuArrayGetSparseProperties);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCoredumpGetAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCoredumpGetAttributeGlobal);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCoredumpSetAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCoredumpSetAttributeGlobal);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxAttach);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxCreate_v3);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxCreate_v3_locals_genexpr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxDestroy);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxDetach);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxDisablePeerAccess);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxEnablePeerAccess);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxFromGreenCtx);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxGetApiVersion);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxGetCacheConfig);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxGetCurrent);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxGetDevResource);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxGetDevice);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxGetExecAffinity);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxGetFlags);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxGetId);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxGetLimit);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxGetSharedMemConfig);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxGetStreamPriorityRange);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxPopCurrent);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxPushCurrent);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxResetPersistingL2Cache);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxSetCacheConfig);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxSetCurrent);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxSetFlags);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxSetLimit);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxSetSharedMemConfig);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuCtxSynchronize);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDestroyExternalMemory);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDestroyExternalSemaphore);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDevResourceGenerateDesc);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDevResourceGenerateDesc_locals);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDevSmResourceSplitByCount);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceCanAccessPeer);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceComputeCapability);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGet);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGetAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGetByPCIBusId);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGetCount);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGetDefaultMemPool);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGetDevResource);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGetExecAffinitySupport);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGetGraphMemAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGetLuid);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGetMemPool);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGetName);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGetNvSciSyncAttributes);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGetP2PAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGetPCIBusId);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGetProperties);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGetTexture1DLinearMaxWid);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGetUuid);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGetUuid_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceGraphMemTrim);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDevicePrimaryCtxGetState);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDevicePrimaryCtxRelease);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDevicePrimaryCtxReset);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDevicePrimaryCtxRetain);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDevicePrimaryCtxSetFlags);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceRegisterAsyncNotificatio);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceSetGraphMemAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceSetMemPool);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceTotalMem);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDeviceUnregisterAsyncNotificat);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuDriverGetVersion);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuEGLStreamConsumerAcquireFrame);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuEGLStreamConsumerConnect);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuEGLStreamConsumerConnectWithFl);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuEGLStreamConsumerDisconnect);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuEGLStreamConsumerReleaseFrame);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuEGLStreamProducerConnect);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuEGLStreamProducerDisconnect);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuEGLStreamProducerPresentFrame);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuEGLStreamProducerReturnFrame);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuEventCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuEventCreateFromEGLSync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuEventDestroy);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuEventElapsedTime);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuEventQuery);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuEventRecord);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuEventRecordWithFlags);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuEventSynchronize);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuExternalMemoryGetMappedBuffer);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuExternalMemoryGetMappedMipmapp);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuFlushGPUDirectRDMAWrites);
  Py_VISIT(traverse_module_state->__pyx_kp_u_cuFormat);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuFormat_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_cuFormat_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuFuncGetAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuFuncGetModule);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuFuncGetName);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuFuncGetParamInfo);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuFuncIsLoaded);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuFuncLoad);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuFuncSetAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuFuncSetBlockShape);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuFuncSetCacheConfig);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuFuncSetSharedMemConfig);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuFuncSetSharedSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGLGetDevices);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGetErrorName);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGetErrorString);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGetExportTable);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGetProcAddress);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddBatchMemOpNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddBatchMemOpNode_locals);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddChildGraphNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddChildGraphNode_locals);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddDependencies);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddDependencies_locals_ge);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddDependencies_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddDependencies_v2_locals);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddEmptyNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddEmptyNode_locals_genex);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddEventRecordNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddEventRecordNode_locals);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddEventWaitNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddEventWaitNode_locals_g);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddExternalSemaphoresSign);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddExternalSemaphoresSign_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddExternalSemaphoresWait);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddExternalSemaphoresWait_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddHostNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddHostNode_locals_genexp);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddKernelNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddKernelNode_locals_gene);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddMemAllocNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddMemAllocNode_locals_ge);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddMemFreeNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddMemFreeNode_locals_gen);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddMemcpyNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddMemcpyNode_locals_gene);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddMemsetNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddMemsetNode_locals_gene);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddNode_locals_genexpr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddNode_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphAddNode_v2_locals_genexpr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphBatchMemOpNodeGetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphBatchMemOpNodeSetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphChildGraphNodeGetGraph);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphClone);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphConditionalHandleCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphDebugDotPrint);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphDestroy);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphDestroyNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphEventRecordNodeGetEvent);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphEventRecordNodeSetEvent);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphEventWaitNodeGetEvent);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphEventWaitNodeSetEvent);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExecBatchMemOpNodeSetPara);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExecChildGraphNodeSetPara);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExecDestroy);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExecEventRecordNodeSetEve);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExecEventWaitNodeSetEvent);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExecExternalSemaphoresSig);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExecExternalSemaphoresWai);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExecGetFlags);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExecHostNodeSetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExecKernelNodeSetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExecMemcpyNodeSetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExecMemsetNodeSetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExecNodeSetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExecUpdate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExternalSemaphoresSignalN);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExternalSemaphoresSignalN_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExternalSemaphoresWaitNod);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphExternalSemaphoresWaitNod_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphGetEdges);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphGetEdges_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphGetNodes);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphGetRootNodes);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphHostNodeGetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphHostNodeSetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphInstantiate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphInstantiateWithParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphKernelNodeCopyAttributes);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphKernelNodeGetAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphKernelNodeGetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphKernelNodeSetAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphKernelNodeSetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphLaunch);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphMemAllocNodeGetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphMemFreeNodeGetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphMemcpyNodeGetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphMemcpyNodeSetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphMemsetNodeGetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphMemsetNodeSetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphNodeFindInClone);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphNodeGetDependencies);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphNodeGetDependencies_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphNodeGetDependentNodes);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphNodeGetDependentNodes_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphNodeGetEnabled);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphNodeGetType);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphNodeSetEnabled);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphNodeSetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphReleaseUserObject);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphRemoveDependencies);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphRemoveDependencies_locals);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphRemoveDependencies_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphRemoveDependencies_v2_loc);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphRetainUserObject);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphUpload);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphicsEGLRegisterImage);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphicsGLRegisterBuffer);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphicsGLRegisterImage);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphicsMapResources);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphicsResourceGetMappedEglFr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphicsResourceGetMappedMipma);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphicsResourceGetMappedPoint);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphicsResourceSetMapFlags);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphicsSubResourceGetMappedAr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphicsUnmapResources);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphicsUnregisterResource);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphicsVDPAURegisterOutputSur);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGraphicsVDPAURegisterVideoSurf);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGreenCtxCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGreenCtxDestroy);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGreenCtxGetDevResource);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGreenCtxRecordEvent);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuGreenCtxWaitEvent);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuImportExternalMemory);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuImportExternalSemaphore);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuInit);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuIpcCloseMemHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuIpcGetEventHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuIpcGetMemHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuIpcOpenEventHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuIpcOpenMemHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuKernelGetAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuKernelGetFunction);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuKernelGetName);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuKernelGetParamInfo);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuKernelSetAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuKernelSetCacheConfig);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLaunch);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLaunchCooperativeKernel);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLaunchCooperativeKernelMultiDe);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLaunchCooperativeKernelMultiDe_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLaunchGrid);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLaunchGridAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLaunchHostFunc);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLaunchKernel);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLaunchKernelEx);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLibraryEnumerateKernels);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLibraryGetGlobal);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLibraryGetKernel);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLibraryGetKernelCount);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLibraryGetManaged);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLibraryGetModule);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLibraryGetUnifiedFunction);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLibraryLoadData);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLibraryLoadData_locals_genexpr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLibraryLoadFromFile);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLibraryLoadFromFile_locals_gen);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLibraryUnload);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLinkAddData);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLinkAddData_locals_genexpr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLinkAddFile);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLinkAddFile_locals_genexpr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLinkComplete);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLinkCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLinkCreate_locals_genexpr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuLinkDestroy);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemAddressFree);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemAddressReserve);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemAdvise);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemAdvise_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemAlloc);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemAllocAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemAllocFromPoolAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemAllocHost);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemAllocManaged);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemAllocPitch);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemExportToShareableHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemFree);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemFreeAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemFreeHost);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemGetAccess);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemGetAddressRange);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemGetAllocationGranularity);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemGetAllocationPropertiesFrom);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemGetHandleForAddressRange);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemGetInfo);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemHostAlloc);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemHostGetDevicePointer);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemHostGetFlags);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemHostRegister);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemHostUnregister);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemImportFromShareableHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemMap);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemMapArrayAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemMapArrayAsync_locals_genexp);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemPoolCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemPoolDestroy);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemPoolExportPointer);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemPoolExportToShareableHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemPoolGetAccess);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemPoolGetAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemPoolImportFromShareableHand);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemPoolImportPointer);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemPoolSetAccess);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemPoolSetAccess_locals_genexp);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemPoolSetAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemPoolTrimTo);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemPrefetchAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemPrefetchAsync_v2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemRangeGetAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemRangeGetAttributes);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemRangeGetAttributes_locals_g);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemRelease);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemRetainAllocationHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemSetAccess);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemSetAccess_locals_genexpr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemUnmap);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpy);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpy2D);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpy2DAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpy2DUnaligned);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpy3D);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpy3DAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpy3DPeer);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpy3DPeerAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpyAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpyAtoA);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpyAtoD);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpyAtoH);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpyAtoHAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpyDtoA);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpyDtoD);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpyDtoDAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpyDtoH);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpyDtoHAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpyHtoA);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpyHtoAAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpyHtoD);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpyHtoDAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpyPeer);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemcpyPeerAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemsetD16);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemsetD16Async);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemsetD2D16);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemsetD2D16Async);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemsetD2D32);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemsetD2D32Async);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemsetD2D8);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemsetD2D8Async);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemsetD32);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemsetD32Async);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemsetD8);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMemsetD8Async);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMipmappedArrayCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMipmappedArrayDestroy);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMipmappedArrayGetLevel);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMipmappedArrayGetMemoryRequire);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMipmappedArrayGetSparsePropert);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuModuleEnumerateFunctions);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuModuleGetFunction);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuModuleGetFunctionCount);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuModuleGetGlobal);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuModuleGetLoadingMode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuModuleGetSurfRef);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuModuleGetTexRef);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuModuleLoad);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuModuleLoadData);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuModuleLoadDataEx);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuModuleLoadDataEx_locals_genexp);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuModuleLoadFatBinary);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuModuleUnload);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMulticastAddDevice);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMulticastBindAddr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMulticastBindMem);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMulticastCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMulticastGetGranularity);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuMulticastUnbind);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuOccupancyAvailableDynamicSMemP);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuOccupancyMaxActiveBlocksPerMul);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuOccupancyMaxActiveBlocksPerMul_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuOccupancyMaxActiveClusters);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuOccupancyMaxPotentialBlockSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuOccupancyMaxPotentialBlockSize_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuOccupancyMaxPotentialClusterSi);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuParamSetSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuParamSetTexRef);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuParamSetf);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuParamSeti);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuParamSetv);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuPointerGetAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuPointerGetAttributes);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuPointerGetAttributes_locals_ge);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuPointerSetAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuProfilerStart);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuProfilerStop);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuSignalExternalSemaphoresAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuSignalExternalSemaphoresAsync_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamAddCallback);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamAttachMemAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamBatchMemOp);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamBatchMemOp_locals_genexp);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamBeginCapture);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamBeginCaptureToGraph);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamBeginCaptureToGraph_loca);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamCopyAttributes);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamCreateWithPriority);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamDestroy);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamEndCapture);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamGetAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamGetCaptureInfo);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamGetCaptureInfo_v3);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamGetCtx);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamGetFlags);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamGetGreenCtx);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamGetId);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamGetPriority);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamIsCapturing);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamQuery);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamSetAttribute);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamSynchronize);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamUpdateCaptureDependencie);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamUpdateCaptureDependencie_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamUpdateCaptureDependencie_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamUpdateCaptureDependencie_4);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamWaitEvent);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamWaitValue32);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamWaitValue64);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamWriteValue32);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuStreamWriteValue64);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuSurfObjectCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuSurfObjectDestroy);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuSurfObjectGetResourceDesc);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuSurfRefGetArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuSurfRefSetArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTensorMapEncodeIm2col);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTensorMapEncodeIm2col_locals_g);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTensorMapEncodeTiled);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTensorMapEncodeTiled_locals_ge);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTensorMapReplaceAddress);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexObjectCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexObjectDestroy);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexObjectGetResourceDesc);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexObjectGetResourceViewDesc);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexObjectGetTextureDesc);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefDestroy);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefGetAddress);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefGetAddressMode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefGetArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefGetBorderColor);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefGetFilterMode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefGetFlags);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefGetFormat);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefGetMaxAnisotropy);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefGetMipmapFilterMode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefGetMipmapLevelBias);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefGetMipmapLevelClamp);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefGetMipmappedArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefSetAddress);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefSetAddress2D);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefSetAddressMode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefSetArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefSetBorderColor);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefSetFilterMode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefSetFlags);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefSetFormat);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefSetMaxAnisotropy);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefSetMipmapFilterMode);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefSetMipmapLevelBias);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefSetMipmapLevelClamp);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuTexRefSetMipmappedArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuThreadExchangeStreamCaptureMod);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuUserObjectCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuUserObjectRelease);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuUserObjectRetain);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuVDPAUCtxCreate);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuVDPAUGetDevice);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuWaitExternalSemaphoresAsync);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuWaitExternalSemaphoresAsync_lo);
  Py_VISIT(traverse_module_state->__pyx_n_s_cubinOut);
  Py_VISIT(traverse_module_state->__pyx_n_s_cudaDeviceCount);
  Py_VISIT(traverse_module_state->__pyx_n_s_cudaVersion);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuda_cuda);
  Py_VISIT(traverse_module_state->__pyx_kp_s_cuda_cuda_pyx);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuserData);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuserData_ptr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_cuuint32_t);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuuint32_t_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuuint32_t___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuuint32_t___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuuint32_t_getPtr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_cuuint64_t);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuuint64_t_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuuint64_t___reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuuint64_t___setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_cuuint64_t_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cvalue);
  Py_VISIT(traverse_module_state->__pyx_n_s_cvalue_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cvdpDevice);
  Py_VISIT(traverse_module_state->__pyx_n_s_cvdpGetProcAddress);
  Py_VISIT(traverse_module_state->__pyx_n_s_cvdpSurface);
  Py_VISIT(traverse_module_state->__pyx_n_s_cvoidStarHelper_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_cwidth);
  Py_VISIT(traverse_module_state->__pyx_kp_u_data);
  Py_VISIT(traverse_module_state->__pyx_n_s_dataSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_dataSizes);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dataTable);
  Py_VISIT(traverse_module_state->__pyx_n_s_dataTable_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dataTable_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dataWindowSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_dataWindowSize_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dataWindowSize_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_data_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_data_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_data_length_must_be_64_is);
  Py_VISIT(traverse_module_state->__pyx_kp_u_default);
  Py_VISIT(traverse_module_state->__pyx_n_s_defaultLaunchValue);
  Py_VISIT(traverse_module_state->__pyx_n_s_default_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_default__ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_dependencies);
  Py_VISIT(traverse_module_state->__pyx_n_s_dependencyData);
  Py_VISIT(traverse_module_state->__pyx_kp_u_depth);
  Py_VISIT(traverse_module_state->__pyx_n_s_depth_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_depth_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_desc);
  Py_VISIT(traverse_module_state->__pyx_n_s_destroy);
  Py_VISIT(traverse_module_state->__pyx_n_s_dev);
  Py_VISIT(traverse_module_state->__pyx_kp_u_devNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_devNode_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_devNode_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_devPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_devPtr_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_devPtr_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_device);
  Py_VISIT(traverse_module_state->__pyx_kp_u_deviceBitMask);
  Py_VISIT(traverse_module_state->__pyx_n_s_deviceBitMask_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_deviceBitMask_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_deviceList);
  Py_VISIT(traverse_module_state->__pyx_n_s_deviceNodeMask);
  Py_VISIT(traverse_module_state->__pyx_kp_u_deviceUpdatable);
  Py_VISIT(traverse_module_state->__pyx_kp_u_deviceUpdatableKernelNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_deviceUpdatableKernelNode_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_deviceUpdatableKernelNode_ValueE);
  Py_VISIT(traverse_module_state->__pyx_n_s_deviceUpdatable_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_deviceUpdatable_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_dict);
  Py_VISIT(traverse_module_state->__pyx_n_s_dim);
  Py_VISIT(traverse_module_state->__pyx_kp_u_disable);
  Py_VISIT(traverse_module_state->__pyx_n_s_doc);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_dptr_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dptr_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_dptr_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_driverVersion);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dst);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_dstArray_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstArray_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstContext);
  Py_VISIT(traverse_module_state->__pyx_n_s_dstContext_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstContext_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstDevice);
  Py_VISIT(traverse_module_state->__pyx_n_s_dstDevice_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstDevice_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstHeight);
  Py_VISIT(traverse_module_state->__pyx_n_s_dstHeight_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstHeight_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstHost);
  Py_VISIT(traverse_module_state->__pyx_n_s_dstHost_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstHost_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstLOD);
  Py_VISIT(traverse_module_state->__pyx_n_s_dstLOD_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstLOD_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstMemoryType);
  Py_VISIT(traverse_module_state->__pyx_n_s_dstMemoryType_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstMemoryType_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_dstOffset);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstPitch);
  Py_VISIT(traverse_module_state->__pyx_n_s_dstPitch_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstPitch_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstXInBytes);
  Py_VISIT(traverse_module_state->__pyx_n_s_dstXInBytes_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstXInBytes_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstY);
  Py_VISIT(traverse_module_state->__pyx_n_s_dstY_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstY_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstZ);
  Py_VISIT(traverse_module_state->__pyx_n_s_dstZ_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dstZ_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_dst_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_dst_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_dynamicSMemSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_dynamicSmemSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_edgeData);
  Py_VISIT(traverse_module_state->__pyx_kp_u_eglColorFormat);
  Py_VISIT(traverse_module_state->__pyx_n_s_eglColorFormat_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_eglColorFormat_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_eglFrame);
  Py_VISIT(traverse_module_state->__pyx_n_s_eglSync);
  Py_VISIT(traverse_module_state->__pyx_n_s_eglframe);
  Py_VISIT(traverse_module_state->__pyx_kp_u_elementSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_elementSize_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_elementSize_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_elementStrides);
  Py_VISIT(traverse_module_state->__pyx_kp_u_enable);
  Py_VISIT(traverse_module_state->__pyx_n_s_enum);
  Py_VISIT(traverse_module_state->__pyx_n_s_enumerate);
  Py_VISIT(traverse_module_state->__pyx_n_s_err);
  Py_VISIT(traverse_module_state->__pyx_n_s_error);
  Py_VISIT(traverse_module_state->__pyx_kp_u_errorFromNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_errorFromNode_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_errorFromNode_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_errorNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_errorNode_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_errorNode_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_event);
  Py_VISIT(traverse_module_state->__pyx_kp_u_eventRecord);
  Py_VISIT(traverse_module_state->__pyx_n_s_eventRecord_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_eventRecord_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_eventWait);
  Py_VISIT(traverse_module_state->__pyx_n_s_eventWait_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_eventWait_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_event_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_event_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_event_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_extMem);
  Py_VISIT(traverse_module_state->__pyx_n_s_extMem_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_extSem);
  Py_VISIT(traverse_module_state->__pyx_kp_u_extSemArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_extSemArray_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_extSemArray_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_extSemSignal);
  Py_VISIT(traverse_module_state->__pyx_n_s_extSemSignal_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_extSemSignal_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_extSemWait);
  Py_VISIT(traverse_module_state->__pyx_n_s_extSemWait_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_extSemWait_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_extSem_out);
  Py_VISIT(traverse_module_state->__pyx_kp_u_extentDepth);
  Py_VISIT(traverse_module_state->__pyx_n_s_extentDepth_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_extentDepth_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_extentHeight);
  Py_VISIT(traverse_module_state->__pyx_n_s_extentHeight_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_extentHeight_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_extentWidth);
  Py_VISIT(traverse_module_state->__pyx_n_s_extentWidth_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_extentWidth_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_extra);
  Py_VISIT(traverse_module_state->__pyx_n_s_extra_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_extra_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_f);
  Py_VISIT(traverse_module_state->__pyx_n_s_fatCubin);
  Py_VISIT(traverse_module_state->__pyx_kp_u_fd);
  Py_VISIT(traverse_module_state->__pyx_n_s_fd_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_fd_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_fence);
  Py_VISIT(traverse_module_state->__pyx_n_s_fence_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_fence_3);
  Py_VISIT(traverse_module_state->__pyx_kp_u_fence_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_fileName);
  Py_VISIT(traverse_module_state->__pyx_kp_u_filterMode);
  Py_VISIT(traverse_module_state->__pyx_n_s_filterMode_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_filterMode_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_firstLayer);
  Py_VISIT(traverse_module_state->__pyx_n_s_firstLayer_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_firstLayer_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_firstMipmapLevel);
  Py_VISIT(traverse_module_state->__pyx_n_s_firstMipmapLevel_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_firstMipmapLevel_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_flags);
  Py_VISIT(traverse_module_state->__pyx_n_s_flags_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_flags_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_flushRemoteWrites);
  Py_VISIT(traverse_module_state->__pyx_n_s_flushRemoteWrites_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_flushRemoteWrites_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_fm);
  Py_VISIT(traverse_module_state->__pyx_n_s_fmt);
  Py_VISIT(traverse_module_state->__pyx_kp_u_fn);
  Py_VISIT(traverse_module_state->__pyx_n_s_fn_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_fn_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_fname);
  Py_VISIT(traverse_module_state->__pyx_kp_u_format);
  Py_VISIT(traverse_module_state->__pyx_n_s_format_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_format_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_fptr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_frame);
  Py_VISIT(traverse_module_state->__pyx_kp_u_frameType);
  Py_VISIT(traverse_module_state->__pyx_n_s_frameType_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_frameType_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_frame_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_frame_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_free);
  Py_VISIT(traverse_module_state->__pyx_n_s_free_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_free_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_from);
  Py_VISIT(traverse_module_state->__pyx_kp_u_from_port);
  Py_VISIT(traverse_module_state->__pyx_n_s_from_port_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_from_port_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_func);
  Py_VISIT(traverse_module_state->__pyx_n_s_func_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_func_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_function);
  Py_VISIT(traverse_module_state->__pyx_kp_u_functionTable);
  Py_VISIT(traverse_module_state->__pyx_n_s_functionTable_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_functionTable_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_functionWindowSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_functionWindowSize_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_functionWindowSize_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_function_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_function_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_gc);
  Py_VISIT(traverse_module_state->__pyx_n_s_genexpr);
  Py_VISIT(traverse_module_state->__pyx_n_s_getPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_getstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_globalAddress);
  Py_VISIT(traverse_module_state->__pyx_n_s_globalDim);
  Py_VISIT(traverse_module_state->__pyx_n_s_globalStrides);
  Py_VISIT(traverse_module_state->__pyx_kp_u_gpuDirectRDMACapable);
  Py_VISIT(traverse_module_state->__pyx_n_s_gpuDirectRDMACapable_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_gpuDirectRDMACapable_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_granularity);
  Py_VISIT(traverse_module_state->__pyx_kp_u_graph);
  Py_VISIT(traverse_module_state->__pyx_n_s_graph_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_graph_3);
  Py_VISIT(traverse_module_state->__pyx_kp_u_graph_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_graph_length);
  Py_VISIT(traverse_module_state->__pyx_n_s_graph_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_greatestPriority);
  Py_VISIT(traverse_module_state->__pyx_kp_u_gridDimX);
  Py_VISIT(traverse_module_state->__pyx_n_s_gridDimX_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_gridDimX_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_gridDimY);
  Py_VISIT(traverse_module_state->__pyx_n_s_gridDimY_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_gridDimY_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_gridDimZ);
  Py_VISIT(traverse_module_state->__pyx_n_s_gridDimZ_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_gridDimZ_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_grid_height);
  Py_VISIT(traverse_module_state->__pyx_n_s_grid_width);
  Py_VISIT(traverse_module_state->__pyx_kp_u_hArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_hArray_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_hArray_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_hClonedGraph);
  Py_VISIT(traverse_module_state->__pyx_n_s_hCtx);
  Py_VISIT(traverse_module_state->__pyx_n_s_hEnd);
  Py_VISIT(traverse_module_state->__pyx_kp_u_hErrNode_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_hErrNode_out_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_hErrNode_out_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_hEvent);
  Py_VISIT(traverse_module_state->__pyx_n_s_hGraph);
  Py_VISIT(traverse_module_state->__pyx_n_s_hGraphExec);
  Py_VISIT(traverse_module_state->__pyx_kp_u_hMipmappedArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_hMipmappedArray_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_hMipmappedArray_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_hNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_hOriginalNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_hStart);
  Py_VISIT(traverse_module_state->__pyx_kp_u_hStream);
  Py_VISIT(traverse_module_state->__pyx_n_s_hStream_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_hStream_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_hSurfRef);
  Py_VISIT(traverse_module_state->__pyx_n_s_hTexRef);
  Py_VISIT(traverse_module_state->__pyx_kp_u_hUploadStream);
  Py_VISIT(traverse_module_state->__pyx_n_s_hUploadStream_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_hUploadStream_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_handle);
  Py_VISIT(traverse_module_state->__pyx_n_s_handleType);
  Py_VISIT(traverse_module_state->__pyx_kp_u_handleTypes);
  Py_VISIT(traverse_module_state->__pyx_n_s_handleTypes_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_handleTypes_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_handle_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_handle_3);
  Py_VISIT(traverse_module_state->__pyx_kp_u_handle_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_height);
  Py_VISIT(traverse_module_state->__pyx_n_s_height_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_height_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_hex);
  Py_VISIT(traverse_module_state->__pyx_n_s_hfunc);
  Py_VISIT(traverse_module_state->__pyx_kp_u_hitProp);
  Py_VISIT(traverse_module_state->__pyx_n_s_hitProp_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_hitProp_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_hitRatio);
  Py_VISIT(traverse_module_state->__pyx_n_s_hitRatio_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_hitRatio_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_hmod);
  Py_VISIT(traverse_module_state->__pyx_kp_u_host);
  Py_VISIT(traverse_module_state->__pyx_n_s_host_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_host_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_id);
  Py_VISIT(traverse_module_state->__pyx_n_s_id_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_id_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_id_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_idx);
  Py_VISIT(traverse_module_state->__pyx_n_s_image);
  Py_VISIT(traverse_module_state->__pyx_n_s_import);
  Py_VISIT(traverse_module_state->__pyx_n_s_index);
  Py_VISIT(traverse_module_state->__pyx_kp_u_info);
  Py_VISIT(traverse_module_state->__pyx_n_s_info_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_info_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_init_subclass);
  Py_VISIT(traverse_module_state->__pyx_n_s_init_value);
  Py_VISIT(traverse_module_state->__pyx_n_s_initialRefcount);
  Py_VISIT(traverse_module_state->__pyx_n_s_initializing);
  Py_VISIT(traverse_module_state->__pyx_n_s_input);
  Py_VISIT(traverse_module_state->__pyx_n_s_instantiateParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_int);
  Py_VISIT(traverse_module_state->__pyx_n_s_interleave);
  Py_VISIT(traverse_module_state->__pyx_kp_u_internal_padding);
  Py_VISIT(traverse_module_state->__pyx_n_s_internal_padding_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_internal_padding_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_internal_padding_length_must_be);
  Py_VISIT(traverse_module_state->__pyx_n_s_isEnabled);
  Py_VISIT(traverse_module_state->__pyx_n_s_is_coroutine);
  Py_VISIT(traverse_module_state->__pyx_n_s_is_getter);
  Py_VISIT(traverse_module_state->__pyx_kp_u_isenabled);
  Py_VISIT(traverse_module_state->__pyx_n_s_jitOptions);
  Py_VISIT(traverse_module_state->__pyx_n_s_jitOptionsValues);
  Py_VISIT(traverse_module_state->__pyx_kp_u_kern);
  Py_VISIT(traverse_module_state->__pyx_n_s_kern_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_kern_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_kernel);
  Py_VISIT(traverse_module_state->__pyx_kp_u_kernelParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_kernelParams_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_kernelParams_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_kernel_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_kernel_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_key);
  Py_VISIT(traverse_module_state->__pyx_n_s_key_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_key_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_keyedMutex);
  Py_VISIT(traverse_module_state->__pyx_n_s_keyedMutex_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_keyedMutex_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_l2Promotion);
  Py_VISIT(traverse_module_state->__pyx_kp_u_lastLayer);
  Py_VISIT(traverse_module_state->__pyx_n_s_lastLayer_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_lastLayer_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_lastMipmapLevel);
  Py_VISIT(traverse_module_state->__pyx_n_s_lastMipmapLevel_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_lastMipmapLevel_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_launchCompletionEvent);
  Py_VISIT(traverse_module_state->__pyx_n_s_launchCompletionEvent_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_launchCompletionEvent_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_launchParamsList);
  Py_VISIT(traverse_module_state->__pyx_kp_u_layer);
  Py_VISIT(traverse_module_state->__pyx_n_s_layer_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_layer_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_leastPriority);
  Py_VISIT(traverse_module_state->__pyx_n_s_length);
  Py_VISIT(traverse_module_state->__pyx_kp_u_level);
  Py_VISIT(traverse_module_state->__pyx_n_s_level_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_level_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_lib);
  Py_VISIT(traverse_module_state->__pyx_n_s_library);
  Py_VISIT(traverse_module_state->__pyx_n_s_libraryOptionValues);
  Py_VISIT(traverse_module_state->__pyx_n_s_libraryOptions);
  Py_VISIT(traverse_module_state->__pyx_n_s_limit);
  Py_VISIT(traverse_module_state->__pyx_kp_u_linear);
  Py_VISIT(traverse_module_state->__pyx_n_s_linear_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_linear_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_location);
  Py_VISIT(traverse_module_state->__pyx_n_s_location_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_location_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_luid);
  Py_VISIT(traverse_module_state->__pyx_n_s_main);
  Py_VISIT(traverse_module_state->__pyx_n_s_major);
  Py_VISIT(traverse_module_state->__pyx_n_s_map);
  Py_VISIT(traverse_module_state->__pyx_n_s_mapInfoList);
  Py_VISIT(traverse_module_state->__pyx_n_s_maxAniso);
  Py_VISIT(traverse_module_state->__pyx_kp_u_maxAnisotropy);
  Py_VISIT(traverse_module_state->__pyx_n_s_maxAnisotropy_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_maxAnisotropy_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_maxGridSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_maxGridSize_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_maxGridSize_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_maxMipmapLevelClamp);
  Py_VISIT(traverse_module_state->__pyx_n_s_maxMipmapLevelClamp_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_maxMipmapLevelClamp_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_maxSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_maxSize_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_maxSize_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_maxThreadsDim);
  Py_VISIT(traverse_module_state->__pyx_n_s_maxThreadsDim_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_maxThreadsDim_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_maxThreadsPerBlock);
  Py_VISIT(traverse_module_state->__pyx_n_s_maxThreadsPerBlock_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_maxThreadsPerBlock_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_maxWidthInElements);
  Py_VISIT(traverse_module_state->__pyx_n_s_mcHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_mcOffset);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_memHandleDesc);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memHandleType);
  Py_VISIT(traverse_module_state->__pyx_n_s_memHandleType_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memHandleType_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_memHandle_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memHandle_3);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memHandle_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_memOffset);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memOp);
  Py_VISIT(traverse_module_state->__pyx_n_s_memOp_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memOp_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memOperationType);
  Py_VISIT(traverse_module_state->__pyx_n_s_memOperationType_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memOperationType_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memPitch);
  Py_VISIT(traverse_module_state->__pyx_n_s_memPitch_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memPitch_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_memPool);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memSyncDomain);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memSyncDomainMap);
  Py_VISIT(traverse_module_state->__pyx_n_s_memSyncDomainMap_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memSyncDomainMap_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_memSyncDomain_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memSyncDomain_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memcpy);
  Py_VISIT(traverse_module_state->__pyx_n_s_memcpy_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memcpy_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memoryBarrier);
  Py_VISIT(traverse_module_state->__pyx_n_s_memoryBarrier_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memoryBarrier_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_memoryRequirements);
  Py_VISIT(traverse_module_state->__pyx_n_s_memptr);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memset);
  Py_VISIT(traverse_module_state->__pyx_n_s_memsetParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_memset_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_memset_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_metaclass);
  Py_VISIT(traverse_module_state->__pyx_n_s_minBytesToKeep);
  Py_VISIT(traverse_module_state->__pyx_n_s_minCount);
  Py_VISIT(traverse_module_state->__pyx_n_s_minGridSize);
  Py_VISIT(traverse_module_state->__pyx_kp_u_minMipmapLevelClamp);
  Py_VISIT(traverse_module_state->__pyx_n_s_minMipmapLevelClamp_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_minMipmapLevelClamp_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_minor);
  Py_VISIT(traverse_module_state->__pyx_n_s_mipLevel);
  Py_VISIT(traverse_module_state->__pyx_kp_u_mipmap);
  Py_VISIT(traverse_module_state->__pyx_n_s_mipmapDesc);
  Py_VISIT(traverse_module_state->__pyx_kp_u_mipmapFilterMode);
  Py_VISIT(traverse_module_state->__pyx_n_s_mipmapFilterMode_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_mipmapFilterMode_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_mipmapLevelBias);
  Py_VISIT(traverse_module_state->__pyx_n_s_mipmapLevelBias_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_mipmapLevelBias_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_mipmap_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_mipmap_3);
  Py_VISIT(traverse_module_state->__pyx_kp_u_mipmap_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_miptail);
  Py_VISIT(traverse_module_state->__pyx_kp_u_miptailFirstLevel);
  Py_VISIT(traverse_module_state->__pyx_n_s_miptailFirstLevel_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_miptailFirstLevel_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_miptailSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_miptailSize_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_miptailSize_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_miptail_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_miptail_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_missProp);
  Py_VISIT(traverse_module_state->__pyx_n_s_missProp_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_missProp_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_mod);
  Py_VISIT(traverse_module_state->__pyx_n_s_mode);
  Py_VISIT(traverse_module_state->__pyx_n_s_module);
  Py_VISIT(traverse_module_state->__pyx_n_s_module_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_mro_entries);
  Py_VISIT(traverse_module_state->__pyx_kp_u_name);
  Py_VISIT(traverse_module_state->__pyx_n_s_name_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_name_3);
  Py_VISIT(traverse_module_state->__pyx_kp_u_name_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_nbGroups);
  Py_VISIT(traverse_module_state->__pyx_n_s_nbResources);
  Py_VISIT(traverse_module_state->__pyx_kp_s_no_default___reduce___due_to_non);
  Py_VISIT(traverse_module_state->__pyx_n_s_nodeParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_nodeParams_out);
  Py_VISIT(traverse_module_state->__pyx_kp_u_not_enough_values_found_during_a);
  Py_VISIT(traverse_module_state->__pyx_n_s_numAttributes);
  Py_VISIT(traverse_module_state->__pyx_kp_u_numAttrs);
  Py_VISIT(traverse_module_state->__pyx_n_s_numAttrs_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_numAttrs_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_numBlocks);
  Py_VISIT(traverse_module_state->__pyx_kp_u_numChannels);
  Py_VISIT(traverse_module_state->__pyx_n_s_numChannels_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_numChannels_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_numClusters);
  Py_VISIT(traverse_module_state->__pyx_n_s_numDependencies);
  Py_VISIT(traverse_module_state->__pyx_n_s_numDependencies_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_numDependentNodes);
  Py_VISIT(traverse_module_state->__pyx_kp_u_numDevices);
  Py_VISIT(traverse_module_state->__pyx_n_s_numDevices_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_numDevices_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_numEdges);
  Py_VISIT(traverse_module_state->__pyx_kp_u_numExtSems);
  Py_VISIT(traverse_module_state->__pyx_n_s_numExtSems_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_numExtSems_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_numFunctions);
  Py_VISIT(traverse_module_state->__pyx_n_s_numJitOptions);
  Py_VISIT(traverse_module_state->__pyx_n_s_numKernels);
  Py_VISIT(traverse_module_state->__pyx_kp_u_numLevels);
  Py_VISIT(traverse_module_state->__pyx_n_s_numLevels_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_numLevels_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_numLibraryOptions);
  Py_VISIT(traverse_module_state->__pyx_n_s_numMipmapLevels);
  Py_VISIT(traverse_module_state->__pyx_n_s_numNodes);
  Py_VISIT(traverse_module_state->__pyx_n_s_numOptions);
  Py_VISIT(traverse_module_state->__pyx_n_s_numParams);
  Py_VISIT(traverse_module_state->__pyx_n_s_numRootNodes);
  Py_VISIT(traverse_module_state->__pyx_kp_u_num_bytes);
  Py_VISIT(traverse_module_state->__pyx_n_s_num_bytes_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_num_bytes_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_numbytes);
  Py_VISIT(traverse_module_state->__pyx_kp_u_nvSciBufObject);
  Py_VISIT(traverse_module_state->__pyx_n_s_nvSciBufObject_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_nvSciBufObject_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_nvSciSync);
  Py_VISIT(traverse_module_state->__pyx_n_s_nvSciSyncAttrList);
  Py_VISIT(traverse_module_state->__pyx_kp_u_nvSciSyncObj);
  Py_VISIT(traverse_module_state->__pyx_n_s_nvSciSyncObj_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_nvSciSyncObj_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_nvSciSync_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_nvSciSync_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_obj);
  Py_VISIT(traverse_module_state->__pyx_n_s_objType);
  Py_VISIT(traverse_module_state->__pyx_n_s_object);
  Py_VISIT(traverse_module_state->__pyx_n_s_object_out);
  Py_VISIT(traverse_module_state->__pyx_kp_u_offset);
  Py_VISIT(traverse_module_state->__pyx_kp_u_offsetX);
  Py_VISIT(traverse_module_state->__pyx_n_s_offsetX_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_offsetX_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_offsetY);
  Py_VISIT(traverse_module_state->__pyx_n_s_offsetY_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_offsetY_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_offsetZ);
  Py_VISIT(traverse_module_state->__pyx_n_s_offsetZ_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_offsetZ_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_offset_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_offset_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_oobFill);
  Py_VISIT(traverse_module_state->__pyx_kp_u_opaque);
  Py_VISIT(traverse_module_state->__pyx_n_s_opaque_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_opaque_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_operation);
  Py_VISIT(traverse_module_state->__pyx_n_s_operation_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_operation_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_option);
  Py_VISIT(traverse_module_state->__pyx_n_s_optionValues);
  Py_VISIT(traverse_module_state->__pyx_n_s_options);
  Py_VISIT(traverse_module_state->__pyx_n_s_ordinal);
  Py_VISIT(traverse_module_state->__pyx_n_s_originalGraph);
  Py_VISIT(traverse_module_state->__pyx_n_s_osHandle);
  Py_VISIT(traverse_module_state->__pyx_kp_u_overBudget);
  Py_VISIT(traverse_module_state->__pyx_n_s_overBudget_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_overBudget_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_oversize);
  Py_VISIT(traverse_module_state->__pyx_n_s_oversize_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_oversize_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_oversize_length_must_be_48_is);
  Py_VISIT(traverse_module_state->__pyx_n_s_p);
  Py_VISIT(traverse_module_state->__pyx_kp_u_p2pToken);
  Py_VISIT(traverse_module_state->__pyx_n_s_p2pToken_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_p2pToken_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_pAllocateArray);
  Py_VISIT(traverse_module_state->__pyx_kp_u_pArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_pArrayDescriptor);
  Py_VISIT(traverse_module_state->__pyx_n_s_pArray_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_pArray_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_pBorderColor);
  Py_VISIT(traverse_module_state->__pyx_n_s_pConfig);
  Py_VISIT(traverse_module_state->__pyx_n_s_pContext);
  Py_VISIT(traverse_module_state->__pyx_n_s_pCopy);
  Py_VISIT(traverse_module_state->__pyx_n_s_pCtx);
  Py_VISIT(traverse_module_state->__pyx_n_s_pCudaDeviceCount);
  Py_VISIT(traverse_module_state->__pyx_n_s_pCudaResource);
  Py_VISIT(traverse_module_state->__pyx_n_s_pDevPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_pDevice);
  Py_VISIT(traverse_module_state->__pyx_n_s_pExecAffinity);
  Py_VISIT(traverse_module_state->__pyx_n_s_pExportTableId);
  Py_VISIT(traverse_module_state->__pyx_n_s_pFlags);
  Py_VISIT(traverse_module_state->__pyx_n_s_pFormat);
  Py_VISIT(traverse_module_state->__pyx_n_s_pFunc);
  Py_VISIT(traverse_module_state->__pyx_n_s_pHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_pHandle_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_pKernel);
  Py_VISIT(traverse_module_state->__pyx_n_s_pLevelArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_pMilliseconds);
  Py_VISIT(traverse_module_state->__pyx_n_s_pMipmappedArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_pMipmappedArrayDesc);
  Py_VISIT(traverse_module_state->__pyx_n_s_pMod);
  Py_VISIT(traverse_module_state->__pyx_n_s_pNumChannels);
  Py_VISIT(traverse_module_state->__pyx_kp_u_pPitch);
  Py_VISIT(traverse_module_state->__pyx_n_s_pPitch_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_pPitch_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_pPlaneArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_pResDesc);
  Py_VISIT(traverse_module_state->__pyx_n_s_pResViewDesc);
  Py_VISIT(traverse_module_state->__pyx_n_s_pSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_pStr);
  Py_VISIT(traverse_module_state->__pyx_n_s_pStream);
  Py_VISIT(traverse_module_state->__pyx_n_s_pSurfObject);
  Py_VISIT(traverse_module_state->__pyx_n_s_pSurfRef);
  Py_VISIT(traverse_module_state->__pyx_n_s_pTexDesc);
  Py_VISIT(traverse_module_state->__pyx_n_s_pTexObject);
  Py_VISIT(traverse_module_state->__pyx_n_s_pTexRef);
  Py_VISIT(traverse_module_state->__pyx_kp_u_pad);
  Py_VISIT(traverse_module_state->__pyx_n_s_pad_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_pad_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_pad_length_must_be_64_is);
  Py_VISIT(traverse_module_state->__pyx_n_s_paddr);
  Py_VISIT(traverse_module_state->__pyx_n_s_pam);
  Py_VISIT(traverse_module_state->__pyx_kp_u_param);
  Py_VISIT(traverse_module_state->__pyx_kp_u_paramArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_paramArray_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_paramArray_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_paramIndex);
  Py_VISIT(traverse_module_state->__pyx_n_s_paramOffset);
  Py_VISIT(traverse_module_state->__pyx_n_s_paramSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_param_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_param_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_params);
  Py_VISIT(traverse_module_state->__pyx_kp_u_paramsArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_paramsArray_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_paramsArray_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_params_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_params_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_params_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_parray);
  Py_VISIT(traverse_module_state->__pyx_n_s_path);
  Py_VISIT(traverse_module_state->__pyx_n_s_pbase);
  Py_VISIT(traverse_module_state->__pyx_n_s_pbias);
  Py_VISIT(traverse_module_state->__pyx_n_s_pblockSizeToDynamicSMemSize);
  Py_VISIT(traverse_module_state->__pyx_n_s_pbuffer);
  Py_VISIT(traverse_module_state->__pyx_n_s_pcallback);
  Py_VISIT(traverse_module_state->__pyx_n_s_pcallbackFunc);
  Py_VISIT(traverse_module_state->__pyx_n_s_pchannelsPerPixel);
  Py_VISIT(traverse_module_state->__pyx_n_s_pchildGraph);
  Py_VISIT(traverse_module_state->__pyx_n_s_pciBusId);
  Py_VISIT(traverse_module_state->__pyx_n_s_pconfig);
  Py_VISIT(traverse_module_state->__pyx_n_s_pconn);
  Py_VISIT(traverse_module_state->__pyx_n_s_pctx);
  Py_VISIT(traverse_module_state->__pyx_n_s_pdesc);
  Py_VISIT(traverse_module_state->__pyx_n_s_pdestroy);
  Py_VISIT(traverse_module_state->__pyx_n_s_pdev);
  Py_VISIT(traverse_module_state->__pyx_n_s_pdevPtr);
  Py_VISIT(traverse_module_state->__pyx_n_s_pdevice);
  Py_VISIT(traverse_module_state->__pyx_n_s_pdptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_pdst);
  Py_VISIT(traverse_module_state->__pyx_n_s_pdstArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_pdstContext);
  Py_VISIT(traverse_module_state->__pyx_n_s_pdstDevice);
  Py_VISIT(traverse_module_state->__pyx_n_s_peerContext);
  Py_VISIT(traverse_module_state->__pyx_n_s_peerDev);
  Py_VISIT(traverse_module_state->__pyx_n_s_peglSync);
  Py_VISIT(traverse_module_state->__pyx_n_s_pevent);
  Py_VISIT(traverse_module_state->__pyx_n_s_pextMem);
  Py_VISIT(traverse_module_state->__pyx_n_s_pextSem);
  Py_VISIT(traverse_module_state->__pyx_n_s_pf);
  Py_VISIT(traverse_module_state->__pyx_n_s_pflags);
  Py_VISIT(traverse_module_state->__pyx_n_s_pfm);
  Py_VISIT(traverse_module_state->__pyx_n_s_pfn);
  Py_VISIT(traverse_module_state->__pyx_n_s_pformat);
  Py_VISIT(traverse_module_state->__pyx_n_s_pfunc);
  Py_VISIT(traverse_module_state->__pyx_n_s_pfunction);
  Py_VISIT(traverse_module_state->__pyx_n_s_pgraph);
  Py_VISIT(traverse_module_state->__pyx_n_s_phArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_phClonedGraph);
  Py_VISIT(traverse_module_state->__pyx_n_s_phCtx);
  Py_VISIT(traverse_module_state->__pyx_n_s_phDesc);
  Py_VISIT(traverse_module_state->__pyx_n_s_phEnd);
  Py_VISIT(traverse_module_state->__pyx_n_s_phEvent);
  Py_VISIT(traverse_module_state->__pyx_n_s_phGraph);
  Py_VISIT(traverse_module_state->__pyx_n_s_phGraphClone);
  Py_VISIT(traverse_module_state->__pyx_n_s_phGraphExec);
  Py_VISIT(traverse_module_state->__pyx_n_s_phGraphNode);
  Py_VISIT(traverse_module_state->__pyx_kp_u_phGraph_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_phGraph_out_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_phGraph_out_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_phMipmappedArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_phNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_phOriginalNode);
  Py_VISIT(traverse_module_state->__pyx_n_s_phStart);
  Py_VISIT(traverse_module_state->__pyx_n_s_phStream);
  Py_VISIT(traverse_module_state->__pyx_n_s_phSurfRef);
  Py_VISIT(traverse_module_state->__pyx_n_s_phTexRef);
  Py_VISIT(traverse_module_state->__pyx_n_s_phandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_pheight);
  Py_VISIT(traverse_module_state->__pyx_n_s_phfunc);
  Py_VISIT(traverse_module_state->__pyx_n_s_phmod);
  Py_VISIT(traverse_module_state->__pyx_n_s_pi);
  Py_VISIT(traverse_module_state->__pyx_n_s_pimage);
  Py_VISIT(traverse_module_state->__pyx_kp_u_pitch);
  Py_VISIT(traverse_module_state->__pyx_kp_u_pitch2D);
  Py_VISIT(traverse_module_state->__pyx_n_s_pitch2D_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_pitch2D_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_pitchInBytes);
  Py_VISIT(traverse_module_state->__pyx_n_s_pitchInBytes_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_pitchInBytes_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_pitch_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_pitch_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_pixelBoxLowerCorner);
  Py_VISIT(traverse_module_state->__pyx_n_s_pixelBoxUpperCorner);
  Py_VISIT(traverse_module_state->__pyx_n_s_pixelsPerColumn);
  Py_VISIT(traverse_module_state->__pyx_n_s_pkernel);
  Py_VISIT(traverse_module_state->__pyx_kp_u_planeCount);
  Py_VISIT(traverse_module_state->__pyx_n_s_planeCount_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_planeCount_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_planeIdx);
  Py_VISIT(traverse_module_state->__pyx_n_s_plib);
  Py_VISIT(traverse_module_state->__pyx_n_s_plibrary);
  Py_VISIT(traverse_module_state->__pyx_n_s_pmaxAniso);
  Py_VISIT(traverse_module_state->__pyx_n_s_pmaxMipmapLevelClamp);
  Py_VISIT(traverse_module_state->__pyx_n_s_pmcHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_pmemHandle);
  Py_VISIT(traverse_module_state->__pyx_n_s_pmemPool);
  Py_VISIT(traverse_module_state->__pyx_n_s_pmemptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_pminMipmapLevelClamp);
  Py_VISIT(traverse_module_state->__pyx_n_s_pmipmap);
  Py_VISIT(traverse_module_state->__pyx_n_s_pmod);
  Py_VISIT(traverse_module_state->__pyx_n_s_pobject);
  Py_VISIT(traverse_module_state->__pyx_n_s_pool);
  Py_VISIT(traverse_module_state->__pyx_kp_u_poolProps);
  Py_VISIT(traverse_module_state->__pyx_n_s_poolProps_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_poolProps_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_pool_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_poriginalGraph);
  Py_VISIT(traverse_module_state->__pyx_n_s_pp);
  Py_VISIT(traverse_module_state->__pyx_n_s_ppCudaResource);
  Py_VISIT(traverse_module_state->__pyx_n_s_ppExportTable);
  Py_VISIT(traverse_module_state->__pyx_n_s_ppStream);
  Py_VISIT(traverse_module_state->__pyx_n_s_ppeerContext);
  Py_VISIT(traverse_module_state->__pyx_n_s_ppeerDev);
  Py_VISIT(traverse_module_state->__pyx_n_s_ppixelsPerColumn);
  Py_VISIT(traverse_module_state->__pyx_n_s_ppool);
  Py_VISIT(traverse_module_state->__pyx_n_s_pptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_prepare);
  Py_VISIT(traverse_module_state->__pyx_n_s_presource);
  Py_VISIT(traverse_module_state->__pyx_n_s_presources);
  Py_VISIT(traverse_module_state->__pyx_kp_u_priority);
  Py_VISIT(traverse_module_state->__pyx_n_s_priority_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_priority_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_programmaticEvent);
  Py_VISIT(traverse_module_state->__pyx_n_s_programmaticEvent_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_programmaticEvent_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_programmaticStreamSerializationA);
  Py_VISIT(traverse_module_state->__pyx_n_s_programmaticStreamSerializationA_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_programmaticStreamSerializationA_3);
  Py_VISIT(traverse_module_state->__pyx_n_s_prop);
  Py_VISIT(traverse_module_state->__pyx_n_s_psize);
  Py_VISIT(traverse_module_state->__pyx_n_s_psrc);
  Py_VISIT(traverse_module_state->__pyx_n_s_psrcArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_psrcContext);
  Py_VISIT(traverse_module_state->__pyx_n_s_psrcDevice);
  Py_VISIT(traverse_module_state->__pyx_n_s_pstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_pstream);
  Py_VISIT(traverse_module_state->__pyx_n_s_psurfObject);
  Py_VISIT(traverse_module_state->__pyx_n_s_ptarget);
  Py_VISIT(traverse_module_state->__pyx_n_s_ptensorRank);
  Py_VISIT(traverse_module_state->__pyx_n_s_ptexObject);
  Py_VISIT(traverse_module_state->__pyx_n_s_ptr);
  Py_VISIT(traverse_module_state->__pyx_n_s_ptr_2);
  Py_VISIT(traverse_module_state->__pyx_n_s_ptr_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_pvalue);
  Py_VISIT(traverse_module_state->__pyx_n_s_pvdpDevice);
  Py_VISIT(traverse_module_state->__pyx_n_s_pvdpGetProcAddress);
  Py_VISIT(traverse_module_state->__pyx_n_s_pvdpSurface);
  Py_VISIT(traverse_module_state->__pyx_n_s_pwidth);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyObj);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyattributes);
  Py_VISIT(traverse_module_state->__pyx_n_s_pydataSizes);
  Py_VISIT(traverse_module_state->__pyx_n_s_pydependencies);
  Py_VISIT(traverse_module_state->__pyx_n_s_pydependencies_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_pydependentNodes);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyedgeData);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyedgeData_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyfrom);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyfunctions);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyjitOptions);
  Py_VISIT(traverse_module_state->__pyx_n_s_pykernels);
  Py_VISIT(traverse_module_state->__pyx_n_s_pylibraryOptions);
  Py_VISIT(traverse_module_state->__pyx_n_s_pylist);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyname);
  Py_VISIT(traverse_module_state->__pyx_n_s_pynodes);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyoptionValues);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyoptions);
  Py_VISIT(traverse_module_state->__pyx_n_s_pypCudaDevices);
  Py_VISIT(traverse_module_state->__pyx_n_s_pypciBusId);
  Py_VISIT(traverse_module_state->__pyx_n_s_pypixelBoxLowerCorner);
  Py_VISIT(traverse_module_state->__pyx_n_s_pypixelBoxUpperCorner);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyresult);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyrootNodes);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyto);
  Py_VISIT(traverse_module_state->__pyx_n_s_pyx_state);
  Py_VISIT(traverse_module_state->__pyx_n_s_qualname);
  Py_VISIT(traverse_module_state->__pyx_n_s_range);
  Py_VISIT(traverse_module_state->__pyx_n_s_reduce);
  Py_VISIT(traverse_module_state->__pyx_n_s_reduce_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_reduce_ex);
  Py_VISIT(traverse_module_state->__pyx_kp_u_regsPerBlock);
  Py_VISIT(traverse_module_state->__pyx_n_s_regsPerBlock_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_regsPerBlock_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_remaining);
  Py_VISIT(traverse_module_state->__pyx_kp_u_remote);
  Py_VISIT(traverse_module_state->__pyx_n_s_remote_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_remote_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_requestedHandleTypes);
  Py_VISIT(traverse_module_state->__pyx_n_s_requestedHandleTypes_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_requestedHandleTypes_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_res);
  Py_VISIT(traverse_module_state->__pyx_kp_u_resType);
  Py_VISIT(traverse_module_state->__pyx_n_s_resType_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_resType_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_res_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_res_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_reserved);
  Py_VISIT(traverse_module_state->__pyx_kp_u_reserved0);
  Py_VISIT(traverse_module_state->__pyx_n_s_reserved0_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_reserved0_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_reserved1);
  Py_VISIT(traverse_module_state->__pyx_n_s_reserved1_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_reserved1_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_reserved2);
  Py_VISIT(traverse_module_state->__pyx_n_s_reserved2_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_reserved2_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_reserved_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_reserved_3);
  Py_VISIT(traverse_module_state->__pyx_kp_u_reserved_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_reserved_length_must_be_4_is);
  Py_VISIT(traverse_module_state->__pyx_kp_u_reserved_length_must_be_56_is);
  Py_VISIT(traverse_module_state->__pyx_kp_u_reserved_length_must_be_5_is);
  Py_VISIT(traverse_module_state->__pyx_kp_u_reserved_length_must_be_64_is);
  Py_VISIT(traverse_module_state->__pyx_kp_u_resource);
  Py_VISIT(traverse_module_state->__pyx_kp_u_resourceType);
  Py_VISIT(traverse_module_state->__pyx_n_s_resourceType_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_resourceType_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_resource_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_resource_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_resources);
  Py_VISIT(traverse_module_state->__pyx_kp_u_result);
  Py_VISIT(traverse_module_state->__pyx_n_s_resultInfo);
  Py_VISIT(traverse_module_state->__pyx_n_s_result_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_result_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_result_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_result_out_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_result_out_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_scope);
  Py_VISIT(traverse_module_state->__pyx_n_s_self);
  Py_VISIT(traverse_module_state->__pyx_n_s_semHandleDesc);
  Py_VISIT(traverse_module_state->__pyx_n_s_send);
  Py_VISIT(traverse_module_state->__pyx_n_s_set_name);
  Py_VISIT(traverse_module_state->__pyx_n_s_setstate);
  Py_VISIT(traverse_module_state->__pyx_n_s_setstate_cython);
  Py_VISIT(traverse_module_state->__pyx_n_s_shHandleType);
  Py_VISIT(traverse_module_state->__pyx_n_s_shareData);
  Py_VISIT(traverse_module_state->__pyx_n_s_shareData_out);
  Py_VISIT(traverse_module_state->__pyx_kp_u_sharedMemBytes);
  Py_VISIT(traverse_module_state->__pyx_n_s_sharedMemBytes_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_sharedMemBytes_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_sharedMemPerBlock);
  Py_VISIT(traverse_module_state->__pyx_n_s_sharedMemPerBlock_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_sharedMemPerBlock_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_size);
  Py_VISIT(traverse_module_state->__pyx_kp_u_sizeInBytes);
  Py_VISIT(traverse_module_state->__pyx_n_s_sizeInBytes_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_sizeInBytes_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_sizeOut);
  Py_VISIT(traverse_module_state->__pyx_n_s_size_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_size_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_sizeof);
  Py_VISIT(traverse_module_state->__pyx_kp_u_sm);
  Py_VISIT(traverse_module_state->__pyx_kp_u_smCount);
  Py_VISIT(traverse_module_state->__pyx_n_s_smCount_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_smCount_3);
  Py_VISIT(traverse_module_state->__pyx_kp_u_smCount_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_sm_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_sm_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_sparseLevel);
  Py_VISIT(traverse_module_state->__pyx_n_s_sparseLevel_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_sparseLevel_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_sparseProperties);
  Py_VISIT(traverse_module_state->__pyx_n_s_spec);
  Py_VISIT(traverse_module_state->__pyx_n_s_splitlines);
  Py_VISIT(traverse_module_state->__pyx_n_s_src);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcArray);
  Py_VISIT(traverse_module_state->__pyx_n_s_srcArray_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcArray_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcContext);
  Py_VISIT(traverse_module_state->__pyx_n_s_srcContext_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcContext_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcDevice);
  Py_VISIT(traverse_module_state->__pyx_n_s_srcDevice_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcDevice_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcHeight);
  Py_VISIT(traverse_module_state->__pyx_n_s_srcHeight_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcHeight_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcHost);
  Py_VISIT(traverse_module_state->__pyx_n_s_srcHost_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcHost_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcLOD);
  Py_VISIT(traverse_module_state->__pyx_n_s_srcLOD_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcLOD_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcMemoryType);
  Py_VISIT(traverse_module_state->__pyx_n_s_srcMemoryType_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcMemoryType_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_srcOffset);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcPitch);
  Py_VISIT(traverse_module_state->__pyx_n_s_srcPitch_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcPitch_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcXInBytes);
  Py_VISIT(traverse_module_state->__pyx_n_s_srcXInBytes_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcXInBytes_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcY);
  Py_VISIT(traverse_module_state->__pyx_n_s_srcY_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcY_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcZ);
  Py_VISIT(traverse_module_state->__pyx_n_s_srcZ_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_srcZ_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_state);
  Py_VISIT(traverse_module_state->__pyx_n_s_stateOut);
  Py_VISIT(traverse_module_state->__pyx_n_s_stream);
  Py_VISIT(traverse_module_state->__pyx_n_s_streamId);
  Py_VISIT(traverse_module_state->__pyx_kp_s_stringsource);
  Py_VISIT(traverse_module_state->__pyx_kp_u_subresource);
  Py_VISIT(traverse_module_state->__pyx_kp_u_subresourceType);
  Py_VISIT(traverse_module_state->__pyx_n_s_subresourceType_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_subresourceType_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_subresource_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_subresource_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_super);
  Py_VISIT(traverse_module_state->__pyx_n_s_surfObject);
  Py_VISIT(traverse_module_state->__pyx_n_s_swizzle);
  Py_VISIT(traverse_module_state->__pyx_n_s_symbol);
  Py_VISIT(traverse_module_state->__pyx_n_s_symbolStatus);
  Py_VISIT(traverse_module_state->__pyx_kp_u_syncPolicy);
  Py_VISIT(traverse_module_state->__pyx_n_s_syncPolicy_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_syncPolicy_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_target);
  Py_VISIT(traverse_module_state->__pyx_n_s_tensorDataType);
  Py_VISIT(traverse_module_state->__pyx_n_s_tensorMap);
  Py_VISIT(traverse_module_state->__pyx_n_s_tensorRank);
  Py_VISIT(traverse_module_state->__pyx_n_s_test);
  Py_VISIT(traverse_module_state->__pyx_n_s_texObject);
  Py_VISIT(traverse_module_state->__pyx_kp_u_textureAlign);
  Py_VISIT(traverse_module_state->__pyx_n_s_textureAlign_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_textureAlign_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_texunit);
  Py_VISIT(traverse_module_state->__pyx_n_s_throw);
  Py_VISIT(traverse_module_state->__pyx_kp_u_tileExtent);
  Py_VISIT(traverse_module_state->__pyx_n_s_tileExtent_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_tileExtent_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_timeout);
  Py_VISIT(traverse_module_state->__pyx_kp_u_timeoutMs);
  Py_VISIT(traverse_module_state->__pyx_n_s_timeoutMs_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_timeoutMs_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_to);
  Py_VISIT(traverse_module_state->__pyx_kp_u_to_port);
  Py_VISIT(traverse_module_state->__pyx_n_s_to_port_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_to_port_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_total);
  Py_VISIT(traverse_module_state->__pyx_kp_u_totalConstantMemory);
  Py_VISIT(traverse_module_state->__pyx_n_s_totalConstantMemory_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_totalConstantMemory_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_triggerAtBlockStart);
  Py_VISIT(traverse_module_state->__pyx_n_s_triggerAtBlockStart_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_triggerAtBlockStart_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_type);
  Py_VISIT(traverse_module_state->__pyx_n_s_type_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_type_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_typename);
  Py_VISIT(traverse_module_state->__pyx_n_s_typing);
  Py_VISIT(traverse_module_state->__pyx_n_s_uc);
  Py_VISIT(traverse_module_state->__pyx_n_s_ui);
  Py_VISIT(traverse_module_state->__pyx_n_s_us);
  Py_VISIT(traverse_module_state->__pyx_kp_u_usage);
  Py_VISIT(traverse_module_state->__pyx_n_s_usage_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_usage_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_useFlags);
  Py_VISIT(traverse_module_state->__pyx_kp_u_userData);
  Py_VISIT(traverse_module_state->__pyx_n_s_userData_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_userData_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_uuid);
  Py_VISIT(traverse_module_state->__pyx_kp_u_vaSpaceToken);
  Py_VISIT(traverse_module_state->__pyx_n_s_vaSpaceToken_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_vaSpaceToken_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_val);
  Py_VISIT(traverse_module_state->__pyx_n_s_val_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_val_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_value);
  Py_VISIT(traverse_module_state->__pyx_kp_u_value64);
  Py_VISIT(traverse_module_state->__pyx_n_s_value64_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_value64_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_value_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_value_3);
  Py_VISIT(traverse_module_state->__pyx_kp_u_value_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_value_out);
  Py_VISIT(traverse_module_state->__pyx_n_s_vdpDevice);
  Py_VISIT(traverse_module_state->__pyx_n_s_vdpGetProcAddress);
  Py_VISIT(traverse_module_state->__pyx_n_s_vdpSurface);
  Py_VISIT(traverse_module_state->__pyx_n_s_version);
  Py_VISIT(traverse_module_state->__pyx_n_s_voidStarHelperdata);
  Py_VISIT(traverse_module_state->__pyx_n_s_voidStarHelperjitOptionsValues);
  Py_VISIT(traverse_module_state->__pyx_n_s_voidStarHelperlibraryOptionValue);
  Py_VISIT(traverse_module_state->__pyx_n_s_voidStarHelperoptionValues);
  Py_VISIT(traverse_module_state->__pyx_kp_u_waitValue);
  Py_VISIT(traverse_module_state->__pyx_n_s_waitValue_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_waitValue_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_width);
  Py_VISIT(traverse_module_state->__pyx_n_s_width_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_width_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_win32);
  Py_VISIT(traverse_module_state->__pyx_kp_u_win32HandleMetaData);
  Py_VISIT(traverse_module_state->__pyx_n_s_win32HandleMetaData_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_win32HandleMetaData_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_win32SecurityAttributes);
  Py_VISIT(traverse_module_state->__pyx_n_s_win32SecurityAttributes_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_win32SecurityAttributes_ValueErr);
  Py_VISIT(traverse_module_state->__pyx_n_s_win32_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_win32_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_writeValue);
  Py_VISIT(traverse_module_state->__pyx_n_s_writeValue_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_writeValue_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_x);
  Py_VISIT(traverse_module_state->__pyx_n_u_x);
  Py_VISIT(traverse_module_state->__pyx_kp_u_x_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_x_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_y);
  Py_VISIT(traverse_module_state->__pyx_n_s_y_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_y_ValueError);
  Py_VISIT(traverse_module_state->__pyx_kp_u_z);
  Py_VISIT(traverse_module_state->__pyx_n_s_z_2);
  Py_VISIT(traverse_module_state->__pyx_kp_u_z_ValueError);
  Py_VISIT(traverse_module_state->__pyx_n_s_zip);
  Py_VISIT(traverse_module_state->__pyx_int_0);
  Py_VISIT(traverse_module_state->__pyx_int_1);
  Py_VISIT(traverse_module_state->__pyx_int_127);
  Py_VISIT(traverse_module_state->__pyx_int_256);
  Py_VISIT(traverse_module_state->__pyx_int_neg_129);
  Py_VISIT(traverse_module_state->__pyx_codeobj__2);
  Py_VISIT(traverse_module_state->__pyx_codeobj__3);
  Py_VISIT(traverse_module_state->__pyx_codeobj__4);
  Py_VISIT(traverse_module_state->__pyx_codeobj__5);
  Py_VISIT(traverse_module_state->__pyx_codeobj__6);
  Py_VISIT(traverse_module_state->__pyx_codeobj__7);
  Py_VISIT(traverse_module_state->__pyx_codeobj__8);
  Py_VISIT(traverse_module_state->__pyx_codeobj__9);
  Py_VISIT(traverse_module_state->__pyx_tuple__508);
  Py_VISIT(traverse_module_state->__pyx_tuple__534);
  Py_VISIT(traverse_module_state->__pyx_tuple__551);
  Py_VISIT(traverse_module_state->__pyx_tuple__552);
  Py_VISIT(traverse_module_state->__pyx_tuple__646);
  Py_VISIT(traverse_module_state->__pyx_tuple__649);
  Py_VISIT(traverse_module_state->__pyx_tuple__662);
  Py_VISIT(traverse_module_state->__pyx_tuple__684);
  Py_VISIT(traverse_module_state->__pyx_tuple__685);
  Py_VISIT(traverse_module_state->__pyx_tuple__688);
  Py_VISIT(traverse_module_state->__pyx_tuple__699);
  Py_VISIT(traverse_module_state->__pyx_tuple__700);
  Py_VISIT(traverse_module_state->__pyx_tuple__728);
  Py_VISIT(traverse_module_state->__pyx_tuple__729);
  Py_VISIT(traverse_module_state->__pyx_tuple__731);
  Py_VISIT(traverse_module_state->__pyx_tuple__738);
  Py_VISIT(traverse_module_state->__pyx_tuple__751);
  Py_VISIT(traverse_module_state->__pyx_tuple__815);
  Py_VISIT(traverse_module_state->__pyx_tuple__816);
  Py_VISIT(traverse_module_state->__pyx_tuple__818);
  Py_VISIT(traverse_module_state->__pyx_tuple__900);
  Py_VISIT(traverse_module_state->__pyx_tuple__901);
  Py_VISIT(traverse_module_state->__pyx_tuple__902);
  Py_VISIT(traverse_module_state->__pyx_tuple__903);
  Py_VISIT(traverse_module_state->__pyx_tuple__905);
  Py_VISIT(traverse_module_state->__pyx_tuple__906);
  Py_VISIT(traverse_module_state->__pyx_tuple__933);
  Py_VISIT(traverse_module_state->__pyx_tuple__962);
  Py_VISIT(traverse_module_state->__pyx_tuple__963);
  Py_VISIT(traverse_module_state->__pyx_tuple__964);
  Py_VISIT(traverse_module_state->__pyx_tuple__965);
  Py_VISIT(traverse_module_state->__pyx_tuple__966);
  Py_VISIT(traverse_module_state->__pyx_tuple__967);
  Py_VISIT(traverse_module_state->__pyx_tuple__968);
  Py_VISIT(traverse_module_state->__pyx_tuple__969);
  Py_VISIT(traverse_module_state->__pyx_tuple__970);
  Py_VISIT(traverse_module_state->__pyx_tuple__971);
  Py_VISIT(traverse_module_state->__pyx_tuple__972);
  Py_VISIT(traverse_module_state->__pyx_tuple__973);
  Py_VISIT(traverse_module_state->__pyx_tuple__974);
  Py_VISIT(traverse_module_state->__pyx_tuple__975);
  Py_VISIT(traverse_module_state->__pyx_tuple__976);
  Py_VISIT(traverse_module_state->__pyx_tuple__977);
  Py_VISIT(traverse_module_state->__pyx_tuple__978);
  Py_VISIT(traverse_module_state->__pyx_tuple__979);
  Py_VISIT(traverse_module_state->__pyx_tuple__980);
  Py_VISIT(traverse_module_state->__pyx_tuple__981);
  Py_VISIT(traverse_module_state->__pyx_tuple__982);
  Py_VISIT(traverse_module_state->__pyx_tuple__983);
  Py_VISIT(traverse_module_state->__pyx_tuple__984);
  Py_VISIT(traverse_module_state->__pyx_tuple__985);
  Py_VISIT(traverse_module_state->__pyx_tuple__986);
  Py_VISIT(traverse_module_state->__pyx_tuple__987);
  Py_VISIT(traverse_module_state->__pyx_tuple__988);
  Py_VISIT(traverse_module_state->__pyx_tuple__989);
  Py_VISIT(traverse_module_state->__pyx_tuple__990);
  Py_VISIT(traverse_module_state->__pyx_tuple__991);
  Py_VISIT(traverse_module_state->__pyx_tuple__992);
  Py_VISIT(traverse_module_state->__pyx_tuple__993);
  Py_VISIT(traverse_module_state->__pyx_tuple__994);
  Py_VISIT(traverse_module_state->__pyx_tuple__995);
  Py_VISIT(traverse_module_state->__pyx_tuple__996);
  Py_VISIT(traverse_module_state->__pyx_tuple__997);
  Py_VISIT(traverse_module_state->__pyx_tuple__998);
  Py_VISIT(traverse_module_state->__pyx_tuple__999);
  Py_VISIT(traverse_module_state->__pyx_codeobj__10);
  Py_VISIT(traverse_module_state->__pyx_codeobj__11);
  Py_VISIT(traverse_module_state->__pyx_codeobj__12);
  Py_VISIT(traverse_module_state->__pyx_codeobj__13);
  Py_VISIT(traverse_module_state->__pyx_codeobj__14);
  Py_VISIT(traverse_module_state->__pyx_codeobj__15);
  Py_VISIT(traverse_module_state->__pyx_codeobj__16);
  Py_VISIT(traverse_module_state->__pyx_codeobj__17);
  Py_VISIT(traverse_module_state->__pyx_codeobj__18);
  Py_VISIT(traverse_module_state->__pyx_codeobj__19);
  Py_VISIT(traverse_module_state->__pyx_codeobj__20);
  Py_VISIT(traverse_module_state->__pyx_codeobj__21);
  Py_VISIT(traverse_module_state->__pyx_codeobj__22);
  Py_VISIT(traverse_module_state->__pyx_codeobj__23);
  Py_VISIT(traverse_module_state->__pyx_codeobj__24);
  Py_VISIT(traverse_module_state->__pyx_codeobj__25);
  Py_VISIT(traverse_module_state->__pyx_codeobj__26);
  Py_VISIT(traverse_module_state->__pyx_codeobj__27);
  Py_VISIT(traverse_module_state->__pyx_codeobj__28);
  Py_VISIT(traverse_module_state->__pyx_codeobj__29);
  Py_VISIT(traverse_module_state->__pyx_codeobj__30);
  Py_VISIT(traverse_module_state->__pyx_codeobj__31);
  Py_VISIT(traverse_module_state->__pyx_codeobj__32);
  Py_VISIT(traverse_module_state->__pyx_codeobj__33);
  Py_VISIT(traverse_module_state->__pyx_codeobj__34);
  Py_VISIT(traverse_module_state->__pyx_codeobj__35);
  Py_VISIT(traverse_module_state->__pyx_codeobj__36);
  Py_VISIT(traverse_module_state->__pyx_codeobj__37);
  Py_VISIT(traverse_module_state->__pyx_codeobj__38);
  Py_VISIT(traverse_module_state->__pyx_codeobj__39);
  Py_VISIT(traverse_module_state->__pyx_codeobj__40);
  Py_VISIT(traverse_module_state->__pyx_codeobj__41);
  Py_VISIT(traverse_module_state->__pyx_codeobj__42);
  Py_VISIT(traverse_module_state->__pyx_codeobj__43);
  Py_VISIT(traverse_module_state->__pyx_codeobj__44);
  Py_VISIT(traverse_module_state->__pyx_codeobj__45);
  Py_VISIT(traverse_module_state->__pyx_codeobj__46);
  Py_VISIT(traverse_module_state->__pyx_codeobj__47);
  Py_VISIT(traverse_module_state->__pyx_codeobj__48);
  Py_VISIT(traverse_module_state->__pyx_codeobj__49);
  Py_VISIT(traverse_module_state->__pyx_codeobj__50);
  Py_VISIT(traverse_module_state->__pyx_codeobj__51);
  Py_VISIT(traverse_module_state->__pyx_codeobj__52);
  Py_VISIT(traverse_module_state->__pyx_codeobj__53);
  Py_VISIT(traverse_module_state->__pyx_codeobj__54);
  Py_VISIT(traverse_module_state->__pyx_codeobj__55);
  Py_VISIT(traverse_module_state->__pyx_codeobj__56);
  Py_VISIT(traverse_module_state->__pyx_codeobj__57);
  Py_VISIT(traverse_module_state->__pyx_codeobj__58);
  Py_VISIT(traverse_module_state->__pyx_codeobj__59);
  Py_VISIT(traverse_module_state->__pyx_codeobj__60);
  Py_VISIT(traverse_module_state->__pyx_codeobj__61);
  Py_VISIT(traverse_module_state->__pyx_codeobj__62);
  Py_VISIT(traverse_module_state->__pyx_codeobj__63);
  Py_VISIT(traverse_module_state->__pyx_codeobj__64);
  Py_VISIT(traverse_module_state->__pyx_codeobj__65);
  Py_VISIT(traverse_module_state->__pyx_codeobj__66);
  Py_VISIT(traverse_module_state->__pyx_codeobj__67);
  Py_VISIT(traverse_module_state->__pyx_codeobj__68);
  Py_VISIT(traverse_module_state->__pyx_codeobj__69);
  Py_VISIT(traverse_module_state->__pyx_codeobj__70);
  Py_VISIT(traverse_module_state->__pyx_codeobj__71);
  Py_VISIT(traverse_module_state->__pyx_codeobj__72);
  Py_VISIT(traverse_module_state->__pyx_codeobj__73);
  Py_VISIT(traverse_module_state->__pyx_codeobj__74);
  Py_VISIT(traverse_module_state->__pyx_codeobj__75);
  Py_VISIT(traverse_module_state->__pyx_codeobj__76);
  Py_VISIT(traverse_module_state->__pyx_codeobj__77);
  Py_VISIT(traverse_module_state->__pyx_codeobj__78);
  Py_VISIT(traverse_module_state->__pyx_codeobj__79);
  Py_VISIT(traverse_module_state->__pyx_codeobj__80);
  Py_VISIT(traverse_module_state->__pyx_codeobj__81);
  Py_VISIT(traverse_module_state->__pyx_codeobj__82);
  Py_VISIT(traverse_module_state->__pyx_codeobj__83);
  Py_VISIT(traverse_module_state->__pyx_codeobj__84);
  Py_VISIT(traverse_module_state->__pyx_codeobj__85);
  Py_VISIT(traverse_module_state->__pyx_codeobj__86);
  Py_VISIT(traverse_module_state->__pyx_codeobj__87);
  Py_VISIT(traverse_module_state->__pyx_codeobj__88);
  Py_VISIT(traverse_module_state->__pyx_codeobj__89);
  Py_VISIT(traverse_module_state->__pyx_codeobj__90);
  Py_VISIT(traverse_module_state->__pyx_codeobj__91);
  Py_VISIT(traverse_module_state->__pyx_codeobj__92);
  Py_VISIT(traverse_module_state->__pyx_codeobj__93);
  Py_VISIT(traverse_module_state->__pyx_codeobj__94);
  Py_VISIT(traverse_module_state->__pyx_codeobj__95);
  Py_VISIT(traverse_module_state->__pyx_codeobj__96);
  Py_VISIT(traverse_module_state->__pyx_codeobj__97);
  Py_VISIT(traverse_module_state->__pyx_codeobj__98);
  Py_VISIT(traverse_module_state->__pyx_codeobj__99);
  Py_VISIT(traverse_module_state->__pyx_tuple__1000);
  Py_VISIT(traverse_module_state->__pyx_tuple__1001);
  Py_VISIT(traverse_module_state->__pyx_tuple__1002);
  Py_VISIT(traverse_module_state->__pyx_tuple__1003);
  Py_VISIT(traverse_module_state->__pyx_tuple__1004);
  Py_VISIT(traverse_module_state->__pyx_tuple__1005);
  Py_VISIT(traverse_module_state->__pyx_tuple__1006);
  Py_VISIT(traverse_module_state->__pyx_tuple__1007);
  Py_VISIT(traverse_module_state->__pyx_tuple__1008);
  Py_VISIT(traverse_module_state->__pyx_tuple__1009);
  Py_VISIT(traverse_module_state->__pyx_tuple__1010);
  Py_VISIT(traverse_module_state->__pyx_tuple__1011);
  Py_VISIT(traverse_module_state->__pyx_tuple__1012);
  Py_VISIT(traverse_module_state->__pyx_tuple__1013);
  Py_VISIT(traverse_module_state->__pyx_tuple__1014);
  Py_VISIT(traverse_module_state->__pyx_tuple__1015);
  Py_VISIT(traverse_module_state->__pyx_tuple__1016);
  Py_VISIT(traverse_module_state->__pyx_tuple__1017);
  Py_VISIT(traverse_module_state->__pyx_tuple__1018);
  Py_VISIT(traverse_module_state->__pyx_tuple__1019);
  Py_VISIT(traverse_module_state->__pyx_tuple__1020);
  Py_VISIT(traverse_module_state->__pyx_tuple__1021);
  Py_VISIT(traverse_module_state->__pyx_tuple__1022);
  Py_VISIT(traverse_module_state->__pyx_tuple__1023);
  Py_VISIT(traverse_module_state->__pyx_tuple__1024);
  Py_VISIT(traverse_module_state->__pyx_tuple__1025);
  Py_VISIT(traverse_module_state->__pyx_tuple__1026);
  Py_VISIT(traverse_module_state->__pyx_tuple__1027);
  Py_VISIT(traverse_module_state->__pyx_tuple__1028);
  Py_VISIT(traverse_module_state->__pyx_tuple__1029);
  Py_VISIT(traverse_module_state->__pyx_tuple__1030);
  Py_VISIT(traverse_module_state->__pyx_tuple__1031);
  Py_VISIT(traverse_module_state->__pyx_tuple__1032);
  Py_VISIT(traverse_module_state->__pyx_tuple__1033);
  Py_VISIT(traverse_module_state->__pyx_tuple__1034);
  Py_VISIT(traverse_module_state->__pyx_tuple__1035);
  Py_VISIT(traverse_module_state->__pyx_tuple__1036);
  Py_VISIT(traverse_module_state->__pyx_tuple__1037);
  Py_VISIT(traverse_module_state->__pyx_tuple__1038);
  Py_VISIT(traverse_module_state->__pyx_tuple__1039);
  Py_VISIT(traverse_module_state->__pyx_tuple__1040);
  Py_VISIT(traverse_module_state->__pyx_tuple__1041);
  Py_VISIT(traverse_module_state->__pyx_tuple__1042);
  Py_VISIT(traverse_module_state->__pyx_tuple__1043);
  Py_VISIT(traverse_module_state->__pyx_tuple__1044);
  Py_VISIT(traverse_module_state->__pyx_tuple__1045);
  Py_VISIT(traverse_module_state->__pyx_tuple__1046);
  Py_VISIT(traverse_module_state->__pyx_tuple__1047);
  Py_VISIT(traverse_module_state->__pyx_tuple__1048);
  Py_VISIT(traverse_module_state->__pyx_tuple__1049);
  Py_VISIT(traverse_module_state->__pyx_tuple__1050);
  Py_VISIT(traverse_module_state->__pyx_tuple__1051);
  Py_VISIT(traverse_module_state->__pyx_tuple__1052);
  Py_VISIT(traverse_module_state->__pyx_tuple__1053);
  Py_VISIT(traverse_module_state->__pyx_tuple__1054);
  Py_VISIT(traverse_module_state->__pyx_tuple__1055);
  Py_VISIT(traverse_module_state->__pyx_tuple__1056);
  Py_VISIT(traverse_module_state->__pyx_tuple__1057);
  Py_VISIT(traverse_module_state->__pyx_tuple__1058);
  Py_VISIT(traverse_module_state->__pyx_tuple__1059);
  Py_VISIT(traverse_module_state->__pyx_tuple__1060);
  Py_VISIT(traverse_module_state->__pyx_tuple__1061);
  Py_VISIT(traverse_module_state->__pyx_tuple__1062);
  Py_VISIT(traverse_module_state->__pyx_tuple__1063);
  Py_VISIT(traverse_module_state->__pyx_tuple__1064);
  Py_VISIT(traverse_module_state->__pyx_tuple__1065);
  Py_VISIT(traverse_module_state->__pyx_tuple__1066);
  Py_VISIT(traverse_module_state->__pyx_tuple__1067);
  Py_VISIT(traverse_module_state->__pyx_tuple__1068);
  Py_VISIT(traverse_module_state->__pyx_tuple__1069);
  Py_VISIT(traverse_module_state->__pyx_tuple__1070);
  Py_VISIT(traverse_module_state->__pyx_tuple__1071);
  Py_VISIT(traverse_module_state->__pyx_tuple__1072);
  Py_VISIT(traverse_module_state->__pyx_tuple__1073);
  Py_VISIT(traverse_module_state->__pyx_tuple__1074);
  Py_VISIT(traverse_module_state->__pyx_tuple__1075);
  Py_VISIT(traverse_module_state->__pyx_tuple__1076);
  Py_VISIT(traverse_module_state->__pyx_tuple__1077);
  Py_VISIT(traverse_module_state->__pyx_tuple__1078);
  Py_VISIT(traverse_module_state->__pyx_tuple__1079);
  Py_VISIT(traverse_module_state->__pyx_tuple__1080);
  Py_VISIT(traverse_module_state->__pyx_tuple__1081);
  Py_VISIT(traverse_module_state->__pyx_tuple__1082);
  Py_VISIT(traverse_module_state->__pyx_tuple__1083);
  Py_VISIT(traverse_module_state->__pyx_tuple__1084);
  Py_VISIT(traverse_module_state->__pyx_tuple__1085);
  Py_VISIT(traverse_module_state->__pyx_tuple__1086);
  Py_VISIT(traverse_module_state->__pyx_tuple__1087);
  Py_VISIT(traverse_module_state->__pyx_tuple__1088);
  Py_VISIT(traverse_module_state->__pyx_tuple__1089);
  Py_VISIT(traverse_module_state->__pyx_tuple__1090);
  Py_VISIT(traverse_module_state->__pyx_tuple__1091);
  Py_VISIT(traverse_module_state->__pyx_tuple__1092);
  Py_VISIT(traverse_module_state->__pyx_tuple__1093);
  Py_VISIT(traverse_module_state->__pyx_tuple__1094);
  Py_VISIT(traverse_module_state->__pyx_tuple__1095);
  Py_VISIT(traverse_module_state->__pyx_tuple__1096);
  Py_VISIT(traverse_module_state->__pyx_tuple__1097);
  Py_VISIT(traverse_module_state->__pyx_tuple__1098);
  Py_VISIT(traverse_module_state->__pyx_tuple__1099);
  Py_VISIT(traverse_module_state->__pyx_tuple__1100);
  Py_VISIT(traverse_module_state->__pyx_tuple__1101);
  Py_VISIT(traverse_module_state->__pyx_tuple__1102);
  Py_VISIT(traverse_module_state->__pyx_tuple__1103);
  Py_VISIT(traverse_module_state->__pyx_tuple__1104);
  Py_VISIT(traverse_module_state->__pyx_tuple__1105);
  Py_VISIT(traverse_module_state->__pyx_tuple__1106);
  Py_VISIT(traverse_module_state->__pyx_tuple__1107);
  Py_VISIT(traverse_module_state->__pyx_tuple__1108);
  Py_VISIT(traverse_module_state->__pyx_tuple__1109);
  Py_VISIT(traverse_module_state->__pyx_tuple__1110);
  Py_VISIT(traverse_module_state->__pyx_tuple__1111);
  Py_VISIT(traverse_module_state->__pyx_tuple__1112);
  Py_VISIT(traverse_module_state->__pyx_tuple__1113);
  Py_VISIT(traverse_module_state->__pyx_tuple__1114);
  Py_VISIT(traverse_module_state->__pyx_tuple__1115);
  Py_VISIT(traverse_module_state->__pyx_tuple__1116);
  Py_VISIT(traverse_module_state->__pyx_tuple__1117);
  Py_VISIT(traverse_module_state->__pyx_tuple__1118);
  Py_VISIT(traverse_module_state->__pyx_tuple__1119);
  Py_VISIT(traverse_module_state->__pyx_tuple__1120);
  Py_VISIT(traverse_module_state->__pyx_tuple__1121);
  Py_VISIT(traverse_module_state->__pyx_tuple__1122);
  Py_VISIT(traverse_module_state->__pyx_tuple__1123);
  Py_VISIT(traverse_module_state->__pyx_tuple__1124);
  Py_VISIT(traverse_module_state->__pyx_tuple__1125);
  Py_VISIT(traverse_module_state->__pyx_tuple__1126);
  Py_VISIT(traverse_module_state->__pyx_tuple__1127);
  Py_VISIT(traverse_module_state->__pyx_tuple__1128);
  Py_VISIT(traverse_module_state->__pyx_tuple__1129);
  Py_VISIT(traverse_module_state->__pyx_tuple__1130);
  Py_VISIT(traverse_module_state->__pyx_tuple__1131);
  Py_VISIT(traverse_module_state->__pyx_tuple__1132);
  Py_VISIT(traverse_module_state->__pyx_tuple__1133);
  Py_VISIT(traverse_module_state->__pyx_tuple__1134);
  Py_VISIT(traverse_module_state->__pyx_tuple__1135);
  Py_VISIT(traverse_module_state->__pyx_tuple__1136);
  Py_VISIT(traverse_module_state->__pyx_tuple__1137);
  Py_VISIT(traverse_module_state->__pyx_tuple__1138);
  Py_VISIT(traverse_module_state->__pyx_tuple__1139);
  Py_VISIT(traverse_module_state->__pyx_tuple__1140);
  Py_VISIT(traverse_module_state->__pyx_tuple__1141);
  Py_VISIT(traverse_module_state->__pyx_tuple__1142);
  Py_VISIT(traverse_module_state->__pyx_tuple__1143);
  Py_VISIT(traverse_module_state->__pyx_tuple__1144);
  Py_VISIT(traverse_module_state->__pyx_tuple__1145);
  Py_VISIT(traverse_module_state->__pyx_tuple__1146);
  Py_VISIT(traverse_module_state->__pyx_tuple__1147);
  Py_VISIT(traverse_module_state->__pyx_tuple__1148);
  Py_VISIT(traverse_module_state->__pyx_tuple__1149);
  Py_VISIT(traverse_module_state->__pyx_tuple__1150);
  Py_VISIT(traverse_module_state->__pyx_tuple__1151);
  Py_VISIT(traverse_module_state->__pyx_tuple__1152);
  Py_VISIT(traverse_module_state->__pyx_tuple__1153);
  Py_VISIT(traverse_module_state->__pyx_tuple__1154);
  Py_VISIT(traverse_module_state->__pyx_tuple__1155);
  Py_VISIT(traverse_module_state->__pyx_tuple__1156);
  Py_VISIT(traverse_module_state->__pyx_tuple__1157);
  Py_VISIT(traverse_module_state->__pyx_tuple__1158);
  Py_VISIT(traverse_module_state->__pyx_tuple__1159);
  Py_VISIT(traverse_module_state->__pyx_tuple__1160);
  Py_VISIT(traverse_module_state->__pyx_tuple__1161);
  Py_VISIT(traverse_module_state->__pyx_tuple__1162);
  Py_VISIT(traverse_module_state->__pyx_tuple__1163);
  Py_VISIT(traverse_module_state->__pyx_tuple__1164);
  Py_VISIT(traverse_module_state->__pyx_tuple__1165);
  Py_VISIT(traverse_module_state->__pyx_tuple__1166);
  Py_VISIT(traverse_module_state->__pyx_tuple__1167);
  Py_VISIT(traverse_module_state->__pyx_tuple__1168);
  Py_VISIT(traverse_module_state->__pyx_tuple__1169);
  Py_VISIT(traverse_module_state->__pyx_tuple__1170);
  Py_VISIT(traverse_module_state->__pyx_tuple__1171);
  Py_VISIT(traverse_module_state->__pyx_tuple__1172);
  Py_VISIT(traverse_module_state->__pyx_tuple__1173);
  Py_VISIT(traverse_module_state->__pyx_tuple__1174);
  Py_VISIT(traverse_module_state->__pyx_tuple__1175);
  Py_VISIT(traverse_module_state->__pyx_tuple__1176);
  Py_VISIT(traverse_module_state->__pyx_tuple__1177);
  Py_VISIT(traverse_module_state->__pyx_tuple__1178);
  Py_VISIT(traverse_module_state->__pyx_tuple__1179);
  Py_VISIT(traverse_module_state->__pyx_tuple__1180);
  Py_VISIT(traverse_module_state->__pyx_tuple__1181);
  Py_VISIT(traverse_module_state->__pyx_tuple__1182);
  Py_VISIT(traverse_module_state->__pyx_tuple__1183);
  Py_VISIT(traverse_module_state->__pyx_tuple__1184);
  Py_VISIT(traverse_module_state->__pyx_tuple__1185);
  Py_VISIT(traverse_module_state->__pyx_tuple__1186);
  Py_VISIT(traverse_module_state->__pyx_tuple__1187);
  Py_VISIT(traverse_module_state->__pyx_tuple__1188);
  Py_VISIT(traverse_module_state->__pyx_tuple__1189);
  Py_VISIT(traverse_module_state->__pyx_tuple__1190);
  Py_VISIT(traverse_module_state->__pyx_tuple__1191);
  Py_VISIT(traverse_module_state->__pyx_tuple__1192);
  Py_VISIT(traverse_module_state->__pyx_tuple__1193);
  Py_VISIT(traverse_module_state->__pyx_tuple__1194);
  Py_VISIT(traverse_module_state->__pyx_tuple__1195);
  Py_VISIT(traverse_module_state->__pyx_tuple__1196);
  Py_VISIT(traverse_module_state->__pyx_tuple__1197);
  Py_VISIT(traverse_module_state->__pyx_tuple__1198);
  Py_VISIT(traverse_module_state->__pyx_tuple__1199);
  Py_VISIT(traverse_module_state->__pyx_tuple__1200);
  Py_VISIT(traverse_module_state->__pyx_tuple__1201);
  Py_VISIT(traverse_module_state->__pyx_tuple__1202);
  Py_VISIT(traverse_module_state->__pyx_tuple__1203);
  Py_VISIT(traverse_module_state->__pyx_tuple__1204);
  Py_VISIT(traverse_module_state->__pyx_tuple__1205);
  Py_VISIT(traverse_module_state->__pyx_tuple__1206);
  Py_VISIT(traverse_module_state->__pyx_tuple__1207);
  Py_VISIT(traverse_module_state->__pyx_tuple__1208);
  Py_VISIT(traverse_module_state->__pyx_tuple__1209);
  Py_VISIT(traverse_module_state->__pyx_tuple__1210);
  Py_VISIT(traverse_module_state->__pyx_tuple__1211);
  Py_VISIT(traverse_module_state->__pyx_tuple__1212);
  Py_VISIT(traverse_module_state->__pyx_tuple__1213);
  Py_VISIT(traverse_module_state->__pyx_tuple__1214);
  Py_VISIT(traverse_module_state->__pyx_tuple__1215);
  Py_VISIT(traverse_module_state->__pyx_tuple__1216);
  Py_VISIT(traverse_module_state->__pyx_tuple__1217);
  Py_VISIT(traverse_module_state->__pyx_tuple__1218);
  Py_VISIT(traverse_module_state->__pyx_tuple__1219);
  Py_VISIT(traverse_module_state->__pyx_tuple__1220);
  Py_VISIT(traverse_module_state->__pyx_tuple__1221);
  Py_VISIT(traverse_module_state->__pyx_tuple__1222);
  Py_VISIT(traverse_module_state->__pyx_tuple__1223);
  Py_VISIT(traverse_module_state->__pyx_tuple__1224);
  Py_VISIT(traverse_module_state->__pyx_tuple__1225);
  Py_VISIT(traverse_module_state->__pyx_tuple__1226);
  Py_VISIT(traverse_module_state->__pyx_tuple__1227);
  Py_VISIT(traverse_module_state->__pyx_tuple__1228);
  Py_VISIT(traverse_module_state->__pyx_tuple__1229);
  Py_VISIT(traverse_module_state->__pyx_tuple__1230);
  Py_VISIT(traverse_module_state->__pyx_tuple__1231);
  Py_VISIT(traverse_module_state->__pyx_tuple__1232);
  Py_VISIT(traverse_module_state->__pyx_tuple__1233);
  Py_VISIT(traverse_module_state->__pyx_tuple__1234);
  Py_VISIT(traverse_module_state->__pyx_tuple__1235);
  Py_VISIT(traverse_module_state->__pyx_tuple__1236);
  Py_VISIT(traverse_module_state->__pyx_tuple__1237);
  Py_VISIT(traverse_module_state->__pyx_tuple__1238);
  Py_VISIT(traverse_module_state->__pyx_tuple__1239);
  Py_VISIT(traverse_module_state->__pyx_tuple__1240);
  Py_VISIT(traverse_module_state->__pyx_tuple__1241);
  Py_VISIT(traverse_module_state->__pyx_tuple__1242);
  Py_VISIT(traverse_module_state->__pyx_tuple__1243);
  Py_VISIT(traverse_module_state->__pyx_tuple__1244);
  Py_VISIT(traverse_module_state->__pyx_tuple__1245);
  Py_VISIT(traverse_module_state->__pyx_tuple__1246);
  Py_VISIT(traverse_module_state->__pyx_tuple__1247);
  Py_VISIT(traverse_module_state->__pyx_tuple__1248);
  Py_VISIT(traverse_module_state->__pyx_tuple__1249);
  Py_VISIT(traverse_module_state->__pyx_tuple__1250);
  Py_VISIT(traverse_module_state->__pyx_tuple__1251);
  Py_VISIT(traverse_module_state->__pyx_tuple__1252);
  Py_VISIT(traverse_module_state->__pyx_tuple__1253);
  Py_VISIT(traverse_module_state->__pyx_tuple__1254);
  Py_VISIT(traverse_module_state->__pyx_tuple__1255);
  Py_VISIT(traverse_module_state->__pyx_tuple__1256);
  Py_VISIT(traverse_module_state->__pyx_tuple__1257);
  Py_VISIT(traverse_module_state->__pyx_tuple__1258);
  Py_VISIT(traverse_module_state->__pyx_tuple__1259);
  Py_VISIT(traverse_module_state->__pyx_tuple__1260);
  Py_VISIT(traverse_module_state->__pyx_tuple__1261);
  Py_VISIT(traverse_module_state->__pyx_tuple__1262);
  Py_VISIT(traverse_module_state->__pyx_tuple__1263);
  Py_VISIT(traverse_module_state->__pyx_tuple__1264);
  Py_VISIT(traverse_module_state->__pyx_tuple__1265);
  Py_VISIT(traverse_module_state->__pyx_tuple__1266);
  Py_VISIT(traverse_module_state->__pyx_tuple__1267);
  Py_VISIT(traverse_module_state->__pyx_tuple__1268);
  Py_VISIT(traverse_module_state->__pyx_tuple__1269);
  Py_VISIT(traverse_module_state->__pyx_tuple__1270);
  Py_VISIT(traverse_module_state->__pyx_tuple__1271);
  Py_VISIT(traverse_module_state->__pyx_tuple__1272);
  Py_VISIT(traverse_module_state->__pyx_tuple__1273);
  Py_VISIT(traverse_module_state->__pyx_tuple__1274);
  Py_VISIT(traverse_module_state->__pyx_tuple__1275);
  Py_VISIT(traverse_module_state->__pyx_tuple__1276);
  Py_VISIT(traverse_module_state->__pyx_tuple__1277);
  Py_VISIT(traverse_module_state->__pyx_tuple__1278);
  Py_VISIT(traverse_module_state->__pyx_tuple__1279);
  Py_VISIT(traverse_module_state->__pyx_tuple__1280);
  Py_VISIT(traverse_module_state->__pyx_tuple__1281);
  Py_VISIT(traverse_module_state->__pyx_tuple__1282);
  Py_VISIT(traverse_module_state->__pyx_tuple__1283);
  Py_VISIT(traverse_module_state->__pyx_tuple__1284);
  Py_VISIT(traverse_module_state->__pyx_tuple__1285);
  Py_VISIT(traverse_module_state->__pyx_tuple__1286);
  Py_VISIT(traverse_module_state->__pyx_tuple__1287);
  Py_VISIT(traverse_module_state->__pyx_tuple__1288);
  Py_VISIT(traverse_module_state->__pyx_tuple__1289);
  Py_VISIT(traverse_module_state->__pyx_tuple__1290);
  Py_VISIT(traverse_module_state->__pyx_tuple__1291);
  Py_VISIT(traverse_module_state->__pyx_tuple__1292);
  Py_VISIT(traverse_module_state->__pyx_tuple__1293);
  Py_VISIT(traverse_module_state->__pyx_tuple__1294);
  Py_VISIT(traverse_module_state->__pyx_tuple__1295);
  Py_VISIT(traverse_module_state->__pyx_tuple__1296);
  Py_VISIT(traverse_module_state->__pyx_tuple__1297);
  Py_VISIT(traverse_module_state->__pyx_tuple__1298);
  Py_VISIT(traverse_module_state->__pyx_tuple__1299);
  Py_VISIT(traverse_module_state->__pyx_tuple__1300);
  Py_VISIT(traverse_module_state->__pyx_tuple__1301);
  Py_VISIT(traverse_module_state->__pyx_tuple__1302);
  Py_VISIT(traverse_module_state->__pyx_tuple__1303);
  Py_VISIT(traverse_module_state->__pyx_tuple__1304);
  Py_VISIT(traverse_module_state->__pyx_tuple__1305);
  Py_VISIT(traverse_module_state->__pyx_tuple__1306);
  Py_VISIT(traverse_module_state->__pyx_tuple__1307);
  Py_VISIT(traverse_module_state->__pyx_tuple__1308);
  Py_VISIT(traverse_module_state->__pyx_tuple__1309);
  Py_VISIT(traverse_module_state->__pyx_tuple__1310);
  Py_VISIT(traverse_module_state->__pyx_tuple__1311);
  Py_VISIT(traverse_module_state->__pyx_tuple__1312);
  Py_VISIT(traverse_module_state->__pyx_tuple__1313);
  Py_VISIT(traverse_module_state->__pyx_tuple__1314);
  Py_VISIT(traverse_module_state->__pyx_tuple__1315);
  Py_VISIT(traverse_module_state->__pyx_tuple__1316);
  Py_VISIT(traverse_module_state->__pyx_tuple__1317);
  Py_VISIT(traverse_module_state->__pyx_tuple__1318);
  Py_VISIT(traverse_module_state->__pyx_tuple__1319);
  Py_VISIT(traverse_module_state->__pyx_tuple__1320);
  Py_VISIT(traverse_module_state->__pyx_tuple__1321);
  Py_VISIT(traverse_module_state->__pyx_tuple__1322);
  Py_VISIT(traverse_module_state->__pyx_tuple__1323);
  Py_VISIT(traverse_module_state->__pyx_tuple__1324);
  Py_VISIT(traverse_module_state->__pyx_tuple__1325);
  Py_VISIT(traverse_module_state->__pyx_tuple__1326);
  Py_VISIT(traverse_module_state->__pyx_tuple__1327);
  Py_VISIT(traverse_module_state->__pyx_tuple__1328);
  Py_VISIT(traverse_module_state->__pyx_tuple__1329);
  Py_VISIT(traverse_module_state->__pyx_tuple__1330);
  Py_VISIT(traverse_module_state->__pyx_tuple__1331);
  Py_VISIT(traverse_module_state->__pyx_tuple__1332);
  Py_VISIT(traverse_module_state->__pyx_tuple__1333);
  Py_VISIT(traverse_module_state->__pyx_tuple__1334);
  Py_VISIT(traverse_module_state->__pyx_tuple__1335);
  Py_VISIT(traverse_module_state->__pyx_tuple__1336);
  Py_VISIT(traverse_module_state->__pyx_tuple__1337);
  Py_VISIT(traverse_module_state->__pyx_codeobj__100);
  Py_VISIT(traverse_module_state->__pyx_codeobj__101);
  Py_VISIT(traverse_module_state->__pyx_codeobj__102);
  Py_VISIT(traverse_module_state->__pyx_codeobj__103);
  Py_VISIT(traverse_module_state->__pyx_codeobj__104);
  Py_VISIT(traverse_module_state->__pyx_codeobj__105);
  Py_VISIT(traverse_module_state->__pyx_codeobj__106);
  Py_VISIT(traverse_module_state->__pyx_codeobj__107);
  Py_VISIT(traverse_module_state->__pyx_codeobj__108);
  Py_VISIT(traverse_module_state->__pyx_codeobj__109);
  Py_VISIT(traverse_module_state->__pyx_codeobj__110);
  Py_VISIT(traverse_module_state->__pyx_codeobj__111);
  Py_VISIT(traverse_module_state->__pyx_codeobj__112);
  Py_VISIT(traverse_module_state->__pyx_codeobj__113);
  Py_VISIT(traverse_module_state->__pyx_codeobj__114);
  Py_VISIT(traverse_module_state->__pyx_codeobj__115);
  Py_VISIT(traverse_module_state->__pyx_codeobj__116);
  Py_VISIT(traverse_module_state->__pyx_codeobj__119);
  Py_VISIT(traverse_module_state->__pyx_codeobj__120);
  Py_VISIT(traverse_module_state->__pyx_codeobj__121);
  Py_VISIT(traverse_module_state->__pyx_codeobj__122);
  Py_VISIT(traverse_module_state->__pyx_codeobj__123);
  Py_VISIT(traverse_module_state->__pyx_codeobj__124);
  Py_VISIT(traverse_module_state->__pyx_codeobj__125);
  Py_VISIT(traverse_module_state->__pyx_codeobj__126);
  Py_VISIT(traverse_module_state->__pyx_codeobj__127);
  Py_VISIT(traverse_module_state->__pyx_codeobj__128);
  Py_VISIT(traverse_module_state->__pyx_codeobj__129);
  Py_VISIT(traverse_module_state->__pyx_codeobj__130);
  Py_VISIT(traverse_module_state->__pyx_codeobj__131);
  Py_VISIT(traverse_module_state->__pyx_codeobj__132);
  Py_VISIT(traverse_module_state->__pyx_codeobj__133);
  Py_VISIT(traverse_module_state->__pyx_codeobj__134);
  Py_VISIT(traverse_module_state->__pyx_codeobj__135);
  Py_VISIT(traverse_module_state->__pyx_codeobj__136);
  Py_VISIT(traverse_module_state->__pyx_codeobj__137);
  Py_VISIT(traverse_module_state->__pyx_codeobj__138);
  Py_VISIT(traverse_module_state->__pyx_codeobj__139);
  Py_VISIT(traverse_module_state->__pyx_codeobj__140);
  Py_VISIT(traverse_module_state->__pyx_codeobj__141);
  Py_VISIT(traverse_module_state->__pyx_codeobj__142);
  Py_VISIT(traverse_module_state->__pyx_codeobj__144);
  Py_VISIT(traverse_module_state->__pyx_codeobj__145);
  Py_VISIT(traverse_module_state->__pyx_codeobj__146);
  Py_VISIT(traverse_module_state->__pyx_codeobj__147);
  Py_VISIT(traverse_module_state->__pyx_codeobj__148);
  Py_VISIT(traverse_module_state->__pyx_codeobj__149);
  Py_VISIT(traverse_module_state->__pyx_codeobj__150);
  Py_VISIT(traverse_module_state->__pyx_codeobj__151);
  Py_VISIT(traverse_module_state->__pyx_codeobj__152);
  Py_VISIT(traverse_module_state->__pyx_codeobj__153);
  Py_VISIT(traverse_module_state->__pyx_codeobj__154);
  Py_VISIT(traverse_module_state->__pyx_codeobj__155);
  Py_VISIT(traverse_module_state->__pyx_codeobj__156);
  Py_VISIT(traverse_module_state->__pyx_codeobj__157);
  Py_VISIT(traverse_module_state->__pyx_codeobj__158);
  Py_VISIT(traverse_module_state->__pyx_codeobj__159);
  Py_VISIT(traverse_module_state->__pyx_codeobj__160);
  Py_VISIT(traverse_module_state->__pyx_codeobj__161);
  Py_VISIT(traverse_module_state->__pyx_codeobj__162);
  Py_VISIT(traverse_module_state->__pyx_codeobj__163);
  Py_VISIT(traverse_module_state->__pyx_codeobj__164);
  Py_VISIT(traverse_module_state->__pyx_codeobj__165);
  Py_VISIT(traverse_module_state->__pyx_codeobj__166);
  Py_VISIT(traverse_module_state->__pyx_codeobj__167);
  Py_VISIT(traverse_module_state->__pyx_codeobj__168);
  Py_VISIT(traverse_module_state->__pyx_codeobj__169);
  Py_VISIT(traverse_module_state->__pyx_codeobj__170);
  Py_VISIT(traverse_module_state->__pyx_codeobj__171);
  Py_VISIT(traverse_module_state->__pyx_codeobj__172);
  Py_VISIT(traverse_module_state->__pyx_codeobj__173);
  Py_VISIT(traverse_module_state->__pyx_codeobj__174);
  Py_VISIT(traverse_module_state->__pyx_codeobj__175);
  Py_VISIT(traverse_module_state->__pyx_codeobj__176);
  Py_VISIT(traverse_module_state->__pyx_codeobj__177);
  Py_VISIT(traverse_module_state->__pyx_codeobj__178);
  Py_VISIT(traverse_module_state->__pyx_codeobj__179);
  Py_VISIT(traverse_module_state->__pyx_codeobj__180);
  Py_VISIT(traverse_module_state->__pyx_codeobj__181);
  Py_VISIT(traverse_module_state->__pyx_codeobj__182);
  Py_VISIT(traverse_module_state->__pyx_codeobj__183);
  Py_VISIT(traverse_module_state->__pyx_codeobj__184);
  Py_VISIT(traverse_module_state->__pyx_codeobj__185);
  Py_VISIT(traverse_module_state->__pyx_codeobj__186);
  Py_VISIT(traverse_module_state->__pyx_codeobj__187);
  Py_VISIT(traverse_module_state->__pyx_codeobj__188);
  Py_VISIT(traverse_module_state->__pyx_codeobj__189);
  Py_VISIT(traverse_module_state->__pyx_codeobj__190);
  Py_VISIT(traverse_module_state->__pyx_codeobj__191);
  Py_VISIT(traverse_module_state->__pyx_codeobj__192);
  Py_VISIT(traverse_module_state->__pyx_codeobj__193);
  Py_VISIT(traverse_module_state->__pyx_codeobj__194);
  Py_VISIT(traverse_module_state->__pyx_codeobj__195);
  Py_VISIT(traverse_module_state->__pyx_codeobj__196);
  Py_VISIT(traverse_module_state->__pyx_codeobj__197);
  Py_VISIT(traverse_module_state->__pyx_codeobj__198);
  Py_VISIT(traverse_module_state->__pyx_codeobj__199);
  Py_VISIT(traverse_module_state->__pyx_codeobj__200);
  Py_VISIT(traverse_module_state->__pyx_codeobj__201);
  Py_VISIT(traverse_module_state->__pyx_codeobj__202);
  Py_VISIT(traverse_module_state->__pyx_codeobj__203);
  Py_VISIT(traverse_module_state->__pyx_codeobj__204);
  Py_VISIT(traverse_module_state->__pyx_codeobj__205);
  Py_VISIT(traverse_module_state->__pyx_codeobj__206);
  Py_VISIT(traverse_module_state->__pyx_codeobj__207);
  Py_VISIT(traverse_module_state->__pyx_codeobj__208);
  Py_VISIT(traverse_module_state->__pyx_codeobj__209);
  Py_VISIT(traverse_module_state->__pyx_codeobj__210);
  Py_VISIT(traverse_module_state->__pyx_codeobj__211);
  Py_VISIT(traverse_module_state->__pyx_codeobj__212);
  Py_VISIT(traverse_module_state->__pyx_codeobj__213);
  Py_VISIT(traverse_module_state->__pyx_codeobj__214);
  Py_VISIT(traverse_module_state->__pyx_codeobj__215);
  Py_VISIT(traverse_module_state->__pyx_codeobj__216);
  Py_VISIT(traverse_module_state->__pyx_codeobj__217);
  Py_VISIT(traverse_module_state->__pyx_codeobj__218);
  Py_VISIT(traverse_module_state->__pyx_codeobj__219);
  Py_VISIT(traverse_module_state->__pyx_codeobj__220);
  Py_VISIT(traverse_module_state->__pyx_codeobj__221);
  Py_VISIT(traverse_module_state->__pyx_codeobj__222);
  Py_VISIT(traverse_module_state->__pyx_codeobj__223);
  Py_VISIT(traverse_module_state->__pyx_codeobj__224);
  Py_VISIT(traverse_module_state->__pyx_codeobj__225);
  Py_VISIT(traverse_module_state->__pyx_codeobj__226);
  Py_VISIT(traverse_module_state->__pyx_codeobj__227);
  Py_VISIT(traverse_module_state->__pyx_codeobj__228);
  Py_VISIT(traverse_module_state->__pyx_codeobj__229);
  Py_VISIT(traverse_module_state->__pyx_codeobj__230);
  Py_VISIT(traverse_module_state->__pyx_codeobj__231);
  Py_VISIT(traverse_module_state->__pyx_codeobj__232);
  Py_VISIT(traverse_module_state->__pyx_codeobj__233);
  Py_VISIT(traverse_module_state->__pyx_codeobj__234);
  Py_VISIT(traverse_module_state->__pyx_codeobj__235);
  Py_VISIT(traverse_module_state->__pyx_codeobj__236);
  Py_VISIT(traverse_module_state->__pyx_codeobj__237);
  Py_VISIT(traverse_module_state->__pyx_codeobj__238);
  Py_VISIT(traverse_module_state->__pyx_codeobj__239);
  Py_VISIT(traverse_module_state->__pyx_codeobj__240);
  Py_VISIT(traverse_module_state->__pyx_codeobj__241);
  Py_VISIT(traverse_module_state->__pyx_codeobj__242);
  Py_VISIT(traverse_module_state->__pyx_codeobj__243);
  Py_VISIT(traverse_module_state->__pyx_codeobj__244);
  Py_VISIT(traverse_module_state->__pyx_codeobj__245);
  Py_VISIT(traverse_module_state->__pyx_codeobj__246);
  Py_VISIT(traverse_module_state->__pyx_codeobj__247);
  Py_VISIT(traverse_module_state->__pyx_codeobj__248);
  Py_VISIT(traverse_module_state->__pyx_codeobj__249);
  Py_VISIT(traverse_module_state->__pyx_codeobj__250);
  Py_VISIT(traverse_module_state->__pyx_codeobj__251);
  Py_VISIT(traverse_module_state->__pyx_codeobj__252);
  Py_VISIT(traverse_module_state->__pyx_codeobj__253);
  Py_VISIT(traverse_module_state->__pyx_codeobj__254);
  Py_VISIT(traverse_module_state->__pyx_codeobj__255);
  Py_VISIT(traverse_module_state->__pyx_codeobj__256);
  Py_VISIT(traverse_module_state->__pyx_codeobj__257);
  Py_VISIT(traverse_module_state->__pyx_codeobj__258);
  Py_VISIT(traverse_module_state->__pyx_codeobj__259);
  Py_VISIT(traverse_module_state->__pyx_codeobj__260);
  Py_VISIT(traverse_module_state->__pyx_codeobj__261);
  Py_VISIT(traverse_module_state->__pyx_codeobj__262);
  Py_VISIT(traverse_module_state->__pyx_codeobj__263);
  Py_VISIT(traverse_module_state->__pyx_codeobj__264);
  Py_VISIT(traverse_module_state->__pyx_codeobj__265);
  Py_VISIT(traverse_module_state->__pyx_codeobj__266);
  Py_VISIT(traverse_module_state->__pyx_codeobj__267);
  Py_VISIT(traverse_module_state->__pyx_codeobj__268);
  Py_VISIT(traverse_module_state->__pyx_codeobj__269);
  Py_VISIT(traverse_module_state->__pyx_codeobj__270);
  Py_VISIT(traverse_module_state->__pyx_codeobj__271);
  Py_VISIT(traverse_module_state->__pyx_codeobj__272);
  Py_VISIT(traverse_module_state->__pyx_codeobj__273);
  Py_VISIT(traverse_module_state->__pyx_codeobj__274);
  Py_VISIT(traverse_module_state->__pyx_codeobj__275);
  Py_VISIT(traverse_module_state->__pyx_codeobj__276);
  Py_VISIT(traverse_module_state->__pyx_codeobj__277);
  Py_VISIT(traverse_module_state->__pyx_codeobj__278);
  Py_VISIT(traverse_module_state->__pyx_codeobj__279);
  Py_VISIT(traverse_module_state->__pyx_codeobj__280);
  Py_VISIT(traverse_module_state->__pyx_codeobj__281);
  Py_VISIT(traverse_module_state->__pyx_codeobj__282);
  Py_VISIT(traverse_module_state->__pyx_codeobj__283);
  Py_VISIT(traverse_module_state->__pyx_codeobj__284);
  Py_VISIT(traverse_module_state->__pyx_codeobj__285);
  Py_VISIT(traverse_module_state->__pyx_codeobj__286);
  Py_VISIT(traverse_module_state->__pyx_codeobj__287);
  Py_VISIT(traverse_module_state->__pyx_codeobj__288);
  Py_VISIT(traverse_module_state->__pyx_codeobj__289);
  Py_VISIT(traverse_module_state->__pyx_codeobj__290);
  Py_VISIT(traverse_module_state->__pyx_codeobj__291);
  Py_VISIT(traverse_module_state->__pyx_codeobj__292);
  Py_VISIT(traverse_module_state->__pyx_codeobj__293);
  Py_VISIT(traverse_module_state->__pyx_codeobj__294);
  Py_VISIT(traverse_module_state->__pyx_codeobj__295);
  Py_VISIT(traverse_module_state->__pyx_codeobj__296);
  Py_VISIT(traverse_module_state->__pyx_codeobj__297);
  Py_VISIT(traverse_module_state->__pyx_codeobj__298);
  Py_VISIT(traverse_module_state->__pyx_codeobj__299);
  Py_VISIT(traverse_module_state->__pyx_codeobj__300);
  Py_VISIT(traverse_module_state->__pyx_codeobj__301);
  Py_VISIT(traverse_module_state->__pyx_codeobj__302);
  Py_VISIT(traverse_module_state->__pyx_codeobj__303);
  Py_VISIT(traverse_module_state->__pyx_codeobj__304);
  Py_VISIT(traverse_module_state->__pyx_codeobj__305);
  Py_VISIT(traverse_module_state->__pyx_codeobj__306);
  Py_VISIT(traverse_module_state->__pyx_codeobj__307);
  Py_VISIT(traverse_module_state->__pyx_codeobj__308);
  Py_VISIT(traverse_module_state->__pyx_codeobj__309);
  Py_VISIT(traverse_module_state->__pyx_codeobj__310);
  Py_VISIT(traverse_module_state->__pyx_codeobj__311);
  Py_VISIT(traverse_module_state->__pyx_codeobj__312);
  Py_VISIT(traverse_module_state->__pyx_codeobj__313);
  Py_VISIT(traverse_module_state->__pyx_codeobj__314);
  Py_VISIT(traverse_module_state->__pyx_codeobj__315);
  Py_VISIT(traverse_module_state->__pyx_codeobj__316);
  Py_VISIT(traverse_module_state->__pyx_codeobj__317);
  Py_VISIT(traverse_module_state->__pyx_codeobj__318);
  Py_VISIT(traverse_module_state->__pyx_codeobj__319);
  Py_VISIT(traverse_module_state->__pyx_codeobj__320);
  Py_VISIT(traverse_module_state->__pyx_codeobj__321);
  Py_VISIT(traverse_module_state->__pyx_codeobj__322);
  Py_VISIT(traverse_module_state->__pyx_codeobj__323);
  Py_VISIT(traverse_module_state->__pyx_codeobj__324);
  Py_VISIT(traverse_module_state->__pyx_codeobj__325);
  Py_VISIT(traverse_module_state->__pyx_codeobj__326);
  Py_VISIT(traverse_module_state->__pyx_codeobj__327);
  Py_VISIT(traverse_module_state->__pyx_codeobj__328);
  Py_VISIT(traverse_module_state->__pyx_codeobj__329);
  Py_VISIT(traverse_module_state->__pyx_codeobj__330);
  Py_VISIT(traverse_module_state->__pyx_codeobj__331);
  Py_VISIT(traverse_module_state->__pyx_codeobj__332);
  Py_VISIT(traverse_module_state->__pyx_codeobj__333);
  Py_VISIT(traverse_module_state->__pyx_codeobj__334);
  Py_VISIT(traverse_module_state->__pyx_codeobj__335);
  Py_VISIT(traverse_module_state->__pyx_codeobj__336);
  Py_VISIT(traverse_module_state->__pyx_codeobj__337);
  Py_VISIT(traverse_module_state->__pyx_codeobj__338);
  Py_VISIT(traverse_module_state->__pyx_codeobj__339);
  Py_VISIT(traverse_module_state->__pyx_codeobj__340);
  Py_VISIT(traverse_module_state->__pyx_codeobj__341);
  Py_VISIT(traverse_module_state->__pyx_codeobj__342);
  Py_VISIT(traverse_module_state->__pyx_codeobj__343);
  Py_VISIT(traverse_module_state->__pyx_codeobj__344);
  Py_VISIT(traverse_module_state->__pyx_codeobj__345);
  Py_VISIT(traverse_module_state->__pyx_codeobj__346);
  Py_VISIT(traverse_module_state->__pyx_codeobj__347);
  Py_VISIT(traverse_module_state->__pyx_codeobj__348);
  Py_VISIT(traverse_module_state->__pyx_codeobj__349);
  Py_VISIT(traverse_module_state->__pyx_codeobj__350);
  Py_VISIT(traverse_module_state->__pyx_codeobj__351);
  Py_VISIT(traverse_module_state->__pyx_codeobj__352);
  Py_VISIT(traverse_module_state->__pyx_codeobj__353);
  Py_VISIT(traverse_module_state->__pyx_codeobj__354);
  Py_VISIT(traverse_module_state->__pyx_codeobj__355);
  Py_VISIT(traverse_module_state->__pyx_codeobj__356);
  Py_VISIT(traverse_module_state->__pyx_codeobj__357);
  Py_VISIT(traverse_module_state->__pyx_codeobj__358);
  Py_VISIT(traverse_module_state->__pyx_codeobj__359);
  Py_VISIT(traverse_module_state->__pyx_codeobj__360);
  Py_VISIT(traverse_module_state->__pyx_codeobj__361);
  Py_VISIT(traverse_module_state->__pyx_codeobj__362);
  Py_VISIT(traverse_module_state->__pyx_codeobj__363);
  Py_VISIT(traverse_module_state->__pyx_codeobj__364);
  Py_VISIT(traverse_module_state->__pyx_codeobj__365);
  Py_VISIT(traverse_module_state->__pyx_codeobj__366);
  Py_VISIT(traverse_module_state->__pyx_codeobj__367);
  Py_VISIT(traverse_module_state->__pyx_codeobj__368);
  Py_VISIT(traverse_module_state->__pyx_codeobj__369);
  Py_VISIT(traverse_module_state->__pyx_codeobj__370);
  Py_VISIT(traverse_module_state->__pyx_codeobj__371);
  Py_VISIT(traverse_module_state->__pyx_codeobj__372);
  Py_VISIT(traverse_module_state->__pyx_codeobj__373);
  Py_VISIT(traverse_module_state->__pyx_codeobj__374);
  Py_VISIT(traverse_module_state->__pyx_codeobj__375);
  Py_VISIT(traverse_module_state->__pyx_codeobj__376);
  Py_VISIT(traverse_module_state->__pyx_codeobj__377);
  Py_VISIT(traverse_module_state->__pyx_codeobj__378);
  Py_VISIT(traverse_module_state->__pyx_codeobj__379);
  Py_VISIT(traverse_module_state->__pyx_codeobj__380);
  Py_VISIT(traverse_module_state->__pyx_codeobj__381);
  Py_VISIT(traverse_module_state->__pyx_codeobj__382);
  Py_VISIT(traverse_module_state->__pyx_codeobj__383);
  Py_VISIT(traverse_module_state->__pyx_codeobj__384);
  Py_VISIT(traverse_module_state->__pyx_codeobj__385);
  Py_VISIT(traverse_module_state->__pyx_codeobj__386);
  Py_VISIT(traverse_module_state->__pyx_codeobj__387);
  Py_VISIT(traverse_module_state->__pyx_codeobj__388);
  Py_VISIT(traverse_module_state->__pyx_codeobj__389);
  Py_VISIT(traverse_module_state->__pyx_codeobj__390);
  Py_VISIT(traverse_module_state->__pyx_codeobj__391);
  Py_VISIT(traverse_module_state->__pyx_codeobj__392);
  Py_VISIT(traverse_module_state->__pyx_codeobj__393);
  Py_VISIT(traverse_module_state->__pyx_codeobj__394);
  Py_VISIT(traverse_module_state->__pyx_codeobj__395);
  Py_VISIT(traverse_module_state->__pyx_codeobj__396);
  Py_VISIT(traverse_module_state->__pyx_codeobj__397);
  Py_VISIT(traverse_module_state->__pyx_codeobj__398);
  Py_VISIT(traverse_module_state->__pyx_codeobj__399);
  Py_VISIT(traverse_module_state->__pyx_codeobj__400);
  Py_VISIT(traverse_module_state->__pyx_codeobj__401);
  Py_VISIT(traverse_module_state->__pyx_codeobj__402);
  Py_VISIT(traverse_module_state->__pyx_codeobj__403);
  Py_VISIT(traverse_module_state->__pyx_codeobj__404);
  Py_VISIT(traverse_module_state->__pyx_codeobj__405);
  Py_VISIT(traverse_module_state->__pyx_codeobj__406);
  Py_VISIT(traverse_module_state->__pyx_codeobj__407);
  Py_VISIT(traverse_module_state->__pyx_codeobj__408);
  Py_VISIT(traverse_module_state->__pyx_codeobj__409);
  Py_VISIT(traverse_module_state->__pyx_codeobj__410);
  Py_VISIT(traverse_module_state->__pyx_codeobj__411);
  Py_VISIT(traverse_module_state->__pyx_codeobj__412);
  Py_VISIT(traverse_module_state->__pyx_codeobj__413);
  Py_VISIT(traverse_module_state->__pyx_codeobj__414);
  Py_VISIT(traverse_module_state->__pyx_codeobj__415);
  Py_VISIT(traverse_module_state->__pyx_codeobj__416);
  Py_VISIT(traverse_module_state->__pyx_codeobj__417);
  Py_VISIT(traverse_module_state->__pyx_codeobj__418);
  Py_VISIT(traverse_module_state->__pyx_codeobj__419);
  Py_VISIT(traverse_module_state->__pyx_codeobj__420);
  Py_VISIT(traverse_module_state->__pyx_codeobj__421);
  Py_VISIT(traverse_module_state->__pyx_codeobj__422);
  Py_VISIT(traverse_module_state->__pyx_codeobj__423);
  Py_VISIT(traverse_module_state->__pyx_codeobj__424);
  Py_VISIT(traverse_module_state->__pyx_codeobj__425);
  Py_VISIT(traverse_module_state->__pyx_codeobj__426);
  Py_VISIT(traverse_module_state->__pyx_codeobj__427);
  Py_VISIT(traverse_module_state->__pyx_codeobj__428);
  Py_VISIT(traverse_module_state->__pyx_codeobj__429);
  Py_VISIT(traverse_module_state->__pyx_codeobj__430);
  Py_VISIT(traverse_module_state->__pyx_codeobj__431);
  Py_VISIT(traverse_module_state->__pyx_codeobj__432);
  Py_VISIT(traverse_module_state->__pyx_codeobj__433);
  Py_VISIT(traverse_module_state->__pyx_codeobj__434);
  Py_VISIT(traverse_module_state->__pyx_codeobj__435);
  Py_VISIT(traverse_module_state->__pyx_codeobj__436);
  Py_VISIT(traverse_module_state->__pyx_codeobj__437);
  Py_VISIT(traverse_module_state->__pyx_codeobj__438);
  Py_VISIT(traverse_module_state->__pyx_codeobj__439);
  Py_VISIT(traverse_module_state->__pyx_codeobj__440);
  Py_VISIT(traverse_module_state->__pyx_codeobj__441);
  Py_VISIT(traverse_module_state->__pyx_codeobj__442);
  Py_VISIT(traverse_module_state->__pyx_codeobj__443);
  Py_VISIT(traverse_module_state->__pyx_codeobj__444);
  Py_VISIT(traverse_module_state->__pyx_codeobj__445);
  Py_VISIT(traverse_module_state->__pyx_codeobj__446);
  Py_VISIT(traverse_module_state->__pyx_codeobj__447);
  Py_VISIT(traverse_module_state->__pyx_codeobj__448);
  Py_VISIT(traverse_module_state->__pyx_codeobj__449);
  Py_VISIT(traverse_module_state->__pyx_codeobj__450);
  Py_VISIT(traverse_module_state->__pyx_codeobj__451);
  Py_VISIT(traverse_module_state->__pyx_codeobj__452);
  Py_VISIT(traverse_module_state->__pyx_codeobj__453);
  Py_VISIT(traverse_module_state->__pyx_codeobj__454);
  Py_VISIT(traverse_module_state->__pyx_codeobj__455);
  Py_VISIT(traverse_module_state->__pyx_codeobj__456);
  Py_VISIT(traverse_module_state->__pyx_codeobj__457);
  Py_VISIT(traverse_module_state->__pyx_codeobj__458);
  Py_VISIT(traverse_module_state->__pyx_codeobj__459);
  Py_VISIT(traverse_module_state->__pyx_codeobj__460);
  Py_VISIT(traverse_module_state->__pyx_codeobj__461);
  Py_VISIT(traverse_module_state->__pyx_codeobj__462);
  Py_VISIT(traverse_module_state->__pyx_codeobj__463);
  Py_VISIT(traverse_module_state->__pyx_codeobj__464);
  Py_VISIT(traverse_module_state->__pyx_codeobj__465);
  Py_VISIT(traverse_module_state->__pyx_codeobj__466);
  Py_VISIT(traverse_module_state->__pyx_codeobj__467);
  Py_VISIT(traverse_module_state->__pyx_codeobj__468);
  Py_VISIT(traverse_module_state->__pyx_codeobj__469);
  Py_VISIT(traverse_module_state->__pyx_codeobj__470);
  Py_VISIT(traverse_module_state->__pyx_codeobj__471);
  Py_VISIT(traverse_module_state->__pyx_codeobj__472);
  Py_VISIT(traverse_module_state->__pyx_codeobj__473);
  Py_VISIT(traverse_module_state->__pyx_codeobj__474);
  Py_VISIT(traverse_module_state->__pyx_codeobj__475);
  Py_VISIT(traverse_module_state->__pyx_codeobj__476);
  Py_VISIT(traverse_module_state->__pyx_codeobj__477);
  Py_VISIT(traverse_module_state->__pyx_codeobj__478);
  Py_VISIT(traverse_module_state->__pyx_codeobj__479);
  Py_VISIT(traverse_module_state->__pyx_codeobj__480);
  Py_VISIT(traverse_module_state->__pyx_codeobj__481);
  Py_VISIT(traverse_module_state->__pyx_codeobj__482);
  Py_VISIT(traverse_module_state->__pyx_codeobj__483);
  Py_VISIT(traverse_module_state->__pyx_codeobj__484);
  Py_VISIT(traverse_module_state->__pyx_codeobj__485);
  Py_VISIT(traverse_module_state->__pyx_codeobj__487);
  Py_VISIT(traverse_module_state->__pyx_codeobj__488);
  Py_VISIT(traverse_module_state->__pyx_codeobj__489);
  Py_VISIT(traverse_module_state->__pyx_codeobj__490);
  Py_VISIT(traverse_module_state->__pyx_codeobj__491);
  Py_VISIT(traverse_module_state->__pyx_codeobj__492);
  Py_VISIT(traverse_module_state->__pyx_codeobj__493);
  Py_VISIT(traverse_module_state->__pyx_codeobj__494);
  Py_VISIT(traverse_module_state->__pyx_codeobj__495);
  Py_VISIT(traverse_module_state->__pyx_codeobj__496);
  Py_VISIT(traverse_module_state->__pyx_codeobj__497);
  Py_VISIT(traverse_module_state->__pyx_codeobj__498);
  Py_VISIT(traverse_module_state->__pyx_codeobj__499);
  Py_VISIT(traverse_module_state->__pyx_codeobj__500);
  Py_VISIT(traverse_module_state->__pyx_codeobj__501);
  Py_VISIT(traverse_module_state->__pyx_codeobj__502);
  Py_VISIT(traverse_module_state->__pyx_codeobj__503);
  Py_VISIT(traverse_module_state->__pyx_codeobj__504);
  Py_VISIT(traverse_module_state->__pyx_codeobj__505);
  Py_VISIT(traverse_module_state->__pyx_codeobj__506);
  Py_VISIT(traverse_module_state->__pyx_codeobj__507);
  Py_VISIT(traverse_module_state->__pyx_codeobj__509);
  Py_VISIT(traverse_module_state->__pyx_codeobj__510);
  Py_VISIT(traverse_module_state->__pyx_codeobj__511);
  Py_VISIT(traverse_module_state->__pyx_codeobj__512);
  Py_VISIT(traverse_module_state->__pyx_codeobj__513);
  Py_VISIT(traverse_module_state->__pyx_codeobj__514);
  Py_VISIT(traverse_module_state->__pyx_codeobj__515);
  Py_VISIT(traverse_module_state->__pyx_codeobj__516);
  Py_VISIT(traverse_module_state->__pyx_codeobj__517);
  Py_VISIT(traverse_module_state->__pyx_codeobj__518);
  Py_VISIT(traverse_module_state->__pyx_codeobj__519);
  Py_VISIT(traverse_module_state->__pyx_codeobj__520);
  Py_VISIT(traverse_module_state->__pyx_codeobj__521);
  Py_VISIT(traverse_module_state->__pyx_codeobj__522);
  Py_VISIT(traverse_module_state->__pyx_codeobj__523);
  Py_VISIT(traverse_module_state->__pyx_codeobj__524);
  Py_VISIT(traverse_module_state->__pyx_codeobj__525);
  Py_VISIT(traverse_module_state->__pyx_codeobj__526);
  Py_VISIT(traverse_module_state->__pyx_codeobj__527);
  Py_VISIT(traverse_module_state->__pyx_codeobj__528);
  Py_VISIT(traverse_module_state->__pyx_codeobj__529);
  Py_VISIT(traverse_module_state->__pyx_codeobj__530);
  Py_VISIT(traverse_module_state->__pyx_codeobj__531);
  Py_VISIT(traverse_module_state->__pyx_codeobj__532);
  Py_VISIT(traverse_module_state->__pyx_codeobj__533);
  Py_VISIT(traverse_module_state->__pyx_codeobj__536);
  Py_VISIT(traverse_module_state->__pyx_codeobj__537);
  Py_VISIT(traverse_module_state->__pyx_codeobj__538);
  Py_VISIT(traverse_module_state->__pyx_codeobj__539);
  Py_VISIT(traverse_module_state->__pyx_codeobj__540);
  Py_VISIT(traverse_module_state->__pyx_codeobj__541);
  Py_VISIT(traverse_module_state->__pyx_codeobj__542);
  Py_VISIT(traverse_module_state->__pyx_codeobj__543);
  Py_VISIT(traverse_module_state->__pyx_codeobj__544);
  Py_VISIT(traverse_module_state->__pyx_codeobj__545);
  Py_VISIT(traverse_module_state->__pyx_codeobj__546);
  Py_VISIT(traverse_module_state->__pyx_codeobj__547);
  Py_VISIT(traverse_module_state->__pyx_codeobj__548);
  Py_VISIT(traverse_module_state->__pyx_codeobj__549);
  Py_VISIT(traverse_module_state->__pyx_codeobj__550);
  Py_VISIT(traverse_module_state->__pyx_codeobj__553);
  Py_VISIT(traverse_module_state->__pyx_codeobj__554);
  Py_VISIT(traverse_module_state->__pyx_codeobj__555);
  Py_VISIT(traverse_module_state->__pyx_codeobj__556);
  Py_VISIT(traverse_module_state->__pyx_codeobj__557);
  Py_VISIT(traverse_module_state->__pyx_codeobj__558);
  Py_VISIT(traverse_module_state->__pyx_codeobj__559);
  Py_VISIT(traverse_module_state->__pyx_codeobj__560);
  Py_VISIT(traverse_module_state->__pyx_codeobj__561);
  Py_VISIT(traverse_module_state->__pyx_codeobj__562);
  Py_VISIT(traverse_module_state->__pyx_codeobj__563);
  Py_VISIT(traverse_module_state->__pyx_codeobj__564);
  Py_VISIT(traverse_module_state->__pyx_codeobj__565);
  Py_VISIT(traverse_module_state->__pyx_codeobj__566);
  Py_VISIT(traverse_module_state->__pyx_codeobj__567);
  Py_VISIT(traverse_module_state->__pyx_codeobj__568);
  Py_VISIT(traverse_module_state->__pyx_codeobj__569);
  Py_VISIT(traverse_module_state->__pyx_codeobj__570);
  Py_VISIT(traverse_module_state->__pyx_codeobj__571);
  Py_VISIT(traverse_module_state->__pyx_codeobj__572);
  Py_VISIT(traverse_module_state->__pyx_codeobj__573);
  Py_VISIT(traverse_module_state->__pyx_codeobj__574);
  Py_VISIT(traverse_module_state->__pyx_codeobj__575);
  Py_VISIT(traverse_module_state->__pyx_codeobj__576);
  Py_VISIT(traverse_module_state->__pyx_codeobj__577);
  Py_VISIT(traverse_module_state->__pyx_codeobj__578);
  Py_VISIT(traverse_module_state->__pyx_codeobj__579);
  Py_VISIT(traverse_module_state->__pyx_codeobj__580);
  Py_VISIT(traverse_module_state->__pyx_codeobj__581);
  Py_VISIT(traverse_module_state->__pyx_codeobj__582);
  Py_VISIT(traverse_module_state->__pyx_codeobj__583);
  Py_VISIT(traverse_module_state->__pyx_codeobj__584);
  Py_VISIT(traverse_module_state->__pyx_codeobj__585);
  Py_VISIT(traverse_module_state->__pyx_codeobj__586);
  Py_VISIT(traverse_module_state->__pyx_codeobj__587);
  Py_VISIT(traverse_module_state->__pyx_codeobj__588);
  Py_VISIT(traverse_module_state->__pyx_codeobj__589);
  Py_VISIT(traverse_module_state->__pyx_codeobj__590);
  Py_VISIT(traverse_module_state->__pyx_codeobj__591);
  Py_VISIT(traverse_module_state->__pyx_codeobj__592);
  Py_VISIT(traverse_module_state->__pyx_codeobj__593);
  Py_VISIT(traverse_module_state->__pyx_codeobj__594);
  Py_VISIT(traverse_module_state->__pyx_codeobj__595);
  Py_VISIT(traverse_module_state->__pyx_codeobj__596);
  Py_VISIT(traverse_module_state->__pyx_codeobj__597);
  Py_VISIT(traverse_module_state->__pyx_codeobj__598);
  Py_VISIT(traverse_module_state->__pyx_codeobj__599);
  Py_VISIT(traverse_module_state->__pyx_codeobj__600);
  Py_VISIT(traverse_module_state->__pyx_codeobj__601);
  Py_VISIT(traverse_module_state->__pyx_codeobj__602);
  Py_VISIT(traverse_module_state->__pyx_codeobj__603);
  Py_VISIT(traverse_module_state->__pyx_codeobj__604);
  Py_VISIT(traverse_module_state->__pyx_codeobj__605);
  Py_VISIT(traverse_module_state->__pyx_codeobj__606);
  Py_VISIT(traverse_module_state->__pyx_codeobj__607);
  Py_VISIT(traverse_module_state->__pyx_codeobj__608);
  Py_VISIT(traverse_module_state->__pyx_codeobj__609);
  Py_VISIT(traverse_module_state->__pyx_codeobj__610);
  Py_VISIT(traverse_module_state->__pyx_codeobj__611);
  Py_VISIT(traverse_module_state->__pyx_codeobj__612);
  Py_VISIT(traverse_module_state->__pyx_codeobj__613);
  Py_VISIT(traverse_module_state->__pyx_codeobj__614);
  Py_VISIT(traverse_module_state->__pyx_codeobj__615);
  Py_VISIT(traverse_module_state->__pyx_codeobj__616);
  Py_VISIT(traverse_module_state->__pyx_codeobj__617);
  Py_VISIT(traverse_module_state->__pyx_codeobj__618);
  Py_VISIT(traverse_module_state->__pyx_codeobj__619);
  Py_VISIT(traverse_module_state->__pyx_codeobj__620);
  Py_VISIT(traverse_module_state->__pyx_codeobj__621);
  Py_VISIT(traverse_module_state->__pyx_codeobj__622);
  Py_VISIT(traverse_module_state->__pyx_codeobj__623);
  Py_VISIT(traverse_module_state->__pyx_codeobj__624);
  Py_VISIT(traverse_module_state->__pyx_codeobj__625);
  Py_VISIT(traverse_module_state->__pyx_codeobj__626);
  Py_VISIT(traverse_module_state->__pyx_codeobj__627);
  Py_VISIT(traverse_module_state->__pyx_codeobj__628);
  Py_VISIT(traverse_module_state->__pyx_codeobj__629);
  Py_VISIT(traverse_module_state->__pyx_codeobj__630);
  Py_VISIT(traverse_module_state->__pyx_codeobj__631);
  Py_VISIT(traverse_module_state->__pyx_codeobj__632);
  Py_VISIT(traverse_module_state->__pyx_codeobj__633);
  Py_VISIT(traverse_module_state->__pyx_codeobj__634);
  Py_VISIT(traverse_module_state->__pyx_codeobj__635);
  Py_VISIT(traverse_module_state->__pyx_codeobj__636);
  Py_VISIT(traverse_module_state->__pyx_codeobj__637);
  Py_VISIT(traverse_module_state->__pyx_codeobj__638);
  Py_VISIT(traverse_module_state->__pyx_codeobj__639);
  Py_VISIT(traverse_module_state->__pyx_codeobj__640);
  Py_VISIT(traverse_module_state->__pyx_codeobj__641);
  Py_VISIT(traverse_module_state->__pyx_codeobj__642);
  Py_VISIT(traverse_module_state->__pyx_codeobj__643);
  Py_VISIT(traverse_module_state->__pyx_codeobj__644);
  Py_VISIT(traverse_module_state->__pyx_codeobj__645);
  Py_VISIT(traverse_module_state->__pyx_codeobj__647);
  Py_VISIT(traverse_module_state->__pyx_codeobj__648);
  Py_VISIT(traverse_module_state->__pyx_codeobj__650);
  Py_VISIT(traverse_module_state->__pyx_codeobj__651);
  Py_VISIT(traverse_module_state->__pyx_codeobj__652);
  Py_VISIT(traverse_module_state->__pyx_codeobj__653);
  Py_VISIT(traverse_module_state->__pyx_codeobj__654);
  Py_VISIT(traverse_module_state->__pyx_codeobj__655);
  Py_VISIT(traverse_module_state->__pyx_codeobj__656);
  Py_VISIT(traverse_module_state->__pyx_codeobj__657);
  Py_VISIT(traverse_module_state->__pyx_codeobj__658);
  Py_VISIT(traverse_module_state->__pyx_codeobj__659);
  Py_VISIT(traverse_module_state->__pyx_codeobj__660);
  Py_VISIT(traverse_module_state->__pyx_codeobj__661);
  Py_VISIT(traverse_module_state->__pyx_codeobj__663);
  Py_VISIT(traverse_module_state->__pyx_codeobj__664);
  Py_VISIT(traverse_module_state->__pyx_codeobj__665);
  Py_VISIT(traverse_module_state->__pyx_codeobj__666);
  Py_VISIT(traverse_module_state->__pyx_codeobj__667);
  Py_VISIT(traverse_module_state->__pyx_codeobj__668);
  Py_VISIT(traverse_module_state->__pyx_codeobj__669);
  Py_VISIT(traverse_module_state->__pyx_codeobj__670);
  Py_VISIT(traverse_module_state->__pyx_codeobj__671);
  Py_VISIT(traverse_module_state->__pyx_codeobj__672);
  Py_VISIT(traverse_module_state->__pyx_codeobj__673);
  Py_VISIT(traverse_module_state->__pyx_codeobj__674);
  Py_VISIT(traverse_module_state->__pyx_codeobj__675);
  Py_VISIT(traverse_module_state->__pyx_codeobj__676);
  Py_VISIT(traverse_module_state->__pyx_codeobj__677);
  Py_VISIT(traverse_module_state->__pyx_codeobj__678);
  Py_VISIT(traverse_module_state->__pyx_codeobj__679);
  Py_VISIT(traverse_module_state->__pyx_codeobj__680);
  Py_VISIT(traverse_module_state->__pyx_codeobj__681);
  Py_VISIT(traverse_module_state->__pyx_codeobj__682);
  Py_VISIT(traverse_module_state->__pyx_codeobj__683);
  Py_VISIT(traverse_module_state->__pyx_codeobj__686);
  Py_VISIT(traverse_module_state->__pyx_codeobj__687);
  Py_VISIT(traverse_module_state->__pyx_codeobj__689);
  Py_VISIT(traverse_module_state->__pyx_codeobj__690);
  Py_VISIT(traverse_module_state->__pyx_codeobj__691);
  Py_VISIT(traverse_module_state->__pyx_codeobj__692);
  Py_VISIT(traverse_module_state->__pyx_codeobj__693);
  Py_VISIT(traverse_module_state->__pyx_codeobj__694);
  Py_VISIT(traverse_module_state->__pyx_codeobj__695);
  Py_VISIT(traverse_module_state->__pyx_codeobj__696);
  Py_VISIT(traverse_module_state->__pyx_codeobj__697);
  Py_VISIT(traverse_module_state->__pyx_codeobj__698);
  Py_VISIT(traverse_module_state->__pyx_codeobj__701);
  Py_VISIT(traverse_module_state->__pyx_codeobj__702);
  Py_VISIT(traverse_module_state->__pyx_codeobj__703);
  Py_VISIT(traverse_module_state->__pyx_codeobj__704);
  Py_VISIT(traverse_module_state->__pyx_codeobj__705);
  Py_VISIT(traverse_module_state->__pyx_codeobj__706);
  Py_VISIT(traverse_module_state->__pyx_codeobj__707);
  Py_VISIT(traverse_module_state->__pyx_codeobj__708);
  Py_VISIT(traverse_module_state->__pyx_codeobj__709);
  Py_VISIT(traverse_module_state->__pyx_codeobj__710);
  Py_VISIT(traverse_module_state->__pyx_codeobj__711);
  Py_VISIT(traverse_module_state->__pyx_codeobj__712);
  Py_VISIT(traverse_module_state->__pyx_codeobj__713);
  Py_VISIT(traverse_module_state->__pyx_codeobj__714);
  Py_VISIT(traverse_module_state->__pyx_codeobj__715);
  Py_VISIT(traverse_module_state->__pyx_codeobj__716);
  Py_VISIT(traverse_module_state->__pyx_codeobj__717);
  Py_VISIT(traverse_module_state->__pyx_codeobj__718);
  Py_VISIT(traverse_module_state->__pyx_codeobj__719);
  Py_VISIT(traverse_module_state->__pyx_codeobj__720);
  Py_VISIT(traverse_module_state->__pyx_codeobj__721);
  Py_VISIT(traverse_module_state->__pyx_codeobj__722);
  Py_VISIT(traverse_module_state->__pyx_codeobj__723);
  Py_VISIT(traverse_module_state->__pyx_codeobj__724);
  Py_VISIT(traverse_module_state->__pyx_codeobj__725);
  Py_VISIT(traverse_module_state->__pyx_codeobj__726);
  Py_VISIT(traverse_module_state->__pyx_codeobj__727);
  Py_VISIT(traverse_module_state->__pyx_codeobj__730);
  Py_VISIT(traverse_module_state->__pyx_codeobj__732);
  Py_VISIT(traverse_module_state->__pyx_codeobj__733);
  Py_VISIT(traverse_module_state->__pyx_codeobj__734);
  Py_VISIT(traverse_module_state->__pyx_codeobj__735);
  Py_VISIT(traverse_module_state->__pyx_codeobj__736);
  Py_VISIT(traverse_module_state->__pyx_codeobj__737);
  Py_VISIT(traverse_module_state->__pyx_codeobj__739);
  Py_VISIT(traverse_module_state->__pyx_codeobj__740);
  Py_VISIT(traverse_module_state->__pyx_codeobj__741);
  Py_VISIT(traverse_module_state->__pyx_codeobj__742);
  Py_VISIT(traverse_module_state->__pyx_codeobj__743);
  Py_VISIT(traverse_module_state->__pyx_codeobj__744);
  Py_VISIT(traverse_module_state->__pyx_codeobj__745);
  Py_VISIT(traverse_module_state->__pyx_codeobj__746);
  Py_VISIT(traverse_module_state->__pyx_codeobj__747);
  Py_VISIT(traverse_module_state->__pyx_codeobj__748);
  Py_VISIT(traverse_module_state->__pyx_codeobj__749);
  Py_VISIT(traverse_module_state->__pyx_codeobj__750);
  Py_VISIT(traverse_module_state->__pyx_codeobj__752);
  Py_VISIT(traverse_module_state->__pyx_codeobj__753);
  Py_VISIT(traverse_module_state->__pyx_codeobj__754);
  Py_VISIT(traverse_module_state->__pyx_codeobj__755);
  Py_VISIT(traverse_module_state->__pyx_codeobj__756);
  Py_VISIT(traverse_module_state->__pyx_codeobj__757);
  Py_VISIT(traverse_module_state->__pyx_codeobj__758);
  Py_VISIT(traverse_module_state->__pyx_codeobj__759);
  Py_VISIT(traverse_module_state->__pyx_codeobj__760);
  Py_VISIT(traverse_module_state->__pyx_codeobj__761);
  Py_VISIT(traverse_module_state->__pyx_codeobj__762);
  Py_VISIT(traverse_module_state->__pyx_codeobj__763);
  Py_VISIT(traverse_module_state->__pyx_codeobj__764);
  Py_VISIT(traverse_module_state->__pyx_codeobj__765);
  Py_VISIT(traverse_module_state->__pyx_codeobj__766);
  Py_VISIT(traverse_module_state->__pyx_codeobj__767);
  Py_VISIT(traverse_module_state->__pyx_codeobj__768);
  Py_VISIT(traverse_module_state->__pyx_codeobj__769);
  Py_VISIT(traverse_module_state->__pyx_codeobj__770);
  Py_VISIT(traverse_module_state->__pyx_codeobj__771);
  Py_VISIT(traverse_module_state->__pyx_codeobj__772);
  Py_VISIT(traverse_module_state->__pyx_codeobj__773);
  Py_VISIT(traverse_module_state->__pyx_codeobj__774);
  Py_VISIT(traverse_module_state->__pyx_codeobj__775);
  Py_VISIT(traverse_module_state->__pyx_codeobj__776);
  Py_VISIT(traverse_module_state->__pyx_codeobj__777);
  Py_VISIT(traverse_module_state->__pyx_codeobj__778);
  Py_VISIT(traverse_module_state->__pyx_codeobj__779);
  Py_VISIT(traverse_module_state->__pyx_codeobj__780);
  Py_VISIT(traverse_module_state->__pyx_codeobj__781);
  Py_VISIT(traverse_module_state->__pyx_codeobj__782);
  Py_VISIT(traverse_module_state->__pyx_codeobj__783);
  Py_VISIT(traverse_module_state->__pyx_codeobj__784);
  Py_VISIT(traverse_module_state->__pyx_codeobj__785);
  Py_VISIT(traverse_module_state->__pyx_codeobj__786);
  Py_VISIT(traverse_module_state->__pyx_codeobj__787);
  Py_VISIT(traverse_module_state->__pyx_codeobj__788);
  Py_VISIT(traverse_module_state->__pyx_codeobj__789);
  Py_VISIT(traverse_module_state->__pyx_codeobj__790);
  Py_VISIT(traverse_module_state->__pyx_codeobj__791);
  Py_VISIT(traverse_module_state->__pyx_codeobj__792);
  Py_VISIT(traverse_module_state->__pyx_codeobj__793);
  Py_VISIT(traverse_module_state->__pyx_codeobj__794);
  Py_VISIT(traverse_module_state->__pyx_codeobj__795);
  Py_VISIT(traverse_module_state->__pyx_codeobj__796);
  Py_VISIT(traverse_module_state->__pyx_codeobj__797);
  Py_VISIT(traverse_module_state->__pyx_codeobj__798);
  Py_VISIT(traverse_module_state->__pyx_codeobj__799);
  Py_VISIT(traverse_module_state->__pyx_codeobj__800);
  Py_VISIT(traverse_module_state->__pyx_codeobj__801);
  Py_VISIT(traverse_module_state->__pyx_codeobj__802);
  Py_VISIT(traverse_module_state->__pyx_codeobj__803);
  Py_VISIT(traverse_module_state->__pyx_codeobj__804);
  Py_VISIT(traverse_module_state->__pyx_codeobj__805);
  Py_VISIT(traverse_module_state->__pyx_codeobj__806);
  Py_VISIT(traverse_module_state->__pyx_codeobj__807);
  Py_VISIT(traverse_module_state->__pyx_codeobj__808);
  Py_VISIT(traverse_module_state->__pyx_codeobj__809);
  Py_VISIT(traverse_module_state->__pyx_codeobj__810);
  Py_VISIT(traverse_module_state->__pyx_codeobj__811);
  Py_VISIT(traverse_module_state->__pyx_codeobj__812);
  Py_VISIT(traverse_module_state->__pyx_codeobj__813);
  Py_VISIT(traverse_module_state->__pyx_codeobj__814);
  Py_VISIT(traverse_module_state->__pyx_codeobj__817);
  Py_VISIT(traverse_module_state->__pyx_codeobj__819);
  Py_VISIT(traverse_module_state->__pyx_codeobj__820);
  Py_VISIT(traverse_module_state->__pyx_codeobj__821);
  Py_VISIT(traverse_module_state->__pyx_codeobj__822);
  Py_VISIT(traverse_module_state->__pyx_codeobj__823);
  Py_VISIT(traverse_module_state->__pyx_codeobj__824);
  Py_VISIT(traverse_module_state->__pyx_codeobj__825);
  Py_VISIT(traverse_module_state->__pyx_codeobj__826);
  Py_VISIT(traverse_module_state->__pyx_codeobj__827);
  Py_VISIT(traverse_module_state->__pyx_codeobj__828);
  Py_VISIT(traverse_module_state->__pyx_codeobj__829);
  Py_VISIT(traverse_module_state->__pyx_codeobj__830);
  Py_VISIT(traverse_module_state->__pyx_codeobj__831);
  Py_VISIT(traverse_module_state->__pyx_codeobj__832);
  Py_VISIT(traverse_module_state->__pyx_codeobj__833);
  Py_VISIT(traverse_module_state->__pyx_codeobj__834);
  Py_VISIT(traverse_module_state->__pyx_codeobj__835);
  Py_VISIT(traverse_module_state->__pyx_codeobj__836);
  Py_VISIT(traverse_module_state->__pyx_codeobj__837);
  Py_VISIT(traverse_module_state->__pyx_codeobj__838);
  Py_VISIT(traverse_module_state->__pyx_codeobj__839);
  Py_VISIT(traverse_module_state->__pyx_codeobj__840);
  Py_VISIT(traverse_module_state->__pyx_codeobj__841);
  Py_VISIT(traverse_module_state->__pyx_codeobj__842);
  Py_VISIT(traverse_module_state->__pyx_codeobj__843);
  Py_VISIT(traverse_module_state->__pyx_codeobj__844);
  Py_VISIT(traverse_module_state->__pyx_codeobj__845);
  Py_VISIT(traverse_module_state->__pyx_codeobj__846);
  Py_VISIT(traverse_module_state->__pyx_codeobj__847);
  Py_VISIT(traverse_module_state->__pyx_codeobj__848);
  Py_VISIT(traverse_module_state->__pyx_codeobj__849);
  Py_VISIT(traverse_module_state->__pyx_codeobj__850);
  Py_VISIT(traverse_module_state->__pyx_codeobj__851);
  Py_VISIT(traverse_module_state->__pyx_codeobj__852);
  Py_VISIT(traverse_module_state->__pyx_codeobj__853);
  Py_VISIT(traverse_module_state->__pyx_codeobj__854);
  Py_VISIT(traverse_module_state->__pyx_codeobj__855);
  Py_VISIT(traverse_module_state->__pyx_codeobj__856);
  Py_VISIT(traverse_module_state->__pyx_codeobj__857);
  Py_VISIT(traverse_module_state->__pyx_codeobj__858);
  Py_VISIT(traverse_module_state->__pyx_codeobj__859);
  Py_VISIT(traverse_module_state->__pyx_codeobj__860);
  Py_VISIT(traverse_module_state->__pyx_codeobj__861);
  Py_VISIT(traverse_module_state->__pyx_codeobj__862);
  Py_VISIT(traverse_module_state->__pyx_codeobj__863);
  Py_VISIT(traverse_module_state->__pyx_codeobj__864);
  Py_VISIT(traverse_module_state->__pyx_codeobj__865);
  Py_VISIT(traverse_module_state->__pyx_codeobj__866);
  Py_VISIT(traverse_module_state->__pyx_codeobj__867);
  Py_VISIT(traverse_module_state->__pyx_codeobj__868);
  Py_VISIT(traverse_module_state->__pyx_codeobj__869);
  Py_VISIT(traverse_module_state->__pyx_codeobj__870);
  Py_VISIT(traverse_module_state->__pyx_codeobj__871);
  Py_VISIT(traverse_module_state->__pyx_codeobj__872);
  Py_VISIT(traverse_module_state->__pyx_codeobj__873);
  Py_VISIT(traverse_module_state->__pyx_codeobj__874);
  Py_VISIT(traverse_module_state->__pyx_codeobj__875);
  Py_VISIT(traverse_module_state->__pyx_codeobj__876);
  Py_VISIT(traverse_module_state->__pyx_codeobj__877);
  Py_VISIT(traverse_module_state->__pyx_codeobj__878);
  Py_VISIT(traverse_module_state->__pyx_codeobj__879);
  Py_VISIT(traverse_module_state->__pyx_codeobj__880);
  Py_VISIT(traverse_module_state->__pyx_codeobj__881);
  Py_VISIT(traverse_module_state->__pyx_codeobj__882);
  Py_VISIT(traverse_module_state->__pyx_codeobj__883);
  Py_VISIT(traverse_module_state->__pyx_codeobj__884);
  Py_VISIT(traverse_module_state->__pyx_codeobj__885);
  Py_VISIT(traverse_module_state->__pyx_codeobj__886);
  Py_VISIT(traverse_module_state->__pyx_codeobj__887);
  Py_VISIT(traverse_module_state->__pyx_codeobj__888);
  Py_VISIT(traverse_module_state->__pyx_codeobj__889);
  Py_VISIT(traverse_module_state->__pyx_codeobj__890);
  Py_VISIT(traverse_module_state->__pyx_codeobj__891);
  Py_VISIT(traverse_module_state->__pyx_codeobj__892);
  Py_VISIT(traverse_module_state->__pyx_codeobj__893);
  Py_VISIT(traverse_module_state->__pyx_codeobj__894);
  Py_VISIT(traverse_module_state->__pyx_codeobj__895);
  Py_VISIT(traverse_module_state->__pyx_codeobj__896);
  Py_VISIT(traverse_module_state->__pyx_codeobj__897);
  Py_VISIT(traverse_module_state->__pyx_codeobj__898);
  Py_VISIT(traverse_module_state->__pyx_codeobj__899);
  Py_VISIT(traverse_module_state->__pyx_codeobj__904);
  Py_VISIT(traverse_module_state->__pyx_codeobj__907);
  Py_VISIT(traverse_module_state->__pyx_codeobj__908);
  Py_VISIT(traverse_module_state->__pyx_codeobj__909);
  Py_VISIT(traverse_module_state->__pyx_codeobj__910);
  Py_VISIT(traverse_module_state->__pyx_codeobj__911);
  Py_VISIT(traverse_module_state->__pyx_codeobj__912);
  Py_VISIT(traverse_module_state->__pyx_codeobj__913);
  Py_VISIT(traverse_module_state->__pyx_codeobj__914);
  Py_VISIT(traverse_module_state->__pyx_codeobj__915);
  Py_VISIT(traverse_module_state->__pyx_codeobj__916);
  Py_VISIT(traverse_module_state->__pyx_codeobj__917);
  Py_VISIT(traverse_module_state->__pyx_codeobj__918);
  Py_VISIT(traverse_module_state->__pyx_codeobj__919);
  Py_VISIT(traverse_module_state->__pyx_codeobj__920);
  Py_VISIT(traverse_module_state->__pyx_codeobj__921);
  Py_VISIT(traverse_module_state->__pyx_codeobj__922);
  Py_VISIT(traverse_module_state->__pyx_codeobj__923);
  Py_VISIT(traverse_module_state->__pyx_codeobj__924);
  Py_VISIT(traverse_module_state->__pyx_codeobj__925);
  Py_VISIT(traverse_module_state->__pyx_codeobj__926);
  Py_VISIT(traverse_module_state->__pyx_codeobj__927);
  Py_VISIT(traverse_module_state->__pyx_codeobj__928);
  Py_VISIT(traverse_module_state->__pyx_codeobj__929);
  Py_VISIT(traverse_module_state->__pyx_codeobj__930);
  Py_VISIT(traverse_module_state->__pyx_codeobj__931);
  Py_VISIT(traverse_module_state->__pyx_codeobj__932);
  Py_VISIT(traverse_module_state->__pyx_codeobj__934);
  Py_VISIT(traverse_module_state->__pyx_codeobj__935);
  Py_VISIT(traverse_module_state->__pyx_codeobj__936);
  Py_VISIT(traverse_module_state->__pyx_codeobj__937);
  Py_VISIT(traverse_module_state->__pyx_codeobj__938);
  Py_VISIT(traverse_module_state->__pyx_codeobj__939);
  Py_VISIT(traverse_module_state->__pyx_codeobj__940);
  Py_VISIT(traverse_module_state->__pyx_codeobj__941);
  Py_VISIT(traverse_module_state->__pyx_codeobj__942);
  Py_VISIT(traverse_module_state->__pyx_codeobj__943);
  Py_VISIT(traverse_module_state->__pyx_codeobj__944);
  Py_VISIT(traverse_module_state->__pyx_codeobj__945);
  Py_VISIT(traverse_module_state->__pyx_codeobj__946);
  Py_VISIT(traverse_module_state->__pyx_codeobj__947);
  Py_VISIT(traverse_module_state->__pyx_codeobj__948);
  Py_VISIT(traverse_module_state->__pyx_codeobj__949);
  Py_VISIT(traverse_module_state->__pyx_codeobj__950);
  Py_VISIT(traverse_module_state->__pyx_codeobj__951);
  Py_VISIT(traverse_module_state->__pyx_codeobj__952);
  Py_VISIT(traverse_module_state->__pyx_codeobj__953);
  Py_VISIT(traverse_module_state->__pyx_codeobj__954);
  Py_VISIT(traverse_module_state->__pyx_codeobj__955);
  Py_VISIT(traverse_module_state->__pyx_codeobj__956);
  Py_VISIT(traverse_module_state->__pyx_codeobj__957);
  Py_VISIT(traverse_module_state->__pyx_codeobj__958);
  return 0;
}
#endif
/* #### Code section: module_state_defines ### */
#define __pyx_d __pyx_mstate_global->__pyx_d
#define __pyx_b __pyx_mstate_global->__pyx_b
#define __pyx_cython_runtime __pyx_mstate_global->__pyx_cython_runtime
#define __pyx_empty_tuple __pyx_mstate_global->__pyx_empty_tuple
#define __pyx_empty_bytes __pyx_mstate_global->__pyx_empty_bytes
#define __pyx_empty_unicode __pyx_mstate_global->__pyx_empty_unicode
#ifdef __Pyx_CyFunction_USED
#define __pyx_CyFunctionType __pyx_mstate_global->__pyx_CyFunctionType
#endif
#ifdef __Pyx_FusedFunction_USED
#define __pyx_FusedFunctionType __pyx_mstate_global->__pyx_FusedFunctionType
#endif
#ifdef __Pyx_Generator_USED
#define __pyx_GeneratorType __pyx_mstate_global->__pyx_GeneratorType
#endif
#ifdef __Pyx_IterableCoroutine_USED
#define __pyx_IterableCoroutineType __pyx_mstate_global->__pyx_IterableCoroutineType
#endif
#ifdef __Pyx_Coroutine_USED
#define __pyx_CoroutineAwaitType __pyx_mstate_global->__pyx_CoroutineAwaitType
#endif
#ifdef __Pyx_Coroutine_USED
#define __pyx_CoroutineType __pyx_mstate_global->__pyx_CoroutineType
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#define __pyx_ptype_4cuda_4_lib_5utils_HelperKernelParams __pyx_mstate_global->__pyx_ptype_4cuda_4_lib_5utils_HelperKernelParams
#define __pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr __pyx_mstate_global->__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr
#define __pyx_ptype_4cuda_4_lib_5utils_HelperCUmemPool_attribute __pyx_mstate_global->__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemPool_attribute
#define __pyx_ptype_4cuda_4_lib_5utils_HelperCUmem_range_attribute __pyx_mstate_global->__pyx_ptype_4cuda_4_lib_5utils_HelperCUmem_range_attribute
#define __pyx_ptype_4cuda_4_lib_5utils_HelperCUpointer_attribute __pyx_mstate_global->__pyx_ptype_4cuda_4_lib_5utils_HelperCUpointer_attribute
#define __pyx_ptype_4cuda_4_lib_5utils_HelperCUgraphMem_attribute __pyx_mstate_global->__pyx_ptype_4cuda_4_lib_5utils_HelperCUgraphMem_attribute
#define __pyx_ptype_4cuda_4_lib_5utils_HelperCUjit_option __pyx_mstate_global->__pyx_ptype_4cuda_4_lib_5utils_HelperCUjit_option
#define __pyx_ptype_4cuda_4_lib_5utils_HelperCUlibraryOption __pyx_mstate_global->__pyx_ptype_4cuda_4_lib_5utils_HelperCUlibraryOption
#define __pyx_ptype_4cuda_4_lib_5utils_HelperCUmemAllocationHandleType __pyx_mstate_global->__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemAllocationHandleType
#define __pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper __pyx_mstate_global->__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper
#define __pyx_ptype_4cuda_4_lib_5utils_HelperCUcoredumpSettings __pyx_mstate_global->__pyx_ptype_4cuda_4_lib_5utils_HelperCUcoredumpSettings
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#define __pyx_ptype_7cpython_4type_type __pyx_mstate_global->__pyx_ptype_7cpython_4type_type
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#endif
#if CYTHON_USE_MODULE_STATE
#define __pyx_type_4cuda_4cuda_CUcontext __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUcontext
#define __pyx_type_4cuda_4cuda_CUmodule __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmodule
#define __pyx_type_4cuda_4cuda_CUfunction __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUfunction
#define __pyx_type_4cuda_4cuda_CUlibrary __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUlibrary
#define __pyx_type_4cuda_4cuda_CUkernel __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUkernel
#define __pyx_type_4cuda_4cuda_CUarray __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUarray
#define __pyx_type_4cuda_4cuda_CUmipmappedArray __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmipmappedArray
#define __pyx_type_4cuda_4cuda_CUtexref __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUtexref
#define __pyx_type_4cuda_4cuda_CUsurfref __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUsurfref
#define __pyx_type_4cuda_4cuda_CUevent __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUevent
#define __pyx_type_4cuda_4cuda_CUstream __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUstream
#define __pyx_type_4cuda_4cuda_CUgraphicsResource __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUgraphicsResource
#define __pyx_type_4cuda_4cuda_CUexternalMemory __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUexternalMemory
#define __pyx_type_4cuda_4cuda_CUexternalSemaphore __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUexternalSemaphore
#define __pyx_type_4cuda_4cuda_CUgraph __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUgraph
#define __pyx_type_4cuda_4cuda_CUgraphNode __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUgraphNode
#define __pyx_type_4cuda_4cuda_CUgraphExec __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUgraphExec
#define __pyx_type_4cuda_4cuda_CUmemoryPool __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemoryPool
#define __pyx_type_4cuda_4cuda_CUuserObject __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUuserObject
#define __pyx_type_4cuda_4cuda_CUgraphDeviceNode __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUgraphDeviceNode
#define __pyx_type_4cuda_4cuda_CUasyncCallbackHandle __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUasyncCallbackHandle
#define __pyx_type_4cuda_4cuda_CUlinkState __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUlinkState
#define __pyx_type_4cuda_4cuda_CUgreenCtx __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUgreenCtx
#define __pyx_type_4cuda_4cuda_CUdevResourceDesc __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUdevResourceDesc
#define __pyx_type_4cuda_4cuda_CUeglStreamConnection __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUeglStreamConnection
#define __pyx_type_4cuda_4cuda_EGLImageKHR __pyx_mstate_global->__pyx_type_4cuda_4cuda_EGLImageKHR
#define __pyx_type_4cuda_4cuda_EGLStreamKHR __pyx_mstate_global->__pyx_type_4cuda_4cuda_EGLStreamKHR
#define __pyx_type_4cuda_4cuda_EGLSyncKHR __pyx_mstate_global->__pyx_type_4cuda_4cuda_EGLSyncKHR
#define __pyx_type_4cuda_4cuda_CUasyncCallback __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUasyncCallback
#define __pyx_type_4cuda_4cuda_CUhostFn __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUhostFn
#define __pyx_type_4cuda_4cuda_CUstreamCallback __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUstreamCallback
#define __pyx_type_4cuda_4cuda_CUoccupancyB2DSize __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUoccupancyB2DSize
#define __pyx_type_4cuda_4cuda_CUuuid_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUuuid_st
#define __pyx_type_4cuda_4cuda_CUmemFabricHandle_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemFabricHandle_st
#define __pyx_type_4cuda_4cuda_CUipcEventHandle_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUipcEventHandle_st
#define __pyx_type_4cuda_4cuda_CUipcMemHandle_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUipcMemHandle_st
#define __pyx_type_4cuda_4cuda_CUstreamMemOpWaitValueParams_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUstreamMemOpWaitValueParams_st
#define __pyx_type_4cuda_4cuda_CUstreamMemOpWriteValueParams_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUstreamMemOpWriteValueParams_st
#define __pyx_type_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st
#define __pyx_type_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st
#define __pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_union __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_union
#define __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st
#define __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st
#define __pyx_type_4cuda_4cuda_anon_struct0 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct0
#define __pyx_type_4cuda_4cuda_anon_union2 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_union2
#define __pyx_type_4cuda_4cuda_CUasyncNotificationInfo_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUasyncNotificationInfo_st
#define __pyx_type_4cuda_4cuda_CUdevprop_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUdevprop_st
#define __pyx_type_4cuda_4cuda_CUaccessPolicyWindow_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUaccessPolicyWindow_st
#define __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st
#define __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st
#define __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st
#define __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st
#define __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st
#define __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st
#define __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st
#define __pyx_type_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS
#define __pyx_type_4cuda_4cuda_CUgraphEdgeData_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUgraphEdgeData_st
#define __pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st
#define __pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap_st
#define __pyx_type_4cuda_4cuda_anon_struct1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct1
#define __pyx_type_4cuda_4cuda_anon_struct2 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct2
#define __pyx_type_4cuda_4cuda_anon_struct3 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct3
#define __pyx_type_4cuda_4cuda_anon_struct4 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct4
#define __pyx_type_4cuda_4cuda_CUlaunchAttributeValue_union __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUlaunchAttributeValue_union
#define __pyx_type_4cuda_4cuda_CUlaunchAttribute_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUlaunchAttribute_st
#define __pyx_type_4cuda_4cuda_CUlaunchConfig_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUlaunchConfig_st
#define __pyx_type_4cuda_4cuda_CUexecAffinitySmCount_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUexecAffinitySmCount_st
#define __pyx_type_4cuda_4cuda_anon_union3 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_union3
#define __pyx_type_4cuda_4cuda_CUexecAffinityParam_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUexecAffinityParam_st
#define __pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st
#define __pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_st
#define __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_st
#define __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st
#define __pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st
#define __pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st
#define __pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st
#define __pyx_type_4cuda_4cuda_anon_struct5 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct5
#define __pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st
#define __pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st
#define __pyx_type_4cuda_4cuda_anon_struct6 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct6
#define __pyx_type_4cuda_4cuda_anon_struct7 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct7
#define __pyx_type_4cuda_4cuda_anon_struct8 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct8
#define __pyx_type_4cuda_4cuda_anon_struct9 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct9
#define __pyx_type_4cuda_4cuda_anon_struct10 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct10
#define __pyx_type_4cuda_4cuda_anon_union4 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_union4
#define __pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_st
#define __pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_st
#define __pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st
#define __pyx_type_4cuda_4cuda_CUtensorMap_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUtensorMap_st
#define __pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st
#define __pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st
#define __pyx_type_4cuda_4cuda_anon_struct11 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct11
#define __pyx_type_4cuda_4cuda_anon_union5 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_union5
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st
#define __pyx_type_4cuda_4cuda_anon_struct12 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct12
#define __pyx_type_4cuda_4cuda_anon_union6 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_union6
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st
#define __pyx_type_4cuda_4cuda_anon_struct13 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct13
#define __pyx_type_4cuda_4cuda_anon_union7 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_union7
#define __pyx_type_4cuda_4cuda_anon_struct14 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct14
#define __pyx_type_4cuda_4cuda_anon_struct15 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct15
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st
#define __pyx_type_4cuda_4cuda_anon_struct16 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct16
#define __pyx_type_4cuda_4cuda_anon_union8 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_union8
#define __pyx_type_4cuda_4cuda_anon_struct17 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct17
#define __pyx_type_4cuda_4cuda_anon_struct18 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct18
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st
#define __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st
#define __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st
#define __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st
#define __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st
#define __pyx_type_4cuda_4cuda_anon_union9 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_union9
#define __pyx_type_4cuda_4cuda_anon_struct19 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct19
#define __pyx_type_4cuda_4cuda_anon_struct20 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct20
#define __pyx_type_4cuda_4cuda_anon_union10 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_union10
#define __pyx_type_4cuda_4cuda_anon_union11 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_union11
#define __pyx_type_4cuda_4cuda_CUarrayMapInfo_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUarrayMapInfo_st
#define __pyx_type_4cuda_4cuda_CUmemLocation_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemLocation_st
#define __pyx_type_4cuda_4cuda_anon_struct21 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_struct21
#define __pyx_type_4cuda_4cuda_CUmemAllocationProp_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemAllocationProp_st
#define __pyx_type_4cuda_4cuda_CUmulticastObjectProp_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmulticastObjectProp_st
#define __pyx_type_4cuda_4cuda_CUmemAccessDesc_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemAccessDesc_st
#define __pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_st
#define __pyx_type_4cuda_4cuda_CUmemPoolProps_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemPoolProps_st
#define __pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_st
#define __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st
#define __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st
#define __pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st
#define __pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st
#define __pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st
#define __pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st
#define __pyx_type_4cuda_4cuda_CUgraphNodeParams_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUgraphNodeParams_st
#define __pyx_type_4cuda_4cuda_CUdevSmResource_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUdevSmResource_st
#define __pyx_type_4cuda_4cuda_CUdevResource_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUdevResource_st
#define __pyx_type_4cuda_4cuda_anon_union14 __pyx_mstate_global->__pyx_type_4cuda_4cuda_anon_union14
#define __pyx_type_4cuda_4cuda_CUeglFrame_st __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUeglFrame_st
#define __pyx_type_4cuda_4cuda_CUdeviceptr __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUdeviceptr
#define __pyx_type_4cuda_4cuda_CUdevice __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUdevice
#define __pyx_type_4cuda_4cuda_CUtexObject __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUtexObject
#define __pyx_type_4cuda_4cuda_CUsurfObject __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUsurfObject
#define __pyx_type_4cuda_4cuda_CUgraphConditionalHandle __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUgraphConditionalHandle
#define __pyx_type_4cuda_4cuda_CUuuid __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUuuid
#define __pyx_type_4cuda_4cuda_CUmemFabricHandle_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemFabricHandle_v1
#define __pyx_type_4cuda_4cuda_CUmemFabricHandle __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemFabricHandle
#define __pyx_type_4cuda_4cuda_CUipcEventHandle_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUipcEventHandle_v1
#define __pyx_type_4cuda_4cuda_CUipcEventHandle __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUipcEventHandle
#define __pyx_type_4cuda_4cuda_CUipcMemHandle_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUipcMemHandle_v1
#define __pyx_type_4cuda_4cuda_CUipcMemHandle __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUipcMemHandle
#define __pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_v1
#define __pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams
#define __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1
#define __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS
#define __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2
#define __pyx_type_4cuda_4cuda_CUasyncNotificationInfo __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUasyncNotificationInfo
#define __pyx_type_4cuda_4cuda_CUdevprop_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUdevprop_v1
#define __pyx_type_4cuda_4cuda_CUdevprop __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUdevprop
#define __pyx_type_4cuda_4cuda_CUaccessPolicyWindow_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUaccessPolicyWindow_v1
#define __pyx_type_4cuda_4cuda_CUaccessPolicyWindow __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUaccessPolicyWindow
#define __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1
#define __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2
#define __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS
#define __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3
#define __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1
#define __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS
#define __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2
#define __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1
#define __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS
#define __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2
#define __pyx_type_4cuda_4cuda_CUgraphEdgeData __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUgraphEdgeData
#define __pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS
#define __pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap
#define __pyx_type_4cuda_4cuda_CUlaunchAttributeValue __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUlaunchAttributeValue
#define __pyx_type_4cuda_4cuda_CUlaunchAttribute __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUlaunchAttribute
#define __pyx_type_4cuda_4cuda_CUlaunchConfig __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUlaunchConfig
#define __pyx_type_4cuda_4cuda_CUkernelNodeAttrValue_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUkernelNodeAttrValue_v1
#define __pyx_type_4cuda_4cuda_CUkernelNodeAttrValue __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUkernelNodeAttrValue
#define __pyx_type_4cuda_4cuda_CUstreamAttrValue_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUstreamAttrValue_v1
#define __pyx_type_4cuda_4cuda_CUstreamAttrValue __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUstreamAttrValue
#define __pyx_type_4cuda_4cuda_CUexecAffinitySmCount_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUexecAffinitySmCount_v1
#define __pyx_type_4cuda_4cuda_CUexecAffinitySmCount __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUexecAffinitySmCount
#define __pyx_type_4cuda_4cuda_CUexecAffinityParam_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUexecAffinityParam_v1
#define __pyx_type_4cuda_4cuda_CUexecAffinityParam __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUexecAffinityParam
#define __pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable
#define __pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_v2 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_v2
#define __pyx_type_4cuda_4cuda_CUDA_MEMCPY2D __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D
#define __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_v2 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_v2
#define __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D
#define __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1
#define __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER
#define __pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS
#define __pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2
#define __pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR
#define __pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2
#define __pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR
#define __pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1
#define __pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES
#define __pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1
#define __pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS
#define __pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_v1
#define __pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC
#define __pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_v1
#define __pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC
#define __pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1
#define __pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC
#define __pyx_type_4cuda_4cuda_CUtensorMap __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUtensorMap
#define __pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1
#define __pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS
#define __pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1
#define __pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1
#define __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS
#define __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1
#define __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS
#define __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2
#define __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1
#define __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS
#define __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2
#define __pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle
#define __pyx_type_4cuda_4cuda_CUarrayMapInfo_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUarrayMapInfo_v1
#define __pyx_type_4cuda_4cuda_CUarrayMapInfo __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUarrayMapInfo
#define __pyx_type_4cuda_4cuda_CUmemLocation_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemLocation_v1
#define __pyx_type_4cuda_4cuda_CUmemLocation __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemLocation
#define __pyx_type_4cuda_4cuda_CUmemAllocationProp_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemAllocationProp_v1
#define __pyx_type_4cuda_4cuda_CUmemAllocationProp __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemAllocationProp
#define __pyx_type_4cuda_4cuda_CUmulticastObjectProp_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmulticastObjectProp_v1
#define __pyx_type_4cuda_4cuda_CUmulticastObjectProp __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmulticastObjectProp
#define __pyx_type_4cuda_4cuda_CUmemAccessDesc_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemAccessDesc_v1
#define __pyx_type_4cuda_4cuda_CUmemAccessDesc __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemAccessDesc
#define __pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1
#define __pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo
#define __pyx_type_4cuda_4cuda_CUmemPoolProps_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemPoolProps_v1
#define __pyx_type_4cuda_4cuda_CUmemPoolProps __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemPoolProps
#define __pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_v1
#define __pyx_type_4cuda_4cuda_CUmemPoolPtrExportData __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData
#define __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1
#define __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS
#define __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2
#define __pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS
#define __pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS
#define __pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS
#define __pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS
#define __pyx_type_4cuda_4cuda_CUgraphNodeParams __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUgraphNodeParams
#define __pyx_type_4cuda_4cuda_CUdevSmResource __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUdevSmResource
#define __pyx_type_4cuda_4cuda_CUdevResource_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUdevResource_v1
#define __pyx_type_4cuda_4cuda_CUdevResource __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUdevResource
#define __pyx_type_4cuda_4cuda_CUeglFrame_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUeglFrame_v1
#define __pyx_type_4cuda_4cuda_CUeglFrame __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUeglFrame
#define __pyx_type_4cuda_4cuda_cuuint32_t __pyx_mstate_global->__pyx_type_4cuda_4cuda_cuuint32_t
#define __pyx_type_4cuda_4cuda_cuuint64_t __pyx_mstate_global->__pyx_type_4cuda_4cuda_cuuint64_t
#define __pyx_type_4cuda_4cuda_CUdeviceptr_v2 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUdeviceptr_v2
#define __pyx_type_4cuda_4cuda_CUdevice_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUdevice_v1
#define __pyx_type_4cuda_4cuda_CUtexObject_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUtexObject_v1
#define __pyx_type_4cuda_4cuda_CUsurfObject_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUsurfObject_v1
#define __pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle_v1 __pyx_mstate_global->__pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle_v1
#define __pyx_type_4cuda_4cuda_GLenum __pyx_mstate_global->__pyx_type_4cuda_4cuda_GLenum
#define __pyx_type_4cuda_4cuda_GLuint __pyx_mstate_global->__pyx_type_4cuda_4cuda_GLuint
#define __pyx_type_4cuda_4cuda_EGLint __pyx_mstate_global->__pyx_type_4cuda_4cuda_EGLint
#define __pyx_type_4cuda_4cuda_VdpDevice __pyx_mstate_global->__pyx_type_4cuda_4cuda_VdpDevice
#define __pyx_type_4cuda_4cuda_VdpGetProcAddress __pyx_mstate_global->__pyx_type_4cuda_4cuda_VdpGetProcAddress
#define __pyx_type_4cuda_4cuda_VdpVideoSurface __pyx_mstate_global->__pyx_type_4cuda_4cuda_VdpVideoSurface
#define __pyx_type_4cuda_4cuda_VdpOutputSurface __pyx_mstate_global->__pyx_type_4cuda_4cuda_VdpOutputSurface
#define __pyx_type_4cuda_4cuda___pyx_scope_struct__genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct__genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_1_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_1_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_2_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_2_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_3_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_3_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_4_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_4_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_5_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_5_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_6_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_6_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_7_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_7_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_8_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_8_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_9_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_9_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_10_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_10_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_11_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_11_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_12_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_12_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_13_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_13_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_14_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_14_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_15_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_15_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_16_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_16_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_17_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_17_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_18_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_18_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_19_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_19_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_20_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_20_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_21_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_21_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_22_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_22_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_23_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_23_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_24_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_24_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_25_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_25_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_26_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_26_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_27_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_27_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_28_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_28_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_29_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_29_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_30_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_30_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_31_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_31_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_32_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_32_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_33_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_33_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_34_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_34_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_35_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_35_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_36_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_36_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_37_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_37_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_38_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_38_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_39_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_39_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_40_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_40_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_41_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_41_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_42_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_42_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_43_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_43_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_44_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_44_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_45_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_45_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_46_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_46_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_47_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_47_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_48_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_48_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_49_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_49_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_50_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_50_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_51_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_51_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_52_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_52_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_53_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_53_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_54_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_54_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_55_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_55_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_56_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_56_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_57_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_57_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_58_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_58_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_59_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_59_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_60_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_60_genexpr
#define __pyx_type_4cuda_4cuda___pyx_scope_struct_61_genexpr __pyx_mstate_global->__pyx_type_4cuda_4cuda___pyx_scope_struct_61_genexpr
#endif
#define __pyx_ptype_4cuda_4cuda_CUcontext __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUcontext
#define __pyx_ptype_4cuda_4cuda_CUmodule __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmodule
#define __pyx_ptype_4cuda_4cuda_CUfunction __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUfunction
#define __pyx_ptype_4cuda_4cuda_CUlibrary __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUlibrary
#define __pyx_ptype_4cuda_4cuda_CUkernel __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUkernel
#define __pyx_ptype_4cuda_4cuda_CUarray __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUarray
#define __pyx_ptype_4cuda_4cuda_CUmipmappedArray __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmipmappedArray
#define __pyx_ptype_4cuda_4cuda_CUtexref __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUtexref
#define __pyx_ptype_4cuda_4cuda_CUsurfref __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUsurfref
#define __pyx_ptype_4cuda_4cuda_CUevent __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUevent
#define __pyx_ptype_4cuda_4cuda_CUstream __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUstream
#define __pyx_ptype_4cuda_4cuda_CUgraphicsResource __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUgraphicsResource
#define __pyx_ptype_4cuda_4cuda_CUexternalMemory __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUexternalMemory
#define __pyx_ptype_4cuda_4cuda_CUexternalSemaphore __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUexternalSemaphore
#define __pyx_ptype_4cuda_4cuda_CUgraph __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUgraph
#define __pyx_ptype_4cuda_4cuda_CUgraphNode __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUgraphNode
#define __pyx_ptype_4cuda_4cuda_CUgraphExec __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUgraphExec
#define __pyx_ptype_4cuda_4cuda_CUmemoryPool __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemoryPool
#define __pyx_ptype_4cuda_4cuda_CUuserObject __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUuserObject
#define __pyx_ptype_4cuda_4cuda_CUgraphDeviceNode __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUgraphDeviceNode
#define __pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle
#define __pyx_ptype_4cuda_4cuda_CUlinkState __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUlinkState
#define __pyx_ptype_4cuda_4cuda_CUgreenCtx __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUgreenCtx
#define __pyx_ptype_4cuda_4cuda_CUdevResourceDesc __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUdevResourceDesc
#define __pyx_ptype_4cuda_4cuda_CUeglStreamConnection __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUeglStreamConnection
#define __pyx_ptype_4cuda_4cuda_EGLImageKHR __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_EGLImageKHR
#define __pyx_ptype_4cuda_4cuda_EGLStreamKHR __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_EGLStreamKHR
#define __pyx_ptype_4cuda_4cuda_EGLSyncKHR __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_EGLSyncKHR
#define __pyx_ptype_4cuda_4cuda_CUasyncCallback __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUasyncCallback
#define __pyx_ptype_4cuda_4cuda_CUhostFn __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUhostFn
#define __pyx_ptype_4cuda_4cuda_CUstreamCallback __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUstreamCallback
#define __pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize
#define __pyx_ptype_4cuda_4cuda_CUuuid_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUuuid_st
#define __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st
#define __pyx_ptype_4cuda_4cuda_CUipcEventHandle_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUipcEventHandle_st
#define __pyx_ptype_4cuda_4cuda_CUipcMemHandle_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUipcMemHandle_st
#define __pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st
#define __pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st
#define __pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st
#define __pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st
#define __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union
#define __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st
#define __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st
#define __pyx_ptype_4cuda_4cuda_anon_struct0 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct0
#define __pyx_ptype_4cuda_4cuda_anon_union2 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_union2
#define __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st
#define __pyx_ptype_4cuda_4cuda_CUdevprop_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUdevprop_st
#define __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st
#define __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st
#define __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st
#define __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st
#define __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st
#define __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st
#define __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st
#define __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st
#define __pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS
#define __pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st
#define __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st
#define __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st
#define __pyx_ptype_4cuda_4cuda_anon_struct1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct1
#define __pyx_ptype_4cuda_4cuda_anon_struct2 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct2
#define __pyx_ptype_4cuda_4cuda_anon_struct3 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct3
#define __pyx_ptype_4cuda_4cuda_anon_struct4 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct4
#define __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union
#define __pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st
#define __pyx_ptype_4cuda_4cuda_CUlaunchConfig_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUlaunchConfig_st
#define __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st
#define __pyx_ptype_4cuda_4cuda_anon_union3 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_union3
#define __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st
#define __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st
#define __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st
#define __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st
#define __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st
#define __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st
#define __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st
#define __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st
#define __pyx_ptype_4cuda_4cuda_anon_struct5 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct5
#define __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st
#define __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st
#define __pyx_ptype_4cuda_4cuda_anon_struct6 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct6
#define __pyx_ptype_4cuda_4cuda_anon_struct7 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct7
#define __pyx_ptype_4cuda_4cuda_anon_struct8 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct8
#define __pyx_ptype_4cuda_4cuda_anon_struct9 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct9
#define __pyx_ptype_4cuda_4cuda_anon_struct10 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct10
#define __pyx_ptype_4cuda_4cuda_anon_union4 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_union4
#define __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st
#define __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st
#define __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st
#define __pyx_ptype_4cuda_4cuda_CUtensorMap_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUtensorMap_st
#define __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st
#define __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st
#define __pyx_ptype_4cuda_4cuda_anon_struct11 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct11
#define __pyx_ptype_4cuda_4cuda_anon_union5 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_union5
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st
#define __pyx_ptype_4cuda_4cuda_anon_struct12 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct12
#define __pyx_ptype_4cuda_4cuda_anon_union6 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_union6
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st
#define __pyx_ptype_4cuda_4cuda_anon_struct13 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct13
#define __pyx_ptype_4cuda_4cuda_anon_union7 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_union7
#define __pyx_ptype_4cuda_4cuda_anon_struct14 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct14
#define __pyx_ptype_4cuda_4cuda_anon_struct15 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct15
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st
#define __pyx_ptype_4cuda_4cuda_anon_struct16 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct16
#define __pyx_ptype_4cuda_4cuda_anon_union8 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_union8
#define __pyx_ptype_4cuda_4cuda_anon_struct17 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct17
#define __pyx_ptype_4cuda_4cuda_anon_struct18 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct18
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st
#define __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st
#define __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st
#define __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st
#define __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st
#define __pyx_ptype_4cuda_4cuda_anon_union9 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_union9
#define __pyx_ptype_4cuda_4cuda_anon_struct19 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct19
#define __pyx_ptype_4cuda_4cuda_anon_struct20 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct20
#define __pyx_ptype_4cuda_4cuda_anon_union10 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_union10
#define __pyx_ptype_4cuda_4cuda_anon_union11 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_union11
#define __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st
#define __pyx_ptype_4cuda_4cuda_CUmemLocation_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemLocation_st
#define __pyx_ptype_4cuda_4cuda_anon_struct21 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_struct21
#define __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st
#define __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st
#define __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st
#define __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st
#define __pyx_ptype_4cuda_4cuda_CUmemPoolProps_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemPoolProps_st
#define __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st
#define __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st
#define __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st
#define __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st
#define __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st
#define __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st
#define __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st
#define __pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st
#define __pyx_ptype_4cuda_4cuda_CUdevSmResource_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUdevSmResource_st
#define __pyx_ptype_4cuda_4cuda_CUdevResource_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUdevResource_st
#define __pyx_ptype_4cuda_4cuda_anon_union14 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_anon_union14
#define __pyx_ptype_4cuda_4cuda_CUeglFrame_st __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUeglFrame_st
#define __pyx_ptype_4cuda_4cuda_CUdeviceptr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUdeviceptr
#define __pyx_ptype_4cuda_4cuda_CUdevice __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUdevice
#define __pyx_ptype_4cuda_4cuda_CUtexObject __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUtexObject
#define __pyx_ptype_4cuda_4cuda_CUsurfObject __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUsurfObject
#define __pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle
#define __pyx_ptype_4cuda_4cuda_CUuuid __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUuuid
#define __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1
#define __pyx_ptype_4cuda_4cuda_CUmemFabricHandle __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemFabricHandle
#define __pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1
#define __pyx_ptype_4cuda_4cuda_CUipcEventHandle __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUipcEventHandle
#define __pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1
#define __pyx_ptype_4cuda_4cuda_CUipcMemHandle __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUipcMemHandle
#define __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1
#define __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams
#define __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS
#define __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2
#define __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo
#define __pyx_ptype_4cuda_4cuda_CUdevprop_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUdevprop_v1
#define __pyx_ptype_4cuda_4cuda_CUdevprop __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUdevprop
#define __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1
#define __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow
#define __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2
#define __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS
#define __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3
#define __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS
#define __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2
#define __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS
#define __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2
#define __pyx_ptype_4cuda_4cuda_CUgraphEdgeData __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUgraphEdgeData
#define __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS
#define __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap
#define __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue
#define __pyx_ptype_4cuda_4cuda_CUlaunchAttribute __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUlaunchAttribute
#define __pyx_ptype_4cuda_4cuda_CUlaunchConfig __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUlaunchConfig
#define __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1
#define __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue
#define __pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1
#define __pyx_ptype_4cuda_4cuda_CUstreamAttrValue __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUstreamAttrValue
#define __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1
#define __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount
#define __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1
#define __pyx_ptype_4cuda_4cuda_CUexecAffinityParam __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUexecAffinityParam
#define __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable
#define __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2
#define __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D
#define __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2
#define __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D
#define __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER
#define __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS
#define __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2
#define __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR
#define __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2
#define __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR
#define __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES
#define __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS
#define __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC
#define __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC
#define __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC
#define __pyx_ptype_4cuda_4cuda_CUtensorMap __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUtensorMap
#define __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS
#define __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS
#define __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS
#define __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2
#define __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS
#define __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2
#define __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle
#define __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1
#define __pyx_ptype_4cuda_4cuda_CUarrayMapInfo __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUarrayMapInfo
#define __pyx_ptype_4cuda_4cuda_CUmemLocation_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemLocation_v1
#define __pyx_ptype_4cuda_4cuda_CUmemLocation __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemLocation
#define __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1
#define __pyx_ptype_4cuda_4cuda_CUmemAllocationProp __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemAllocationProp
#define __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1
#define __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp
#define __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1
#define __pyx_ptype_4cuda_4cuda_CUmemAccessDesc __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemAccessDesc
#define __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1
#define __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo
#define __pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1
#define __pyx_ptype_4cuda_4cuda_CUmemPoolProps __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemPoolProps
#define __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1
#define __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData
#define __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1
#define __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS
#define __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2
#define __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS
#define __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS
#define __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS
#define __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS
#define __pyx_ptype_4cuda_4cuda_CUgraphNodeParams __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUgraphNodeParams
#define __pyx_ptype_4cuda_4cuda_CUdevSmResource __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUdevSmResource
#define __pyx_ptype_4cuda_4cuda_CUdevResource_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUdevResource_v1
#define __pyx_ptype_4cuda_4cuda_CUdevResource __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUdevResource
#define __pyx_ptype_4cuda_4cuda_CUeglFrame_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUeglFrame_v1
#define __pyx_ptype_4cuda_4cuda_CUeglFrame __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUeglFrame
#define __pyx_ptype_4cuda_4cuda_cuuint32_t __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_cuuint32_t
#define __pyx_ptype_4cuda_4cuda_cuuint64_t __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_cuuint64_t
#define __pyx_ptype_4cuda_4cuda_CUdeviceptr_v2 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUdeviceptr_v2
#define __pyx_ptype_4cuda_4cuda_CUdevice_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUdevice_v1
#define __pyx_ptype_4cuda_4cuda_CUtexObject_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUtexObject_v1
#define __pyx_ptype_4cuda_4cuda_CUsurfObject_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUsurfObject_v1
#define __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1 __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1
#define __pyx_ptype_4cuda_4cuda_GLenum __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_GLenum
#define __pyx_ptype_4cuda_4cuda_GLuint __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_GLuint
#define __pyx_ptype_4cuda_4cuda_EGLint __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_EGLint
#define __pyx_ptype_4cuda_4cuda_VdpDevice __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_VdpDevice
#define __pyx_ptype_4cuda_4cuda_VdpGetProcAddress __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_VdpGetProcAddress
#define __pyx_ptype_4cuda_4cuda_VdpVideoSurface __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_VdpVideoSurface
#define __pyx_ptype_4cuda_4cuda_VdpOutputSurface __pyx_mstate_global->__pyx_ptype_4cuda_4cuda_VdpOutputSurface
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct__genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct__genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_1_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_1_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_2_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_2_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_3_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_3_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_4_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_4_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_5_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_5_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_6_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_6_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_7_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_7_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_8_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_8_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_9_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_9_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_10_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_10_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_11_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_11_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_12_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_12_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_13_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_13_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_14_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_14_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_15_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_15_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_16_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_16_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_17_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_17_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_18_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_18_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_19_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_19_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_20_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_20_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_21_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_21_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_22_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_22_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_23_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_23_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_24_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_24_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_25_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_25_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_26_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_26_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_27_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_27_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_28_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_28_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_29_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_29_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_30_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_30_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_31_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_31_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_32_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_32_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_33_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_33_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_34_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_34_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_35_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_35_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_36_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_36_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_37_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_37_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_38_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_38_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_39_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_39_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_40_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_40_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_41_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_41_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_42_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_42_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_43_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_43_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_44_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_44_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_45_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_45_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_46_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_46_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_47_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_47_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_48_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_48_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_49_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_49_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_50_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_50_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_51_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_51_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_52_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_52_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_53_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_53_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_54_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_54_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_55_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_55_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_56_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_56_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_57_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_57_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_58_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_58_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_59_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_59_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_60_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_60_genexpr
#define __pyx_ptype_4cuda_4cuda___pyx_scope_struct_61_genexpr __pyx_mstate_global->__pyx_ptype_4cuda_4cuda___pyx_scope_struct_61_genexpr
#define __pyx_kp_u_ __pyx_mstate_global->__pyx_kp_u_
#define __pyx_kp_s_Access_flags_that_specify_the_l __pyx_mstate_global->__pyx_kp_s_Access_flags_that_specify_the_l
#define __pyx_n_s_Any __pyx_mstate_global->__pyx_n_s_Any
#define __pyx_kp_u_Argument_attributes_is_not_insta __pyx_mstate_global->__pyx_kp_u_Argument_attributes_is_not_insta
#define __pyx_kp_u_Argument_attributes_is_not_insta_2 __pyx_mstate_global->__pyx_kp_u_Argument_attributes_is_not_insta_2
#define __pyx_kp_u_Argument_boxDim_is_not_instance __pyx_mstate_global->__pyx_kp_u_Argument_boxDim_is_not_instance
#define __pyx_kp_u_Argument_conn_is_not_instance_of __pyx_mstate_global->__pyx_kp_u_Argument_conn_is_not_instance_of
#define __pyx_kp_u_Argument_dataSizes_is_not_instan __pyx_mstate_global->__pyx_kp_u_Argument_dataSizes_is_not_instan
#define __pyx_kp_u_Argument_dependencies_is_not_ins __pyx_mstate_global->__pyx_kp_u_Argument_dependencies_is_not_ins
#define __pyx_kp_u_Argument_dependencyData_is_not_i __pyx_mstate_global->__pyx_kp_u_Argument_dependencyData_is_not_i
#define __pyx_kp_u_Argument_desc_is_not_instance_of __pyx_mstate_global->__pyx_kp_u_Argument_desc_is_not_instance_of
#define __pyx_kp_u_Argument_edgeData_is_not_instanc __pyx_mstate_global->__pyx_kp_u_Argument_edgeData_is_not_instanc
#define __pyx_kp_u_Argument_elementStrides_is_not_i __pyx_mstate_global->__pyx_kp_u_Argument_elementStrides_is_not_i
#define __pyx_kp_u_Argument_extSemArray_is_not_inst __pyx_mstate_global->__pyx_kp_u_Argument_extSemArray_is_not_inst
#define __pyx_kp_u_Argument_from__is_not_instance_o __pyx_mstate_global->__pyx_kp_u_Argument_from__is_not_instance_o
#define __pyx_kp_u_Argument_globalDim_is_not_instan __pyx_mstate_global->__pyx_kp_u_Argument_globalDim_is_not_instan
#define __pyx_kp_u_Argument_globalStrides_is_not_in __pyx_mstate_global->__pyx_kp_u_Argument_globalStrides_is_not_in
#define __pyx_kp_u_Argument_jitOptions_is_not_insta __pyx_mstate_global->__pyx_kp_u_Argument_jitOptions_is_not_insta
#define __pyx_kp_u_Argument_launchParamsList_is_not __pyx_mstate_global->__pyx_kp_u_Argument_launchParamsList_is_not
#define __pyx_kp_u_Argument_libraryOptions_is_not_i __pyx_mstate_global->__pyx_kp_u_Argument_libraryOptions_is_not_i
#define __pyx_kp_u_Argument_mapInfoList_is_not_inst __pyx_mstate_global->__pyx_kp_u_Argument_mapInfoList_is_not_inst
#define __pyx_kp_u_Argument_map_is_not_instance_of __pyx_mstate_global->__pyx_kp_u_Argument_map_is_not_instance_of
#define __pyx_kp_u_Argument_options_is_not_instance __pyx_mstate_global->__pyx_kp_u_Argument_options_is_not_instance
#define __pyx_kp_u_Argument_pCudaResource_is_not_in __pyx_mstate_global->__pyx_kp_u_Argument_pCudaResource_is_not_in
#define __pyx_kp_u_Argument_pStream_is_not_instance __pyx_mstate_global->__pyx_kp_u_Argument_pStream_is_not_instance
#define __pyx_kp_u_Argument_paramArray_is_not_insta __pyx_mstate_global->__pyx_kp_u_Argument_paramArray_is_not_insta
#define __pyx_kp_u_Argument_paramsArray_is_not_inst __pyx_mstate_global->__pyx_kp_u_Argument_paramsArray_is_not_inst
#define __pyx_kp_u_Argument_paramsArray_is_not_inst_2 __pyx_mstate_global->__pyx_kp_u_Argument_paramsArray_is_not_inst_2
#define __pyx_kp_u_Argument_paramsArray_is_not_inst_3 __pyx_mstate_global->__pyx_kp_u_Argument_paramsArray_is_not_inst_3
#define __pyx_kp_u_Argument_pixelBoxLowerCorner_is __pyx_mstate_global->__pyx_kp_u_Argument_pixelBoxLowerCorner_is
#define __pyx_kp_u_Argument_pixelBoxUpperCorner_is __pyx_mstate_global->__pyx_kp_u_Argument_pixelBoxUpperCorner_is
#define __pyx_kp_u_Argument_resources_is_not_instan __pyx_mstate_global->__pyx_kp_u_Argument_resources_is_not_instan
#define __pyx_kp_u_Argument_resources_is_not_instan_2 __pyx_mstate_global->__pyx_kp_u_Argument_resources_is_not_instan_2
#define __pyx_kp_u_Argument_to_is_not_instance_of_t __pyx_mstate_global->__pyx_kp_u_Argument_to_is_not_instance_of_t
#define __pyx_kp_u_Argument_vdpGetProcAddress_is_no __pyx_mstate_global->__pyx_kp_u_Argument_vdpGetProcAddress_is_no
#define __pyx_kp_s_Array_formats __pyx_mstate_global->__pyx_kp_s_Array_formats
#define __pyx_kp_s_Array_indices_for_cube_faces __pyx_mstate_global->__pyx_kp_s_Array_indices_for_cube_faces
#define __pyx_kp_s_Bitmasks_for_py_obj_CU_DEVICE_A __pyx_mstate_global->__pyx_kp_s_Bitmasks_for_py_obj_CU_DEVICE_A
#define __pyx_n_s_ByteCount __pyx_mstate_global->__pyx_n_s_ByteCount
#define __pyx_n_s_ByteOffset __pyx_mstate_global->__pyx_n_s_ByteOffset
#define __pyx_n_s_CUDA_ARRAY3D_2DARRAY __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY3D_2DARRAY
#define __pyx_n_s_CUDA_ARRAY3D_COLOR_ATTACHMENT __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY3D_COLOR_ATTACHMENT
#define __pyx_n_s_CUDA_ARRAY3D_CUBEMAP __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY3D_CUBEMAP
#define __pyx_n_s_CUDA_ARRAY3D_DEFERRED_MAPPING __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY3D_DEFERRED_MAPPING
#define __pyx_n_s_CUDA_ARRAY3D_DEPTH_TEXTURE __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY3D_DEPTH_TEXTURE
#define __pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR
#define __pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st
#define __pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st___red __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st___red
#define __pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st___set __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st___set
#define __pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st_getPt __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st_getPt
#define __pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_v2 __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_v2
#define __pyx_n_s_CUDA_ARRAY3D_LAYERED __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY3D_LAYERED
#define __pyx_n_s_CUDA_ARRAY3D_SPARSE __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY3D_SPARSE
#define __pyx_n_s_CUDA_ARRAY3D_SURFACE_LDST __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY3D_SURFACE_LDST
#define __pyx_n_s_CUDA_ARRAY3D_TEXTURE_GATHER __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY3D_TEXTURE_GATHER
#define __pyx_n_s_CUDA_ARRAY_DESCRIPTOR __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR
#define __pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st
#define __pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st___reduc __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st___reduc
#define __pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st___setst __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st___setst
#define __pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st_getPtr __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st_getPtr
#define __pyx_n_s_CUDA_ARRAY_DESCRIPTOR_v2 __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_v2
#define __pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS
#define __pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s
#define __pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_2 __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_2
#define __pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_3 __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_3
#define __pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_4 __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_4
#define __pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_v __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_v
#define __pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES
#define __pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st
#define __pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_2 __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_2
#define __pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_3 __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_3
#define __pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_4 __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_4
#define __pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_v1 __pyx_mstate_global->__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_v1
#define __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS __pyx_mstate_global->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS
#define __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1
#define __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_2 __pyx_mstate_global->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_2
#define __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_3 __pyx_mstate_global->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_3
#define __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_4 __pyx_mstate_global->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_4
#define __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_5 __pyx_mstate_global->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_5
#define __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2
#define __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_2 __pyx_mstate_global->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_2
#define __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_3 __pyx_mstate_global->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_3
#define __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_4 __pyx_mstate_global->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_4
#define __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_5 __pyx_mstate_global->__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_5
#define __pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS __pyx_mstate_global->__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS
#define __pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st __pyx_mstate_global->__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st
#define __pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_2 __pyx_mstate_global->__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_2
#define __pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_3 __pyx_mstate_global->__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_3
#define __pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_4 __pyx_mstate_global->__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_4
#define __pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS __pyx_mstate_global->__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS
#define __pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS___r __pyx_mstate_global->__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS___r
#define __pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS___s __pyx_mstate_global->__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS___s
#define __pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS_get __pyx_mstate_global->__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS_get
#define __pyx_n_s_CUDA_COOPERATIVE_LAUNCH_MULTI_DE __pyx_mstate_global->__pyx_n_s_CUDA_COOPERATIVE_LAUNCH_MULTI_DE
#define __pyx_n_s_CUDA_COOPERATIVE_LAUNCH_MULTI_DE_2 __pyx_mstate_global->__pyx_n_s_CUDA_COOPERATIVE_LAUNCH_MULTI_DE_2
#define __pyx_kp_s_CUDA_EGL_Color_Format_The_diffe __pyx_mstate_global->__pyx_kp_s_CUDA_EGL_Color_Format_The_diffe
#define __pyx_n_s_CUDA_EGL_INFINITE_TIMEOUT __pyx_mstate_global->__pyx_n_s_CUDA_EGL_INFINITE_TIMEOUT
#define __pyx_n_s_CUDA_ERROR_ALREADY_ACQUIRED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_ALREADY_ACQUIRED
#define __pyx_n_s_CUDA_ERROR_ALREADY_MAPPED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_ALREADY_MAPPED
#define __pyx_n_s_CUDA_ERROR_ARRAY_IS_MAPPED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_ARRAY_IS_MAPPED
#define __pyx_n_s_CUDA_ERROR_ASSERT __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_ASSERT
#define __pyx_n_s_CUDA_ERROR_CAPTURED_EVENT __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_CAPTURED_EVENT
#define __pyx_n_s_CUDA_ERROR_CDP_NOT_SUPPORTED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_CDP_NOT_SUPPORTED
#define __pyx_n_s_CUDA_ERROR_CDP_VERSION_MISMATCH __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_CDP_VERSION_MISMATCH
#define __pyx_n_s_CUDA_ERROR_COMPAT_NOT_SUPPORTED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_COMPAT_NOT_SUPPORTED
#define __pyx_n_s_CUDA_ERROR_CONTEXT_ALREADY_CURRE __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_CONTEXT_ALREADY_CURRE
#define __pyx_n_s_CUDA_ERROR_CONTEXT_ALREADY_IN_US __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_CONTEXT_ALREADY_IN_US
#define __pyx_n_s_CUDA_ERROR_CONTEXT_IS_DESTROYED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_CONTEXT_IS_DESTROYED
#define __pyx_n_s_CUDA_ERROR_COOPERATIVE_LAUNCH_TO __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_COOPERATIVE_LAUNCH_TO
#define __pyx_n_s_CUDA_ERROR_DEINITIALIZED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_DEINITIALIZED
#define __pyx_n_s_CUDA_ERROR_DEVICE_NOT_LICENSED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_DEVICE_NOT_LICENSED
#define __pyx_n_s_CUDA_ERROR_DEVICE_UNAVAILABLE __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_DEVICE_UNAVAILABLE
#define __pyx_n_s_CUDA_ERROR_ECC_UNCORRECTABLE __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_ECC_UNCORRECTABLE
#define __pyx_n_s_CUDA_ERROR_EXTERNAL_DEVICE __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_EXTERNAL_DEVICE
#define __pyx_n_s_CUDA_ERROR_FILE_NOT_FOUND __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_FILE_NOT_FOUND
#define __pyx_n_s_CUDA_ERROR_FUNCTION_NOT_LOADED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_FUNCTION_NOT_LOADED
#define __pyx_n_s_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAI __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAI
#define __pyx_n_s_CUDA_ERROR_HARDWARE_STACK_ERROR __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_HARDWARE_STACK_ERROR
#define __pyx_n_s_CUDA_ERROR_HOST_MEMORY_ALREADY_R __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_HOST_MEMORY_ALREADY_R
#define __pyx_n_s_CUDA_ERROR_HOST_MEMORY_NOT_REGIS __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_HOST_MEMORY_NOT_REGIS
#define __pyx_n_s_CUDA_ERROR_ILLEGAL_ADDRESS __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_ILLEGAL_ADDRESS
#define __pyx_n_s_CUDA_ERROR_ILLEGAL_INSTRUCTION __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_ILLEGAL_INSTRUCTION
#define __pyx_n_s_CUDA_ERROR_ILLEGAL_STATE __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_ILLEGAL_STATE
#define __pyx_n_s_CUDA_ERROR_INVALID_ADDRESS_SPACE __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_INVALID_ADDRESS_SPACE
#define __pyx_n_s_CUDA_ERROR_INVALID_CLUSTER_SIZE __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_INVALID_CLUSTER_SIZE
#define __pyx_n_s_CUDA_ERROR_INVALID_CONTEXT __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_INVALID_CONTEXT
#define __pyx_n_s_CUDA_ERROR_INVALID_DEVICE __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_INVALID_DEVICE
#define __pyx_n_s_CUDA_ERROR_INVALID_GRAPHICS_CONT __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_INVALID_GRAPHICS_CONT
#define __pyx_n_s_CUDA_ERROR_INVALID_HANDLE __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_INVALID_HANDLE
#define __pyx_n_s_CUDA_ERROR_INVALID_IMAGE __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_INVALID_IMAGE
#define __pyx_n_s_CUDA_ERROR_INVALID_PC __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_INVALID_PC
#define __pyx_n_s_CUDA_ERROR_INVALID_PTX __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_INVALID_PTX
#define __pyx_n_s_CUDA_ERROR_INVALID_RESOURCE_CONF __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_INVALID_RESOURCE_CONF
#define __pyx_n_s_CUDA_ERROR_INVALID_RESOURCE_TYPE __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_INVALID_RESOURCE_TYPE
#define __pyx_n_s_CUDA_ERROR_INVALID_SOURCE __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_INVALID_SOURCE
#define __pyx_n_s_CUDA_ERROR_INVALID_VALUE __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_INVALID_VALUE
#define __pyx_n_s_CUDA_ERROR_JIT_COMPILATION_DISAB __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_JIT_COMPILATION_DISAB
#define __pyx_n_s_CUDA_ERROR_JIT_COMPILER_NOT_FOUN __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_JIT_COMPILER_NOT_FOUN
#define __pyx_n_s_CUDA_ERROR_LAUNCH_FAILED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_LAUNCH_FAILED
#define __pyx_n_s_CUDA_ERROR_LAUNCH_INCOMPATIBLE_T __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_LAUNCH_INCOMPATIBLE_T
#define __pyx_n_s_CUDA_ERROR_LAUNCH_OUT_OF_RESOURC __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_LAUNCH_OUT_OF_RESOURC
#define __pyx_n_s_CUDA_ERROR_LAUNCH_TIMEOUT __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_LAUNCH_TIMEOUT
#define __pyx_n_s_CUDA_ERROR_LOSSY_QUERY __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_LOSSY_QUERY
#define __pyx_n_s_CUDA_ERROR_MAP_FAILED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_MAP_FAILED
#define __pyx_n_s_CUDA_ERROR_MISALIGNED_ADDRESS __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_MISALIGNED_ADDRESS
#define __pyx_n_s_CUDA_ERROR_MPS_CLIENT_TERMINATED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_MPS_CLIENT_TERMINATED
#define __pyx_n_s_CUDA_ERROR_MPS_CONNECTION_FAILED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_MPS_CONNECTION_FAILED
#define __pyx_n_s_CUDA_ERROR_MPS_MAX_CLIENTS_REACH __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_MPS_MAX_CLIENTS_REACH
#define __pyx_n_s_CUDA_ERROR_MPS_MAX_CONNECTIONS_R __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_MPS_MAX_CONNECTIONS_R
#define __pyx_n_s_CUDA_ERROR_MPS_RPC_FAILURE __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_MPS_RPC_FAILURE
#define __pyx_n_s_CUDA_ERROR_MPS_SERVER_NOT_READY __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_MPS_SERVER_NOT_READY
#define __pyx_n_s_CUDA_ERROR_NOT_FOUND __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_NOT_FOUND
#define __pyx_n_s_CUDA_ERROR_NOT_INITIALIZED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_NOT_INITIALIZED
#define __pyx_n_s_CUDA_ERROR_NOT_MAPPED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_NOT_MAPPED
#define __pyx_n_s_CUDA_ERROR_NOT_MAPPED_AS_ARRAY __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_NOT_MAPPED_AS_ARRAY
#define __pyx_n_s_CUDA_ERROR_NOT_MAPPED_AS_POINTER __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_NOT_MAPPED_AS_POINTER
#define __pyx_n_s_CUDA_ERROR_NOT_PERMITTED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_NOT_PERMITTED
#define __pyx_n_s_CUDA_ERROR_NOT_READY __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_NOT_READY
#define __pyx_n_s_CUDA_ERROR_NOT_SUPPORTED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_NOT_SUPPORTED
#define __pyx_n_s_CUDA_ERROR_NO_BINARY_FOR_GPU __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_NO_BINARY_FOR_GPU
#define __pyx_n_s_CUDA_ERROR_NO_DEVICE __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_NO_DEVICE
#define __pyx_n_s_CUDA_ERROR_NVLINK_UNCORRECTABLE __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_NVLINK_UNCORRECTABLE
#define __pyx_n_s_CUDA_ERROR_OPERATING_SYSTEM __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_OPERATING_SYSTEM
#define __pyx_n_s_CUDA_ERROR_OUT_OF_MEMORY __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_OUT_OF_MEMORY
#define __pyx_n_s_CUDA_ERROR_PEER_ACCESS_ALREADY_E __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_PEER_ACCESS_ALREADY_E
#define __pyx_n_s_CUDA_ERROR_PEER_ACCESS_NOT_ENABL __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_PEER_ACCESS_NOT_ENABL
#define __pyx_n_s_CUDA_ERROR_PEER_ACCESS_UNSUPPORT __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_PEER_ACCESS_UNSUPPORT
#define __pyx_n_s_CUDA_ERROR_PRIMARY_CONTEXT_ACTIV __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_PRIMARY_CONTEXT_ACTIV
#define __pyx_n_s_CUDA_ERROR_PROFILER_ALREADY_STAR __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_PROFILER_ALREADY_STAR
#define __pyx_n_s_CUDA_ERROR_PROFILER_ALREADY_STOP __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_PROFILER_ALREADY_STOP
#define __pyx_n_s_CUDA_ERROR_PROFILER_DISABLED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_PROFILER_DISABLED
#define __pyx_n_s_CUDA_ERROR_PROFILER_NOT_INITIALI __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_PROFILER_NOT_INITIALI
#define __pyx_n_s_CUDA_ERROR_SHARED_OBJECT_INIT_FA __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_SHARED_OBJECT_INIT_FA
#define __pyx_n_s_CUDA_ERROR_SHARED_OBJECT_SYMBOL __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_SHARED_OBJECT_SYMBOL
#define __pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_IMPLIC __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_IMPLIC
#define __pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_INVALI __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_INVALI
#define __pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_ISOLAT __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_ISOLAT
#define __pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_MERGE __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_MERGE
#define __pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNJOIN __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNJOIN
#define __pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNMATC __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNMATC
#define __pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNSUPP __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNSUPP
#define __pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_WRONG __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_WRONG
#define __pyx_n_s_CUDA_ERROR_STUB_LIBRARY __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_STUB_LIBRARY
#define __pyx_n_s_CUDA_ERROR_SYSTEM_DRIVER_MISMATC __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_SYSTEM_DRIVER_MISMATC
#define __pyx_n_s_CUDA_ERROR_SYSTEM_NOT_READY __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_SYSTEM_NOT_READY
#define __pyx_n_s_CUDA_ERROR_TIMEOUT __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_TIMEOUT
#define __pyx_n_s_CUDA_ERROR_TOO_MANY_PEERS __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_TOO_MANY_PEERS
#define __pyx_n_s_CUDA_ERROR_UNKNOWN __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_UNKNOWN
#define __pyx_n_s_CUDA_ERROR_UNMAP_FAILED __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_UNMAP_FAILED
#define __pyx_n_s_CUDA_ERROR_UNSUPPORTED_DEVSIDE_S __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_UNSUPPORTED_DEVSIDE_S
#define __pyx_n_s_CUDA_ERROR_UNSUPPORTED_EXEC_AFFI __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_UNSUPPORTED_EXEC_AFFI
#define __pyx_n_s_CUDA_ERROR_UNSUPPORTED_LIMIT __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_UNSUPPORTED_LIMIT
#define __pyx_n_s_CUDA_ERROR_UNSUPPORTED_PTX_VERSI __pyx_mstate_global->__pyx_n_s_CUDA_ERROR_UNSUPPORTED_PTX_VERSI
#define __pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS __pyx_mstate_global->__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS
#define __pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st __pyx_mstate_global->__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st
#define __pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_2 __pyx_mstate_global->__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_2
#define __pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_3 __pyx_mstate_global->__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_3
#define __pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_4 __pyx_mstate_global->__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_4
#define __pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS __pyx_mstate_global->__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS
#define __pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st __pyx_mstate_global->__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st
#define __pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_2 __pyx_mstate_global->__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_2
#define __pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_3 __pyx_mstate_global->__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_3
#define __pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_g __pyx_mstate_global->__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_g
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_2 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_2
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_3 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_3
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_4 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_4
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_5 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_5
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_6 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_6
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_DEDICATED __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_DEDICATED
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_2 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_2
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_3 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_3
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_4 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_4
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_5 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_5
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_6 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_6
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_2 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_2
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_3 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_3
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_4 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_4
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_5 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_5
#define __pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_6 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_6
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_2 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_2
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_3 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_3
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_4 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_4
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_5 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_5
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_6 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_6
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_2 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_2
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_3 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_3
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_4 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_4
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_5 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_5
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_6 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_6
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_S __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_S
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_2 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_2
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_3 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_3
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_4 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_4
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_5 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_5
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_6 __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_6
#define __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKI __pyx_mstate_global->__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKI
#define __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS
#define __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_10 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_10
#define __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_11 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_11
#define __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_2 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_2
#define __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_3 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_3
#define __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_4 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_4
#define __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_5 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_5
#define __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_6 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_6
#define __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_7 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_7
#define __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_8 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_8
#define __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_9 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_9
#define __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS
#define __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st
#define __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2
#define __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3
#define __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4
#define __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1
#define __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2
#define __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_2 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_2
#define __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_3 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_3
#define __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_4 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_4
#define __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_5 __pyx_mstate_global->__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_5
#define __pyx_kp_s_CUDA_EglFrame_type_array_or_poi __pyx_mstate_global->__pyx_kp_s_CUDA_EglFrame_type_array_or_poi
#define __pyx_n_s_CUDA_GRAPH_INSTANTIATE_ERROR __pyx_mstate_global->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_ERROR
#define __pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO __pyx_mstate_global->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO
#define __pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_DEVI __pyx_mstate_global->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_DEVI
#define __pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_UPLO __pyx_mstate_global->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_UPLO
#define __pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_USE __pyx_mstate_global->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_USE
#define __pyx_n_s_CUDA_GRAPH_INSTANTIATE_INVALID_S __pyx_mstate_global->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_INVALID_S
#define __pyx_n_s_CUDA_GRAPH_INSTANTIATE_MULTIPLE __pyx_mstate_global->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_MULTIPLE
#define __pyx_n_s_CUDA_GRAPH_INSTANTIATE_NODE_OPER __pyx_mstate_global->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_NODE_OPER
#define __pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS __pyx_mstate_global->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS
#define __pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st __pyx_mstate_global->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st
#define __pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_2 __pyx_mstate_global->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_2
#define __pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_3 __pyx_mstate_global->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_3
#define __pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_4 __pyx_mstate_global->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_4
#define __pyx_n_s_CUDA_GRAPH_INSTANTIATE_SUCCESS __pyx_mstate_global->__pyx_n_s_CUDA_GRAPH_INSTANTIATE_SUCCESS
#define __pyx_kp_s_CUDA_Graph_Update_error_types __pyx_mstate_global->__pyx_kp_s_CUDA_Graph_Update_error_types
#define __pyx_n_s_CUDA_HOST_NODE_PARAMS __pyx_mstate_global->__pyx_n_s_CUDA_HOST_NODE_PARAMS
#define __pyx_n_s_CUDA_HOST_NODE_PARAMS_st __pyx_mstate_global->__pyx_n_s_CUDA_HOST_NODE_PARAMS_st
#define __pyx_n_s_CUDA_HOST_NODE_PARAMS_st___reduc __pyx_mstate_global->__pyx_n_s_CUDA_HOST_NODE_PARAMS_st___reduc
#define __pyx_n_s_CUDA_HOST_NODE_PARAMS_st___setst __pyx_mstate_global->__pyx_n_s_CUDA_HOST_NODE_PARAMS_st___setst
#define __pyx_n_s_CUDA_HOST_NODE_PARAMS_st_getPtr __pyx_mstate_global->__pyx_n_s_CUDA_HOST_NODE_PARAMS_st_getPtr
#define __pyx_n_s_CUDA_HOST_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v1
#define __pyx_n_s_CUDA_HOST_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2
#define __pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st
#define __pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st___re __pyx_mstate_global->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st___re
#define __pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st___se __pyx_mstate_global->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st___se
#define __pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st_getP __pyx_mstate_global->__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st_getP
#define __pyx_kp_s_CUDA_Ipc_Mem_Flags __pyx_mstate_global->__pyx_kp_s_CUDA_Ipc_Mem_Flags
#define __pyx_n_s_CUDA_KERNEL_NODE_PARAMS __pyx_mstate_global->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS
#define __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st __pyx_mstate_global->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st
#define __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st___red __pyx_mstate_global->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st___red
#define __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st___set __pyx_mstate_global->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st___set
#define __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st_getPt __pyx_mstate_global->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st_getPt
#define __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v1
#define __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2
#define __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st
#define __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_2 __pyx_mstate_global->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_2
#define __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_3 __pyx_mstate_global->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_3
#define __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_ge __pyx_mstate_global->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_ge
#define __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3 __pyx_mstate_global->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3
#define __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st __pyx_mstate_global->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st
#define __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_2 __pyx_mstate_global->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_2
#define __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_3 __pyx_mstate_global->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_3
#define __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_ge __pyx_mstate_global->__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_ge
#define __pyx_n_s_CUDA_LAUNCH_PARAMS __pyx_mstate_global->__pyx_n_s_CUDA_LAUNCH_PARAMS
#define __pyx_n_s_CUDA_LAUNCH_PARAMS_st __pyx_mstate_global->__pyx_n_s_CUDA_LAUNCH_PARAMS_st
#define __pyx_n_s_CUDA_LAUNCH_PARAMS_st___reduce_c __pyx_mstate_global->__pyx_n_s_CUDA_LAUNCH_PARAMS_st___reduce_c
#define __pyx_n_s_CUDA_LAUNCH_PARAMS_st___setstate __pyx_mstate_global->__pyx_n_s_CUDA_LAUNCH_PARAMS_st___setstate
#define __pyx_n_s_CUDA_LAUNCH_PARAMS_st_getPtr __pyx_mstate_global->__pyx_n_s_CUDA_LAUNCH_PARAMS_st_getPtr
#define __pyx_n_s_CUDA_LAUNCH_PARAMS_v1 __pyx_mstate_global->__pyx_n_s_CUDA_LAUNCH_PARAMS_v1
#define __pyx_kp_s_CUDA_Lazy_Loading_status __pyx_mstate_global->__pyx_kp_s_CUDA_Lazy_Loading_status
#define __pyx_n_s_CUDA_MEMCPY2D __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY2D
#define __pyx_n_s_CUDA_MEMCPY2D_st __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY2D_st
#define __pyx_n_s_CUDA_MEMCPY2D_st___reduce_cython __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY2D_st___reduce_cython
#define __pyx_n_s_CUDA_MEMCPY2D_st___setstate_cyth __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY2D_st___setstate_cyth
#define __pyx_n_s_CUDA_MEMCPY2D_st_getPtr __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY2D_st_getPtr
#define __pyx_n_s_CUDA_MEMCPY2D_v2 __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY2D_v2
#define __pyx_n_s_CUDA_MEMCPY3D __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY3D
#define __pyx_n_s_CUDA_MEMCPY3D_PEER __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY3D_PEER
#define __pyx_n_s_CUDA_MEMCPY3D_PEER_st __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY3D_PEER_st
#define __pyx_n_s_CUDA_MEMCPY3D_PEER_st___reduce_c __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY3D_PEER_st___reduce_c
#define __pyx_n_s_CUDA_MEMCPY3D_PEER_st___setstate __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY3D_PEER_st___setstate
#define __pyx_n_s_CUDA_MEMCPY3D_PEER_st_getPtr __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY3D_PEER_st_getPtr
#define __pyx_n_s_CUDA_MEMCPY3D_PEER_v1 __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY3D_PEER_v1
#define __pyx_n_s_CUDA_MEMCPY3D_st __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY3D_st
#define __pyx_n_s_CUDA_MEMCPY3D_st___reduce_cython __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY3D_st___reduce_cython
#define __pyx_n_s_CUDA_MEMCPY3D_st___setstate_cyth __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY3D_st___setstate_cyth
#define __pyx_n_s_CUDA_MEMCPY3D_st_getPtr __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY3D_st_getPtr
#define __pyx_n_s_CUDA_MEMCPY3D_v2 __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY3D_v2
#define __pyx_n_s_CUDA_MEMCPY_NODE_PARAMS __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS
#define __pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st
#define __pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st___red __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st___red
#define __pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st___set __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st___set
#define __pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st_getPt __pyx_mstate_global->__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st_getPt
#define __pyx_n_s_CUDA_MEMSET_NODE_PARAMS __pyx_mstate_global->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS
#define __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st __pyx_mstate_global->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st
#define __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st___red __pyx_mstate_global->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st___red
#define __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st___set __pyx_mstate_global->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st___set
#define __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st_getPt __pyx_mstate_global->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st_getPt
#define __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v1
#define __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2
#define __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st
#define __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_2 __pyx_mstate_global->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_2
#define __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_3 __pyx_mstate_global->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_3
#define __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_ge __pyx_mstate_global->__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_ge
#define __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS __pyx_mstate_global->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS
#define __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1 __pyx_mstate_global->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1
#define __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st __pyx_mstate_global->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st
#define __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2 __pyx_mstate_global->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2
#define __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3 __pyx_mstate_global->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3
#define __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4 __pyx_mstate_global->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4
#define __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2 __pyx_mstate_global->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2
#define __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st __pyx_mstate_global->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st
#define __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2 __pyx_mstate_global->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2
#define __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3 __pyx_mstate_global->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3
#define __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4 __pyx_mstate_global->__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4
#define __pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS __pyx_mstate_global->__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS
#define __pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st __pyx_mstate_global->__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st
#define __pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st___r __pyx_mstate_global->__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st___r
#define __pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st___s __pyx_mstate_global->__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st___s
#define __pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st_get __pyx_mstate_global->__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st_get
#define __pyx_kp_s_CUDA_Mem_Attach_Flags __pyx_mstate_global->__pyx_kp_s_CUDA_Mem_Attach_Flags
#define __pyx_n_s_CUDA_NVSCISYNC_ATTR_SIGNAL __pyx_mstate_global->__pyx_n_s_CUDA_NVSCISYNC_ATTR_SIGNAL
#define __pyx_n_s_CUDA_NVSCISYNC_ATTR_WAIT __pyx_mstate_global->__pyx_n_s_CUDA_NVSCISYNC_ATTR_WAIT
#define __pyx_n_s_CUDA_POINTER_ATTRIBUTE_ACCESS_FL __pyx_mstate_global->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_ACCESS_FL
#define __pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN __pyx_mstate_global->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN
#define __pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_2 __pyx_mstate_global->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_2
#define __pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_3 __pyx_mstate_global->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_3
#define __pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_4 __pyx_mstate_global->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_4
#define __pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_5 __pyx_mstate_global->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_5
#define __pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_6 __pyx_mstate_global->__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_6
#define __pyx_n_s_CUDA_RESOURCE_DESC __pyx_mstate_global->__pyx_n_s_CUDA_RESOURCE_DESC
#define __pyx_n_s_CUDA_RESOURCE_DESC_st __pyx_mstate_global->__pyx_n_s_CUDA_RESOURCE_DESC_st
#define __pyx_n_s_CUDA_RESOURCE_DESC_st___reduce_c __pyx_mstate_global->__pyx_n_s_CUDA_RESOURCE_DESC_st___reduce_c
#define __pyx_n_s_CUDA_RESOURCE_DESC_st___setstate __pyx_mstate_global->__pyx_n_s_CUDA_RESOURCE_DESC_st___setstate
#define __pyx_n_s_CUDA_RESOURCE_DESC_st_getPtr __pyx_mstate_global->__pyx_n_s_CUDA_RESOURCE_DESC_st_getPtr
#define __pyx_n_s_CUDA_RESOURCE_DESC_v1 __pyx_mstate_global->__pyx_n_s_CUDA_RESOURCE_DESC_v1
#define __pyx_n_s_CUDA_RESOURCE_VIEW_DESC __pyx_mstate_global->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC
#define __pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st __pyx_mstate_global->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st
#define __pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st___red __pyx_mstate_global->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st___red
#define __pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st___set __pyx_mstate_global->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st___set
#define __pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st_getPt __pyx_mstate_global->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st_getPt
#define __pyx_n_s_CUDA_RESOURCE_VIEW_DESC_v1 __pyx_mstate_global->__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_v1
#define __pyx_n_s_CUDA_SUCCESS __pyx_mstate_global->__pyx_n_s_CUDA_SUCCESS
#define __pyx_n_s_CUDA_TEXTURE_DESC __pyx_mstate_global->__pyx_n_s_CUDA_TEXTURE_DESC
#define __pyx_n_s_CUDA_TEXTURE_DESC_st __pyx_mstate_global->__pyx_n_s_CUDA_TEXTURE_DESC_st
#define __pyx_n_s_CUDA_TEXTURE_DESC_st___reduce_cy __pyx_mstate_global->__pyx_n_s_CUDA_TEXTURE_DESC_st___reduce_cy
#define __pyx_n_s_CUDA_TEXTURE_DESC_st___setstate __pyx_mstate_global->__pyx_n_s_CUDA_TEXTURE_DESC_st___setstate
#define __pyx_n_s_CUDA_TEXTURE_DESC_st_getPtr __pyx_mstate_global->__pyx_n_s_CUDA_TEXTURE_DESC_st_getPtr
#define __pyx_n_s_CUDA_TEXTURE_DESC_v1 __pyx_mstate_global->__pyx_n_s_CUDA_TEXTURE_DESC_v1
#define __pyx_n_s_CUDA_VERSION __pyx_mstate_global->__pyx_n_s_CUDA_VERSION
#define __pyx_kp_s_CUDA_devices_corresponding_to_a __pyx_mstate_global->__pyx_kp_s_CUDA_devices_corresponding_to_a
#define __pyx_kp_s_CUDA_memory_pool_attributes __pyx_mstate_global->__pyx_kp_s_CUDA_memory_pool_attributes
#define __pyx_n_s_CUGLDeviceList __pyx_mstate_global->__pyx_n_s_CUGLDeviceList
#define __pyx_n_s_CUGLmap_flags __pyx_mstate_global->__pyx_n_s_CUGLmap_flags
#define __pyx_n_s_CUGPUDirectRDMAWritesOrdering __pyx_mstate_global->__pyx_n_s_CUGPUDirectRDMAWritesOrdering
#define __pyx_n_s_CU_ACCESS_PROPERTY_NORMAL __pyx_mstate_global->__pyx_n_s_CU_ACCESS_PROPERTY_NORMAL
#define __pyx_n_s_CU_ACCESS_PROPERTY_PERSISTING __pyx_mstate_global->__pyx_n_s_CU_ACCESS_PROPERTY_PERSISTING
#define __pyx_n_s_CU_ACCESS_PROPERTY_STREAMING __pyx_mstate_global->__pyx_n_s_CU_ACCESS_PROPERTY_STREAMING
#define __pyx_n_s_CU_AD_FORMAT_BC1_UNORM __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_BC1_UNORM
#define __pyx_n_s_CU_AD_FORMAT_BC1_UNORM_SRGB __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_BC1_UNORM_SRGB
#define __pyx_n_s_CU_AD_FORMAT_BC2_UNORM __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_BC2_UNORM
#define __pyx_n_s_CU_AD_FORMAT_BC2_UNORM_SRGB __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_BC2_UNORM_SRGB
#define __pyx_n_s_CU_AD_FORMAT_BC3_UNORM __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_BC3_UNORM
#define __pyx_n_s_CU_AD_FORMAT_BC3_UNORM_SRGB __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_BC3_UNORM_SRGB
#define __pyx_n_s_CU_AD_FORMAT_BC4_SNORM __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_BC4_SNORM
#define __pyx_n_s_CU_AD_FORMAT_BC4_UNORM __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_BC4_UNORM
#define __pyx_n_s_CU_AD_FORMAT_BC5_SNORM __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_BC5_SNORM
#define __pyx_n_s_CU_AD_FORMAT_BC5_UNORM __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_BC5_UNORM
#define __pyx_n_s_CU_AD_FORMAT_BC6H_SF16 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_BC6H_SF16
#define __pyx_n_s_CU_AD_FORMAT_BC6H_UF16 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_BC6H_UF16
#define __pyx_n_s_CU_AD_FORMAT_BC7_UNORM __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_BC7_UNORM
#define __pyx_n_s_CU_AD_FORMAT_BC7_UNORM_SRGB __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_BC7_UNORM_SRGB
#define __pyx_n_s_CU_AD_FORMAT_FLOAT __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_FLOAT
#define __pyx_n_s_CU_AD_FORMAT_HALF __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_HALF
#define __pyx_n_s_CU_AD_FORMAT_NV12 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_NV12
#define __pyx_n_s_CU_AD_FORMAT_SIGNED_INT16 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_SIGNED_INT16
#define __pyx_n_s_CU_AD_FORMAT_SIGNED_INT32 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_SIGNED_INT32
#define __pyx_n_s_CU_AD_FORMAT_SIGNED_INT8 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_SIGNED_INT8
#define __pyx_n_s_CU_AD_FORMAT_SNORM_INT16X1 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_SNORM_INT16X1
#define __pyx_n_s_CU_AD_FORMAT_SNORM_INT16X2 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_SNORM_INT16X2
#define __pyx_n_s_CU_AD_FORMAT_SNORM_INT16X4 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_SNORM_INT16X4
#define __pyx_n_s_CU_AD_FORMAT_SNORM_INT8X1 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_SNORM_INT8X1
#define __pyx_n_s_CU_AD_FORMAT_SNORM_INT8X2 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_SNORM_INT8X2
#define __pyx_n_s_CU_AD_FORMAT_SNORM_INT8X4 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_SNORM_INT8X4
#define __pyx_n_s_CU_AD_FORMAT_UNORM_INT16X1 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_UNORM_INT16X1
#define __pyx_n_s_CU_AD_FORMAT_UNORM_INT16X2 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_UNORM_INT16X2
#define __pyx_n_s_CU_AD_FORMAT_UNORM_INT16X4 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_UNORM_INT16X4
#define __pyx_n_s_CU_AD_FORMAT_UNORM_INT8X1 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_UNORM_INT8X1
#define __pyx_n_s_CU_AD_FORMAT_UNORM_INT8X2 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_UNORM_INT8X2
#define __pyx_n_s_CU_AD_FORMAT_UNORM_INT8X4 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_UNORM_INT8X4
#define __pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT16 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT16
#define __pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT32 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT32
#define __pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT8 __pyx_mstate_global->__pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT8
#define __pyx_n_s_CU_ARRAY_SPARSE_PROPERTIES_SINGL __pyx_mstate_global->__pyx_n_s_CU_ARRAY_SPARSE_PROPERTIES_SINGL
#define __pyx_n_s_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE __pyx_mstate_global->__pyx_n_s_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE
#define __pyx_n_s_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_2 __pyx_mstate_global->__pyx_n_s_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_2
#define __pyx_n_s_CU_ASYNC_NOTIFICATION_TYPE_OVER __pyx_mstate_global->__pyx_n_s_CU_ASYNC_NOTIFICATION_TYPE_OVER
#define __pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_DEF __pyx_mstate_global->__pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_DEF
#define __pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_LOA __pyx_mstate_global->__pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_LOA
#define __pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_SPR __pyx_mstate_global->__pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_SPR
#define __pyx_n_s_CU_COMPUTEMODE_DEFAULT __pyx_mstate_global->__pyx_n_s_CU_COMPUTEMODE_DEFAULT
#define __pyx_n_s_CU_COMPUTEMODE_EXCLUSIVE_PROCESS __pyx_mstate_global->__pyx_n_s_CU_COMPUTEMODE_EXCLUSIVE_PROCESS
#define __pyx_n_s_CU_COMPUTEMODE_PROHIBITED __pyx_mstate_global->__pyx_n_s_CU_COMPUTEMODE_PROHIBITED
#define __pyx_n_s_CU_COMPUTE_ACCELERATED_TARGET_BA __pyx_mstate_global->__pyx_n_s_CU_COMPUTE_ACCELERATED_TARGET_BA
#define __pyx_n_s_CU_COREDUMP_ENABLE_ON_EXCEPTION __pyx_mstate_global->__pyx_n_s_CU_COREDUMP_ENABLE_ON_EXCEPTION
#define __pyx_n_s_CU_COREDUMP_ENABLE_USER_TRIGGER __pyx_mstate_global->__pyx_n_s_CU_COREDUMP_ENABLE_USER_TRIGGER
#define __pyx_n_s_CU_COREDUMP_FILE __pyx_mstate_global->__pyx_n_s_CU_COREDUMP_FILE
#define __pyx_n_s_CU_COREDUMP_LIGHTWEIGHT __pyx_mstate_global->__pyx_n_s_CU_COREDUMP_LIGHTWEIGHT
#define __pyx_n_s_CU_COREDUMP_MAX __pyx_mstate_global->__pyx_n_s_CU_COREDUMP_MAX
#define __pyx_n_s_CU_COREDUMP_PIPE __pyx_mstate_global->__pyx_n_s_CU_COREDUMP_PIPE
#define __pyx_n_s_CU_COREDUMP_TRIGGER_HOST __pyx_mstate_global->__pyx_n_s_CU_COREDUMP_TRIGGER_HOST
#define __pyx_n_s_CU_CTX_BLOCKING_SYNC __pyx_mstate_global->__pyx_n_s_CU_CTX_BLOCKING_SYNC
#define __pyx_n_s_CU_CTX_COREDUMP_ENABLE __pyx_mstate_global->__pyx_n_s_CU_CTX_COREDUMP_ENABLE
#define __pyx_n_s_CU_CTX_FLAGS_MASK __pyx_mstate_global->__pyx_n_s_CU_CTX_FLAGS_MASK
#define __pyx_n_s_CU_CTX_LMEM_RESIZE_TO_MAX __pyx_mstate_global->__pyx_n_s_CU_CTX_LMEM_RESIZE_TO_MAX
#define __pyx_n_s_CU_CTX_MAP_HOST __pyx_mstate_global->__pyx_n_s_CU_CTX_MAP_HOST
#define __pyx_n_s_CU_CTX_SCHED_AUTO __pyx_mstate_global->__pyx_n_s_CU_CTX_SCHED_AUTO
#define __pyx_n_s_CU_CTX_SCHED_BLOCKING_SYNC __pyx_mstate_global->__pyx_n_s_CU_CTX_SCHED_BLOCKING_SYNC
#define __pyx_n_s_CU_CTX_SCHED_MASK __pyx_mstate_global->__pyx_n_s_CU_CTX_SCHED_MASK
#define __pyx_n_s_CU_CTX_SCHED_SPIN __pyx_mstate_global->__pyx_n_s_CU_CTX_SCHED_SPIN
#define __pyx_n_s_CU_CTX_SCHED_YIELD __pyx_mstate_global->__pyx_n_s_CU_CTX_SCHED_YIELD
#define __pyx_n_s_CU_CTX_SYNC_MEMOPS __pyx_mstate_global->__pyx_n_s_CU_CTX_SYNC_MEMOPS
#define __pyx_n_s_CU_CTX_USER_COREDUMP_ENABLE __pyx_mstate_global->__pyx_n_s_CU_CTX_USER_COREDUMP_ENABLE
#define __pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_X __pyx_mstate_global->__pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_X
#define __pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_Y __pyx_mstate_global->__pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_Y
#define __pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_Z __pyx_mstate_global->__pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_Z
#define __pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_X __pyx_mstate_global->__pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_X
#define __pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_Y __pyx_mstate_global->__pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_Y
#define __pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_Z __pyx_mstate_global->__pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_Z
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_RE __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_RE
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GA __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GA
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B_2 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B_2
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_2 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_2
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_3 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_3
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_CLOCK_RATE __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CLOCK_RATE
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_CLUSTER_LAUN __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CLUSTER_LAUN
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA_2 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA_2
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_PREE __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_PREE
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_CONCURRENT_K __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CONCURRENT_K
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_CONCURRENT_M __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_CONCURRENT_M
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_COOPERATIVE __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COOPERATIVE
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_COOPERATIVE_2 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_COOPERATIVE_2
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_DEFERRED_MAP __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_DEFERRED_MAP
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_DIRECT_MANAG __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_DIRECT_MANAG
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPP __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPP
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_ECC_ENABLED __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_ECC_ENABLED
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_GENERIC_COMP __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GENERIC_COMP
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CA __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CA
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMOR __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMOR
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_2 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_2
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_3 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_3
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_4 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_4
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_2 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_2
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_3 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_3
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_4 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_4
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_NATIVE __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_NATIVE
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_REGISTE __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_REGISTE
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_INTEGRATED __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_INTEGRATED
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_IPC_EVENT_SU __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_IPC_EVENT_SU
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZ __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZ
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CAC __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CAC
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MANAGED_MEMO __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MANAGED_MEMO
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_10 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_10
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_11 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_11
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_12 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_12
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_13 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_13
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_14 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_14
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_2 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_2
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_3 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_3
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_4 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_4
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_5 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_5
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_6 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_6
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_7 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_7
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_8 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_8
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_9 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_9
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_10 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_10
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_11 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_11
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_12 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_12
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_13 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_13
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_14 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_14
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_15 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_15
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_16 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_16
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_17 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_17
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_18 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_18
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_19 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_19
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_2 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_2
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_20 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_20
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_21 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_21
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_22 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_22
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_23 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_23
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_24 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_24
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_25 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_25
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_26 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_26
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_27 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_27
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_28 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_28
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_29 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_29
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_3 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_3
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_4 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_4
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_5 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_5
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_6 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_6
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_7 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_7
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_8 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_8
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_9 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_9
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_P __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_P
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_P __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_P
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_2 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_2
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_3 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_3
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_2 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_2
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_3 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_3
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_PERSISTI __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_PERSISTI
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_PITCH __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_PITCH
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_REGISTER __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_REGISTER
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_REGISTER_2 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_REGISTER_2
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_2 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_2
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_3 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_3
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_THREADS __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_THREADS
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_THREADS_2 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_THREADS_2
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPP __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPP
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOM __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOM
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MPS_ENABLED __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MPS_ENABLED
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTICAST_SU __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTICAST_SU
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTIPROCESS __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTIPROCESS
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO_2 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO_2
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_NUMA_CONFIG __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_NUMA_CONFIG
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_NUMA_ID __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_NUMA_ID
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM_2 __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM_2
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_I __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_I
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_I __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_I
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_READ_ONLY_HO __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_READ_ONLY_HO
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_REGISTERS_PE __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_REGISTERS_PE
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_RESERVED_SHA __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_RESERVED_SHA
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_SHARED_MEMOR __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_SHARED_MEMOR
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DO __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DO
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_STREAM_PRIOR __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_STREAM_PRIOR
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_SURFACE_ALIG __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_SURFACE_ALIG
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_TCC_DRIVER __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TCC_DRIVER
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_TENSOR_MAP_A __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TENSOR_MAP_A
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIG __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIG
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_TEXTURE_PITC __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TEXTURE_PITC
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_TIMELINE_SEM __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TIMELINE_SEM
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTA __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTA
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDR __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDR
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_UNIFIED_FUNC __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_UNIFIED_FUNC
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDR __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDR
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMO __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMO
#define __pyx_n_s_CU_DEVICE_ATTRIBUTE_WARP_SIZE __pyx_mstate_global->__pyx_n_s_CU_DEVICE_ATTRIBUTE_WARP_SIZE
#define __pyx_n_s_CU_DEVICE_CPU __pyx_mstate_global->__pyx_n_s_CU_DEVICE_CPU
#define __pyx_n_s_CU_DEVICE_INVALID __pyx_mstate_global->__pyx_n_s_CU_DEVICE_INVALID
#define __pyx_n_s_CU_DEVICE_NUMA_CONFIG_NONE __pyx_mstate_global->__pyx_n_s_CU_DEVICE_NUMA_CONFIG_NONE
#define __pyx_n_s_CU_DEVICE_NUMA_CONFIG_NUMA_NODE __pyx_mstate_global->__pyx_n_s_CU_DEVICE_NUMA_CONFIG_NUMA_NODE
#define __pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_A __pyx_mstate_global->__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_A
#define __pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_S __pyx_mstate_global->__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_S
#define __pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARR __pyx_mstate_global->__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARR
#define __pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_A __pyx_mstate_global->__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_A
#define __pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_PERFORMA __pyx_mstate_global->__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_PERFORMA
#define __pyx_n_s_CU_DEV_RESOURCE_TYPE_INVALID __pyx_mstate_global->__pyx_n_s_CU_DEV_RESOURCE_TYPE_INVALID
#define __pyx_n_s_CU_DEV_RESOURCE_TYPE_SM __pyx_mstate_global->__pyx_n_s_CU_DEV_RESOURCE_TYPE_SM
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_A __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_A
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_ABGR __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_ABGR
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_ARGB __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_ARGB
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_AYUV __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_AYUV
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_AYUV_ER __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_AYUV_ER
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_BGGR __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_BGGR
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_CCCC __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_CCCC
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_GBRG __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_GBRG
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_GRBG __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_GRBG
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_RGGB __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_RGGB
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_BCCR __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_BCCR
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_BGGR __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_BGGR
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CBRC __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CBRC
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CCCC __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CCCC
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CRBC __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CRBC
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_GBRG __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_GBRG
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_GRBG __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_GRBG
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_RCCB __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_RCCB
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_RGGB __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_RGGB
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_BGGR __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_BGGR
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_GBRG __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_GBRG
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_GRBG __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_GRBG
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_RGGB __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_RGGB
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_BGGR __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_BGGR
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_GBRG __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_GBRG
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_GRBG __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_GRBG
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_RGGB __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_RGGB
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_BCCR __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_BCCR
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_BGGR __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_BGGR
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_CBRC __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_CBRC
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_CRBC __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_CRBC
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_GBRG __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_GBRG
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_GRBG __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_GRBG
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_BG __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_BG
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_GB __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_GB
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_GR __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_GR
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_RG __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_RG
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_RCCB __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_RCCB
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_RGGB __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_RGGB
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BGR __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BGR
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_BGRA __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_BGRA
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_L __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_L
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_MAX __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_MAX
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_R __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_R
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_RG __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_RG
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_RGB __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_RGB
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_RGBA __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_RGBA
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_UYVY_422 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_UYVY_422
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_UYVY_ER __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_UYVY_ER
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_VYUY __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_VYUY
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_VYUY_ER __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_VYUY_ER
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_2 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_2
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_3 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_3
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_4 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_4
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_5 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_5
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_6 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_6
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_7 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_7
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_8 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_8
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44_2 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44_2
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44_3 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44_3
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10_709_ER __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10_709_ER
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10_ER __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10_ER
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42_2 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42_2
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42_3 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42_3
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44_2 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44_2
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44_3 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44_3
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y12_709_ER __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12_709_ER
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y12_ER __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12_ER
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_2 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_2
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_3 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_3
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_4 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_4
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_2 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_2
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_3 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_3
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_4 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_4
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_PLANA __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_PLANA
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_PLANA_2 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_PLANA_2
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_SEMIP __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_SEMIP
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_SEMIP_2 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_SEMIP_2
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_PLANA __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_PLANA
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_PLANA_2 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_PLANA_2
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_SEMIP __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_SEMIP
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_SEMIP_2 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_SEMIP_2
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUVA __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUVA
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUVA_ER __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUVA_ER
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV_ER __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV_ER
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUYV_422 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUYV_422
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YUYV_ER __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YUYV_ER
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_2 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_2
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_3 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_3
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_4 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_4
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_2 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_2
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_3 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_3
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_4 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_4
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_PLANA __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_PLANA
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_PLANA_2 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_PLANA_2
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_SEMIP __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_SEMIP
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_SEMIP_2 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_SEMIP_2
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_PLANA __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_PLANA
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_PLANA_2 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_PLANA_2
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_SEMIP __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_SEMIP
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_SEMIP_2 __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_SEMIP_2
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVYU __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVYU
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_YVYU_ER __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_YVYU_ER
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y_709_ER __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y_709_ER
#define __pyx_n_s_CU_EGL_COLOR_FORMAT_Y_ER __pyx_mstate_global->__pyx_n_s_CU_EGL_COLOR_FORMAT_Y_ER
#define __pyx_n_s_CU_EGL_FRAME_TYPE_ARRAY __pyx_mstate_global->__pyx_n_s_CU_EGL_FRAME_TYPE_ARRAY
#define __pyx_n_s_CU_EGL_FRAME_TYPE_PITCH __pyx_mstate_global->__pyx_n_s_CU_EGL_FRAME_TYPE_PITCH
#define __pyx_n_s_CU_EGL_RESOURCE_LOCATION_SYSMEM __pyx_mstate_global->__pyx_n_s_CU_EGL_RESOURCE_LOCATION_SYSMEM
#define __pyx_n_s_CU_EGL_RESOURCE_LOCATION_VIDMEM __pyx_mstate_global->__pyx_n_s_CU_EGL_RESOURCE_LOCATION_VIDMEM
#define __pyx_n_s_CU_EVENT_BLOCKING_SYNC __pyx_mstate_global->__pyx_n_s_CU_EVENT_BLOCKING_SYNC
#define __pyx_n_s_CU_EVENT_DEFAULT __pyx_mstate_global->__pyx_n_s_CU_EVENT_DEFAULT
#define __pyx_n_s_CU_EVENT_DISABLE_TIMING __pyx_mstate_global->__pyx_n_s_CU_EVENT_DISABLE_TIMING
#define __pyx_n_s_CU_EVENT_INTERPROCESS __pyx_mstate_global->__pyx_n_s_CU_EVENT_INTERPROCESS
#define __pyx_n_s_CU_EVENT_RECORD_DEFAULT __pyx_mstate_global->__pyx_n_s_CU_EVENT_RECORD_DEFAULT
#define __pyx_n_s_CU_EVENT_RECORD_EXTERNAL __pyx_mstate_global->__pyx_n_s_CU_EVENT_RECORD_EXTERNAL
#define __pyx_n_s_CU_EVENT_SCHED_AUTO __pyx_mstate_global->__pyx_n_s_CU_EVENT_SCHED_AUTO
#define __pyx_n_s_CU_EVENT_SCHED_BLOCKING_SYNC __pyx_mstate_global->__pyx_n_s_CU_EVENT_SCHED_BLOCKING_SYNC
#define __pyx_n_s_CU_EVENT_SCHED_SPIN __pyx_mstate_global->__pyx_n_s_CU_EVENT_SCHED_SPIN
#define __pyx_n_s_CU_EVENT_SCHED_YIELD __pyx_mstate_global->__pyx_n_s_CU_EVENT_SCHED_YIELD
#define __pyx_n_s_CU_EVENT_WAIT_DEFAULT __pyx_mstate_global->__pyx_n_s_CU_EVENT_WAIT_DEFAULT
#define __pyx_n_s_CU_EVENT_WAIT_EXTERNAL __pyx_mstate_global->__pyx_n_s_CU_EVENT_WAIT_EXTERNAL
#define __pyx_n_s_CU_EXEC_AFFINITY_TYPE_MAX __pyx_mstate_global->__pyx_n_s_CU_EXEC_AFFINITY_TYPE_MAX
#define __pyx_n_s_CU_EXEC_AFFINITY_TYPE_SM_COUNT __pyx_mstate_global->__pyx_n_s_CU_EXEC_AFFINITY_TYPE_SM_COUNT
#define __pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D
#define __pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_2 __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_2
#define __pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_3 __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_3
#define __pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_4 __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_4
#define __pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_N __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_N
#define __pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O
#define __pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_2 __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_2
#define __pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_3 __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_3
#define __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP
#define __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_10 __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_10
#define __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_2 __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_2
#define __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_3 __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_3
#define __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_4 __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_4
#define __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_5 __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_5
#define __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_6 __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_6
#define __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_7 __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_7
#define __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_8 __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_8
#define __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_9 __pyx_mstate_global->__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_9
#define __pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES __pyx_mstate_global->__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES
#define __pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_2 __pyx_mstate_global->__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_2
#define __pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_3 __pyx_mstate_global->__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_3
#define __pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_4 __pyx_mstate_global->__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_4
#define __pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_5 __pyx_mstate_global->__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_5
#define __pyx_n_s_CU_FUNCTION_LOADING_STATE_LOADED __pyx_mstate_global->__pyx_n_s_CU_FUNCTION_LOADING_STATE_LOADED
#define __pyx_n_s_CU_FUNCTION_LOADING_STATE_MAX __pyx_mstate_global->__pyx_n_s_CU_FUNCTION_LOADING_STATE_MAX
#define __pyx_n_s_CU_FUNCTION_LOADING_STATE_UNLOAD __pyx_mstate_global->__pyx_n_s_CU_FUNCTION_LOADING_STATE_UNLOAD
#define __pyx_n_s_CU_FUNC_ATTRIBUTE_BINARY_VERSION __pyx_mstate_global->__pyx_n_s_CU_FUNC_ATTRIBUTE_BINARY_VERSION
#define __pyx_n_s_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA __pyx_mstate_global->__pyx_n_s_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA
#define __pyx_n_s_CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDU __pyx_mstate_global->__pyx_n_s_CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDU
#define __pyx_n_s_CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_M __pyx_mstate_global->__pyx_n_s_CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_M
#define __pyx_n_s_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYT __pyx_mstate_global->__pyx_n_s_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYT
#define __pyx_n_s_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYT __pyx_mstate_global->__pyx_n_s_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYT
#define __pyx_n_s_CU_FUNC_ATTRIBUTE_MAX __pyx_mstate_global->__pyx_n_s_CU_FUNC_ATTRIBUTE_MAX
#define __pyx_n_s_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SH __pyx_mstate_global->__pyx_n_s_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SH
#define __pyx_n_s_CU_FUNC_ATTRIBUTE_MAX_THREADS_PE __pyx_mstate_global->__pyx_n_s_CU_FUNC_ATTRIBUTE_MAX_THREADS_PE
#define __pyx_n_s_CU_FUNC_ATTRIBUTE_NON_PORTABLE_C __pyx_mstate_global->__pyx_n_s_CU_FUNC_ATTRIBUTE_NON_PORTABLE_C
#define __pyx_n_s_CU_FUNC_ATTRIBUTE_NUM_REGS __pyx_mstate_global->__pyx_n_s_CU_FUNC_ATTRIBUTE_NUM_REGS
#define __pyx_n_s_CU_FUNC_ATTRIBUTE_PREFERRED_SHAR __pyx_mstate_global->__pyx_n_s_CU_FUNC_ATTRIBUTE_PREFERRED_SHAR
#define __pyx_n_s_CU_FUNC_ATTRIBUTE_PTX_VERSION __pyx_mstate_global->__pyx_n_s_CU_FUNC_ATTRIBUTE_PTX_VERSION
#define __pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST __pyx_mstate_global->__pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST
#define __pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_2 __pyx_mstate_global->__pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_2
#define __pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_3 __pyx_mstate_global->__pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_3
#define __pyx_n_s_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BY __pyx_mstate_global->__pyx_n_s_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BY
#define __pyx_n_s_CU_FUNC_CACHE_PREFER_EQUAL __pyx_mstate_global->__pyx_n_s_CU_FUNC_CACHE_PREFER_EQUAL
#define __pyx_n_s_CU_FUNC_CACHE_PREFER_L1 __pyx_mstate_global->__pyx_n_s_CU_FUNC_CACHE_PREFER_L1
#define __pyx_n_s_CU_FUNC_CACHE_PREFER_NONE __pyx_mstate_global->__pyx_n_s_CU_FUNC_CACHE_PREFER_NONE
#define __pyx_n_s_CU_FUNC_CACHE_PREFER_SHARED __pyx_mstate_global->__pyx_n_s_CU_FUNC_CACHE_PREFER_SHARED
#define __pyx_n_s_CU_GET_PROC_ADDRESS_DEFAULT __pyx_mstate_global->__pyx_n_s_CU_GET_PROC_ADDRESS_DEFAULT
#define __pyx_n_s_CU_GET_PROC_ADDRESS_LEGACY_STREA __pyx_mstate_global->__pyx_n_s_CU_GET_PROC_ADDRESS_LEGACY_STREA
#define __pyx_n_s_CU_GET_PROC_ADDRESS_PER_THREAD_D __pyx_mstate_global->__pyx_n_s_CU_GET_PROC_ADDRESS_PER_THREAD_D
#define __pyx_n_s_CU_GET_PROC_ADDRESS_SUCCESS __pyx_mstate_global->__pyx_n_s_CU_GET_PROC_ADDRESS_SUCCESS
#define __pyx_n_s_CU_GET_PROC_ADDRESS_SYMBOL_NOT_F __pyx_mstate_global->__pyx_n_s_CU_GET_PROC_ADDRESS_SYMBOL_NOT_F
#define __pyx_n_s_CU_GET_PROC_ADDRESS_VERSION_NOT __pyx_mstate_global->__pyx_n_s_CU_GET_PROC_ADDRESS_VERSION_NOT
#define __pyx_n_s_CU_GL_DEVICE_LIST_ALL __pyx_mstate_global->__pyx_n_s_CU_GL_DEVICE_LIST_ALL
#define __pyx_n_s_CU_GL_DEVICE_LIST_CURRENT_FRAME __pyx_mstate_global->__pyx_n_s_CU_GL_DEVICE_LIST_CURRENT_FRAME
#define __pyx_n_s_CU_GL_DEVICE_LIST_NEXT_FRAME __pyx_mstate_global->__pyx_n_s_CU_GL_DEVICE_LIST_NEXT_FRAME
#define __pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_NONE __pyx_mstate_global->__pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_NONE
#define __pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_READ_ON __pyx_mstate_global->__pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_READ_ON
#define __pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_WRITE_D __pyx_mstate_global->__pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_WRITE_D
#define __pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI __pyx_mstate_global->__pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI
#define __pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_2 __pyx_mstate_global->__pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_2
#define __pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_3 __pyx_mstate_global->__pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_3
#define __pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_N __pyx_mstate_global->__pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_N
#define __pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_R __pyx_mstate_global->__pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_R
#define __pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_W __pyx_mstate_global->__pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_W
#define __pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_NONE __pyx_mstate_global->__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_NONE
#define __pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_READ __pyx_mstate_global->__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_READ
#define __pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_SURFA __pyx_mstate_global->__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_SURFA
#define __pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_TEXTU __pyx_mstate_global->__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_TEXTU
#define __pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_WRITE __pyx_mstate_global->__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_WRITE
#define __pyx_n_s_CU_GRAPH_COND_ASSIGN_DEFAULT __pyx_mstate_global->__pyx_n_s_CU_GRAPH_COND_ASSIGN_DEFAULT
#define __pyx_n_s_CU_GRAPH_COND_TYPE_IF __pyx_mstate_global->__pyx_n_s_CU_GRAPH_COND_TYPE_IF
#define __pyx_n_s_CU_GRAPH_COND_TYPE_WHILE __pyx_mstate_global->__pyx_n_s_CU_GRAPH_COND_TYPE_WHILE
#define __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_M __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_M
#define __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_CONDITI __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_CONDITI
#define __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_N __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_N
#define __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_T __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_T
#define __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM
#define __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM_2 __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM_2
#define __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES
#define __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NO __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NO
#define __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL
#define __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_2 __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_2
#define __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY
#define __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET
#define __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALL __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALL
#define __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FRE __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FRE
#define __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME
#define __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE
#define __pyx_n_s_CU_GRAPH_DEPENDENCY_TYPE_DEFAULT __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEPENDENCY_TYPE_DEFAULT
#define __pyx_n_s_CU_GRAPH_DEPENDENCY_TYPE_PROGRAM __pyx_mstate_global->__pyx_n_s_CU_GRAPH_DEPENDENCY_TYPE_PROGRAM
#define __pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR __pyx_mstate_global->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR
#define __pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_ATTRI __pyx_mstate_global->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_ATTRI
#define __pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCT __pyx_mstate_global->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCT
#define __pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_NODE __pyx_mstate_global->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_NODE
#define __pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_S __pyx_mstate_global->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_S
#define __pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_PARAM __pyx_mstate_global->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_PARAM
#define __pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOL __pyx_mstate_global->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOL
#define __pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUP __pyx_mstate_global->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUP
#define __pyx_n_s_CU_GRAPH_EXEC_UPDATE_SUCCESS __pyx_mstate_global->__pyx_n_s_CU_GRAPH_EXEC_UPDATE_SUCCESS
#define __pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_DEFAUL __pyx_mstate_global->__pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_DEFAUL
#define __pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH __pyx_mstate_global->__pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH
#define __pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_PROGRA __pyx_mstate_global->__pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_PROGRA
#define __pyx_n_s_CU_GRAPH_MEM_ATTR_RESERVED_MEM_C __pyx_mstate_global->__pyx_n_s_CU_GRAPH_MEM_ATTR_RESERVED_MEM_C
#define __pyx_n_s_CU_GRAPH_MEM_ATTR_RESERVED_MEM_H __pyx_mstate_global->__pyx_n_s_CU_GRAPH_MEM_ATTR_RESERVED_MEM_H
#define __pyx_n_s_CU_GRAPH_MEM_ATTR_USED_MEM_CURRE __pyx_mstate_global->__pyx_n_s_CU_GRAPH_MEM_ATTR_USED_MEM_CURRE
#define __pyx_n_s_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH __pyx_mstate_global->__pyx_n_s_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH
#define __pyx_n_s_CU_GRAPH_NODE_TYPE_BATCH_MEM_OP __pyx_mstate_global->__pyx_n_s_CU_GRAPH_NODE_TYPE_BATCH_MEM_OP
#define __pyx_n_s_CU_GRAPH_NODE_TYPE_CONDITIONAL __pyx_mstate_global->__pyx_n_s_CU_GRAPH_NODE_TYPE_CONDITIONAL
#define __pyx_n_s_CU_GRAPH_NODE_TYPE_EMPTY __pyx_mstate_global->__pyx_n_s_CU_GRAPH_NODE_TYPE_EMPTY
#define __pyx_n_s_CU_GRAPH_NODE_TYPE_EVENT_RECORD __pyx_mstate_global->__pyx_n_s_CU_GRAPH_NODE_TYPE_EVENT_RECORD
#define __pyx_n_s_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIG __pyx_mstate_global->__pyx_n_s_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIG
#define __pyx_n_s_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAI __pyx_mstate_global->__pyx_n_s_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAI
#define __pyx_n_s_CU_GRAPH_NODE_TYPE_GRAPH __pyx_mstate_global->__pyx_n_s_CU_GRAPH_NODE_TYPE_GRAPH
#define __pyx_n_s_CU_GRAPH_NODE_TYPE_HOST __pyx_mstate_global->__pyx_n_s_CU_GRAPH_NODE_TYPE_HOST
#define __pyx_n_s_CU_GRAPH_NODE_TYPE_KERNEL __pyx_mstate_global->__pyx_n_s_CU_GRAPH_NODE_TYPE_KERNEL
#define __pyx_n_s_CU_GRAPH_NODE_TYPE_MEMCPY __pyx_mstate_global->__pyx_n_s_CU_GRAPH_NODE_TYPE_MEMCPY
#define __pyx_n_s_CU_GRAPH_NODE_TYPE_MEMSET __pyx_mstate_global->__pyx_n_s_CU_GRAPH_NODE_TYPE_MEMSET
#define __pyx_n_s_CU_GRAPH_NODE_TYPE_MEM_ALLOC __pyx_mstate_global->__pyx_n_s_CU_GRAPH_NODE_TYPE_MEM_ALLOC
#define __pyx_n_s_CU_GRAPH_NODE_TYPE_MEM_FREE __pyx_mstate_global->__pyx_n_s_CU_GRAPH_NODE_TYPE_MEM_FREE
#define __pyx_n_s_CU_GRAPH_NODE_TYPE_WAIT_EVENT __pyx_mstate_global->__pyx_n_s_CU_GRAPH_NODE_TYPE_WAIT_EVENT
#define __pyx_n_s_CU_GRAPH_USER_OBJECT_MOVE __pyx_mstate_global->__pyx_n_s_CU_GRAPH_USER_OBJECT_MOVE
#define __pyx_n_s_CU_GREEN_CTX_DEFAULT_STREAM __pyx_mstate_global->__pyx_n_s_CU_GREEN_CTX_DEFAULT_STREAM
#define __pyx_n_s_CU_IPC_HANDLE_SIZE __pyx_mstate_global->__pyx_n_s_CU_IPC_HANDLE_SIZE
#define __pyx_n_s_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCE __pyx_mstate_global->__pyx_n_s_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCE
#define __pyx_n_s_CU_JIT_CACHE_MODE __pyx_mstate_global->__pyx_n_s_CU_JIT_CACHE_MODE
#define __pyx_n_s_CU_JIT_CACHE_OPTION_CA __pyx_mstate_global->__pyx_n_s_CU_JIT_CACHE_OPTION_CA
#define __pyx_n_s_CU_JIT_CACHE_OPTION_CG __pyx_mstate_global->__pyx_n_s_CU_JIT_CACHE_OPTION_CG
#define __pyx_n_s_CU_JIT_CACHE_OPTION_NONE __pyx_mstate_global->__pyx_n_s_CU_JIT_CACHE_OPTION_NONE
#define __pyx_n_s_CU_JIT_ERROR_LOG_BUFFER __pyx_mstate_global->__pyx_n_s_CU_JIT_ERROR_LOG_BUFFER
#define __pyx_n_s_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYT __pyx_mstate_global->__pyx_n_s_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYT
#define __pyx_n_s_CU_JIT_FALLBACK_STRATEGY __pyx_mstate_global->__pyx_n_s_CU_JIT_FALLBACK_STRATEGY
#define __pyx_n_s_CU_JIT_FAST_COMPILE __pyx_mstate_global->__pyx_n_s_CU_JIT_FAST_COMPILE
#define __pyx_n_s_CU_JIT_FMA __pyx_mstate_global->__pyx_n_s_CU_JIT_FMA
#define __pyx_n_s_CU_JIT_FTZ __pyx_mstate_global->__pyx_n_s_CU_JIT_FTZ
#define __pyx_n_s_CU_JIT_GENERATE_DEBUG_INFO __pyx_mstate_global->__pyx_n_s_CU_JIT_GENERATE_DEBUG_INFO
#define __pyx_n_s_CU_JIT_GENERATE_LINE_INFO __pyx_mstate_global->__pyx_n_s_CU_JIT_GENERATE_LINE_INFO
#define __pyx_n_s_CU_JIT_GLOBAL_SYMBOL_ADDRESSES __pyx_mstate_global->__pyx_n_s_CU_JIT_GLOBAL_SYMBOL_ADDRESSES
#define __pyx_n_s_CU_JIT_GLOBAL_SYMBOL_COUNT __pyx_mstate_global->__pyx_n_s_CU_JIT_GLOBAL_SYMBOL_COUNT
#define __pyx_n_s_CU_JIT_GLOBAL_SYMBOL_NAMES __pyx_mstate_global->__pyx_n_s_CU_JIT_GLOBAL_SYMBOL_NAMES
#define __pyx_n_s_CU_JIT_INFO_LOG_BUFFER __pyx_mstate_global->__pyx_n_s_CU_JIT_INFO_LOG_BUFFER
#define __pyx_n_s_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTE __pyx_mstate_global->__pyx_n_s_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTE
#define __pyx_n_s_CU_JIT_INPUT_CUBIN __pyx_mstate_global->__pyx_n_s_CU_JIT_INPUT_CUBIN
#define __pyx_n_s_CU_JIT_INPUT_FATBINARY __pyx_mstate_global->__pyx_n_s_CU_JIT_INPUT_FATBINARY
#define __pyx_n_s_CU_JIT_INPUT_LIBRARY __pyx_mstate_global->__pyx_n_s_CU_JIT_INPUT_LIBRARY
#define __pyx_n_s_CU_JIT_INPUT_NVVM __pyx_mstate_global->__pyx_n_s_CU_JIT_INPUT_NVVM
#define __pyx_n_s_CU_JIT_INPUT_OBJECT __pyx_mstate_global->__pyx_n_s_CU_JIT_INPUT_OBJECT
#define __pyx_n_s_CU_JIT_INPUT_PTX __pyx_mstate_global->__pyx_n_s_CU_JIT_INPUT_PTX
#define __pyx_n_s_CU_JIT_LOG_VERBOSE __pyx_mstate_global->__pyx_n_s_CU_JIT_LOG_VERBOSE
#define __pyx_n_s_CU_JIT_LTO __pyx_mstate_global->__pyx_n_s_CU_JIT_LTO
#define __pyx_n_s_CU_JIT_MAX_REGISTERS __pyx_mstate_global->__pyx_n_s_CU_JIT_MAX_REGISTERS
#define __pyx_n_s_CU_JIT_MAX_THREADS_PER_BLOCK __pyx_mstate_global->__pyx_n_s_CU_JIT_MAX_THREADS_PER_BLOCK
#define __pyx_n_s_CU_JIT_MIN_CTA_PER_SM __pyx_mstate_global->__pyx_n_s_CU_JIT_MIN_CTA_PER_SM
#define __pyx_n_s_CU_JIT_NEW_SM3X_OPT __pyx_mstate_global->__pyx_n_s_CU_JIT_NEW_SM3X_OPT
#define __pyx_n_s_CU_JIT_NUM_INPUT_TYPES __pyx_mstate_global->__pyx_n_s_CU_JIT_NUM_INPUT_TYPES
#define __pyx_n_s_CU_JIT_NUM_OPTIONS __pyx_mstate_global->__pyx_n_s_CU_JIT_NUM_OPTIONS
#define __pyx_n_s_CU_JIT_OPTIMIZATION_LEVEL __pyx_mstate_global->__pyx_n_s_CU_JIT_OPTIMIZATION_LEVEL
#define __pyx_n_s_CU_JIT_OPTIMIZE_UNUSED_DEVICE_VA __pyx_mstate_global->__pyx_n_s_CU_JIT_OPTIMIZE_UNUSED_DEVICE_VA
#define __pyx_n_s_CU_JIT_OVERRIDE_DIRECTIVE_VALUES __pyx_mstate_global->__pyx_n_s_CU_JIT_OVERRIDE_DIRECTIVE_VALUES
#define __pyx_n_s_CU_JIT_POSITION_INDEPENDENT_CODE __pyx_mstate_global->__pyx_n_s_CU_JIT_POSITION_INDEPENDENT_CODE
#define __pyx_n_s_CU_JIT_PREC_DIV __pyx_mstate_global->__pyx_n_s_CU_JIT_PREC_DIV
#define __pyx_n_s_CU_JIT_PREC_SQRT __pyx_mstate_global->__pyx_n_s_CU_JIT_PREC_SQRT
#define __pyx_n_s_CU_JIT_REFERENCED_KERNEL_COUNT __pyx_mstate_global->__pyx_n_s_CU_JIT_REFERENCED_KERNEL_COUNT
#define __pyx_n_s_CU_JIT_REFERENCED_KERNEL_NAMES __pyx_mstate_global->__pyx_n_s_CU_JIT_REFERENCED_KERNEL_NAMES
#define __pyx_n_s_CU_JIT_REFERENCED_VARIABLE_COUNT __pyx_mstate_global->__pyx_n_s_CU_JIT_REFERENCED_VARIABLE_COUNT
#define __pyx_n_s_CU_JIT_REFERENCED_VARIABLE_NAMES __pyx_mstate_global->__pyx_n_s_CU_JIT_REFERENCED_VARIABLE_NAMES
#define __pyx_n_s_CU_JIT_TARGET __pyx_mstate_global->__pyx_n_s_CU_JIT_TARGET
#define __pyx_n_s_CU_JIT_TARGET_FROM_CUCONTEXT __pyx_mstate_global->__pyx_n_s_CU_JIT_TARGET_FROM_CUCONTEXT
#define __pyx_n_s_CU_JIT_THREADS_PER_BLOCK __pyx_mstate_global->__pyx_n_s_CU_JIT_THREADS_PER_BLOCK
#define __pyx_n_s_CU_JIT_WALL_TIME __pyx_mstate_global->__pyx_n_s_CU_JIT_WALL_TIME
#define __pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_ACCESS __pyx_mstate_global->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_ACCESS
#define __pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER __pyx_mstate_global->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER
#define __pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_2 __pyx_mstate_global->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_2
#define __pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_COOPERA __pyx_mstate_global->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_COOPERA
#define __pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_DEVICE __pyx_mstate_global->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_DEVICE
#define __pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN __pyx_mstate_global->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN
#define __pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN_2 __pyx_mstate_global->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN_2
#define __pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_PRIORIT __pyx_mstate_global->__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_PRIORIT
#define __pyx_n_s_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC
#define __pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME
#define __pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE
#define __pyx_n_s_CU_LAUNCH_ATTRIBUTE_COOPERATIVE __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_COOPERATIVE
#define __pyx_n_s_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT
#define __pyx_n_s_CU_LAUNCH_ATTRIBUTE_IGNORE __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_IGNORE
#define __pyx_n_s_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL
#define __pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM
#define __pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2 __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2
#define __pyx_n_s_CU_LAUNCH_ATTRIBUTE_PRIORITY __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_PRIORITY
#define __pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC
#define __pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2 __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2
#define __pyx_n_s_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT
#define __pyx_n_s_CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAUL __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAUL
#define __pyx_n_s_CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE
#define __pyx_n_s_CU_LAUNCH_PARAM_BUFFER_POINTER __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_POINTER
#define __pyx_n_s_CU_LAUNCH_PARAM_BUFFER_POINTER_A __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_POINTER_A
#define __pyx_n_s_CU_LAUNCH_PARAM_BUFFER_SIZE __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_SIZE
#define __pyx_n_s_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_I __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_I
#define __pyx_n_s_CU_LAUNCH_PARAM_END __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_PARAM_END
#define __pyx_n_s_CU_LAUNCH_PARAM_END_AS_INT __pyx_mstate_global->__pyx_n_s_CU_LAUNCH_PARAM_END_AS_INT
#define __pyx_n_s_CU_LIBRARY_BINARY_IS_PRESERVED __pyx_mstate_global->__pyx_n_s_CU_LIBRARY_BINARY_IS_PRESERVED
#define __pyx_n_s_CU_LIBRARY_HOST_UNIVERSAL_FUNCTI __pyx_mstate_global->__pyx_n_s_CU_LIBRARY_HOST_UNIVERSAL_FUNCTI
#define __pyx_n_s_CU_LIBRARY_NUM_OPTIONS __pyx_mstate_global->__pyx_n_s_CU_LIBRARY_NUM_OPTIONS
#define __pyx_n_s_CU_LIMIT_DEV_RUNTIME_PENDING_LAU __pyx_mstate_global->__pyx_n_s_CU_LIMIT_DEV_RUNTIME_PENDING_LAU
#define __pyx_n_s_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH __pyx_mstate_global->__pyx_n_s_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH
#define __pyx_n_s_CU_LIMIT_MALLOC_HEAP_SIZE __pyx_mstate_global->__pyx_n_s_CU_LIMIT_MALLOC_HEAP_SIZE
#define __pyx_n_s_CU_LIMIT_MAX __pyx_mstate_global->__pyx_n_s_CU_LIMIT_MAX
#define __pyx_n_s_CU_LIMIT_MAX_L2_FETCH_GRANULARIT __pyx_mstate_global->__pyx_n_s_CU_LIMIT_MAX_L2_FETCH_GRANULARIT
#define __pyx_n_s_CU_LIMIT_PERSISTING_L2_CACHE_SIZ __pyx_mstate_global->__pyx_n_s_CU_LIMIT_PERSISTING_L2_CACHE_SIZ
#define __pyx_n_s_CU_LIMIT_PRINTF_FIFO_SIZE __pyx_mstate_global->__pyx_n_s_CU_LIMIT_PRINTF_FIFO_SIZE
#define __pyx_n_s_CU_LIMIT_STACK_SIZE __pyx_mstate_global->__pyx_n_s_CU_LIMIT_STACK_SIZE
#define __pyx_n_s_CU_MEMHOSTALLOC_DEVICEMAP __pyx_mstate_global->__pyx_n_s_CU_MEMHOSTALLOC_DEVICEMAP
#define __pyx_n_s_CU_MEMHOSTALLOC_PORTABLE __pyx_mstate_global->__pyx_n_s_CU_MEMHOSTALLOC_PORTABLE
#define __pyx_n_s_CU_MEMHOSTALLOC_WRITECOMBINED __pyx_mstate_global->__pyx_n_s_CU_MEMHOSTALLOC_WRITECOMBINED
#define __pyx_n_s_CU_MEMHOSTREGISTER_DEVICEMAP __pyx_mstate_global->__pyx_n_s_CU_MEMHOSTREGISTER_DEVICEMAP
#define __pyx_n_s_CU_MEMHOSTREGISTER_IOMEMORY __pyx_mstate_global->__pyx_n_s_CU_MEMHOSTREGISTER_IOMEMORY
#define __pyx_n_s_CU_MEMHOSTREGISTER_PORTABLE __pyx_mstate_global->__pyx_n_s_CU_MEMHOSTREGISTER_PORTABLE
#define __pyx_n_s_CU_MEMHOSTREGISTER_READ_ONLY __pyx_mstate_global->__pyx_n_s_CU_MEMHOSTREGISTER_READ_ONLY
#define __pyx_n_s_CU_MEMORYTYPE_ARRAY __pyx_mstate_global->__pyx_n_s_CU_MEMORYTYPE_ARRAY
#define __pyx_n_s_CU_MEMORYTYPE_DEVICE __pyx_mstate_global->__pyx_n_s_CU_MEMORYTYPE_DEVICE
#define __pyx_n_s_CU_MEMORYTYPE_HOST __pyx_mstate_global->__pyx_n_s_CU_MEMORYTYPE_HOST
#define __pyx_n_s_CU_MEMORYTYPE_UNIFIED __pyx_mstate_global->__pyx_n_s_CU_MEMORYTYPE_UNIFIED
#define __pyx_n_s_CU_MEMPOOL_ATTR_RELEASE_THRESHOL __pyx_mstate_global->__pyx_n_s_CU_MEMPOOL_ATTR_RELEASE_THRESHOL
#define __pyx_n_s_CU_MEMPOOL_ATTR_RESERVED_MEM_CUR __pyx_mstate_global->__pyx_n_s_CU_MEMPOOL_ATTR_RESERVED_MEM_CUR
#define __pyx_n_s_CU_MEMPOOL_ATTR_RESERVED_MEM_HIG __pyx_mstate_global->__pyx_n_s_CU_MEMPOOL_ATTR_RESERVED_MEM_HIG
#define __pyx_n_s_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTE __pyx_mstate_global->__pyx_n_s_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTE
#define __pyx_n_s_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPO __pyx_mstate_global->__pyx_n_s_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPO
#define __pyx_n_s_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVE __pyx_mstate_global->__pyx_n_s_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVE
#define __pyx_n_s_CU_MEMPOOL_ATTR_USED_MEM_CURRENT __pyx_mstate_global->__pyx_n_s_CU_MEMPOOL_ATTR_USED_MEM_CURRENT
#define __pyx_n_s_CU_MEMPOOL_ATTR_USED_MEM_HIGH __pyx_mstate_global->__pyx_n_s_CU_MEMPOOL_ATTR_USED_MEM_HIGH
#define __pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_MAX __pyx_mstate_global->__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_MAX
#define __pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_NONE __pyx_mstate_global->__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_NONE
#define __pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_READ __pyx_mstate_global->__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_READ
#define __pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_READWRI __pyx_mstate_global->__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_READWRI
#define __pyx_n_s_CU_MEM_ADVISE_SET_ACCESSED_BY __pyx_mstate_global->__pyx_n_s_CU_MEM_ADVISE_SET_ACCESSED_BY
#define __pyx_n_s_CU_MEM_ADVISE_SET_PREFERRED_LOCA __pyx_mstate_global->__pyx_n_s_CU_MEM_ADVISE_SET_PREFERRED_LOCA
#define __pyx_n_s_CU_MEM_ADVISE_SET_READ_MOSTLY __pyx_mstate_global->__pyx_n_s_CU_MEM_ADVISE_SET_READ_MOSTLY
#define __pyx_n_s_CU_MEM_ADVISE_UNSET_ACCESSED_BY __pyx_mstate_global->__pyx_n_s_CU_MEM_ADVISE_UNSET_ACCESSED_BY
#define __pyx_n_s_CU_MEM_ADVISE_UNSET_PREFERRED_LO __pyx_mstate_global->__pyx_n_s_CU_MEM_ADVISE_UNSET_PREFERRED_LO
#define __pyx_n_s_CU_MEM_ADVISE_UNSET_READ_MOSTLY __pyx_mstate_global->__pyx_n_s_CU_MEM_ADVISE_UNSET_READ_MOSTLY
#define __pyx_n_s_CU_MEM_ALLOCATION_COMP_GENERIC __pyx_mstate_global->__pyx_n_s_CU_MEM_ALLOCATION_COMP_GENERIC
#define __pyx_n_s_CU_MEM_ALLOCATION_COMP_NONE __pyx_mstate_global->__pyx_n_s_CU_MEM_ALLOCATION_COMP_NONE
#define __pyx_n_s_CU_MEM_ALLOCATION_TYPE_INVALID __pyx_mstate_global->__pyx_n_s_CU_MEM_ALLOCATION_TYPE_INVALID
#define __pyx_n_s_CU_MEM_ALLOCATION_TYPE_MAX __pyx_mstate_global->__pyx_n_s_CU_MEM_ALLOCATION_TYPE_MAX
#define __pyx_n_s_CU_MEM_ALLOCATION_TYPE_PINNED __pyx_mstate_global->__pyx_n_s_CU_MEM_ALLOCATION_TYPE_PINNED
#define __pyx_n_s_CU_MEM_ALLOC_GRANULARITY_MINIMUM __pyx_mstate_global->__pyx_n_s_CU_MEM_ALLOC_GRANULARITY_MINIMUM
#define __pyx_n_s_CU_MEM_ALLOC_GRANULARITY_RECOMME __pyx_mstate_global->__pyx_n_s_CU_MEM_ALLOC_GRANULARITY_RECOMME
#define __pyx_n_s_CU_MEM_ATTACH_GLOBAL __pyx_mstate_global->__pyx_n_s_CU_MEM_ATTACH_GLOBAL
#define __pyx_n_s_CU_MEM_ATTACH_HOST __pyx_mstate_global->__pyx_n_s_CU_MEM_ATTACH_HOST
#define __pyx_n_s_CU_MEM_ATTACH_SINGLE __pyx_mstate_global->__pyx_n_s_CU_MEM_ATTACH_SINGLE
#define __pyx_n_s_CU_MEM_CREATE_USAGE_TILE_POOL __pyx_mstate_global->__pyx_n_s_CU_MEM_CREATE_USAGE_TILE_POOL
#define __pyx_n_s_CU_MEM_HANDLE_TYPE_FABRIC __pyx_mstate_global->__pyx_n_s_CU_MEM_HANDLE_TYPE_FABRIC
#define __pyx_n_s_CU_MEM_HANDLE_TYPE_GENERIC __pyx_mstate_global->__pyx_n_s_CU_MEM_HANDLE_TYPE_GENERIC
#define __pyx_n_s_CU_MEM_HANDLE_TYPE_MAX __pyx_mstate_global->__pyx_n_s_CU_MEM_HANDLE_TYPE_MAX
#define __pyx_n_s_CU_MEM_HANDLE_TYPE_NONE __pyx_mstate_global->__pyx_n_s_CU_MEM_HANDLE_TYPE_NONE
#define __pyx_n_s_CU_MEM_HANDLE_TYPE_POSIX_FILE_DE __pyx_mstate_global->__pyx_n_s_CU_MEM_HANDLE_TYPE_POSIX_FILE_DE
#define __pyx_n_s_CU_MEM_HANDLE_TYPE_WIN32 __pyx_mstate_global->__pyx_n_s_CU_MEM_HANDLE_TYPE_WIN32
#define __pyx_n_s_CU_MEM_HANDLE_TYPE_WIN32_KMT __pyx_mstate_global->__pyx_n_s_CU_MEM_HANDLE_TYPE_WIN32_KMT
#define __pyx_n_s_CU_MEM_LOCATION_TYPE_DEVICE __pyx_mstate_global->__pyx_n_s_CU_MEM_LOCATION_TYPE_DEVICE
#define __pyx_n_s_CU_MEM_LOCATION_TYPE_HOST __pyx_mstate_global->__pyx_n_s_CU_MEM_LOCATION_TYPE_HOST
#define __pyx_n_s_CU_MEM_LOCATION_TYPE_HOST_NUMA __pyx_mstate_global->__pyx_n_s_CU_MEM_LOCATION_TYPE_HOST_NUMA
#define __pyx_n_s_CU_MEM_LOCATION_TYPE_HOST_NUMA_C __pyx_mstate_global->__pyx_n_s_CU_MEM_LOCATION_TYPE_HOST_NUMA_C
#define __pyx_n_s_CU_MEM_LOCATION_TYPE_INVALID __pyx_mstate_global->__pyx_n_s_CU_MEM_LOCATION_TYPE_INVALID
#define __pyx_n_s_CU_MEM_LOCATION_TYPE_MAX __pyx_mstate_global->__pyx_n_s_CU_MEM_LOCATION_TYPE_MAX
#define __pyx_n_s_CU_MEM_OPERATION_TYPE_MAP __pyx_mstate_global->__pyx_n_s_CU_MEM_OPERATION_TYPE_MAP
#define __pyx_n_s_CU_MEM_OPERATION_TYPE_UNMAP __pyx_mstate_global->__pyx_n_s_CU_MEM_OPERATION_TYPE_UNMAP
#define __pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_ACCESSED __pyx_mstate_global->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_ACCESSED
#define __pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF __pyx_mstate_global->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF
#define __pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_2 __pyx_mstate_global->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_2
#define __pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_3 __pyx_mstate_global->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_3
#define __pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED __pyx_mstate_global->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED
#define __pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_2 __pyx_mstate_global->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_2
#define __pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_3 __pyx_mstate_global->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_3
#define __pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_READ_MOST __pyx_mstate_global->__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_READ_MOST
#define __pyx_n_s_CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF __pyx_mstate_global->__pyx_n_s_CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF
#define __pyx_n_s_CU_MEM_RANGE_HANDLE_TYPE_MAX __pyx_mstate_global->__pyx_n_s_CU_MEM_RANGE_HANDLE_TYPE_MAX
#define __pyx_n_s_CU_MODULE_EAGER_LOADING __pyx_mstate_global->__pyx_n_s_CU_MODULE_EAGER_LOADING
#define __pyx_n_s_CU_MODULE_LAZY_LOADING __pyx_mstate_global->__pyx_n_s_CU_MODULE_LAZY_LOADING
#define __pyx_n_s_CU_MULTICAST_GRANULARITY_MINIMUM __pyx_mstate_global->__pyx_n_s_CU_MULTICAST_GRANULARITY_MINIMUM
#define __pyx_n_s_CU_MULTICAST_GRANULARITY_RECOMME __pyx_mstate_global->__pyx_n_s_CU_MULTICAST_GRANULARITY_RECOMME
#define __pyx_n_s_CU_OCCUPANCY_DEFAULT __pyx_mstate_global->__pyx_n_s_CU_OCCUPANCY_DEFAULT
#define __pyx_n_s_CU_OCCUPANCY_DISABLE_CACHING_OVE __pyx_mstate_global->__pyx_n_s_CU_OCCUPANCY_DISABLE_CACHING_OVE
#define __pyx_n_s_CU_OUT_CSV __pyx_mstate_global->__pyx_n_s_CU_OUT_CSV
#define __pyx_n_s_CU_OUT_KEY_VALUE_PAIR __pyx_mstate_global->__pyx_n_s_CU_OUT_KEY_VALUE_PAIR
#define __pyx_n_s_CU_PARAM_TR_DEFAULT __pyx_mstate_global->__pyx_n_s_CU_PARAM_TR_DEFAULT
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_2 __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_2
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_3 __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_3
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_4 __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_4
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_ALLOWED_HAN __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_ALLOWED_HAN
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_BUFFER_ID __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_BUFFER_ID
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_CONTEXT __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_CONTEXT
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_DEVICE_ORDI __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_DEVICE_ORDI
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_DEVICE_POIN __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_DEVICE_POIN
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_HOST_POINTE __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_HOST_POINTE
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_IS_GPU_DIRE __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_IS_GPU_DIRE
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_IS_LEGACY_C __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_IS_LEGACY_C
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_IS_MANAGED __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_IS_MANAGED
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPED __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPED
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPING_BAS __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPING_BAS
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPING_SIZ __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPING_SIZ
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_MEMORY_BLOC __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_MEMORY_BLOC
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_MEMORY_TYPE __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_MEMORY_TYPE
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_MEMPOOL_HAN __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_MEMPOOL_HAN
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_P2P_TOKENS __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_P2P_TOKENS
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_RANGE_SIZE __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_RANGE_SIZE
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_RANGE_START __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_RANGE_START
#define __pyx_n_s_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS __pyx_mstate_global->__pyx_n_s_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS
#define __pyx_n_s_CU_PREFER_BINARY __pyx_mstate_global->__pyx_n_s_CU_PREFER_BINARY
#define __pyx_n_s_CU_PREFER_PTX __pyx_mstate_global->__pyx_n_s_CU_PREFER_PTX
#define __pyx_n_s_CU_RESOURCE_TYPE_ARRAY __pyx_mstate_global->__pyx_n_s_CU_RESOURCE_TYPE_ARRAY
#define __pyx_n_s_CU_RESOURCE_TYPE_LINEAR __pyx_mstate_global->__pyx_n_s_CU_RESOURCE_TYPE_LINEAR
#define __pyx_n_s_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY __pyx_mstate_global->__pyx_n_s_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY
#define __pyx_n_s_CU_RESOURCE_TYPE_PITCH2D __pyx_mstate_global->__pyx_n_s_CU_RESOURCE_TYPE_PITCH2D
#define __pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_1X16 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_1X16
#define __pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_1X32 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_1X32
#define __pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_2X16 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_2X16
#define __pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_2X32 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_2X32
#define __pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_4X16 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_4X16
#define __pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_4X32 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_4X32
#define __pyx_n_s_CU_RES_VIEW_FORMAT_NONE __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_NONE
#define __pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC4 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC4
#define __pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC5 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC5
#define __pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC6H __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC6H
#define __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X16 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X16
#define __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X32 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X32
#define __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X8 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X8
#define __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X16 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X16
#define __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X32 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X32
#define __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X8 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X8
#define __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X16 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X16
#define __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X32 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X32
#define __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X8 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X8
#define __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X16 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X16
#define __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X32 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X32
#define __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X8 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X8
#define __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X16 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X16
#define __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X32 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X32
#define __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X8 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X8
#define __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X16 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X16
#define __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X32 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X32
#define __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X8 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X8
#define __pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC1 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC1
#define __pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC2 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC2
#define __pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC3 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC3
#define __pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC4 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC4
#define __pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC5 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC5
#define __pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H
#define __pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC7 __pyx_mstate_global->__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC7
#define __pyx_n_s_CU_SHAREDMEM_CARVEOUT_DEFAULT __pyx_mstate_global->__pyx_n_s_CU_SHAREDMEM_CARVEOUT_DEFAULT
#define __pyx_n_s_CU_SHAREDMEM_CARVEOUT_MAX_L1 __pyx_mstate_global->__pyx_n_s_CU_SHAREDMEM_CARVEOUT_MAX_L1
#define __pyx_n_s_CU_SHAREDMEM_CARVEOUT_MAX_SHARED __pyx_mstate_global->__pyx_n_s_CU_SHAREDMEM_CARVEOUT_MAX_SHARED
#define __pyx_n_s_CU_SHARED_MEM_CONFIG_DEFAULT_BAN __pyx_mstate_global->__pyx_n_s_CU_SHARED_MEM_CONFIG_DEFAULT_BAN
#define __pyx_n_s_CU_SHARED_MEM_CONFIG_EIGHT_BYTE __pyx_mstate_global->__pyx_n_s_CU_SHARED_MEM_CONFIG_EIGHT_BYTE
#define __pyx_n_s_CU_SHARED_MEM_CONFIG_FOUR_BYTE_B __pyx_mstate_global->__pyx_n_s_CU_SHARED_MEM_CONFIG_FOUR_BYTE_B
#define __pyx_n_s_CU_STREAM_ADD_CAPTURE_DEPENDENCI __pyx_mstate_global->__pyx_n_s_CU_STREAM_ADD_CAPTURE_DEPENDENCI
#define __pyx_n_s_CU_STREAM_ATTRIBUTE_ACCESS_POLIC __pyx_mstate_global->__pyx_n_s_CU_STREAM_ATTRIBUTE_ACCESS_POLIC
#define __pyx_n_s_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM __pyx_mstate_global->__pyx_n_s_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM
#define __pyx_n_s_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM_2 __pyx_mstate_global->__pyx_n_s_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM_2
#define __pyx_n_s_CU_STREAM_ATTRIBUTE_PRIORITY __pyx_mstate_global->__pyx_n_s_CU_STREAM_ATTRIBUTE_PRIORITY
#define __pyx_n_s_CU_STREAM_ATTRIBUTE_SYNCHRONIZAT __pyx_mstate_global->__pyx_n_s_CU_STREAM_ATTRIBUTE_SYNCHRONIZAT
#define __pyx_n_s_CU_STREAM_CAPTURE_MODE_GLOBAL __pyx_mstate_global->__pyx_n_s_CU_STREAM_CAPTURE_MODE_GLOBAL
#define __pyx_n_s_CU_STREAM_CAPTURE_MODE_RELAXED __pyx_mstate_global->__pyx_n_s_CU_STREAM_CAPTURE_MODE_RELAXED
#define __pyx_n_s_CU_STREAM_CAPTURE_MODE_THREAD_LO __pyx_mstate_global->__pyx_n_s_CU_STREAM_CAPTURE_MODE_THREAD_LO
#define __pyx_n_s_CU_STREAM_CAPTURE_STATUS_ACTIVE __pyx_mstate_global->__pyx_n_s_CU_STREAM_CAPTURE_STATUS_ACTIVE
#define __pyx_n_s_CU_STREAM_CAPTURE_STATUS_INVALID __pyx_mstate_global->__pyx_n_s_CU_STREAM_CAPTURE_STATUS_INVALID
#define __pyx_n_s_CU_STREAM_CAPTURE_STATUS_NONE __pyx_mstate_global->__pyx_n_s_CU_STREAM_CAPTURE_STATUS_NONE
#define __pyx_n_s_CU_STREAM_DEFAULT __pyx_mstate_global->__pyx_n_s_CU_STREAM_DEFAULT
#define __pyx_n_s_CU_STREAM_LEGACY __pyx_mstate_global->__pyx_n_s_CU_STREAM_LEGACY
#define __pyx_n_s_CU_STREAM_MEMORY_BARRIER_TYPE_GP __pyx_mstate_global->__pyx_n_s_CU_STREAM_MEMORY_BARRIER_TYPE_GP
#define __pyx_n_s_CU_STREAM_MEMORY_BARRIER_TYPE_SY __pyx_mstate_global->__pyx_n_s_CU_STREAM_MEMORY_BARRIER_TYPE_SY
#define __pyx_n_s_CU_STREAM_MEM_OP_BARRIER __pyx_mstate_global->__pyx_n_s_CU_STREAM_MEM_OP_BARRIER
#define __pyx_n_s_CU_STREAM_MEM_OP_FLUSH_REMOTE_WR __pyx_mstate_global->__pyx_n_s_CU_STREAM_MEM_OP_FLUSH_REMOTE_WR
#define __pyx_n_s_CU_STREAM_MEM_OP_WAIT_VALUE_32 __pyx_mstate_global->__pyx_n_s_CU_STREAM_MEM_OP_WAIT_VALUE_32
#define __pyx_n_s_CU_STREAM_MEM_OP_WAIT_VALUE_64 __pyx_mstate_global->__pyx_n_s_CU_STREAM_MEM_OP_WAIT_VALUE_64
#define __pyx_n_s_CU_STREAM_MEM_OP_WRITE_VALUE_32 __pyx_mstate_global->__pyx_n_s_CU_STREAM_MEM_OP_WRITE_VALUE_32
#define __pyx_n_s_CU_STREAM_MEM_OP_WRITE_VALUE_64 __pyx_mstate_global->__pyx_n_s_CU_STREAM_MEM_OP_WRITE_VALUE_64
#define __pyx_n_s_CU_STREAM_NON_BLOCKING __pyx_mstate_global->__pyx_n_s_CU_STREAM_NON_BLOCKING
#define __pyx_n_s_CU_STREAM_PER_THREAD __pyx_mstate_global->__pyx_n_s_CU_STREAM_PER_THREAD
#define __pyx_n_s_CU_STREAM_SET_CAPTURE_DEPENDENCI __pyx_mstate_global->__pyx_n_s_CU_STREAM_SET_CAPTURE_DEPENDENCI
#define __pyx_n_s_CU_STREAM_WAIT_VALUE_AND __pyx_mstate_global->__pyx_n_s_CU_STREAM_WAIT_VALUE_AND
#define __pyx_n_s_CU_STREAM_WAIT_VALUE_EQ __pyx_mstate_global->__pyx_n_s_CU_STREAM_WAIT_VALUE_EQ
#define __pyx_n_s_CU_STREAM_WAIT_VALUE_FLUSH __pyx_mstate_global->__pyx_n_s_CU_STREAM_WAIT_VALUE_FLUSH
#define __pyx_n_s_CU_STREAM_WAIT_VALUE_GEQ __pyx_mstate_global->__pyx_n_s_CU_STREAM_WAIT_VALUE_GEQ
#define __pyx_n_s_CU_STREAM_WAIT_VALUE_NOR __pyx_mstate_global->__pyx_n_s_CU_STREAM_WAIT_VALUE_NOR
#define __pyx_n_s_CU_STREAM_WRITE_VALUE_DEFAULT __pyx_mstate_global->__pyx_n_s_CU_STREAM_WRITE_VALUE_DEFAULT
#define __pyx_n_s_CU_STREAM_WRITE_VALUE_NO_MEMORY __pyx_mstate_global->__pyx_n_s_CU_STREAM_WRITE_VALUE_NO_MEMORY
#define __pyx_n_s_CU_SYNC_POLICY_AUTO __pyx_mstate_global->__pyx_n_s_CU_SYNC_POLICY_AUTO
#define __pyx_n_s_CU_SYNC_POLICY_BLOCKING_SYNC __pyx_mstate_global->__pyx_n_s_CU_SYNC_POLICY_BLOCKING_SYNC
#define __pyx_n_s_CU_SYNC_POLICY_SPIN __pyx_mstate_global->__pyx_n_s_CU_SYNC_POLICY_SPIN
#define __pyx_n_s_CU_SYNC_POLICY_YIELD __pyx_mstate_global->__pyx_n_s_CU_SYNC_POLICY_YIELD
#define __pyx_n_s_CU_TARGET_COMPUTE_30 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_30
#define __pyx_n_s_CU_TARGET_COMPUTE_32 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_32
#define __pyx_n_s_CU_TARGET_COMPUTE_35 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_35
#define __pyx_n_s_CU_TARGET_COMPUTE_37 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_37
#define __pyx_n_s_CU_TARGET_COMPUTE_50 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_50
#define __pyx_n_s_CU_TARGET_COMPUTE_52 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_52
#define __pyx_n_s_CU_TARGET_COMPUTE_53 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_53
#define __pyx_n_s_CU_TARGET_COMPUTE_60 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_60
#define __pyx_n_s_CU_TARGET_COMPUTE_61 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_61
#define __pyx_n_s_CU_TARGET_COMPUTE_62 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_62
#define __pyx_n_s_CU_TARGET_COMPUTE_70 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_70
#define __pyx_n_s_CU_TARGET_COMPUTE_72 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_72
#define __pyx_n_s_CU_TARGET_COMPUTE_75 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_75
#define __pyx_n_s_CU_TARGET_COMPUTE_80 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_80
#define __pyx_n_s_CU_TARGET_COMPUTE_86 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_86
#define __pyx_n_s_CU_TARGET_COMPUTE_87 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_87
#define __pyx_n_s_CU_TARGET_COMPUTE_89 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_89
#define __pyx_n_s_CU_TARGET_COMPUTE_90 __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_90
#define __pyx_n_s_CU_TARGET_COMPUTE_90A __pyx_mstate_global->__pyx_n_s_CU_TARGET_COMPUTE_90A
#define __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_BFLOAT16
#define __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT16 __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT16
#define __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT32 __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT32
#define __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT32_2 __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT32_2
#define __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT64 __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT64
#define __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_INT32 __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_INT32
#define __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_INT64 __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_INT64
#define __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32
#define __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_2 __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_2
#define __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT16 __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT16
#define __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT32 __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT32
#define __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT64 __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT64
#define __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT8 __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT8
#define __pyx_n_s_CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN
#define __pyx_n_s_CU_TENSOR_MAP_FLOAT_OOB_FILL_NON __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_FLOAT_OOB_FILL_NON
#define __pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_16B __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_16B
#define __pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_32B __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_32B
#define __pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_NONE __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_NONE
#define __pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_12 __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_12
#define __pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_25 __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_25
#define __pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_64 __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_64
#define __pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_NONE __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_NONE
#define __pyx_n_s_CU_TENSOR_MAP_NUM_QWORDS __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_NUM_QWORDS
#define __pyx_n_s_CU_TENSOR_MAP_SWIZZLE_128B __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_128B
#define __pyx_n_s_CU_TENSOR_MAP_SWIZZLE_32B __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_32B
#define __pyx_n_s_CU_TENSOR_MAP_SWIZZLE_64B __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_64B
#define __pyx_n_s_CU_TENSOR_MAP_SWIZZLE_NONE __pyx_mstate_global->__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_NONE
#define __pyx_n_s_CU_TRSA_OVERRIDE_FORMAT __pyx_mstate_global->__pyx_n_s_CU_TRSA_OVERRIDE_FORMAT
#define __pyx_n_s_CU_TRSF_DISABLE_TRILINEAR_OPTIMI __pyx_mstate_global->__pyx_n_s_CU_TRSF_DISABLE_TRILINEAR_OPTIMI
#define __pyx_n_s_CU_TRSF_NORMALIZED_COORDINATES __pyx_mstate_global->__pyx_n_s_CU_TRSF_NORMALIZED_COORDINATES
#define __pyx_n_s_CU_TRSF_READ_AS_INTEGER __pyx_mstate_global->__pyx_n_s_CU_TRSF_READ_AS_INTEGER
#define __pyx_n_s_CU_TRSF_SEAMLESS_CUBEMAP __pyx_mstate_global->__pyx_n_s_CU_TRSF_SEAMLESS_CUBEMAP
#define __pyx_n_s_CU_TRSF_SRGB __pyx_mstate_global->__pyx_n_s_CU_TRSF_SRGB
#define __pyx_n_s_CU_TR_ADDRESS_MODE_BORDER __pyx_mstate_global->__pyx_n_s_CU_TR_ADDRESS_MODE_BORDER
#define __pyx_n_s_CU_TR_ADDRESS_MODE_CLAMP __pyx_mstate_global->__pyx_n_s_CU_TR_ADDRESS_MODE_CLAMP
#define __pyx_n_s_CU_TR_ADDRESS_MODE_MIRROR __pyx_mstate_global->__pyx_n_s_CU_TR_ADDRESS_MODE_MIRROR
#define __pyx_n_s_CU_TR_ADDRESS_MODE_WRAP __pyx_mstate_global->__pyx_n_s_CU_TR_ADDRESS_MODE_WRAP
#define __pyx_n_s_CU_TR_FILTER_MODE_LINEAR __pyx_mstate_global->__pyx_n_s_CU_TR_FILTER_MODE_LINEAR
#define __pyx_n_s_CU_TR_FILTER_MODE_POINT __pyx_mstate_global->__pyx_n_s_CU_TR_FILTER_MODE_POINT
#define __pyx_n_s_CU_USER_OBJECT_NO_DESTRUCTOR_SYN __pyx_mstate_global->__pyx_n_s_CU_USER_OBJECT_NO_DESTRUCTOR_SYN
#define __pyx_n_s_CUaccessPolicyWindow __pyx_mstate_global->__pyx_n_s_CUaccessPolicyWindow
#define __pyx_n_s_CUaccessPolicyWindow_st __pyx_mstate_global->__pyx_n_s_CUaccessPolicyWindow_st
#define __pyx_n_s_CUaccessPolicyWindow_st___reduce __pyx_mstate_global->__pyx_n_s_CUaccessPolicyWindow_st___reduce
#define __pyx_n_s_CUaccessPolicyWindow_st___setsta __pyx_mstate_global->__pyx_n_s_CUaccessPolicyWindow_st___setsta
#define __pyx_n_s_CUaccessPolicyWindow_st_getPtr __pyx_mstate_global->__pyx_n_s_CUaccessPolicyWindow_st_getPtr
#define __pyx_n_s_CUaccessPolicyWindow_v1 __pyx_mstate_global->__pyx_n_s_CUaccessPolicyWindow_v1
#define __pyx_n_s_CUaccessProperty __pyx_mstate_global->__pyx_n_s_CUaccessProperty
#define __pyx_n_s_CUaddress_mode __pyx_mstate_global->__pyx_n_s_CUaddress_mode
#define __pyx_kp_u_CUarray __pyx_mstate_global->__pyx_kp_u_CUarray
#define __pyx_n_s_CUarrayMapInfo __pyx_mstate_global->__pyx_n_s_CUarrayMapInfo
#define __pyx_n_s_CUarrayMapInfo_st __pyx_mstate_global->__pyx_n_s_CUarrayMapInfo_st
#define __pyx_n_s_CUarrayMapInfo_st___reduce_cytho __pyx_mstate_global->__pyx_n_s_CUarrayMapInfo_st___reduce_cytho
#define __pyx_n_s_CUarrayMapInfo_st___setstate_cyt __pyx_mstate_global->__pyx_n_s_CUarrayMapInfo_st___setstate_cyt
#define __pyx_n_s_CUarrayMapInfo_st_getPtr __pyx_mstate_global->__pyx_n_s_CUarrayMapInfo_st_getPtr
#define __pyx_n_s_CUarrayMapInfo_v1 __pyx_mstate_global->__pyx_n_s_CUarrayMapInfo_v1
#define __pyx_n_s_CUarraySparseSubresourceType __pyx_mstate_global->__pyx_n_s_CUarraySparseSubresourceType
#define __pyx_n_s_CUarray_2 __pyx_mstate_global->__pyx_n_s_CUarray_2
#define __pyx_n_s_CUarray___reduce_cython __pyx_mstate_global->__pyx_n_s_CUarray___reduce_cython
#define __pyx_n_s_CUarray___setstate_cython __pyx_mstate_global->__pyx_n_s_CUarray___setstate_cython
#define __pyx_n_s_CUarray_cubemap_face __pyx_mstate_global->__pyx_n_s_CUarray_cubemap_face
#define __pyx_n_s_CUarray_format __pyx_mstate_global->__pyx_n_s_CUarray_format
#define __pyx_n_s_CUarray_getPtr __pyx_mstate_global->__pyx_n_s_CUarray_getPtr
#define __pyx_kp_u_CUasyncCallback __pyx_mstate_global->__pyx_kp_u_CUasyncCallback
#define __pyx_kp_u_CUasyncCallbackHandle __pyx_mstate_global->__pyx_kp_u_CUasyncCallbackHandle
#define __pyx_n_s_CUasyncCallbackHandle_2 __pyx_mstate_global->__pyx_n_s_CUasyncCallbackHandle_2
#define __pyx_n_s_CUasyncCallbackHandle___reduce_c __pyx_mstate_global->__pyx_n_s_CUasyncCallbackHandle___reduce_c
#define __pyx_n_s_CUasyncCallbackHandle___setstate __pyx_mstate_global->__pyx_n_s_CUasyncCallbackHandle___setstate
#define __pyx_n_s_CUasyncCallbackHandle_getPtr __pyx_mstate_global->__pyx_n_s_CUasyncCallbackHandle_getPtr
#define __pyx_n_s_CUasyncCallback_2 __pyx_mstate_global->__pyx_n_s_CUasyncCallback_2
#define __pyx_n_s_CUasyncCallback___reduce_cython __pyx_mstate_global->__pyx_n_s_CUasyncCallback___reduce_cython
#define __pyx_n_s_CUasyncCallback___setstate_cytho __pyx_mstate_global->__pyx_n_s_CUasyncCallback___setstate_cytho
#define __pyx_n_s_CUasyncCallback_getPtr __pyx_mstate_global->__pyx_n_s_CUasyncCallback_getPtr
#define __pyx_n_s_CUasyncNotificationInfo __pyx_mstate_global->__pyx_n_s_CUasyncNotificationInfo
#define __pyx_n_s_CUasyncNotificationInfo_st __pyx_mstate_global->__pyx_n_s_CUasyncNotificationInfo_st
#define __pyx_n_s_CUasyncNotificationInfo_st___red __pyx_mstate_global->__pyx_n_s_CUasyncNotificationInfo_st___red
#define __pyx_n_s_CUasyncNotificationInfo_st___set __pyx_mstate_global->__pyx_n_s_CUasyncNotificationInfo_st___set
#define __pyx_n_s_CUasyncNotificationInfo_st_getPt __pyx_mstate_global->__pyx_n_s_CUasyncNotificationInfo_st_getPt
#define __pyx_n_s_CUasyncNotificationType __pyx_mstate_global->__pyx_n_s_CUasyncNotificationType
#define __pyx_n_s_CUclusterSchedulingPolicy __pyx_mstate_global->__pyx_n_s_CUclusterSchedulingPolicy
#define __pyx_n_s_CUcomputemode __pyx_mstate_global->__pyx_n_s_CUcomputemode
#define __pyx_kp_u_CUcontext __pyx_mstate_global->__pyx_kp_u_CUcontext
#define __pyx_n_s_CUcontext_2 __pyx_mstate_global->__pyx_n_s_CUcontext_2
#define __pyx_n_s_CUcontext___reduce_cython __pyx_mstate_global->__pyx_n_s_CUcontext___reduce_cython
#define __pyx_n_s_CUcontext___setstate_cython __pyx_mstate_global->__pyx_n_s_CUcontext___setstate_cython
#define __pyx_n_s_CUcontext_getPtr __pyx_mstate_global->__pyx_n_s_CUcontext_getPtr
#define __pyx_n_s_CUcoredumpSettings __pyx_mstate_global->__pyx_n_s_CUcoredumpSettings
#define __pyx_n_s_CUctx_flags __pyx_mstate_global->__pyx_n_s_CUctx_flags
#define __pyx_n_s_CUdevResource __pyx_mstate_global->__pyx_n_s_CUdevResource
#define __pyx_kp_u_CUdevResourceDesc __pyx_mstate_global->__pyx_kp_u_CUdevResourceDesc
#define __pyx_n_s_CUdevResourceDesc_2 __pyx_mstate_global->__pyx_n_s_CUdevResourceDesc_2
#define __pyx_n_s_CUdevResourceDesc___reduce_cytho __pyx_mstate_global->__pyx_n_s_CUdevResourceDesc___reduce_cytho
#define __pyx_n_s_CUdevResourceDesc___setstate_cyt __pyx_mstate_global->__pyx_n_s_CUdevResourceDesc___setstate_cyt
#define __pyx_n_s_CUdevResourceDesc_getPtr __pyx_mstate_global->__pyx_n_s_CUdevResourceDesc_getPtr
#define __pyx_n_s_CUdevResourceType __pyx_mstate_global->__pyx_n_s_CUdevResourceType
#define __pyx_n_s_CUdevResource_st __pyx_mstate_global->__pyx_n_s_CUdevResource_st
#define __pyx_n_s_CUdevResource_st___reduce_cython __pyx_mstate_global->__pyx_n_s_CUdevResource_st___reduce_cython
#define __pyx_n_s_CUdevResource_st___setstate_cyth __pyx_mstate_global->__pyx_n_s_CUdevResource_st___setstate_cyth
#define __pyx_n_s_CUdevResource_st_getPtr __pyx_mstate_global->__pyx_n_s_CUdevResource_st_getPtr
#define __pyx_n_s_CUdevResource_v1 __pyx_mstate_global->__pyx_n_s_CUdevResource_v1
#define __pyx_n_s_CUdevSmResource __pyx_mstate_global->__pyx_n_s_CUdevSmResource
#define __pyx_n_s_CUdevSmResource_st __pyx_mstate_global->__pyx_n_s_CUdevSmResource_st
#define __pyx_n_s_CUdevSmResource_st___reduce_cyth __pyx_mstate_global->__pyx_n_s_CUdevSmResource_st___reduce_cyth
#define __pyx_n_s_CUdevSmResource_st___setstate_cy __pyx_mstate_global->__pyx_n_s_CUdevSmResource_st___setstate_cy
#define __pyx_n_s_CUdevSmResource_st_getPtr __pyx_mstate_global->__pyx_n_s_CUdevSmResource_st_getPtr
#define __pyx_kp_u_CUdevice __pyx_mstate_global->__pyx_kp_u_CUdevice
#define __pyx_n_s_CUdeviceNumaConfig __pyx_mstate_global->__pyx_n_s_CUdeviceNumaConfig
#define __pyx_n_s_CUdevice_2 __pyx_mstate_global->__pyx_n_s_CUdevice_2
#define __pyx_n_s_CUdevice_P2PAttribute __pyx_mstate_global->__pyx_n_s_CUdevice_P2PAttribute
#define __pyx_n_s_CUdevice___reduce_cython __pyx_mstate_global->__pyx_n_s_CUdevice___reduce_cython
#define __pyx_n_s_CUdevice___setstate_cython __pyx_mstate_global->__pyx_n_s_CUdevice___setstate_cython
#define __pyx_n_s_CUdevice_attribute __pyx_mstate_global->__pyx_n_s_CUdevice_attribute
#define __pyx_n_s_CUdevice_getPtr __pyx_mstate_global->__pyx_n_s_CUdevice_getPtr
#define __pyx_kp_u_CUdevice_v1 __pyx_mstate_global->__pyx_kp_u_CUdevice_v1
#define __pyx_n_s_CUdevice_v1_2 __pyx_mstate_global->__pyx_n_s_CUdevice_v1_2
#define __pyx_n_s_CUdevice_v1___reduce_cython __pyx_mstate_global->__pyx_n_s_CUdevice_v1___reduce_cython
#define __pyx_n_s_CUdevice_v1___setstate_cython __pyx_mstate_global->__pyx_n_s_CUdevice_v1___setstate_cython
#define __pyx_n_s_CUdevice_v1_getPtr __pyx_mstate_global->__pyx_n_s_CUdevice_v1_getPtr
#define __pyx_kp_u_CUdeviceptr __pyx_mstate_global->__pyx_kp_u_CUdeviceptr
#define __pyx_n_s_CUdeviceptr_2 __pyx_mstate_global->__pyx_n_s_CUdeviceptr_2
#define __pyx_n_s_CUdeviceptr___reduce_cython __pyx_mstate_global->__pyx_n_s_CUdeviceptr___reduce_cython
#define __pyx_n_s_CUdeviceptr___setstate_cython __pyx_mstate_global->__pyx_n_s_CUdeviceptr___setstate_cython
#define __pyx_n_s_CUdeviceptr_getPtr __pyx_mstate_global->__pyx_n_s_CUdeviceptr_getPtr
#define __pyx_kp_u_CUdeviceptr_v2 __pyx_mstate_global->__pyx_kp_u_CUdeviceptr_v2
#define __pyx_n_s_CUdeviceptr_v2_2 __pyx_mstate_global->__pyx_n_s_CUdeviceptr_v2_2
#define __pyx_n_s_CUdeviceptr_v2___reduce_cython __pyx_mstate_global->__pyx_n_s_CUdeviceptr_v2___reduce_cython
#define __pyx_n_s_CUdeviceptr_v2___setstate_cython __pyx_mstate_global->__pyx_n_s_CUdeviceptr_v2___setstate_cython
#define __pyx_n_s_CUdeviceptr_v2_getPtr __pyx_mstate_global->__pyx_n_s_CUdeviceptr_v2_getPtr
#define __pyx_n_s_CUdevprop __pyx_mstate_global->__pyx_n_s_CUdevprop
#define __pyx_n_s_CUdevprop_st __pyx_mstate_global->__pyx_n_s_CUdevprop_st
#define __pyx_n_s_CUdevprop_st___reduce_cython __pyx_mstate_global->__pyx_n_s_CUdevprop_st___reduce_cython
#define __pyx_n_s_CUdevprop_st___setstate_cython __pyx_mstate_global->__pyx_n_s_CUdevprop_st___setstate_cython
#define __pyx_n_s_CUdevprop_st_getPtr __pyx_mstate_global->__pyx_n_s_CUdevprop_st_getPtr
#define __pyx_n_s_CUdevprop_v1 __pyx_mstate_global->__pyx_n_s_CUdevprop_v1
#define __pyx_n_s_CUdriverProcAddressQueryResult __pyx_mstate_global->__pyx_n_s_CUdriverProcAddressQueryResult
#define __pyx_n_s_CUdriverProcAddress_flags __pyx_mstate_global->__pyx_n_s_CUdriverProcAddress_flags
#define __pyx_n_s_CUeglColorFormat __pyx_mstate_global->__pyx_n_s_CUeglColorFormat
#define __pyx_n_s_CUeglFrame __pyx_mstate_global->__pyx_n_s_CUeglFrame
#define __pyx_n_s_CUeglFrameType __pyx_mstate_global->__pyx_n_s_CUeglFrameType
#define __pyx_n_s_CUeglFrame_st __pyx_mstate_global->__pyx_n_s_CUeglFrame_st
#define __pyx_n_s_CUeglFrame_st___reduce_cython __pyx_mstate_global->__pyx_n_s_CUeglFrame_st___reduce_cython
#define __pyx_n_s_CUeglFrame_st___setstate_cython __pyx_mstate_global->__pyx_n_s_CUeglFrame_st___setstate_cython
#define __pyx_n_s_CUeglFrame_st_getPtr __pyx_mstate_global->__pyx_n_s_CUeglFrame_st_getPtr
#define __pyx_n_s_CUeglFrame_v1 __pyx_mstate_global->__pyx_n_s_CUeglFrame_v1
#define __pyx_n_s_CUeglResourceLocationFlags __pyx_mstate_global->__pyx_n_s_CUeglResourceLocationFlags
#define __pyx_kp_u_CUeglStreamConnection __pyx_mstate_global->__pyx_kp_u_CUeglStreamConnection
#define __pyx_n_s_CUeglStreamConnection_2 __pyx_mstate_global->__pyx_n_s_CUeglStreamConnection_2
#define __pyx_n_s_CUeglStreamConnection___reduce_c __pyx_mstate_global->__pyx_n_s_CUeglStreamConnection___reduce_c
#define __pyx_n_s_CUeglStreamConnection___setstate __pyx_mstate_global->__pyx_n_s_CUeglStreamConnection___setstate
#define __pyx_n_s_CUeglStreamConnection_getPtr __pyx_mstate_global->__pyx_n_s_CUeglStreamConnection_getPtr
#define __pyx_kp_u_CUevent __pyx_mstate_global->__pyx_kp_u_CUevent
#define __pyx_n_s_CUevent_2 __pyx_mstate_global->__pyx_n_s_CUevent_2
#define __pyx_n_s_CUevent___reduce_cython __pyx_mstate_global->__pyx_n_s_CUevent___reduce_cython
#define __pyx_n_s_CUevent___setstate_cython __pyx_mstate_global->__pyx_n_s_CUevent___setstate_cython
#define __pyx_n_s_CUevent_flags __pyx_mstate_global->__pyx_n_s_CUevent_flags
#define __pyx_n_s_CUevent_getPtr __pyx_mstate_global->__pyx_n_s_CUevent_getPtr
#define __pyx_n_s_CUevent_record_flags __pyx_mstate_global->__pyx_n_s_CUevent_record_flags
#define __pyx_n_s_CUevent_sched_flags __pyx_mstate_global->__pyx_n_s_CUevent_sched_flags
#define __pyx_n_s_CUevent_wait_flags __pyx_mstate_global->__pyx_n_s_CUevent_wait_flags
#define __pyx_n_s_CUexecAffinityParam __pyx_mstate_global->__pyx_n_s_CUexecAffinityParam
#define __pyx_n_s_CUexecAffinityParam_st __pyx_mstate_global->__pyx_n_s_CUexecAffinityParam_st
#define __pyx_n_s_CUexecAffinityParam_st___reduce __pyx_mstate_global->__pyx_n_s_CUexecAffinityParam_st___reduce
#define __pyx_n_s_CUexecAffinityParam_st___setstat __pyx_mstate_global->__pyx_n_s_CUexecAffinityParam_st___setstat
#define __pyx_n_s_CUexecAffinityParam_st_getPtr __pyx_mstate_global->__pyx_n_s_CUexecAffinityParam_st_getPtr
#define __pyx_n_s_CUexecAffinityParam_v1 __pyx_mstate_global->__pyx_n_s_CUexecAffinityParam_v1
#define __pyx_n_s_CUexecAffinitySmCount __pyx_mstate_global->__pyx_n_s_CUexecAffinitySmCount
#define __pyx_n_s_CUexecAffinitySmCount_st __pyx_mstate_global->__pyx_n_s_CUexecAffinitySmCount_st
#define __pyx_n_s_CUexecAffinitySmCount_st___reduc __pyx_mstate_global->__pyx_n_s_CUexecAffinitySmCount_st___reduc
#define __pyx_n_s_CUexecAffinitySmCount_st___setst __pyx_mstate_global->__pyx_n_s_CUexecAffinitySmCount_st___setst
#define __pyx_n_s_CUexecAffinitySmCount_st_getPtr __pyx_mstate_global->__pyx_n_s_CUexecAffinitySmCount_st_getPtr
#define __pyx_n_s_CUexecAffinitySmCount_v1 __pyx_mstate_global->__pyx_n_s_CUexecAffinitySmCount_v1
#define __pyx_n_s_CUexecAffinityType __pyx_mstate_global->__pyx_n_s_CUexecAffinityType
#define __pyx_kp_u_CUexternalMemory __pyx_mstate_global->__pyx_kp_u_CUexternalMemory
#define __pyx_n_s_CUexternalMemoryHandleType __pyx_mstate_global->__pyx_n_s_CUexternalMemoryHandleType
#define __pyx_n_s_CUexternalMemory_2 __pyx_mstate_global->__pyx_n_s_CUexternalMemory_2
#define __pyx_n_s_CUexternalMemory___reduce_cython __pyx_mstate_global->__pyx_n_s_CUexternalMemory___reduce_cython
#define __pyx_n_s_CUexternalMemory___setstate_cyth __pyx_mstate_global->__pyx_n_s_CUexternalMemory___setstate_cyth
#define __pyx_n_s_CUexternalMemory_getPtr __pyx_mstate_global->__pyx_n_s_CUexternalMemory_getPtr
#define __pyx_kp_u_CUexternalSemaphore __pyx_mstate_global->__pyx_kp_u_CUexternalSemaphore
#define __pyx_n_s_CUexternalSemaphoreHandleType __pyx_mstate_global->__pyx_n_s_CUexternalSemaphoreHandleType
#define __pyx_n_s_CUexternalSemaphore_2 __pyx_mstate_global->__pyx_n_s_CUexternalSemaphore_2
#define __pyx_n_s_CUexternalSemaphore___reduce_cyt __pyx_mstate_global->__pyx_n_s_CUexternalSemaphore___reduce_cyt
#define __pyx_n_s_CUexternalSemaphore___setstate_c __pyx_mstate_global->__pyx_n_s_CUexternalSemaphore___setstate_c
#define __pyx_n_s_CUexternalSemaphore_getPtr __pyx_mstate_global->__pyx_n_s_CUexternalSemaphore_getPtr
#define __pyx_n_s_CUfilter_mode __pyx_mstate_global->__pyx_n_s_CUfilter_mode
#define __pyx_n_s_CUflushGPUDirectRDMAWritesOption __pyx_mstate_global->__pyx_n_s_CUflushGPUDirectRDMAWritesOption
#define __pyx_n_s_CUflushGPUDirectRDMAWritesScope __pyx_mstate_global->__pyx_n_s_CUflushGPUDirectRDMAWritesScope
#define __pyx_n_s_CUflushGPUDirectRDMAWritesTarget __pyx_mstate_global->__pyx_n_s_CUflushGPUDirectRDMAWritesTarget
#define __pyx_n_s_CUfunc_cache __pyx_mstate_global->__pyx_n_s_CUfunc_cache
#define __pyx_kp_u_CUfunction __pyx_mstate_global->__pyx_kp_u_CUfunction
#define __pyx_n_s_CUfunctionLoadingState __pyx_mstate_global->__pyx_n_s_CUfunctionLoadingState
#define __pyx_n_s_CUfunction_2 __pyx_mstate_global->__pyx_n_s_CUfunction_2
#define __pyx_n_s_CUfunction___reduce_cython __pyx_mstate_global->__pyx_n_s_CUfunction___reduce_cython
#define __pyx_n_s_CUfunction___setstate_cython __pyx_mstate_global->__pyx_n_s_CUfunction___setstate_cython
#define __pyx_n_s_CUfunction_attribute __pyx_mstate_global->__pyx_n_s_CUfunction_attribute
#define __pyx_n_s_CUfunction_getPtr __pyx_mstate_global->__pyx_n_s_CUfunction_getPtr
#define __pyx_kp_u_CUgraph __pyx_mstate_global->__pyx_kp_u_CUgraph
#define __pyx_kp_u_CUgraphConditionalHandle __pyx_mstate_global->__pyx_kp_u_CUgraphConditionalHandle
#define __pyx_n_s_CUgraphConditionalHandle_2 __pyx_mstate_global->__pyx_n_s_CUgraphConditionalHandle_2
#define __pyx_n_s_CUgraphConditionalHandle___reduc __pyx_mstate_global->__pyx_n_s_CUgraphConditionalHandle___reduc
#define __pyx_n_s_CUgraphConditionalHandle___setst __pyx_mstate_global->__pyx_n_s_CUgraphConditionalHandle___setst
#define __pyx_n_s_CUgraphConditionalHandle_getPtr __pyx_mstate_global->__pyx_n_s_CUgraphConditionalHandle_getPtr
#define __pyx_n_s_CUgraphConditionalNodeType __pyx_mstate_global->__pyx_n_s_CUgraphConditionalNodeType
#define __pyx_n_s_CUgraphDebugDot_flags __pyx_mstate_global->__pyx_n_s_CUgraphDebugDot_flags
#define __pyx_n_s_CUgraphDependencyType __pyx_mstate_global->__pyx_n_s_CUgraphDependencyType
#define __pyx_kp_u_CUgraphDeviceNode __pyx_mstate_global->__pyx_kp_u_CUgraphDeviceNode
#define __pyx_n_s_CUgraphDeviceNode_2 __pyx_mstate_global->__pyx_n_s_CUgraphDeviceNode_2
#define __pyx_n_s_CUgraphDeviceNode___reduce_cytho __pyx_mstate_global->__pyx_n_s_CUgraphDeviceNode___reduce_cytho
#define __pyx_n_s_CUgraphDeviceNode___setstate_cyt __pyx_mstate_global->__pyx_n_s_CUgraphDeviceNode___setstate_cyt
#define __pyx_n_s_CUgraphDeviceNode_getPtr __pyx_mstate_global->__pyx_n_s_CUgraphDeviceNode_getPtr
#define __pyx_n_s_CUgraphEdgeData __pyx_mstate_global->__pyx_n_s_CUgraphEdgeData
#define __pyx_n_s_CUgraphEdgeData_st __pyx_mstate_global->__pyx_n_s_CUgraphEdgeData_st
#define __pyx_n_s_CUgraphEdgeData_st___reduce_cyth __pyx_mstate_global->__pyx_n_s_CUgraphEdgeData_st___reduce_cyth
#define __pyx_n_s_CUgraphEdgeData_st___setstate_cy __pyx_mstate_global->__pyx_n_s_CUgraphEdgeData_st___setstate_cy
#define __pyx_n_s_CUgraphEdgeData_st_getPtr __pyx_mstate_global->__pyx_n_s_CUgraphEdgeData_st_getPtr
#define __pyx_kp_u_CUgraphExec __pyx_mstate_global->__pyx_kp_u_CUgraphExec
#define __pyx_n_s_CUgraphExecUpdateResult __pyx_mstate_global->__pyx_n_s_CUgraphExecUpdateResult
#define __pyx_n_s_CUgraphExecUpdateResultInfo __pyx_mstate_global->__pyx_n_s_CUgraphExecUpdateResultInfo
#define __pyx_n_s_CUgraphExecUpdateResultInfo_st __pyx_mstate_global->__pyx_n_s_CUgraphExecUpdateResultInfo_st
#define __pyx_n_s_CUgraphExecUpdateResultInfo_st_2 __pyx_mstate_global->__pyx_n_s_CUgraphExecUpdateResultInfo_st_2
#define __pyx_n_s_CUgraphExecUpdateResultInfo_st_3 __pyx_mstate_global->__pyx_n_s_CUgraphExecUpdateResultInfo_st_3
#define __pyx_n_s_CUgraphExecUpdateResultInfo_st_g __pyx_mstate_global->__pyx_n_s_CUgraphExecUpdateResultInfo_st_g
#define __pyx_n_s_CUgraphExecUpdateResultInfo_v1 __pyx_mstate_global->__pyx_n_s_CUgraphExecUpdateResultInfo_v1
#define __pyx_n_s_CUgraphExec_2 __pyx_mstate_global->__pyx_n_s_CUgraphExec_2
#define __pyx_n_s_CUgraphExec___reduce_cython __pyx_mstate_global->__pyx_n_s_CUgraphExec___reduce_cython
#define __pyx_n_s_CUgraphExec___setstate_cython __pyx_mstate_global->__pyx_n_s_CUgraphExec___setstate_cython
#define __pyx_n_s_CUgraphExec_getPtr __pyx_mstate_global->__pyx_n_s_CUgraphExec_getPtr
#define __pyx_n_s_CUgraphInstantiateResult __pyx_mstate_global->__pyx_n_s_CUgraphInstantiateResult
#define __pyx_n_s_CUgraphInstantiate_flags __pyx_mstate_global->__pyx_n_s_CUgraphInstantiate_flags
#define __pyx_n_s_CUgraphMem_attribute __pyx_mstate_global->__pyx_n_s_CUgraphMem_attribute
#define __pyx_kp_u_CUgraphNode __pyx_mstate_global->__pyx_kp_u_CUgraphNode
#define __pyx_n_s_CUgraphNodeParams __pyx_mstate_global->__pyx_n_s_CUgraphNodeParams
#define __pyx_n_s_CUgraphNodeParams_st __pyx_mstate_global->__pyx_n_s_CUgraphNodeParams_st
#define __pyx_n_s_CUgraphNodeParams_st___reduce_cy __pyx_mstate_global->__pyx_n_s_CUgraphNodeParams_st___reduce_cy
#define __pyx_n_s_CUgraphNodeParams_st___setstate __pyx_mstate_global->__pyx_n_s_CUgraphNodeParams_st___setstate
#define __pyx_n_s_CUgraphNodeParams_st_getPtr __pyx_mstate_global->__pyx_n_s_CUgraphNodeParams_st_getPtr
#define __pyx_n_s_CUgraphNodeType __pyx_mstate_global->__pyx_n_s_CUgraphNodeType
#define __pyx_n_s_CUgraphNode_2 __pyx_mstate_global->__pyx_n_s_CUgraphNode_2
#define __pyx_n_s_CUgraphNode___reduce_cython __pyx_mstate_global->__pyx_n_s_CUgraphNode___reduce_cython
#define __pyx_n_s_CUgraphNode___setstate_cython __pyx_mstate_global->__pyx_n_s_CUgraphNode___setstate_cython
#define __pyx_n_s_CUgraphNode_getPtr __pyx_mstate_global->__pyx_n_s_CUgraphNode_getPtr
#define __pyx_n_s_CUgraph_2 __pyx_mstate_global->__pyx_n_s_CUgraph_2
#define __pyx_n_s_CUgraph___reduce_cython __pyx_mstate_global->__pyx_n_s_CUgraph___reduce_cython
#define __pyx_n_s_CUgraph___setstate_cython __pyx_mstate_global->__pyx_n_s_CUgraph___setstate_cython
#define __pyx_n_s_CUgraph_getPtr __pyx_mstate_global->__pyx_n_s_CUgraph_getPtr
#define __pyx_n_s_CUgraphicsMapResourceFlags __pyx_mstate_global->__pyx_n_s_CUgraphicsMapResourceFlags
#define __pyx_n_s_CUgraphicsRegisterFlags __pyx_mstate_global->__pyx_n_s_CUgraphicsRegisterFlags
#define __pyx_kp_u_CUgraphicsResource __pyx_mstate_global->__pyx_kp_u_CUgraphicsResource
#define __pyx_n_s_CUgraphicsResource_2 __pyx_mstate_global->__pyx_n_s_CUgraphicsResource_2
#define __pyx_n_s_CUgraphicsResource___reduce_cyth __pyx_mstate_global->__pyx_n_s_CUgraphicsResource___reduce_cyth
#define __pyx_n_s_CUgraphicsResource___setstate_cy __pyx_mstate_global->__pyx_n_s_CUgraphicsResource___setstate_cy
#define __pyx_n_s_CUgraphicsResource_getPtr __pyx_mstate_global->__pyx_n_s_CUgraphicsResource_getPtr
#define __pyx_kp_u_CUgreenCtx __pyx_mstate_global->__pyx_kp_u_CUgreenCtx
#define __pyx_n_s_CUgreenCtxCreate_flags __pyx_mstate_global->__pyx_n_s_CUgreenCtxCreate_flags
#define __pyx_n_s_CUgreenCtx_2 __pyx_mstate_global->__pyx_n_s_CUgreenCtx_2
#define __pyx_n_s_CUgreenCtx___reduce_cython __pyx_mstate_global->__pyx_n_s_CUgreenCtx___reduce_cython
#define __pyx_n_s_CUgreenCtx___setstate_cython __pyx_mstate_global->__pyx_n_s_CUgreenCtx___setstate_cython
#define __pyx_n_s_CUgreenCtx_getPtr __pyx_mstate_global->__pyx_n_s_CUgreenCtx_getPtr
#define __pyx_kp_u_CUhostFn __pyx_mstate_global->__pyx_kp_u_CUhostFn
#define __pyx_n_s_CUhostFn_2 __pyx_mstate_global->__pyx_n_s_CUhostFn_2
#define __pyx_n_s_CUhostFn___reduce_cython __pyx_mstate_global->__pyx_n_s_CUhostFn___reduce_cython
#define __pyx_n_s_CUhostFn___setstate_cython __pyx_mstate_global->__pyx_n_s_CUhostFn___setstate_cython
#define __pyx_n_s_CUhostFn_getPtr __pyx_mstate_global->__pyx_n_s_CUhostFn_getPtr
#define __pyx_n_s_CUipcEventHandle __pyx_mstate_global->__pyx_n_s_CUipcEventHandle
#define __pyx_n_s_CUipcEventHandle_st __pyx_mstate_global->__pyx_n_s_CUipcEventHandle_st
#define __pyx_n_s_CUipcEventHandle_st___reduce_cyt __pyx_mstate_global->__pyx_n_s_CUipcEventHandle_st___reduce_cyt
#define __pyx_n_s_CUipcEventHandle_st___setstate_c __pyx_mstate_global->__pyx_n_s_CUipcEventHandle_st___setstate_c
#define __pyx_n_s_CUipcEventHandle_st_getPtr __pyx_mstate_global->__pyx_n_s_CUipcEventHandle_st_getPtr
#define __pyx_n_s_CUipcEventHandle_v1 __pyx_mstate_global->__pyx_n_s_CUipcEventHandle_v1
#define __pyx_n_s_CUipcMemHandle __pyx_mstate_global->__pyx_n_s_CUipcMemHandle
#define __pyx_n_s_CUipcMemHandle_st __pyx_mstate_global->__pyx_n_s_CUipcMemHandle_st
#define __pyx_n_s_CUipcMemHandle_st___reduce_cytho __pyx_mstate_global->__pyx_n_s_CUipcMemHandle_st___reduce_cytho
#define __pyx_n_s_CUipcMemHandle_st___setstate_cyt __pyx_mstate_global->__pyx_n_s_CUipcMemHandle_st___setstate_cyt
#define __pyx_n_s_CUipcMemHandle_st_getPtr __pyx_mstate_global->__pyx_n_s_CUipcMemHandle_st_getPtr
#define __pyx_n_s_CUipcMemHandle_v1 __pyx_mstate_global->__pyx_n_s_CUipcMemHandle_v1
#define __pyx_n_s_CUipcMem_flags __pyx_mstate_global->__pyx_n_s_CUipcMem_flags
#define __pyx_n_s_CUjitInputType __pyx_mstate_global->__pyx_n_s_CUjitInputType
#define __pyx_n_s_CUjit_cacheMode __pyx_mstate_global->__pyx_n_s_CUjit_cacheMode
#define __pyx_n_s_CUjit_fallback __pyx_mstate_global->__pyx_n_s_CUjit_fallback
#define __pyx_n_s_CUjit_option __pyx_mstate_global->__pyx_n_s_CUjit_option
#define __pyx_n_s_CUjit_target __pyx_mstate_global->__pyx_n_s_CUjit_target
#define __pyx_kp_u_CUkernel __pyx_mstate_global->__pyx_kp_u_CUkernel
#define __pyx_n_s_CUkernelNodeAttrID __pyx_mstate_global->__pyx_n_s_CUkernelNodeAttrID
#define __pyx_n_s_CUkernelNodeAttrValue __pyx_mstate_global->__pyx_n_s_CUkernelNodeAttrValue
#define __pyx_n_s_CUkernelNodeAttrValue_v1 __pyx_mstate_global->__pyx_n_s_CUkernelNodeAttrValue_v1
#define __pyx_n_s_CUkernel_2 __pyx_mstate_global->__pyx_n_s_CUkernel_2
#define __pyx_n_s_CUkernel___reduce_cython __pyx_mstate_global->__pyx_n_s_CUkernel___reduce_cython
#define __pyx_n_s_CUkernel___setstate_cython __pyx_mstate_global->__pyx_n_s_CUkernel___setstate_cython
#define __pyx_n_s_CUkernel_getPtr __pyx_mstate_global->__pyx_n_s_CUkernel_getPtr
#define __pyx_n_s_CUlaunchAttribute __pyx_mstate_global->__pyx_n_s_CUlaunchAttribute
#define __pyx_n_s_CUlaunchAttributeID __pyx_mstate_global->__pyx_n_s_CUlaunchAttributeID
#define __pyx_n_s_CUlaunchAttributeValue __pyx_mstate_global->__pyx_n_s_CUlaunchAttributeValue
#define __pyx_n_s_CUlaunchAttributeValue_union __pyx_mstate_global->__pyx_n_s_CUlaunchAttributeValue_union
#define __pyx_n_s_CUlaunchAttributeValue_union___r __pyx_mstate_global->__pyx_n_s_CUlaunchAttributeValue_union___r
#define __pyx_n_s_CUlaunchAttributeValue_union___s __pyx_mstate_global->__pyx_n_s_CUlaunchAttributeValue_union___s
#define __pyx_n_s_CUlaunchAttributeValue_union_get __pyx_mstate_global->__pyx_n_s_CUlaunchAttributeValue_union_get
#define __pyx_n_s_CUlaunchAttribute_st __pyx_mstate_global->__pyx_n_s_CUlaunchAttribute_st
#define __pyx_n_s_CUlaunchAttribute_st___reduce_cy __pyx_mstate_global->__pyx_n_s_CUlaunchAttribute_st___reduce_cy
#define __pyx_n_s_CUlaunchAttribute_st___setstate __pyx_mstate_global->__pyx_n_s_CUlaunchAttribute_st___setstate
#define __pyx_n_s_CUlaunchAttribute_st_getPtr __pyx_mstate_global->__pyx_n_s_CUlaunchAttribute_st_getPtr
#define __pyx_n_s_CUlaunchConfig __pyx_mstate_global->__pyx_n_s_CUlaunchConfig
#define __pyx_n_s_CUlaunchConfig_st __pyx_mstate_global->__pyx_n_s_CUlaunchConfig_st
#define __pyx_n_s_CUlaunchConfig_st___reduce_cytho __pyx_mstate_global->__pyx_n_s_CUlaunchConfig_st___reduce_cytho
#define __pyx_n_s_CUlaunchConfig_st___setstate_cyt __pyx_mstate_global->__pyx_n_s_CUlaunchConfig_st___setstate_cyt
#define __pyx_n_s_CUlaunchConfig_st_getPtr __pyx_mstate_global->__pyx_n_s_CUlaunchConfig_st_getPtr
#define __pyx_n_s_CUlaunchMemSyncDomain __pyx_mstate_global->__pyx_n_s_CUlaunchMemSyncDomain
#define __pyx_n_s_CUlaunchMemSyncDomainMap __pyx_mstate_global->__pyx_n_s_CUlaunchMemSyncDomainMap
#define __pyx_n_s_CUlaunchMemSyncDomainMap_st __pyx_mstate_global->__pyx_n_s_CUlaunchMemSyncDomainMap_st
#define __pyx_n_s_CUlaunchMemSyncDomainMap_st___re __pyx_mstate_global->__pyx_n_s_CUlaunchMemSyncDomainMap_st___re
#define __pyx_n_s_CUlaunchMemSyncDomainMap_st___se __pyx_mstate_global->__pyx_n_s_CUlaunchMemSyncDomainMap_st___se
#define __pyx_n_s_CUlaunchMemSyncDomainMap_st_getP __pyx_mstate_global->__pyx_n_s_CUlaunchMemSyncDomainMap_st_getP
#define __pyx_kp_u_CUlibrary __pyx_mstate_global->__pyx_kp_u_CUlibrary
#define __pyx_n_s_CUlibraryHostUniversalFunctionAn __pyx_mstate_global->__pyx_n_s_CUlibraryHostUniversalFunctionAn
#define __pyx_n_s_CUlibraryHostUniversalFunctionAn_2 __pyx_mstate_global->__pyx_n_s_CUlibraryHostUniversalFunctionAn_2
#define __pyx_n_s_CUlibraryHostUniversalFunctionAn_3 __pyx_mstate_global->__pyx_n_s_CUlibraryHostUniversalFunctionAn_3
#define __pyx_n_s_CUlibraryHostUniversalFunctionAn_4 __pyx_mstate_global->__pyx_n_s_CUlibraryHostUniversalFunctionAn_4
#define __pyx_n_s_CUlibraryHostUniversalFunctionAn_5 __pyx_mstate_global->__pyx_n_s_CUlibraryHostUniversalFunctionAn_5
#define __pyx_n_s_CUlibraryOption __pyx_mstate_global->__pyx_n_s_CUlibraryOption
#define __pyx_n_s_CUlibrary_2 __pyx_mstate_global->__pyx_n_s_CUlibrary_2
#define __pyx_n_s_CUlibrary___reduce_cython __pyx_mstate_global->__pyx_n_s_CUlibrary___reduce_cython
#define __pyx_n_s_CUlibrary___setstate_cython __pyx_mstate_global->__pyx_n_s_CUlibrary___setstate_cython
#define __pyx_n_s_CUlibrary_getPtr __pyx_mstate_global->__pyx_n_s_CUlibrary_getPtr
#define __pyx_n_s_CUlimit __pyx_mstate_global->__pyx_n_s_CUlimit
#define __pyx_kp_u_CUlinkState __pyx_mstate_global->__pyx_kp_u_CUlinkState
#define __pyx_n_s_CUlinkState_2 __pyx_mstate_global->__pyx_n_s_CUlinkState_2
#define __pyx_n_s_CUlinkState___reduce_cython __pyx_mstate_global->__pyx_n_s_CUlinkState___reduce_cython
#define __pyx_n_s_CUlinkState___setstate_cython __pyx_mstate_global->__pyx_n_s_CUlinkState___setstate_cython
#define __pyx_n_s_CUlinkState_getPtr __pyx_mstate_global->__pyx_n_s_CUlinkState_getPtr
#define __pyx_n_s_CUmemAccessDesc __pyx_mstate_global->__pyx_n_s_CUmemAccessDesc
#define __pyx_n_s_CUmemAccessDesc_st __pyx_mstate_global->__pyx_n_s_CUmemAccessDesc_st
#define __pyx_n_s_CUmemAccessDesc_st___reduce_cyth __pyx_mstate_global->__pyx_n_s_CUmemAccessDesc_st___reduce_cyth
#define __pyx_n_s_CUmemAccessDesc_st___setstate_cy __pyx_mstate_global->__pyx_n_s_CUmemAccessDesc_st___setstate_cy
#define __pyx_n_s_CUmemAccessDesc_st_getPtr __pyx_mstate_global->__pyx_n_s_CUmemAccessDesc_st_getPtr
#define __pyx_n_s_CUmemAccessDesc_v1 __pyx_mstate_global->__pyx_n_s_CUmemAccessDesc_v1
#define __pyx_n_s_CUmemAccess_flags __pyx_mstate_global->__pyx_n_s_CUmemAccess_flags
#define __pyx_n_s_CUmemAllocationCompType __pyx_mstate_global->__pyx_n_s_CUmemAllocationCompType
#define __pyx_n_s_CUmemAllocationGranularity_flags __pyx_mstate_global->__pyx_n_s_CUmemAllocationGranularity_flags
#define __pyx_n_s_CUmemAllocationHandleType __pyx_mstate_global->__pyx_n_s_CUmemAllocationHandleType
#define __pyx_n_s_CUmemAllocationProp __pyx_mstate_global->__pyx_n_s_CUmemAllocationProp
#define __pyx_n_s_CUmemAllocationProp_st __pyx_mstate_global->__pyx_n_s_CUmemAllocationProp_st
#define __pyx_n_s_CUmemAllocationProp_st___reduce __pyx_mstate_global->__pyx_n_s_CUmemAllocationProp_st___reduce
#define __pyx_n_s_CUmemAllocationProp_st___setstat __pyx_mstate_global->__pyx_n_s_CUmemAllocationProp_st___setstat
#define __pyx_n_s_CUmemAllocationProp_st_getPtr __pyx_mstate_global->__pyx_n_s_CUmemAllocationProp_st_getPtr
#define __pyx_n_s_CUmemAllocationProp_v1 __pyx_mstate_global->__pyx_n_s_CUmemAllocationProp_v1
#define __pyx_n_s_CUmemAllocationType __pyx_mstate_global->__pyx_n_s_CUmemAllocationType
#define __pyx_n_s_CUmemAttach_flags __pyx_mstate_global->__pyx_n_s_CUmemAttach_flags
#define __pyx_n_s_CUmemFabricHandle __pyx_mstate_global->__pyx_n_s_CUmemFabricHandle
#define __pyx_n_s_CUmemFabricHandle_st __pyx_mstate_global->__pyx_n_s_CUmemFabricHandle_st
#define __pyx_n_s_CUmemFabricHandle_st___reduce_cy __pyx_mstate_global->__pyx_n_s_CUmemFabricHandle_st___reduce_cy
#define __pyx_n_s_CUmemFabricHandle_st___setstate __pyx_mstate_global->__pyx_n_s_CUmemFabricHandle_st___setstate
#define __pyx_n_s_CUmemFabricHandle_st_getPtr __pyx_mstate_global->__pyx_n_s_CUmemFabricHandle_st_getPtr
#define __pyx_n_s_CUmemFabricHandle_v1 __pyx_mstate_global->__pyx_n_s_CUmemFabricHandle_v1
#define __pyx_kp_u_CUmemGenericAllocationHandle __pyx_mstate_global->__pyx_kp_u_CUmemGenericAllocationHandle
#define __pyx_n_s_CUmemGenericAllocationHandle_2 __pyx_mstate_global->__pyx_n_s_CUmemGenericAllocationHandle_2
#define __pyx_n_s_CUmemGenericAllocationHandle___r __pyx_mstate_global->__pyx_n_s_CUmemGenericAllocationHandle___r
#define __pyx_n_s_CUmemGenericAllocationHandle___s __pyx_mstate_global->__pyx_n_s_CUmemGenericAllocationHandle___s
#define __pyx_n_s_CUmemGenericAllocationHandle_get __pyx_mstate_global->__pyx_n_s_CUmemGenericAllocationHandle_get
#define __pyx_kp_u_CUmemGenericAllocationHandle_v1 __pyx_mstate_global->__pyx_kp_u_CUmemGenericAllocationHandle_v1
#define __pyx_n_s_CUmemGenericAllocationHandle_v1_2 __pyx_mstate_global->__pyx_n_s_CUmemGenericAllocationHandle_v1_2
#define __pyx_n_s_CUmemGenericAllocationHandle_v1_3 __pyx_mstate_global->__pyx_n_s_CUmemGenericAllocationHandle_v1_3
#define __pyx_n_s_CUmemGenericAllocationHandle_v1_4 __pyx_mstate_global->__pyx_n_s_CUmemGenericAllocationHandle_v1_4
#define __pyx_n_s_CUmemGenericAllocationHandle_v1_5 __pyx_mstate_global->__pyx_n_s_CUmemGenericAllocationHandle_v1_5
#define __pyx_n_s_CUmemHandleType __pyx_mstate_global->__pyx_n_s_CUmemHandleType
#define __pyx_n_s_CUmemLocation __pyx_mstate_global->__pyx_n_s_CUmemLocation
#define __pyx_n_s_CUmemLocationType __pyx_mstate_global->__pyx_n_s_CUmemLocationType
#define __pyx_n_s_CUmemLocation_st __pyx_mstate_global->__pyx_n_s_CUmemLocation_st
#define __pyx_n_s_CUmemLocation_st___reduce_cython __pyx_mstate_global->__pyx_n_s_CUmemLocation_st___reduce_cython
#define __pyx_n_s_CUmemLocation_st___setstate_cyth __pyx_mstate_global->__pyx_n_s_CUmemLocation_st___setstate_cyth
#define __pyx_n_s_CUmemLocation_st_getPtr __pyx_mstate_global->__pyx_n_s_CUmemLocation_st_getPtr
#define __pyx_n_s_CUmemLocation_v1 __pyx_mstate_global->__pyx_n_s_CUmemLocation_v1
#define __pyx_n_s_CUmemOperationType __pyx_mstate_global->__pyx_n_s_CUmemOperationType
#define __pyx_n_s_CUmemPoolProps __pyx_mstate_global->__pyx_n_s_CUmemPoolProps
#define __pyx_n_s_CUmemPoolProps_st __pyx_mstate_global->__pyx_n_s_CUmemPoolProps_st
#define __pyx_n_s_CUmemPoolProps_st___reduce_cytho __pyx_mstate_global->__pyx_n_s_CUmemPoolProps_st___reduce_cytho
#define __pyx_n_s_CUmemPoolProps_st___setstate_cyt __pyx_mstate_global->__pyx_n_s_CUmemPoolProps_st___setstate_cyt
#define __pyx_n_s_CUmemPoolProps_st_getPtr __pyx_mstate_global->__pyx_n_s_CUmemPoolProps_st_getPtr
#define __pyx_n_s_CUmemPoolProps_v1 __pyx_mstate_global->__pyx_n_s_CUmemPoolProps_v1
#define __pyx_n_s_CUmemPoolPtrExportData __pyx_mstate_global->__pyx_n_s_CUmemPoolPtrExportData
#define __pyx_n_s_CUmemPoolPtrExportData_st __pyx_mstate_global->__pyx_n_s_CUmemPoolPtrExportData_st
#define __pyx_n_s_CUmemPoolPtrExportData_st___redu __pyx_mstate_global->__pyx_n_s_CUmemPoolPtrExportData_st___redu
#define __pyx_n_s_CUmemPoolPtrExportData_st___sets __pyx_mstate_global->__pyx_n_s_CUmemPoolPtrExportData_st___sets
#define __pyx_n_s_CUmemPoolPtrExportData_st_getPtr __pyx_mstate_global->__pyx_n_s_CUmemPoolPtrExportData_st_getPtr
#define __pyx_n_s_CUmemPoolPtrExportData_v1 __pyx_mstate_global->__pyx_n_s_CUmemPoolPtrExportData_v1
#define __pyx_n_s_CUmemPool_attribute __pyx_mstate_global->__pyx_n_s_CUmemPool_attribute
#define __pyx_n_s_CUmemRangeHandleType __pyx_mstate_global->__pyx_n_s_CUmemRangeHandleType
#define __pyx_n_s_CUmem_advise __pyx_mstate_global->__pyx_n_s_CUmem_advise
#define __pyx_n_s_CUmem_range_attribute __pyx_mstate_global->__pyx_n_s_CUmem_range_attribute
#define __pyx_kp_u_CUmemoryPool __pyx_mstate_global->__pyx_kp_u_CUmemoryPool
#define __pyx_n_s_CUmemoryPool_2 __pyx_mstate_global->__pyx_n_s_CUmemoryPool_2
#define __pyx_n_s_CUmemoryPool___reduce_cython __pyx_mstate_global->__pyx_n_s_CUmemoryPool___reduce_cython
#define __pyx_n_s_CUmemoryPool___setstate_cython __pyx_mstate_global->__pyx_n_s_CUmemoryPool___setstate_cython
#define __pyx_n_s_CUmemoryPool_getPtr __pyx_mstate_global->__pyx_n_s_CUmemoryPool_getPtr
#define __pyx_n_s_CUmemorytype __pyx_mstate_global->__pyx_n_s_CUmemorytype
#define __pyx_kp_u_CUmipmappedArray __pyx_mstate_global->__pyx_kp_u_CUmipmappedArray
#define __pyx_n_s_CUmipmappedArray_2 __pyx_mstate_global->__pyx_n_s_CUmipmappedArray_2
#define __pyx_n_s_CUmipmappedArray___reduce_cython __pyx_mstate_global->__pyx_n_s_CUmipmappedArray___reduce_cython
#define __pyx_n_s_CUmipmappedArray___setstate_cyth __pyx_mstate_global->__pyx_n_s_CUmipmappedArray___setstate_cyth
#define __pyx_n_s_CUmipmappedArray_getPtr __pyx_mstate_global->__pyx_n_s_CUmipmappedArray_getPtr
#define __pyx_kp_u_CUmodule __pyx_mstate_global->__pyx_kp_u_CUmodule
#define __pyx_n_s_CUmoduleLoadingMode __pyx_mstate_global->__pyx_n_s_CUmoduleLoadingMode
#define __pyx_n_s_CUmodule_2 __pyx_mstate_global->__pyx_n_s_CUmodule_2
#define __pyx_n_s_CUmodule___reduce_cython __pyx_mstate_global->__pyx_n_s_CUmodule___reduce_cython
#define __pyx_n_s_CUmodule___setstate_cython __pyx_mstate_global->__pyx_n_s_CUmodule___setstate_cython
#define __pyx_n_s_CUmodule_getPtr __pyx_mstate_global->__pyx_n_s_CUmodule_getPtr
#define __pyx_n_s_CUmulticastGranularity_flags __pyx_mstate_global->__pyx_n_s_CUmulticastGranularity_flags
#define __pyx_n_s_CUmulticastObjectProp __pyx_mstate_global->__pyx_n_s_CUmulticastObjectProp
#define __pyx_n_s_CUmulticastObjectProp_st __pyx_mstate_global->__pyx_n_s_CUmulticastObjectProp_st
#define __pyx_n_s_CUmulticastObjectProp_st___reduc __pyx_mstate_global->__pyx_n_s_CUmulticastObjectProp_st___reduc
#define __pyx_n_s_CUmulticastObjectProp_st___setst __pyx_mstate_global->__pyx_n_s_CUmulticastObjectProp_st___setst
#define __pyx_n_s_CUmulticastObjectProp_st_getPtr __pyx_mstate_global->__pyx_n_s_CUmulticastObjectProp_st_getPtr
#define __pyx_n_s_CUmulticastObjectProp_v1 __pyx_mstate_global->__pyx_n_s_CUmulticastObjectProp_v1
#define __pyx_kp_u_CUoccupancyB2DSize __pyx_mstate_global->__pyx_kp_u_CUoccupancyB2DSize
#define __pyx_n_s_CUoccupancyB2DSize_2 __pyx_mstate_global->__pyx_n_s_CUoccupancyB2DSize_2
#define __pyx_n_s_CUoccupancyB2DSize___reduce_cyth __pyx_mstate_global->__pyx_n_s_CUoccupancyB2DSize___reduce_cyth
#define __pyx_n_s_CUoccupancyB2DSize___setstate_cy __pyx_mstate_global->__pyx_n_s_CUoccupancyB2DSize___setstate_cy
#define __pyx_n_s_CUoccupancyB2DSize_getPtr __pyx_mstate_global->__pyx_n_s_CUoccupancyB2DSize_getPtr
#define __pyx_n_s_CUoccupancy_flags __pyx_mstate_global->__pyx_n_s_CUoccupancy_flags
#define __pyx_n_s_CUoutput_mode __pyx_mstate_global->__pyx_n_s_CUoutput_mode
#define __pyx_n_s_CUpointer_attribute __pyx_mstate_global->__pyx_n_s_CUpointer_attribute
#define __pyx_n_s_CUresourceViewFormat __pyx_mstate_global->__pyx_n_s_CUresourceViewFormat
#define __pyx_n_s_CUresourcetype __pyx_mstate_global->__pyx_n_s_CUresourcetype
#define __pyx_n_s_CUresult __pyx_mstate_global->__pyx_n_s_CUresult
#define __pyx_n_s_CUshared_carveout __pyx_mstate_global->__pyx_n_s_CUshared_carveout
#define __pyx_n_s_CUsharedconfig __pyx_mstate_global->__pyx_n_s_CUsharedconfig
#define __pyx_kp_u_CUstream __pyx_mstate_global->__pyx_kp_u_CUstream
#define __pyx_n_s_CUstreamAttrID __pyx_mstate_global->__pyx_n_s_CUstreamAttrID
#define __pyx_n_s_CUstreamAttrValue __pyx_mstate_global->__pyx_n_s_CUstreamAttrValue
#define __pyx_n_s_CUstreamAttrValue_v1 __pyx_mstate_global->__pyx_n_s_CUstreamAttrValue_v1
#define __pyx_n_s_CUstreamBatchMemOpParams __pyx_mstate_global->__pyx_n_s_CUstreamBatchMemOpParams
#define __pyx_n_s_CUstreamBatchMemOpParams_union __pyx_mstate_global->__pyx_n_s_CUstreamBatchMemOpParams_union
#define __pyx_n_s_CUstreamBatchMemOpParams_union_2 __pyx_mstate_global->__pyx_n_s_CUstreamBatchMemOpParams_union_2
#define __pyx_n_s_CUstreamBatchMemOpParams_union_3 __pyx_mstate_global->__pyx_n_s_CUstreamBatchMemOpParams_union_3
#define __pyx_n_s_CUstreamBatchMemOpParams_union_g __pyx_mstate_global->__pyx_n_s_CUstreamBatchMemOpParams_union_g
#define __pyx_n_s_CUstreamBatchMemOpParams_v1 __pyx_mstate_global->__pyx_n_s_CUstreamBatchMemOpParams_v1
#define __pyx_n_s_CUstreamBatchMemOpType __pyx_mstate_global->__pyx_n_s_CUstreamBatchMemOpType
#define __pyx_kp_u_CUstreamCallback __pyx_mstate_global->__pyx_kp_u_CUstreamCallback
#define __pyx_n_s_CUstreamCallback_2 __pyx_mstate_global->__pyx_n_s_CUstreamCallback_2
#define __pyx_n_s_CUstreamCallback___reduce_cython __pyx_mstate_global->__pyx_n_s_CUstreamCallback___reduce_cython
#define __pyx_n_s_CUstreamCallback___setstate_cyth __pyx_mstate_global->__pyx_n_s_CUstreamCallback___setstate_cyth
#define __pyx_n_s_CUstreamCallback_getPtr __pyx_mstate_global->__pyx_n_s_CUstreamCallback_getPtr
#define __pyx_n_s_CUstreamCaptureMode __pyx_mstate_global->__pyx_n_s_CUstreamCaptureMode
#define __pyx_n_s_CUstreamCaptureStatus __pyx_mstate_global->__pyx_n_s_CUstreamCaptureStatus
#define __pyx_n_s_CUstreamMemOpFlushRemoteWritesPa __pyx_mstate_global->__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa
#define __pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_2 __pyx_mstate_global->__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_2
#define __pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_3 __pyx_mstate_global->__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_3
#define __pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_4 __pyx_mstate_global->__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_4
#define __pyx_n_s_CUstreamMemOpMemoryBarrierParams __pyx_mstate_global->__pyx_n_s_CUstreamMemOpMemoryBarrierParams
#define __pyx_n_s_CUstreamMemOpMemoryBarrierParams_2 __pyx_mstate_global->__pyx_n_s_CUstreamMemOpMemoryBarrierParams_2
#define __pyx_n_s_CUstreamMemOpMemoryBarrierParams_3 __pyx_mstate_global->__pyx_n_s_CUstreamMemOpMemoryBarrierParams_3
#define __pyx_n_s_CUstreamMemOpMemoryBarrierParams_4 __pyx_mstate_global->__pyx_n_s_CUstreamMemOpMemoryBarrierParams_4
#define __pyx_n_s_CUstreamMemOpWaitValueParams_st __pyx_mstate_global->__pyx_n_s_CUstreamMemOpWaitValueParams_st
#define __pyx_n_s_CUstreamMemOpWaitValueParams_st_2 __pyx_mstate_global->__pyx_n_s_CUstreamMemOpWaitValueParams_st_2
#define __pyx_n_s_CUstreamMemOpWaitValueParams_st_3 __pyx_mstate_global->__pyx_n_s_CUstreamMemOpWaitValueParams_st_3
#define __pyx_n_s_CUstreamMemOpWaitValueParams_st_4 __pyx_mstate_global->__pyx_n_s_CUstreamMemOpWaitValueParams_st_4
#define __pyx_n_s_CUstreamMemOpWriteValueParams_st __pyx_mstate_global->__pyx_n_s_CUstreamMemOpWriteValueParams_st
#define __pyx_n_s_CUstreamMemOpWriteValueParams_st_2 __pyx_mstate_global->__pyx_n_s_CUstreamMemOpWriteValueParams_st_2
#define __pyx_n_s_CUstreamMemOpWriteValueParams_st_3 __pyx_mstate_global->__pyx_n_s_CUstreamMemOpWriteValueParams_st_3
#define __pyx_n_s_CUstreamMemOpWriteValueParams_st_4 __pyx_mstate_global->__pyx_n_s_CUstreamMemOpWriteValueParams_st_4
#define __pyx_n_s_CUstreamMemoryBarrier_flags __pyx_mstate_global->__pyx_n_s_CUstreamMemoryBarrier_flags
#define __pyx_n_s_CUstreamUpdateCaptureDependencie __pyx_mstate_global->__pyx_n_s_CUstreamUpdateCaptureDependencie
#define __pyx_n_s_CUstreamWaitValue_flags __pyx_mstate_global->__pyx_n_s_CUstreamWaitValue_flags
#define __pyx_n_s_CUstreamWriteValue_flags __pyx_mstate_global->__pyx_n_s_CUstreamWriteValue_flags
#define __pyx_n_s_CUstream_2 __pyx_mstate_global->__pyx_n_s_CUstream_2
#define __pyx_n_s_CUstream___reduce_cython __pyx_mstate_global->__pyx_n_s_CUstream___reduce_cython
#define __pyx_n_s_CUstream___setstate_cython __pyx_mstate_global->__pyx_n_s_CUstream___setstate_cython
#define __pyx_n_s_CUstream_flags __pyx_mstate_global->__pyx_n_s_CUstream_flags
#define __pyx_n_s_CUstream_getPtr __pyx_mstate_global->__pyx_n_s_CUstream_getPtr
#define __pyx_kp_u_CUsurfObject __pyx_mstate_global->__pyx_kp_u_CUsurfObject
#define __pyx_n_s_CUsurfObject_2 __pyx_mstate_global->__pyx_n_s_CUsurfObject_2
#define __pyx_n_s_CUsurfObject___reduce_cython __pyx_mstate_global->__pyx_n_s_CUsurfObject___reduce_cython
#define __pyx_n_s_CUsurfObject___setstate_cython __pyx_mstate_global->__pyx_n_s_CUsurfObject___setstate_cython
#define __pyx_n_s_CUsurfObject_getPtr __pyx_mstate_global->__pyx_n_s_CUsurfObject_getPtr
#define __pyx_kp_u_CUsurfObject_v1 __pyx_mstate_global->__pyx_kp_u_CUsurfObject_v1
#define __pyx_n_s_CUsurfObject_v1_2 __pyx_mstate_global->__pyx_n_s_CUsurfObject_v1_2
#define __pyx_n_s_CUsurfObject_v1___reduce_cython __pyx_mstate_global->__pyx_n_s_CUsurfObject_v1___reduce_cython
#define __pyx_n_s_CUsurfObject_v1___setstate_cytho __pyx_mstate_global->__pyx_n_s_CUsurfObject_v1___setstate_cytho
#define __pyx_n_s_CUsurfObject_v1_getPtr __pyx_mstate_global->__pyx_n_s_CUsurfObject_v1_getPtr
#define __pyx_kp_u_CUsurfref __pyx_mstate_global->__pyx_kp_u_CUsurfref
#define __pyx_n_s_CUsurfref_2 __pyx_mstate_global->__pyx_n_s_CUsurfref_2
#define __pyx_n_s_CUsurfref___reduce_cython __pyx_mstate_global->__pyx_n_s_CUsurfref___reduce_cython
#define __pyx_n_s_CUsurfref___setstate_cython __pyx_mstate_global->__pyx_n_s_CUsurfref___setstate_cython
#define __pyx_n_s_CUsurfref_getPtr __pyx_mstate_global->__pyx_n_s_CUsurfref_getPtr
#define __pyx_n_s_CUsynchronizationPolicy __pyx_mstate_global->__pyx_n_s_CUsynchronizationPolicy
#define __pyx_n_s_CUtensorMap __pyx_mstate_global->__pyx_n_s_CUtensorMap
#define __pyx_n_s_CUtensorMapDataType __pyx_mstate_global->__pyx_n_s_CUtensorMapDataType
#define __pyx_n_s_CUtensorMapFloatOOBfill __pyx_mstate_global->__pyx_n_s_CUtensorMapFloatOOBfill
#define __pyx_n_s_CUtensorMapInterleave __pyx_mstate_global->__pyx_n_s_CUtensorMapInterleave
#define __pyx_n_s_CUtensorMapL2promotion __pyx_mstate_global->__pyx_n_s_CUtensorMapL2promotion
#define __pyx_n_s_CUtensorMapSwizzle __pyx_mstate_global->__pyx_n_s_CUtensorMapSwizzle
#define __pyx_n_s_CUtensorMap_st __pyx_mstate_global->__pyx_n_s_CUtensorMap_st
#define __pyx_n_s_CUtensorMap_st___reduce_cython __pyx_mstate_global->__pyx_n_s_CUtensorMap_st___reduce_cython
#define __pyx_n_s_CUtensorMap_st___setstate_cython __pyx_mstate_global->__pyx_n_s_CUtensorMap_st___setstate_cython
#define __pyx_n_s_CUtensorMap_st_getPtr __pyx_mstate_global->__pyx_n_s_CUtensorMap_st_getPtr
#define __pyx_kp_u_CUtexObject __pyx_mstate_global->__pyx_kp_u_CUtexObject
#define __pyx_n_s_CUtexObject_2 __pyx_mstate_global->__pyx_n_s_CUtexObject_2
#define __pyx_n_s_CUtexObject___reduce_cython __pyx_mstate_global->__pyx_n_s_CUtexObject___reduce_cython
#define __pyx_n_s_CUtexObject___setstate_cython __pyx_mstate_global->__pyx_n_s_CUtexObject___setstate_cython
#define __pyx_n_s_CUtexObject_getPtr __pyx_mstate_global->__pyx_n_s_CUtexObject_getPtr
#define __pyx_kp_u_CUtexObject_v1 __pyx_mstate_global->__pyx_kp_u_CUtexObject_v1
#define __pyx_n_s_CUtexObject_v1_2 __pyx_mstate_global->__pyx_n_s_CUtexObject_v1_2
#define __pyx_n_s_CUtexObject_v1___reduce_cython __pyx_mstate_global->__pyx_n_s_CUtexObject_v1___reduce_cython
#define __pyx_n_s_CUtexObject_v1___setstate_cython __pyx_mstate_global->__pyx_n_s_CUtexObject_v1___setstate_cython
#define __pyx_n_s_CUtexObject_v1_getPtr __pyx_mstate_global->__pyx_n_s_CUtexObject_v1_getPtr
#define __pyx_kp_u_CUtexref __pyx_mstate_global->__pyx_kp_u_CUtexref
#define __pyx_n_s_CUtexref_2 __pyx_mstate_global->__pyx_n_s_CUtexref_2
#define __pyx_n_s_CUtexref___reduce_cython __pyx_mstate_global->__pyx_n_s_CUtexref___reduce_cython
#define __pyx_n_s_CUtexref___setstate_cython __pyx_mstate_global->__pyx_n_s_CUtexref___setstate_cython
#define __pyx_n_s_CUtexref_getPtr __pyx_mstate_global->__pyx_n_s_CUtexref_getPtr
#define __pyx_kp_u_CUuserObject __pyx_mstate_global->__pyx_kp_u_CUuserObject
#define __pyx_n_s_CUuserObjectRetain_flags __pyx_mstate_global->__pyx_n_s_CUuserObjectRetain_flags
#define __pyx_n_s_CUuserObject_2 __pyx_mstate_global->__pyx_n_s_CUuserObject_2
#define __pyx_n_s_CUuserObject___reduce_cython __pyx_mstate_global->__pyx_n_s_CUuserObject___reduce_cython
#define __pyx_n_s_CUuserObject___setstate_cython __pyx_mstate_global->__pyx_n_s_CUuserObject___setstate_cython
#define __pyx_n_s_CUuserObject_flags __pyx_mstate_global->__pyx_n_s_CUuserObject_flags
#define __pyx_n_s_CUuserObject_getPtr __pyx_mstate_global->__pyx_n_s_CUuserObject_getPtr
#define __pyx_n_s_CUuuid __pyx_mstate_global->__pyx_n_s_CUuuid
#define __pyx_n_s_CUuuid_st __pyx_mstate_global->__pyx_n_s_CUuuid_st
#define __pyx_n_s_CUuuid_st___reduce_cython __pyx_mstate_global->__pyx_n_s_CUuuid_st___reduce_cython
#define __pyx_n_s_CUuuid_st___setstate_cython __pyx_mstate_global->__pyx_n_s_CUuuid_st___setstate_cython
#define __pyx_n_s_CUuuid_st_getPtr __pyx_mstate_global->__pyx_n_s_CUuuid_st_getPtr
#define __pyx_kp_s_Caching_modes_for_dlcm __pyx_mstate_global->__pyx_kp_s_Caching_modes_for_dlcm
#define __pyx_kp_s_Cluster_scheduling_policies_The __pyx_mstate_global->__pyx_kp_s_Cluster_scheduling_policies_The
#define __pyx_kp_s_Compute_Modes __pyx_mstate_global->__pyx_kp_s_Compute_Modes
#define __pyx_kp_s_Conditional_node_types __pyx_mstate_global->__pyx_kp_s_Conditional_node_types
#define __pyx_kp_s_Context_creation_flags __pyx_mstate_global->__pyx_kp_s_Context_creation_flags
#define __pyx_kp_s_Cubin_matching_fallback_strateg __pyx_mstate_global->__pyx_kp_s_Cubin_matching_fallback_strateg
#define __pyx_kp_s_Defines_the_allocation_types_av __pyx_mstate_global->__pyx_kp_s_Defines_the_allocation_types_av
#define __pyx_kp_s_Deprecated_Shared_memory_config __pyx_mstate_global->__pyx_kp_s_Deprecated_Shared_memory_config
#define __pyx_kp_u_Depth __pyx_mstate_global->__pyx_kp_u_Depth
#define __pyx_n_s_Depth_2 __pyx_mstate_global->__pyx_n_s_Depth_2
#define __pyx_kp_u_Depth_ValueError __pyx_mstate_global->__pyx_kp_u_Depth_ValueError
#define __pyx_kp_s_Device_code_formats __pyx_mstate_global->__pyx_kp_s_Device_code_formats
#define __pyx_kp_s_Device_properties __pyx_mstate_global->__pyx_kp_s_Device_properties
#define __pyx_kp_u_EGLImageKHR __pyx_mstate_global->__pyx_kp_u_EGLImageKHR
#define __pyx_n_s_EGLImageKHR_2 __pyx_mstate_global->__pyx_n_s_EGLImageKHR_2
#define __pyx_n_s_EGLImageKHR___reduce_cython __pyx_mstate_global->__pyx_n_s_EGLImageKHR___reduce_cython
#define __pyx_n_s_EGLImageKHR___setstate_cython __pyx_mstate_global->__pyx_n_s_EGLImageKHR___setstate_cython
#define __pyx_n_s_EGLImageKHR_getPtr __pyx_mstate_global->__pyx_n_s_EGLImageKHR_getPtr
#define __pyx_kp_u_EGLStreamKHR __pyx_mstate_global->__pyx_kp_u_EGLStreamKHR
#define __pyx_n_s_EGLStreamKHR_2 __pyx_mstate_global->__pyx_n_s_EGLStreamKHR_2
#define __pyx_n_s_EGLStreamKHR___reduce_cython __pyx_mstate_global->__pyx_n_s_EGLStreamKHR___reduce_cython
#define __pyx_n_s_EGLStreamKHR___setstate_cython __pyx_mstate_global->__pyx_n_s_EGLStreamKHR___setstate_cython
#define __pyx_n_s_EGLStreamKHR_getPtr __pyx_mstate_global->__pyx_n_s_EGLStreamKHR_getPtr
#define __pyx_kp_u_EGLSyncKHR __pyx_mstate_global->__pyx_kp_u_EGLSyncKHR
#define __pyx_n_s_EGLSyncKHR_2 __pyx_mstate_global->__pyx_n_s_EGLSyncKHR_2
#define __pyx_n_s_EGLSyncKHR___reduce_cython __pyx_mstate_global->__pyx_n_s_EGLSyncKHR___reduce_cython
#define __pyx_n_s_EGLSyncKHR___setstate_cython __pyx_mstate_global->__pyx_n_s_EGLSyncKHR___setstate_cython
#define __pyx_n_s_EGLSyncKHR_getPtr __pyx_mstate_global->__pyx_n_s_EGLSyncKHR_getPtr
#define __pyx_kp_u_EGLint __pyx_mstate_global->__pyx_kp_u_EGLint
#define __pyx_n_s_EGLint_2 __pyx_mstate_global->__pyx_n_s_EGLint_2
#define __pyx_n_s_EGLint___reduce_cython __pyx_mstate_global->__pyx_n_s_EGLint___reduce_cython
#define __pyx_n_s_EGLint___setstate_cython __pyx_mstate_global->__pyx_n_s_EGLint___setstate_cython
#define __pyx_n_s_EGLint_getPtr __pyx_mstate_global->__pyx_n_s_EGLint_getPtr
#define __pyx_n_s_ElementSizeBytes __pyx_mstate_global->__pyx_n_s_ElementSizeBytes
#define __pyx_kp_s_Error_codes __pyx_mstate_global->__pyx_kp_s_Error_codes
#define __pyx_kp_s_Event_creation_flags __pyx_mstate_global->__pyx_kp_s_Event_creation_flags
#define __pyx_kp_s_Event_record_flags __pyx_mstate_global->__pyx_kp_s_Event_record_flags
#define __pyx_kp_s_Event_sched_flags __pyx_mstate_global->__pyx_kp_s_Event_sched_flags
#define __pyx_kp_s_Event_wait_flags __pyx_mstate_global->__pyx_kp_s_Event_wait_flags
#define __pyx_kp_s_Execution_Affinity_Types __pyx_mstate_global->__pyx_kp_s_Execution_Affinity_Types
#define __pyx_kp_s_External_memory_handle_types __pyx_mstate_global->__pyx_kp_s_External_memory_handle_types
#define __pyx_kp_s_External_semaphore_handle_types __pyx_mstate_global->__pyx_kp_s_External_semaphore_handle_types
#define __pyx_kp_u_Failed_to_allocate_length_x_size __pyx_mstate_global->__pyx_kp_u_Failed_to_allocate_length_x_size
#define __pyx_kp_s_Flag_for_requesting_different_o __pyx_mstate_global->__pyx_kp_s_Flag_for_requesting_different_o
#define __pyx_kp_u_Flags __pyx_mstate_global->__pyx_kp_u_Flags
#define __pyx_n_s_Flags_2 __pyx_mstate_global->__pyx_n_s_Flags_2
#define __pyx_kp_u_Flags_ValueError __pyx_mstate_global->__pyx_kp_u_Flags_ValueError
#define __pyx_kp_s_Flags_for_choosing_a_coredump_a __pyx_mstate_global->__pyx_kp_s_Flags_for_choosing_a_coredump_a
#define __pyx_kp_s_Flags_for_instantiating_a_graph __pyx_mstate_global->__pyx_kp_s_Flags_for_instantiating_a_graph
#define __pyx_kp_s_Flags_for_mapping_and_unmapping __pyx_mstate_global->__pyx_kp_s_Flags_for_mapping_and_unmapping
#define __pyx_kp_s_Flags_for_py_obj_cuStreamMemory __pyx_mstate_global->__pyx_kp_s_Flags_for_py_obj_cuStreamMemory
#define __pyx_kp_s_Flags_for_py_obj_cuStreamUpdate __pyx_mstate_global->__pyx_kp_s_Flags_for_py_obj_cuStreamUpdate
#define __pyx_kp_s_Flags_for_py_obj_cuStreamWaitVa __pyx_mstate_global->__pyx_kp_s_Flags_for_py_obj_cuStreamWaitVa
#define __pyx_kp_s_Flags_for_py_obj_cuStreamWriteV __pyx_mstate_global->__pyx_kp_s_Flags_for_py_obj_cuStreamWriteV
#define __pyx_kp_s_Flags_for_querying_different_gr __pyx_mstate_global->__pyx_kp_s_Flags_for_querying_different_gr
#define __pyx_kp_s_Flags_for_retaining_user_object __pyx_mstate_global->__pyx_kp_s_Flags_for_retaining_user_object
#define __pyx_kp_s_Flags_for_specifying_particular __pyx_mstate_global->__pyx_kp_s_Flags_for_specifying_particular
#define __pyx_kp_s_Flags_for_user_objects_for_grap __pyx_mstate_global->__pyx_kp_s_Flags_for_user_objects_for_grap
#define __pyx_kp_s_Flags_to_indicate_search_status __pyx_mstate_global->__pyx_kp_s_Flags_to_indicate_search_status
#define __pyx_kp_s_Flags_to_map_or_unmap_a_resourc __pyx_mstate_global->__pyx_kp_s_Flags_to_map_or_unmap_a_resourc
#define __pyx_kp_s_Flags_to_register_a_graphics_re __pyx_mstate_global->__pyx_kp_s_Flags_to_register_a_graphics_re
#define __pyx_kp_s_Flags_to_specify_search_options __pyx_mstate_global->__pyx_kp_s_Flags_to_specify_search_options
#define __pyx_kp_u_Format __pyx_mstate_global->__pyx_kp_u_Format
#define __pyx_n_s_Format_2 __pyx_mstate_global->__pyx_n_s_Format_2
#define __pyx_kp_u_Format_ValueError __pyx_mstate_global->__pyx_kp_u_Format_ValueError
#define __pyx_kp_s_Function_cache_configurations __pyx_mstate_global->__pyx_kp_s_Function_cache_configurations
#define __pyx_kp_s_Function_properties __pyx_mstate_global->__pyx_kp_s_Function_properties
#define __pyx_kp_u_GLenum __pyx_mstate_global->__pyx_kp_u_GLenum
#define __pyx_n_s_GLenum_2 __pyx_mstate_global->__pyx_n_s_GLenum_2
#define __pyx_n_s_GLenum___reduce_cython __pyx_mstate_global->__pyx_n_s_GLenum___reduce_cython
#define __pyx_n_s_GLenum___setstate_cython __pyx_mstate_global->__pyx_n_s_GLenum___setstate_cython
#define __pyx_n_s_GLenum_getPtr __pyx_mstate_global->__pyx_n_s_GLenum_getPtr
#define __pyx_kp_u_GLuint __pyx_mstate_global->__pyx_kp_u_GLuint
#define __pyx_n_s_GLuint_2 __pyx_mstate_global->__pyx_n_s_GLuint_2
#define __pyx_n_s_GLuint___reduce_cython __pyx_mstate_global->__pyx_n_s_GLuint___reduce_cython
#define __pyx_n_s_GLuint___setstate_cython __pyx_mstate_global->__pyx_n_s_GLuint___setstate_cython
#define __pyx_n_s_GLuint_getPtr __pyx_mstate_global->__pyx_n_s_GLuint_getPtr
#define __pyx_kp_s_Graph_instantiation_results __pyx_mstate_global->__pyx_kp_s_Graph_instantiation_results
#define __pyx_kp_s_Graph_node_types __pyx_mstate_global->__pyx_kp_s_Graph_node_types
#define __pyx_kp_u_Height __pyx_mstate_global->__pyx_kp_u_Height
#define __pyx_n_s_Height_2 __pyx_mstate_global->__pyx_n_s_Height_2
#define __pyx_kp_u_Height_ValueError __pyx_mstate_global->__pyx_kp_u_Height_ValueError
#define __pyx_n_s_IndexError __pyx_mstate_global->__pyx_n_s_IndexError
#define __pyx_n_s_IntEnum __pyx_mstate_global->__pyx_n_s_IntEnum
#define __pyx_kp_s_Launch_attributes_enum_used_as __pyx_mstate_global->__pyx_kp_s_Launch_attributes_enum_used_as
#define __pyx_kp_s_Library_options_to_be_specified __pyx_mstate_global->__pyx_kp_s_Library_options_to_be_specified
#define __pyx_kp_s_Limits __pyx_mstate_global->__pyx_kp_s_Limits
#define __pyx_n_s_List __pyx_mstate_global->__pyx_n_s_List
#define __pyx_kp_s_List_int __pyx_mstate_global->__pyx_kp_s_List_int
#define __pyx_kp_u_List_is_too_small __pyx_mstate_global->__pyx_kp_u_List_is_too_small
#define __pyx_n_s_MAX_PLANES __pyx_mstate_global->__pyx_n_s_MAX_PLANES
#define __pyx_n_s_MemoryError __pyx_mstate_global->__pyx_n_s_MemoryError
#define __pyx_kp_s_Memory_Synchronization_Domain_A __pyx_mstate_global->__pyx_kp_s_Memory_Synchronization_Domain_A
#define __pyx_kp_s_Memory_advise_values __pyx_mstate_global->__pyx_kp_s_Memory_advise_values
#define __pyx_kp_s_Memory_handle_types __pyx_mstate_global->__pyx_kp_s_Memory_handle_types
#define __pyx_kp_s_Memory_operation_types __pyx_mstate_global->__pyx_kp_s_Memory_operation_types
#define __pyx_kp_s_Memory_types __pyx_mstate_global->__pyx_kp_s_Memory_types
#define __pyx_n_s_N __pyx_mstate_global->__pyx_n_s_N
#define __pyx_n_s_NVCL_CTX_SCHED_AUTO __pyx_mstate_global->__pyx_n_s_NVCL_CTX_SCHED_AUTO
#define __pyx_n_s_NVCL_CTX_SCHED_BLOCKING_SYNC __pyx_mstate_global->__pyx_n_s_NVCL_CTX_SCHED_BLOCKING_SYNC
#define __pyx_n_s_NVCL_CTX_SCHED_SPIN __pyx_mstate_global->__pyx_n_s_NVCL_CTX_SCHED_SPIN
#define __pyx_n_s_NVCL_CTX_SCHED_YIELD __pyx_mstate_global->__pyx_n_s_NVCL_CTX_SCHED_YIELD
#define __pyx_n_s_NVCL_EVENT_SCHED_AUTO __pyx_mstate_global->__pyx_n_s_NVCL_EVENT_SCHED_AUTO
#define __pyx_n_s_NVCL_EVENT_SCHED_BLOCKING_SYNC __pyx_mstate_global->__pyx_n_s_NVCL_EVENT_SCHED_BLOCKING_SYNC
#define __pyx_n_s_NVCL_EVENT_SCHED_SPIN __pyx_mstate_global->__pyx_n_s_NVCL_EVENT_SCHED_SPIN
#define __pyx_n_s_NVCL_EVENT_SCHED_YIELD __pyx_mstate_global->__pyx_n_s_NVCL_EVENT_SCHED_YIELD
#define __pyx_kp_s_NVCL_context_scheduling_flags __pyx_mstate_global->__pyx_kp_s_NVCL_context_scheduling_flags
#define __pyx_kp_s_NVCL_event_scheduling_flags __pyx_mstate_global->__pyx_kp_s_NVCL_event_scheduling_flags
#define __pyx_kp_u_NumChannels __pyx_mstate_global->__pyx_kp_u_NumChannels
#define __pyx_n_s_NumChannels_2 __pyx_mstate_global->__pyx_n_s_NumChannels_2
#define __pyx_kp_u_NumChannels_ValueError __pyx_mstate_global->__pyx_kp_u_NumChannels_ValueError
#define __pyx_n_s_NumPackedComponents __pyx_mstate_global->__pyx_n_s_NumPackedComponents
#define __pyx_kp_s_Occupancy_calculator_flag __pyx_mstate_global->__pyx_kp_s_Occupancy_calculator_flag
#define __pyx_kp_s_Online_compilation_targets __pyx_mstate_global->__pyx_kp_s_Online_compilation_targets
#define __pyx_kp_s_Online_compiler_and_linker_opti __pyx_mstate_global->__pyx_kp_s_Online_compiler_and_linker_opti
#define __pyx_kp_s_Operations_for_py_obj_cuStreamB __pyx_mstate_global->__pyx_kp_s_Operations_for_py_obj_cuStreamB
#define __pyx_n_s_Optional __pyx_mstate_global->__pyx_n_s_Optional
#define __pyx_kp_s_Optional_CUDA_ARRAY3D_DESCRIPTOR __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_ARRAY3D_DESCRIPTOR
#define __pyx_kp_s_Optional_CUDA_ARRAY_DESCRIPTOR __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_ARRAY_DESCRIPTOR
#define __pyx_kp_s_Optional_CUDA_BATCH_MEM_OP_NODE __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_BATCH_MEM_OP_NODE
#define __pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_BU __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_BU
#define __pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_HA __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_HA
#define __pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_MI __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_MI
#define __pyx_kp_s_Optional_CUDA_EXTERNAL_SEMAPHORE __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_EXTERNAL_SEMAPHORE
#define __pyx_kp_s_Optional_CUDA_EXT_SEM_SIGNAL_NOD __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_EXT_SEM_SIGNAL_NOD
#define __pyx_kp_s_Optional_CUDA_EXT_SEM_WAIT_NODE __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_EXT_SEM_WAIT_NODE
#define __pyx_kp_s_Optional_CUDA_GRAPH_INSTANTIATE __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_GRAPH_INSTANTIATE
#define __pyx_kp_s_Optional_CUDA_HOST_NODE_PARAMS __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_HOST_NODE_PARAMS
#define __pyx_kp_s_Optional_CUDA_KERNEL_NODE_PARAMS __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_KERNEL_NODE_PARAMS
#define __pyx_kp_s_Optional_CUDA_MEMCPY2D __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_MEMCPY2D
#define __pyx_kp_s_Optional_CUDA_MEMCPY3D __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_MEMCPY3D
#define __pyx_kp_s_Optional_CUDA_MEMCPY3D_PEER __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_MEMCPY3D_PEER
#define __pyx_kp_s_Optional_CUDA_MEMSET_NODE_PARAMS __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_MEMSET_NODE_PARAMS
#define __pyx_kp_s_Optional_CUDA_MEM_ALLOC_NODE_PAR __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_MEM_ALLOC_NODE_PAR
#define __pyx_kp_s_Optional_CUDA_RESOURCE_DESC __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_RESOURCE_DESC
#define __pyx_kp_s_Optional_CUDA_RESOURCE_VIEW_DESC __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_RESOURCE_VIEW_DESC
#define __pyx_kp_s_Optional_CUDA_TEXTURE_DESC __pyx_mstate_global->__pyx_kp_s_Optional_CUDA_TEXTURE_DESC
#define __pyx_kp_s_Optional_CUdevResource __pyx_mstate_global->__pyx_kp_s_Optional_CUdevResource
#define __pyx_kp_s_Optional_CUeglFrame __pyx_mstate_global->__pyx_kp_s_Optional_CUeglFrame
#define __pyx_kp_s_Optional_CUgraphNodeParams __pyx_mstate_global->__pyx_kp_s_Optional_CUgraphNodeParams
#define __pyx_kp_s_Optional_CUkernelNodeAttrValue __pyx_mstate_global->__pyx_kp_s_Optional_CUkernelNodeAttrValue
#define __pyx_kp_s_Optional_CUlaunchConfig __pyx_mstate_global->__pyx_kp_s_Optional_CUlaunchConfig
#define __pyx_kp_s_Optional_CUmemAllocationProp __pyx_mstate_global->__pyx_kp_s_Optional_CUmemAllocationProp
#define __pyx_kp_s_Optional_CUmemLocation __pyx_mstate_global->__pyx_kp_s_Optional_CUmemLocation
#define __pyx_kp_s_Optional_CUmemPoolProps __pyx_mstate_global->__pyx_kp_s_Optional_CUmemPoolProps
#define __pyx_kp_s_Optional_CUmemPoolPtrExportData __pyx_mstate_global->__pyx_kp_s_Optional_CUmemPoolPtrExportData
#define __pyx_kp_s_Optional_CUmulticastObjectProp __pyx_mstate_global->__pyx_kp_s_Optional_CUmulticastObjectProp
#define __pyx_kp_s_Optional_CUstreamAttrValue __pyx_mstate_global->__pyx_kp_s_Optional_CUstreamAttrValue
#define __pyx_kp_s_Optional_CUtensorMap __pyx_mstate_global->__pyx_kp_s_Optional_CUtensorMap
#define __pyx_kp_s_Optional_CUuuid __pyx_mstate_global->__pyx_kp_s_Optional_CUuuid
#define __pyx_kp_s_Optional_List_Any __pyx_mstate_global->__pyx_kp_s_Optional_List_Any
#define __pyx_kp_s_Optional_List_CUDA_EXTERNAL_SEMA __pyx_mstate_global->__pyx_kp_s_Optional_List_CUDA_EXTERNAL_SEMA
#define __pyx_kp_s_Optional_List_CUDA_EXTERNAL_SEMA_2 __pyx_mstate_global->__pyx_kp_s_Optional_List_CUDA_EXTERNAL_SEMA_2
#define __pyx_kp_s_Optional_List_CUDA_LAUNCH_PARAMS __pyx_mstate_global->__pyx_kp_s_Optional_List_CUDA_LAUNCH_PARAMS
#define __pyx_kp_s_Optional_List_CUarrayMapInfo __pyx_mstate_global->__pyx_kp_s_Optional_List_CUarrayMapInfo
#define __pyx_kp_s_Optional_List_CUdevResource __pyx_mstate_global->__pyx_kp_s_Optional_List_CUdevResource
#define __pyx_kp_s_Optional_List_CUexecAffinityPara __pyx_mstate_global->__pyx_kp_s_Optional_List_CUexecAffinityPara
#define __pyx_kp_s_Optional_List_CUexternalSemaphor __pyx_mstate_global->__pyx_kp_s_Optional_List_CUexternalSemaphor
#define __pyx_kp_s_Optional_List_CUgraphEdgeData __pyx_mstate_global->__pyx_kp_s_Optional_List_CUgraphEdgeData
#define __pyx_kp_s_Optional_List_CUgraphNode __pyx_mstate_global->__pyx_kp_s_Optional_List_CUgraphNode
#define __pyx_kp_s_Optional_List_CUjit_option __pyx_mstate_global->__pyx_kp_s_Optional_List_CUjit_option
#define __pyx_kp_s_Optional_List_CUlibraryOption __pyx_mstate_global->__pyx_kp_s_Optional_List_CUlibraryOption
#define __pyx_kp_s_Optional_List_CUmemAccessDesc __pyx_mstate_global->__pyx_kp_s_Optional_List_CUmemAccessDesc
#define __pyx_kp_s_Optional_List_CUmem_range_attrib __pyx_mstate_global->__pyx_kp_s_Optional_List_CUmem_range_attrib
#define __pyx_kp_s_Optional_List_CUpointer_attribut __pyx_mstate_global->__pyx_kp_s_Optional_List_CUpointer_attribut
#define __pyx_kp_s_Optional_List_CUstreamBatchMemOp __pyx_mstate_global->__pyx_kp_s_Optional_List_CUstreamBatchMemOp
#define __pyx_kp_s_Optional_List_cuuint32_t __pyx_mstate_global->__pyx_kp_s_Optional_List_cuuint32_t
#define __pyx_kp_s_Optional_List_cuuint64_t __pyx_mstate_global->__pyx_kp_s_Optional_List_cuuint64_t
#define __pyx_kp_s_Optional_List_int __pyx_mstate_global->__pyx_kp_s_Optional_List_int
#define __pyx_n_s_OverflowError __pyx_mstate_global->__pyx_n_s_OverflowError
#define __pyx_kp_s_P2P_Attributes __pyx_mstate_global->__pyx_kp_s_P2P_Attributes
#define __pyx_n_s_Pitch __pyx_mstate_global->__pyx_n_s_Pitch
#define __pyx_kp_s_Platform_native_ordering_for_GP __pyx_mstate_global->__pyx_kp_s_Platform_native_ordering_for_GP
#define __pyx_kp_s_Pointer_information __pyx_mstate_global->__pyx_kp_s_Pointer_information
#define __pyx_kp_s_Possible_modes_for_stream_captu __pyx_mstate_global->__pyx_kp_s_Possible_modes_for_stream_captu
#define __pyx_kp_s_Possible_stream_capture_statuse __pyx_mstate_global->__pyx_kp_s_Possible_stream_capture_statuse
#define __pyx_kp_s_Profiler_Output_Modes __pyx_mstate_global->__pyx_kp_s_Profiler_Output_Modes
#define __pyx_n_s_RESOURCE_ABI_EXTERNAL_BYTES __pyx_mstate_global->__pyx_n_s_RESOURCE_ABI_EXTERNAL_BYTES
#define __pyx_n_s_RESOURCE_ABI_VERSION __pyx_mstate_global->__pyx_n_s_RESOURCE_ABI_VERSION
#define __pyx_kp_s_Resource_location_flags_sysmem __pyx_mstate_global->__pyx_kp_s_Resource_location_flags_sysmem
#define __pyx_kp_s_Resource_types __pyx_mstate_global->__pyx_kp_s_Resource_types
#define __pyx_kp_s_Resource_view_format __pyx_mstate_global->__pyx_kp_s_Resource_view_format
#define __pyx_n_s_RuntimeError __pyx_mstate_global->__pyx_n_s_RuntimeError
#define __pyx_kp_u_SIMDWidth __pyx_mstate_global->__pyx_kp_u_SIMDWidth
#define __pyx_n_s_SIMDWidth_2 __pyx_mstate_global->__pyx_n_s_SIMDWidth_2
#define __pyx_kp_u_SIMDWidth_ValueError __pyx_mstate_global->__pyx_kp_u_SIMDWidth_ValueError
#define __pyx_kp_s_Shared_memory_carveout_configur __pyx_mstate_global->__pyx_kp_s_Shared_memory_carveout_configur
#define __pyx_kp_s_Sparse_subresource_types __pyx_mstate_global->__pyx_kp_s_Sparse_subresource_types
#define __pyx_kp_s_Specifies_compression_attribute __pyx_mstate_global->__pyx_kp_s_Specifies_compression_attribute
#define __pyx_kp_s_Specifies_performance_hint_with __pyx_mstate_global->__pyx_kp_s_Specifies_performance_hint_with
#define __pyx_kp_s_Specifies_the_handle_type_for_a __pyx_mstate_global->__pyx_kp_s_Specifies_the_handle_type_for_a
#define __pyx_kp_s_Specifies_the_memory_protection __pyx_mstate_global->__pyx_kp_s_Specifies_the_memory_protection
#define __pyx_kp_s_Specifies_the_type_of_location __pyx_mstate_global->__pyx_kp_s_Specifies_the_type_of_location
#define __pyx_kp_s_Stream_creation_flags __pyx_mstate_global->__pyx_kp_s_Stream_creation_flags
#define __pyx_kp_s_Tensor_map_L2_promotion_type __pyx_mstate_global->__pyx_kp_s_Tensor_map_L2_promotion_type
#define __pyx_kp_s_Tensor_map_data_type __pyx_mstate_global->__pyx_kp_s_Tensor_map_data_type
#define __pyx_kp_s_Tensor_map_interleave_layout_ty __pyx_mstate_global->__pyx_kp_s_Tensor_map_interleave_layout_ty
#define __pyx_kp_s_Tensor_map_out_of_bounds_fill_t __pyx_mstate_global->__pyx_kp_s_Tensor_map_out_of_bounds_fill_t
#define __pyx_kp_s_Tensor_map_swizzling_mode_of_sh __pyx_mstate_global->__pyx_kp_s_Tensor_map_swizzling_mode_of_sh
#define __pyx_kp_s_Texture_reference_addressing_mo __pyx_mstate_global->__pyx_kp_s_Texture_reference_addressing_mo
#define __pyx_kp_s_Texture_reference_filtering_mod __pyx_mstate_global->__pyx_kp_s_Texture_reference_filtering_mod
#define __pyx_kp_s_The_additional_write_options_fo __pyx_mstate_global->__pyx_kp_s_The_additional_write_options_fo
#define __pyx_kp_s_The_scopes_for_py_obj_cuFlushGP __pyx_mstate_global->__pyx_kp_s_The_scopes_for_py_obj_cuFlushGP
#define __pyx_kp_s_The_targets_for_py_obj_cuFlushG __pyx_mstate_global->__pyx_kp_s_The_targets_for_py_obj_cuFlushG
#define __pyx_n_s_Tuple __pyx_mstate_global->__pyx_n_s_Tuple
#define __pyx_n_s_TypeError __pyx_mstate_global->__pyx_n_s_TypeError
#define __pyx_kp_s_Type_annotations_that_can_be_ap __pyx_mstate_global->__pyx_kp_s_Type_annotations_that_can_be_ap
#define __pyx_kp_s_Type_of_resource __pyx_mstate_global->__pyx_kp_s_Type_of_resource
#define __pyx_kp_s_Types_of_async_notification_tha __pyx_mstate_global->__pyx_kp_s_Types_of_async_notification_tha
#define __pyx_kp_u_Unknown_type __pyx_mstate_global->__pyx_kp_u_Unknown_type
#define __pyx_n_s_ValueError __pyx_mstate_global->__pyx_n_s_ValueError
#define __pyx_kp_u_VdpDevice __pyx_mstate_global->__pyx_kp_u_VdpDevice
#define __pyx_n_s_VdpDevice_2 __pyx_mstate_global->__pyx_n_s_VdpDevice_2
#define __pyx_n_s_VdpDevice___reduce_cython __pyx_mstate_global->__pyx_n_s_VdpDevice___reduce_cython
#define __pyx_n_s_VdpDevice___setstate_cython __pyx_mstate_global->__pyx_n_s_VdpDevice___setstate_cython
#define __pyx_n_s_VdpDevice_getPtr __pyx_mstate_global->__pyx_n_s_VdpDevice_getPtr
#define __pyx_kp_u_VdpGetProcAddress __pyx_mstate_global->__pyx_kp_u_VdpGetProcAddress
#define __pyx_n_s_VdpGetProcAddress_2 __pyx_mstate_global->__pyx_n_s_VdpGetProcAddress_2
#define __pyx_n_s_VdpGetProcAddress___reduce_cytho __pyx_mstate_global->__pyx_n_s_VdpGetProcAddress___reduce_cytho
#define __pyx_n_s_VdpGetProcAddress___setstate_cyt __pyx_mstate_global->__pyx_n_s_VdpGetProcAddress___setstate_cyt
#define __pyx_n_s_VdpGetProcAddress_getPtr __pyx_mstate_global->__pyx_n_s_VdpGetProcAddress_getPtr
#define __pyx_kp_u_VdpOutputSurface __pyx_mstate_global->__pyx_kp_u_VdpOutputSurface
#define __pyx_n_s_VdpOutputSurface_2 __pyx_mstate_global->__pyx_n_s_VdpOutputSurface_2
#define __pyx_n_s_VdpOutputSurface___reduce_cython __pyx_mstate_global->__pyx_n_s_VdpOutputSurface___reduce_cython
#define __pyx_n_s_VdpOutputSurface___setstate_cyth __pyx_mstate_global->__pyx_n_s_VdpOutputSurface___setstate_cyth
#define __pyx_n_s_VdpOutputSurface_getPtr __pyx_mstate_global->__pyx_n_s_VdpOutputSurface_getPtr
#define __pyx_kp_u_VdpVideoSurface __pyx_mstate_global->__pyx_kp_u_VdpVideoSurface
#define __pyx_n_s_VdpVideoSurface_2 __pyx_mstate_global->__pyx_n_s_VdpVideoSurface_2
#define __pyx_n_s_VdpVideoSurface___reduce_cython __pyx_mstate_global->__pyx_n_s_VdpVideoSurface___reduce_cython
#define __pyx_n_s_VdpVideoSurface___setstate_cytho __pyx_mstate_global->__pyx_n_s_VdpVideoSurface___setstate_cytho
#define __pyx_n_s_VdpVideoSurface_getPtr __pyx_mstate_global->__pyx_n_s_VdpVideoSurface_getPtr
#define __pyx_kp_u_Width __pyx_mstate_global->__pyx_kp_u_Width
#define __pyx_kp_u_WidthInBytes __pyx_mstate_global->__pyx_kp_u_WidthInBytes
#define __pyx_n_s_WidthInBytes_2 __pyx_mstate_global->__pyx_n_s_WidthInBytes_2
#define __pyx_kp_u_WidthInBytes_ValueError __pyx_mstate_global->__pyx_kp_u_WidthInBytes_ValueError
#define __pyx_n_s_Width_2 __pyx_mstate_global->__pyx_n_s_Width_2
#define __pyx_kp_u_Width_ValueError __pyx_mstate_global->__pyx_kp_u_Width_ValueError
#define __pyx_kp_u__117 __pyx_mstate_global->__pyx_kp_u__117
#define __pyx_kp_u__118 __pyx_mstate_global->__pyx_kp_u__118
#define __pyx_n_s__1338 __pyx_mstate_global->__pyx_n_s__1338
#define __pyx_kp_u__143 __pyx_mstate_global->__pyx_kp_u__143
#define __pyx_kp_b__486 __pyx_mstate_global->__pyx_kp_b__486
#define __pyx_kp_u__535 __pyx_mstate_global->__pyx_kp_u__535
#define __pyx_kp_u__959 __pyx_mstate_global->__pyx_kp_u__959
#define __pyx_n_s__960 __pyx_mstate_global->__pyx_n_s__960
#define __pyx_kp_s__961 __pyx_mstate_global->__pyx_kp_s__961
#define __pyx_kp_u_accessDescCount __pyx_mstate_global->__pyx_kp_u_accessDescCount
#define __pyx_n_s_accessDescCount_2 __pyx_mstate_global->__pyx_n_s_accessDescCount_2
#define __pyx_kp_u_accessDescCount_ValueError __pyx_mstate_global->__pyx_kp_u_accessDescCount_ValueError
#define __pyx_kp_u_accessDescs __pyx_mstate_global->__pyx_kp_u_accessDescs
#define __pyx_n_s_accessDescs_2 __pyx_mstate_global->__pyx_n_s_accessDescs_2
#define __pyx_kp_u_accessDescs_ValueError __pyx_mstate_global->__pyx_kp_u_accessDescs_ValueError
#define __pyx_kp_u_accessPolicyWindow __pyx_mstate_global->__pyx_kp_u_accessPolicyWindow
#define __pyx_n_s_accessPolicyWindow_2 __pyx_mstate_global->__pyx_n_s_accessPolicyWindow_2
#define __pyx_kp_u_accessPolicyWindow_ValueError __pyx_mstate_global->__pyx_kp_u_accessPolicyWindow_ValueError
#define __pyx_n_s_active __pyx_mstate_global->__pyx_n_s_active
#define __pyx_n_s_addr __pyx_mstate_global->__pyx_n_s_addr
#define __pyx_kp_u_address __pyx_mstate_global->__pyx_kp_u_address
#define __pyx_kp_u_addressMode __pyx_mstate_global->__pyx_kp_u_addressMode
#define __pyx_n_s_addressMode_2 __pyx_mstate_global->__pyx_n_s_addressMode_2
#define __pyx_kp_u_addressMode_ValueError __pyx_mstate_global->__pyx_kp_u_addressMode_ValueError
#define __pyx_n_s_address_2 __pyx_mstate_global->__pyx_n_s_address_2
#define __pyx_kp_u_address_ValueError __pyx_mstate_global->__pyx_kp_u_address_ValueError
#define __pyx_n_s_advice __pyx_mstate_global->__pyx_n_s_advice
#define __pyx_kp_u_alias __pyx_mstate_global->__pyx_kp_u_alias
#define __pyx_n_s_alias_2 __pyx_mstate_global->__pyx_n_s_alias_2
#define __pyx_kp_u_alias_ValueError __pyx_mstate_global->__pyx_kp_u_alias_ValueError
#define __pyx_kp_u_alignment __pyx_mstate_global->__pyx_kp_u_alignment
#define __pyx_n_s_alignment_2 __pyx_mstate_global->__pyx_n_s_alignment_2
#define __pyx_kp_u_alignment_ValueError __pyx_mstate_global->__pyx_kp_u_alignment_ValueError
#define __pyx_kp_u_alloc __pyx_mstate_global->__pyx_kp_u_alloc
#define __pyx_kp_u_allocFlags __pyx_mstate_global->__pyx_kp_u_allocFlags
#define __pyx_n_s_allocFlags_2 __pyx_mstate_global->__pyx_n_s_allocFlags_2
#define __pyx_kp_u_allocFlags_ValueError __pyx_mstate_global->__pyx_kp_u_allocFlags_ValueError
#define __pyx_kp_u_allocType __pyx_mstate_global->__pyx_kp_u_allocType
#define __pyx_n_s_allocType_2 __pyx_mstate_global->__pyx_n_s_allocType_2
#define __pyx_kp_u_allocType_ValueError __pyx_mstate_global->__pyx_kp_u_allocType_ValueError
#define __pyx_n_s_alloc_2 __pyx_mstate_global->__pyx_n_s_alloc_2
#define __pyx_kp_u_alloc_ValueError __pyx_mstate_global->__pyx_kp_u_alloc_ValueError
#define __pyx_n_s_am __pyx_mstate_global->__pyx_n_s_am
#define __pyx_n_s_anon_struct0 __pyx_mstate_global->__pyx_n_s_anon_struct0
#define __pyx_n_s_anon_struct0___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct0___reduce_cython
#define __pyx_n_s_anon_struct0___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct0___setstate_cython
#define __pyx_n_s_anon_struct0_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct0_getPtr
#define __pyx_n_s_anon_struct1 __pyx_mstate_global->__pyx_n_s_anon_struct1
#define __pyx_n_s_anon_struct10 __pyx_mstate_global->__pyx_n_s_anon_struct10
#define __pyx_n_s_anon_struct10___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct10___reduce_cython
#define __pyx_n_s_anon_struct10___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct10___setstate_cython
#define __pyx_n_s_anon_struct10_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct10_getPtr
#define __pyx_n_s_anon_struct11 __pyx_mstate_global->__pyx_n_s_anon_struct11
#define __pyx_n_s_anon_struct11___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct11___reduce_cython
#define __pyx_n_s_anon_struct11___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct11___setstate_cython
#define __pyx_n_s_anon_struct11_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct11_getPtr
#define __pyx_n_s_anon_struct12 __pyx_mstate_global->__pyx_n_s_anon_struct12
#define __pyx_n_s_anon_struct12___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct12___reduce_cython
#define __pyx_n_s_anon_struct12___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct12___setstate_cython
#define __pyx_n_s_anon_struct12_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct12_getPtr
#define __pyx_n_s_anon_struct13 __pyx_mstate_global->__pyx_n_s_anon_struct13
#define __pyx_n_s_anon_struct13___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct13___reduce_cython
#define __pyx_n_s_anon_struct13___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct13___setstate_cython
#define __pyx_n_s_anon_struct13_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct13_getPtr
#define __pyx_n_s_anon_struct14 __pyx_mstate_global->__pyx_n_s_anon_struct14
#define __pyx_n_s_anon_struct14___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct14___reduce_cython
#define __pyx_n_s_anon_struct14___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct14___setstate_cython
#define __pyx_n_s_anon_struct14_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct14_getPtr
#define __pyx_n_s_anon_struct15 __pyx_mstate_global->__pyx_n_s_anon_struct15
#define __pyx_n_s_anon_struct15___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct15___reduce_cython
#define __pyx_n_s_anon_struct15___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct15___setstate_cython
#define __pyx_n_s_anon_struct15_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct15_getPtr
#define __pyx_n_s_anon_struct16 __pyx_mstate_global->__pyx_n_s_anon_struct16
#define __pyx_n_s_anon_struct16___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct16___reduce_cython
#define __pyx_n_s_anon_struct16___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct16___setstate_cython
#define __pyx_n_s_anon_struct16_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct16_getPtr
#define __pyx_n_s_anon_struct17 __pyx_mstate_global->__pyx_n_s_anon_struct17
#define __pyx_n_s_anon_struct17___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct17___reduce_cython
#define __pyx_n_s_anon_struct17___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct17___setstate_cython
#define __pyx_n_s_anon_struct17_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct17_getPtr
#define __pyx_n_s_anon_struct18 __pyx_mstate_global->__pyx_n_s_anon_struct18
#define __pyx_n_s_anon_struct18___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct18___reduce_cython
#define __pyx_n_s_anon_struct18___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct18___setstate_cython
#define __pyx_n_s_anon_struct18_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct18_getPtr
#define __pyx_n_s_anon_struct19 __pyx_mstate_global->__pyx_n_s_anon_struct19
#define __pyx_n_s_anon_struct19___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct19___reduce_cython
#define __pyx_n_s_anon_struct19___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct19___setstate_cython
#define __pyx_n_s_anon_struct19_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct19_getPtr
#define __pyx_n_s_anon_struct1___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct1___reduce_cython
#define __pyx_n_s_anon_struct1___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct1___setstate_cython
#define __pyx_n_s_anon_struct1_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct1_getPtr
#define __pyx_n_s_anon_struct2 __pyx_mstate_global->__pyx_n_s_anon_struct2
#define __pyx_n_s_anon_struct20 __pyx_mstate_global->__pyx_n_s_anon_struct20
#define __pyx_n_s_anon_struct20___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct20___reduce_cython
#define __pyx_n_s_anon_struct20___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct20___setstate_cython
#define __pyx_n_s_anon_struct20_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct20_getPtr
#define __pyx_n_s_anon_struct21 __pyx_mstate_global->__pyx_n_s_anon_struct21
#define __pyx_n_s_anon_struct21___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct21___reduce_cython
#define __pyx_n_s_anon_struct21___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct21___setstate_cython
#define __pyx_n_s_anon_struct21_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct21_getPtr
#define __pyx_n_s_anon_struct2___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct2___reduce_cython
#define __pyx_n_s_anon_struct2___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct2___setstate_cython
#define __pyx_n_s_anon_struct2_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct2_getPtr
#define __pyx_n_s_anon_struct3 __pyx_mstate_global->__pyx_n_s_anon_struct3
#define __pyx_n_s_anon_struct3___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct3___reduce_cython
#define __pyx_n_s_anon_struct3___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct3___setstate_cython
#define __pyx_n_s_anon_struct3_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct3_getPtr
#define __pyx_n_s_anon_struct4 __pyx_mstate_global->__pyx_n_s_anon_struct4
#define __pyx_n_s_anon_struct4___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct4___reduce_cython
#define __pyx_n_s_anon_struct4___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct4___setstate_cython
#define __pyx_n_s_anon_struct4_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct4_getPtr
#define __pyx_n_s_anon_struct5 __pyx_mstate_global->__pyx_n_s_anon_struct5
#define __pyx_n_s_anon_struct5___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct5___reduce_cython
#define __pyx_n_s_anon_struct5___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct5___setstate_cython
#define __pyx_n_s_anon_struct5_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct5_getPtr
#define __pyx_n_s_anon_struct6 __pyx_mstate_global->__pyx_n_s_anon_struct6
#define __pyx_n_s_anon_struct6___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct6___reduce_cython
#define __pyx_n_s_anon_struct6___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct6___setstate_cython
#define __pyx_n_s_anon_struct6_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct6_getPtr
#define __pyx_n_s_anon_struct7 __pyx_mstate_global->__pyx_n_s_anon_struct7
#define __pyx_n_s_anon_struct7___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct7___reduce_cython
#define __pyx_n_s_anon_struct7___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct7___setstate_cython
#define __pyx_n_s_anon_struct7_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct7_getPtr
#define __pyx_n_s_anon_struct8 __pyx_mstate_global->__pyx_n_s_anon_struct8
#define __pyx_n_s_anon_struct8___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct8___reduce_cython
#define __pyx_n_s_anon_struct8___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct8___setstate_cython
#define __pyx_n_s_anon_struct8_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct8_getPtr
#define __pyx_n_s_anon_struct9 __pyx_mstate_global->__pyx_n_s_anon_struct9
#define __pyx_n_s_anon_struct9___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_struct9___reduce_cython
#define __pyx_n_s_anon_struct9___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_struct9___setstate_cython
#define __pyx_n_s_anon_struct9_getPtr __pyx_mstate_global->__pyx_n_s_anon_struct9_getPtr
#define __pyx_n_s_anon_union10 __pyx_mstate_global->__pyx_n_s_anon_union10
#define __pyx_n_s_anon_union10___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_union10___reduce_cython
#define __pyx_n_s_anon_union10___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_union10___setstate_cython
#define __pyx_n_s_anon_union10_getPtr __pyx_mstate_global->__pyx_n_s_anon_union10_getPtr
#define __pyx_n_s_anon_union11 __pyx_mstate_global->__pyx_n_s_anon_union11
#define __pyx_n_s_anon_union11___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_union11___reduce_cython
#define __pyx_n_s_anon_union11___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_union11___setstate_cython
#define __pyx_n_s_anon_union11_getPtr __pyx_mstate_global->__pyx_n_s_anon_union11_getPtr
#define __pyx_n_s_anon_union14 __pyx_mstate_global->__pyx_n_s_anon_union14
#define __pyx_n_s_anon_union14___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_union14___reduce_cython
#define __pyx_n_s_anon_union14___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_union14___setstate_cython
#define __pyx_n_s_anon_union14_getPtr __pyx_mstate_global->__pyx_n_s_anon_union14_getPtr
#define __pyx_n_s_anon_union2 __pyx_mstate_global->__pyx_n_s_anon_union2
#define __pyx_n_s_anon_union2___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_union2___reduce_cython
#define __pyx_n_s_anon_union2___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_union2___setstate_cython
#define __pyx_n_s_anon_union2_getPtr __pyx_mstate_global->__pyx_n_s_anon_union2_getPtr
#define __pyx_n_s_anon_union3 __pyx_mstate_global->__pyx_n_s_anon_union3
#define __pyx_n_s_anon_union3___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_union3___reduce_cython
#define __pyx_n_s_anon_union3___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_union3___setstate_cython
#define __pyx_n_s_anon_union3_getPtr __pyx_mstate_global->__pyx_n_s_anon_union3_getPtr
#define __pyx_n_s_anon_union4 __pyx_mstate_global->__pyx_n_s_anon_union4
#define __pyx_n_s_anon_union4___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_union4___reduce_cython
#define __pyx_n_s_anon_union4___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_union4___setstate_cython
#define __pyx_n_s_anon_union4_getPtr __pyx_mstate_global->__pyx_n_s_anon_union4_getPtr
#define __pyx_n_s_anon_union5 __pyx_mstate_global->__pyx_n_s_anon_union5
#define __pyx_n_s_anon_union5___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_union5___reduce_cython
#define __pyx_n_s_anon_union5___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_union5___setstate_cython
#define __pyx_n_s_anon_union5_getPtr __pyx_mstate_global->__pyx_n_s_anon_union5_getPtr
#define __pyx_n_s_anon_union6 __pyx_mstate_global->__pyx_n_s_anon_union6
#define __pyx_n_s_anon_union6___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_union6___reduce_cython
#define __pyx_n_s_anon_union6___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_union6___setstate_cython
#define __pyx_n_s_anon_union6_getPtr __pyx_mstate_global->__pyx_n_s_anon_union6_getPtr
#define __pyx_n_s_anon_union7 __pyx_mstate_global->__pyx_n_s_anon_union7
#define __pyx_n_s_anon_union7___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_union7___reduce_cython
#define __pyx_n_s_anon_union7___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_union7___setstate_cython
#define __pyx_n_s_anon_union7_getPtr __pyx_mstate_global->__pyx_n_s_anon_union7_getPtr
#define __pyx_n_s_anon_union8 __pyx_mstate_global->__pyx_n_s_anon_union8
#define __pyx_n_s_anon_union8___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_union8___reduce_cython
#define __pyx_n_s_anon_union8___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_union8___setstate_cython
#define __pyx_n_s_anon_union8_getPtr __pyx_mstate_global->__pyx_n_s_anon_union8_getPtr
#define __pyx_n_s_anon_union9 __pyx_mstate_global->__pyx_n_s_anon_union9
#define __pyx_n_s_anon_union9___reduce_cython __pyx_mstate_global->__pyx_n_s_anon_union9___reduce_cython
#define __pyx_n_s_anon_union9___setstate_cython __pyx_mstate_global->__pyx_n_s_anon_union9___setstate_cython
#define __pyx_n_s_anon_union9_getPtr __pyx_mstate_global->__pyx_n_s_anon_union9_getPtr
#define __pyx_n_s_args __pyx_mstate_global->__pyx_n_s_args
#define __pyx_kp_u_array __pyx_mstate_global->__pyx_kp_u_array
#define __pyx_kp_u_arrayDesc __pyx_mstate_global->__pyx_kp_u_arrayDesc
#define __pyx_n_s_arrayDesc_2 __pyx_mstate_global->__pyx_n_s_arrayDesc_2
#define __pyx_kp_u_arrayDesc_ValueError __pyx_mstate_global->__pyx_kp_u_arrayDesc_ValueError
#define __pyx_n_s_arrayIndex __pyx_mstate_global->__pyx_n_s_arrayIndex
#define __pyx_n_s_array_2 __pyx_mstate_global->__pyx_n_s_array_2
#define __pyx_kp_u_array_3 __pyx_mstate_global->__pyx_kp_u_array_3
#define __pyx_kp_u_array_ValueError __pyx_mstate_global->__pyx_kp_u_array_ValueError
#define __pyx_n_s_asyncio_coroutines __pyx_mstate_global->__pyx_n_s_asyncio_coroutines
#define __pyx_n_s_attr __pyx_mstate_global->__pyx_n_s_attr
#define __pyx_n_s_attrib __pyx_mstate_global->__pyx_n_s_attrib
#define __pyx_n_s_attribute __pyx_mstate_global->__pyx_n_s_attribute
#define __pyx_n_s_attributes __pyx_mstate_global->__pyx_n_s_attributes
#define __pyx_kp_u_attrs __pyx_mstate_global->__pyx_kp_u_attrs
#define __pyx_n_s_attrs_2 __pyx_mstate_global->__pyx_n_s_attrs_2
#define __pyx_kp_u_attrs_ValueError __pyx_mstate_global->__pyx_kp_u_attrs_ValueError
#define __pyx_kp_u_base_ptr __pyx_mstate_global->__pyx_kp_u_base_ptr
#define __pyx_n_s_base_ptr_2 __pyx_mstate_global->__pyx_n_s_base_ptr_2
#define __pyx_kp_u_base_ptr_ValueError __pyx_mstate_global->__pyx_kp_u_base_ptr_ValueError
#define __pyx_n_s_bias __pyx_mstate_global->__pyx_n_s_bias
#define __pyx_kp_u_blockDimX __pyx_mstate_global->__pyx_kp_u_blockDimX
#define __pyx_n_s_blockDimX_2 __pyx_mstate_global->__pyx_n_s_blockDimX_2
#define __pyx_kp_u_blockDimX_ValueError __pyx_mstate_global->__pyx_kp_u_blockDimX_ValueError
#define __pyx_kp_u_blockDimY __pyx_mstate_global->__pyx_kp_u_blockDimY
#define __pyx_n_s_blockDimY_2 __pyx_mstate_global->__pyx_n_s_blockDimY_2
#define __pyx_kp_u_blockDimY_ValueError __pyx_mstate_global->__pyx_kp_u_blockDimY_ValueError
#define __pyx_kp_u_blockDimZ __pyx_mstate_global->__pyx_kp_u_blockDimZ
#define __pyx_n_s_blockDimZ_2 __pyx_mstate_global->__pyx_n_s_blockDimZ_2
#define __pyx_kp_u_blockDimZ_ValueError __pyx_mstate_global->__pyx_kp_u_blockDimZ_ValueError
#define __pyx_n_s_blockSize __pyx_mstate_global->__pyx_n_s_blockSize
#define __pyx_n_s_blockSizeLimit __pyx_mstate_global->__pyx_n_s_blockSizeLimit
#define __pyx_n_s_blockSizeToDynamicSMemSize __pyx_mstate_global->__pyx_n_s_blockSizeToDynamicSMemSize
#define __pyx_kp_u_borderColor __pyx_mstate_global->__pyx_kp_u_borderColor
#define __pyx_n_s_borderColor_2 __pyx_mstate_global->__pyx_n_s_borderColor_2
#define __pyx_kp_u_borderColor_ValueError __pyx_mstate_global->__pyx_kp_u_borderColor_ValueError
#define __pyx_n_s_boxDim __pyx_mstate_global->__pyx_n_s_boxDim
#define __pyx_n_s_buffer __pyx_mstate_global->__pyx_n_s_buffer
#define __pyx_n_s_bufferDesc __pyx_mstate_global->__pyx_n_s_bufferDesc
#define __pyx_kp_u_bytes __pyx_mstate_global->__pyx_kp_u_bytes
#define __pyx_kp_u_bytesOverBudget __pyx_mstate_global->__pyx_kp_u_bytesOverBudget
#define __pyx_n_s_bytesOverBudget_2 __pyx_mstate_global->__pyx_n_s_bytesOverBudget_2
#define __pyx_kp_u_bytesOverBudget_ValueError __pyx_mstate_global->__pyx_kp_u_bytesOverBudget_ValueError
#define __pyx_n_s_bytes_2 __pyx_mstate_global->__pyx_n_s_bytes_2
#define __pyx_kp_u_bytes_ValueError __pyx_mstate_global->__pyx_kp_u_bytes_ValueError
#define __pyx_kp_u_bytesize __pyx_mstate_global->__pyx_kp_u_bytesize
#define __pyx_n_s_bytesize_2 __pyx_mstate_global->__pyx_n_s_bytesize_2
#define __pyx_kp_u_bytesize_ValueError __pyx_mstate_global->__pyx_kp_u_bytesize_ValueError
#define __pyx_n_s_caddr __pyx_mstate_global->__pyx_n_s_caddr
#define __pyx_n_s_caddr_ptr __pyx_mstate_global->__pyx_n_s_caddr_ptr
#define __pyx_n_s_cadvice __pyx_mstate_global->__pyx_n_s_cadvice
#define __pyx_n_s_callback __pyx_mstate_global->__pyx_n_s_callback
#define __pyx_n_s_callbackFunc __pyx_mstate_global->__pyx_n_s_callbackFunc
#define __pyx_n_s_cam __pyx_mstate_global->__pyx_n_s_cam
#define __pyx_n_s_canAccessPeer __pyx_mstate_global->__pyx_n_s_canAccessPeer
#define __pyx_n_s_captureStatus __pyx_mstate_global->__pyx_n_s_captureStatus
#define __pyx_n_s_captureStatus_out __pyx_mstate_global->__pyx_n_s_captureStatus_out
#define __pyx_n_s_carray __pyx_mstate_global->__pyx_n_s_carray
#define __pyx_n_s_cattr __pyx_mstate_global->__pyx_n_s_cattr
#define __pyx_n_s_cattrib __pyx_mstate_global->__pyx_n_s_cattrib
#define __pyx_n_s_cattribute __pyx_mstate_global->__pyx_n_s_cattribute
#define __pyx_n_s_cattributes __pyx_mstate_global->__pyx_n_s_cattributes
#define __pyx_n_s_cblockSizeToDynamicSMemSize __pyx_mstate_global->__pyx_n_s_cblockSizeToDynamicSMemSize
#define __pyx_n_s_cboxDim __pyx_mstate_global->__pyx_n_s_cboxDim
#define __pyx_n_s_cbuffer __pyx_mstate_global->__pyx_n_s_cbuffer
#define __pyx_n_s_cbufferDesc_ptr __pyx_mstate_global->__pyx_n_s_cbufferDesc_ptr
#define __pyx_n_s_ccallback __pyx_mstate_global->__pyx_n_s_ccallback
#define __pyx_n_s_ccallbackFunc __pyx_mstate_global->__pyx_n_s_ccallbackFunc
#define __pyx_n_s_cchannelsPerPixel __pyx_mstate_global->__pyx_n_s_cchannelsPerPixel
#define __pyx_n_s_cchildGraph __pyx_mstate_global->__pyx_n_s_cchildGraph
#define __pyx_n_s_ccode __pyx_mstate_global->__pyx_n_s_ccode
#define __pyx_n_s_ccode_ptr __pyx_mstate_global->__pyx_n_s_ccode_ptr
#define __pyx_n_s_cconfig __pyx_mstate_global->__pyx_n_s_cconfig
#define __pyx_n_s_cconfig_ptr __pyx_mstate_global->__pyx_n_s_cconfig_ptr
#define __pyx_n_s_cconn __pyx_mstate_global->__pyx_n_s_cconn
#define __pyx_n_s_ccopyParams_ptr __pyx_mstate_global->__pyx_n_s_ccopyParams_ptr
#define __pyx_n_s_cctx __pyx_mstate_global->__pyx_n_s_cctx
#define __pyx_n_s_cdata __pyx_mstate_global->__pyx_n_s_cdata
#define __pyx_n_s_cdataSizes __pyx_mstate_global->__pyx_n_s_cdataSizes
#define __pyx_n_s_cdata_ptr __pyx_mstate_global->__pyx_n_s_cdata_ptr
#define __pyx_n_s_cdependencies __pyx_mstate_global->__pyx_n_s_cdependencies
#define __pyx_n_s_cdependencies_out __pyx_mstate_global->__pyx_n_s_cdependencies_out
#define __pyx_n_s_cdependencyData __pyx_mstate_global->__pyx_n_s_cdependencyData
#define __pyx_n_s_cdependentNodes __pyx_mstate_global->__pyx_n_s_cdependentNodes
#define __pyx_n_s_cdesc __pyx_mstate_global->__pyx_n_s_cdesc
#define __pyx_n_s_cdesc_ptr __pyx_mstate_global->__pyx_n_s_cdesc_ptr
#define __pyx_n_s_cdestroy __pyx_mstate_global->__pyx_n_s_cdestroy
#define __pyx_n_s_cdev __pyx_mstate_global->__pyx_n_s_cdev
#define __pyx_n_s_cdevPtr __pyx_mstate_global->__pyx_n_s_cdevPtr
#define __pyx_n_s_cdevice __pyx_mstate_global->__pyx_n_s_cdevice
#define __pyx_n_s_cdeviceList __pyx_mstate_global->__pyx_n_s_cdeviceList
#define __pyx_n_s_cdptr __pyx_mstate_global->__pyx_n_s_cdptr
#define __pyx_n_s_cdst __pyx_mstate_global->__pyx_n_s_cdst
#define __pyx_n_s_cdstArray __pyx_mstate_global->__pyx_n_s_cdstArray
#define __pyx_n_s_cdstContext __pyx_mstate_global->__pyx_n_s_cdstContext
#define __pyx_n_s_cdstDevice __pyx_mstate_global->__pyx_n_s_cdstDevice
#define __pyx_n_s_cdstHost __pyx_mstate_global->__pyx_n_s_cdstHost
#define __pyx_n_s_cdstHost_ptr __pyx_mstate_global->__pyx_n_s_cdstHost_ptr
#define __pyx_n_s_cedgeData __pyx_mstate_global->__pyx_n_s_cedgeData
#define __pyx_n_s_cedgeData_out __pyx_mstate_global->__pyx_n_s_cedgeData_out
#define __pyx_n_s_ceglSync __pyx_mstate_global->__pyx_n_s_ceglSync
#define __pyx_n_s_ceglframe_ptr __pyx_mstate_global->__pyx_n_s_ceglframe_ptr
#define __pyx_n_s_celementStrides __pyx_mstate_global->__pyx_n_s_celementStrides
#define __pyx_n_s_cerror __pyx_mstate_global->__pyx_n_s_cerror
#define __pyx_n_s_cevent __pyx_mstate_global->__pyx_n_s_cevent
#define __pyx_n_s_cextMem __pyx_mstate_global->__pyx_n_s_cextMem
#define __pyx_n_s_cextSem __pyx_mstate_global->__pyx_n_s_cextSem
#define __pyx_n_s_cextSemArray __pyx_mstate_global->__pyx_n_s_cextSemArray
#define __pyx_n_s_cf __pyx_mstate_global->__pyx_n_s_cf
#define __pyx_n_s_cfatCubin __pyx_mstate_global->__pyx_n_s_cfatCubin
#define __pyx_n_s_cfatCubin_ptr __pyx_mstate_global->__pyx_n_s_cfatCubin_ptr
#define __pyx_n_s_cflags __pyx_mstate_global->__pyx_n_s_cflags
#define __pyx_n_s_cfm __pyx_mstate_global->__pyx_n_s_cfm
#define __pyx_n_s_cfmt __pyx_mstate_global->__pyx_n_s_cfmt
#define __pyx_n_s_cfn __pyx_mstate_global->__pyx_n_s_cfn
#define __pyx_n_s_cfrom __pyx_mstate_global->__pyx_n_s_cfrom
#define __pyx_n_s_cfunc __pyx_mstate_global->__pyx_n_s_cfunc
#define __pyx_n_s_cfunction __pyx_mstate_global->__pyx_n_s_cfunction
#define __pyx_n_s_cfunctions __pyx_mstate_global->__pyx_n_s_cfunctions
#define __pyx_n_s_cglobalAddress __pyx_mstate_global->__pyx_n_s_cglobalAddress
#define __pyx_n_s_cglobalAddress_ptr __pyx_mstate_global->__pyx_n_s_cglobalAddress_ptr
#define __pyx_n_s_cglobalDim __pyx_mstate_global->__pyx_n_s_cglobalDim
#define __pyx_n_s_cglobalStrides __pyx_mstate_global->__pyx_n_s_cglobalStrides
#define __pyx_n_s_cgraph __pyx_mstate_global->__pyx_n_s_cgraph
#define __pyx_n_s_chArray __pyx_mstate_global->__pyx_n_s_chArray
#define __pyx_n_s_chClonedGraph __pyx_mstate_global->__pyx_n_s_chClonedGraph
#define __pyx_n_s_chCtx __pyx_mstate_global->__pyx_n_s_chCtx
#define __pyx_n_s_chEnd __pyx_mstate_global->__pyx_n_s_chEnd
#define __pyx_n_s_chEvent __pyx_mstate_global->__pyx_n_s_chEvent
#define __pyx_n_s_chGraph __pyx_mstate_global->__pyx_n_s_chGraph
#define __pyx_n_s_chGraphExec __pyx_mstate_global->__pyx_n_s_chGraphExec
#define __pyx_n_s_chMipmappedArray __pyx_mstate_global->__pyx_n_s_chMipmappedArray
#define __pyx_n_s_chNode __pyx_mstate_global->__pyx_n_s_chNode
#define __pyx_n_s_chOriginalNode __pyx_mstate_global->__pyx_n_s_chOriginalNode
#define __pyx_n_s_chStart __pyx_mstate_global->__pyx_n_s_chStart
#define __pyx_n_s_chStream __pyx_mstate_global->__pyx_n_s_chStream
#define __pyx_n_s_chSurfRef __pyx_mstate_global->__pyx_n_s_chSurfRef
#define __pyx_n_s_chTexRef __pyx_mstate_global->__pyx_n_s_chTexRef
#define __pyx_n_s_chandle __pyx_mstate_global->__pyx_n_s_chandle
#define __pyx_n_s_chandleType __pyx_mstate_global->__pyx_n_s_chandleType
#define __pyx_n_s_chandle_out __pyx_mstate_global->__pyx_n_s_chandle_out
#define __pyx_n_s_chandle_out_ptr __pyx_mstate_global->__pyx_n_s_chandle_out_ptr
#define __pyx_n_s_chandle_ptr __pyx_mstate_global->__pyx_n_s_chandle_ptr
#define __pyx_n_s_channelsPerPixel __pyx_mstate_global->__pyx_n_s_channelsPerPixel
#define __pyx_n_s_cheight __pyx_mstate_global->__pyx_n_s_cheight
#define __pyx_n_s_chfunc __pyx_mstate_global->__pyx_n_s_chfunc
#define __pyx_n_s_childGraph __pyx_mstate_global->__pyx_n_s_childGraph
#define __pyx_n_s_chmod __pyx_mstate_global->__pyx_n_s_chmod
#define __pyx_n_s_cimage __pyx_mstate_global->__pyx_n_s_cimage
#define __pyx_n_s_cimage_ptr __pyx_mstate_global->__pyx_n_s_cimage_ptr
#define __pyx_n_s_cinput__ptr __pyx_mstate_global->__pyx_n_s_cinput__ptr
#define __pyx_n_s_cinstantiateParams_ptr __pyx_mstate_global->__pyx_n_s_cinstantiateParams_ptr
#define __pyx_n_s_cinterleave __pyx_mstate_global->__pyx_n_s_cinterleave
#define __pyx_n_s_cjitOptions __pyx_mstate_global->__pyx_n_s_cjitOptions
#define __pyx_n_s_ckernel __pyx_mstate_global->__pyx_n_s_ckernel
#define __pyx_n_s_ckernelParams __pyx_mstate_global->__pyx_n_s_ckernelParams
#define __pyx_n_s_ckernels __pyx_mstate_global->__pyx_n_s_ckernels
#define __pyx_n_s_cl2Promotion __pyx_mstate_global->__pyx_n_s_cl2Promotion
#define __pyx_n_s_cl_context_flags __pyx_mstate_global->__pyx_n_s_cl_context_flags
#define __pyx_n_s_cl_event_flags __pyx_mstate_global->__pyx_n_s_cl_event_flags
#define __pyx_n_s_claunchParamsList __pyx_mstate_global->__pyx_n_s_claunchParamsList
#define __pyx_n_s_clib __pyx_mstate_global->__pyx_n_s_clib
#define __pyx_n_s_clibrary __pyx_mstate_global->__pyx_n_s_clibrary
#define __pyx_n_s_clibraryOptions __pyx_mstate_global->__pyx_n_s_clibraryOptions
#define __pyx_n_s_climit __pyx_mstate_global->__pyx_n_s_climit
#define __pyx_n_s_cline_in_traceback __pyx_mstate_global->__pyx_n_s_cline_in_traceback
#define __pyx_n_s_clocation_ptr __pyx_mstate_global->__pyx_n_s_clocation_ptr
#define __pyx_kp_u_clockRate __pyx_mstate_global->__pyx_kp_u_clockRate
#define __pyx_n_s_clockRate_2 __pyx_mstate_global->__pyx_n_s_clockRate_2
#define __pyx_kp_u_clockRate_ValueError __pyx_mstate_global->__pyx_kp_u_clockRate_ValueError
#define __pyx_n_s_close __pyx_mstate_global->__pyx_n_s_close
#define __pyx_kp_u_clusterDim __pyx_mstate_global->__pyx_kp_u_clusterDim
#define __pyx_n_s_clusterDim_2 __pyx_mstate_global->__pyx_n_s_clusterDim_2
#define __pyx_kp_u_clusterDim_ValueError __pyx_mstate_global->__pyx_kp_u_clusterDim_ValueError
#define __pyx_kp_u_clusterSchedulingPolicyPreferenc __pyx_mstate_global->__pyx_kp_u_clusterSchedulingPolicyPreferenc
#define __pyx_n_s_clusterSchedulingPolicyPreferenc_2 __pyx_mstate_global->__pyx_n_s_clusterSchedulingPolicyPreferenc_2
#define __pyx_kp_u_clusterSchedulingPolicyPreferenc_3 __pyx_mstate_global->__pyx_kp_u_clusterSchedulingPolicyPreferenc_3
#define __pyx_n_s_clusterSize __pyx_mstate_global->__pyx_n_s_clusterSize
#define __pyx_n_s_cmap __pyx_mstate_global->__pyx_n_s_cmap
#define __pyx_n_s_cmapInfoList __pyx_mstate_global->__pyx_n_s_cmapInfoList
#define __pyx_n_s_cmcHandle __pyx_mstate_global->__pyx_n_s_cmcHandle
#define __pyx_n_s_cmemHandle __pyx_mstate_global->__pyx_n_s_cmemHandle
#define __pyx_n_s_cmemHandleDesc_ptr __pyx_mstate_global->__pyx_n_s_cmemHandleDesc_ptr
#define __pyx_n_s_cmemPool __pyx_mstate_global->__pyx_n_s_cmemPool
#define __pyx_n_s_cmemptr __pyx_mstate_global->__pyx_n_s_cmemptr
#define __pyx_n_s_cmemsetParams_ptr __pyx_mstate_global->__pyx_n_s_cmemsetParams_ptr
#define __pyx_n_s_cmipmap __pyx_mstate_global->__pyx_n_s_cmipmap
#define __pyx_n_s_cmipmapDesc_ptr __pyx_mstate_global->__pyx_n_s_cmipmapDesc_ptr
#define __pyx_n_s_cmod __pyx_mstate_global->__pyx_n_s_cmod
#define __pyx_n_s_cmode __pyx_mstate_global->__pyx_n_s_cmode
#define __pyx_n_s_cnbGroups __pyx_mstate_global->__pyx_n_s_cnbGroups
#define __pyx_n_s_cnodeParams_ptr __pyx_mstate_global->__pyx_n_s_cnodeParams_ptr
#define __pyx_n_s_cnodes __pyx_mstate_global->__pyx_n_s_cnodes
#define __pyx_n_s_cnvSciSyncAttrList __pyx_mstate_global->__pyx_n_s_cnvSciSyncAttrList
#define __pyx_n_s_cnvSciSyncAttrList_ptr __pyx_mstate_global->__pyx_n_s_cnvSciSyncAttrList_ptr
#define __pyx_n_s_cobject __pyx_mstate_global->__pyx_n_s_cobject
#define __pyx_n_s_code __pyx_mstate_global->__pyx_n_s_code
#define __pyx_kp_u_compressionType __pyx_mstate_global->__pyx_kp_u_compressionType
#define __pyx_n_s_compressionType_2 __pyx_mstate_global->__pyx_n_s_compressionType_2
#define __pyx_kp_u_compressionType_ValueError __pyx_mstate_global->__pyx_kp_u_compressionType_ValueError
#define __pyx_kp_u_conditional __pyx_mstate_global->__pyx_kp_u_conditional
#define __pyx_n_s_conditional_2 __pyx_mstate_global->__pyx_n_s_conditional_2
#define __pyx_kp_u_conditional_ValueError __pyx_mstate_global->__pyx_kp_u_conditional_ValueError
#define __pyx_n_s_config __pyx_mstate_global->__pyx_n_s_config
#define __pyx_n_s_conn __pyx_mstate_global->__pyx_n_s_conn
#define __pyx_n_s_coobFill __pyx_mstate_global->__pyx_n_s_coobFill
#define __pyx_kp_u_cooperative __pyx_mstate_global->__pyx_kp_u_cooperative
#define __pyx_n_s_cooperative_2 __pyx_mstate_global->__pyx_n_s_cooperative_2
#define __pyx_kp_u_cooperative_ValueError __pyx_mstate_global->__pyx_kp_u_cooperative_ValueError
#define __pyx_n_s_coption __pyx_mstate_global->__pyx_n_s_coption
#define __pyx_n_s_coptions __pyx_mstate_global->__pyx_n_s_coptions
#define __pyx_kp_u_copyCtx __pyx_mstate_global->__pyx_kp_u_copyCtx
#define __pyx_n_s_copyCtx_2 __pyx_mstate_global->__pyx_n_s_copyCtx_2
#define __pyx_kp_u_copyCtx_ValueError __pyx_mstate_global->__pyx_kp_u_copyCtx_ValueError
#define __pyx_kp_u_copyParams __pyx_mstate_global->__pyx_kp_u_copyParams
#define __pyx_n_s_copyParams_2 __pyx_mstate_global->__pyx_n_s_copyParams_2
#define __pyx_kp_u_copyParams_ValueError __pyx_mstate_global->__pyx_kp_u_copyParams_ValueError
#define __pyx_n_s_coriginalGraph __pyx_mstate_global->__pyx_n_s_coriginalGraph
#define __pyx_n_s_cosHandle __pyx_mstate_global->__pyx_n_s_cosHandle
#define __pyx_n_s_cosHandle_ptr __pyx_mstate_global->__pyx_n_s_cosHandle_ptr
#define __pyx_kp_u_count __pyx_mstate_global->__pyx_kp_u_count
#define __pyx_n_s_count_2 __pyx_mstate_global->__pyx_n_s_count_2
#define __pyx_kp_u_count_ValueError __pyx_mstate_global->__pyx_kp_u_count_ValueError
#define __pyx_n_s_cp __pyx_mstate_global->__pyx_n_s_cp
#define __pyx_n_s_cpAllocateArray_ptr __pyx_mstate_global->__pyx_n_s_cpAllocateArray_ptr
#define __pyx_n_s_cpCopy_ptr __pyx_mstate_global->__pyx_n_s_cpCopy_ptr
#define __pyx_n_s_cpCudaDevices __pyx_mstate_global->__pyx_n_s_cpCudaDevices
#define __pyx_n_s_cpCudaResource __pyx_mstate_global->__pyx_n_s_cpCudaResource
#define __pyx_n_s_cpExportTableId_ptr __pyx_mstate_global->__pyx_n_s_cpExportTableId_ptr
#define __pyx_n_s_cpMipmappedArrayDesc_ptr __pyx_mstate_global->__pyx_n_s_cpMipmappedArrayDesc_ptr
#define __pyx_n_s_cpResDesc_ptr __pyx_mstate_global->__pyx_n_s_cpResDesc_ptr
#define __pyx_n_s_cpResViewDesc_ptr __pyx_mstate_global->__pyx_n_s_cpResViewDesc_ptr
#define __pyx_n_s_cpStream __pyx_mstate_global->__pyx_n_s_cpStream
#define __pyx_n_s_cpTexDesc_ptr __pyx_mstate_global->__pyx_n_s_cpTexDesc_ptr
#define __pyx_n_s_cp_ptr __pyx_mstate_global->__pyx_n_s_cp_ptr
#define __pyx_n_s_cparamArray __pyx_mstate_global->__pyx_n_s_cparamArray
#define __pyx_n_s_cparamsArray __pyx_mstate_global->__pyx_n_s_cparamsArray
#define __pyx_n_s_cpeerContext __pyx_mstate_global->__pyx_n_s_cpeerContext
#define __pyx_n_s_cpeerDev __pyx_mstate_global->__pyx_n_s_cpeerDev
#define __pyx_n_s_cpformat __pyx_mstate_global->__pyx_n_s_cpformat
#define __pyx_n_s_cpixelBoxLowerCorner __pyx_mstate_global->__pyx_n_s_cpixelBoxLowerCorner
#define __pyx_n_s_cpixelBoxUpperCorner __pyx_mstate_global->__pyx_n_s_cpixelBoxUpperCorner
#define __pyx_n_s_cpixelsPerColumn __pyx_mstate_global->__pyx_n_s_cpixelsPerColumn
#define __pyx_n_s_cpool __pyx_mstate_global->__pyx_n_s_cpool
#define __pyx_n_s_cpoolProps_ptr __pyx_mstate_global->__pyx_n_s_cpoolProps_ptr
#define __pyx_n_s_cprop_ptr __pyx_mstate_global->__pyx_n_s_cprop_ptr
#define __pyx_n_s_cptr __pyx_mstate_global->__pyx_n_s_cptr
#define __pyx_n_s_cptr_ptr __pyx_mstate_global->__pyx_n_s_cptr_ptr
#define __pyx_n_s_cresource __pyx_mstate_global->__pyx_n_s_cresource
#define __pyx_n_s_cresources __pyx_mstate_global->__pyx_n_s_cresources
#define __pyx_n_s_cresult __pyx_mstate_global->__pyx_n_s_cresult
#define __pyx_n_s_crootNodes __pyx_mstate_global->__pyx_n_s_crootNodes
#define __pyx_n_s_cscope __pyx_mstate_global->__pyx_n_s_cscope
#define __pyx_n_s_csemHandleDesc_ptr __pyx_mstate_global->__pyx_n_s_csemHandleDesc_ptr
#define __pyx_n_s_cshHandleType __pyx_mstate_global->__pyx_n_s_cshHandleType
#define __pyx_n_s_cshareData_ptr __pyx_mstate_global->__pyx_n_s_cshareData_ptr
#define __pyx_n_s_cshareableHandle __pyx_mstate_global->__pyx_n_s_cshareableHandle
#define __pyx_n_s_cshareableHandle_ptr __pyx_mstate_global->__pyx_n_s_cshareableHandle_ptr
#define __pyx_n_s_csrc __pyx_mstate_global->__pyx_n_s_csrc
#define __pyx_n_s_csrcArray __pyx_mstate_global->__pyx_n_s_csrcArray
#define __pyx_n_s_csrcContext __pyx_mstate_global->__pyx_n_s_csrcContext
#define __pyx_n_s_csrcDevice __pyx_mstate_global->__pyx_n_s_csrcDevice
#define __pyx_n_s_csrcHost __pyx_mstate_global->__pyx_n_s_csrcHost
#define __pyx_n_s_csrcHost_ptr __pyx_mstate_global->__pyx_n_s_csrcHost_ptr
#define __pyx_n_s_cstate __pyx_mstate_global->__pyx_n_s_cstate
#define __pyx_n_s_cstream __pyx_mstate_global->__pyx_n_s_cstream
#define __pyx_n_s_csurfObject __pyx_mstate_global->__pyx_n_s_csurfObject
#define __pyx_n_s_cswizzle __pyx_mstate_global->__pyx_n_s_cswizzle
#define __pyx_n_s_ctarget __pyx_mstate_global->__pyx_n_s_ctarget
#define __pyx_n_s_ctensorDataType __pyx_mstate_global->__pyx_n_s_ctensorDataType
#define __pyx_n_s_ctensorMap_ptr __pyx_mstate_global->__pyx_n_s_ctensorMap_ptr
#define __pyx_n_s_ctensorRank __pyx_mstate_global->__pyx_n_s_ctensorRank
#define __pyx_n_s_ctexObject __pyx_mstate_global->__pyx_n_s_ctexObject
#define __pyx_n_s_cto __pyx_mstate_global->__pyx_n_s_cto
#define __pyx_kp_u_ctx __pyx_mstate_global->__pyx_kp_u_ctx
#define __pyx_n_s_ctxId __pyx_mstate_global->__pyx_n_s_ctxId
#define __pyx_n_s_ctx_2 __pyx_mstate_global->__pyx_n_s_ctx_2
#define __pyx_kp_u_ctx_ValueError __pyx_mstate_global->__pyx_kp_u_ctx_ValueError
#define __pyx_n_s_ctypename __pyx_mstate_global->__pyx_n_s_ctypename
#define __pyx_n_s_ctypes __pyx_mstate_global->__pyx_n_s_ctypes
#define __pyx_n_s_cuArray3DCreate __pyx_mstate_global->__pyx_n_s_cuArray3DCreate
#define __pyx_n_s_cuArray3DGetDescriptor __pyx_mstate_global->__pyx_n_s_cuArray3DGetDescriptor
#define __pyx_n_s_cuArrayCreate __pyx_mstate_global->__pyx_n_s_cuArrayCreate
#define __pyx_n_s_cuArrayDestroy __pyx_mstate_global->__pyx_n_s_cuArrayDestroy
#define __pyx_n_s_cuArrayGetDescriptor __pyx_mstate_global->__pyx_n_s_cuArrayGetDescriptor
#define __pyx_n_s_cuArrayGetMemoryRequirements __pyx_mstate_global->__pyx_n_s_cuArrayGetMemoryRequirements
#define __pyx_n_s_cuArrayGetPlane __pyx_mstate_global->__pyx_n_s_cuArrayGetPlane
#define __pyx_n_s_cuArrayGetSparseProperties __pyx_mstate_global->__pyx_n_s_cuArrayGetSparseProperties
#define __pyx_n_s_cuCoredumpGetAttribute __pyx_mstate_global->__pyx_n_s_cuCoredumpGetAttribute
#define __pyx_n_s_cuCoredumpGetAttributeGlobal __pyx_mstate_global->__pyx_n_s_cuCoredumpGetAttributeGlobal
#define __pyx_n_s_cuCoredumpSetAttribute __pyx_mstate_global->__pyx_n_s_cuCoredumpSetAttribute
#define __pyx_n_s_cuCoredumpSetAttributeGlobal __pyx_mstate_global->__pyx_n_s_cuCoredumpSetAttributeGlobal
#define __pyx_n_s_cuCtxAttach __pyx_mstate_global->__pyx_n_s_cuCtxAttach
#define __pyx_n_s_cuCtxCreate __pyx_mstate_global->__pyx_n_s_cuCtxCreate
#define __pyx_n_s_cuCtxCreate_v3 __pyx_mstate_global->__pyx_n_s_cuCtxCreate_v3
#define __pyx_n_s_cuCtxCreate_v3_locals_genexpr __pyx_mstate_global->__pyx_n_s_cuCtxCreate_v3_locals_genexpr
#define __pyx_n_s_cuCtxDestroy __pyx_mstate_global->__pyx_n_s_cuCtxDestroy
#define __pyx_n_s_cuCtxDetach __pyx_mstate_global->__pyx_n_s_cuCtxDetach
#define __pyx_n_s_cuCtxDisablePeerAccess __pyx_mstate_global->__pyx_n_s_cuCtxDisablePeerAccess
#define __pyx_n_s_cuCtxEnablePeerAccess __pyx_mstate_global->__pyx_n_s_cuCtxEnablePeerAccess
#define __pyx_n_s_cuCtxFromGreenCtx __pyx_mstate_global->__pyx_n_s_cuCtxFromGreenCtx
#define __pyx_n_s_cuCtxGetApiVersion __pyx_mstate_global->__pyx_n_s_cuCtxGetApiVersion
#define __pyx_n_s_cuCtxGetCacheConfig __pyx_mstate_global->__pyx_n_s_cuCtxGetCacheConfig
#define __pyx_n_s_cuCtxGetCurrent __pyx_mstate_global->__pyx_n_s_cuCtxGetCurrent
#define __pyx_n_s_cuCtxGetDevResource __pyx_mstate_global->__pyx_n_s_cuCtxGetDevResource
#define __pyx_n_s_cuCtxGetDevice __pyx_mstate_global->__pyx_n_s_cuCtxGetDevice
#define __pyx_n_s_cuCtxGetExecAffinity __pyx_mstate_global->__pyx_n_s_cuCtxGetExecAffinity
#define __pyx_n_s_cuCtxGetFlags __pyx_mstate_global->__pyx_n_s_cuCtxGetFlags
#define __pyx_n_s_cuCtxGetId __pyx_mstate_global->__pyx_n_s_cuCtxGetId
#define __pyx_n_s_cuCtxGetLimit __pyx_mstate_global->__pyx_n_s_cuCtxGetLimit
#define __pyx_n_s_cuCtxGetSharedMemConfig __pyx_mstate_global->__pyx_n_s_cuCtxGetSharedMemConfig
#define __pyx_n_s_cuCtxGetStreamPriorityRange __pyx_mstate_global->__pyx_n_s_cuCtxGetStreamPriorityRange
#define __pyx_n_s_cuCtxPopCurrent __pyx_mstate_global->__pyx_n_s_cuCtxPopCurrent
#define __pyx_n_s_cuCtxPushCurrent __pyx_mstate_global->__pyx_n_s_cuCtxPushCurrent
#define __pyx_n_s_cuCtxResetPersistingL2Cache __pyx_mstate_global->__pyx_n_s_cuCtxResetPersistingL2Cache
#define __pyx_n_s_cuCtxSetCacheConfig __pyx_mstate_global->__pyx_n_s_cuCtxSetCacheConfig
#define __pyx_n_s_cuCtxSetCurrent __pyx_mstate_global->__pyx_n_s_cuCtxSetCurrent
#define __pyx_n_s_cuCtxSetFlags __pyx_mstate_global->__pyx_n_s_cuCtxSetFlags
#define __pyx_n_s_cuCtxSetLimit __pyx_mstate_global->__pyx_n_s_cuCtxSetLimit
#define __pyx_n_s_cuCtxSetSharedMemConfig __pyx_mstate_global->__pyx_n_s_cuCtxSetSharedMemConfig
#define __pyx_n_s_cuCtxSynchronize __pyx_mstate_global->__pyx_n_s_cuCtxSynchronize
#define __pyx_n_s_cuDestroyExternalMemory __pyx_mstate_global->__pyx_n_s_cuDestroyExternalMemory
#define __pyx_n_s_cuDestroyExternalSemaphore __pyx_mstate_global->__pyx_n_s_cuDestroyExternalSemaphore
#define __pyx_n_s_cuDevResourceGenerateDesc __pyx_mstate_global->__pyx_n_s_cuDevResourceGenerateDesc
#define __pyx_n_s_cuDevResourceGenerateDesc_locals __pyx_mstate_global->__pyx_n_s_cuDevResourceGenerateDesc_locals
#define __pyx_n_s_cuDevSmResourceSplitByCount __pyx_mstate_global->__pyx_n_s_cuDevSmResourceSplitByCount
#define __pyx_n_s_cuDeviceCanAccessPeer __pyx_mstate_global->__pyx_n_s_cuDeviceCanAccessPeer
#define __pyx_n_s_cuDeviceComputeCapability __pyx_mstate_global->__pyx_n_s_cuDeviceComputeCapability
#define __pyx_n_s_cuDeviceGet __pyx_mstate_global->__pyx_n_s_cuDeviceGet
#define __pyx_n_s_cuDeviceGetAttribute __pyx_mstate_global->__pyx_n_s_cuDeviceGetAttribute
#define __pyx_n_s_cuDeviceGetByPCIBusId __pyx_mstate_global->__pyx_n_s_cuDeviceGetByPCIBusId
#define __pyx_n_s_cuDeviceGetCount __pyx_mstate_global->__pyx_n_s_cuDeviceGetCount
#define __pyx_n_s_cuDeviceGetDefaultMemPool __pyx_mstate_global->__pyx_n_s_cuDeviceGetDefaultMemPool
#define __pyx_n_s_cuDeviceGetDevResource __pyx_mstate_global->__pyx_n_s_cuDeviceGetDevResource
#define __pyx_n_s_cuDeviceGetExecAffinitySupport __pyx_mstate_global->__pyx_n_s_cuDeviceGetExecAffinitySupport
#define __pyx_n_s_cuDeviceGetGraphMemAttribute __pyx_mstate_global->__pyx_n_s_cuDeviceGetGraphMemAttribute
#define __pyx_n_s_cuDeviceGetLuid __pyx_mstate_global->__pyx_n_s_cuDeviceGetLuid
#define __pyx_n_s_cuDeviceGetMemPool __pyx_mstate_global->__pyx_n_s_cuDeviceGetMemPool
#define __pyx_n_s_cuDeviceGetName __pyx_mstate_global->__pyx_n_s_cuDeviceGetName
#define __pyx_n_s_cuDeviceGetNvSciSyncAttributes __pyx_mstate_global->__pyx_n_s_cuDeviceGetNvSciSyncAttributes
#define __pyx_n_s_cuDeviceGetP2PAttribute __pyx_mstate_global->__pyx_n_s_cuDeviceGetP2PAttribute
#define __pyx_n_s_cuDeviceGetPCIBusId __pyx_mstate_global->__pyx_n_s_cuDeviceGetPCIBusId
#define __pyx_n_s_cuDeviceGetProperties __pyx_mstate_global->__pyx_n_s_cuDeviceGetProperties
#define __pyx_n_s_cuDeviceGetTexture1DLinearMaxWid __pyx_mstate_global->__pyx_n_s_cuDeviceGetTexture1DLinearMaxWid
#define __pyx_n_s_cuDeviceGetUuid __pyx_mstate_global->__pyx_n_s_cuDeviceGetUuid
#define __pyx_n_s_cuDeviceGetUuid_v2 __pyx_mstate_global->__pyx_n_s_cuDeviceGetUuid_v2
#define __pyx_n_s_cuDeviceGraphMemTrim __pyx_mstate_global->__pyx_n_s_cuDeviceGraphMemTrim
#define __pyx_n_s_cuDevicePrimaryCtxGetState __pyx_mstate_global->__pyx_n_s_cuDevicePrimaryCtxGetState
#define __pyx_n_s_cuDevicePrimaryCtxRelease __pyx_mstate_global->__pyx_n_s_cuDevicePrimaryCtxRelease
#define __pyx_n_s_cuDevicePrimaryCtxReset __pyx_mstate_global->__pyx_n_s_cuDevicePrimaryCtxReset
#define __pyx_n_s_cuDevicePrimaryCtxRetain __pyx_mstate_global->__pyx_n_s_cuDevicePrimaryCtxRetain
#define __pyx_n_s_cuDevicePrimaryCtxSetFlags __pyx_mstate_global->__pyx_n_s_cuDevicePrimaryCtxSetFlags
#define __pyx_n_s_cuDeviceRegisterAsyncNotificatio __pyx_mstate_global->__pyx_n_s_cuDeviceRegisterAsyncNotificatio
#define __pyx_n_s_cuDeviceSetGraphMemAttribute __pyx_mstate_global->__pyx_n_s_cuDeviceSetGraphMemAttribute
#define __pyx_n_s_cuDeviceSetMemPool __pyx_mstate_global->__pyx_n_s_cuDeviceSetMemPool
#define __pyx_n_s_cuDeviceTotalMem __pyx_mstate_global->__pyx_n_s_cuDeviceTotalMem
#define __pyx_n_s_cuDeviceUnregisterAsyncNotificat __pyx_mstate_global->__pyx_n_s_cuDeviceUnregisterAsyncNotificat
#define __pyx_n_s_cuDriverGetVersion __pyx_mstate_global->__pyx_n_s_cuDriverGetVersion
#define __pyx_n_s_cuEGLStreamConsumerAcquireFrame __pyx_mstate_global->__pyx_n_s_cuEGLStreamConsumerAcquireFrame
#define __pyx_n_s_cuEGLStreamConsumerConnect __pyx_mstate_global->__pyx_n_s_cuEGLStreamConsumerConnect
#define __pyx_n_s_cuEGLStreamConsumerConnectWithFl __pyx_mstate_global->__pyx_n_s_cuEGLStreamConsumerConnectWithFl
#define __pyx_n_s_cuEGLStreamConsumerDisconnect __pyx_mstate_global->__pyx_n_s_cuEGLStreamConsumerDisconnect
#define __pyx_n_s_cuEGLStreamConsumerReleaseFrame __pyx_mstate_global->__pyx_n_s_cuEGLStreamConsumerReleaseFrame
#define __pyx_n_s_cuEGLStreamProducerConnect __pyx_mstate_global->__pyx_n_s_cuEGLStreamProducerConnect
#define __pyx_n_s_cuEGLStreamProducerDisconnect __pyx_mstate_global->__pyx_n_s_cuEGLStreamProducerDisconnect
#define __pyx_n_s_cuEGLStreamProducerPresentFrame __pyx_mstate_global->__pyx_n_s_cuEGLStreamProducerPresentFrame
#define __pyx_n_s_cuEGLStreamProducerReturnFrame __pyx_mstate_global->__pyx_n_s_cuEGLStreamProducerReturnFrame
#define __pyx_n_s_cuEventCreate __pyx_mstate_global->__pyx_n_s_cuEventCreate
#define __pyx_n_s_cuEventCreateFromEGLSync __pyx_mstate_global->__pyx_n_s_cuEventCreateFromEGLSync
#define __pyx_n_s_cuEventDestroy __pyx_mstate_global->__pyx_n_s_cuEventDestroy
#define __pyx_n_s_cuEventElapsedTime __pyx_mstate_global->__pyx_n_s_cuEventElapsedTime
#define __pyx_n_s_cuEventQuery __pyx_mstate_global->__pyx_n_s_cuEventQuery
#define __pyx_n_s_cuEventRecord __pyx_mstate_global->__pyx_n_s_cuEventRecord
#define __pyx_n_s_cuEventRecordWithFlags __pyx_mstate_global->__pyx_n_s_cuEventRecordWithFlags
#define __pyx_n_s_cuEventSynchronize __pyx_mstate_global->__pyx_n_s_cuEventSynchronize
#define __pyx_n_s_cuExternalMemoryGetMappedBuffer __pyx_mstate_global->__pyx_n_s_cuExternalMemoryGetMappedBuffer
#define __pyx_n_s_cuExternalMemoryGetMappedMipmapp __pyx_mstate_global->__pyx_n_s_cuExternalMemoryGetMappedMipmapp
#define __pyx_n_s_cuFlushGPUDirectRDMAWrites __pyx_mstate_global->__pyx_n_s_cuFlushGPUDirectRDMAWrites
#define __pyx_kp_u_cuFormat __pyx_mstate_global->__pyx_kp_u_cuFormat
#define __pyx_n_s_cuFormat_2 __pyx_mstate_global->__pyx_n_s_cuFormat_2
#define __pyx_kp_u_cuFormat_ValueError __pyx_mstate_global->__pyx_kp_u_cuFormat_ValueError
#define __pyx_n_s_cuFuncGetAttribute __pyx_mstate_global->__pyx_n_s_cuFuncGetAttribute
#define __pyx_n_s_cuFuncGetModule __pyx_mstate_global->__pyx_n_s_cuFuncGetModule
#define __pyx_n_s_cuFuncGetName __pyx_mstate_global->__pyx_n_s_cuFuncGetName
#define __pyx_n_s_cuFuncGetParamInfo __pyx_mstate_global->__pyx_n_s_cuFuncGetParamInfo
#define __pyx_n_s_cuFuncIsLoaded __pyx_mstate_global->__pyx_n_s_cuFuncIsLoaded
#define __pyx_n_s_cuFuncLoad __pyx_mstate_global->__pyx_n_s_cuFuncLoad
#define __pyx_n_s_cuFuncSetAttribute __pyx_mstate_global->__pyx_n_s_cuFuncSetAttribute
#define __pyx_n_s_cuFuncSetBlockShape __pyx_mstate_global->__pyx_n_s_cuFuncSetBlockShape
#define __pyx_n_s_cuFuncSetCacheConfig __pyx_mstate_global->__pyx_n_s_cuFuncSetCacheConfig
#define __pyx_n_s_cuFuncSetSharedMemConfig __pyx_mstate_global->__pyx_n_s_cuFuncSetSharedMemConfig
#define __pyx_n_s_cuFuncSetSharedSize __pyx_mstate_global->__pyx_n_s_cuFuncSetSharedSize
#define __pyx_n_s_cuGLGetDevices __pyx_mstate_global->__pyx_n_s_cuGLGetDevices
#define __pyx_n_s_cuGetErrorName __pyx_mstate_global->__pyx_n_s_cuGetErrorName
#define __pyx_n_s_cuGetErrorString __pyx_mstate_global->__pyx_n_s_cuGetErrorString
#define __pyx_n_s_cuGetExportTable __pyx_mstate_global->__pyx_n_s_cuGetExportTable
#define __pyx_n_s_cuGetProcAddress __pyx_mstate_global->__pyx_n_s_cuGetProcAddress
#define __pyx_n_s_cuGraphAddBatchMemOpNode __pyx_mstate_global->__pyx_n_s_cuGraphAddBatchMemOpNode
#define __pyx_n_s_cuGraphAddBatchMemOpNode_locals __pyx_mstate_global->__pyx_n_s_cuGraphAddBatchMemOpNode_locals
#define __pyx_n_s_cuGraphAddChildGraphNode __pyx_mstate_global->__pyx_n_s_cuGraphAddChildGraphNode
#define __pyx_n_s_cuGraphAddChildGraphNode_locals __pyx_mstate_global->__pyx_n_s_cuGraphAddChildGraphNode_locals
#define __pyx_n_s_cuGraphAddDependencies __pyx_mstate_global->__pyx_n_s_cuGraphAddDependencies
#define __pyx_n_s_cuGraphAddDependencies_locals_ge __pyx_mstate_global->__pyx_n_s_cuGraphAddDependencies_locals_ge
#define __pyx_n_s_cuGraphAddDependencies_v2 __pyx_mstate_global->__pyx_n_s_cuGraphAddDependencies_v2
#define __pyx_n_s_cuGraphAddDependencies_v2_locals __pyx_mstate_global->__pyx_n_s_cuGraphAddDependencies_v2_locals
#define __pyx_n_s_cuGraphAddEmptyNode __pyx_mstate_global->__pyx_n_s_cuGraphAddEmptyNode
#define __pyx_n_s_cuGraphAddEmptyNode_locals_genex __pyx_mstate_global->__pyx_n_s_cuGraphAddEmptyNode_locals_genex
#define __pyx_n_s_cuGraphAddEventRecordNode __pyx_mstate_global->__pyx_n_s_cuGraphAddEventRecordNode
#define __pyx_n_s_cuGraphAddEventRecordNode_locals __pyx_mstate_global->__pyx_n_s_cuGraphAddEventRecordNode_locals
#define __pyx_n_s_cuGraphAddEventWaitNode __pyx_mstate_global->__pyx_n_s_cuGraphAddEventWaitNode
#define __pyx_n_s_cuGraphAddEventWaitNode_locals_g __pyx_mstate_global->__pyx_n_s_cuGraphAddEventWaitNode_locals_g
#define __pyx_n_s_cuGraphAddExternalSemaphoresSign __pyx_mstate_global->__pyx_n_s_cuGraphAddExternalSemaphoresSign
#define __pyx_n_s_cuGraphAddExternalSemaphoresSign_2 __pyx_mstate_global->__pyx_n_s_cuGraphAddExternalSemaphoresSign_2
#define __pyx_n_s_cuGraphAddExternalSemaphoresWait __pyx_mstate_global->__pyx_n_s_cuGraphAddExternalSemaphoresWait
#define __pyx_n_s_cuGraphAddExternalSemaphoresWait_2 __pyx_mstate_global->__pyx_n_s_cuGraphAddExternalSemaphoresWait_2
#define __pyx_n_s_cuGraphAddHostNode __pyx_mstate_global->__pyx_n_s_cuGraphAddHostNode
#define __pyx_n_s_cuGraphAddHostNode_locals_genexp __pyx_mstate_global->__pyx_n_s_cuGraphAddHostNode_locals_genexp
#define __pyx_n_s_cuGraphAddKernelNode __pyx_mstate_global->__pyx_n_s_cuGraphAddKernelNode
#define __pyx_n_s_cuGraphAddKernelNode_locals_gene __pyx_mstate_global->__pyx_n_s_cuGraphAddKernelNode_locals_gene
#define __pyx_n_s_cuGraphAddMemAllocNode __pyx_mstate_global->__pyx_n_s_cuGraphAddMemAllocNode
#define __pyx_n_s_cuGraphAddMemAllocNode_locals_ge __pyx_mstate_global->__pyx_n_s_cuGraphAddMemAllocNode_locals_ge
#define __pyx_n_s_cuGraphAddMemFreeNode __pyx_mstate_global->__pyx_n_s_cuGraphAddMemFreeNode
#define __pyx_n_s_cuGraphAddMemFreeNode_locals_gen __pyx_mstate_global->__pyx_n_s_cuGraphAddMemFreeNode_locals_gen
#define __pyx_n_s_cuGraphAddMemcpyNode __pyx_mstate_global->__pyx_n_s_cuGraphAddMemcpyNode
#define __pyx_n_s_cuGraphAddMemcpyNode_locals_gene __pyx_mstate_global->__pyx_n_s_cuGraphAddMemcpyNode_locals_gene
#define __pyx_n_s_cuGraphAddMemsetNode __pyx_mstate_global->__pyx_n_s_cuGraphAddMemsetNode
#define __pyx_n_s_cuGraphAddMemsetNode_locals_gene __pyx_mstate_global->__pyx_n_s_cuGraphAddMemsetNode_locals_gene
#define __pyx_n_s_cuGraphAddNode __pyx_mstate_global->__pyx_n_s_cuGraphAddNode
#define __pyx_n_s_cuGraphAddNode_locals_genexpr __pyx_mstate_global->__pyx_n_s_cuGraphAddNode_locals_genexpr
#define __pyx_n_s_cuGraphAddNode_v2 __pyx_mstate_global->__pyx_n_s_cuGraphAddNode_v2
#define __pyx_n_s_cuGraphAddNode_v2_locals_genexpr __pyx_mstate_global->__pyx_n_s_cuGraphAddNode_v2_locals_genexpr
#define __pyx_n_s_cuGraphBatchMemOpNodeGetParams __pyx_mstate_global->__pyx_n_s_cuGraphBatchMemOpNodeGetParams
#define __pyx_n_s_cuGraphBatchMemOpNodeSetParams __pyx_mstate_global->__pyx_n_s_cuGraphBatchMemOpNodeSetParams
#define __pyx_n_s_cuGraphChildGraphNodeGetGraph __pyx_mstate_global->__pyx_n_s_cuGraphChildGraphNodeGetGraph
#define __pyx_n_s_cuGraphClone __pyx_mstate_global->__pyx_n_s_cuGraphClone
#define __pyx_n_s_cuGraphConditionalHandleCreate __pyx_mstate_global->__pyx_n_s_cuGraphConditionalHandleCreate
#define __pyx_n_s_cuGraphCreate __pyx_mstate_global->__pyx_n_s_cuGraphCreate
#define __pyx_n_s_cuGraphDebugDotPrint __pyx_mstate_global->__pyx_n_s_cuGraphDebugDotPrint
#define __pyx_n_s_cuGraphDestroy __pyx_mstate_global->__pyx_n_s_cuGraphDestroy
#define __pyx_n_s_cuGraphDestroyNode __pyx_mstate_global->__pyx_n_s_cuGraphDestroyNode
#define __pyx_n_s_cuGraphEventRecordNodeGetEvent __pyx_mstate_global->__pyx_n_s_cuGraphEventRecordNodeGetEvent
#define __pyx_n_s_cuGraphEventRecordNodeSetEvent __pyx_mstate_global->__pyx_n_s_cuGraphEventRecordNodeSetEvent
#define __pyx_n_s_cuGraphEventWaitNodeGetEvent __pyx_mstate_global->__pyx_n_s_cuGraphEventWaitNodeGetEvent
#define __pyx_n_s_cuGraphEventWaitNodeSetEvent __pyx_mstate_global->__pyx_n_s_cuGraphEventWaitNodeSetEvent
#define __pyx_n_s_cuGraphExecBatchMemOpNodeSetPara __pyx_mstate_global->__pyx_n_s_cuGraphExecBatchMemOpNodeSetPara
#define __pyx_n_s_cuGraphExecChildGraphNodeSetPara __pyx_mstate_global->__pyx_n_s_cuGraphExecChildGraphNodeSetPara
#define __pyx_n_s_cuGraphExecDestroy __pyx_mstate_global->__pyx_n_s_cuGraphExecDestroy
#define __pyx_n_s_cuGraphExecEventRecordNodeSetEve __pyx_mstate_global->__pyx_n_s_cuGraphExecEventRecordNodeSetEve
#define __pyx_n_s_cuGraphExecEventWaitNodeSetEvent __pyx_mstate_global->__pyx_n_s_cuGraphExecEventWaitNodeSetEvent
#define __pyx_n_s_cuGraphExecExternalSemaphoresSig __pyx_mstate_global->__pyx_n_s_cuGraphExecExternalSemaphoresSig
#define __pyx_n_s_cuGraphExecExternalSemaphoresWai __pyx_mstate_global->__pyx_n_s_cuGraphExecExternalSemaphoresWai
#define __pyx_n_s_cuGraphExecGetFlags __pyx_mstate_global->__pyx_n_s_cuGraphExecGetFlags
#define __pyx_n_s_cuGraphExecHostNodeSetParams __pyx_mstate_global->__pyx_n_s_cuGraphExecHostNodeSetParams
#define __pyx_n_s_cuGraphExecKernelNodeSetParams __pyx_mstate_global->__pyx_n_s_cuGraphExecKernelNodeSetParams
#define __pyx_n_s_cuGraphExecMemcpyNodeSetParams __pyx_mstate_global->__pyx_n_s_cuGraphExecMemcpyNodeSetParams
#define __pyx_n_s_cuGraphExecMemsetNodeSetParams __pyx_mstate_global->__pyx_n_s_cuGraphExecMemsetNodeSetParams
#define __pyx_n_s_cuGraphExecNodeSetParams __pyx_mstate_global->__pyx_n_s_cuGraphExecNodeSetParams
#define __pyx_n_s_cuGraphExecUpdate __pyx_mstate_global->__pyx_n_s_cuGraphExecUpdate
#define __pyx_n_s_cuGraphExternalSemaphoresSignalN __pyx_mstate_global->__pyx_n_s_cuGraphExternalSemaphoresSignalN
#define __pyx_n_s_cuGraphExternalSemaphoresSignalN_2 __pyx_mstate_global->__pyx_n_s_cuGraphExternalSemaphoresSignalN_2
#define __pyx_n_s_cuGraphExternalSemaphoresWaitNod __pyx_mstate_global->__pyx_n_s_cuGraphExternalSemaphoresWaitNod
#define __pyx_n_s_cuGraphExternalSemaphoresWaitNod_2 __pyx_mstate_global->__pyx_n_s_cuGraphExternalSemaphoresWaitNod_2
#define __pyx_n_s_cuGraphGetEdges __pyx_mstate_global->__pyx_n_s_cuGraphGetEdges
#define __pyx_n_s_cuGraphGetEdges_v2 __pyx_mstate_global->__pyx_n_s_cuGraphGetEdges_v2
#define __pyx_n_s_cuGraphGetNodes __pyx_mstate_global->__pyx_n_s_cuGraphGetNodes
#define __pyx_n_s_cuGraphGetRootNodes __pyx_mstate_global->__pyx_n_s_cuGraphGetRootNodes
#define __pyx_n_s_cuGraphHostNodeGetParams __pyx_mstate_global->__pyx_n_s_cuGraphHostNodeGetParams
#define __pyx_n_s_cuGraphHostNodeSetParams __pyx_mstate_global->__pyx_n_s_cuGraphHostNodeSetParams
#define __pyx_n_s_cuGraphInstantiate __pyx_mstate_global->__pyx_n_s_cuGraphInstantiate
#define __pyx_n_s_cuGraphInstantiateWithParams __pyx_mstate_global->__pyx_n_s_cuGraphInstantiateWithParams
#define __pyx_n_s_cuGraphKernelNodeCopyAttributes __pyx_mstate_global->__pyx_n_s_cuGraphKernelNodeCopyAttributes
#define __pyx_n_s_cuGraphKernelNodeGetAttribute __pyx_mstate_global->__pyx_n_s_cuGraphKernelNodeGetAttribute
#define __pyx_n_s_cuGraphKernelNodeGetParams __pyx_mstate_global->__pyx_n_s_cuGraphKernelNodeGetParams
#define __pyx_n_s_cuGraphKernelNodeSetAttribute __pyx_mstate_global->__pyx_n_s_cuGraphKernelNodeSetAttribute
#define __pyx_n_s_cuGraphKernelNodeSetParams __pyx_mstate_global->__pyx_n_s_cuGraphKernelNodeSetParams
#define __pyx_n_s_cuGraphLaunch __pyx_mstate_global->__pyx_n_s_cuGraphLaunch
#define __pyx_n_s_cuGraphMemAllocNodeGetParams __pyx_mstate_global->__pyx_n_s_cuGraphMemAllocNodeGetParams
#define __pyx_n_s_cuGraphMemFreeNodeGetParams __pyx_mstate_global->__pyx_n_s_cuGraphMemFreeNodeGetParams
#define __pyx_n_s_cuGraphMemcpyNodeGetParams __pyx_mstate_global->__pyx_n_s_cuGraphMemcpyNodeGetParams
#define __pyx_n_s_cuGraphMemcpyNodeSetParams __pyx_mstate_global->__pyx_n_s_cuGraphMemcpyNodeSetParams
#define __pyx_n_s_cuGraphMemsetNodeGetParams __pyx_mstate_global->__pyx_n_s_cuGraphMemsetNodeGetParams
#define __pyx_n_s_cuGraphMemsetNodeSetParams __pyx_mstate_global->__pyx_n_s_cuGraphMemsetNodeSetParams
#define __pyx_n_s_cuGraphNodeFindInClone __pyx_mstate_global->__pyx_n_s_cuGraphNodeFindInClone
#define __pyx_n_s_cuGraphNodeGetDependencies __pyx_mstate_global->__pyx_n_s_cuGraphNodeGetDependencies
#define __pyx_n_s_cuGraphNodeGetDependencies_v2 __pyx_mstate_global->__pyx_n_s_cuGraphNodeGetDependencies_v2
#define __pyx_n_s_cuGraphNodeGetDependentNodes __pyx_mstate_global->__pyx_n_s_cuGraphNodeGetDependentNodes
#define __pyx_n_s_cuGraphNodeGetDependentNodes_v2 __pyx_mstate_global->__pyx_n_s_cuGraphNodeGetDependentNodes_v2
#define __pyx_n_s_cuGraphNodeGetEnabled __pyx_mstate_global->__pyx_n_s_cuGraphNodeGetEnabled
#define __pyx_n_s_cuGraphNodeGetType __pyx_mstate_global->__pyx_n_s_cuGraphNodeGetType
#define __pyx_n_s_cuGraphNodeSetEnabled __pyx_mstate_global->__pyx_n_s_cuGraphNodeSetEnabled
#define __pyx_n_s_cuGraphNodeSetParams __pyx_mstate_global->__pyx_n_s_cuGraphNodeSetParams
#define __pyx_n_s_cuGraphReleaseUserObject __pyx_mstate_global->__pyx_n_s_cuGraphReleaseUserObject
#define __pyx_n_s_cuGraphRemoveDependencies __pyx_mstate_global->__pyx_n_s_cuGraphRemoveDependencies
#define __pyx_n_s_cuGraphRemoveDependencies_locals __pyx_mstate_global->__pyx_n_s_cuGraphRemoveDependencies_locals
#define __pyx_n_s_cuGraphRemoveDependencies_v2 __pyx_mstate_global->__pyx_n_s_cuGraphRemoveDependencies_v2
#define __pyx_n_s_cuGraphRemoveDependencies_v2_loc __pyx_mstate_global->__pyx_n_s_cuGraphRemoveDependencies_v2_loc
#define __pyx_n_s_cuGraphRetainUserObject __pyx_mstate_global->__pyx_n_s_cuGraphRetainUserObject
#define __pyx_n_s_cuGraphUpload __pyx_mstate_global->__pyx_n_s_cuGraphUpload
#define __pyx_n_s_cuGraphicsEGLRegisterImage __pyx_mstate_global->__pyx_n_s_cuGraphicsEGLRegisterImage
#define __pyx_n_s_cuGraphicsGLRegisterBuffer __pyx_mstate_global->__pyx_n_s_cuGraphicsGLRegisterBuffer
#define __pyx_n_s_cuGraphicsGLRegisterImage __pyx_mstate_global->__pyx_n_s_cuGraphicsGLRegisterImage
#define __pyx_n_s_cuGraphicsMapResources __pyx_mstate_global->__pyx_n_s_cuGraphicsMapResources
#define __pyx_n_s_cuGraphicsResourceGetMappedEglFr __pyx_mstate_global->__pyx_n_s_cuGraphicsResourceGetMappedEglFr
#define __pyx_n_s_cuGraphicsResourceGetMappedMipma __pyx_mstate_global->__pyx_n_s_cuGraphicsResourceGetMappedMipma
#define __pyx_n_s_cuGraphicsResourceGetMappedPoint __pyx_mstate_global->__pyx_n_s_cuGraphicsResourceGetMappedPoint
#define __pyx_n_s_cuGraphicsResourceSetMapFlags __pyx_mstate_global->__pyx_n_s_cuGraphicsResourceSetMapFlags
#define __pyx_n_s_cuGraphicsSubResourceGetMappedAr __pyx_mstate_global->__pyx_n_s_cuGraphicsSubResourceGetMappedAr
#define __pyx_n_s_cuGraphicsUnmapResources __pyx_mstate_global->__pyx_n_s_cuGraphicsUnmapResources
#define __pyx_n_s_cuGraphicsUnregisterResource __pyx_mstate_global->__pyx_n_s_cuGraphicsUnregisterResource
#define __pyx_n_s_cuGraphicsVDPAURegisterOutputSur __pyx_mstate_global->__pyx_n_s_cuGraphicsVDPAURegisterOutputSur
#define __pyx_n_s_cuGraphicsVDPAURegisterVideoSurf __pyx_mstate_global->__pyx_n_s_cuGraphicsVDPAURegisterVideoSurf
#define __pyx_n_s_cuGreenCtxCreate __pyx_mstate_global->__pyx_n_s_cuGreenCtxCreate
#define __pyx_n_s_cuGreenCtxDestroy __pyx_mstate_global->__pyx_n_s_cuGreenCtxDestroy
#define __pyx_n_s_cuGreenCtxGetDevResource __pyx_mstate_global->__pyx_n_s_cuGreenCtxGetDevResource
#define __pyx_n_s_cuGreenCtxRecordEvent __pyx_mstate_global->__pyx_n_s_cuGreenCtxRecordEvent
#define __pyx_n_s_cuGreenCtxWaitEvent __pyx_mstate_global->__pyx_n_s_cuGreenCtxWaitEvent
#define __pyx_n_s_cuImportExternalMemory __pyx_mstate_global->__pyx_n_s_cuImportExternalMemory
#define __pyx_n_s_cuImportExternalSemaphore __pyx_mstate_global->__pyx_n_s_cuImportExternalSemaphore
#define __pyx_n_s_cuInit __pyx_mstate_global->__pyx_n_s_cuInit
#define __pyx_n_s_cuIpcCloseMemHandle __pyx_mstate_global->__pyx_n_s_cuIpcCloseMemHandle
#define __pyx_n_s_cuIpcGetEventHandle __pyx_mstate_global->__pyx_n_s_cuIpcGetEventHandle
#define __pyx_n_s_cuIpcGetMemHandle __pyx_mstate_global->__pyx_n_s_cuIpcGetMemHandle
#define __pyx_n_s_cuIpcOpenEventHandle __pyx_mstate_global->__pyx_n_s_cuIpcOpenEventHandle
#define __pyx_n_s_cuIpcOpenMemHandle __pyx_mstate_global->__pyx_n_s_cuIpcOpenMemHandle
#define __pyx_n_s_cuKernelGetAttribute __pyx_mstate_global->__pyx_n_s_cuKernelGetAttribute
#define __pyx_n_s_cuKernelGetFunction __pyx_mstate_global->__pyx_n_s_cuKernelGetFunction
#define __pyx_n_s_cuKernelGetName __pyx_mstate_global->__pyx_n_s_cuKernelGetName
#define __pyx_n_s_cuKernelGetParamInfo __pyx_mstate_global->__pyx_n_s_cuKernelGetParamInfo
#define __pyx_n_s_cuKernelSetAttribute __pyx_mstate_global->__pyx_n_s_cuKernelSetAttribute
#define __pyx_n_s_cuKernelSetCacheConfig __pyx_mstate_global->__pyx_n_s_cuKernelSetCacheConfig
#define __pyx_n_s_cuLaunch __pyx_mstate_global->__pyx_n_s_cuLaunch
#define __pyx_n_s_cuLaunchCooperativeKernel __pyx_mstate_global->__pyx_n_s_cuLaunchCooperativeKernel
#define __pyx_n_s_cuLaunchCooperativeKernelMultiDe __pyx_mstate_global->__pyx_n_s_cuLaunchCooperativeKernelMultiDe
#define __pyx_n_s_cuLaunchCooperativeKernelMultiDe_2 __pyx_mstate_global->__pyx_n_s_cuLaunchCooperativeKernelMultiDe_2
#define __pyx_n_s_cuLaunchGrid __pyx_mstate_global->__pyx_n_s_cuLaunchGrid
#define __pyx_n_s_cuLaunchGridAsync __pyx_mstate_global->__pyx_n_s_cuLaunchGridAsync
#define __pyx_n_s_cuLaunchHostFunc __pyx_mstate_global->__pyx_n_s_cuLaunchHostFunc
#define __pyx_n_s_cuLaunchKernel __pyx_mstate_global->__pyx_n_s_cuLaunchKernel
#define __pyx_n_s_cuLaunchKernelEx __pyx_mstate_global->__pyx_n_s_cuLaunchKernelEx
#define __pyx_n_s_cuLibraryEnumerateKernels __pyx_mstate_global->__pyx_n_s_cuLibraryEnumerateKernels
#define __pyx_n_s_cuLibraryGetGlobal __pyx_mstate_global->__pyx_n_s_cuLibraryGetGlobal
#define __pyx_n_s_cuLibraryGetKernel __pyx_mstate_global->__pyx_n_s_cuLibraryGetKernel
#define __pyx_n_s_cuLibraryGetKernelCount __pyx_mstate_global->__pyx_n_s_cuLibraryGetKernelCount
#define __pyx_n_s_cuLibraryGetManaged __pyx_mstate_global->__pyx_n_s_cuLibraryGetManaged
#define __pyx_n_s_cuLibraryGetModule __pyx_mstate_global->__pyx_n_s_cuLibraryGetModule
#define __pyx_n_s_cuLibraryGetUnifiedFunction __pyx_mstate_global->__pyx_n_s_cuLibraryGetUnifiedFunction
#define __pyx_n_s_cuLibraryLoadData __pyx_mstate_global->__pyx_n_s_cuLibraryLoadData
#define __pyx_n_s_cuLibraryLoadData_locals_genexpr __pyx_mstate_global->__pyx_n_s_cuLibraryLoadData_locals_genexpr
#define __pyx_n_s_cuLibraryLoadFromFile __pyx_mstate_global->__pyx_n_s_cuLibraryLoadFromFile
#define __pyx_n_s_cuLibraryLoadFromFile_locals_gen __pyx_mstate_global->__pyx_n_s_cuLibraryLoadFromFile_locals_gen
#define __pyx_n_s_cuLibraryUnload __pyx_mstate_global->__pyx_n_s_cuLibraryUnload
#define __pyx_n_s_cuLinkAddData __pyx_mstate_global->__pyx_n_s_cuLinkAddData
#define __pyx_n_s_cuLinkAddData_locals_genexpr __pyx_mstate_global->__pyx_n_s_cuLinkAddData_locals_genexpr
#define __pyx_n_s_cuLinkAddFile __pyx_mstate_global->__pyx_n_s_cuLinkAddFile
#define __pyx_n_s_cuLinkAddFile_locals_genexpr __pyx_mstate_global->__pyx_n_s_cuLinkAddFile_locals_genexpr
#define __pyx_n_s_cuLinkComplete __pyx_mstate_global->__pyx_n_s_cuLinkComplete
#define __pyx_n_s_cuLinkCreate __pyx_mstate_global->__pyx_n_s_cuLinkCreate
#define __pyx_n_s_cuLinkCreate_locals_genexpr __pyx_mstate_global->__pyx_n_s_cuLinkCreate_locals_genexpr
#define __pyx_n_s_cuLinkDestroy __pyx_mstate_global->__pyx_n_s_cuLinkDestroy
#define __pyx_n_s_cuMemAddressFree __pyx_mstate_global->__pyx_n_s_cuMemAddressFree
#define __pyx_n_s_cuMemAddressReserve __pyx_mstate_global->__pyx_n_s_cuMemAddressReserve
#define __pyx_n_s_cuMemAdvise __pyx_mstate_global->__pyx_n_s_cuMemAdvise
#define __pyx_n_s_cuMemAdvise_v2 __pyx_mstate_global->__pyx_n_s_cuMemAdvise_v2
#define __pyx_n_s_cuMemAlloc __pyx_mstate_global->__pyx_n_s_cuMemAlloc
#define __pyx_n_s_cuMemAllocAsync __pyx_mstate_global->__pyx_n_s_cuMemAllocAsync
#define __pyx_n_s_cuMemAllocFromPoolAsync __pyx_mstate_global->__pyx_n_s_cuMemAllocFromPoolAsync
#define __pyx_n_s_cuMemAllocHost __pyx_mstate_global->__pyx_n_s_cuMemAllocHost
#define __pyx_n_s_cuMemAllocManaged __pyx_mstate_global->__pyx_n_s_cuMemAllocManaged
#define __pyx_n_s_cuMemAllocPitch __pyx_mstate_global->__pyx_n_s_cuMemAllocPitch
#define __pyx_n_s_cuMemCreate __pyx_mstate_global->__pyx_n_s_cuMemCreate
#define __pyx_n_s_cuMemExportToShareableHandle __pyx_mstate_global->__pyx_n_s_cuMemExportToShareableHandle
#define __pyx_n_s_cuMemFree __pyx_mstate_global->__pyx_n_s_cuMemFree
#define __pyx_n_s_cuMemFreeAsync __pyx_mstate_global->__pyx_n_s_cuMemFreeAsync
#define __pyx_n_s_cuMemFreeHost __pyx_mstate_global->__pyx_n_s_cuMemFreeHost
#define __pyx_n_s_cuMemGetAccess __pyx_mstate_global->__pyx_n_s_cuMemGetAccess
#define __pyx_n_s_cuMemGetAddressRange __pyx_mstate_global->__pyx_n_s_cuMemGetAddressRange
#define __pyx_n_s_cuMemGetAllocationGranularity __pyx_mstate_global->__pyx_n_s_cuMemGetAllocationGranularity
#define __pyx_n_s_cuMemGetAllocationPropertiesFrom __pyx_mstate_global->__pyx_n_s_cuMemGetAllocationPropertiesFrom
#define __pyx_n_s_cuMemGetHandleForAddressRange __pyx_mstate_global->__pyx_n_s_cuMemGetHandleForAddressRange
#define __pyx_n_s_cuMemGetInfo __pyx_mstate_global->__pyx_n_s_cuMemGetInfo
#define __pyx_n_s_cuMemHostAlloc __pyx_mstate_global->__pyx_n_s_cuMemHostAlloc
#define __pyx_n_s_cuMemHostGetDevicePointer __pyx_mstate_global->__pyx_n_s_cuMemHostGetDevicePointer
#define __pyx_n_s_cuMemHostGetFlags __pyx_mstate_global->__pyx_n_s_cuMemHostGetFlags
#define __pyx_n_s_cuMemHostRegister __pyx_mstate_global->__pyx_n_s_cuMemHostRegister
#define __pyx_n_s_cuMemHostUnregister __pyx_mstate_global->__pyx_n_s_cuMemHostUnregister
#define __pyx_n_s_cuMemImportFromShareableHandle __pyx_mstate_global->__pyx_n_s_cuMemImportFromShareableHandle
#define __pyx_n_s_cuMemMap __pyx_mstate_global->__pyx_n_s_cuMemMap
#define __pyx_n_s_cuMemMapArrayAsync __pyx_mstate_global->__pyx_n_s_cuMemMapArrayAsync
#define __pyx_n_s_cuMemMapArrayAsync_locals_genexp __pyx_mstate_global->__pyx_n_s_cuMemMapArrayAsync_locals_genexp
#define __pyx_n_s_cuMemPoolCreate __pyx_mstate_global->__pyx_n_s_cuMemPoolCreate
#define __pyx_n_s_cuMemPoolDestroy __pyx_mstate_global->__pyx_n_s_cuMemPoolDestroy
#define __pyx_n_s_cuMemPoolExportPointer __pyx_mstate_global->__pyx_n_s_cuMemPoolExportPointer
#define __pyx_n_s_cuMemPoolExportToShareableHandle __pyx_mstate_global->__pyx_n_s_cuMemPoolExportToShareableHandle
#define __pyx_n_s_cuMemPoolGetAccess __pyx_mstate_global->__pyx_n_s_cuMemPoolGetAccess
#define __pyx_n_s_cuMemPoolGetAttribute __pyx_mstate_global->__pyx_n_s_cuMemPoolGetAttribute
#define __pyx_n_s_cuMemPoolImportFromShareableHand __pyx_mstate_global->__pyx_n_s_cuMemPoolImportFromShareableHand
#define __pyx_n_s_cuMemPoolImportPointer __pyx_mstate_global->__pyx_n_s_cuMemPoolImportPointer
#define __pyx_n_s_cuMemPoolSetAccess __pyx_mstate_global->__pyx_n_s_cuMemPoolSetAccess
#define __pyx_n_s_cuMemPoolSetAccess_locals_genexp __pyx_mstate_global->__pyx_n_s_cuMemPoolSetAccess_locals_genexp
#define __pyx_n_s_cuMemPoolSetAttribute __pyx_mstate_global->__pyx_n_s_cuMemPoolSetAttribute
#define __pyx_n_s_cuMemPoolTrimTo __pyx_mstate_global->__pyx_n_s_cuMemPoolTrimTo
#define __pyx_n_s_cuMemPrefetchAsync __pyx_mstate_global->__pyx_n_s_cuMemPrefetchAsync
#define __pyx_n_s_cuMemPrefetchAsync_v2 __pyx_mstate_global->__pyx_n_s_cuMemPrefetchAsync_v2
#define __pyx_n_s_cuMemRangeGetAttribute __pyx_mstate_global->__pyx_n_s_cuMemRangeGetAttribute
#define __pyx_n_s_cuMemRangeGetAttributes __pyx_mstate_global->__pyx_n_s_cuMemRangeGetAttributes
#define __pyx_n_s_cuMemRangeGetAttributes_locals_g __pyx_mstate_global->__pyx_n_s_cuMemRangeGetAttributes_locals_g
#define __pyx_n_s_cuMemRelease __pyx_mstate_global->__pyx_n_s_cuMemRelease
#define __pyx_n_s_cuMemRetainAllocationHandle __pyx_mstate_global->__pyx_n_s_cuMemRetainAllocationHandle
#define __pyx_n_s_cuMemSetAccess __pyx_mstate_global->__pyx_n_s_cuMemSetAccess
#define __pyx_n_s_cuMemSetAccess_locals_genexpr __pyx_mstate_global->__pyx_n_s_cuMemSetAccess_locals_genexpr
#define __pyx_n_s_cuMemUnmap __pyx_mstate_global->__pyx_n_s_cuMemUnmap
#define __pyx_n_s_cuMemcpy __pyx_mstate_global->__pyx_n_s_cuMemcpy
#define __pyx_n_s_cuMemcpy2D __pyx_mstate_global->__pyx_n_s_cuMemcpy2D
#define __pyx_n_s_cuMemcpy2DAsync __pyx_mstate_global->__pyx_n_s_cuMemcpy2DAsync
#define __pyx_n_s_cuMemcpy2DUnaligned __pyx_mstate_global->__pyx_n_s_cuMemcpy2DUnaligned
#define __pyx_n_s_cuMemcpy3D __pyx_mstate_global->__pyx_n_s_cuMemcpy3D
#define __pyx_n_s_cuMemcpy3DAsync __pyx_mstate_global->__pyx_n_s_cuMemcpy3DAsync
#define __pyx_n_s_cuMemcpy3DPeer __pyx_mstate_global->__pyx_n_s_cuMemcpy3DPeer
#define __pyx_n_s_cuMemcpy3DPeerAsync __pyx_mstate_global->__pyx_n_s_cuMemcpy3DPeerAsync
#define __pyx_n_s_cuMemcpyAsync __pyx_mstate_global->__pyx_n_s_cuMemcpyAsync
#define __pyx_n_s_cuMemcpyAtoA __pyx_mstate_global->__pyx_n_s_cuMemcpyAtoA
#define __pyx_n_s_cuMemcpyAtoD __pyx_mstate_global->__pyx_n_s_cuMemcpyAtoD
#define __pyx_n_s_cuMemcpyAtoH __pyx_mstate_global->__pyx_n_s_cuMemcpyAtoH
#define __pyx_n_s_cuMemcpyAtoHAsync __pyx_mstate_global->__pyx_n_s_cuMemcpyAtoHAsync
#define __pyx_n_s_cuMemcpyDtoA __pyx_mstate_global->__pyx_n_s_cuMemcpyDtoA
#define __pyx_n_s_cuMemcpyDtoD __pyx_mstate_global->__pyx_n_s_cuMemcpyDtoD
#define __pyx_n_s_cuMemcpyDtoDAsync __pyx_mstate_global->__pyx_n_s_cuMemcpyDtoDAsync
#define __pyx_n_s_cuMemcpyDtoH __pyx_mstate_global->__pyx_n_s_cuMemcpyDtoH
#define __pyx_n_s_cuMemcpyDtoHAsync __pyx_mstate_global->__pyx_n_s_cuMemcpyDtoHAsync
#define __pyx_n_s_cuMemcpyHtoA __pyx_mstate_global->__pyx_n_s_cuMemcpyHtoA
#define __pyx_n_s_cuMemcpyHtoAAsync __pyx_mstate_global->__pyx_n_s_cuMemcpyHtoAAsync
#define __pyx_n_s_cuMemcpyHtoD __pyx_mstate_global->__pyx_n_s_cuMemcpyHtoD
#define __pyx_n_s_cuMemcpyHtoDAsync __pyx_mstate_global->__pyx_n_s_cuMemcpyHtoDAsync
#define __pyx_n_s_cuMemcpyPeer __pyx_mstate_global->__pyx_n_s_cuMemcpyPeer
#define __pyx_n_s_cuMemcpyPeerAsync __pyx_mstate_global->__pyx_n_s_cuMemcpyPeerAsync
#define __pyx_n_s_cuMemsetD16 __pyx_mstate_global->__pyx_n_s_cuMemsetD16
#define __pyx_n_s_cuMemsetD16Async __pyx_mstate_global->__pyx_n_s_cuMemsetD16Async
#define __pyx_n_s_cuMemsetD2D16 __pyx_mstate_global->__pyx_n_s_cuMemsetD2D16
#define __pyx_n_s_cuMemsetD2D16Async __pyx_mstate_global->__pyx_n_s_cuMemsetD2D16Async
#define __pyx_n_s_cuMemsetD2D32 __pyx_mstate_global->__pyx_n_s_cuMemsetD2D32
#define __pyx_n_s_cuMemsetD2D32Async __pyx_mstate_global->__pyx_n_s_cuMemsetD2D32Async
#define __pyx_n_s_cuMemsetD2D8 __pyx_mstate_global->__pyx_n_s_cuMemsetD2D8
#define __pyx_n_s_cuMemsetD2D8Async __pyx_mstate_global->__pyx_n_s_cuMemsetD2D8Async
#define __pyx_n_s_cuMemsetD32 __pyx_mstate_global->__pyx_n_s_cuMemsetD32
#define __pyx_n_s_cuMemsetD32Async __pyx_mstate_global->__pyx_n_s_cuMemsetD32Async
#define __pyx_n_s_cuMemsetD8 __pyx_mstate_global->__pyx_n_s_cuMemsetD8
#define __pyx_n_s_cuMemsetD8Async __pyx_mstate_global->__pyx_n_s_cuMemsetD8Async
#define __pyx_n_s_cuMipmappedArrayCreate __pyx_mstate_global->__pyx_n_s_cuMipmappedArrayCreate
#define __pyx_n_s_cuMipmappedArrayDestroy __pyx_mstate_global->__pyx_n_s_cuMipmappedArrayDestroy
#define __pyx_n_s_cuMipmappedArrayGetLevel __pyx_mstate_global->__pyx_n_s_cuMipmappedArrayGetLevel
#define __pyx_n_s_cuMipmappedArrayGetMemoryRequire __pyx_mstate_global->__pyx_n_s_cuMipmappedArrayGetMemoryRequire
#define __pyx_n_s_cuMipmappedArrayGetSparsePropert __pyx_mstate_global->__pyx_n_s_cuMipmappedArrayGetSparsePropert
#define __pyx_n_s_cuModuleEnumerateFunctions __pyx_mstate_global->__pyx_n_s_cuModuleEnumerateFunctions
#define __pyx_n_s_cuModuleGetFunction __pyx_mstate_global->__pyx_n_s_cuModuleGetFunction
#define __pyx_n_s_cuModuleGetFunctionCount __pyx_mstate_global->__pyx_n_s_cuModuleGetFunctionCount
#define __pyx_n_s_cuModuleGetGlobal __pyx_mstate_global->__pyx_n_s_cuModuleGetGlobal
#define __pyx_n_s_cuModuleGetLoadingMode __pyx_mstate_global->__pyx_n_s_cuModuleGetLoadingMode
#define __pyx_n_s_cuModuleGetSurfRef __pyx_mstate_global->__pyx_n_s_cuModuleGetSurfRef
#define __pyx_n_s_cuModuleGetTexRef __pyx_mstate_global->__pyx_n_s_cuModuleGetTexRef
#define __pyx_n_s_cuModuleLoad __pyx_mstate_global->__pyx_n_s_cuModuleLoad
#define __pyx_n_s_cuModuleLoadData __pyx_mstate_global->__pyx_n_s_cuModuleLoadData
#define __pyx_n_s_cuModuleLoadDataEx __pyx_mstate_global->__pyx_n_s_cuModuleLoadDataEx
#define __pyx_n_s_cuModuleLoadDataEx_locals_genexp __pyx_mstate_global->__pyx_n_s_cuModuleLoadDataEx_locals_genexp
#define __pyx_n_s_cuModuleLoadFatBinary __pyx_mstate_global->__pyx_n_s_cuModuleLoadFatBinary
#define __pyx_n_s_cuModuleUnload __pyx_mstate_global->__pyx_n_s_cuModuleUnload
#define __pyx_n_s_cuMulticastAddDevice __pyx_mstate_global->__pyx_n_s_cuMulticastAddDevice
#define __pyx_n_s_cuMulticastBindAddr __pyx_mstate_global->__pyx_n_s_cuMulticastBindAddr
#define __pyx_n_s_cuMulticastBindMem __pyx_mstate_global->__pyx_n_s_cuMulticastBindMem
#define __pyx_n_s_cuMulticastCreate __pyx_mstate_global->__pyx_n_s_cuMulticastCreate
#define __pyx_n_s_cuMulticastGetGranularity __pyx_mstate_global->__pyx_n_s_cuMulticastGetGranularity
#define __pyx_n_s_cuMulticastUnbind __pyx_mstate_global->__pyx_n_s_cuMulticastUnbind
#define __pyx_n_s_cuOccupancyAvailableDynamicSMemP __pyx_mstate_global->__pyx_n_s_cuOccupancyAvailableDynamicSMemP
#define __pyx_n_s_cuOccupancyMaxActiveBlocksPerMul __pyx_mstate_global->__pyx_n_s_cuOccupancyMaxActiveBlocksPerMul
#define __pyx_n_s_cuOccupancyMaxActiveBlocksPerMul_2 __pyx_mstate_global->__pyx_n_s_cuOccupancyMaxActiveBlocksPerMul_2
#define __pyx_n_s_cuOccupancyMaxActiveClusters __pyx_mstate_global->__pyx_n_s_cuOccupancyMaxActiveClusters
#define __pyx_n_s_cuOccupancyMaxPotentialBlockSize __pyx_mstate_global->__pyx_n_s_cuOccupancyMaxPotentialBlockSize
#define __pyx_n_s_cuOccupancyMaxPotentialBlockSize_2 __pyx_mstate_global->__pyx_n_s_cuOccupancyMaxPotentialBlockSize_2
#define __pyx_n_s_cuOccupancyMaxPotentialClusterSi __pyx_mstate_global->__pyx_n_s_cuOccupancyMaxPotentialClusterSi
#define __pyx_n_s_cuParamSetSize __pyx_mstate_global->__pyx_n_s_cuParamSetSize
#define __pyx_n_s_cuParamSetTexRef __pyx_mstate_global->__pyx_n_s_cuParamSetTexRef
#define __pyx_n_s_cuParamSetf __pyx_mstate_global->__pyx_n_s_cuParamSetf
#define __pyx_n_s_cuParamSeti __pyx_mstate_global->__pyx_n_s_cuParamSeti
#define __pyx_n_s_cuParamSetv __pyx_mstate_global->__pyx_n_s_cuParamSetv
#define __pyx_n_s_cuPointerGetAttribute __pyx_mstate_global->__pyx_n_s_cuPointerGetAttribute
#define __pyx_n_s_cuPointerGetAttributes __pyx_mstate_global->__pyx_n_s_cuPointerGetAttributes
#define __pyx_n_s_cuPointerGetAttributes_locals_ge __pyx_mstate_global->__pyx_n_s_cuPointerGetAttributes_locals_ge
#define __pyx_n_s_cuPointerSetAttribute __pyx_mstate_global->__pyx_n_s_cuPointerSetAttribute
#define __pyx_n_s_cuProfilerStart __pyx_mstate_global->__pyx_n_s_cuProfilerStart
#define __pyx_n_s_cuProfilerStop __pyx_mstate_global->__pyx_n_s_cuProfilerStop
#define __pyx_n_s_cuSignalExternalSemaphoresAsync __pyx_mstate_global->__pyx_n_s_cuSignalExternalSemaphoresAsync
#define __pyx_n_s_cuSignalExternalSemaphoresAsync_2 __pyx_mstate_global->__pyx_n_s_cuSignalExternalSemaphoresAsync_2
#define __pyx_n_s_cuStreamAddCallback __pyx_mstate_global->__pyx_n_s_cuStreamAddCallback
#define __pyx_n_s_cuStreamAttachMemAsync __pyx_mstate_global->__pyx_n_s_cuStreamAttachMemAsync
#define __pyx_n_s_cuStreamBatchMemOp __pyx_mstate_global->__pyx_n_s_cuStreamBatchMemOp
#define __pyx_n_s_cuStreamBatchMemOp_locals_genexp __pyx_mstate_global->__pyx_n_s_cuStreamBatchMemOp_locals_genexp
#define __pyx_n_s_cuStreamBeginCapture __pyx_mstate_global->__pyx_n_s_cuStreamBeginCapture
#define __pyx_n_s_cuStreamBeginCaptureToGraph __pyx_mstate_global->__pyx_n_s_cuStreamBeginCaptureToGraph
#define __pyx_n_s_cuStreamBeginCaptureToGraph_loca __pyx_mstate_global->__pyx_n_s_cuStreamBeginCaptureToGraph_loca
#define __pyx_n_s_cuStreamCopyAttributes __pyx_mstate_global->__pyx_n_s_cuStreamCopyAttributes
#define __pyx_n_s_cuStreamCreate __pyx_mstate_global->__pyx_n_s_cuStreamCreate
#define __pyx_n_s_cuStreamCreateWithPriority __pyx_mstate_global->__pyx_n_s_cuStreamCreateWithPriority
#define __pyx_n_s_cuStreamDestroy __pyx_mstate_global->__pyx_n_s_cuStreamDestroy
#define __pyx_n_s_cuStreamEndCapture __pyx_mstate_global->__pyx_n_s_cuStreamEndCapture
#define __pyx_n_s_cuStreamGetAttribute __pyx_mstate_global->__pyx_n_s_cuStreamGetAttribute
#define __pyx_n_s_cuStreamGetCaptureInfo __pyx_mstate_global->__pyx_n_s_cuStreamGetCaptureInfo
#define __pyx_n_s_cuStreamGetCaptureInfo_v3 __pyx_mstate_global->__pyx_n_s_cuStreamGetCaptureInfo_v3
#define __pyx_n_s_cuStreamGetCtx __pyx_mstate_global->__pyx_n_s_cuStreamGetCtx
#define __pyx_n_s_cuStreamGetFlags __pyx_mstate_global->__pyx_n_s_cuStreamGetFlags
#define __pyx_n_s_cuStreamGetGreenCtx __pyx_mstate_global->__pyx_n_s_cuStreamGetGreenCtx
#define __pyx_n_s_cuStreamGetId __pyx_mstate_global->__pyx_n_s_cuStreamGetId
#define __pyx_n_s_cuStreamGetPriority __pyx_mstate_global->__pyx_n_s_cuStreamGetPriority
#define __pyx_n_s_cuStreamIsCapturing __pyx_mstate_global->__pyx_n_s_cuStreamIsCapturing
#define __pyx_n_s_cuStreamQuery __pyx_mstate_global->__pyx_n_s_cuStreamQuery
#define __pyx_n_s_cuStreamSetAttribute __pyx_mstate_global->__pyx_n_s_cuStreamSetAttribute
#define __pyx_n_s_cuStreamSynchronize __pyx_mstate_global->__pyx_n_s_cuStreamSynchronize
#define __pyx_n_s_cuStreamUpdateCaptureDependencie __pyx_mstate_global->__pyx_n_s_cuStreamUpdateCaptureDependencie
#define __pyx_n_s_cuStreamUpdateCaptureDependencie_2 __pyx_mstate_global->__pyx_n_s_cuStreamUpdateCaptureDependencie_2
#define __pyx_n_s_cuStreamUpdateCaptureDependencie_3 __pyx_mstate_global->__pyx_n_s_cuStreamUpdateCaptureDependencie_3
#define __pyx_n_s_cuStreamUpdateCaptureDependencie_4 __pyx_mstate_global->__pyx_n_s_cuStreamUpdateCaptureDependencie_4
#define __pyx_n_s_cuStreamWaitEvent __pyx_mstate_global->__pyx_n_s_cuStreamWaitEvent
#define __pyx_n_s_cuStreamWaitValue32 __pyx_mstate_global->__pyx_n_s_cuStreamWaitValue32
#define __pyx_n_s_cuStreamWaitValue64 __pyx_mstate_global->__pyx_n_s_cuStreamWaitValue64
#define __pyx_n_s_cuStreamWriteValue32 __pyx_mstate_global->__pyx_n_s_cuStreamWriteValue32
#define __pyx_n_s_cuStreamWriteValue64 __pyx_mstate_global->__pyx_n_s_cuStreamWriteValue64
#define __pyx_n_s_cuSurfObjectCreate __pyx_mstate_global->__pyx_n_s_cuSurfObjectCreate
#define __pyx_n_s_cuSurfObjectDestroy __pyx_mstate_global->__pyx_n_s_cuSurfObjectDestroy
#define __pyx_n_s_cuSurfObjectGetResourceDesc __pyx_mstate_global->__pyx_n_s_cuSurfObjectGetResourceDesc
#define __pyx_n_s_cuSurfRefGetArray __pyx_mstate_global->__pyx_n_s_cuSurfRefGetArray
#define __pyx_n_s_cuSurfRefSetArray __pyx_mstate_global->__pyx_n_s_cuSurfRefSetArray
#define __pyx_n_s_cuTensorMapEncodeIm2col __pyx_mstate_global->__pyx_n_s_cuTensorMapEncodeIm2col
#define __pyx_n_s_cuTensorMapEncodeIm2col_locals_g __pyx_mstate_global->__pyx_n_s_cuTensorMapEncodeIm2col_locals_g
#define __pyx_n_s_cuTensorMapEncodeTiled __pyx_mstate_global->__pyx_n_s_cuTensorMapEncodeTiled
#define __pyx_n_s_cuTensorMapEncodeTiled_locals_ge __pyx_mstate_global->__pyx_n_s_cuTensorMapEncodeTiled_locals_ge
#define __pyx_n_s_cuTensorMapReplaceAddress __pyx_mstate_global->__pyx_n_s_cuTensorMapReplaceAddress
#define __pyx_n_s_cuTexObjectCreate __pyx_mstate_global->__pyx_n_s_cuTexObjectCreate
#define __pyx_n_s_cuTexObjectDestroy __pyx_mstate_global->__pyx_n_s_cuTexObjectDestroy
#define __pyx_n_s_cuTexObjectGetResourceDesc __pyx_mstate_global->__pyx_n_s_cuTexObjectGetResourceDesc
#define __pyx_n_s_cuTexObjectGetResourceViewDesc __pyx_mstate_global->__pyx_n_s_cuTexObjectGetResourceViewDesc
#define __pyx_n_s_cuTexObjectGetTextureDesc __pyx_mstate_global->__pyx_n_s_cuTexObjectGetTextureDesc
#define __pyx_n_s_cuTexRefCreate __pyx_mstate_global->__pyx_n_s_cuTexRefCreate
#define __pyx_n_s_cuTexRefDestroy __pyx_mstate_global->__pyx_n_s_cuTexRefDestroy
#define __pyx_n_s_cuTexRefGetAddress __pyx_mstate_global->__pyx_n_s_cuTexRefGetAddress
#define __pyx_n_s_cuTexRefGetAddressMode __pyx_mstate_global->__pyx_n_s_cuTexRefGetAddressMode
#define __pyx_n_s_cuTexRefGetArray __pyx_mstate_global->__pyx_n_s_cuTexRefGetArray
#define __pyx_n_s_cuTexRefGetBorderColor __pyx_mstate_global->__pyx_n_s_cuTexRefGetBorderColor
#define __pyx_n_s_cuTexRefGetFilterMode __pyx_mstate_global->__pyx_n_s_cuTexRefGetFilterMode
#define __pyx_n_s_cuTexRefGetFlags __pyx_mstate_global->__pyx_n_s_cuTexRefGetFlags
#define __pyx_n_s_cuTexRefGetFormat __pyx_mstate_global->__pyx_n_s_cuTexRefGetFormat
#define __pyx_n_s_cuTexRefGetMaxAnisotropy __pyx_mstate_global->__pyx_n_s_cuTexRefGetMaxAnisotropy
#define __pyx_n_s_cuTexRefGetMipmapFilterMode __pyx_mstate_global->__pyx_n_s_cuTexRefGetMipmapFilterMode
#define __pyx_n_s_cuTexRefGetMipmapLevelBias __pyx_mstate_global->__pyx_n_s_cuTexRefGetMipmapLevelBias
#define __pyx_n_s_cuTexRefGetMipmapLevelClamp __pyx_mstate_global->__pyx_n_s_cuTexRefGetMipmapLevelClamp
#define __pyx_n_s_cuTexRefGetMipmappedArray __pyx_mstate_global->__pyx_n_s_cuTexRefGetMipmappedArray
#define __pyx_n_s_cuTexRefSetAddress __pyx_mstate_global->__pyx_n_s_cuTexRefSetAddress
#define __pyx_n_s_cuTexRefSetAddress2D __pyx_mstate_global->__pyx_n_s_cuTexRefSetAddress2D
#define __pyx_n_s_cuTexRefSetAddressMode __pyx_mstate_global->__pyx_n_s_cuTexRefSetAddressMode
#define __pyx_n_s_cuTexRefSetArray __pyx_mstate_global->__pyx_n_s_cuTexRefSetArray
#define __pyx_n_s_cuTexRefSetBorderColor __pyx_mstate_global->__pyx_n_s_cuTexRefSetBorderColor
#define __pyx_n_s_cuTexRefSetFilterMode __pyx_mstate_global->__pyx_n_s_cuTexRefSetFilterMode
#define __pyx_n_s_cuTexRefSetFlags __pyx_mstate_global->__pyx_n_s_cuTexRefSetFlags
#define __pyx_n_s_cuTexRefSetFormat __pyx_mstate_global->__pyx_n_s_cuTexRefSetFormat
#define __pyx_n_s_cuTexRefSetMaxAnisotropy __pyx_mstate_global->__pyx_n_s_cuTexRefSetMaxAnisotropy
#define __pyx_n_s_cuTexRefSetMipmapFilterMode __pyx_mstate_global->__pyx_n_s_cuTexRefSetMipmapFilterMode
#define __pyx_n_s_cuTexRefSetMipmapLevelBias __pyx_mstate_global->__pyx_n_s_cuTexRefSetMipmapLevelBias
#define __pyx_n_s_cuTexRefSetMipmapLevelClamp __pyx_mstate_global->__pyx_n_s_cuTexRefSetMipmapLevelClamp
#define __pyx_n_s_cuTexRefSetMipmappedArray __pyx_mstate_global->__pyx_n_s_cuTexRefSetMipmappedArray
#define __pyx_n_s_cuThreadExchangeStreamCaptureMod __pyx_mstate_global->__pyx_n_s_cuThreadExchangeStreamCaptureMod
#define __pyx_n_s_cuUserObjectCreate __pyx_mstate_global->__pyx_n_s_cuUserObjectCreate
#define __pyx_n_s_cuUserObjectRelease __pyx_mstate_global->__pyx_n_s_cuUserObjectRelease
#define __pyx_n_s_cuUserObjectRetain __pyx_mstate_global->__pyx_n_s_cuUserObjectRetain
#define __pyx_n_s_cuVDPAUCtxCreate __pyx_mstate_global->__pyx_n_s_cuVDPAUCtxCreate
#define __pyx_n_s_cuVDPAUGetDevice __pyx_mstate_global->__pyx_n_s_cuVDPAUGetDevice
#define __pyx_n_s_cuWaitExternalSemaphoresAsync __pyx_mstate_global->__pyx_n_s_cuWaitExternalSemaphoresAsync
#define __pyx_n_s_cuWaitExternalSemaphoresAsync_lo __pyx_mstate_global->__pyx_n_s_cuWaitExternalSemaphoresAsync_lo
#define __pyx_n_s_cubinOut __pyx_mstate_global->__pyx_n_s_cubinOut
#define __pyx_n_s_cudaDeviceCount __pyx_mstate_global->__pyx_n_s_cudaDeviceCount
#define __pyx_n_s_cudaVersion __pyx_mstate_global->__pyx_n_s_cudaVersion
#define __pyx_n_s_cuda_cuda __pyx_mstate_global->__pyx_n_s_cuda_cuda
#define __pyx_kp_s_cuda_cuda_pyx __pyx_mstate_global->__pyx_kp_s_cuda_cuda_pyx
#define __pyx_n_s_cuserData __pyx_mstate_global->__pyx_n_s_cuserData
#define __pyx_n_s_cuserData_ptr __pyx_mstate_global->__pyx_n_s_cuserData_ptr
#define __pyx_kp_u_cuuint32_t __pyx_mstate_global->__pyx_kp_u_cuuint32_t
#define __pyx_n_s_cuuint32_t_2 __pyx_mstate_global->__pyx_n_s_cuuint32_t_2
#define __pyx_n_s_cuuint32_t___reduce_cython __pyx_mstate_global->__pyx_n_s_cuuint32_t___reduce_cython
#define __pyx_n_s_cuuint32_t___setstate_cython __pyx_mstate_global->__pyx_n_s_cuuint32_t___setstate_cython
#define __pyx_n_s_cuuint32_t_getPtr __pyx_mstate_global->__pyx_n_s_cuuint32_t_getPtr
#define __pyx_kp_u_cuuint64_t __pyx_mstate_global->__pyx_kp_u_cuuint64_t
#define __pyx_n_s_cuuint64_t_2 __pyx_mstate_global->__pyx_n_s_cuuint64_t_2
#define __pyx_n_s_cuuint64_t___reduce_cython __pyx_mstate_global->__pyx_n_s_cuuint64_t___reduce_cython
#define __pyx_n_s_cuuint64_t___setstate_cython __pyx_mstate_global->__pyx_n_s_cuuint64_t___setstate_cython
#define __pyx_n_s_cuuint64_t_getPtr __pyx_mstate_global->__pyx_n_s_cuuint64_t_getPtr
#define __pyx_n_s_cvalue __pyx_mstate_global->__pyx_n_s_cvalue
#define __pyx_n_s_cvalue_ptr __pyx_mstate_global->__pyx_n_s_cvalue_ptr
#define __pyx_n_s_cvdpDevice __pyx_mstate_global->__pyx_n_s_cvdpDevice
#define __pyx_n_s_cvdpGetProcAddress __pyx_mstate_global->__pyx_n_s_cvdpGetProcAddress
#define __pyx_n_s_cvdpSurface __pyx_mstate_global->__pyx_n_s_cvdpSurface
#define __pyx_n_s_cvoidStarHelper_ptr __pyx_mstate_global->__pyx_n_s_cvoidStarHelper_ptr
#define __pyx_n_s_cwidth __pyx_mstate_global->__pyx_n_s_cwidth
#define __pyx_kp_u_data __pyx_mstate_global->__pyx_kp_u_data
#define __pyx_n_s_dataSize __pyx_mstate_global->__pyx_n_s_dataSize
#define __pyx_n_s_dataSizes __pyx_mstate_global->__pyx_n_s_dataSizes
#define __pyx_kp_u_dataTable __pyx_mstate_global->__pyx_kp_u_dataTable
#define __pyx_n_s_dataTable_2 __pyx_mstate_global->__pyx_n_s_dataTable_2
#define __pyx_kp_u_dataTable_ValueError __pyx_mstate_global->__pyx_kp_u_dataTable_ValueError
#define __pyx_kp_u_dataWindowSize __pyx_mstate_global->__pyx_kp_u_dataWindowSize
#define __pyx_n_s_dataWindowSize_2 __pyx_mstate_global->__pyx_n_s_dataWindowSize_2
#define __pyx_kp_u_dataWindowSize_ValueError __pyx_mstate_global->__pyx_kp_u_dataWindowSize_ValueError
#define __pyx_n_s_data_2 __pyx_mstate_global->__pyx_n_s_data_2
#define __pyx_kp_u_data_ValueError __pyx_mstate_global->__pyx_kp_u_data_ValueError
#define __pyx_kp_u_data_length_must_be_64_is __pyx_mstate_global->__pyx_kp_u_data_length_must_be_64_is
#define __pyx_kp_u_default __pyx_mstate_global->__pyx_kp_u_default
#define __pyx_n_s_defaultLaunchValue __pyx_mstate_global->__pyx_n_s_defaultLaunchValue
#define __pyx_n_s_default_2 __pyx_mstate_global->__pyx_n_s_default_2
#define __pyx_kp_u_default__ValueError __pyx_mstate_global->__pyx_kp_u_default__ValueError
#define __pyx_n_s_dependencies __pyx_mstate_global->__pyx_n_s_dependencies
#define __pyx_n_s_dependencyData __pyx_mstate_global->__pyx_n_s_dependencyData
#define __pyx_kp_u_depth __pyx_mstate_global->__pyx_kp_u_depth
#define __pyx_n_s_depth_2 __pyx_mstate_global->__pyx_n_s_depth_2
#define __pyx_kp_u_depth_ValueError __pyx_mstate_global->__pyx_kp_u_depth_ValueError
#define __pyx_n_s_desc __pyx_mstate_global->__pyx_n_s_desc
#define __pyx_n_s_destroy __pyx_mstate_global->__pyx_n_s_destroy
#define __pyx_n_s_dev __pyx_mstate_global->__pyx_n_s_dev
#define __pyx_kp_u_devNode __pyx_mstate_global->__pyx_kp_u_devNode
#define __pyx_n_s_devNode_2 __pyx_mstate_global->__pyx_n_s_devNode_2
#define __pyx_kp_u_devNode_ValueError __pyx_mstate_global->__pyx_kp_u_devNode_ValueError
#define __pyx_kp_u_devPtr __pyx_mstate_global->__pyx_kp_u_devPtr
#define __pyx_n_s_devPtr_2 __pyx_mstate_global->__pyx_n_s_devPtr_2
#define __pyx_kp_u_devPtr_ValueError __pyx_mstate_global->__pyx_kp_u_devPtr_ValueError
#define __pyx_n_s_device __pyx_mstate_global->__pyx_n_s_device
#define __pyx_kp_u_deviceBitMask __pyx_mstate_global->__pyx_kp_u_deviceBitMask
#define __pyx_n_s_deviceBitMask_2 __pyx_mstate_global->__pyx_n_s_deviceBitMask_2
#define __pyx_kp_u_deviceBitMask_ValueError __pyx_mstate_global->__pyx_kp_u_deviceBitMask_ValueError
#define __pyx_n_s_deviceList __pyx_mstate_global->__pyx_n_s_deviceList
#define __pyx_n_s_deviceNodeMask __pyx_mstate_global->__pyx_n_s_deviceNodeMask
#define __pyx_kp_u_deviceUpdatable __pyx_mstate_global->__pyx_kp_u_deviceUpdatable
#define __pyx_kp_u_deviceUpdatableKernelNode __pyx_mstate_global->__pyx_kp_u_deviceUpdatableKernelNode
#define __pyx_n_s_deviceUpdatableKernelNode_2 __pyx_mstate_global->__pyx_n_s_deviceUpdatableKernelNode_2
#define __pyx_kp_u_deviceUpdatableKernelNode_ValueE __pyx_mstate_global->__pyx_kp_u_deviceUpdatableKernelNode_ValueE
#define __pyx_n_s_deviceUpdatable_2 __pyx_mstate_global->__pyx_n_s_deviceUpdatable_2
#define __pyx_kp_u_deviceUpdatable_ValueError __pyx_mstate_global->__pyx_kp_u_deviceUpdatable_ValueError
#define __pyx_n_s_dict __pyx_mstate_global->__pyx_n_s_dict
#define __pyx_n_s_dim __pyx_mstate_global->__pyx_n_s_dim
#define __pyx_kp_u_disable __pyx_mstate_global->__pyx_kp_u_disable
#define __pyx_n_s_doc __pyx_mstate_global->__pyx_n_s_doc
#define __pyx_kp_u_dptr __pyx_mstate_global->__pyx_kp_u_dptr
#define __pyx_n_s_dptr_2 __pyx_mstate_global->__pyx_n_s_dptr_2
#define __pyx_kp_u_dptr_ValueError __pyx_mstate_global->__pyx_kp_u_dptr_ValueError
#define __pyx_n_s_dptr_out __pyx_mstate_global->__pyx_n_s_dptr_out
#define __pyx_n_s_driverVersion __pyx_mstate_global->__pyx_n_s_driverVersion
#define __pyx_kp_u_dst __pyx_mstate_global->__pyx_kp_u_dst
#define __pyx_kp_u_dstArray __pyx_mstate_global->__pyx_kp_u_dstArray
#define __pyx_n_s_dstArray_2 __pyx_mstate_global->__pyx_n_s_dstArray_2
#define __pyx_kp_u_dstArray_ValueError __pyx_mstate_global->__pyx_kp_u_dstArray_ValueError
#define __pyx_kp_u_dstContext __pyx_mstate_global->__pyx_kp_u_dstContext
#define __pyx_n_s_dstContext_2 __pyx_mstate_global->__pyx_n_s_dstContext_2
#define __pyx_kp_u_dstContext_ValueError __pyx_mstate_global->__pyx_kp_u_dstContext_ValueError
#define __pyx_kp_u_dstDevice __pyx_mstate_global->__pyx_kp_u_dstDevice
#define __pyx_n_s_dstDevice_2 __pyx_mstate_global->__pyx_n_s_dstDevice_2
#define __pyx_kp_u_dstDevice_ValueError __pyx_mstate_global->__pyx_kp_u_dstDevice_ValueError
#define __pyx_kp_u_dstHeight __pyx_mstate_global->__pyx_kp_u_dstHeight
#define __pyx_n_s_dstHeight_2 __pyx_mstate_global->__pyx_n_s_dstHeight_2
#define __pyx_kp_u_dstHeight_ValueError __pyx_mstate_global->__pyx_kp_u_dstHeight_ValueError
#define __pyx_kp_u_dstHost __pyx_mstate_global->__pyx_kp_u_dstHost
#define __pyx_n_s_dstHost_2 __pyx_mstate_global->__pyx_n_s_dstHost_2
#define __pyx_kp_u_dstHost_ValueError __pyx_mstate_global->__pyx_kp_u_dstHost_ValueError
#define __pyx_kp_u_dstLOD __pyx_mstate_global->__pyx_kp_u_dstLOD
#define __pyx_n_s_dstLOD_2 __pyx_mstate_global->__pyx_n_s_dstLOD_2
#define __pyx_kp_u_dstLOD_ValueError __pyx_mstate_global->__pyx_kp_u_dstLOD_ValueError
#define __pyx_kp_u_dstMemoryType __pyx_mstate_global->__pyx_kp_u_dstMemoryType
#define __pyx_n_s_dstMemoryType_2 __pyx_mstate_global->__pyx_n_s_dstMemoryType_2
#define __pyx_kp_u_dstMemoryType_ValueError __pyx_mstate_global->__pyx_kp_u_dstMemoryType_ValueError
#define __pyx_n_s_dstOffset __pyx_mstate_global->__pyx_n_s_dstOffset
#define __pyx_kp_u_dstPitch __pyx_mstate_global->__pyx_kp_u_dstPitch
#define __pyx_n_s_dstPitch_2 __pyx_mstate_global->__pyx_n_s_dstPitch_2
#define __pyx_kp_u_dstPitch_ValueError __pyx_mstate_global->__pyx_kp_u_dstPitch_ValueError
#define __pyx_kp_u_dstXInBytes __pyx_mstate_global->__pyx_kp_u_dstXInBytes
#define __pyx_n_s_dstXInBytes_2 __pyx_mstate_global->__pyx_n_s_dstXInBytes_2
#define __pyx_kp_u_dstXInBytes_ValueError __pyx_mstate_global->__pyx_kp_u_dstXInBytes_ValueError
#define __pyx_kp_u_dstY __pyx_mstate_global->__pyx_kp_u_dstY
#define __pyx_n_s_dstY_2 __pyx_mstate_global->__pyx_n_s_dstY_2
#define __pyx_kp_u_dstY_ValueError __pyx_mstate_global->__pyx_kp_u_dstY_ValueError
#define __pyx_kp_u_dstZ __pyx_mstate_global->__pyx_kp_u_dstZ
#define __pyx_n_s_dstZ_2 __pyx_mstate_global->__pyx_n_s_dstZ_2
#define __pyx_kp_u_dstZ_ValueError __pyx_mstate_global->__pyx_kp_u_dstZ_ValueError
#define __pyx_n_s_dst_2 __pyx_mstate_global->__pyx_n_s_dst_2
#define __pyx_kp_u_dst_ValueError __pyx_mstate_global->__pyx_kp_u_dst_ValueError
#define __pyx_n_s_dynamicSMemSize __pyx_mstate_global->__pyx_n_s_dynamicSMemSize
#define __pyx_n_s_dynamicSmemSize __pyx_mstate_global->__pyx_n_s_dynamicSmemSize
#define __pyx_n_s_edgeData __pyx_mstate_global->__pyx_n_s_edgeData
#define __pyx_kp_u_eglColorFormat __pyx_mstate_global->__pyx_kp_u_eglColorFormat
#define __pyx_n_s_eglColorFormat_2 __pyx_mstate_global->__pyx_n_s_eglColorFormat_2
#define __pyx_kp_u_eglColorFormat_ValueError __pyx_mstate_global->__pyx_kp_u_eglColorFormat_ValueError
#define __pyx_n_s_eglFrame __pyx_mstate_global->__pyx_n_s_eglFrame
#define __pyx_n_s_eglSync __pyx_mstate_global->__pyx_n_s_eglSync
#define __pyx_n_s_eglframe __pyx_mstate_global->__pyx_n_s_eglframe
#define __pyx_kp_u_elementSize __pyx_mstate_global->__pyx_kp_u_elementSize
#define __pyx_n_s_elementSize_2 __pyx_mstate_global->__pyx_n_s_elementSize_2
#define __pyx_kp_u_elementSize_ValueError __pyx_mstate_global->__pyx_kp_u_elementSize_ValueError
#define __pyx_n_s_elementStrides __pyx_mstate_global->__pyx_n_s_elementStrides
#define __pyx_kp_u_enable __pyx_mstate_global->__pyx_kp_u_enable
#define __pyx_n_s_enum __pyx_mstate_global->__pyx_n_s_enum
#define __pyx_n_s_enumerate __pyx_mstate_global->__pyx_n_s_enumerate
#define __pyx_n_s_err __pyx_mstate_global->__pyx_n_s_err
#define __pyx_n_s_error __pyx_mstate_global->__pyx_n_s_error
#define __pyx_kp_u_errorFromNode __pyx_mstate_global->__pyx_kp_u_errorFromNode
#define __pyx_n_s_errorFromNode_2 __pyx_mstate_global->__pyx_n_s_errorFromNode_2
#define __pyx_kp_u_errorFromNode_ValueError __pyx_mstate_global->__pyx_kp_u_errorFromNode_ValueError
#define __pyx_kp_u_errorNode __pyx_mstate_global->__pyx_kp_u_errorNode
#define __pyx_n_s_errorNode_2 __pyx_mstate_global->__pyx_n_s_errorNode_2
#define __pyx_kp_u_errorNode_ValueError __pyx_mstate_global->__pyx_kp_u_errorNode_ValueError
#define __pyx_kp_u_event __pyx_mstate_global->__pyx_kp_u_event
#define __pyx_kp_u_eventRecord __pyx_mstate_global->__pyx_kp_u_eventRecord
#define __pyx_n_s_eventRecord_2 __pyx_mstate_global->__pyx_n_s_eventRecord_2
#define __pyx_kp_u_eventRecord_ValueError __pyx_mstate_global->__pyx_kp_u_eventRecord_ValueError
#define __pyx_kp_u_eventWait __pyx_mstate_global->__pyx_kp_u_eventWait
#define __pyx_n_s_eventWait_2 __pyx_mstate_global->__pyx_n_s_eventWait_2
#define __pyx_kp_u_eventWait_ValueError __pyx_mstate_global->__pyx_kp_u_eventWait_ValueError
#define __pyx_n_s_event_2 __pyx_mstate_global->__pyx_n_s_event_2
#define __pyx_kp_u_event_ValueError __pyx_mstate_global->__pyx_kp_u_event_ValueError
#define __pyx_n_s_event_out __pyx_mstate_global->__pyx_n_s_event_out
#define __pyx_n_s_extMem __pyx_mstate_global->__pyx_n_s_extMem
#define __pyx_n_s_extMem_out __pyx_mstate_global->__pyx_n_s_extMem_out
#define __pyx_n_s_extSem __pyx_mstate_global->__pyx_n_s_extSem
#define __pyx_kp_u_extSemArray __pyx_mstate_global->__pyx_kp_u_extSemArray
#define __pyx_n_s_extSemArray_2 __pyx_mstate_global->__pyx_n_s_extSemArray_2
#define __pyx_kp_u_extSemArray_ValueError __pyx_mstate_global->__pyx_kp_u_extSemArray_ValueError
#define __pyx_kp_u_extSemSignal __pyx_mstate_global->__pyx_kp_u_extSemSignal
#define __pyx_n_s_extSemSignal_2 __pyx_mstate_global->__pyx_n_s_extSemSignal_2
#define __pyx_kp_u_extSemSignal_ValueError __pyx_mstate_global->__pyx_kp_u_extSemSignal_ValueError
#define __pyx_kp_u_extSemWait __pyx_mstate_global->__pyx_kp_u_extSemWait
#define __pyx_n_s_extSemWait_2 __pyx_mstate_global->__pyx_n_s_extSemWait_2
#define __pyx_kp_u_extSemWait_ValueError __pyx_mstate_global->__pyx_kp_u_extSemWait_ValueError
#define __pyx_n_s_extSem_out __pyx_mstate_global->__pyx_n_s_extSem_out
#define __pyx_kp_u_extentDepth __pyx_mstate_global->__pyx_kp_u_extentDepth
#define __pyx_n_s_extentDepth_2 __pyx_mstate_global->__pyx_n_s_extentDepth_2
#define __pyx_kp_u_extentDepth_ValueError __pyx_mstate_global->__pyx_kp_u_extentDepth_ValueError
#define __pyx_kp_u_extentHeight __pyx_mstate_global->__pyx_kp_u_extentHeight
#define __pyx_n_s_extentHeight_2 __pyx_mstate_global->__pyx_n_s_extentHeight_2
#define __pyx_kp_u_extentHeight_ValueError __pyx_mstate_global->__pyx_kp_u_extentHeight_ValueError
#define __pyx_kp_u_extentWidth __pyx_mstate_global->__pyx_kp_u_extentWidth
#define __pyx_n_s_extentWidth_2 __pyx_mstate_global->__pyx_n_s_extentWidth_2
#define __pyx_kp_u_extentWidth_ValueError __pyx_mstate_global->__pyx_kp_u_extentWidth_ValueError
#define __pyx_kp_u_extra __pyx_mstate_global->__pyx_kp_u_extra
#define __pyx_n_s_extra_2 __pyx_mstate_global->__pyx_n_s_extra_2
#define __pyx_kp_u_extra_ValueError __pyx_mstate_global->__pyx_kp_u_extra_ValueError
#define __pyx_n_s_f __pyx_mstate_global->__pyx_n_s_f
#define __pyx_n_s_fatCubin __pyx_mstate_global->__pyx_n_s_fatCubin
#define __pyx_kp_u_fd __pyx_mstate_global->__pyx_kp_u_fd
#define __pyx_n_s_fd_2 __pyx_mstate_global->__pyx_n_s_fd_2
#define __pyx_kp_u_fd_ValueError __pyx_mstate_global->__pyx_kp_u_fd_ValueError
#define __pyx_kp_u_fence __pyx_mstate_global->__pyx_kp_u_fence
#define __pyx_n_s_fence_2 __pyx_mstate_global->__pyx_n_s_fence_2
#define __pyx_kp_u_fence_3 __pyx_mstate_global->__pyx_kp_u_fence_3
#define __pyx_kp_u_fence_ValueError __pyx_mstate_global->__pyx_kp_u_fence_ValueError
#define __pyx_n_s_fileName __pyx_mstate_global->__pyx_n_s_fileName
#define __pyx_kp_u_filterMode __pyx_mstate_global->__pyx_kp_u_filterMode
#define __pyx_n_s_filterMode_2 __pyx_mstate_global->__pyx_n_s_filterMode_2
#define __pyx_kp_u_filterMode_ValueError __pyx_mstate_global->__pyx_kp_u_filterMode_ValueError
#define __pyx_kp_u_firstLayer __pyx_mstate_global->__pyx_kp_u_firstLayer
#define __pyx_n_s_firstLayer_2 __pyx_mstate_global->__pyx_n_s_firstLayer_2
#define __pyx_kp_u_firstLayer_ValueError __pyx_mstate_global->__pyx_kp_u_firstLayer_ValueError
#define __pyx_kp_u_firstMipmapLevel __pyx_mstate_global->__pyx_kp_u_firstMipmapLevel
#define __pyx_n_s_firstMipmapLevel_2 __pyx_mstate_global->__pyx_n_s_firstMipmapLevel_2
#define __pyx_kp_u_firstMipmapLevel_ValueError __pyx_mstate_global->__pyx_kp_u_firstMipmapLevel_ValueError
#define __pyx_kp_u_flags __pyx_mstate_global->__pyx_kp_u_flags
#define __pyx_n_s_flags_2 __pyx_mstate_global->__pyx_n_s_flags_2
#define __pyx_kp_u_flags_ValueError __pyx_mstate_global->__pyx_kp_u_flags_ValueError
#define __pyx_kp_u_flushRemoteWrites __pyx_mstate_global->__pyx_kp_u_flushRemoteWrites
#define __pyx_n_s_flushRemoteWrites_2 __pyx_mstate_global->__pyx_n_s_flushRemoteWrites_2
#define __pyx_kp_u_flushRemoteWrites_ValueError __pyx_mstate_global->__pyx_kp_u_flushRemoteWrites_ValueError
#define __pyx_n_s_fm __pyx_mstate_global->__pyx_n_s_fm
#define __pyx_n_s_fmt __pyx_mstate_global->__pyx_n_s_fmt
#define __pyx_kp_u_fn __pyx_mstate_global->__pyx_kp_u_fn
#define __pyx_n_s_fn_2 __pyx_mstate_global->__pyx_n_s_fn_2
#define __pyx_kp_u_fn_ValueError __pyx_mstate_global->__pyx_kp_u_fn_ValueError
#define __pyx_n_s_fname __pyx_mstate_global->__pyx_n_s_fname
#define __pyx_kp_u_format __pyx_mstate_global->__pyx_kp_u_format
#define __pyx_n_s_format_2 __pyx_mstate_global->__pyx_n_s_format_2
#define __pyx_kp_u_format_ValueError __pyx_mstate_global->__pyx_kp_u_format_ValueError
#define __pyx_n_s_fptr __pyx_mstate_global->__pyx_n_s_fptr
#define __pyx_kp_u_frame __pyx_mstate_global->__pyx_kp_u_frame
#define __pyx_kp_u_frameType __pyx_mstate_global->__pyx_kp_u_frameType
#define __pyx_n_s_frameType_2 __pyx_mstate_global->__pyx_n_s_frameType_2
#define __pyx_kp_u_frameType_ValueError __pyx_mstate_global->__pyx_kp_u_frameType_ValueError
#define __pyx_n_s_frame_2 __pyx_mstate_global->__pyx_n_s_frame_2
#define __pyx_kp_u_frame_ValueError __pyx_mstate_global->__pyx_kp_u_frame_ValueError
#define __pyx_kp_u_free __pyx_mstate_global->__pyx_kp_u_free
#define __pyx_n_s_free_2 __pyx_mstate_global->__pyx_n_s_free_2
#define __pyx_kp_u_free_ValueError __pyx_mstate_global->__pyx_kp_u_free_ValueError
#define __pyx_n_s_from __pyx_mstate_global->__pyx_n_s_from
#define __pyx_kp_u_from_port __pyx_mstate_global->__pyx_kp_u_from_port
#define __pyx_n_s_from_port_2 __pyx_mstate_global->__pyx_n_s_from_port_2
#define __pyx_kp_u_from_port_ValueError __pyx_mstate_global->__pyx_kp_u_from_port_ValueError
#define __pyx_kp_u_func __pyx_mstate_global->__pyx_kp_u_func
#define __pyx_n_s_func_2 __pyx_mstate_global->__pyx_n_s_func_2
#define __pyx_kp_u_func_ValueError __pyx_mstate_global->__pyx_kp_u_func_ValueError
#define __pyx_kp_u_function __pyx_mstate_global->__pyx_kp_u_function
#define __pyx_kp_u_functionTable __pyx_mstate_global->__pyx_kp_u_functionTable
#define __pyx_n_s_functionTable_2 __pyx_mstate_global->__pyx_n_s_functionTable_2
#define __pyx_kp_u_functionTable_ValueError __pyx_mstate_global->__pyx_kp_u_functionTable_ValueError
#define __pyx_kp_u_functionWindowSize __pyx_mstate_global->__pyx_kp_u_functionWindowSize
#define __pyx_n_s_functionWindowSize_2 __pyx_mstate_global->__pyx_n_s_functionWindowSize_2
#define __pyx_kp_u_functionWindowSize_ValueError __pyx_mstate_global->__pyx_kp_u_functionWindowSize_ValueError
#define __pyx_n_s_function_2 __pyx_mstate_global->__pyx_n_s_function_2
#define __pyx_kp_u_function_ValueError __pyx_mstate_global->__pyx_kp_u_function_ValueError
#define __pyx_kp_u_gc __pyx_mstate_global->__pyx_kp_u_gc
#define __pyx_n_s_genexpr __pyx_mstate_global->__pyx_n_s_genexpr
#define __pyx_n_s_getPtr __pyx_mstate_global->__pyx_n_s_getPtr
#define __pyx_n_s_getstate __pyx_mstate_global->__pyx_n_s_getstate
#define __pyx_n_s_globalAddress __pyx_mstate_global->__pyx_n_s_globalAddress
#define __pyx_n_s_globalDim __pyx_mstate_global->__pyx_n_s_globalDim
#define __pyx_n_s_globalStrides __pyx_mstate_global->__pyx_n_s_globalStrides
#define __pyx_kp_u_gpuDirectRDMACapable __pyx_mstate_global->__pyx_kp_u_gpuDirectRDMACapable
#define __pyx_n_s_gpuDirectRDMACapable_2 __pyx_mstate_global->__pyx_n_s_gpuDirectRDMACapable_2
#define __pyx_kp_u_gpuDirectRDMACapable_ValueError __pyx_mstate_global->__pyx_kp_u_gpuDirectRDMACapable_ValueError
#define __pyx_n_s_granularity __pyx_mstate_global->__pyx_n_s_granularity
#define __pyx_kp_u_graph __pyx_mstate_global->__pyx_kp_u_graph
#define __pyx_n_s_graph_2 __pyx_mstate_global->__pyx_n_s_graph_2
#define __pyx_kp_u_graph_3 __pyx_mstate_global->__pyx_kp_u_graph_3
#define __pyx_kp_u_graph_ValueError __pyx_mstate_global->__pyx_kp_u_graph_ValueError
#define __pyx_n_s_graph_length __pyx_mstate_global->__pyx_n_s_graph_length
#define __pyx_n_s_graph_out __pyx_mstate_global->__pyx_n_s_graph_out
#define __pyx_n_s_greatestPriority __pyx_mstate_global->__pyx_n_s_greatestPriority
#define __pyx_kp_u_gridDimX __pyx_mstate_global->__pyx_kp_u_gridDimX
#define __pyx_n_s_gridDimX_2 __pyx_mstate_global->__pyx_n_s_gridDimX_2
#define __pyx_kp_u_gridDimX_ValueError __pyx_mstate_global->__pyx_kp_u_gridDimX_ValueError
#define __pyx_kp_u_gridDimY __pyx_mstate_global->__pyx_kp_u_gridDimY
#define __pyx_n_s_gridDimY_2 __pyx_mstate_global->__pyx_n_s_gridDimY_2
#define __pyx_kp_u_gridDimY_ValueError __pyx_mstate_global->__pyx_kp_u_gridDimY_ValueError
#define __pyx_kp_u_gridDimZ __pyx_mstate_global->__pyx_kp_u_gridDimZ
#define __pyx_n_s_gridDimZ_2 __pyx_mstate_global->__pyx_n_s_gridDimZ_2
#define __pyx_kp_u_gridDimZ_ValueError __pyx_mstate_global->__pyx_kp_u_gridDimZ_ValueError
#define __pyx_n_s_grid_height __pyx_mstate_global->__pyx_n_s_grid_height
#define __pyx_n_s_grid_width __pyx_mstate_global->__pyx_n_s_grid_width
#define __pyx_kp_u_hArray __pyx_mstate_global->__pyx_kp_u_hArray
#define __pyx_n_s_hArray_2 __pyx_mstate_global->__pyx_n_s_hArray_2
#define __pyx_kp_u_hArray_ValueError __pyx_mstate_global->__pyx_kp_u_hArray_ValueError
#define __pyx_n_s_hClonedGraph __pyx_mstate_global->__pyx_n_s_hClonedGraph
#define __pyx_n_s_hCtx __pyx_mstate_global->__pyx_n_s_hCtx
#define __pyx_n_s_hEnd __pyx_mstate_global->__pyx_n_s_hEnd
#define __pyx_kp_u_hErrNode_out __pyx_mstate_global->__pyx_kp_u_hErrNode_out
#define __pyx_n_s_hErrNode_out_2 __pyx_mstate_global->__pyx_n_s_hErrNode_out_2
#define __pyx_kp_u_hErrNode_out_ValueError __pyx_mstate_global->__pyx_kp_u_hErrNode_out_ValueError
#define __pyx_n_s_hEvent __pyx_mstate_global->__pyx_n_s_hEvent
#define __pyx_n_s_hGraph __pyx_mstate_global->__pyx_n_s_hGraph
#define __pyx_n_s_hGraphExec __pyx_mstate_global->__pyx_n_s_hGraphExec
#define __pyx_kp_u_hMipmappedArray __pyx_mstate_global->__pyx_kp_u_hMipmappedArray
#define __pyx_n_s_hMipmappedArray_2 __pyx_mstate_global->__pyx_n_s_hMipmappedArray_2
#define __pyx_kp_u_hMipmappedArray_ValueError __pyx_mstate_global->__pyx_kp_u_hMipmappedArray_ValueError
#define __pyx_n_s_hNode __pyx_mstate_global->__pyx_n_s_hNode
#define __pyx_n_s_hOriginalNode __pyx_mstate_global->__pyx_n_s_hOriginalNode
#define __pyx_n_s_hStart __pyx_mstate_global->__pyx_n_s_hStart
#define __pyx_kp_u_hStream __pyx_mstate_global->__pyx_kp_u_hStream
#define __pyx_n_s_hStream_2 __pyx_mstate_global->__pyx_n_s_hStream_2
#define __pyx_kp_u_hStream_ValueError __pyx_mstate_global->__pyx_kp_u_hStream_ValueError
#define __pyx_n_s_hSurfRef __pyx_mstate_global->__pyx_n_s_hSurfRef
#define __pyx_n_s_hTexRef __pyx_mstate_global->__pyx_n_s_hTexRef
#define __pyx_kp_u_hUploadStream __pyx_mstate_global->__pyx_kp_u_hUploadStream
#define __pyx_n_s_hUploadStream_2 __pyx_mstate_global->__pyx_n_s_hUploadStream_2
#define __pyx_kp_u_hUploadStream_ValueError __pyx_mstate_global->__pyx_kp_u_hUploadStream_ValueError
#define __pyx_kp_u_handle __pyx_mstate_global->__pyx_kp_u_handle
#define __pyx_n_s_handleType __pyx_mstate_global->__pyx_n_s_handleType
#define __pyx_kp_u_handleTypes __pyx_mstate_global->__pyx_kp_u_handleTypes
#define __pyx_n_s_handleTypes_2 __pyx_mstate_global->__pyx_n_s_handleTypes_2
#define __pyx_kp_u_handleTypes_ValueError __pyx_mstate_global->__pyx_kp_u_handleTypes_ValueError
#define __pyx_n_s_handle_2 __pyx_mstate_global->__pyx_n_s_handle_2
#define __pyx_kp_u_handle_3 __pyx_mstate_global->__pyx_kp_u_handle_3
#define __pyx_kp_u_handle_ValueError __pyx_mstate_global->__pyx_kp_u_handle_ValueError
#define __pyx_kp_u_height __pyx_mstate_global->__pyx_kp_u_height
#define __pyx_n_s_height_2 __pyx_mstate_global->__pyx_n_s_height_2
#define __pyx_kp_u_height_ValueError __pyx_mstate_global->__pyx_kp_u_height_ValueError
#define __pyx_n_s_hex __pyx_mstate_global->__pyx_n_s_hex
#define __pyx_n_s_hfunc __pyx_mstate_global->__pyx_n_s_hfunc
#define __pyx_kp_u_hitProp __pyx_mstate_global->__pyx_kp_u_hitProp
#define __pyx_n_s_hitProp_2 __pyx_mstate_global->__pyx_n_s_hitProp_2
#define __pyx_kp_u_hitProp_ValueError __pyx_mstate_global->__pyx_kp_u_hitProp_ValueError
#define __pyx_kp_u_hitRatio __pyx_mstate_global->__pyx_kp_u_hitRatio
#define __pyx_n_s_hitRatio_2 __pyx_mstate_global->__pyx_n_s_hitRatio_2
#define __pyx_kp_u_hitRatio_ValueError __pyx_mstate_global->__pyx_kp_u_hitRatio_ValueError
#define __pyx_n_s_hmod __pyx_mstate_global->__pyx_n_s_hmod
#define __pyx_kp_u_host __pyx_mstate_global->__pyx_kp_u_host
#define __pyx_n_s_host_2 __pyx_mstate_global->__pyx_n_s_host_2
#define __pyx_kp_u_host_ValueError __pyx_mstate_global->__pyx_kp_u_host_ValueError
#define __pyx_kp_u_id __pyx_mstate_global->__pyx_kp_u_id
#define __pyx_n_s_id_2 __pyx_mstate_global->__pyx_n_s_id_2
#define __pyx_kp_u_id_ValueError __pyx_mstate_global->__pyx_kp_u_id_ValueError
#define __pyx_n_s_id_out __pyx_mstate_global->__pyx_n_s_id_out
#define __pyx_n_s_idx __pyx_mstate_global->__pyx_n_s_idx
#define __pyx_n_s_image __pyx_mstate_global->__pyx_n_s_image
#define __pyx_n_s_import __pyx_mstate_global->__pyx_n_s_import
#define __pyx_n_s_index __pyx_mstate_global->__pyx_n_s_index
#define __pyx_kp_u_info __pyx_mstate_global->__pyx_kp_u_info
#define __pyx_n_s_info_2 __pyx_mstate_global->__pyx_n_s_info_2
#define __pyx_kp_u_info_ValueError __pyx_mstate_global->__pyx_kp_u_info_ValueError
#define __pyx_n_s_init_subclass __pyx_mstate_global->__pyx_n_s_init_subclass
#define __pyx_n_s_init_value __pyx_mstate_global->__pyx_n_s_init_value
#define __pyx_n_s_initialRefcount __pyx_mstate_global->__pyx_n_s_initialRefcount
#define __pyx_n_s_initializing __pyx_mstate_global->__pyx_n_s_initializing
#define __pyx_n_s_input __pyx_mstate_global->__pyx_n_s_input
#define __pyx_n_s_instantiateParams __pyx_mstate_global->__pyx_n_s_instantiateParams
#define __pyx_n_s_int __pyx_mstate_global->__pyx_n_s_int
#define __pyx_n_s_interleave __pyx_mstate_global->__pyx_n_s_interleave
#define __pyx_kp_u_internal_padding __pyx_mstate_global->__pyx_kp_u_internal_padding
#define __pyx_n_s_internal_padding_2 __pyx_mstate_global->__pyx_n_s_internal_padding_2
#define __pyx_kp_u_internal_padding_ValueError __pyx_mstate_global->__pyx_kp_u_internal_padding_ValueError
#define __pyx_kp_u_internal_padding_length_must_be __pyx_mstate_global->__pyx_kp_u_internal_padding_length_must_be
#define __pyx_n_s_isEnabled __pyx_mstate_global->__pyx_n_s_isEnabled
#define __pyx_n_s_is_coroutine __pyx_mstate_global->__pyx_n_s_is_coroutine
#define __pyx_n_s_is_getter __pyx_mstate_global->__pyx_n_s_is_getter
#define __pyx_kp_u_isenabled __pyx_mstate_global->__pyx_kp_u_isenabled
#define __pyx_n_s_jitOptions __pyx_mstate_global->__pyx_n_s_jitOptions
#define __pyx_n_s_jitOptionsValues __pyx_mstate_global->__pyx_n_s_jitOptionsValues
#define __pyx_kp_u_kern __pyx_mstate_global->__pyx_kp_u_kern
#define __pyx_n_s_kern_2 __pyx_mstate_global->__pyx_n_s_kern_2
#define __pyx_kp_u_kern_ValueError __pyx_mstate_global->__pyx_kp_u_kern_ValueError
#define __pyx_kp_u_kernel __pyx_mstate_global->__pyx_kp_u_kernel
#define __pyx_kp_u_kernelParams __pyx_mstate_global->__pyx_kp_u_kernelParams
#define __pyx_n_s_kernelParams_2 __pyx_mstate_global->__pyx_n_s_kernelParams_2
#define __pyx_kp_u_kernelParams_ValueError __pyx_mstate_global->__pyx_kp_u_kernelParams_ValueError
#define __pyx_n_s_kernel_2 __pyx_mstate_global->__pyx_n_s_kernel_2
#define __pyx_kp_u_kernel_ValueError __pyx_mstate_global->__pyx_kp_u_kernel_ValueError
#define __pyx_kp_u_key __pyx_mstate_global->__pyx_kp_u_key
#define __pyx_n_s_key_2 __pyx_mstate_global->__pyx_n_s_key_2
#define __pyx_kp_u_key_ValueError __pyx_mstate_global->__pyx_kp_u_key_ValueError
#define __pyx_kp_u_keyedMutex __pyx_mstate_global->__pyx_kp_u_keyedMutex
#define __pyx_n_s_keyedMutex_2 __pyx_mstate_global->__pyx_n_s_keyedMutex_2
#define __pyx_kp_u_keyedMutex_ValueError __pyx_mstate_global->__pyx_kp_u_keyedMutex_ValueError
#define __pyx_n_s_l2Promotion __pyx_mstate_global->__pyx_n_s_l2Promotion
#define __pyx_kp_u_lastLayer __pyx_mstate_global->__pyx_kp_u_lastLayer
#define __pyx_n_s_lastLayer_2 __pyx_mstate_global->__pyx_n_s_lastLayer_2
#define __pyx_kp_u_lastLayer_ValueError __pyx_mstate_global->__pyx_kp_u_lastLayer_ValueError
#define __pyx_kp_u_lastMipmapLevel __pyx_mstate_global->__pyx_kp_u_lastMipmapLevel
#define __pyx_n_s_lastMipmapLevel_2 __pyx_mstate_global->__pyx_n_s_lastMipmapLevel_2
#define __pyx_kp_u_lastMipmapLevel_ValueError __pyx_mstate_global->__pyx_kp_u_lastMipmapLevel_ValueError
#define __pyx_kp_u_launchCompletionEvent __pyx_mstate_global->__pyx_kp_u_launchCompletionEvent
#define __pyx_n_s_launchCompletionEvent_2 __pyx_mstate_global->__pyx_n_s_launchCompletionEvent_2
#define __pyx_kp_u_launchCompletionEvent_ValueError __pyx_mstate_global->__pyx_kp_u_launchCompletionEvent_ValueError
#define __pyx_n_s_launchParamsList __pyx_mstate_global->__pyx_n_s_launchParamsList
#define __pyx_kp_u_layer __pyx_mstate_global->__pyx_kp_u_layer
#define __pyx_n_s_layer_2 __pyx_mstate_global->__pyx_n_s_layer_2
#define __pyx_kp_u_layer_ValueError __pyx_mstate_global->__pyx_kp_u_layer_ValueError
#define __pyx_n_s_leastPriority __pyx_mstate_global->__pyx_n_s_leastPriority
#define __pyx_n_s_length __pyx_mstate_global->__pyx_n_s_length
#define __pyx_kp_u_level __pyx_mstate_global->__pyx_kp_u_level
#define __pyx_n_s_level_2 __pyx_mstate_global->__pyx_n_s_level_2
#define __pyx_kp_u_level_ValueError __pyx_mstate_global->__pyx_kp_u_level_ValueError
#define __pyx_n_s_lib __pyx_mstate_global->__pyx_n_s_lib
#define __pyx_n_s_library __pyx_mstate_global->__pyx_n_s_library
#define __pyx_n_s_libraryOptionValues __pyx_mstate_global->__pyx_n_s_libraryOptionValues
#define __pyx_n_s_libraryOptions __pyx_mstate_global->__pyx_n_s_libraryOptions
#define __pyx_n_s_limit __pyx_mstate_global->__pyx_n_s_limit
#define __pyx_kp_u_linear __pyx_mstate_global->__pyx_kp_u_linear
#define __pyx_n_s_linear_2 __pyx_mstate_global->__pyx_n_s_linear_2
#define __pyx_kp_u_linear_ValueError __pyx_mstate_global->__pyx_kp_u_linear_ValueError
#define __pyx_kp_u_location __pyx_mstate_global->__pyx_kp_u_location
#define __pyx_n_s_location_2 __pyx_mstate_global->__pyx_n_s_location_2
#define __pyx_kp_u_location_ValueError __pyx_mstate_global->__pyx_kp_u_location_ValueError
#define __pyx_n_s_luid __pyx_mstate_global->__pyx_n_s_luid
#define __pyx_n_s_main __pyx_mstate_global->__pyx_n_s_main
#define __pyx_n_s_major __pyx_mstate_global->__pyx_n_s_major
#define __pyx_n_s_map __pyx_mstate_global->__pyx_n_s_map
#define __pyx_n_s_mapInfoList __pyx_mstate_global->__pyx_n_s_mapInfoList
#define __pyx_n_s_maxAniso __pyx_mstate_global->__pyx_n_s_maxAniso
#define __pyx_kp_u_maxAnisotropy __pyx_mstate_global->__pyx_kp_u_maxAnisotropy
#define __pyx_n_s_maxAnisotropy_2 __pyx_mstate_global->__pyx_n_s_maxAnisotropy_2
#define __pyx_kp_u_maxAnisotropy_ValueError __pyx_mstate_global->__pyx_kp_u_maxAnisotropy_ValueError
#define __pyx_kp_u_maxGridSize __pyx_mstate_global->__pyx_kp_u_maxGridSize
#define __pyx_n_s_maxGridSize_2 __pyx_mstate_global->__pyx_n_s_maxGridSize_2
#define __pyx_kp_u_maxGridSize_ValueError __pyx_mstate_global->__pyx_kp_u_maxGridSize_ValueError
#define __pyx_kp_u_maxMipmapLevelClamp __pyx_mstate_global->__pyx_kp_u_maxMipmapLevelClamp
#define __pyx_n_s_maxMipmapLevelClamp_2 __pyx_mstate_global->__pyx_n_s_maxMipmapLevelClamp_2
#define __pyx_kp_u_maxMipmapLevelClamp_ValueError __pyx_mstate_global->__pyx_kp_u_maxMipmapLevelClamp_ValueError
#define __pyx_kp_u_maxSize __pyx_mstate_global->__pyx_kp_u_maxSize
#define __pyx_n_s_maxSize_2 __pyx_mstate_global->__pyx_n_s_maxSize_2
#define __pyx_kp_u_maxSize_ValueError __pyx_mstate_global->__pyx_kp_u_maxSize_ValueError
#define __pyx_kp_u_maxThreadsDim __pyx_mstate_global->__pyx_kp_u_maxThreadsDim
#define __pyx_n_s_maxThreadsDim_2 __pyx_mstate_global->__pyx_n_s_maxThreadsDim_2
#define __pyx_kp_u_maxThreadsDim_ValueError __pyx_mstate_global->__pyx_kp_u_maxThreadsDim_ValueError
#define __pyx_kp_u_maxThreadsPerBlock __pyx_mstate_global->__pyx_kp_u_maxThreadsPerBlock
#define __pyx_n_s_maxThreadsPerBlock_2 __pyx_mstate_global->__pyx_n_s_maxThreadsPerBlock_2
#define __pyx_kp_u_maxThreadsPerBlock_ValueError __pyx_mstate_global->__pyx_kp_u_maxThreadsPerBlock_ValueError
#define __pyx_n_s_maxWidthInElements __pyx_mstate_global->__pyx_n_s_maxWidthInElements
#define __pyx_n_s_mcHandle __pyx_mstate_global->__pyx_n_s_mcHandle
#define __pyx_n_s_mcOffset __pyx_mstate_global->__pyx_n_s_mcOffset
#define __pyx_kp_u_memHandle __pyx_mstate_global->__pyx_kp_u_memHandle
#define __pyx_n_s_memHandleDesc __pyx_mstate_global->__pyx_n_s_memHandleDesc
#define __pyx_kp_u_memHandleType __pyx_mstate_global->__pyx_kp_u_memHandleType
#define __pyx_n_s_memHandleType_2 __pyx_mstate_global->__pyx_n_s_memHandleType_2
#define __pyx_kp_u_memHandleType_ValueError __pyx_mstate_global->__pyx_kp_u_memHandleType_ValueError
#define __pyx_n_s_memHandle_2 __pyx_mstate_global->__pyx_n_s_memHandle_2
#define __pyx_kp_u_memHandle_3 __pyx_mstate_global->__pyx_kp_u_memHandle_3
#define __pyx_kp_u_memHandle_ValueError __pyx_mstate_global->__pyx_kp_u_memHandle_ValueError
#define __pyx_n_s_memOffset __pyx_mstate_global->__pyx_n_s_memOffset
#define __pyx_kp_u_memOp __pyx_mstate_global->__pyx_kp_u_memOp
#define __pyx_n_s_memOp_2 __pyx_mstate_global->__pyx_n_s_memOp_2
#define __pyx_kp_u_memOp_ValueError __pyx_mstate_global->__pyx_kp_u_memOp_ValueError
#define __pyx_kp_u_memOperationType __pyx_mstate_global->__pyx_kp_u_memOperationType
#define __pyx_n_s_memOperationType_2 __pyx_mstate_global->__pyx_n_s_memOperationType_2
#define __pyx_kp_u_memOperationType_ValueError __pyx_mstate_global->__pyx_kp_u_memOperationType_ValueError
#define __pyx_kp_u_memPitch __pyx_mstate_global->__pyx_kp_u_memPitch
#define __pyx_n_s_memPitch_2 __pyx_mstate_global->__pyx_n_s_memPitch_2
#define __pyx_kp_u_memPitch_ValueError __pyx_mstate_global->__pyx_kp_u_memPitch_ValueError
#define __pyx_n_s_memPool __pyx_mstate_global->__pyx_n_s_memPool
#define __pyx_kp_u_memSyncDomain __pyx_mstate_global->__pyx_kp_u_memSyncDomain
#define __pyx_kp_u_memSyncDomainMap __pyx_mstate_global->__pyx_kp_u_memSyncDomainMap
#define __pyx_n_s_memSyncDomainMap_2 __pyx_mstate_global->__pyx_n_s_memSyncDomainMap_2
#define __pyx_kp_u_memSyncDomainMap_ValueError __pyx_mstate_global->__pyx_kp_u_memSyncDomainMap_ValueError
#define __pyx_n_s_memSyncDomain_2 __pyx_mstate_global->__pyx_n_s_memSyncDomain_2
#define __pyx_kp_u_memSyncDomain_ValueError __pyx_mstate_global->__pyx_kp_u_memSyncDomain_ValueError
#define __pyx_kp_u_memcpy __pyx_mstate_global->__pyx_kp_u_memcpy
#define __pyx_n_s_memcpy_2 __pyx_mstate_global->__pyx_n_s_memcpy_2
#define __pyx_kp_u_memcpy_ValueError __pyx_mstate_global->__pyx_kp_u_memcpy_ValueError
#define __pyx_kp_u_memoryBarrier __pyx_mstate_global->__pyx_kp_u_memoryBarrier
#define __pyx_n_s_memoryBarrier_2 __pyx_mstate_global->__pyx_n_s_memoryBarrier_2
#define __pyx_kp_u_memoryBarrier_ValueError __pyx_mstate_global->__pyx_kp_u_memoryBarrier_ValueError
#define __pyx_n_s_memoryRequirements __pyx_mstate_global->__pyx_n_s_memoryRequirements
#define __pyx_n_s_memptr __pyx_mstate_global->__pyx_n_s_memptr
#define __pyx_kp_u_memset __pyx_mstate_global->__pyx_kp_u_memset
#define __pyx_n_s_memsetParams __pyx_mstate_global->__pyx_n_s_memsetParams
#define __pyx_n_s_memset_2 __pyx_mstate_global->__pyx_n_s_memset_2
#define __pyx_kp_u_memset_ValueError __pyx_mstate_global->__pyx_kp_u_memset_ValueError
#define __pyx_n_s_metaclass __pyx_mstate_global->__pyx_n_s_metaclass
#define __pyx_n_s_minBytesToKeep __pyx_mstate_global->__pyx_n_s_minBytesToKeep
#define __pyx_n_s_minCount __pyx_mstate_global->__pyx_n_s_minCount
#define __pyx_n_s_minGridSize __pyx_mstate_global->__pyx_n_s_minGridSize
#define __pyx_kp_u_minMipmapLevelClamp __pyx_mstate_global->__pyx_kp_u_minMipmapLevelClamp
#define __pyx_n_s_minMipmapLevelClamp_2 __pyx_mstate_global->__pyx_n_s_minMipmapLevelClamp_2
#define __pyx_kp_u_minMipmapLevelClamp_ValueError __pyx_mstate_global->__pyx_kp_u_minMipmapLevelClamp_ValueError
#define __pyx_n_s_minor __pyx_mstate_global->__pyx_n_s_minor
#define __pyx_n_s_mipLevel __pyx_mstate_global->__pyx_n_s_mipLevel
#define __pyx_kp_u_mipmap __pyx_mstate_global->__pyx_kp_u_mipmap
#define __pyx_n_s_mipmapDesc __pyx_mstate_global->__pyx_n_s_mipmapDesc
#define __pyx_kp_u_mipmapFilterMode __pyx_mstate_global->__pyx_kp_u_mipmapFilterMode
#define __pyx_n_s_mipmapFilterMode_2 __pyx_mstate_global->__pyx_n_s_mipmapFilterMode_2
#define __pyx_kp_u_mipmapFilterMode_ValueError __pyx_mstate_global->__pyx_kp_u_mipmapFilterMode_ValueError
#define __pyx_kp_u_mipmapLevelBias __pyx_mstate_global->__pyx_kp_u_mipmapLevelBias
#define __pyx_n_s_mipmapLevelBias_2 __pyx_mstate_global->__pyx_n_s_mipmapLevelBias_2
#define __pyx_kp_u_mipmapLevelBias_ValueError __pyx_mstate_global->__pyx_kp_u_mipmapLevelBias_ValueError
#define __pyx_n_s_mipmap_2 __pyx_mstate_global->__pyx_n_s_mipmap_2
#define __pyx_kp_u_mipmap_3 __pyx_mstate_global->__pyx_kp_u_mipmap_3
#define __pyx_kp_u_mipmap_ValueError __pyx_mstate_global->__pyx_kp_u_mipmap_ValueError
#define __pyx_kp_u_miptail __pyx_mstate_global->__pyx_kp_u_miptail
#define __pyx_kp_u_miptailFirstLevel __pyx_mstate_global->__pyx_kp_u_miptailFirstLevel
#define __pyx_n_s_miptailFirstLevel_2 __pyx_mstate_global->__pyx_n_s_miptailFirstLevel_2
#define __pyx_kp_u_miptailFirstLevel_ValueError __pyx_mstate_global->__pyx_kp_u_miptailFirstLevel_ValueError
#define __pyx_kp_u_miptailSize __pyx_mstate_global->__pyx_kp_u_miptailSize
#define __pyx_n_s_miptailSize_2 __pyx_mstate_global->__pyx_n_s_miptailSize_2
#define __pyx_kp_u_miptailSize_ValueError __pyx_mstate_global->__pyx_kp_u_miptailSize_ValueError
#define __pyx_n_s_miptail_2 __pyx_mstate_global->__pyx_n_s_miptail_2
#define __pyx_kp_u_miptail_ValueError __pyx_mstate_global->__pyx_kp_u_miptail_ValueError
#define __pyx_kp_u_missProp __pyx_mstate_global->__pyx_kp_u_missProp
#define __pyx_n_s_missProp_2 __pyx_mstate_global->__pyx_n_s_missProp_2
#define __pyx_kp_u_missProp_ValueError __pyx_mstate_global->__pyx_kp_u_missProp_ValueError
#define __pyx_n_s_mod __pyx_mstate_global->__pyx_n_s_mod
#define __pyx_n_s_mode __pyx_mstate_global->__pyx_n_s_mode
#define __pyx_n_s_module __pyx_mstate_global->__pyx_n_s_module
#define __pyx_n_s_module_2 __pyx_mstate_global->__pyx_n_s_module_2
#define __pyx_n_s_mro_entries __pyx_mstate_global->__pyx_n_s_mro_entries
#define __pyx_kp_u_name __pyx_mstate_global->__pyx_kp_u_name
#define __pyx_n_s_name_2 __pyx_mstate_global->__pyx_n_s_name_2
#define __pyx_n_s_name_3 __pyx_mstate_global->__pyx_n_s_name_3
#define __pyx_kp_u_name_ValueError __pyx_mstate_global->__pyx_kp_u_name_ValueError
#define __pyx_n_s_nbGroups __pyx_mstate_global->__pyx_n_s_nbGroups
#define __pyx_n_s_nbResources __pyx_mstate_global->__pyx_n_s_nbResources
#define __pyx_kp_s_no_default___reduce___due_to_non __pyx_mstate_global->__pyx_kp_s_no_default___reduce___due_to_non
#define __pyx_n_s_nodeParams __pyx_mstate_global->__pyx_n_s_nodeParams
#define __pyx_n_s_nodeParams_out __pyx_mstate_global->__pyx_n_s_nodeParams_out
#define __pyx_kp_u_not_enough_values_found_during_a __pyx_mstate_global->__pyx_kp_u_not_enough_values_found_during_a
#define __pyx_n_s_numAttributes __pyx_mstate_global->__pyx_n_s_numAttributes
#define __pyx_kp_u_numAttrs __pyx_mstate_global->__pyx_kp_u_numAttrs
#define __pyx_n_s_numAttrs_2 __pyx_mstate_global->__pyx_n_s_numAttrs_2
#define __pyx_kp_u_numAttrs_ValueError __pyx_mstate_global->__pyx_kp_u_numAttrs_ValueError
#define __pyx_n_s_numBlocks __pyx_mstate_global->__pyx_n_s_numBlocks
#define __pyx_kp_u_numChannels __pyx_mstate_global->__pyx_kp_u_numChannels
#define __pyx_n_s_numChannels_2 __pyx_mstate_global->__pyx_n_s_numChannels_2
#define __pyx_kp_u_numChannels_ValueError __pyx_mstate_global->__pyx_kp_u_numChannels_ValueError
#define __pyx_n_s_numClusters __pyx_mstate_global->__pyx_n_s_numClusters
#define __pyx_n_s_numDependencies __pyx_mstate_global->__pyx_n_s_numDependencies
#define __pyx_n_s_numDependencies_out __pyx_mstate_global->__pyx_n_s_numDependencies_out
#define __pyx_n_s_numDependentNodes __pyx_mstate_global->__pyx_n_s_numDependentNodes
#define __pyx_kp_u_numDevices __pyx_mstate_global->__pyx_kp_u_numDevices
#define __pyx_n_s_numDevices_2 __pyx_mstate_global->__pyx_n_s_numDevices_2
#define __pyx_kp_u_numDevices_ValueError __pyx_mstate_global->__pyx_kp_u_numDevices_ValueError
#define __pyx_n_s_numEdges __pyx_mstate_global->__pyx_n_s_numEdges
#define __pyx_kp_u_numExtSems __pyx_mstate_global->__pyx_kp_u_numExtSems
#define __pyx_n_s_numExtSems_2 __pyx_mstate_global->__pyx_n_s_numExtSems_2
#define __pyx_kp_u_numExtSems_ValueError __pyx_mstate_global->__pyx_kp_u_numExtSems_ValueError
#define __pyx_n_s_numFunctions __pyx_mstate_global->__pyx_n_s_numFunctions
#define __pyx_n_s_numJitOptions __pyx_mstate_global->__pyx_n_s_numJitOptions
#define __pyx_n_s_numKernels __pyx_mstate_global->__pyx_n_s_numKernels
#define __pyx_kp_u_numLevels __pyx_mstate_global->__pyx_kp_u_numLevels
#define __pyx_n_s_numLevels_2 __pyx_mstate_global->__pyx_n_s_numLevels_2
#define __pyx_kp_u_numLevels_ValueError __pyx_mstate_global->__pyx_kp_u_numLevels_ValueError
#define __pyx_n_s_numLibraryOptions __pyx_mstate_global->__pyx_n_s_numLibraryOptions
#define __pyx_n_s_numMipmapLevels __pyx_mstate_global->__pyx_n_s_numMipmapLevels
#define __pyx_n_s_numNodes __pyx_mstate_global->__pyx_n_s_numNodes
#define __pyx_n_s_numOptions __pyx_mstate_global->__pyx_n_s_numOptions
#define __pyx_n_s_numParams __pyx_mstate_global->__pyx_n_s_numParams
#define __pyx_n_s_numRootNodes __pyx_mstate_global->__pyx_n_s_numRootNodes
#define __pyx_kp_u_num_bytes __pyx_mstate_global->__pyx_kp_u_num_bytes
#define __pyx_n_s_num_bytes_2 __pyx_mstate_global->__pyx_n_s_num_bytes_2
#define __pyx_kp_u_num_bytes_ValueError __pyx_mstate_global->__pyx_kp_u_num_bytes_ValueError
#define __pyx_n_s_numbytes __pyx_mstate_global->__pyx_n_s_numbytes
#define __pyx_kp_u_nvSciBufObject __pyx_mstate_global->__pyx_kp_u_nvSciBufObject
#define __pyx_n_s_nvSciBufObject_2 __pyx_mstate_global->__pyx_n_s_nvSciBufObject_2
#define __pyx_kp_u_nvSciBufObject_ValueError __pyx_mstate_global->__pyx_kp_u_nvSciBufObject_ValueError
#define __pyx_kp_u_nvSciSync __pyx_mstate_global->__pyx_kp_u_nvSciSync
#define __pyx_n_s_nvSciSyncAttrList __pyx_mstate_global->__pyx_n_s_nvSciSyncAttrList
#define __pyx_kp_u_nvSciSyncObj __pyx_mstate_global->__pyx_kp_u_nvSciSyncObj
#define __pyx_n_s_nvSciSyncObj_2 __pyx_mstate_global->__pyx_n_s_nvSciSyncObj_2
#define __pyx_kp_u_nvSciSyncObj_ValueError __pyx_mstate_global->__pyx_kp_u_nvSciSyncObj_ValueError
#define __pyx_n_s_nvSciSync_2 __pyx_mstate_global->__pyx_n_s_nvSciSync_2
#define __pyx_kp_u_nvSciSync_ValueError __pyx_mstate_global->__pyx_kp_u_nvSciSync_ValueError
#define __pyx_n_s_obj __pyx_mstate_global->__pyx_n_s_obj
#define __pyx_n_s_objType __pyx_mstate_global->__pyx_n_s_objType
#define __pyx_n_s_object __pyx_mstate_global->__pyx_n_s_object
#define __pyx_n_s_object_out __pyx_mstate_global->__pyx_n_s_object_out
#define __pyx_kp_u_offset __pyx_mstate_global->__pyx_kp_u_offset
#define __pyx_kp_u_offsetX __pyx_mstate_global->__pyx_kp_u_offsetX
#define __pyx_n_s_offsetX_2 __pyx_mstate_global->__pyx_n_s_offsetX_2
#define __pyx_kp_u_offsetX_ValueError __pyx_mstate_global->__pyx_kp_u_offsetX_ValueError
#define __pyx_kp_u_offsetY __pyx_mstate_global->__pyx_kp_u_offsetY
#define __pyx_n_s_offsetY_2 __pyx_mstate_global->__pyx_n_s_offsetY_2
#define __pyx_kp_u_offsetY_ValueError __pyx_mstate_global->__pyx_kp_u_offsetY_ValueError
#define __pyx_kp_u_offsetZ __pyx_mstate_global->__pyx_kp_u_offsetZ
#define __pyx_n_s_offsetZ_2 __pyx_mstate_global->__pyx_n_s_offsetZ_2
#define __pyx_kp_u_offsetZ_ValueError __pyx_mstate_global->__pyx_kp_u_offsetZ_ValueError
#define __pyx_n_s_offset_2 __pyx_mstate_global->__pyx_n_s_offset_2
#define __pyx_kp_u_offset_ValueError __pyx_mstate_global->__pyx_kp_u_offset_ValueError
#define __pyx_n_s_oobFill __pyx_mstate_global->__pyx_n_s_oobFill
#define __pyx_kp_u_opaque __pyx_mstate_global->__pyx_kp_u_opaque
#define __pyx_n_s_opaque_2 __pyx_mstate_global->__pyx_n_s_opaque_2
#define __pyx_kp_u_opaque_ValueError __pyx_mstate_global->__pyx_kp_u_opaque_ValueError
#define __pyx_kp_u_operation __pyx_mstate_global->__pyx_kp_u_operation
#define __pyx_n_s_operation_2 __pyx_mstate_global->__pyx_n_s_operation_2
#define __pyx_kp_u_operation_ValueError __pyx_mstate_global->__pyx_kp_u_operation_ValueError
#define __pyx_n_s_option __pyx_mstate_global->__pyx_n_s_option
#define __pyx_n_s_optionValues __pyx_mstate_global->__pyx_n_s_optionValues
#define __pyx_n_s_options __pyx_mstate_global->__pyx_n_s_options
#define __pyx_n_s_ordinal __pyx_mstate_global->__pyx_n_s_ordinal
#define __pyx_n_s_originalGraph __pyx_mstate_global->__pyx_n_s_originalGraph
#define __pyx_n_s_osHandle __pyx_mstate_global->__pyx_n_s_osHandle
#define __pyx_kp_u_overBudget __pyx_mstate_global->__pyx_kp_u_overBudget
#define __pyx_n_s_overBudget_2 __pyx_mstate_global->__pyx_n_s_overBudget_2
#define __pyx_kp_u_overBudget_ValueError __pyx_mstate_global->__pyx_kp_u_overBudget_ValueError
#define __pyx_kp_u_oversize __pyx_mstate_global->__pyx_kp_u_oversize
#define __pyx_n_s_oversize_2 __pyx_mstate_global->__pyx_n_s_oversize_2
#define __pyx_kp_u_oversize_ValueError __pyx_mstate_global->__pyx_kp_u_oversize_ValueError
#define __pyx_kp_u_oversize_length_must_be_48_is __pyx_mstate_global->__pyx_kp_u_oversize_length_must_be_48_is
#define __pyx_n_s_p __pyx_mstate_global->__pyx_n_s_p
#define __pyx_kp_u_p2pToken __pyx_mstate_global->__pyx_kp_u_p2pToken
#define __pyx_n_s_p2pToken_2 __pyx_mstate_global->__pyx_n_s_p2pToken_2
#define __pyx_kp_u_p2pToken_ValueError __pyx_mstate_global->__pyx_kp_u_p2pToken_ValueError
#define __pyx_n_s_pAllocateArray __pyx_mstate_global->__pyx_n_s_pAllocateArray
#define __pyx_kp_u_pArray __pyx_mstate_global->__pyx_kp_u_pArray
#define __pyx_n_s_pArrayDescriptor __pyx_mstate_global->__pyx_n_s_pArrayDescriptor
#define __pyx_n_s_pArray_2 __pyx_mstate_global->__pyx_n_s_pArray_2
#define __pyx_kp_u_pArray_ValueError __pyx_mstate_global->__pyx_kp_u_pArray_ValueError
#define __pyx_n_s_pBorderColor __pyx_mstate_global->__pyx_n_s_pBorderColor
#define __pyx_n_s_pConfig __pyx_mstate_global->__pyx_n_s_pConfig
#define __pyx_n_s_pContext __pyx_mstate_global->__pyx_n_s_pContext
#define __pyx_n_s_pCopy __pyx_mstate_global->__pyx_n_s_pCopy
#define __pyx_n_s_pCtx __pyx_mstate_global->__pyx_n_s_pCtx
#define __pyx_n_s_pCudaDeviceCount __pyx_mstate_global->__pyx_n_s_pCudaDeviceCount
#define __pyx_n_s_pCudaResource __pyx_mstate_global->__pyx_n_s_pCudaResource
#define __pyx_n_s_pDevPtr __pyx_mstate_global->__pyx_n_s_pDevPtr
#define __pyx_n_s_pDevice __pyx_mstate_global->__pyx_n_s_pDevice
#define __pyx_n_s_pExecAffinity __pyx_mstate_global->__pyx_n_s_pExecAffinity
#define __pyx_n_s_pExportTableId __pyx_mstate_global->__pyx_n_s_pExportTableId
#define __pyx_n_s_pFlags __pyx_mstate_global->__pyx_n_s_pFlags
#define __pyx_n_s_pFormat __pyx_mstate_global->__pyx_n_s_pFormat
#define __pyx_n_s_pFunc __pyx_mstate_global->__pyx_n_s_pFunc
#define __pyx_n_s_pHandle __pyx_mstate_global->__pyx_n_s_pHandle
#define __pyx_n_s_pHandle_out __pyx_mstate_global->__pyx_n_s_pHandle_out
#define __pyx_n_s_pKernel __pyx_mstate_global->__pyx_n_s_pKernel
#define __pyx_n_s_pLevelArray __pyx_mstate_global->__pyx_n_s_pLevelArray
#define __pyx_n_s_pMilliseconds __pyx_mstate_global->__pyx_n_s_pMilliseconds
#define __pyx_n_s_pMipmappedArray __pyx_mstate_global->__pyx_n_s_pMipmappedArray
#define __pyx_n_s_pMipmappedArrayDesc __pyx_mstate_global->__pyx_n_s_pMipmappedArrayDesc
#define __pyx_n_s_pMod __pyx_mstate_global->__pyx_n_s_pMod
#define __pyx_n_s_pNumChannels __pyx_mstate_global->__pyx_n_s_pNumChannels
#define __pyx_kp_u_pPitch __pyx_mstate_global->__pyx_kp_u_pPitch
#define __pyx_n_s_pPitch_2 __pyx_mstate_global->__pyx_n_s_pPitch_2
#define __pyx_kp_u_pPitch_ValueError __pyx_mstate_global->__pyx_kp_u_pPitch_ValueError
#define __pyx_n_s_pPlaneArray __pyx_mstate_global->__pyx_n_s_pPlaneArray
#define __pyx_n_s_pResDesc __pyx_mstate_global->__pyx_n_s_pResDesc
#define __pyx_n_s_pResViewDesc __pyx_mstate_global->__pyx_n_s_pResViewDesc
#define __pyx_n_s_pSize __pyx_mstate_global->__pyx_n_s_pSize
#define __pyx_n_s_pStr __pyx_mstate_global->__pyx_n_s_pStr
#define __pyx_n_s_pStream __pyx_mstate_global->__pyx_n_s_pStream
#define __pyx_n_s_pSurfObject __pyx_mstate_global->__pyx_n_s_pSurfObject
#define __pyx_n_s_pSurfRef __pyx_mstate_global->__pyx_n_s_pSurfRef
#define __pyx_n_s_pTexDesc __pyx_mstate_global->__pyx_n_s_pTexDesc
#define __pyx_n_s_pTexObject __pyx_mstate_global->__pyx_n_s_pTexObject
#define __pyx_n_s_pTexRef __pyx_mstate_global->__pyx_n_s_pTexRef
#define __pyx_kp_u_pad __pyx_mstate_global->__pyx_kp_u_pad
#define __pyx_n_s_pad_2 __pyx_mstate_global->__pyx_n_s_pad_2
#define __pyx_kp_u_pad_ValueError __pyx_mstate_global->__pyx_kp_u_pad_ValueError
#define __pyx_kp_u_pad_length_must_be_64_is __pyx_mstate_global->__pyx_kp_u_pad_length_must_be_64_is
#define __pyx_n_s_paddr __pyx_mstate_global->__pyx_n_s_paddr
#define __pyx_n_s_pam __pyx_mstate_global->__pyx_n_s_pam
#define __pyx_kp_u_param __pyx_mstate_global->__pyx_kp_u_param
#define __pyx_kp_u_paramArray __pyx_mstate_global->__pyx_kp_u_paramArray
#define __pyx_n_s_paramArray_2 __pyx_mstate_global->__pyx_n_s_paramArray_2
#define __pyx_kp_u_paramArray_ValueError __pyx_mstate_global->__pyx_kp_u_paramArray_ValueError
#define __pyx_n_s_paramIndex __pyx_mstate_global->__pyx_n_s_paramIndex
#define __pyx_n_s_paramOffset __pyx_mstate_global->__pyx_n_s_paramOffset
#define __pyx_n_s_paramSize __pyx_mstate_global->__pyx_n_s_paramSize
#define __pyx_n_s_param_2 __pyx_mstate_global->__pyx_n_s_param_2
#define __pyx_kp_u_param_ValueError __pyx_mstate_global->__pyx_kp_u_param_ValueError
#define __pyx_kp_u_params __pyx_mstate_global->__pyx_kp_u_params
#define __pyx_kp_u_paramsArray __pyx_mstate_global->__pyx_kp_u_paramsArray
#define __pyx_n_s_paramsArray_2 __pyx_mstate_global->__pyx_n_s_paramsArray_2
#define __pyx_kp_u_paramsArray_ValueError __pyx_mstate_global->__pyx_kp_u_paramsArray_ValueError
#define __pyx_n_s_params_2 __pyx_mstate_global->__pyx_n_s_params_2
#define __pyx_kp_u_params_ValueError __pyx_mstate_global->__pyx_kp_u_params_ValueError
#define __pyx_n_s_params_out __pyx_mstate_global->__pyx_n_s_params_out
#define __pyx_n_s_parray __pyx_mstate_global->__pyx_n_s_parray
#define __pyx_n_s_path __pyx_mstate_global->__pyx_n_s_path
#define __pyx_n_s_pbase __pyx_mstate_global->__pyx_n_s_pbase
#define __pyx_n_s_pbias __pyx_mstate_global->__pyx_n_s_pbias
#define __pyx_n_s_pblockSizeToDynamicSMemSize __pyx_mstate_global->__pyx_n_s_pblockSizeToDynamicSMemSize
#define __pyx_n_s_pbuffer __pyx_mstate_global->__pyx_n_s_pbuffer
#define __pyx_n_s_pcallback __pyx_mstate_global->__pyx_n_s_pcallback
#define __pyx_n_s_pcallbackFunc __pyx_mstate_global->__pyx_n_s_pcallbackFunc
#define __pyx_n_s_pchannelsPerPixel __pyx_mstate_global->__pyx_n_s_pchannelsPerPixel
#define __pyx_n_s_pchildGraph __pyx_mstate_global->__pyx_n_s_pchildGraph
#define __pyx_n_s_pciBusId __pyx_mstate_global->__pyx_n_s_pciBusId
#define __pyx_n_s_pconfig __pyx_mstate_global->__pyx_n_s_pconfig
#define __pyx_n_s_pconn __pyx_mstate_global->__pyx_n_s_pconn
#define __pyx_n_s_pctx __pyx_mstate_global->__pyx_n_s_pctx
#define __pyx_n_s_pdesc __pyx_mstate_global->__pyx_n_s_pdesc
#define __pyx_n_s_pdestroy __pyx_mstate_global->__pyx_n_s_pdestroy
#define __pyx_n_s_pdev __pyx_mstate_global->__pyx_n_s_pdev
#define __pyx_n_s_pdevPtr __pyx_mstate_global->__pyx_n_s_pdevPtr
#define __pyx_n_s_pdevice __pyx_mstate_global->__pyx_n_s_pdevice
#define __pyx_n_s_pdptr __pyx_mstate_global->__pyx_n_s_pdptr
#define __pyx_n_s_pdst __pyx_mstate_global->__pyx_n_s_pdst
#define __pyx_n_s_pdstArray __pyx_mstate_global->__pyx_n_s_pdstArray
#define __pyx_n_s_pdstContext __pyx_mstate_global->__pyx_n_s_pdstContext
#define __pyx_n_s_pdstDevice __pyx_mstate_global->__pyx_n_s_pdstDevice
#define __pyx_n_s_peerContext __pyx_mstate_global->__pyx_n_s_peerContext
#define __pyx_n_s_peerDev __pyx_mstate_global->__pyx_n_s_peerDev
#define __pyx_n_s_peglSync __pyx_mstate_global->__pyx_n_s_peglSync
#define __pyx_n_s_pevent __pyx_mstate_global->__pyx_n_s_pevent
#define __pyx_n_s_pextMem __pyx_mstate_global->__pyx_n_s_pextMem
#define __pyx_n_s_pextSem __pyx_mstate_global->__pyx_n_s_pextSem
#define __pyx_n_s_pf __pyx_mstate_global->__pyx_n_s_pf
#define __pyx_n_s_pflags __pyx_mstate_global->__pyx_n_s_pflags
#define __pyx_n_s_pfm __pyx_mstate_global->__pyx_n_s_pfm
#define __pyx_n_s_pfn __pyx_mstate_global->__pyx_n_s_pfn
#define __pyx_n_s_pformat __pyx_mstate_global->__pyx_n_s_pformat
#define __pyx_n_s_pfunc __pyx_mstate_global->__pyx_n_s_pfunc
#define __pyx_n_s_pfunction __pyx_mstate_global->__pyx_n_s_pfunction
#define __pyx_n_s_pgraph __pyx_mstate_global->__pyx_n_s_pgraph
#define __pyx_n_s_phArray __pyx_mstate_global->__pyx_n_s_phArray
#define __pyx_n_s_phClonedGraph __pyx_mstate_global->__pyx_n_s_phClonedGraph
#define __pyx_n_s_phCtx __pyx_mstate_global->__pyx_n_s_phCtx
#define __pyx_n_s_phDesc __pyx_mstate_global->__pyx_n_s_phDesc
#define __pyx_n_s_phEnd __pyx_mstate_global->__pyx_n_s_phEnd
#define __pyx_n_s_phEvent __pyx_mstate_global->__pyx_n_s_phEvent
#define __pyx_n_s_phGraph __pyx_mstate_global->__pyx_n_s_phGraph
#define __pyx_n_s_phGraphClone __pyx_mstate_global->__pyx_n_s_phGraphClone
#define __pyx_n_s_phGraphExec __pyx_mstate_global->__pyx_n_s_phGraphExec
#define __pyx_n_s_phGraphNode __pyx_mstate_global->__pyx_n_s_phGraphNode
#define __pyx_kp_u_phGraph_out __pyx_mstate_global->__pyx_kp_u_phGraph_out
#define __pyx_n_s_phGraph_out_2 __pyx_mstate_global->__pyx_n_s_phGraph_out_2
#define __pyx_kp_u_phGraph_out_ValueError __pyx_mstate_global->__pyx_kp_u_phGraph_out_ValueError
#define __pyx_n_s_phMipmappedArray __pyx_mstate_global->__pyx_n_s_phMipmappedArray
#define __pyx_n_s_phNode __pyx_mstate_global->__pyx_n_s_phNode
#define __pyx_n_s_phOriginalNode __pyx_mstate_global->__pyx_n_s_phOriginalNode
#define __pyx_n_s_phStart __pyx_mstate_global->__pyx_n_s_phStart
#define __pyx_n_s_phStream __pyx_mstate_global->__pyx_n_s_phStream
#define __pyx_n_s_phSurfRef __pyx_mstate_global->__pyx_n_s_phSurfRef
#define __pyx_n_s_phTexRef __pyx_mstate_global->__pyx_n_s_phTexRef
#define __pyx_n_s_phandle __pyx_mstate_global->__pyx_n_s_phandle
#define __pyx_n_s_pheight __pyx_mstate_global->__pyx_n_s_pheight
#define __pyx_n_s_phfunc __pyx_mstate_global->__pyx_n_s_phfunc
#define __pyx_n_s_phmod __pyx_mstate_global->__pyx_n_s_phmod
#define __pyx_n_s_pi __pyx_mstate_global->__pyx_n_s_pi
#define __pyx_n_s_pimage __pyx_mstate_global->__pyx_n_s_pimage
#define __pyx_kp_u_pitch __pyx_mstate_global->__pyx_kp_u_pitch
#define __pyx_kp_u_pitch2D __pyx_mstate_global->__pyx_kp_u_pitch2D
#define __pyx_n_s_pitch2D_2 __pyx_mstate_global->__pyx_n_s_pitch2D_2
#define __pyx_kp_u_pitch2D_ValueError __pyx_mstate_global->__pyx_kp_u_pitch2D_ValueError
#define __pyx_kp_u_pitchInBytes __pyx_mstate_global->__pyx_kp_u_pitchInBytes
#define __pyx_n_s_pitchInBytes_2 __pyx_mstate_global->__pyx_n_s_pitchInBytes_2
#define __pyx_kp_u_pitchInBytes_ValueError __pyx_mstate_global->__pyx_kp_u_pitchInBytes_ValueError
#define __pyx_n_s_pitch_2 __pyx_mstate_global->__pyx_n_s_pitch_2
#define __pyx_kp_u_pitch_ValueError __pyx_mstate_global->__pyx_kp_u_pitch_ValueError
#define __pyx_n_s_pixelBoxLowerCorner __pyx_mstate_global->__pyx_n_s_pixelBoxLowerCorner
#define __pyx_n_s_pixelBoxUpperCorner __pyx_mstate_global->__pyx_n_s_pixelBoxUpperCorner
#define __pyx_n_s_pixelsPerColumn __pyx_mstate_global->__pyx_n_s_pixelsPerColumn
#define __pyx_n_s_pkernel __pyx_mstate_global->__pyx_n_s_pkernel
#define __pyx_kp_u_planeCount __pyx_mstate_global->__pyx_kp_u_planeCount
#define __pyx_n_s_planeCount_2 __pyx_mstate_global->__pyx_n_s_planeCount_2
#define __pyx_kp_u_planeCount_ValueError __pyx_mstate_global->__pyx_kp_u_planeCount_ValueError
#define __pyx_n_s_planeIdx __pyx_mstate_global->__pyx_n_s_planeIdx
#define __pyx_n_s_plib __pyx_mstate_global->__pyx_n_s_plib
#define __pyx_n_s_plibrary __pyx_mstate_global->__pyx_n_s_plibrary
#define __pyx_n_s_pmaxAniso __pyx_mstate_global->__pyx_n_s_pmaxAniso
#define __pyx_n_s_pmaxMipmapLevelClamp __pyx_mstate_global->__pyx_n_s_pmaxMipmapLevelClamp
#define __pyx_n_s_pmcHandle __pyx_mstate_global->__pyx_n_s_pmcHandle
#define __pyx_n_s_pmemHandle __pyx_mstate_global->__pyx_n_s_pmemHandle
#define __pyx_n_s_pmemPool __pyx_mstate_global->__pyx_n_s_pmemPool
#define __pyx_n_s_pmemptr __pyx_mstate_global->__pyx_n_s_pmemptr
#define __pyx_n_s_pminMipmapLevelClamp __pyx_mstate_global->__pyx_n_s_pminMipmapLevelClamp
#define __pyx_n_s_pmipmap __pyx_mstate_global->__pyx_n_s_pmipmap
#define __pyx_n_s_pmod __pyx_mstate_global->__pyx_n_s_pmod
#define __pyx_n_s_pobject __pyx_mstate_global->__pyx_n_s_pobject
#define __pyx_n_s_pool __pyx_mstate_global->__pyx_n_s_pool
#define __pyx_kp_u_poolProps __pyx_mstate_global->__pyx_kp_u_poolProps
#define __pyx_n_s_poolProps_2 __pyx_mstate_global->__pyx_n_s_poolProps_2
#define __pyx_kp_u_poolProps_ValueError __pyx_mstate_global->__pyx_kp_u_poolProps_ValueError
#define __pyx_n_s_pool_out __pyx_mstate_global->__pyx_n_s_pool_out
#define __pyx_n_s_poriginalGraph __pyx_mstate_global->__pyx_n_s_poriginalGraph
#define __pyx_n_s_pp __pyx_mstate_global->__pyx_n_s_pp
#define __pyx_n_s_ppCudaResource __pyx_mstate_global->__pyx_n_s_ppCudaResource
#define __pyx_n_s_ppExportTable __pyx_mstate_global->__pyx_n_s_ppExportTable
#define __pyx_n_s_ppStream __pyx_mstate_global->__pyx_n_s_ppStream
#define __pyx_n_s_ppeerContext __pyx_mstate_global->__pyx_n_s_ppeerContext
#define __pyx_n_s_ppeerDev __pyx_mstate_global->__pyx_n_s_ppeerDev
#define __pyx_n_s_ppixelsPerColumn __pyx_mstate_global->__pyx_n_s_ppixelsPerColumn
#define __pyx_n_s_ppool __pyx_mstate_global->__pyx_n_s_ppool
#define __pyx_n_s_pptr __pyx_mstate_global->__pyx_n_s_pptr
#define __pyx_n_s_prepare __pyx_mstate_global->__pyx_n_s_prepare
#define __pyx_n_s_presource __pyx_mstate_global->__pyx_n_s_presource
#define __pyx_n_s_presources __pyx_mstate_global->__pyx_n_s_presources
#define __pyx_kp_u_priority __pyx_mstate_global->__pyx_kp_u_priority
#define __pyx_n_s_priority_2 __pyx_mstate_global->__pyx_n_s_priority_2
#define __pyx_kp_u_priority_ValueError __pyx_mstate_global->__pyx_kp_u_priority_ValueError
#define __pyx_kp_u_programmaticEvent __pyx_mstate_global->__pyx_kp_u_programmaticEvent
#define __pyx_n_s_programmaticEvent_2 __pyx_mstate_global->__pyx_n_s_programmaticEvent_2
#define __pyx_kp_u_programmaticEvent_ValueError __pyx_mstate_global->__pyx_kp_u_programmaticEvent_ValueError
#define __pyx_kp_u_programmaticStreamSerializationA __pyx_mstate_global->__pyx_kp_u_programmaticStreamSerializationA
#define __pyx_n_s_programmaticStreamSerializationA_2 __pyx_mstate_global->__pyx_n_s_programmaticStreamSerializationA_2
#define __pyx_kp_u_programmaticStreamSerializationA_3 __pyx_mstate_global->__pyx_kp_u_programmaticStreamSerializationA_3
#define __pyx_n_s_prop __pyx_mstate_global->__pyx_n_s_prop
#define __pyx_n_s_psize __pyx_mstate_global->__pyx_n_s_psize
#define __pyx_n_s_psrc __pyx_mstate_global->__pyx_n_s_psrc
#define __pyx_n_s_psrcArray __pyx_mstate_global->__pyx_n_s_psrcArray
#define __pyx_n_s_psrcContext __pyx_mstate_global->__pyx_n_s_psrcContext
#define __pyx_n_s_psrcDevice __pyx_mstate_global->__pyx_n_s_psrcDevice
#define __pyx_n_s_pstate __pyx_mstate_global->__pyx_n_s_pstate
#define __pyx_n_s_pstream __pyx_mstate_global->__pyx_n_s_pstream
#define __pyx_n_s_psurfObject __pyx_mstate_global->__pyx_n_s_psurfObject
#define __pyx_n_s_ptarget __pyx_mstate_global->__pyx_n_s_ptarget
#define __pyx_n_s_ptensorRank __pyx_mstate_global->__pyx_n_s_ptensorRank
#define __pyx_n_s_ptexObject __pyx_mstate_global->__pyx_n_s_ptexObject
#define __pyx_n_s_ptr __pyx_mstate_global->__pyx_n_s_ptr
#define __pyx_n_s_ptr_2 __pyx_mstate_global->__pyx_n_s_ptr_2
#define __pyx_n_s_ptr_out __pyx_mstate_global->__pyx_n_s_ptr_out
#define __pyx_n_s_pvalue __pyx_mstate_global->__pyx_n_s_pvalue
#define __pyx_n_s_pvdpDevice __pyx_mstate_global->__pyx_n_s_pvdpDevice
#define __pyx_n_s_pvdpGetProcAddress __pyx_mstate_global->__pyx_n_s_pvdpGetProcAddress
#define __pyx_n_s_pvdpSurface __pyx_mstate_global->__pyx_n_s_pvdpSurface
#define __pyx_n_s_pwidth __pyx_mstate_global->__pyx_n_s_pwidth
#define __pyx_n_s_pyObj __pyx_mstate_global->__pyx_n_s_pyObj
#define __pyx_n_s_pyattributes __pyx_mstate_global->__pyx_n_s_pyattributes
#define __pyx_n_s_pydataSizes __pyx_mstate_global->__pyx_n_s_pydataSizes
#define __pyx_n_s_pydependencies __pyx_mstate_global->__pyx_n_s_pydependencies
#define __pyx_n_s_pydependencies_out __pyx_mstate_global->__pyx_n_s_pydependencies_out
#define __pyx_n_s_pydependentNodes __pyx_mstate_global->__pyx_n_s_pydependentNodes
#define __pyx_n_s_pyedgeData __pyx_mstate_global->__pyx_n_s_pyedgeData
#define __pyx_n_s_pyedgeData_out __pyx_mstate_global->__pyx_n_s_pyedgeData_out
#define __pyx_n_s_pyfrom __pyx_mstate_global->__pyx_n_s_pyfrom
#define __pyx_n_s_pyfunctions __pyx_mstate_global->__pyx_n_s_pyfunctions
#define __pyx_n_s_pyjitOptions __pyx_mstate_global->__pyx_n_s_pyjitOptions
#define __pyx_n_s_pykernels __pyx_mstate_global->__pyx_n_s_pykernels
#define __pyx_n_s_pylibraryOptions __pyx_mstate_global->__pyx_n_s_pylibraryOptions
#define __pyx_n_s_pylist __pyx_mstate_global->__pyx_n_s_pylist
#define __pyx_n_s_pyname __pyx_mstate_global->__pyx_n_s_pyname
#define __pyx_n_s_pynodes __pyx_mstate_global->__pyx_n_s_pynodes
#define __pyx_n_s_pyoptionValues __pyx_mstate_global->__pyx_n_s_pyoptionValues
#define __pyx_n_s_pyoptions __pyx_mstate_global->__pyx_n_s_pyoptions
#define __pyx_n_s_pypCudaDevices __pyx_mstate_global->__pyx_n_s_pypCudaDevices
#define __pyx_n_s_pypciBusId __pyx_mstate_global->__pyx_n_s_pypciBusId
#define __pyx_n_s_pypixelBoxLowerCorner __pyx_mstate_global->__pyx_n_s_pypixelBoxLowerCorner
#define __pyx_n_s_pypixelBoxUpperCorner __pyx_mstate_global->__pyx_n_s_pypixelBoxUpperCorner
#define __pyx_n_s_pyresult __pyx_mstate_global->__pyx_n_s_pyresult
#define __pyx_n_s_pyrootNodes __pyx_mstate_global->__pyx_n_s_pyrootNodes
#define __pyx_n_s_pyto __pyx_mstate_global->__pyx_n_s_pyto
#define __pyx_n_s_pyx_state __pyx_mstate_global->__pyx_n_s_pyx_state
#define __pyx_n_s_qualname __pyx_mstate_global->__pyx_n_s_qualname
#define __pyx_n_s_range __pyx_mstate_global->__pyx_n_s_range
#define __pyx_n_s_reduce __pyx_mstate_global->__pyx_n_s_reduce
#define __pyx_n_s_reduce_cython __pyx_mstate_global->__pyx_n_s_reduce_cython
#define __pyx_n_s_reduce_ex __pyx_mstate_global->__pyx_n_s_reduce_ex
#define __pyx_kp_u_regsPerBlock __pyx_mstate_global->__pyx_kp_u_regsPerBlock
#define __pyx_n_s_regsPerBlock_2 __pyx_mstate_global->__pyx_n_s_regsPerBlock_2
#define __pyx_kp_u_regsPerBlock_ValueError __pyx_mstate_global->__pyx_kp_u_regsPerBlock_ValueError
#define __pyx_n_s_remaining __pyx_mstate_global->__pyx_n_s_remaining
#define __pyx_kp_u_remote __pyx_mstate_global->__pyx_kp_u_remote
#define __pyx_n_s_remote_2 __pyx_mstate_global->__pyx_n_s_remote_2
#define __pyx_kp_u_remote_ValueError __pyx_mstate_global->__pyx_kp_u_remote_ValueError
#define __pyx_kp_u_requestedHandleTypes __pyx_mstate_global->__pyx_kp_u_requestedHandleTypes
#define __pyx_n_s_requestedHandleTypes_2 __pyx_mstate_global->__pyx_n_s_requestedHandleTypes_2
#define __pyx_kp_u_requestedHandleTypes_ValueError __pyx_mstate_global->__pyx_kp_u_requestedHandleTypes_ValueError
#define __pyx_kp_u_res __pyx_mstate_global->__pyx_kp_u_res
#define __pyx_kp_u_resType __pyx_mstate_global->__pyx_kp_u_resType
#define __pyx_n_s_resType_2 __pyx_mstate_global->__pyx_n_s_resType_2
#define __pyx_kp_u_resType_ValueError __pyx_mstate_global->__pyx_kp_u_resType_ValueError
#define __pyx_n_s_res_2 __pyx_mstate_global->__pyx_n_s_res_2
#define __pyx_kp_u_res_ValueError __pyx_mstate_global->__pyx_kp_u_res_ValueError
#define __pyx_kp_u_reserved __pyx_mstate_global->__pyx_kp_u_reserved
#define __pyx_kp_u_reserved0 __pyx_mstate_global->__pyx_kp_u_reserved0
#define __pyx_n_s_reserved0_2 __pyx_mstate_global->__pyx_n_s_reserved0_2
#define __pyx_kp_u_reserved0_ValueError __pyx_mstate_global->__pyx_kp_u_reserved0_ValueError
#define __pyx_kp_u_reserved1 __pyx_mstate_global->__pyx_kp_u_reserved1
#define __pyx_n_s_reserved1_2 __pyx_mstate_global->__pyx_n_s_reserved1_2
#define __pyx_kp_u_reserved1_ValueError __pyx_mstate_global->__pyx_kp_u_reserved1_ValueError
#define __pyx_kp_u_reserved2 __pyx_mstate_global->__pyx_kp_u_reserved2
#define __pyx_n_s_reserved2_2 __pyx_mstate_global->__pyx_n_s_reserved2_2
#define __pyx_kp_u_reserved2_ValueError __pyx_mstate_global->__pyx_kp_u_reserved2_ValueError
#define __pyx_n_s_reserved_2 __pyx_mstate_global->__pyx_n_s_reserved_2
#define __pyx_kp_u_reserved_3 __pyx_mstate_global->__pyx_kp_u_reserved_3
#define __pyx_kp_u_reserved_ValueError __pyx_mstate_global->__pyx_kp_u_reserved_ValueError
#define __pyx_kp_u_reserved_length_must_be_4_is __pyx_mstate_global->__pyx_kp_u_reserved_length_must_be_4_is
#define __pyx_kp_u_reserved_length_must_be_56_is __pyx_mstate_global->__pyx_kp_u_reserved_length_must_be_56_is
#define __pyx_kp_u_reserved_length_must_be_5_is __pyx_mstate_global->__pyx_kp_u_reserved_length_must_be_5_is
#define __pyx_kp_u_reserved_length_must_be_64_is __pyx_mstate_global->__pyx_kp_u_reserved_length_must_be_64_is
#define __pyx_kp_u_resource __pyx_mstate_global->__pyx_kp_u_resource
#define __pyx_kp_u_resourceType __pyx_mstate_global->__pyx_kp_u_resourceType
#define __pyx_n_s_resourceType_2 __pyx_mstate_global->__pyx_n_s_resourceType_2
#define __pyx_kp_u_resourceType_ValueError __pyx_mstate_global->__pyx_kp_u_resourceType_ValueError
#define __pyx_n_s_resource_2 __pyx_mstate_global->__pyx_n_s_resource_2
#define __pyx_kp_u_resource_ValueError __pyx_mstate_global->__pyx_kp_u_resource_ValueError
#define __pyx_n_s_resources __pyx_mstate_global->__pyx_n_s_resources
#define __pyx_kp_u_result __pyx_mstate_global->__pyx_kp_u_result
#define __pyx_n_s_resultInfo __pyx_mstate_global->__pyx_n_s_resultInfo
#define __pyx_n_s_result_2 __pyx_mstate_global->__pyx_n_s_result_2
#define __pyx_kp_u_result_ValueError __pyx_mstate_global->__pyx_kp_u_result_ValueError
#define __pyx_kp_u_result_out __pyx_mstate_global->__pyx_kp_u_result_out
#define __pyx_n_s_result_out_2 __pyx_mstate_global->__pyx_n_s_result_out_2
#define __pyx_kp_u_result_out_ValueError __pyx_mstate_global->__pyx_kp_u_result_out_ValueError
#define __pyx_n_s_scope __pyx_mstate_global->__pyx_n_s_scope
#define __pyx_n_s_self __pyx_mstate_global->__pyx_n_s_self
#define __pyx_n_s_semHandleDesc __pyx_mstate_global->__pyx_n_s_semHandleDesc
#define __pyx_n_s_send __pyx_mstate_global->__pyx_n_s_send
#define __pyx_n_s_set_name __pyx_mstate_global->__pyx_n_s_set_name
#define __pyx_n_s_setstate __pyx_mstate_global->__pyx_n_s_setstate
#define __pyx_n_s_setstate_cython __pyx_mstate_global->__pyx_n_s_setstate_cython
#define __pyx_n_s_shHandleType __pyx_mstate_global->__pyx_n_s_shHandleType
#define __pyx_n_s_shareData __pyx_mstate_global->__pyx_n_s_shareData
#define __pyx_n_s_shareData_out __pyx_mstate_global->__pyx_n_s_shareData_out
#define __pyx_kp_u_sharedMemBytes __pyx_mstate_global->__pyx_kp_u_sharedMemBytes
#define __pyx_n_s_sharedMemBytes_2 __pyx_mstate_global->__pyx_n_s_sharedMemBytes_2
#define __pyx_kp_u_sharedMemBytes_ValueError __pyx_mstate_global->__pyx_kp_u_sharedMemBytes_ValueError
#define __pyx_kp_u_sharedMemPerBlock __pyx_mstate_global->__pyx_kp_u_sharedMemPerBlock
#define __pyx_n_s_sharedMemPerBlock_2 __pyx_mstate_global->__pyx_n_s_sharedMemPerBlock_2
#define __pyx_kp_u_sharedMemPerBlock_ValueError __pyx_mstate_global->__pyx_kp_u_sharedMemPerBlock_ValueError
#define __pyx_kp_u_size __pyx_mstate_global->__pyx_kp_u_size
#define __pyx_kp_u_sizeInBytes __pyx_mstate_global->__pyx_kp_u_sizeInBytes
#define __pyx_n_s_sizeInBytes_2 __pyx_mstate_global->__pyx_n_s_sizeInBytes_2
#define __pyx_kp_u_sizeInBytes_ValueError __pyx_mstate_global->__pyx_kp_u_sizeInBytes_ValueError
#define __pyx_n_s_sizeOut __pyx_mstate_global->__pyx_n_s_sizeOut
#define __pyx_n_s_size_2 __pyx_mstate_global->__pyx_n_s_size_2
#define __pyx_kp_u_size_ValueError __pyx_mstate_global->__pyx_kp_u_size_ValueError
#define __pyx_n_s_sizeof __pyx_mstate_global->__pyx_n_s_sizeof
#define __pyx_kp_u_sm __pyx_mstate_global->__pyx_kp_u_sm
#define __pyx_kp_u_smCount __pyx_mstate_global->__pyx_kp_u_smCount
#define __pyx_n_s_smCount_2 __pyx_mstate_global->__pyx_n_s_smCount_2
#define __pyx_kp_u_smCount_3 __pyx_mstate_global->__pyx_kp_u_smCount_3
#define __pyx_kp_u_smCount_ValueError __pyx_mstate_global->__pyx_kp_u_smCount_ValueError
#define __pyx_n_s_sm_2 __pyx_mstate_global->__pyx_n_s_sm_2
#define __pyx_kp_u_sm_ValueError __pyx_mstate_global->__pyx_kp_u_sm_ValueError
#define __pyx_kp_u_sparseLevel __pyx_mstate_global->__pyx_kp_u_sparseLevel
#define __pyx_n_s_sparseLevel_2 __pyx_mstate_global->__pyx_n_s_sparseLevel_2
#define __pyx_kp_u_sparseLevel_ValueError __pyx_mstate_global->__pyx_kp_u_sparseLevel_ValueError
#define __pyx_n_s_sparseProperties __pyx_mstate_global->__pyx_n_s_sparseProperties
#define __pyx_n_s_spec __pyx_mstate_global->__pyx_n_s_spec
#define __pyx_n_s_splitlines __pyx_mstate_global->__pyx_n_s_splitlines
#define __pyx_n_s_src __pyx_mstate_global->__pyx_n_s_src
#define __pyx_kp_u_srcArray __pyx_mstate_global->__pyx_kp_u_srcArray
#define __pyx_n_s_srcArray_2 __pyx_mstate_global->__pyx_n_s_srcArray_2
#define __pyx_kp_u_srcArray_ValueError __pyx_mstate_global->__pyx_kp_u_srcArray_ValueError
#define __pyx_kp_u_srcContext __pyx_mstate_global->__pyx_kp_u_srcContext
#define __pyx_n_s_srcContext_2 __pyx_mstate_global->__pyx_n_s_srcContext_2
#define __pyx_kp_u_srcContext_ValueError __pyx_mstate_global->__pyx_kp_u_srcContext_ValueError
#define __pyx_kp_u_srcDevice __pyx_mstate_global->__pyx_kp_u_srcDevice
#define __pyx_n_s_srcDevice_2 __pyx_mstate_global->__pyx_n_s_srcDevice_2
#define __pyx_kp_u_srcDevice_ValueError __pyx_mstate_global->__pyx_kp_u_srcDevice_ValueError
#define __pyx_kp_u_srcHeight __pyx_mstate_global->__pyx_kp_u_srcHeight
#define __pyx_n_s_srcHeight_2 __pyx_mstate_global->__pyx_n_s_srcHeight_2
#define __pyx_kp_u_srcHeight_ValueError __pyx_mstate_global->__pyx_kp_u_srcHeight_ValueError
#define __pyx_kp_u_srcHost __pyx_mstate_global->__pyx_kp_u_srcHost
#define __pyx_n_s_srcHost_2 __pyx_mstate_global->__pyx_n_s_srcHost_2
#define __pyx_kp_u_srcHost_ValueError __pyx_mstate_global->__pyx_kp_u_srcHost_ValueError
#define __pyx_kp_u_srcLOD __pyx_mstate_global->__pyx_kp_u_srcLOD
#define __pyx_n_s_srcLOD_2 __pyx_mstate_global->__pyx_n_s_srcLOD_2
#define __pyx_kp_u_srcLOD_ValueError __pyx_mstate_global->__pyx_kp_u_srcLOD_ValueError
#define __pyx_kp_u_srcMemoryType __pyx_mstate_global->__pyx_kp_u_srcMemoryType
#define __pyx_n_s_srcMemoryType_2 __pyx_mstate_global->__pyx_n_s_srcMemoryType_2
#define __pyx_kp_u_srcMemoryType_ValueError __pyx_mstate_global->__pyx_kp_u_srcMemoryType_ValueError
#define __pyx_n_s_srcOffset __pyx_mstate_global->__pyx_n_s_srcOffset
#define __pyx_kp_u_srcPitch __pyx_mstate_global->__pyx_kp_u_srcPitch
#define __pyx_n_s_srcPitch_2 __pyx_mstate_global->__pyx_n_s_srcPitch_2
#define __pyx_kp_u_srcPitch_ValueError __pyx_mstate_global->__pyx_kp_u_srcPitch_ValueError
#define __pyx_kp_u_srcXInBytes __pyx_mstate_global->__pyx_kp_u_srcXInBytes
#define __pyx_n_s_srcXInBytes_2 __pyx_mstate_global->__pyx_n_s_srcXInBytes_2
#define __pyx_kp_u_srcXInBytes_ValueError __pyx_mstate_global->__pyx_kp_u_srcXInBytes_ValueError
#define __pyx_kp_u_srcY __pyx_mstate_global->__pyx_kp_u_srcY
#define __pyx_n_s_srcY_2 __pyx_mstate_global->__pyx_n_s_srcY_2
#define __pyx_kp_u_srcY_ValueError __pyx_mstate_global->__pyx_kp_u_srcY_ValueError
#define __pyx_kp_u_srcZ __pyx_mstate_global->__pyx_kp_u_srcZ
#define __pyx_n_s_srcZ_2 __pyx_mstate_global->__pyx_n_s_srcZ_2
#define __pyx_kp_u_srcZ_ValueError __pyx_mstate_global->__pyx_kp_u_srcZ_ValueError
#define __pyx_n_s_state __pyx_mstate_global->__pyx_n_s_state
#define __pyx_n_s_stateOut __pyx_mstate_global->__pyx_n_s_stateOut
#define __pyx_n_s_stream __pyx_mstate_global->__pyx_n_s_stream
#define __pyx_n_s_streamId __pyx_mstate_global->__pyx_n_s_streamId
#define __pyx_kp_s_stringsource __pyx_mstate_global->__pyx_kp_s_stringsource
#define __pyx_kp_u_subresource __pyx_mstate_global->__pyx_kp_u_subresource
#define __pyx_kp_u_subresourceType __pyx_mstate_global->__pyx_kp_u_subresourceType
#define __pyx_n_s_subresourceType_2 __pyx_mstate_global->__pyx_n_s_subresourceType_2
#define __pyx_kp_u_subresourceType_ValueError __pyx_mstate_global->__pyx_kp_u_subresourceType_ValueError
#define __pyx_n_s_subresource_2 __pyx_mstate_global->__pyx_n_s_subresource_2
#define __pyx_kp_u_subresource_ValueError __pyx_mstate_global->__pyx_kp_u_subresource_ValueError
#define __pyx_n_s_super __pyx_mstate_global->__pyx_n_s_super
#define __pyx_n_s_surfObject __pyx_mstate_global->__pyx_n_s_surfObject
#define __pyx_n_s_swizzle __pyx_mstate_global->__pyx_n_s_swizzle
#define __pyx_n_s_symbol __pyx_mstate_global->__pyx_n_s_symbol
#define __pyx_n_s_symbolStatus __pyx_mstate_global->__pyx_n_s_symbolStatus
#define __pyx_kp_u_syncPolicy __pyx_mstate_global->__pyx_kp_u_syncPolicy
#define __pyx_n_s_syncPolicy_2 __pyx_mstate_global->__pyx_n_s_syncPolicy_2
#define __pyx_kp_u_syncPolicy_ValueError __pyx_mstate_global->__pyx_kp_u_syncPolicy_ValueError
#define __pyx_n_s_target __pyx_mstate_global->__pyx_n_s_target
#define __pyx_n_s_tensorDataType __pyx_mstate_global->__pyx_n_s_tensorDataType
#define __pyx_n_s_tensorMap __pyx_mstate_global->__pyx_n_s_tensorMap
#define __pyx_n_s_tensorRank __pyx_mstate_global->__pyx_n_s_tensorRank
#define __pyx_n_s_test __pyx_mstate_global->__pyx_n_s_test
#define __pyx_n_s_texObject __pyx_mstate_global->__pyx_n_s_texObject
#define __pyx_kp_u_textureAlign __pyx_mstate_global->__pyx_kp_u_textureAlign
#define __pyx_n_s_textureAlign_2 __pyx_mstate_global->__pyx_n_s_textureAlign_2
#define __pyx_kp_u_textureAlign_ValueError __pyx_mstate_global->__pyx_kp_u_textureAlign_ValueError
#define __pyx_n_s_texunit __pyx_mstate_global->__pyx_n_s_texunit
#define __pyx_n_s_throw __pyx_mstate_global->__pyx_n_s_throw
#define __pyx_kp_u_tileExtent __pyx_mstate_global->__pyx_kp_u_tileExtent
#define __pyx_n_s_tileExtent_2 __pyx_mstate_global->__pyx_n_s_tileExtent_2
#define __pyx_kp_u_tileExtent_ValueError __pyx_mstate_global->__pyx_kp_u_tileExtent_ValueError
#define __pyx_n_s_timeout __pyx_mstate_global->__pyx_n_s_timeout
#define __pyx_kp_u_timeoutMs __pyx_mstate_global->__pyx_kp_u_timeoutMs
#define __pyx_n_s_timeoutMs_2 __pyx_mstate_global->__pyx_n_s_timeoutMs_2
#define __pyx_kp_u_timeoutMs_ValueError __pyx_mstate_global->__pyx_kp_u_timeoutMs_ValueError
#define __pyx_n_s_to __pyx_mstate_global->__pyx_n_s_to
#define __pyx_kp_u_to_port __pyx_mstate_global->__pyx_kp_u_to_port
#define __pyx_n_s_to_port_2 __pyx_mstate_global->__pyx_n_s_to_port_2
#define __pyx_kp_u_to_port_ValueError __pyx_mstate_global->__pyx_kp_u_to_port_ValueError
#define __pyx_n_s_total __pyx_mstate_global->__pyx_n_s_total
#define __pyx_kp_u_totalConstantMemory __pyx_mstate_global->__pyx_kp_u_totalConstantMemory
#define __pyx_n_s_totalConstantMemory_2 __pyx_mstate_global->__pyx_n_s_totalConstantMemory_2
#define __pyx_kp_u_totalConstantMemory_ValueError __pyx_mstate_global->__pyx_kp_u_totalConstantMemory_ValueError
#define __pyx_kp_u_triggerAtBlockStart __pyx_mstate_global->__pyx_kp_u_triggerAtBlockStart
#define __pyx_n_s_triggerAtBlockStart_2 __pyx_mstate_global->__pyx_n_s_triggerAtBlockStart_2
#define __pyx_kp_u_triggerAtBlockStart_ValueError __pyx_mstate_global->__pyx_kp_u_triggerAtBlockStart_ValueError
#define __pyx_kp_u_type __pyx_mstate_global->__pyx_kp_u_type
#define __pyx_n_s_type_2 __pyx_mstate_global->__pyx_n_s_type_2
#define __pyx_kp_u_type_ValueError __pyx_mstate_global->__pyx_kp_u_type_ValueError
#define __pyx_n_s_typename __pyx_mstate_global->__pyx_n_s_typename
#define __pyx_n_s_typing __pyx_mstate_global->__pyx_n_s_typing
#define __pyx_n_s_uc __pyx_mstate_global->__pyx_n_s_uc
#define __pyx_n_s_ui __pyx_mstate_global->__pyx_n_s_ui
#define __pyx_n_s_us __pyx_mstate_global->__pyx_n_s_us
#define __pyx_kp_u_usage __pyx_mstate_global->__pyx_kp_u_usage
#define __pyx_n_s_usage_2 __pyx_mstate_global->__pyx_n_s_usage_2
#define __pyx_kp_u_usage_ValueError __pyx_mstate_global->__pyx_kp_u_usage_ValueError
#define __pyx_n_s_useFlags __pyx_mstate_global->__pyx_n_s_useFlags
#define __pyx_kp_u_userData __pyx_mstate_global->__pyx_kp_u_userData
#define __pyx_n_s_userData_2 __pyx_mstate_global->__pyx_n_s_userData_2
#define __pyx_kp_u_userData_ValueError __pyx_mstate_global->__pyx_kp_u_userData_ValueError
#define __pyx_n_s_uuid __pyx_mstate_global->__pyx_n_s_uuid
#define __pyx_kp_u_vaSpaceToken __pyx_mstate_global->__pyx_kp_u_vaSpaceToken
#define __pyx_n_s_vaSpaceToken_2 __pyx_mstate_global->__pyx_n_s_vaSpaceToken_2
#define __pyx_kp_u_vaSpaceToken_ValueError __pyx_mstate_global->__pyx_kp_u_vaSpaceToken_ValueError
#define __pyx_kp_u_val __pyx_mstate_global->__pyx_kp_u_val
#define __pyx_n_s_val_2 __pyx_mstate_global->__pyx_n_s_val_2
#define __pyx_kp_u_val_ValueError __pyx_mstate_global->__pyx_kp_u_val_ValueError
#define __pyx_kp_u_value __pyx_mstate_global->__pyx_kp_u_value
#define __pyx_kp_u_value64 __pyx_mstate_global->__pyx_kp_u_value64
#define __pyx_n_s_value64_2 __pyx_mstate_global->__pyx_n_s_value64_2
#define __pyx_kp_u_value64_ValueError __pyx_mstate_global->__pyx_kp_u_value64_ValueError
#define __pyx_n_s_value_2 __pyx_mstate_global->__pyx_n_s_value_2
#define __pyx_kp_u_value_3 __pyx_mstate_global->__pyx_kp_u_value_3
#define __pyx_kp_u_value_ValueError __pyx_mstate_global->__pyx_kp_u_value_ValueError
#define __pyx_n_s_value_out __pyx_mstate_global->__pyx_n_s_value_out
#define __pyx_n_s_vdpDevice __pyx_mstate_global->__pyx_n_s_vdpDevice
#define __pyx_n_s_vdpGetProcAddress __pyx_mstate_global->__pyx_n_s_vdpGetProcAddress
#define __pyx_n_s_vdpSurface __pyx_mstate_global->__pyx_n_s_vdpSurface
#define __pyx_n_s_version __pyx_mstate_global->__pyx_n_s_version
#define __pyx_n_s_voidStarHelperdata __pyx_mstate_global->__pyx_n_s_voidStarHelperdata
#define __pyx_n_s_voidStarHelperjitOptionsValues __pyx_mstate_global->__pyx_n_s_voidStarHelperjitOptionsValues
#define __pyx_n_s_voidStarHelperlibraryOptionValue __pyx_mstate_global->__pyx_n_s_voidStarHelperlibraryOptionValue
#define __pyx_n_s_voidStarHelperoptionValues __pyx_mstate_global->__pyx_n_s_voidStarHelperoptionValues
#define __pyx_kp_u_waitValue __pyx_mstate_global->__pyx_kp_u_waitValue
#define __pyx_n_s_waitValue_2 __pyx_mstate_global->__pyx_n_s_waitValue_2
#define __pyx_kp_u_waitValue_ValueError __pyx_mstate_global->__pyx_kp_u_waitValue_ValueError
#define __pyx_kp_u_width __pyx_mstate_global->__pyx_kp_u_width
#define __pyx_n_s_width_2 __pyx_mstate_global->__pyx_n_s_width_2
#define __pyx_kp_u_width_ValueError __pyx_mstate_global->__pyx_kp_u_width_ValueError
#define __pyx_kp_u_win32 __pyx_mstate_global->__pyx_kp_u_win32
#define __pyx_kp_u_win32HandleMetaData __pyx_mstate_global->__pyx_kp_u_win32HandleMetaData
#define __pyx_n_s_win32HandleMetaData_2 __pyx_mstate_global->__pyx_n_s_win32HandleMetaData_2
#define __pyx_kp_u_win32HandleMetaData_ValueError __pyx_mstate_global->__pyx_kp_u_win32HandleMetaData_ValueError
#define __pyx_kp_u_win32SecurityAttributes __pyx_mstate_global->__pyx_kp_u_win32SecurityAttributes
#define __pyx_n_s_win32SecurityAttributes_2 __pyx_mstate_global->__pyx_n_s_win32SecurityAttributes_2
#define __pyx_kp_u_win32SecurityAttributes_ValueErr __pyx_mstate_global->__pyx_kp_u_win32SecurityAttributes_ValueErr
#define __pyx_n_s_win32_2 __pyx_mstate_global->__pyx_n_s_win32_2
#define __pyx_kp_u_win32_ValueError __pyx_mstate_global->__pyx_kp_u_win32_ValueError
#define __pyx_kp_u_writeValue __pyx_mstate_global->__pyx_kp_u_writeValue
#define __pyx_n_s_writeValue_2 __pyx_mstate_global->__pyx_n_s_writeValue_2
#define __pyx_kp_u_writeValue_ValueError __pyx_mstate_global->__pyx_kp_u_writeValue_ValueError
#define __pyx_n_s_x __pyx_mstate_global->__pyx_n_s_x
#define __pyx_n_u_x __pyx_mstate_global->__pyx_n_u_x
#define __pyx_kp_u_x_2 __pyx_mstate_global->__pyx_kp_u_x_2
#define __pyx_kp_u_x_ValueError __pyx_mstate_global->__pyx_kp_u_x_ValueError
#define __pyx_kp_u_y __pyx_mstate_global->__pyx_kp_u_y
#define __pyx_n_s_y_2 __pyx_mstate_global->__pyx_n_s_y_2
#define __pyx_kp_u_y_ValueError __pyx_mstate_global->__pyx_kp_u_y_ValueError
#define __pyx_kp_u_z __pyx_mstate_global->__pyx_kp_u_z
#define __pyx_n_s_z_2 __pyx_mstate_global->__pyx_n_s_z_2
#define __pyx_kp_u_z_ValueError __pyx_mstate_global->__pyx_kp_u_z_ValueError
#define __pyx_n_s_zip __pyx_mstate_global->__pyx_n_s_zip
#define __pyx_int_0 __pyx_mstate_global->__pyx_int_0
#define __pyx_int_1 __pyx_mstate_global->__pyx_int_1
#define __pyx_int_127 __pyx_mstate_global->__pyx_int_127
#define __pyx_int_256 __pyx_mstate_global->__pyx_int_256
#define __pyx_int_neg_129 __pyx_mstate_global->__pyx_int_neg_129
#define __pyx_codeobj__2 __pyx_mstate_global->__pyx_codeobj__2
#define __pyx_codeobj__3 __pyx_mstate_global->__pyx_codeobj__3
#define __pyx_codeobj__4 __pyx_mstate_global->__pyx_codeobj__4
#define __pyx_codeobj__5 __pyx_mstate_global->__pyx_codeobj__5
#define __pyx_codeobj__6 __pyx_mstate_global->__pyx_codeobj__6
#define __pyx_codeobj__7 __pyx_mstate_global->__pyx_codeobj__7
#define __pyx_codeobj__8 __pyx_mstate_global->__pyx_codeobj__8
#define __pyx_codeobj__9 __pyx_mstate_global->__pyx_codeobj__9
#define __pyx_tuple__508 __pyx_mstate_global->__pyx_tuple__508
#define __pyx_tuple__534 __pyx_mstate_global->__pyx_tuple__534
#define __pyx_tuple__551 __pyx_mstate_global->__pyx_tuple__551
#define __pyx_tuple__552 __pyx_mstate_global->__pyx_tuple__552
#define __pyx_tuple__646 __pyx_mstate_global->__pyx_tuple__646
#define __pyx_tuple__649 __pyx_mstate_global->__pyx_tuple__649
#define __pyx_tuple__662 __pyx_mstate_global->__pyx_tuple__662
#define __pyx_tuple__684 __pyx_mstate_global->__pyx_tuple__684
#define __pyx_tuple__685 __pyx_mstate_global->__pyx_tuple__685
#define __pyx_tuple__688 __pyx_mstate_global->__pyx_tuple__688
#define __pyx_tuple__699 __pyx_mstate_global->__pyx_tuple__699
#define __pyx_tuple__700 __pyx_mstate_global->__pyx_tuple__700
#define __pyx_tuple__728 __pyx_mstate_global->__pyx_tuple__728
#define __pyx_tuple__729 __pyx_mstate_global->__pyx_tuple__729
#define __pyx_tuple__731 __pyx_mstate_global->__pyx_tuple__731
#define __pyx_tuple__738 __pyx_mstate_global->__pyx_tuple__738
#define __pyx_tuple__751 __pyx_mstate_global->__pyx_tuple__751
#define __pyx_tuple__815 __pyx_mstate_global->__pyx_tuple__815
#define __pyx_tuple__816 __pyx_mstate_global->__pyx_tuple__816
#define __pyx_tuple__818 __pyx_mstate_global->__pyx_tuple__818
#define __pyx_tuple__900 __pyx_mstate_global->__pyx_tuple__900
#define __pyx_tuple__901 __pyx_mstate_global->__pyx_tuple__901
#define __pyx_tuple__902 __pyx_mstate_global->__pyx_tuple__902
#define __pyx_tuple__903 __pyx_mstate_global->__pyx_tuple__903
#define __pyx_tuple__905 __pyx_mstate_global->__pyx_tuple__905
#define __pyx_tuple__906 __pyx_mstate_global->__pyx_tuple__906
#define __pyx_tuple__933 __pyx_mstate_global->__pyx_tuple__933
#define __pyx_tuple__962 __pyx_mstate_global->__pyx_tuple__962
#define __pyx_tuple__963 __pyx_mstate_global->__pyx_tuple__963
#define __pyx_tuple__964 __pyx_mstate_global->__pyx_tuple__964
#define __pyx_tuple__965 __pyx_mstate_global->__pyx_tuple__965
#define __pyx_tuple__966 __pyx_mstate_global->__pyx_tuple__966
#define __pyx_tuple__967 __pyx_mstate_global->__pyx_tuple__967
#define __pyx_tuple__968 __pyx_mstate_global->__pyx_tuple__968
#define __pyx_tuple__969 __pyx_mstate_global->__pyx_tuple__969
#define __pyx_tuple__970 __pyx_mstate_global->__pyx_tuple__970
#define __pyx_tuple__971 __pyx_mstate_global->__pyx_tuple__971
#define __pyx_tuple__972 __pyx_mstate_global->__pyx_tuple__972
#define __pyx_tuple__973 __pyx_mstate_global->__pyx_tuple__973
#define __pyx_tuple__974 __pyx_mstate_global->__pyx_tuple__974
#define __pyx_tuple__975 __pyx_mstate_global->__pyx_tuple__975
#define __pyx_tuple__976 __pyx_mstate_global->__pyx_tuple__976
#define __pyx_tuple__977 __pyx_mstate_global->__pyx_tuple__977
#define __pyx_tuple__978 __pyx_mstate_global->__pyx_tuple__978
#define __pyx_tuple__979 __pyx_mstate_global->__pyx_tuple__979
#define __pyx_tuple__980 __pyx_mstate_global->__pyx_tuple__980
#define __pyx_tuple__981 __pyx_mstate_global->__pyx_tuple__981
#define __pyx_tuple__982 __pyx_mstate_global->__pyx_tuple__982
#define __pyx_tuple__983 __pyx_mstate_global->__pyx_tuple__983
#define __pyx_tuple__984 __pyx_mstate_global->__pyx_tuple__984
#define __pyx_tuple__985 __pyx_mstate_global->__pyx_tuple__985
#define __pyx_tuple__986 __pyx_mstate_global->__pyx_tuple__986
#define __pyx_tuple__987 __pyx_mstate_global->__pyx_tuple__987
#define __pyx_tuple__988 __pyx_mstate_global->__pyx_tuple__988
#define __pyx_tuple__989 __pyx_mstate_global->__pyx_tuple__989
#define __pyx_tuple__990 __pyx_mstate_global->__pyx_tuple__990
#define __pyx_tuple__991 __pyx_mstate_global->__pyx_tuple__991
#define __pyx_tuple__992 __pyx_mstate_global->__pyx_tuple__992
#define __pyx_tuple__993 __pyx_mstate_global->__pyx_tuple__993
#define __pyx_tuple__994 __pyx_mstate_global->__pyx_tuple__994
#define __pyx_tuple__995 __pyx_mstate_global->__pyx_tuple__995
#define __pyx_tuple__996 __pyx_mstate_global->__pyx_tuple__996
#define __pyx_tuple__997 __pyx_mstate_global->__pyx_tuple__997
#define __pyx_tuple__998 __pyx_mstate_global->__pyx_tuple__998
#define __pyx_tuple__999 __pyx_mstate_global->__pyx_tuple__999
#define __pyx_codeobj__10 __pyx_mstate_global->__pyx_codeobj__10
#define __pyx_codeobj__11 __pyx_mstate_global->__pyx_codeobj__11
#define __pyx_codeobj__12 __pyx_mstate_global->__pyx_codeobj__12
#define __pyx_codeobj__13 __pyx_mstate_global->__pyx_codeobj__13
#define __pyx_codeobj__14 __pyx_mstate_global->__pyx_codeobj__14
#define __pyx_codeobj__15 __pyx_mstate_global->__pyx_codeobj__15
#define __pyx_codeobj__16 __pyx_mstate_global->__pyx_codeobj__16
#define __pyx_codeobj__17 __pyx_mstate_global->__pyx_codeobj__17
#define __pyx_codeobj__18 __pyx_mstate_global->__pyx_codeobj__18
#define __pyx_codeobj__19 __pyx_mstate_global->__pyx_codeobj__19
#define __pyx_codeobj__20 __pyx_mstate_global->__pyx_codeobj__20
#define __pyx_codeobj__21 __pyx_mstate_global->__pyx_codeobj__21
#define __pyx_codeobj__22 __pyx_mstate_global->__pyx_codeobj__22
#define __pyx_codeobj__23 __pyx_mstate_global->__pyx_codeobj__23
#define __pyx_codeobj__24 __pyx_mstate_global->__pyx_codeobj__24
#define __pyx_codeobj__25 __pyx_mstate_global->__pyx_codeobj__25
#define __pyx_codeobj__26 __pyx_mstate_global->__pyx_codeobj__26
#define __pyx_codeobj__27 __pyx_mstate_global->__pyx_codeobj__27
#define __pyx_codeobj__28 __pyx_mstate_global->__pyx_codeobj__28
#define __pyx_codeobj__29 __pyx_mstate_global->__pyx_codeobj__29
#define __pyx_codeobj__30 __pyx_mstate_global->__pyx_codeobj__30
#define __pyx_codeobj__31 __pyx_mstate_global->__pyx_codeobj__31
#define __pyx_codeobj__32 __pyx_mstate_global->__pyx_codeobj__32
#define __pyx_codeobj__33 __pyx_mstate_global->__pyx_codeobj__33
#define __pyx_codeobj__34 __pyx_mstate_global->__pyx_codeobj__34
#define __pyx_codeobj__35 __pyx_mstate_global->__pyx_codeobj__35
#define __pyx_codeobj__36 __pyx_mstate_global->__pyx_codeobj__36
#define __pyx_codeobj__37 __pyx_mstate_global->__pyx_codeobj__37
#define __pyx_codeobj__38 __pyx_mstate_global->__pyx_codeobj__38
#define __pyx_codeobj__39 __pyx_mstate_global->__pyx_codeobj__39
#define __pyx_codeobj__40 __pyx_mstate_global->__pyx_codeobj__40
#define __pyx_codeobj__41 __pyx_mstate_global->__pyx_codeobj__41
#define __pyx_codeobj__42 __pyx_mstate_global->__pyx_codeobj__42
#define __pyx_codeobj__43 __pyx_mstate_global->__pyx_codeobj__43
#define __pyx_codeobj__44 __pyx_mstate_global->__pyx_codeobj__44
#define __pyx_codeobj__45 __pyx_mstate_global->__pyx_codeobj__45
#define __pyx_codeobj__46 __pyx_mstate_global->__pyx_codeobj__46
#define __pyx_codeobj__47 __pyx_mstate_global->__pyx_codeobj__47
#define __pyx_codeobj__48 __pyx_mstate_global->__pyx_codeobj__48
#define __pyx_codeobj__49 __pyx_mstate_global->__pyx_codeobj__49
#define __pyx_codeobj__50 __pyx_mstate_global->__pyx_codeobj__50
#define __pyx_codeobj__51 __pyx_mstate_global->__pyx_codeobj__51
#define __pyx_codeobj__52 __pyx_mstate_global->__pyx_codeobj__52
#define __pyx_codeobj__53 __pyx_mstate_global->__pyx_codeobj__53
#define __pyx_codeobj__54 __pyx_mstate_global->__pyx_codeobj__54
#define __pyx_codeobj__55 __pyx_mstate_global->__pyx_codeobj__55
#define __pyx_codeobj__56 __pyx_mstate_global->__pyx_codeobj__56
#define __pyx_codeobj__57 __pyx_mstate_global->__pyx_codeobj__57
#define __pyx_codeobj__58 __pyx_mstate_global->__pyx_codeobj__58
#define __pyx_codeobj__59 __pyx_mstate_global->__pyx_codeobj__59
#define __pyx_codeobj__60 __pyx_mstate_global->__pyx_codeobj__60
#define __pyx_codeobj__61 __pyx_mstate_global->__pyx_codeobj__61
#define __pyx_codeobj__62 __pyx_mstate_global->__pyx_codeobj__62
#define __pyx_codeobj__63 __pyx_mstate_global->__pyx_codeobj__63
#define __pyx_codeobj__64 __pyx_mstate_global->__pyx_codeobj__64
#define __pyx_codeobj__65 __pyx_mstate_global->__pyx_codeobj__65
#define __pyx_codeobj__66 __pyx_mstate_global->__pyx_codeobj__66
#define __pyx_codeobj__67 __pyx_mstate_global->__pyx_codeobj__67
#define __pyx_codeobj__68 __pyx_mstate_global->__pyx_codeobj__68
#define __pyx_codeobj__69 __pyx_mstate_global->__pyx_codeobj__69
#define __pyx_codeobj__70 __pyx_mstate_global->__pyx_codeobj__70
#define __pyx_codeobj__71 __pyx_mstate_global->__pyx_codeobj__71
#define __pyx_codeobj__72 __pyx_mstate_global->__pyx_codeobj__72
#define __pyx_codeobj__73 __pyx_mstate_global->__pyx_codeobj__73
#define __pyx_codeobj__74 __pyx_mstate_global->__pyx_codeobj__74
#define __pyx_codeobj__75 __pyx_mstate_global->__pyx_codeobj__75
#define __pyx_codeobj__76 __pyx_mstate_global->__pyx_codeobj__76
#define __pyx_codeobj__77 __pyx_mstate_global->__pyx_codeobj__77
#define __pyx_codeobj__78 __pyx_mstate_global->__pyx_codeobj__78
#define __pyx_codeobj__79 __pyx_mstate_global->__pyx_codeobj__79
#define __pyx_codeobj__80 __pyx_mstate_global->__pyx_codeobj__80
#define __pyx_codeobj__81 __pyx_mstate_global->__pyx_codeobj__81
#define __pyx_codeobj__82 __pyx_mstate_global->__pyx_codeobj__82
#define __pyx_codeobj__83 __pyx_mstate_global->__pyx_codeobj__83
#define __pyx_codeobj__84 __pyx_mstate_global->__pyx_codeobj__84
#define __pyx_codeobj__85 __pyx_mstate_global->__pyx_codeobj__85
#define __pyx_codeobj__86 __pyx_mstate_global->__pyx_codeobj__86
#define __pyx_codeobj__87 __pyx_mstate_global->__pyx_codeobj__87
#define __pyx_codeobj__88 __pyx_mstate_global->__pyx_codeobj__88
#define __pyx_codeobj__89 __pyx_mstate_global->__pyx_codeobj__89
#define __pyx_codeobj__90 __pyx_mstate_global->__pyx_codeobj__90
#define __pyx_codeobj__91 __pyx_mstate_global->__pyx_codeobj__91
#define __pyx_codeobj__92 __pyx_mstate_global->__pyx_codeobj__92
#define __pyx_codeobj__93 __pyx_mstate_global->__pyx_codeobj__93
#define __pyx_codeobj__94 __pyx_mstate_global->__pyx_codeobj__94
#define __pyx_codeobj__95 __pyx_mstate_global->__pyx_codeobj__95
#define __pyx_codeobj__96 __pyx_mstate_global->__pyx_codeobj__96
#define __pyx_codeobj__97 __pyx_mstate_global->__pyx_codeobj__97
#define __pyx_codeobj__98 __pyx_mstate_global->__pyx_codeobj__98
#define __pyx_codeobj__99 __pyx_mstate_global->__pyx_codeobj__99
#define __pyx_tuple__1000 __pyx_mstate_global->__pyx_tuple__1000
#define __pyx_tuple__1001 __pyx_mstate_global->__pyx_tuple__1001
#define __pyx_tuple__1002 __pyx_mstate_global->__pyx_tuple__1002
#define __pyx_tuple__1003 __pyx_mstate_global->__pyx_tuple__1003
#define __pyx_tuple__1004 __pyx_mstate_global->__pyx_tuple__1004
#define __pyx_tuple__1005 __pyx_mstate_global->__pyx_tuple__1005
#define __pyx_tuple__1006 __pyx_mstate_global->__pyx_tuple__1006
#define __pyx_tuple__1007 __pyx_mstate_global->__pyx_tuple__1007
#define __pyx_tuple__1008 __pyx_mstate_global->__pyx_tuple__1008
#define __pyx_tuple__1009 __pyx_mstate_global->__pyx_tuple__1009
#define __pyx_tuple__1010 __pyx_mstate_global->__pyx_tuple__1010
#define __pyx_tuple__1011 __pyx_mstate_global->__pyx_tuple__1011
#define __pyx_tuple__1012 __pyx_mstate_global->__pyx_tuple__1012
#define __pyx_tuple__1013 __pyx_mstate_global->__pyx_tuple__1013
#define __pyx_tuple__1014 __pyx_mstate_global->__pyx_tuple__1014
#define __pyx_tuple__1015 __pyx_mstate_global->__pyx_tuple__1015
#define __pyx_tuple__1016 __pyx_mstate_global->__pyx_tuple__1016
#define __pyx_tuple__1017 __pyx_mstate_global->__pyx_tuple__1017
#define __pyx_tuple__1018 __pyx_mstate_global->__pyx_tuple__1018
#define __pyx_tuple__1019 __pyx_mstate_global->__pyx_tuple__1019
#define __pyx_tuple__1020 __pyx_mstate_global->__pyx_tuple__1020
#define __pyx_tuple__1021 __pyx_mstate_global->__pyx_tuple__1021
#define __pyx_tuple__1022 __pyx_mstate_global->__pyx_tuple__1022
#define __pyx_tuple__1023 __pyx_mstate_global->__pyx_tuple__1023
#define __pyx_tuple__1024 __pyx_mstate_global->__pyx_tuple__1024
#define __pyx_tuple__1025 __pyx_mstate_global->__pyx_tuple__1025
#define __pyx_tuple__1026 __pyx_mstate_global->__pyx_tuple__1026
#define __pyx_tuple__1027 __pyx_mstate_global->__pyx_tuple__1027
#define __pyx_tuple__1028 __pyx_mstate_global->__pyx_tuple__1028
#define __pyx_tuple__1029 __pyx_mstate_global->__pyx_tuple__1029
#define __pyx_tuple__1030 __pyx_mstate_global->__pyx_tuple__1030
#define __pyx_tuple__1031 __pyx_mstate_global->__pyx_tuple__1031
#define __pyx_tuple__1032 __pyx_mstate_global->__pyx_tuple__1032
#define __pyx_tuple__1033 __pyx_mstate_global->__pyx_tuple__1033
#define __pyx_tuple__1034 __pyx_mstate_global->__pyx_tuple__1034
#define __pyx_tuple__1035 __pyx_mstate_global->__pyx_tuple__1035
#define __pyx_tuple__1036 __pyx_mstate_global->__pyx_tuple__1036
#define __pyx_tuple__1037 __pyx_mstate_global->__pyx_tuple__1037
#define __pyx_tuple__1038 __pyx_mstate_global->__pyx_tuple__1038
#define __pyx_tuple__1039 __pyx_mstate_global->__pyx_tuple__1039
#define __pyx_tuple__1040 __pyx_mstate_global->__pyx_tuple__1040
#define __pyx_tuple__1041 __pyx_mstate_global->__pyx_tuple__1041
#define __pyx_tuple__1042 __pyx_mstate_global->__pyx_tuple__1042
#define __pyx_tuple__1043 __pyx_mstate_global->__pyx_tuple__1043
#define __pyx_tuple__1044 __pyx_mstate_global->__pyx_tuple__1044
#define __pyx_tuple__1045 __pyx_mstate_global->__pyx_tuple__1045
#define __pyx_tuple__1046 __pyx_mstate_global->__pyx_tuple__1046
#define __pyx_tuple__1047 __pyx_mstate_global->__pyx_tuple__1047
#define __pyx_tuple__1048 __pyx_mstate_global->__pyx_tuple__1048
#define __pyx_tuple__1049 __pyx_mstate_global->__pyx_tuple__1049
#define __pyx_tuple__1050 __pyx_mstate_global->__pyx_tuple__1050
#define __pyx_tuple__1051 __pyx_mstate_global->__pyx_tuple__1051
#define __pyx_tuple__1052 __pyx_mstate_global->__pyx_tuple__1052
#define __pyx_tuple__1053 __pyx_mstate_global->__pyx_tuple__1053
#define __pyx_tuple__1054 __pyx_mstate_global->__pyx_tuple__1054
#define __pyx_tuple__1055 __pyx_mstate_global->__pyx_tuple__1055
#define __pyx_tuple__1056 __pyx_mstate_global->__pyx_tuple__1056
#define __pyx_tuple__1057 __pyx_mstate_global->__pyx_tuple__1057
#define __pyx_tuple__1058 __pyx_mstate_global->__pyx_tuple__1058
#define __pyx_tuple__1059 __pyx_mstate_global->__pyx_tuple__1059
#define __pyx_tuple__1060 __pyx_mstate_global->__pyx_tuple__1060
#define __pyx_tuple__1061 __pyx_mstate_global->__pyx_tuple__1061
#define __pyx_tuple__1062 __pyx_mstate_global->__pyx_tuple__1062
#define __pyx_tuple__1063 __pyx_mstate_global->__pyx_tuple__1063
#define __pyx_tuple__1064 __pyx_mstate_global->__pyx_tuple__1064
#define __pyx_tuple__1065 __pyx_mstate_global->__pyx_tuple__1065
#define __pyx_tuple__1066 __pyx_mstate_global->__pyx_tuple__1066
#define __pyx_tuple__1067 __pyx_mstate_global->__pyx_tuple__1067
#define __pyx_tuple__1068 __pyx_mstate_global->__pyx_tuple__1068
#define __pyx_tuple__1069 __pyx_mstate_global->__pyx_tuple__1069
#define __pyx_tuple__1070 __pyx_mstate_global->__pyx_tuple__1070
#define __pyx_tuple__1071 __pyx_mstate_global->__pyx_tuple__1071
#define __pyx_tuple__1072 __pyx_mstate_global->__pyx_tuple__1072
#define __pyx_tuple__1073 __pyx_mstate_global->__pyx_tuple__1073
#define __pyx_tuple__1074 __pyx_mstate_global->__pyx_tuple__1074
#define __pyx_tuple__1075 __pyx_mstate_global->__pyx_tuple__1075
#define __pyx_tuple__1076 __pyx_mstate_global->__pyx_tuple__1076
#define __pyx_tuple__1077 __pyx_mstate_global->__pyx_tuple__1077
#define __pyx_tuple__1078 __pyx_mstate_global->__pyx_tuple__1078
#define __pyx_tuple__1079 __pyx_mstate_global->__pyx_tuple__1079
#define __pyx_tuple__1080 __pyx_mstate_global->__pyx_tuple__1080
#define __pyx_tuple__1081 __pyx_mstate_global->__pyx_tuple__1081
#define __pyx_tuple__1082 __pyx_mstate_global->__pyx_tuple__1082
#define __pyx_tuple__1083 __pyx_mstate_global->__pyx_tuple__1083
#define __pyx_tuple__1084 __pyx_mstate_global->__pyx_tuple__1084
#define __pyx_tuple__1085 __pyx_mstate_global->__pyx_tuple__1085
#define __pyx_tuple__1086 __pyx_mstate_global->__pyx_tuple__1086
#define __pyx_tuple__1087 __pyx_mstate_global->__pyx_tuple__1087
#define __pyx_tuple__1088 __pyx_mstate_global->__pyx_tuple__1088
#define __pyx_tuple__1089 __pyx_mstate_global->__pyx_tuple__1089
#define __pyx_tuple__1090 __pyx_mstate_global->__pyx_tuple__1090
#define __pyx_tuple__1091 __pyx_mstate_global->__pyx_tuple__1091
#define __pyx_tuple__1092 __pyx_mstate_global->__pyx_tuple__1092
#define __pyx_tuple__1093 __pyx_mstate_global->__pyx_tuple__1093
#define __pyx_tuple__1094 __pyx_mstate_global->__pyx_tuple__1094
#define __pyx_tuple__1095 __pyx_mstate_global->__pyx_tuple__1095
#define __pyx_tuple__1096 __pyx_mstate_global->__pyx_tuple__1096
#define __pyx_tuple__1097 __pyx_mstate_global->__pyx_tuple__1097
#define __pyx_tuple__1098 __pyx_mstate_global->__pyx_tuple__1098
#define __pyx_tuple__1099 __pyx_mstate_global->__pyx_tuple__1099
#define __pyx_tuple__1100 __pyx_mstate_global->__pyx_tuple__1100
#define __pyx_tuple__1101 __pyx_mstate_global->__pyx_tuple__1101
#define __pyx_tuple__1102 __pyx_mstate_global->__pyx_tuple__1102
#define __pyx_tuple__1103 __pyx_mstate_global->__pyx_tuple__1103
#define __pyx_tuple__1104 __pyx_mstate_global->__pyx_tuple__1104
#define __pyx_tuple__1105 __pyx_mstate_global->__pyx_tuple__1105
#define __pyx_tuple__1106 __pyx_mstate_global->__pyx_tuple__1106
#define __pyx_tuple__1107 __pyx_mstate_global->__pyx_tuple__1107
#define __pyx_tuple__1108 __pyx_mstate_global->__pyx_tuple__1108
#define __pyx_tuple__1109 __pyx_mstate_global->__pyx_tuple__1109
#define __pyx_tuple__1110 __pyx_mstate_global->__pyx_tuple__1110
#define __pyx_tuple__1111 __pyx_mstate_global->__pyx_tuple__1111
#define __pyx_tuple__1112 __pyx_mstate_global->__pyx_tuple__1112
#define __pyx_tuple__1113 __pyx_mstate_global->__pyx_tuple__1113
#define __pyx_tuple__1114 __pyx_mstate_global->__pyx_tuple__1114
#define __pyx_tuple__1115 __pyx_mstate_global->__pyx_tuple__1115
#define __pyx_tuple__1116 __pyx_mstate_global->__pyx_tuple__1116
#define __pyx_tuple__1117 __pyx_mstate_global->__pyx_tuple__1117
#define __pyx_tuple__1118 __pyx_mstate_global->__pyx_tuple__1118
#define __pyx_tuple__1119 __pyx_mstate_global->__pyx_tuple__1119
#define __pyx_tuple__1120 __pyx_mstate_global->__pyx_tuple__1120
#define __pyx_tuple__1121 __pyx_mstate_global->__pyx_tuple__1121
#define __pyx_tuple__1122 __pyx_mstate_global->__pyx_tuple__1122
#define __pyx_tuple__1123 __pyx_mstate_global->__pyx_tuple__1123
#define __pyx_tuple__1124 __pyx_mstate_global->__pyx_tuple__1124
#define __pyx_tuple__1125 __pyx_mstate_global->__pyx_tuple__1125
#define __pyx_tuple__1126 __pyx_mstate_global->__pyx_tuple__1126
#define __pyx_tuple__1127 __pyx_mstate_global->__pyx_tuple__1127
#define __pyx_tuple__1128 __pyx_mstate_global->__pyx_tuple__1128
#define __pyx_tuple__1129 __pyx_mstate_global->__pyx_tuple__1129
#define __pyx_tuple__1130 __pyx_mstate_global->__pyx_tuple__1130
#define __pyx_tuple__1131 __pyx_mstate_global->__pyx_tuple__1131
#define __pyx_tuple__1132 __pyx_mstate_global->__pyx_tuple__1132
#define __pyx_tuple__1133 __pyx_mstate_global->__pyx_tuple__1133
#define __pyx_tuple__1134 __pyx_mstate_global->__pyx_tuple__1134
#define __pyx_tuple__1135 __pyx_mstate_global->__pyx_tuple__1135
#define __pyx_tuple__1136 __pyx_mstate_global->__pyx_tuple__1136
#define __pyx_tuple__1137 __pyx_mstate_global->__pyx_tuple__1137
#define __pyx_tuple__1138 __pyx_mstate_global->__pyx_tuple__1138
#define __pyx_tuple__1139 __pyx_mstate_global->__pyx_tuple__1139
#define __pyx_tuple__1140 __pyx_mstate_global->__pyx_tuple__1140
#define __pyx_tuple__1141 __pyx_mstate_global->__pyx_tuple__1141
#define __pyx_tuple__1142 __pyx_mstate_global->__pyx_tuple__1142
#define __pyx_tuple__1143 __pyx_mstate_global->__pyx_tuple__1143
#define __pyx_tuple__1144 __pyx_mstate_global->__pyx_tuple__1144
#define __pyx_tuple__1145 __pyx_mstate_global->__pyx_tuple__1145
#define __pyx_tuple__1146 __pyx_mstate_global->__pyx_tuple__1146
#define __pyx_tuple__1147 __pyx_mstate_global->__pyx_tuple__1147
#define __pyx_tuple__1148 __pyx_mstate_global->__pyx_tuple__1148
#define __pyx_tuple__1149 __pyx_mstate_global->__pyx_tuple__1149
#define __pyx_tuple__1150 __pyx_mstate_global->__pyx_tuple__1150
#define __pyx_tuple__1151 __pyx_mstate_global->__pyx_tuple__1151
#define __pyx_tuple__1152 __pyx_mstate_global->__pyx_tuple__1152
#define __pyx_tuple__1153 __pyx_mstate_global->__pyx_tuple__1153
#define __pyx_tuple__1154 __pyx_mstate_global->__pyx_tuple__1154
#define __pyx_tuple__1155 __pyx_mstate_global->__pyx_tuple__1155
#define __pyx_tuple__1156 __pyx_mstate_global->__pyx_tuple__1156
#define __pyx_tuple__1157 __pyx_mstate_global->__pyx_tuple__1157
#define __pyx_tuple__1158 __pyx_mstate_global->__pyx_tuple__1158
#define __pyx_tuple__1159 __pyx_mstate_global->__pyx_tuple__1159
#define __pyx_tuple__1160 __pyx_mstate_global->__pyx_tuple__1160
#define __pyx_tuple__1161 __pyx_mstate_global->__pyx_tuple__1161
#define __pyx_tuple__1162 __pyx_mstate_global->__pyx_tuple__1162
#define __pyx_tuple__1163 __pyx_mstate_global->__pyx_tuple__1163
#define __pyx_tuple__1164 __pyx_mstate_global->__pyx_tuple__1164
#define __pyx_tuple__1165 __pyx_mstate_global->__pyx_tuple__1165
#define __pyx_tuple__1166 __pyx_mstate_global->__pyx_tuple__1166
#define __pyx_tuple__1167 __pyx_mstate_global->__pyx_tuple__1167
#define __pyx_tuple__1168 __pyx_mstate_global->__pyx_tuple__1168
#define __pyx_tuple__1169 __pyx_mstate_global->__pyx_tuple__1169
#define __pyx_tuple__1170 __pyx_mstate_global->__pyx_tuple__1170
#define __pyx_tuple__1171 __pyx_mstate_global->__pyx_tuple__1171
#define __pyx_tuple__1172 __pyx_mstate_global->__pyx_tuple__1172
#define __pyx_tuple__1173 __pyx_mstate_global->__pyx_tuple__1173
#define __pyx_tuple__1174 __pyx_mstate_global->__pyx_tuple__1174
#define __pyx_tuple__1175 __pyx_mstate_global->__pyx_tuple__1175
#define __pyx_tuple__1176 __pyx_mstate_global->__pyx_tuple__1176
#define __pyx_tuple__1177 __pyx_mstate_global->__pyx_tuple__1177
#define __pyx_tuple__1178 __pyx_mstate_global->__pyx_tuple__1178
#define __pyx_tuple__1179 __pyx_mstate_global->__pyx_tuple__1179
#define __pyx_tuple__1180 __pyx_mstate_global->__pyx_tuple__1180
#define __pyx_tuple__1181 __pyx_mstate_global->__pyx_tuple__1181
#define __pyx_tuple__1182 __pyx_mstate_global->__pyx_tuple__1182
#define __pyx_tuple__1183 __pyx_mstate_global->__pyx_tuple__1183
#define __pyx_tuple__1184 __pyx_mstate_global->__pyx_tuple__1184
#define __pyx_tuple__1185 __pyx_mstate_global->__pyx_tuple__1185
#define __pyx_tuple__1186 __pyx_mstate_global->__pyx_tuple__1186
#define __pyx_tuple__1187 __pyx_mstate_global->__pyx_tuple__1187
#define __pyx_tuple__1188 __pyx_mstate_global->__pyx_tuple__1188
#define __pyx_tuple__1189 __pyx_mstate_global->__pyx_tuple__1189
#define __pyx_tuple__1190 __pyx_mstate_global->__pyx_tuple__1190
#define __pyx_tuple__1191 __pyx_mstate_global->__pyx_tuple__1191
#define __pyx_tuple__1192 __pyx_mstate_global->__pyx_tuple__1192
#define __pyx_tuple__1193 __pyx_mstate_global->__pyx_tuple__1193
#define __pyx_tuple__1194 __pyx_mstate_global->__pyx_tuple__1194
#define __pyx_tuple__1195 __pyx_mstate_global->__pyx_tuple__1195
#define __pyx_tuple__1196 __pyx_mstate_global->__pyx_tuple__1196
#define __pyx_tuple__1197 __pyx_mstate_global->__pyx_tuple__1197
#define __pyx_tuple__1198 __pyx_mstate_global->__pyx_tuple__1198
#define __pyx_tuple__1199 __pyx_mstate_global->__pyx_tuple__1199
#define __pyx_tuple__1200 __pyx_mstate_global->__pyx_tuple__1200
#define __pyx_tuple__1201 __pyx_mstate_global->__pyx_tuple__1201
#define __pyx_tuple__1202 __pyx_mstate_global->__pyx_tuple__1202
#define __pyx_tuple__1203 __pyx_mstate_global->__pyx_tuple__1203
#define __pyx_tuple__1204 __pyx_mstate_global->__pyx_tuple__1204
#define __pyx_tuple__1205 __pyx_mstate_global->__pyx_tuple__1205
#define __pyx_tuple__1206 __pyx_mstate_global->__pyx_tuple__1206
#define __pyx_tuple__1207 __pyx_mstate_global->__pyx_tuple__1207
#define __pyx_tuple__1208 __pyx_mstate_global->__pyx_tuple__1208
#define __pyx_tuple__1209 __pyx_mstate_global->__pyx_tuple__1209
#define __pyx_tuple__1210 __pyx_mstate_global->__pyx_tuple__1210
#define __pyx_tuple__1211 __pyx_mstate_global->__pyx_tuple__1211
#define __pyx_tuple__1212 __pyx_mstate_global->__pyx_tuple__1212
#define __pyx_tuple__1213 __pyx_mstate_global->__pyx_tuple__1213
#define __pyx_tuple__1214 __pyx_mstate_global->__pyx_tuple__1214
#define __pyx_tuple__1215 __pyx_mstate_global->__pyx_tuple__1215
#define __pyx_tuple__1216 __pyx_mstate_global->__pyx_tuple__1216
#define __pyx_tuple__1217 __pyx_mstate_global->__pyx_tuple__1217
#define __pyx_tuple__1218 __pyx_mstate_global->__pyx_tuple__1218
#define __pyx_tuple__1219 __pyx_mstate_global->__pyx_tuple__1219
#define __pyx_tuple__1220 __pyx_mstate_global->__pyx_tuple__1220
#define __pyx_tuple__1221 __pyx_mstate_global->__pyx_tuple__1221
#define __pyx_tuple__1222 __pyx_mstate_global->__pyx_tuple__1222
#define __pyx_tuple__1223 __pyx_mstate_global->__pyx_tuple__1223
#define __pyx_tuple__1224 __pyx_mstate_global->__pyx_tuple__1224
#define __pyx_tuple__1225 __pyx_mstate_global->__pyx_tuple__1225
#define __pyx_tuple__1226 __pyx_mstate_global->__pyx_tuple__1226
#define __pyx_tuple__1227 __pyx_mstate_global->__pyx_tuple__1227
#define __pyx_tuple__1228 __pyx_mstate_global->__pyx_tuple__1228
#define __pyx_tuple__1229 __pyx_mstate_global->__pyx_tuple__1229
#define __pyx_tuple__1230 __pyx_mstate_global->__pyx_tuple__1230
#define __pyx_tuple__1231 __pyx_mstate_global->__pyx_tuple__1231
#define __pyx_tuple__1232 __pyx_mstate_global->__pyx_tuple__1232
#define __pyx_tuple__1233 __pyx_mstate_global->__pyx_tuple__1233
#define __pyx_tuple__1234 __pyx_mstate_global->__pyx_tuple__1234
#define __pyx_tuple__1235 __pyx_mstate_global->__pyx_tuple__1235
#define __pyx_tuple__1236 __pyx_mstate_global->__pyx_tuple__1236
#define __pyx_tuple__1237 __pyx_mstate_global->__pyx_tuple__1237
#define __pyx_tuple__1238 __pyx_mstate_global->__pyx_tuple__1238
#define __pyx_tuple__1239 __pyx_mstate_global->__pyx_tuple__1239
#define __pyx_tuple__1240 __pyx_mstate_global->__pyx_tuple__1240
#define __pyx_tuple__1241 __pyx_mstate_global->__pyx_tuple__1241
#define __pyx_tuple__1242 __pyx_mstate_global->__pyx_tuple__1242
#define __pyx_tuple__1243 __pyx_mstate_global->__pyx_tuple__1243
#define __pyx_tuple__1244 __pyx_mstate_global->__pyx_tuple__1244
#define __pyx_tuple__1245 __pyx_mstate_global->__pyx_tuple__1245
#define __pyx_tuple__1246 __pyx_mstate_global->__pyx_tuple__1246
#define __pyx_tuple__1247 __pyx_mstate_global->__pyx_tuple__1247
#define __pyx_tuple__1248 __pyx_mstate_global->__pyx_tuple__1248
#define __pyx_tuple__1249 __pyx_mstate_global->__pyx_tuple__1249
#define __pyx_tuple__1250 __pyx_mstate_global->__pyx_tuple__1250
#define __pyx_tuple__1251 __pyx_mstate_global->__pyx_tuple__1251
#define __pyx_tuple__1252 __pyx_mstate_global->__pyx_tuple__1252
#define __pyx_tuple__1253 __pyx_mstate_global->__pyx_tuple__1253
#define __pyx_tuple__1254 __pyx_mstate_global->__pyx_tuple__1254
#define __pyx_tuple__1255 __pyx_mstate_global->__pyx_tuple__1255
#define __pyx_tuple__1256 __pyx_mstate_global->__pyx_tuple__1256
#define __pyx_tuple__1257 __pyx_mstate_global->__pyx_tuple__1257
#define __pyx_tuple__1258 __pyx_mstate_global->__pyx_tuple__1258
#define __pyx_tuple__1259 __pyx_mstate_global->__pyx_tuple__1259
#define __pyx_tuple__1260 __pyx_mstate_global->__pyx_tuple__1260
#define __pyx_tuple__1261 __pyx_mstate_global->__pyx_tuple__1261
#define __pyx_tuple__1262 __pyx_mstate_global->__pyx_tuple__1262
#define __pyx_tuple__1263 __pyx_mstate_global->__pyx_tuple__1263
#define __pyx_tuple__1264 __pyx_mstate_global->__pyx_tuple__1264
#define __pyx_tuple__1265 __pyx_mstate_global->__pyx_tuple__1265
#define __pyx_tuple__1266 __pyx_mstate_global->__pyx_tuple__1266
#define __pyx_tuple__1267 __pyx_mstate_global->__pyx_tuple__1267
#define __pyx_tuple__1268 __pyx_mstate_global->__pyx_tuple__1268
#define __pyx_tuple__1269 __pyx_mstate_global->__pyx_tuple__1269
#define __pyx_tuple__1270 __pyx_mstate_global->__pyx_tuple__1270
#define __pyx_tuple__1271 __pyx_mstate_global->__pyx_tuple__1271
#define __pyx_tuple__1272 __pyx_mstate_global->__pyx_tuple__1272
#define __pyx_tuple__1273 __pyx_mstate_global->__pyx_tuple__1273
#define __pyx_tuple__1274 __pyx_mstate_global->__pyx_tuple__1274
#define __pyx_tuple__1275 __pyx_mstate_global->__pyx_tuple__1275
#define __pyx_tuple__1276 __pyx_mstate_global->__pyx_tuple__1276
#define __pyx_tuple__1277 __pyx_mstate_global->__pyx_tuple__1277
#define __pyx_tuple__1278 __pyx_mstate_global->__pyx_tuple__1278
#define __pyx_tuple__1279 __pyx_mstate_global->__pyx_tuple__1279
#define __pyx_tuple__1280 __pyx_mstate_global->__pyx_tuple__1280
#define __pyx_tuple__1281 __pyx_mstate_global->__pyx_tuple__1281
#define __pyx_tuple__1282 __pyx_mstate_global->__pyx_tuple__1282
#define __pyx_tuple__1283 __pyx_mstate_global->__pyx_tuple__1283
#define __pyx_tuple__1284 __pyx_mstate_global->__pyx_tuple__1284
#define __pyx_tuple__1285 __pyx_mstate_global->__pyx_tuple__1285
#define __pyx_tuple__1286 __pyx_mstate_global->__pyx_tuple__1286
#define __pyx_tuple__1287 __pyx_mstate_global->__pyx_tuple__1287
#define __pyx_tuple__1288 __pyx_mstate_global->__pyx_tuple__1288
#define __pyx_tuple__1289 __pyx_mstate_global->__pyx_tuple__1289
#define __pyx_tuple__1290 __pyx_mstate_global->__pyx_tuple__1290
#define __pyx_tuple__1291 __pyx_mstate_global->__pyx_tuple__1291
#define __pyx_tuple__1292 __pyx_mstate_global->__pyx_tuple__1292
#define __pyx_tuple__1293 __pyx_mstate_global->__pyx_tuple__1293
#define __pyx_tuple__1294 __pyx_mstate_global->__pyx_tuple__1294
#define __pyx_tuple__1295 __pyx_mstate_global->__pyx_tuple__1295
#define __pyx_tuple__1296 __pyx_mstate_global->__pyx_tuple__1296
#define __pyx_tuple__1297 __pyx_mstate_global->__pyx_tuple__1297
#define __pyx_tuple__1298 __pyx_mstate_global->__pyx_tuple__1298
#define __pyx_tuple__1299 __pyx_mstate_global->__pyx_tuple__1299
#define __pyx_tuple__1300 __pyx_mstate_global->__pyx_tuple__1300
#define __pyx_tuple__1301 __pyx_mstate_global->__pyx_tuple__1301
#define __pyx_tuple__1302 __pyx_mstate_global->__pyx_tuple__1302
#define __pyx_tuple__1303 __pyx_mstate_global->__pyx_tuple__1303
#define __pyx_tuple__1304 __pyx_mstate_global->__pyx_tuple__1304
#define __pyx_tuple__1305 __pyx_mstate_global->__pyx_tuple__1305
#define __pyx_tuple__1306 __pyx_mstate_global->__pyx_tuple__1306
#define __pyx_tuple__1307 __pyx_mstate_global->__pyx_tuple__1307
#define __pyx_tuple__1308 __pyx_mstate_global->__pyx_tuple__1308
#define __pyx_tuple__1309 __pyx_mstate_global->__pyx_tuple__1309
#define __pyx_tuple__1310 __pyx_mstate_global->__pyx_tuple__1310
#define __pyx_tuple__1311 __pyx_mstate_global->__pyx_tuple__1311
#define __pyx_tuple__1312 __pyx_mstate_global->__pyx_tuple__1312
#define __pyx_tuple__1313 __pyx_mstate_global->__pyx_tuple__1313
#define __pyx_tuple__1314 __pyx_mstate_global->__pyx_tuple__1314
#define __pyx_tuple__1315 __pyx_mstate_global->__pyx_tuple__1315
#define __pyx_tuple__1316 __pyx_mstate_global->__pyx_tuple__1316
#define __pyx_tuple__1317 __pyx_mstate_global->__pyx_tuple__1317
#define __pyx_tuple__1318 __pyx_mstate_global->__pyx_tuple__1318
#define __pyx_tuple__1319 __pyx_mstate_global->__pyx_tuple__1319
#define __pyx_tuple__1320 __pyx_mstate_global->__pyx_tuple__1320
#define __pyx_tuple__1321 __pyx_mstate_global->__pyx_tuple__1321
#define __pyx_tuple__1322 __pyx_mstate_global->__pyx_tuple__1322
#define __pyx_tuple__1323 __pyx_mstate_global->__pyx_tuple__1323
#define __pyx_tuple__1324 __pyx_mstate_global->__pyx_tuple__1324
#define __pyx_tuple__1325 __pyx_mstate_global->__pyx_tuple__1325
#define __pyx_tuple__1326 __pyx_mstate_global->__pyx_tuple__1326
#define __pyx_tuple__1327 __pyx_mstate_global->__pyx_tuple__1327
#define __pyx_tuple__1328 __pyx_mstate_global->__pyx_tuple__1328
#define __pyx_tuple__1329 __pyx_mstate_global->__pyx_tuple__1329
#define __pyx_tuple__1330 __pyx_mstate_global->__pyx_tuple__1330
#define __pyx_tuple__1331 __pyx_mstate_global->__pyx_tuple__1331
#define __pyx_tuple__1332 __pyx_mstate_global->__pyx_tuple__1332
#define __pyx_tuple__1333 __pyx_mstate_global->__pyx_tuple__1333
#define __pyx_tuple__1334 __pyx_mstate_global->__pyx_tuple__1334
#define __pyx_tuple__1335 __pyx_mstate_global->__pyx_tuple__1335
#define __pyx_tuple__1336 __pyx_mstate_global->__pyx_tuple__1336
#define __pyx_tuple__1337 __pyx_mstate_global->__pyx_tuple__1337
#define __pyx_codeobj__100 __pyx_mstate_global->__pyx_codeobj__100
#define __pyx_codeobj__101 __pyx_mstate_global->__pyx_codeobj__101
#define __pyx_codeobj__102 __pyx_mstate_global->__pyx_codeobj__102
#define __pyx_codeobj__103 __pyx_mstate_global->__pyx_codeobj__103
#define __pyx_codeobj__104 __pyx_mstate_global->__pyx_codeobj__104
#define __pyx_codeobj__105 __pyx_mstate_global->__pyx_codeobj__105
#define __pyx_codeobj__106 __pyx_mstate_global->__pyx_codeobj__106
#define __pyx_codeobj__107 __pyx_mstate_global->__pyx_codeobj__107
#define __pyx_codeobj__108 __pyx_mstate_global->__pyx_codeobj__108
#define __pyx_codeobj__109 __pyx_mstate_global->__pyx_codeobj__109
#define __pyx_codeobj__110 __pyx_mstate_global->__pyx_codeobj__110
#define __pyx_codeobj__111 __pyx_mstate_global->__pyx_codeobj__111
#define __pyx_codeobj__112 __pyx_mstate_global->__pyx_codeobj__112
#define __pyx_codeobj__113 __pyx_mstate_global->__pyx_codeobj__113
#define __pyx_codeobj__114 __pyx_mstate_global->__pyx_codeobj__114
#define __pyx_codeobj__115 __pyx_mstate_global->__pyx_codeobj__115
#define __pyx_codeobj__116 __pyx_mstate_global->__pyx_codeobj__116
#define __pyx_codeobj__119 __pyx_mstate_global->__pyx_codeobj__119
#define __pyx_codeobj__120 __pyx_mstate_global->__pyx_codeobj__120
#define __pyx_codeobj__121 __pyx_mstate_global->__pyx_codeobj__121
#define __pyx_codeobj__122 __pyx_mstate_global->__pyx_codeobj__122
#define __pyx_codeobj__123 __pyx_mstate_global->__pyx_codeobj__123
#define __pyx_codeobj__124 __pyx_mstate_global->__pyx_codeobj__124
#define __pyx_codeobj__125 __pyx_mstate_global->__pyx_codeobj__125
#define __pyx_codeobj__126 __pyx_mstate_global->__pyx_codeobj__126
#define __pyx_codeobj__127 __pyx_mstate_global->__pyx_codeobj__127
#define __pyx_codeobj__128 __pyx_mstate_global->__pyx_codeobj__128
#define __pyx_codeobj__129 __pyx_mstate_global->__pyx_codeobj__129
#define __pyx_codeobj__130 __pyx_mstate_global->__pyx_codeobj__130
#define __pyx_codeobj__131 __pyx_mstate_global->__pyx_codeobj__131
#define __pyx_codeobj__132 __pyx_mstate_global->__pyx_codeobj__132
#define __pyx_codeobj__133 __pyx_mstate_global->__pyx_codeobj__133
#define __pyx_codeobj__134 __pyx_mstate_global->__pyx_codeobj__134
#define __pyx_codeobj__135 __pyx_mstate_global->__pyx_codeobj__135
#define __pyx_codeobj__136 __pyx_mstate_global->__pyx_codeobj__136
#define __pyx_codeobj__137 __pyx_mstate_global->__pyx_codeobj__137
#define __pyx_codeobj__138 __pyx_mstate_global->__pyx_codeobj__138
#define __pyx_codeobj__139 __pyx_mstate_global->__pyx_codeobj__139
#define __pyx_codeobj__140 __pyx_mstate_global->__pyx_codeobj__140
#define __pyx_codeobj__141 __pyx_mstate_global->__pyx_codeobj__141
#define __pyx_codeobj__142 __pyx_mstate_global->__pyx_codeobj__142
#define __pyx_codeobj__144 __pyx_mstate_global->__pyx_codeobj__144
#define __pyx_codeobj__145 __pyx_mstate_global->__pyx_codeobj__145
#define __pyx_codeobj__146 __pyx_mstate_global->__pyx_codeobj__146
#define __pyx_codeobj__147 __pyx_mstate_global->__pyx_codeobj__147
#define __pyx_codeobj__148 __pyx_mstate_global->__pyx_codeobj__148
#define __pyx_codeobj__149 __pyx_mstate_global->__pyx_codeobj__149
#define __pyx_codeobj__150 __pyx_mstate_global->__pyx_codeobj__150
#define __pyx_codeobj__151 __pyx_mstate_global->__pyx_codeobj__151
#define __pyx_codeobj__152 __pyx_mstate_global->__pyx_codeobj__152
#define __pyx_codeobj__153 __pyx_mstate_global->__pyx_codeobj__153
#define __pyx_codeobj__154 __pyx_mstate_global->__pyx_codeobj__154
#define __pyx_codeobj__155 __pyx_mstate_global->__pyx_codeobj__155
#define __pyx_codeobj__156 __pyx_mstate_global->__pyx_codeobj__156
#define __pyx_codeobj__157 __pyx_mstate_global->__pyx_codeobj__157
#define __pyx_codeobj__158 __pyx_mstate_global->__pyx_codeobj__158
#define __pyx_codeobj__159 __pyx_mstate_global->__pyx_codeobj__159
#define __pyx_codeobj__160 __pyx_mstate_global->__pyx_codeobj__160
#define __pyx_codeobj__161 __pyx_mstate_global->__pyx_codeobj__161
#define __pyx_codeobj__162 __pyx_mstate_global->__pyx_codeobj__162
#define __pyx_codeobj__163 __pyx_mstate_global->__pyx_codeobj__163
#define __pyx_codeobj__164 __pyx_mstate_global->__pyx_codeobj__164
#define __pyx_codeobj__165 __pyx_mstate_global->__pyx_codeobj__165
#define __pyx_codeobj__166 __pyx_mstate_global->__pyx_codeobj__166
#define __pyx_codeobj__167 __pyx_mstate_global->__pyx_codeobj__167
#define __pyx_codeobj__168 __pyx_mstate_global->__pyx_codeobj__168
#define __pyx_codeobj__169 __pyx_mstate_global->__pyx_codeobj__169
#define __pyx_codeobj__170 __pyx_mstate_global->__pyx_codeobj__170
#define __pyx_codeobj__171 __pyx_mstate_global->__pyx_codeobj__171
#define __pyx_codeobj__172 __pyx_mstate_global->__pyx_codeobj__172
#define __pyx_codeobj__173 __pyx_mstate_global->__pyx_codeobj__173
#define __pyx_codeobj__174 __pyx_mstate_global->__pyx_codeobj__174
#define __pyx_codeobj__175 __pyx_mstate_global->__pyx_codeobj__175
#define __pyx_codeobj__176 __pyx_mstate_global->__pyx_codeobj__176
#define __pyx_codeobj__177 __pyx_mstate_global->__pyx_codeobj__177
#define __pyx_codeobj__178 __pyx_mstate_global->__pyx_codeobj__178
#define __pyx_codeobj__179 __pyx_mstate_global->__pyx_codeobj__179
#define __pyx_codeobj__180 __pyx_mstate_global->__pyx_codeobj__180
#define __pyx_codeobj__181 __pyx_mstate_global->__pyx_codeobj__181
#define __pyx_codeobj__182 __pyx_mstate_global->__pyx_codeobj__182
#define __pyx_codeobj__183 __pyx_mstate_global->__pyx_codeobj__183
#define __pyx_codeobj__184 __pyx_mstate_global->__pyx_codeobj__184
#define __pyx_codeobj__185 __pyx_mstate_global->__pyx_codeobj__185
#define __pyx_codeobj__186 __pyx_mstate_global->__pyx_codeobj__186
#define __pyx_codeobj__187 __pyx_mstate_global->__pyx_codeobj__187
#define __pyx_codeobj__188 __pyx_mstate_global->__pyx_codeobj__188
#define __pyx_codeobj__189 __pyx_mstate_global->__pyx_codeobj__189
#define __pyx_codeobj__190 __pyx_mstate_global->__pyx_codeobj__190
#define __pyx_codeobj__191 __pyx_mstate_global->__pyx_codeobj__191
#define __pyx_codeobj__192 __pyx_mstate_global->__pyx_codeobj__192
#define __pyx_codeobj__193 __pyx_mstate_global->__pyx_codeobj__193
#define __pyx_codeobj__194 __pyx_mstate_global->__pyx_codeobj__194
#define __pyx_codeobj__195 __pyx_mstate_global->__pyx_codeobj__195
#define __pyx_codeobj__196 __pyx_mstate_global->__pyx_codeobj__196
#define __pyx_codeobj__197 __pyx_mstate_global->__pyx_codeobj__197
#define __pyx_codeobj__198 __pyx_mstate_global->__pyx_codeobj__198
#define __pyx_codeobj__199 __pyx_mstate_global->__pyx_codeobj__199
#define __pyx_codeobj__200 __pyx_mstate_global->__pyx_codeobj__200
#define __pyx_codeobj__201 __pyx_mstate_global->__pyx_codeobj__201
#define __pyx_codeobj__202 __pyx_mstate_global->__pyx_codeobj__202
#define __pyx_codeobj__203 __pyx_mstate_global->__pyx_codeobj__203
#define __pyx_codeobj__204 __pyx_mstate_global->__pyx_codeobj__204
#define __pyx_codeobj__205 __pyx_mstate_global->__pyx_codeobj__205
#define __pyx_codeobj__206 __pyx_mstate_global->__pyx_codeobj__206
#define __pyx_codeobj__207 __pyx_mstate_global->__pyx_codeobj__207
#define __pyx_codeobj__208 __pyx_mstate_global->__pyx_codeobj__208
#define __pyx_codeobj__209 __pyx_mstate_global->__pyx_codeobj__209
#define __pyx_codeobj__210 __pyx_mstate_global->__pyx_codeobj__210
#define __pyx_codeobj__211 __pyx_mstate_global->__pyx_codeobj__211
#define __pyx_codeobj__212 __pyx_mstate_global->__pyx_codeobj__212
#define __pyx_codeobj__213 __pyx_mstate_global->__pyx_codeobj__213
#define __pyx_codeobj__214 __pyx_mstate_global->__pyx_codeobj__214
#define __pyx_codeobj__215 __pyx_mstate_global->__pyx_codeobj__215
#define __pyx_codeobj__216 __pyx_mstate_global->__pyx_codeobj__216
#define __pyx_codeobj__217 __pyx_mstate_global->__pyx_codeobj__217
#define __pyx_codeobj__218 __pyx_mstate_global->__pyx_codeobj__218
#define __pyx_codeobj__219 __pyx_mstate_global->__pyx_codeobj__219
#define __pyx_codeobj__220 __pyx_mstate_global->__pyx_codeobj__220
#define __pyx_codeobj__221 __pyx_mstate_global->__pyx_codeobj__221
#define __pyx_codeobj__222 __pyx_mstate_global->__pyx_codeobj__222
#define __pyx_codeobj__223 __pyx_mstate_global->__pyx_codeobj__223
#define __pyx_codeobj__224 __pyx_mstate_global->__pyx_codeobj__224
#define __pyx_codeobj__225 __pyx_mstate_global->__pyx_codeobj__225
#define __pyx_codeobj__226 __pyx_mstate_global->__pyx_codeobj__226
#define __pyx_codeobj__227 __pyx_mstate_global->__pyx_codeobj__227
#define __pyx_codeobj__228 __pyx_mstate_global->__pyx_codeobj__228
#define __pyx_codeobj__229 __pyx_mstate_global->__pyx_codeobj__229
#define __pyx_codeobj__230 __pyx_mstate_global->__pyx_codeobj__230
#define __pyx_codeobj__231 __pyx_mstate_global->__pyx_codeobj__231
#define __pyx_codeobj__232 __pyx_mstate_global->__pyx_codeobj__232
#define __pyx_codeobj__233 __pyx_mstate_global->__pyx_codeobj__233
#define __pyx_codeobj__234 __pyx_mstate_global->__pyx_codeobj__234
#define __pyx_codeobj__235 __pyx_mstate_global->__pyx_codeobj__235
#define __pyx_codeobj__236 __pyx_mstate_global->__pyx_codeobj__236
#define __pyx_codeobj__237 __pyx_mstate_global->__pyx_codeobj__237
#define __pyx_codeobj__238 __pyx_mstate_global->__pyx_codeobj__238
#define __pyx_codeobj__239 __pyx_mstate_global->__pyx_codeobj__239
#define __pyx_codeobj__240 __pyx_mstate_global->__pyx_codeobj__240
#define __pyx_codeobj__241 __pyx_mstate_global->__pyx_codeobj__241
#define __pyx_codeobj__242 __pyx_mstate_global->__pyx_codeobj__242
#define __pyx_codeobj__243 __pyx_mstate_global->__pyx_codeobj__243
#define __pyx_codeobj__244 __pyx_mstate_global->__pyx_codeobj__244
#define __pyx_codeobj__245 __pyx_mstate_global->__pyx_codeobj__245
#define __pyx_codeobj__246 __pyx_mstate_global->__pyx_codeobj__246
#define __pyx_codeobj__247 __pyx_mstate_global->__pyx_codeobj__247
#define __pyx_codeobj__248 __pyx_mstate_global->__pyx_codeobj__248
#define __pyx_codeobj__249 __pyx_mstate_global->__pyx_codeobj__249
#define __pyx_codeobj__250 __pyx_mstate_global->__pyx_codeobj__250
#define __pyx_codeobj__251 __pyx_mstate_global->__pyx_codeobj__251
#define __pyx_codeobj__252 __pyx_mstate_global->__pyx_codeobj__252
#define __pyx_codeobj__253 __pyx_mstate_global->__pyx_codeobj__253
#define __pyx_codeobj__254 __pyx_mstate_global->__pyx_codeobj__254
#define __pyx_codeobj__255 __pyx_mstate_global->__pyx_codeobj__255
#define __pyx_codeobj__256 __pyx_mstate_global->__pyx_codeobj__256
#define __pyx_codeobj__257 __pyx_mstate_global->__pyx_codeobj__257
#define __pyx_codeobj__258 __pyx_mstate_global->__pyx_codeobj__258
#define __pyx_codeobj__259 __pyx_mstate_global->__pyx_codeobj__259
#define __pyx_codeobj__260 __pyx_mstate_global->__pyx_codeobj__260
#define __pyx_codeobj__261 __pyx_mstate_global->__pyx_codeobj__261
#define __pyx_codeobj__262 __pyx_mstate_global->__pyx_codeobj__262
#define __pyx_codeobj__263 __pyx_mstate_global->__pyx_codeobj__263
#define __pyx_codeobj__264 __pyx_mstate_global->__pyx_codeobj__264
#define __pyx_codeobj__265 __pyx_mstate_global->__pyx_codeobj__265
#define __pyx_codeobj__266 __pyx_mstate_global->__pyx_codeobj__266
#define __pyx_codeobj__267 __pyx_mstate_global->__pyx_codeobj__267
#define __pyx_codeobj__268 __pyx_mstate_global->__pyx_codeobj__268
#define __pyx_codeobj__269 __pyx_mstate_global->__pyx_codeobj__269
#define __pyx_codeobj__270 __pyx_mstate_global->__pyx_codeobj__270
#define __pyx_codeobj__271 __pyx_mstate_global->__pyx_codeobj__271
#define __pyx_codeobj__272 __pyx_mstate_global->__pyx_codeobj__272
#define __pyx_codeobj__273 __pyx_mstate_global->__pyx_codeobj__273
#define __pyx_codeobj__274 __pyx_mstate_global->__pyx_codeobj__274
#define __pyx_codeobj__275 __pyx_mstate_global->__pyx_codeobj__275
#define __pyx_codeobj__276 __pyx_mstate_global->__pyx_codeobj__276
#define __pyx_codeobj__277 __pyx_mstate_global->__pyx_codeobj__277
#define __pyx_codeobj__278 __pyx_mstate_global->__pyx_codeobj__278
#define __pyx_codeobj__279 __pyx_mstate_global->__pyx_codeobj__279
#define __pyx_codeobj__280 __pyx_mstate_global->__pyx_codeobj__280
#define __pyx_codeobj__281 __pyx_mstate_global->__pyx_codeobj__281
#define __pyx_codeobj__282 __pyx_mstate_global->__pyx_codeobj__282
#define __pyx_codeobj__283 __pyx_mstate_global->__pyx_codeobj__283
#define __pyx_codeobj__284 __pyx_mstate_global->__pyx_codeobj__284
#define __pyx_codeobj__285 __pyx_mstate_global->__pyx_codeobj__285
#define __pyx_codeobj__286 __pyx_mstate_global->__pyx_codeobj__286
#define __pyx_codeobj__287 __pyx_mstate_global->__pyx_codeobj__287
#define __pyx_codeobj__288 __pyx_mstate_global->__pyx_codeobj__288
#define __pyx_codeobj__289 __pyx_mstate_global->__pyx_codeobj__289
#define __pyx_codeobj__290 __pyx_mstate_global->__pyx_codeobj__290
#define __pyx_codeobj__291 __pyx_mstate_global->__pyx_codeobj__291
#define __pyx_codeobj__292 __pyx_mstate_global->__pyx_codeobj__292
#define __pyx_codeobj__293 __pyx_mstate_global->__pyx_codeobj__293
#define __pyx_codeobj__294 __pyx_mstate_global->__pyx_codeobj__294
#define __pyx_codeobj__295 __pyx_mstate_global->__pyx_codeobj__295
#define __pyx_codeobj__296 __pyx_mstate_global->__pyx_codeobj__296
#define __pyx_codeobj__297 __pyx_mstate_global->__pyx_codeobj__297
#define __pyx_codeobj__298 __pyx_mstate_global->__pyx_codeobj__298
#define __pyx_codeobj__299 __pyx_mstate_global->__pyx_codeobj__299
#define __pyx_codeobj__300 __pyx_mstate_global->__pyx_codeobj__300
#define __pyx_codeobj__301 __pyx_mstate_global->__pyx_codeobj__301
#define __pyx_codeobj__302 __pyx_mstate_global->__pyx_codeobj__302
#define __pyx_codeobj__303 __pyx_mstate_global->__pyx_codeobj__303
#define __pyx_codeobj__304 __pyx_mstate_global->__pyx_codeobj__304
#define __pyx_codeobj__305 __pyx_mstate_global->__pyx_codeobj__305
#define __pyx_codeobj__306 __pyx_mstate_global->__pyx_codeobj__306
#define __pyx_codeobj__307 __pyx_mstate_global->__pyx_codeobj__307
#define __pyx_codeobj__308 __pyx_mstate_global->__pyx_codeobj__308
#define __pyx_codeobj__309 __pyx_mstate_global->__pyx_codeobj__309
#define __pyx_codeobj__310 __pyx_mstate_global->__pyx_codeobj__310
#define __pyx_codeobj__311 __pyx_mstate_global->__pyx_codeobj__311
#define __pyx_codeobj__312 __pyx_mstate_global->__pyx_codeobj__312
#define __pyx_codeobj__313 __pyx_mstate_global->__pyx_codeobj__313
#define __pyx_codeobj__314 __pyx_mstate_global->__pyx_codeobj__314
#define __pyx_codeobj__315 __pyx_mstate_global->__pyx_codeobj__315
#define __pyx_codeobj__316 __pyx_mstate_global->__pyx_codeobj__316
#define __pyx_codeobj__317 __pyx_mstate_global->__pyx_codeobj__317
#define __pyx_codeobj__318 __pyx_mstate_global->__pyx_codeobj__318
#define __pyx_codeobj__319 __pyx_mstate_global->__pyx_codeobj__319
#define __pyx_codeobj__320 __pyx_mstate_global->__pyx_codeobj__320
#define __pyx_codeobj__321 __pyx_mstate_global->__pyx_codeobj__321
#define __pyx_codeobj__322 __pyx_mstate_global->__pyx_codeobj__322
#define __pyx_codeobj__323 __pyx_mstate_global->__pyx_codeobj__323
#define __pyx_codeobj__324 __pyx_mstate_global->__pyx_codeobj__324
#define __pyx_codeobj__325 __pyx_mstate_global->__pyx_codeobj__325
#define __pyx_codeobj__326 __pyx_mstate_global->__pyx_codeobj__326
#define __pyx_codeobj__327 __pyx_mstate_global->__pyx_codeobj__327
#define __pyx_codeobj__328 __pyx_mstate_global->__pyx_codeobj__328
#define __pyx_codeobj__329 __pyx_mstate_global->__pyx_codeobj__329
#define __pyx_codeobj__330 __pyx_mstate_global->__pyx_codeobj__330
#define __pyx_codeobj__331 __pyx_mstate_global->__pyx_codeobj__331
#define __pyx_codeobj__332 __pyx_mstate_global->__pyx_codeobj__332
#define __pyx_codeobj__333 __pyx_mstate_global->__pyx_codeobj__333
#define __pyx_codeobj__334 __pyx_mstate_global->__pyx_codeobj__334
#define __pyx_codeobj__335 __pyx_mstate_global->__pyx_codeobj__335
#define __pyx_codeobj__336 __pyx_mstate_global->__pyx_codeobj__336
#define __pyx_codeobj__337 __pyx_mstate_global->__pyx_codeobj__337
#define __pyx_codeobj__338 __pyx_mstate_global->__pyx_codeobj__338
#define __pyx_codeobj__339 __pyx_mstate_global->__pyx_codeobj__339
#define __pyx_codeobj__340 __pyx_mstate_global->__pyx_codeobj__340
#define __pyx_codeobj__341 __pyx_mstate_global->__pyx_codeobj__341
#define __pyx_codeobj__342 __pyx_mstate_global->__pyx_codeobj__342
#define __pyx_codeobj__343 __pyx_mstate_global->__pyx_codeobj__343
#define __pyx_codeobj__344 __pyx_mstate_global->__pyx_codeobj__344
#define __pyx_codeobj__345 __pyx_mstate_global->__pyx_codeobj__345
#define __pyx_codeobj__346 __pyx_mstate_global->__pyx_codeobj__346
#define __pyx_codeobj__347 __pyx_mstate_global->__pyx_codeobj__347
#define __pyx_codeobj__348 __pyx_mstate_global->__pyx_codeobj__348
#define __pyx_codeobj__349 __pyx_mstate_global->__pyx_codeobj__349
#define __pyx_codeobj__350 __pyx_mstate_global->__pyx_codeobj__350
#define __pyx_codeobj__351 __pyx_mstate_global->__pyx_codeobj__351
#define __pyx_codeobj__352 __pyx_mstate_global->__pyx_codeobj__352
#define __pyx_codeobj__353 __pyx_mstate_global->__pyx_codeobj__353
#define __pyx_codeobj__354 __pyx_mstate_global->__pyx_codeobj__354
#define __pyx_codeobj__355 __pyx_mstate_global->__pyx_codeobj__355
#define __pyx_codeobj__356 __pyx_mstate_global->__pyx_codeobj__356
#define __pyx_codeobj__357 __pyx_mstate_global->__pyx_codeobj__357
#define __pyx_codeobj__358 __pyx_mstate_global->__pyx_codeobj__358
#define __pyx_codeobj__359 __pyx_mstate_global->__pyx_codeobj__359
#define __pyx_codeobj__360 __pyx_mstate_global->__pyx_codeobj__360
#define __pyx_codeobj__361 __pyx_mstate_global->__pyx_codeobj__361
#define __pyx_codeobj__362 __pyx_mstate_global->__pyx_codeobj__362
#define __pyx_codeobj__363 __pyx_mstate_global->__pyx_codeobj__363
#define __pyx_codeobj__364 __pyx_mstate_global->__pyx_codeobj__364
#define __pyx_codeobj__365 __pyx_mstate_global->__pyx_codeobj__365
#define __pyx_codeobj__366 __pyx_mstate_global->__pyx_codeobj__366
#define __pyx_codeobj__367 __pyx_mstate_global->__pyx_codeobj__367
#define __pyx_codeobj__368 __pyx_mstate_global->__pyx_codeobj__368
#define __pyx_codeobj__369 __pyx_mstate_global->__pyx_codeobj__369
#define __pyx_codeobj__370 __pyx_mstate_global->__pyx_codeobj__370
#define __pyx_codeobj__371 __pyx_mstate_global->__pyx_codeobj__371
#define __pyx_codeobj__372 __pyx_mstate_global->__pyx_codeobj__372
#define __pyx_codeobj__373 __pyx_mstate_global->__pyx_codeobj__373
#define __pyx_codeobj__374 __pyx_mstate_global->__pyx_codeobj__374
#define __pyx_codeobj__375 __pyx_mstate_global->__pyx_codeobj__375
#define __pyx_codeobj__376 __pyx_mstate_global->__pyx_codeobj__376
#define __pyx_codeobj__377 __pyx_mstate_global->__pyx_codeobj__377
#define __pyx_codeobj__378 __pyx_mstate_global->__pyx_codeobj__378
#define __pyx_codeobj__379 __pyx_mstate_global->__pyx_codeobj__379
#define __pyx_codeobj__380 __pyx_mstate_global->__pyx_codeobj__380
#define __pyx_codeobj__381 __pyx_mstate_global->__pyx_codeobj__381
#define __pyx_codeobj__382 __pyx_mstate_global->__pyx_codeobj__382
#define __pyx_codeobj__383 __pyx_mstate_global->__pyx_codeobj__383
#define __pyx_codeobj__384 __pyx_mstate_global->__pyx_codeobj__384
#define __pyx_codeobj__385 __pyx_mstate_global->__pyx_codeobj__385
#define __pyx_codeobj__386 __pyx_mstate_global->__pyx_codeobj__386
#define __pyx_codeobj__387 __pyx_mstate_global->__pyx_codeobj__387
#define __pyx_codeobj__388 __pyx_mstate_global->__pyx_codeobj__388
#define __pyx_codeobj__389 __pyx_mstate_global->__pyx_codeobj__389
#define __pyx_codeobj__390 __pyx_mstate_global->__pyx_codeobj__390
#define __pyx_codeobj__391 __pyx_mstate_global->__pyx_codeobj__391
#define __pyx_codeobj__392 __pyx_mstate_global->__pyx_codeobj__392
#define __pyx_codeobj__393 __pyx_mstate_global->__pyx_codeobj__393
#define __pyx_codeobj__394 __pyx_mstate_global->__pyx_codeobj__394
#define __pyx_codeobj__395 __pyx_mstate_global->__pyx_codeobj__395
#define __pyx_codeobj__396 __pyx_mstate_global->__pyx_codeobj__396
#define __pyx_codeobj__397 __pyx_mstate_global->__pyx_codeobj__397
#define __pyx_codeobj__398 __pyx_mstate_global->__pyx_codeobj__398
#define __pyx_codeobj__399 __pyx_mstate_global->__pyx_codeobj__399
#define __pyx_codeobj__400 __pyx_mstate_global->__pyx_codeobj__400
#define __pyx_codeobj__401 __pyx_mstate_global->__pyx_codeobj__401
#define __pyx_codeobj__402 __pyx_mstate_global->__pyx_codeobj__402
#define __pyx_codeobj__403 __pyx_mstate_global->__pyx_codeobj__403
#define __pyx_codeobj__404 __pyx_mstate_global->__pyx_codeobj__404
#define __pyx_codeobj__405 __pyx_mstate_global->__pyx_codeobj__405
#define __pyx_codeobj__406 __pyx_mstate_global->__pyx_codeobj__406
#define __pyx_codeobj__407 __pyx_mstate_global->__pyx_codeobj__407
#define __pyx_codeobj__408 __pyx_mstate_global->__pyx_codeobj__408
#define __pyx_codeobj__409 __pyx_mstate_global->__pyx_codeobj__409
#define __pyx_codeobj__410 __pyx_mstate_global->__pyx_codeobj__410
#define __pyx_codeobj__411 __pyx_mstate_global->__pyx_codeobj__411
#define __pyx_codeobj__412 __pyx_mstate_global->__pyx_codeobj__412
#define __pyx_codeobj__413 __pyx_mstate_global->__pyx_codeobj__413
#define __pyx_codeobj__414 __pyx_mstate_global->__pyx_codeobj__414
#define __pyx_codeobj__415 __pyx_mstate_global->__pyx_codeobj__415
#define __pyx_codeobj__416 __pyx_mstate_global->__pyx_codeobj__416
#define __pyx_codeobj__417 __pyx_mstate_global->__pyx_codeobj__417
#define __pyx_codeobj__418 __pyx_mstate_global->__pyx_codeobj__418
#define __pyx_codeobj__419 __pyx_mstate_global->__pyx_codeobj__419
#define __pyx_codeobj__420 __pyx_mstate_global->__pyx_codeobj__420
#define __pyx_codeobj__421 __pyx_mstate_global->__pyx_codeobj__421
#define __pyx_codeobj__422 __pyx_mstate_global->__pyx_codeobj__422
#define __pyx_codeobj__423 __pyx_mstate_global->__pyx_codeobj__423
#define __pyx_codeobj__424 __pyx_mstate_global->__pyx_codeobj__424
#define __pyx_codeobj__425 __pyx_mstate_global->__pyx_codeobj__425
#define __pyx_codeobj__426 __pyx_mstate_global->__pyx_codeobj__426
#define __pyx_codeobj__427 __pyx_mstate_global->__pyx_codeobj__427
#define __pyx_codeobj__428 __pyx_mstate_global->__pyx_codeobj__428
#define __pyx_codeobj__429 __pyx_mstate_global->__pyx_codeobj__429
#define __pyx_codeobj__430 __pyx_mstate_global->__pyx_codeobj__430
#define __pyx_codeobj__431 __pyx_mstate_global->__pyx_codeobj__431
#define __pyx_codeobj__432 __pyx_mstate_global->__pyx_codeobj__432
#define __pyx_codeobj__433 __pyx_mstate_global->__pyx_codeobj__433
#define __pyx_codeobj__434 __pyx_mstate_global->__pyx_codeobj__434
#define __pyx_codeobj__435 __pyx_mstate_global->__pyx_codeobj__435
#define __pyx_codeobj__436 __pyx_mstate_global->__pyx_codeobj__436
#define __pyx_codeobj__437 __pyx_mstate_global->__pyx_codeobj__437
#define __pyx_codeobj__438 __pyx_mstate_global->__pyx_codeobj__438
#define __pyx_codeobj__439 __pyx_mstate_global->__pyx_codeobj__439
#define __pyx_codeobj__440 __pyx_mstate_global->__pyx_codeobj__440
#define __pyx_codeobj__441 __pyx_mstate_global->__pyx_codeobj__441
#define __pyx_codeobj__442 __pyx_mstate_global->__pyx_codeobj__442
#define __pyx_codeobj__443 __pyx_mstate_global->__pyx_codeobj__443
#define __pyx_codeobj__444 __pyx_mstate_global->__pyx_codeobj__444
#define __pyx_codeobj__445 __pyx_mstate_global->__pyx_codeobj__445
#define __pyx_codeobj__446 __pyx_mstate_global->__pyx_codeobj__446
#define __pyx_codeobj__447 __pyx_mstate_global->__pyx_codeobj__447
#define __pyx_codeobj__448 __pyx_mstate_global->__pyx_codeobj__448
#define __pyx_codeobj__449 __pyx_mstate_global->__pyx_codeobj__449
#define __pyx_codeobj__450 __pyx_mstate_global->__pyx_codeobj__450
#define __pyx_codeobj__451 __pyx_mstate_global->__pyx_codeobj__451
#define __pyx_codeobj__452 __pyx_mstate_global->__pyx_codeobj__452
#define __pyx_codeobj__453 __pyx_mstate_global->__pyx_codeobj__453
#define __pyx_codeobj__454 __pyx_mstate_global->__pyx_codeobj__454
#define __pyx_codeobj__455 __pyx_mstate_global->__pyx_codeobj__455
#define __pyx_codeobj__456 __pyx_mstate_global->__pyx_codeobj__456
#define __pyx_codeobj__457 __pyx_mstate_global->__pyx_codeobj__457
#define __pyx_codeobj__458 __pyx_mstate_global->__pyx_codeobj__458
#define __pyx_codeobj__459 __pyx_mstate_global->__pyx_codeobj__459
#define __pyx_codeobj__460 __pyx_mstate_global->__pyx_codeobj__460
#define __pyx_codeobj__461 __pyx_mstate_global->__pyx_codeobj__461
#define __pyx_codeobj__462 __pyx_mstate_global->__pyx_codeobj__462
#define __pyx_codeobj__463 __pyx_mstate_global->__pyx_codeobj__463
#define __pyx_codeobj__464 __pyx_mstate_global->__pyx_codeobj__464
#define __pyx_codeobj__465 __pyx_mstate_global->__pyx_codeobj__465
#define __pyx_codeobj__466 __pyx_mstate_global->__pyx_codeobj__466
#define __pyx_codeobj__467 __pyx_mstate_global->__pyx_codeobj__467
#define __pyx_codeobj__468 __pyx_mstate_global->__pyx_codeobj__468
#define __pyx_codeobj__469 __pyx_mstate_global->__pyx_codeobj__469
#define __pyx_codeobj__470 __pyx_mstate_global->__pyx_codeobj__470
#define __pyx_codeobj__471 __pyx_mstate_global->__pyx_codeobj__471
#define __pyx_codeobj__472 __pyx_mstate_global->__pyx_codeobj__472
#define __pyx_codeobj__473 __pyx_mstate_global->__pyx_codeobj__473
#define __pyx_codeobj__474 __pyx_mstate_global->__pyx_codeobj__474
#define __pyx_codeobj__475 __pyx_mstate_global->__pyx_codeobj__475
#define __pyx_codeobj__476 __pyx_mstate_global->__pyx_codeobj__476
#define __pyx_codeobj__477 __pyx_mstate_global->__pyx_codeobj__477
#define __pyx_codeobj__478 __pyx_mstate_global->__pyx_codeobj__478
#define __pyx_codeobj__479 __pyx_mstate_global->__pyx_codeobj__479
#define __pyx_codeobj__480 __pyx_mstate_global->__pyx_codeobj__480
#define __pyx_codeobj__481 __pyx_mstate_global->__pyx_codeobj__481
#define __pyx_codeobj__482 __pyx_mstate_global->__pyx_codeobj__482
#define __pyx_codeobj__483 __pyx_mstate_global->__pyx_codeobj__483
#define __pyx_codeobj__484 __pyx_mstate_global->__pyx_codeobj__484
#define __pyx_codeobj__485 __pyx_mstate_global->__pyx_codeobj__485
#define __pyx_codeobj__487 __pyx_mstate_global->__pyx_codeobj__487
#define __pyx_codeobj__488 __pyx_mstate_global->__pyx_codeobj__488
#define __pyx_codeobj__489 __pyx_mstate_global->__pyx_codeobj__489
#define __pyx_codeobj__490 __pyx_mstate_global->__pyx_codeobj__490
#define __pyx_codeobj__491 __pyx_mstate_global->__pyx_codeobj__491
#define __pyx_codeobj__492 __pyx_mstate_global->__pyx_codeobj__492
#define __pyx_codeobj__493 __pyx_mstate_global->__pyx_codeobj__493
#define __pyx_codeobj__494 __pyx_mstate_global->__pyx_codeobj__494
#define __pyx_codeobj__495 __pyx_mstate_global->__pyx_codeobj__495
#define __pyx_codeobj__496 __pyx_mstate_global->__pyx_codeobj__496
#define __pyx_codeobj__497 __pyx_mstate_global->__pyx_codeobj__497
#define __pyx_codeobj__498 __pyx_mstate_global->__pyx_codeobj__498
#define __pyx_codeobj__499 __pyx_mstate_global->__pyx_codeobj__499
#define __pyx_codeobj__500 __pyx_mstate_global->__pyx_codeobj__500
#define __pyx_codeobj__501 __pyx_mstate_global->__pyx_codeobj__501
#define __pyx_codeobj__502 __pyx_mstate_global->__pyx_codeobj__502
#define __pyx_codeobj__503 __pyx_mstate_global->__pyx_codeobj__503
#define __pyx_codeobj__504 __pyx_mstate_global->__pyx_codeobj__504
#define __pyx_codeobj__505 __pyx_mstate_global->__pyx_codeobj__505
#define __pyx_codeobj__506 __pyx_mstate_global->__pyx_codeobj__506
#define __pyx_codeobj__507 __pyx_mstate_global->__pyx_codeobj__507
#define __pyx_codeobj__509 __pyx_mstate_global->__pyx_codeobj__509
#define __pyx_codeobj__510 __pyx_mstate_global->__pyx_codeobj__510
#define __pyx_codeobj__511 __pyx_mstate_global->__pyx_codeobj__511
#define __pyx_codeobj__512 __pyx_mstate_global->__pyx_codeobj__512
#define __pyx_codeobj__513 __pyx_mstate_global->__pyx_codeobj__513
#define __pyx_codeobj__514 __pyx_mstate_global->__pyx_codeobj__514
#define __pyx_codeobj__515 __pyx_mstate_global->__pyx_codeobj__515
#define __pyx_codeobj__516 __pyx_mstate_global->__pyx_codeobj__516
#define __pyx_codeobj__517 __pyx_mstate_global->__pyx_codeobj__517
#define __pyx_codeobj__518 __pyx_mstate_global->__pyx_codeobj__518
#define __pyx_codeobj__519 __pyx_mstate_global->__pyx_codeobj__519
#define __pyx_codeobj__520 __pyx_mstate_global->__pyx_codeobj__520
#define __pyx_codeobj__521 __pyx_mstate_global->__pyx_codeobj__521
#define __pyx_codeobj__522 __pyx_mstate_global->__pyx_codeobj__522
#define __pyx_codeobj__523 __pyx_mstate_global->__pyx_codeobj__523
#define __pyx_codeobj__524 __pyx_mstate_global->__pyx_codeobj__524
#define __pyx_codeobj__525 __pyx_mstate_global->__pyx_codeobj__525
#define __pyx_codeobj__526 __pyx_mstate_global->__pyx_codeobj__526
#define __pyx_codeobj__527 __pyx_mstate_global->__pyx_codeobj__527
#define __pyx_codeobj__528 __pyx_mstate_global->__pyx_codeobj__528
#define __pyx_codeobj__529 __pyx_mstate_global->__pyx_codeobj__529
#define __pyx_codeobj__530 __pyx_mstate_global->__pyx_codeobj__530
#define __pyx_codeobj__531 __pyx_mstate_global->__pyx_codeobj__531
#define __pyx_codeobj__532 __pyx_mstate_global->__pyx_codeobj__532
#define __pyx_codeobj__533 __pyx_mstate_global->__pyx_codeobj__533
#define __pyx_codeobj__536 __pyx_mstate_global->__pyx_codeobj__536
#define __pyx_codeobj__537 __pyx_mstate_global->__pyx_codeobj__537
#define __pyx_codeobj__538 __pyx_mstate_global->__pyx_codeobj__538
#define __pyx_codeobj__539 __pyx_mstate_global->__pyx_codeobj__539
#define __pyx_codeobj__540 __pyx_mstate_global->__pyx_codeobj__540
#define __pyx_codeobj__541 __pyx_mstate_global->__pyx_codeobj__541
#define __pyx_codeobj__542 __pyx_mstate_global->__pyx_codeobj__542
#define __pyx_codeobj__543 __pyx_mstate_global->__pyx_codeobj__543
#define __pyx_codeobj__544 __pyx_mstate_global->__pyx_codeobj__544
#define __pyx_codeobj__545 __pyx_mstate_global->__pyx_codeobj__545
#define __pyx_codeobj__546 __pyx_mstate_global->__pyx_codeobj__546
#define __pyx_codeobj__547 __pyx_mstate_global->__pyx_codeobj__547
#define __pyx_codeobj__548 __pyx_mstate_global->__pyx_codeobj__548
#define __pyx_codeobj__549 __pyx_mstate_global->__pyx_codeobj__549
#define __pyx_codeobj__550 __pyx_mstate_global->__pyx_codeobj__550
#define __pyx_codeobj__553 __pyx_mstate_global->__pyx_codeobj__553
#define __pyx_codeobj__554 __pyx_mstate_global->__pyx_codeobj__554
#define __pyx_codeobj__555 __pyx_mstate_global->__pyx_codeobj__555
#define __pyx_codeobj__556 __pyx_mstate_global->__pyx_codeobj__556
#define __pyx_codeobj__557 __pyx_mstate_global->__pyx_codeobj__557
#define __pyx_codeobj__558 __pyx_mstate_global->__pyx_codeobj__558
#define __pyx_codeobj__559 __pyx_mstate_global->__pyx_codeobj__559
#define __pyx_codeobj__560 __pyx_mstate_global->__pyx_codeobj__560
#define __pyx_codeobj__561 __pyx_mstate_global->__pyx_codeobj__561
#define __pyx_codeobj__562 __pyx_mstate_global->__pyx_codeobj__562
#define __pyx_codeobj__563 __pyx_mstate_global->__pyx_codeobj__563
#define __pyx_codeobj__564 __pyx_mstate_global->__pyx_codeobj__564
#define __pyx_codeobj__565 __pyx_mstate_global->__pyx_codeobj__565
#define __pyx_codeobj__566 __pyx_mstate_global->__pyx_codeobj__566
#define __pyx_codeobj__567 __pyx_mstate_global->__pyx_codeobj__567
#define __pyx_codeobj__568 __pyx_mstate_global->__pyx_codeobj__568
#define __pyx_codeobj__569 __pyx_mstate_global->__pyx_codeobj__569
#define __pyx_codeobj__570 __pyx_mstate_global->__pyx_codeobj__570
#define __pyx_codeobj__571 __pyx_mstate_global->__pyx_codeobj__571
#define __pyx_codeobj__572 __pyx_mstate_global->__pyx_codeobj__572
#define __pyx_codeobj__573 __pyx_mstate_global->__pyx_codeobj__573
#define __pyx_codeobj__574 __pyx_mstate_global->__pyx_codeobj__574
#define __pyx_codeobj__575 __pyx_mstate_global->__pyx_codeobj__575
#define __pyx_codeobj__576 __pyx_mstate_global->__pyx_codeobj__576
#define __pyx_codeobj__577 __pyx_mstate_global->__pyx_codeobj__577
#define __pyx_codeobj__578 __pyx_mstate_global->__pyx_codeobj__578
#define __pyx_codeobj__579 __pyx_mstate_global->__pyx_codeobj__579
#define __pyx_codeobj__580 __pyx_mstate_global->__pyx_codeobj__580
#define __pyx_codeobj__581 __pyx_mstate_global->__pyx_codeobj__581
#define __pyx_codeobj__582 __pyx_mstate_global->__pyx_codeobj__582
#define __pyx_codeobj__583 __pyx_mstate_global->__pyx_codeobj__583
#define __pyx_codeobj__584 __pyx_mstate_global->__pyx_codeobj__584
#define __pyx_codeobj__585 __pyx_mstate_global->__pyx_codeobj__585
#define __pyx_codeobj__586 __pyx_mstate_global->__pyx_codeobj__586
#define __pyx_codeobj__587 __pyx_mstate_global->__pyx_codeobj__587
#define __pyx_codeobj__588 __pyx_mstate_global->__pyx_codeobj__588
#define __pyx_codeobj__589 __pyx_mstate_global->__pyx_codeobj__589
#define __pyx_codeobj__590 __pyx_mstate_global->__pyx_codeobj__590
#define __pyx_codeobj__591 __pyx_mstate_global->__pyx_codeobj__591
#define __pyx_codeobj__592 __pyx_mstate_global->__pyx_codeobj__592
#define __pyx_codeobj__593 __pyx_mstate_global->__pyx_codeobj__593
#define __pyx_codeobj__594 __pyx_mstate_global->__pyx_codeobj__594
#define __pyx_codeobj__595 __pyx_mstate_global->__pyx_codeobj__595
#define __pyx_codeobj__596 __pyx_mstate_global->__pyx_codeobj__596
#define __pyx_codeobj__597 __pyx_mstate_global->__pyx_codeobj__597
#define __pyx_codeobj__598 __pyx_mstate_global->__pyx_codeobj__598
#define __pyx_codeobj__599 __pyx_mstate_global->__pyx_codeobj__599
#define __pyx_codeobj__600 __pyx_mstate_global->__pyx_codeobj__600
#define __pyx_codeobj__601 __pyx_mstate_global->__pyx_codeobj__601
#define __pyx_codeobj__602 __pyx_mstate_global->__pyx_codeobj__602
#define __pyx_codeobj__603 __pyx_mstate_global->__pyx_codeobj__603
#define __pyx_codeobj__604 __pyx_mstate_global->__pyx_codeobj__604
#define __pyx_codeobj__605 __pyx_mstate_global->__pyx_codeobj__605
#define __pyx_codeobj__606 __pyx_mstate_global->__pyx_codeobj__606
#define __pyx_codeobj__607 __pyx_mstate_global->__pyx_codeobj__607
#define __pyx_codeobj__608 __pyx_mstate_global->__pyx_codeobj__608
#define __pyx_codeobj__609 __pyx_mstate_global->__pyx_codeobj__609
#define __pyx_codeobj__610 __pyx_mstate_global->__pyx_codeobj__610
#define __pyx_codeobj__611 __pyx_mstate_global->__pyx_codeobj__611
#define __pyx_codeobj__612 __pyx_mstate_global->__pyx_codeobj__612
#define __pyx_codeobj__613 __pyx_mstate_global->__pyx_codeobj__613
#define __pyx_codeobj__614 __pyx_mstate_global->__pyx_codeobj__614
#define __pyx_codeobj__615 __pyx_mstate_global->__pyx_codeobj__615
#define __pyx_codeobj__616 __pyx_mstate_global->__pyx_codeobj__616
#define __pyx_codeobj__617 __pyx_mstate_global->__pyx_codeobj__617
#define __pyx_codeobj__618 __pyx_mstate_global->__pyx_codeobj__618
#define __pyx_codeobj__619 __pyx_mstate_global->__pyx_codeobj__619
#define __pyx_codeobj__620 __pyx_mstate_global->__pyx_codeobj__620
#define __pyx_codeobj__621 __pyx_mstate_global->__pyx_codeobj__621
#define __pyx_codeobj__622 __pyx_mstate_global->__pyx_codeobj__622
#define __pyx_codeobj__623 __pyx_mstate_global->__pyx_codeobj__623
#define __pyx_codeobj__624 __pyx_mstate_global->__pyx_codeobj__624
#define __pyx_codeobj__625 __pyx_mstate_global->__pyx_codeobj__625
#define __pyx_codeobj__626 __pyx_mstate_global->__pyx_codeobj__626
#define __pyx_codeobj__627 __pyx_mstate_global->__pyx_codeobj__627
#define __pyx_codeobj__628 __pyx_mstate_global->__pyx_codeobj__628
#define __pyx_codeobj__629 __pyx_mstate_global->__pyx_codeobj__629
#define __pyx_codeobj__630 __pyx_mstate_global->__pyx_codeobj__630
#define __pyx_codeobj__631 __pyx_mstate_global->__pyx_codeobj__631
#define __pyx_codeobj__632 __pyx_mstate_global->__pyx_codeobj__632
#define __pyx_codeobj__633 __pyx_mstate_global->__pyx_codeobj__633
#define __pyx_codeobj__634 __pyx_mstate_global->__pyx_codeobj__634
#define __pyx_codeobj__635 __pyx_mstate_global->__pyx_codeobj__635
#define __pyx_codeobj__636 __pyx_mstate_global->__pyx_codeobj__636
#define __pyx_codeobj__637 __pyx_mstate_global->__pyx_codeobj__637
#define __pyx_codeobj__638 __pyx_mstate_global->__pyx_codeobj__638
#define __pyx_codeobj__639 __pyx_mstate_global->__pyx_codeobj__639
#define __pyx_codeobj__640 __pyx_mstate_global->__pyx_codeobj__640
#define __pyx_codeobj__641 __pyx_mstate_global->__pyx_codeobj__641
#define __pyx_codeobj__642 __pyx_mstate_global->__pyx_codeobj__642
#define __pyx_codeobj__643 __pyx_mstate_global->__pyx_codeobj__643
#define __pyx_codeobj__644 __pyx_mstate_global->__pyx_codeobj__644
#define __pyx_codeobj__645 __pyx_mstate_global->__pyx_codeobj__645
#define __pyx_codeobj__647 __pyx_mstate_global->__pyx_codeobj__647
#define __pyx_codeobj__648 __pyx_mstate_global->__pyx_codeobj__648
#define __pyx_codeobj__650 __pyx_mstate_global->__pyx_codeobj__650
#define __pyx_codeobj__651 __pyx_mstate_global->__pyx_codeobj__651
#define __pyx_codeobj__652 __pyx_mstate_global->__pyx_codeobj__652
#define __pyx_codeobj__653 __pyx_mstate_global->__pyx_codeobj__653
#define __pyx_codeobj__654 __pyx_mstate_global->__pyx_codeobj__654
#define __pyx_codeobj__655 __pyx_mstate_global->__pyx_codeobj__655
#define __pyx_codeobj__656 __pyx_mstate_global->__pyx_codeobj__656
#define __pyx_codeobj__657 __pyx_mstate_global->__pyx_codeobj__657
#define __pyx_codeobj__658 __pyx_mstate_global->__pyx_codeobj__658
#define __pyx_codeobj__659 __pyx_mstate_global->__pyx_codeobj__659
#define __pyx_codeobj__660 __pyx_mstate_global->__pyx_codeobj__660
#define __pyx_codeobj__661 __pyx_mstate_global->__pyx_codeobj__661
#define __pyx_codeobj__663 __pyx_mstate_global->__pyx_codeobj__663
#define __pyx_codeobj__664 __pyx_mstate_global->__pyx_codeobj__664
#define __pyx_codeobj__665 __pyx_mstate_global->__pyx_codeobj__665
#define __pyx_codeobj__666 __pyx_mstate_global->__pyx_codeobj__666
#define __pyx_codeobj__667 __pyx_mstate_global->__pyx_codeobj__667
#define __pyx_codeobj__668 __pyx_mstate_global->__pyx_codeobj__668
#define __pyx_codeobj__669 __pyx_mstate_global->__pyx_codeobj__669
#define __pyx_codeobj__670 __pyx_mstate_global->__pyx_codeobj__670
#define __pyx_codeobj__671 __pyx_mstate_global->__pyx_codeobj__671
#define __pyx_codeobj__672 __pyx_mstate_global->__pyx_codeobj__672
#define __pyx_codeobj__673 __pyx_mstate_global->__pyx_codeobj__673
#define __pyx_codeobj__674 __pyx_mstate_global->__pyx_codeobj__674
#define __pyx_codeobj__675 __pyx_mstate_global->__pyx_codeobj__675
#define __pyx_codeobj__676 __pyx_mstate_global->__pyx_codeobj__676
#define __pyx_codeobj__677 __pyx_mstate_global->__pyx_codeobj__677
#define __pyx_codeobj__678 __pyx_mstate_global->__pyx_codeobj__678
#define __pyx_codeobj__679 __pyx_mstate_global->__pyx_codeobj__679
#define __pyx_codeobj__680 __pyx_mstate_global->__pyx_codeobj__680
#define __pyx_codeobj__681 __pyx_mstate_global->__pyx_codeobj__681
#define __pyx_codeobj__682 __pyx_mstate_global->__pyx_codeobj__682
#define __pyx_codeobj__683 __pyx_mstate_global->__pyx_codeobj__683
#define __pyx_codeobj__686 __pyx_mstate_global->__pyx_codeobj__686
#define __pyx_codeobj__687 __pyx_mstate_global->__pyx_codeobj__687
#define __pyx_codeobj__689 __pyx_mstate_global->__pyx_codeobj__689
#define __pyx_codeobj__690 __pyx_mstate_global->__pyx_codeobj__690
#define __pyx_codeobj__691 __pyx_mstate_global->__pyx_codeobj__691
#define __pyx_codeobj__692 __pyx_mstate_global->__pyx_codeobj__692
#define __pyx_codeobj__693 __pyx_mstate_global->__pyx_codeobj__693
#define __pyx_codeobj__694 __pyx_mstate_global->__pyx_codeobj__694
#define __pyx_codeobj__695 __pyx_mstate_global->__pyx_codeobj__695
#define __pyx_codeobj__696 __pyx_mstate_global->__pyx_codeobj__696
#define __pyx_codeobj__697 __pyx_mstate_global->__pyx_codeobj__697
#define __pyx_codeobj__698 __pyx_mstate_global->__pyx_codeobj__698
#define __pyx_codeobj__701 __pyx_mstate_global->__pyx_codeobj__701
#define __pyx_codeobj__702 __pyx_mstate_global->__pyx_codeobj__702
#define __pyx_codeobj__703 __pyx_mstate_global->__pyx_codeobj__703
#define __pyx_codeobj__704 __pyx_mstate_global->__pyx_codeobj__704
#define __pyx_codeobj__705 __pyx_mstate_global->__pyx_codeobj__705
#define __pyx_codeobj__706 __pyx_mstate_global->__pyx_codeobj__706
#define __pyx_codeobj__707 __pyx_mstate_global->__pyx_codeobj__707
#define __pyx_codeobj__708 __pyx_mstate_global->__pyx_codeobj__708
#define __pyx_codeobj__709 __pyx_mstate_global->__pyx_codeobj__709
#define __pyx_codeobj__710 __pyx_mstate_global->__pyx_codeobj__710
#define __pyx_codeobj__711 __pyx_mstate_global->__pyx_codeobj__711
#define __pyx_codeobj__712 __pyx_mstate_global->__pyx_codeobj__712
#define __pyx_codeobj__713 __pyx_mstate_global->__pyx_codeobj__713
#define __pyx_codeobj__714 __pyx_mstate_global->__pyx_codeobj__714
#define __pyx_codeobj__715 __pyx_mstate_global->__pyx_codeobj__715
#define __pyx_codeobj__716 __pyx_mstate_global->__pyx_codeobj__716
#define __pyx_codeobj__717 __pyx_mstate_global->__pyx_codeobj__717
#define __pyx_codeobj__718 __pyx_mstate_global->__pyx_codeobj__718
#define __pyx_codeobj__719 __pyx_mstate_global->__pyx_codeobj__719
#define __pyx_codeobj__720 __pyx_mstate_global->__pyx_codeobj__720
#define __pyx_codeobj__721 __pyx_mstate_global->__pyx_codeobj__721
#define __pyx_codeobj__722 __pyx_mstate_global->__pyx_codeobj__722
#define __pyx_codeobj__723 __pyx_mstate_global->__pyx_codeobj__723
#define __pyx_codeobj__724 __pyx_mstate_global->__pyx_codeobj__724
#define __pyx_codeobj__725 __pyx_mstate_global->__pyx_codeobj__725
#define __pyx_codeobj__726 __pyx_mstate_global->__pyx_codeobj__726
#define __pyx_codeobj__727 __pyx_mstate_global->__pyx_codeobj__727
#define __pyx_codeobj__730 __pyx_mstate_global->__pyx_codeobj__730
#define __pyx_codeobj__732 __pyx_mstate_global->__pyx_codeobj__732
#define __pyx_codeobj__733 __pyx_mstate_global->__pyx_codeobj__733
#define __pyx_codeobj__734 __pyx_mstate_global->__pyx_codeobj__734
#define __pyx_codeobj__735 __pyx_mstate_global->__pyx_codeobj__735
#define __pyx_codeobj__736 __pyx_mstate_global->__pyx_codeobj__736
#define __pyx_codeobj__737 __pyx_mstate_global->__pyx_codeobj__737
#define __pyx_codeobj__739 __pyx_mstate_global->__pyx_codeobj__739
#define __pyx_codeobj__740 __pyx_mstate_global->__pyx_codeobj__740
#define __pyx_codeobj__741 __pyx_mstate_global->__pyx_codeobj__741
#define __pyx_codeobj__742 __pyx_mstate_global->__pyx_codeobj__742
#define __pyx_codeobj__743 __pyx_mstate_global->__pyx_codeobj__743
#define __pyx_codeobj__744 __pyx_mstate_global->__pyx_codeobj__744
#define __pyx_codeobj__745 __pyx_mstate_global->__pyx_codeobj__745
#define __pyx_codeobj__746 __pyx_mstate_global->__pyx_codeobj__746
#define __pyx_codeobj__747 __pyx_mstate_global->__pyx_codeobj__747
#define __pyx_codeobj__748 __pyx_mstate_global->__pyx_codeobj__748
#define __pyx_codeobj__749 __pyx_mstate_global->__pyx_codeobj__749
#define __pyx_codeobj__750 __pyx_mstate_global->__pyx_codeobj__750
#define __pyx_codeobj__752 __pyx_mstate_global->__pyx_codeobj__752
#define __pyx_codeobj__753 __pyx_mstate_global->__pyx_codeobj__753
#define __pyx_codeobj__754 __pyx_mstate_global->__pyx_codeobj__754
#define __pyx_codeobj__755 __pyx_mstate_global->__pyx_codeobj__755
#define __pyx_codeobj__756 __pyx_mstate_global->__pyx_codeobj__756
#define __pyx_codeobj__757 __pyx_mstate_global->__pyx_codeobj__757
#define __pyx_codeobj__758 __pyx_mstate_global->__pyx_codeobj__758
#define __pyx_codeobj__759 __pyx_mstate_global->__pyx_codeobj__759
#define __pyx_codeobj__760 __pyx_mstate_global->__pyx_codeobj__760
#define __pyx_codeobj__761 __pyx_mstate_global->__pyx_codeobj__761
#define __pyx_codeobj__762 __pyx_mstate_global->__pyx_codeobj__762
#define __pyx_codeobj__763 __pyx_mstate_global->__pyx_codeobj__763
#define __pyx_codeobj__764 __pyx_mstate_global->__pyx_codeobj__764
#define __pyx_codeobj__765 __pyx_mstate_global->__pyx_codeobj__765
#define __pyx_codeobj__766 __pyx_mstate_global->__pyx_codeobj__766
#define __pyx_codeobj__767 __pyx_mstate_global->__pyx_codeobj__767
#define __pyx_codeobj__768 __pyx_mstate_global->__pyx_codeobj__768
#define __pyx_codeobj__769 __pyx_mstate_global->__pyx_codeobj__769
#define __pyx_codeobj__770 __pyx_mstate_global->__pyx_codeobj__770
#define __pyx_codeobj__771 __pyx_mstate_global->__pyx_codeobj__771
#define __pyx_codeobj__772 __pyx_mstate_global->__pyx_codeobj__772
#define __pyx_codeobj__773 __pyx_mstate_global->__pyx_codeobj__773
#define __pyx_codeobj__774 __pyx_mstate_global->__pyx_codeobj__774
#define __pyx_codeobj__775 __pyx_mstate_global->__pyx_codeobj__775
#define __pyx_codeobj__776 __pyx_mstate_global->__pyx_codeobj__776
#define __pyx_codeobj__777 __pyx_mstate_global->__pyx_codeobj__777
#define __pyx_codeobj__778 __pyx_mstate_global->__pyx_codeobj__778
#define __pyx_codeobj__779 __pyx_mstate_global->__pyx_codeobj__779
#define __pyx_codeobj__780 __pyx_mstate_global->__pyx_codeobj__780
#define __pyx_codeobj__781 __pyx_mstate_global->__pyx_codeobj__781
#define __pyx_codeobj__782 __pyx_mstate_global->__pyx_codeobj__782
#define __pyx_codeobj__783 __pyx_mstate_global->__pyx_codeobj__783
#define __pyx_codeobj__784 __pyx_mstate_global->__pyx_codeobj__784
#define __pyx_codeobj__785 __pyx_mstate_global->__pyx_codeobj__785
#define __pyx_codeobj__786 __pyx_mstate_global->__pyx_codeobj__786
#define __pyx_codeobj__787 __pyx_mstate_global->__pyx_codeobj__787
#define __pyx_codeobj__788 __pyx_mstate_global->__pyx_codeobj__788
#define __pyx_codeobj__789 __pyx_mstate_global->__pyx_codeobj__789
#define __pyx_codeobj__790 __pyx_mstate_global->__pyx_codeobj__790
#define __pyx_codeobj__791 __pyx_mstate_global->__pyx_codeobj__791
#define __pyx_codeobj__792 __pyx_mstate_global->__pyx_codeobj__792
#define __pyx_codeobj__793 __pyx_mstate_global->__pyx_codeobj__793
#define __pyx_codeobj__794 __pyx_mstate_global->__pyx_codeobj__794
#define __pyx_codeobj__795 __pyx_mstate_global->__pyx_codeobj__795
#define __pyx_codeobj__796 __pyx_mstate_global->__pyx_codeobj__796
#define __pyx_codeobj__797 __pyx_mstate_global->__pyx_codeobj__797
#define __pyx_codeobj__798 __pyx_mstate_global->__pyx_codeobj__798
#define __pyx_codeobj__799 __pyx_mstate_global->__pyx_codeobj__799
#define __pyx_codeobj__800 __pyx_mstate_global->__pyx_codeobj__800
#define __pyx_codeobj__801 __pyx_mstate_global->__pyx_codeobj__801
#define __pyx_codeobj__802 __pyx_mstate_global->__pyx_codeobj__802
#define __pyx_codeobj__803 __pyx_mstate_global->__pyx_codeobj__803
#define __pyx_codeobj__804 __pyx_mstate_global->__pyx_codeobj__804
#define __pyx_codeobj__805 __pyx_mstate_global->__pyx_codeobj__805
#define __pyx_codeobj__806 __pyx_mstate_global->__pyx_codeobj__806
#define __pyx_codeobj__807 __pyx_mstate_global->__pyx_codeobj__807
#define __pyx_codeobj__808 __pyx_mstate_global->__pyx_codeobj__808
#define __pyx_codeobj__809 __pyx_mstate_global->__pyx_codeobj__809
#define __pyx_codeobj__810 __pyx_mstate_global->__pyx_codeobj__810
#define __pyx_codeobj__811 __pyx_mstate_global->__pyx_codeobj__811
#define __pyx_codeobj__812 __pyx_mstate_global->__pyx_codeobj__812
#define __pyx_codeobj__813 __pyx_mstate_global->__pyx_codeobj__813
#define __pyx_codeobj__814 __pyx_mstate_global->__pyx_codeobj__814
#define __pyx_codeobj__817 __pyx_mstate_global->__pyx_codeobj__817
#define __pyx_codeobj__819 __pyx_mstate_global->__pyx_codeobj__819
#define __pyx_codeobj__820 __pyx_mstate_global->__pyx_codeobj__820
#define __pyx_codeobj__821 __pyx_mstate_global->__pyx_codeobj__821
#define __pyx_codeobj__822 __pyx_mstate_global->__pyx_codeobj__822
#define __pyx_codeobj__823 __pyx_mstate_global->__pyx_codeobj__823
#define __pyx_codeobj__824 __pyx_mstate_global->__pyx_codeobj__824
#define __pyx_codeobj__825 __pyx_mstate_global->__pyx_codeobj__825
#define __pyx_codeobj__826 __pyx_mstate_global->__pyx_codeobj__826
#define __pyx_codeobj__827 __pyx_mstate_global->__pyx_codeobj__827
#define __pyx_codeobj__828 __pyx_mstate_global->__pyx_codeobj__828
#define __pyx_codeobj__829 __pyx_mstate_global->__pyx_codeobj__829
#define __pyx_codeobj__830 __pyx_mstate_global->__pyx_codeobj__830
#define __pyx_codeobj__831 __pyx_mstate_global->__pyx_codeobj__831
#define __pyx_codeobj__832 __pyx_mstate_global->__pyx_codeobj__832
#define __pyx_codeobj__833 __pyx_mstate_global->__pyx_codeobj__833
#define __pyx_codeobj__834 __pyx_mstate_global->__pyx_codeobj__834
#define __pyx_codeobj__835 __pyx_mstate_global->__pyx_codeobj__835
#define __pyx_codeobj__836 __pyx_mstate_global->__pyx_codeobj__836
#define __pyx_codeobj__837 __pyx_mstate_global->__pyx_codeobj__837
#define __pyx_codeobj__838 __pyx_mstate_global->__pyx_codeobj__838
#define __pyx_codeobj__839 __pyx_mstate_global->__pyx_codeobj__839
#define __pyx_codeobj__840 __pyx_mstate_global->__pyx_codeobj__840
#define __pyx_codeobj__841 __pyx_mstate_global->__pyx_codeobj__841
#define __pyx_codeobj__842 __pyx_mstate_global->__pyx_codeobj__842
#define __pyx_codeobj__843 __pyx_mstate_global->__pyx_codeobj__843
#define __pyx_codeobj__844 __pyx_mstate_global->__pyx_codeobj__844
#define __pyx_codeobj__845 __pyx_mstate_global->__pyx_codeobj__845
#define __pyx_codeobj__846 __pyx_mstate_global->__pyx_codeobj__846
#define __pyx_codeobj__847 __pyx_mstate_global->__pyx_codeobj__847
#define __pyx_codeobj__848 __pyx_mstate_global->__pyx_codeobj__848
#define __pyx_codeobj__849 __pyx_mstate_global->__pyx_codeobj__849
#define __pyx_codeobj__850 __pyx_mstate_global->__pyx_codeobj__850
#define __pyx_codeobj__851 __pyx_mstate_global->__pyx_codeobj__851
#define __pyx_codeobj__852 __pyx_mstate_global->__pyx_codeobj__852
#define __pyx_codeobj__853 __pyx_mstate_global->__pyx_codeobj__853
#define __pyx_codeobj__854 __pyx_mstate_global->__pyx_codeobj__854
#define __pyx_codeobj__855 __pyx_mstate_global->__pyx_codeobj__855
#define __pyx_codeobj__856 __pyx_mstate_global->__pyx_codeobj__856
#define __pyx_codeobj__857 __pyx_mstate_global->__pyx_codeobj__857
#define __pyx_codeobj__858 __pyx_mstate_global->__pyx_codeobj__858
#define __pyx_codeobj__859 __pyx_mstate_global->__pyx_codeobj__859
#define __pyx_codeobj__860 __pyx_mstate_global->__pyx_codeobj__860
#define __pyx_codeobj__861 __pyx_mstate_global->__pyx_codeobj__861
#define __pyx_codeobj__862 __pyx_mstate_global->__pyx_codeobj__862
#define __pyx_codeobj__863 __pyx_mstate_global->__pyx_codeobj__863
#define __pyx_codeobj__864 __pyx_mstate_global->__pyx_codeobj__864
#define __pyx_codeobj__865 __pyx_mstate_global->__pyx_codeobj__865
#define __pyx_codeobj__866 __pyx_mstate_global->__pyx_codeobj__866
#define __pyx_codeobj__867 __pyx_mstate_global->__pyx_codeobj__867
#define __pyx_codeobj__868 __pyx_mstate_global->__pyx_codeobj__868
#define __pyx_codeobj__869 __pyx_mstate_global->__pyx_codeobj__869
#define __pyx_codeobj__870 __pyx_mstate_global->__pyx_codeobj__870
#define __pyx_codeobj__871 __pyx_mstate_global->__pyx_codeobj__871
#define __pyx_codeobj__872 __pyx_mstate_global->__pyx_codeobj__872
#define __pyx_codeobj__873 __pyx_mstate_global->__pyx_codeobj__873
#define __pyx_codeobj__874 __pyx_mstate_global->__pyx_codeobj__874
#define __pyx_codeobj__875 __pyx_mstate_global->__pyx_codeobj__875
#define __pyx_codeobj__876 __pyx_mstate_global->__pyx_codeobj__876
#define __pyx_codeobj__877 __pyx_mstate_global->__pyx_codeobj__877
#define __pyx_codeobj__878 __pyx_mstate_global->__pyx_codeobj__878
#define __pyx_codeobj__879 __pyx_mstate_global->__pyx_codeobj__879
#define __pyx_codeobj__880 __pyx_mstate_global->__pyx_codeobj__880
#define __pyx_codeobj__881 __pyx_mstate_global->__pyx_codeobj__881
#define __pyx_codeobj__882 __pyx_mstate_global->__pyx_codeobj__882
#define __pyx_codeobj__883 __pyx_mstate_global->__pyx_codeobj__883
#define __pyx_codeobj__884 __pyx_mstate_global->__pyx_codeobj__884
#define __pyx_codeobj__885 __pyx_mstate_global->__pyx_codeobj__885
#define __pyx_codeobj__886 __pyx_mstate_global->__pyx_codeobj__886
#define __pyx_codeobj__887 __pyx_mstate_global->__pyx_codeobj__887
#define __pyx_codeobj__888 __pyx_mstate_global->__pyx_codeobj__888
#define __pyx_codeobj__889 __pyx_mstate_global->__pyx_codeobj__889
#define __pyx_codeobj__890 __pyx_mstate_global->__pyx_codeobj__890
#define __pyx_codeobj__891 __pyx_mstate_global->__pyx_codeobj__891
#define __pyx_codeobj__892 __pyx_mstate_global->__pyx_codeobj__892
#define __pyx_codeobj__893 __pyx_mstate_global->__pyx_codeobj__893
#define __pyx_codeobj__894 __pyx_mstate_global->__pyx_codeobj__894
#define __pyx_codeobj__895 __pyx_mstate_global->__pyx_codeobj__895
#define __pyx_codeobj__896 __pyx_mstate_global->__pyx_codeobj__896
#define __pyx_codeobj__897 __pyx_mstate_global->__pyx_codeobj__897
#define __pyx_codeobj__898 __pyx_mstate_global->__pyx_codeobj__898
#define __pyx_codeobj__899 __pyx_mstate_global->__pyx_codeobj__899
#define __pyx_codeobj__904 __pyx_mstate_global->__pyx_codeobj__904
#define __pyx_codeobj__907 __pyx_mstate_global->__pyx_codeobj__907
#define __pyx_codeobj__908 __pyx_mstate_global->__pyx_codeobj__908
#define __pyx_codeobj__909 __pyx_mstate_global->__pyx_codeobj__909
#define __pyx_codeobj__910 __pyx_mstate_global->__pyx_codeobj__910
#define __pyx_codeobj__911 __pyx_mstate_global->__pyx_codeobj__911
#define __pyx_codeobj__912 __pyx_mstate_global->__pyx_codeobj__912
#define __pyx_codeobj__913 __pyx_mstate_global->__pyx_codeobj__913
#define __pyx_codeobj__914 __pyx_mstate_global->__pyx_codeobj__914
#define __pyx_codeobj__915 __pyx_mstate_global->__pyx_codeobj__915
#define __pyx_codeobj__916 __pyx_mstate_global->__pyx_codeobj__916
#define __pyx_codeobj__917 __pyx_mstate_global->__pyx_codeobj__917
#define __pyx_codeobj__918 __pyx_mstate_global->__pyx_codeobj__918
#define __pyx_codeobj__919 __pyx_mstate_global->__pyx_codeobj__919
#define __pyx_codeobj__920 __pyx_mstate_global->__pyx_codeobj__920
#define __pyx_codeobj__921 __pyx_mstate_global->__pyx_codeobj__921
#define __pyx_codeobj__922 __pyx_mstate_global->__pyx_codeobj__922
#define __pyx_codeobj__923 __pyx_mstate_global->__pyx_codeobj__923
#define __pyx_codeobj__924 __pyx_mstate_global->__pyx_codeobj__924
#define __pyx_codeobj__925 __pyx_mstate_global->__pyx_codeobj__925
#define __pyx_codeobj__926 __pyx_mstate_global->__pyx_codeobj__926
#define __pyx_codeobj__927 __pyx_mstate_global->__pyx_codeobj__927
#define __pyx_codeobj__928 __pyx_mstate_global->__pyx_codeobj__928
#define __pyx_codeobj__929 __pyx_mstate_global->__pyx_codeobj__929
#define __pyx_codeobj__930 __pyx_mstate_global->__pyx_codeobj__930
#define __pyx_codeobj__931 __pyx_mstate_global->__pyx_codeobj__931
#define __pyx_codeobj__932 __pyx_mstate_global->__pyx_codeobj__932
#define __pyx_codeobj__934 __pyx_mstate_global->__pyx_codeobj__934
#define __pyx_codeobj__935 __pyx_mstate_global->__pyx_codeobj__935
#define __pyx_codeobj__936 __pyx_mstate_global->__pyx_codeobj__936
#define __pyx_codeobj__937 __pyx_mstate_global->__pyx_codeobj__937
#define __pyx_codeobj__938 __pyx_mstate_global->__pyx_codeobj__938
#define __pyx_codeobj__939 __pyx_mstate_global->__pyx_codeobj__939
#define __pyx_codeobj__940 __pyx_mstate_global->__pyx_codeobj__940
#define __pyx_codeobj__941 __pyx_mstate_global->__pyx_codeobj__941
#define __pyx_codeobj__942 __pyx_mstate_global->__pyx_codeobj__942
#define __pyx_codeobj__943 __pyx_mstate_global->__pyx_codeobj__943
#define __pyx_codeobj__944 __pyx_mstate_global->__pyx_codeobj__944
#define __pyx_codeobj__945 __pyx_mstate_global->__pyx_codeobj__945
#define __pyx_codeobj__946 __pyx_mstate_global->__pyx_codeobj__946
#define __pyx_codeobj__947 __pyx_mstate_global->__pyx_codeobj__947
#define __pyx_codeobj__948 __pyx_mstate_global->__pyx_codeobj__948
#define __pyx_codeobj__949 __pyx_mstate_global->__pyx_codeobj__949
#define __pyx_codeobj__950 __pyx_mstate_global->__pyx_codeobj__950
#define __pyx_codeobj__951 __pyx_mstate_global->__pyx_codeobj__951
#define __pyx_codeobj__952 __pyx_mstate_global->__pyx_codeobj__952
#define __pyx_codeobj__953 __pyx_mstate_global->__pyx_codeobj__953
#define __pyx_codeobj__954 __pyx_mstate_global->__pyx_codeobj__954
#define __pyx_codeobj__955 __pyx_mstate_global->__pyx_codeobj__955
#define __pyx_codeobj__956 __pyx_mstate_global->__pyx_codeobj__956
#define __pyx_codeobj__957 __pyx_mstate_global->__pyx_codeobj__957
#define __pyx_codeobj__958 __pyx_mstate_global->__pyx_codeobj__958
/* #### Code section: module_code ### */

/* "carray.from_py":79
 * 
 * @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:
 */

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_TraceDeclarations
  __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", 1);
  __Pyx_TraceCall("__Pyx_carray_from_py_cuuint64_t", __pyx_f[0], 79, 0, __PYX_ERR(0, 79, __pyx_L1_error));

  /* "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(0, 82, __pyx_L3_error)
      __pyx_v_i = __pyx_t_4;

      /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_cuuint64_t(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "carray.from_py":83
 *     try:
 *         i = len(o)
 *     except (TypeError, OverflowError):             # <<<<<<<<<<<<<<
 *         pass
 *     if i == length:
 */
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches2(__pyx_builtin_TypeError, __pyx_builtin_OverflowError);
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_cuuint64_t(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
 */
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L8_try_end:;
  }

  /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
 */
  __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
  if (__pyx_t_6) {

    /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
 */
    __pyx_t_4 = 0;
    if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
      __pyx_t_7 = __pyx_v_o; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 86, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 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_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 86, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 86, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        }
      } else {
        __pyx_t_10 = __pyx_t_9(__pyx_t_7);
        if (unlikely(!__pyx_t_10)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 86, __pyx_L1_error)
          }
          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_L11_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_PyInt_As_uint64_t(__pyx_v_item); if (unlikely((__pyx_t_11 == ((cuuint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 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_L13_for_else;
    __pyx_L11_break:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L14_for_end;
    /*else*/ {
      __pyx_L13_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_L14_for_end:;

    /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
 */
  }

  /* "carray.from_py":98
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 *          if i >= length else             # <<<<<<<<<<<<<<
 *          "not enough values found during array assignment, expected %zd, got %zd"),
 *         length, i)
 */
  __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
  if (__pyx_t_6) {
    __pyx_t_12 = ((char const *)"too many values found during array assignment, expected %zd");
  } else {
    __pyx_t_12 = ((char const *)"not enough values found during array assignment, expected %zd, got %zd");
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 */
  __pyx_t_7 = PyErr_Format(__pyx_builtin_IndexError, __pyx_t_12, __pyx_v_length, __pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "carray.from_py":79
 * 
 * @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:
 */

  /* 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_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":114
 * 
 * @cname("__Pyx_carray_to_py_int")
 * cdef inline list __Pyx_carray_to_py_int(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_int(int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_l = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_py_int", 1);
  __Pyx_TraceCall("__Pyx_carray_to_py_int", __pyx_f[0], 114, 0, __PYX_ERR(0, 114, __pyx_L1_error));

  /* "carray.to_py":117
 *     cdef size_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyList_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":118
 *     cdef object value
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":119
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)
 */
    __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":120
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyList_SET_ITEM(l, i, value)
 *     return l
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)             # <<<<<<<<<<<<<<
 *     return l
 * 
 */
    PyList_SET_ITEM(__pyx_v_l, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":122
 *         Py_INCREF(value)
 *         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":114
 * 
 * @cname("__Pyx_carray_to_py_int")
 * cdef inline list __Pyx_carray_to_py_int(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* 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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":126
 * 
 * @cname("__Pyx_carray_to_tuple_int")
 * cdef inline tuple __Pyx_carray_to_tuple_int(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_int(int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_t = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_tuple_int", 1);
  __Pyx_TraceCall("__Pyx_carray_to_tuple_int", __pyx_f[0], 126, 0, __PYX_ERR(0, 126, __pyx_L1_error));

  /* "carray.to_py":129
 *     cdef size_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyTuple_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":130
 *     cdef object value
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":131
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)
 */
    __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":132
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyTuple_SET_ITEM(t, i, value)
 *     return t
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)             # <<<<<<<<<<<<<<
 *     return t
 */
    PyTuple_SET_ITEM(__pyx_v_t, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":134
 *         Py_INCREF(value)
 *         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":126
 * 
 * @cname("__Pyx_carray_to_tuple_int")
 * cdef inline tuple __Pyx_carray_to_tuple_int(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* 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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.from_py":79
 * 
 * @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:
 */

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_TraceDeclarations
  __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", 1);
  __Pyx_TraceCall("__Pyx_carray_from_py_int", __pyx_f[0], 79, 0, __PYX_ERR(0, 79, __pyx_L1_error));

  /* "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(0, 82, __pyx_L3_error)
      __pyx_v_i = __pyx_t_4;

      /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_int(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "carray.from_py":83
 *     try:
 *         i = len(o)
 *     except (TypeError, OverflowError):             # <<<<<<<<<<<<<<
 *         pass
 *     if i == length:
 */
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches2(__pyx_builtin_TypeError, __pyx_builtin_OverflowError);
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_int(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
 */
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L8_try_end:;
  }

  /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
 */
  __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
  if (__pyx_t_6) {

    /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
 */
    __pyx_t_4 = 0;
    if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
      __pyx_t_7 = __pyx_v_o; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 86, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 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_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 86, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 86, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        }
      } else {
        __pyx_t_10 = __pyx_t_9(__pyx_t_7);
        if (unlikely(!__pyx_t_10)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 86, __pyx_L1_error)
          }
          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_L11_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_PyInt_As_int(__pyx_v_item); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 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_L13_for_else;
    __pyx_L11_break:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L14_for_end;
    /*else*/ {
      __pyx_L13_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_L14_for_end:;

    /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
 */
  }

  /* "carray.from_py":98
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 *          if i >= length else             # <<<<<<<<<<<<<<
 *          "not enough values found during array assignment, expected %zd, got %zd"),
 *         length, i)
 */
  __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
  if (__pyx_t_6) {
    __pyx_t_11 = ((char const *)"too many values found during array assignment, expected %zd");
  } else {
    __pyx_t_11 = ((char const *)"not enough values found during array assignment, expected %zd, got %zd");
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 */
  __pyx_t_7 = PyErr_Format(__pyx_builtin_IndexError, __pyx_t_11, __pyx_v_length, __pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "carray.from_py":79
 * 
 * @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:
 */

  /* 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_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":114
 * 
 * @cname("__Pyx_carray_to_py_unsigned_int")
 * cdef inline list __Pyx_carray_to_py_unsigned_int(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_unsigned_int(unsigned int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_l = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_py_unsigned_int", 1);
  __Pyx_TraceCall("__Pyx_carray_to_py_unsigned_int", __pyx_f[0], 114, 0, __PYX_ERR(0, 114, __pyx_L1_error));

  /* "carray.to_py":117
 *     cdef size_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyList_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":118
 *     cdef object value
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":119
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)
 */
    __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":120
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyList_SET_ITEM(l, i, value)
 *     return l
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)             # <<<<<<<<<<<<<<
 *     return l
 * 
 */
    PyList_SET_ITEM(__pyx_v_l, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":122
 *         Py_INCREF(value)
 *         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":114
 * 
 * @cname("__Pyx_carray_to_py_unsigned_int")
 * cdef inline list __Pyx_carray_to_py_unsigned_int(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* 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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":126
 * 
 * @cname("__Pyx_carray_to_tuple_unsigned_int")
 * cdef inline tuple __Pyx_carray_to_tuple_unsigned_int(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_unsigned_int(unsigned int *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_t = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_tuple_unsigned_int", 1);
  __Pyx_TraceCall("__Pyx_carray_to_tuple_unsigned_int", __pyx_f[0], 126, 0, __PYX_ERR(0, 126, __pyx_L1_error));

  /* "carray.to_py":129
 *     cdef size_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyTuple_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":130
 *     cdef object value
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":131
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)
 */
    __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":132
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyTuple_SET_ITEM(t, i, value)
 *     return t
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)             # <<<<<<<<<<<<<<
 *     return t
 */
    PyTuple_SET_ITEM(__pyx_v_t, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":134
 *         Py_INCREF(value)
 *         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":126
 * 
 * @cname("__Pyx_carray_to_tuple_unsigned_int")
 * cdef inline tuple __Pyx_carray_to_tuple_unsigned_int(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* 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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.from_py":79
 * 
 * @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:
 */

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_TraceDeclarations
  __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", 1);
  __Pyx_TraceCall("__Pyx_carray_from_py_unsigned_int", __pyx_f[0], 79, 0, __PYX_ERR(0, 79, __pyx_L1_error));

  /* "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(0, 82, __pyx_L3_error)
      __pyx_v_i = __pyx_t_4;

      /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_unsigned_int(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "carray.from_py":83
 *     try:
 *         i = len(o)
 *     except (TypeError, OverflowError):             # <<<<<<<<<<<<<<
 *         pass
 *     if i == length:
 */
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches2(__pyx_builtin_TypeError, __pyx_builtin_OverflowError);
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_unsigned_int(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
 */
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L8_try_end:;
  }

  /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
 */
  __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
  if (__pyx_t_6) {

    /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
 */
    __pyx_t_4 = 0;
    if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
      __pyx_t_7 = __pyx_v_o; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 86, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 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_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 86, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 86, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        }
      } else {
        __pyx_t_10 = __pyx_t_9(__pyx_t_7);
        if (unlikely(!__pyx_t_10)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 86, __pyx_L1_error)
          }
          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_L11_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_PyInt_As_unsigned_int(__pyx_v_item); if (unlikely((__pyx_t_11 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 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_L13_for_else;
    __pyx_L11_break:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L14_for_end;
    /*else*/ {
      __pyx_L13_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_L14_for_end:;

    /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
 */
  }

  /* "carray.from_py":98
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 *          if i >= length else             # <<<<<<<<<<<<<<
 *          "not enough values found during array assignment, expected %zd, got %zd"),
 *         length, i)
 */
  __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
  if (__pyx_t_6) {
    __pyx_t_12 = ((char const *)"too many values found during array assignment, expected %zd");
  } else {
    __pyx_t_12 = ((char const *)"not enough values found during array assignment, expected %zd, got %zd");
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 */
  __pyx_t_7 = PyErr_Format(__pyx_builtin_IndexError, __pyx_t_12, __pyx_v_length, __pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "carray.from_py":79
 * 
 * @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:
 */

  /* 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_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":114
 * 
 * @cname("__Pyx_carray_to_py_CUaddress_mode")
 * cdef inline list __Pyx_carray_to_py_CUaddress_mode(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_CUaddress_mode(CUaddress_mode *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_l = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_py_CUaddress_mode", 1);
  __Pyx_TraceCall("__Pyx_carray_to_py_CUaddress_mode", __pyx_f[0], 114, 0, __PYX_ERR(0, 114, __pyx_L1_error));

  /* "carray.to_py":117
 *     cdef size_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyList_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":118
 *     cdef object value
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":119
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)
 */
    __pyx_t_1 = __Pyx_PyInt_From_enum__CUaddress_mode_enum((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":120
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyList_SET_ITEM(l, i, value)
 *     return l
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)             # <<<<<<<<<<<<<<
 *     return l
 * 
 */
    PyList_SET_ITEM(__pyx_v_l, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":122
 *         Py_INCREF(value)
 *         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":114
 * 
 * @cname("__Pyx_carray_to_py_CUaddress_mode")
 * cdef inline list __Pyx_carray_to_py_CUaddress_mode(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* 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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":126
 * 
 * @cname("__Pyx_carray_to_tuple_CUaddress_mode")
 * cdef inline tuple __Pyx_carray_to_tuple_CUaddress_mode(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_CUaddress_mode(CUaddress_mode *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_t = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_tuple_CUaddress_mode", 1);
  __Pyx_TraceCall("__Pyx_carray_to_tuple_CUaddress_mode", __pyx_f[0], 126, 0, __PYX_ERR(0, 126, __pyx_L1_error));

  /* "carray.to_py":129
 *     cdef size_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyTuple_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":130
 *     cdef object value
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":131
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)
 */
    __pyx_t_1 = __Pyx_PyInt_From_enum__CUaddress_mode_enum((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":132
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyTuple_SET_ITEM(t, i, value)
 *     return t
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)             # <<<<<<<<<<<<<<
 *     return t
 */
    PyTuple_SET_ITEM(__pyx_v_t, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":134
 *         Py_INCREF(value)
 *         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":126
 * 
 * @cname("__Pyx_carray_to_tuple_CUaddress_mode")
 * cdef inline tuple __Pyx_carray_to_tuple_CUaddress_mode(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* 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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.from_py":79
 * 
 * @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:
 */

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_TraceDeclarations
  __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", 1);
  __Pyx_TraceCall("__Pyx_carray_from_py_CUaddress_mode", __pyx_f[0], 79, 0, __PYX_ERR(0, 79, __pyx_L1_error));

  /* "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(0, 82, __pyx_L3_error)
      __pyx_v_i = __pyx_t_4;

      /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_CUaddress_mode(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "carray.from_py":83
 *     try:
 *         i = len(o)
 *     except (TypeError, OverflowError):             # <<<<<<<<<<<<<<
 *         pass
 *     if i == length:
 */
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches2(__pyx_builtin_TypeError, __pyx_builtin_OverflowError);
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_CUaddress_mode(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
 */
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L8_try_end:;
  }

  /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
 */
  __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
  if (__pyx_t_6) {

    /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
 */
    __pyx_t_4 = 0;
    if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
      __pyx_t_7 = __pyx_v_o; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 86, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 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_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 86, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 86, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        }
      } else {
        __pyx_t_10 = __pyx_t_9(__pyx_t_7);
        if (unlikely(!__pyx_t_10)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 86, __pyx_L1_error)
          }
          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_L11_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_PyInt_As_enum__CUaddress_mode_enum(__pyx_v_item)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 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_L13_for_else;
    __pyx_L11_break:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L14_for_end;
    /*else*/ {
      __pyx_L13_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_L14_for_end:;

    /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
 */
  }

  /* "carray.from_py":98
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 *          if i >= length else             # <<<<<<<<<<<<<<
 *          "not enough values found during array assignment, expected %zd, got %zd"),
 *         length, i)
 */
  __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
  if (__pyx_t_6) {
    __pyx_t_12 = ((char const *)"too many values found during array assignment, expected %zd");
  } else {
    __pyx_t_12 = ((char const *)"not enough values found during array assignment, expected %zd, got %zd");
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 */
  __pyx_t_7 = PyErr_Format(__pyx_builtin_IndexError, __pyx_t_12, __pyx_v_length, __pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "carray.from_py":79
 * 
 * @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:
 */

  /* 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_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":114
 * 
 * @cname("__Pyx_carray_to_py_float")
 * cdef inline list __Pyx_carray_to_py_float(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_float(float *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_l = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_py_float", 1);
  __Pyx_TraceCall("__Pyx_carray_to_py_float", __pyx_f[0], 114, 0, __PYX_ERR(0, 114, __pyx_L1_error));

  /* "carray.to_py":117
 *     cdef size_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyList_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":118
 *     cdef object value
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":119
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)
 */
    __pyx_t_1 = PyFloat_FromDouble((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":120
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyList_SET_ITEM(l, i, value)
 *     return l
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)             # <<<<<<<<<<<<<<
 *     return l
 * 
 */
    PyList_SET_ITEM(__pyx_v_l, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":122
 *         Py_INCREF(value)
 *         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":114
 * 
 * @cname("__Pyx_carray_to_py_float")
 * cdef inline list __Pyx_carray_to_py_float(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* 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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":126
 * 
 * @cname("__Pyx_carray_to_tuple_float")
 * cdef inline tuple __Pyx_carray_to_tuple_float(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_float(float *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_t = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_tuple_float", 1);
  __Pyx_TraceCall("__Pyx_carray_to_tuple_float", __pyx_f[0], 126, 0, __PYX_ERR(0, 126, __pyx_L1_error));

  /* "carray.to_py":129
 *     cdef size_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyTuple_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":130
 *     cdef object value
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":131
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)
 */
    __pyx_t_1 = PyFloat_FromDouble((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":132
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyTuple_SET_ITEM(t, i, value)
 *     return t
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)             # <<<<<<<<<<<<<<
 *     return t
 */
    PyTuple_SET_ITEM(__pyx_v_t, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":134
 *         Py_INCREF(value)
 *         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":126
 * 
 * @cname("__Pyx_carray_to_tuple_float")
 * cdef inline tuple __Pyx_carray_to_tuple_float(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* 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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.from_py":79
 * 
 * @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:
 */

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_TraceDeclarations
  __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", 1);
  __Pyx_TraceCall("__Pyx_carray_from_py_float", __pyx_f[0], 79, 0, __PYX_ERR(0, 79, __pyx_L1_error));

  /* "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(0, 82, __pyx_L3_error)
      __pyx_v_i = __pyx_t_4;

      /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_float(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "carray.from_py":83
 *     try:
 *         i = len(o)
 *     except (TypeError, OverflowError):             # <<<<<<<<<<<<<<
 *         pass
 *     if i == length:
 */
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches2(__pyx_builtin_TypeError, __pyx_builtin_OverflowError);
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_float(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
 */
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L8_try_end:;
  }

  /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
 */
  __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
  if (__pyx_t_6) {

    /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
 */
    __pyx_t_4 = 0;
    if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
      __pyx_t_7 = __pyx_v_o; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 86, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 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_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 86, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 86, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        }
      } else {
        __pyx_t_10 = __pyx_t_9(__pyx_t_7);
        if (unlikely(!__pyx_t_10)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 86, __pyx_L1_error)
          }
          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_L11_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(0, 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_L13_for_else;
    __pyx_L11_break:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L14_for_end;
    /*else*/ {
      __pyx_L13_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_L14_for_end:;

    /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
 */
  }

  /* "carray.from_py":98
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 *          if i >= length else             # <<<<<<<<<<<<<<
 *          "not enough values found during array assignment, expected %zd, got %zd"),
 *         length, i)
 */
  __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
  if (__pyx_t_6) {
    __pyx_t_12 = ((char const *)"too many values found during array assignment, expected %zd");
  } else {
    __pyx_t_12 = ((char const *)"not enough values found during array assignment, expected %zd, got %zd");
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 */
  __pyx_t_7 = PyErr_Format(__pyx_builtin_IndexError, __pyx_t_12, __pyx_v_length, __pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "carray.from_py":79
 * 
 * @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:
 */

  /* 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_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":114
 * 
 * @cname("__Pyx_carray_to_py_PY_LONG_LONG")
 * cdef inline list __Pyx_carray_to_py_PY_LONG_LONG(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_py_PY_LONG_LONG(PY_LONG_LONG *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_l = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_py_PY_LONG_LONG", 1);
  __Pyx_TraceCall("__Pyx_carray_to_py_PY_LONG_LONG", __pyx_f[0], 114, 0, __PYX_ERR(0, 114, __pyx_L1_error));

  /* "carray.to_py":117
 *     cdef size_t i
 *     cdef object value
 *     l = PyList_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyList_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_l = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":118
 *     cdef object value
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":119
 *     l = PyList_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)
 */
    __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":120
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyList_SET_ITEM(l, i, value)
 *     return l
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":121
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyList_SET_ITEM(l, i, value)             # <<<<<<<<<<<<<<
 *     return l
 * 
 */
    PyList_SET_ITEM(__pyx_v_l, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":122
 *         Py_INCREF(value)
 *         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":114
 * 
 * @cname("__Pyx_carray_to_py_PY_LONG_LONG")
 * cdef inline list __Pyx_carray_to_py_PY_LONG_LONG(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* 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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.to_py":126
 * 
 * @cname("__Pyx_carray_to_tuple_PY_LONG_LONG")
 * cdef inline tuple __Pyx_carray_to_tuple_PY_LONG_LONG(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

static CYTHON_INLINE PyObject *__Pyx_carray_to_tuple_PY_LONG_LONG(PY_LONG_LONG *__pyx_v_v, Py_ssize_t __pyx_v_length) {
  size_t __pyx_v_i;
  PyObject *__pyx_v_value = 0;
  PyObject *__pyx_v_t = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  size_t __pyx_t_3;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_carray_to_tuple_PY_LONG_LONG", 1);
  __Pyx_TraceCall("__Pyx_carray_to_tuple_PY_LONG_LONG", __pyx_f[0], 126, 0, __PYX_ERR(0, 126, __pyx_L1_error));

  /* "carray.to_py":129
 *     cdef size_t i
 *     cdef object value
 *     t = PyTuple_New(length)             # <<<<<<<<<<<<<<
 *     for i in range(<size_t>length):
 *         value = v[i]
 */
  __pyx_t_1 = PyTuple_New(__pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_t = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "carray.to_py":130
 *     cdef object value
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):             # <<<<<<<<<<<<<<
 *         value = v[i]
 *         Py_INCREF(value)
 */
  __pyx_t_2 = ((size_t)__pyx_v_length);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "carray.to_py":131
 *     t = PyTuple_New(length)
 *     for i in range(<size_t>length):
 *         value = v[i]             # <<<<<<<<<<<<<<
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)
 */
    __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG((__pyx_v_v[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "carray.to_py":132
 *     for i in range(<size_t>length):
 *         value = v[i]
 *         Py_INCREF(value)             # <<<<<<<<<<<<<<
 *         PyTuple_SET_ITEM(t, i, value)
 *     return t
 */
    Py_INCREF(__pyx_v_value);

    /* "carray.to_py":133
 *         value = v[i]
 *         Py_INCREF(value)
 *         PyTuple_SET_ITEM(t, i, value)             # <<<<<<<<<<<<<<
 *     return t
 */
    PyTuple_SET_ITEM(__pyx_v_t, __pyx_v_i, __pyx_v_value);
  }

  /* "carray.to_py":134
 *         Py_INCREF(value)
 *         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":126
 * 
 * @cname("__Pyx_carray_to_tuple_PY_LONG_LONG")
 * cdef inline tuple __Pyx_carray_to_tuple_PY_LONG_LONG(base_type *v, Py_ssize_t length):             # <<<<<<<<<<<<<<
 *     cdef size_t i
 *     cdef object value
 */

  /* 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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "carray.from_py":79
 * 
 * @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:
 */

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_TraceDeclarations
  __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", 1);
  __Pyx_TraceCall("__Pyx_carray_from_py_PY_LONG_LONG", __pyx_f[0], 79, 0, __PYX_ERR(0, 79, __pyx_L1_error));

  /* "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(0, 82, __pyx_L3_error)
      __pyx_v_i = __pyx_t_4;

      /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_PY_LONG_LONG(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "carray.from_py":83
 *     try:
 *         i = len(o)
 *     except (TypeError, OverflowError):             # <<<<<<<<<<<<<<
 *         pass
 *     if i == length:
 */
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches2(__pyx_builtin_TypeError, __pyx_builtin_OverflowError);
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L4_exception_handled;
    }
    goto __pyx_L5_except_error;

    /* "carray.from_py":81
 * cdef int __Pyx_carray_from_py_PY_LONG_LONG(object o, base_type *v, Py_ssize_t length) except -1:
 *     cdef Py_ssize_t i = length
 *     try:             # <<<<<<<<<<<<<<
 *         i = len(o)
 *     except (TypeError, OverflowError):
 */
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L4_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L8_try_end:;
  }

  /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
 */
  __pyx_t_6 = (__pyx_v_i == __pyx_v_length);
  if (__pyx_t_6) {

    /* "carray.from_py":86
 *         pass
 *     if i == length:
 *         for i, item in enumerate(o):             # <<<<<<<<<<<<<<
 *             if i >= length:
 *                 break
 */
    __pyx_t_4 = 0;
    if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
      __pyx_t_7 = __pyx_v_o; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 86, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 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_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 86, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 86, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        }
      } else {
        __pyx_t_10 = __pyx_t_9(__pyx_t_7);
        if (unlikely(!__pyx_t_10)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(0, 86, __pyx_L1_error)
          }
          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_L11_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_PyInt_As_PY_LONG_LONG(__pyx_v_item); if (unlikely((__pyx_t_11 == (PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 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_L13_for_else;
    __pyx_L11_break:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L14_for_end;
    /*else*/ {
      __pyx_L13_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_L14_for_end:;

    /* "carray.from_py":85
 *     except (TypeError, OverflowError):
 *         pass
 *     if i == length:             # <<<<<<<<<<<<<<
 *         for i, item in enumerate(o):
 *             if i >= length:
 */
  }

  /* "carray.from_py":98
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 *          if i >= length else             # <<<<<<<<<<<<<<
 *          "not enough values found during array assignment, expected %zd, got %zd"),
 *         length, i)
 */
  __pyx_t_6 = (__pyx_v_i >= __pyx_v_length);
  if (__pyx_t_6) {
    __pyx_t_12 = ((char const *)"too many values found during array assignment, expected %zd");
  } else {
    __pyx_t_12 = ((char const *)"not enough values found during array assignment, expected %zd, got %zd");
  }

  /* "carray.from_py":95
 *                 return 0
 * 
 *     PyErr_Format(             # <<<<<<<<<<<<<<
 *         IndexError,
 *         ("too many values found during array assignment, expected %zd"
 */
  __pyx_t_7 = PyErr_Format(__pyx_builtin_IndexError, __pyx_t_12, __pyx_v_length, __pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

  /* "carray.from_py":79
 * 
 * @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:
 */

  /* 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_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_CUjit_option")
 * cdef vector[X] __pyx_convert_vector_from_py_CUjit_option(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

static std::vector<CUjit_option>  __pyx_convert_vector_from_py_CUjit_option(PyObject *__pyx_v_o) {
  std::vector<CUjit_option>  __pyx_v_v;
  PyObject *__pyx_v_item = NULL;
  std::vector<CUjit_option>  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  CUjit_option __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_CUjit_option", 1);

  /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_CUjit_option(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __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_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 47, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "vector.from_py":48
 *     cdef vector[X] v
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 *     return v
 * 
 */
    __pyx_t_5 = ((enum CUjit_option_enum)__Pyx_PyInt_As_enum__CUjit_option_enum(__pyx_v_item)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 48, __pyx_L1_error)
    try {
      __pyx_v_v.push_back(((CUjit_option)__pyx_t_5));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 48, __pyx_L1_error)
    }

    /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_CUjit_option(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "vector.from_py":49
 *     for item in o:
 *         v.push_back(<X>item)
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_CUjit_option")
 * cdef vector[X] __pyx_convert_vector_from_py_CUjit_option(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __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;
  PyObject *__pyx_v_item = NULL;
  std::vector<CUlibraryOption>  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  CUlibraryOption __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_CUlibraryOption", 1);

  /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_CUlibraryOption(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __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_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 47, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "vector.from_py":48
 *     cdef vector[X] v
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 *     return v
 * 
 */
    __pyx_t_5 = ((enum CUlibraryOption_enum)__Pyx_PyInt_As_enum__CUlibraryOption_enum(__pyx_v_item)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 48, __pyx_L1_error)
    try {
      __pyx_v_v.push_back(((CUlibraryOption)__pyx_t_5));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 48, __pyx_L1_error)
    }

    /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_CUlibraryOption(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "vector.from_py":49
 *     for item in o:
 *         v.push_back(<X>item)
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_CUlibraryOption")
 * cdef vector[X] __pyx_convert_vector_from_py_CUlibraryOption(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __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;
  PyObject *__pyx_v_item = NULL;
  std::vector<size_t>  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  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("__pyx_convert_vector_from_py_size_t", 1);

  /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_size_t(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __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_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 47, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "vector.from_py":48
 *     cdef vector[X] v
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 *     return v
 * 
 */
    __pyx_t_5 = __Pyx_PyInt_As_size_t(__pyx_v_item); if (unlikely((__pyx_t_5 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 48, __pyx_L1_error)
    try {
      __pyx_v_v.push_back(((size_t)__pyx_t_5));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 48, __pyx_L1_error)
    }

    /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_size_t(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "vector.from_py":49
 *     for item in o:
 *         v.push_back(<X>item)
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_size_t")
 * cdef vector[X] __pyx_convert_vector_from_py_size_t(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __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;
  PyObject *__pyx_v_item = NULL;
  std::vector<CUmem_range_attribute>  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  CUmem_range_attribute __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_CUmem_range_attribute", 1);

  /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_CUmem_range_attribute(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __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_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 47, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "vector.from_py":48
 *     cdef vector[X] v
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 *     return v
 * 
 */
    __pyx_t_5 = ((enum CUmem_range_attribute_enum)__Pyx_PyInt_As_enum__CUmem_range_attribute_enum(__pyx_v_item)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 48, __pyx_L1_error)
    try {
      __pyx_v_v.push_back(((CUmem_range_attribute)__pyx_t_5));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 48, __pyx_L1_error)
    }

    /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_CUmem_range_attribute(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "vector.from_py":49
 *     for item in o:
 *         v.push_back(<X>item)
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_CUmem_range_attribute")
 * cdef vector[X] __pyx_convert_vector_from_py_CUmem_range_attribute(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __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;
  PyObject *__pyx_v_item = NULL;
  std::vector<CUpointer_attribute>  __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  CUpointer_attribute __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_CUpointer_attribute", 1);

  /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_CUpointer_attribute(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __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_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 47, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "vector.from_py":48
 *     cdef vector[X] v
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 *     return v
 * 
 */
    __pyx_t_5 = ((enum CUpointer_attribute_enum)__Pyx_PyInt_As_enum__CUpointer_attribute_enum(__pyx_v_item)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 48, __pyx_L1_error)
    try {
      __pyx_v_v.push_back(((CUpointer_attribute)__pyx_t_5));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 48, __pyx_L1_error)
    }

    /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_CUpointer_attribute(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "vector.from_py":49
 *     for item in o:
 *         v.push_back(<X>item)
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_CUpointer_attribute")
 * cdef vector[X] __pyx_convert_vector_from_py_CUpointer_attribute(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __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;
  PyObject *__pyx_v_item = NULL;
  std::vector<int>  __pyx_r;
  __Pyx_RefNannyDeclarations
  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_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_convert_vector_from_py_int", 1);

  /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_int(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  if (likely(PyList_CheckExact(__pyx_v_o)) || PyTuple_CheckExact(__pyx_v_o)) {
    __pyx_t_1 = __pyx_v_o; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_o); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __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_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 47, __pyx_L1_error)
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        #endif
      }
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 47, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "vector.from_py":48
 *     cdef vector[X] v
 *     for item in o:
 *         v.push_back(<X>item)             # <<<<<<<<<<<<<<
 *     return v
 * 
 */
    __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_v_item); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 48, __pyx_L1_error)
    try {
      __pyx_v_v.push_back(((int)__pyx_t_5));
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 48, __pyx_L1_error)
    }

    /* "vector.from_py":47
 * cdef vector[X] __pyx_convert_vector_from_py_int(object o) except *:
 *     cdef vector[X] v
 *     for item in o:             # <<<<<<<<<<<<<<
 *         v.push_back(<X>item)
 *     return v
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "vector.from_py":49
 *     for item in o:
 *         v.push_back(<X>item)
 *     return v             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = __pyx_v_v;
  goto __pyx_L0;

  /* "vector.from_py":45
 * 
 * @cname("__pyx_convert_vector_from_py_int")
 * cdef vector[X] __pyx_convert_vector_from_py_int(object o) except *:             # <<<<<<<<<<<<<<
 *     cdef vector[X] v
 *     for item in o:
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __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/cuda.pyx":4100
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11CUdeviceptr_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11CUdeviceptr_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned PY_LONG_LONG __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4100, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4100, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4100, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4100, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4100, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4100, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdeviceptr.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUdeviceptr___cinit__(((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11CUdeviceptr___cinit__(struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4100, 0, __PYX_ERR(1, 4100, __pyx_L1_error));

  /* "cuda/cuda.pyx":4101
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4102
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUdeviceptr *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUdeviceptr__val);

    /* "cuda/cuda.pyx":4101
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4104
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUdeviceptr *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUdeviceptr *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4105
 *         else:
 *             self._ptr = <ccuda.CUdeviceptr *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4106
 *             self._ptr = <ccuda.CUdeviceptr *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":4105
 *         else:
 *             self._ptr = <ccuda.CUdeviceptr *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":4100
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdeviceptr.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4107
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_11CUdeviceptr_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_11CUdeviceptr_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_11CUdeviceptr_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 4107, 0, __PYX_ERR(1, 4107, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUdeviceptr.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":4109
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUdeviceptr ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUdeviceptr_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUdeviceptr_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUdeviceptr_4__repr__(struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4109, 0, __PYX_ERR(1, 4109, __pyx_L1_error));

  /* "cuda/cuda.pyx":4110
 *         pass
 *     def __repr__(self):
 *         return '<CUdeviceptr ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_CUdeviceptr, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4110, __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/cuda.pyx":4109
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUdeviceptr.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4111
 *     def __repr__(self):
 *         return '<CUdeviceptr ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUdeviceptr_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUdeviceptr_6__int__(((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUdeviceptr_6__int__(struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4111, 0, __PYX_ERR(1, 4111, __pyx_L1_error));

  /* "cuda/cuda.pyx":4112
 *         return '<CUdeviceptr ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4111
 *     def __repr__(self):
 *         return '<CUdeviceptr ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdeviceptr.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4113
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUdeviceptr_8getPtr, "CUdeviceptr.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUdeviceptr_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUdeviceptr_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUdeviceptr_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUdeviceptr_8getPtr(((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUdeviceptr_8getPtr(struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__2)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4113, 0, __PYX_ERR(1, 4113, __pyx_L1_error));

  /* "cuda/cuda.pyx":4114
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdevice:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4113
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdeviceptr.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_11CUdeviceptr_10__reduce_cython__, "CUdeviceptr.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUdeviceptr_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUdeviceptr_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUdeviceptr_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUdeviceptr_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUdeviceptr_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__3)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdeviceptr.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUdeviceptr_12__setstate_cython__, "CUdeviceptr.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUdeviceptr_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUdeviceptr_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUdeviceptr_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdeviceptr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUdeviceptr_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUdeviceptr_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__4)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdeviceptr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4127
 * 
 *     """
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_8CUdevice_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_8CUdevice_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4127, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4127, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4127, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_init_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 4127, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((int)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4127, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4127, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdevice.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUdevice___cinit__(((struct __pyx_obj_4cuda_4cuda_CUdevice *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_8CUdevice___cinit__(struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_self, int __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4127, 0, __PYX_ERR(1, 4127, __pyx_L1_error));

  /* "cuda/cuda.pyx":4128
 *     """
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4129
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUdevice *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUdevice__val);

    /* "cuda/cuda.pyx":4128
 *     """
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4131
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUdevice *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUdevice *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4132
 *         else:
 *             self._ptr = <ccuda.CUdevice *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4133
 *             self._ptr = <ccuda.CUdevice *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":4132
 *         else:
 *             self._ptr = <ccuda.CUdevice *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":4127
 * 
 *     """
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevice.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4134
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_8CUdevice_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_8CUdevice_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUdevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_8CUdevice_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 4134, 0, __PYX_ERR(1, 4134, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUdevice.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":4136
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUdevice ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUdevice_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8CUdevice_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUdevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUdevice_4__repr__(struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4136, 0, __PYX_ERR(1, 4136, __pyx_L1_error));

  /* "cuda/cuda.pyx":4137
 *         pass
 *     def __repr__(self):
 *         return '<CUdevice ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <int>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_CUdevice, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4137, __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/cuda.pyx":4136
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUdevice.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4138
 *     def __repr__(self):
 *         return '<CUdevice ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <int>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUdevice_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8CUdevice_6__int__(((struct __pyx_obj_4cuda_4cuda_CUdevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUdevice_6__int__(struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4138, 0, __PYX_ERR(1, 4138, __pyx_L1_error));

  /* "cuda/cuda.pyx":4139
 *         return '<CUdevice ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <int>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(((int)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4138
 *     def __repr__(self):
 *         return '<CUdevice ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <int>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevice.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4140
 *     def __int__(self):
 *         return <int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8CUdevice_8getPtr, "CUdevice.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUdevice_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUdevice_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUdevice_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUdevice_8getPtr(((struct __pyx_obj_4cuda_4cuda_CUdevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUdevice_8getPtr(struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__5)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4140, 0, __PYX_ERR(1, 4140, __pyx_L1_error));

  /* "cuda/cuda.pyx":4141
 *         return <int>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUtexObject:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4140
 *     def __int__(self):
 *         return <int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevice.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_8CUdevice_10__reduce_cython__, "CUdevice.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUdevice_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUdevice_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUdevice_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUdevice_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUdevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUdevice_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__6)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevice.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8CUdevice_12__setstate_cython__, "CUdevice.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUdevice_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUdevice_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUdevice_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdevice.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUdevice_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUdevice *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUdevice_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__7)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevice.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4154
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11CUtexObject_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11CUtexObject_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned PY_LONG_LONG __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4154, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4154, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4154, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4154, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4154, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4154, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUtexObject.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUtexObject___cinit__(((struct __pyx_obj_4cuda_4cuda_CUtexObject *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11CUtexObject___cinit__(struct __pyx_obj_4cuda_4cuda_CUtexObject *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4154, 0, __PYX_ERR(1, 4154, __pyx_L1_error));

  /* "cuda/cuda.pyx":4155
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4156
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUtexObject *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUtexObject__val);

    /* "cuda/cuda.pyx":4155
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4158
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUtexObject *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUtexObject *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4159
 *         else:
 *             self._ptr = <ccuda.CUtexObject *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4160
 *             self._ptr = <ccuda.CUtexObject *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":4159
 *         else:
 *             self._ptr = <ccuda.CUtexObject *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":4154
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUtexObject.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4161
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_11CUtexObject_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_11CUtexObject_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUtexObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_11CUtexObject_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexObject *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 4161, 0, __PYX_ERR(1, 4161, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUtexObject.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":4163
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUtexObject ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUtexObject_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUtexObject_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUtexObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUtexObject_4__repr__(struct __pyx_obj_4cuda_4cuda_CUtexObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4163, 0, __PYX_ERR(1, 4163, __pyx_L1_error));

  /* "cuda/cuda.pyx":4164
 *         pass
 *     def __repr__(self):
 *         return '<CUtexObject ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_CUtexObject, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4164, __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/cuda.pyx":4163
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUtexObject.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4165
 *     def __repr__(self):
 *         return '<CUtexObject ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUtexObject_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUtexObject_6__int__(((struct __pyx_obj_4cuda_4cuda_CUtexObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUtexObject_6__int__(struct __pyx_obj_4cuda_4cuda_CUtexObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4165, 0, __PYX_ERR(1, 4165, __pyx_L1_error));

  /* "cuda/cuda.pyx":4166
 *         return '<CUtexObject ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4165
 *     def __repr__(self):
 *         return '<CUtexObject ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUtexObject.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4167
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUtexObject_8getPtr, "CUtexObject.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUtexObject_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUtexObject_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUtexObject_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUtexObject_8getPtr(((struct __pyx_obj_4cuda_4cuda_CUtexObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUtexObject_8getPtr(struct __pyx_obj_4cuda_4cuda_CUtexObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__8)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4167, 0, __PYX_ERR(1, 4167, __pyx_L1_error));

  /* "cuda/cuda.pyx":4168
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUsurfObject:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4167
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUtexObject.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_11CUtexObject_10__reduce_cython__, "CUtexObject.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUtexObject_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUtexObject_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUtexObject_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUtexObject_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUtexObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUtexObject_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__9)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUtexObject.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUtexObject_12__setstate_cython__, "CUtexObject.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUtexObject_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUtexObject_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUtexObject_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUtexObject.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUtexObject_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUtexObject *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUtexObject_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__10)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUtexObject.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4181
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12CUsurfObject_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12CUsurfObject_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned PY_LONG_LONG __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4181, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4181, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4181, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4181, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4181, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4181, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUsurfObject.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUsurfObject___cinit__(((struct __pyx_obj_4cuda_4cuda_CUsurfObject *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12CUsurfObject___cinit__(struct __pyx_obj_4cuda_4cuda_CUsurfObject *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4181, 0, __PYX_ERR(1, 4181, __pyx_L1_error));

  /* "cuda/cuda.pyx":4182
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4183
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUsurfObject *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUsurfObject__val);

    /* "cuda/cuda.pyx":4182
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4185
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUsurfObject *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUsurfObject *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4186
 *         else:
 *             self._ptr = <ccuda.CUsurfObject *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4187
 *             self._ptr = <ccuda.CUsurfObject *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":4186
 *         else:
 *             self._ptr = <ccuda.CUsurfObject *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":4181
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUsurfObject.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4188
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_12CUsurfObject_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_12CUsurfObject_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUsurfObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_12CUsurfObject_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfObject *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 4188, 0, __PYX_ERR(1, 4188, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUsurfObject.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":4190
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUsurfObject ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUsurfObject_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUsurfObject_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUsurfObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUsurfObject_4__repr__(struct __pyx_obj_4cuda_4cuda_CUsurfObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4190, 0, __PYX_ERR(1, 4190, __pyx_L1_error));

  /* "cuda/cuda.pyx":4191
 *         pass
 *     def __repr__(self):
 *         return '<CUsurfObject ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_CUsurfObject, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4191, __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/cuda.pyx":4190
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUsurfObject.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4192
 *     def __repr__(self):
 *         return '<CUsurfObject ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUsurfObject_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUsurfObject_6__int__(((struct __pyx_obj_4cuda_4cuda_CUsurfObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUsurfObject_6__int__(struct __pyx_obj_4cuda_4cuda_CUsurfObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4192, 0, __PYX_ERR(1, 4192, __pyx_L1_error));

  /* "cuda/cuda.pyx":4193
 *         return '<CUsurfObject ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4192
 *     def __repr__(self):
 *         return '<CUsurfObject ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUsurfObject.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4194
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUsurfObject_8getPtr, "CUsurfObject.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12CUsurfObject_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUsurfObject_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUsurfObject_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUsurfObject_8getPtr(((struct __pyx_obj_4cuda_4cuda_CUsurfObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUsurfObject_8getPtr(struct __pyx_obj_4cuda_4cuda_CUsurfObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__11)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4194, 0, __PYX_ERR(1, 4194, __pyx_L1_error));

  /* "cuda/cuda.pyx":4195
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraphConditionalHandle:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4194
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUsurfObject.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_12CUsurfObject_10__reduce_cython__, "CUsurfObject.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12CUsurfObject_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUsurfObject_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUsurfObject_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUsurfObject_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUsurfObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUsurfObject_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__12)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUsurfObject.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUsurfObject_12__setstate_cython__, "CUsurfObject.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12CUsurfObject_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUsurfObject_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUsurfObject_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUsurfObject.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUsurfObject_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUsurfObject *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUsurfObject_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__13)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUsurfObject.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4206
 * 
 *     """
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint64_t __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4206, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4206, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4206, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_init_value == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 4206, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((uint64_t)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4206, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4206, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphConditionalHandle.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle___cinit__(((struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *__pyx_v_self, uint64_t __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4206, 0, __PYX_ERR(1, 4206, __pyx_L1_error));

  /* "cuda/cuda.pyx":4207
 *     """
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4208
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUgraphConditionalHandle *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUgraphConditionalHandle__val);

    /* "cuda/cuda.pyx":4207
 *     """
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4210
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUgraphConditionalHandle *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUgraphConditionalHandle *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4211
 *         else:
 *             self._ptr = <ccuda.CUgraphConditionalHandle *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4212
 *             self._ptr = <ccuda.CUgraphConditionalHandle *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":4211
 *         else:
 *             self._ptr = <ccuda.CUgraphConditionalHandle *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":4206
 * 
 *     """
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphConditionalHandle.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4213
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_24CUgraphConditionalHandle_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 4213, 0, __PYX_ERR(1, 4213, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUgraphConditionalHandle.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":4215
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraphConditionalHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUgraphConditionalHandle_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle_4__repr__(struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4215, 0, __PYX_ERR(1, 4215, __pyx_L1_error));

  /* "cuda/cuda.pyx":4216
 *         pass
 *     def __repr__(self):
 *         return '<CUgraphConditionalHandle ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <uint64_t>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4216, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_CUgraphConditionalHandle, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4216, __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/cuda.pyx":4215
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphConditionalHandle.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4217
 *     def __repr__(self):
 *         return '<CUgraphConditionalHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint64_t>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUgraphConditionalHandle_6__int__(((struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle_6__int__(struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4217, 0, __PYX_ERR(1, 4217, __pyx_L1_error));

  /* "cuda/cuda.pyx":4218
 *         return '<CUgraphConditionalHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <uint64_t>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(((uint64_t)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4217
 *     def __repr__(self):
 *         return '<CUgraphConditionalHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint64_t>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphConditionalHandle.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4219
 *     def __int__(self):
 *         return <uint64_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUgraphConditionalHandle_8getPtr, "CUgraphConditionalHandle.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_24CUgraphConditionalHandle_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUgraphConditionalHandle_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle_8getPtr(((struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle_8getPtr(struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__14)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4219, 0, __PYX_ERR(1, 4219, __pyx_L1_error));

  /* "cuda/cuda.pyx":4220
 *         return <uint64_t>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * class CUkernelNodeAttrID(IntEnum):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4219
 *     def __int__(self):
 *         return <uint64_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphConditionalHandle.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_24CUgraphConditionalHandle_10__reduce_cython__, "CUgraphConditionalHandle.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_24CUgraphConditionalHandle_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUgraphConditionalHandle_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__15)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphConditionalHandle.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUgraphConditionalHandle_12__setstate_cython__, "CUgraphConditionalHandle.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_24CUgraphConditionalHandle_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUgraphConditionalHandle_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphConditionalHandle.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUgraphConditionalHandle_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__16)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphConditionalHandle.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4487
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned PY_LONG_LONG __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4487, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4487, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4487, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4487, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4487, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4487, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemGenericAllocationHandle.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle___cinit__(((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4487, 0, __PYX_ERR(1, 4487, __pyx_L1_error));

  /* "cuda/cuda.pyx":4488
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4489
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUmemGenericAllocationHandle *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUmemGenericAllocationHandle__val);

    /* "cuda/cuda.pyx":4488
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4491
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUmemGenericAllocationHandle *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUmemGenericAllocationHandle *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4492
 *         else:
 *             self._ptr = <ccuda.CUmemGenericAllocationHandle *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4493
 *             self._ptr = <ccuda.CUmemGenericAllocationHandle *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":4492
 *         else:
 *             self._ptr = <ccuda.CUmemGenericAllocationHandle *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":4487
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemGenericAllocationHandle.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4494
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_28CUmemGenericAllocationHandle_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 4494, 0, __PYX_ERR(1, 4494, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUmemGenericAllocationHandle.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":4496
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUmemGenericAllocationHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUmemGenericAllocationHandle_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle_4__repr__(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4496, 0, __PYX_ERR(1, 4496, __pyx_L1_error));

  /* "cuda/cuda.pyx":4497
 *         pass
 *     def __repr__(self):
 *         return '<CUmemGenericAllocationHandle ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_CUmemGenericAllocationHandle, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4497, __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/cuda.pyx":4496
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUmemGenericAllocationHandle.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4498
 *     def __repr__(self):
 *         return '<CUmemGenericAllocationHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUmemGenericAllocationHandle_6__int__(((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle_6__int__(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4498, 0, __PYX_ERR(1, 4498, __pyx_L1_error));

  /* "cuda/cuda.pyx":4499
 *         return '<CUmemGenericAllocationHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4498
 *     def __repr__(self):
 *         return '<CUmemGenericAllocationHandle ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemGenericAllocationHandle.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4500
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUmemGenericAllocationHandle_8getPtr, "CUmemGenericAllocationHandle.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_28CUmemGenericAllocationHandle_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUmemGenericAllocationHandle_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle_8getPtr(((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle_8getPtr(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__17)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4500, 0, __PYX_ERR(1, 4500, __pyx_L1_error));

  /* "cuda/cuda.pyx":4501
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUcontext:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4500
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemGenericAllocationHandle.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_28CUmemGenericAllocationHandle_10__reduce_cython__, "CUmemGenericAllocationHandle.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_28CUmemGenericAllocationHandle_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUmemGenericAllocationHandle_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__18)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemGenericAllocationHandle.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUmemGenericAllocationHandle_12__setstate_cython__, "CUmemGenericAllocationHandle.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_28CUmemGenericAllocationHandle_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUmemGenericAllocationHandle_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemGenericAllocationHandle.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUmemGenericAllocationHandle_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__19)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemGenericAllocationHandle.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4514
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_9CUcontext_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_9CUcontext_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4514, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4514, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4514, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4514, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4514, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4514, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUcontext.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUcontext___cinit__(((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_9CUcontext___cinit__(struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4514, 0, __PYX_ERR(1, 4514, __pyx_L1_error));

  /* "cuda/cuda.pyx":4515
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUcontext>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4516
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUcontext>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUcontext__val);

    /* "cuda/cuda.pyx":4517
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUcontext>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUcontext *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUcontext)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4515
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUcontext>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4519
 *             self._ptr[0] = <ccuda.CUcontext>init_value
 *         else:
 *             self._ptr = <ccuda.CUcontext *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUcontext *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4514
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUcontext.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4520
 *         else:
 *             self._ptr = <ccuda.CUcontext *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_9CUcontext_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUcontext_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_9CUcontext_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4520, 0, __PYX_ERR(1, 4520, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUcontext.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4522
 *     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_4cuda_9CUcontext_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_9CUcontext_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUcontext_4__repr__(struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4522, 0, __PYX_ERR(1, 4522, __pyx_L1_error));

  /* "cuda/cuda.pyx":4523
 *         pass
 *     def __repr__(self):
 *         return '<CUcontext ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUcontext, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4523, __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/cuda.pyx":4522
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUcontext ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUcontext.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4524
 *     def __repr__(self):
 *         return '<CUcontext ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_9CUcontext_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_9CUcontext_6__index__(((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUcontext_6__index__(struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 4524, 0, __PYX_ERR(1, 4524, __pyx_L1_error));

  /* "cuda/cuda.pyx":4525
 *         return '<CUcontext ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4525, __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/cuda.pyx":4524
 *     def __repr__(self):
 *         return '<CUcontext ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUcontext.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4526
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_9CUcontext_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_9CUcontext_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_4cuda_9CUcontext_8__int__(((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUcontext_8__int__(struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4526, 0, __PYX_ERR(1, 4526, __pyx_L1_error));

  /* "cuda/cuda.pyx":4527
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4526
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUcontext.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4528
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_9CUcontext_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_4cuda_9CUcontext_10getPtr, "CUcontext.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_9CUcontext_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUcontext_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUcontext_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_9CUcontext_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUcontext_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUcontext_10getPtr(struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__20)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4528, 0, __PYX_ERR(1, 4528, __pyx_L1_error));

  /* "cuda/cuda.pyx":4529
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmodule:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4528
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUcontext.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_9CUcontext_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_4cuda_9CUcontext_12__reduce_cython__, "CUcontext.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_9CUcontext_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUcontext_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUcontext_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_9CUcontext_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUcontext_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUcontext_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__21)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUcontext.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_9CUcontext_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_4cuda_9CUcontext_14__setstate_cython__, "CUcontext.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_9CUcontext_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUcontext_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUcontext_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_9CUcontext_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUcontext.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUcontext_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUcontext_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__22)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUcontext.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4542
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_8CUmodule_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_8CUmodule_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4542, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4542, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4542, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4542, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4542, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4542, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmodule.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUmodule___cinit__(((struct __pyx_obj_4cuda_4cuda_CUmodule *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_8CUmodule___cinit__(struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4542, 0, __PYX_ERR(1, 4542, __pyx_L1_error));

  /* "cuda/cuda.pyx":4543
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUmodule>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4544
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUmodule>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUmodule__val);

    /* "cuda/cuda.pyx":4545
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUmodule>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUmodule *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUmodule)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4543
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUmodule>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4547
 *             self._ptr[0] = <ccuda.CUmodule>init_value
 *         else:
 *             self._ptr = <ccuda.CUmodule *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUmodule *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4542
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmodule.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4548
 *         else:
 *             self._ptr = <ccuda.CUmodule *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_8CUmodule_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUmodule_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_8CUmodule_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4548, 0, __PYX_ERR(1, 4548, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmodule.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4550
 *     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_4cuda_8CUmodule_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8CUmodule_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUmodule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUmodule_4__repr__(struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4550, 0, __PYX_ERR(1, 4550, __pyx_L1_error));

  /* "cuda/cuda.pyx":4551
 *         pass
 *     def __repr__(self):
 *         return '<CUmodule ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4551, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUmodule, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4551, __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/cuda.pyx":4550
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUmodule ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUmodule.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4552
 *     def __repr__(self):
 *         return '<CUmodule ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUmodule_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8CUmodule_6__index__(((struct __pyx_obj_4cuda_4cuda_CUmodule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUmodule_6__index__(struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 4552, 0, __PYX_ERR(1, 4552, __pyx_L1_error));

  /* "cuda/cuda.pyx":4553
 *         return '<CUmodule ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4553, __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/cuda.pyx":4552
 *     def __repr__(self):
 *         return '<CUmodule ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUmodule.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4554
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUmodule_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_8CUmodule_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_4cuda_8CUmodule_8__int__(((struct __pyx_obj_4cuda_4cuda_CUmodule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUmodule_8__int__(struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4554, 0, __PYX_ERR(1, 4554, __pyx_L1_error));

  /* "cuda/cuda.pyx":4555
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4554
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmodule.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4556
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUmodule_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_4cuda_8CUmodule_10getPtr, "CUmodule.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUmodule_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUmodule_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUmodule_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_8CUmodule_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUmodule_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUmodule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUmodule_10getPtr(struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__23)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4556, 0, __PYX_ERR(1, 4556, __pyx_L1_error));

  /* "cuda/cuda.pyx":4557
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUfunction:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4556
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmodule.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_8CUmodule_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_4cuda_8CUmodule_12__reduce_cython__, "CUmodule.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUmodule_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUmodule_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUmodule_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_8CUmodule_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUmodule_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUmodule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUmodule_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__24)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmodule.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUmodule_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_4cuda_8CUmodule_14__setstate_cython__, "CUmodule.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUmodule_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUmodule_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUmodule_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_8CUmodule_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmodule.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUmodule_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUmodule *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUmodule_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__25)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmodule.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4570
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_10CUfunction_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_10CUfunction_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4570, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4570, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4570, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4570, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4570, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4570, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUfunction.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_10CUfunction___cinit__(((struct __pyx_obj_4cuda_4cuda_CUfunction *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_10CUfunction___cinit__(struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4570, 0, __PYX_ERR(1, 4570, __pyx_L1_error));

  /* "cuda/cuda.pyx":4571
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUfunction>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4572
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUfunction>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUfunction__val);

    /* "cuda/cuda.pyx":4573
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUfunction>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUfunction *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUfunction)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4571
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUfunction>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4575
 *             self._ptr[0] = <ccuda.CUfunction>init_value
 *         else:
 *             self._ptr = <ccuda.CUfunction *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUfunction *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4570
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUfunction.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4576
 *         else:
 *             self._ptr = <ccuda.CUfunction *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_10CUfunction_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_10CUfunction_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_10CUfunction_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4576, 0, __PYX_ERR(1, 4576, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUfunction.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4578
 *     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_4cuda_10CUfunction_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_10CUfunction_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUfunction *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10CUfunction_4__repr__(struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4578, 0, __PYX_ERR(1, 4578, __pyx_L1_error));

  /* "cuda/cuda.pyx":4579
 *         pass
 *     def __repr__(self):
 *         return '<CUfunction ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUfunction, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4579, __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/cuda.pyx":4578
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUfunction ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUfunction.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4580
 *     def __repr__(self):
 *         return '<CUfunction ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_10CUfunction_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_10CUfunction_6__index__(((struct __pyx_obj_4cuda_4cuda_CUfunction *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10CUfunction_6__index__(struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 4580, 0, __PYX_ERR(1, 4580, __pyx_L1_error));

  /* "cuda/cuda.pyx":4581
 *         return '<CUfunction ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4581, __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/cuda.pyx":4580
 *     def __repr__(self):
 *         return '<CUfunction ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUfunction.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4582
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_10CUfunction_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_10CUfunction_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_4cuda_10CUfunction_8__int__(((struct __pyx_obj_4cuda_4cuda_CUfunction *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10CUfunction_8__int__(struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4582, 0, __PYX_ERR(1, 4582, __pyx_L1_error));

  /* "cuda/cuda.pyx":4583
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4582
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUfunction.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4584
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_10CUfunction_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_4cuda_10CUfunction_10getPtr, "CUfunction.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_10CUfunction_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10CUfunction_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10CUfunction_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_10CUfunction_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_10CUfunction_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUfunction *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10CUfunction_10getPtr(struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__26)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4584, 0, __PYX_ERR(1, 4584, __pyx_L1_error));

  /* "cuda/cuda.pyx":4585
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUlibrary:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4584
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUfunction.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_10CUfunction_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_4cuda_10CUfunction_12__reduce_cython__, "CUfunction.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_10CUfunction_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10CUfunction_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10CUfunction_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_10CUfunction_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_10CUfunction_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUfunction *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10CUfunction_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__27)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUfunction.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_10CUfunction_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_4cuda_10CUfunction_14__setstate_cython__, "CUfunction.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_10CUfunction_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10CUfunction_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10CUfunction_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_10CUfunction_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUfunction.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_10CUfunction_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUfunction *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10CUfunction_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__28)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUfunction.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4598
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_9CUlibrary_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_9CUlibrary_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4598, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4598, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4598, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4598, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4598, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4598, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlibrary.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUlibrary___cinit__(((struct __pyx_obj_4cuda_4cuda_CUlibrary *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_9CUlibrary___cinit__(struct __pyx_obj_4cuda_4cuda_CUlibrary *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4598, 0, __PYX_ERR(1, 4598, __pyx_L1_error));

  /* "cuda/cuda.pyx":4599
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUlibrary>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4600
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUlibrary>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUlibrary__val);

    /* "cuda/cuda.pyx":4601
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUlibrary>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUlibrary *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUlibrary)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4599
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUlibrary>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4603
 *             self._ptr[0] = <ccuda.CUlibrary>init_value
 *         else:
 *             self._ptr = <ccuda.CUlibrary *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUlibrary *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4598
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlibrary.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4604
 *         else:
 *             self._ptr = <ccuda.CUlibrary *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_9CUlibrary_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUlibrary_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_9CUlibrary_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlibrary *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4604, 0, __PYX_ERR(1, 4604, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlibrary.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4606
 *     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_4cuda_9CUlibrary_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_9CUlibrary_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUlibrary *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUlibrary_4__repr__(struct __pyx_obj_4cuda_4cuda_CUlibrary *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4606, 0, __PYX_ERR(1, 4606, __pyx_L1_error));

  /* "cuda/cuda.pyx":4607
 *         pass
 *     def __repr__(self):
 *         return '<CUlibrary ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUlibrary, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4607, __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/cuda.pyx":4606
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUlibrary ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUlibrary.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4608
 *     def __repr__(self):
 *         return '<CUlibrary ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_9CUlibrary_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_9CUlibrary_6__index__(((struct __pyx_obj_4cuda_4cuda_CUlibrary *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUlibrary_6__index__(struct __pyx_obj_4cuda_4cuda_CUlibrary *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 4608, 0, __PYX_ERR(1, 4608, __pyx_L1_error));

  /* "cuda/cuda.pyx":4609
 *         return '<CUlibrary ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4609, __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/cuda.pyx":4608
 *     def __repr__(self):
 *         return '<CUlibrary ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUlibrary.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4610
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_9CUlibrary_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_9CUlibrary_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_4cuda_9CUlibrary_8__int__(((struct __pyx_obj_4cuda_4cuda_CUlibrary *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUlibrary_8__int__(struct __pyx_obj_4cuda_4cuda_CUlibrary *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4610, 0, __PYX_ERR(1, 4610, __pyx_L1_error));

  /* "cuda/cuda.pyx":4611
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4610
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlibrary.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4612
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_9CUlibrary_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_4cuda_9CUlibrary_10getPtr, "CUlibrary.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_9CUlibrary_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUlibrary_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUlibrary_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_9CUlibrary_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUlibrary_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUlibrary *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUlibrary_10getPtr(struct __pyx_obj_4cuda_4cuda_CUlibrary *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__29)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4612, 0, __PYX_ERR(1, 4612, __pyx_L1_error));

  /* "cuda/cuda.pyx":4613
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUkernel:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4612
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlibrary.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_9CUlibrary_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_4cuda_9CUlibrary_12__reduce_cython__, "CUlibrary.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_9CUlibrary_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUlibrary_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUlibrary_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_9CUlibrary_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUlibrary_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUlibrary *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUlibrary_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlibrary *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__30)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlibrary.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_9CUlibrary_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_4cuda_9CUlibrary_14__setstate_cython__, "CUlibrary.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_9CUlibrary_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUlibrary_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUlibrary_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_9CUlibrary_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlibrary.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUlibrary_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUlibrary *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUlibrary_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlibrary *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__31)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlibrary.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4626
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_8CUkernel_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_8CUkernel_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4626, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4626, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4626, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4626, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4626, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4626, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUkernel.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUkernel___cinit__(((struct __pyx_obj_4cuda_4cuda_CUkernel *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_8CUkernel___cinit__(struct __pyx_obj_4cuda_4cuda_CUkernel *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4626, 0, __PYX_ERR(1, 4626, __pyx_L1_error));

  /* "cuda/cuda.pyx":4627
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUkernel>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4628
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUkernel>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUkernel__val);

    /* "cuda/cuda.pyx":4629
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUkernel>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUkernel *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUkernel)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4627
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUkernel>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4631
 *             self._ptr[0] = <ccuda.CUkernel>init_value
 *         else:
 *             self._ptr = <ccuda.CUkernel *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUkernel *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4626
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUkernel.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4632
 *         else:
 *             self._ptr = <ccuda.CUkernel *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_8CUkernel_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUkernel_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_8CUkernel_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUkernel *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4632, 0, __PYX_ERR(1, 4632, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUkernel.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4634
 *     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_4cuda_8CUkernel_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8CUkernel_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUkernel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUkernel_4__repr__(struct __pyx_obj_4cuda_4cuda_CUkernel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4634, 0, __PYX_ERR(1, 4634, __pyx_L1_error));

  /* "cuda/cuda.pyx":4635
 *         pass
 *     def __repr__(self):
 *         return '<CUkernel ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUkernel, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4635, __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/cuda.pyx":4634
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUkernel ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUkernel.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4636
 *     def __repr__(self):
 *         return '<CUkernel ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUkernel_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8CUkernel_6__index__(((struct __pyx_obj_4cuda_4cuda_CUkernel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUkernel_6__index__(struct __pyx_obj_4cuda_4cuda_CUkernel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 4636, 0, __PYX_ERR(1, 4636, __pyx_L1_error));

  /* "cuda/cuda.pyx":4637
 *         return '<CUkernel ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4637, __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/cuda.pyx":4636
 *     def __repr__(self):
 *         return '<CUkernel ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUkernel.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4638
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUkernel_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_8CUkernel_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_4cuda_8CUkernel_8__int__(((struct __pyx_obj_4cuda_4cuda_CUkernel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUkernel_8__int__(struct __pyx_obj_4cuda_4cuda_CUkernel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4638, 0, __PYX_ERR(1, 4638, __pyx_L1_error));

  /* "cuda/cuda.pyx":4639
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4638
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUkernel.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4640
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUkernel_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_4cuda_8CUkernel_10getPtr, "CUkernel.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUkernel_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUkernel_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUkernel_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_8CUkernel_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUkernel_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUkernel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUkernel_10getPtr(struct __pyx_obj_4cuda_4cuda_CUkernel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__32)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4640, 0, __PYX_ERR(1, 4640, __pyx_L1_error));

  /* "cuda/cuda.pyx":4641
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUarray:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4640
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUkernel.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_8CUkernel_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_4cuda_8CUkernel_12__reduce_cython__, "CUkernel.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUkernel_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUkernel_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUkernel_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_8CUkernel_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUkernel_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUkernel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUkernel_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUkernel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__33)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUkernel.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUkernel_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_4cuda_8CUkernel_14__setstate_cython__, "CUkernel.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUkernel_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUkernel_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUkernel_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_8CUkernel_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUkernel.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUkernel_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUkernel *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUkernel_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUkernel *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__34)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUkernel.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4654
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_7CUarray_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_7CUarray_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4654, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4654, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4654, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4654, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4654, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4654, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUarray.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_7CUarray___cinit__(((struct __pyx_obj_4cuda_4cuda_CUarray *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_7CUarray___cinit__(struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4654, 0, __PYX_ERR(1, 4654, __pyx_L1_error));

  /* "cuda/cuda.pyx":4655
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUarray>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4656
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUarray>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUarray__val);

    /* "cuda/cuda.pyx":4657
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUarray>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUarray *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUarray)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4655
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUarray>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4659
 *             self._ptr[0] = <ccuda.CUarray>init_value
 *         else:
 *             self._ptr = <ccuda.CUarray *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUarray *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4654
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUarray.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4660
 *         else:
 *             self._ptr = <ccuda.CUarray *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_7CUarray_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_7CUarray_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_7CUarray_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4660, 0, __PYX_ERR(1, 4660, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUarray.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4662
 *     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_4cuda_7CUarray_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_7CUarray_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUarray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUarray_4__repr__(struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4662, 0, __PYX_ERR(1, 4662, __pyx_L1_error));

  /* "cuda/cuda.pyx":4663
 *         pass
 *     def __repr__(self):
 *         return '<CUarray ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUarray, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4663, __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/cuda.pyx":4662
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUarray ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUarray.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4664
 *     def __repr__(self):
 *         return '<CUarray ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_7CUarray_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_7CUarray_6__index__(((struct __pyx_obj_4cuda_4cuda_CUarray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUarray_6__index__(struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 4664, 0, __PYX_ERR(1, 4664, __pyx_L1_error));

  /* "cuda/cuda.pyx":4665
 *         return '<CUarray ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4665, __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/cuda.pyx":4664
 *     def __repr__(self):
 *         return '<CUarray ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUarray.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4666
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_7CUarray_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_7CUarray_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_4cuda_7CUarray_8__int__(((struct __pyx_obj_4cuda_4cuda_CUarray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUarray_8__int__(struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4666, 0, __PYX_ERR(1, 4666, __pyx_L1_error));

  /* "cuda/cuda.pyx":4667
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4666
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUarray.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4668
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_7CUarray_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_4cuda_7CUarray_10getPtr, "CUarray.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_7CUarray_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUarray_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUarray_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_7CUarray_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_7CUarray_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUarray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUarray_10getPtr(struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__35)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4668, 0, __PYX_ERR(1, 4668, __pyx_L1_error));

  /* "cuda/cuda.pyx":4669
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmipmappedArray:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4668
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUarray.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_7CUarray_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_4cuda_7CUarray_12__reduce_cython__, "CUarray.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_7CUarray_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUarray_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUarray_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_7CUarray_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_7CUarray_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUarray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUarray_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__36)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUarray.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_7CUarray_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_4cuda_7CUarray_14__setstate_cython__, "CUarray.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_7CUarray_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUarray_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUarray_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_7CUarray_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUarray.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_7CUarray_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUarray *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUarray_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__37)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUarray.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4682
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUmipmappedArray_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_16CUmipmappedArray_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4682, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4682, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4682, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4682, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4682, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4682, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmipmappedArray.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUmipmappedArray___cinit__(((struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUmipmappedArray___cinit__(struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4682, 0, __PYX_ERR(1, 4682, __pyx_L1_error));

  /* "cuda/cuda.pyx":4683
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUmipmappedArray>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4684
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUmipmappedArray>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUmipmappedArray__val);

    /* "cuda/cuda.pyx":4685
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUmipmappedArray>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUmipmappedArray *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUmipmappedArray)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4683
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUmipmappedArray>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4687
 *             self._ptr[0] = <ccuda.CUmipmappedArray>init_value
 *         else:
 *             self._ptr = <ccuda.CUmipmappedArray *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUmipmappedArray *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4682
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmipmappedArray.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4688
 *         else:
 *             self._ptr = <ccuda.CUmipmappedArray *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUmipmappedArray_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUmipmappedArray_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_16CUmipmappedArray_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4688, 0, __PYX_ERR(1, 4688, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmipmappedArray.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4690
 *     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_4cuda_16CUmipmappedArray_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUmipmappedArray_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUmipmappedArray_4__repr__(struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4690, 0, __PYX_ERR(1, 4690, __pyx_L1_error));

  /* "cuda/cuda.pyx":4691
 *         pass
 *     def __repr__(self):
 *         return '<CUmipmappedArray ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4691, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUmipmappedArray, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4691, __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/cuda.pyx":4690
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUmipmappedArray ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUmipmappedArray.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4692
 *     def __repr__(self):
 *         return '<CUmipmappedArray ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUmipmappedArray_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUmipmappedArray_6__index__(((struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUmipmappedArray_6__index__(struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 4692, 0, __PYX_ERR(1, 4692, __pyx_L1_error));

  /* "cuda/cuda.pyx":4693
 *         return '<CUmipmappedArray ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4693, __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/cuda.pyx":4692
 *     def __repr__(self):
 *         return '<CUmipmappedArray ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUmipmappedArray.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4694
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUmipmappedArray_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_16CUmipmappedArray_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_4cuda_16CUmipmappedArray_8__int__(((struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUmipmappedArray_8__int__(struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4694, 0, __PYX_ERR(1, 4694, __pyx_L1_error));

  /* "cuda/cuda.pyx":4695
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4694
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmipmappedArray.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4696
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUmipmappedArray_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_4cuda_16CUmipmappedArray_10getPtr, "CUmipmappedArray.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUmipmappedArray_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUmipmappedArray_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUmipmappedArray_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_16CUmipmappedArray_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUmipmappedArray_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUmipmappedArray_10getPtr(struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__38)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4696, 0, __PYX_ERR(1, 4696, __pyx_L1_error));

  /* "cuda/cuda.pyx":4697
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUtexref:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4696
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmipmappedArray.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_16CUmipmappedArray_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_4cuda_16CUmipmappedArray_12__reduce_cython__, "CUmipmappedArray.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUmipmappedArray_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUmipmappedArray_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUmipmappedArray_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_16CUmipmappedArray_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUmipmappedArray_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUmipmappedArray_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__39)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmipmappedArray.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUmipmappedArray_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_4cuda_16CUmipmappedArray_14__setstate_cython__, "CUmipmappedArray.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUmipmappedArray_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUmipmappedArray_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUmipmappedArray_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_16CUmipmappedArray_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmipmappedArray.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUmipmappedArray_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUmipmappedArray_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__40)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmipmappedArray.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4710
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_8CUtexref_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_8CUtexref_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4710, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4710, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4710, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4710, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4710, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4710, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUtexref.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUtexref___cinit__(((struct __pyx_obj_4cuda_4cuda_CUtexref *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_8CUtexref___cinit__(struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4710, 0, __PYX_ERR(1, 4710, __pyx_L1_error));

  /* "cuda/cuda.pyx":4711
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUtexref>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4712
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUtexref>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUtexref__val);

    /* "cuda/cuda.pyx":4713
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUtexref>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUtexref *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUtexref)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4711
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUtexref>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4715
 *             self._ptr[0] = <ccuda.CUtexref>init_value
 *         else:
 *             self._ptr = <ccuda.CUtexref *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUtexref *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4710
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUtexref.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4716
 *         else:
 *             self._ptr = <ccuda.CUtexref *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_8CUtexref_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUtexref_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_8CUtexref_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4716, 0, __PYX_ERR(1, 4716, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUtexref.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4718
 *     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_4cuda_8CUtexref_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8CUtexref_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUtexref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUtexref_4__repr__(struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4718, 0, __PYX_ERR(1, 4718, __pyx_L1_error));

  /* "cuda/cuda.pyx":4719
 *         pass
 *     def __repr__(self):
 *         return '<CUtexref ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUtexref, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4719, __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/cuda.pyx":4718
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUtexref ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUtexref.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4720
 *     def __repr__(self):
 *         return '<CUtexref ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUtexref_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8CUtexref_6__index__(((struct __pyx_obj_4cuda_4cuda_CUtexref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUtexref_6__index__(struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 4720, 0, __PYX_ERR(1, 4720, __pyx_L1_error));

  /* "cuda/cuda.pyx":4721
 *         return '<CUtexref ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4721, __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/cuda.pyx":4720
 *     def __repr__(self):
 *         return '<CUtexref ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUtexref.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4722
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUtexref_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_8CUtexref_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_4cuda_8CUtexref_8__int__(((struct __pyx_obj_4cuda_4cuda_CUtexref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUtexref_8__int__(struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4722, 0, __PYX_ERR(1, 4722, __pyx_L1_error));

  /* "cuda/cuda.pyx":4723
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4722
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUtexref.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4724
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUtexref_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_4cuda_8CUtexref_10getPtr, "CUtexref.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUtexref_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUtexref_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUtexref_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_8CUtexref_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUtexref_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUtexref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUtexref_10getPtr(struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__41)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4724, 0, __PYX_ERR(1, 4724, __pyx_L1_error));

  /* "cuda/cuda.pyx":4725
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUsurfref:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4724
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUtexref.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_8CUtexref_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_4cuda_8CUtexref_12__reduce_cython__, "CUtexref.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUtexref_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUtexref_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUtexref_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_8CUtexref_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUtexref_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUtexref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUtexref_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__42)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUtexref.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUtexref_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_4cuda_8CUtexref_14__setstate_cython__, "CUtexref.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUtexref_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUtexref_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUtexref_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_8CUtexref_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUtexref.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUtexref_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUtexref *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUtexref_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__43)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUtexref.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4738
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_9CUsurfref_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_9CUsurfref_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4738, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4738, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4738, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4738, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4738, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4738, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUsurfref.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUsurfref___cinit__(((struct __pyx_obj_4cuda_4cuda_CUsurfref *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_9CUsurfref___cinit__(struct __pyx_obj_4cuda_4cuda_CUsurfref *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4738, 0, __PYX_ERR(1, 4738, __pyx_L1_error));

  /* "cuda/cuda.pyx":4739
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUsurfref>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4740
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUsurfref>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUsurfref__val);

    /* "cuda/cuda.pyx":4741
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUsurfref>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUsurfref *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUsurfref)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4739
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUsurfref>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4743
 *             self._ptr[0] = <ccuda.CUsurfref>init_value
 *         else:
 *             self._ptr = <ccuda.CUsurfref *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUsurfref *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4738
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUsurfref.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4744
 *         else:
 *             self._ptr = <ccuda.CUsurfref *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_9CUsurfref_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUsurfref_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_9CUsurfref_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfref *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4744, 0, __PYX_ERR(1, 4744, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUsurfref.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4746
 *     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_4cuda_9CUsurfref_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_9CUsurfref_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUsurfref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUsurfref_4__repr__(struct __pyx_obj_4cuda_4cuda_CUsurfref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4746, 0, __PYX_ERR(1, 4746, __pyx_L1_error));

  /* "cuda/cuda.pyx":4747
 *         pass
 *     def __repr__(self):
 *         return '<CUsurfref ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4747, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUsurfref, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4747, __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/cuda.pyx":4746
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUsurfref ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUsurfref.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4748
 *     def __repr__(self):
 *         return '<CUsurfref ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_9CUsurfref_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_9CUsurfref_6__index__(((struct __pyx_obj_4cuda_4cuda_CUsurfref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUsurfref_6__index__(struct __pyx_obj_4cuda_4cuda_CUsurfref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 4748, 0, __PYX_ERR(1, 4748, __pyx_L1_error));

  /* "cuda/cuda.pyx":4749
 *         return '<CUsurfref ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4749, __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/cuda.pyx":4748
 *     def __repr__(self):
 *         return '<CUsurfref ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUsurfref.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4750
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_9CUsurfref_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_9CUsurfref_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_4cuda_9CUsurfref_8__int__(((struct __pyx_obj_4cuda_4cuda_CUsurfref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUsurfref_8__int__(struct __pyx_obj_4cuda_4cuda_CUsurfref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4750, 0, __PYX_ERR(1, 4750, __pyx_L1_error));

  /* "cuda/cuda.pyx":4751
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4750
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUsurfref.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4752
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_9CUsurfref_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_4cuda_9CUsurfref_10getPtr, "CUsurfref.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_9CUsurfref_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUsurfref_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUsurfref_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_9CUsurfref_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUsurfref_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUsurfref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUsurfref_10getPtr(struct __pyx_obj_4cuda_4cuda_CUsurfref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__44)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4752, 0, __PYX_ERR(1, 4752, __pyx_L1_error));

  /* "cuda/cuda.pyx":4753
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUevent:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4752
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUsurfref.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_9CUsurfref_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_4cuda_9CUsurfref_12__reduce_cython__, "CUsurfref.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_9CUsurfref_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUsurfref_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUsurfref_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_9CUsurfref_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUsurfref_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUsurfref *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUsurfref_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfref *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__45)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUsurfref.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_9CUsurfref_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_4cuda_9CUsurfref_14__setstate_cython__, "CUsurfref.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_9CUsurfref_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUsurfref_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUsurfref_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_9CUsurfref_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUsurfref.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUsurfref_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUsurfref *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUsurfref_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfref *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__46)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUsurfref.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4766
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_7CUevent_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_7CUevent_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4766, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4766, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4766, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4766, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4766, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4766, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUevent.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_7CUevent___cinit__(((struct __pyx_obj_4cuda_4cuda_CUevent *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_7CUevent___cinit__(struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4766, 0, __PYX_ERR(1, 4766, __pyx_L1_error));

  /* "cuda/cuda.pyx":4767
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUevent>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4768
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUevent>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUevent__val);

    /* "cuda/cuda.pyx":4769
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUevent>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUevent *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUevent)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4767
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUevent>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4771
 *             self._ptr[0] = <ccuda.CUevent>init_value
 *         else:
 *             self._ptr = <ccuda.CUevent *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUevent *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4766
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUevent.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4772
 *         else:
 *             self._ptr = <ccuda.CUevent *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_7CUevent_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_7CUevent_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_7CUevent_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4772, 0, __PYX_ERR(1, 4772, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUevent.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4774
 *     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_4cuda_7CUevent_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_7CUevent_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUevent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUevent_4__repr__(struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4774, 0, __PYX_ERR(1, 4774, __pyx_L1_error));

  /* "cuda/cuda.pyx":4775
 *         pass
 *     def __repr__(self):
 *         return '<CUevent ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUevent, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4775, __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/cuda.pyx":4774
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUevent ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUevent.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4776
 *     def __repr__(self):
 *         return '<CUevent ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_7CUevent_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_7CUevent_6__index__(((struct __pyx_obj_4cuda_4cuda_CUevent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUevent_6__index__(struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 4776, 0, __PYX_ERR(1, 4776, __pyx_L1_error));

  /* "cuda/cuda.pyx":4777
 *         return '<CUevent ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4777, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4777, __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/cuda.pyx":4776
 *     def __repr__(self):
 *         return '<CUevent ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUevent.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4778
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_7CUevent_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_7CUevent_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_4cuda_7CUevent_8__int__(((struct __pyx_obj_4cuda_4cuda_CUevent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUevent_8__int__(struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4778, 0, __PYX_ERR(1, 4778, __pyx_L1_error));

  /* "cuda/cuda.pyx":4779
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4778
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUevent.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4780
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_7CUevent_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_4cuda_7CUevent_10getPtr, "CUevent.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_7CUevent_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUevent_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUevent_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_7CUevent_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_7CUevent_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUevent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUevent_10getPtr(struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__47)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4780, 0, __PYX_ERR(1, 4780, __pyx_L1_error));

  /* "cuda/cuda.pyx":4781
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUstream:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4780
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUevent.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_7CUevent_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_4cuda_7CUevent_12__reduce_cython__, "CUevent.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_7CUevent_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUevent_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUevent_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_7CUevent_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_7CUevent_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUevent *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUevent_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__48)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUevent.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_7CUevent_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_4cuda_7CUevent_14__setstate_cython__, "CUevent.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_7CUevent_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUevent_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUevent_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_7CUevent_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUevent.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_7CUevent_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUevent *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUevent_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__49)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUevent.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4794
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_8CUstream_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_8CUstream_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4794, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4794, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4794, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4794, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4794, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4794, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstream.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUstream___cinit__(((struct __pyx_obj_4cuda_4cuda_CUstream *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_8CUstream___cinit__(struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4794, 0, __PYX_ERR(1, 4794, __pyx_L1_error));

  /* "cuda/cuda.pyx":4795
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUstream>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4796
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUstream>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUstream__val);

    /* "cuda/cuda.pyx":4797
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUstream>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUstream *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUstream)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4795
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUstream>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4799
 *             self._ptr[0] = <ccuda.CUstream>init_value
 *         else:
 *             self._ptr = <ccuda.CUstream *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUstream *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4794
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstream.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4800
 *         else:
 *             self._ptr = <ccuda.CUstream *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_8CUstream_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUstream_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_8CUstream_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4800, 0, __PYX_ERR(1, 4800, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4802
 *     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_4cuda_8CUstream_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8CUstream_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUstream *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUstream_4__repr__(struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4802, 0, __PYX_ERR(1, 4802, __pyx_L1_error));

  /* "cuda/cuda.pyx":4803
 *         pass
 *     def __repr__(self):
 *         return '<CUstream ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4803, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUstream, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4803, __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/cuda.pyx":4802
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUstream ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUstream.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4804
 *     def __repr__(self):
 *         return '<CUstream ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUstream_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8CUstream_6__index__(((struct __pyx_obj_4cuda_4cuda_CUstream *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUstream_6__index__(struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 4804, 0, __PYX_ERR(1, 4804, __pyx_L1_error));

  /* "cuda/cuda.pyx":4805
 *         return '<CUstream ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4805, __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/cuda.pyx":4804
 *     def __repr__(self):
 *         return '<CUstream ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUstream.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4806
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUstream_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_8CUstream_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_4cuda_8CUstream_8__int__(((struct __pyx_obj_4cuda_4cuda_CUstream *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUstream_8__int__(struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4806, 0, __PYX_ERR(1, 4806, __pyx_L1_error));

  /* "cuda/cuda.pyx":4807
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4807, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4806
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUstream.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4808
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUstream_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_4cuda_8CUstream_10getPtr, "CUstream.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUstream_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUstream_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUstream_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_8CUstream_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUstream_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUstream *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUstream_10getPtr(struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__50)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4808, 0, __PYX_ERR(1, 4808, __pyx_L1_error));

  /* "cuda/cuda.pyx":4809
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraphicsResource:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4809, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4808
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUstream.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_8CUstream_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_4cuda_8CUstream_12__reduce_cython__, "CUstream.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUstream_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUstream_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUstream_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_8CUstream_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUstream_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUstream *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUstream_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__51)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstream.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUstream_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_4cuda_8CUstream_14__setstate_cython__, "CUstream.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUstream_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUstream_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUstream_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_8CUstream_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstream.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUstream_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUstream *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUstream_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__52)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstream.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4822
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_18CUgraphicsResource_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_18CUgraphicsResource_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4822, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4822, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4822, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4822, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4822, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4822, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphicsResource.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUgraphicsResource___cinit__(((struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_18CUgraphicsResource___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4822, 0, __PYX_ERR(1, 4822, __pyx_L1_error));

  /* "cuda/cuda.pyx":4823
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgraphicsResource>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4824
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUgraphicsResource>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUgraphicsResource__val);

    /* "cuda/cuda.pyx":4825
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgraphicsResource>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUgraphicsResource *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUgraphicsResource)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4823
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgraphicsResource>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4827
 *             self._ptr[0] = <ccuda.CUgraphicsResource>init_value
 *         else:
 *             self._ptr = <ccuda.CUgraphicsResource *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUgraphicsResource *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4822
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphicsResource.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4828
 *         else:
 *             self._ptr = <ccuda.CUgraphicsResource *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_18CUgraphicsResource_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUgraphicsResource_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_18CUgraphicsResource_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4828, 0, __PYX_ERR(1, 4828, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphicsResource.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4830
 *     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_4cuda_18CUgraphicsResource_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUgraphicsResource_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphicsResource_4__repr__(struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4830, 0, __PYX_ERR(1, 4830, __pyx_L1_error));

  /* "cuda/cuda.pyx":4831
 *         pass
 *     def __repr__(self):
 *         return '<CUgraphicsResource ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUgraphicsResource, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4831, __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/cuda.pyx":4830
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraphicsResource ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphicsResource.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4832
 *     def __repr__(self):
 *         return '<CUgraphicsResource ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_18CUgraphicsResource_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUgraphicsResource_6__index__(((struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphicsResource_6__index__(struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 4832, 0, __PYX_ERR(1, 4832, __pyx_L1_error));

  /* "cuda/cuda.pyx":4833
 *         return '<CUgraphicsResource ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4833, __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/cuda.pyx":4832
 *     def __repr__(self):
 *         return '<CUgraphicsResource ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphicsResource.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4834
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_18CUgraphicsResource_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_18CUgraphicsResource_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_4cuda_18CUgraphicsResource_8__int__(((struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphicsResource_8__int__(struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4834, 0, __PYX_ERR(1, 4834, __pyx_L1_error));

  /* "cuda/cuda.pyx":4835
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4834
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphicsResource.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4836
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_18CUgraphicsResource_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_4cuda_18CUgraphicsResource_10getPtr, "CUgraphicsResource.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_18CUgraphicsResource_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUgraphicsResource_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUgraphicsResource_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_18CUgraphicsResource_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUgraphicsResource_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphicsResource_10getPtr(struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__53)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4836, 0, __PYX_ERR(1, 4836, __pyx_L1_error));

  /* "cuda/cuda.pyx":4837
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUexternalMemory:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4836
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphicsResource.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_18CUgraphicsResource_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_4cuda_18CUgraphicsResource_12__reduce_cython__, "CUgraphicsResource.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_18CUgraphicsResource_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUgraphicsResource_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUgraphicsResource_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_18CUgraphicsResource_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUgraphicsResource_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphicsResource_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__54)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphicsResource.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_18CUgraphicsResource_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_4cuda_18CUgraphicsResource_14__setstate_cython__, "CUgraphicsResource.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_18CUgraphicsResource_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUgraphicsResource_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUgraphicsResource_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_18CUgraphicsResource_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphicsResource.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUgraphicsResource_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphicsResource_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__55)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphicsResource.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4850
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUexternalMemory_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_16CUexternalMemory_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4850, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4850, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4850, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4850, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4850, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4850, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUexternalMemory.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUexternalMemory___cinit__(((struct __pyx_obj_4cuda_4cuda_CUexternalMemory *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUexternalMemory___cinit__(struct __pyx_obj_4cuda_4cuda_CUexternalMemory *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4850, 0, __PYX_ERR(1, 4850, __pyx_L1_error));

  /* "cuda/cuda.pyx":4851
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUexternalMemory>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4852
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUexternalMemory>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUexternalMemory__val);

    /* "cuda/cuda.pyx":4853
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUexternalMemory>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUexternalMemory *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUexternalMemory)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4851
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUexternalMemory>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4855
 *             self._ptr[0] = <ccuda.CUexternalMemory>init_value
 *         else:
 *             self._ptr = <ccuda.CUexternalMemory *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUexternalMemory *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4850
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexternalMemory.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4856
 *         else:
 *             self._ptr = <ccuda.CUexternalMemory *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUexternalMemory_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUexternalMemory_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_16CUexternalMemory_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexternalMemory *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4856, 0, __PYX_ERR(1, 4856, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexternalMemory.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4858
 *     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_4cuda_16CUexternalMemory_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUexternalMemory_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUexternalMemory *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUexternalMemory_4__repr__(struct __pyx_obj_4cuda_4cuda_CUexternalMemory *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4858, 0, __PYX_ERR(1, 4858, __pyx_L1_error));

  /* "cuda/cuda.pyx":4859
 *         pass
 *     def __repr__(self):
 *         return '<CUexternalMemory ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUexternalMemory, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4859, __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/cuda.pyx":4858
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUexternalMemory ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUexternalMemory.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4860
 *     def __repr__(self):
 *         return '<CUexternalMemory ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUexternalMemory_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUexternalMemory_6__index__(((struct __pyx_obj_4cuda_4cuda_CUexternalMemory *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUexternalMemory_6__index__(struct __pyx_obj_4cuda_4cuda_CUexternalMemory *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 4860, 0, __PYX_ERR(1, 4860, __pyx_L1_error));

  /* "cuda/cuda.pyx":4861
 *         return '<CUexternalMemory ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4861, __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/cuda.pyx":4860
 *     def __repr__(self):
 *         return '<CUexternalMemory ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUexternalMemory.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4862
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUexternalMemory_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_16CUexternalMemory_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_4cuda_16CUexternalMemory_8__int__(((struct __pyx_obj_4cuda_4cuda_CUexternalMemory *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUexternalMemory_8__int__(struct __pyx_obj_4cuda_4cuda_CUexternalMemory *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4862, 0, __PYX_ERR(1, 4862, __pyx_L1_error));

  /* "cuda/cuda.pyx":4863
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4862
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUexternalMemory.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4864
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUexternalMemory_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_4cuda_16CUexternalMemory_10getPtr, "CUexternalMemory.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUexternalMemory_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUexternalMemory_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUexternalMemory_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_16CUexternalMemory_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUexternalMemory_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUexternalMemory *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUexternalMemory_10getPtr(struct __pyx_obj_4cuda_4cuda_CUexternalMemory *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__56)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4864, 0, __PYX_ERR(1, 4864, __pyx_L1_error));

  /* "cuda/cuda.pyx":4865
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUexternalSemaphore:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4864
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUexternalMemory.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_16CUexternalMemory_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_4cuda_16CUexternalMemory_12__reduce_cython__, "CUexternalMemory.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUexternalMemory_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUexternalMemory_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUexternalMemory_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_16CUexternalMemory_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUexternalMemory_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUexternalMemory *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUexternalMemory_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexternalMemory *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__57)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexternalMemory.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUexternalMemory_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_4cuda_16CUexternalMemory_14__setstate_cython__, "CUexternalMemory.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUexternalMemory_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUexternalMemory_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUexternalMemory_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_16CUexternalMemory_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUexternalMemory.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUexternalMemory_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUexternalMemory *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUexternalMemory_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexternalMemory *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__58)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexternalMemory.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4878
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_19CUexternalSemaphore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_19CUexternalSemaphore_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4878, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4878, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4878, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4878, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4878, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4878, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUexternalSemaphore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_19CUexternalSemaphore___cinit__(((struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_19CUexternalSemaphore___cinit__(struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4878, 0, __PYX_ERR(1, 4878, __pyx_L1_error));

  /* "cuda/cuda.pyx":4879
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUexternalSemaphore>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4880
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUexternalSemaphore>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUexternalSemaphore__val);

    /* "cuda/cuda.pyx":4881
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUexternalSemaphore>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUexternalSemaphore *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUexternalSemaphore)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4879
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUexternalSemaphore>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4883
 *             self._ptr[0] = <ccuda.CUexternalSemaphore>init_value
 *         else:
 *             self._ptr = <ccuda.CUexternalSemaphore *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUexternalSemaphore *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4878
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexternalSemaphore.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4884
 *         else:
 *             self._ptr = <ccuda.CUexternalSemaphore *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_19CUexternalSemaphore_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_19CUexternalSemaphore_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_19CUexternalSemaphore_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4884, 0, __PYX_ERR(1, 4884, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexternalSemaphore.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4886
 *     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_4cuda_19CUexternalSemaphore_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_19CUexternalSemaphore_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_19CUexternalSemaphore_4__repr__(struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4886, 0, __PYX_ERR(1, 4886, __pyx_L1_error));

  /* "cuda/cuda.pyx":4887
 *         pass
 *     def __repr__(self):
 *         return '<CUexternalSemaphore ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4887, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUexternalSemaphore, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4887, __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/cuda.pyx":4886
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUexternalSemaphore ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUexternalSemaphore.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4888
 *     def __repr__(self):
 *         return '<CUexternalSemaphore ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_19CUexternalSemaphore_6__index__(((struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_19CUexternalSemaphore_6__index__(struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 4888, 0, __PYX_ERR(1, 4888, __pyx_L1_error));

  /* "cuda/cuda.pyx":4889
 *         return '<CUexternalSemaphore ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4889, __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/cuda.pyx":4888
 *     def __repr__(self):
 *         return '<CUexternalSemaphore ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUexternalSemaphore.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4890
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_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_4cuda_19CUexternalSemaphore_8__int__(((struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_19CUexternalSemaphore_8__int__(struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4890, 0, __PYX_ERR(1, 4890, __pyx_L1_error));

  /* "cuda/cuda.pyx":4891
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4890
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUexternalSemaphore.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4892
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_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_4cuda_19CUexternalSemaphore_10getPtr, "CUexternalSemaphore.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_19CUexternalSemaphore_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_19CUexternalSemaphore_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_19CUexternalSemaphore_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_19CUexternalSemaphore_10getPtr(struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__59)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4892, 0, __PYX_ERR(1, 4892, __pyx_L1_error));

  /* "cuda/cuda.pyx":4893
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraph:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4892
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUexternalSemaphore.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_19CUexternalSemaphore_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_4cuda_19CUexternalSemaphore_12__reduce_cython__, "CUexternalSemaphore.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_19CUexternalSemaphore_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_19CUexternalSemaphore_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_19CUexternalSemaphore_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_19CUexternalSemaphore_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__60)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexternalSemaphore.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_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_4cuda_19CUexternalSemaphore_14__setstate_cython__, "CUexternalSemaphore.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_19CUexternalSemaphore_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_19CUexternalSemaphore_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUexternalSemaphore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_19CUexternalSemaphore_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_19CUexternalSemaphore_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__61)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexternalSemaphore.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4906
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_7CUgraph_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_7CUgraph_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4906, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4906, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4906, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4906, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4906, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4906, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraph.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_7CUgraph___cinit__(((struct __pyx_obj_4cuda_4cuda_CUgraph *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_7CUgraph___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4906, 0, __PYX_ERR(1, 4906, __pyx_L1_error));

  /* "cuda/cuda.pyx":4907
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgraph>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4908
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUgraph>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUgraph__val);

    /* "cuda/cuda.pyx":4909
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgraph>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUgraph *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUgraph)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4907
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgraph>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4911
 *             self._ptr[0] = <ccuda.CUgraph>init_value
 *         else:
 *             self._ptr = <ccuda.CUgraph *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUgraph *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4906
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraph.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4912
 *         else:
 *             self._ptr = <ccuda.CUgraph *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_7CUgraph_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_7CUgraph_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_7CUgraph_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4912, 0, __PYX_ERR(1, 4912, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraph.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4914
 *     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_4cuda_7CUgraph_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_7CUgraph_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUgraph *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUgraph_4__repr__(struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4914, 0, __PYX_ERR(1, 4914, __pyx_L1_error));

  /* "cuda/cuda.pyx":4915
 *         pass
 *     def __repr__(self):
 *         return '<CUgraph ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUgraph, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4915, __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/cuda.pyx":4914
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraph ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraph.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4916
 *     def __repr__(self):
 *         return '<CUgraph ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_7CUgraph_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_7CUgraph_6__index__(((struct __pyx_obj_4cuda_4cuda_CUgraph *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUgraph_6__index__(struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 4916, 0, __PYX_ERR(1, 4916, __pyx_L1_error));

  /* "cuda/cuda.pyx":4917
 *         return '<CUgraph ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4917, __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/cuda.pyx":4916
 *     def __repr__(self):
 *         return '<CUgraph ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraph.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4918
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_7CUgraph_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_7CUgraph_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_4cuda_7CUgraph_8__int__(((struct __pyx_obj_4cuda_4cuda_CUgraph *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUgraph_8__int__(struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4918, 0, __PYX_ERR(1, 4918, __pyx_L1_error));

  /* "cuda/cuda.pyx":4919
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4918
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraph.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4920
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_7CUgraph_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_4cuda_7CUgraph_10getPtr, "CUgraph.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_7CUgraph_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUgraph_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUgraph_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_7CUgraph_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_7CUgraph_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUgraph *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUgraph_10getPtr(struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__62)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4920, 0, __PYX_ERR(1, 4920, __pyx_L1_error));

  /* "cuda/cuda.pyx":4921
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraphNode:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4920
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraph.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_7CUgraph_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_4cuda_7CUgraph_12__reduce_cython__, "CUgraph.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_7CUgraph_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUgraph_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUgraph_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_7CUgraph_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_7CUgraph_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraph *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUgraph_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__63)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraph.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_7CUgraph_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_4cuda_7CUgraph_14__setstate_cython__, "CUgraph.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_7CUgraph_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUgraph_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUgraph_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_7CUgraph_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraph.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_7CUgraph_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraph *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_7CUgraph_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__64)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraph.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4934
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11CUgraphNode_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11CUgraphNode_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4934, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4934, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4934, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4934, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4934, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4934, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphNode.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUgraphNode___cinit__(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11CUgraphNode___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4934, 0, __PYX_ERR(1, 4934, __pyx_L1_error));

  /* "cuda/cuda.pyx":4935
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgraphNode>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4936
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUgraphNode>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUgraphNode__val);

    /* "cuda/cuda.pyx":4937
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgraphNode>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUgraphNode *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUgraphNode)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4935
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgraphNode>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4939
 *             self._ptr[0] = <ccuda.CUgraphNode>init_value
 *         else:
 *             self._ptr = <ccuda.CUgraphNode *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUgraphNode *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4934
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNode.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4940
 *         else:
 *             self._ptr = <ccuda.CUgraphNode *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11CUgraphNode_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUgraphNode_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_11CUgraphNode_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4940, 0, __PYX_ERR(1, 4940, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNode.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4942
 *     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_4cuda_11CUgraphNode_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUgraphNode_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphNode_4__repr__(struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4942, 0, __PYX_ERR(1, 4942, __pyx_L1_error));

  /* "cuda/cuda.pyx":4943
 *         pass
 *     def __repr__(self):
 *         return '<CUgraphNode ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUgraphNode, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4943, __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/cuda.pyx":4942
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraphNode ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNode.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4944
 *     def __repr__(self):
 *         return '<CUgraphNode ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUgraphNode_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUgraphNode_6__index__(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphNode_6__index__(struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 4944, 0, __PYX_ERR(1, 4944, __pyx_L1_error));

  /* "cuda/cuda.pyx":4945
 *         return '<CUgraphNode ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4945, __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/cuda.pyx":4944
 *     def __repr__(self):
 *         return '<CUgraphNode ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNode.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4946
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUgraphNode_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_11CUgraphNode_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_4cuda_11CUgraphNode_8__int__(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphNode_8__int__(struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4946, 0, __PYX_ERR(1, 4946, __pyx_L1_error));

  /* "cuda/cuda.pyx":4947
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4946
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNode.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4948
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUgraphNode_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_4cuda_11CUgraphNode_10getPtr, "CUgraphNode.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUgraphNode_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUgraphNode_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUgraphNode_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_11CUgraphNode_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUgraphNode_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphNode_10getPtr(struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__65)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4948, 0, __PYX_ERR(1, 4948, __pyx_L1_error));

  /* "cuda/cuda.pyx":4949
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraphExec:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4948
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNode.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_11CUgraphNode_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_4cuda_11CUgraphNode_12__reduce_cython__, "CUgraphNode.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUgraphNode_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUgraphNode_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUgraphNode_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_11CUgraphNode_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUgraphNode_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphNode_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__66)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNode.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUgraphNode_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_4cuda_11CUgraphNode_14__setstate_cython__, "CUgraphNode.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUgraphNode_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUgraphNode_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUgraphNode_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_11CUgraphNode_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphNode.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUgraphNode_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphNode_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__67)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNode.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4962
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11CUgraphExec_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11CUgraphExec_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4962, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4962, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4962, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4962, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4962, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4962, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphExec.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUgraphExec___cinit__(((struct __pyx_obj_4cuda_4cuda_CUgraphExec *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11CUgraphExec___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4962, 0, __PYX_ERR(1, 4962, __pyx_L1_error));

  /* "cuda/cuda.pyx":4963
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgraphExec>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4964
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUgraphExec>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUgraphExec__val);

    /* "cuda/cuda.pyx":4965
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgraphExec>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUgraphExec *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUgraphExec)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4963
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgraphExec>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4967
 *             self._ptr[0] = <ccuda.CUgraphExec>init_value
 *         else:
 *             self._ptr = <ccuda.CUgraphExec *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUgraphExec *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4962
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphExec.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4968
 *         else:
 *             self._ptr = <ccuda.CUgraphExec *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11CUgraphExec_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUgraphExec_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_11CUgraphExec_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4968, 0, __PYX_ERR(1, 4968, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphExec.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4970
 *     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_4cuda_11CUgraphExec_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUgraphExec_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUgraphExec *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphExec_4__repr__(struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4970, 0, __PYX_ERR(1, 4970, __pyx_L1_error));

  /* "cuda/cuda.pyx":4971
 *         pass
 *     def __repr__(self):
 *         return '<CUgraphExec ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4971, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUgraphExec, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4971, __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/cuda.pyx":4970
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraphExec ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphExec.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4972
 *     def __repr__(self):
 *         return '<CUgraphExec ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUgraphExec_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUgraphExec_6__index__(((struct __pyx_obj_4cuda_4cuda_CUgraphExec *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphExec_6__index__(struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 4972, 0, __PYX_ERR(1, 4972, __pyx_L1_error));

  /* "cuda/cuda.pyx":4973
 *         return '<CUgraphExec ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4973, __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/cuda.pyx":4972
 *     def __repr__(self):
 *         return '<CUgraphExec ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphExec.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4974
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUgraphExec_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_11CUgraphExec_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_4cuda_11CUgraphExec_8__int__(((struct __pyx_obj_4cuda_4cuda_CUgraphExec *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphExec_8__int__(struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 4974, 0, __PYX_ERR(1, 4974, __pyx_L1_error));

  /* "cuda/cuda.pyx":4975
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4974
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphExec.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4976
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUgraphExec_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_4cuda_11CUgraphExec_10getPtr, "CUgraphExec.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUgraphExec_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUgraphExec_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUgraphExec_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_11CUgraphExec_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUgraphExec_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUgraphExec *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphExec_10getPtr(struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__68)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 4976, 0, __PYX_ERR(1, 4976, __pyx_L1_error));

  /* "cuda/cuda.pyx":4977
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemoryPool:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":4976
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphExec.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_11CUgraphExec_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_4cuda_11CUgraphExec_12__reduce_cython__, "CUgraphExec.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUgraphExec_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUgraphExec_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUgraphExec_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_11CUgraphExec_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUgraphExec_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraphExec *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphExec_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__69)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphExec.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUgraphExec_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_4cuda_11CUgraphExec_14__setstate_cython__, "CUgraphExec.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUgraphExec_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUgraphExec_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUgraphExec_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_11CUgraphExec_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphExec.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUgraphExec_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraphExec *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUgraphExec_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__70)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphExec.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":4990
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12CUmemoryPool_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12CUmemoryPool_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4990, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 4990, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 4990, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4990, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 4990, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 4990, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemoryPool.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUmemoryPool___cinit__(((struct __pyx_obj_4cuda_4cuda_CUmemoryPool *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12CUmemoryPool___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 4990, 0, __PYX_ERR(1, 4990, __pyx_L1_error));

  /* "cuda/cuda.pyx":4991
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUmemoryPool>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":4992
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUmemoryPool>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUmemoryPool__val);

    /* "cuda/cuda.pyx":4993
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUmemoryPool>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUmemoryPool *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUmemoryPool)__pyx_v_init_value);

    /* "cuda/cuda.pyx":4991
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUmemoryPool>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":4995
 *             self._ptr[0] = <ccuda.CUmemoryPool>init_value
 *         else:
 *             self._ptr = <ccuda.CUmemoryPool *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUmemoryPool *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":4990
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemoryPool.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4996
 *         else:
 *             self._ptr = <ccuda.CUmemoryPool *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12CUmemoryPool_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUmemoryPool_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_12CUmemoryPool_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 4996, 0, __PYX_ERR(1, 4996, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemoryPool.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":4998
 *     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_4cuda_12CUmemoryPool_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUmemoryPool_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUmemoryPool *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUmemoryPool_4__repr__(struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 4998, 0, __PYX_ERR(1, 4998, __pyx_L1_error));

  /* "cuda/cuda.pyx":4999
 *         pass
 *     def __repr__(self):
 *         return '<CUmemoryPool ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUmemoryPool, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4999, __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/cuda.pyx":4998
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUmemoryPool ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUmemoryPool.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5000
 *     def __repr__(self):
 *         return '<CUmemoryPool ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUmemoryPool_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUmemoryPool_6__index__(((struct __pyx_obj_4cuda_4cuda_CUmemoryPool *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUmemoryPool_6__index__(struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 5000, 0, __PYX_ERR(1, 5000, __pyx_L1_error));

  /* "cuda/cuda.pyx":5001
 *         return '<CUmemoryPool ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5001, __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/cuda.pyx":5000
 *     def __repr__(self):
 *         return '<CUmemoryPool ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUmemoryPool.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5002
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUmemoryPool_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12CUmemoryPool_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_4cuda_12CUmemoryPool_8__int__(((struct __pyx_obj_4cuda_4cuda_CUmemoryPool *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUmemoryPool_8__int__(struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 5002, 0, __PYX_ERR(1, 5002, __pyx_L1_error));

  /* "cuda/cuda.pyx":5003
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5002
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemoryPool.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5004
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUmemoryPool_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_4cuda_12CUmemoryPool_10getPtr, "CUmemoryPool.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12CUmemoryPool_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUmemoryPool_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUmemoryPool_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_12CUmemoryPool_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUmemoryPool_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUmemoryPool *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUmemoryPool_10getPtr(struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__71)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5004, 0, __PYX_ERR(1, 5004, __pyx_L1_error));

  /* "cuda/cuda.pyx":5005
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUuserObject:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5004
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemoryPool.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_12CUmemoryPool_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_4cuda_12CUmemoryPool_12__reduce_cython__, "CUmemoryPool.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12CUmemoryPool_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUmemoryPool_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUmemoryPool_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_12CUmemoryPool_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUmemoryPool_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemoryPool *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUmemoryPool_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__72)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemoryPool.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUmemoryPool_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_4cuda_12CUmemoryPool_14__setstate_cython__, "CUmemoryPool.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12CUmemoryPool_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUmemoryPool_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUmemoryPool_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_12CUmemoryPool_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemoryPool.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUmemoryPool_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemoryPool *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUmemoryPool_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__73)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemoryPool.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5018
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12CUuserObject_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12CUuserObject_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5018, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5018, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5018, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5018, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5018, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 5018, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUuserObject.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUuserObject___cinit__(((struct __pyx_obj_4cuda_4cuda_CUuserObject *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12CUuserObject___cinit__(struct __pyx_obj_4cuda_4cuda_CUuserObject *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5018, 0, __PYX_ERR(1, 5018, __pyx_L1_error));

  /* "cuda/cuda.pyx":5019
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUuserObject>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5020
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUuserObject>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUuserObject__val);

    /* "cuda/cuda.pyx":5021
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUuserObject>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUuserObject *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUuserObject)__pyx_v_init_value);

    /* "cuda/cuda.pyx":5019
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUuserObject>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5023
 *             self._ptr[0] = <ccuda.CUuserObject>init_value
 *         else:
 *             self._ptr = <ccuda.CUuserObject *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUuserObject *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5018
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUuserObject.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5024
 *         else:
 *             self._ptr = <ccuda.CUuserObject *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12CUuserObject_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUuserObject_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_12CUuserObject_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUuserObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5024, 0, __PYX_ERR(1, 5024, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUuserObject.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5026
 *     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_4cuda_12CUuserObject_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUuserObject_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUuserObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUuserObject_4__repr__(struct __pyx_obj_4cuda_4cuda_CUuserObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5026, 0, __PYX_ERR(1, 5026, __pyx_L1_error));

  /* "cuda/cuda.pyx":5027
 *         pass
 *     def __repr__(self):
 *         return '<CUuserObject ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5027, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUuserObject, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5027, __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/cuda.pyx":5026
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUuserObject ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUuserObject.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5028
 *     def __repr__(self):
 *         return '<CUuserObject ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUuserObject_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUuserObject_6__index__(((struct __pyx_obj_4cuda_4cuda_CUuserObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUuserObject_6__index__(struct __pyx_obj_4cuda_4cuda_CUuserObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 5028, 0, __PYX_ERR(1, 5028, __pyx_L1_error));

  /* "cuda/cuda.pyx":5029
 *         return '<CUuserObject ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5029, __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/cuda.pyx":5028
 *     def __repr__(self):
 *         return '<CUuserObject ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUuserObject.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5030
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUuserObject_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12CUuserObject_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_4cuda_12CUuserObject_8__int__(((struct __pyx_obj_4cuda_4cuda_CUuserObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUuserObject_8__int__(struct __pyx_obj_4cuda_4cuda_CUuserObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 5030, 0, __PYX_ERR(1, 5030, __pyx_L1_error));

  /* "cuda/cuda.pyx":5031
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5030
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUuserObject.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5032
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUuserObject_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_4cuda_12CUuserObject_10getPtr, "CUuserObject.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12CUuserObject_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUuserObject_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUuserObject_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_12CUuserObject_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUuserObject_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUuserObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUuserObject_10getPtr(struct __pyx_obj_4cuda_4cuda_CUuserObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__74)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5032, 0, __PYX_ERR(1, 5032, __pyx_L1_error));

  /* "cuda/cuda.pyx":5033
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraphDeviceNode:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5032
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUuserObject.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_12CUuserObject_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_4cuda_12CUuserObject_12__reduce_cython__, "CUuserObject.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12CUuserObject_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUuserObject_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUuserObject_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_12CUuserObject_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUuserObject_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUuserObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUuserObject_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUuserObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__75)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUuserObject.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUuserObject_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_4cuda_12CUuserObject_14__setstate_cython__, "CUuserObject.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12CUuserObject_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUuserObject_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUuserObject_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_12CUuserObject_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUuserObject.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUuserObject_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUuserObject *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUuserObject_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUuserObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__76)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUuserObject.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5046
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5046, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5046, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5046, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5046, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5046, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 5046, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphDeviceNode.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUgraphDeviceNode___cinit__(((struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUgraphDeviceNode___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5046, 0, __PYX_ERR(1, 5046, __pyx_L1_error));

  /* "cuda/cuda.pyx":5047
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgraphDeviceNode>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5048
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUgraphDeviceNode>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUgraphDeviceNode__val);

    /* "cuda/cuda.pyx":5049
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgraphDeviceNode>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUgraphDeviceNode *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUgraphDeviceNode)__pyx_v_init_value);

    /* "cuda/cuda.pyx":5047
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgraphDeviceNode>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5051
 *             self._ptr[0] = <ccuda.CUgraphDeviceNode>init_value
 *         else:
 *             self._ptr = <ccuda.CUgraphDeviceNode *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUgraphDeviceNode *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5046
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphDeviceNode.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5052
 *         else:
 *             self._ptr = <ccuda.CUgraphDeviceNode *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUgraphDeviceNode_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_17CUgraphDeviceNode_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5052, 0, __PYX_ERR(1, 5052, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphDeviceNode.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5054
 *     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_4cuda_17CUgraphDeviceNode_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUgraphDeviceNode_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUgraphDeviceNode_4__repr__(struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5054, 0, __PYX_ERR(1, 5054, __pyx_L1_error));

  /* "cuda/cuda.pyx":5055
 *         pass
 *     def __repr__(self):
 *         return '<CUgraphDeviceNode ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUgraphDeviceNode, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5055, __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/cuda.pyx":5054
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgraphDeviceNode ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphDeviceNode.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5056
 *     def __repr__(self):
 *         return '<CUgraphDeviceNode ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUgraphDeviceNode_6__index__(((struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUgraphDeviceNode_6__index__(struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 5056, 0, __PYX_ERR(1, 5056, __pyx_L1_error));

  /* "cuda/cuda.pyx":5057
 *         return '<CUgraphDeviceNode ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5057, __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/cuda.pyx":5056
 *     def __repr__(self):
 *         return '<CUgraphDeviceNode ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphDeviceNode.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5058
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_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_4cuda_17CUgraphDeviceNode_8__int__(((struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUgraphDeviceNode_8__int__(struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 5058, 0, __PYX_ERR(1, 5058, __pyx_L1_error));

  /* "cuda/cuda.pyx":5059
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5059, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5058
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphDeviceNode.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5060
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_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_4cuda_17CUgraphDeviceNode_10getPtr, "CUgraphDeviceNode.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUgraphDeviceNode_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUgraphDeviceNode_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUgraphDeviceNode_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUgraphDeviceNode_10getPtr(struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__77)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5060, 0, __PYX_ERR(1, 5060, __pyx_L1_error));

  /* "cuda/cuda.pyx":5061
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUasyncCallbackHandle:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5060
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphDeviceNode.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_17CUgraphDeviceNode_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_4cuda_17CUgraphDeviceNode_12__reduce_cython__, "CUgraphDeviceNode.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUgraphDeviceNode_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUgraphDeviceNode_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUgraphDeviceNode_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUgraphDeviceNode_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__78)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphDeviceNode.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_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_4cuda_17CUgraphDeviceNode_14__setstate_cython__, "CUgraphDeviceNode.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUgraphDeviceNode_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUgraphDeviceNode_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphDeviceNode.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUgraphDeviceNode_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUgraphDeviceNode_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__79)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphDeviceNode.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5074
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5074, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5074, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5074, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5074, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5074, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 5074, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallbackHandle.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle___cinit__(((struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle___cinit__(struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5074, 0, __PYX_ERR(1, 5074, __pyx_L1_error));

  /* "cuda/cuda.pyx":5075
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUasyncCallbackHandle>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5076
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUasyncCallbackHandle>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUasyncCallbackHandle__val);

    /* "cuda/cuda.pyx":5077
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUasyncCallbackHandle>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUasyncCallbackHandle *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUasyncCallbackHandle)__pyx_v_init_value);

    /* "cuda/cuda.pyx":5075
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUasyncCallbackHandle>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5079
 *             self._ptr[0] = <ccuda.CUasyncCallbackHandle>init_value
 *         else:
 *             self._ptr = <ccuda.CUasyncCallbackHandle *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUasyncCallbackHandle *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5074
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallbackHandle.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5080
 *         else:
 *             self._ptr = <ccuda.CUasyncCallbackHandle *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUasyncCallbackHandle_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5080, 0, __PYX_ERR(1, 5080, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallbackHandle.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5082
 *     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_4cuda_21CUasyncCallbackHandle_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUasyncCallbackHandle_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle_4__repr__(struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5082, 0, __PYX_ERR(1, 5082, __pyx_L1_error));

  /* "cuda/cuda.pyx":5083
 *         pass
 *     def __repr__(self):
 *         return '<CUasyncCallbackHandle ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUasyncCallbackHandle, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5083, __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/cuda.pyx":5082
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUasyncCallbackHandle ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallbackHandle.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5084
 *     def __repr__(self):
 *         return '<CUasyncCallbackHandle ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUasyncCallbackHandle_6__index__(((struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle_6__index__(struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 5084, 0, __PYX_ERR(1, 5084, __pyx_L1_error));

  /* "cuda/cuda.pyx":5085
 *         return '<CUasyncCallbackHandle ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5085, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5085, __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/cuda.pyx":5084
 *     def __repr__(self):
 *         return '<CUasyncCallbackHandle ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallbackHandle.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5086
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_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_4cuda_21CUasyncCallbackHandle_8__int__(((struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle_8__int__(struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 5086, 0, __PYX_ERR(1, 5086, __pyx_L1_error));

  /* "cuda/cuda.pyx":5087
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5086
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallbackHandle.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5088
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_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_4cuda_21CUasyncCallbackHandle_10getPtr, "CUasyncCallbackHandle.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_21CUasyncCallbackHandle_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUasyncCallbackHandle_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle_10getPtr(struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__80)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5088, 0, __PYX_ERR(1, 5088, __pyx_L1_error));

  /* "cuda/cuda.pyx":5089
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUlinkState:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5088
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallbackHandle.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_21CUasyncCallbackHandle_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_4cuda_21CUasyncCallbackHandle_12__reduce_cython__, "CUasyncCallbackHandle.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_21CUasyncCallbackHandle_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUasyncCallbackHandle_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__81)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallbackHandle.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_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_4cuda_21CUasyncCallbackHandle_14__setstate_cython__, "CUasyncCallbackHandle.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_21CUasyncCallbackHandle_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUasyncCallbackHandle_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallbackHandle.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUasyncCallbackHandle_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__82)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallbackHandle.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5100
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11CUlinkState_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11CUlinkState_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5100, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5100, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5100, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5100, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5100, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 5100, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlinkState.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUlinkState___cinit__(((struct __pyx_obj_4cuda_4cuda_CUlinkState *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11CUlinkState___cinit__(struct __pyx_obj_4cuda_4cuda_CUlinkState *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5100, 0, __PYX_ERR(1, 5100, __pyx_L1_error));

  /* "cuda/cuda.pyx":5101
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUlinkState>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5102
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUlinkState>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUlinkState__val);

    /* "cuda/cuda.pyx":5103
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUlinkState>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUlinkState *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUlinkState)__pyx_v_init_value);

    /* "cuda/cuda.pyx":5101
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUlinkState>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5105
 *             self._ptr[0] = <ccuda.CUlinkState>init_value
 *         else:
 *             self._ptr = <ccuda.CUlinkState *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         self._keepalive = []
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUlinkState *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5100
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlinkState.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5106
 *         else:
 *             self._ptr = <ccuda.CUlinkState *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         self._keepalive = []
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11CUlinkState_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUlinkState_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_11CUlinkState_2__init__(struct __pyx_obj_4cuda_4cuda_CUlinkState *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 5106, 0, __PYX_ERR(1, 5106, __pyx_L1_error));

  /* "cuda/cuda.pyx":5107
 *             self._ptr = <ccuda.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(1, 5107, __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/cuda.pyx":5106
 *         else:
 *             self._ptr = <ccuda.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.cuda.CUlinkState.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5108
 *     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_4cuda_11CUlinkState_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUlinkState_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUlinkState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUlinkState_4__repr__(struct __pyx_obj_4cuda_4cuda_CUlinkState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5108, 0, __PYX_ERR(1, 5108, __pyx_L1_error));

  /* "cuda/cuda.pyx":5109
 *         self._keepalive = []
 *     def __repr__(self):
 *         return '<CUlinkState ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUlinkState, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5109, __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/cuda.pyx":5108
 *     def __init__(self, *args, **kwargs):
 *         self._keepalive = []
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUlinkState ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUlinkState.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5110
 *     def __repr__(self):
 *         return '<CUlinkState ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUlinkState_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUlinkState_6__index__(((struct __pyx_obj_4cuda_4cuda_CUlinkState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUlinkState_6__index__(struct __pyx_obj_4cuda_4cuda_CUlinkState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 5110, 0, __PYX_ERR(1, 5110, __pyx_L1_error));

  /* "cuda/cuda.pyx":5111
 *         return '<CUlinkState ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5111, __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/cuda.pyx":5110
 *     def __repr__(self):
 *         return '<CUlinkState ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUlinkState.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5112
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUlinkState_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_11CUlinkState_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_4cuda_11CUlinkState_8__int__(((struct __pyx_obj_4cuda_4cuda_CUlinkState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUlinkState_8__int__(struct __pyx_obj_4cuda_4cuda_CUlinkState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 5112, 0, __PYX_ERR(1, 5112, __pyx_L1_error));

  /* "cuda/cuda.pyx":5113
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5112
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlinkState.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5114
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUlinkState_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_4cuda_11CUlinkState_10getPtr, "CUlinkState.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUlinkState_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUlinkState_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUlinkState_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_11CUlinkState_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUlinkState_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUlinkState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUlinkState_10getPtr(struct __pyx_obj_4cuda_4cuda_CUlinkState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__83)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5114, 0, __PYX_ERR(1, 5114, __pyx_L1_error));

  /* "cuda/cuda.pyx":5115
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgreenCtx:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5114
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlinkState.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_11CUlinkState_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_4cuda_11CUlinkState_12__reduce_cython__, "CUlinkState.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUlinkState_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUlinkState_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUlinkState_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_11CUlinkState_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUlinkState_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUlinkState *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUlinkState_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlinkState *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__84)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlinkState.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUlinkState_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_4cuda_11CUlinkState_14__setstate_cython__, "CUlinkState.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUlinkState_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUlinkState_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUlinkState_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_11CUlinkState_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlinkState.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUlinkState_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUlinkState *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUlinkState_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlinkState *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__85)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlinkState.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5128
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_10CUgreenCtx_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_10CUgreenCtx_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5128, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5128, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5128, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5128, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5128, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 5128, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgreenCtx.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_10CUgreenCtx___cinit__(((struct __pyx_obj_4cuda_4cuda_CUgreenCtx *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_10CUgreenCtx___cinit__(struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5128, 0, __PYX_ERR(1, 5128, __pyx_L1_error));

  /* "cuda/cuda.pyx":5129
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgreenCtx>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5130
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUgreenCtx>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUgreenCtx__val);

    /* "cuda/cuda.pyx":5131
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgreenCtx>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUgreenCtx *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUgreenCtx)__pyx_v_init_value);

    /* "cuda/cuda.pyx":5129
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUgreenCtx>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5133
 *             self._ptr[0] = <ccuda.CUgreenCtx>init_value
 *         else:
 *             self._ptr = <ccuda.CUgreenCtx *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUgreenCtx *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5128
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgreenCtx.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5134
 *         else:
 *             self._ptr = <ccuda.CUgreenCtx *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_10CUgreenCtx_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_10CUgreenCtx_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_10CUgreenCtx_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5134, 0, __PYX_ERR(1, 5134, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgreenCtx.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5136
 *     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_4cuda_10CUgreenCtx_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_10CUgreenCtx_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUgreenCtx *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10CUgreenCtx_4__repr__(struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5136, 0, __PYX_ERR(1, 5136, __pyx_L1_error));

  /* "cuda/cuda.pyx":5137
 *         pass
 *     def __repr__(self):
 *         return '<CUgreenCtx ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUgreenCtx, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5137, __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/cuda.pyx":5136
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUgreenCtx ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgreenCtx.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5138
 *     def __repr__(self):
 *         return '<CUgreenCtx ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_10CUgreenCtx_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_10CUgreenCtx_6__index__(((struct __pyx_obj_4cuda_4cuda_CUgreenCtx *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10CUgreenCtx_6__index__(struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 5138, 0, __PYX_ERR(1, 5138, __pyx_L1_error));

  /* "cuda/cuda.pyx":5139
 *         return '<CUgreenCtx ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5139, __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/cuda.pyx":5138
 *     def __repr__(self):
 *         return '<CUgreenCtx ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgreenCtx.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5140
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_10CUgreenCtx_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_10CUgreenCtx_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_4cuda_10CUgreenCtx_8__int__(((struct __pyx_obj_4cuda_4cuda_CUgreenCtx *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10CUgreenCtx_8__int__(struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 5140, 0, __PYX_ERR(1, 5140, __pyx_L1_error));

  /* "cuda/cuda.pyx":5141
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5140
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgreenCtx.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5142
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_10CUgreenCtx_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_4cuda_10CUgreenCtx_10getPtr, "CUgreenCtx.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_10CUgreenCtx_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10CUgreenCtx_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10CUgreenCtx_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_10CUgreenCtx_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_10CUgreenCtx_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUgreenCtx *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10CUgreenCtx_10getPtr(struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__86)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5142, 0, __PYX_ERR(1, 5142, __pyx_L1_error));

  /* "cuda/cuda.pyx":5143
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdevResourceDesc:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5142
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgreenCtx.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_10CUgreenCtx_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_4cuda_10CUgreenCtx_12__reduce_cython__, "CUgreenCtx.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_10CUgreenCtx_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10CUgreenCtx_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10CUgreenCtx_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_10CUgreenCtx_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_10CUgreenCtx_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUgreenCtx *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10CUgreenCtx_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__87)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgreenCtx.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_10CUgreenCtx_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_4cuda_10CUgreenCtx_14__setstate_cython__, "CUgreenCtx.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_10CUgreenCtx_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10CUgreenCtx_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10CUgreenCtx_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_10CUgreenCtx_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgreenCtx.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_10CUgreenCtx_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUgreenCtx *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10CUgreenCtx_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__88)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgreenCtx.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5156
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUdevResourceDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_17CUdevResourceDesc_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5156, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5156, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5156, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5156, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5156, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 5156, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdevResourceDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUdevResourceDesc___cinit__(((struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUdevResourceDesc___cinit__(struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5156, 0, __PYX_ERR(1, 5156, __pyx_L1_error));

  /* "cuda/cuda.pyx":5157
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUdevResourceDesc>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5158
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUdevResourceDesc>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUdevResourceDesc__val);

    /* "cuda/cuda.pyx":5159
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUdevResourceDesc>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUdevResourceDesc *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUdevResourceDesc)__pyx_v_init_value);

    /* "cuda/cuda.pyx":5157
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUdevResourceDesc>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5161
 *             self._ptr[0] = <ccuda.CUdevResourceDesc>init_value
 *         else:
 *             self._ptr = <ccuda.CUdevResourceDesc *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUdevResourceDesc *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5156
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevResourceDesc.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5162
 *         else:
 *             self._ptr = <ccuda.CUdevResourceDesc *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUdevResourceDesc_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUdevResourceDesc_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_17CUdevResourceDesc_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5162, 0, __PYX_ERR(1, 5162, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevResourceDesc.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5164
 *     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_4cuda_17CUdevResourceDesc_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUdevResourceDesc_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUdevResourceDesc_4__repr__(struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5164, 0, __PYX_ERR(1, 5164, __pyx_L1_error));

  /* "cuda/cuda.pyx":5165
 *         pass
 *     def __repr__(self):
 *         return '<CUdevResourceDesc ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUdevResourceDesc, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5165, __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/cuda.pyx":5164
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUdevResourceDesc ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUdevResourceDesc.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5166
 *     def __repr__(self):
 *         return '<CUdevResourceDesc ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUdevResourceDesc_6__index__(((struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUdevResourceDesc_6__index__(struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 5166, 0, __PYX_ERR(1, 5166, __pyx_L1_error));

  /* "cuda/cuda.pyx":5167
 *         return '<CUdevResourceDesc ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5167, __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/cuda.pyx":5166
 *     def __repr__(self):
 *         return '<CUdevResourceDesc ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUdevResourceDesc.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5168
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_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_4cuda_17CUdevResourceDesc_8__int__(((struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUdevResourceDesc_8__int__(struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 5168, 0, __PYX_ERR(1, 5168, __pyx_L1_error));

  /* "cuda/cuda.pyx":5169
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5168
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevResourceDesc.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5170
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_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_4cuda_17CUdevResourceDesc_10getPtr, "CUdevResourceDesc.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUdevResourceDesc_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUdevResourceDesc_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUdevResourceDesc_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUdevResourceDesc_10getPtr(struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__89)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5170, 0, __PYX_ERR(1, 5170, __pyx_L1_error));

  /* "cuda/cuda.pyx":5171
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUeglStreamConnection:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5170
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevResourceDesc.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_17CUdevResourceDesc_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_4cuda_17CUdevResourceDesc_12__reduce_cython__, "CUdevResourceDesc.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUdevResourceDesc_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUdevResourceDesc_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUdevResourceDesc_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUdevResourceDesc_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__90)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevResourceDesc.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_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_4cuda_17CUdevResourceDesc_14__setstate_cython__, "CUdevResourceDesc.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUdevResourceDesc_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUdevResourceDesc_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdevResourceDesc.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUdevResourceDesc_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUdevResourceDesc_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__91)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevResourceDesc.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5184
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUeglStreamConnection_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_21CUeglStreamConnection_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5184, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5184, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5184, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5184, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5184, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 5184, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUeglStreamConnection.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUeglStreamConnection___cinit__(((struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUeglStreamConnection___cinit__(struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5184, 0, __PYX_ERR(1, 5184, __pyx_L1_error));

  /* "cuda/cuda.pyx":5185
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUeglStreamConnection>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5186
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUeglStreamConnection>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUeglStreamConnection__val);

    /* "cuda/cuda.pyx":5187
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUeglStreamConnection>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUeglStreamConnection *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection)__pyx_v_init_value);

    /* "cuda/cuda.pyx":5185
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUeglStreamConnection>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5189
 *             self._ptr[0] = <ccuda.CUeglStreamConnection>init_value
 *         else:
 *             self._ptr = <ccuda.CUeglStreamConnection *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5184
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglStreamConnection.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5190
 *         else:
 *             self._ptr = <ccuda.CUeglStreamConnection *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUeglStreamConnection_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUeglStreamConnection_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUeglStreamConnection_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5190, 0, __PYX_ERR(1, 5190, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglStreamConnection.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5192
 *     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_4cuda_21CUeglStreamConnection_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUeglStreamConnection_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUeglStreamConnection_4__repr__(struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5192, 0, __PYX_ERR(1, 5192, __pyx_L1_error));

  /* "cuda/cuda.pyx":5193
 *         pass
 *     def __repr__(self):
 *         return '<CUeglStreamConnection ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUeglStreamConnection, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5193, __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/cuda.pyx":5192
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUeglStreamConnection ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUeglStreamConnection.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5194
 *     def __repr__(self):
 *         return '<CUeglStreamConnection ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUeglStreamConnection_6__index__(((struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUeglStreamConnection_6__index__(struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 5194, 0, __PYX_ERR(1, 5194, __pyx_L1_error));

  /* "cuda/cuda.pyx":5195
 *         return '<CUeglStreamConnection ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5195, __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/cuda.pyx":5194
 *     def __repr__(self):
 *         return '<CUeglStreamConnection ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUeglStreamConnection.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5196
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_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_4cuda_21CUeglStreamConnection_8__int__(((struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUeglStreamConnection_8__int__(struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 5196, 0, __PYX_ERR(1, 5196, __pyx_L1_error));

  /* "cuda/cuda.pyx":5197
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5196
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUeglStreamConnection.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5198
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_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_4cuda_21CUeglStreamConnection_10getPtr, "CUeglStreamConnection.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_21CUeglStreamConnection_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUeglStreamConnection_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUeglStreamConnection_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUeglStreamConnection_10getPtr(struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__92)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5198, 0, __PYX_ERR(1, 5198, __pyx_L1_error));

  /* "cuda/cuda.pyx":5199
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class EGLImageKHR:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5198
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUeglStreamConnection.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_21CUeglStreamConnection_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_4cuda_21CUeglStreamConnection_12__reduce_cython__, "CUeglStreamConnection.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_21CUeglStreamConnection_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUeglStreamConnection_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUeglStreamConnection_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUeglStreamConnection_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__93)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglStreamConnection.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_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_4cuda_21CUeglStreamConnection_14__setstate_cython__, "CUeglStreamConnection.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_21CUeglStreamConnection_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUeglStreamConnection_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUeglStreamConnection.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUeglStreamConnection_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUeglStreamConnection_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__94)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglStreamConnection.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5210
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11EGLImageKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11EGLImageKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5210, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5210, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5210, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5210, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5210, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 5210, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.EGLImageKHR.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11EGLImageKHR___cinit__(((struct __pyx_obj_4cuda_4cuda_EGLImageKHR *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11EGLImageKHR___cinit__(struct __pyx_obj_4cuda_4cuda_EGLImageKHR *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5210, 0, __PYX_ERR(1, 5210, __pyx_L1_error));

  /* "cuda/cuda.pyx":5211
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.EGLImageKHR>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5212
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.EGLImageKHR>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_EGLImageKHR__val);

    /* "cuda/cuda.pyx":5213
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.EGLImageKHR>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.EGLImageKHR *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((__pyx_t_4cuda_5ccuda_EGLImageKHR)__pyx_v_init_value);

    /* "cuda/cuda.pyx":5211
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.EGLImageKHR>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5215
 *             self._ptr[0] = <ccuda.EGLImageKHR>init_value
 *         else:
 *             self._ptr = <ccuda.EGLImageKHR *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_5ccuda_EGLImageKHR *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5210
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.EGLImageKHR.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5216
 *         else:
 *             self._ptr = <ccuda.EGLImageKHR *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11EGLImageKHR_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_11EGLImageKHR_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_11EGLImageKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLImageKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5216, 0, __PYX_ERR(1, 5216, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.EGLImageKHR.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5218
 *     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_4cuda_11EGLImageKHR_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11EGLImageKHR_4__repr__(((struct __pyx_obj_4cuda_4cuda_EGLImageKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11EGLImageKHR_4__repr__(struct __pyx_obj_4cuda_4cuda_EGLImageKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5218, 0, __PYX_ERR(1, 5218, __pyx_L1_error));

  /* "cuda/cuda.pyx":5219
 *         pass
 *     def __repr__(self):
 *         return '<EGLImageKHR ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5219, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_EGLImageKHR, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5219, __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/cuda.pyx":5218
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<EGLImageKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.EGLImageKHR.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5220
 *     def __repr__(self):
 *         return '<EGLImageKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11EGLImageKHR_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11EGLImageKHR_6__index__(((struct __pyx_obj_4cuda_4cuda_EGLImageKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11EGLImageKHR_6__index__(struct __pyx_obj_4cuda_4cuda_EGLImageKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 5220, 0, __PYX_ERR(1, 5220, __pyx_L1_error));

  /* "cuda/cuda.pyx":5221
 *         return '<EGLImageKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5221, __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/cuda.pyx":5220
 *     def __repr__(self):
 *         return '<EGLImageKHR ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.EGLImageKHR.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5222
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11EGLImageKHR_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_11EGLImageKHR_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_4cuda_11EGLImageKHR_8__int__(((struct __pyx_obj_4cuda_4cuda_EGLImageKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11EGLImageKHR_8__int__(struct __pyx_obj_4cuda_4cuda_EGLImageKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 5222, 0, __PYX_ERR(1, 5222, __pyx_L1_error));

  /* "cuda/cuda.pyx":5223
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5222
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.EGLImageKHR.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5224
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11EGLImageKHR_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_4cuda_11EGLImageKHR_10getPtr, "EGLImageKHR.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11EGLImageKHR_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11EGLImageKHR_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11EGLImageKHR_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_11EGLImageKHR_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11EGLImageKHR_10getPtr(((struct __pyx_obj_4cuda_4cuda_EGLImageKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11EGLImageKHR_10getPtr(struct __pyx_obj_4cuda_4cuda_EGLImageKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__95)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5224, 0, __PYX_ERR(1, 5224, __pyx_L1_error));

  /* "cuda/cuda.pyx":5225
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class EGLStreamKHR:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5224
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.EGLImageKHR.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_11EGLImageKHR_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_4cuda_11EGLImageKHR_12__reduce_cython__, "EGLImageKHR.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11EGLImageKHR_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11EGLImageKHR_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11EGLImageKHR_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_11EGLImageKHR_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11EGLImageKHR_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_EGLImageKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11EGLImageKHR_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLImageKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__96)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.EGLImageKHR.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11EGLImageKHR_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_4cuda_11EGLImageKHR_14__setstate_cython__, "EGLImageKHR.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11EGLImageKHR_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11EGLImageKHR_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11EGLImageKHR_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_11EGLImageKHR_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.EGLImageKHR.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11EGLImageKHR_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_EGLImageKHR *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11EGLImageKHR_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLImageKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__97)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.EGLImageKHR.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5236
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12EGLStreamKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12EGLStreamKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5236, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5236, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5236, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5236, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5236, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 5236, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.EGLStreamKHR.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12EGLStreamKHR___cinit__(((struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12EGLStreamKHR___cinit__(struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5236, 0, __PYX_ERR(1, 5236, __pyx_L1_error));

  /* "cuda/cuda.pyx":5237
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.EGLStreamKHR>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5238
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.EGLStreamKHR>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_EGLStreamKHR__val);

    /* "cuda/cuda.pyx":5239
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.EGLStreamKHR>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.EGLStreamKHR *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((__pyx_t_4cuda_5ccuda_EGLStreamKHR)__pyx_v_init_value);

    /* "cuda/cuda.pyx":5237
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.EGLStreamKHR>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5241
 *             self._ptr[0] = <ccuda.EGLStreamKHR>init_value
 *         else:
 *             self._ptr = <ccuda.EGLStreamKHR *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_5ccuda_EGLStreamKHR *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5236
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.EGLStreamKHR.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5242
 *         else:
 *             self._ptr = <ccuda.EGLStreamKHR *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12EGLStreamKHR_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_12EGLStreamKHR_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_12EGLStreamKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5242, 0, __PYX_ERR(1, 5242, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.EGLStreamKHR.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5244
 *     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_4cuda_12EGLStreamKHR_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12EGLStreamKHR_4__repr__(((struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12EGLStreamKHR_4__repr__(struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5244, 0, __PYX_ERR(1, 5244, __pyx_L1_error));

  /* "cuda/cuda.pyx":5245
 *         pass
 *     def __repr__(self):
 *         return '<EGLStreamKHR ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5245, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_EGLStreamKHR, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5245, __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/cuda.pyx":5244
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<EGLStreamKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.EGLStreamKHR.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5246
 *     def __repr__(self):
 *         return '<EGLStreamKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12EGLStreamKHR_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12EGLStreamKHR_6__index__(((struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12EGLStreamKHR_6__index__(struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 5246, 0, __PYX_ERR(1, 5246, __pyx_L1_error));

  /* "cuda/cuda.pyx":5247
 *         return '<EGLStreamKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5247, __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/cuda.pyx":5246
 *     def __repr__(self):
 *         return '<EGLStreamKHR ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.EGLStreamKHR.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5248
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12EGLStreamKHR_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12EGLStreamKHR_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_4cuda_12EGLStreamKHR_8__int__(((struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12EGLStreamKHR_8__int__(struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 5248, 0, __PYX_ERR(1, 5248, __pyx_L1_error));

  /* "cuda/cuda.pyx":5249
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5248
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.EGLStreamKHR.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5250
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12EGLStreamKHR_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_4cuda_12EGLStreamKHR_10getPtr, "EGLStreamKHR.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12EGLStreamKHR_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12EGLStreamKHR_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12EGLStreamKHR_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_12EGLStreamKHR_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12EGLStreamKHR_10getPtr(((struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12EGLStreamKHR_10getPtr(struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__98)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5250, 0, __PYX_ERR(1, 5250, __pyx_L1_error));

  /* "cuda/cuda.pyx":5251
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class EGLSyncKHR:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5250
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.EGLStreamKHR.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_12EGLStreamKHR_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_4cuda_12EGLStreamKHR_12__reduce_cython__, "EGLStreamKHR.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12EGLStreamKHR_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12EGLStreamKHR_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12EGLStreamKHR_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_12EGLStreamKHR_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12EGLStreamKHR_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12EGLStreamKHR_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__99)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.EGLStreamKHR.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12EGLStreamKHR_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_4cuda_12EGLStreamKHR_14__setstate_cython__, "EGLStreamKHR.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12EGLStreamKHR_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12EGLStreamKHR_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12EGLStreamKHR_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_12EGLStreamKHR_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.EGLStreamKHR.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12EGLStreamKHR_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12EGLStreamKHR_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLStreamKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__100)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.EGLStreamKHR.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5262
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_10EGLSyncKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_10EGLSyncKHR_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5262, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5262, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5262, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5262, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5262, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 5262, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.EGLSyncKHR.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_10EGLSyncKHR___cinit__(((struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_10EGLSyncKHR___cinit__(struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5262, 0, __PYX_ERR(1, 5262, __pyx_L1_error));

  /* "cuda/cuda.pyx":5263
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.EGLSyncKHR>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5264
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.EGLSyncKHR>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_EGLSyncKHR__val);

    /* "cuda/cuda.pyx":5265
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.EGLSyncKHR>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.EGLSyncKHR *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((__pyx_t_4cuda_5ccuda_EGLSyncKHR)__pyx_v_init_value);

    /* "cuda/cuda.pyx":5263
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.EGLSyncKHR>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5267
 *             self._ptr[0] = <ccuda.EGLSyncKHR>init_value
 *         else:
 *             self._ptr = <ccuda.EGLSyncKHR *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_5ccuda_EGLSyncKHR *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5262
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.EGLSyncKHR.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5268
 *         else:
 *             self._ptr = <ccuda.EGLSyncKHR *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_10EGLSyncKHR_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_10EGLSyncKHR_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_10EGLSyncKHR_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5268, 0, __PYX_ERR(1, 5268, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.EGLSyncKHR.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5270
 *     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_4cuda_10EGLSyncKHR_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_10EGLSyncKHR_4__repr__(((struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10EGLSyncKHR_4__repr__(struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5270, 0, __PYX_ERR(1, 5270, __pyx_L1_error));

  /* "cuda/cuda.pyx":5271
 *         pass
 *     def __repr__(self):
 *         return '<EGLSyncKHR ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_EGLSyncKHR, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5271, __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/cuda.pyx":5270
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<EGLSyncKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.EGLSyncKHR.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5272
 *     def __repr__(self):
 *         return '<EGLSyncKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):             # <<<<<<<<<<<<<<
 *         return self.__int__()
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_10EGLSyncKHR_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_10EGLSyncKHR_6__index__(((struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10EGLSyncKHR_6__index__(struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 5272, 0, __PYX_ERR(1, 5272, __pyx_L1_error));

  /* "cuda/cuda.pyx":5273
 *         return '<EGLSyncKHR ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5273, __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/cuda.pyx":5272
 *     def __repr__(self):
 *         return '<EGLSyncKHR ' + 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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.EGLSyncKHR.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5274
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_10EGLSyncKHR_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_10EGLSyncKHR_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_4cuda_10EGLSyncKHR_8__int__(((struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10EGLSyncKHR_8__int__(struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 5274, 0, __PYX_ERR(1, 5274, __pyx_L1_error));

  /* "cuda/cuda.pyx":5275
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5274
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.EGLSyncKHR.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5276
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_10EGLSyncKHR_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_4cuda_10EGLSyncKHR_10getPtr, "EGLSyncKHR.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_10EGLSyncKHR_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10EGLSyncKHR_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10EGLSyncKHR_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_10EGLSyncKHR_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_10EGLSyncKHR_10getPtr(((struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10EGLSyncKHR_10getPtr(struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__101)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5276, 0, __PYX_ERR(1, 5276, __pyx_L1_error));

  /* "cuda/cuda.pyx":5277
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUasyncCallback:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5276
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.EGLSyncKHR.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_10EGLSyncKHR_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_4cuda_10EGLSyncKHR_12__reduce_cython__, "EGLSyncKHR.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_10EGLSyncKHR_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10EGLSyncKHR_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10EGLSyncKHR_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_10EGLSyncKHR_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_10EGLSyncKHR_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10EGLSyncKHR_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__102)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.EGLSyncKHR.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_10EGLSyncKHR_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_4cuda_10EGLSyncKHR_14__setstate_cython__, "EGLSyncKHR.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_10EGLSyncKHR_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10EGLSyncKHR_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10EGLSyncKHR_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_10EGLSyncKHR_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.EGLSyncKHR.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_10EGLSyncKHR_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10EGLSyncKHR_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLSyncKHR *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__103)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.EGLSyncKHR.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5288
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_15CUasyncCallback_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_15CUasyncCallback_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5288, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5288, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5288, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5288, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5288, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 5288, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallback.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_15CUasyncCallback___cinit__(((struct __pyx_obj_4cuda_4cuda_CUasyncCallback *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_15CUasyncCallback___cinit__(struct __pyx_obj_4cuda_4cuda_CUasyncCallback *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5288, 0, __PYX_ERR(1, 5288, __pyx_L1_error));

  /* "cuda/cuda.pyx":5289
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUasyncCallback>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5290
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUasyncCallback>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUasyncCallback__val);

    /* "cuda/cuda.pyx":5291
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUasyncCallback>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUasyncCallback *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUasyncCallback)__pyx_v_init_value);

    /* "cuda/cuda.pyx":5289
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUasyncCallback>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5293
 *             self._ptr[0] = <ccuda.CUasyncCallback>init_value
 *         else:
 *             self._ptr = <ccuda.CUasyncCallback *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUasyncCallback *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5288
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallback.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5294
 *         else:
 *             self._ptr = <ccuda.CUasyncCallback *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_15CUasyncCallback_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_15CUasyncCallback_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_15CUasyncCallback_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUasyncCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5294, 0, __PYX_ERR(1, 5294, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallback.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5296
 *     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_4cuda_15CUasyncCallback_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_15CUasyncCallback_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUasyncCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_15CUasyncCallback_4__repr__(struct __pyx_obj_4cuda_4cuda_CUasyncCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5296, 0, __PYX_ERR(1, 5296, __pyx_L1_error));

  /* "cuda/cuda.pyx":5297
 *         pass
 *     def __repr__(self):
 *         return '<CUasyncCallback ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUasyncCallback, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5297, __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/cuda.pyx":5296
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUasyncCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallback.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5298
 *     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_4cuda_15CUasyncCallback_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_15CUasyncCallback_6__index__(((struct __pyx_obj_4cuda_4cuda_CUasyncCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_15CUasyncCallback_6__index__(struct __pyx_obj_4cuda_4cuda_CUasyncCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 5298, 0, __PYX_ERR(1, 5298, __pyx_L1_error));

  /* "cuda/cuda.pyx":5299
 *         return '<CUasyncCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5299, __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/cuda.pyx":5298
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallback.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5300
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_15CUasyncCallback_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_15CUasyncCallback_8__int__(((struct __pyx_obj_4cuda_4cuda_CUasyncCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_15CUasyncCallback_8__int__(struct __pyx_obj_4cuda_4cuda_CUasyncCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 5300, 0, __PYX_ERR(1, 5300, __pyx_L1_error));

  /* "cuda/cuda.pyx":5301
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5300
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallback.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5302
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_15CUasyncCallback_10getPtr, "CUasyncCallback.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_15CUasyncCallback_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15CUasyncCallback_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15CUasyncCallback_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_15CUasyncCallback_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUasyncCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_15CUasyncCallback_10getPtr(struct __pyx_obj_4cuda_4cuda_CUasyncCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__104)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5302, 0, __PYX_ERR(1, 5302, __pyx_L1_error));

  /* "cuda/cuda.pyx":5303
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUhostFn:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5302
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallback.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_15CUasyncCallback_12__reduce_cython__, "CUasyncCallback.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_15CUasyncCallback_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15CUasyncCallback_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15CUasyncCallback_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_15CUasyncCallback_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUasyncCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_15CUasyncCallback_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUasyncCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__105)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallback.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_15CUasyncCallback_14__setstate_cython__, "CUasyncCallback.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_15CUasyncCallback_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15CUasyncCallback_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15CUasyncCallback_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallback.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_15CUasyncCallback_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUasyncCallback *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_15CUasyncCallback_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUasyncCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__106)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUasyncCallback.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5314
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_8CUhostFn_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_8CUhostFn_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5314, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5314, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5314, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5314, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5314, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 5314, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUhostFn.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUhostFn___cinit__(((struct __pyx_obj_4cuda_4cuda_CUhostFn *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_8CUhostFn___cinit__(struct __pyx_obj_4cuda_4cuda_CUhostFn *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5314, 0, __PYX_ERR(1, 5314, __pyx_L1_error));

  /* "cuda/cuda.pyx":5315
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUhostFn>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5316
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUhostFn>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUhostFn__val);

    /* "cuda/cuda.pyx":5317
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUhostFn>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUhostFn *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUhostFn)__pyx_v_init_value);

    /* "cuda/cuda.pyx":5315
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUhostFn>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5319
 *             self._ptr[0] = <ccuda.CUhostFn>init_value
 *         else:
 *             self._ptr = <ccuda.CUhostFn *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUhostFn *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5314
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUhostFn.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5320
 *         else:
 *             self._ptr = <ccuda.CUhostFn *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_8CUhostFn_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUhostFn_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_8CUhostFn_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUhostFn *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5320, 0, __PYX_ERR(1, 5320, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUhostFn.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5322
 *     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_4cuda_8CUhostFn_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8CUhostFn_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUhostFn *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUhostFn_4__repr__(struct __pyx_obj_4cuda_4cuda_CUhostFn *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5322, 0, __PYX_ERR(1, 5322, __pyx_L1_error));

  /* "cuda/cuda.pyx":5323
 *         pass
 *     def __repr__(self):
 *         return '<CUhostFn ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUhostFn, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5323, __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/cuda.pyx":5322
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUhostFn ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUhostFn.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5324
 *     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_4cuda_8CUhostFn_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8CUhostFn_6__index__(((struct __pyx_obj_4cuda_4cuda_CUhostFn *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUhostFn_6__index__(struct __pyx_obj_4cuda_4cuda_CUhostFn *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 5324, 0, __PYX_ERR(1, 5324, __pyx_L1_error));

  /* "cuda/cuda.pyx":5325
 *         return '<CUhostFn ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5325, __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/cuda.pyx":5324
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUhostFn.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5326
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_8CUhostFn_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8CUhostFn_8__int__(((struct __pyx_obj_4cuda_4cuda_CUhostFn *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUhostFn_8__int__(struct __pyx_obj_4cuda_4cuda_CUhostFn *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 5326, 0, __PYX_ERR(1, 5326, __pyx_L1_error));

  /* "cuda/cuda.pyx":5327
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5326
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUhostFn.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5328
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8CUhostFn_10getPtr, "CUhostFn.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUhostFn_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUhostFn_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUhostFn_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUhostFn_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUhostFn *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUhostFn_10getPtr(struct __pyx_obj_4cuda_4cuda_CUhostFn *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__107)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5328, 0, __PYX_ERR(1, 5328, __pyx_L1_error));

  /* "cuda/cuda.pyx":5329
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUstreamCallback:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5328
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUhostFn.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_8CUhostFn_12__reduce_cython__, "CUhostFn.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUhostFn_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUhostFn_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUhostFn_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUhostFn_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUhostFn *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUhostFn_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUhostFn *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__108)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUhostFn.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8CUhostFn_14__setstate_cython__, "CUhostFn.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_8CUhostFn_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUhostFn_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUhostFn_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUhostFn.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_8CUhostFn_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUhostFn *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8CUhostFn_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUhostFn *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__109)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUhostFn.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5340
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUstreamCallback_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_16CUstreamCallback_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5340, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5340, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5340, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5340, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5340, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 5340, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstreamCallback.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUstreamCallback___cinit__(((struct __pyx_obj_4cuda_4cuda_CUstreamCallback *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUstreamCallback___cinit__(struct __pyx_obj_4cuda_4cuda_CUstreamCallback *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5340, 0, __PYX_ERR(1, 5340, __pyx_L1_error));

  /* "cuda/cuda.pyx":5341
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUstreamCallback>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5342
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUstreamCallback>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUstreamCallback__val);

    /* "cuda/cuda.pyx":5343
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUstreamCallback>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUstreamCallback *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUstreamCallback)__pyx_v_init_value);

    /* "cuda/cuda.pyx":5341
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUstreamCallback>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5345
 *             self._ptr[0] = <ccuda.CUstreamCallback>init_value
 *         else:
 *             self._ptr = <ccuda.CUstreamCallback *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUstreamCallback *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5340
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamCallback.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5346
 *         else:
 *             self._ptr = <ccuda.CUstreamCallback *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUstreamCallback_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUstreamCallback_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_16CUstreamCallback_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5346, 0, __PYX_ERR(1, 5346, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamCallback.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5348
 *     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_4cuda_16CUstreamCallback_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUstreamCallback_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUstreamCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUstreamCallback_4__repr__(struct __pyx_obj_4cuda_4cuda_CUstreamCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5348, 0, __PYX_ERR(1, 5348, __pyx_L1_error));

  /* "cuda/cuda.pyx":5349
 *         pass
 *     def __repr__(self):
 *         return '<CUstreamCallback ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUstreamCallback, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5349, __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/cuda.pyx":5348
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUstreamCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUstreamCallback.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5350
 *     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_4cuda_16CUstreamCallback_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUstreamCallback_6__index__(((struct __pyx_obj_4cuda_4cuda_CUstreamCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUstreamCallback_6__index__(struct __pyx_obj_4cuda_4cuda_CUstreamCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 5350, 0, __PYX_ERR(1, 5350, __pyx_L1_error));

  /* "cuda/cuda.pyx":5351
 *         return '<CUstreamCallback ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5351, __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/cuda.pyx":5350
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUstreamCallback.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5352
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUstreamCallback_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUstreamCallback_8__int__(((struct __pyx_obj_4cuda_4cuda_CUstreamCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUstreamCallback_8__int__(struct __pyx_obj_4cuda_4cuda_CUstreamCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 5352, 0, __PYX_ERR(1, 5352, __pyx_L1_error));

  /* "cuda/cuda.pyx":5353
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5352
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUstreamCallback.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5354
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUstreamCallback_10getPtr, "CUstreamCallback.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUstreamCallback_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUstreamCallback_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUstreamCallback_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUstreamCallback_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUstreamCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUstreamCallback_10getPtr(struct __pyx_obj_4cuda_4cuda_CUstreamCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__110)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5354, 0, __PYX_ERR(1, 5354, __pyx_L1_error));

  /* "cuda/cuda.pyx":5355
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUoccupancyB2DSize:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5354
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUstreamCallback.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_16CUstreamCallback_12__reduce_cython__, "CUstreamCallback.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUstreamCallback_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUstreamCallback_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUstreamCallback_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUstreamCallback_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUstreamCallback *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUstreamCallback_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamCallback *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__111)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamCallback.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUstreamCallback_14__setstate_cython__, "CUstreamCallback.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUstreamCallback_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUstreamCallback_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUstreamCallback_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstreamCallback.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUstreamCallback_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUstreamCallback *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUstreamCallback_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamCallback *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__112)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamCallback.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5366
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5366, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5366, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5366, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5366, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5366, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 5366, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUoccupancyB2DSize.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize___cinit__(((struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize___cinit__(struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5366, 0, __PYX_ERR(1, 5366, __pyx_L1_error));

  /* "cuda/cuda.pyx":5367
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUoccupancyB2DSize>init_value
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5368
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *             self._ptr[0] = <ccuda.CUoccupancyB2DSize>init_value
 *         else:
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUoccupancyB2DSize__val);

    /* "cuda/cuda.pyx":5369
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUoccupancyB2DSize>init_value             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUoccupancyB2DSize *>_ptr
 */
    (__pyx_v_self->_ptr[0]) = ((CUoccupancyB2DSize)__pyx_v_init_value);

    /* "cuda/cuda.pyx":5367
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *             self._ptr[0] = <ccuda.CUoccupancyB2DSize>init_value
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5371
 *             self._ptr[0] = <ccuda.CUoccupancyB2DSize>init_value
 *         else:
 *             self._ptr = <ccuda.CUoccupancyB2DSize *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, *args, **kwargs):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUoccupancyB2DSize *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5366
 * 
 *     """
 *     def __cinit__(self, void_ptr init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUoccupancyB2DSize.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5372
 *         else:
 *             self._ptr = <ccuda.CUoccupancyB2DSize *>_ptr
 *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize_2__init__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_18CUoccupancyB2DSize_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5372, 0, __PYX_ERR(1, 5372, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUoccupancyB2DSize.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5374
 *     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_4cuda_18CUoccupancyB2DSize_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUoccupancyB2DSize_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize_4__repr__(struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5374, 0, __PYX_ERR(1, 5374, __pyx_L1_error));

  /* "cuda/cuda.pyx":5375
 *         pass
 *     def __repr__(self):
 *         return '<CUoccupancyB2DSize ' + str(hex(self.__int__())) + '>'             # <<<<<<<<<<<<<<
 *     def __index__(self):
 *         return self.__int__()
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_kp_u_CUoccupancyB2DSize, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5375, __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/cuda.pyx":5374
 *     def __init__(self, *args, **kwargs):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUoccupancyB2DSize ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUoccupancyB2DSize.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5376
 *     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_4cuda_18CUoccupancyB2DSize_7__index__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUoccupancyB2DSize_6__index__(((struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize_6__index__(struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__index__", 1);
  __Pyx_TraceCall("__index__", __pyx_f[1], 5376, 0, __PYX_ERR(1, 5376, __pyx_L1_error));

  /* "cuda/cuda.pyx":5377
 *         return '<CUoccupancyB2DSize ' + str(hex(self.__int__())) + '>'
 *     def __index__(self):
 *         return self.__int__()             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5377, __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/cuda.pyx":5376
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUoccupancyB2DSize.__index__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5378
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_9__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUoccupancyB2DSize_8__int__(((struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize_8__int__(struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 5378, 0, __PYX_ERR(1, 5378, __pyx_L1_error));

  /* "cuda/cuda.pyx":5379
 *         return self.__int__()
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5378
 *     def __index__(self):
 *         return self.__int__()
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUoccupancyB2DSize.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5380
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUoccupancyB2DSize_10getPtr, "CUoccupancyB2DSize.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_18CUoccupancyB2DSize_11getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUoccupancyB2DSize_10getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize_10getPtr(((struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize_10getPtr(struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__113)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5380, 0, __PYX_ERR(1, 5380, __pyx_L1_error));

  /* "cuda/cuda.pyx":5381
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUuuid_st:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5380
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUoccupancyB2DSize.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_18CUoccupancyB2DSize_12__reduce_cython__, "CUoccupancyB2DSize.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_18CUoccupancyB2DSize_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUoccupancyB2DSize_12__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize_12__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__114)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUoccupancyB2DSize.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUoccupancyB2DSize_14__setstate_cython__, "CUoccupancyB2DSize.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_18CUoccupancyB2DSize_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUoccupancyB2DSize_14__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUoccupancyB2DSize.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize_14__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUoccupancyB2DSize_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__115)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUoccupancyB2DSize.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5396
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_9CUuuid_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_9CUuuid_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5396, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5396, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5396, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 5396, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUuuid_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUuuid_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUuuid_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_9CUuuid_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUuuid_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5396, 0, __PYX_ERR(1, 5396, __pyx_L1_error));

  /* "cuda/cuda.pyx":5397
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5398
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUuuid_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUuuid_st__val);

    /* "cuda/cuda.pyx":5397
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5400
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUuuid_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUuuid_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5396
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUuuid_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5401
 *         else:
 *             self._ptr = <ccuda.CUuuid_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_9CUuuid_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_9CUuuid_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5401, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 5401, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5401, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 5401, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUuuid_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUuuid_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUuuid_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_9CUuuid_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUuuid_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5401, 0, __PYX_ERR(1, 5401, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUuuid_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5403
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_9CUuuid_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_9CUuuid_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUuuid_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_9CUuuid_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUuuid_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 5403, 0, __PYX_ERR(1, 5403, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUuuid_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":5405
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_9CUuuid_st_6getPtr, "CUuuid_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_9CUuuid_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUuuid_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUuuid_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUuuid_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUuuid_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUuuid_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUuuid_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__116)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5405, 0, __PYX_ERR(1, 5405, __pyx_L1_error));

  /* "cuda/cuda.pyx":5406
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5405
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUuuid_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5407
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_9CUuuid_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_9CUuuid_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUuuid_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUuuid_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUuuid_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5407, 0, __PYX_ERR(1, 5407, __pyx_L1_error));

  /* "cuda/cuda.pyx":5408
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5409
 *     def __repr__(self):
 *         if self._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(1, 5409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":5410
 *         if self._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/cuda.pyx":5411
 *             str_list = []
 *             try:
 *                 str_list += ['bytes : ' + str(self.bytes.hex())]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['bytes : <ValueError>']
 */
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_bytes_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5411, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_hex); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 5411, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = NULL;
        __pyx_t_8 = 0;
        #if CYTHON_UNPACK_METHODS
        if (likely(PyMethod_Check(__pyx_t_7))) {
          __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7);
          if (likely(__pyx_t_6)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
            __Pyx_INCREF(__pyx_t_6);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_7, function);
            __pyx_t_8 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_8, 0+__pyx_t_8);
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5411, __pyx_L4_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        }
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 5411, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_bytes, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5411, __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(1, 5411, __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)) __PYX_ERR(1, 5411, __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(1, 5411, __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/cuda.pyx":5410
 *         if self._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/cuda.pyx":5412
 *             try:
 *                 str_list += ['bytes : ' + str(self.bytes.hex())]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytes : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_8) {
        __Pyx_AddTraceback("cuda.cuda.CUuuid_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(1, 5412, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":5413
 *                 str_list += ['bytes : ' + str(self.bytes.hex())]
 *             except ValueError:
 *                 str_list += ['bytes : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 5413, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_bytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_bytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_bytes_ValueError)) __PYX_ERR(1, 5413, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 5413, __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_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/cuda.pyx":5410
 *         if self._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/cuda.pyx":5414
 *             except ValueError:
 *                 str_list += ['bytes : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":5408
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":5416
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def bytes(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":5407
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5417
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def bytes(self):
 *         return PyBytes_FromStringAndSize(self._ptr[0].bytes, 16)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_9CUuuid_st_5bytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_9CUuuid_st_5bytes___get__(((struct __pyx_obj_4cuda_4cuda_CUuuid_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUuuid_st_5bytes___get__(struct __pyx_obj_4cuda_4cuda_CUuuid_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5417, 0, __PYX_ERR(1, 5417, __pyx_L1_error));

  /* "cuda/cuda.pyx":5419
 *     @property
 *     def bytes(self):
 *         return PyBytes_FromStringAndSize(self._ptr[0].bytes, 16)             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemFabricHandle_st:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize((__pyx_v_self->_ptr[0]).bytes, 16); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5417
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def bytes(self):
 *         return PyBytes_FromStringAndSize(self._ptr[0].bytes, 16)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUuuid_st.bytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_9CUuuid_st_10__reduce_cython__, "CUuuid_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_9CUuuid_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUuuid_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUuuid_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUuuid_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUuuid_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUuuid_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUuuid_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__119)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUuuid_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_9CUuuid_st_12__setstate_cython__, "CUuuid_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_9CUuuid_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUuuid_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUuuid_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUuuid_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_9CUuuid_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUuuid_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9CUuuid_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUuuid_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__120)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUuuid_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5439
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5439, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5439, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5439, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 5439, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemFabricHandle_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5439, 0, __PYX_ERR(1, 5439, __pyx_L1_error));

  /* "cuda/cuda.pyx":5440
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5441
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUmemFabricHandle_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUmemFabricHandle_st__val);

    /* "cuda/cuda.pyx":5440
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5443
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUmemFabricHandle_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUmemFabricHandle_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5439
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemFabricHandle_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5444
 *         else:
 *             self._ptr = <ccuda.CUmemFabricHandle_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5444, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 5444, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5444, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 5444, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemFabricHandle_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5444, 0, __PYX_ERR(1, 5444, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemFabricHandle_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5446
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_20CUmemFabricHandle_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 5446, 0, __PYX_ERR(1, 5446, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUmemFabricHandle_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":5448
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUmemFabricHandle_st_6getPtr, "CUmemFabricHandle_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_20CUmemFabricHandle_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUmemFabricHandle_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__121)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5448, 0, __PYX_ERR(1, 5448, __pyx_L1_error));

  /* "cuda/cuda.pyx":5449
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5448
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemFabricHandle_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5450
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUmemFabricHandle_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5450, 0, __PYX_ERR(1, 5450, __pyx_L1_error));

  /* "cuda/cuda.pyx":5451
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5452
 *     def __repr__(self):
 *         if self._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(1, 5452, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":5453
 *         if self._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/cuda.pyx":5454
 *             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_n_s_data_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5454, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5454, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_data, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5454, __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(1, 5454, __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)) __PYX_ERR(1, 5454, __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(1, 5454, __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/cuda.pyx":5453
 *         if self._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/cuda.pyx":5455
 *             try:
 *                 str_list += ['data : ' + str(self.data)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['data : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmemFabricHandle_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 5455, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":5456
 *                 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(1, 5456, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_data_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_data_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_data_ValueError)) __PYX_ERR(1, 5456, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 5456, __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/cuda.pyx":5453
 *         if self._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/cuda.pyx":5457
 *             except ValueError:
 *                 str_list += ['data : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":5451
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":5459
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def data(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":5450
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5460
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def data(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].data, 64)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_4data_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUmemFabricHandle_st_4data___get__(((struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_4data___get__(struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5460, 0, __PYX_ERR(1, 5460, __pyx_L1_error));

  /* "cuda/cuda.pyx":5462
 *     @property
 *     def data(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].data, 64)             # <<<<<<<<<<<<<<
 *     @data.setter
 *     def data(self, data):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize(((char *)(__pyx_v_self->_ptr[0]).data), 64); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5460
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def data(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].data, 64)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemFabricHandle_st.data.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5463
 *     def data(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].data, 64)
 *     @data.setter             # <<<<<<<<<<<<<<
 *     def data(self, data):
 *         if len(data) != 64:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_data); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_20CUmemFabricHandle_st_4data_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *)__pyx_v_self), ((PyObject *)__pyx_v_data));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_4data_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self, PyObject *__pyx_v_data) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  unsigned char __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 5463, 0, __PYX_ERR(1, 5463, __pyx_L1_error));

  /* "cuda/cuda.pyx":5465
 *     @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(1, 5465, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 64);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":5466
 *     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._ptr[0].data[i] = b
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 5466, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_data_length_must_be_64_is, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 5466, __pyx_L1_error)

    /* "cuda/cuda.pyx":5465
 *     @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/cuda.pyx":5467
 *         if len(data) != 64:
 *             raise ValueError("data length must be 64, is " + str(len(data)))
 *         for i, b in enumerate(data):             # <<<<<<<<<<<<<<
 *             self._ptr[0].data[i] = b
 * 
 */
  __Pyx_INCREF(__pyx_int_0);
  __pyx_t_4 = __pyx_int_0;
  if (likely(PyList_CheckExact(__pyx_v_data)) || PyTuple_CheckExact(__pyx_v_data)) {
    __pyx_t_3 = __pyx_v_data; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 5467, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 5467, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 5467, __pyx_L1_error)
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5467, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 5467, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 5467, __pyx_L1_error)
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5467, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      }
    } else {
      __pyx_t_6 = __pyx_t_5(__pyx_t_3);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 5467, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4);
    __pyx_t_4 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cuda.pyx":5468
 *             raise ValueError("data length must be 64, is " + str(len(data)))
 *         for i, b in enumerate(data):
 *             self._ptr[0].data[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CUipcEventHandle_st:
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_7 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 5468, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 5468, __pyx_L1_error)
    ((__pyx_v_self->_ptr[0]).data[__pyx_t_8]) = __pyx_t_7;

    /* "cuda/cuda.pyx":5467
 *         if len(data) != 64:
 *             raise ValueError("data length must be 64, is " + str(len(data)))
 *         for i, b in enumerate(data):             # <<<<<<<<<<<<<<
 *             self._ptr[0].data[i] = b
 * 
 */
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":5463
 *     def data(self):
 *         return PyBytes_FromStringAndSize(<char*>self._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_6);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_20CUmemFabricHandle_st_10__reduce_cython__, "CUmemFabricHandle_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_20CUmemFabricHandle_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUmemFabricHandle_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__122)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemFabricHandle_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUmemFabricHandle_st_12__setstate_cython__, "CUmemFabricHandle_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_20CUmemFabricHandle_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUmemFabricHandle_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemFabricHandle_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUmemFabricHandle_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__123)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemFabricHandle_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5485
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5485, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5485, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5485, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 5485, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUipcEventHandle_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_19CUipcEventHandle_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_19CUipcEventHandle_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5485, 0, __PYX_ERR(1, 5485, __pyx_L1_error));

  /* "cuda/cuda.pyx":5486
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5487
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUipcEventHandle_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUipcEventHandle_st__val);

    /* "cuda/cuda.pyx":5486
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5489
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUipcEventHandle_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUipcEventHandle_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5485
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUipcEventHandle_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5490
 *         else:
 *             self._ptr = <ccuda.CUipcEventHandle_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5490, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 5490, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5490, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 5490, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUipcEventHandle_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5490, 0, __PYX_ERR(1, 5490, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUipcEventHandle_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5492
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_19CUipcEventHandle_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 5492, 0, __PYX_ERR(1, 5492, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUipcEventHandle_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":5494
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_19CUipcEventHandle_st_6getPtr, "CUipcEventHandle_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_19CUipcEventHandle_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_19CUipcEventHandle_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__124)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5494, 0, __PYX_ERR(1, 5494, __pyx_L1_error));

  /* "cuda/cuda.pyx":5495
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5494
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUipcEventHandle_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5496
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_19CUipcEventHandle_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5496, 0, __PYX_ERR(1, 5496, __pyx_L1_error));

  /* "cuda/cuda.pyx":5497
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5498
 *     def __repr__(self):
 *         if self._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(1, 5498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":5499
 *         if self._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/cuda.pyx":5500
 *             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_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5500, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5500, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5500, __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(1, 5500, __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)) __PYX_ERR(1, 5500, __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(1, 5500, __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/cuda.pyx":5499
 *         if self._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/cuda.pyx":5501
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUipcEventHandle_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 5501, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":5502
 *                 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(1, 5502, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 5502, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 5502, __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/cuda.pyx":5499
 *         if self._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/cuda.pyx":5503
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5503, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":5497
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":5505
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":5496
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5506
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._ptr[0].reserved, 64)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_19CUipcEventHandle_st_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5506, 0, __PYX_ERR(1, 5506, __pyx_L1_error));

  /* "cuda/cuda.pyx":5508
 *     @property
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._ptr[0].reserved, 64)             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize((__pyx_v_self->_ptr[0]).reserved, 64); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5506
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._ptr[0].reserved, 64)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUipcEventHandle_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5509
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._ptr[0].reserved, 64)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_19CUipcEventHandle_st_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  char __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 5509, 0, __PYX_ERR(1, 5509, __pyx_L1_error));

  /* "cuda/cuda.pyx":5511
 *     @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(1, 5511, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 64);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":5512
 *     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_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 5512, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_reserved_length_must_be_64_is, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 5512, __pyx_L1_error)

    /* "cuda/cuda.pyx":5511
 *     @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/cuda.pyx":5513
 *         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/cuda.pyx":5514
 *             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_int_0);
    __pyx_t_4 = __pyx_int_0;
    if (likely(PyList_CheckExact(__pyx_v_reserved)) || PyTuple_CheckExact(__pyx_v_reserved)) {
      __pyx_t_3 = __pyx_v_reserved; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_1 = 0;
      __pyx_t_5 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5514, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 5514, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 5514, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 5514, __pyx_L1_error)
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5514, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 5514, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 5514, __pyx_L1_error)
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5514, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        }
      } else {
        __pyx_t_6 = __pyx_t_5(__pyx_t_3);
        if (unlikely(!__pyx_t_6)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 5514, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_6);
      }
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_4);
      __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5514, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4);
      __pyx_t_4 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/cuda.pyx":5515
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(reserved):
 *                 if b < 0 and b > -129:             # <<<<<<<<<<<<<<
 *                     b = b + 256
 *                 self._ptr[0].reserved[i] = b
 */
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5515, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(1, 5515, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (__pyx_t_7) {
      } else {
        __pyx_t_2 = __pyx_t_7;
        goto __pyx_L8_bool_binop_done;
      }
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_int_neg_129, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5515, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(1, 5515, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_2 = __pyx_t_7;
      __pyx_L8_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/cuda.pyx":5516
 *             for i, b in enumerate(reserved):
 *                 if b < 0 and b > -129:
 *                     b = b + 256             # <<<<<<<<<<<<<<
 *                 self._ptr[0].reserved[i] = b
 *         else:
 */
        __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_v_b, __pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5516, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/cuda.pyx":5515
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(reserved):
 *                 if b < 0 and b > -129:             # <<<<<<<<<<<<<<
 *                     b = b + 256
 *                 self._ptr[0].reserved[i] = b
 */
      }

      /* "cuda/cuda.pyx":5517
 *                 if b < 0 and b > -129:
 *                     b = b + 256
 *                 self._ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 *         else:
 *             for i, b in enumerate(reserved):
 */
      __pyx_t_8 = __Pyx_PyInt_As_char(__pyx_v_b); if (unlikely((__pyx_t_8 == (char)-1) && PyErr_Occurred())) __PYX_ERR(1, 5517, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 5517, __pyx_L1_error)
      ((__pyx_v_self->_ptr[0]).reserved[__pyx_t_9]) = __pyx_t_8;

      /* "cuda/cuda.pyx":5514
 *             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_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":5513
 *         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/cuda.pyx":5519
 *                 self._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_int_0);
    __pyx_t_4 = __pyx_int_0;
    if (likely(PyList_CheckExact(__pyx_v_reserved)) || PyTuple_CheckExact(__pyx_v_reserved)) {
      __pyx_t_3 = __pyx_v_reserved; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_1 = 0;
      __pyx_t_5 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5519, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 5519, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 5519, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 5519, __pyx_L1_error)
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5519, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 5519, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 5519, __pyx_L1_error)
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5519, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        }
      } else {
        __pyx_t_6 = __pyx_t_5(__pyx_t_3);
        if (unlikely(!__pyx_t_6)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 5519, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_6);
      }
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_4);
      __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5519, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4);
      __pyx_t_4 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/cuda.pyx":5520
 *         else:
 *             for i, b in enumerate(reserved):
 *                 if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                     b = b - 256
 *                 self._ptr[0].reserved[i] = b
 */
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_int_127, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5520, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(1, 5520, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (__pyx_t_7) {
      } else {
        __pyx_t_2 = __pyx_t_7;
        goto __pyx_L14_bool_binop_done;
      }
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_int_256, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5520, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(1, 5520, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_2 = __pyx_t_7;
      __pyx_L14_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/cuda.pyx":5521
 *             for i, b in enumerate(reserved):
 *                 if b > 127 and b < 256:
 *                     b = b - 256             # <<<<<<<<<<<<<<
 *                 self._ptr[0].reserved[i] = b
 * 
 */
        __pyx_t_6 = __Pyx_PyInt_SubtractObjC(__pyx_v_b, __pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5521, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/cuda.pyx":5520
 *         else:
 *             for i, b in enumerate(reserved):
 *                 if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                     b = b - 256
 *                 self._ptr[0].reserved[i] = b
 */
      }

      /* "cuda/cuda.pyx":5522
 *                 if b > 127 and b < 256:
 *                     b = b - 256
 *                 self._ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CUipcMemHandle_st:
 */
      __pyx_t_8 = __Pyx_PyInt_As_char(__pyx_v_b); if (unlikely((__pyx_t_8 == (char)-1) && PyErr_Occurred())) __PYX_ERR(1, 5522, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 5522, __pyx_L1_error)
      ((__pyx_v_self->_ptr[0]).reserved[__pyx_t_9]) = __pyx_t_8;

      /* "cuda/cuda.pyx":5519
 *                 self._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_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":5509
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._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_6);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_19CUipcEventHandle_st_10__reduce_cython__, "CUipcEventHandle_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_19CUipcEventHandle_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_19CUipcEventHandle_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__125)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUipcEventHandle_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_19CUipcEventHandle_st_12__setstate_cython__, "CUipcEventHandle_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_19CUipcEventHandle_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_19CUipcEventHandle_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUipcEventHandle_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_19CUipcEventHandle_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__126)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUipcEventHandle_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5539
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5539, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5539, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5539, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 5539, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUipcMemHandle_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUipcMemHandle_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUipcMemHandle_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5539, 0, __PYX_ERR(1, 5539, __pyx_L1_error));

  /* "cuda/cuda.pyx":5540
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5541
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUipcMemHandle_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUipcMemHandle_st__val);

    /* "cuda/cuda.pyx":5540
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5543
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUipcMemHandle_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUipcMemHandle_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5539
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUipcMemHandle_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5544
 *         else:
 *             self._ptr = <ccuda.CUipcMemHandle_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5544, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 5544, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5544, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 5544, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUipcMemHandle_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5544, 0, __PYX_ERR(1, 5544, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUipcMemHandle_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5546
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_17CUipcMemHandle_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 5546, 0, __PYX_ERR(1, 5546, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUipcMemHandle_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":5548
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUipcMemHandle_st_6getPtr, "CUipcMemHandle_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUipcMemHandle_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUipcMemHandle_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__127)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5548, 0, __PYX_ERR(1, 5548, __pyx_L1_error));

  /* "cuda/cuda.pyx":5549
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5549, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5548
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUipcMemHandle_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5550
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUipcMemHandle_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5550, 0, __PYX_ERR(1, 5550, __pyx_L1_error));

  /* "cuda/cuda.pyx":5551
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5552
 *     def __repr__(self):
 *         if self._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(1, 5552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":5553
 *         if self._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/cuda.pyx":5554
 *             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_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5554, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5554, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5554, __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(1, 5554, __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)) __PYX_ERR(1, 5554, __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(1, 5554, __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/cuda.pyx":5553
 *         if self._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/cuda.pyx":5555
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUipcMemHandle_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 5555, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":5556
 *                 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(1, 5556, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 5556, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 5556, __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/cuda.pyx":5553
 *         if self._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/cuda.pyx":5557
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":5551
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":5559
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":5550
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5560
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._ptr[0].reserved, 64)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUipcMemHandle_st_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5560, 0, __PYX_ERR(1, 5560, __pyx_L1_error));

  /* "cuda/cuda.pyx":5562
 *     @property
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._ptr[0].reserved, 64)             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize((__pyx_v_self->_ptr[0]).reserved, 64); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5560
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._ptr[0].reserved, 64)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUipcMemHandle_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5563
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._ptr[0].reserved, 64)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_17CUipcMemHandle_st_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  char __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 5563, 0, __PYX_ERR(1, 5563, __pyx_L1_error));

  /* "cuda/cuda.pyx":5565
 *     @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(1, 5565, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 64);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":5566
 *     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_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 5566, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_reserved_length_must_be_64_is, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 5566, __pyx_L1_error)

    /* "cuda/cuda.pyx":5565
 *     @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/cuda.pyx":5567
 *         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/cuda.pyx":5568
 *             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_int_0);
    __pyx_t_4 = __pyx_int_0;
    if (likely(PyList_CheckExact(__pyx_v_reserved)) || PyTuple_CheckExact(__pyx_v_reserved)) {
      __pyx_t_3 = __pyx_v_reserved; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_1 = 0;
      __pyx_t_5 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5568, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 5568, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 5568, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 5568, __pyx_L1_error)
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5568, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 5568, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 5568, __pyx_L1_error)
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5568, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        }
      } else {
        __pyx_t_6 = __pyx_t_5(__pyx_t_3);
        if (unlikely(!__pyx_t_6)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 5568, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_6);
      }
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_4);
      __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5568, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4);
      __pyx_t_4 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/cuda.pyx":5569
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(reserved):
 *                 if b < 0 and b > -129:             # <<<<<<<<<<<<<<
 *                     b = b + 256
 *                 self._ptr[0].reserved[i] = b
 */
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5569, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(1, 5569, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (__pyx_t_7) {
      } else {
        __pyx_t_2 = __pyx_t_7;
        goto __pyx_L8_bool_binop_done;
      }
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_int_neg_129, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5569, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(1, 5569, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_2 = __pyx_t_7;
      __pyx_L8_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/cuda.pyx":5570
 *             for i, b in enumerate(reserved):
 *                 if b < 0 and b > -129:
 *                     b = b + 256             # <<<<<<<<<<<<<<
 *                 self._ptr[0].reserved[i] = b
 *         else:
 */
        __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_v_b, __pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5570, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/cuda.pyx":5569
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(reserved):
 *                 if b < 0 and b > -129:             # <<<<<<<<<<<<<<
 *                     b = b + 256
 *                 self._ptr[0].reserved[i] = b
 */
      }

      /* "cuda/cuda.pyx":5571
 *                 if b < 0 and b > -129:
 *                     b = b + 256
 *                 self._ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 *         else:
 *             for i, b in enumerate(reserved):
 */
      __pyx_t_8 = __Pyx_PyInt_As_char(__pyx_v_b); if (unlikely((__pyx_t_8 == (char)-1) && PyErr_Occurred())) __PYX_ERR(1, 5571, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 5571, __pyx_L1_error)
      ((__pyx_v_self->_ptr[0]).reserved[__pyx_t_9]) = __pyx_t_8;

      /* "cuda/cuda.pyx":5568
 *             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_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":5567
 *         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/cuda.pyx":5573
 *                 self._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_int_0);
    __pyx_t_4 = __pyx_int_0;
    if (likely(PyList_CheckExact(__pyx_v_reserved)) || PyTuple_CheckExact(__pyx_v_reserved)) {
      __pyx_t_3 = __pyx_v_reserved; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_1 = 0;
      __pyx_t_5 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5573, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 5573, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 5573, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 5573, __pyx_L1_error)
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5573, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 5573, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 5573, __pyx_L1_error)
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5573, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        }
      } else {
        __pyx_t_6 = __pyx_t_5(__pyx_t_3);
        if (unlikely(!__pyx_t_6)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 5573, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_6);
      }
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_4);
      __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5573, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4);
      __pyx_t_4 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/cuda.pyx":5574
 *         else:
 *             for i, b in enumerate(reserved):
 *                 if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                     b = b - 256
 *                 self._ptr[0].reserved[i] = b
 */
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_int_127, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5574, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(1, 5574, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (__pyx_t_7) {
      } else {
        __pyx_t_2 = __pyx_t_7;
        goto __pyx_L14_bool_binop_done;
      }
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_int_256, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5574, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(1, 5574, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_2 = __pyx_t_7;
      __pyx_L14_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/cuda.pyx":5575
 *             for i, b in enumerate(reserved):
 *                 if b > 127 and b < 256:
 *                     b = b - 256             # <<<<<<<<<<<<<<
 *                 self._ptr[0].reserved[i] = b
 * 
 */
        __pyx_t_6 = __Pyx_PyInt_SubtractObjC(__pyx_v_b, __pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5575, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/cuda.pyx":5574
 *         else:
 *             for i, b in enumerate(reserved):
 *                 if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                     b = b - 256
 *                 self._ptr[0].reserved[i] = b
 */
      }

      /* "cuda/cuda.pyx":5576
 *                 if b > 127 and b < 256:
 *                     b = b - 256
 *                 self._ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CUstreamMemOpWaitValueParams_st:
 */
      __pyx_t_8 = __Pyx_PyInt_As_char(__pyx_v_b); if (unlikely((__pyx_t_8 == (char)-1) && PyErr_Occurred())) __PYX_ERR(1, 5576, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 5576, __pyx_L1_error)
      ((__pyx_v_self->_ptr[0]).reserved[__pyx_t_9]) = __pyx_t_8;

      /* "cuda/cuda.pyx":5573
 *                 self._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_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":5563
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(self._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_6);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_17CUipcMemHandle_st_10__reduce_cython__, "CUipcMemHandle_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUipcMemHandle_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUipcMemHandle_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__128)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUipcMemHandle_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUipcMemHandle_st_12__setstate_cython__, "CUipcMemHandle_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUipcMemHandle_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUipcMemHandle_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUipcMemHandle_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUipcMemHandle_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__129)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUipcMemHandle_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5601
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5601, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5601, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5601, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 5601, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5601, 0, __PYX_ERR(1, 5601, __pyx_L1_error));

  /* "cuda/cuda.pyx":5602
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((union CUstreamBatchMemOpParams_union *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":5601
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5604
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].waitValue.address)
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._ptr[0].waitValue.value)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5604, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 5604, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5604, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 5604, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 5604, 0, __PYX_ERR(1, 5604, __pyx_L1_error));

  /* "cuda/cuda.pyx":5605
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].waitValue.address)             # <<<<<<<<<<<<<<
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._ptr[0].waitValue.value)
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._ptr[0].waitValue.value64)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).waitValue.address))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 5605, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_address);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_address);
  __pyx_v_self->_address = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5606
 *     def __init__(self, void_ptr _ptr):
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].waitValue.address)
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._ptr[0].waitValue.value)             # <<<<<<<<<<<<<<
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._ptr[0].waitValue.value64)
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].waitValue.alias)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).waitValue.value))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 5606, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint32_t), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_cuuint32_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":5607
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].waitValue.address)
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._ptr[0].waitValue.value)
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._ptr[0].waitValue.value64)             # <<<<<<<<<<<<<<
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].waitValue.alias)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).waitValue.value64))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 5607, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint64_t), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_value64);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_value64);
  __pyx_v_self->_value64 = ((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5608
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._ptr[0].waitValue.value)
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._ptr[0].waitValue.value64)
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].waitValue.alias)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).waitValue.alias))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 5608, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":5604
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].waitValue.address)
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._ptr[0].waitValue.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.cuda.CUstreamMemOpWaitValueParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5609
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._ptr[0].waitValue.value64)
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].waitValue.alias)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_31CUstreamMemOpWaitValueParams_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 5609, 0, __PYX_ERR(1, 5609, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUstreamMemOpWaitValueParams_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":5611
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].waitValue
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUstreamMemOpWaitValueParams_st_6getPtr, "CUstreamMemOpWaitValueParams_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__130)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5611, 0, __PYX_ERR(1, 5611, __pyx_L1_error));

  /* "cuda/cuda.pyx":5612
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].waitValue             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).waitValue))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5611
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].waitValue
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5613
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].waitValue
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUstreamMemOpWaitValueParams_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5613, 0, __PYX_ERR(1, 5613, __pyx_L1_error));

  /* "cuda/cuda.pyx":5614
 *         return <void_ptr>&self._ptr[0].waitValue
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5615
 *     def __repr__(self):
 *         if self._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(1, 5615, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":5616
 *         if self._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/cuda.pyx":5617
 *             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_n_s_operation_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5617, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5617, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_operation, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5617, __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(1, 5617, __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)) __PYX_ERR(1, 5617, __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(1, 5617, __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/cuda.pyx":5616
 *         if self._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/cuda.pyx":5618
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 5618, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":5619
 *                 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(1, 5619, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_operation_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_operation_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_operation_ValueError)) __PYX_ERR(1, 5619, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 5619, __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/cuda.pyx":5616
 *         if self._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/cuda.pyx":5620
 *             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/cuda.pyx":5621
 *                 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_n_s_address_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5621, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5621, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_address, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5621, __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(1, 5621, __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)) __PYX_ERR(1, 5621, __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(1, 5621, __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/cuda.pyx":5620
 *             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/cuda.pyx":5622
 *             try:
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['address : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 5622, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":5623
 *                 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(1, 5623, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_address_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_address_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_address_ValueError)) __PYX_ERR(1, 5623, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 5623, __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/cuda.pyx":5620
 *             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/cuda.pyx":5624
 *             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/cuda.pyx":5625
 *                 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_n_s_value_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5625, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5625, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_value, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5625, __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(1, 5625, __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)) __PYX_ERR(1, 5625, __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(1, 5625, __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/cuda.pyx":5624
 *             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/cuda.pyx":5626
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 5626, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":5627
 *                 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(1, 5627, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_value_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_value_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_value_ValueError)) __PYX_ERR(1, 5627, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 5627, __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/cuda.pyx":5624
 *             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/cuda.pyx":5628
 *             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/cuda.pyx":5629
 *                 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_n_s_value64_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5629, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5629, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_value64, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5629, __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(1, 5629, __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)) __PYX_ERR(1, 5629, __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(1, 5629, __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/cuda.pyx":5628
 *             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/cuda.pyx":5630
 *             try:
 *                 str_list += ['value64 : ' + str(self.value64)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value64 : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 5630, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":5631
 *                 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(1, 5631, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_value64_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_value64_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_value64_ValueError)) __PYX_ERR(1, 5631, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 5631, __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/cuda.pyx":5628
 *             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/cuda.pyx":5632
 *             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/cuda.pyx":5633
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5633, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5633, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5633, __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(1, 5633, __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)) __PYX_ERR(1, 5633, __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(1, 5633, __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/cuda.pyx":5632
 *             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/cuda.pyx":5634
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 5634, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":5635
 *                 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(1, 5635, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 5635, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 5635, __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/cuda.pyx":5632
 *             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/cuda.pyx":5636
 *             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/cuda.pyx":5637
 *                 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_n_s_alias_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5637, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5637, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_alias, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5637, __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(1, 5637, __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)) __PYX_ERR(1, 5637, __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(1, 5637, __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/cuda.pyx":5636
 *             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/cuda.pyx":5638
 *             try:
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['alias : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 5638, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":5639
 *                 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(1, 5639, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_alias_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_alias_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_alias_ValueError)) __PYX_ERR(1, 5639, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 5639, __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/cuda.pyx":5636
 *             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/cuda.pyx":5640
 *             except ValueError:
 *                 str_list += ['alias : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5640, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":5614
 *         return <void_ptr>&self._ptr[0].waitValue
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":5642
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def operation(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":5613
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].waitValue
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5643
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].waitValue.operation)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_9operation_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUstreamMemOpWaitValueParams_st_9operation___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_9operation___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5643, 0, __PYX_ERR(1, 5643, __pyx_L1_error));

  /* "cuda/cuda.pyx":5645
 *     @property
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].waitValue.operation)             # <<<<<<<<<<<<<<
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUstreamBatchMemOpType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUstreamBatchMemOpType_enum((__pyx_v_self->_ptr[0]).waitValue.operation); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5645, __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/cuda.pyx":5643
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].waitValue.operation)
 */

  /* 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.cuda.CUstreamMemOpWaitValueParams_st.operation.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5646
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].waitValue.operation)
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].waitValue.operation = operation.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_9operation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_operation); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 5647, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_9operation_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_operation));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_9operation_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_operation) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 5646, 0, __PYX_ERR(1, 5646, __pyx_L1_error));

  /* "cuda/cuda.pyx":5648
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].waitValue.operation = operation.value             # <<<<<<<<<<<<<<
 *     @property
 *     def address(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_operation, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUstreamBatchMemOpType_enum)__Pyx_PyInt_As_enum__CUstreamBatchMemOpType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5648, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).waitValue.operation = __pyx_t_2;

  /* "cuda/cuda.pyx":5646
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].waitValue.operation)
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._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.cuda.CUstreamMemOpWaitValueParams_st.operation.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5649
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].waitValue.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def address(self):
 *         return self._address
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7address_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUstreamMemOpWaitValueParams_st_7address___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7address___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5649, 0, __PYX_ERR(1, 5649, __pyx_L1_error));

  /* "cuda/cuda.pyx":5651
 *     @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/cuda.pyx":5649
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].waitValue.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def address(self):
 *         return self._address
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.address.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5652
 *     def address(self):
 *         return self._address
 *     @address.setter             # <<<<<<<<<<<<<<
 *     def address(self, address):
 *         cdef ccuda.CUdeviceptr caddress
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7address_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_address); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_31CUstreamMemOpWaitValueParams_st_7address_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_address));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7address_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_address) {
  CUdeviceptr __pyx_v_caddress;
  PyObject *__pyx_v_paddress = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 5652, 0, __PYX_ERR(1, 5652, __pyx_L1_error));

  /* "cuda/cuda.pyx":5655
 *     def address(self, address):
 *         cdef ccuda.CUdeviceptr caddress
 *         if address is None:             # <<<<<<<<<<<<<<
 *             caddress = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):
 */
  __pyx_t_1 = (__pyx_v_address == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5656
 *         cdef ccuda.CUdeviceptr caddress
 *         if address is None:
 *             caddress = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(address, (CUdeviceptr)):
 *             paddress = int(address)
 */
    __pyx_v_caddress = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":5655
 *     def address(self, address):
 *         cdef ccuda.CUdeviceptr caddress
 *         if address is None:             # <<<<<<<<<<<<<<
 *             caddress = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5657
 *         if address is None:
 *             caddress = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             paddress = int(address)
 *             caddress = <ccuda.CUdeviceptr><void_ptr>paddress
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_address, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5658
 *             caddress = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):
 *             paddress = int(address)             # <<<<<<<<<<<<<<
 *             caddress = <ccuda.CUdeviceptr><void_ptr>paddress
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_address); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5658, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_paddress = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":5659
 *         elif isinstance(address, (CUdeviceptr)):
 *             paddress = int(address)
 *             caddress = <ccuda.CUdeviceptr><void_ptr>paddress             # <<<<<<<<<<<<<<
 *         else:
 *             paddress = int(CUdeviceptr(address))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_paddress); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5659, __pyx_L1_error)
    __pyx_v_caddress = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":5657
 *         if address is None:
 *             caddress = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             paddress = int(address)
 *             caddress = <ccuda.CUdeviceptr><void_ptr>paddress
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5661
 *             caddress = <ccuda.CUdeviceptr><void_ptr>paddress
 *         else:
 *             paddress = int(CUdeviceptr(address))             # <<<<<<<<<<<<<<
 *             caddress = <ccuda.CUdeviceptr><void_ptr>paddress
 *         self._address._ptr[0] = caddress
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_address); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_paddress = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":5662
 *         else:
 *             paddress = int(CUdeviceptr(address))
 *             caddress = <ccuda.CUdeviceptr><void_ptr>paddress             # <<<<<<<<<<<<<<
 *         self._address._ptr[0] = caddress
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_paddress); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5662, __pyx_L1_error)
    __pyx_v_caddress = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5663
 *             paddress = int(CUdeviceptr(address))
 *             caddress = <ccuda.CUdeviceptr><void_ptr>paddress
 *         self._address._ptr[0] = caddress             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_address->_ptr[0]) = __pyx_v_caddress;

  /* "cuda/cuda.pyx":5652
 *     def address(self):
 *         return self._address
 *     @address.setter             # <<<<<<<<<<<<<<
 *     def address(self, address):
 *         cdef ccuda.CUdeviceptr caddress
 */

  /* 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.cuda.CUstreamMemOpWaitValueParams_st.address.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_paddress);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5665
 *         self._address._ptr[0] = caddress
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._value
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUstreamMemOpWaitValueParams_st_5value___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5value___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5665, 0, __PYX_ERR(1, 5665, __pyx_L1_error));

  /* "cuda/cuda.pyx":5667
 *     @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/cuda.pyx":5665
 *         self._address._ptr[0] = caddress
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5668
 *     def value(self):
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef ccuda.cuuint32_t cvalue
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_31CUstreamMemOpWaitValueParams_st_5value_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5value_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_value) {
  cuuint32_t __pyx_v_cvalue;
  PyObject *__pyx_v_pvalue = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 5668, 0, __PYX_ERR(1, 5668, __pyx_L1_error));

  /* "cuda/cuda.pyx":5671
 *     def value(self, value):
 *         cdef ccuda.cuuint32_t cvalue
 *         if value is None:             # <<<<<<<<<<<<<<
 *             cvalue = <ccuda.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):
 */
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5672
 *         cdef ccuda.cuuint32_t cvalue
 *         if value is None:
 *             cvalue = <ccuda.cuuint32_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(value, (cuuint32_t)):
 *             pvalue = int(value)
 */
    __pyx_v_cvalue = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":5671
 *     def value(self, value):
 *         cdef ccuda.cuuint32_t cvalue
 *         if value is None:             # <<<<<<<<<<<<<<
 *             cvalue = <ccuda.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5673
 *         if value is None:
 *             cvalue = <ccuda.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):             # <<<<<<<<<<<<<<
 *             pvalue = int(value)
 *             cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value, __pyx_ptype_4cuda_4cuda_cuuint32_t); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5674
 *             cvalue = <ccuda.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):
 *             pvalue = int(value)             # <<<<<<<<<<<<<<
 *             cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":5675
 *         elif isinstance(value, (cuuint32_t)):
 *             pvalue = int(value)
 *             cvalue = <ccuda.cuuint32_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *         else:
 *             pvalue = int(cuuint32_t(value))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5675, __pyx_L1_error)
    __pyx_v_cvalue = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":5673
 *         if value is None:
 *             cvalue = <ccuda.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):             # <<<<<<<<<<<<<<
 *             pvalue = int(value)
 *             cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5677
 *             cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *         else:
 *             pvalue = int(cuuint32_t(value))             # <<<<<<<<<<<<<<
 *             cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *         self._value._ptr[0] = cvalue
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint32_t), __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":5678
 *         else:
 *             pvalue = int(cuuint32_t(value))
 *             cvalue = <ccuda.cuuint32_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *         self._value._ptr[0] = cvalue
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5678, __pyx_L1_error)
    __pyx_v_cvalue = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5679
 *             pvalue = int(cuuint32_t(value))
 *             cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *         self._value._ptr[0] = cvalue             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_value->_ptr[0]) = __pyx_v_cvalue;

  /* "cuda/cuda.pyx":5668
 *     def value(self):
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef ccuda.cuuint32_t cvalue
 */

  /* 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.cuda.CUstreamMemOpWaitValueParams_st.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvalue);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5681
 *         self._value._ptr[0] = cvalue
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value64(self):
 *         return self._value64
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7value64_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUstreamMemOpWaitValueParams_st_7value64___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7value64___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5681, 0, __PYX_ERR(1, 5681, __pyx_L1_error));

  /* "cuda/cuda.pyx":5683
 *     @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/cuda.pyx":5681
 *         self._value._ptr[0] = cvalue
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value64(self):
 *         return self._value64
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.value64.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5684
 *     def value64(self):
 *         return self._value64
 *     @value64.setter             # <<<<<<<<<<<<<<
 *     def value64(self, value64):
 *         cdef ccuda.cuuint64_t cvalue64
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7value64_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value64); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_31CUstreamMemOpWaitValueParams_st_7value64_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_value64));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7value64_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_value64) {
  cuuint64_t __pyx_v_cvalue64;
  PyObject *__pyx_v_pvalue64 = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 5684, 0, __PYX_ERR(1, 5684, __pyx_L1_error));

  /* "cuda/cuda.pyx":5687
 *     def value64(self, value64):
 *         cdef ccuda.cuuint64_t cvalue64
 *         if value64 is None:             # <<<<<<<<<<<<<<
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):
 */
  __pyx_t_1 = (__pyx_v_value64 == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5688
 *         cdef ccuda.cuuint64_t cvalue64
 *         if value64 is None:
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(value64, (cuuint64_t)):
 *             pvalue64 = int(value64)
 */
    __pyx_v_cvalue64 = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":5687
 *     def value64(self, value64):
 *         cdef ccuda.cuuint64_t cvalue64
 *         if value64 is None:             # <<<<<<<<<<<<<<
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5689
 *         if value64 is None:
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):             # <<<<<<<<<<<<<<
 *             pvalue64 = int(value64)
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>pvalue64
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value64, __pyx_ptype_4cuda_4cuda_cuuint64_t); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5690
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):
 *             pvalue64 = int(value64)             # <<<<<<<<<<<<<<
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>pvalue64
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value64); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue64 = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":5691
 *         elif isinstance(value64, (cuuint64_t)):
 *             pvalue64 = int(value64)
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>pvalue64             # <<<<<<<<<<<<<<
 *         else:
 *             pvalue64 = int(cuuint64_t(value64))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue64); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5691, __pyx_L1_error)
    __pyx_v_cvalue64 = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":5689
 *         if value64 is None:
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):             # <<<<<<<<<<<<<<
 *             pvalue64 = int(value64)
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>pvalue64
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5693
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>pvalue64
 *         else:
 *             pvalue64 = int(cuuint64_t(value64))             # <<<<<<<<<<<<<<
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>pvalue64
 *         self._value64._ptr[0] = cvalue64
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint64_t), __pyx_v_value64); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5693, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5693, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue64 = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":5694
 *         else:
 *             pvalue64 = int(cuuint64_t(value64))
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>pvalue64             # <<<<<<<<<<<<<<
 *         self._value64._ptr[0] = cvalue64
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue64); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5694, __pyx_L1_error)
    __pyx_v_cvalue64 = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5695
 *             pvalue64 = int(cuuint64_t(value64))
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>pvalue64
 *         self._value64._ptr[0] = cvalue64             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_value64->_ptr[0]) = __pyx_v_cvalue64;

  /* "cuda/cuda.pyx":5684
 *     def value64(self):
 *         return self._value64
 *     @value64.setter             # <<<<<<<<<<<<<<
 *     def value64(self, value64):
 *         cdef ccuda.cuuint64_t cvalue64
 */

  /* 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.cuda.CUstreamMemOpWaitValueParams_st.value64.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvalue64);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5697
 *         self._value64._ptr[0] = cvalue64
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].waitValue.flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUstreamMemOpWaitValueParams_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5697, 0, __PYX_ERR(1, 5697, __pyx_L1_error));

  /* "cuda/cuda.pyx":5699
 *     @property
 *     def flags(self):
 *         return self._ptr[0].waitValue.flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).waitValue.flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5697
 *         self._value64._ptr[0] = cvalue64
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].waitValue.flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5700
 *     def flags(self):
 *         return self._ptr[0].waitValue.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].waitValue.flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 5701, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 5700, 0, __PYX_ERR(1, 5700, __pyx_L1_error));

  /* "cuda/cuda.pyx":5702
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].waitValue.flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def alias(self):
 */
  (__pyx_v_self->_ptr[0]).waitValue.flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":5700
 *     def flags(self):
 *         return self._ptr[0].waitValue.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].waitValue.flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5703
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].waitValue.flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def alias(self):
 *         return self._alias
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5alias_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUstreamMemOpWaitValueParams_st_5alias___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5alias___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5703, 0, __PYX_ERR(1, 5703, __pyx_L1_error));

  /* "cuda/cuda.pyx":5705
 *     @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/cuda.pyx":5703
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].waitValue.flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def alias(self):
 *         return self._alias
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.alias.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5706
 *     def alias(self):
 *         return self._alias
 *     @alias.setter             # <<<<<<<<<<<<<<
 *     def alias(self, alias):
 *         cdef ccuda.CUdeviceptr calias
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5alias_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_alias); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_31CUstreamMemOpWaitValueParams_st_5alias_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_alias));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5alias_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, PyObject *__pyx_v_alias) {
  CUdeviceptr __pyx_v_calias;
  PyObject *__pyx_v_palias = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 5706, 0, __PYX_ERR(1, 5706, __pyx_L1_error));

  /* "cuda/cuda.pyx":5709
 *     def alias(self, alias):
 *         cdef ccuda.CUdeviceptr calias
 *         if alias is None:             # <<<<<<<<<<<<<<
 *             calias = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):
 */
  __pyx_t_1 = (__pyx_v_alias == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5710
 *         cdef ccuda.CUdeviceptr calias
 *         if alias is None:
 *             calias = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(alias, (CUdeviceptr)):
 *             palias = int(alias)
 */
    __pyx_v_calias = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":5709
 *     def alias(self, alias):
 *         cdef ccuda.CUdeviceptr calias
 *         if alias is None:             # <<<<<<<<<<<<<<
 *             calias = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5711
 *         if alias is None:
 *             calias = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             palias = int(alias)
 *             calias = <ccuda.CUdeviceptr><void_ptr>palias
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_alias, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5712
 *             calias = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):
 *             palias = int(alias)             # <<<<<<<<<<<<<<
 *             calias = <ccuda.CUdeviceptr><void_ptr>palias
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_alias); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_palias = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":5713
 *         elif isinstance(alias, (CUdeviceptr)):
 *             palias = int(alias)
 *             calias = <ccuda.CUdeviceptr><void_ptr>palias             # <<<<<<<<<<<<<<
 *         else:
 *             palias = int(CUdeviceptr(alias))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_palias); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5713, __pyx_L1_error)
    __pyx_v_calias = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":5711
 *         if alias is None:
 *             calias = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             palias = int(alias)
 *             calias = <ccuda.CUdeviceptr><void_ptr>palias
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5715
 *             calias = <ccuda.CUdeviceptr><void_ptr>palias
 *         else:
 *             palias = int(CUdeviceptr(alias))             # <<<<<<<<<<<<<<
 *             calias = <ccuda.CUdeviceptr><void_ptr>palias
 *         self._alias._ptr[0] = calias
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_alias); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_palias = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":5716
 *         else:
 *             palias = int(CUdeviceptr(alias))
 *             calias = <ccuda.CUdeviceptr><void_ptr>palias             # <<<<<<<<<<<<<<
 *         self._alias._ptr[0] = calias
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_palias); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5716, __pyx_L1_error)
    __pyx_v_calias = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5717
 *             palias = int(CUdeviceptr(alias))
 *             calias = <ccuda.CUdeviceptr><void_ptr>palias
 *         self._alias._ptr[0] = calias             # <<<<<<<<<<<<<<
 * 
 * cdef class CUstreamMemOpWriteValueParams_st:
 */
  (__pyx_v_self->_alias->_ptr[0]) = __pyx_v_calias;

  /* "cuda/cuda.pyx":5706
 *     def alias(self):
 *         return self._alias
 *     @alias.setter             # <<<<<<<<<<<<<<
 *     def alias(self, alias):
 *         cdef ccuda.CUdeviceptr calias
 */

  /* 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.cuda.CUstreamMemOpWaitValueParams_st.alias.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_palias);
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_31CUstreamMemOpWaitValueParams_st_10__reduce_cython__, "CUstreamMemOpWaitValueParams_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__131)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUstreamMemOpWaitValueParams_st_12__setstate_cython__, "CUstreamMemOpWaitValueParams_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__132)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWaitValueParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5742
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5742, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5742, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5742, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 5742, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5742, 0, __PYX_ERR(1, 5742, __pyx_L1_error));

  /* "cuda/cuda.pyx":5743
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((union CUstreamBatchMemOpParams_union *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":5742
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5745
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].writeValue.address)
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._ptr[0].writeValue.value)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5745, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 5745, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5745, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 5745, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 5745, 0, __PYX_ERR(1, 5745, __pyx_L1_error));

  /* "cuda/cuda.pyx":5746
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].writeValue.address)             # <<<<<<<<<<<<<<
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._ptr[0].writeValue.value)
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._ptr[0].writeValue.value64)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).writeValue.address))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 5746, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_address);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_address);
  __pyx_v_self->_address = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5747
 *     def __init__(self, void_ptr _ptr):
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].writeValue.address)
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._ptr[0].writeValue.value)             # <<<<<<<<<<<<<<
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._ptr[0].writeValue.value64)
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].writeValue.alias)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).writeValue.value))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 5747, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint32_t), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_cuuint32_t *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":5748
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].writeValue.address)
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._ptr[0].writeValue.value)
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._ptr[0].writeValue.value64)             # <<<<<<<<<<<<<<
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].writeValue.alias)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).writeValue.value64))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 5748, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint64_t), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_value64);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_value64);
  __pyx_v_self->_value64 = ((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5749
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._ptr[0].writeValue.value)
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._ptr[0].writeValue.value64)
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].writeValue.alias)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).writeValue.alias))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 5749, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":5745
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._address = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].writeValue.address)
 *         self._value = cuuint32_t(_ptr=<void_ptr>&self._ptr[0].writeValue.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.cuda.CUstreamMemOpWriteValueParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5750
 *         self._value64 = cuuint64_t(_ptr=<void_ptr>&self._ptr[0].writeValue.value64)
 *         self._alias = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].writeValue.alias)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_32CUstreamMemOpWriteValueParams_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 5750, 0, __PYX_ERR(1, 5750, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUstreamMemOpWriteValueParams_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":5752
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].writeValue
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUstreamMemOpWriteValueParams_st_6getPtr, "CUstreamMemOpWriteValueParams_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__133)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5752, 0, __PYX_ERR(1, 5752, __pyx_L1_error));

  /* "cuda/cuda.pyx":5753
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].writeValue             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).writeValue))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5752
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].writeValue
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5754
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].writeValue
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUstreamMemOpWriteValueParams_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5754, 0, __PYX_ERR(1, 5754, __pyx_L1_error));

  /* "cuda/cuda.pyx":5755
 *         return <void_ptr>&self._ptr[0].writeValue
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5756
 *     def __repr__(self):
 *         if self._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(1, 5756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":5757
 *         if self._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/cuda.pyx":5758
 *             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_n_s_operation_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5758, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5758, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_operation, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5758, __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(1, 5758, __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)) __PYX_ERR(1, 5758, __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(1, 5758, __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/cuda.pyx":5757
 *         if self._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/cuda.pyx":5759
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 5759, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":5760
 *                 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(1, 5760, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_operation_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_operation_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_operation_ValueError)) __PYX_ERR(1, 5760, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 5760, __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/cuda.pyx":5757
 *         if self._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/cuda.pyx":5761
 *             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/cuda.pyx":5762
 *                 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_n_s_address_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5762, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5762, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_address, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5762, __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(1, 5762, __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)) __PYX_ERR(1, 5762, __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(1, 5762, __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/cuda.pyx":5761
 *             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/cuda.pyx":5763
 *             try:
 *                 str_list += ['address : ' + str(self.address)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['address : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 5763, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":5764
 *                 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(1, 5764, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_address_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_address_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_address_ValueError)) __PYX_ERR(1, 5764, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 5764, __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/cuda.pyx":5761
 *             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/cuda.pyx":5765
 *             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/cuda.pyx":5766
 *                 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_n_s_value_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5766, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5766, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_value, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5766, __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(1, 5766, __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)) __PYX_ERR(1, 5766, __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(1, 5766, __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/cuda.pyx":5765
 *             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/cuda.pyx":5767
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 5767, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":5768
 *                 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(1, 5768, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_value_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_value_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_value_ValueError)) __PYX_ERR(1, 5768, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 5768, __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/cuda.pyx":5765
 *             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/cuda.pyx":5769
 *             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/cuda.pyx":5770
 *                 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_n_s_value64_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5770, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5770, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_value64, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5770, __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(1, 5770, __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)) __PYX_ERR(1, 5770, __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(1, 5770, __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/cuda.pyx":5769
 *             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/cuda.pyx":5771
 *             try:
 *                 str_list += ['value64 : ' + str(self.value64)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value64 : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 5771, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":5772
 *                 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(1, 5772, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_value64_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_value64_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_value64_ValueError)) __PYX_ERR(1, 5772, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 5772, __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/cuda.pyx":5769
 *             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/cuda.pyx":5773
 *             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/cuda.pyx":5774
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5774, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5774, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5774, __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(1, 5774, __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)) __PYX_ERR(1, 5774, __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(1, 5774, __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/cuda.pyx":5773
 *             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/cuda.pyx":5775
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 5775, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":5776
 *                 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(1, 5776, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 5776, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 5776, __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/cuda.pyx":5773
 *             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/cuda.pyx":5777
 *             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/cuda.pyx":5778
 *                 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_n_s_alias_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5778, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5778, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_alias, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5778, __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(1, 5778, __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)) __PYX_ERR(1, 5778, __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(1, 5778, __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/cuda.pyx":5777
 *             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/cuda.pyx":5779
 *             try:
 *                 str_list += ['alias : ' + str(self.alias)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['alias : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 5779, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":5780
 *                 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(1, 5780, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_alias_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_alias_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_alias_ValueError)) __PYX_ERR(1, 5780, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 5780, __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/cuda.pyx":5777
 *             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/cuda.pyx":5781
 *             except ValueError:
 *                 str_list += ['alias : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5781, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":5755
 *         return <void_ptr>&self._ptr[0].writeValue
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":5783
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def operation(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":5754
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].writeValue
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5784
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].writeValue.operation)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_9operation_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUstreamMemOpWriteValueParams_st_9operation___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_9operation___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5784, 0, __PYX_ERR(1, 5784, __pyx_L1_error));

  /* "cuda/cuda.pyx":5786
 *     @property
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].writeValue.operation)             # <<<<<<<<<<<<<<
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUstreamBatchMemOpType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUstreamBatchMemOpType_enum((__pyx_v_self->_ptr[0]).writeValue.operation); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5786, __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/cuda.pyx":5784
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].writeValue.operation)
 */

  /* 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.cuda.CUstreamMemOpWriteValueParams_st.operation.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5787
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].writeValue.operation)
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].writeValue.operation = operation.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_9operation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_operation); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 5788, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_9operation_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_operation));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_9operation_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_operation) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 5787, 0, __PYX_ERR(1, 5787, __pyx_L1_error));

  /* "cuda/cuda.pyx":5789
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].writeValue.operation = operation.value             # <<<<<<<<<<<<<<
 *     @property
 *     def address(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_operation, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUstreamBatchMemOpType_enum)__Pyx_PyInt_As_enum__CUstreamBatchMemOpType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5789, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).writeValue.operation = __pyx_t_2;

  /* "cuda/cuda.pyx":5787
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].writeValue.operation)
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._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.cuda.CUstreamMemOpWriteValueParams_st.operation.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5790
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].writeValue.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def address(self):
 *         return self._address
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7address_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUstreamMemOpWriteValueParams_st_7address___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7address___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5790, 0, __PYX_ERR(1, 5790, __pyx_L1_error));

  /* "cuda/cuda.pyx":5792
 *     @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/cuda.pyx":5790
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].writeValue.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def address(self):
 *         return self._address
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.address.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5793
 *     def address(self):
 *         return self._address
 *     @address.setter             # <<<<<<<<<<<<<<
 *     def address(self, address):
 *         cdef ccuda.CUdeviceptr caddress
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7address_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_address); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUstreamMemOpWriteValueParams_st_7address_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_address));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7address_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_address) {
  CUdeviceptr __pyx_v_caddress;
  PyObject *__pyx_v_paddress = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 5793, 0, __PYX_ERR(1, 5793, __pyx_L1_error));

  /* "cuda/cuda.pyx":5796
 *     def address(self, address):
 *         cdef ccuda.CUdeviceptr caddress
 *         if address is None:             # <<<<<<<<<<<<<<
 *             caddress = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):
 */
  __pyx_t_1 = (__pyx_v_address == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5797
 *         cdef ccuda.CUdeviceptr caddress
 *         if address is None:
 *             caddress = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(address, (CUdeviceptr)):
 *             paddress = int(address)
 */
    __pyx_v_caddress = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":5796
 *     def address(self, address):
 *         cdef ccuda.CUdeviceptr caddress
 *         if address is None:             # <<<<<<<<<<<<<<
 *             caddress = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5798
 *         if address is None:
 *             caddress = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             paddress = int(address)
 *             caddress = <ccuda.CUdeviceptr><void_ptr>paddress
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_address, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5799
 *             caddress = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):
 *             paddress = int(address)             # <<<<<<<<<<<<<<
 *             caddress = <ccuda.CUdeviceptr><void_ptr>paddress
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_address); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5799, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_paddress = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":5800
 *         elif isinstance(address, (CUdeviceptr)):
 *             paddress = int(address)
 *             caddress = <ccuda.CUdeviceptr><void_ptr>paddress             # <<<<<<<<<<<<<<
 *         else:
 *             paddress = int(CUdeviceptr(address))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_paddress); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5800, __pyx_L1_error)
    __pyx_v_caddress = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":5798
 *         if address is None:
 *             caddress = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(address, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             paddress = int(address)
 *             caddress = <ccuda.CUdeviceptr><void_ptr>paddress
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5802
 *             caddress = <ccuda.CUdeviceptr><void_ptr>paddress
 *         else:
 *             paddress = int(CUdeviceptr(address))             # <<<<<<<<<<<<<<
 *             caddress = <ccuda.CUdeviceptr><void_ptr>paddress
 *         self._address._ptr[0] = caddress
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_address); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_paddress = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":5803
 *         else:
 *             paddress = int(CUdeviceptr(address))
 *             caddress = <ccuda.CUdeviceptr><void_ptr>paddress             # <<<<<<<<<<<<<<
 *         self._address._ptr[0] = caddress
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_paddress); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5803, __pyx_L1_error)
    __pyx_v_caddress = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5804
 *             paddress = int(CUdeviceptr(address))
 *             caddress = <ccuda.CUdeviceptr><void_ptr>paddress
 *         self._address._ptr[0] = caddress             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_address->_ptr[0]) = __pyx_v_caddress;

  /* "cuda/cuda.pyx":5793
 *     def address(self):
 *         return self._address
 *     @address.setter             # <<<<<<<<<<<<<<
 *     def address(self, address):
 *         cdef ccuda.CUdeviceptr caddress
 */

  /* 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.cuda.CUstreamMemOpWriteValueParams_st.address.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_paddress);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5806
 *         self._address._ptr[0] = caddress
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._value
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUstreamMemOpWriteValueParams_st_5value___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5value___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5806, 0, __PYX_ERR(1, 5806, __pyx_L1_error));

  /* "cuda/cuda.pyx":5808
 *     @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/cuda.pyx":5806
 *         self._address._ptr[0] = caddress
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5809
 *     def value(self):
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef ccuda.cuuint32_t cvalue
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUstreamMemOpWriteValueParams_st_5value_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5value_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_value) {
  cuuint32_t __pyx_v_cvalue;
  PyObject *__pyx_v_pvalue = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 5809, 0, __PYX_ERR(1, 5809, __pyx_L1_error));

  /* "cuda/cuda.pyx":5812
 *     def value(self, value):
 *         cdef ccuda.cuuint32_t cvalue
 *         if value is None:             # <<<<<<<<<<<<<<
 *             cvalue = <ccuda.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):
 */
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5813
 *         cdef ccuda.cuuint32_t cvalue
 *         if value is None:
 *             cvalue = <ccuda.cuuint32_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(value, (cuuint32_t)):
 *             pvalue = int(value)
 */
    __pyx_v_cvalue = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":5812
 *     def value(self, value):
 *         cdef ccuda.cuuint32_t cvalue
 *         if value is None:             # <<<<<<<<<<<<<<
 *             cvalue = <ccuda.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5814
 *         if value is None:
 *             cvalue = <ccuda.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):             # <<<<<<<<<<<<<<
 *             pvalue = int(value)
 *             cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value, __pyx_ptype_4cuda_4cuda_cuuint32_t); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5815
 *             cvalue = <ccuda.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):
 *             pvalue = int(value)             # <<<<<<<<<<<<<<
 *             cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":5816
 *         elif isinstance(value, (cuuint32_t)):
 *             pvalue = int(value)
 *             cvalue = <ccuda.cuuint32_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *         else:
 *             pvalue = int(cuuint32_t(value))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5816, __pyx_L1_error)
    __pyx_v_cvalue = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":5814
 *         if value is None:
 *             cvalue = <ccuda.cuuint32_t><void_ptr>0
 *         elif isinstance(value, (cuuint32_t)):             # <<<<<<<<<<<<<<
 *             pvalue = int(value)
 *             cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5818
 *             cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *         else:
 *             pvalue = int(cuuint32_t(value))             # <<<<<<<<<<<<<<
 *             cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *         self._value._ptr[0] = cvalue
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint32_t), __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":5819
 *         else:
 *             pvalue = int(cuuint32_t(value))
 *             cvalue = <ccuda.cuuint32_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *         self._value._ptr[0] = cvalue
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5819, __pyx_L1_error)
    __pyx_v_cvalue = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5820
 *             pvalue = int(cuuint32_t(value))
 *             cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *         self._value._ptr[0] = cvalue             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_value->_ptr[0]) = __pyx_v_cvalue;

  /* "cuda/cuda.pyx":5809
 *     def value(self):
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value):
 *         cdef ccuda.cuuint32_t cvalue
 */

  /* 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.cuda.CUstreamMemOpWriteValueParams_st.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvalue);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5822
 *         self._value._ptr[0] = cvalue
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value64(self):
 *         return self._value64
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7value64_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUstreamMemOpWriteValueParams_st_7value64___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7value64___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5822, 0, __PYX_ERR(1, 5822, __pyx_L1_error));

  /* "cuda/cuda.pyx":5824
 *     @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/cuda.pyx":5822
 *         self._value._ptr[0] = cvalue
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def value64(self):
 *         return self._value64
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.value64.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5825
 *     def value64(self):
 *         return self._value64
 *     @value64.setter             # <<<<<<<<<<<<<<
 *     def value64(self, value64):
 *         cdef ccuda.cuuint64_t cvalue64
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7value64_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value64); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUstreamMemOpWriteValueParams_st_7value64_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_value64));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7value64_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_value64) {
  cuuint64_t __pyx_v_cvalue64;
  PyObject *__pyx_v_pvalue64 = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 5825, 0, __PYX_ERR(1, 5825, __pyx_L1_error));

  /* "cuda/cuda.pyx":5828
 *     def value64(self, value64):
 *         cdef ccuda.cuuint64_t cvalue64
 *         if value64 is None:             # <<<<<<<<<<<<<<
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):
 */
  __pyx_t_1 = (__pyx_v_value64 == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5829
 *         cdef ccuda.cuuint64_t cvalue64
 *         if value64 is None:
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(value64, (cuuint64_t)):
 *             pvalue64 = int(value64)
 */
    __pyx_v_cvalue64 = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":5828
 *     def value64(self, value64):
 *         cdef ccuda.cuuint64_t cvalue64
 *         if value64 is None:             # <<<<<<<<<<<<<<
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5830
 *         if value64 is None:
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):             # <<<<<<<<<<<<<<
 *             pvalue64 = int(value64)
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>pvalue64
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value64, __pyx_ptype_4cuda_4cuda_cuuint64_t); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5831
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):
 *             pvalue64 = int(value64)             # <<<<<<<<<<<<<<
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>pvalue64
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value64); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue64 = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":5832
 *         elif isinstance(value64, (cuuint64_t)):
 *             pvalue64 = int(value64)
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>pvalue64             # <<<<<<<<<<<<<<
 *         else:
 *             pvalue64 = int(cuuint64_t(value64))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue64); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5832, __pyx_L1_error)
    __pyx_v_cvalue64 = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":5830
 *         if value64 is None:
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>0
 *         elif isinstance(value64, (cuuint64_t)):             # <<<<<<<<<<<<<<
 *             pvalue64 = int(value64)
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>pvalue64
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5834
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>pvalue64
 *         else:
 *             pvalue64 = int(cuuint64_t(value64))             # <<<<<<<<<<<<<<
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>pvalue64
 *         self._value64._ptr[0] = cvalue64
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint64_t), __pyx_v_value64); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue64 = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":5835
 *         else:
 *             pvalue64 = int(cuuint64_t(value64))
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>pvalue64             # <<<<<<<<<<<<<<
 *         self._value64._ptr[0] = cvalue64
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue64); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5835, __pyx_L1_error)
    __pyx_v_cvalue64 = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5836
 *             pvalue64 = int(cuuint64_t(value64))
 *             cvalue64 = <ccuda.cuuint64_t><void_ptr>pvalue64
 *         self._value64._ptr[0] = cvalue64             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_value64->_ptr[0]) = __pyx_v_cvalue64;

  /* "cuda/cuda.pyx":5825
 *     def value64(self):
 *         return self._value64
 *     @value64.setter             # <<<<<<<<<<<<<<
 *     def value64(self, value64):
 *         cdef ccuda.cuuint64_t cvalue64
 */

  /* 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.cuda.CUstreamMemOpWriteValueParams_st.value64.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pvalue64);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5838
 *         self._value64._ptr[0] = cvalue64
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].writeValue.flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUstreamMemOpWriteValueParams_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5838, 0, __PYX_ERR(1, 5838, __pyx_L1_error));

  /* "cuda/cuda.pyx":5840
 *     @property
 *     def flags(self):
 *         return self._ptr[0].writeValue.flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).writeValue.flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5838
 *         self._value64._ptr[0] = cvalue64
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].writeValue.flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5841
 *     def flags(self):
 *         return self._ptr[0].writeValue.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].writeValue.flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 5842, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 5841, 0, __PYX_ERR(1, 5841, __pyx_L1_error));

  /* "cuda/cuda.pyx":5843
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].writeValue.flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def alias(self):
 */
  (__pyx_v_self->_ptr[0]).writeValue.flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":5841
 *     def flags(self):
 *         return self._ptr[0].writeValue.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].writeValue.flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5844
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].writeValue.flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def alias(self):
 *         return self._alias
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5alias_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUstreamMemOpWriteValueParams_st_5alias___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5alias___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5844, 0, __PYX_ERR(1, 5844, __pyx_L1_error));

  /* "cuda/cuda.pyx":5846
 *     @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/cuda.pyx":5844
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].writeValue.flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def alias(self):
 *         return self._alias
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.alias.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5847
 *     def alias(self):
 *         return self._alias
 *     @alias.setter             # <<<<<<<<<<<<<<
 *     def alias(self, alias):
 *         cdef ccuda.CUdeviceptr calias
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5alias_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_alias); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUstreamMemOpWriteValueParams_st_5alias_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_alias));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5alias_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, PyObject *__pyx_v_alias) {
  CUdeviceptr __pyx_v_calias;
  PyObject *__pyx_v_palias = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 5847, 0, __PYX_ERR(1, 5847, __pyx_L1_error));

  /* "cuda/cuda.pyx":5850
 *     def alias(self, alias):
 *         cdef ccuda.CUdeviceptr calias
 *         if alias is None:             # <<<<<<<<<<<<<<
 *             calias = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):
 */
  __pyx_t_1 = (__pyx_v_alias == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5851
 *         cdef ccuda.CUdeviceptr calias
 *         if alias is None:
 *             calias = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(alias, (CUdeviceptr)):
 *             palias = int(alias)
 */
    __pyx_v_calias = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":5850
 *     def alias(self, alias):
 *         cdef ccuda.CUdeviceptr calias
 *         if alias is None:             # <<<<<<<<<<<<<<
 *             calias = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5852
 *         if alias is None:
 *             calias = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             palias = int(alias)
 *             calias = <ccuda.CUdeviceptr><void_ptr>palias
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_alias, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5853
 *             calias = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):
 *             palias = int(alias)             # <<<<<<<<<<<<<<
 *             calias = <ccuda.CUdeviceptr><void_ptr>palias
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_alias); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_palias = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":5854
 *         elif isinstance(alias, (CUdeviceptr)):
 *             palias = int(alias)
 *             calias = <ccuda.CUdeviceptr><void_ptr>palias             # <<<<<<<<<<<<<<
 *         else:
 *             palias = int(CUdeviceptr(alias))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_palias); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5854, __pyx_L1_error)
    __pyx_v_calias = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":5852
 *         if alias is None:
 *             calias = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(alias, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             palias = int(alias)
 *             calias = <ccuda.CUdeviceptr><void_ptr>palias
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5856
 *             calias = <ccuda.CUdeviceptr><void_ptr>palias
 *         else:
 *             palias = int(CUdeviceptr(alias))             # <<<<<<<<<<<<<<
 *             calias = <ccuda.CUdeviceptr><void_ptr>palias
 *         self._alias._ptr[0] = calias
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_alias); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_palias = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":5857
 *         else:
 *             palias = int(CUdeviceptr(alias))
 *             calias = <ccuda.CUdeviceptr><void_ptr>palias             # <<<<<<<<<<<<<<
 *         self._alias._ptr[0] = calias
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_palias); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5857, __pyx_L1_error)
    __pyx_v_calias = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5858
 *             palias = int(CUdeviceptr(alias))
 *             calias = <ccuda.CUdeviceptr><void_ptr>palias
 *         self._alias._ptr[0] = calias             # <<<<<<<<<<<<<<
 * 
 * cdef class CUstreamMemOpFlushRemoteWritesParams_st:
 */
  (__pyx_v_self->_alias->_ptr[0]) = __pyx_v_calias;

  /* "cuda/cuda.pyx":5847
 *     def alias(self):
 *         return self._alias
 *     @alias.setter             # <<<<<<<<<<<<<<
 *     def alias(self, alias):
 *         cdef ccuda.CUdeviceptr calias
 */

  /* 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.cuda.CUstreamMemOpWriteValueParams_st.alias.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_palias);
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_32CUstreamMemOpWriteValueParams_st_10__reduce_cython__, "CUstreamMemOpWriteValueParams_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__134)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUstreamMemOpWriteValueParams_st_12__setstate_cython__, "CUstreamMemOpWriteValueParams_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__135)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpWriteValueParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5875
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5875, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5875, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5875, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 5875, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpFlushRemoteWritesParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5875, 0, __PYX_ERR(1, 5875, __pyx_L1_error));

  /* "cuda/cuda.pyx":5876
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((union CUstreamBatchMemOpParams_union *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":5875
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpFlushRemoteWritesParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5878
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5878, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 5878, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5878, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 5878, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpFlushRemoteWritesParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5878, 0, __PYX_ERR(1, 5878, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpFlushRemoteWritesParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5880
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 5880, 0, __PYX_ERR(1, 5880, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUstreamMemOpFlushRemoteWritesParams_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":5882
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].flushRemoteWrites
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_6getPtr, "CUstreamMemOpFlushRemoteWritesParams_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__136)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5882, 0, __PYX_ERR(1, 5882, __pyx_L1_error));

  /* "cuda/cuda.pyx":5883
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].flushRemoteWrites             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).flushRemoteWrites))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5882
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].flushRemoteWrites
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpFlushRemoteWritesParams_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5884
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].flushRemoteWrites
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5884, 0, __PYX_ERR(1, 5884, __pyx_L1_error));

  /* "cuda/cuda.pyx":5885
 *         return <void_ptr>&self._ptr[0].flushRemoteWrites
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5886
 *     def __repr__(self):
 *         if self._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(1, 5886, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":5887
 *         if self._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/cuda.pyx":5888
 *             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_n_s_operation_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5888, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5888, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_operation, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5888, __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(1, 5888, __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)) __PYX_ERR(1, 5888, __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(1, 5888, __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/cuda.pyx":5887
 *         if self._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/cuda.pyx":5889
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpFlushRemoteWritesParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 5889, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":5890
 *                 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(1, 5890, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_operation_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_operation_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_operation_ValueError)) __PYX_ERR(1, 5890, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 5890, __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/cuda.pyx":5887
 *         if self._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/cuda.pyx":5891
 *             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/cuda.pyx":5892
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5892, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5892, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5892, __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(1, 5892, __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)) __PYX_ERR(1, 5892, __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(1, 5892, __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/cuda.pyx":5891
 *             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/cuda.pyx":5893
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpFlushRemoteWritesParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 5893, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":5894
 *                 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(1, 5894, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 5894, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 5894, __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/cuda.pyx":5891
 *             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/cuda.pyx":5895
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5895, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":5885
 *         return <void_ptr>&self._ptr[0].flushRemoteWrites
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":5897
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def operation(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":5884
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].flushRemoteWrites
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5898
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].flushRemoteWrites.operation)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_9operation_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_9operation___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_9operation___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5898, 0, __PYX_ERR(1, 5898, __pyx_L1_error));

  /* "cuda/cuda.pyx":5900
 *     @property
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].flushRemoteWrites.operation)             # <<<<<<<<<<<<<<
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUstreamBatchMemOpType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUstreamBatchMemOpType_enum((__pyx_v_self->_ptr[0]).flushRemoteWrites.operation); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5900, __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/cuda.pyx":5898
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].flushRemoteWrites.operation)
 */

  /* 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.cuda.CUstreamMemOpFlushRemoteWritesParams_st.operation.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5901
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].flushRemoteWrites.operation)
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].flushRemoteWrites.operation = operation.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_9operation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_operation); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 5902, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_9operation_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_operation));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_9operation_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, PyObject *__pyx_v_operation) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 5901, 0, __PYX_ERR(1, 5901, __pyx_L1_error));

  /* "cuda/cuda.pyx":5903
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].flushRemoteWrites.operation = operation.value             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_operation, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUstreamBatchMemOpType_enum)__Pyx_PyInt_As_enum__CUstreamBatchMemOpType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5903, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).flushRemoteWrites.operation = __pyx_t_2;

  /* "cuda/cuda.pyx":5901
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].flushRemoteWrites.operation)
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._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.cuda.CUstreamMemOpFlushRemoteWritesParams_st.operation.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5904
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].flushRemoteWrites.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flushRemoteWrites.flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5904, 0, __PYX_ERR(1, 5904, __pyx_L1_error));

  /* "cuda/cuda.pyx":5906
 *     @property
 *     def flags(self):
 *         return self._ptr[0].flushRemoteWrites.flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).flushRemoteWrites.flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5904
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].flushRemoteWrites.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flushRemoteWrites.flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpFlushRemoteWritesParams_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5907
 *     def flags(self):
 *         return self._ptr[0].flushRemoteWrites.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flushRemoteWrites.flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 5908, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpFlushRemoteWritesParams_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 5907, 0, __PYX_ERR(1, 5907, __pyx_L1_error));

  /* "cuda/cuda.pyx":5909
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flushRemoteWrites.flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class CUstreamMemOpMemoryBarrierParams_st:
 */
  (__pyx_v_self->_ptr[0]).flushRemoteWrites.flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":5907
 *     def flags(self):
 *         return self._ptr[0].flushRemoteWrites.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flushRemoteWrites.flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpFlushRemoteWritesParams_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_10__reduce_cython__, "CUstreamMemOpFlushRemoteWritesParams_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__137)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpFlushRemoteWritesParams_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_12__setstate_cython__, "CUstreamMemOpFlushRemoteWritesParams_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpFlushRemoteWritesParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__138)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpFlushRemoteWritesParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5926
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5926, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5926, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5926, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 5926, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpMemoryBarrierParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5926, 0, __PYX_ERR(1, 5926, __pyx_L1_error));

  /* "cuda/cuda.pyx":5927
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((union CUstreamBatchMemOpParams_union *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":5926
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpMemoryBarrierParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5929
 *         self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5929, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 5929, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5929, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 5929, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpMemoryBarrierParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 5929, 0, __PYX_ERR(1, 5929, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpMemoryBarrierParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5931
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_35CUstreamMemOpMemoryBarrierParams_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 5931, 0, __PYX_ERR(1, 5931, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUstreamMemOpMemoryBarrierParams_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":5933
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].memoryBarrier
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUstreamMemOpMemoryBarrierParams_st_6getPtr, "CUstreamMemOpMemoryBarrierParams_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__139)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5933, 0, __PYX_ERR(1, 5933, __pyx_L1_error));

  /* "cuda/cuda.pyx":5934
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].memoryBarrier             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).memoryBarrier))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5933
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].memoryBarrier
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpMemoryBarrierParams_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5935
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].memoryBarrier
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUstreamMemOpMemoryBarrierParams_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 5935, 0, __PYX_ERR(1, 5935, __pyx_L1_error));

  /* "cuda/cuda.pyx":5936
 *         return <void_ptr>&self._ptr[0].memoryBarrier
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5937
 *     def __repr__(self):
 *         if self._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(1, 5937, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":5938
 *         if self._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/cuda.pyx":5939
 *             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_n_s_operation_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5939, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5939, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_operation, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5939, __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(1, 5939, __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)) __PYX_ERR(1, 5939, __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(1, 5939, __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/cuda.pyx":5938
 *         if self._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/cuda.pyx":5940
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpMemoryBarrierParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 5940, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":5941
 *                 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(1, 5941, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_operation_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_operation_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_operation_ValueError)) __PYX_ERR(1, 5941, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 5941, __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/cuda.pyx":5938
 *         if self._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/cuda.pyx":5942
 *             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/cuda.pyx":5943
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5943, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 5943, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 5943, __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(1, 5943, __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)) __PYX_ERR(1, 5943, __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(1, 5943, __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/cuda.pyx":5942
 *             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/cuda.pyx":5944
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpMemoryBarrierParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 5944, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":5945
 *                 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(1, 5945, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 5945, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 5945, __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/cuda.pyx":5942
 *             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/cuda.pyx":5946
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":5936
 *         return <void_ptr>&self._ptr[0].memoryBarrier
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":5948
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def operation(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":5935
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].memoryBarrier
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5949
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].memoryBarrier.operation)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_9operation_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUstreamMemOpMemoryBarrierParams_st_9operation___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_9operation___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5949, 0, __PYX_ERR(1, 5949, __pyx_L1_error));

  /* "cuda/cuda.pyx":5951
 *     @property
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].memoryBarrier.operation)             # <<<<<<<<<<<<<<
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUstreamBatchMemOpType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUstreamBatchMemOpType_enum((__pyx_v_self->_ptr[0]).memoryBarrier.operation); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5951, __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/cuda.pyx":5949
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].memoryBarrier.operation)
 */

  /* 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.cuda.CUstreamMemOpMemoryBarrierParams_st.operation.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5952
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].memoryBarrier.operation)
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].memoryBarrier.operation = operation.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_9operation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_operation); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 5953, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_9operation_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_operation));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_9operation_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, PyObject *__pyx_v_operation) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 5952, 0, __PYX_ERR(1, 5952, __pyx_L1_error));

  /* "cuda/cuda.pyx":5954
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].memoryBarrier.operation = operation.value             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_operation, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUstreamBatchMemOpType_enum)__Pyx_PyInt_As_enum__CUstreamBatchMemOpType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5954, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).memoryBarrier.operation = __pyx_t_2;

  /* "cuda/cuda.pyx":5952
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].memoryBarrier.operation)
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._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.cuda.CUstreamMemOpMemoryBarrierParams_st.operation.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5955
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].memoryBarrier.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].memoryBarrier.flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUstreamMemOpMemoryBarrierParams_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 5955, 0, __PYX_ERR(1, 5955, __pyx_L1_error));

  /* "cuda/cuda.pyx":5957
 *     @property
 *     def flags(self):
 *         return self._ptr[0].memoryBarrier.flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).memoryBarrier.flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5955
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].memoryBarrier.operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].memoryBarrier.flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpMemoryBarrierParams_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5958
 *     def flags(self):
 *         return self._ptr[0].memoryBarrier.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].memoryBarrier.flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 5959, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpMemoryBarrierParams_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 5958, 0, __PYX_ERR(1, 5958, __pyx_L1_error));

  /* "cuda/cuda.pyx":5960
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].memoryBarrier.flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class CUstreamBatchMemOpParams_union:
 */
  (__pyx_v_self->_ptr[0]).memoryBarrier.flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":5958
 *     def flags(self):
 *         return self._ptr[0].memoryBarrier.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].memoryBarrier.flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpMemoryBarrierParams_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_35CUstreamMemOpMemoryBarrierParams_st_10__reduce_cython__, "CUstreamMemOpMemoryBarrierParams_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__140)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpMemoryBarrierParams_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUstreamMemOpMemoryBarrierParams_st_12__setstate_cython__, "CUstreamMemOpMemoryBarrierParams_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpMemoryBarrierParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__141)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamMemOpMemoryBarrierParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5987
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5987, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 5987, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5987, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 5987, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union___cinit__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union___cinit__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 5987, 0, __PYX_ERR(1, 5987, __pyx_L1_error));

  /* "cuda/cuda.pyx":5988
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":5989
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUstreamBatchMemOpParams_union__val);

    /* "cuda/cuda.pyx":5988
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":5991
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._waitValue = CUstreamMemOpWaitValueParams_st(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((union CUstreamBatchMemOpParams_union *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":5987
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":5992
 *         else:
 *             self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._waitValue = CUstreamMemOpWaitValueParams_st(_ptr=<void_ptr>self._ptr)
 *         self._writeValue = CUstreamMemOpWriteValueParams_st(_ptr=<void_ptr>self._ptr)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 5992, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 5992, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 5992, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 5992, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_2__init__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_2__init__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 5992, 0, __PYX_ERR(1, 5992, __pyx_L1_error));

  /* "cuda/cuda.pyx":5993
 *             self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._waitValue = CUstreamMemOpWaitValueParams_st(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._writeValue = CUstreamMemOpWriteValueParams_st(_ptr=<void_ptr>self._ptr)
 *         self._flushRemoteWrites = CUstreamMemOpFlushRemoteWritesParams_st(_ptr=<void_ptr>self._ptr)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 5993, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_waitValue);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_waitValue);
  __pyx_v_self->_waitValue = ((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5994
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._waitValue = CUstreamMemOpWaitValueParams_st(_ptr=<void_ptr>self._ptr)
 *         self._writeValue = CUstreamMemOpWriteValueParams_st(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._flushRemoteWrites = CUstreamMemOpFlushRemoteWritesParams_st(_ptr=<void_ptr>self._ptr)
 *         self._memoryBarrier = CUstreamMemOpMemoryBarrierParams_st(_ptr=<void_ptr>self._ptr)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 5994, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":5995
 *         self._waitValue = CUstreamMemOpWaitValueParams_st(_ptr=<void_ptr>self._ptr)
 *         self._writeValue = CUstreamMemOpWriteValueParams_st(_ptr=<void_ptr>self._ptr)
 *         self._flushRemoteWrites = CUstreamMemOpFlushRemoteWritesParams_st(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._memoryBarrier = CUstreamMemOpMemoryBarrierParams_st(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 5995, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_flushRemoteWrites);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_flushRemoteWrites);
  __pyx_v_self->_flushRemoteWrites = ((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5996
 *         self._writeValue = CUstreamMemOpWriteValueParams_st(_ptr=<void_ptr>self._ptr)
 *         self._flushRemoteWrites = CUstreamMemOpFlushRemoteWritesParams_st(_ptr=<void_ptr>self._ptr)
 *         self._memoryBarrier = CUstreamMemOpMemoryBarrierParams_st(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 5996, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUstreamMemOpMemoryBarrierParams_st *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":5992
 *         else:
 *             self._ptr = <ccuda.CUstreamBatchMemOpParams_union *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._waitValue = CUstreamMemOpWaitValueParams_st(_ptr=<void_ptr>self._ptr)
 *         self._writeValue = CUstreamMemOpWriteValueParams_st(_ptr=<void_ptr>self._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.cuda.CUstreamBatchMemOpParams_union.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":5997
 *         self._flushRemoteWrites = CUstreamMemOpFlushRemoteWritesParams_st(_ptr=<void_ptr>self._ptr)
 *         self._memoryBarrier = CUstreamMemOpMemoryBarrierParams_st(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_30CUstreamBatchMemOpParams_union_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 5997, 0, __PYX_ERR(1, 5997, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUstreamBatchMemOpParams_union.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":5999
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUstreamBatchMemOpParams_union_6getPtr, "CUstreamBatchMemOpParams_union.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_30CUstreamBatchMemOpParams_union_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUstreamBatchMemOpParams_union_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_6getPtr(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__142)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 5999, 0, __PYX_ERR(1, 5999, __pyx_L1_error));

  /* "cuda/cuda.pyx":6000
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":5999
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6001
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUstreamBatchMemOpParams_union_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_8__repr__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_7genexpr__pyx_v_line = NULL;
  PyObject *__pyx_8genexpr1__pyx_v_line = NULL;
  PyObject *__pyx_8genexpr2__pyx_v_line = NULL;
  PyObject *__pyx_8genexpr3__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 6001, 0, __PYX_ERR(1, 6001, __pyx_L1_error));

  /* "cuda/cuda.pyx":6002
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6003
 *     def __repr__(self):
 *         if self._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(1, 6003, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":6004
 *         if self._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/cuda.pyx":6005
 *             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_n_s_operation_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6005, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6005, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_operation, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6005, __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(1, 6005, __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)) __PYX_ERR(1, 6005, __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(1, 6005, __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/cuda.pyx":6004
 *         if self._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/cuda.pyx":6006
 *             try:
 *                 str_list += ['operation : ' + str(self.operation)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['operation : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 6006, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6007
 *                 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(1, 6007, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_operation_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_operation_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_operation_ValueError)) __PYX_ERR(1, 6007, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6007, __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/cuda.pyx":6004
 *         if self._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/cuda.pyx":6008
 *             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/cuda.pyx":6009
 *                 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(1, 6009, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_waitValue_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6009, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6009, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6009, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6009, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6009, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 6009, __pyx_L20_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 6009, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 6009, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6009, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 6009, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 6009, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6009, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 6009, __pyx_L20_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_7genexpr__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6009, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 6009, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_7genexpr__pyx_v_line); __pyx_7genexpr__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_7genexpr__pyx_v_line); __pyx_7genexpr__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6009, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_waitValue, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6009, __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(1, 6009, __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)) __PYX_ERR(1, 6009, __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(1, 6009, __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/cuda.pyx":6008
 *             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/cuda.pyx":6010
 *             try:
 *                 str_list += ['waitValue :\n' + '\n'.join(['    ' + line for line in str(self.waitValue).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['waitValue : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 6010, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":6011
 *                 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(1, 6011, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_waitValue_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_waitValue_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_waitValue_ValueError)) __PYX_ERR(1, 6011, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6011, __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/cuda.pyx":6008
 *             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/cuda.pyx":6012
 *             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/cuda.pyx":6013
 *                 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(1, 6013, __pyx_L35_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_writeValue_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6013, __pyx_L35_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6013, __pyx_L35_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6013, __pyx_L35_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_8))) {
            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
            if (likely(__pyx_t_9)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
              __Pyx_INCREF(__pyx_t_9);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_8, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
            __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6013, __pyx_L35_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6013, __pyx_L35_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 6013, __pyx_L35_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_8))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 6013, __pyx_L35_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 6013, __pyx_L35_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6013, __pyx_L35_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 6013, __pyx_L35_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 6013, __pyx_L35_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6013, __pyx_L35_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_12(__pyx_t_8);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 6013, __pyx_L35_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_8genexpr1__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_kp_u__143, __pyx_8genexpr1__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6013, __pyx_L35_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(1, 6013, __pyx_L35_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_line); __pyx_8genexpr1__pyx_v_line = 0;
          goto __pyx_L39_exit_scope;
          __pyx_L35_error:;
          __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_line); __pyx_8genexpr1__pyx_v_line = 0;
          goto __pyx_L27_error;
          __pyx_L39_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6013, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_writeValue, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6013, __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(1, 6013, __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)) __PYX_ERR(1, 6013, __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(1, 6013, __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/cuda.pyx":6012
 *             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/cuda.pyx":6014
 *             try:
 *                 str_list += ['writeValue :\n' + '\n'.join(['    ' + line for line in str(self.writeValue).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['writeValue : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(1, 6014, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6015
 *                 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(1, 6015, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_writeValue_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_writeValue_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_writeValue_ValueError)) __PYX_ERR(1, 6015, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6015, __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/cuda.pyx":6012
 *             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/cuda.pyx":6016
 *             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/cuda.pyx":6017
 *                 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(1, 6017, __pyx_L50_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_flushRemoteWrites_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6017, __pyx_L50_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6017, __pyx_L50_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6017, __pyx_L50_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_6))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_6, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6017, __pyx_L50_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
            __pyx_t_6 = __pyx_t_8; __Pyx_INCREF(__pyx_t_6);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6017, __pyx_L50_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 6017, __pyx_L50_error)
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_6))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 6017, __pyx_L50_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_8 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_8); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 6017, __pyx_L50_error)
                #else
                __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6017, __pyx_L50_error)
                __Pyx_GOTREF(__pyx_t_8);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 6017, __pyx_L50_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_8); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 6017, __pyx_L50_error)
                #else
                __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6017, __pyx_L50_error)
                __Pyx_GOTREF(__pyx_t_8);
                #endif
              }
            } else {
              __pyx_t_8 = __pyx_t_12(__pyx_t_6);
              if (unlikely(!__pyx_t_8)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 6017, __pyx_L50_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_8);
            }
            __Pyx_XDECREF_SET(__pyx_8genexpr2__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_kp_u__143, __pyx_8genexpr2__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6017, __pyx_L50_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 6017, __pyx_L50_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_line); __pyx_8genexpr2__pyx_v_line = 0;
          goto __pyx_L54_exit_scope;
          __pyx_L50_error:;
          __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_line); __pyx_8genexpr2__pyx_v_line = 0;
          goto __pyx_L42_error;
          __pyx_L54_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6017, __pyx_L42_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_flushRemoteWrites, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6017, __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(1, 6017, __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)) __PYX_ERR(1, 6017, __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(1, 6017, __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/cuda.pyx":6016
 *             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/cuda.pyx":6018
 *             try:
 *                 str_list += ['flushRemoteWrites :\n' + '\n'.join(['    ' + line for line in str(self.flushRemoteWrites).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flushRemoteWrites : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 6018, __pyx_L44_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6019
 *                 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(1, 6019, __pyx_L44_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_flushRemoteWrites_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flushRemoteWrites_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_flushRemoteWrites_ValueError)) __PYX_ERR(1, 6019, __pyx_L44_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6019, __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/cuda.pyx":6016
 *             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/cuda.pyx":6020
 *             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/cuda.pyx":6021
 *                 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(1, 6021, __pyx_L65_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memoryBarrier_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6021, __pyx_L65_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6021, __pyx_L65_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6021, __pyx_L65_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_9)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_9);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6021, __pyx_L65_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6021, __pyx_L65_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 6021, __pyx_L65_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 6021, __pyx_L65_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 6021, __pyx_L65_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6021, __pyx_L65_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 6021, __pyx_L65_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 6021, __pyx_L65_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6021, __pyx_L65_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 6021, __pyx_L65_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_8genexpr3__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_8genexpr3__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6021, __pyx_L65_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 6021, __pyx_L65_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_line); __pyx_8genexpr3__pyx_v_line = 0;
          goto __pyx_L69_exit_scope;
          __pyx_L65_error:;
          __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_line); __pyx_8genexpr3__pyx_v_line = 0;
          goto __pyx_L57_error;
          __pyx_L69_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6021, __pyx_L57_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_memoryBarrier, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6021, __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(1, 6021, __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)) __PYX_ERR(1, 6021, __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(1, 6021, __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/cuda.pyx":6020
 *             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/cuda.pyx":6022
 *             try:
 *                 str_list += ['memoryBarrier :\n' + '\n'.join(['    ' + line for line in str(self.memoryBarrier).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memoryBarrier : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 6022, __pyx_L59_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":6023
 *                 str_list += ['memoryBarrier :\n' + '\n'.join(['    ' + line for line in str(self.memoryBarrier).splitlines()])]
 *             except ValueError:
 *                 str_list += ['memoryBarrier : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['pad : ' + str(self.pad)]
 */
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6023, __pyx_L59_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_memoryBarrier_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_memoryBarrier_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_memoryBarrier_ValueError)) __PYX_ERR(1, 6023, __pyx_L59_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6023, __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/cuda.pyx":6020
 *             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/cuda.pyx":6024
 *             except ValueError:
 *                 str_list += ['memoryBarrier : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:
 */
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/cuda.pyx":6025
 *                 str_list += ['memoryBarrier : <ValueError>']
 *             try:
 *                 str_list += ['pad : ' + str(self.pad)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['pad : <ValueError>']
 */
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_pad_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6025, __pyx_L72_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6025, __pyx_L72_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_pad, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6025, __pyx_L72_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6025, __pyx_L72_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GIVEREF(__pyx_t_6);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_6)) __PYX_ERR(1, 6025, __pyx_L72_error);
        __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6025, __pyx_L72_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "cuda/cuda.pyx":6024
 *             except ValueError:
 *                 str_list += ['memoryBarrier : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:
 */
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L77_try_end;
      __pyx_L72_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/cuda.pyx":6026
 *             try:
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pad : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(1, 6026, __pyx_L74_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6027
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:
 *                 str_list += ['pad : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6027, __pyx_L74_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_pad_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_pad_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_pad_ValueError)) __PYX_ERR(1, 6027, __pyx_L74_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6027, __pyx_L74_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_9));
        __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L73_exception_handled;
      }
      goto __pyx_L74_except_error;

      /* "cuda/cuda.pyx":6024
 *             except ValueError:
 *                 str_list += ['memoryBarrier : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:
 */
      __pyx_L74_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L73_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L77_try_end:;
    }

    /* "cuda/cuda.pyx":6028
 *             except ValueError:
 *                 str_list += ['pad : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6028, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":6002
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":6030
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def operation(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":6001
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.CUstreamBatchMemOpParams_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_7genexpr__pyx_v_line);
  __Pyx_XDECREF(__pyx_8genexpr1__pyx_v_line);
  __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_line);
  __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6031
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].operation)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9operation_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUstreamBatchMemOpParams_union_9operation___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9operation___get__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6031, 0, __PYX_ERR(1, 6031, __pyx_L1_error));

  /* "cuda/cuda.pyx":6033
 *     @property
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].operation)             # <<<<<<<<<<<<<<
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUstreamBatchMemOpType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUstreamBatchMemOpType_enum((__pyx_v_self->_ptr[0]).operation); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6033, __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/cuda.pyx":6031
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].operation)
 */

  /* 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.cuda.CUstreamBatchMemOpParams_union.operation.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6034
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].operation)
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].operation = operation.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9operation_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_operation); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 6035, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9operation_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self), ((PyObject *)__pyx_v_operation));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9operation_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, PyObject *__pyx_v_operation) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6034, 0, __PYX_ERR(1, 6034, __pyx_L1_error));

  /* "cuda/cuda.pyx":6036
 *     @operation.setter
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].operation = operation.value             # <<<<<<<<<<<<<<
 *     @property
 *     def waitValue(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_operation, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUstreamBatchMemOpType_enum)__Pyx_PyInt_As_enum__CUstreamBatchMemOpType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6036, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).operation = __pyx_t_2;

  /* "cuda/cuda.pyx":6034
 *     def operation(self):
 *         return CUstreamBatchMemOpType(self._ptr[0].operation)
 *     @operation.setter             # <<<<<<<<<<<<<<
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._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.cuda.CUstreamBatchMemOpParams_union.operation.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6037
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def waitValue(self):
 *         return self._waitValue
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9waitValue_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUstreamBatchMemOpParams_union_9waitValue___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9waitValue___get__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6037, 0, __PYX_ERR(1, 6037, __pyx_L1_error));

  /* "cuda/cuda.pyx":6039
 *     @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/cuda.pyx":6037
 *     def operation(self, operation not None : CUstreamBatchMemOpType):
 *         self._ptr[0].operation = operation.value
 *     @property             # <<<<<<<<<<<<<<
 *     def waitValue(self):
 *         return self._waitValue
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.waitValue.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6040
 *     def waitValue(self):
 *         return self._waitValue
 *     @waitValue.setter             # <<<<<<<<<<<<<<
 *     def waitValue(self, waitValue not None : CUstreamMemOpWaitValueParams_st):
 *         string.memcpy(&self._ptr[0].waitValue, <ccuda.CUstreamMemOpWaitValueParams_st*><void_ptr>waitValue.getPtr(), sizeof(self._ptr[0].waitValue))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9waitValue_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_waitValue); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st, 0, "waitValue", 0))) __PYX_ERR(1, 6041, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9waitValue_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)__pyx_v_waitValue));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9waitValue_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *__pyx_v_waitValue) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6040, 0, __PYX_ERR(1, 6040, __pyx_L1_error));

  /* "cuda/cuda.pyx":6042
 *     @waitValue.setter
 *     def waitValue(self, waitValue not None : CUstreamMemOpWaitValueParams_st):
 *         string.memcpy(&self._ptr[0].waitValue, <ccuda.CUstreamMemOpWaitValueParams_st*><void_ptr>waitValue.getPtr(), sizeof(self._ptr[0].waitValue))             # <<<<<<<<<<<<<<
 *     @property
 *     def writeValue(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_waitValue), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6042, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).waitValue), ((struct CUstreamMemOpWaitValueParams_st *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).waitValue))));

  /* "cuda/cuda.pyx":6040
 *     def waitValue(self):
 *         return self._waitValue
 *     @waitValue.setter             # <<<<<<<<<<<<<<
 *     def waitValue(self, waitValue not None : CUstreamMemOpWaitValueParams_st):
 *         string.memcpy(&self._ptr[0].waitValue, <ccuda.CUstreamMemOpWaitValueParams_st*><void_ptr>waitValue.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.waitValue.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6043
 *     def waitValue(self, waitValue not None : CUstreamMemOpWaitValueParams_st):
 *         string.memcpy(&self._ptr[0].waitValue, <ccuda.CUstreamMemOpWaitValueParams_st*><void_ptr>waitValue.getPtr(), sizeof(self._ptr[0].waitValue))
 *     @property             # <<<<<<<<<<<<<<
 *     def writeValue(self):
 *         return self._writeValue
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_10writeValue_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUstreamBatchMemOpParams_union_10writeValue___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_10writeValue___get__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6043, 0, __PYX_ERR(1, 6043, __pyx_L1_error));

  /* "cuda/cuda.pyx":6045
 *     @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/cuda.pyx":6043
 *     def waitValue(self, waitValue not None : CUstreamMemOpWaitValueParams_st):
 *         string.memcpy(&self._ptr[0].waitValue, <ccuda.CUstreamMemOpWaitValueParams_st*><void_ptr>waitValue.getPtr(), sizeof(self._ptr[0].waitValue))
 *     @property             # <<<<<<<<<<<<<<
 *     def writeValue(self):
 *         return self._writeValue
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.writeValue.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6046
 *     def writeValue(self):
 *         return self._writeValue
 *     @writeValue.setter             # <<<<<<<<<<<<<<
 *     def writeValue(self, writeValue not None : CUstreamMemOpWriteValueParams_st):
 *         string.memcpy(&self._ptr[0].writeValue, <ccuda.CUstreamMemOpWriteValueParams_st*><void_ptr>writeValue.getPtr(), sizeof(self._ptr[0].writeValue))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_10writeValue_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_writeValue); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st, 0, "writeValue", 0))) __PYX_ERR(1, 6047, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_10writeValue_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)__pyx_v_writeValue));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_10writeValue_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *__pyx_v_writeValue) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6046, 0, __PYX_ERR(1, 6046, __pyx_L1_error));

  /* "cuda/cuda.pyx":6048
 *     @writeValue.setter
 *     def writeValue(self, writeValue not None : CUstreamMemOpWriteValueParams_st):
 *         string.memcpy(&self._ptr[0].writeValue, <ccuda.CUstreamMemOpWriteValueParams_st*><void_ptr>writeValue.getPtr(), sizeof(self._ptr[0].writeValue))             # <<<<<<<<<<<<<<
 *     @property
 *     def flushRemoteWrites(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_writeValue), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6048, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6048, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6048, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).writeValue), ((struct CUstreamMemOpWriteValueParams_st *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).writeValue))));

  /* "cuda/cuda.pyx":6046
 *     def writeValue(self):
 *         return self._writeValue
 *     @writeValue.setter             # <<<<<<<<<<<<<<
 *     def writeValue(self, writeValue not None : CUstreamMemOpWriteValueParams_st):
 *         string.memcpy(&self._ptr[0].writeValue, <ccuda.CUstreamMemOpWriteValueParams_st*><void_ptr>writeValue.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.writeValue.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6049
 *     def writeValue(self, writeValue not None : CUstreamMemOpWriteValueParams_st):
 *         string.memcpy(&self._ptr[0].writeValue, <ccuda.CUstreamMemOpWriteValueParams_st*><void_ptr>writeValue.getPtr(), sizeof(self._ptr[0].writeValue))
 *     @property             # <<<<<<<<<<<<<<
 *     def flushRemoteWrites(self):
 *         return self._flushRemoteWrites
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_17flushRemoteWrites_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUstreamBatchMemOpParams_union_17flushRemoteWrites___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_17flushRemoteWrites___get__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6049, 0, __PYX_ERR(1, 6049, __pyx_L1_error));

  /* "cuda/cuda.pyx":6051
 *     @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/cuda.pyx":6049
 *     def writeValue(self, writeValue not None : CUstreamMemOpWriteValueParams_st):
 *         string.memcpy(&self._ptr[0].writeValue, <ccuda.CUstreamMemOpWriteValueParams_st*><void_ptr>writeValue.getPtr(), sizeof(self._ptr[0].writeValue))
 *     @property             # <<<<<<<<<<<<<<
 *     def flushRemoteWrites(self):
 *         return self._flushRemoteWrites
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.flushRemoteWrites.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6052
 *     def flushRemoteWrites(self):
 *         return self._flushRemoteWrites
 *     @flushRemoteWrites.setter             # <<<<<<<<<<<<<<
 *     def flushRemoteWrites(self, flushRemoteWrites not None : CUstreamMemOpFlushRemoteWritesParams_st):
 *         string.memcpy(&self._ptr[0].flushRemoteWrites, <ccuda.CUstreamMemOpFlushRemoteWritesParams_st*><void_ptr>flushRemoteWrites.getPtr(), sizeof(self._ptr[0].flushRemoteWrites))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_17flushRemoteWrites_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_flushRemoteWrites); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st, 0, "flushRemoteWrites", 0))) __PYX_ERR(1, 6053, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_17flushRemoteWrites_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *)__pyx_v_flushRemoteWrites));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_17flushRemoteWrites_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *__pyx_v_flushRemoteWrites) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6052, 0, __PYX_ERR(1, 6052, __pyx_L1_error));

  /* "cuda/cuda.pyx":6054
 *     @flushRemoteWrites.setter
 *     def flushRemoteWrites(self, flushRemoteWrites not None : CUstreamMemOpFlushRemoteWritesParams_st):
 *         string.memcpy(&self._ptr[0].flushRemoteWrites, <ccuda.CUstreamMemOpFlushRemoteWritesParams_st*><void_ptr>flushRemoteWrites.getPtr(), sizeof(self._ptr[0].flushRemoteWrites))             # <<<<<<<<<<<<<<
 *     @property
 *     def memoryBarrier(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_flushRemoteWrites), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6054, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).flushRemoteWrites), ((struct CUstreamMemOpFlushRemoteWritesParams_st *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).flushRemoteWrites))));

  /* "cuda/cuda.pyx":6052
 *     def flushRemoteWrites(self):
 *         return self._flushRemoteWrites
 *     @flushRemoteWrites.setter             # <<<<<<<<<<<<<<
 *     def flushRemoteWrites(self, flushRemoteWrites not None : CUstreamMemOpFlushRemoteWritesParams_st):
 *         string.memcpy(&self._ptr[0].flushRemoteWrites, <ccuda.CUstreamMemOpFlushRemoteWritesParams_st*><void_ptr>flushRemoteWrites.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.flushRemoteWrites.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6055
 *     def flushRemoteWrites(self, flushRemoteWrites not None : CUstreamMemOpFlushRemoteWritesParams_st):
 *         string.memcpy(&self._ptr[0].flushRemoteWrites, <ccuda.CUstreamMemOpFlushRemoteWritesParams_st*><void_ptr>flushRemoteWrites.getPtr(), sizeof(self._ptr[0].flushRemoteWrites))
 *     @property             # <<<<<<<<<<<<<<
 *     def memoryBarrier(self):
 *         return self._memoryBarrier
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_13memoryBarrier_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUstreamBatchMemOpParams_union_13memoryBarrier___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_13memoryBarrier___get__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6055, 0, __PYX_ERR(1, 6055, __pyx_L1_error));

  /* "cuda/cuda.pyx":6057
 *     @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/cuda.pyx":6055
 *     def flushRemoteWrites(self, flushRemoteWrites not None : CUstreamMemOpFlushRemoteWritesParams_st):
 *         string.memcpy(&self._ptr[0].flushRemoteWrites, <ccuda.CUstreamMemOpFlushRemoteWritesParams_st*><void_ptr>flushRemoteWrites.getPtr(), sizeof(self._ptr[0].flushRemoteWrites))
 *     @property             # <<<<<<<<<<<<<<
 *     def memoryBarrier(self):
 *         return self._memoryBarrier
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.memoryBarrier.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6058
 *     def memoryBarrier(self):
 *         return self._memoryBarrier
 *     @memoryBarrier.setter             # <<<<<<<<<<<<<<
 *     def memoryBarrier(self, memoryBarrier not None : CUstreamMemOpMemoryBarrierParams_st):
 *         string.memcpy(&self._ptr[0].memoryBarrier, <ccuda.CUstreamMemOpMemoryBarrierParams_st*><void_ptr>memoryBarrier.getPtr(), sizeof(self._ptr[0].memoryBarrier))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_13memoryBarrier_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memoryBarrier); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st, 0, "memoryBarrier", 0))) __PYX_ERR(1, 6059, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_13memoryBarrier_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *)__pyx_v_memoryBarrier));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_13memoryBarrier_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *__pyx_v_memoryBarrier) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6058, 0, __PYX_ERR(1, 6058, __pyx_L1_error));

  /* "cuda/cuda.pyx":6060
 *     @memoryBarrier.setter
 *     def memoryBarrier(self, memoryBarrier not None : CUstreamMemOpMemoryBarrierParams_st):
 *         string.memcpy(&self._ptr[0].memoryBarrier, <ccuda.CUstreamMemOpMemoryBarrierParams_st*><void_ptr>memoryBarrier.getPtr(), sizeof(self._ptr[0].memoryBarrier))             # <<<<<<<<<<<<<<
 *     @property
 *     def pad(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_memoryBarrier), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6060, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).memoryBarrier), ((struct CUstreamMemOpMemoryBarrierParams_st *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).memoryBarrier))));

  /* "cuda/cuda.pyx":6058
 *     def memoryBarrier(self):
 *         return self._memoryBarrier
 *     @memoryBarrier.setter             # <<<<<<<<<<<<<<
 *     def memoryBarrier(self, memoryBarrier not None : CUstreamMemOpMemoryBarrierParams_st):
 *         string.memcpy(&self._ptr[0].memoryBarrier, <ccuda.CUstreamMemOpMemoryBarrierParams_st*><void_ptr>memoryBarrier.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.memoryBarrier.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6061
 *     def memoryBarrier(self, memoryBarrier not None : CUstreamMemOpMemoryBarrierParams_st):
 *         string.memcpy(&self._ptr[0].memoryBarrier, <ccuda.CUstreamMemOpMemoryBarrierParams_st*><void_ptr>memoryBarrier.getPtr(), sizeof(self._ptr[0].memoryBarrier))
 *     @property             # <<<<<<<<<<<<<<
 *     def pad(self):
 *         return [cuuint64_t(init_value=_pad) for _pad in self._ptr[0].pad]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_3pad_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUstreamBatchMemOpParams_union_3pad___get__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_3pad___get__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  cuuint64_t __pyx_8genexpr4__pyx_v__pad;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6061, 0, __PYX_ERR(1, 6061, __pyx_L1_error));

  /* "cuda/cuda.pyx":6063
 *     @property
 *     def pad(self):
 *         return [cuuint64_t(init_value=_pad) for _pad in self._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(1, 6063, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = ((__pyx_v_self->_ptr[0]).pad + 6);
    for (__pyx_t_4 = (__pyx_v_self->_ptr[0]).pad; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
      __pyx_t_2 = __pyx_t_4;
      __pyx_8genexpr4__pyx_v__pad = (__pyx_t_2[0]);
      __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6063, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyInt_From_uint64_t(__pyx_8genexpr4__pyx_v__pad); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6063, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_init_value, __pyx_t_6) < 0) __PYX_ERR(1, 6063, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint64_t), __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6063, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 6063, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6061
 *     def memoryBarrier(self, memoryBarrier not None : CUstreamMemOpMemoryBarrierParams_st):
 *         string.memcpy(&self._ptr[0].memoryBarrier, <ccuda.CUstreamMemOpMemoryBarrierParams_st*><void_ptr>memoryBarrier.getPtr(), sizeof(self._ptr[0].memoryBarrier))
 *     @property             # <<<<<<<<<<<<<<
 *     def pad(self):
 *         return [cuuint64_t(init_value=_pad) for _pad in self._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_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.pad.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6064
 *     def pad(self):
 *         return [cuuint64_t(init_value=_pad) for _pad in self._ptr[0].pad]
 *     @pad.setter             # <<<<<<<<<<<<<<
 *     def pad(self, pad):
 *         self._ptr[0].pad = pad
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_3pad_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pad); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_30CUstreamBatchMemOpParams_union_3pad_2__set__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self), ((PyObject *)__pyx_v_pad));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_3pad_2__set__(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, PyObject *__pyx_v_pad) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  cuuint64_t __pyx_t_1[6];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6064, 0, __PYX_ERR(1, 6064, __pyx_L1_error));

  /* "cuda/cuda.pyx":6066
 *     @pad.setter
 *     def pad(self, pad):
 *         self._ptr[0].pad = pad             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:
 */
  if (unlikely((__Pyx_carray_from_py_cuuint64_t(__pyx_v_pad, __pyx_t_1, 6) < 0))) __PYX_ERR(1, 6066, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).pad[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).pad[0]) * (6));

  /* "cuda/cuda.pyx":6064
 *     def pad(self):
 *         return [cuuint64_t(init_value=_pad) for _pad in self._ptr[0].pad]
 *     @pad.setter             # <<<<<<<<<<<<<<
 *     def pad(self, pad):
 *         self._ptr[0].pad = pad
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.pad.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_30CUstreamBatchMemOpParams_union_10__reduce_cython__, "CUstreamBatchMemOpParams_union.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_30CUstreamBatchMemOpParams_union_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUstreamBatchMemOpParams_union_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__144)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUstreamBatchMemOpParams_union_12__setstate_cython__, "CUstreamBatchMemOpParams_union.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_30CUstreamBatchMemOpParams_union_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUstreamBatchMemOpParams_union_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUstreamBatchMemOpParams_union_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__145)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUstreamBatchMemOpParams_union.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6087
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6087, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 6087, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6087, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 6087, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 6087, 0, __PYX_ERR(1, 6087, __pyx_L1_error));

  /* "cuda/cuda.pyx":6088
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6089
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st__val);

    /* "cuda/cuda.pyx":6088
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":6091
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":6087
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6092
 *         else:
 *             self._ptr = <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6092, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 6092, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6092, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 6092, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 6092, 0, __PYX_ERR(1, 6092, __pyx_L1_error));

  /* "cuda/cuda.pyx":6093
 *             self._ptr = <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._paramArray is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).ctx))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 6093, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __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_4cuda_CUcontext *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":6092
 *         else:
 *             self._ptr = <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6094
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 6094, 0, __PYX_ERR(1, 6094, __pyx_L1_error));

  /* "cuda/cuda.pyx":6095
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):
 *         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/cuda.pyx":6096
 *     def __dealloc__(self):
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_paramArray);

    /* "cuda/cuda.pyx":6095
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):
 *         if self._paramArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramArray)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":6094
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":6097
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_6getPtr, "CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__146)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 6097, 0, __PYX_ERR(1, 6097, __pyx_L1_error));

  /* "cuda/cuda.pyx":6098
 *             free(self._paramArray)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6097
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6099
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 6099, 0, __PYX_ERR(1, 6099, __pyx_L1_error));

  /* "cuda/cuda.pyx":6100
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6101
 *     def __repr__(self):
 *         if self._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(1, 6101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":6102
 *         if self._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/cuda.pyx":6103
 *             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_n_s_ctx_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6103, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6103, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_ctx, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6103, __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(1, 6103, __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)) __PYX_ERR(1, 6103, __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(1, 6103, __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/cuda.pyx":6102
 *         if self._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/cuda.pyx":6104
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6104, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6105
 *                 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(1, 6105, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_ctx_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_ctx_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_ctx_ValueError)) __PYX_ERR(1, 6105, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6105, __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/cuda.pyx":6102
 *         if self._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/cuda.pyx":6106
 *             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/cuda.pyx":6107
 *                 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_n_s_count_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6107, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6107, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_count, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6107, __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(1, 6107, __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)) __PYX_ERR(1, 6107, __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(1, 6107, __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/cuda.pyx":6106
 *             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/cuda.pyx":6108
 *             try:
 *                 str_list += ['count : ' + str(self.count)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['count : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6108, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6109
 *                 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(1, 6109, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_count_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_count_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_count_ValueError)) __PYX_ERR(1, 6109, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6109, __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/cuda.pyx":6106
 *             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/cuda.pyx":6110
 *             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/cuda.pyx":6111
 *                 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_n_s_paramArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6111, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6111, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_paramArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6111, __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(1, 6111, __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)) __PYX_ERR(1, 6111, __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(1, 6111, __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/cuda.pyx":6110
 *             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/cuda.pyx":6112
 *             try:
 *                 str_list += ['paramArray : ' + str(self.paramArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramArray : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6112, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6113
 *                 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(1, 6113, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_paramArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_paramArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_paramArray_ValueError)) __PYX_ERR(1, 6113, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6113, __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/cuda.pyx":6110
 *             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/cuda.pyx":6114
 *             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/cuda.pyx":6115
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6115, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6115, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6115, __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(1, 6115, __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)) __PYX_ERR(1, 6115, __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(1, 6115, __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/cuda.pyx":6114
 *             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/cuda.pyx":6116
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6116, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6117
 *                 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(1, 6117, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 6117, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6117, __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/cuda.pyx":6114
 *             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/cuda.pyx":6118
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":6100
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":6120
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def ctx(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":6099
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6121
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx___get__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6121, 0, __PYX_ERR(1, 6121, __pyx_L1_error));

  /* "cuda/cuda.pyx":6123
 *     @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/cuda.pyx":6121
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.ctx.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6124
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cctx;
  PyObject *__pyx_v_pctx = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6124, 0, __PYX_ERR(1, 6124, __pyx_L1_error));

  /* "cuda/cuda.pyx":6127
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6128
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 */
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":6127
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":6129
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6130
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":6131
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         else:
 *             pctx = int(CUcontext(ctx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6131, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":6129
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":6133
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         else:
 *             pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         self._ctx._ptr[0] = cctx
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":6134
 *         else:
 *             pctx = int(CUcontext(ctx))
 *             cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         self._ctx._ptr[0] = cctx
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6134, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":6135
 *             pctx = int(CUcontext(ctx))
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         self._ctx._ptr[0] = cctx             # <<<<<<<<<<<<<<
 *     @property
 *     def count(self):
 */
  (__pyx_v_self->_ctx->_ptr[0]) = __pyx_v_cctx;

  /* "cuda/cuda.pyx":6124
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 */

  /* 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.cuda.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_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6136
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         self._ctx._ptr[0] = cctx
 *     @property             # <<<<<<<<<<<<<<
 *     def count(self):
 *         return self._ptr[0].count
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count___get__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6136, 0, __PYX_ERR(1, 6136, __pyx_L1_error));

  /* "cuda/cuda.pyx":6138
 *     @property
 *     def count(self):
 *         return self._ptr[0].count             # <<<<<<<<<<<<<<
 *     @count.setter
 *     def count(self, unsigned int count):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).count); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6136
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         self._ctx._ptr[0] = cctx
 *     @property             # <<<<<<<<<<<<<<
 *     def count(self):
 *         return self._ptr[0].count
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6139
 *     def count(self):
 *         return self._ptr[0].count
 *     @count.setter             # <<<<<<<<<<<<<<
 *     def count(self, unsigned int count):
 *         self._ptr[0].count = count
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_count); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6140, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, unsigned int __pyx_v_count) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6139, 0, __PYX_ERR(1, 6139, __pyx_L1_error));

  /* "cuda/cuda.pyx":6141
 *     @count.setter
 *     def count(self, unsigned int count):
 *         self._ptr[0].count = count             # <<<<<<<<<<<<<<
 *     @property
 *     def paramArray(self):
 */
  (__pyx_v_self->_ptr[0]).count = __pyx_v_count;

  /* "cuda/cuda.pyx":6139
 *     def count(self):
 *         return self._ptr[0].count
 *     @count.setter             # <<<<<<<<<<<<<<
 *     def count(self, unsigned int count):
 *         self._ptr[0].count = count
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.count.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6142
 *     def count(self, unsigned int count):
 *         self._ptr[0].count = count
 *     @property             # <<<<<<<<<<<<<<
 *     def paramArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramArray + x*sizeof(ccuda.CUstreamBatchMemOpParams) for x in range(self._paramArray_length)]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_8genexpr5__pyx_v_x;
  PyObject *__pyx_8genexpr6__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6142, 0, __PYX_ERR(1, 6142, __pyx_L1_error));

  /* "cuda/cuda.pyx":6144
 *     @property
 *     def paramArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramArray + x*sizeof(ccuda.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(1, 6144, __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_8genexpr5__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).paramArray) + (__pyx_8genexpr5__pyx_v_x * (sizeof(CUstreamBatchMemOpParams))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 6144, __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/cuda.pyx":6145
 *     def paramArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramArray + x*sizeof(ccuda.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(1, 6145, __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 6145, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 6145, __pyx_L7_error)
      #else
      __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 6145, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_8genexpr6__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 6145, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_8genexpr6__pyx_v_arr) < 0) __PYX_ERR(1, 6145, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6145, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 6145, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_8genexpr6__pyx_v_arr); __pyx_8genexpr6__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_8genexpr6__pyx_v_arr); __pyx_8genexpr6__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/cuda.pyx":6142
 *     def count(self, unsigned int count):
 *         self._ptr[0].count = count
 *     @property             # <<<<<<<<<<<<<<
 *     def paramArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.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_8genexpr6__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6146
 *         arrs = [<void_ptr>self._ptr[0].paramArray + x*sizeof(ccuda.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_4cuda_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_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray_2__set__(struct __pyx_obj_4cuda_4cuda_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_TraceDeclarations
  __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;
  CUstreamBatchMemOpParams *__pyx_t_6;
  Py_ssize_t __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6146, 0, __PYX_ERR(1, 6146, __pyx_L1_error));

  /* "cuda/cuda.pyx":6148
 *     @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(1, 6148, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":6149
 *     def paramArray(self, val):
 *         if len(val) == 0:
 *             free(self._paramArray)             # <<<<<<<<<<<<<<
 *             self._paramArray_length = 0
 *             self._ptr[0].paramArray = NULL
 */
    free(__pyx_v_self->_paramArray);

    /* "cuda/cuda.pyx":6150
 *         if len(val) == 0:
 *             free(self._paramArray)
 *             self._paramArray_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].paramArray = NULL
 *         else:
 */
    __pyx_v_self->_paramArray_length = 0;

    /* "cuda/cuda.pyx":6151
 *             free(self._paramArray)
 *             self._paramArray_length = 0
 *             self._ptr[0].paramArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._paramArray_length != <size_t>len(val):
 */
    (__pyx_v_self->_ptr[0]).paramArray = NULL;

    /* "cuda/cuda.pyx":6148
 *     @paramArray.setter
 *     def paramArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramArray)
 *             self._paramArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":6153
 *             self._ptr[0].paramArray = NULL
 *         else:
 *             if self._paramArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramArray)
 *                 self._paramArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(ccuda.CUstreamBatchMemOpParams))
 */
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 6153, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/cuda.pyx":6154
 *         else:
 *             if self._paramArray_length != <size_t>len(val):
 *                 free(self._paramArray)             # <<<<<<<<<<<<<<
 *                 self._paramArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(ccuda.CUstreamBatchMemOpParams))
 *                 if self._paramArray is NULL:
 */
      free(__pyx_v_self->_paramArray);

      /* "cuda/cuda.pyx":6155
 *             if self._paramArray_length != <size_t>len(val):
 *                 free(self._paramArray)
 *                 self._paramArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(ccuda.CUstreamBatchMemOpParams))             # <<<<<<<<<<<<<<
 *                 if self._paramArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 6155, __pyx_L1_error)
      __pyx_v_self->_paramArray = ((CUstreamBatchMemOpParams *)calloc(__pyx_t_1, (sizeof(CUstreamBatchMemOpParams))));

      /* "cuda/cuda.pyx":6156
 *                 free(self._paramArray)
 *                 self._paramArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(ccuda.CUstreamBatchMemOpParams))
 *                 if self._paramArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))
 *                 self._paramArray_length = <size_t>len(val)
 */
      __pyx_t_2 = (__pyx_v_self->_paramArray == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/cuda.pyx":6157
 *                 self._paramArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(ccuda.CUstreamBatchMemOpParams))
 *                 if self._paramArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))             # <<<<<<<<<<<<<<
 *                 self._paramArray_length = <size_t>len(val)
 *                 self._ptr[0].paramArray = self._paramArray
 */
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 6157, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6157, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6157, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6157, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6157, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUstreamBatchMemOpParams))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6157, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6157, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6157, __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_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6157, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __PYX_ERR(1, 6157, __pyx_L1_error)

        /* "cuda/cuda.pyx":6156
 *                 free(self._paramArray)
 *                 self._paramArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(ccuda.CUstreamBatchMemOpParams))
 *                 if self._paramArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))
 *                 self._paramArray_length = <size_t>len(val)
 */
      }

      /* "cuda/cuda.pyx":6158
 *                 if self._paramArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))
 *                 self._paramArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._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(1, 6158, __pyx_L1_error)
      __pyx_v_self->_paramArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cuda.pyx":6159
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))
 *                 self._paramArray_length = <size_t>len(val)
 *                 self._ptr[0].paramArray = self._paramArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._ptr, sizeof(ccuda.CUstreamBatchMemOpParams))
 */
      __pyx_t_6 = __pyx_v_self->_paramArray;
      (__pyx_v_self->_ptr[0]).paramArray = __pyx_t_6;

      /* "cuda/cuda.pyx":6153
 *             self._ptr[0].paramArray = NULL
 *         else:
 *             if self._paramArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramArray)
 *                 self._paramArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(ccuda.CUstreamBatchMemOpParams))
 */
    }

    /* "cuda/cuda.pyx":6160
 *                 self._paramArray_length = <size_t>len(val)
 *                 self._ptr[0].paramArray = self._paramArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._ptr, sizeof(ccuda.CUstreamBatchMemOpParams))
 * 
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 6160, __pyx_L1_error)
    __pyx_t_7 = __pyx_t_1;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_v_idx = __pyx_t_8;

      /* "cuda/cuda.pyx":6161
 *                 self._ptr[0].paramArray = self._paramArray
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._ptr, sizeof(ccuda.CUstreamBatchMemOpParams))             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6161, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (void)(memcpy((&(__pyx_v_self->_paramArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams *)__pyx_t_5)->__pyx_base.__pyx_base._ptr, (sizeof(CUstreamBatchMemOpParams))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":6146
 *         arrs = [<void_ptr>self._ptr[0].paramArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.paramArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6163
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._ptr, sizeof(ccuda.CUstreamBatchMemOpParams))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6163, 0, __PYX_ERR(1, 6163, __pyx_L1_error));

  /* "cuda/cuda.pyx":6165
 *     @property
 *     def flags(self):
 *         return self._ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6163
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._ptr, sizeof(ccuda.CUstreamBatchMemOpParams))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6166
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6167, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6166, 0, __PYX_ERR(1, 6166, __pyx_L1_error));

  /* "cuda/cuda.pyx":6168
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":6166
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__147)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__148)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6191
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6191, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 6191, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6191, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 6191, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 6191, 0, __PYX_ERR(1, 6191, __pyx_L1_error));

  /* "cuda/cuda.pyx":6192
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6193
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st__val);

    /* "cuda/cuda.pyx":6192
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":6195
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":6191
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6196
 *         else:
 *             self._ptr = <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6196, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 6196, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6196, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 6196, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 6196, 0, __PYX_ERR(1, 6196, __pyx_L1_error));

  /* "cuda/cuda.pyx":6197
 *             self._ptr = <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._paramArray is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).ctx))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 6197, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __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_4cuda_CUcontext *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":6196
 *         else:
 *             self._ptr = <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6198
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 6198, 0, __PYX_ERR(1, 6198, __pyx_L1_error));

  /* "cuda/cuda.pyx":6199
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):
 *         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/cuda.pyx":6200
 *     def __dealloc__(self):
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_paramArray);

    /* "cuda/cuda.pyx":6199
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):
 *         if self._paramArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramArray)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":6198
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":6201
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_6getPtr, "CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__149)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 6201, 0, __PYX_ERR(1, 6201, __pyx_L1_error));

  /* "cuda/cuda.pyx":6202
 *             free(self._paramArray)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6201
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6203
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 6203, 0, __PYX_ERR(1, 6203, __pyx_L1_error));

  /* "cuda/cuda.pyx":6204
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6205
 *     def __repr__(self):
 *         if self._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(1, 6205, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":6206
 *         if self._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/cuda.pyx":6207
 *             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_n_s_ctx_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6207, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6207, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_ctx, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6207, __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(1, 6207, __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)) __PYX_ERR(1, 6207, __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(1, 6207, __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/cuda.pyx":6206
 *         if self._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/cuda.pyx":6208
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6208, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6209
 *                 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(1, 6209, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_ctx_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_ctx_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_ctx_ValueError)) __PYX_ERR(1, 6209, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6209, __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/cuda.pyx":6206
 *         if self._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/cuda.pyx":6210
 *             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/cuda.pyx":6211
 *                 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_n_s_count_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6211, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6211, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_count, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6211, __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(1, 6211, __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)) __PYX_ERR(1, 6211, __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(1, 6211, __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/cuda.pyx":6210
 *             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/cuda.pyx":6212
 *             try:
 *                 str_list += ['count : ' + str(self.count)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['count : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6212, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6213
 *                 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(1, 6213, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_count_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_count_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_count_ValueError)) __PYX_ERR(1, 6213, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6213, __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/cuda.pyx":6210
 *             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/cuda.pyx":6214
 *             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/cuda.pyx":6215
 *                 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_n_s_paramArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6215, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6215, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_paramArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6215, __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(1, 6215, __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)) __PYX_ERR(1, 6215, __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(1, 6215, __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/cuda.pyx":6214
 *             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/cuda.pyx":6216
 *             try:
 *                 str_list += ['paramArray : ' + str(self.paramArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramArray : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6216, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6217
 *                 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(1, 6217, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_paramArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_paramArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_paramArray_ValueError)) __PYX_ERR(1, 6217, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6217, __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/cuda.pyx":6214
 *             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/cuda.pyx":6218
 *             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/cuda.pyx":6219
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6219, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6219, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6219, __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(1, 6219, __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)) __PYX_ERR(1, 6219, __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(1, 6219, __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/cuda.pyx":6218
 *             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/cuda.pyx":6220
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6220, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6221
 *                 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(1, 6221, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 6221, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6221, __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/cuda.pyx":6218
 *             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/cuda.pyx":6222
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6222, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":6204
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":6224
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def ctx(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":6203
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6225
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx___get__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6225, 0, __PYX_ERR(1, 6225, __pyx_L1_error));

  /* "cuda/cuda.pyx":6227
 *     @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/cuda.pyx":6225
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.ctx.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6228
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cctx;
  PyObject *__pyx_v_pctx = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6228, 0, __PYX_ERR(1, 6228, __pyx_L1_error));

  /* "cuda/cuda.pyx":6231
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6232
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 */
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":6231
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":6233
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6234
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":6235
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         else:
 *             pctx = int(CUcontext(ctx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6235, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":6233
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":6237
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         else:
 *             pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         self._ctx._ptr[0] = cctx
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6237, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6237, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":6238
 *         else:
 *             pctx = int(CUcontext(ctx))
 *             cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         self._ctx._ptr[0] = cctx
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6238, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":6239
 *             pctx = int(CUcontext(ctx))
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         self._ctx._ptr[0] = cctx             # <<<<<<<<<<<<<<
 *     @property
 *     def count(self):
 */
  (__pyx_v_self->_ctx->_ptr[0]) = __pyx_v_cctx;

  /* "cuda/cuda.pyx":6228
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 */

  /* 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.cuda.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_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6240
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         self._ctx._ptr[0] = cctx
 *     @property             # <<<<<<<<<<<<<<
 *     def count(self):
 *         return self._ptr[0].count
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count___get__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6240, 0, __PYX_ERR(1, 6240, __pyx_L1_error));

  /* "cuda/cuda.pyx":6242
 *     @property
 *     def count(self):
 *         return self._ptr[0].count             # <<<<<<<<<<<<<<
 *     @count.setter
 *     def count(self, unsigned int count):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).count); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6240
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         self._ctx._ptr[0] = cctx
 *     @property             # <<<<<<<<<<<<<<
 *     def count(self):
 *         return self._ptr[0].count
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6243
 *     def count(self):
 *         return self._ptr[0].count
 *     @count.setter             # <<<<<<<<<<<<<<
 *     def count(self, unsigned int count):
 *         self._ptr[0].count = count
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_count); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6244, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_count) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6243, 0, __PYX_ERR(1, 6243, __pyx_L1_error));

  /* "cuda/cuda.pyx":6245
 *     @count.setter
 *     def count(self, unsigned int count):
 *         self._ptr[0].count = count             # <<<<<<<<<<<<<<
 *     @property
 *     def paramArray(self):
 */
  (__pyx_v_self->_ptr[0]).count = __pyx_v_count;

  /* "cuda/cuda.pyx":6243
 *     def count(self):
 *         return self._ptr[0].count
 *     @count.setter             # <<<<<<<<<<<<<<
 *     def count(self, unsigned int count):
 *         self._ptr[0].count = count
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.count.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6246
 *     def count(self, unsigned int count):
 *         self._ptr[0].count = count
 *     @property             # <<<<<<<<<<<<<<
 *     def paramArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramArray + x*sizeof(ccuda.CUstreamBatchMemOpParams) for x in range(self._paramArray_length)]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_8genexpr7__pyx_v_x;
  PyObject *__pyx_8genexpr8__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6246, 0, __PYX_ERR(1, 6246, __pyx_L1_error));

  /* "cuda/cuda.pyx":6248
 *     @property
 *     def paramArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramArray + x*sizeof(ccuda.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(1, 6248, __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_8genexpr7__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).paramArray) + (__pyx_8genexpr7__pyx_v_x * (sizeof(CUstreamBatchMemOpParams))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6248, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 6248, __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/cuda.pyx":6249
 *     def paramArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramArray + x*sizeof(ccuda.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(1, 6249, __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 6249, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 6249, __pyx_L7_error)
      #else
      __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 6249, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_8genexpr8__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 6249, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_8genexpr8__pyx_v_arr) < 0) __PYX_ERR(1, 6249, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6249, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 6249, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_8genexpr8__pyx_v_arr); __pyx_8genexpr8__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_8genexpr8__pyx_v_arr); __pyx_8genexpr8__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/cuda.pyx":6246
 *     def count(self, unsigned int count):
 *         self._ptr[0].count = count
 *     @property             # <<<<<<<<<<<<<<
 *     def paramArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.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_8genexpr8__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6250
 *         arrs = [<void_ptr>self._ptr[0].paramArray + x*sizeof(ccuda.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_4cuda_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_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray_2__set__(struct __pyx_obj_4cuda_4cuda_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_TraceDeclarations
  __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;
  CUstreamBatchMemOpParams *__pyx_t_6;
  Py_ssize_t __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6250, 0, __PYX_ERR(1, 6250, __pyx_L1_error));

  /* "cuda/cuda.pyx":6252
 *     @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(1, 6252, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":6253
 *     def paramArray(self, val):
 *         if len(val) == 0:
 *             free(self._paramArray)             # <<<<<<<<<<<<<<
 *             self._paramArray_length = 0
 *             self._ptr[0].paramArray = NULL
 */
    free(__pyx_v_self->_paramArray);

    /* "cuda/cuda.pyx":6254
 *         if len(val) == 0:
 *             free(self._paramArray)
 *             self._paramArray_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].paramArray = NULL
 *         else:
 */
    __pyx_v_self->_paramArray_length = 0;

    /* "cuda/cuda.pyx":6255
 *             free(self._paramArray)
 *             self._paramArray_length = 0
 *             self._ptr[0].paramArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._paramArray_length != <size_t>len(val):
 */
    (__pyx_v_self->_ptr[0]).paramArray = NULL;

    /* "cuda/cuda.pyx":6252
 *     @paramArray.setter
 *     def paramArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramArray)
 *             self._paramArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":6257
 *             self._ptr[0].paramArray = NULL
 *         else:
 *             if self._paramArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramArray)
 *                 self._paramArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(ccuda.CUstreamBatchMemOpParams))
 */
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 6257, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/cuda.pyx":6258
 *         else:
 *             if self._paramArray_length != <size_t>len(val):
 *                 free(self._paramArray)             # <<<<<<<<<<<<<<
 *                 self._paramArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(ccuda.CUstreamBatchMemOpParams))
 *                 if self._paramArray is NULL:
 */
      free(__pyx_v_self->_paramArray);

      /* "cuda/cuda.pyx":6259
 *             if self._paramArray_length != <size_t>len(val):
 *                 free(self._paramArray)
 *                 self._paramArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(ccuda.CUstreamBatchMemOpParams))             # <<<<<<<<<<<<<<
 *                 if self._paramArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 6259, __pyx_L1_error)
      __pyx_v_self->_paramArray = ((CUstreamBatchMemOpParams *)calloc(__pyx_t_1, (sizeof(CUstreamBatchMemOpParams))));

      /* "cuda/cuda.pyx":6260
 *                 free(self._paramArray)
 *                 self._paramArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(ccuda.CUstreamBatchMemOpParams))
 *                 if self._paramArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))
 *                 self._paramArray_length = <size_t>len(val)
 */
      __pyx_t_2 = (__pyx_v_self->_paramArray == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/cuda.pyx":6261
 *                 self._paramArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(ccuda.CUstreamBatchMemOpParams))
 *                 if self._paramArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))             # <<<<<<<<<<<<<<
 *                 self._paramArray_length = <size_t>len(val)
 *                 self._ptr[0].paramArray = self._paramArray
 */
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 6261, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6261, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6261, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6261, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6261, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUstreamBatchMemOpParams))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6261, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6261, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6261, __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_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6261, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __PYX_ERR(1, 6261, __pyx_L1_error)

        /* "cuda/cuda.pyx":6260
 *                 free(self._paramArray)
 *                 self._paramArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(ccuda.CUstreamBatchMemOpParams))
 *                 if self._paramArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))
 *                 self._paramArray_length = <size_t>len(val)
 */
      }

      /* "cuda/cuda.pyx":6262
 *                 if self._paramArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))
 *                 self._paramArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._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(1, 6262, __pyx_L1_error)
      __pyx_v_self->_paramArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cuda.pyx":6263
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))
 *                 self._paramArray_length = <size_t>len(val)
 *                 self._ptr[0].paramArray = self._paramArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._ptr, sizeof(ccuda.CUstreamBatchMemOpParams))
 */
      __pyx_t_6 = __pyx_v_self->_paramArray;
      (__pyx_v_self->_ptr[0]).paramArray = __pyx_t_6;

      /* "cuda/cuda.pyx":6257
 *             self._ptr[0].paramArray = NULL
 *         else:
 *             if self._paramArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramArray)
 *                 self._paramArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(val), sizeof(ccuda.CUstreamBatchMemOpParams))
 */
    }

    /* "cuda/cuda.pyx":6264
 *                 self._paramArray_length = <size_t>len(val)
 *                 self._ptr[0].paramArray = self._paramArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._ptr, sizeof(ccuda.CUstreamBatchMemOpParams))
 * 
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 6264, __pyx_L1_error)
    __pyx_t_7 = __pyx_t_1;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_v_idx = __pyx_t_8;

      /* "cuda/cuda.pyx":6265
 *                 self._ptr[0].paramArray = self._paramArray
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._ptr, sizeof(ccuda.CUstreamBatchMemOpParams))             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 6265, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (void)(memcpy((&(__pyx_v_self->_paramArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams *)__pyx_t_5)->__pyx_base.__pyx_base._ptr, (sizeof(CUstreamBatchMemOpParams))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":6250
 *         arrs = [<void_ptr>self._ptr[0].paramArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.paramArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6267
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._ptr, sizeof(ccuda.CUstreamBatchMemOpParams))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6267, 0, __PYX_ERR(1, 6267, __pyx_L1_error));

  /* "cuda/cuda.pyx":6269
 *     @property
 *     def flags(self):
 *         return self._ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6267
 *                 string.memcpy(&self._paramArray[idx], (<CUstreamBatchMemOpParams>val[idx])._ptr, sizeof(ccuda.CUstreamBatchMemOpParams))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6270
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6271, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6270, 0, __PYX_ERR(1, 6270, __pyx_L1_error));

  /* "cuda/cuda.pyx":6272
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct0:
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":6270
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__150)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__151)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6287
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUasyncNotificationInfo_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct0_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct0_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6287, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 6287, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6287, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 6287, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct0.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct0___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct0 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct0___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 6287, 0, __PYX_ERR(1, 6287, __pyx_L1_error));

  /* "cuda/cuda.pyx":6288
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUasyncNotificationInfo_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUasyncNotificationInfo_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":6287
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUasyncNotificationInfo_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct0.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6290
 *         self._ptr = <ccuda.CUasyncNotificationInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct0_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct0_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6290, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 6290, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6290, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 6290, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct0.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct0_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct0 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct0_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 6290, 0, __PYX_ERR(1, 6290, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct0.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6292
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_12anon_struct0_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct0_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct0 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_12anon_struct0_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 6292, 0, __PYX_ERR(1, 6292, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct0.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":6294
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].info.overBudget
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct0_6getPtr, "anon_struct0.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct0_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct0_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct0_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct0_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct0 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct0_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__152)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 6294, 0, __PYX_ERR(1, 6294, __pyx_L1_error));

  /* "cuda/cuda.pyx":6295
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].info.overBudget             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).info.overBudget))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6294
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].info.overBudget
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct0.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6296
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].info.overBudget
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct0_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct0_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct0 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct0_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 6296, 0, __PYX_ERR(1, 6296, __pyx_L1_error));

  /* "cuda/cuda.pyx":6297
 *         return <void_ptr>&self._ptr[0].info.overBudget
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6298
 *     def __repr__(self):
 *         if self._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(1, 6298, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":6299
 *         if self._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/cuda.pyx":6300
 *             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_n_s_bytesOverBudget_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6300, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6300, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_bytesOverBudget, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6300, __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(1, 6300, __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)) __PYX_ERR(1, 6300, __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(1, 6300, __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/cuda.pyx":6299
 *         if self._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/cuda.pyx":6301
 *             try:
 *                 str_list += ['bytesOverBudget : ' + str(self.bytesOverBudget)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesOverBudget : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct0.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 6301, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6302
 *                 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(1, 6302, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_bytesOverBudget_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_bytesOverBudget_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_bytesOverBudget_ValueError)) __PYX_ERR(1, 6302, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6302, __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/cuda.pyx":6299
 *         if self._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/cuda.pyx":6303
 *             except ValueError:
 *                 str_list += ['bytesOverBudget : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6303, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":6297
 *         return <void_ptr>&self._ptr[0].info.overBudget
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":6305
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def bytesOverBudget(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":6296
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].info.overBudget
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6306
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def bytesOverBudget(self):
 *         return self._ptr[0].info.overBudget.bytesOverBudget
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct0_15bytesOverBudget_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct0_15bytesOverBudget___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct0 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct0_15bytesOverBudget___get__(struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6306, 0, __PYX_ERR(1, 6306, __pyx_L1_error));

  /* "cuda/cuda.pyx":6308
 *     @property
 *     def bytesOverBudget(self):
 *         return self._ptr[0].info.overBudget.bytesOverBudget             # <<<<<<<<<<<<<<
 *     @bytesOverBudget.setter
 *     def bytesOverBudget(self, unsigned long long bytesOverBudget):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).info.overBudget.bytesOverBudget); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6306
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def bytesOverBudget(self):
 *         return self._ptr[0].info.overBudget.bytesOverBudget
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct0.bytesOverBudget.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6309
 *     def bytesOverBudget(self):
 *         return self._ptr[0].info.overBudget.bytesOverBudget
 *     @bytesOverBudget.setter             # <<<<<<<<<<<<<<
 *     def bytesOverBudget(self, unsigned long long bytesOverBudget):
 *         self._ptr[0].info.overBudget.bytesOverBudget = bytesOverBudget
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct0_15bytesOverBudget_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_bytesOverBudget); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_bytesOverBudget); if (unlikely((__pyx_v_bytesOverBudget == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6310, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct0.bytesOverBudget.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct0_15bytesOverBudget_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_12anon_struct0_15bytesOverBudget_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_bytesOverBudget) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6309, 0, __PYX_ERR(1, 6309, __pyx_L1_error));

  /* "cuda/cuda.pyx":6311
 *     @bytesOverBudget.setter
 *     def bytesOverBudget(self, unsigned long long bytesOverBudget):
 *         self._ptr[0].info.overBudget.bytesOverBudget = bytesOverBudget             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union2:
 */
  (__pyx_v_self->_ptr[0]).info.overBudget.bytesOverBudget = __pyx_v_bytesOverBudget;

  /* "cuda/cuda.pyx":6309
 *     def bytesOverBudget(self):
 *         return self._ptr[0].info.overBudget.bytesOverBudget
 *     @bytesOverBudget.setter             # <<<<<<<<<<<<<<
 *     def bytesOverBudget(self, unsigned long long bytesOverBudget):
 *         self._ptr[0].info.overBudget.bytesOverBudget = bytesOverBudget
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct0.bytesOverBudget.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_12anon_struct0_10__reduce_cython__, "anon_struct0.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct0_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct0_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct0_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct0_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct0 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct0_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__153)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct0.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct0_12__setstate_cython__, "anon_struct0.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct0_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct0_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct0_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct0.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct0_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct0 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct0_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__154)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct0.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6326
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUasyncNotificationInfo_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union2_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11anon_union2_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6326, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 6326, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6326, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 6326, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union2.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union2___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_union2 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union2___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 6326, 0, __PYX_ERR(1, 6326, __pyx_L1_error));

  /* "cuda/cuda.pyx":6327
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUasyncNotificationInfo_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUasyncNotificationInfo_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":6326
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUasyncNotificationInfo_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union2.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6329
 *         self._ptr = <ccuda.CUasyncNotificationInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._overBudget = anon_struct0(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union2_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11anon_union2_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6329, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 6329, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6329, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 6329, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union2.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union2_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_union2 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union2_2__init__(struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 6329, 0, __PYX_ERR(1, 6329, __pyx_L1_error));

  /* "cuda/cuda.pyx":6330
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._overBudget = anon_struct0(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 6330, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct0), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_overBudget);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_overBudget);
  __pyx_v_self->_overBudget = ((struct __pyx_obj_4cuda_4cuda_anon_struct0 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":6329
 *         self._ptr = <ccuda.CUasyncNotificationInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._overBudget = anon_struct0(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

  /* 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.cuda.anon_union2.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6331
 *     def __init__(self, void_ptr _ptr):
 *         self._overBudget = anon_struct0(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_11anon_union2_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_11anon_union2_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_union2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_11anon_union2_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 6331, 0, __PYX_ERR(1, 6331, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_union2.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":6333
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].info
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union2_6getPtr, "anon_union2.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union2_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union2_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union2_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union2_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_union2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union2_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__155)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 6333, 0, __PYX_ERR(1, 6333, __pyx_L1_error));

  /* "cuda/cuda.pyx":6334
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].info             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).info))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6333
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].info
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union2.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6335
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].info
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union2_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union2_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_union2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union2_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_8genexpr9__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 6335, 0, __PYX_ERR(1, 6335, __pyx_L1_error));

  /* "cuda/cuda.pyx":6336
 *         return <void_ptr>&self._ptr[0].info
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6337
 *     def __repr__(self):
 *         if self._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(1, 6337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":6338
 *         if self._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/cuda.pyx":6339
 *             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(1, 6339, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_overBudget_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 6339, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6339, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 6339, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_7))) {
            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
            if (likely(__pyx_t_8)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
              __Pyx_INCREF(__pyx_t_8);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_7, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6339, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 6339, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 6339, __pyx_L12_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          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_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 6339, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 6339, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6339, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 6339, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 6339, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6339, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_11(__pyx_t_7);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 6339, __pyx_L12_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_8genexpr9__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_8genexpr9__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6339, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 6339, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_line); __pyx_8genexpr9__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_line); __pyx_8genexpr9__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 6339, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_overBudget, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6339, __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(1, 6339, __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)) __PYX_ERR(1, 6339, __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(1, 6339, __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/cuda.pyx":6338
 *         if self._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;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":6340
 *             try:
 *                 str_list += ['overBudget :\n' + '\n'.join(['    ' + line for line in str(self.overBudget).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['overBudget : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.anon_union2.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(1, 6340, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":6341
 *                 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_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6341, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_overBudget_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_overBudget_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_overBudget_ValueError)) __PYX_ERR(1, 6341, __pyx_L6_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 6341, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":6338
 *         if self._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/cuda.pyx":6342
 *             except ValueError:
 *                 str_list += ['overBudget : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":6336
 *         return <void_ptr>&self._ptr[0].info
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":6344
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def overBudget(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":6335
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].info
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.anon_union2.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_8genexpr9__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6345
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def overBudget(self):
 *         return self._overBudget
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union2_10overBudget_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union2_10overBudget___get__(((struct __pyx_obj_4cuda_4cuda_anon_union2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union2_10overBudget___get__(struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6345, 0, __PYX_ERR(1, 6345, __pyx_L1_error));

  /* "cuda/cuda.pyx":6347
 *     @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/cuda.pyx":6345
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def overBudget(self):
 *         return self._overBudget
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union2.overBudget.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6348
 *     def overBudget(self):
 *         return self._overBudget
 *     @overBudget.setter             # <<<<<<<<<<<<<<
 *     def overBudget(self, overBudget not None : anon_struct0):
 *         string.memcpy(&self._ptr[0].info.overBudget, <ccuda.anon_struct0*><void_ptr>overBudget.getPtr(), sizeof(self._ptr[0].info.overBudget))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union2_10overBudget_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_overBudget); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct0, 0, "overBudget", 0))) __PYX_ERR(1, 6349, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union2_10overBudget_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union2 *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct0 *)__pyx_v_overBudget));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union2_10overBudget_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct0 *__pyx_v_overBudget) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6348, 0, __PYX_ERR(1, 6348, __pyx_L1_error));

  /* "cuda/cuda.pyx":6350
 *     @overBudget.setter
 *     def overBudget(self, overBudget not None : anon_struct0):
 *         string.memcpy(&self._ptr[0].info.overBudget, <ccuda.anon_struct0*><void_ptr>overBudget.getPtr(), sizeof(self._ptr[0].info.overBudget))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUasyncNotificationInfo_st:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_overBudget), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6350, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6350, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).info.overBudget), ((struct anon_struct0 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).info.overBudget))));

  /* "cuda/cuda.pyx":6348
 *     def overBudget(self):
 *         return self._overBudget
 *     @overBudget.setter             # <<<<<<<<<<<<<<
 *     def overBudget(self, overBudget not None : anon_struct0):
 *         string.memcpy(&self._ptr[0].info.overBudget, <ccuda.anon_struct0*><void_ptr>overBudget.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.anon_union2.overBudget.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_11anon_union2_10__reduce_cython__, "anon_union2.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union2_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union2_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union2_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union2_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union2_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__156)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union2.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union2_12__setstate_cython__, "anon_union2.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union2_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union2_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union2_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union2.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union2_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union2 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union2_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__157)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union2.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6369
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUasyncNotificationInfo_st *>calloc(1, sizeof(ccuda.CUasyncNotificationInfo_st))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6369, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 6369, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6369, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 6369, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUasyncNotificationInfo_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  struct CUasyncNotificationInfo_st *__pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 6369, 0, __PYX_ERR(1, 6369, __pyx_L1_error));

  /* "cuda/cuda.pyx":6370
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUasyncNotificationInfo_st *>calloc(1, sizeof(ccuda.CUasyncNotificationInfo_st))
 *             self._ptr = self._val_ptr
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6371
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUasyncNotificationInfo_st *>calloc(1, sizeof(ccuda.CUasyncNotificationInfo_st))             # <<<<<<<<<<<<<<
 *             self._ptr = self._val_ptr
 *         else:
 */
    __pyx_v_self->_val_ptr = ((struct CUasyncNotificationInfo_st *)calloc(1, (sizeof(struct CUasyncNotificationInfo_st))));

    /* "cuda/cuda.pyx":6372
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUasyncNotificationInfo_st *>calloc(1, sizeof(ccuda.CUasyncNotificationInfo_st))
 *             self._ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUasyncNotificationInfo_st *>_ptr
 */
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_ptr = __pyx_t_2;

    /* "cuda/cuda.pyx":6370
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUasyncNotificationInfo_st *>calloc(1, sizeof(ccuda.CUasyncNotificationInfo_st))
 *             self._ptr = self._val_ptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":6374
 *             self._ptr = self._val_ptr
 *         else:
 *             self._ptr = <ccuda.CUasyncNotificationInfo_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._info = anon_union2(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUasyncNotificationInfo_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":6369
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUasyncNotificationInfo_st *>calloc(1, sizeof(ccuda.CUasyncNotificationInfo_st))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUasyncNotificationInfo_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6375
 *         else:
 *             self._ptr = <ccuda.CUasyncNotificationInfo_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._info = anon_union2(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6375, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 6375, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6375, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 6375, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUasyncNotificationInfo_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 6375, 0, __PYX_ERR(1, 6375, __pyx_L1_error));

  /* "cuda/cuda.pyx":6376
 *             self._ptr = <ccuda.CUasyncNotificationInfo_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._info = anon_union2(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 6376, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union2), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_info);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_info);
  __pyx_v_self->_info = ((struct __pyx_obj_4cuda_4cuda_anon_union2 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":6375
 *         else:
 *             self._ptr = <ccuda.CUasyncNotificationInfo_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._info = anon_union2(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUasyncNotificationInfo_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6377
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._info = anon_union2(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_26CUasyncNotificationInfo_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 6377, 0, __PYX_ERR(1, 6377, __pyx_L1_error));

  /* "cuda/cuda.pyx":6378
 *         self._info = anon_union2(_ptr=<void_ptr>self._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/cuda.pyx":6379
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_val_ptr);

    /* "cuda/cuda.pyx":6378
 *         self._info = anon_union2(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":6377
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._info = anon_union2(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUasyncNotificationInfo_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":6380
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUasyncNotificationInfo_st_6getPtr, "CUasyncNotificationInfo_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUasyncNotificationInfo_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUasyncNotificationInfo_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__158)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 6380, 0, __PYX_ERR(1, 6380, __pyx_L1_error));

  /* "cuda/cuda.pyx":6381
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6380
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUasyncNotificationInfo_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6382
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUasyncNotificationInfo_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr10__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 6382, 0, __PYX_ERR(1, 6382, __pyx_L1_error));

  /* "cuda/cuda.pyx":6383
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6384
 *     def __repr__(self):
 *         if self._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(1, 6384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":6385
 *         if self._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/cuda.pyx":6386
 *             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_n_s_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6386, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6386, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6386, __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(1, 6386, __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)) __PYX_ERR(1, 6386, __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(1, 6386, __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/cuda.pyx":6385
 *         if self._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/cuda.pyx":6387
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUasyncNotificationInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 6387, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6388
 *                 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(1, 6388, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_type_ValueError)) __PYX_ERR(1, 6388, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6388, __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/cuda.pyx":6385
 *         if self._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/cuda.pyx":6389
 *             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/cuda.pyx":6390
 *                 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(1, 6390, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_info_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6390, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6390, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6390, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6390, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6390, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 6390, __pyx_L20_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 6390, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 6390, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6390, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 6390, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 6390, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6390, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 6390, __pyx_L20_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr10__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr10__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6390, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 6390, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr10__pyx_v_line); __pyx_9genexpr10__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_9genexpr10__pyx_v_line); __pyx_9genexpr10__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6390, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_info, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6390, __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(1, 6390, __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)) __PYX_ERR(1, 6390, __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(1, 6390, __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/cuda.pyx":6389
 *             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/cuda.pyx":6391
 *             try:
 *                 str_list += ['info :\n' + '\n'.join(['    ' + line for line in str(self.info).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['info : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUasyncNotificationInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 6391, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":6392
 *                 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(1, 6392, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_info_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_info_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_info_ValueError)) __PYX_ERR(1, 6392, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6392, __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/cuda.pyx":6389
 *             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/cuda.pyx":6393
 *             except ValueError:
 *                 str_list += ['info : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":6383
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":6395
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":6382
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.CUasyncNotificationInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr10__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6396
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUasyncNotificationType(self._ptr[0].type)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUasyncNotificationInfo_st_4type___get__(((struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6396, 0, __PYX_ERR(1, 6396, __pyx_L1_error));

  /* "cuda/cuda.pyx":6398
 *     @property
 *     def type(self):
 *         return CUasyncNotificationType(self._ptr[0].type)             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUasyncNotificationType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUasyncNotificationType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUasyncNotificationType_enum((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6398, __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/cuda.pyx":6396
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUasyncNotificationType(self._ptr[0].type)
 */

  /* 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.cuda.CUasyncNotificationInfo_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6399
 *     def type(self):
 *         return CUasyncNotificationType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUasyncNotificationType):
 *         self._ptr[0].type = type.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 6400, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_4type_2__set__(((struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_type));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6399, 0, __PYX_ERR(1, 6399, __pyx_L1_error));

  /* "cuda/cuda.pyx":6401
 *     @type.setter
 *     def type(self, type not None : CUasyncNotificationType):
 *         self._ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def info(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUasyncNotificationType_enum)__Pyx_PyInt_As_enum__CUasyncNotificationType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6401, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).type = __pyx_t_2;

  /* "cuda/cuda.pyx":6399
 *     def type(self):
 *         return CUasyncNotificationType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUasyncNotificationType):
 *         self._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.cuda.CUasyncNotificationInfo_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6402
 *     def type(self, type not None : CUasyncNotificationType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def info(self):
 *         return self._info
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_4info_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUasyncNotificationInfo_st_4info___get__(((struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_4info___get__(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6402, 0, __PYX_ERR(1, 6402, __pyx_L1_error));

  /* "cuda/cuda.pyx":6404
 *     @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/cuda.pyx":6402
 *     def type(self, type not None : CUasyncNotificationType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def info(self):
 *         return self._info
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUasyncNotificationInfo_st.info.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6405
 *     def info(self):
 *         return self._info
 *     @info.setter             # <<<<<<<<<<<<<<
 *     def info(self, info not None : anon_union2):
 *         string.memcpy(&self._ptr[0].info, <ccuda.anon_union2*><void_ptr>info.getPtr(), sizeof(self._ptr[0].info))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_4info_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_info); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_union2, 0, "info", 0))) __PYX_ERR(1, 6406, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_4info_2__set__(((struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_union2 *)__pyx_v_info));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_4info_2__set__(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union2 *__pyx_v_info) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6405, 0, __PYX_ERR(1, 6405, __pyx_L1_error));

  /* "cuda/cuda.pyx":6407
 *     @info.setter
 *     def info(self, info not None : anon_union2):
 *         string.memcpy(&self._ptr[0].info, <ccuda.anon_union2*><void_ptr>info.getPtr(), sizeof(self._ptr[0].info))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdevprop_st:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_info), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6407, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).info), ((union anon_union2 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).info))));

  /* "cuda/cuda.pyx":6405
 *     def info(self):
 *         return self._info
 *     @info.setter             # <<<<<<<<<<<<<<
 *     def info(self, info not None : anon_union2):
 *         string.memcpy(&self._ptr[0].info, <ccuda.anon_union2*><void_ptr>info.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUasyncNotificationInfo_st.info.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_26CUasyncNotificationInfo_st_10__reduce_cython__, "CUasyncNotificationInfo_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUasyncNotificationInfo_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUasyncNotificationInfo_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__159)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUasyncNotificationInfo_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUasyncNotificationInfo_st_12__setstate_cython__, "CUasyncNotificationInfo_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUasyncNotificationInfo_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUasyncNotificationInfo_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUasyncNotificationInfo_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUasyncNotificationInfo_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__160)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUasyncNotificationInfo_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6442
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12CUdevprop_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12CUdevprop_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6442, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 6442, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6442, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 6442, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUdevprop_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12CUdevprop_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 6442, 0, __PYX_ERR(1, 6442, __pyx_L1_error));

  /* "cuda/cuda.pyx":6443
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6444
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUdevprop_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUdevprop_st__val);

    /* "cuda/cuda.pyx":6443
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":6446
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUdevprop_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUdevprop_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":6442
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6447
 *         else:
 *             self._ptr = <ccuda.CUdevprop_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12CUdevprop_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12CUdevprop_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6447, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 6447, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6447, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 6447, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUdevprop_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 6447, 0, __PYX_ERR(1, 6447, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6449
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_12CUdevprop_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_12CUdevprop_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_12CUdevprop_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 6449, 0, __PYX_ERR(1, 6449, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUdevprop_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":6451
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUdevprop_st_6getPtr, "CUdevprop_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12CUdevprop_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUdevprop_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUdevprop_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUdevprop_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__161)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 6451, 0, __PYX_ERR(1, 6451, __pyx_L1_error));

  /* "cuda/cuda.pyx":6452
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6451
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6453
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUdevprop_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUdevprop_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 6453, 0, __PYX_ERR(1, 6453, __pyx_L1_error));

  /* "cuda/cuda.pyx":6454
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6455
 *     def __repr__(self):
 *         if self._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(1, 6455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":6456
 *         if self._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/cuda.pyx":6457
 *             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_n_s_maxThreadsPerBlock_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6457, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6457, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_maxThreadsPerBlock, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6457, __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(1, 6457, __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)) __PYX_ERR(1, 6457, __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(1, 6457, __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/cuda.pyx":6456
 *         if self._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/cuda.pyx":6458
 *             try:
 *                 str_list += ['maxThreadsPerBlock : ' + str(self.maxThreadsPerBlock)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxThreadsPerBlock : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 6458, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6459
 *                 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(1, 6459, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_maxThreadsPerBlock_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_maxThreadsPerBlock_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_maxThreadsPerBlock_ValueError)) __PYX_ERR(1, 6459, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6459, __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/cuda.pyx":6456
 *         if self._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/cuda.pyx":6460
 *             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/cuda.pyx":6461
 *                 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_n_s_maxThreadsDim_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6461, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6461, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_maxThreadsDim, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6461, __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(1, 6461, __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)) __PYX_ERR(1, 6461, __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(1, 6461, __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/cuda.pyx":6460
 *             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/cuda.pyx":6462
 *             try:
 *                 str_list += ['maxThreadsDim : ' + str(self.maxThreadsDim)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxThreadsDim : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 6462, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6463
 *                 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(1, 6463, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_maxThreadsDim_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_maxThreadsDim_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_maxThreadsDim_ValueError)) __PYX_ERR(1, 6463, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6463, __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/cuda.pyx":6460
 *             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/cuda.pyx":6464
 *             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/cuda.pyx":6465
 *                 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_n_s_maxGridSize_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6465, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6465, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_maxGridSize, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6465, __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(1, 6465, __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)) __PYX_ERR(1, 6465, __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(1, 6465, __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/cuda.pyx":6464
 *             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/cuda.pyx":6466
 *             try:
 *                 str_list += ['maxGridSize : ' + str(self.maxGridSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxGridSize : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 6466, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6467
 *                 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(1, 6467, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_maxGridSize_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_maxGridSize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_maxGridSize_ValueError)) __PYX_ERR(1, 6467, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6467, __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/cuda.pyx":6464
 *             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/cuda.pyx":6468
 *             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/cuda.pyx":6469
 *                 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_n_s_sharedMemPerBlock_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6469, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6469, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_sharedMemPerBlock, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6469, __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(1, 6469, __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)) __PYX_ERR(1, 6469, __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(1, 6469, __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/cuda.pyx":6468
 *             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/cuda.pyx":6470
 *             try:
 *                 str_list += ['sharedMemPerBlock : ' + str(self.sharedMemPerBlock)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemPerBlock : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 6470, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6471
 *                 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(1, 6471, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_sharedMemPerBlock_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_sharedMemPerBlock_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_sharedMemPerBlock_ValueError)) __PYX_ERR(1, 6471, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6471, __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/cuda.pyx":6468
 *             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/cuda.pyx":6472
 *             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/cuda.pyx":6473
 *                 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_n_s_totalConstantMemory_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6473, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6473, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_totalConstantMemory, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6473, __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(1, 6473, __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)) __PYX_ERR(1, 6473, __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(1, 6473, __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/cuda.pyx":6472
 *             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/cuda.pyx":6474
 *             try:
 *                 str_list += ['totalConstantMemory : ' + str(self.totalConstantMemory)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['totalConstantMemory : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 6474, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6475
 *                 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(1, 6475, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_totalConstantMemory_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_totalConstantMemory_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_totalConstantMemory_ValueError)) __PYX_ERR(1, 6475, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6475, __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/cuda.pyx":6472
 *             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/cuda.pyx":6476
 *             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/cuda.pyx":6477
 *                 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_n_s_SIMDWidth_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6477, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6477, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_SIMDWidth, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6477, __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(1, 6477, __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)) __PYX_ERR(1, 6477, __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(1, 6477, __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/cuda.pyx":6476
 *             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/cuda.pyx":6478
 *             try:
 *                 str_list += ['SIMDWidth : ' + str(self.SIMDWidth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['SIMDWidth : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 6478, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6479
 *                 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(1, 6479, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_SIMDWidth_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_SIMDWidth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_SIMDWidth_ValueError)) __PYX_ERR(1, 6479, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6479, __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/cuda.pyx":6476
 *             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/cuda.pyx":6480
 *             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/cuda.pyx":6481
 *                 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_n_s_memPitch_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6481, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6481, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_memPitch, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6481, __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(1, 6481, __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)) __PYX_ERR(1, 6481, __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(1, 6481, __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/cuda.pyx":6480
 *             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/cuda.pyx":6482
 *             try:
 *                 str_list += ['memPitch : ' + str(self.memPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memPitch : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 6482, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6483
 *                 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(1, 6483, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_memPitch_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_memPitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_memPitch_ValueError)) __PYX_ERR(1, 6483, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6483, __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/cuda.pyx":6480
 *             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/cuda.pyx":6484
 *             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/cuda.pyx":6485
 *                 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_n_s_regsPerBlock_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6485, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6485, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_regsPerBlock, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6485, __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(1, 6485, __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)) __PYX_ERR(1, 6485, __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(1, 6485, __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/cuda.pyx":6484
 *             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/cuda.pyx":6486
 *             try:
 *                 str_list += ['regsPerBlock : ' + str(self.regsPerBlock)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['regsPerBlock : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 6486, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6487
 *                 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(1, 6487, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_regsPerBlock_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_regsPerBlock_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_regsPerBlock_ValueError)) __PYX_ERR(1, 6487, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6487, __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/cuda.pyx":6484
 *             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/cuda.pyx":6488
 *             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/cuda.pyx":6489
 *                 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_n_s_clockRate_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6489, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6489, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_clockRate, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6489, __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(1, 6489, __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)) __PYX_ERR(1, 6489, __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(1, 6489, __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/cuda.pyx":6488
 *             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/cuda.pyx":6490
 *             try:
 *                 str_list += ['clockRate : ' + str(self.clockRate)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['clockRate : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 6490, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6491
 *                 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(1, 6491, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_clockRate_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_clockRate_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_clockRate_ValueError)) __PYX_ERR(1, 6491, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6491, __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/cuda.pyx":6488
 *             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/cuda.pyx":6492
 *             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/cuda.pyx":6493
 *                 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_n_s_textureAlign_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6493, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6493, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_textureAlign, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6493, __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(1, 6493, __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)) __PYX_ERR(1, 6493, __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(1, 6493, __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/cuda.pyx":6492
 *             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/cuda.pyx":6494
 *             try:
 *                 str_list += ['textureAlign : ' + str(self.textureAlign)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['textureAlign : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 6494, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6495
 *                 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(1, 6495, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_textureAlign_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_textureAlign_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_textureAlign_ValueError)) __PYX_ERR(1, 6495, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6495, __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/cuda.pyx":6492
 *             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/cuda.pyx":6496
 *             except ValueError:
 *                 str_list += ['textureAlign : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":6454
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":6498
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def maxThreadsPerBlock(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":6453
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6499
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def maxThreadsPerBlock(self):
 *         return self._ptr[0].maxThreadsPerBlock
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUdevprop_st_18maxThreadsPerBlock_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUdevprop_st_18maxThreadsPerBlock___get__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_18maxThreadsPerBlock___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6499, 0, __PYX_ERR(1, 6499, __pyx_L1_error));

  /* "cuda/cuda.pyx":6501
 *     @property
 *     def maxThreadsPerBlock(self):
 *         return self._ptr[0].maxThreadsPerBlock             # <<<<<<<<<<<<<<
 *     @maxThreadsPerBlock.setter
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).maxThreadsPerBlock); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6499
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def maxThreadsPerBlock(self):
 *         return self._ptr[0].maxThreadsPerBlock
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.maxThreadsPerBlock.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6502
 *     def maxThreadsPerBlock(self):
 *         return self._ptr[0].maxThreadsPerBlock
 *     @maxThreadsPerBlock.setter             # <<<<<<<<<<<<<<
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):
 *         self._ptr[0].maxThreadsPerBlock = maxThreadsPerBlock
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12CUdevprop_st_18maxThreadsPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxThreadsPerBlock); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_maxThreadsPerBlock); if (unlikely((__pyx_v_maxThreadsPerBlock == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6503, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.maxThreadsPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUdevprop_st_18maxThreadsPerBlock_2__set__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self), ((int)__pyx_v_maxThreadsPerBlock));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_18maxThreadsPerBlock_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, int __pyx_v_maxThreadsPerBlock) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6502, 0, __PYX_ERR(1, 6502, __pyx_L1_error));

  /* "cuda/cuda.pyx":6504
 *     @maxThreadsPerBlock.setter
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):
 *         self._ptr[0].maxThreadsPerBlock = maxThreadsPerBlock             # <<<<<<<<<<<<<<
 *     @property
 *     def maxThreadsDim(self):
 */
  (__pyx_v_self->_ptr[0]).maxThreadsPerBlock = __pyx_v_maxThreadsPerBlock;

  /* "cuda/cuda.pyx":6502
 *     def maxThreadsPerBlock(self):
 *         return self._ptr[0].maxThreadsPerBlock
 *     @maxThreadsPerBlock.setter             # <<<<<<<<<<<<<<
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):
 *         self._ptr[0].maxThreadsPerBlock = maxThreadsPerBlock
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.maxThreadsPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6505
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):
 *         self._ptr[0].maxThreadsPerBlock = maxThreadsPerBlock
 *     @property             # <<<<<<<<<<<<<<
 *     def maxThreadsDim(self):
 *         return self._ptr[0].maxThreadsDim
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUdevprop_st_13maxThreadsDim_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUdevprop_st_13maxThreadsDim___get__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_13maxThreadsDim___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6505, 0, __PYX_ERR(1, 6505, __pyx_L1_error));

  /* "cuda/cuda.pyx":6507
 *     @property
 *     def maxThreadsDim(self):
 *         return self._ptr[0].maxThreadsDim             # <<<<<<<<<<<<<<
 *     @maxThreadsDim.setter
 *     def maxThreadsDim(self, maxThreadsDim):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).maxThreadsDim, 3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6505
 *     def maxThreadsPerBlock(self, int maxThreadsPerBlock):
 *         self._ptr[0].maxThreadsPerBlock = maxThreadsPerBlock
 *     @property             # <<<<<<<<<<<<<<
 *     def maxThreadsDim(self):
 *         return self._ptr[0].maxThreadsDim
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.maxThreadsDim.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6508
 *     def maxThreadsDim(self):
 *         return self._ptr[0].maxThreadsDim
 *     @maxThreadsDim.setter             # <<<<<<<<<<<<<<
 *     def maxThreadsDim(self, maxThreadsDim):
 *         self._ptr[0].maxThreadsDim = maxThreadsDim
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12CUdevprop_st_13maxThreadsDim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxThreadsDim); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_12CUdevprop_st_13maxThreadsDim_2__set__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self), ((PyObject *)__pyx_v_maxThreadsDim));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_13maxThreadsDim_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, PyObject *__pyx_v_maxThreadsDim) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6508, 0, __PYX_ERR(1, 6508, __pyx_L1_error));

  /* "cuda/cuda.pyx":6510
 *     @maxThreadsDim.setter
 *     def maxThreadsDim(self, maxThreadsDim):
 *         self._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(1, 6510, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxThreadsDim[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxThreadsDim[0]) * (3));

  /* "cuda/cuda.pyx":6508
 *     def maxThreadsDim(self):
 *         return self._ptr[0].maxThreadsDim
 *     @maxThreadsDim.setter             # <<<<<<<<<<<<<<
 *     def maxThreadsDim(self, maxThreadsDim):
 *         self._ptr[0].maxThreadsDim = maxThreadsDim
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.maxThreadsDim.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6511
 *     def maxThreadsDim(self, maxThreadsDim):
 *         self._ptr[0].maxThreadsDim = maxThreadsDim
 *     @property             # <<<<<<<<<<<<<<
 *     def maxGridSize(self):
 *         return self._ptr[0].maxGridSize
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUdevprop_st_11maxGridSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUdevprop_st_11maxGridSize___get__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_11maxGridSize___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6511, 0, __PYX_ERR(1, 6511, __pyx_L1_error));

  /* "cuda/cuda.pyx":6513
 *     @property
 *     def maxGridSize(self):
 *         return self._ptr[0].maxGridSize             # <<<<<<<<<<<<<<
 *     @maxGridSize.setter
 *     def maxGridSize(self, maxGridSize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).maxGridSize, 3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6511
 *     def maxThreadsDim(self, maxThreadsDim):
 *         self._ptr[0].maxThreadsDim = maxThreadsDim
 *     @property             # <<<<<<<<<<<<<<
 *     def maxGridSize(self):
 *         return self._ptr[0].maxGridSize
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.maxGridSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6514
 *     def maxGridSize(self):
 *         return self._ptr[0].maxGridSize
 *     @maxGridSize.setter             # <<<<<<<<<<<<<<
 *     def maxGridSize(self, maxGridSize):
 *         self._ptr[0].maxGridSize = maxGridSize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12CUdevprop_st_11maxGridSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_maxGridSize); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_12CUdevprop_st_11maxGridSize_2__set__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self), ((PyObject *)__pyx_v_maxGridSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_11maxGridSize_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, PyObject *__pyx_v_maxGridSize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6514, 0, __PYX_ERR(1, 6514, __pyx_L1_error));

  /* "cuda/cuda.pyx":6516
 *     @maxGridSize.setter
 *     def maxGridSize(self, maxGridSize):
 *         self._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(1, 6516, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).maxGridSize[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).maxGridSize[0]) * (3));

  /* "cuda/cuda.pyx":6514
 *     def maxGridSize(self):
 *         return self._ptr[0].maxGridSize
 *     @maxGridSize.setter             # <<<<<<<<<<<<<<
 *     def maxGridSize(self, maxGridSize):
 *         self._ptr[0].maxGridSize = maxGridSize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.maxGridSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6517
 *     def maxGridSize(self, maxGridSize):
 *         self._ptr[0].maxGridSize = maxGridSize
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemPerBlock(self):
 *         return self._ptr[0].sharedMemPerBlock
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUdevprop_st_17sharedMemPerBlock_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUdevprop_st_17sharedMemPerBlock___get__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_17sharedMemPerBlock___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6517, 0, __PYX_ERR(1, 6517, __pyx_L1_error));

  /* "cuda/cuda.pyx":6519
 *     @property
 *     def sharedMemPerBlock(self):
 *         return self._ptr[0].sharedMemPerBlock             # <<<<<<<<<<<<<<
 *     @sharedMemPerBlock.setter
 *     def sharedMemPerBlock(self, int sharedMemPerBlock):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).sharedMemPerBlock); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6517
 *     def maxGridSize(self, maxGridSize):
 *         self._ptr[0].maxGridSize = maxGridSize
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemPerBlock(self):
 *         return self._ptr[0].sharedMemPerBlock
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.sharedMemPerBlock.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6520
 *     def sharedMemPerBlock(self):
 *         return self._ptr[0].sharedMemPerBlock
 *     @sharedMemPerBlock.setter             # <<<<<<<<<<<<<<
 *     def sharedMemPerBlock(self, int sharedMemPerBlock):
 *         self._ptr[0].sharedMemPerBlock = sharedMemPerBlock
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12CUdevprop_st_17sharedMemPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemPerBlock); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_sharedMemPerBlock); if (unlikely((__pyx_v_sharedMemPerBlock == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6521, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.sharedMemPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUdevprop_st_17sharedMemPerBlock_2__set__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self), ((int)__pyx_v_sharedMemPerBlock));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_17sharedMemPerBlock_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, int __pyx_v_sharedMemPerBlock) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6520, 0, __PYX_ERR(1, 6520, __pyx_L1_error));

  /* "cuda/cuda.pyx":6522
 *     @sharedMemPerBlock.setter
 *     def sharedMemPerBlock(self, int sharedMemPerBlock):
 *         self._ptr[0].sharedMemPerBlock = sharedMemPerBlock             # <<<<<<<<<<<<<<
 *     @property
 *     def totalConstantMemory(self):
 */
  (__pyx_v_self->_ptr[0]).sharedMemPerBlock = __pyx_v_sharedMemPerBlock;

  /* "cuda/cuda.pyx":6520
 *     def sharedMemPerBlock(self):
 *         return self._ptr[0].sharedMemPerBlock
 *     @sharedMemPerBlock.setter             # <<<<<<<<<<<<<<
 *     def sharedMemPerBlock(self, int sharedMemPerBlock):
 *         self._ptr[0].sharedMemPerBlock = sharedMemPerBlock
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.sharedMemPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6523
 *     def sharedMemPerBlock(self, int sharedMemPerBlock):
 *         self._ptr[0].sharedMemPerBlock = sharedMemPerBlock
 *     @property             # <<<<<<<<<<<<<<
 *     def totalConstantMemory(self):
 *         return self._ptr[0].totalConstantMemory
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUdevprop_st_19totalConstantMemory_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUdevprop_st_19totalConstantMemory___get__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_19totalConstantMemory___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6523, 0, __PYX_ERR(1, 6523, __pyx_L1_error));

  /* "cuda/cuda.pyx":6525
 *     @property
 *     def totalConstantMemory(self):
 *         return self._ptr[0].totalConstantMemory             # <<<<<<<<<<<<<<
 *     @totalConstantMemory.setter
 *     def totalConstantMemory(self, int totalConstantMemory):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).totalConstantMemory); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6523
 *     def sharedMemPerBlock(self, int sharedMemPerBlock):
 *         self._ptr[0].sharedMemPerBlock = sharedMemPerBlock
 *     @property             # <<<<<<<<<<<<<<
 *     def totalConstantMemory(self):
 *         return self._ptr[0].totalConstantMemory
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.totalConstantMemory.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6526
 *     def totalConstantMemory(self):
 *         return self._ptr[0].totalConstantMemory
 *     @totalConstantMemory.setter             # <<<<<<<<<<<<<<
 *     def totalConstantMemory(self, int totalConstantMemory):
 *         self._ptr[0].totalConstantMemory = totalConstantMemory
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12CUdevprop_st_19totalConstantMemory_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_totalConstantMemory); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_totalConstantMemory); if (unlikely((__pyx_v_totalConstantMemory == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6527, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.totalConstantMemory.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUdevprop_st_19totalConstantMemory_2__set__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self), ((int)__pyx_v_totalConstantMemory));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_19totalConstantMemory_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, int __pyx_v_totalConstantMemory) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6526, 0, __PYX_ERR(1, 6526, __pyx_L1_error));

  /* "cuda/cuda.pyx":6528
 *     @totalConstantMemory.setter
 *     def totalConstantMemory(self, int totalConstantMemory):
 *         self._ptr[0].totalConstantMemory = totalConstantMemory             # <<<<<<<<<<<<<<
 *     @property
 *     def SIMDWidth(self):
 */
  (__pyx_v_self->_ptr[0]).totalConstantMemory = __pyx_v_totalConstantMemory;

  /* "cuda/cuda.pyx":6526
 *     def totalConstantMemory(self):
 *         return self._ptr[0].totalConstantMemory
 *     @totalConstantMemory.setter             # <<<<<<<<<<<<<<
 *     def totalConstantMemory(self, int totalConstantMemory):
 *         self._ptr[0].totalConstantMemory = totalConstantMemory
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.totalConstantMemory.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6529
 *     def totalConstantMemory(self, int totalConstantMemory):
 *         self._ptr[0].totalConstantMemory = totalConstantMemory
 *     @property             # <<<<<<<<<<<<<<
 *     def SIMDWidth(self):
 *         return self._ptr[0].SIMDWidth
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUdevprop_st_9SIMDWidth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUdevprop_st_9SIMDWidth___get__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_9SIMDWidth___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6529, 0, __PYX_ERR(1, 6529, __pyx_L1_error));

  /* "cuda/cuda.pyx":6531
 *     @property
 *     def SIMDWidth(self):
 *         return self._ptr[0].SIMDWidth             # <<<<<<<<<<<<<<
 *     @SIMDWidth.setter
 *     def SIMDWidth(self, int SIMDWidth):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).SIMDWidth); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6529
 *     def totalConstantMemory(self, int totalConstantMemory):
 *         self._ptr[0].totalConstantMemory = totalConstantMemory
 *     @property             # <<<<<<<<<<<<<<
 *     def SIMDWidth(self):
 *         return self._ptr[0].SIMDWidth
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.SIMDWidth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6532
 *     def SIMDWidth(self):
 *         return self._ptr[0].SIMDWidth
 *     @SIMDWidth.setter             # <<<<<<<<<<<<<<
 *     def SIMDWidth(self, int SIMDWidth):
 *         self._ptr[0].SIMDWidth = SIMDWidth
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12CUdevprop_st_9SIMDWidth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_SIMDWidth); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_SIMDWidth); if (unlikely((__pyx_v_SIMDWidth == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6533, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.SIMDWidth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUdevprop_st_9SIMDWidth_2__set__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self), ((int)__pyx_v_SIMDWidth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_9SIMDWidth_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, int __pyx_v_SIMDWidth) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6532, 0, __PYX_ERR(1, 6532, __pyx_L1_error));

  /* "cuda/cuda.pyx":6534
 *     @SIMDWidth.setter
 *     def SIMDWidth(self, int SIMDWidth):
 *         self._ptr[0].SIMDWidth = SIMDWidth             # <<<<<<<<<<<<<<
 *     @property
 *     def memPitch(self):
 */
  (__pyx_v_self->_ptr[0]).SIMDWidth = __pyx_v_SIMDWidth;

  /* "cuda/cuda.pyx":6532
 *     def SIMDWidth(self):
 *         return self._ptr[0].SIMDWidth
 *     @SIMDWidth.setter             # <<<<<<<<<<<<<<
 *     def SIMDWidth(self, int SIMDWidth):
 *         self._ptr[0].SIMDWidth = SIMDWidth
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.SIMDWidth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6535
 *     def SIMDWidth(self, int SIMDWidth):
 *         self._ptr[0].SIMDWidth = SIMDWidth
 *     @property             # <<<<<<<<<<<<<<
 *     def memPitch(self):
 *         return self._ptr[0].memPitch
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUdevprop_st_8memPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUdevprop_st_8memPitch___get__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_8memPitch___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6535, 0, __PYX_ERR(1, 6535, __pyx_L1_error));

  /* "cuda/cuda.pyx":6537
 *     @property
 *     def memPitch(self):
 *         return self._ptr[0].memPitch             # <<<<<<<<<<<<<<
 *     @memPitch.setter
 *     def memPitch(self, int memPitch):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).memPitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6535
 *     def SIMDWidth(self, int SIMDWidth):
 *         self._ptr[0].SIMDWidth = SIMDWidth
 *     @property             # <<<<<<<<<<<<<<
 *     def memPitch(self):
 *         return self._ptr[0].memPitch
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.memPitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6538
 *     def memPitch(self):
 *         return self._ptr[0].memPitch
 *     @memPitch.setter             # <<<<<<<<<<<<<<
 *     def memPitch(self, int memPitch):
 *         self._ptr[0].memPitch = memPitch
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12CUdevprop_st_8memPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_memPitch); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_memPitch); if (unlikely((__pyx_v_memPitch == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6539, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.memPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUdevprop_st_8memPitch_2__set__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self), ((int)__pyx_v_memPitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_8memPitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, int __pyx_v_memPitch) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6538, 0, __PYX_ERR(1, 6538, __pyx_L1_error));

  /* "cuda/cuda.pyx":6540
 *     @memPitch.setter
 *     def memPitch(self, int memPitch):
 *         self._ptr[0].memPitch = memPitch             # <<<<<<<<<<<<<<
 *     @property
 *     def regsPerBlock(self):
 */
  (__pyx_v_self->_ptr[0]).memPitch = __pyx_v_memPitch;

  /* "cuda/cuda.pyx":6538
 *     def memPitch(self):
 *         return self._ptr[0].memPitch
 *     @memPitch.setter             # <<<<<<<<<<<<<<
 *     def memPitch(self, int memPitch):
 *         self._ptr[0].memPitch = memPitch
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.memPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6541
 *     def memPitch(self, int memPitch):
 *         self._ptr[0].memPitch = memPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def regsPerBlock(self):
 *         return self._ptr[0].regsPerBlock
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUdevprop_st_12regsPerBlock_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUdevprop_st_12regsPerBlock___get__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_12regsPerBlock___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6541, 0, __PYX_ERR(1, 6541, __pyx_L1_error));

  /* "cuda/cuda.pyx":6543
 *     @property
 *     def regsPerBlock(self):
 *         return self._ptr[0].regsPerBlock             # <<<<<<<<<<<<<<
 *     @regsPerBlock.setter
 *     def regsPerBlock(self, int regsPerBlock):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).regsPerBlock); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6541
 *     def memPitch(self, int memPitch):
 *         self._ptr[0].memPitch = memPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def regsPerBlock(self):
 *         return self._ptr[0].regsPerBlock
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.regsPerBlock.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6544
 *     def regsPerBlock(self):
 *         return self._ptr[0].regsPerBlock
 *     @regsPerBlock.setter             # <<<<<<<<<<<<<<
 *     def regsPerBlock(self, int regsPerBlock):
 *         self._ptr[0].regsPerBlock = regsPerBlock
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12CUdevprop_st_12regsPerBlock_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_regsPerBlock); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_regsPerBlock); if (unlikely((__pyx_v_regsPerBlock == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6545, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.regsPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUdevprop_st_12regsPerBlock_2__set__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self), ((int)__pyx_v_regsPerBlock));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_12regsPerBlock_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, int __pyx_v_regsPerBlock) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6544, 0, __PYX_ERR(1, 6544, __pyx_L1_error));

  /* "cuda/cuda.pyx":6546
 *     @regsPerBlock.setter
 *     def regsPerBlock(self, int regsPerBlock):
 *         self._ptr[0].regsPerBlock = regsPerBlock             # <<<<<<<<<<<<<<
 *     @property
 *     def clockRate(self):
 */
  (__pyx_v_self->_ptr[0]).regsPerBlock = __pyx_v_regsPerBlock;

  /* "cuda/cuda.pyx":6544
 *     def regsPerBlock(self):
 *         return self._ptr[0].regsPerBlock
 *     @regsPerBlock.setter             # <<<<<<<<<<<<<<
 *     def regsPerBlock(self, int regsPerBlock):
 *         self._ptr[0].regsPerBlock = regsPerBlock
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.regsPerBlock.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6547
 *     def regsPerBlock(self, int regsPerBlock):
 *         self._ptr[0].regsPerBlock = regsPerBlock
 *     @property             # <<<<<<<<<<<<<<
 *     def clockRate(self):
 *         return self._ptr[0].clockRate
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUdevprop_st_9clockRate_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUdevprop_st_9clockRate___get__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_9clockRate___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6547, 0, __PYX_ERR(1, 6547, __pyx_L1_error));

  /* "cuda/cuda.pyx":6549
 *     @property
 *     def clockRate(self):
 *         return self._ptr[0].clockRate             # <<<<<<<<<<<<<<
 *     @clockRate.setter
 *     def clockRate(self, int clockRate):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).clockRate); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6549, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6547
 *     def regsPerBlock(self, int regsPerBlock):
 *         self._ptr[0].regsPerBlock = regsPerBlock
 *     @property             # <<<<<<<<<<<<<<
 *     def clockRate(self):
 *         return self._ptr[0].clockRate
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.clockRate.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6550
 *     def clockRate(self):
 *         return self._ptr[0].clockRate
 *     @clockRate.setter             # <<<<<<<<<<<<<<
 *     def clockRate(self, int clockRate):
 *         self._ptr[0].clockRate = clockRate
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12CUdevprop_st_9clockRate_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_clockRate); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_clockRate); if (unlikely((__pyx_v_clockRate == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6551, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.clockRate.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUdevprop_st_9clockRate_2__set__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self), ((int)__pyx_v_clockRate));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_9clockRate_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, int __pyx_v_clockRate) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6550, 0, __PYX_ERR(1, 6550, __pyx_L1_error));

  /* "cuda/cuda.pyx":6552
 *     @clockRate.setter
 *     def clockRate(self, int clockRate):
 *         self._ptr[0].clockRate = clockRate             # <<<<<<<<<<<<<<
 *     @property
 *     def textureAlign(self):
 */
  (__pyx_v_self->_ptr[0]).clockRate = __pyx_v_clockRate;

  /* "cuda/cuda.pyx":6550
 *     def clockRate(self):
 *         return self._ptr[0].clockRate
 *     @clockRate.setter             # <<<<<<<<<<<<<<
 *     def clockRate(self, int clockRate):
 *         self._ptr[0].clockRate = clockRate
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.clockRate.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6553
 *     def clockRate(self, int clockRate):
 *         self._ptr[0].clockRate = clockRate
 *     @property             # <<<<<<<<<<<<<<
 *     def textureAlign(self):
 *         return self._ptr[0].textureAlign
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12CUdevprop_st_12textureAlign_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUdevprop_st_12textureAlign___get__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_12textureAlign___get__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6553, 0, __PYX_ERR(1, 6553, __pyx_L1_error));

  /* "cuda/cuda.pyx":6555
 *     @property
 *     def textureAlign(self):
 *         return self._ptr[0].textureAlign             # <<<<<<<<<<<<<<
 *     @textureAlign.setter
 *     def textureAlign(self, int textureAlign):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).textureAlign); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6553
 *     def clockRate(self, int clockRate):
 *         self._ptr[0].clockRate = clockRate
 *     @property             # <<<<<<<<<<<<<<
 *     def textureAlign(self):
 *         return self._ptr[0].textureAlign
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.textureAlign.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6556
 *     def textureAlign(self):
 *         return self._ptr[0].textureAlign
 *     @textureAlign.setter             # <<<<<<<<<<<<<<
 *     def textureAlign(self, int textureAlign):
 *         self._ptr[0].textureAlign = textureAlign
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12CUdevprop_st_12textureAlign_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_textureAlign); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_textureAlign); if (unlikely((__pyx_v_textureAlign == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6557, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.textureAlign.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUdevprop_st_12textureAlign_2__set__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self), ((int)__pyx_v_textureAlign));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12CUdevprop_st_12textureAlign_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, int __pyx_v_textureAlign) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6556, 0, __PYX_ERR(1, 6556, __pyx_L1_error));

  /* "cuda/cuda.pyx":6558
 *     @textureAlign.setter
 *     def textureAlign(self, int textureAlign):
 *         self._ptr[0].textureAlign = textureAlign             # <<<<<<<<<<<<<<
 * 
 * cdef class CUaccessPolicyWindow_st:
 */
  (__pyx_v_self->_ptr[0]).textureAlign = __pyx_v_textureAlign;

  /* "cuda/cuda.pyx":6556
 *     def textureAlign(self):
 *         return self._ptr[0].textureAlign
 *     @textureAlign.setter             # <<<<<<<<<<<<<<
 *     def textureAlign(self, int textureAlign):
 *         self._ptr[0].textureAlign = textureAlign
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.textureAlign.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_12CUdevprop_st_10__reduce_cython__, "CUdevprop_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12CUdevprop_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUdevprop_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUdevprop_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUdevprop_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__162)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12CUdevprop_st_12__setstate_cython__, "CUdevprop_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12CUdevprop_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUdevprop_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUdevprop_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12CUdevprop_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12CUdevprop_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevprop_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__163)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevprop_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6595
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6595, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 6595, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6595, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 6595, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 6595, 0, __PYX_ERR(1, 6595, __pyx_L1_error));

  /* "cuda/cuda.pyx":6596
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6597
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUaccessPolicyWindow_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUaccessPolicyWindow_st__val);

    /* "cuda/cuda.pyx":6596
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":6599
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUaccessPolicyWindow_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUaccessPolicyWindow_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":6595
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6600
 *         else:
 *             self._ptr = <ccuda.CUaccessPolicyWindow_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6600, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 6600, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6600, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 6600, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 6600, 0, __PYX_ERR(1, 6600, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6602
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_23CUaccessPolicyWindow_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 6602, 0, __PYX_ERR(1, 6602, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUaccessPolicyWindow_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":6604
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_23CUaccessPolicyWindow_st_6getPtr, "CUaccessPolicyWindow_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_23CUaccessPolicyWindow_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_23CUaccessPolicyWindow_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__164)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 6604, 0, __PYX_ERR(1, 6604, __pyx_L1_error));

  /* "cuda/cuda.pyx":6605
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6604
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6606
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_23CUaccessPolicyWindow_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 6606, 0, __PYX_ERR(1, 6606, __pyx_L1_error));

  /* "cuda/cuda.pyx":6607
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6608
 *     def __repr__(self):
 *         if self._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(1, 6608, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":6609
 *         if self._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/cuda.pyx":6610
 *             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_n_s_base_ptr_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6610, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6610, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_base_ptr, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6610, __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(1, 6610, __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)) __PYX_ERR(1, 6610, __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(1, 6610, __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/cuda.pyx":6609
 *         if self._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/cuda.pyx":6611
 *             try:
 *                 str_list += ['base_ptr : ' + hex(self.base_ptr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['base_ptr : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 6611, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6612
 *                 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(1, 6612, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_base_ptr_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_base_ptr_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_base_ptr_ValueError)) __PYX_ERR(1, 6612, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6612, __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/cuda.pyx":6609
 *         if self._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/cuda.pyx":6613
 *             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/cuda.pyx":6614
 *                 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_n_s_num_bytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6614, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6614, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_num_bytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6614, __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(1, 6614, __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)) __PYX_ERR(1, 6614, __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(1, 6614, __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/cuda.pyx":6613
 *             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/cuda.pyx":6615
 *             try:
 *                 str_list += ['num_bytes : ' + str(self.num_bytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['num_bytes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 6615, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6616
 *                 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(1, 6616, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_num_bytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_num_bytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_num_bytes_ValueError)) __PYX_ERR(1, 6616, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6616, __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/cuda.pyx":6613
 *             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/cuda.pyx":6617
 *             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/cuda.pyx":6618
 *                 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_n_s_hitRatio_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6618, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6618, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_hitRatio, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6618, __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(1, 6618, __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)) __PYX_ERR(1, 6618, __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(1, 6618, __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/cuda.pyx":6617
 *             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/cuda.pyx":6619
 *             try:
 *                 str_list += ['hitRatio : ' + str(self.hitRatio)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hitRatio : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 6619, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6620
 *                 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(1, 6620, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_hitRatio_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_hitRatio_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_hitRatio_ValueError)) __PYX_ERR(1, 6620, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6620, __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/cuda.pyx":6617
 *             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/cuda.pyx":6621
 *             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/cuda.pyx":6622
 *                 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_n_s_hitProp_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6622, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6622, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_hitProp, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6622, __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(1, 6622, __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)) __PYX_ERR(1, 6622, __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(1, 6622, __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/cuda.pyx":6621
 *             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/cuda.pyx":6623
 *             try:
 *                 str_list += ['hitProp : ' + str(self.hitProp)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hitProp : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 6623, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6624
 *                 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(1, 6624, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_hitProp_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_hitProp_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_hitProp_ValueError)) __PYX_ERR(1, 6624, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6624, __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/cuda.pyx":6621
 *             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/cuda.pyx":6625
 *             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/cuda.pyx":6626
 *                 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_n_s_missProp_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6626, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6626, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_missProp, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6626, __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(1, 6626, __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)) __PYX_ERR(1, 6626, __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(1, 6626, __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/cuda.pyx":6625
 *             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/cuda.pyx":6627
 *             try:
 *                 str_list += ['missProp : ' + str(self.missProp)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['missProp : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 6627, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6628
 *                 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(1, 6628, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_missProp_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_missProp_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_missProp_ValueError)) __PYX_ERR(1, 6628, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6628, __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/cuda.pyx":6625
 *             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/cuda.pyx":6629
 *             except ValueError:
 *                 str_list += ['missProp : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":6607
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":6631
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def base_ptr(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":6606
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6632
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def base_ptr(self):
 *         return <void_ptr>self._ptr[0].base_ptr
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_8base_ptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_23CUaccessPolicyWindow_st_8base_ptr___get__(((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_8base_ptr___get__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6632, 0, __PYX_ERR(1, 6632, __pyx_L1_error));

  /* "cuda/cuda.pyx":6634
 *     @property
 *     def base_ptr(self):
 *         return <void_ptr>self._ptr[0].base_ptr             # <<<<<<<<<<<<<<
 *     @base_ptr.setter
 *     def base_ptr(self, base_ptr):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).base_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6632
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def base_ptr(self):
 *         return <void_ptr>self._ptr[0].base_ptr
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.base_ptr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6635
 *     def base_ptr(self):
 *         return <void_ptr>self._ptr[0].base_ptr
 *     @base_ptr.setter             # <<<<<<<<<<<<<<
 *     def base_ptr(self, base_ptr):
 *         _cbase_ptr = utils.HelperInputVoidPtr(base_ptr)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_8base_ptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_base_ptr); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_23CUaccessPolicyWindow_st_8base_ptr_2__set__(((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)__pyx_v_self), ((PyObject *)__pyx_v_base_ptr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_8base_ptr_2__set__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self, PyObject *__pyx_v_base_ptr) {
  PyObject *__pyx_v__cbase_ptr = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6635, 0, __PYX_ERR(1, 6635, __pyx_L1_error));

  /* "cuda/cuda.pyx":6637
 *     @base_ptr.setter
 *     def base_ptr(self, base_ptr):
 *         _cbase_ptr = utils.HelperInputVoidPtr(base_ptr)             # <<<<<<<<<<<<<<
 *         self._ptr[0].base_ptr = <void*><void_ptr>_cbase_ptr.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_base_ptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cbase_ptr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":6638
 *     def base_ptr(self, base_ptr):
 *         _cbase_ptr = utils.HelperInputVoidPtr(base_ptr)
 *         self._ptr[0].base_ptr = <void*><void_ptr>_cbase_ptr.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def num_bytes(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cbase_ptr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6638, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).base_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":6635
 *     def base_ptr(self):
 *         return <void_ptr>self._ptr[0].base_ptr
 *     @base_ptr.setter             # <<<<<<<<<<<<<<
 *     def base_ptr(self, base_ptr):
 *         _cbase_ptr = utils.HelperInputVoidPtr(base_ptr)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.base_ptr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cbase_ptr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6639
 *         _cbase_ptr = utils.HelperInputVoidPtr(base_ptr)
 *         self._ptr[0].base_ptr = <void*><void_ptr>_cbase_ptr.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def num_bytes(self):
 *         return self._ptr[0].num_bytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_9num_bytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_23CUaccessPolicyWindow_st_9num_bytes___get__(((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_9num_bytes___get__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6639, 0, __PYX_ERR(1, 6639, __pyx_L1_error));

  /* "cuda/cuda.pyx":6641
 *     @property
 *     def num_bytes(self):
 *         return self._ptr[0].num_bytes             # <<<<<<<<<<<<<<
 *     @num_bytes.setter
 *     def num_bytes(self, size_t num_bytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).num_bytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6639
 *         _cbase_ptr = utils.HelperInputVoidPtr(base_ptr)
 *         self._ptr[0].base_ptr = <void*><void_ptr>_cbase_ptr.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def num_bytes(self):
 *         return self._ptr[0].num_bytes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.num_bytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6642
 *     def num_bytes(self):
 *         return self._ptr[0].num_bytes
 *     @num_bytes.setter             # <<<<<<<<<<<<<<
 *     def num_bytes(self, size_t num_bytes):
 *         self._ptr[0].num_bytes = num_bytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_9num_bytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_num_bytes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_num_bytes); if (unlikely((__pyx_v_num_bytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 6643, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_23CUaccessPolicyWindow_st_9num_bytes_2__set__(((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)__pyx_v_self), ((size_t)__pyx_v_num_bytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_9num_bytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self, size_t __pyx_v_num_bytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6642, 0, __PYX_ERR(1, 6642, __pyx_L1_error));

  /* "cuda/cuda.pyx":6644
 *     @num_bytes.setter
 *     def num_bytes(self, size_t num_bytes):
 *         self._ptr[0].num_bytes = num_bytes             # <<<<<<<<<<<<<<
 *     @property
 *     def hitRatio(self):
 */
  (__pyx_v_self->_ptr[0]).num_bytes = __pyx_v_num_bytes;

  /* "cuda/cuda.pyx":6642
 *     def num_bytes(self):
 *         return self._ptr[0].num_bytes
 *     @num_bytes.setter             # <<<<<<<<<<<<<<
 *     def num_bytes(self, size_t num_bytes):
 *         self._ptr[0].num_bytes = num_bytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.num_bytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6645
 *     def num_bytes(self, size_t num_bytes):
 *         self._ptr[0].num_bytes = num_bytes
 *     @property             # <<<<<<<<<<<<<<
 *     def hitRatio(self):
 *         return self._ptr[0].hitRatio
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_8hitRatio_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_23CUaccessPolicyWindow_st_8hitRatio___get__(((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_8hitRatio___get__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6645, 0, __PYX_ERR(1, 6645, __pyx_L1_error));

  /* "cuda/cuda.pyx":6647
 *     @property
 *     def hitRatio(self):
 *         return self._ptr[0].hitRatio             # <<<<<<<<<<<<<<
 *     @hitRatio.setter
 *     def hitRatio(self, float hitRatio):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble((__pyx_v_self->_ptr[0]).hitRatio); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6645
 *     def num_bytes(self, size_t num_bytes):
 *         self._ptr[0].num_bytes = num_bytes
 *     @property             # <<<<<<<<<<<<<<
 *     def hitRatio(self):
 *         return self._ptr[0].hitRatio
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.hitRatio.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6648
 *     def hitRatio(self):
 *         return self._ptr[0].hitRatio
 *     @hitRatio.setter             # <<<<<<<<<<<<<<
 *     def hitRatio(self, float hitRatio):
 *         self._ptr[0].hitRatio = hitRatio
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_8hitRatio_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_hitRatio); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 6649, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.hitRatio.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_8hitRatio_2__set__(((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)__pyx_v_self), ((float)__pyx_v_hitRatio));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_8hitRatio_2__set__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self, float __pyx_v_hitRatio) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6648, 0, __PYX_ERR(1, 6648, __pyx_L1_error));

  /* "cuda/cuda.pyx":6650
 *     @hitRatio.setter
 *     def hitRatio(self, float hitRatio):
 *         self._ptr[0].hitRatio = hitRatio             # <<<<<<<<<<<<<<
 *     @property
 *     def hitProp(self):
 */
  (__pyx_v_self->_ptr[0]).hitRatio = __pyx_v_hitRatio;

  /* "cuda/cuda.pyx":6648
 *     def hitRatio(self):
 *         return self._ptr[0].hitRatio
 *     @hitRatio.setter             # <<<<<<<<<<<<<<
 *     def hitRatio(self, float hitRatio):
 *         self._ptr[0].hitRatio = hitRatio
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.hitRatio.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6651
 *     def hitRatio(self, float hitRatio):
 *         self._ptr[0].hitRatio = hitRatio
 *     @property             # <<<<<<<<<<<<<<
 *     def hitProp(self):
 *         return CUaccessProperty(self._ptr[0].hitProp)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_7hitProp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_23CUaccessPolicyWindow_st_7hitProp___get__(((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_7hitProp___get__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6651, 0, __PYX_ERR(1, 6651, __pyx_L1_error));

  /* "cuda/cuda.pyx":6653
 *     @property
 *     def hitProp(self):
 *         return CUaccessProperty(self._ptr[0].hitProp)             # <<<<<<<<<<<<<<
 *     @hitProp.setter
 *     def hitProp(self, hitProp not None : CUaccessProperty):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUaccessProperty); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUaccessProperty_enum((__pyx_v_self->_ptr[0]).hitProp); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6653, __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/cuda.pyx":6651
 *     def hitRatio(self, float hitRatio):
 *         self._ptr[0].hitRatio = hitRatio
 *     @property             # <<<<<<<<<<<<<<
 *     def hitProp(self):
 *         return CUaccessProperty(self._ptr[0].hitProp)
 */

  /* 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.cuda.CUaccessPolicyWindow_st.hitProp.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6654
 *     def hitProp(self):
 *         return CUaccessProperty(self._ptr[0].hitProp)
 *     @hitProp.setter             # <<<<<<<<<<<<<<
 *     def hitProp(self, hitProp not None : CUaccessProperty):
 *         self._ptr[0].hitProp = hitProp.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_7hitProp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hitProp); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 6655, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_7hitProp_2__set__(((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)__pyx_v_self), ((PyObject *)__pyx_v_hitProp));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_7hitProp_2__set__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self, PyObject *__pyx_v_hitProp) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6654, 0, __PYX_ERR(1, 6654, __pyx_L1_error));

  /* "cuda/cuda.pyx":6656
 *     @hitProp.setter
 *     def hitProp(self, hitProp not None : CUaccessProperty):
 *         self._ptr[0].hitProp = hitProp.value             # <<<<<<<<<<<<<<
 *     @property
 *     def missProp(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_hitProp, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUaccessProperty_enum)__Pyx_PyInt_As_enum__CUaccessProperty_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6656, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).hitProp = __pyx_t_2;

  /* "cuda/cuda.pyx":6654
 *     def hitProp(self):
 *         return CUaccessProperty(self._ptr[0].hitProp)
 *     @hitProp.setter             # <<<<<<<<<<<<<<
 *     def hitProp(self, hitProp not None : CUaccessProperty):
 *         self._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.cuda.CUaccessPolicyWindow_st.hitProp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6657
 *     def hitProp(self, hitProp not None : CUaccessProperty):
 *         self._ptr[0].hitProp = hitProp.value
 *     @property             # <<<<<<<<<<<<<<
 *     def missProp(self):
 *         return CUaccessProperty(self._ptr[0].missProp)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_8missProp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_23CUaccessPolicyWindow_st_8missProp___get__(((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_8missProp___get__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6657, 0, __PYX_ERR(1, 6657, __pyx_L1_error));

  /* "cuda/cuda.pyx":6659
 *     @property
 *     def missProp(self):
 *         return CUaccessProperty(self._ptr[0].missProp)             # <<<<<<<<<<<<<<
 *     @missProp.setter
 *     def missProp(self, missProp not None : CUaccessProperty):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUaccessProperty); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUaccessProperty_enum((__pyx_v_self->_ptr[0]).missProp); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6659, __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/cuda.pyx":6657
 *     def hitProp(self, hitProp not None : CUaccessProperty):
 *         self._ptr[0].hitProp = hitProp.value
 *     @property             # <<<<<<<<<<<<<<
 *     def missProp(self):
 *         return CUaccessProperty(self._ptr[0].missProp)
 */

  /* 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.cuda.CUaccessPolicyWindow_st.missProp.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6660
 *     def missProp(self):
 *         return CUaccessProperty(self._ptr[0].missProp)
 *     @missProp.setter             # <<<<<<<<<<<<<<
 *     def missProp(self, missProp not None : CUaccessProperty):
 *         self._ptr[0].missProp = missProp.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_8missProp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_missProp); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 6661, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_8missProp_2__set__(((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)__pyx_v_self), ((PyObject *)__pyx_v_missProp));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_8missProp_2__set__(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self, PyObject *__pyx_v_missProp) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6660, 0, __PYX_ERR(1, 6660, __pyx_L1_error));

  /* "cuda/cuda.pyx":6662
 *     @missProp.setter
 *     def missProp(self, missProp not None : CUaccessProperty):
 *         self._ptr[0].missProp = missProp.value             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_st:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_missProp, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUaccessProperty_enum)__Pyx_PyInt_As_enum__CUaccessProperty_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6662, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).missProp = __pyx_t_2;

  /* "cuda/cuda.pyx":6660
 *     def missProp(self):
 *         return CUaccessProperty(self._ptr[0].missProp)
 *     @missProp.setter             # <<<<<<<<<<<<<<
 *     def missProp(self, missProp not None : CUaccessProperty):
 *         self._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.cuda.CUaccessPolicyWindow_st.missProp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_23CUaccessPolicyWindow_st_10__reduce_cython__, "CUaccessPolicyWindow_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_23CUaccessPolicyWindow_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_23CUaccessPolicyWindow_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__165)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_23CUaccessPolicyWindow_st_12__setstate_cython__, "CUaccessPolicyWindow_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_23CUaccessPolicyWindow_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_23CUaccessPolicyWindow_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_23CUaccessPolicyWindow_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__166)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUaccessPolicyWindow_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6697
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6697, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 6697, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6697, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 6697, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 6697, 0, __PYX_ERR(1, 6697, __pyx_L1_error));

  /* "cuda/cuda.pyx":6698
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6699
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_KERNEL_NODE_PARAMS_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_KERNEL_NODE_PARAMS_st__val);

    /* "cuda/cuda.pyx":6698
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":6701
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_KERNEL_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._func = CUfunction(_ptr=<void_ptr>&self._ptr[0].func)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":6697
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6702
 *         else:
 *             self._ptr = <ccuda.CUDA_KERNEL_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._func = CUfunction(_ptr=<void_ptr>&self._ptr[0].func)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6702, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 6702, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6702, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 6702, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 6702, 0, __PYX_ERR(1, 6702, __pyx_L1_error));

  /* "cuda/cuda.pyx":6703
 *             self._ptr = <ccuda.CUDA_KERNEL_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._func = CUfunction(_ptr=<void_ptr>&self._ptr[0].func)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).func))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 6703, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_func);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_func);
  __pyx_v_self->_func = ((struct __pyx_obj_4cuda_4cuda_CUfunction *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":6702
 *         else:
 *             self._ptr = <ccuda.CUDA_KERNEL_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._func = CUfunction(_ptr=<void_ptr>&self._ptr[0].func)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUDA_KERNEL_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6704
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._func = CUfunction(_ptr=<void_ptr>&self._ptr[0].func)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 6704, 0, __PYX_ERR(1, 6704, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":6706
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_6getPtr, "CUDA_KERNEL_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__167)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 6706, 0, __PYX_ERR(1, 6706, __pyx_L1_error));

  /* "cuda/cuda.pyx":6707
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6706
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6708
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 6708, 0, __PYX_ERR(1, 6708, __pyx_L1_error));

  /* "cuda/cuda.pyx":6709
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6710
 *     def __repr__(self):
 *         if self._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(1, 6710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":6711
 *         if self._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/cuda.pyx":6712
 *             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_n_s_func_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6712, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6712, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_func, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6712, __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(1, 6712, __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)) __PYX_ERR(1, 6712, __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(1, 6712, __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/cuda.pyx":6711
 *         if self._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/cuda.pyx":6713
 *             try:
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6713, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6714
 *                 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(1, 6714, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_func_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_func_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_func_ValueError)) __PYX_ERR(1, 6714, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6714, __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/cuda.pyx":6711
 *         if self._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/cuda.pyx":6715
 *             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/cuda.pyx":6716
 *                 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_n_s_gridDimX_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6716, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6716, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_gridDimX, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6716, __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(1, 6716, __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)) __PYX_ERR(1, 6716, __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(1, 6716, __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/cuda.pyx":6715
 *             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/cuda.pyx":6717
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6717, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6718
 *                 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(1, 6718, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_gridDimX_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_gridDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_gridDimX_ValueError)) __PYX_ERR(1, 6718, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6718, __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/cuda.pyx":6715
 *             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/cuda.pyx":6719
 *             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/cuda.pyx":6720
 *                 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_n_s_gridDimY_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6720, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6720, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_gridDimY, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6720, __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(1, 6720, __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)) __PYX_ERR(1, 6720, __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(1, 6720, __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/cuda.pyx":6719
 *             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/cuda.pyx":6721
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6721, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6722
 *                 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(1, 6722, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_gridDimY_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_gridDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_gridDimY_ValueError)) __PYX_ERR(1, 6722, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6722, __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/cuda.pyx":6719
 *             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/cuda.pyx":6723
 *             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/cuda.pyx":6724
 *                 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_n_s_gridDimZ_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6724, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6724, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_gridDimZ, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6724, __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(1, 6724, __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)) __PYX_ERR(1, 6724, __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(1, 6724, __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/cuda.pyx":6723
 *             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/cuda.pyx":6725
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6725, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6726
 *                 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(1, 6726, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_gridDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_gridDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_gridDimZ_ValueError)) __PYX_ERR(1, 6726, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6726, __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/cuda.pyx":6723
 *             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/cuda.pyx":6727
 *             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/cuda.pyx":6728
 *                 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_n_s_blockDimX_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6728, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6728, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_blockDimX, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6728, __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(1, 6728, __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)) __PYX_ERR(1, 6728, __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(1, 6728, __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/cuda.pyx":6727
 *             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/cuda.pyx":6729
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6729, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6730
 *                 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(1, 6730, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_blockDimX_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_blockDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_blockDimX_ValueError)) __PYX_ERR(1, 6730, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6730, __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/cuda.pyx":6727
 *             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/cuda.pyx":6731
 *             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/cuda.pyx":6732
 *                 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_n_s_blockDimY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6732, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6732, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_blockDimY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6732, __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(1, 6732, __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)) __PYX_ERR(1, 6732, __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(1, 6732, __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/cuda.pyx":6731
 *             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/cuda.pyx":6733
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6733, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6734
 *                 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(1, 6734, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_blockDimY_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_blockDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_blockDimY_ValueError)) __PYX_ERR(1, 6734, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6734, __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/cuda.pyx":6731
 *             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/cuda.pyx":6735
 *             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/cuda.pyx":6736
 *                 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_n_s_blockDimZ_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6736, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6736, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_blockDimZ, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6736, __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(1, 6736, __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)) __PYX_ERR(1, 6736, __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(1, 6736, __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/cuda.pyx":6735
 *             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/cuda.pyx":6737
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6737, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6738
 *                 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(1, 6738, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_blockDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_blockDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_blockDimZ_ValueError)) __PYX_ERR(1, 6738, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6738, __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/cuda.pyx":6735
 *             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/cuda.pyx":6739
 *             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/cuda.pyx":6740
 *                 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_n_s_sharedMemBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6740, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6740, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_sharedMemBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6740, __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(1, 6740, __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)) __PYX_ERR(1, 6740, __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(1, 6740, __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/cuda.pyx":6739
 *             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/cuda.pyx":6741
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6741, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6742
 *                 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(1, 6742, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_sharedMemBytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_sharedMemBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_sharedMemBytes_ValueError)) __PYX_ERR(1, 6742, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6742, __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/cuda.pyx":6739
 *             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/cuda.pyx":6743
 *             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/cuda.pyx":6744
 *                 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_n_s_kernelParams_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6744, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6744, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_kernelParams, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6744, __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(1, 6744, __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)) __PYX_ERR(1, 6744, __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(1, 6744, __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/cuda.pyx":6743
 *             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/cuda.pyx":6745
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6745, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6746
 *                 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(1, 6746, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_kernelParams_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_kernelParams_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_kernelParams_ValueError)) __PYX_ERR(1, 6746, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6746, __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/cuda.pyx":6743
 *             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/cuda.pyx":6747
 *             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/cuda.pyx":6748
 *                 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_n_s_extra_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6748, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6748, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_extra, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6748, __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(1, 6748, __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)) __PYX_ERR(1, 6748, __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(1, 6748, __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/cuda.pyx":6747
 *             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/cuda.pyx":6749
 *             try:
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6749, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6750
 *                 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(1, 6750, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_extra_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_extra_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_extra_ValueError)) __PYX_ERR(1, 6750, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6750, __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/cuda.pyx":6747
 *             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/cuda.pyx":6751
 *             except ValueError:
 *                 str_list += ['extra : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":6709
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":6753
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def func(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":6708
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6754
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def func(self):
 *         return self._func
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_4func_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_4func___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_4func___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6754, 0, __PYX_ERR(1, 6754, __pyx_L1_error));

  /* "cuda/cuda.pyx":6756
 *     @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/cuda.pyx":6754
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def func(self):
 *         return self._func
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.func.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6757
 *     def func(self):
 *         return self._func
 *     @func.setter             # <<<<<<<<<<<<<<
 *     def func(self, func):
 *         cdef ccuda.CUfunction cfunc
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_4func_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_func); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_4func_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_4func_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_func) {
  CUfunction __pyx_v_cfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6757, 0, __PYX_ERR(1, 6757, __pyx_L1_error));

  /* "cuda/cuda.pyx":6760
 *     def func(self, func):
 *         cdef ccuda.CUfunction cfunc
 *         if func is None:             # <<<<<<<<<<<<<<
 *             cfunc = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6761
 *         cdef ccuda.CUfunction cfunc
 *         if func is None:
 *             cfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)
 */
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":6760
 *     def func(self, func):
 *         cdef ccuda.CUfunction cfunc
 *         if func is None:             # <<<<<<<<<<<<<<
 *             cfunc = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":6762
 *         if func is None:
 *             cfunc = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *             pfunc = int(func)
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6763
 *             cfunc = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)             # <<<<<<<<<<<<<<
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":6764
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *         else:
 *             pfunc = int(CUfunction(func))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6764, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":6762
 *         if func is None:
 *             cfunc = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *             pfunc = int(func)
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":6766
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         else:
 *             pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         self._func._ptr[0] = cfunc
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":6767
 *         else:
 *             pfunc = int(CUfunction(func))
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *         self._func._ptr[0] = cfunc
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6767, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":6768
 *             pfunc = int(CUfunction(func))
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         self._func._ptr[0] = cfunc             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimX(self):
 */
  (__pyx_v_self->_func->_ptr[0]) = __pyx_v_cfunc;

  /* "cuda/cuda.pyx":6757
 *     def func(self):
 *         return self._func
 *     @func.setter             # <<<<<<<<<<<<<<
 *     def func(self, func):
 *         cdef ccuda.CUfunction cfunc
 */

  /* 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.cuda.CUDA_KERNEL_NODE_PARAMS_st.func.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6769
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         self._func._ptr[0] = cfunc
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6769, 0, __PYX_ERR(1, 6769, __pyx_L1_error));

  /* "cuda/cuda.pyx":6771
 *     @property
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX             # <<<<<<<<<<<<<<
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).gridDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6769
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         self._func._ptr[0] = cfunc
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.gridDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6772
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimX); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_gridDimX); if (unlikely((__pyx_v_gridDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6773, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimX) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6772, 0, __PYX_ERR(1, 6772, __pyx_L1_error));

  /* "cuda/cuda.pyx":6774
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimY(self):
 */
  (__pyx_v_self->_ptr[0]).gridDimX = __pyx_v_gridDimX;

  /* "cuda/cuda.pyx":6772
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.gridDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6775
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6775, 0, __PYX_ERR(1, 6775, __pyx_L1_error));

  /* "cuda/cuda.pyx":6777
 *     @property
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY             # <<<<<<<<<<<<<<
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).gridDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6777, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6775
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.gridDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6778
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimY); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_gridDimY); if (unlikely((__pyx_v_gridDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6779, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimY) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6778, 0, __PYX_ERR(1, 6778, __pyx_L1_error));

  /* "cuda/cuda.pyx":6780
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimZ(self):
 */
  (__pyx_v_self->_ptr[0]).gridDimY = __pyx_v_gridDimY;

  /* "cuda/cuda.pyx":6778
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.gridDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6781
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6781, 0, __PYX_ERR(1, 6781, __pyx_L1_error));

  /* "cuda/cuda.pyx":6783
 *     @property
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ             # <<<<<<<<<<<<<<
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).gridDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6781
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.gridDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6784
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimZ); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_gridDimZ); if (unlikely((__pyx_v_gridDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6785, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6784, 0, __PYX_ERR(1, 6784, __pyx_L1_error));

  /* "cuda/cuda.pyx":6786
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimX(self):
 */
  (__pyx_v_self->_ptr[0]).gridDimZ = __pyx_v_gridDimZ;

  /* "cuda/cuda.pyx":6784
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.gridDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6787
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6787, 0, __PYX_ERR(1, 6787, __pyx_L1_error));

  /* "cuda/cuda.pyx":6789
 *     @property
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX             # <<<<<<<<<<<<<<
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).blockDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6787
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.blockDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6790
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimX); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_blockDimX); if (unlikely((__pyx_v_blockDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6791, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimX) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6790, 0, __PYX_ERR(1, 6790, __pyx_L1_error));

  /* "cuda/cuda.pyx":6792
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimY(self):
 */
  (__pyx_v_self->_ptr[0]).blockDimX = __pyx_v_blockDimX;

  /* "cuda/cuda.pyx":6790
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.blockDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6793
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6793, 0, __PYX_ERR(1, 6793, __pyx_L1_error));

  /* "cuda/cuda.pyx":6795
 *     @property
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY             # <<<<<<<<<<<<<<
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).blockDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6793
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.blockDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6796
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimY); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_blockDimY); if (unlikely((__pyx_v_blockDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6797, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimY) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6796, 0, __PYX_ERR(1, 6796, __pyx_L1_error));

  /* "cuda/cuda.pyx":6798
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimZ(self):
 */
  (__pyx_v_self->_ptr[0]).blockDimY = __pyx_v_blockDimY;

  /* "cuda/cuda.pyx":6796
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.blockDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6799
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6799, 0, __PYX_ERR(1, 6799, __pyx_L1_error));

  /* "cuda/cuda.pyx":6801
 *     @property
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ             # <<<<<<<<<<<<<<
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).blockDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6799
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.blockDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6802
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimZ); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_blockDimZ); if (unlikely((__pyx_v_blockDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6803, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6802, 0, __PYX_ERR(1, 6802, __pyx_L1_error));

  /* "cuda/cuda.pyx":6804
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedMemBytes(self):
 */
  (__pyx_v_self->_ptr[0]).blockDimZ = __pyx_v_blockDimZ;

  /* "cuda/cuda.pyx":6802
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.blockDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6805
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6805, 0, __PYX_ERR(1, 6805, __pyx_L1_error));

  /* "cuda/cuda.pyx":6807
 *     @property
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes             # <<<<<<<<<<<<<<
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).sharedMemBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6807, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6805
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.sharedMemBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6808
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemBytes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_sharedMemBytes); if (unlikely((__pyx_v_sharedMemBytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6809, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6808, 0, __PYX_ERR(1, 6808, __pyx_L1_error));

  /* "cuda/cuda.pyx":6810
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def kernelParams(self):
 */
  (__pyx_v_self->_ptr[0]).sharedMemBytes = __pyx_v_sharedMemBytes;

  /* "cuda/cuda.pyx":6808
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.sharedMemBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6811
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6811, 0, __PYX_ERR(1, 6811, __pyx_L1_error));

  /* "cuda/cuda.pyx":6813
 *     @property
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams             # <<<<<<<<<<<<<<
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).kernelParams)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6811
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.kernelParams.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6814
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams
 *     @kernelParams.setter             # <<<<<<<<<<<<<<
 *     def kernelParams(self, kernelParams):
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kernelParams); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_kernelParams) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6814, 0, __PYX_ERR(1, 6814, __pyx_L1_error));

  /* "cuda/cuda.pyx":6816
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)             # <<<<<<<<<<<<<<
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperKernelParams), __pyx_v_kernelParams); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_ckernelParams);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_ckernelParams);
  __pyx_v_self->_ckernelParams = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":6817
 *     def kernelParams(self, kernelParams):
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams             # <<<<<<<<<<<<<<
 *     @property
 *     def extra(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_ckernelParams), __pyx_n_s_ckernelParams); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6817, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).kernelParams = ((void **)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":6814
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams
 *     @kernelParams.setter             # <<<<<<<<<<<<<<
 *     def kernelParams(self, kernelParams):
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.kernelParams.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6818
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams
 *     @property             # <<<<<<<<<<<<<<
 *     def extra(self):
 *         return <void_ptr>self._ptr[0].extra
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_5extra_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_5extra___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_5extra___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6818, 0, __PYX_ERR(1, 6818, __pyx_L1_error));

  /* "cuda/cuda.pyx":6820
 *     @property
 *     def extra(self):
 *         return <void_ptr>self._ptr[0].extra             # <<<<<<<<<<<<<<
 *     @extra.setter
 *     def extra(self, void_ptr extra):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).extra)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6818
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams
 *     @property             # <<<<<<<<<<<<<<
 *     def extra(self):
 *         return <void_ptr>self._ptr[0].extra
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.extra.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6821
 *     def extra(self):
 *         return <void_ptr>self._ptr[0].extra
 *     @extra.setter             # <<<<<<<<<<<<<<
 *     def extra(self, void_ptr extra):
 *         self._ptr[0].extra = <void**>extra
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_5extra_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extra); /*proto*/
static int __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_5extra_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extra) {
  __pyx_t_4cuda_4cuda_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_extra); if (unlikely((__pyx_v_extra == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6822, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_5extra_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self), ((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_extra));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_5extra_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_extra) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6821, 0, __PYX_ERR(1, 6821, __pyx_L1_error));

  /* "cuda/cuda.pyx":6823
 *     @extra.setter
 *     def extra(self, void_ptr extra):
 *         self._ptr[0].extra = <void**>extra             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_v2_st:
 */
  (__pyx_v_self->_ptr[0]).extra = ((void **)__pyx_v_extra);

  /* "cuda/cuda.pyx":6821
 *     def extra(self):
 *         return <void_ptr>self._ptr[0].extra
 *     @extra.setter             # <<<<<<<<<<<<<<
 *     def extra(self, void_ptr extra):
 *         self._ptr[0].extra = <void**>extra
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.extra.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_10__reduce_cython__, "CUDA_KERNEL_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__168)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_12__setstate_cython__, "CUDA_KERNEL_NODE_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__169)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6864
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6864, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 6864, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6864, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 6864, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 6864, 0, __PYX_ERR(1, 6864, __pyx_L1_error));

  /* "cuda/cuda.pyx":6865
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6866
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_KERNEL_NODE_PARAMS_v2_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_KERNEL_NODE_PARAMS_v2_st__val);

    /* "cuda/cuda.pyx":6865
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":6868
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_KERNEL_NODE_PARAMS_v2_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._func = CUfunction(_ptr=<void_ptr>&self._ptr[0].func)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":6864
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6869
 *         else:
 *             self._ptr = <ccuda.CUDA_KERNEL_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._func = CUfunction(_ptr=<void_ptr>&self._ptr[0].func)
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._ptr[0].kern)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 6869, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 6869, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6869, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 6869, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 6869, 0, __PYX_ERR(1, 6869, __pyx_L1_error));

  /* "cuda/cuda.pyx":6870
 *             self._ptr = <ccuda.CUDA_KERNEL_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._func = CUfunction(_ptr=<void_ptr>&self._ptr[0].func)             # <<<<<<<<<<<<<<
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._ptr[0].kern)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).func))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 6870, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_func);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_func);
  __pyx_v_self->_func = ((struct __pyx_obj_4cuda_4cuda_CUfunction *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":6871
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._func = CUfunction(_ptr=<void_ptr>&self._ptr[0].func)
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._ptr[0].kern)             # <<<<<<<<<<<<<<
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).kern))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 6871, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUkernel), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUkernel *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":6872
 *         self._func = CUfunction(_ptr=<void_ptr>&self._ptr[0].func)
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._ptr[0].kern)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).ctx))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 6872, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __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_4cuda_CUcontext *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":6869
 *         else:
 *             self._ptr = <ccuda.CUDA_KERNEL_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._func = CUfunction(_ptr=<void_ptr>&self._ptr[0].func)
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._ptr[0].kern)
 */

  /* 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.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6873
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._ptr[0].kern)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 6873, 0, __PYX_ERR(1, 6873, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":6875
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_6getPtr, "CUDA_KERNEL_NODE_PARAMS_v2_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__170)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 6875, 0, __PYX_ERR(1, 6875, __pyx_L1_error));

  /* "cuda/cuda.pyx":6876
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6875
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6877
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 6877, 0, __PYX_ERR(1, 6877, __pyx_L1_error));

  /* "cuda/cuda.pyx":6878
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6879
 *     def __repr__(self):
 *         if self._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(1, 6879, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":6880
 *         if self._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/cuda.pyx":6881
 *             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_n_s_func_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6881, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6881, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_func, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6881, __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(1, 6881, __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)) __PYX_ERR(1, 6881, __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(1, 6881, __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/cuda.pyx":6880
 *         if self._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/cuda.pyx":6882
 *             try:
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6882, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6883
 *                 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(1, 6883, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_func_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_func_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_func_ValueError)) __PYX_ERR(1, 6883, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6883, __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/cuda.pyx":6880
 *         if self._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/cuda.pyx":6884
 *             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/cuda.pyx":6885
 *                 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_n_s_gridDimX_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6885, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6885, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_gridDimX, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6885, __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(1, 6885, __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)) __PYX_ERR(1, 6885, __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(1, 6885, __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/cuda.pyx":6884
 *             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/cuda.pyx":6886
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6886, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6887
 *                 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(1, 6887, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_gridDimX_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_gridDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_gridDimX_ValueError)) __PYX_ERR(1, 6887, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6887, __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/cuda.pyx":6884
 *             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/cuda.pyx":6888
 *             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/cuda.pyx":6889
 *                 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_n_s_gridDimY_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6889, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6889, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_gridDimY, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6889, __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(1, 6889, __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)) __PYX_ERR(1, 6889, __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(1, 6889, __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/cuda.pyx":6888
 *             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/cuda.pyx":6890
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6890, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6891
 *                 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(1, 6891, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_gridDimY_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_gridDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_gridDimY_ValueError)) __PYX_ERR(1, 6891, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6891, __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/cuda.pyx":6888
 *             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/cuda.pyx":6892
 *             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/cuda.pyx":6893
 *                 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_n_s_gridDimZ_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6893, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6893, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_gridDimZ, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6893, __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(1, 6893, __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)) __PYX_ERR(1, 6893, __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(1, 6893, __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/cuda.pyx":6892
 *             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/cuda.pyx":6894
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6894, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6895
 *                 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(1, 6895, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_gridDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_gridDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_gridDimZ_ValueError)) __PYX_ERR(1, 6895, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6895, __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/cuda.pyx":6892
 *             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/cuda.pyx":6896
 *             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/cuda.pyx":6897
 *                 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_n_s_blockDimX_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6897, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6897, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_blockDimX, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6897, __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(1, 6897, __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)) __PYX_ERR(1, 6897, __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(1, 6897, __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/cuda.pyx":6896
 *             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/cuda.pyx":6898
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6898, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6899
 *                 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(1, 6899, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_blockDimX_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_blockDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_blockDimX_ValueError)) __PYX_ERR(1, 6899, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6899, __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/cuda.pyx":6896
 *             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/cuda.pyx":6900
 *             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/cuda.pyx":6901
 *                 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_n_s_blockDimY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6901, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6901, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_blockDimY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6901, __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(1, 6901, __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)) __PYX_ERR(1, 6901, __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(1, 6901, __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/cuda.pyx":6900
 *             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/cuda.pyx":6902
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6902, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6903
 *                 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(1, 6903, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_blockDimY_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_blockDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_blockDimY_ValueError)) __PYX_ERR(1, 6903, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6903, __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/cuda.pyx":6900
 *             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/cuda.pyx":6904
 *             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/cuda.pyx":6905
 *                 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_n_s_blockDimZ_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6905, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6905, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_blockDimZ, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6905, __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(1, 6905, __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)) __PYX_ERR(1, 6905, __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(1, 6905, __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/cuda.pyx":6904
 *             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/cuda.pyx":6906
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6906, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6907
 *                 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(1, 6907, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_blockDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_blockDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_blockDimZ_ValueError)) __PYX_ERR(1, 6907, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6907, __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/cuda.pyx":6904
 *             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/cuda.pyx":6908
 *             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/cuda.pyx":6909
 *                 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_n_s_sharedMemBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6909, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6909, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_sharedMemBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6909, __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(1, 6909, __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)) __PYX_ERR(1, 6909, __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(1, 6909, __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/cuda.pyx":6908
 *             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/cuda.pyx":6910
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6910, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6911
 *                 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(1, 6911, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_sharedMemBytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_sharedMemBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_sharedMemBytes_ValueError)) __PYX_ERR(1, 6911, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6911, __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/cuda.pyx":6908
 *             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/cuda.pyx":6912
 *             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/cuda.pyx":6913
 *                 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_n_s_kernelParams_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6913, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6913, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_kernelParams, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6913, __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(1, 6913, __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)) __PYX_ERR(1, 6913, __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(1, 6913, __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/cuda.pyx":6912
 *             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/cuda.pyx":6914
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6914, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6915
 *                 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(1, 6915, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_kernelParams_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_kernelParams_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_kernelParams_ValueError)) __PYX_ERR(1, 6915, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6915, __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/cuda.pyx":6912
 *             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/cuda.pyx":6916
 *             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/cuda.pyx":6917
 *                 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_n_s_extra_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6917, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6917, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_extra, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6917, __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(1, 6917, __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)) __PYX_ERR(1, 6917, __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(1, 6917, __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/cuda.pyx":6916
 *             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/cuda.pyx":6918
 *             try:
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6918, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6919
 *                 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(1, 6919, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_extra_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_extra_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_extra_ValueError)) __PYX_ERR(1, 6919, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6919, __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/cuda.pyx":6916
 *             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/cuda.pyx":6920
 *             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/cuda.pyx":6921
 *                 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_n_s_kern_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6921, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6921, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_kern, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6921, __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(1, 6921, __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)) __PYX_ERR(1, 6921, __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(1, 6921, __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/cuda.pyx":6920
 *             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/cuda.pyx":6922
 *             try:
 *                 str_list += ['kern : ' + str(self.kern)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kern : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6922, __pyx_L86_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":6923
 *                 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(1, 6923, __pyx_L86_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_kern_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_kern_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_kern_ValueError)) __PYX_ERR(1, 6923, __pyx_L86_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6923, __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/cuda.pyx":6920
 *             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/cuda.pyx":6924
 *             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/cuda.pyx":6925
 *                 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_n_s_ctx_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6925, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 6925, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_ctx, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 6925, __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(1, 6925, __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)) __PYX_ERR(1, 6925, __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(1, 6925, __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/cuda.pyx":6924
 *             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/cuda.pyx":6926
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 6926, __pyx_L94_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":6927
 *                 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(1, 6927, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_ctx_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_ctx_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_ctx_ValueError)) __PYX_ERR(1, 6927, __pyx_L94_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 6927, __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/cuda.pyx":6924
 *             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/cuda.pyx":6928
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6928, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":6878
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":6930
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def func(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":6877
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6931
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def func(self):
 *         return self._func
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6931, 0, __PYX_ERR(1, 6931, __pyx_L1_error));

  /* "cuda/cuda.pyx":6933
 *     @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/cuda.pyx":6931
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def func(self):
 *         return self._func
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.func.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6934
 *     def func(self):
 *         return self._func
 *     @func.setter             # <<<<<<<<<<<<<<
 *     def func(self, func):
 *         cdef ccuda.CUfunction cfunc
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_func); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_func) {
  CUfunction __pyx_v_cfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6934, 0, __PYX_ERR(1, 6934, __pyx_L1_error));

  /* "cuda/cuda.pyx":6937
 *     def func(self, func):
 *         cdef ccuda.CUfunction cfunc
 *         if func is None:             # <<<<<<<<<<<<<<
 *             cfunc = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6938
 *         cdef ccuda.CUfunction cfunc
 *         if func is None:
 *             cfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)
 */
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":6937
 *     def func(self, func):
 *         cdef ccuda.CUfunction cfunc
 *         if func is None:             # <<<<<<<<<<<<<<
 *             cfunc = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":6939
 *         if func is None:
 *             cfunc = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *             pfunc = int(func)
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":6940
 *             cfunc = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)             # <<<<<<<<<<<<<<
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":6941
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *         else:
 *             pfunc = int(CUfunction(func))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6941, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":6939
 *         if func is None:
 *             cfunc = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *             pfunc = int(func)
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":6943
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         else:
 *             pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         self._func._ptr[0] = cfunc
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":6944
 *         else:
 *             pfunc = int(CUfunction(func))
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *         self._func._ptr[0] = cfunc
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6944, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":6945
 *             pfunc = int(CUfunction(func))
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         self._func._ptr[0] = cfunc             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimX(self):
 */
  (__pyx_v_self->_func->_ptr[0]) = __pyx_v_cfunc;

  /* "cuda/cuda.pyx":6934
 *     def func(self):
 *         return self._func
 *     @func.setter             # <<<<<<<<<<<<<<
 *     def func(self, func):
 *         cdef ccuda.CUfunction cfunc
 */

  /* 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.cuda.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_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6946
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         self._func._ptr[0] = cfunc
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6946, 0, __PYX_ERR(1, 6946, __pyx_L1_error));

  /* "cuda/cuda.pyx":6948
 *     @property
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX             # <<<<<<<<<<<<<<
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).gridDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6946
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         self._func._ptr[0] = cfunc
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.gridDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6949
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimX); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_gridDimX); if (unlikely((__pyx_v_gridDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6950, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_gridDimX) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6949, 0, __PYX_ERR(1, 6949, __pyx_L1_error));

  /* "cuda/cuda.pyx":6951
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimY(self):
 */
  (__pyx_v_self->_ptr[0]).gridDimX = __pyx_v_gridDimX;

  /* "cuda/cuda.pyx":6949
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.gridDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6952
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6952, 0, __PYX_ERR(1, 6952, __pyx_L1_error));

  /* "cuda/cuda.pyx":6954
 *     @property
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY             # <<<<<<<<<<<<<<
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).gridDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6952
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.gridDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6955
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimY); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_gridDimY); if (unlikely((__pyx_v_gridDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6956, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_gridDimY) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6955, 0, __PYX_ERR(1, 6955, __pyx_L1_error));

  /* "cuda/cuda.pyx":6957
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimZ(self):
 */
  (__pyx_v_self->_ptr[0]).gridDimY = __pyx_v_gridDimY;

  /* "cuda/cuda.pyx":6955
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.gridDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6958
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6958, 0, __PYX_ERR(1, 6958, __pyx_L1_error));

  /* "cuda/cuda.pyx":6960
 *     @property
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ             # <<<<<<<<<<<<<<
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).gridDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6958
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.gridDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6961
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimZ); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_gridDimZ); if (unlikely((__pyx_v_gridDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6962, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6961, 0, __PYX_ERR(1, 6961, __pyx_L1_error));

  /* "cuda/cuda.pyx":6963
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimX(self):
 */
  (__pyx_v_self->_ptr[0]).gridDimZ = __pyx_v_gridDimZ;

  /* "cuda/cuda.pyx":6961
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.gridDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6964
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6964, 0, __PYX_ERR(1, 6964, __pyx_L1_error));

  /* "cuda/cuda.pyx":6966
 *     @property
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX             # <<<<<<<<<<<<<<
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).blockDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6966, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6964
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.blockDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6967
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimX); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_blockDimX); if (unlikely((__pyx_v_blockDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6968, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_blockDimX) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6967, 0, __PYX_ERR(1, 6967, __pyx_L1_error));

  /* "cuda/cuda.pyx":6969
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimY(self):
 */
  (__pyx_v_self->_ptr[0]).blockDimX = __pyx_v_blockDimX;

  /* "cuda/cuda.pyx":6967
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.blockDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6970
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6970, 0, __PYX_ERR(1, 6970, __pyx_L1_error));

  /* "cuda/cuda.pyx":6972
 *     @property
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY             # <<<<<<<<<<<<<<
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).blockDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6970
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.blockDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6973
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimY); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_blockDimY); if (unlikely((__pyx_v_blockDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6974, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_blockDimY) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6973, 0, __PYX_ERR(1, 6973, __pyx_L1_error));

  /* "cuda/cuda.pyx":6975
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimZ(self):
 */
  (__pyx_v_self->_ptr[0]).blockDimY = __pyx_v_blockDimY;

  /* "cuda/cuda.pyx":6973
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.blockDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6976
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6976, 0, __PYX_ERR(1, 6976, __pyx_L1_error));

  /* "cuda/cuda.pyx":6978
 *     @property
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ             # <<<<<<<<<<<<<<
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).blockDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6976
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.blockDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6979
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimZ); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_blockDimZ); if (unlikely((__pyx_v_blockDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6980, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6979, 0, __PYX_ERR(1, 6979, __pyx_L1_error));

  /* "cuda/cuda.pyx":6981
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedMemBytes(self):
 */
  (__pyx_v_self->_ptr[0]).blockDimZ = __pyx_v_blockDimZ;

  /* "cuda/cuda.pyx":6979
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.blockDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6982
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6982, 0, __PYX_ERR(1, 6982, __pyx_L1_error));

  /* "cuda/cuda.pyx":6984
 *     @property
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes             # <<<<<<<<<<<<<<
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).sharedMemBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6982
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.sharedMemBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6985
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemBytes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_sharedMemBytes); if (unlikely((__pyx_v_sharedMemBytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 6986, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6985, 0, __PYX_ERR(1, 6985, __pyx_L1_error));

  /* "cuda/cuda.pyx":6987
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def kernelParams(self):
 */
  (__pyx_v_self->_ptr[0]).sharedMemBytes = __pyx_v_sharedMemBytes;

  /* "cuda/cuda.pyx":6985
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.sharedMemBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":6988
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6988, 0, __PYX_ERR(1, 6988, __pyx_L1_error));

  /* "cuda/cuda.pyx":6990
 *     @property
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams             # <<<<<<<<<<<<<<
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).kernelParams)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6988
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.kernelParams.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6991
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams
 *     @kernelParams.setter             # <<<<<<<<<<<<<<
 *     def kernelParams(self, kernelParams):
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kernelParams); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_kernelParams) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 6991, 0, __PYX_ERR(1, 6991, __pyx_L1_error));

  /* "cuda/cuda.pyx":6993
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)             # <<<<<<<<<<<<<<
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperKernelParams), __pyx_v_kernelParams); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_ckernelParams);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_ckernelParams);
  __pyx_v_self->_ckernelParams = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":6994
 *     def kernelParams(self, kernelParams):
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams             # <<<<<<<<<<<<<<
 *     @property
 *     def extra(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_ckernelParams), __pyx_n_s_ckernelParams); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6994, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).kernelParams = ((void **)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":6991
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams
 *     @kernelParams.setter             # <<<<<<<<<<<<<<
 *     def kernelParams(self, kernelParams):
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.kernelParams.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6995
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams
 *     @property             # <<<<<<<<<<<<<<
 *     def extra(self):
 *         return <void_ptr>self._ptr[0].extra
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 6995, 0, __PYX_ERR(1, 6995, __pyx_L1_error));

  /* "cuda/cuda.pyx":6997
 *     @property
 *     def extra(self):
 *         return <void_ptr>self._ptr[0].extra             # <<<<<<<<<<<<<<
 *     @extra.setter
 *     def extra(self, void_ptr extra):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).extra)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":6995
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams
 *     @property             # <<<<<<<<<<<<<<
 *     def extra(self):
 *         return <void_ptr>self._ptr[0].extra
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.extra.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":6998
 *     def extra(self):
 *         return <void_ptr>self._ptr[0].extra
 *     @extra.setter             # <<<<<<<<<<<<<<
 *     def extra(self, void_ptr extra):
 *         self._ptr[0].extra = <void**>extra
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extra); /*proto*/
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extra) {
  __pyx_t_4cuda_4cuda_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_extra); if (unlikely((__pyx_v_extra == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 6999, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), ((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_extra));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_extra) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 6998, 0, __PYX_ERR(1, 6998, __pyx_L1_error));

  /* "cuda/cuda.pyx":7000
 *     @extra.setter
 *     def extra(self, void_ptr extra):
 *         self._ptr[0].extra = <void**>extra             # <<<<<<<<<<<<<<
 *     @property
 *     def kern(self):
 */
  (__pyx_v_self->_ptr[0]).extra = ((void **)__pyx_v_extra);

  /* "cuda/cuda.pyx":6998
 *     def extra(self):
 *         return <void_ptr>self._ptr[0].extra
 *     @extra.setter             # <<<<<<<<<<<<<<
 *     def extra(self, void_ptr extra):
 *         self._ptr[0].extra = <void**>extra
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.extra.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7001
 *     def extra(self, void_ptr extra):
 *         self._ptr[0].extra = <void**>extra
 *     @property             # <<<<<<<<<<<<<<
 *     def kern(self):
 *         return self._kern
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7001, 0, __PYX_ERR(1, 7001, __pyx_L1_error));

  /* "cuda/cuda.pyx":7003
 *     @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/cuda.pyx":7001
 *     def extra(self, void_ptr extra):
 *         self._ptr[0].extra = <void**>extra
 *     @property             # <<<<<<<<<<<<<<
 *     def kern(self):
 *         return self._kern
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.kern.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7004
 *     def kern(self):
 *         return self._kern
 *     @kern.setter             # <<<<<<<<<<<<<<
 *     def kern(self, kern):
 *         cdef ccuda.CUkernel ckern
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kern); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_kern) {
  CUkernel __pyx_v_ckern;
  PyObject *__pyx_v_pkern = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7004, 0, __PYX_ERR(1, 7004, __pyx_L1_error));

  /* "cuda/cuda.pyx":7007
 *     def kern(self, kern):
 *         cdef ccuda.CUkernel ckern
 *         if kern is None:             # <<<<<<<<<<<<<<
 *             ckern = <ccuda.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):
 */
  __pyx_t_1 = (__pyx_v_kern == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7008
 *         cdef ccuda.CUkernel ckern
 *         if kern is None:
 *             ckern = <ccuda.CUkernel><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(kern, (CUkernel,)):
 *             pkern = int(kern)
 */
    __pyx_v_ckern = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":7007
 *     def kern(self, kern):
 *         cdef ccuda.CUkernel ckern
 *         if kern is None:             # <<<<<<<<<<<<<<
 *             ckern = <ccuda.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7009
 *         if kern is None:
 *             ckern = <ccuda.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):             # <<<<<<<<<<<<<<
 *             pkern = int(kern)
 *             ckern = <ccuda.CUkernel><void_ptr>pkern
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_kern, __pyx_ptype_4cuda_4cuda_CUkernel); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7010
 *             ckern = <ccuda.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):
 *             pkern = int(kern)             # <<<<<<<<<<<<<<
 *             ckern = <ccuda.CUkernel><void_ptr>pkern
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_kern); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7010, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pkern = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7011
 *         elif isinstance(kern, (CUkernel,)):
 *             pkern = int(kern)
 *             ckern = <ccuda.CUkernel><void_ptr>pkern             # <<<<<<<<<<<<<<
 *         else:
 *             pkern = int(CUkernel(kern))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pkern); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7011, __pyx_L1_error)
    __pyx_v_ckern = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":7009
 *         if kern is None:
 *             ckern = <ccuda.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):             # <<<<<<<<<<<<<<
 *             pkern = int(kern)
 *             ckern = <ccuda.CUkernel><void_ptr>pkern
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7013
 *             ckern = <ccuda.CUkernel><void_ptr>pkern
 *         else:
 *             pkern = int(CUkernel(kern))             # <<<<<<<<<<<<<<
 *             ckern = <ccuda.CUkernel><void_ptr>pkern
 *         self._kern._ptr[0] = ckern
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUkernel), __pyx_v_kern); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pkern = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":7014
 *         else:
 *             pkern = int(CUkernel(kern))
 *             ckern = <ccuda.CUkernel><void_ptr>pkern             # <<<<<<<<<<<<<<
 *         self._kern._ptr[0] = ckern
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pkern); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7014, __pyx_L1_error)
    __pyx_v_ckern = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7015
 *             pkern = int(CUkernel(kern))
 *             ckern = <ccuda.CUkernel><void_ptr>pkern
 *         self._kern._ptr[0] = ckern             # <<<<<<<<<<<<<<
 *     @property
 *     def ctx(self):
 */
  (__pyx_v_self->_kern->_ptr[0]) = __pyx_v_ckern;

  /* "cuda/cuda.pyx":7004
 *     def kern(self):
 *         return self._kern
 *     @kern.setter             # <<<<<<<<<<<<<<
 *     def kern(self, kern):
 *         cdef ccuda.CUkernel ckern
 */

  /* 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.cuda.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_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7016
 *             ckern = <ccuda.CUkernel><void_ptr>pkern
 *         self._kern._ptr[0] = ckern
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7016, 0, __PYX_ERR(1, 7016, __pyx_L1_error));

  /* "cuda/cuda.pyx":7018
 *     @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/cuda.pyx":7016
 *             ckern = <ccuda.CUkernel><void_ptr>pkern
 *         self._kern._ptr[0] = ckern
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.ctx.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7019
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ctx); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cctx;
  PyObject *__pyx_v_pctx = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7019, 0, __PYX_ERR(1, 7019, __pyx_L1_error));

  /* "cuda/cuda.pyx":7022
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7023
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 */
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":7022
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7024
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7025
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7025, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7026
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         else:
 *             pctx = int(CUcontext(ctx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7026, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":7024
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7028
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         else:
 *             pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         self._ctx._ptr[0] = cctx
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7028, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7028, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":7029
 *         else:
 *             pctx = int(CUcontext(ctx))
 *             cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         self._ctx._ptr[0] = cctx
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7029, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7030
 *             pctx = int(CUcontext(ctx))
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         self._ctx._ptr[0] = cctx             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_KERNEL_NODE_PARAMS_v3_st:
 */
  (__pyx_v_self->_ctx->_ptr[0]) = __pyx_v_cctx;

  /* "cuda/cuda.pyx":7019
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 */

  /* 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.cuda.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_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_10__reduce_cython__, "CUDA_KERNEL_NODE_PARAMS_v2_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__171)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__172)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7071
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7071, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 7071, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7071, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7071, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 7071, 0, __PYX_ERR(1, 7071, __pyx_L1_error));

  /* "cuda/cuda.pyx":7072
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7073
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_KERNEL_NODE_PARAMS_v3_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_KERNEL_NODE_PARAMS_v3_st__val);

    /* "cuda/cuda.pyx":7072
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7075
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_KERNEL_NODE_PARAMS_v3_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._func = CUfunction(_ptr=<void_ptr>&self._ptr[0].func)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7071
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7076
 *         else:
 *             self._ptr = <ccuda.CUDA_KERNEL_NODE_PARAMS_v3_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._func = CUfunction(_ptr=<void_ptr>&self._ptr[0].func)
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._ptr[0].kern)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7076, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 7076, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7076, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7076, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 7076, 0, __PYX_ERR(1, 7076, __pyx_L1_error));

  /* "cuda/cuda.pyx":7077
 *             self._ptr = <ccuda.CUDA_KERNEL_NODE_PARAMS_v3_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._func = CUfunction(_ptr=<void_ptr>&self._ptr[0].func)             # <<<<<<<<<<<<<<
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._ptr[0].kern)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).func))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 7077, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_func);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_func);
  __pyx_v_self->_func = ((struct __pyx_obj_4cuda_4cuda_CUfunction *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7078
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._func = CUfunction(_ptr=<void_ptr>&self._ptr[0].func)
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._ptr[0].kern)             # <<<<<<<<<<<<<<
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).kern))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 7078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUkernel), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUkernel *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":7079
 *         self._func = CUfunction(_ptr=<void_ptr>&self._ptr[0].func)
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._ptr[0].kern)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).ctx))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 7079, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __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_4cuda_CUcontext *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7076
 *         else:
 *             self._ptr = <ccuda.CUDA_KERNEL_NODE_PARAMS_v3_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._func = CUfunction(_ptr=<void_ptr>&self._ptr[0].func)
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._ptr[0].kern)
 */

  /* 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.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7080
 *         self._kern = CUkernel(_ptr=<void_ptr>&self._ptr[0].kern)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 7080, 0, __PYX_ERR(1, 7080, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":7082
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_6getPtr, "CUDA_KERNEL_NODE_PARAMS_v3_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__173)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 7082, 0, __PYX_ERR(1, 7082, __pyx_L1_error));

  /* "cuda/cuda.pyx":7083
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7082
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7084
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 7084, 0, __PYX_ERR(1, 7084, __pyx_L1_error));

  /* "cuda/cuda.pyx":7085
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7086
 *     def __repr__(self):
 *         if self._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(1, 7086, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7087
 *         if self._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/cuda.pyx":7088
 *             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_n_s_func_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7088, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7088, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_func, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7088, __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(1, 7088, __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)) __PYX_ERR(1, 7088, __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(1, 7088, __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/cuda.pyx":7087
 *         if self._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/cuda.pyx":7089
 *             try:
 *                 str_list += ['func : ' + str(self.func)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['func : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7089, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7090
 *                 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(1, 7090, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_func_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_func_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_func_ValueError)) __PYX_ERR(1, 7090, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7090, __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/cuda.pyx":7087
 *         if self._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/cuda.pyx":7091
 *             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/cuda.pyx":7092
 *                 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_n_s_gridDimX_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7092, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7092, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_gridDimX, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7092, __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(1, 7092, __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)) __PYX_ERR(1, 7092, __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(1, 7092, __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/cuda.pyx":7091
 *             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/cuda.pyx":7093
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7093, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7094
 *                 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(1, 7094, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_gridDimX_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_gridDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_gridDimX_ValueError)) __PYX_ERR(1, 7094, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7094, __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/cuda.pyx":7091
 *             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/cuda.pyx":7095
 *             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/cuda.pyx":7096
 *                 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_n_s_gridDimY_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7096, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7096, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_gridDimY, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7096, __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(1, 7096, __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)) __PYX_ERR(1, 7096, __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(1, 7096, __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/cuda.pyx":7095
 *             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/cuda.pyx":7097
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7097, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7098
 *                 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(1, 7098, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_gridDimY_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_gridDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_gridDimY_ValueError)) __PYX_ERR(1, 7098, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7098, __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/cuda.pyx":7095
 *             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/cuda.pyx":7099
 *             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/cuda.pyx":7100
 *                 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_n_s_gridDimZ_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7100, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7100, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_gridDimZ, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7100, __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(1, 7100, __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)) __PYX_ERR(1, 7100, __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(1, 7100, __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/cuda.pyx":7099
 *             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/cuda.pyx":7101
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7101, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7102
 *                 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(1, 7102, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_gridDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_gridDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_gridDimZ_ValueError)) __PYX_ERR(1, 7102, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7102, __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/cuda.pyx":7099
 *             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/cuda.pyx":7103
 *             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/cuda.pyx":7104
 *                 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_n_s_blockDimX_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7104, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7104, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_blockDimX, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7104, __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(1, 7104, __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)) __PYX_ERR(1, 7104, __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(1, 7104, __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/cuda.pyx":7103
 *             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/cuda.pyx":7105
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7105, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7106
 *                 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(1, 7106, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_blockDimX_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_blockDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_blockDimX_ValueError)) __PYX_ERR(1, 7106, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7106, __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/cuda.pyx":7103
 *             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/cuda.pyx":7107
 *             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/cuda.pyx":7108
 *                 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_n_s_blockDimY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7108, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7108, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_blockDimY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7108, __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(1, 7108, __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)) __PYX_ERR(1, 7108, __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(1, 7108, __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/cuda.pyx":7107
 *             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/cuda.pyx":7109
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7109, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7110
 *                 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(1, 7110, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_blockDimY_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_blockDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_blockDimY_ValueError)) __PYX_ERR(1, 7110, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7110, __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/cuda.pyx":7107
 *             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/cuda.pyx":7111
 *             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/cuda.pyx":7112
 *                 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_n_s_blockDimZ_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7112, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7112, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_blockDimZ, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7112, __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(1, 7112, __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)) __PYX_ERR(1, 7112, __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(1, 7112, __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/cuda.pyx":7111
 *             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/cuda.pyx":7113
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7113, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7114
 *                 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(1, 7114, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_blockDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_blockDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_blockDimZ_ValueError)) __PYX_ERR(1, 7114, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7114, __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/cuda.pyx":7111
 *             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/cuda.pyx":7115
 *             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/cuda.pyx":7116
 *                 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_n_s_sharedMemBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7116, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7116, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_sharedMemBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7116, __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(1, 7116, __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)) __PYX_ERR(1, 7116, __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(1, 7116, __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/cuda.pyx":7115
 *             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/cuda.pyx":7117
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7117, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7118
 *                 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(1, 7118, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_sharedMemBytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_sharedMemBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_sharedMemBytes_ValueError)) __PYX_ERR(1, 7118, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7118, __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/cuda.pyx":7115
 *             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/cuda.pyx":7119
 *             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/cuda.pyx":7120
 *                 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_n_s_kernelParams_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7120, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7120, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_kernelParams, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7120, __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(1, 7120, __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)) __PYX_ERR(1, 7120, __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(1, 7120, __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/cuda.pyx":7119
 *             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/cuda.pyx":7121
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7121, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7122
 *                 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(1, 7122, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_kernelParams_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_kernelParams_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_kernelParams_ValueError)) __PYX_ERR(1, 7122, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7122, __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/cuda.pyx":7119
 *             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/cuda.pyx":7123
 *             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/cuda.pyx":7124
 *                 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_n_s_extra_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7124, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7124, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_extra, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7124, __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(1, 7124, __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)) __PYX_ERR(1, 7124, __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(1, 7124, __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/cuda.pyx":7123
 *             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/cuda.pyx":7125
 *             try:
 *                 str_list += ['extra : ' + str(self.extra)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extra : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7125, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7126
 *                 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(1, 7126, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_extra_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_extra_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_extra_ValueError)) __PYX_ERR(1, 7126, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7126, __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/cuda.pyx":7123
 *             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/cuda.pyx":7127
 *             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/cuda.pyx":7128
 *                 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_n_s_kern_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7128, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7128, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_kern, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7128, __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(1, 7128, __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)) __PYX_ERR(1, 7128, __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(1, 7128, __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/cuda.pyx":7127
 *             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/cuda.pyx":7129
 *             try:
 *                 str_list += ['kern : ' + str(self.kern)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kern : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7129, __pyx_L86_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7130
 *                 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(1, 7130, __pyx_L86_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_kern_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_kern_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_kern_ValueError)) __PYX_ERR(1, 7130, __pyx_L86_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7130, __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/cuda.pyx":7127
 *             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/cuda.pyx":7131
 *             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/cuda.pyx":7132
 *                 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_n_s_ctx_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7132, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7132, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_ctx, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7132, __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(1, 7132, __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)) __PYX_ERR(1, 7132, __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(1, 7132, __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/cuda.pyx":7131
 *             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/cuda.pyx":7133
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7133, __pyx_L94_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7134
 *                 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(1, 7134, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_ctx_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_ctx_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_ctx_ValueError)) __PYX_ERR(1, 7134, __pyx_L94_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7134, __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/cuda.pyx":7131
 *             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/cuda.pyx":7135
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":7085
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":7137
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def func(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":7084
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7138
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def func(self):
 *         return self._func
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7138, 0, __PYX_ERR(1, 7138, __pyx_L1_error));

  /* "cuda/cuda.pyx":7140
 *     @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/cuda.pyx":7138
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def func(self):
 *         return self._func
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.func.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7141
 *     def func(self):
 *         return self._func
 *     @func.setter             # <<<<<<<<<<<<<<
 *     def func(self, func):
 *         cdef ccuda.CUfunction cfunc
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_func); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, PyObject *__pyx_v_func) {
  CUfunction __pyx_v_cfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7141, 0, __PYX_ERR(1, 7141, __pyx_L1_error));

  /* "cuda/cuda.pyx":7144
 *     def func(self, func):
 *         cdef ccuda.CUfunction cfunc
 *         if func is None:             # <<<<<<<<<<<<<<
 *             cfunc = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7145
 *         cdef ccuda.CUfunction cfunc
 *         if func is None:
 *             cfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)
 */
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":7144
 *     def func(self, func):
 *         cdef ccuda.CUfunction cfunc
 *         if func is None:             # <<<<<<<<<<<<<<
 *             cfunc = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7146
 *         if func is None:
 *             cfunc = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *             pfunc = int(func)
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7147
 *             cfunc = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)             # <<<<<<<<<<<<<<
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7148
 *         elif isinstance(func, (CUfunction,)):
 *             pfunc = int(func)
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *         else:
 *             pfunc = int(CUfunction(func))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7148, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":7146
 *         if func is None:
 *             cfunc = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *             pfunc = int(func)
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7150
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         else:
 *             pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         self._func._ptr[0] = cfunc
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":7151
 *         else:
 *             pfunc = int(CUfunction(func))
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *         self._func._ptr[0] = cfunc
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7151, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7152
 *             pfunc = int(CUfunction(func))
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         self._func._ptr[0] = cfunc             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimX(self):
 */
  (__pyx_v_self->_func->_ptr[0]) = __pyx_v_cfunc;

  /* "cuda/cuda.pyx":7141
 *     def func(self):
 *         return self._func
 *     @func.setter             # <<<<<<<<<<<<<<
 *     def func(self, func):
 *         cdef ccuda.CUfunction cfunc
 */

  /* 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.cuda.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_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7153
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         self._func._ptr[0] = cfunc
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7153, 0, __PYX_ERR(1, 7153, __pyx_L1_error));

  /* "cuda/cuda.pyx":7155
 *     @property
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX             # <<<<<<<<<<<<<<
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).gridDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7153
 *             cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *         self._func._ptr[0] = cfunc
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.gridDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7156
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimX); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_gridDimX); if (unlikely((__pyx_v_gridDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7157, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_gridDimX) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7156, 0, __PYX_ERR(1, 7156, __pyx_L1_error));

  /* "cuda/cuda.pyx":7158
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimY(self):
 */
  (__pyx_v_self->_ptr[0]).gridDimX = __pyx_v_gridDimX;

  /* "cuda/cuda.pyx":7156
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.gridDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7159
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7159, 0, __PYX_ERR(1, 7159, __pyx_L1_error));

  /* "cuda/cuda.pyx":7161
 *     @property
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY             # <<<<<<<<<<<<<<
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).gridDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7159
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.gridDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7162
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimY); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_gridDimY); if (unlikely((__pyx_v_gridDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7163, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_gridDimY) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7162, 0, __PYX_ERR(1, 7162, __pyx_L1_error));

  /* "cuda/cuda.pyx":7164
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimZ(self):
 */
  (__pyx_v_self->_ptr[0]).gridDimY = __pyx_v_gridDimY;

  /* "cuda/cuda.pyx":7162
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.gridDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7165
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7165, 0, __PYX_ERR(1, 7165, __pyx_L1_error));

  /* "cuda/cuda.pyx":7167
 *     @property
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ             # <<<<<<<<<<<<<<
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).gridDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7165
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.gridDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7168
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimZ); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_gridDimZ); if (unlikely((__pyx_v_gridDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7169, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7168, 0, __PYX_ERR(1, 7168, __pyx_L1_error));

  /* "cuda/cuda.pyx":7170
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimX(self):
 */
  (__pyx_v_self->_ptr[0]).gridDimZ = __pyx_v_gridDimZ;

  /* "cuda/cuda.pyx":7168
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.gridDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7171
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7171, 0, __PYX_ERR(1, 7171, __pyx_L1_error));

  /* "cuda/cuda.pyx":7173
 *     @property
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX             # <<<<<<<<<<<<<<
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).blockDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7171
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.blockDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7174
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimX); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_blockDimX); if (unlikely((__pyx_v_blockDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7175, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_blockDimX) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7174, 0, __PYX_ERR(1, 7174, __pyx_L1_error));

  /* "cuda/cuda.pyx":7176
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimY(self):
 */
  (__pyx_v_self->_ptr[0]).blockDimX = __pyx_v_blockDimX;

  /* "cuda/cuda.pyx":7174
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.blockDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7177
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7177, 0, __PYX_ERR(1, 7177, __pyx_L1_error));

  /* "cuda/cuda.pyx":7179
 *     @property
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY             # <<<<<<<<<<<<<<
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).blockDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7177
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.blockDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7180
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimY); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_blockDimY); if (unlikely((__pyx_v_blockDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7181, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_blockDimY) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7180, 0, __PYX_ERR(1, 7180, __pyx_L1_error));

  /* "cuda/cuda.pyx":7182
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimZ(self):
 */
  (__pyx_v_self->_ptr[0]).blockDimY = __pyx_v_blockDimY;

  /* "cuda/cuda.pyx":7180
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.blockDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7183
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7183, 0, __PYX_ERR(1, 7183, __pyx_L1_error));

  /* "cuda/cuda.pyx":7185
 *     @property
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ             # <<<<<<<<<<<<<<
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).blockDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7183
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.blockDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7186
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimZ); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_blockDimZ); if (unlikely((__pyx_v_blockDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7187, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7186, 0, __PYX_ERR(1, 7186, __pyx_L1_error));

  /* "cuda/cuda.pyx":7188
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedMemBytes(self):
 */
  (__pyx_v_self->_ptr[0]).blockDimZ = __pyx_v_blockDimZ;

  /* "cuda/cuda.pyx":7186
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.blockDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7189
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7189, 0, __PYX_ERR(1, 7189, __pyx_L1_error));

  /* "cuda/cuda.pyx":7191
 *     @property
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes             # <<<<<<<<<<<<<<
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).sharedMemBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7189
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.sharedMemBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7192
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemBytes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_sharedMemBytes); if (unlikely((__pyx_v_sharedMemBytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7193, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7192, 0, __PYX_ERR(1, 7192, __pyx_L1_error));

  /* "cuda/cuda.pyx":7194
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def kernelParams(self):
 */
  (__pyx_v_self->_ptr[0]).sharedMemBytes = __pyx_v_sharedMemBytes;

  /* "cuda/cuda.pyx":7192
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.sharedMemBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7195
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7195, 0, __PYX_ERR(1, 7195, __pyx_L1_error));

  /* "cuda/cuda.pyx":7197
 *     @property
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams             # <<<<<<<<<<<<<<
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).kernelParams)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7195
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.kernelParams.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7198
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams
 *     @kernelParams.setter             # <<<<<<<<<<<<<<
 *     def kernelParams(self, kernelParams):
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kernelParams); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, PyObject *__pyx_v_kernelParams) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7198, 0, __PYX_ERR(1, 7198, __pyx_L1_error));

  /* "cuda/cuda.pyx":7200
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)             # <<<<<<<<<<<<<<
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperKernelParams), __pyx_v_kernelParams); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_ckernelParams);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_ckernelParams);
  __pyx_v_self->_ckernelParams = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":7201
 *     def kernelParams(self, kernelParams):
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams             # <<<<<<<<<<<<<<
 *     @property
 *     def extra(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_ckernelParams), __pyx_n_s_ckernelParams); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).kernelParams = ((void **)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":7198
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams
 *     @kernelParams.setter             # <<<<<<<<<<<<<<
 *     def kernelParams(self, kernelParams):
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.kernelParams.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7202
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams
 *     @property             # <<<<<<<<<<<<<<
 *     def extra(self):
 *         return <void_ptr>self._ptr[0].extra
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7202, 0, __PYX_ERR(1, 7202, __pyx_L1_error));

  /* "cuda/cuda.pyx":7204
 *     @property
 *     def extra(self):
 *         return <void_ptr>self._ptr[0].extra             # <<<<<<<<<<<<<<
 *     @extra.setter
 *     def extra(self, void_ptr extra):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).extra)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7202
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams
 *     @property             # <<<<<<<<<<<<<<
 *     def extra(self):
 *         return <void_ptr>self._ptr[0].extra
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.extra.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7205
 *     def extra(self):
 *         return <void_ptr>self._ptr[0].extra
 *     @extra.setter             # <<<<<<<<<<<<<<
 *     def extra(self, void_ptr extra):
 *         self._ptr[0].extra = <void**>extra
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extra); /*proto*/
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extra) {
  __pyx_t_4cuda_4cuda_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_extra); if (unlikely((__pyx_v_extra == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7206, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), ((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_extra));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_extra) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7205, 0, __PYX_ERR(1, 7205, __pyx_L1_error));

  /* "cuda/cuda.pyx":7207
 *     @extra.setter
 *     def extra(self, void_ptr extra):
 *         self._ptr[0].extra = <void**>extra             # <<<<<<<<<<<<<<
 *     @property
 *     def kern(self):
 */
  (__pyx_v_self->_ptr[0]).extra = ((void **)__pyx_v_extra);

  /* "cuda/cuda.pyx":7205
 *     def extra(self):
 *         return <void_ptr>self._ptr[0].extra
 *     @extra.setter             # <<<<<<<<<<<<<<
 *     def extra(self, void_ptr extra):
 *         self._ptr[0].extra = <void**>extra
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.extra.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7208
 *     def extra(self, void_ptr extra):
 *         self._ptr[0].extra = <void**>extra
 *     @property             # <<<<<<<<<<<<<<
 *     def kern(self):
 *         return self._kern
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7208, 0, __PYX_ERR(1, 7208, __pyx_L1_error));

  /* "cuda/cuda.pyx":7210
 *     @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/cuda.pyx":7208
 *     def extra(self, void_ptr extra):
 *         self._ptr[0].extra = <void**>extra
 *     @property             # <<<<<<<<<<<<<<
 *     def kern(self):
 *         return self._kern
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.kern.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7211
 *     def kern(self):
 *         return self._kern
 *     @kern.setter             # <<<<<<<<<<<<<<
 *     def kern(self, kern):
 *         cdef ccuda.CUkernel ckern
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kern); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, PyObject *__pyx_v_kern) {
  CUkernel __pyx_v_ckern;
  PyObject *__pyx_v_pkern = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7211, 0, __PYX_ERR(1, 7211, __pyx_L1_error));

  /* "cuda/cuda.pyx":7214
 *     def kern(self, kern):
 *         cdef ccuda.CUkernel ckern
 *         if kern is None:             # <<<<<<<<<<<<<<
 *             ckern = <ccuda.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):
 */
  __pyx_t_1 = (__pyx_v_kern == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7215
 *         cdef ccuda.CUkernel ckern
 *         if kern is None:
 *             ckern = <ccuda.CUkernel><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(kern, (CUkernel,)):
 *             pkern = int(kern)
 */
    __pyx_v_ckern = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":7214
 *     def kern(self, kern):
 *         cdef ccuda.CUkernel ckern
 *         if kern is None:             # <<<<<<<<<<<<<<
 *             ckern = <ccuda.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7216
 *         if kern is None:
 *             ckern = <ccuda.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):             # <<<<<<<<<<<<<<
 *             pkern = int(kern)
 *             ckern = <ccuda.CUkernel><void_ptr>pkern
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_kern, __pyx_ptype_4cuda_4cuda_CUkernel); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7217
 *             ckern = <ccuda.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):
 *             pkern = int(kern)             # <<<<<<<<<<<<<<
 *             ckern = <ccuda.CUkernel><void_ptr>pkern
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_kern); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7217, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pkern = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7218
 *         elif isinstance(kern, (CUkernel,)):
 *             pkern = int(kern)
 *             ckern = <ccuda.CUkernel><void_ptr>pkern             # <<<<<<<<<<<<<<
 *         else:
 *             pkern = int(CUkernel(kern))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pkern); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7218, __pyx_L1_error)
    __pyx_v_ckern = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":7216
 *         if kern is None:
 *             ckern = <ccuda.CUkernel><void_ptr>0
 *         elif isinstance(kern, (CUkernel,)):             # <<<<<<<<<<<<<<
 *             pkern = int(kern)
 *             ckern = <ccuda.CUkernel><void_ptr>pkern
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7220
 *             ckern = <ccuda.CUkernel><void_ptr>pkern
 *         else:
 *             pkern = int(CUkernel(kern))             # <<<<<<<<<<<<<<
 *             ckern = <ccuda.CUkernel><void_ptr>pkern
 *         self._kern._ptr[0] = ckern
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUkernel), __pyx_v_kern); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pkern = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":7221
 *         else:
 *             pkern = int(CUkernel(kern))
 *             ckern = <ccuda.CUkernel><void_ptr>pkern             # <<<<<<<<<<<<<<
 *         self._kern._ptr[0] = ckern
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pkern); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7221, __pyx_L1_error)
    __pyx_v_ckern = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7222
 *             pkern = int(CUkernel(kern))
 *             ckern = <ccuda.CUkernel><void_ptr>pkern
 *         self._kern._ptr[0] = ckern             # <<<<<<<<<<<<<<
 *     @property
 *     def ctx(self):
 */
  (__pyx_v_self->_kern->_ptr[0]) = __pyx_v_ckern;

  /* "cuda/cuda.pyx":7211
 *     def kern(self):
 *         return self._kern
 *     @kern.setter             # <<<<<<<<<<<<<<
 *     def kern(self, kern):
 *         cdef ccuda.CUkernel ckern
 */

  /* 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.cuda.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_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7223
 *             ckern = <ccuda.CUkernel><void_ptr>pkern
 *         self._kern._ptr[0] = ckern
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx___get__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7223, 0, __PYX_ERR(1, 7223, __pyx_L1_error));

  /* "cuda/cuda.pyx":7225
 *     @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/cuda.pyx":7223
 *             ckern = <ccuda.CUkernel><void_ptr>pkern
 *         self._kern._ptr[0] = ckern
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.ctx.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7226
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ctx); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cctx;
  PyObject *__pyx_v_pctx = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7226, 0, __PYX_ERR(1, 7226, __pyx_L1_error));

  /* "cuda/cuda.pyx":7229
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7230
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 */
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":7229
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7231
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7232
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7233
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         else:
 *             pctx = int(CUcontext(ctx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7233, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":7231
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7235
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         else:
 *             pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         self._ctx._ptr[0] = cctx
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7235, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":7236
 *         else:
 *             pctx = int(CUcontext(ctx))
 *             cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         self._ctx._ptr[0] = cctx
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7236, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7237
 *             pctx = int(CUcontext(ctx))
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         self._ctx._ptr[0] = cctx             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_MEMSET_NODE_PARAMS_st:
 */
  (__pyx_v_self->_ctx->_ptr[0]) = __pyx_v_cctx;

  /* "cuda/cuda.pyx":7226
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 */

  /* 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.cuda.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_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_10__reduce_cython__, "CUDA_KERNEL_NODE_PARAMS_v3_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__174)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__175)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7264
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7264, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 7264, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7264, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7264, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 7264, 0, __PYX_ERR(1, 7264, __pyx_L1_error));

  /* "cuda/cuda.pyx":7265
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7266
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMSET_NODE_PARAMS_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_MEMSET_NODE_PARAMS_st__val);

    /* "cuda/cuda.pyx":7265
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7268
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMSET_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dst)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7264
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7269
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMSET_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dst)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7269, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 7269, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7269, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7269, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 7269, 0, __PYX_ERR(1, 7269, __pyx_L1_error));

  /* "cuda/cuda.pyx":7270
 *             self._ptr = <ccuda.CUDA_MEMSET_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dst)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).dst))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 7270, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dst);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dst);
  __pyx_v_self->_dst = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7269
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMSET_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dst)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUDA_MEMSET_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7271
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dst)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 7271, 0, __PYX_ERR(1, 7271, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":7273
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_6getPtr, "CUDA_MEMSET_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__176)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 7273, 0, __PYX_ERR(1, 7273, __pyx_L1_error));

  /* "cuda/cuda.pyx":7274
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7273
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7275
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 7275, 0, __PYX_ERR(1, 7275, __pyx_L1_error));

  /* "cuda/cuda.pyx":7276
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7277
 *     def __repr__(self):
 *         if self._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(1, 7277, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7278
 *         if self._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/cuda.pyx":7279
 *             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_n_s_dst_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7279, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7279, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dst, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7279, __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(1, 7279, __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)) __PYX_ERR(1, 7279, __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(1, 7279, __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/cuda.pyx":7278
 *         if self._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/cuda.pyx":7280
 *             try:
 *                 str_list += ['dst : ' + str(self.dst)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7280, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7281
 *                 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(1, 7281, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_dst_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dst_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_dst_ValueError)) __PYX_ERR(1, 7281, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7281, __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/cuda.pyx":7278
 *         if self._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/cuda.pyx":7282
 *             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/cuda.pyx":7283
 *                 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_n_s_pitch_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7283, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7283, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_pitch, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7283, __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(1, 7283, __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)) __PYX_ERR(1, 7283, __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(1, 7283, __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/cuda.pyx":7282
 *             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/cuda.pyx":7284
 *             try:
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7284, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7285
 *                 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(1, 7285, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_pitch_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_pitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_pitch_ValueError)) __PYX_ERR(1, 7285, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7285, __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/cuda.pyx":7282
 *             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/cuda.pyx":7286
 *             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/cuda.pyx":7287
 *                 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_n_s_value_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7287, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7287, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_value, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7287, __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(1, 7287, __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)) __PYX_ERR(1, 7287, __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(1, 7287, __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/cuda.pyx":7286
 *             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/cuda.pyx":7288
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7288, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7289
 *                 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(1, 7289, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_value_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_value_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_value_ValueError)) __PYX_ERR(1, 7289, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7289, __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/cuda.pyx":7286
 *             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/cuda.pyx":7290
 *             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/cuda.pyx":7291
 *                 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_n_s_elementSize_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7291, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7291, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_elementSize, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7291, __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(1, 7291, __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)) __PYX_ERR(1, 7291, __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(1, 7291, __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/cuda.pyx":7290
 *             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/cuda.pyx":7292
 *             try:
 *                 str_list += ['elementSize : ' + str(self.elementSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['elementSize : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7292, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7293
 *                 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(1, 7293, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_elementSize_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_elementSize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_elementSize_ValueError)) __PYX_ERR(1, 7293, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7293, __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/cuda.pyx":7290
 *             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/cuda.pyx":7294
 *             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/cuda.pyx":7295
 *                 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_n_s_width_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7295, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7295, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_width, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7295, __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(1, 7295, __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)) __PYX_ERR(1, 7295, __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(1, 7295, __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/cuda.pyx":7294
 *             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/cuda.pyx":7296
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7296, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7297
 *                 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(1, 7297, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_width_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_width_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_width_ValueError)) __PYX_ERR(1, 7297, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7297, __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/cuda.pyx":7294
 *             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/cuda.pyx":7298
 *             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/cuda.pyx":7299
 *                 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_n_s_height_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7299, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7299, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_height, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7299, __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(1, 7299, __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)) __PYX_ERR(1, 7299, __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(1, 7299, __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/cuda.pyx":7298
 *             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/cuda.pyx":7300
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7300, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7301
 *                 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(1, 7301, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_height_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_height_ValueError)) __PYX_ERR(1, 7301, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7301, __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/cuda.pyx":7298
 *             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/cuda.pyx":7302
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7302, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":7276
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":7304
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def dst(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":7275
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7305
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def dst(self):
 *         return self._dst
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_3dst_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_3dst___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_3dst___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7305, 0, __PYX_ERR(1, 7305, __pyx_L1_error));

  /* "cuda/cuda.pyx":7307
 *     @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/cuda.pyx":7305
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def dst(self):
 *         return self._dst
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_st.dst.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7308
 *     def dst(self):
 *         return self._dst
 *     @dst.setter             # <<<<<<<<<<<<<<
 *     def dst(self, dst):
 *         cdef ccuda.CUdeviceptr cdst
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_3dst_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dst); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_3dst_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_3dst_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_dst) {
  CUdeviceptr __pyx_v_cdst;
  PyObject *__pyx_v_pdst = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7308, 0, __PYX_ERR(1, 7308, __pyx_L1_error));

  /* "cuda/cuda.pyx":7311
 *     def dst(self, dst):
 *         cdef ccuda.CUdeviceptr cdst
 *         if dst is None:             # <<<<<<<<<<<<<<
 *             cdst = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):
 */
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7312
 *         cdef ccuda.CUdeviceptr cdst
 *         if dst is None:
 *             cdst = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dst, (CUdeviceptr)):
 *             pdst = int(dst)
 */
    __pyx_v_cdst = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":7311
 *     def dst(self, dst):
 *         cdef ccuda.CUdeviceptr cdst
 *         if dst is None:             # <<<<<<<<<<<<<<
 *             cdst = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7313
 *         if dst is None:
 *             cdst = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdst = int(dst)
 *             cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7314
 *             cdst = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):
 *             pdst = int(dst)             # <<<<<<<<<<<<<<
 *             cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdst = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7315
 *         elif isinstance(dst, (CUdeviceptr)):
 *             pdst = int(dst)
 *             cdst = <ccuda.CUdeviceptr><void_ptr>pdst             # <<<<<<<<<<<<<<
 *         else:
 *             pdst = int(CUdeviceptr(dst))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7315, __pyx_L1_error)
    __pyx_v_cdst = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":7313
 *         if dst is None:
 *             cdst = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdst = int(dst)
 *             cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7317
 *             cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *         else:
 *             pdst = int(CUdeviceptr(dst))             # <<<<<<<<<<<<<<
 *             cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *         self._dst._ptr[0] = cdst
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dst); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7317, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7317, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdst = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":7318
 *         else:
 *             pdst = int(CUdeviceptr(dst))
 *             cdst = <ccuda.CUdeviceptr><void_ptr>pdst             # <<<<<<<<<<<<<<
 *         self._dst._ptr[0] = cdst
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7318, __pyx_L1_error)
    __pyx_v_cdst = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7319
 *             pdst = int(CUdeviceptr(dst))
 *             cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *         self._dst._ptr[0] = cdst             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_dst->_ptr[0]) = __pyx_v_cdst;

  /* "cuda/cuda.pyx":7308
 *     def dst(self):
 *         return self._dst
 *     @dst.setter             # <<<<<<<<<<<<<<
 *     def dst(self, dst):
 *         cdef ccuda.CUdeviceptr cdst
 */

  /* 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.cuda.CUDA_MEMSET_NODE_PARAMS_st.dst.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdst);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7321
 *         self._dst._ptr[0] = cdst
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pitch(self):
 *         return self._ptr[0].pitch
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5pitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5pitch___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5pitch___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7321, 0, __PYX_ERR(1, 7321, __pyx_L1_error));

  /* "cuda/cuda.pyx":7323
 *     @property
 *     def pitch(self):
 *         return self._ptr[0].pitch             # <<<<<<<<<<<<<<
 *     @pitch.setter
 *     def pitch(self, size_t pitch):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).pitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7321
 *         self._dst._ptr[0] = cdst
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pitch(self):
 *         return self._ptr[0].pitch
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_st.pitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7324
 *     def pitch(self):
 *         return self._ptr[0].pitch
 *     @pitch.setter             # <<<<<<<<<<<<<<
 *     def pitch(self, size_t pitch):
 *         self._ptr[0].pitch = pitch
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5pitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitch); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_pitch); if (unlikely((__pyx_v_pitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 7325, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5pitch_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5pitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, size_t __pyx_v_pitch) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7324, 0, __PYX_ERR(1, 7324, __pyx_L1_error));

  /* "cuda/cuda.pyx":7326
 *     @pitch.setter
 *     def pitch(self, size_t pitch):
 *         self._ptr[0].pitch = pitch             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
 */
  (__pyx_v_self->_ptr[0]).pitch = __pyx_v_pitch;

  /* "cuda/cuda.pyx":7324
 *     def pitch(self):
 *         return self._ptr[0].pitch
 *     @pitch.setter             # <<<<<<<<<<<<<<
 *     def pitch(self, size_t pitch):
 *         self._ptr[0].pitch = pitch
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_st.pitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7327
 *     def pitch(self, size_t pitch):
 *         self._ptr[0].pitch = pitch
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._ptr[0].value
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5value___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5value___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7327, 0, __PYX_ERR(1, 7327, __pyx_L1_error));

  /* "cuda/cuda.pyx":7329
 *     @property
 *     def value(self):
 *         return self._ptr[0].value             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, unsigned int value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7327
 *     def pitch(self, size_t pitch):
 *         self._ptr[0].pitch = pitch
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._ptr[0].value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_st.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7330
 *     def value(self):
 *         return self._ptr[0].value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, unsigned int value):
 *         self._ptr[0].value = value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7331, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5value_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5value_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_value) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7330, 0, __PYX_ERR(1, 7330, __pyx_L1_error));

  /* "cuda/cuda.pyx":7332
 *     @value.setter
 *     def value(self, unsigned int value):
 *         self._ptr[0].value = value             # <<<<<<<<<<<<<<
 *     @property
 *     def elementSize(self):
 */
  (__pyx_v_self->_ptr[0]).value = __pyx_v_value;

  /* "cuda/cuda.pyx":7330
 *     def value(self):
 *         return self._ptr[0].value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, unsigned int value):
 *         self._ptr[0].value = value
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_st.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7333
 *     def value(self, unsigned int value):
 *         self._ptr[0].value = value
 *     @property             # <<<<<<<<<<<<<<
 *     def elementSize(self):
 *         return self._ptr[0].elementSize
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7333, 0, __PYX_ERR(1, 7333, __pyx_L1_error));

  /* "cuda/cuda.pyx":7335
 *     @property
 *     def elementSize(self):
 *         return self._ptr[0].elementSize             # <<<<<<<<<<<<<<
 *     @elementSize.setter
 *     def elementSize(self, unsigned int elementSize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).elementSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7333
 *     def value(self, unsigned int value):
 *         self._ptr[0].value = value
 *     @property             # <<<<<<<<<<<<<<
 *     def elementSize(self):
 *         return self._ptr[0].elementSize
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_st.elementSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7336
 *     def elementSize(self):
 *         return self._ptr[0].elementSize
 *     @elementSize.setter             # <<<<<<<<<<<<<<
 *     def elementSize(self, unsigned int elementSize):
 *         self._ptr[0].elementSize = elementSize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_elementSize); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_elementSize); if (unlikely((__pyx_v_elementSize == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7337, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_elementSize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7336, 0, __PYX_ERR(1, 7336, __pyx_L1_error));

  /* "cuda/cuda.pyx":7338
 *     @elementSize.setter
 *     def elementSize(self, unsigned int elementSize):
 *         self._ptr[0].elementSize = elementSize             # <<<<<<<<<<<<<<
 *     @property
 *     def width(self):
 */
  (__pyx_v_self->_ptr[0]).elementSize = __pyx_v_elementSize;

  /* "cuda/cuda.pyx":7336
 *     def elementSize(self):
 *         return self._ptr[0].elementSize
 *     @elementSize.setter             # <<<<<<<<<<<<<<
 *     def elementSize(self, unsigned int elementSize):
 *         self._ptr[0].elementSize = elementSize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_st.elementSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7339
 *     def elementSize(self, unsigned int elementSize):
 *         self._ptr[0].elementSize = elementSize
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._ptr[0].width
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5width___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5width___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7339, 0, __PYX_ERR(1, 7339, __pyx_L1_error));

  /* "cuda/cuda.pyx":7341
 *     @property
 *     def width(self):
 *         return self._ptr[0].width             # <<<<<<<<<<<<<<
 *     @width.setter
 *     def width(self, size_t width):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).width); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7339
 *     def elementSize(self, unsigned int elementSize):
 *         self._ptr[0].elementSize = elementSize
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._ptr[0].width
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_st.width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7342
 *     def width(self):
 *         return self._ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._ptr[0].width = width
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_width); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 7343, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5width_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5width_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, size_t __pyx_v_width) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7342, 0, __PYX_ERR(1, 7342, __pyx_L1_error));

  /* "cuda/cuda.pyx":7344
 *     @width.setter
 *     def width(self, size_t width):
 *         self._ptr[0].width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
 */
  (__pyx_v_self->_ptr[0]).width = __pyx_v_width;

  /* "cuda/cuda.pyx":7342
 *     def width(self):
 *         return self._ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._ptr[0].width = width
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_st.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7345
 *     def width(self, size_t width):
 *         self._ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._ptr[0].height
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_6height___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_6height___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7345, 0, __PYX_ERR(1, 7345, __pyx_L1_error));

  /* "cuda/cuda.pyx":7347
 *     @property
 *     def height(self):
 *         return self._ptr[0].height             # <<<<<<<<<<<<<<
 *     @height.setter
 *     def height(self, size_t height):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).height); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7345
 *     def width(self, size_t width):
 *         self._ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._ptr[0].height
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_st.height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7348
 *     def height(self):
 *         return self._ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._ptr[0].height = height
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_height); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 7349, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_6height_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_6height_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, size_t __pyx_v_height) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7348, 0, __PYX_ERR(1, 7348, __pyx_L1_error));

  /* "cuda/cuda.pyx":7350
 *     @height.setter
 *     def height(self, size_t height):
 *         self._ptr[0].height = height             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_MEMSET_NODE_PARAMS_v2_st:
 */
  (__pyx_v_self->_ptr[0]).height = __pyx_v_height;

  /* "cuda/cuda.pyx":7348
 *     def height(self):
 *         return self._ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._ptr[0].height = height
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_st.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_10__reduce_cython__, "CUDA_MEMSET_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__177)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_12__setstate_cython__, "CUDA_MEMSET_NODE_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__178)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7379
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7379, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 7379, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7379, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7379, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 7379, 0, __PYX_ERR(1, 7379, __pyx_L1_error));

  /* "cuda/cuda.pyx":7380
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7381
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMSET_NODE_PARAMS_v2_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_MEMSET_NODE_PARAMS_v2_st__val);

    /* "cuda/cuda.pyx":7380
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7383
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMSET_NODE_PARAMS_v2_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dst)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7379
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7384
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMSET_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dst)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7384, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 7384, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7384, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7384, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 7384, 0, __PYX_ERR(1, 7384, __pyx_L1_error));

  /* "cuda/cuda.pyx":7385
 *             self._ptr = <ccuda.CUDA_MEMSET_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dst)             # <<<<<<<<<<<<<<
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).dst))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 7385, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dst);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dst);
  __pyx_v_self->_dst = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7386
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dst)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).ctx))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 7386, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":7384
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMSET_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dst)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._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_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7387
 *         self._dst = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dst)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 7387, 0, __PYX_ERR(1, 7387, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":7389
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_6getPtr, "CUDA_MEMSET_NODE_PARAMS_v2_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__179)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 7389, 0, __PYX_ERR(1, 7389, __pyx_L1_error));

  /* "cuda/cuda.pyx":7390
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7389
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7391
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 7391, 0, __PYX_ERR(1, 7391, __pyx_L1_error));

  /* "cuda/cuda.pyx":7392
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7393
 *     def __repr__(self):
 *         if self._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(1, 7393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7394
 *         if self._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/cuda.pyx":7395
 *             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_n_s_dst_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7395, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7395, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dst, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7395, __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(1, 7395, __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)) __PYX_ERR(1, 7395, __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(1, 7395, __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/cuda.pyx":7394
 *         if self._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/cuda.pyx":7396
 *             try:
 *                 str_list += ['dst : ' + str(self.dst)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dst : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7396, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7397
 *                 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(1, 7397, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_dst_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dst_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_dst_ValueError)) __PYX_ERR(1, 7397, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7397, __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/cuda.pyx":7394
 *         if self._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/cuda.pyx":7398
 *             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/cuda.pyx":7399
 *                 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_n_s_pitch_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7399, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7399, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_pitch, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7399, __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(1, 7399, __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)) __PYX_ERR(1, 7399, __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(1, 7399, __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/cuda.pyx":7398
 *             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/cuda.pyx":7400
 *             try:
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7400, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7401
 *                 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(1, 7401, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_pitch_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_pitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_pitch_ValueError)) __PYX_ERR(1, 7401, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7401, __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/cuda.pyx":7398
 *             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/cuda.pyx":7402
 *             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/cuda.pyx":7403
 *                 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_n_s_value_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7403, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7403, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_value, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7403, __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(1, 7403, __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)) __PYX_ERR(1, 7403, __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(1, 7403, __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/cuda.pyx":7402
 *             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/cuda.pyx":7404
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7404, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7405
 *                 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(1, 7405, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_value_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_value_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_value_ValueError)) __PYX_ERR(1, 7405, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7405, __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/cuda.pyx":7402
 *             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/cuda.pyx":7406
 *             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/cuda.pyx":7407
 *                 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_n_s_elementSize_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7407, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7407, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_elementSize, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7407, __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(1, 7407, __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)) __PYX_ERR(1, 7407, __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(1, 7407, __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/cuda.pyx":7406
 *             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/cuda.pyx":7408
 *             try:
 *                 str_list += ['elementSize : ' + str(self.elementSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['elementSize : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7408, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7409
 *                 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(1, 7409, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_elementSize_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_elementSize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_elementSize_ValueError)) __PYX_ERR(1, 7409, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7409, __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/cuda.pyx":7406
 *             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/cuda.pyx":7410
 *             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/cuda.pyx":7411
 *                 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_n_s_width_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7411, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7411, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_width, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7411, __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(1, 7411, __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)) __PYX_ERR(1, 7411, __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(1, 7411, __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/cuda.pyx":7410
 *             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/cuda.pyx":7412
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7412, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7413
 *                 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(1, 7413, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_width_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_width_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_width_ValueError)) __PYX_ERR(1, 7413, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7413, __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/cuda.pyx":7410
 *             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/cuda.pyx":7414
 *             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/cuda.pyx":7415
 *                 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_n_s_height_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7415, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7415, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_height, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7415, __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(1, 7415, __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)) __PYX_ERR(1, 7415, __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(1, 7415, __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/cuda.pyx":7414
 *             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/cuda.pyx":7416
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7416, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7417
 *                 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(1, 7417, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_height_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_height_ValueError)) __PYX_ERR(1, 7417, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7417, __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/cuda.pyx":7414
 *             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/cuda.pyx":7418
 *             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/cuda.pyx":7419
 *                 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_n_s_ctx_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7419, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7419, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_ctx, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7419, __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(1, 7419, __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)) __PYX_ERR(1, 7419, __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(1, 7419, __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/cuda.pyx":7418
 *             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/cuda.pyx":7420
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7420, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7421
 *                 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(1, 7421, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_ctx_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_ctx_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_ctx_ValueError)) __PYX_ERR(1, 7421, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7421, __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/cuda.pyx":7418
 *             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/cuda.pyx":7422
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7422, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":7392
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":7424
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def dst(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":7391
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7425
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def dst(self):
 *         return self._dst
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7425, 0, __PYX_ERR(1, 7425, __pyx_L1_error));

  /* "cuda/cuda.pyx":7427
 *     @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/cuda.pyx":7425
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def dst(self):
 *         return self._dst
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.dst.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7428
 *     def dst(self):
 *         return self._dst
 *     @dst.setter             # <<<<<<<<<<<<<<
 *     def dst(self, dst):
 *         cdef ccuda.CUdeviceptr cdst
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dst); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_dst) {
  CUdeviceptr __pyx_v_cdst;
  PyObject *__pyx_v_pdst = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7428, 0, __PYX_ERR(1, 7428, __pyx_L1_error));

  /* "cuda/cuda.pyx":7431
 *     def dst(self, dst):
 *         cdef ccuda.CUdeviceptr cdst
 *         if dst is None:             # <<<<<<<<<<<<<<
 *             cdst = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):
 */
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7432
 *         cdef ccuda.CUdeviceptr cdst
 *         if dst is None:
 *             cdst = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dst, (CUdeviceptr)):
 *             pdst = int(dst)
 */
    __pyx_v_cdst = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":7431
 *     def dst(self, dst):
 *         cdef ccuda.CUdeviceptr cdst
 *         if dst is None:             # <<<<<<<<<<<<<<
 *             cdst = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7433
 *         if dst is None:
 *             cdst = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdst = int(dst)
 *             cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7434
 *             cdst = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):
 *             pdst = int(dst)             # <<<<<<<<<<<<<<
 *             cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdst = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7435
 *         elif isinstance(dst, (CUdeviceptr)):
 *             pdst = int(dst)
 *             cdst = <ccuda.CUdeviceptr><void_ptr>pdst             # <<<<<<<<<<<<<<
 *         else:
 *             pdst = int(CUdeviceptr(dst))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7435, __pyx_L1_error)
    __pyx_v_cdst = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":7433
 *         if dst is None:
 *             cdst = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dst, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdst = int(dst)
 *             cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7437
 *             cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *         else:
 *             pdst = int(CUdeviceptr(dst))             # <<<<<<<<<<<<<<
 *             cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *         self._dst._ptr[0] = cdst
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dst); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7437, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7437, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdst = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":7438
 *         else:
 *             pdst = int(CUdeviceptr(dst))
 *             cdst = <ccuda.CUdeviceptr><void_ptr>pdst             # <<<<<<<<<<<<<<
 *         self._dst._ptr[0] = cdst
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7438, __pyx_L1_error)
    __pyx_v_cdst = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7439
 *             pdst = int(CUdeviceptr(dst))
 *             cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *         self._dst._ptr[0] = cdst             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_dst->_ptr[0]) = __pyx_v_cdst;

  /* "cuda/cuda.pyx":7428
 *     def dst(self):
 *         return self._dst
 *     @dst.setter             # <<<<<<<<<<<<<<
 *     def dst(self, dst):
 *         cdef ccuda.CUdeviceptr cdst
 */

  /* 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.cuda.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_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7441
 *         self._dst._ptr[0] = cdst
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pitch(self):
 *         return self._ptr[0].pitch
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7441, 0, __PYX_ERR(1, 7441, __pyx_L1_error));

  /* "cuda/cuda.pyx":7443
 *     @property
 *     def pitch(self):
 *         return self._ptr[0].pitch             # <<<<<<<<<<<<<<
 *     @pitch.setter
 *     def pitch(self, size_t pitch):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).pitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7441
 *         self._dst._ptr[0] = cdst
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pitch(self):
 *         return self._ptr[0].pitch
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.pitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7444
 *     def pitch(self):
 *         return self._ptr[0].pitch
 *     @pitch.setter             # <<<<<<<<<<<<<<
 *     def pitch(self, size_t pitch):
 *         self._ptr[0].pitch = pitch
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitch); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_pitch); if (unlikely((__pyx_v_pitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 7445, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_pitch) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7444, 0, __PYX_ERR(1, 7444, __pyx_L1_error));

  /* "cuda/cuda.pyx":7446
 *     @pitch.setter
 *     def pitch(self, size_t pitch):
 *         self._ptr[0].pitch = pitch             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
 */
  (__pyx_v_self->_ptr[0]).pitch = __pyx_v_pitch;

  /* "cuda/cuda.pyx":7444
 *     def pitch(self):
 *         return self._ptr[0].pitch
 *     @pitch.setter             # <<<<<<<<<<<<<<
 *     def pitch(self, size_t pitch):
 *         self._ptr[0].pitch = pitch
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.pitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7447
 *     def pitch(self, size_t pitch):
 *         self._ptr[0].pitch = pitch
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._ptr[0].value
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7447, 0, __PYX_ERR(1, 7447, __pyx_L1_error));

  /* "cuda/cuda.pyx":7449
 *     @property
 *     def value(self):
 *         return self._ptr[0].value             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, unsigned int value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7447
 *     def pitch(self, size_t pitch):
 *         self._ptr[0].pitch = pitch
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._ptr[0].value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7450
 *     def value(self):
 *         return self._ptr[0].value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, unsigned int value):
 *         self._ptr[0].value = value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_value); if (unlikely((__pyx_v_value == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7451, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_value) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7450, 0, __PYX_ERR(1, 7450, __pyx_L1_error));

  /* "cuda/cuda.pyx":7452
 *     @value.setter
 *     def value(self, unsigned int value):
 *         self._ptr[0].value = value             # <<<<<<<<<<<<<<
 *     @property
 *     def elementSize(self):
 */
  (__pyx_v_self->_ptr[0]).value = __pyx_v_value;

  /* "cuda/cuda.pyx":7450
 *     def value(self):
 *         return self._ptr[0].value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, unsigned int value):
 *         self._ptr[0].value = value
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7453
 *     def value(self, unsigned int value):
 *         self._ptr[0].value = value
 *     @property             # <<<<<<<<<<<<<<
 *     def elementSize(self):
 *         return self._ptr[0].elementSize
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7453, 0, __PYX_ERR(1, 7453, __pyx_L1_error));

  /* "cuda/cuda.pyx":7455
 *     @property
 *     def elementSize(self):
 *         return self._ptr[0].elementSize             # <<<<<<<<<<<<<<
 *     @elementSize.setter
 *     def elementSize(self, unsigned int elementSize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).elementSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7453
 *     def value(self, unsigned int value):
 *         self._ptr[0].value = value
 *     @property             # <<<<<<<<<<<<<<
 *     def elementSize(self):
 *         return self._ptr[0].elementSize
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.elementSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7456
 *     def elementSize(self):
 *         return self._ptr[0].elementSize
 *     @elementSize.setter             # <<<<<<<<<<<<<<
 *     def elementSize(self, unsigned int elementSize):
 *         self._ptr[0].elementSize = elementSize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_elementSize); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_elementSize); if (unlikely((__pyx_v_elementSize == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7457, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_elementSize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7456, 0, __PYX_ERR(1, 7456, __pyx_L1_error));

  /* "cuda/cuda.pyx":7458
 *     @elementSize.setter
 *     def elementSize(self, unsigned int elementSize):
 *         self._ptr[0].elementSize = elementSize             # <<<<<<<<<<<<<<
 *     @property
 *     def width(self):
 */
  (__pyx_v_self->_ptr[0]).elementSize = __pyx_v_elementSize;

  /* "cuda/cuda.pyx":7456
 *     def elementSize(self):
 *         return self._ptr[0].elementSize
 *     @elementSize.setter             # <<<<<<<<<<<<<<
 *     def elementSize(self, unsigned int elementSize):
 *         self._ptr[0].elementSize = elementSize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.elementSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7459
 *     def elementSize(self, unsigned int elementSize):
 *         self._ptr[0].elementSize = elementSize
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._ptr[0].width
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7459, 0, __PYX_ERR(1, 7459, __pyx_L1_error));

  /* "cuda/cuda.pyx":7461
 *     @property
 *     def width(self):
 *         return self._ptr[0].width             # <<<<<<<<<<<<<<
 *     @width.setter
 *     def width(self, size_t width):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).width); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7459
 *     def elementSize(self, unsigned int elementSize):
 *         self._ptr[0].elementSize = elementSize
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._ptr[0].width
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7462
 *     def width(self):
 *         return self._ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._ptr[0].width = width
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_width); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 7463, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_width) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7462, 0, __PYX_ERR(1, 7462, __pyx_L1_error));

  /* "cuda/cuda.pyx":7464
 *     @width.setter
 *     def width(self, size_t width):
 *         self._ptr[0].width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
 */
  (__pyx_v_self->_ptr[0]).width = __pyx_v_width;

  /* "cuda/cuda.pyx":7462
 *     def width(self):
 *         return self._ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._ptr[0].width = width
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7465
 *     def width(self, size_t width):
 *         self._ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._ptr[0].height
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7465, 0, __PYX_ERR(1, 7465, __pyx_L1_error));

  /* "cuda/cuda.pyx":7467
 *     @property
 *     def height(self):
 *         return self._ptr[0].height             # <<<<<<<<<<<<<<
 *     @height.setter
 *     def height(self, size_t height):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).height); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7465
 *     def width(self, size_t width):
 *         self._ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._ptr[0].height
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7468
 *     def height(self):
 *         return self._ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._ptr[0].height = height
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_height); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 7469, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_height) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7468, 0, __PYX_ERR(1, 7468, __pyx_L1_error));

  /* "cuda/cuda.pyx":7470
 *     @height.setter
 *     def height(self, size_t height):
 *         self._ptr[0].height = height             # <<<<<<<<<<<<<<
 *     @property
 *     def ctx(self):
 */
  (__pyx_v_self->_ptr[0]).height = __pyx_v_height;

  /* "cuda/cuda.pyx":7468
 *     def height(self):
 *         return self._ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._ptr[0].height = height
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7471
 *     def height(self, size_t height):
 *         self._ptr[0].height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7471, 0, __PYX_ERR(1, 7471, __pyx_L1_error));

  /* "cuda/cuda.pyx":7473
 *     @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/cuda.pyx":7471
 *     def height(self, size_t height):
 *         self._ptr[0].height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def ctx(self):
 *         return self._ctx
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.ctx.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7474
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ctx); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cctx;
  PyObject *__pyx_v_pctx = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7474, 0, __PYX_ERR(1, 7474, __pyx_L1_error));

  /* "cuda/cuda.pyx":7477
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7478
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 */
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":7477
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7479
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7480
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7481
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         else:
 *             pctx = int(CUcontext(ctx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7481, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":7479
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7483
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         else:
 *             pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         self._ctx._ptr[0] = cctx
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":7484
 *         else:
 *             pctx = int(CUcontext(ctx))
 *             cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         self._ctx._ptr[0] = cctx
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7484, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7485
 *             pctx = int(CUcontext(ctx))
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         self._ctx._ptr[0] = cctx             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_HOST_NODE_PARAMS_st:
 */
  (__pyx_v_self->_ctx->_ptr[0]) = __pyx_v_cctx;

  /* "cuda/cuda.pyx":7474
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 */

  /* 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.cuda.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_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_10__reduce_cython__, "CUDA_MEMSET_NODE_PARAMS_v2_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__180)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__181)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7504
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7504, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 7504, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7504, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7504, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_24CUDA_HOST_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 7504, 0, __PYX_ERR(1, 7504, __pyx_L1_error));

  /* "cuda/cuda.pyx":7505
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7506
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_HOST_NODE_PARAMS_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_HOST_NODE_PARAMS_st__val);

    /* "cuda/cuda.pyx":7505
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7508
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_HOST_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._ptr[0].fn)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_HOST_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7504
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_HOST_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7509
 *         else:
 *             self._ptr = <ccuda.CUDA_HOST_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._ptr[0].fn)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7509, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 7509, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7509, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7509, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_24CUDA_HOST_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 7509, 0, __PYX_ERR(1, 7509, __pyx_L1_error));

  /* "cuda/cuda.pyx":7510
 *             self._ptr = <ccuda.CUDA_HOST_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._ptr[0].fn)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).fn))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 7510, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUhostFn), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_fn);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_fn);
  __pyx_v_self->_fn = ((struct __pyx_obj_4cuda_4cuda_CUhostFn *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7509
 *         else:
 *             self._ptr = <ccuda.CUDA_HOST_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._ptr[0].fn)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUDA_HOST_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7511
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._ptr[0].fn)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_24CUDA_HOST_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 7511, 0, __PYX_ERR(1, 7511, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_HOST_NODE_PARAMS_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":7513
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUDA_HOST_NODE_PARAMS_st_6getPtr, "CUDA_HOST_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__182)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 7513, 0, __PYX_ERR(1, 7513, __pyx_L1_error));

  /* "cuda/cuda.pyx":7514
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7513
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_HOST_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7515
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUDA_HOST_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 7515, 0, __PYX_ERR(1, 7515, __pyx_L1_error));

  /* "cuda/cuda.pyx":7516
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7517
 *     def __repr__(self):
 *         if self._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(1, 7517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7518
 *         if self._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/cuda.pyx":7519
 *             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_n_s_fn_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7519, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7519, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_fn, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7519, __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(1, 7519, __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)) __PYX_ERR(1, 7519, __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(1, 7519, __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/cuda.pyx":7518
 *         if self._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/cuda.pyx":7520
 *             try:
 *                 str_list += ['fn : ' + str(self.fn)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fn : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7520, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7521
 *                 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(1, 7521, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_fn_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_fn_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_fn_ValueError)) __PYX_ERR(1, 7521, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7521, __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/cuda.pyx":7518
 *         if self._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/cuda.pyx":7522
 *             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/cuda.pyx":7523
 *                 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_n_s_userData_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7523, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7523, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_userData, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7523, __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(1, 7523, __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)) __PYX_ERR(1, 7523, __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(1, 7523, __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/cuda.pyx":7522
 *             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/cuda.pyx":7524
 *             try:
 *                 str_list += ['userData : ' + hex(self.userData)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['userData : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7524, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7525
 *                 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(1, 7525, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_userData_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_userData_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_userData_ValueError)) __PYX_ERR(1, 7525, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7525, __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/cuda.pyx":7522
 *             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/cuda.pyx":7526
 *             except ValueError:
 *                 str_list += ['userData : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":7516
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":7528
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def fn(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":7515
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7529
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fn(self):
 *         return self._fn
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_2fn_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUDA_HOST_NODE_PARAMS_st_2fn___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_2fn___get__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7529, 0, __PYX_ERR(1, 7529, __pyx_L1_error));

  /* "cuda/cuda.pyx":7531
 *     @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/cuda.pyx":7529
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fn(self):
 *         return self._fn
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_HOST_NODE_PARAMS_st.fn.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7532
 *     def fn(self):
 *         return self._fn
 *     @fn.setter             # <<<<<<<<<<<<<<
 *     def fn(self, fn):
 *         cdef ccuda.CUhostFn cfn
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_2fn_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fn); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_24CUDA_HOST_NODE_PARAMS_st_2fn_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_24CUDA_HOST_NODE_PARAMS_st_2fn_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_fn) {
  CUhostFn __pyx_v_cfn;
  PyObject *__pyx_v_pfn = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7532, 0, __PYX_ERR(1, 7532, __pyx_L1_error));

  /* "cuda/cuda.pyx":7535
 *     def fn(self, fn):
 *         cdef ccuda.CUhostFn cfn
 *         if fn is None:             # <<<<<<<<<<<<<<
 *             cfn = <ccuda.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):
 */
  __pyx_t_1 = (__pyx_v_fn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7536
 *         cdef ccuda.CUhostFn cfn
 *         if fn is None:
 *             cfn = <ccuda.CUhostFn><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(fn, (CUhostFn)):
 *             pfn = int(fn)
 */
    __pyx_v_cfn = ((CUhostFn)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":7535
 *     def fn(self, fn):
 *         cdef ccuda.CUhostFn cfn
 *         if fn is None:             # <<<<<<<<<<<<<<
 *             cfn = <ccuda.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7537
 *         if fn is None:
 *             cfn = <ccuda.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):             # <<<<<<<<<<<<<<
 *             pfn = int(fn)
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_fn, __pyx_ptype_4cuda_4cuda_CUhostFn); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7538
 *             cfn = <ccuda.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):
 *             pfn = int(fn)             # <<<<<<<<<<<<<<
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_fn); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7538, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7539
 *         elif isinstance(fn, (CUhostFn)):
 *             pfn = int(fn)
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn             # <<<<<<<<<<<<<<
 *         else:
 *             pfn = int(CUhostFn(fn))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7539, __pyx_L1_error)
    __pyx_v_cfn = ((CUhostFn)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":7537
 *         if fn is None:
 *             cfn = <ccuda.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):             # <<<<<<<<<<<<<<
 *             pfn = int(fn)
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7541
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn
 *         else:
 *             pfn = int(CUhostFn(fn))             # <<<<<<<<<<<<<<
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn
 *         self._fn._ptr[0] = cfn
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUhostFn), __pyx_v_fn); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfn = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":7542
 *         else:
 *             pfn = int(CUhostFn(fn))
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn             # <<<<<<<<<<<<<<
 *         self._fn._ptr[0] = cfn
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7542, __pyx_L1_error)
    __pyx_v_cfn = ((CUhostFn)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7543
 *             pfn = int(CUhostFn(fn))
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn
 *         self._fn._ptr[0] = cfn             # <<<<<<<<<<<<<<
 *     @property
 *     def userData(self):
 */
  (__pyx_v_self->_fn->_ptr[0]) = __pyx_v_cfn;

  /* "cuda/cuda.pyx":7532
 *     def fn(self):
 *         return self._fn
 *     @fn.setter             # <<<<<<<<<<<<<<
 *     def fn(self, fn):
 *         cdef ccuda.CUhostFn cfn
 */

  /* 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.cuda.CUDA_HOST_NODE_PARAMS_st.fn.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfn);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7544
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn
 *         self._fn._ptr[0] = cfn
 *     @property             # <<<<<<<<<<<<<<
 *     def userData(self):
 *         return <void_ptr>self._ptr[0].userData
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_8userData_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUDA_HOST_NODE_PARAMS_st_8userData___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_8userData___get__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7544, 0, __PYX_ERR(1, 7544, __pyx_L1_error));

  /* "cuda/cuda.pyx":7546
 *     @property
 *     def userData(self):
 *         return <void_ptr>self._ptr[0].userData             # <<<<<<<<<<<<<<
 *     @userData.setter
 *     def userData(self, userData):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).userData)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7544
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn
 *         self._fn._ptr[0] = cfn
 *     @property             # <<<<<<<<<<<<<<
 *     def userData(self):
 *         return <void_ptr>self._ptr[0].userData
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_HOST_NODE_PARAMS_st.userData.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7547
 *     def userData(self):
 *         return <void_ptr>self._ptr[0].userData
 *     @userData.setter             # <<<<<<<<<<<<<<
 *     def userData(self, userData):
 *         _cuserData = utils.HelperInputVoidPtr(userData)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_8userData_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_userData); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_24CUDA_HOST_NODE_PARAMS_st_8userData_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_24CUDA_HOST_NODE_PARAMS_st_8userData_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_userData) {
  PyObject *__pyx_v__cuserData = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7547, 0, __PYX_ERR(1, 7547, __pyx_L1_error));

  /* "cuda/cuda.pyx":7549
 *     @userData.setter
 *     def userData(self, userData):
 *         _cuserData = utils.HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *         self._ptr[0].userData = <void*><void_ptr>_cuserData.cptr
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_userData); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7549, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cuserData = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":7550
 *     def userData(self, userData):
 *         _cuserData = utils.HelperInputVoidPtr(userData)
 *         self._ptr[0].userData = <void*><void_ptr>_cuserData.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_HOST_NODE_PARAMS_v2_st:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cuserData, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7550, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).userData = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":7547
 *     def userData(self):
 *         return <void_ptr>self._ptr[0].userData
 *     @userData.setter             # <<<<<<<<<<<<<<
 *     def userData(self, userData):
 *         _cuserData = utils.HelperInputVoidPtr(userData)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_HOST_NODE_PARAMS_st.userData.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cuserData);
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_24CUDA_HOST_NODE_PARAMS_st_10__reduce_cython__, "CUDA_HOST_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__183)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_HOST_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUDA_HOST_NODE_PARAMS_st_12__setstate_cython__, "CUDA_HOST_NODE_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_24CUDA_HOST_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__184)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_HOST_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7569
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7569, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 7569, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7569, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7569, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 7569, 0, __PYX_ERR(1, 7569, __pyx_L1_error));

  /* "cuda/cuda.pyx":7570
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7571
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_HOST_NODE_PARAMS_v2_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_HOST_NODE_PARAMS_v2_st__val);

    /* "cuda/cuda.pyx":7570
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7573
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_HOST_NODE_PARAMS_v2_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._ptr[0].fn)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7569
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_HOST_NODE_PARAMS_v2_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7574
 *         else:
 *             self._ptr = <ccuda.CUDA_HOST_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._ptr[0].fn)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7574, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 7574, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7574, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7574, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 7574, 0, __PYX_ERR(1, 7574, __pyx_L1_error));

  /* "cuda/cuda.pyx":7575
 *             self._ptr = <ccuda.CUDA_HOST_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._ptr[0].fn)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).fn))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 7575, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUhostFn), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_fn);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_fn);
  __pyx_v_self->_fn = ((struct __pyx_obj_4cuda_4cuda_CUhostFn *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7574
 *         else:
 *             self._ptr = <ccuda.CUDA_HOST_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._ptr[0].fn)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUDA_HOST_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7576
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._fn = CUhostFn(_ptr=<void_ptr>&self._ptr[0].fn)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 7576, 0, __PYX_ERR(1, 7576, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_HOST_NODE_PARAMS_v2_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":7578
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_6getPtr, "CUDA_HOST_NODE_PARAMS_v2_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__185)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 7578, 0, __PYX_ERR(1, 7578, __pyx_L1_error));

  /* "cuda/cuda.pyx":7579
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7578
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_HOST_NODE_PARAMS_v2_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7580
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 7580, 0, __PYX_ERR(1, 7580, __pyx_L1_error));

  /* "cuda/cuda.pyx":7581
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7582
 *     def __repr__(self):
 *         if self._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(1, 7582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7583
 *         if self._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/cuda.pyx":7584
 *             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_n_s_fn_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7584, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7584, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_fn, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7584, __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(1, 7584, __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)) __PYX_ERR(1, 7584, __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(1, 7584, __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/cuda.pyx":7583
 *         if self._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/cuda.pyx":7585
 *             try:
 *                 str_list += ['fn : ' + str(self.fn)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fn : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7585, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7586
 *                 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(1, 7586, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_fn_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_fn_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_fn_ValueError)) __PYX_ERR(1, 7586, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7586, __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/cuda.pyx":7583
 *         if self._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/cuda.pyx":7587
 *             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/cuda.pyx":7588
 *                 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_n_s_userData_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7588, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7588, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_userData, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7588, __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(1, 7588, __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)) __PYX_ERR(1, 7588, __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(1, 7588, __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/cuda.pyx":7587
 *             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/cuda.pyx":7589
 *             try:
 *                 str_list += ['userData : ' + hex(self.userData)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['userData : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7589, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7590
 *                 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(1, 7590, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_userData_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_userData_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_userData_ValueError)) __PYX_ERR(1, 7590, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7590, __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/cuda.pyx":7587
 *             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/cuda.pyx":7591
 *             except ValueError:
 *                 str_list += ['userData : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":7581
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":7593
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def fn(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":7580
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7594
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fn(self):
 *         return self._fn
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_2fn_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_2fn___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_2fn___get__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7594, 0, __PYX_ERR(1, 7594, __pyx_L1_error));

  /* "cuda/cuda.pyx":7596
 *     @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/cuda.pyx":7594
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fn(self):
 *         return self._fn
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_HOST_NODE_PARAMS_v2_st.fn.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7597
 *     def fn(self):
 *         return self._fn
 *     @fn.setter             # <<<<<<<<<<<<<<
 *     def fn(self, fn):
 *         cdef ccuda.CUhostFn cfn
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_2fn_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fn); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_2fn_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_2fn_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_fn) {
  CUhostFn __pyx_v_cfn;
  PyObject *__pyx_v_pfn = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7597, 0, __PYX_ERR(1, 7597, __pyx_L1_error));

  /* "cuda/cuda.pyx":7600
 *     def fn(self, fn):
 *         cdef ccuda.CUhostFn cfn
 *         if fn is None:             # <<<<<<<<<<<<<<
 *             cfn = <ccuda.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):
 */
  __pyx_t_1 = (__pyx_v_fn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7601
 *         cdef ccuda.CUhostFn cfn
 *         if fn is None:
 *             cfn = <ccuda.CUhostFn><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(fn, (CUhostFn)):
 *             pfn = int(fn)
 */
    __pyx_v_cfn = ((CUhostFn)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":7600
 *     def fn(self, fn):
 *         cdef ccuda.CUhostFn cfn
 *         if fn is None:             # <<<<<<<<<<<<<<
 *             cfn = <ccuda.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7602
 *         if fn is None:
 *             cfn = <ccuda.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):             # <<<<<<<<<<<<<<
 *             pfn = int(fn)
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_fn, __pyx_ptype_4cuda_4cuda_CUhostFn); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7603
 *             cfn = <ccuda.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):
 *             pfn = int(fn)             # <<<<<<<<<<<<<<
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_fn); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7603, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7604
 *         elif isinstance(fn, (CUhostFn)):
 *             pfn = int(fn)
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn             # <<<<<<<<<<<<<<
 *         else:
 *             pfn = int(CUhostFn(fn))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7604, __pyx_L1_error)
    __pyx_v_cfn = ((CUhostFn)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":7602
 *         if fn is None:
 *             cfn = <ccuda.CUhostFn><void_ptr>0
 *         elif isinstance(fn, (CUhostFn)):             # <<<<<<<<<<<<<<
 *             pfn = int(fn)
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7606
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn
 *         else:
 *             pfn = int(CUhostFn(fn))             # <<<<<<<<<<<<<<
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn
 *         self._fn._ptr[0] = cfn
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUhostFn), __pyx_v_fn); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7606, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7606, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfn = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":7607
 *         else:
 *             pfn = int(CUhostFn(fn))
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn             # <<<<<<<<<<<<<<
 *         self._fn._ptr[0] = cfn
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7607, __pyx_L1_error)
    __pyx_v_cfn = ((CUhostFn)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7608
 *             pfn = int(CUhostFn(fn))
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn
 *         self._fn._ptr[0] = cfn             # <<<<<<<<<<<<<<
 *     @property
 *     def userData(self):
 */
  (__pyx_v_self->_fn->_ptr[0]) = __pyx_v_cfn;

  /* "cuda/cuda.pyx":7597
 *     def fn(self):
 *         return self._fn
 *     @fn.setter             # <<<<<<<<<<<<<<
 *     def fn(self, fn):
 *         cdef ccuda.CUhostFn cfn
 */

  /* 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.cuda.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_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7609
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn
 *         self._fn._ptr[0] = cfn
 *     @property             # <<<<<<<<<<<<<<
 *     def userData(self):
 *         return <void_ptr>self._ptr[0].userData
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_8userData_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_8userData___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_8userData___get__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7609, 0, __PYX_ERR(1, 7609, __pyx_L1_error));

  /* "cuda/cuda.pyx":7611
 *     @property
 *     def userData(self):
 *         return <void_ptr>self._ptr[0].userData             # <<<<<<<<<<<<<<
 *     @userData.setter
 *     def userData(self, userData):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).userData)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7609
 *             cfn = <ccuda.CUhostFn><void_ptr>pfn
 *         self._fn._ptr[0] = cfn
 *     @property             # <<<<<<<<<<<<<<
 *     def userData(self):
 *         return <void_ptr>self._ptr[0].userData
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_HOST_NODE_PARAMS_v2_st.userData.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7612
 *     def userData(self):
 *         return <void_ptr>self._ptr[0].userData
 *     @userData.setter             # <<<<<<<<<<<<<<
 *     def userData(self, userData):
 *         _cuserData = utils.HelperInputVoidPtr(userData)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_8userData_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_userData); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_8userData_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_8userData_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_userData) {
  PyObject *__pyx_v__cuserData = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7612, 0, __PYX_ERR(1, 7612, __pyx_L1_error));

  /* "cuda/cuda.pyx":7614
 *     @userData.setter
 *     def userData(self, userData):
 *         _cuserData = utils.HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *         self._ptr[0].userData = <void*><void_ptr>_cuserData.cptr
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_userData); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cuserData = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":7615
 *     def userData(self, userData):
 *         _cuserData = utils.HelperInputVoidPtr(userData)
 *         self._ptr[0].userData = <void*><void_ptr>_cuserData.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_CONDITIONAL_NODE_PARAMS:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cuserData, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7615, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).userData = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":7612
 *     def userData(self):
 *         return <void_ptr>self._ptr[0].userData
 *     @userData.setter             # <<<<<<<<<<<<<<
 *     def userData(self, userData):
 *         _cuserData = utils.HelperInputVoidPtr(userData)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_HOST_NODE_PARAMS_v2_st.userData.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cuserData);
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_10__reduce_cython__, "CUDA_HOST_NODE_PARAMS_v2_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__186)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_HOST_NODE_PARAMS_v2_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__187)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_HOST_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7651
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7651, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 7651, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7651, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7651, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 7651, 0, __PYX_ERR(1, 7651, __pyx_L1_error));

  /* "cuda/cuda.pyx":7652
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7653
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_CONDITIONAL_NODE_PARAMS *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_CONDITIONAL_NODE_PARAMS__val);

    /* "cuda/cuda.pyx":7652
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7655
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_CONDITIONAL_NODE_PARAMS *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = CUgraphConditionalHandle(_ptr=<void_ptr>&self._ptr[0].handle)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7651
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_CONDITIONAL_NODE_PARAMS.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7656
 *         else:
 *             self._ptr = <ccuda.CUDA_CONDITIONAL_NODE_PARAMS *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._handle = CUgraphConditionalHandle(_ptr=<void_ptr>&self._ptr[0].handle)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7656, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 7656, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7656, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7656, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 7656, 0, __PYX_ERR(1, 7656, __pyx_L1_error));

  /* "cuda/cuda.pyx":7657
 *             self._ptr = <ccuda.CUDA_CONDITIONAL_NODE_PARAMS *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = CUgraphConditionalHandle(_ptr=<void_ptr>&self._ptr[0].handle)             # <<<<<<<<<<<<<<
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).handle))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 7657, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_handle);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_handle);
  __pyx_v_self->_handle = ((struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7658
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = CUgraphConditionalHandle(_ptr=<void_ptr>&self._ptr[0].handle)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).ctx))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 7658, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":7656
 *         else:
 *             self._ptr = <ccuda.CUDA_CONDITIONAL_NODE_PARAMS *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._handle = CUgraphConditionalHandle(_ptr=<void_ptr>&self._ptr[0].handle)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._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_AddTraceback("cuda.cuda.CUDA_CONDITIONAL_NODE_PARAMS.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7659
 *         self._handle = CUgraphConditionalHandle(_ptr=<void_ptr>&self._ptr[0].handle)
 *         self._ctx = CUcontext(_ptr=<void_ptr>&self._ptr[0].ctx)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 7659, 0, __PYX_ERR(1, 7659, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_CONDITIONAL_NODE_PARAMS.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":7661
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_6getPtr, "CUDA_CONDITIONAL_NODE_PARAMS.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__188)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 7661, 0, __PYX_ERR(1, 7661, __pyx_L1_error));

  /* "cuda/cuda.pyx":7662
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7661
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_CONDITIONAL_NODE_PARAMS.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7663
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 7663, 0, __PYX_ERR(1, 7663, __pyx_L1_error));

  /* "cuda/cuda.pyx":7664
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7665
 *     def __repr__(self):
 *         if self._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(1, 7665, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7666
 *         if self._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/cuda.pyx":7667
 *             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_n_s_handle_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7667, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7667, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_handle, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7667, __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(1, 7667, __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)) __PYX_ERR(1, 7667, __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(1, 7667, __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/cuda.pyx":7666
 *         if self._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/cuda.pyx":7668
 *             try:
 *                 str_list += ['handle : ' + str(self.handle)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7668, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7669
 *                 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(1, 7669, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_handle_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_handle_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_handle_ValueError)) __PYX_ERR(1, 7669, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7669, __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/cuda.pyx":7666
 *         if self._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/cuda.pyx":7670
 *             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/cuda.pyx":7671
 *                 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_n_s_type_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7671, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7671, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7671, __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(1, 7671, __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)) __PYX_ERR(1, 7671, __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(1, 7671, __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/cuda.pyx":7670
 *             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/cuda.pyx":7672
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7672, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7673
 *                 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(1, 7673, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_type_ValueError)) __PYX_ERR(1, 7673, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7673, __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/cuda.pyx":7670
 *             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/cuda.pyx":7674
 *             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/cuda.pyx":7675
 *                 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_n_s_size_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7675, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7675, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_size, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7675, __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(1, 7675, __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)) __PYX_ERR(1, 7675, __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(1, 7675, __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/cuda.pyx":7674
 *             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/cuda.pyx":7676
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7676, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7677
 *                 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(1, 7677, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_size_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_size_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_size_ValueError)) __PYX_ERR(1, 7677, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7677, __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/cuda.pyx":7674
 *             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/cuda.pyx":7678
 *             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/cuda.pyx":7679
 *                 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_n_s_phGraph_out_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7679, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7679, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_phGraph_out, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7679, __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(1, 7679, __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)) __PYX_ERR(1, 7679, __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(1, 7679, __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/cuda.pyx":7678
 *             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/cuda.pyx":7680
 *             try:
 *                 str_list += ['phGraph_out : ' + str(self.phGraph_out)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['phGraph_out : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7680, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7681
 *                 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(1, 7681, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_phGraph_out_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_phGraph_out_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_phGraph_out_ValueError)) __PYX_ERR(1, 7681, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7681, __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/cuda.pyx":7678
 *             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/cuda.pyx":7682
 *             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/cuda.pyx":7683
 *                 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_n_s_ctx_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7683, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7683, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_ctx, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7683, __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(1, 7683, __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)) __PYX_ERR(1, 7683, __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(1, 7683, __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/cuda.pyx":7682
 *             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/cuda.pyx":7684
 *             try:
 *                 str_list += ['ctx : ' + str(self.ctx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7684, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7685
 *                 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(1, 7685, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_ctx_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_ctx_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_ctx_ValueError)) __PYX_ERR(1, 7685, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7685, __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/cuda.pyx":7682
 *             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/cuda.pyx":7686
 *             except ValueError:
 *                 str_list += ['ctx : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":7664
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":7688
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def handle(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":7663
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7689
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return self._handle
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_6handle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_6handle___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_6handle___get__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7689, 0, __PYX_ERR(1, 7689, __pyx_L1_error));

  /* "cuda/cuda.pyx":7691
 *     @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/cuda.pyx":7689
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return self._handle
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_CONDITIONAL_NODE_PARAMS.handle.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7692
 *     def handle(self):
 *         return self._handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle):
 *         cdef ccuda.CUgraphConditionalHandle chandle
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_6handle_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self), ((PyObject *)__pyx_v_handle));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_6handle_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, PyObject *__pyx_v_handle) {
  CUgraphConditionalHandle __pyx_v_chandle;
  PyObject *__pyx_v_phandle = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7692, 0, __PYX_ERR(1, 7692, __pyx_L1_error));

  /* "cuda/cuda.pyx":7695
 *     def handle(self, handle):
 *         cdef ccuda.CUgraphConditionalHandle chandle
 *         if handle is None:             # <<<<<<<<<<<<<<
 *             chandle = <ccuda.CUgraphConditionalHandle><void_ptr>0
 *         elif isinstance(handle, (CUgraphConditionalHandle)):
 */
  __pyx_t_1 = (__pyx_v_handle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7696
 *         cdef ccuda.CUgraphConditionalHandle chandle
 *         if handle is None:
 *             chandle = <ccuda.CUgraphConditionalHandle><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(handle, (CUgraphConditionalHandle)):
 *             phandle = int(handle)
 */
    __pyx_v_chandle = ((CUgraphConditionalHandle)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":7695
 *     def handle(self, handle):
 *         cdef ccuda.CUgraphConditionalHandle chandle
 *         if handle is None:             # <<<<<<<<<<<<<<
 *             chandle = <ccuda.CUgraphConditionalHandle><void_ptr>0
 *         elif isinstance(handle, (CUgraphConditionalHandle)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7697
 *         if handle is None:
 *             chandle = <ccuda.CUgraphConditionalHandle><void_ptr>0
 *         elif isinstance(handle, (CUgraphConditionalHandle)):             # <<<<<<<<<<<<<<
 *             phandle = int(handle)
 *             chandle = <ccuda.CUgraphConditionalHandle><void_ptr>phandle
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_handle, __pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7698
 *             chandle = <ccuda.CUgraphConditionalHandle><void_ptr>0
 *         elif isinstance(handle, (CUgraphConditionalHandle)):
 *             phandle = int(handle)             # <<<<<<<<<<<<<<
 *             chandle = <ccuda.CUgraphConditionalHandle><void_ptr>phandle
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7698, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phandle = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7699
 *         elif isinstance(handle, (CUgraphConditionalHandle)):
 *             phandle = int(handle)
 *             chandle = <ccuda.CUgraphConditionalHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *         else:
 *             phandle = int(CUgraphConditionalHandle(handle))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7699, __pyx_L1_error)
    __pyx_v_chandle = ((CUgraphConditionalHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":7697
 *         if handle is None:
 *             chandle = <ccuda.CUgraphConditionalHandle><void_ptr>0
 *         elif isinstance(handle, (CUgraphConditionalHandle)):             # <<<<<<<<<<<<<<
 *             phandle = int(handle)
 *             chandle = <ccuda.CUgraphConditionalHandle><void_ptr>phandle
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7701
 *             chandle = <ccuda.CUgraphConditionalHandle><void_ptr>phandle
 *         else:
 *             phandle = int(CUgraphConditionalHandle(handle))             # <<<<<<<<<<<<<<
 *             chandle = <ccuda.CUgraphConditionalHandle><void_ptr>phandle
 *         self._handle._ptr[0] = chandle
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle), __pyx_v_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7701, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7701, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phandle = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":7702
 *         else:
 *             phandle = int(CUgraphConditionalHandle(handle))
 *             chandle = <ccuda.CUgraphConditionalHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *         self._handle._ptr[0] = chandle
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7702, __pyx_L1_error)
    __pyx_v_chandle = ((CUgraphConditionalHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7703
 *             phandle = int(CUgraphConditionalHandle(handle))
 *             chandle = <ccuda.CUgraphConditionalHandle><void_ptr>phandle
 *         self._handle._ptr[0] = chandle             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_handle->_ptr[0]) = __pyx_v_chandle;

  /* "cuda/cuda.pyx":7692
 *     def handle(self):
 *         return self._handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle):
 *         cdef ccuda.CUgraphConditionalHandle chandle
 */

  /* 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.cuda.CUDA_CONDITIONAL_NODE_PARAMS.handle.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phandle);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7705
 *         self._handle._ptr[0] = chandle
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUgraphConditionalNodeType(self._ptr[0].type)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4type___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4type___get__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7705, 0, __PYX_ERR(1, 7705, __pyx_L1_error));

  /* "cuda/cuda.pyx":7707
 *     @property
 *     def type(self):
 *         return CUgraphConditionalNodeType(self._ptr[0].type)             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUgraphConditionalNodeType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUgraphConditionalNodeType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphConditionalNodeType_enum((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7707, __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/cuda.pyx":7705
 *         self._handle._ptr[0] = chandle
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUgraphConditionalNodeType(self._ptr[0].type)
 */

  /* 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.cuda.CUDA_CONDITIONAL_NODE_PARAMS.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7708
 *     def type(self):
 *         return CUgraphConditionalNodeType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUgraphConditionalNodeType):
 *         self._ptr[0].type = type.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 7709, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4type_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self), ((PyObject *)__pyx_v_type));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7708, 0, __PYX_ERR(1, 7708, __pyx_L1_error));

  /* "cuda/cuda.pyx":7710
 *     @type.setter
 *     def type(self, type not None : CUgraphConditionalNodeType):
 *         self._ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def size(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7710, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUgraphConditionalNodeType_enum)__Pyx_PyInt_As_enum__CUgraphConditionalNodeType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7710, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).type = __pyx_t_2;

  /* "cuda/cuda.pyx":7708
 *     def type(self):
 *         return CUgraphConditionalNodeType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUgraphConditionalNodeType):
 *         self._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.cuda.CUDA_CONDITIONAL_NODE_PARAMS.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7711
 *     def type(self, type not None : CUgraphConditionalNodeType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._ptr[0].size
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4size___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4size___get__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7711, 0, __PYX_ERR(1, 7711, __pyx_L1_error));

  /* "cuda/cuda.pyx":7713
 *     @property
 *     def size(self):
 *         return self._ptr[0].size             # <<<<<<<<<<<<<<
 *     @size.setter
 *     def size(self, unsigned int size):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).size); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7711
 *     def type(self, type not None : CUgraphConditionalNodeType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._ptr[0].size
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_CONDITIONAL_NODE_PARAMS.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7714
 *     def size(self):
 *         return self._ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, unsigned int size):
 *         self._ptr[0].size = size
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_size); if (unlikely((__pyx_v_size == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 7715, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4size_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4size_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, unsigned int __pyx_v_size) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7714, 0, __PYX_ERR(1, 7714, __pyx_L1_error));

  /* "cuda/cuda.pyx":7716
 *     @size.setter
 *     def size(self, unsigned int size):
 *         self._ptr[0].size = size             # <<<<<<<<<<<<<<
 *     @property
 *     def phGraph_out(self):
 */
  (__pyx_v_self->_ptr[0]).size = __pyx_v_size;

  /* "cuda/cuda.pyx":7714
 *     def size(self):
 *         return self._ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, unsigned int size):
 *         self._ptr[0].size = size
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_CONDITIONAL_NODE_PARAMS.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7717
 *     def size(self, unsigned int size):
 *         self._ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def phGraph_out(self):
 *         arrs = [<void_ptr>self._ptr[0].phGraph_out + x*sizeof(ccuda.CUgraph) for x in range(self.size)]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_11phGraph_out_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_11phGraph_out___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_11phGraph_out___get__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  PyObject *__pyx_9genexpr11__pyx_v_x = NULL;
  PyObject *__pyx_9genexpr12__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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)(PyObject *);
  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("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7717, 0, __PYX_ERR(1, 7717, __pyx_L1_error));

  /* "cuda/cuda.pyx":7719
 *     @property
 *     def phGraph_out(self):
 *         arrs = [<void_ptr>self._ptr[0].phGraph_out + x*sizeof(ccuda.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(1, 7719, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_size_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7719, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7719, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
      __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2);
      __pyx_t_4 = 0;
      __pyx_t_5 = NULL;
    } else {
      __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7719, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 7719, __pyx_L5_error)
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_2))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 7719, __pyx_L5_error)
            #endif
            if (__pyx_t_4 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(1, 7719, __pyx_L5_error)
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7719, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_3);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 7719, __pyx_L5_error)
            #endif
            if (__pyx_t_4 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(1, 7719, __pyx_L5_error)
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7719, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_3);
          #endif
        }
      } else {
        __pyx_t_3 = __pyx_t_5(__pyx_t_2);
        if (unlikely(!__pyx_t_3)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 7719, __pyx_L5_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_XDECREF_SET(__pyx_9genexpr11__pyx_v_x, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).phGraph_out)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7719, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_6 = __Pyx_PyInt_FromSize_t((sizeof(CUgraph))); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7719, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = PyNumber_Multiply(__pyx_9genexpr11__pyx_v_x, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 7719, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7719, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 7719, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_9genexpr11__pyx_v_x); __pyx_9genexpr11__pyx_v_x = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_9genexpr11__pyx_v_x); __pyx_9genexpr11__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/cuda.pyx":7720
 *     def phGraph_out(self):
 *         arrs = [<void_ptr>self._ptr[0].phGraph_out + x*sizeof(ccuda.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(1, 7720, __pyx_L12_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_arrs; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_4 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 7720, __pyx_L12_error)
        #endif
        if (__pyx_t_4 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(1, 7720, __pyx_L12_error)
      #else
      __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7720, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_6);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr12__pyx_v_arr, __pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7720, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_ptr, __pyx_9genexpr12__pyx_v_arr) < 0) __PYX_ERR(1, 7720, __pyx_L12_error)
      __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_empty_tuple, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 7720, __pyx_L12_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(1, 7720, __pyx_L12_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_9genexpr12__pyx_v_arr); __pyx_9genexpr12__pyx_v_arr = 0;
    goto __pyx_L16_exit_scope;
    __pyx_L12_error:;
    __Pyx_XDECREF(__pyx_9genexpr12__pyx_v_arr); __pyx_9genexpr12__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/cuda.pyx":7717
 *     def size(self, unsigned int size):
 *         self._ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def phGraph_out(self):
 *         arrs = [<void_ptr>self._ptr[0].phGraph_out + x*sizeof(ccuda.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_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_9genexpr11__pyx_v_x);
  __Pyx_XDECREF(__pyx_9genexpr12__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7721
 *         arrs = [<void_ptr>self._ptr[0].phGraph_out + x*sizeof(ccuda.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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx___get__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7721, 0, __PYX_ERR(1, 7721, __pyx_L1_error));

  /* "cuda/cuda.pyx":7723
 *     @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/cuda.pyx":7721
 *         arrs = [<void_ptr>self._ptr[0].phGraph_out + x*sizeof(ccuda.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_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_CONDITIONAL_NODE_PARAMS.ctx.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7724
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_ctx); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self), ((PyObject *)__pyx_v_ctx));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cctx;
  PyObject *__pyx_v_pctx = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7724, 0, __PYX_ERR(1, 7724, __pyx_L1_error));

  /* "cuda/cuda.pyx":7727
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7728
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 */
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":7727
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 *         if ctx is None:             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7729
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7730
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7730, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7731
 *         elif isinstance(ctx, (CUcontext,)):
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         else:
 *             pctx = int(CUcontext(ctx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7731, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":7729
 *         if ctx is None:
 *             cctx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pctx = int(ctx)
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7733
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         else:
 *             pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         self._ctx._ptr[0] = cctx
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":7734
 *         else:
 *             pctx = int(CUcontext(ctx))
 *             cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *         self._ctx._ptr[0] = cctx
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7734, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7735
 *             pctx = int(CUcontext(ctx))
 *             cctx = <ccuda.CUcontext><void_ptr>pctx
 *         self._ctx._ptr[0] = cctx             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraphEdgeData_st:
 */
  (__pyx_v_self->_ctx->_ptr[0]) = __pyx_v_cctx;

  /* "cuda/cuda.pyx":7724
 *     def ctx(self):
 *         return self._ctx
 *     @ctx.setter             # <<<<<<<<<<<<<<
 *     def ctx(self, ctx):
 *         cdef ccuda.CUcontext cctx
 */

  /* 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.cuda.CUDA_CONDITIONAL_NODE_PARAMS.ctx.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_10__reduce_cython__, "CUDA_CONDITIONAL_NODE_PARAMS.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__189)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_CONDITIONAL_NODE_PARAMS.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_12__setstate_cython__, "CUDA_CONDITIONAL_NODE_PARAMS.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__190)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_CONDITIONAL_NODE_PARAMS.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7777
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7777, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 7777, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7777, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7777, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 7777, 0, __PYX_ERR(1, 7777, __pyx_L1_error));

  /* "cuda/cuda.pyx":7778
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7779
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUgraphEdgeData_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUgraphEdgeData_st__val);

    /* "cuda/cuda.pyx":7778
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7781
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUgraphEdgeData_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUgraphEdgeData_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7777
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7782
 *         else:
 *             self._ptr = <ccuda.CUgraphEdgeData_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7782, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 7782, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7782, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7782, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 7782, 0, __PYX_ERR(1, 7782, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7784
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_18CUgraphEdgeData_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 7784, 0, __PYX_ERR(1, 7784, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUgraphEdgeData_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":7786
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUgraphEdgeData_st_6getPtr, "CUgraphEdgeData_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_18CUgraphEdgeData_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUgraphEdgeData_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__191)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 7786, 0, __PYX_ERR(1, 7786, __pyx_L1_error));

  /* "cuda/cuda.pyx":7787
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7786
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7788
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUgraphEdgeData_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 7788, 0, __PYX_ERR(1, 7788, __pyx_L1_error));

  /* "cuda/cuda.pyx":7789
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7790
 *     def __repr__(self):
 *         if self._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(1, 7790, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7791
 *         if self._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/cuda.pyx":7792
 *             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_n_s_from_port_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7792, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7792, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_from_port, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7792, __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(1, 7792, __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)) __PYX_ERR(1, 7792, __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(1, 7792, __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/cuda.pyx":7791
 *         if self._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/cuda.pyx":7793
 *             try:
 *                 str_list += ['from_port : ' + str(self.from_port)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['from_port : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 7793, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7794
 *                 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(1, 7794, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_from_port_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_from_port_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_from_port_ValueError)) __PYX_ERR(1, 7794, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7794, __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/cuda.pyx":7791
 *         if self._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/cuda.pyx":7795
 *             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/cuda.pyx":7796
 *                 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_n_s_to_port_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7796, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7796, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_to_port, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7796, __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(1, 7796, __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)) __PYX_ERR(1, 7796, __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(1, 7796, __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/cuda.pyx":7795
 *             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/cuda.pyx":7797
 *             try:
 *                 str_list += ['to_port : ' + str(self.to_port)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['to_port : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 7797, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7798
 *                 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(1, 7798, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_to_port_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_to_port_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_to_port_ValueError)) __PYX_ERR(1, 7798, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7798, __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/cuda.pyx":7795
 *             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/cuda.pyx":7799
 *             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/cuda.pyx":7800
 *                 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_n_s_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7800, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7800, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7800, __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(1, 7800, __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)) __PYX_ERR(1, 7800, __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(1, 7800, __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/cuda.pyx":7799
 *             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/cuda.pyx":7801
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 7801, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7802
 *                 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(1, 7802, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_type_ValueError)) __PYX_ERR(1, 7802, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7802, __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/cuda.pyx":7799
 *             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/cuda.pyx":7803
 *             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/cuda.pyx":7804
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7804, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7804, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7804, __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(1, 7804, __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)) __PYX_ERR(1, 7804, __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(1, 7804, __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/cuda.pyx":7803
 *             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/cuda.pyx":7805
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 7805, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7806
 *                 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(1, 7806, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 7806, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7806, __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/cuda.pyx":7803
 *             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/cuda.pyx":7807
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7807, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":7789
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":7809
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def from_port(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":7788
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7810
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def from_port(self):
 *         return self._ptr[0].from_port
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_9from_port_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUgraphEdgeData_st_9from_port___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_9from_port___get__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7810, 0, __PYX_ERR(1, 7810, __pyx_L1_error));

  /* "cuda/cuda.pyx":7812
 *     @property
 *     def from_port(self):
 *         return self._ptr[0].from_port             # <<<<<<<<<<<<<<
 *     @from_port.setter
 *     def from_port(self, unsigned char from_port):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_char((__pyx_v_self->_ptr[0]).from_port); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7810
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def from_port(self):
 *         return self._ptr[0].from_port
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.from_port.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7813
 *     def from_port(self):
 *         return self._ptr[0].from_port
 *     @from_port.setter             # <<<<<<<<<<<<<<
 *     def from_port(self, unsigned char from_port):
 *         self._ptr[0].from_port = from_port
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_9from_port_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_from_port); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_char(__pyx_arg_from_port); if (unlikely((__pyx_v_from_port == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 7814, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_18CUgraphEdgeData_st_9from_port_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *)__pyx_v_self), ((unsigned char)__pyx_v_from_port));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_9from_port_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self, unsigned char __pyx_v_from_port) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7813, 0, __PYX_ERR(1, 7813, __pyx_L1_error));

  /* "cuda/cuda.pyx":7815
 *     @from_port.setter
 *     def from_port(self, unsigned char from_port):
 *         self._ptr[0].from_port = from_port             # <<<<<<<<<<<<<<
 *     @property
 *     def to_port(self):
 */
  (__pyx_v_self->_ptr[0]).from_port = __pyx_v_from_port;

  /* "cuda/cuda.pyx":7813
 *     def from_port(self):
 *         return self._ptr[0].from_port
 *     @from_port.setter             # <<<<<<<<<<<<<<
 *     def from_port(self, unsigned char from_port):
 *         self._ptr[0].from_port = from_port
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.from_port.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7816
 *     def from_port(self, unsigned char from_port):
 *         self._ptr[0].from_port = from_port
 *     @property             # <<<<<<<<<<<<<<
 *     def to_port(self):
 *         return self._ptr[0].to_port
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_7to_port_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUgraphEdgeData_st_7to_port___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_7to_port___get__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7816, 0, __PYX_ERR(1, 7816, __pyx_L1_error));

  /* "cuda/cuda.pyx":7818
 *     @property
 *     def to_port(self):
 *         return self._ptr[0].to_port             # <<<<<<<<<<<<<<
 *     @to_port.setter
 *     def to_port(self, unsigned char to_port):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_char((__pyx_v_self->_ptr[0]).to_port); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7816
 *     def from_port(self, unsigned char from_port):
 *         self._ptr[0].from_port = from_port
 *     @property             # <<<<<<<<<<<<<<
 *     def to_port(self):
 *         return self._ptr[0].to_port
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.to_port.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7819
 *     def to_port(self):
 *         return self._ptr[0].to_port
 *     @to_port.setter             # <<<<<<<<<<<<<<
 *     def to_port(self, unsigned char to_port):
 *         self._ptr[0].to_port = to_port
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_7to_port_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_to_port); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_char(__pyx_arg_to_port); if (unlikely((__pyx_v_to_port == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 7820, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_18CUgraphEdgeData_st_7to_port_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *)__pyx_v_self), ((unsigned char)__pyx_v_to_port));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_7to_port_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self, unsigned char __pyx_v_to_port) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7819, 0, __PYX_ERR(1, 7819, __pyx_L1_error));

  /* "cuda/cuda.pyx":7821
 *     @to_port.setter
 *     def to_port(self, unsigned char to_port):
 *         self._ptr[0].to_port = to_port             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
 */
  (__pyx_v_self->_ptr[0]).to_port = __pyx_v_to_port;

  /* "cuda/cuda.pyx":7819
 *     def to_port(self):
 *         return self._ptr[0].to_port
 *     @to_port.setter             # <<<<<<<<<<<<<<
 *     def to_port(self, unsigned char to_port):
 *         self._ptr[0].to_port = to_port
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.to_port.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7822
 *     def to_port(self, unsigned char to_port):
 *         self._ptr[0].to_port = to_port
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return self._ptr[0].type
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUgraphEdgeData_st_4type___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7822, 0, __PYX_ERR(1, 7822, __pyx_L1_error));

  /* "cuda/cuda.pyx":7824
 *     @property
 *     def type(self):
 *         return self._ptr[0].type             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, unsigned char type):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_char((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7822
 *     def to_port(self, unsigned char to_port):
 *         self._ptr[0].to_port = to_port
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return self._ptr[0].type
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7825
 *     def type(self):
 *         return self._ptr[0].type
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, unsigned char type):
 *         self._ptr[0].type = type
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_type); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_char(__pyx_arg_type); if (unlikely((__pyx_v_type == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 7826, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_4type_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *)__pyx_v_self), ((unsigned char)__pyx_v_type));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self, unsigned char __pyx_v_type) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7825, 0, __PYX_ERR(1, 7825, __pyx_L1_error));

  /* "cuda/cuda.pyx":7827
 *     @type.setter
 *     def type(self, unsigned char type):
 *         self._ptr[0].type = type             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).type = __pyx_v_type;

  /* "cuda/cuda.pyx":7825
 *     def type(self):
 *         return self._ptr[0].type
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, unsigned char type):
 *         self._ptr[0].type = type
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7828
 *     def type(self, unsigned char type):
 *         self._ptr[0].type = type
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 5)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUgraphEdgeData_st_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7828, 0, __PYX_ERR(1, 7828, __pyx_L1_error));

  /* "cuda/cuda.pyx":7830
 *     @property
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 5)             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize(((char *)(__pyx_v_self->_ptr[0]).reserved), 5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7828
 *     def type(self, unsigned char type):
 *         self._ptr[0].type = type
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 5)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7831
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 5)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 5:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_18CUgraphEdgeData_st_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  unsigned char __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7831, 0, __PYX_ERR(1, 7831, __pyx_L1_error));

  /* "cuda/cuda.pyx":7833
 *     @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(1, 7833, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 5);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":7834
 *     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._ptr[0].reserved[i] = b
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 7834, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_reserved_length_must_be_5_is, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 7834, __pyx_L1_error)

    /* "cuda/cuda.pyx":7833
 *     @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/cuda.pyx":7835
 *         if len(reserved) != 5:
 *             raise ValueError("reserved length must be 5, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             self._ptr[0].reserved[i] = b
 * 
 */
  __Pyx_INCREF(__pyx_int_0);
  __pyx_t_4 = __pyx_int_0;
  if (likely(PyList_CheckExact(__pyx_v_reserved)) || PyTuple_CheckExact(__pyx_v_reserved)) {
    __pyx_t_3 = __pyx_v_reserved; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7835, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 7835, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 7835, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 7835, __pyx_L1_error)
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7835, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 7835, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 7835, __pyx_L1_error)
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7835, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      }
    } else {
      __pyx_t_6 = __pyx_t_5(__pyx_t_3);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 7835, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7835, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4);
    __pyx_t_4 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cuda.pyx":7836
 *             raise ValueError("reserved length must be 5, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
 *             self._ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_GRAPH_INSTANTIATE_PARAMS_st:
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_7 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 7836, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 7836, __pyx_L1_error)
    ((__pyx_v_self->_ptr[0]).reserved[__pyx_t_8]) = __pyx_t_7;

    /* "cuda/cuda.pyx":7835
 *         if len(reserved) != 5:
 *             raise ValueError("reserved length must be 5, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             self._ptr[0].reserved[i] = b
 * 
 */
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":7831
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._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_6);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_18CUgraphEdgeData_st_10__reduce_cython__, "CUgraphEdgeData_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_18CUgraphEdgeData_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUgraphEdgeData_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__192)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUgraphEdgeData_st_12__setstate_cython__, "CUgraphEdgeData_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_18CUgraphEdgeData_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUgraphEdgeData_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUgraphEdgeData_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__193)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphEdgeData_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7859
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7859, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 7859, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7859, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7859, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 7859, 0, __PYX_ERR(1, 7859, __pyx_L1_error));

  /* "cuda/cuda.pyx":7860
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7861
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_GRAPH_INSTANTIATE_PARAMS_st__val);

    /* "cuda/cuda.pyx":7860
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7863
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._flags = cuuint64_t(_ptr=<void_ptr>&self._ptr[0].flags)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7859
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7864
 *         else:
 *             self._ptr = <ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._flags = cuuint64_t(_ptr=<void_ptr>&self._ptr[0].flags)
 *         self._hUploadStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hUploadStream)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7864, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 7864, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7864, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7864, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 7864, 0, __PYX_ERR(1, 7864, __pyx_L1_error));

  /* "cuda/cuda.pyx":7865
 *             self._ptr = <ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._flags = cuuint64_t(_ptr=<void_ptr>&self._ptr[0].flags)             # <<<<<<<<<<<<<<
 *         self._hUploadStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hUploadStream)
 *         self._hErrNode_out = CUgraphNode(_ptr=<void_ptr>&self._ptr[0].hErrNode_out)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).flags))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 7865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint64_t), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_flags);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_flags);
  __pyx_v_self->_flags = ((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7866
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._flags = cuuint64_t(_ptr=<void_ptr>&self._ptr[0].flags)
 *         self._hUploadStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hUploadStream)             # <<<<<<<<<<<<<<
 *         self._hErrNode_out = CUgraphNode(_ptr=<void_ptr>&self._ptr[0].hErrNode_out)
 *     def __dealloc__(self):
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).hUploadStream))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 7866, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUstream *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":7867
 *         self._flags = cuuint64_t(_ptr=<void_ptr>&self._ptr[0].flags)
 *         self._hUploadStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hUploadStream)
 *         self._hErrNode_out = CUgraphNode(_ptr=<void_ptr>&self._ptr[0].hErrNode_out)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).hErrNode_out))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 7867, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __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_4cuda_CUgraphNode *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7864
 *         else:
 *             self._ptr = <ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._flags = cuuint64_t(_ptr=<void_ptr>&self._ptr[0].flags)
 *         self._hUploadStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hUploadStream)
 */

  /* 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.cuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7868
 *         self._hUploadStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hUploadStream)
 *         self._hErrNode_out = CUgraphNode(_ptr=<void_ptr>&self._ptr[0].hErrNode_out)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 7868, 0, __PYX_ERR(1, 7868, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":7870
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_6getPtr, "CUDA_GRAPH_INSTANTIATE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__194)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 7870, 0, __PYX_ERR(1, 7870, __pyx_L1_error));

  /* "cuda/cuda.pyx":7871
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7870
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7872
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 7872, 0, __PYX_ERR(1, 7872, __pyx_L1_error));

  /* "cuda/cuda.pyx":7873
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7874
 *     def __repr__(self):
 *         if self._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(1, 7874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7875
 *         if self._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/cuda.pyx":7876
 *             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_n_s_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7876, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7876, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7876, __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(1, 7876, __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)) __PYX_ERR(1, 7876, __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(1, 7876, __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/cuda.pyx":7875
 *         if self._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/cuda.pyx":7877
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7877, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7878
 *                 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(1, 7878, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 7878, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7878, __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/cuda.pyx":7875
 *         if self._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/cuda.pyx":7879
 *             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/cuda.pyx":7880
 *                 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_n_s_hUploadStream_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7880, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7880, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_hUploadStream, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7880, __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(1, 7880, __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)) __PYX_ERR(1, 7880, __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(1, 7880, __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/cuda.pyx":7879
 *             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/cuda.pyx":7881
 *             try:
 *                 str_list += ['hUploadStream : ' + str(self.hUploadStream)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hUploadStream : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7881, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7882
 *                 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(1, 7882, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_hUploadStream_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_hUploadStream_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_hUploadStream_ValueError)) __PYX_ERR(1, 7882, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7882, __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/cuda.pyx":7879
 *             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/cuda.pyx":7883
 *             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/cuda.pyx":7884
 *                 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_n_s_hErrNode_out_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7884, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7884, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_hErrNode_out, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7884, __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(1, 7884, __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)) __PYX_ERR(1, 7884, __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(1, 7884, __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/cuda.pyx":7883
 *             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/cuda.pyx":7885
 *             try:
 *                 str_list += ['hErrNode_out : ' + str(self.hErrNode_out)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hErrNode_out : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7885, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7886
 *                 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(1, 7886, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_hErrNode_out_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_hErrNode_out_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_hErrNode_out_ValueError)) __PYX_ERR(1, 7886, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7886, __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/cuda.pyx":7883
 *             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/cuda.pyx":7887
 *             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/cuda.pyx":7888
 *                 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_n_s_result_out_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7888, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7888, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_result_out, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7888, __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(1, 7888, __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)) __PYX_ERR(1, 7888, __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(1, 7888, __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/cuda.pyx":7887
 *             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/cuda.pyx":7889
 *             try:
 *                 str_list += ['result_out : ' + str(self.result_out)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['result_out : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 7889, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7890
 *                 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(1, 7890, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_result_out_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_result_out_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_result_out_ValueError)) __PYX_ERR(1, 7890, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7890, __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/cuda.pyx":7887
 *             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/cuda.pyx":7891
 *             except ValueError:
 *                 str_list += ['result_out : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7891, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":7873
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":7893
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":7872
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7894
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7894, 0, __PYX_ERR(1, 7894, __pyx_L1_error));

  /* "cuda/cuda.pyx":7896
 *     @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/cuda.pyx":7894
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7897
 *     def flags(self):
 *         return self._flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, flags):
 *         cdef ccuda.cuuint64_t cflags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_flags) {
  cuuint64_t __pyx_v_cflags;
  PyObject *__pyx_v_pflags = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7897, 0, __PYX_ERR(1, 7897, __pyx_L1_error));

  /* "cuda/cuda.pyx":7900
 *     def flags(self, flags):
 *         cdef ccuda.cuuint64_t cflags
 *         if flags is None:             # <<<<<<<<<<<<<<
 *             cflags = <ccuda.cuuint64_t><void_ptr>0
 *         elif isinstance(flags, (cuuint64_t)):
 */
  __pyx_t_1 = (__pyx_v_flags == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7901
 *         cdef ccuda.cuuint64_t cflags
 *         if flags is None:
 *             cflags = <ccuda.cuuint64_t><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(flags, (cuuint64_t)):
 *             pflags = int(flags)
 */
    __pyx_v_cflags = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":7900
 *     def flags(self, flags):
 *         cdef ccuda.cuuint64_t cflags
 *         if flags is None:             # <<<<<<<<<<<<<<
 *             cflags = <ccuda.cuuint64_t><void_ptr>0
 *         elif isinstance(flags, (cuuint64_t)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7902
 *         if flags is None:
 *             cflags = <ccuda.cuuint64_t><void_ptr>0
 *         elif isinstance(flags, (cuuint64_t)):             # <<<<<<<<<<<<<<
 *             pflags = int(flags)
 *             cflags = <ccuda.cuuint64_t><void_ptr>pflags
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_flags, __pyx_ptype_4cuda_4cuda_cuuint64_t); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7903
 *             cflags = <ccuda.cuuint64_t><void_ptr>0
 *         elif isinstance(flags, (cuuint64_t)):
 *             pflags = int(flags)             # <<<<<<<<<<<<<<
 *             cflags = <ccuda.cuuint64_t><void_ptr>pflags
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pflags = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7904
 *         elif isinstance(flags, (cuuint64_t)):
 *             pflags = int(flags)
 *             cflags = <ccuda.cuuint64_t><void_ptr>pflags             # <<<<<<<<<<<<<<
 *         else:
 *             pflags = int(cuuint64_t(flags))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pflags); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7904, __pyx_L1_error)
    __pyx_v_cflags = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":7902
 *         if flags is None:
 *             cflags = <ccuda.cuuint64_t><void_ptr>0
 *         elif isinstance(flags, (cuuint64_t)):             # <<<<<<<<<<<<<<
 *             pflags = int(flags)
 *             cflags = <ccuda.cuuint64_t><void_ptr>pflags
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7906
 *             cflags = <ccuda.cuuint64_t><void_ptr>pflags
 *         else:
 *             pflags = int(cuuint64_t(flags))             # <<<<<<<<<<<<<<
 *             cflags = <ccuda.cuuint64_t><void_ptr>pflags
 *         self._flags._ptr[0] = cflags
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint64_t), __pyx_v_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7906, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7906, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pflags = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":7907
 *         else:
 *             pflags = int(cuuint64_t(flags))
 *             cflags = <ccuda.cuuint64_t><void_ptr>pflags             # <<<<<<<<<<<<<<
 *         self._flags._ptr[0] = cflags
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pflags); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7907, __pyx_L1_error)
    __pyx_v_cflags = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7908
 *             pflags = int(cuuint64_t(flags))
 *             cflags = <ccuda.cuuint64_t><void_ptr>pflags
 *         self._flags._ptr[0] = cflags             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_flags->_ptr[0]) = __pyx_v_cflags;

  /* "cuda/cuda.pyx":7897
 *     def flags(self):
 *         return self._flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, flags):
 *         cdef ccuda.cuuint64_t cflags
 */

  /* 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.cuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pflags);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7910
 *         self._flags._ptr[0] = cflags
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hUploadStream(self):
 *         return self._hUploadStream
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream___get__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7910, 0, __PYX_ERR(1, 7910, __pyx_L1_error));

  /* "cuda/cuda.pyx":7912
 *     @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/cuda.pyx":7910
 *         self._flags._ptr[0] = cflags
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def hUploadStream(self):
 *         return self._hUploadStream
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st.hUploadStream.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7913
 *     def hUploadStream(self):
 *         return self._hUploadStream
 *     @hUploadStream.setter             # <<<<<<<<<<<<<<
 *     def hUploadStream(self, hUploadStream):
 *         cdef ccuda.CUstream chUploadStream
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hUploadStream); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_hUploadStream) {
  CUstream __pyx_v_chUploadStream;
  PyObject *__pyx_v_phUploadStream = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7913, 0, __PYX_ERR(1, 7913, __pyx_L1_error));

  /* "cuda/cuda.pyx":7916
 *     def hUploadStream(self, hUploadStream):
 *         cdef ccuda.CUstream chUploadStream
 *         if hUploadStream is None:             # <<<<<<<<<<<<<<
 *             chUploadStream = <ccuda.CUstream><void_ptr>0
 *         elif isinstance(hUploadStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hUploadStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7917
 *         cdef ccuda.CUstream chUploadStream
 *         if hUploadStream is None:
 *             chUploadStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(hUploadStream, (CUstream,)):
 *             phUploadStream = int(hUploadStream)
 */
    __pyx_v_chUploadStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":7916
 *     def hUploadStream(self, hUploadStream):
 *         cdef ccuda.CUstream chUploadStream
 *         if hUploadStream is None:             # <<<<<<<<<<<<<<
 *             chUploadStream = <ccuda.CUstream><void_ptr>0
 *         elif isinstance(hUploadStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7918
 *         if hUploadStream is None:
 *             chUploadStream = <ccuda.CUstream><void_ptr>0
 *         elif isinstance(hUploadStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *             phUploadStream = int(hUploadStream)
 *             chUploadStream = <ccuda.CUstream><void_ptr>phUploadStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hUploadStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7919
 *             chUploadStream = <ccuda.CUstream><void_ptr>0
 *         elif isinstance(hUploadStream, (CUstream,)):
 *             phUploadStream = int(hUploadStream)             # <<<<<<<<<<<<<<
 *             chUploadStream = <ccuda.CUstream><void_ptr>phUploadStream
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hUploadStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phUploadStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7920
 *         elif isinstance(hUploadStream, (CUstream,)):
 *             phUploadStream = int(hUploadStream)
 *             chUploadStream = <ccuda.CUstream><void_ptr>phUploadStream             # <<<<<<<<<<<<<<
 *         else:
 *             phUploadStream = int(CUstream(hUploadStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phUploadStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7920, __pyx_L1_error)
    __pyx_v_chUploadStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":7918
 *         if hUploadStream is None:
 *             chUploadStream = <ccuda.CUstream><void_ptr>0
 *         elif isinstance(hUploadStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *             phUploadStream = int(hUploadStream)
 *             chUploadStream = <ccuda.CUstream><void_ptr>phUploadStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7922
 *             chUploadStream = <ccuda.CUstream><void_ptr>phUploadStream
 *         else:
 *             phUploadStream = int(CUstream(hUploadStream))             # <<<<<<<<<<<<<<
 *             chUploadStream = <ccuda.CUstream><void_ptr>phUploadStream
 *         self._hUploadStream._ptr[0] = chUploadStream
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hUploadStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7922, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7922, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phUploadStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":7923
 *         else:
 *             phUploadStream = int(CUstream(hUploadStream))
 *             chUploadStream = <ccuda.CUstream><void_ptr>phUploadStream             # <<<<<<<<<<<<<<
 *         self._hUploadStream._ptr[0] = chUploadStream
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phUploadStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7923, __pyx_L1_error)
    __pyx_v_chUploadStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7924
 *             phUploadStream = int(CUstream(hUploadStream))
 *             chUploadStream = <ccuda.CUstream><void_ptr>phUploadStream
 *         self._hUploadStream._ptr[0] = chUploadStream             # <<<<<<<<<<<<<<
 *     @property
 *     def hErrNode_out(self):
 */
  (__pyx_v_self->_hUploadStream->_ptr[0]) = __pyx_v_chUploadStream;

  /* "cuda/cuda.pyx":7913
 *     def hUploadStream(self):
 *         return self._hUploadStream
 *     @hUploadStream.setter             # <<<<<<<<<<<<<<
 *     def hUploadStream(self, hUploadStream):
 *         cdef ccuda.CUstream chUploadStream
 */

  /* 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.cuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st.hUploadStream.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phUploadStream);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7925
 *             chUploadStream = <ccuda.CUstream><void_ptr>phUploadStream
 *         self._hUploadStream._ptr[0] = chUploadStream
 *     @property             # <<<<<<<<<<<<<<
 *     def hErrNode_out(self):
 *         return self._hErrNode_out
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out___get__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7925, 0, __PYX_ERR(1, 7925, __pyx_L1_error));

  /* "cuda/cuda.pyx":7927
 *     @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/cuda.pyx":7925
 *             chUploadStream = <ccuda.CUstream><void_ptr>phUploadStream
 *         self._hUploadStream._ptr[0] = chUploadStream
 *     @property             # <<<<<<<<<<<<<<
 *     def hErrNode_out(self):
 *         return self._hErrNode_out
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st.hErrNode_out.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7928
 *     def hErrNode_out(self):
 *         return self._hErrNode_out
 *     @hErrNode_out.setter             # <<<<<<<<<<<<<<
 *     def hErrNode_out(self, hErrNode_out):
 *         cdef ccuda.CUgraphNode chErrNode_out
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hErrNode_out); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_hErrNode_out) {
  CUgraphNode __pyx_v_chErrNode_out;
  PyObject *__pyx_v_phErrNode_out = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7928, 0, __PYX_ERR(1, 7928, __pyx_L1_error));

  /* "cuda/cuda.pyx":7931
 *     def hErrNode_out(self, hErrNode_out):
 *         cdef ccuda.CUgraphNode chErrNode_out
 *         if hErrNode_out is None:             # <<<<<<<<<<<<<<
 *             chErrNode_out = <ccuda.CUgraphNode><void_ptr>0
 *         elif isinstance(hErrNode_out, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hErrNode_out == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7932
 *         cdef ccuda.CUgraphNode chErrNode_out
 *         if hErrNode_out is None:
 *             chErrNode_out = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(hErrNode_out, (CUgraphNode,)):
 *             phErrNode_out = int(hErrNode_out)
 */
    __pyx_v_chErrNode_out = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":7931
 *     def hErrNode_out(self, hErrNode_out):
 *         cdef ccuda.CUgraphNode chErrNode_out
 *         if hErrNode_out is None:             # <<<<<<<<<<<<<<
 *             chErrNode_out = <ccuda.CUgraphNode><void_ptr>0
 *         elif isinstance(hErrNode_out, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7933
 *         if hErrNode_out is None:
 *             chErrNode_out = <ccuda.CUgraphNode><void_ptr>0
 *         elif isinstance(hErrNode_out, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *             phErrNode_out = int(hErrNode_out)
 *             chErrNode_out = <ccuda.CUgraphNode><void_ptr>phErrNode_out
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hErrNode_out, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7934
 *             chErrNode_out = <ccuda.CUgraphNode><void_ptr>0
 *         elif isinstance(hErrNode_out, (CUgraphNode,)):
 *             phErrNode_out = int(hErrNode_out)             # <<<<<<<<<<<<<<
 *             chErrNode_out = <ccuda.CUgraphNode><void_ptr>phErrNode_out
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hErrNode_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7934, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phErrNode_out = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7935
 *         elif isinstance(hErrNode_out, (CUgraphNode,)):
 *             phErrNode_out = int(hErrNode_out)
 *             chErrNode_out = <ccuda.CUgraphNode><void_ptr>phErrNode_out             # <<<<<<<<<<<<<<
 *         else:
 *             phErrNode_out = int(CUgraphNode(hErrNode_out))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phErrNode_out); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7935, __pyx_L1_error)
    __pyx_v_chErrNode_out = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":7933
 *         if hErrNode_out is None:
 *             chErrNode_out = <ccuda.CUgraphNode><void_ptr>0
 *         elif isinstance(hErrNode_out, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *             phErrNode_out = int(hErrNode_out)
 *             chErrNode_out = <ccuda.CUgraphNode><void_ptr>phErrNode_out
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7937
 *             chErrNode_out = <ccuda.CUgraphNode><void_ptr>phErrNode_out
 *         else:
 *             phErrNode_out = int(CUgraphNode(hErrNode_out))             # <<<<<<<<<<<<<<
 *             chErrNode_out = <ccuda.CUgraphNode><void_ptr>phErrNode_out
 *         self._hErrNode_out._ptr[0] = chErrNode_out
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hErrNode_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7937, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 7937, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phErrNode_out = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":7938
 *         else:
 *             phErrNode_out = int(CUgraphNode(hErrNode_out))
 *             chErrNode_out = <ccuda.CUgraphNode><void_ptr>phErrNode_out             # <<<<<<<<<<<<<<
 *         self._hErrNode_out._ptr[0] = chErrNode_out
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phErrNode_out); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7938, __pyx_L1_error)
    __pyx_v_chErrNode_out = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7939
 *             phErrNode_out = int(CUgraphNode(hErrNode_out))
 *             chErrNode_out = <ccuda.CUgraphNode><void_ptr>phErrNode_out
 *         self._hErrNode_out._ptr[0] = chErrNode_out             # <<<<<<<<<<<<<<
 *     @property
 *     def result_out(self):
 */
  (__pyx_v_self->_hErrNode_out->_ptr[0]) = __pyx_v_chErrNode_out;

  /* "cuda/cuda.pyx":7928
 *     def hErrNode_out(self):
 *         return self._hErrNode_out
 *     @hErrNode_out.setter             # <<<<<<<<<<<<<<
 *     def hErrNode_out(self, hErrNode_out):
 *         cdef ccuda.CUgraphNode chErrNode_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.cuda.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_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7940
 *             chErrNode_out = <ccuda.CUgraphNode><void_ptr>phErrNode_out
 *         self._hErrNode_out._ptr[0] = chErrNode_out
 *     @property             # <<<<<<<<<<<<<<
 *     def result_out(self):
 *         return CUgraphInstantiateResult(self._ptr[0].result_out)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out___get__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7940, 0, __PYX_ERR(1, 7940, __pyx_L1_error));

  /* "cuda/cuda.pyx":7942
 *     @property
 *     def result_out(self):
 *         return CUgraphInstantiateResult(self._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_n_s_CUgraphInstantiateResult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphInstantiateResult_enum((__pyx_v_self->_ptr[0]).result_out); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7942, __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/cuda.pyx":7940
 *             chErrNode_out = <ccuda.CUgraphNode><void_ptr>phErrNode_out
 *         self._hErrNode_out._ptr[0] = chErrNode_out
 *     @property             # <<<<<<<<<<<<<<
 *     def result_out(self):
 *         return CUgraphInstantiateResult(self._ptr[0].result_out)
 */

  /* 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.cuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st.result_out.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7943
 *     def result_out(self):
 *         return CUgraphInstantiateResult(self._ptr[0].result_out)
 *     @result_out.setter             # <<<<<<<<<<<<<<
 *     def result_out(self, result_out not None : CUgraphInstantiateResult):
 *         self._ptr[0].result_out = result_out.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_result_out); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 7944, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out_2__set__(((struct __pyx_obj_4cuda_4cuda_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;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_result_out) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 7943, 0, __PYX_ERR(1, 7943, __pyx_L1_error));

  /* "cuda/cuda.pyx":7945
 *     @result_out.setter
 *     def result_out(self, result_out not None : CUgraphInstantiateResult):
 *         self._ptr[0].result_out = result_out.value             # <<<<<<<<<<<<<<
 * 
 * cdef class CUlaunchMemSyncDomainMap_st:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_out, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUgraphInstantiateResult_enum)__Pyx_PyInt_As_enum__CUgraphInstantiateResult_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7945, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).result_out = __pyx_t_2;

  /* "cuda/cuda.pyx":7943
 *     def result_out(self):
 *         return CUgraphInstantiateResult(self._ptr[0].result_out)
 *     @result_out.setter             # <<<<<<<<<<<<<<
 *     def result_out(self, result_out not None : CUgraphInstantiateResult):
 *         self._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.cuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st.result_out.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10__reduce_cython__, "CUDA_GRAPH_INSTANTIATE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__195)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12__setstate_cython__, "CUDA_GRAPH_INSTANTIATE_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__196)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7970
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7970, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 7970, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7970, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7970, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlaunchMemSyncDomainMap_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 7970, 0, __PYX_ERR(1, 7970, __pyx_L1_error));

  /* "cuda/cuda.pyx":7971
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7972
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUlaunchMemSyncDomainMap_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUlaunchMemSyncDomainMap_st__val);

    /* "cuda/cuda.pyx":7971
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":7974
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUlaunchMemSyncDomainMap_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUlaunchMemSyncDomainMap_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":7970
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchMemSyncDomainMap_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7975
 *         else:
 *             self._ptr = <ccuda.CUlaunchMemSyncDomainMap_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 7975, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 7975, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 7975, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 7975, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlaunchMemSyncDomainMap_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 7975, 0, __PYX_ERR(1, 7975, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchMemSyncDomainMap_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":7977
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_27CUlaunchMemSyncDomainMap_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 7977, 0, __PYX_ERR(1, 7977, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUlaunchMemSyncDomainMap_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":7979
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_27CUlaunchMemSyncDomainMap_st_6getPtr, "CUlaunchMemSyncDomainMap_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__197)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 7979, 0, __PYX_ERR(1, 7979, __pyx_L1_error));

  /* "cuda/cuda.pyx":7980
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7979
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchMemSyncDomainMap_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7981
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_27CUlaunchMemSyncDomainMap_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 7981, 0, __PYX_ERR(1, 7981, __pyx_L1_error));

  /* "cuda/cuda.pyx":7982
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":7983
 *     def __repr__(self):
 *         if self._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(1, 7983, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":7984
 *         if self._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/cuda.pyx":7985
 *             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_n_s_default_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7985, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7985, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_default, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7985, __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(1, 7985, __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)) __PYX_ERR(1, 7985, __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(1, 7985, __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/cuda.pyx":7984
 *         if self._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/cuda.pyx":7986
 *             try:
 *                 str_list += ['default_ : ' + str(self.default_)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['default_ : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchMemSyncDomainMap_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 7986, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":7987
 *                 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(1, 7987, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_default__ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_default__ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_default__ValueError)) __PYX_ERR(1, 7987, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 7987, __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/cuda.pyx":7984
 *         if self._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/cuda.pyx":7988
 *             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/cuda.pyx":7989
 *                 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_n_s_remote_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7989, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7989, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_remote, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 7989, __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(1, 7989, __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)) __PYX_ERR(1, 7989, __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(1, 7989, __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/cuda.pyx":7988
 *             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/cuda.pyx":7990
 *             try:
 *                 str_list += ['remote : ' + str(self.remote)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['remote : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchMemSyncDomainMap_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 7990, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":7991
 *                 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(1, 7991, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_remote_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_remote_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_remote_ValueError)) __PYX_ERR(1, 7991, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 7991, __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/cuda.pyx":7988
 *             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/cuda.pyx":7992
 *             except ValueError:
 *                 str_list += ['remote : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7992, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":7982
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":7994
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def default_(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":7981
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7995
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def default_(self):
 *         return self._ptr[0].default_
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_8default__1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_27CUlaunchMemSyncDomainMap_st_8default____get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_8default____get__(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 7995, 0, __PYX_ERR(1, 7995, __pyx_L1_error));

  /* "cuda/cuda.pyx":7997
 *     @property
 *     def default_(self):
 *         return self._ptr[0].default_             # <<<<<<<<<<<<<<
 *     @default_.setter
 *     def default_(self, unsigned char default_):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_char((__pyx_v_self->_ptr[0]).default_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":7995
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def default_(self):
 *         return self._ptr[0].default_
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchMemSyncDomainMap_st.default_.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":7998
 *     def default_(self):
 *         return self._ptr[0].default_
 *     @default_.setter             # <<<<<<<<<<<<<<
 *     def default_(self, unsigned char default_):
 *         self._ptr[0].default_ = default_
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_8default__3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_default_); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_char(__pyx_arg_default_); if (unlikely((__pyx_v_default_ == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 7999, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchMemSyncDomainMap_st.default_.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_8default__2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *)__pyx_v_self), ((unsigned char)__pyx_v_default_));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_8default__2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self, unsigned char __pyx_v_default_) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 7998, 0, __PYX_ERR(1, 7998, __pyx_L1_error));

  /* "cuda/cuda.pyx":8000
 *     @default_.setter
 *     def default_(self, unsigned char default_):
 *         self._ptr[0].default_ = default_             # <<<<<<<<<<<<<<
 *     @property
 *     def remote(self):
 */
  (__pyx_v_self->_ptr[0]).default_ = __pyx_v_default_;

  /* "cuda/cuda.pyx":7998
 *     def default_(self):
 *         return self._ptr[0].default_
 *     @default_.setter             # <<<<<<<<<<<<<<
 *     def default_(self, unsigned char default_):
 *         self._ptr[0].default_ = default_
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchMemSyncDomainMap_st.default_.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8001
 *     def default_(self, unsigned char default_):
 *         self._ptr[0].default_ = default_
 *     @property             # <<<<<<<<<<<<<<
 *     def remote(self):
 *         return self._ptr[0].remote
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_6remote_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_27CUlaunchMemSyncDomainMap_st_6remote___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_6remote___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8001, 0, __PYX_ERR(1, 8001, __pyx_L1_error));

  /* "cuda/cuda.pyx":8003
 *     @property
 *     def remote(self):
 *         return self._ptr[0].remote             # <<<<<<<<<<<<<<
 *     @remote.setter
 *     def remote(self, unsigned char remote):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_char((__pyx_v_self->_ptr[0]).remote); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8001
 *     def default_(self, unsigned char default_):
 *         self._ptr[0].default_ = default_
 *     @property             # <<<<<<<<<<<<<<
 *     def remote(self):
 *         return self._ptr[0].remote
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchMemSyncDomainMap_st.remote.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8004
 *     def remote(self):
 *         return self._ptr[0].remote
 *     @remote.setter             # <<<<<<<<<<<<<<
 *     def remote(self, unsigned char remote):
 *         self._ptr[0].remote = remote
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_6remote_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_remote); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_char(__pyx_arg_remote); if (unlikely((__pyx_v_remote == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 8005, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchMemSyncDomainMap_st.remote.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_6remote_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *)__pyx_v_self), ((unsigned char)__pyx_v_remote));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_6remote_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self, unsigned char __pyx_v_remote) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8004, 0, __PYX_ERR(1, 8004, __pyx_L1_error));

  /* "cuda/cuda.pyx":8006
 *     @remote.setter
 *     def remote(self, unsigned char remote):
 *         self._ptr[0].remote = remote             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct1:
 */
  (__pyx_v_self->_ptr[0]).remote = __pyx_v_remote;

  /* "cuda/cuda.pyx":8004
 *     def remote(self):
 *         return self._ptr[0].remote
 *     @remote.setter             # <<<<<<<<<<<<<<
 *     def remote(self, unsigned char remote):
 *         self._ptr[0].remote = remote
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchMemSyncDomainMap_st.remote.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_27CUlaunchMemSyncDomainMap_st_10__reduce_cython__, "CUlaunchMemSyncDomainMap_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__198)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchMemSyncDomainMap_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_27CUlaunchMemSyncDomainMap_st_12__setstate_cython__, "CUlaunchMemSyncDomainMap_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlaunchMemSyncDomainMap_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__199)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchMemSyncDomainMap_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8025
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct1_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct1_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8025, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 8025, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8025, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 8025, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct1.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct1___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct1 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct1___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 8025, 0, __PYX_ERR(1, 8025, __pyx_L1_error));

  /* "cuda/cuda.pyx":8026
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((union CUlaunchAttributeValue_union *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":8025
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct1.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8028
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct1_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct1_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8028, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 8028, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8028, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 8028, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct1.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct1_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct1 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct1_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 8028, 0, __PYX_ERR(1, 8028, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct1.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8030
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_12anon_struct1_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct1_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_12anon_struct1_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 8030, 0, __PYX_ERR(1, 8030, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct1.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":8032
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].clusterDim
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct1_6getPtr, "anon_struct1.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct1_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct1_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct1_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct1_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct1_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__200)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 8032, 0, __PYX_ERR(1, 8032, __pyx_L1_error));

  /* "cuda/cuda.pyx":8033
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].clusterDim             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).clusterDim))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8032
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].clusterDim
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct1.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8034
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].clusterDim
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct1_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct1_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct1_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 8034, 0, __PYX_ERR(1, 8034, __pyx_L1_error));

  /* "cuda/cuda.pyx":8035
 *         return <void_ptr>&self._ptr[0].clusterDim
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8036
 *     def __repr__(self):
 *         if self._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(1, 8036, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":8037
 *         if self._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/cuda.pyx":8038
 *             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_n_s_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8038, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8038, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_x_2, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8038, __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(1, 8038, __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)) __PYX_ERR(1, 8038, __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(1, 8038, __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/cuda.pyx":8037
 *         if self._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/cuda.pyx":8039
 *             try:
 *                 str_list += ['x : ' + str(self.x)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['x : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct1.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8039, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8040
 *                 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(1, 8040, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_x_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_x_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_x_ValueError)) __PYX_ERR(1, 8040, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8040, __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/cuda.pyx":8037
 *         if self._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/cuda.pyx":8041
 *             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/cuda.pyx":8042
 *                 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_n_s_y_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8042, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8042, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_y, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8042, __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(1, 8042, __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)) __PYX_ERR(1, 8042, __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(1, 8042, __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/cuda.pyx":8041
 *             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/cuda.pyx":8043
 *             try:
 *                 str_list += ['y : ' + str(self.y)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['y : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct1.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 8043, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":8044
 *                 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(1, 8044, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_y_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_y_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_y_ValueError)) __PYX_ERR(1, 8044, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8044, __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/cuda.pyx":8041
 *             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/cuda.pyx":8045
 *             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/cuda.pyx":8046
 *                 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_n_s_z_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8046, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8046, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_z, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8046, __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(1, 8046, __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)) __PYX_ERR(1, 8046, __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(1, 8046, __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/cuda.pyx":8045
 *             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/cuda.pyx":8047
 *             try:
 *                 str_list += ['z : ' + str(self.z)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['z : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct1.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8047, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8048
 *                 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(1, 8048, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_z_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_z_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_z_ValueError)) __PYX_ERR(1, 8048, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8048, __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/cuda.pyx":8045
 *             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/cuda.pyx":8049
 *             except ValueError:
 *                 str_list += ['z : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":8035
 *         return <void_ptr>&self._ptr[0].clusterDim
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":8051
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def x(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":8034
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].clusterDim
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8052
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def x(self):
 *         return self._ptr[0].clusterDim.x
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct1_1x_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct1_1x___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct1_1x___get__(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8052, 0, __PYX_ERR(1, 8052, __pyx_L1_error));

  /* "cuda/cuda.pyx":8054
 *     @property
 *     def x(self):
 *         return self._ptr[0].clusterDim.x             # <<<<<<<<<<<<<<
 *     @x.setter
 *     def x(self, unsigned int x):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).clusterDim.x); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8052
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def x(self):
 *         return self._ptr[0].clusterDim.x
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct1.x.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8055
 *     def x(self):
 *         return self._ptr[0].clusterDim.x
 *     @x.setter             # <<<<<<<<<<<<<<
 *     def x(self, unsigned int x):
 *         self._ptr[0].clusterDim.x = x
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct1_1x_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_x); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_x); if (unlikely((__pyx_v_x == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8056, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct1.x.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct1_1x_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct1 *)__pyx_v_self), ((unsigned int)__pyx_v_x));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct1_1x_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self, unsigned int __pyx_v_x) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8055, 0, __PYX_ERR(1, 8055, __pyx_L1_error));

  /* "cuda/cuda.pyx":8057
 *     @x.setter
 *     def x(self, unsigned int x):
 *         self._ptr[0].clusterDim.x = x             # <<<<<<<<<<<<<<
 *     @property
 *     def y(self):
 */
  (__pyx_v_self->_ptr[0]).clusterDim.x = __pyx_v_x;

  /* "cuda/cuda.pyx":8055
 *     def x(self):
 *         return self._ptr[0].clusterDim.x
 *     @x.setter             # <<<<<<<<<<<<<<
 *     def x(self, unsigned int x):
 *         self._ptr[0].clusterDim.x = x
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct1.x.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8058
 *     def x(self, unsigned int x):
 *         self._ptr[0].clusterDim.x = x
 *     @property             # <<<<<<<<<<<<<<
 *     def y(self):
 *         return self._ptr[0].clusterDim.y
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct1_1y_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct1_1y___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct1_1y___get__(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8058, 0, __PYX_ERR(1, 8058, __pyx_L1_error));

  /* "cuda/cuda.pyx":8060
 *     @property
 *     def y(self):
 *         return self._ptr[0].clusterDim.y             # <<<<<<<<<<<<<<
 *     @y.setter
 *     def y(self, unsigned int y):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).clusterDim.y); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8058
 *     def x(self, unsigned int x):
 *         self._ptr[0].clusterDim.x = x
 *     @property             # <<<<<<<<<<<<<<
 *     def y(self):
 *         return self._ptr[0].clusterDim.y
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct1.y.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8061
 *     def y(self):
 *         return self._ptr[0].clusterDim.y
 *     @y.setter             # <<<<<<<<<<<<<<
 *     def y(self, unsigned int y):
 *         self._ptr[0].clusterDim.y = y
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct1_1y_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_y); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_y); if (unlikely((__pyx_v_y == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8062, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct1.y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct1_1y_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct1 *)__pyx_v_self), ((unsigned int)__pyx_v_y));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct1_1y_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self, unsigned int __pyx_v_y) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8061, 0, __PYX_ERR(1, 8061, __pyx_L1_error));

  /* "cuda/cuda.pyx":8063
 *     @y.setter
 *     def y(self, unsigned int y):
 *         self._ptr[0].clusterDim.y = y             # <<<<<<<<<<<<<<
 *     @property
 *     def z(self):
 */
  (__pyx_v_self->_ptr[0]).clusterDim.y = __pyx_v_y;

  /* "cuda/cuda.pyx":8061
 *     def y(self):
 *         return self._ptr[0].clusterDim.y
 *     @y.setter             # <<<<<<<<<<<<<<
 *     def y(self, unsigned int y):
 *         self._ptr[0].clusterDim.y = y
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct1.y.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8064
 *     def y(self, unsigned int y):
 *         self._ptr[0].clusterDim.y = y
 *     @property             # <<<<<<<<<<<<<<
 *     def z(self):
 *         return self._ptr[0].clusterDim.z
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct1_1z_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct1_1z___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct1_1z___get__(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8064, 0, __PYX_ERR(1, 8064, __pyx_L1_error));

  /* "cuda/cuda.pyx":8066
 *     @property
 *     def z(self):
 *         return self._ptr[0].clusterDim.z             # <<<<<<<<<<<<<<
 *     @z.setter
 *     def z(self, unsigned int z):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).clusterDim.z); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8064
 *     def y(self, unsigned int y):
 *         self._ptr[0].clusterDim.y = y
 *     @property             # <<<<<<<<<<<<<<
 *     def z(self):
 *         return self._ptr[0].clusterDim.z
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct1.z.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8067
 *     def z(self):
 *         return self._ptr[0].clusterDim.z
 *     @z.setter             # <<<<<<<<<<<<<<
 *     def z(self, unsigned int z):
 *         self._ptr[0].clusterDim.z = z
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct1_1z_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_z); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_z); if (unlikely((__pyx_v_z == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8068, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct1.z.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct1_1z_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct1 *)__pyx_v_self), ((unsigned int)__pyx_v_z));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct1_1z_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self, unsigned int __pyx_v_z) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8067, 0, __PYX_ERR(1, 8067, __pyx_L1_error));

  /* "cuda/cuda.pyx":8069
 *     @z.setter
 *     def z(self, unsigned int z):
 *         self._ptr[0].clusterDim.z = z             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct2:
 */
  (__pyx_v_self->_ptr[0]).clusterDim.z = __pyx_v_z;

  /* "cuda/cuda.pyx":8067
 *     def z(self):
 *         return self._ptr[0].clusterDim.z
 *     @z.setter             # <<<<<<<<<<<<<<
 *     def z(self, unsigned int z):
 *         self._ptr[0].clusterDim.z = z
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct1.z.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_12anon_struct1_10__reduce_cython__, "anon_struct1.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct1_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct1_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct1_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__201)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct1.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct1_12__setstate_cython__, "anon_struct1.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct1_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct1_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct1_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct1 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__202)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8088
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct2_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct2_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8088, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 8088, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8088, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 8088, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct2.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct2___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct2___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 8088, 0, __PYX_ERR(1, 8088, __pyx_L1_error));

  /* "cuda/cuda.pyx":8089
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((union CUlaunchAttributeValue_union *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":8088
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct2.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8091
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].programmaticEvent.event)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct2_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct2_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8091, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 8091, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8091, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 8091, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct2.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct2_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct2_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 8091, 0, __PYX_ERR(1, 8091, __pyx_L1_error));

  /* "cuda/cuda.pyx":8092
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].programmaticEvent.event)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).programmaticEvent.event))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 8092, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_event);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_event);
  __pyx_v_self->_event = ((struct __pyx_obj_4cuda_4cuda_CUevent *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8091
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].programmaticEvent.event)
 *     def __dealloc__(self):
 */

  /* 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.cuda.anon_struct2.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8093
 *     def __init__(self, void_ptr _ptr):
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].programmaticEvent.event)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_12anon_struct2_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct2_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_12anon_struct2_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 8093, 0, __PYX_ERR(1, 8093, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct2.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":8095
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].programmaticEvent
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct2_6getPtr, "anon_struct2.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct2_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct2_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct2_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct2_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct2_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__203)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 8095, 0, __PYX_ERR(1, 8095, __pyx_L1_error));

  /* "cuda/cuda.pyx":8096
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].programmaticEvent             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).programmaticEvent))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8096, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8095
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].programmaticEvent
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct2.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8097
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].programmaticEvent
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct2_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct2_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct2_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 8097, 0, __PYX_ERR(1, 8097, __pyx_L1_error));

  /* "cuda/cuda.pyx":8098
 *         return <void_ptr>&self._ptr[0].programmaticEvent
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8099
 *     def __repr__(self):
 *         if self._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(1, 8099, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":8100
 *         if self._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/cuda.pyx":8101
 *             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_n_s_event_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8101, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8101, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_event, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8101, __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(1, 8101, __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)) __PYX_ERR(1, 8101, __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(1, 8101, __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/cuda.pyx":8100
 *         if self._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/cuda.pyx":8102
 *             try:
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct2.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8102, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8103
 *                 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(1, 8103, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_event_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_event_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_event_ValueError)) __PYX_ERR(1, 8103, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8103, __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/cuda.pyx":8100
 *         if self._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/cuda.pyx":8104
 *             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/cuda.pyx":8105
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8105, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8105, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8105, __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(1, 8105, __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)) __PYX_ERR(1, 8105, __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(1, 8105, __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/cuda.pyx":8104
 *             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/cuda.pyx":8106
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct2.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 8106, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":8107
 *                 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(1, 8107, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 8107, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8107, __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/cuda.pyx":8104
 *             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/cuda.pyx":8108
 *             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/cuda.pyx":8109
 *                 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_n_s_triggerAtBlockStart_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8109, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8109, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_triggerAtBlockStart, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8109, __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(1, 8109, __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)) __PYX_ERR(1, 8109, __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(1, 8109, __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/cuda.pyx":8108
 *             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/cuda.pyx":8110
 *             try:
 *                 str_list += ['triggerAtBlockStart : ' + str(self.triggerAtBlockStart)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['triggerAtBlockStart : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct2.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8110, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8111
 *                 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(1, 8111, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_triggerAtBlockStart_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_triggerAtBlockStart_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_triggerAtBlockStart_ValueError)) __PYX_ERR(1, 8111, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8111, __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/cuda.pyx":8108
 *             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/cuda.pyx":8112
 *             except ValueError:
 *                 str_list += ['triggerAtBlockStart : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":8098
 *         return <void_ptr>&self._ptr[0].programmaticEvent
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":8114
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def event(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":8097
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].programmaticEvent
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8115
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def event(self):
 *         return self._event
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct2_5event_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct2_5event___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct2_5event___get__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8115, 0, __PYX_ERR(1, 8115, __pyx_L1_error));

  /* "cuda/cuda.pyx":8117
 *     @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/cuda.pyx":8115
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def event(self):
 *         return self._event
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct2.event.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8118
 *     def event(self):
 *         return self._event
 *     @event.setter             # <<<<<<<<<<<<<<
 *     def event(self, event):
 *         cdef ccuda.CUevent cevent
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct2_5event_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_event); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct2_5event_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)__pyx_v_self), ((PyObject *)__pyx_v_event));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct2_5event_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8118, 0, __PYX_ERR(1, 8118, __pyx_L1_error));

  /* "cuda/cuda.pyx":8121
 *     def event(self, event):
 *         cdef ccuda.CUevent cevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8122
 *         cdef ccuda.CUevent cevent
 *         if event is None:
 *             cevent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)
 */
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":8121
 *     def event(self, event):
 *         cdef ccuda.CUevent cevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":8123
 *         if event is None:
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8124
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)             # <<<<<<<<<<<<<<
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":8125
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)
 *             cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         else:
 *             pevent = int(CUevent(event))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8125, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":8123
 *         if event is None:
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":8127
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         else:
 *             pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         self._event._ptr[0] = cevent
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":8128
 *         else:
 *             pevent = int(CUevent(event))
 *             cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         self._event._ptr[0] = cevent
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8128, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":8129
 *             pevent = int(CUevent(event))
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         self._event._ptr[0] = cevent             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  (__pyx_v_self->_event->_ptr[0]) = __pyx_v_cevent;

  /* "cuda/cuda.pyx":8118
 *     def event(self):
 *         return self._event
 *     @event.setter             # <<<<<<<<<<<<<<
 *     def event(self, event):
 *         cdef ccuda.CUevent cevent
 */

  /* 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.cuda.anon_struct2.event.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8130
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         self._event._ptr[0] = cevent
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].programmaticEvent.flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct2_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct2_5flags___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct2_5flags___get__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8130, 0, __PYX_ERR(1, 8130, __pyx_L1_error));

  /* "cuda/cuda.pyx":8132
 *     @property
 *     def flags(self):
 *         return self._ptr[0].programmaticEvent.flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).programmaticEvent.flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8130
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         self._event._ptr[0] = cevent
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].programmaticEvent.flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct2.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8133
 *     def flags(self):
 *         return self._ptr[0].programmaticEvent.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, int flags):
 *         self._ptr[0].programmaticEvent.flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct2_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8134, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct2.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct2_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)__pyx_v_self), ((int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct2_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self, int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8133, 0, __PYX_ERR(1, 8133, __pyx_L1_error));

  /* "cuda/cuda.pyx":8135
 *     @flags.setter
 *     def flags(self, int flags):
 *         self._ptr[0].programmaticEvent.flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def triggerAtBlockStart(self):
 */
  (__pyx_v_self->_ptr[0]).programmaticEvent.flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":8133
 *     def flags(self):
 *         return self._ptr[0].programmaticEvent.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, int flags):
 *         self._ptr[0].programmaticEvent.flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct2.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8136
 *     def flags(self, int flags):
 *         self._ptr[0].programmaticEvent.flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def triggerAtBlockStart(self):
 *         return self._ptr[0].programmaticEvent.triggerAtBlockStart
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct2_19triggerAtBlockStart_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct2_19triggerAtBlockStart___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct2_19triggerAtBlockStart___get__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8136, 0, __PYX_ERR(1, 8136, __pyx_L1_error));

  /* "cuda/cuda.pyx":8138
 *     @property
 *     def triggerAtBlockStart(self):
 *         return self._ptr[0].programmaticEvent.triggerAtBlockStart             # <<<<<<<<<<<<<<
 *     @triggerAtBlockStart.setter
 *     def triggerAtBlockStart(self, int triggerAtBlockStart):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).programmaticEvent.triggerAtBlockStart); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8136
 *     def flags(self, int flags):
 *         self._ptr[0].programmaticEvent.flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def triggerAtBlockStart(self):
 *         return self._ptr[0].programmaticEvent.triggerAtBlockStart
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct2.triggerAtBlockStart.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8139
 *     def triggerAtBlockStart(self):
 *         return self._ptr[0].programmaticEvent.triggerAtBlockStart
 *     @triggerAtBlockStart.setter             # <<<<<<<<<<<<<<
 *     def triggerAtBlockStart(self, int triggerAtBlockStart):
 *         self._ptr[0].programmaticEvent.triggerAtBlockStart = triggerAtBlockStart
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct2_19triggerAtBlockStart_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_triggerAtBlockStart); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_triggerAtBlockStart); if (unlikely((__pyx_v_triggerAtBlockStart == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8140, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct2.triggerAtBlockStart.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct2_19triggerAtBlockStart_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)__pyx_v_self), ((int)__pyx_v_triggerAtBlockStart));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct2_19triggerAtBlockStart_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self, int __pyx_v_triggerAtBlockStart) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8139, 0, __PYX_ERR(1, 8139, __pyx_L1_error));

  /* "cuda/cuda.pyx":8141
 *     @triggerAtBlockStart.setter
 *     def triggerAtBlockStart(self, int triggerAtBlockStart):
 *         self._ptr[0].programmaticEvent.triggerAtBlockStart = triggerAtBlockStart             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct3:
 */
  (__pyx_v_self->_ptr[0]).programmaticEvent.triggerAtBlockStart = __pyx_v_triggerAtBlockStart;

  /* "cuda/cuda.pyx":8139
 *     def triggerAtBlockStart(self):
 *         return self._ptr[0].programmaticEvent.triggerAtBlockStart
 *     @triggerAtBlockStart.setter             # <<<<<<<<<<<<<<
 *     def triggerAtBlockStart(self, int triggerAtBlockStart):
 *         self._ptr[0].programmaticEvent.triggerAtBlockStart = triggerAtBlockStart
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct2.triggerAtBlockStart.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_12anon_struct2_10__reduce_cython__, "anon_struct2.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct2_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct2_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct2_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct2_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct2_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__204)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct2.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct2_12__setstate_cython__, "anon_struct2.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct2_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct2_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct2_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct2.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct2_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct2_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__205)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct2.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8158
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct3_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct3_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8158, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 8158, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8158, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 8158, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct3.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct3___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct3 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct3___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 8158, 0, __PYX_ERR(1, 8158, __pyx_L1_error));

  /* "cuda/cuda.pyx":8159
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((union CUlaunchAttributeValue_union *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":8158
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct3.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8161
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].launchCompletionEvent.event)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct3_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct3_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8161, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 8161, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8161, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 8161, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct3.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct3_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct3 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct3_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 8161, 0, __PYX_ERR(1, 8161, __pyx_L1_error));

  /* "cuda/cuda.pyx":8162
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].launchCompletionEvent.event)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).launchCompletionEvent.event))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 8162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_event);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_event);
  __pyx_v_self->_event = ((struct __pyx_obj_4cuda_4cuda_CUevent *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8161
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].launchCompletionEvent.event)
 *     def __dealloc__(self):
 */

  /* 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.cuda.anon_struct3.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8163
 *     def __init__(self, void_ptr _ptr):
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].launchCompletionEvent.event)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_12anon_struct3_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct3_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_12anon_struct3_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 8163, 0, __PYX_ERR(1, 8163, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct3.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":8165
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].launchCompletionEvent
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct3_6getPtr, "anon_struct3.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct3_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct3_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct3_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct3_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct3_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__206)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 8165, 0, __PYX_ERR(1, 8165, __pyx_L1_error));

  /* "cuda/cuda.pyx":8166
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].launchCompletionEvent             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).launchCompletionEvent))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8165
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].launchCompletionEvent
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct3.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8167
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].launchCompletionEvent
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct3_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct3_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct3_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 8167, 0, __PYX_ERR(1, 8167, __pyx_L1_error));

  /* "cuda/cuda.pyx":8168
 *         return <void_ptr>&self._ptr[0].launchCompletionEvent
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8169
 *     def __repr__(self):
 *         if self._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(1, 8169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":8170
 *         if self._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/cuda.pyx":8171
 *             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_n_s_event_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8171, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8171, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_event, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8171, __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(1, 8171, __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)) __PYX_ERR(1, 8171, __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(1, 8171, __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/cuda.pyx":8170
 *         if self._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/cuda.pyx":8172
 *             try:
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct3.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8172, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8173
 *                 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(1, 8173, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_event_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_event_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_event_ValueError)) __PYX_ERR(1, 8173, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8173, __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/cuda.pyx":8170
 *         if self._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/cuda.pyx":8174
 *             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/cuda.pyx":8175
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8175, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8175, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8175, __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(1, 8175, __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)) __PYX_ERR(1, 8175, __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(1, 8175, __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/cuda.pyx":8174
 *             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/cuda.pyx":8176
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct3.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 8176, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":8177
 *                 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(1, 8177, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 8177, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8177, __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/cuda.pyx":8174
 *             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/cuda.pyx":8178
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":8168
 *         return <void_ptr>&self._ptr[0].launchCompletionEvent
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":8180
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def event(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":8167
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].launchCompletionEvent
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8181
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def event(self):
 *         return self._event
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct3_5event_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct3_5event___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct3_5event___get__(struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8181, 0, __PYX_ERR(1, 8181, __pyx_L1_error));

  /* "cuda/cuda.pyx":8183
 *     @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/cuda.pyx":8181
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def event(self):
 *         return self._event
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct3.event.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8184
 *     def event(self):
 *         return self._event
 *     @event.setter             # <<<<<<<<<<<<<<
 *     def event(self, event):
 *         cdef ccuda.CUevent cevent
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct3_5event_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_event); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct3_5event_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct3 *)__pyx_v_self), ((PyObject *)__pyx_v_event));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct3_5event_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8184, 0, __PYX_ERR(1, 8184, __pyx_L1_error));

  /* "cuda/cuda.pyx":8187
 *     def event(self, event):
 *         cdef ccuda.CUevent cevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8188
 *         cdef ccuda.CUevent cevent
 *         if event is None:
 *             cevent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)
 */
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":8187
 *     def event(self, event):
 *         cdef ccuda.CUevent cevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":8189
 *         if event is None:
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8190
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)             # <<<<<<<<<<<<<<
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8190, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":8191
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)
 *             cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         else:
 *             pevent = int(CUevent(event))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8191, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":8189
 *         if event is None:
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":8193
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         else:
 *             pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         self._event._ptr[0] = cevent
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":8194
 *         else:
 *             pevent = int(CUevent(event))
 *             cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         self._event._ptr[0] = cevent
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8194, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":8195
 *             pevent = int(CUevent(event))
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         self._event._ptr[0] = cevent             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  (__pyx_v_self->_event->_ptr[0]) = __pyx_v_cevent;

  /* "cuda/cuda.pyx":8184
 *     def event(self):
 *         return self._event
 *     @event.setter             # <<<<<<<<<<<<<<
 *     def event(self, event):
 *         cdef ccuda.CUevent cevent
 */

  /* 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.cuda.anon_struct3.event.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pevent);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8196
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         self._event._ptr[0] = cevent
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].launchCompletionEvent.flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct3_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct3_5flags___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct3_5flags___get__(struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8196, 0, __PYX_ERR(1, 8196, __pyx_L1_error));

  /* "cuda/cuda.pyx":8198
 *     @property
 *     def flags(self):
 *         return self._ptr[0].launchCompletionEvent.flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).launchCompletionEvent.flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8196
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         self._event._ptr[0] = cevent
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].launchCompletionEvent.flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct3.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8199
 *     def flags(self):
 *         return self._ptr[0].launchCompletionEvent.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, int flags):
 *         self._ptr[0].launchCompletionEvent.flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct3_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8200, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct3.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct3_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct3 *)__pyx_v_self), ((int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct3_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self, int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8199, 0, __PYX_ERR(1, 8199, __pyx_L1_error));

  /* "cuda/cuda.pyx":8201
 *     @flags.setter
 *     def flags(self, int flags):
 *         self._ptr[0].launchCompletionEvent.flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct4:
 */
  (__pyx_v_self->_ptr[0]).launchCompletionEvent.flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":8199
 *     def flags(self):
 *         return self._ptr[0].launchCompletionEvent.flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, int flags):
 *         self._ptr[0].launchCompletionEvent.flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct3.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_12anon_struct3_10__reduce_cython__, "anon_struct3.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct3_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct3_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct3_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct3_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct3_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__207)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct3.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct3_12__setstate_cython__, "anon_struct3.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct3_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct3_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct3_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct3.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct3_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct3 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct3_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__208)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct3.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8218
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct4_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct4_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8218, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 8218, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8218, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 8218, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct4.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct4___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct4 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct4___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 8218, 0, __PYX_ERR(1, 8218, __pyx_L1_error));

  /* "cuda/cuda.pyx":8219
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((union CUlaunchAttributeValue_union *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":8218
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct4.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8221
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._devNode = CUgraphDeviceNode(_ptr=<void_ptr>&self._ptr[0].deviceUpdatableKernelNode.devNode)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct4_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct4_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8221, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 8221, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8221, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 8221, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct4.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct4_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct4 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct4_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 8221, 0, __PYX_ERR(1, 8221, __pyx_L1_error));

  /* "cuda/cuda.pyx":8222
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._devNode = CUgraphDeviceNode(_ptr=<void_ptr>&self._ptr[0].deviceUpdatableKernelNode.devNode)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).deviceUpdatableKernelNode.devNode))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 8222, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphDeviceNode), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_devNode);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_devNode);
  __pyx_v_self->_devNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8221
 *         self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._devNode = CUgraphDeviceNode(_ptr=<void_ptr>&self._ptr[0].deviceUpdatableKernelNode.devNode)
 *     def __dealloc__(self):
 */

  /* 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.cuda.anon_struct4.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8223
 *     def __init__(self, void_ptr _ptr):
 *         self._devNode = CUgraphDeviceNode(_ptr=<void_ptr>&self._ptr[0].deviceUpdatableKernelNode.devNode)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_12anon_struct4_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct4_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_12anon_struct4_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 8223, 0, __PYX_ERR(1, 8223, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct4.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":8225
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].deviceUpdatableKernelNode
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct4_6getPtr, "anon_struct4.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct4_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct4_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct4_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct4_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct4_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__209)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 8225, 0, __PYX_ERR(1, 8225, __pyx_L1_error));

  /* "cuda/cuda.pyx":8226
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].deviceUpdatableKernelNode             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).deviceUpdatableKernelNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8225
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].deviceUpdatableKernelNode
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct4.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8227
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].deviceUpdatableKernelNode
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct4_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct4_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct4_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 8227, 0, __PYX_ERR(1, 8227, __pyx_L1_error));

  /* "cuda/cuda.pyx":8228
 *         return <void_ptr>&self._ptr[0].deviceUpdatableKernelNode
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8229
 *     def __repr__(self):
 *         if self._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(1, 8229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":8230
 *         if self._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/cuda.pyx":8231
 *             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_n_s_deviceUpdatable_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8231, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8231, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_deviceUpdatable, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8231, __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(1, 8231, __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)) __PYX_ERR(1, 8231, __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(1, 8231, __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/cuda.pyx":8230
 *         if self._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/cuda.pyx":8232
 *             try:
 *                 str_list += ['deviceUpdatable : ' + str(self.deviceUpdatable)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceUpdatable : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8232, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8233
 *                 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(1, 8233, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_deviceUpdatable_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_deviceUpdatable_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_deviceUpdatable_ValueError)) __PYX_ERR(1, 8233, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8233, __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/cuda.pyx":8230
 *         if self._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/cuda.pyx":8234
 *             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/cuda.pyx":8235
 *                 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_n_s_devNode_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8235, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8235, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_devNode, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8235, __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(1, 8235, __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)) __PYX_ERR(1, 8235, __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(1, 8235, __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/cuda.pyx":8234
 *             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/cuda.pyx":8236
 *             try:
 *                 str_list += ['devNode : ' + str(self.devNode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['devNode : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 8236, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":8237
 *                 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(1, 8237, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_devNode_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_devNode_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_devNode_ValueError)) __PYX_ERR(1, 8237, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8237, __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/cuda.pyx":8234
 *             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/cuda.pyx":8238
 *             except ValueError:
 *                 str_list += ['devNode : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":8228
 *         return <void_ptr>&self._ptr[0].deviceUpdatableKernelNode
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":8240
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def deviceUpdatable(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":8227
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].deviceUpdatableKernelNode
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8241
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def deviceUpdatable(self):
 *         return self._ptr[0].deviceUpdatableKernelNode.deviceUpdatable
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct4_15deviceUpdatable_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct4_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_4cuda_12anon_struct4_15deviceUpdatable___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct4_15deviceUpdatable___get__(struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8241, 0, __PYX_ERR(1, 8241, __pyx_L1_error));

  /* "cuda/cuda.pyx":8243
 *     @property
 *     def deviceUpdatable(self):
 *         return self._ptr[0].deviceUpdatableKernelNode.deviceUpdatable             # <<<<<<<<<<<<<<
 *     @deviceUpdatable.setter
 *     def deviceUpdatable(self, int deviceUpdatable):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).deviceUpdatableKernelNode.deviceUpdatable); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8241
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def deviceUpdatable(self):
 *         return self._ptr[0].deviceUpdatableKernelNode.deviceUpdatable
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct4.deviceUpdatable.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8244
 *     def deviceUpdatable(self):
 *         return self._ptr[0].deviceUpdatableKernelNode.deviceUpdatable
 *     @deviceUpdatable.setter             # <<<<<<<<<<<<<<
 *     def deviceUpdatable(self, int deviceUpdatable):
 *         self._ptr[0].deviceUpdatableKernelNode.deviceUpdatable = deviceUpdatable
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct4_15deviceUpdatable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_deviceUpdatable); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct4_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_PyInt_As_int(__pyx_arg_deviceUpdatable); if (unlikely((__pyx_v_deviceUpdatable == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8245, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct4.deviceUpdatable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct4_15deviceUpdatable_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct4 *)__pyx_v_self), ((int)__pyx_v_deviceUpdatable));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct4_15deviceUpdatable_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self, int __pyx_v_deviceUpdatable) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8244, 0, __PYX_ERR(1, 8244, __pyx_L1_error));

  /* "cuda/cuda.pyx":8246
 *     @deviceUpdatable.setter
 *     def deviceUpdatable(self, int deviceUpdatable):
 *         self._ptr[0].deviceUpdatableKernelNode.deviceUpdatable = deviceUpdatable             # <<<<<<<<<<<<<<
 *     @property
 *     def devNode(self):
 */
  (__pyx_v_self->_ptr[0]).deviceUpdatableKernelNode.deviceUpdatable = __pyx_v_deviceUpdatable;

  /* "cuda/cuda.pyx":8244
 *     def deviceUpdatable(self):
 *         return self._ptr[0].deviceUpdatableKernelNode.deviceUpdatable
 *     @deviceUpdatable.setter             # <<<<<<<<<<<<<<
 *     def deviceUpdatable(self, int deviceUpdatable):
 *         self._ptr[0].deviceUpdatableKernelNode.deviceUpdatable = deviceUpdatable
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct4.deviceUpdatable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8247
 *     def deviceUpdatable(self, int deviceUpdatable):
 *         self._ptr[0].deviceUpdatableKernelNode.deviceUpdatable = deviceUpdatable
 *     @property             # <<<<<<<<<<<<<<
 *     def devNode(self):
 *         return self._devNode
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct4_7devNode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct4_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_4cuda_12anon_struct4_7devNode___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct4_7devNode___get__(struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8247, 0, __PYX_ERR(1, 8247, __pyx_L1_error));

  /* "cuda/cuda.pyx":8249
 *     @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/cuda.pyx":8247
 *     def deviceUpdatable(self, int deviceUpdatable):
 *         self._ptr[0].deviceUpdatableKernelNode.deviceUpdatable = deviceUpdatable
 *     @property             # <<<<<<<<<<<<<<
 *     def devNode(self):
 *         return self._devNode
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct4.devNode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8250
 *     def devNode(self):
 *         return self._devNode
 *     @devNode.setter             # <<<<<<<<<<<<<<
 *     def devNode(self, devNode):
 *         cdef ccuda.CUgraphDeviceNode cdevNode
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct4_7devNode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_devNode); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct4_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_4cuda_12anon_struct4_7devNode_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct4 *)__pyx_v_self), ((PyObject *)__pyx_v_devNode));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct4_7devNode_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self, PyObject *__pyx_v_devNode) {
  CUgraphDeviceNode __pyx_v_cdevNode;
  PyObject *__pyx_v_pdevNode = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8250, 0, __PYX_ERR(1, 8250, __pyx_L1_error));

  /* "cuda/cuda.pyx":8253
 *     def devNode(self, devNode):
 *         cdef ccuda.CUgraphDeviceNode cdevNode
 *         if devNode is None:             # <<<<<<<<<<<<<<
 *             cdevNode = <ccuda.CUgraphDeviceNode><void_ptr>0
 *         elif isinstance(devNode, (CUgraphDeviceNode,)):
 */
  __pyx_t_1 = (__pyx_v_devNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8254
 *         cdef ccuda.CUgraphDeviceNode cdevNode
 *         if devNode is None:
 *             cdevNode = <ccuda.CUgraphDeviceNode><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(devNode, (CUgraphDeviceNode,)):
 *             pdevNode = int(devNode)
 */
    __pyx_v_cdevNode = ((CUgraphDeviceNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":8253
 *     def devNode(self, devNode):
 *         cdef ccuda.CUgraphDeviceNode cdevNode
 *         if devNode is None:             # <<<<<<<<<<<<<<
 *             cdevNode = <ccuda.CUgraphDeviceNode><void_ptr>0
 *         elif isinstance(devNode, (CUgraphDeviceNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":8255
 *         if devNode is None:
 *             cdevNode = <ccuda.CUgraphDeviceNode><void_ptr>0
 *         elif isinstance(devNode, (CUgraphDeviceNode,)):             # <<<<<<<<<<<<<<
 *             pdevNode = int(devNode)
 *             cdevNode = <ccuda.CUgraphDeviceNode><void_ptr>pdevNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devNode, __pyx_ptype_4cuda_4cuda_CUgraphDeviceNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8256
 *             cdevNode = <ccuda.CUgraphDeviceNode><void_ptr>0
 *         elif isinstance(devNode, (CUgraphDeviceNode,)):
 *             pdevNode = int(devNode)             # <<<<<<<<<<<<<<
 *             cdevNode = <ccuda.CUgraphDeviceNode><void_ptr>pdevNode
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_devNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8256, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":8257
 *         elif isinstance(devNode, (CUgraphDeviceNode,)):
 *             pdevNode = int(devNode)
 *             cdevNode = <ccuda.CUgraphDeviceNode><void_ptr>pdevNode             # <<<<<<<<<<<<<<
 *         else:
 *             pdevNode = int(CUgraphDeviceNode(devNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8257, __pyx_L1_error)
    __pyx_v_cdevNode = ((CUgraphDeviceNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":8255
 *         if devNode is None:
 *             cdevNode = <ccuda.CUgraphDeviceNode><void_ptr>0
 *         elif isinstance(devNode, (CUgraphDeviceNode,)):             # <<<<<<<<<<<<<<
 *             pdevNode = int(devNode)
 *             cdevNode = <ccuda.CUgraphDeviceNode><void_ptr>pdevNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":8259
 *             cdevNode = <ccuda.CUgraphDeviceNode><void_ptr>pdevNode
 *         else:
 *             pdevNode = int(CUgraphDeviceNode(devNode))             # <<<<<<<<<<<<<<
 *             cdevNode = <ccuda.CUgraphDeviceNode><void_ptr>pdevNode
 *         self._devNode._ptr[0] = cdevNode
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphDeviceNode), __pyx_v_devNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8259, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8259, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":8260
 *         else:
 *             pdevNode = int(CUgraphDeviceNode(devNode))
 *             cdevNode = <ccuda.CUgraphDeviceNode><void_ptr>pdevNode             # <<<<<<<<<<<<<<
 *         self._devNode._ptr[0] = cdevNode
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8260, __pyx_L1_error)
    __pyx_v_cdevNode = ((CUgraphDeviceNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":8261
 *             pdevNode = int(CUgraphDeviceNode(devNode))
 *             cdevNode = <ccuda.CUgraphDeviceNode><void_ptr>pdevNode
 *         self._devNode._ptr[0] = cdevNode             # <<<<<<<<<<<<<<
 * 
 * cdef class CUlaunchAttributeValue_union:
 */
  (__pyx_v_self->_devNode->_ptr[0]) = __pyx_v_cdevNode;

  /* "cuda/cuda.pyx":8250
 *     def devNode(self):
 *         return self._devNode
 *     @devNode.setter             # <<<<<<<<<<<<<<
 *     def devNode(self, devNode):
 *         cdef ccuda.CUgraphDeviceNode cdevNode
 */

  /* 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.cuda.anon_struct4.devNode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevNode);
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_12anon_struct4_10__reduce_cython__, "anon_struct4.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct4_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct4_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct4_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct4_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct4_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__210)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct4.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct4_12__setstate_cython__, "anon_struct4.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct4_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct4_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct4_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct4.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct4_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct4 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct4_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__211)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct4.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8319
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8319, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 8319, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8319, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 8319, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union___cinit__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union___cinit__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 8319, 0, __PYX_ERR(1, 8319, __pyx_L1_error));

  /* "cuda/cuda.pyx":8320
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8321
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUlaunchAttributeValue_union__val);

    /* "cuda/cuda.pyx":8320
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":8323
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._accessPolicyWindow = CUaccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((union CUlaunchAttributeValue_union *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":8319
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8324
 *         else:
 *             self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._accessPolicyWindow = CUaccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *         self._clusterDim = anon_struct1(_ptr=<void_ptr>self._ptr)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8324, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 8324, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8324, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 8324, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_2__init__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_2__init__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 8324, 0, __PYX_ERR(1, 8324, __pyx_L1_error));

  /* "cuda/cuda.pyx":8325
 *             self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._accessPolicyWindow = CUaccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)             # <<<<<<<<<<<<<<
 *         self._clusterDim = anon_struct1(_ptr=<void_ptr>self._ptr)
 *         self._programmaticEvent = anon_struct2(_ptr=<void_ptr>self._ptr)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).accessPolicyWindow))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 8325, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_accessPolicyWindow);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_accessPolicyWindow);
  __pyx_v_self->_accessPolicyWindow = ((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8326
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._accessPolicyWindow = CUaccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *         self._clusterDim = anon_struct1(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._programmaticEvent = anon_struct2(_ptr=<void_ptr>self._ptr)
 *         self._launchCompletionEvent = anon_struct3(_ptr=<void_ptr>self._ptr)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 8326, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct1), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_anon_struct1 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":8327
 *         self._accessPolicyWindow = CUaccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *         self._clusterDim = anon_struct1(_ptr=<void_ptr>self._ptr)
 *         self._programmaticEvent = anon_struct2(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._launchCompletionEvent = anon_struct3(_ptr=<void_ptr>self._ptr)
 *         self._memSyncDomainMap = CUlaunchMemSyncDomainMap(_ptr=<void_ptr>&self._ptr[0].memSyncDomainMap)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 8327, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct2), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_programmaticEvent);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_programmaticEvent);
  __pyx_v_self->_programmaticEvent = ((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8328
 *         self._clusterDim = anon_struct1(_ptr=<void_ptr>self._ptr)
 *         self._programmaticEvent = anon_struct2(_ptr=<void_ptr>self._ptr)
 *         self._launchCompletionEvent = anon_struct3(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._memSyncDomainMap = CUlaunchMemSyncDomainMap(_ptr=<void_ptr>&self._ptr[0].memSyncDomainMap)
 *         self._deviceUpdatableKernelNode = anon_struct4(_ptr=<void_ptr>self._ptr)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 8328, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct3), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_anon_struct3 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":8329
 *         self._programmaticEvent = anon_struct2(_ptr=<void_ptr>self._ptr)
 *         self._launchCompletionEvent = anon_struct3(_ptr=<void_ptr>self._ptr)
 *         self._memSyncDomainMap = CUlaunchMemSyncDomainMap(_ptr=<void_ptr>&self._ptr[0].memSyncDomainMap)             # <<<<<<<<<<<<<<
 *         self._deviceUpdatableKernelNode = anon_struct4(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).memSyncDomainMap))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 8329, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_memSyncDomainMap);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_memSyncDomainMap);
  __pyx_v_self->_memSyncDomainMap = ((struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8330
 *         self._launchCompletionEvent = anon_struct3(_ptr=<void_ptr>self._ptr)
 *         self._memSyncDomainMap = CUlaunchMemSyncDomainMap(_ptr=<void_ptr>&self._ptr[0].memSyncDomainMap)
 *         self._deviceUpdatableKernelNode = anon_struct4(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 8330, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct4), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_anon_struct4 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":8324
 *         else:
 *             self._ptr = <ccuda.CUlaunchAttributeValue_union *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._accessPolicyWindow = CUaccessPolicyWindow(_ptr=<void_ptr>&self._ptr[0].accessPolicyWindow)
 *         self._clusterDim = anon_struct1(_ptr=<void_ptr>self._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.cuda.CUlaunchAttributeValue_union.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8331
 *         self._memSyncDomainMap = CUlaunchMemSyncDomainMap(_ptr=<void_ptr>&self._ptr[0].memSyncDomainMap)
 *         self._deviceUpdatableKernelNode = anon_struct4(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 8331, 0, __PYX_ERR(1, 8331, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUlaunchAttributeValue_union.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":8333
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_6getPtr, "CUlaunchAttributeValue_union.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_28CUlaunchAttributeValue_union_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUlaunchAttributeValue_union_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_6getPtr(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__212)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 8333, 0, __PYX_ERR(1, 8333, __pyx_L1_error));

  /* "cuda/cuda.pyx":8334
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8333
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8335
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_8__repr__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr13__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr14__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr15__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr16__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr17__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr18__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 8335, 0, __PYX_ERR(1, 8335, __pyx_L1_error));

  /* "cuda/cuda.pyx":8336
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8337
 *     def __repr__(self):
 *         if self._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(1, 8337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":8338
 *         if self._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/cuda.pyx":8339
 *             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_n_s_pad_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8339, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8339, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_pad, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8339, __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(1, 8339, __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)) __PYX_ERR(1, 8339, __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(1, 8339, __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/cuda.pyx":8338
 *         if self._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/cuda.pyx":8340
 *             try:
 *                 str_list += ['pad : ' + str(self.pad)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pad : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8340, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8341
 *                 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(1, 8341, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_pad_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_pad_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_pad_ValueError)) __PYX_ERR(1, 8341, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8341, __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/cuda.pyx":8338
 *         if self._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/cuda.pyx":8342
 *             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/cuda.pyx":8343
 *                 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(1, 8343, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_accessPolicyWindow_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8343, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8343, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8343, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8343, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8343, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 8343, __pyx_L20_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8343, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 8343, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8343, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8343, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 8343, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8343, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 8343, __pyx_L20_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr13__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr13__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8343, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 8343, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr13__pyx_v_line); __pyx_9genexpr13__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_9genexpr13__pyx_v_line); __pyx_9genexpr13__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8343, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_accessPolicyWindow, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8343, __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(1, 8343, __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)) __PYX_ERR(1, 8343, __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(1, 8343, __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/cuda.pyx":8342
 *             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/cuda.pyx":8344
 *             try:
 *                 str_list += ['accessPolicyWindow :\n' + '\n'.join(['    ' + line for line in str(self.accessPolicyWindow).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessPolicyWindow : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 8344, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":8345
 *                 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(1, 8345, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_accessPolicyWindow_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_accessPolicyWindow_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_accessPolicyWindow_ValueError)) __PYX_ERR(1, 8345, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8345, __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/cuda.pyx":8342
 *             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/cuda.pyx":8346
 *             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/cuda.pyx":8347
 *                 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_n_s_cooperative_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8347, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8347, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_cooperative, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8347, __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(1, 8347, __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)) __PYX_ERR(1, 8347, __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(1, 8347, __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/cuda.pyx":8346
 *             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/cuda.pyx":8348
 *             try:
 *                 str_list += ['cooperative : ' + str(self.cooperative)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['cooperative : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(1, 8348, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8349
 *                 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(1, 8349, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_cooperative_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_cooperative_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_cooperative_ValueError)) __PYX_ERR(1, 8349, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8349, __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/cuda.pyx":8346
 *             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/cuda.pyx":8350
 *             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/cuda.pyx":8351
 *                 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_n_s_syncPolicy_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8351, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8351, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_syncPolicy, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8351, __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(1, 8351, __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)) __PYX_ERR(1, 8351, __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(1, 8351, __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/cuda.pyx":8350
 *             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/cuda.pyx":8352
 *             try:
 *                 str_list += ['syncPolicy : ' + str(self.syncPolicy)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['syncPolicy : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 8352, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":8353
 *                 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(1, 8353, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_syncPolicy_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_syncPolicy_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_syncPolicy_ValueError)) __PYX_ERR(1, 8353, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8353, __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/cuda.pyx":8350
 *             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/cuda.pyx":8354
 *             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/cuda.pyx":8355
 *                 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(1, 8355, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_clusterDim_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8355, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8355, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8355, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_8))) {
            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
            if (likely(__pyx_t_9)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
              __Pyx_INCREF(__pyx_t_9);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_8, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
            __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8355, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8355, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 8355, __pyx_L51_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_8))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8355, __pyx_L51_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 8355, __pyx_L51_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8355, __pyx_L51_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8355, __pyx_L51_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 8355, __pyx_L51_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8355, __pyx_L51_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_12(__pyx_t_8);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 8355, __pyx_L51_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr14__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr14__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8355, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(1, 8355, __pyx_L51_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_9genexpr14__pyx_v_line); __pyx_9genexpr14__pyx_v_line = 0;
          goto __pyx_L55_exit_scope;
          __pyx_L51_error:;
          __Pyx_XDECREF(__pyx_9genexpr14__pyx_v_line); __pyx_9genexpr14__pyx_v_line = 0;
          goto __pyx_L43_error;
          __pyx_L55_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8355, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_clusterDim, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8355, __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(1, 8355, __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)) __PYX_ERR(1, 8355, __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(1, 8355, __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/cuda.pyx":8354
 *             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/cuda.pyx":8356
 *             try:
 *                 str_list += ['clusterDim :\n' + '\n'.join(['    ' + line for line in str(self.clusterDim).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['clusterDim : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(1, 8356, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":8357
 *                 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(1, 8357, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_clusterDim_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_clusterDim_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_clusterDim_ValueError)) __PYX_ERR(1, 8357, __pyx_L45_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8357, __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/cuda.pyx":8354
 *             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/cuda.pyx":8358
 *             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/cuda.pyx":8359
 *                 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_n_s_clusterSchedulingPolicyPreferenc_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8359, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8359, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_clusterSchedulingPolicyPreferenc, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8359, __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(1, 8359, __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)) __PYX_ERR(1, 8359, __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(1, 8359, __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/cuda.pyx":8358
 *             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/cuda.pyx":8360
 *             try:
 *                 str_list += ['clusterSchedulingPolicyPreference : ' + str(self.clusterSchedulingPolicyPreference)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['clusterSchedulingPolicyPreference : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(1, 8360, __pyx_L60_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":8361
 *                 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(1, 8361, __pyx_L60_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_clusterSchedulingPolicyPreferenc_3);
        __Pyx_GIVEREF(__pyx_kp_u_clusterSchedulingPolicyPreferenc_3);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_clusterSchedulingPolicyPreferenc_3)) __PYX_ERR(1, 8361, __pyx_L60_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8361, __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/cuda.pyx":8358
 *             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/cuda.pyx":8362
 *             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/cuda.pyx":8363
 *                 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_n_s_programmaticStreamSerializationA_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8363, __pyx_L66_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8363, __pyx_L66_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_programmaticStreamSerializationA, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8363, __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(1, 8363, __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)) __PYX_ERR(1, 8363, __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(1, 8363, __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/cuda.pyx":8362
 *             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/cuda.pyx":8364
 *             try:
 *                 str_list += ['programmaticStreamSerializationAllowed : ' + str(self.programmaticStreamSerializationAllowed)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['programmaticStreamSerializationAllowed : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(1, 8364, __pyx_L68_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":8365
 *                 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(1, 8365, __pyx_L68_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_programmaticStreamSerializationA_3);
        __Pyx_GIVEREF(__pyx_kp_u_programmaticStreamSerializationA_3);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_programmaticStreamSerializationA_3)) __PYX_ERR(1, 8365, __pyx_L68_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8365, __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/cuda.pyx":8362
 *             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/cuda.pyx":8366
 *             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/cuda.pyx":8367
 *                 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(1, 8367, __pyx_L82_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_programmaticEvent_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8367, __pyx_L82_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8367, __pyx_L82_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8367, __pyx_L82_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_6))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_6, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8367, __pyx_L82_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
            __pyx_t_6 = __pyx_t_8; __Pyx_INCREF(__pyx_t_6);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8367, __pyx_L82_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 8367, __pyx_L82_error)
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_6))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8367, __pyx_L82_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_8 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_8); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 8367, __pyx_L82_error)
                #else
                __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8367, __pyx_L82_error)
                __Pyx_GOTREF(__pyx_t_8);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8367, __pyx_L82_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_8); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 8367, __pyx_L82_error)
                #else
                __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8367, __pyx_L82_error)
                __Pyx_GOTREF(__pyx_t_8);
                #endif
              }
            } else {
              __pyx_t_8 = __pyx_t_12(__pyx_t_6);
              if (unlikely(!__pyx_t_8)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 8367, __pyx_L82_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_8);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr15__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr15__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8367, __pyx_L82_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 8367, __pyx_L82_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_9genexpr15__pyx_v_line); __pyx_9genexpr15__pyx_v_line = 0;
          goto __pyx_L86_exit_scope;
          __pyx_L82_error:;
          __Pyx_XDECREF(__pyx_9genexpr15__pyx_v_line); __pyx_9genexpr15__pyx_v_line = 0;
          goto __pyx_L74_error;
          __pyx_L86_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8367, __pyx_L74_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_programmaticEvent, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8367, __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(1, 8367, __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)) __PYX_ERR(1, 8367, __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(1, 8367, __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/cuda.pyx":8366
 *             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/cuda.pyx":8368
 *             try:
 *                 str_list += ['programmaticEvent :\n' + '\n'.join(['    ' + line for line in str(self.programmaticEvent).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['programmaticEvent : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8368, __pyx_L76_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8369
 *                 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(1, 8369, __pyx_L76_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_programmaticEvent_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_programmaticEvent_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_programmaticEvent_ValueError)) __PYX_ERR(1, 8369, __pyx_L76_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8369, __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/cuda.pyx":8366
 *             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/cuda.pyx":8370
 *             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/cuda.pyx":8371
 *                 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(1, 8371, __pyx_L97_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_launchCompletionEvent_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8371, __pyx_L97_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8371, __pyx_L97_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8371, __pyx_L97_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_9)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_9);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8371, __pyx_L97_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8371, __pyx_L97_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 8371, __pyx_L97_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8371, __pyx_L97_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 8371, __pyx_L97_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8371, __pyx_L97_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8371, __pyx_L97_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 8371, __pyx_L97_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8371, __pyx_L97_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 8371, __pyx_L97_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr16__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr16__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8371, __pyx_L97_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 8371, __pyx_L97_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr16__pyx_v_line); __pyx_9genexpr16__pyx_v_line = 0;
          goto __pyx_L101_exit_scope;
          __pyx_L97_error:;
          __Pyx_XDECREF(__pyx_9genexpr16__pyx_v_line); __pyx_9genexpr16__pyx_v_line = 0;
          goto __pyx_L89_error;
          __pyx_L101_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8371, __pyx_L89_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_launchCompletionEvent, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8371, __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(1, 8371, __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)) __PYX_ERR(1, 8371, __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(1, 8371, __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/cuda.pyx":8370
 *             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/cuda.pyx":8372
 *             try:
 *                 str_list += ['launchCompletionEvent :\n' + '\n'.join(['    ' + line for line in str(self.launchCompletionEvent).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['launchCompletionEvent : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 8372, __pyx_L91_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":8373
 *                 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(1, 8373, __pyx_L91_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_launchCompletionEvent_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_launchCompletionEvent_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_launchCompletionEvent_ValueError)) __PYX_ERR(1, 8373, __pyx_L91_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8373, __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/cuda.pyx":8370
 *             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/cuda.pyx":8374
 *             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/cuda.pyx":8375
 *                 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_n_s_priority_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8375, __pyx_L104_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8375, __pyx_L104_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_priority, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8375, __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(1, 8375, __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)) __PYX_ERR(1, 8375, __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(1, 8375, __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/cuda.pyx":8374
 *             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/cuda.pyx":8376
 *             try:
 *                 str_list += ['priority : ' + str(self.priority)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['priority : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(1, 8376, __pyx_L106_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8377
 *                 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(1, 8377, __pyx_L106_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_priority_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_priority_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_priority_ValueError)) __PYX_ERR(1, 8377, __pyx_L106_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8377, __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/cuda.pyx":8374
 *             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/cuda.pyx":8378
 *             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/cuda.pyx":8379
 *                 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(1, 8379, __pyx_L120_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memSyncDomainMap_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8379, __pyx_L120_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8379, __pyx_L120_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8379, __pyx_L120_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_6))) {
            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
            if (likely(__pyx_t_9)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
              __Pyx_INCREF(__pyx_t_9);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_6, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
            __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8379, __pyx_L120_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_6 = __pyx_t_2; __Pyx_INCREF(__pyx_t_6);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8379, __pyx_L120_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 8379, __pyx_L120_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_6))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8379, __pyx_L120_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 8379, __pyx_L120_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8379, __pyx_L120_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8379, __pyx_L120_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 8379, __pyx_L120_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8379, __pyx_L120_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_12(__pyx_t_6);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 8379, __pyx_L120_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr17__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr17__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8379, __pyx_L120_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_2))) __PYX_ERR(1, 8379, __pyx_L120_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_9genexpr17__pyx_v_line); __pyx_9genexpr17__pyx_v_line = 0;
          goto __pyx_L124_exit_scope;
          __pyx_L120_error:;
          __Pyx_XDECREF(__pyx_9genexpr17__pyx_v_line); __pyx_9genexpr17__pyx_v_line = 0;
          goto __pyx_L112_error;
          __pyx_L124_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8379, __pyx_L112_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_memSyncDomainMap, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8379, __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(1, 8379, __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)) __PYX_ERR(1, 8379, __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(1, 8379, __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/cuda.pyx":8378
 *             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/cuda.pyx":8380
 *             try:
 *                 str_list += ['memSyncDomainMap :\n' + '\n'.join(['    ' + line for line in str(self.memSyncDomainMap).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memSyncDomainMap : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 8380, __pyx_L114_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":8381
 *                 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(1, 8381, __pyx_L114_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_memSyncDomainMap_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_memSyncDomainMap_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_memSyncDomainMap_ValueError)) __PYX_ERR(1, 8381, __pyx_L114_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8381, __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/cuda.pyx":8378
 *             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/cuda.pyx":8382
 *             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/cuda.pyx":8383
 *                 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_n_s_memSyncDomain_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8383, __pyx_L127_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8383, __pyx_L127_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_memSyncDomain, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8383, __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(1, 8383, __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)) __PYX_ERR(1, 8383, __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(1, 8383, __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/cuda.pyx":8382
 *             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/cuda.pyx":8384
 *             try:
 *                 str_list += ['memSyncDomain : ' + str(self.memSyncDomain)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memSyncDomain : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8384, __pyx_L129_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8385
 *                 str_list += ['memSyncDomain : ' + str(self.memSyncDomain)]
 *             except ValueError:
 *                 str_list += ['memSyncDomain : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['deviceUpdatableKernelNode :\n' + '\n'.join(['    ' + line for line in str(self.deviceUpdatableKernelNode).splitlines()])]
 */
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8385, __pyx_L129_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_memSyncDomain_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_memSyncDomain_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_memSyncDomain_ValueError)) __PYX_ERR(1, 8385, __pyx_L129_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8385, __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/cuda.pyx":8382
 *             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/cuda.pyx":8386
 *             except ValueError:
 *                 str_list += ['memSyncDomain : <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_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "cuda/cuda.pyx":8387
 *                 str_list += ['memSyncDomain : <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_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8387, __pyx_L143_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_deviceUpdatableKernelNode_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8387, __pyx_L143_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8387, __pyx_L143_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8387, __pyx_L143_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_9)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_9);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8387, __pyx_L143_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8387, __pyx_L143_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 8387, __pyx_L143_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8387, __pyx_L143_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 8387, __pyx_L143_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8387, __pyx_L143_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8387, __pyx_L143_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 8387, __pyx_L143_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8387, __pyx_L143_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 8387, __pyx_L143_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr18__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr18__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8387, __pyx_L143_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 8387, __pyx_L143_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr18__pyx_v_line); __pyx_9genexpr18__pyx_v_line = 0;
          goto __pyx_L147_exit_scope;
          __pyx_L143_error:;
          __Pyx_XDECREF(__pyx_9genexpr18__pyx_v_line); __pyx_9genexpr18__pyx_v_line = 0;
          goto __pyx_L135_error;
          __pyx_L147_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8387, __pyx_L135_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_deviceUpdatableKernelNode, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8387, __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(1, 8387, __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)) __PYX_ERR(1, 8387, __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(1, 8387, __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/cuda.pyx":8386
 *             except ValueError:
 *                 str_list += ['memSyncDomain : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceUpdatableKernelNode :\n' + '\n'.join(['    ' + line for line in str(self.deviceUpdatableKernelNode).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/cuda.pyx":8388
 *             try:
 *                 str_list += ['deviceUpdatableKernelNode :\n' + '\n'.join(['    ' + line for line in str(self.deviceUpdatableKernelNode).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceUpdatableKernelNode : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 8388, __pyx_L137_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":8389
 *                 str_list += ['deviceUpdatableKernelNode :\n' + '\n'.join(['    ' + line for line in str(self.deviceUpdatableKernelNode).splitlines()])]
 *             except ValueError:
 *                 str_list += ['deviceUpdatableKernelNode : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8389, __pyx_L137_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_deviceUpdatableKernelNode_ValueE);
        __Pyx_GIVEREF(__pyx_kp_u_deviceUpdatableKernelNode_ValueE);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_deviceUpdatableKernelNode_ValueE)) __PYX_ERR(1, 8389, __pyx_L137_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8389, __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/cuda.pyx":8386
 *             except ValueError:
 *                 str_list += ['memSyncDomain : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceUpdatableKernelNode :\n' + '\n'.join(['    ' + line for line in str(self.deviceUpdatableKernelNode).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/cuda.pyx":8390
 *             except ValueError:
 *                 str_list += ['deviceUpdatableKernelNode : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":8336
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":8392
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def pad(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":8335
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.CUlaunchAttributeValue_union.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr13__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr14__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr15__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr16__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr17__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr18__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8393
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def pad(self):
 *         return PyBytes_FromStringAndSize(self._ptr[0].pad, 64)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_3pad_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_3pad___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_3pad___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8393, 0, __PYX_ERR(1, 8393, __pyx_L1_error));

  /* "cuda/cuda.pyx":8395
 *     @property
 *     def pad(self):
 *         return PyBytes_FromStringAndSize(self._ptr[0].pad, 64)             # <<<<<<<<<<<<<<
 *     @pad.setter
 *     def pad(self, pad):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize((__pyx_v_self->_ptr[0]).pad, 64); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8393
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def pad(self):
 *         return PyBytes_FromStringAndSize(self._ptr[0].pad, 64)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.pad.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8396
 *     def pad(self):
 *         return PyBytes_FromStringAndSize(self._ptr[0].pad, 64)
 *     @pad.setter             # <<<<<<<<<<<<<<
 *     def pad(self, pad):
 *         if len(pad) != 64:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_3pad_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pad); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_3pad_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self), ((PyObject *)__pyx_v_pad));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_3pad_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, PyObject *__pyx_v_pad) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  char __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8396, 0, __PYX_ERR(1, 8396, __pyx_L1_error));

  /* "cuda/cuda.pyx":8398
 *     @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(1, 8398, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 64);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":8399
 *     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_1 = PyObject_Length(__pyx_v_pad); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 8399, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8399, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8399, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_pad_length_must_be_64_is, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8399, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8399, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 8399, __pyx_L1_error)

    /* "cuda/cuda.pyx":8398
 *     @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/cuda.pyx":8400
 *         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/cuda.pyx":8401
 *             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_int_0);
    __pyx_t_4 = __pyx_int_0;
    if (likely(PyList_CheckExact(__pyx_v_pad)) || PyTuple_CheckExact(__pyx_v_pad)) {
      __pyx_t_3 = __pyx_v_pad; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_1 = 0;
      __pyx_t_5 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_pad); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8401, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 8401, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8401, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 8401, __pyx_L1_error)
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8401, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8401, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 8401, __pyx_L1_error)
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8401, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        }
      } else {
        __pyx_t_6 = __pyx_t_5(__pyx_t_3);
        if (unlikely(!__pyx_t_6)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 8401, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_6);
      }
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_4);
      __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8401, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4);
      __pyx_t_4 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/cuda.pyx":8402
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(pad):
 *                 if b < 0 and b > -129:             # <<<<<<<<<<<<<<
 *                     b = b + 256
 *                 self._ptr[0].pad[i] = b
 */
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8402, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(1, 8402, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (__pyx_t_7) {
      } else {
        __pyx_t_2 = __pyx_t_7;
        goto __pyx_L8_bool_binop_done;
      }
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_int_neg_129, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8402, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(1, 8402, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_2 = __pyx_t_7;
      __pyx_L8_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/cuda.pyx":8403
 *             for i, b in enumerate(pad):
 *                 if b < 0 and b > -129:
 *                     b = b + 256             # <<<<<<<<<<<<<<
 *                 self._ptr[0].pad[i] = b
 *         else:
 */
        __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_v_b, __pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8403, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/cuda.pyx":8402
 *         if CHAR_MIN == 0:
 *             for i, b in enumerate(pad):
 *                 if b < 0 and b > -129:             # <<<<<<<<<<<<<<
 *                     b = b + 256
 *                 self._ptr[0].pad[i] = b
 */
      }

      /* "cuda/cuda.pyx":8404
 *                 if b < 0 and b > -129:
 *                     b = b + 256
 *                 self._ptr[0].pad[i] = b             # <<<<<<<<<<<<<<
 *         else:
 *             for i, b in enumerate(pad):
 */
      __pyx_t_8 = __Pyx_PyInt_As_char(__pyx_v_b); if (unlikely((__pyx_t_8 == (char)-1) && PyErr_Occurred())) __PYX_ERR(1, 8404, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 8404, __pyx_L1_error)
      ((__pyx_v_self->_ptr[0]).pad[__pyx_t_9]) = __pyx_t_8;

      /* "cuda/cuda.pyx":8401
 *             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_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":8400
 *         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/cuda.pyx":8406
 *                 self._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_int_0);
    __pyx_t_4 = __pyx_int_0;
    if (likely(PyList_CheckExact(__pyx_v_pad)) || PyTuple_CheckExact(__pyx_v_pad)) {
      __pyx_t_3 = __pyx_v_pad; __Pyx_INCREF(__pyx_t_3);
      __pyx_t_1 = 0;
      __pyx_t_5 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_pad); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8406, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 8406, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_3))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8406, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 8406, __pyx_L1_error)
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8406, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8406, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 8406, __pyx_L1_error)
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8406, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        }
      } else {
        __pyx_t_6 = __pyx_t_5(__pyx_t_3);
        if (unlikely(!__pyx_t_6)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 8406, __pyx_L1_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_6);
      }
      __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_4);
      __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8406, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_4);
      __pyx_t_4 = __pyx_t_6;
      __pyx_t_6 = 0;

      /* "cuda/cuda.pyx":8407
 *         else:
 *             for i, b in enumerate(pad):
 *                 if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                     b = b - 256
 *                 self._ptr[0].pad[i] = b
 */
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_int_127, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8407, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(1, 8407, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (__pyx_t_7) {
      } else {
        __pyx_t_2 = __pyx_t_7;
        goto __pyx_L14_bool_binop_done;
      }
      __pyx_t_6 = PyObject_RichCompare(__pyx_v_b, __pyx_int_256, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8407, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(1, 8407, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_2 = __pyx_t_7;
      __pyx_L14_bool_binop_done:;
      if (__pyx_t_2) {

        /* "cuda/cuda.pyx":8408
 *             for i, b in enumerate(pad):
 *                 if b > 127 and b < 256:
 *                     b = b - 256             # <<<<<<<<<<<<<<
 *                 self._ptr[0].pad[i] = b
 *     @property
 */
        __pyx_t_6 = __Pyx_PyInt_SubtractObjC(__pyx_v_b, __pyx_int_256, 0x100, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8408, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF_SET(__pyx_v_b, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "cuda/cuda.pyx":8407
 *         else:
 *             for i, b in enumerate(pad):
 *                 if b > 127 and b < 256:             # <<<<<<<<<<<<<<
 *                     b = b - 256
 *                 self._ptr[0].pad[i] = b
 */
      }

      /* "cuda/cuda.pyx":8409
 *                 if b > 127 and b < 256:
 *                     b = b - 256
 *                 self._ptr[0].pad[i] = b             # <<<<<<<<<<<<<<
 *     @property
 *     def accessPolicyWindow(self):
 */
      __pyx_t_8 = __Pyx_PyInt_As_char(__pyx_v_b); if (unlikely((__pyx_t_8 == (char)-1) && PyErr_Occurred())) __PYX_ERR(1, 8409, __pyx_L1_error)
      __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 8409, __pyx_L1_error)
      ((__pyx_v_self->_ptr[0]).pad[__pyx_t_9]) = __pyx_t_8;

      /* "cuda/cuda.pyx":8406
 *                 self._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_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":8396
 *     def pad(self):
 *         return PyBytes_FromStringAndSize(self._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_6);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8410
 *                     b = b - 256
 *                 self._ptr[0].pad[i] = b
 *     @property             # <<<<<<<<<<<<<<
 *     def accessPolicyWindow(self):
 *         return self._accessPolicyWindow
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_18accessPolicyWindow_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_18accessPolicyWindow___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_18accessPolicyWindow___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8410, 0, __PYX_ERR(1, 8410, __pyx_L1_error));

  /* "cuda/cuda.pyx":8412
 *     @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/cuda.pyx":8410
 *                     b = b - 256
 *                 self._ptr[0].pad[i] = b
 *     @property             # <<<<<<<<<<<<<<
 *     def accessPolicyWindow(self):
 *         return self._accessPolicyWindow
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.accessPolicyWindow.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8413
 *     def accessPolicyWindow(self):
 *         return self._accessPolicyWindow
 *     @accessPolicyWindow.setter             # <<<<<<<<<<<<<<
 *     def accessPolicyWindow(self, accessPolicyWindow not None : CUaccessPolicyWindow):
 *         string.memcpy(&self._ptr[0].accessPolicyWindow, <ccuda.CUaccessPolicyWindow*><void_ptr>accessPolicyWindow.getPtr(), sizeof(self._ptr[0].accessPolicyWindow))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_18accessPolicyWindow_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_accessPolicyWindow); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUaccessPolicyWindow, 0, "accessPolicyWindow", 0))) __PYX_ERR(1, 8414, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_18accessPolicyWindow_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow *)__pyx_v_accessPolicyWindow));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_18accessPolicyWindow_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow *__pyx_v_accessPolicyWindow) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8413, 0, __PYX_ERR(1, 8413, __pyx_L1_error));

  /* "cuda/cuda.pyx":8415
 *     @accessPolicyWindow.setter
 *     def accessPolicyWindow(self, accessPolicyWindow not None : CUaccessPolicyWindow):
 *         string.memcpy(&self._ptr[0].accessPolicyWindow, <ccuda.CUaccessPolicyWindow*><void_ptr>accessPolicyWindow.getPtr(), sizeof(self._ptr[0].accessPolicyWindow))             # <<<<<<<<<<<<<<
 *     @property
 *     def cooperative(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_accessPolicyWindow), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8415, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8415, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).accessPolicyWindow), ((CUaccessPolicyWindow *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).accessPolicyWindow))));

  /* "cuda/cuda.pyx":8413
 *     def accessPolicyWindow(self):
 *         return self._accessPolicyWindow
 *     @accessPolicyWindow.setter             # <<<<<<<<<<<<<<
 *     def accessPolicyWindow(self, accessPolicyWindow not None : CUaccessPolicyWindow):
 *         string.memcpy(&self._ptr[0].accessPolicyWindow, <ccuda.CUaccessPolicyWindow*><void_ptr>accessPolicyWindow.getPtr(), sizeof(self._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_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.accessPolicyWindow.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8416
 *     def accessPolicyWindow(self, accessPolicyWindow not None : CUaccessPolicyWindow):
 *         string.memcpy(&self._ptr[0].accessPolicyWindow, <ccuda.CUaccessPolicyWindow*><void_ptr>accessPolicyWindow.getPtr(), sizeof(self._ptr[0].accessPolicyWindow))
 *     @property             # <<<<<<<<<<<<<<
 *     def cooperative(self):
 *         return self._ptr[0].cooperative
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_11cooperative_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_11cooperative___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_11cooperative___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8416, 0, __PYX_ERR(1, 8416, __pyx_L1_error));

  /* "cuda/cuda.pyx":8418
 *     @property
 *     def cooperative(self):
 *         return self._ptr[0].cooperative             # <<<<<<<<<<<<<<
 *     @cooperative.setter
 *     def cooperative(self, int cooperative):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).cooperative); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8416
 *     def accessPolicyWindow(self, accessPolicyWindow not None : CUaccessPolicyWindow):
 *         string.memcpy(&self._ptr[0].accessPolicyWindow, <ccuda.CUaccessPolicyWindow*><void_ptr>accessPolicyWindow.getPtr(), sizeof(self._ptr[0].accessPolicyWindow))
 *     @property             # <<<<<<<<<<<<<<
 *     def cooperative(self):
 *         return self._ptr[0].cooperative
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.cooperative.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8419
 *     def cooperative(self):
 *         return self._ptr[0].cooperative
 *     @cooperative.setter             # <<<<<<<<<<<<<<
 *     def cooperative(self, int cooperative):
 *         self._ptr[0].cooperative = cooperative
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_11cooperative_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_cooperative); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_cooperative); if (unlikely((__pyx_v_cooperative == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8420, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.cooperative.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_11cooperative_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self), ((int)__pyx_v_cooperative));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_11cooperative_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, int __pyx_v_cooperative) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8419, 0, __PYX_ERR(1, 8419, __pyx_L1_error));

  /* "cuda/cuda.pyx":8421
 *     @cooperative.setter
 *     def cooperative(self, int cooperative):
 *         self._ptr[0].cooperative = cooperative             # <<<<<<<<<<<<<<
 *     @property
 *     def syncPolicy(self):
 */
  (__pyx_v_self->_ptr[0]).cooperative = __pyx_v_cooperative;

  /* "cuda/cuda.pyx":8419
 *     def cooperative(self):
 *         return self._ptr[0].cooperative
 *     @cooperative.setter             # <<<<<<<<<<<<<<
 *     def cooperative(self, int cooperative):
 *         self._ptr[0].cooperative = cooperative
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.cooperative.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8422
 *     def cooperative(self, int cooperative):
 *         self._ptr[0].cooperative = cooperative
 *     @property             # <<<<<<<<<<<<<<
 *     def syncPolicy(self):
 *         return CUsynchronizationPolicy(self._ptr[0].syncPolicy)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_10syncPolicy_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_10syncPolicy___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_10syncPolicy___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8422, 0, __PYX_ERR(1, 8422, __pyx_L1_error));

  /* "cuda/cuda.pyx":8424
 *     @property
 *     def syncPolicy(self):
 *         return CUsynchronizationPolicy(self._ptr[0].syncPolicy)             # <<<<<<<<<<<<<<
 *     @syncPolicy.setter
 *     def syncPolicy(self, syncPolicy not None : CUsynchronizationPolicy):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUsynchronizationPolicy); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUsynchronizationPolicy_enum((__pyx_v_self->_ptr[0]).syncPolicy); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8424, __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/cuda.pyx":8422
 *     def cooperative(self, int cooperative):
 *         self._ptr[0].cooperative = cooperative
 *     @property             # <<<<<<<<<<<<<<
 *     def syncPolicy(self):
 *         return CUsynchronizationPolicy(self._ptr[0].syncPolicy)
 */

  /* 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.cuda.CUlaunchAttributeValue_union.syncPolicy.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8425
 *     def syncPolicy(self):
 *         return CUsynchronizationPolicy(self._ptr[0].syncPolicy)
 *     @syncPolicy.setter             # <<<<<<<<<<<<<<
 *     def syncPolicy(self, syncPolicy not None : CUsynchronizationPolicy):
 *         self._ptr[0].syncPolicy = syncPolicy.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_10syncPolicy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_syncPolicy); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 8426, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_10syncPolicy_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self), ((PyObject *)__pyx_v_syncPolicy));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_10syncPolicy_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, PyObject *__pyx_v_syncPolicy) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8425, 0, __PYX_ERR(1, 8425, __pyx_L1_error));

  /* "cuda/cuda.pyx":8427
 *     @syncPolicy.setter
 *     def syncPolicy(self, syncPolicy not None : CUsynchronizationPolicy):
 *         self._ptr[0].syncPolicy = syncPolicy.value             # <<<<<<<<<<<<<<
 *     @property
 *     def clusterDim(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_syncPolicy, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUsynchronizationPolicy_enum)__Pyx_PyInt_As_enum__CUsynchronizationPolicy_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8427, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).syncPolicy = __pyx_t_2;

  /* "cuda/cuda.pyx":8425
 *     def syncPolicy(self):
 *         return CUsynchronizationPolicy(self._ptr[0].syncPolicy)
 *     @syncPolicy.setter             # <<<<<<<<<<<<<<
 *     def syncPolicy(self, syncPolicy not None : CUsynchronizationPolicy):
 *         self._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.cuda.CUlaunchAttributeValue_union.syncPolicy.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8428
 *     def syncPolicy(self, syncPolicy not None : CUsynchronizationPolicy):
 *         self._ptr[0].syncPolicy = syncPolicy.value
 *     @property             # <<<<<<<<<<<<<<
 *     def clusterDim(self):
 *         return self._clusterDim
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_10clusterDim_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_10clusterDim___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_10clusterDim___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8428, 0, __PYX_ERR(1, 8428, __pyx_L1_error));

  /* "cuda/cuda.pyx":8430
 *     @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/cuda.pyx":8428
 *     def syncPolicy(self, syncPolicy not None : CUsynchronizationPolicy):
 *         self._ptr[0].syncPolicy = syncPolicy.value
 *     @property             # <<<<<<<<<<<<<<
 *     def clusterDim(self):
 *         return self._clusterDim
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.clusterDim.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8431
 *     def clusterDim(self):
 *         return self._clusterDim
 *     @clusterDim.setter             # <<<<<<<<<<<<<<
 *     def clusterDim(self, clusterDim not None : anon_struct1):
 *         string.memcpy(&self._ptr[0].clusterDim, <ccuda.anon_struct1*><void_ptr>clusterDim.getPtr(), sizeof(self._ptr[0].clusterDim))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_10clusterDim_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_clusterDim); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct1, 0, "clusterDim", 0))) __PYX_ERR(1, 8432, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_10clusterDim_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct1 *)__pyx_v_clusterDim));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_10clusterDim_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct1 *__pyx_v_clusterDim) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8431, 0, __PYX_ERR(1, 8431, __pyx_L1_error));

  /* "cuda/cuda.pyx":8433
 *     @clusterDim.setter
 *     def clusterDim(self, clusterDim not None : anon_struct1):
 *         string.memcpy(&self._ptr[0].clusterDim, <ccuda.anon_struct1*><void_ptr>clusterDim.getPtr(), sizeof(self._ptr[0].clusterDim))             # <<<<<<<<<<<<<<
 *     @property
 *     def clusterSchedulingPolicyPreference(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_clusterDim), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8433, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8433, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).clusterDim), ((struct anon_struct1 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).clusterDim))));

  /* "cuda/cuda.pyx":8431
 *     def clusterDim(self):
 *         return self._clusterDim
 *     @clusterDim.setter             # <<<<<<<<<<<<<<
 *     def clusterDim(self, clusterDim not None : anon_struct1):
 *         string.memcpy(&self._ptr[0].clusterDim, <ccuda.anon_struct1*><void_ptr>clusterDim.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.clusterDim.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8434
 *     def clusterDim(self, clusterDim not None : anon_struct1):
 *         string.memcpy(&self._ptr[0].clusterDim, <ccuda.anon_struct1*><void_ptr>clusterDim.getPtr(), sizeof(self._ptr[0].clusterDim))
 *     @property             # <<<<<<<<<<<<<<
 *     def clusterSchedulingPolicyPreference(self):
 *         return CUclusterSchedulingPolicy(self._ptr[0].clusterSchedulingPolicyPreference)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8434, 0, __PYX_ERR(1, 8434, __pyx_L1_error));

  /* "cuda/cuda.pyx":8436
 *     @property
 *     def clusterSchedulingPolicyPreference(self):
 *         return CUclusterSchedulingPolicy(self._ptr[0].clusterSchedulingPolicyPreference)             # <<<<<<<<<<<<<<
 *     @clusterSchedulingPolicyPreference.setter
 *     def clusterSchedulingPolicyPreference(self, clusterSchedulingPolicyPreference not None : CUclusterSchedulingPolicy):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUclusterSchedulingPolicy); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8436, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUclusterSchedulingPolicy_enum((__pyx_v_self->_ptr[0]).clusterSchedulingPolicyPreference); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8436, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8436, __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/cuda.pyx":8434
 *     def clusterDim(self, clusterDim not None : anon_struct1):
 *         string.memcpy(&self._ptr[0].clusterDim, <ccuda.anon_struct1*><void_ptr>clusterDim.getPtr(), sizeof(self._ptr[0].clusterDim))
 *     @property             # <<<<<<<<<<<<<<
 *     def clusterSchedulingPolicyPreference(self):
 *         return CUclusterSchedulingPolicy(self._ptr[0].clusterSchedulingPolicyPreference)
 */

  /* 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.cuda.CUlaunchAttributeValue_union.clusterSchedulingPolicyPreference.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8437
 *     def clusterSchedulingPolicyPreference(self):
 *         return CUclusterSchedulingPolicy(self._ptr[0].clusterSchedulingPolicyPreference)
 *     @clusterSchedulingPolicyPreference.setter             # <<<<<<<<<<<<<<
 *     def clusterSchedulingPolicyPreference(self, clusterSchedulingPolicyPreference not None : CUclusterSchedulingPolicy):
 *         self._ptr[0].clusterSchedulingPolicyPreference = clusterSchedulingPolicyPreference.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_clusterSchedulingPolicyPreference); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 8438, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self), ((PyObject *)__pyx_v_clusterSchedulingPolicyPreference));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, PyObject *__pyx_v_clusterSchedulingPolicyPreference) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8437, 0, __PYX_ERR(1, 8437, __pyx_L1_error));

  /* "cuda/cuda.pyx":8439
 *     @clusterSchedulingPolicyPreference.setter
 *     def clusterSchedulingPolicyPreference(self, clusterSchedulingPolicyPreference not None : CUclusterSchedulingPolicy):
 *         self._ptr[0].clusterSchedulingPolicyPreference = clusterSchedulingPolicyPreference.value             # <<<<<<<<<<<<<<
 *     @property
 *     def programmaticStreamSerializationAllowed(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_clusterSchedulingPolicyPreference, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUclusterSchedulingPolicy_enum)__Pyx_PyInt_As_enum__CUclusterSchedulingPolicy_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8439, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).clusterSchedulingPolicyPreference = __pyx_t_2;

  /* "cuda/cuda.pyx":8437
 *     def clusterSchedulingPolicyPreference(self):
 *         return CUclusterSchedulingPolicy(self._ptr[0].clusterSchedulingPolicyPreference)
 *     @clusterSchedulingPolicyPreference.setter             # <<<<<<<<<<<<<<
 *     def clusterSchedulingPolicyPreference(self, clusterSchedulingPolicyPreference not None : CUclusterSchedulingPolicy):
 *         self._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.cuda.CUlaunchAttributeValue_union.clusterSchedulingPolicyPreference.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8440
 *     def clusterSchedulingPolicyPreference(self, clusterSchedulingPolicyPreference not None : CUclusterSchedulingPolicy):
 *         self._ptr[0].clusterSchedulingPolicyPreference = clusterSchedulingPolicyPreference.value
 *     @property             # <<<<<<<<<<<<<<
 *     def programmaticStreamSerializationAllowed(self):
 *         return self._ptr[0].programmaticStreamSerializationAllowed
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8440, 0, __PYX_ERR(1, 8440, __pyx_L1_error));

  /* "cuda/cuda.pyx":8442
 *     @property
 *     def programmaticStreamSerializationAllowed(self):
 *         return self._ptr[0].programmaticStreamSerializationAllowed             # <<<<<<<<<<<<<<
 *     @programmaticStreamSerializationAllowed.setter
 *     def programmaticStreamSerializationAllowed(self, int programmaticStreamSerializationAllowed):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).programmaticStreamSerializationAllowed); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8440
 *     def clusterSchedulingPolicyPreference(self, clusterSchedulingPolicyPreference not None : CUclusterSchedulingPolicy):
 *         self._ptr[0].clusterSchedulingPolicyPreference = clusterSchedulingPolicyPreference.value
 *     @property             # <<<<<<<<<<<<<<
 *     def programmaticStreamSerializationAllowed(self):
 *         return self._ptr[0].programmaticStreamSerializationAllowed
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.programmaticStreamSerializationAllowed.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8443
 *     def programmaticStreamSerializationAllowed(self):
 *         return self._ptr[0].programmaticStreamSerializationAllowed
 *     @programmaticStreamSerializationAllowed.setter             # <<<<<<<<<<<<<<
 *     def programmaticStreamSerializationAllowed(self, int programmaticStreamSerializationAllowed):
 *         self._ptr[0].programmaticStreamSerializationAllowed = programmaticStreamSerializationAllowed
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_programmaticStreamSerializationAllowed); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_programmaticStreamSerializationAllowed); if (unlikely((__pyx_v_programmaticStreamSerializationAllowed == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8444, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.programmaticStreamSerializationAllowed.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self), ((int)__pyx_v_programmaticStreamSerializationAllowed));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, int __pyx_v_programmaticStreamSerializationAllowed) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8443, 0, __PYX_ERR(1, 8443, __pyx_L1_error));

  /* "cuda/cuda.pyx":8445
 *     @programmaticStreamSerializationAllowed.setter
 *     def programmaticStreamSerializationAllowed(self, int programmaticStreamSerializationAllowed):
 *         self._ptr[0].programmaticStreamSerializationAllowed = programmaticStreamSerializationAllowed             # <<<<<<<<<<<<<<
 *     @property
 *     def programmaticEvent(self):
 */
  (__pyx_v_self->_ptr[0]).programmaticStreamSerializationAllowed = __pyx_v_programmaticStreamSerializationAllowed;

  /* "cuda/cuda.pyx":8443
 *     def programmaticStreamSerializationAllowed(self):
 *         return self._ptr[0].programmaticStreamSerializationAllowed
 *     @programmaticStreamSerializationAllowed.setter             # <<<<<<<<<<<<<<
 *     def programmaticStreamSerializationAllowed(self, int programmaticStreamSerializationAllowed):
 *         self._ptr[0].programmaticStreamSerializationAllowed = programmaticStreamSerializationAllowed
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.programmaticStreamSerializationAllowed.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8446
 *     def programmaticStreamSerializationAllowed(self, int programmaticStreamSerializationAllowed):
 *         self._ptr[0].programmaticStreamSerializationAllowed = programmaticStreamSerializationAllowed
 *     @property             # <<<<<<<<<<<<<<
 *     def programmaticEvent(self):
 *         return self._programmaticEvent
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_17programmaticEvent_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_17programmaticEvent___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_17programmaticEvent___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8446, 0, __PYX_ERR(1, 8446, __pyx_L1_error));

  /* "cuda/cuda.pyx":8448
 *     @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/cuda.pyx":8446
 *     def programmaticStreamSerializationAllowed(self, int programmaticStreamSerializationAllowed):
 *         self._ptr[0].programmaticStreamSerializationAllowed = programmaticStreamSerializationAllowed
 *     @property             # <<<<<<<<<<<<<<
 *     def programmaticEvent(self):
 *         return self._programmaticEvent
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.programmaticEvent.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8449
 *     def programmaticEvent(self):
 *         return self._programmaticEvent
 *     @programmaticEvent.setter             # <<<<<<<<<<<<<<
 *     def programmaticEvent(self, programmaticEvent not None : anon_struct2):
 *         string.memcpy(&self._ptr[0].programmaticEvent, <ccuda.anon_struct2*><void_ptr>programmaticEvent.getPtr(), sizeof(self._ptr[0].programmaticEvent))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_17programmaticEvent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_programmaticEvent); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct2, 0, "programmaticEvent", 0))) __PYX_ERR(1, 8450, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_17programmaticEvent_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)__pyx_v_programmaticEvent));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_17programmaticEvent_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct2 *__pyx_v_programmaticEvent) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8449, 0, __PYX_ERR(1, 8449, __pyx_L1_error));

  /* "cuda/cuda.pyx":8451
 *     @programmaticEvent.setter
 *     def programmaticEvent(self, programmaticEvent not None : anon_struct2):
 *         string.memcpy(&self._ptr[0].programmaticEvent, <ccuda.anon_struct2*><void_ptr>programmaticEvent.getPtr(), sizeof(self._ptr[0].programmaticEvent))             # <<<<<<<<<<<<<<
 *     @property
 *     def launchCompletionEvent(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_programmaticEvent), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8451, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8451, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).programmaticEvent), ((struct anon_struct2 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).programmaticEvent))));

  /* "cuda/cuda.pyx":8449
 *     def programmaticEvent(self):
 *         return self._programmaticEvent
 *     @programmaticEvent.setter             # <<<<<<<<<<<<<<
 *     def programmaticEvent(self, programmaticEvent not None : anon_struct2):
 *         string.memcpy(&self._ptr[0].programmaticEvent, <ccuda.anon_struct2*><void_ptr>programmaticEvent.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.programmaticEvent.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8452
 *     def programmaticEvent(self, programmaticEvent not None : anon_struct2):
 *         string.memcpy(&self._ptr[0].programmaticEvent, <ccuda.anon_struct2*><void_ptr>programmaticEvent.getPtr(), sizeof(self._ptr[0].programmaticEvent))
 *     @property             # <<<<<<<<<<<<<<
 *     def launchCompletionEvent(self):
 *         return self._launchCompletionEvent
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_21launchCompletionEvent_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_21launchCompletionEvent___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_21launchCompletionEvent___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8452, 0, __PYX_ERR(1, 8452, __pyx_L1_error));

  /* "cuda/cuda.pyx":8454
 *     @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/cuda.pyx":8452
 *     def programmaticEvent(self, programmaticEvent not None : anon_struct2):
 *         string.memcpy(&self._ptr[0].programmaticEvent, <ccuda.anon_struct2*><void_ptr>programmaticEvent.getPtr(), sizeof(self._ptr[0].programmaticEvent))
 *     @property             # <<<<<<<<<<<<<<
 *     def launchCompletionEvent(self):
 *         return self._launchCompletionEvent
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.launchCompletionEvent.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8455
 *     def launchCompletionEvent(self):
 *         return self._launchCompletionEvent
 *     @launchCompletionEvent.setter             # <<<<<<<<<<<<<<
 *     def launchCompletionEvent(self, launchCompletionEvent not None : anon_struct3):
 *         string.memcpy(&self._ptr[0].launchCompletionEvent, <ccuda.anon_struct3*><void_ptr>launchCompletionEvent.getPtr(), sizeof(self._ptr[0].launchCompletionEvent))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_21launchCompletionEvent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_launchCompletionEvent); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct3, 0, "launchCompletionEvent", 0))) __PYX_ERR(1, 8456, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_21launchCompletionEvent_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct3 *)__pyx_v_launchCompletionEvent));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_21launchCompletionEvent_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct3 *__pyx_v_launchCompletionEvent) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8455, 0, __PYX_ERR(1, 8455, __pyx_L1_error));

  /* "cuda/cuda.pyx":8457
 *     @launchCompletionEvent.setter
 *     def launchCompletionEvent(self, launchCompletionEvent not None : anon_struct3):
 *         string.memcpy(&self._ptr[0].launchCompletionEvent, <ccuda.anon_struct3*><void_ptr>launchCompletionEvent.getPtr(), sizeof(self._ptr[0].launchCompletionEvent))             # <<<<<<<<<<<<<<
 *     @property
 *     def priority(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_launchCompletionEvent), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8457, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).launchCompletionEvent), ((struct anon_struct3 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).launchCompletionEvent))));

  /* "cuda/cuda.pyx":8455
 *     def launchCompletionEvent(self):
 *         return self._launchCompletionEvent
 *     @launchCompletionEvent.setter             # <<<<<<<<<<<<<<
 *     def launchCompletionEvent(self, launchCompletionEvent not None : anon_struct3):
 *         string.memcpy(&self._ptr[0].launchCompletionEvent, <ccuda.anon_struct3*><void_ptr>launchCompletionEvent.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.launchCompletionEvent.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8458
 *     def launchCompletionEvent(self, launchCompletionEvent not None : anon_struct3):
 *         string.memcpy(&self._ptr[0].launchCompletionEvent, <ccuda.anon_struct3*><void_ptr>launchCompletionEvent.getPtr(), sizeof(self._ptr[0].launchCompletionEvent))
 *     @property             # <<<<<<<<<<<<<<
 *     def priority(self):
 *         return self._ptr[0].priority
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_8priority_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_8priority___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_8priority___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8458, 0, __PYX_ERR(1, 8458, __pyx_L1_error));

  /* "cuda/cuda.pyx":8460
 *     @property
 *     def priority(self):
 *         return self._ptr[0].priority             # <<<<<<<<<<<<<<
 *     @priority.setter
 *     def priority(self, int priority):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).priority); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8458
 *     def launchCompletionEvent(self, launchCompletionEvent not None : anon_struct3):
 *         string.memcpy(&self._ptr[0].launchCompletionEvent, <ccuda.anon_struct3*><void_ptr>launchCompletionEvent.getPtr(), sizeof(self._ptr[0].launchCompletionEvent))
 *     @property             # <<<<<<<<<<<<<<
 *     def priority(self):
 *         return self._ptr[0].priority
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.priority.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8461
 *     def priority(self):
 *         return self._ptr[0].priority
 *     @priority.setter             # <<<<<<<<<<<<<<
 *     def priority(self, int priority):
 *         self._ptr[0].priority = priority
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_8priority_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_priority); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_priority); if (unlikely((__pyx_v_priority == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8462, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.priority.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_8priority_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self), ((int)__pyx_v_priority));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_8priority_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, int __pyx_v_priority) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8461, 0, __PYX_ERR(1, 8461, __pyx_L1_error));

  /* "cuda/cuda.pyx":8463
 *     @priority.setter
 *     def priority(self, int priority):
 *         self._ptr[0].priority = priority             # <<<<<<<<<<<<<<
 *     @property
 *     def memSyncDomainMap(self):
 */
  (__pyx_v_self->_ptr[0]).priority = __pyx_v_priority;

  /* "cuda/cuda.pyx":8461
 *     def priority(self):
 *         return self._ptr[0].priority
 *     @priority.setter             # <<<<<<<<<<<<<<
 *     def priority(self, int priority):
 *         self._ptr[0].priority = priority
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.priority.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8464
 *     def priority(self, int priority):
 *         self._ptr[0].priority = priority
 *     @property             # <<<<<<<<<<<<<<
 *     def memSyncDomainMap(self):
 *         return self._memSyncDomainMap
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_16memSyncDomainMap_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_16memSyncDomainMap___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_16memSyncDomainMap___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8464, 0, __PYX_ERR(1, 8464, __pyx_L1_error));

  /* "cuda/cuda.pyx":8466
 *     @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/cuda.pyx":8464
 *     def priority(self, int priority):
 *         self._ptr[0].priority = priority
 *     @property             # <<<<<<<<<<<<<<
 *     def memSyncDomainMap(self):
 *         return self._memSyncDomainMap
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.memSyncDomainMap.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8467
 *     def memSyncDomainMap(self):
 *         return self._memSyncDomainMap
 *     @memSyncDomainMap.setter             # <<<<<<<<<<<<<<
 *     def memSyncDomainMap(self, memSyncDomainMap not None : CUlaunchMemSyncDomainMap):
 *         string.memcpy(&self._ptr[0].memSyncDomainMap, <ccuda.CUlaunchMemSyncDomainMap*><void_ptr>memSyncDomainMap.getPtr(), sizeof(self._ptr[0].memSyncDomainMap))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_16memSyncDomainMap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memSyncDomainMap); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap, 0, "memSyncDomainMap", 0))) __PYX_ERR(1, 8468, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_16memSyncDomainMap_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap *)__pyx_v_memSyncDomainMap));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_16memSyncDomainMap_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap *__pyx_v_memSyncDomainMap) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8467, 0, __PYX_ERR(1, 8467, __pyx_L1_error));

  /* "cuda/cuda.pyx":8469
 *     @memSyncDomainMap.setter
 *     def memSyncDomainMap(self, memSyncDomainMap not None : CUlaunchMemSyncDomainMap):
 *         string.memcpy(&self._ptr[0].memSyncDomainMap, <ccuda.CUlaunchMemSyncDomainMap*><void_ptr>memSyncDomainMap.getPtr(), sizeof(self._ptr[0].memSyncDomainMap))             # <<<<<<<<<<<<<<
 *     @property
 *     def memSyncDomain(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_memSyncDomainMap), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).memSyncDomainMap), ((CUlaunchMemSyncDomainMap *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).memSyncDomainMap))));

  /* "cuda/cuda.pyx":8467
 *     def memSyncDomainMap(self):
 *         return self._memSyncDomainMap
 *     @memSyncDomainMap.setter             # <<<<<<<<<<<<<<
 *     def memSyncDomainMap(self, memSyncDomainMap not None : CUlaunchMemSyncDomainMap):
 *         string.memcpy(&self._ptr[0].memSyncDomainMap, <ccuda.CUlaunchMemSyncDomainMap*><void_ptr>memSyncDomainMap.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.memSyncDomainMap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8470
 *     def memSyncDomainMap(self, memSyncDomainMap not None : CUlaunchMemSyncDomainMap):
 *         string.memcpy(&self._ptr[0].memSyncDomainMap, <ccuda.CUlaunchMemSyncDomainMap*><void_ptr>memSyncDomainMap.getPtr(), sizeof(self._ptr[0].memSyncDomainMap))
 *     @property             # <<<<<<<<<<<<<<
 *     def memSyncDomain(self):
 *         return CUlaunchMemSyncDomain(self._ptr[0].memSyncDomain)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_13memSyncDomain_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_13memSyncDomain___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_13memSyncDomain___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8470, 0, __PYX_ERR(1, 8470, __pyx_L1_error));

  /* "cuda/cuda.pyx":8472
 *     @property
 *     def memSyncDomain(self):
 *         return CUlaunchMemSyncDomain(self._ptr[0].memSyncDomain)             # <<<<<<<<<<<<<<
 *     @memSyncDomain.setter
 *     def memSyncDomain(self, memSyncDomain not None : CUlaunchMemSyncDomain):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUlaunchMemSyncDomain); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlaunchMemSyncDomain_enum((__pyx_v_self->_ptr[0]).memSyncDomain); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8472, __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/cuda.pyx":8470
 *     def memSyncDomainMap(self, memSyncDomainMap not None : CUlaunchMemSyncDomainMap):
 *         string.memcpy(&self._ptr[0].memSyncDomainMap, <ccuda.CUlaunchMemSyncDomainMap*><void_ptr>memSyncDomainMap.getPtr(), sizeof(self._ptr[0].memSyncDomainMap))
 *     @property             # <<<<<<<<<<<<<<
 *     def memSyncDomain(self):
 *         return CUlaunchMemSyncDomain(self._ptr[0].memSyncDomain)
 */

  /* 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.cuda.CUlaunchAttributeValue_union.memSyncDomain.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8473
 *     def memSyncDomain(self):
 *         return CUlaunchMemSyncDomain(self._ptr[0].memSyncDomain)
 *     @memSyncDomain.setter             # <<<<<<<<<<<<<<
 *     def memSyncDomain(self, memSyncDomain not None : CUlaunchMemSyncDomain):
 *         self._ptr[0].memSyncDomain = memSyncDomain.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_13memSyncDomain_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memSyncDomain); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 8474, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_13memSyncDomain_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self), ((PyObject *)__pyx_v_memSyncDomain));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_13memSyncDomain_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, PyObject *__pyx_v_memSyncDomain) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8473, 0, __PYX_ERR(1, 8473, __pyx_L1_error));

  /* "cuda/cuda.pyx":8475
 *     @memSyncDomain.setter
 *     def memSyncDomain(self, memSyncDomain not None : CUlaunchMemSyncDomain):
 *         self._ptr[0].memSyncDomain = memSyncDomain.value             # <<<<<<<<<<<<<<
 *     @property
 *     def deviceUpdatableKernelNode(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_memSyncDomain, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUlaunchMemSyncDomain_enum)__Pyx_PyInt_As_enum__CUlaunchMemSyncDomain_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8475, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).memSyncDomain = __pyx_t_2;

  /* "cuda/cuda.pyx":8473
 *     def memSyncDomain(self):
 *         return CUlaunchMemSyncDomain(self._ptr[0].memSyncDomain)
 *     @memSyncDomain.setter             # <<<<<<<<<<<<<<
 *     def memSyncDomain(self, memSyncDomain not None : CUlaunchMemSyncDomain):
 *         self._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.cuda.CUlaunchAttributeValue_union.memSyncDomain.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8476
 *     def memSyncDomain(self, memSyncDomain not None : CUlaunchMemSyncDomain):
 *         self._ptr[0].memSyncDomain = memSyncDomain.value
 *     @property             # <<<<<<<<<<<<<<
 *     def deviceUpdatableKernelNode(self):
 *         return self._deviceUpdatableKernelNode
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8476, 0, __PYX_ERR(1, 8476, __pyx_L1_error));

  /* "cuda/cuda.pyx":8478
 *     @property
 *     def deviceUpdatableKernelNode(self):
 *         return self._deviceUpdatableKernelNode             # <<<<<<<<<<<<<<
 *     @deviceUpdatableKernelNode.setter
 *     def deviceUpdatableKernelNode(self, deviceUpdatableKernelNode not None : anon_struct4):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_deviceUpdatableKernelNode);
  __pyx_r = ((PyObject *)__pyx_v_self->_deviceUpdatableKernelNode);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8476
 *     def memSyncDomain(self, memSyncDomain not None : CUlaunchMemSyncDomain):
 *         self._ptr[0].memSyncDomain = memSyncDomain.value
 *     @property             # <<<<<<<<<<<<<<
 *     def deviceUpdatableKernelNode(self):
 *         return self._deviceUpdatableKernelNode
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.deviceUpdatableKernelNode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8479
 *     def deviceUpdatableKernelNode(self):
 *         return self._deviceUpdatableKernelNode
 *     @deviceUpdatableKernelNode.setter             # <<<<<<<<<<<<<<
 *     def deviceUpdatableKernelNode(self, deviceUpdatableKernelNode not None : anon_struct4):
 *         string.memcpy(&self._ptr[0].deviceUpdatableKernelNode, <ccuda.anon_struct4*><void_ptr>deviceUpdatableKernelNode.getPtr(), sizeof(self._ptr[0].deviceUpdatableKernelNode))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_deviceUpdatableKernelNode); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct4, 0, "deviceUpdatableKernelNode", 0))) __PYX_ERR(1, 8480, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct4 *)__pyx_v_deviceUpdatableKernelNode));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct4 *__pyx_v_deviceUpdatableKernelNode) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8479, 0, __PYX_ERR(1, 8479, __pyx_L1_error));

  /* "cuda/cuda.pyx":8481
 *     @deviceUpdatableKernelNode.setter
 *     def deviceUpdatableKernelNode(self, deviceUpdatableKernelNode not None : anon_struct4):
 *         string.memcpy(&self._ptr[0].deviceUpdatableKernelNode, <ccuda.anon_struct4*><void_ptr>deviceUpdatableKernelNode.getPtr(), sizeof(self._ptr[0].deviceUpdatableKernelNode))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUlaunchAttribute_st:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_deviceUpdatableKernelNode), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8481, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).deviceUpdatableKernelNode), ((struct anon_struct4 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).deviceUpdatableKernelNode))));

  /* "cuda/cuda.pyx":8479
 *     def deviceUpdatableKernelNode(self):
 *         return self._deviceUpdatableKernelNode
 *     @deviceUpdatableKernelNode.setter             # <<<<<<<<<<<<<<
 *     def deviceUpdatableKernelNode(self, deviceUpdatableKernelNode not None : anon_struct4):
 *         string.memcpy(&self._ptr[0].deviceUpdatableKernelNode, <ccuda.anon_struct4*><void_ptr>deviceUpdatableKernelNode.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.deviceUpdatableKernelNode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_28CUlaunchAttributeValue_union_10__reduce_cython__, "CUlaunchAttributeValue_union.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_28CUlaunchAttributeValue_union_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUlaunchAttributeValue_union_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__213)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_12__setstate_cython__, "CUlaunchAttributeValue_union.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_28CUlaunchAttributeValue_union_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUlaunchAttributeValue_union_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUlaunchAttributeValue_union_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__214)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttributeValue_union.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8500
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8500, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 8500, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8500, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 8500, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttribute_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 8500, 0, __PYX_ERR(1, 8500, __pyx_L1_error));

  /* "cuda/cuda.pyx":8501
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8502
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUlaunchAttribute_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUlaunchAttribute_st__val);

    /* "cuda/cuda.pyx":8501
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":8504
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUlaunchAttribute_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._value = CUlaunchAttributeValue(_ptr=<void_ptr>&self._ptr[0].value)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUlaunchAttribute_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":8500
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttribute_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8505
 *         else:
 *             self._ptr = <ccuda.CUlaunchAttribute_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._value = CUlaunchAttributeValue(_ptr=<void_ptr>&self._ptr[0].value)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8505, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 8505, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8505, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 8505, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttribute_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 8505, 0, __PYX_ERR(1, 8505, __pyx_L1_error));

  /* "cuda/cuda.pyx":8506
 *             self._ptr = <ccuda.CUlaunchAttribute_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._value = CUlaunchAttributeValue(_ptr=<void_ptr>&self._ptr[0].value)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).value))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 8506, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_value);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_value);
  __pyx_v_self->_value = ((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8505
 *         else:
 *             self._ptr = <ccuda.CUlaunchAttribute_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._value = CUlaunchAttributeValue(_ptr=<void_ptr>&self._ptr[0].value)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUlaunchAttribute_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8507
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._value = CUlaunchAttributeValue(_ptr=<void_ptr>&self._ptr[0].value)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_20CUlaunchAttribute_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 8507, 0, __PYX_ERR(1, 8507, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUlaunchAttribute_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":8509
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUlaunchAttribute_st_6getPtr, "CUlaunchAttribute_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_20CUlaunchAttribute_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUlaunchAttribute_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__215)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 8509, 0, __PYX_ERR(1, 8509, __pyx_L1_error));

  /* "cuda/cuda.pyx":8510
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8509
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttribute_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8511
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUlaunchAttribute_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr19__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 8511, 0, __PYX_ERR(1, 8511, __pyx_L1_error));

  /* "cuda/cuda.pyx":8512
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8513
 *     def __repr__(self):
 *         if self._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(1, 8513, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":8514
 *         if self._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/cuda.pyx":8515
 *             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_n_s_id_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8515, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8515, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_id, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8515, __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(1, 8515, __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)) __PYX_ERR(1, 8515, __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(1, 8515, __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/cuda.pyx":8514
 *         if self._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/cuda.pyx":8516
 *             try:
 *                 str_list += ['id : ' + str(self.id)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['id : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchAttribute_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8516, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8517
 *                 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(1, 8517, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_id_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_id_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_id_ValueError)) __PYX_ERR(1, 8517, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8517, __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/cuda.pyx":8514
 *         if self._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/cuda.pyx":8518
 *             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/cuda.pyx":8519
 *                 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(1, 8519, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_value_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8519, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8519, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8519, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8519, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8519, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 8519, __pyx_L20_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8519, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 8519, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8519, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8519, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 8519, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8519, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 8519, __pyx_L20_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr19__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr19__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8519, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 8519, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr19__pyx_v_line); __pyx_9genexpr19__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_9genexpr19__pyx_v_line); __pyx_9genexpr19__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8519, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_value_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8519, __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(1, 8519, __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)) __PYX_ERR(1, 8519, __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(1, 8519, __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/cuda.pyx":8518
 *             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/cuda.pyx":8520
 *             try:
 *                 str_list += ['value :\n' + '\n'.join(['    ' + line for line in str(self.value).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchAttribute_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 8520, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":8521
 *                 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(1, 8521, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_value_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_value_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_value_ValueError)) __PYX_ERR(1, 8521, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8521, __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/cuda.pyx":8518
 *             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/cuda.pyx":8522
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":8512
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":8524
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def id(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":8511
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.CUlaunchAttribute_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr19__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8525
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def id(self):
 *         return CUlaunchAttributeID(self._ptr[0].id)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_2id_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUlaunchAttribute_st_2id___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_2id___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8525, 0, __PYX_ERR(1, 8525, __pyx_L1_error));

  /* "cuda/cuda.pyx":8527
 *     @property
 *     def id(self):
 *         return CUlaunchAttributeID(self._ptr[0].id)             # <<<<<<<<<<<<<<
 *     @id.setter
 *     def id(self, id not None : CUlaunchAttributeID):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUlaunchAttributeID); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum((__pyx_v_self->_ptr[0]).id); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8527, __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/cuda.pyx":8525
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def id(self):
 *         return CUlaunchAttributeID(self._ptr[0].id)
 */

  /* 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.cuda.CUlaunchAttribute_st.id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8528
 *     def id(self):
 *         return CUlaunchAttributeID(self._ptr[0].id)
 *     @id.setter             # <<<<<<<<<<<<<<
 *     def id(self, id not None : CUlaunchAttributeID):
 *         self._ptr[0].id = id.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_2id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_id); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 8529, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_2id_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *)__pyx_v_self), ((PyObject *)__pyx_v_id));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_2id_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self, PyObject *__pyx_v_id) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8528, 0, __PYX_ERR(1, 8528, __pyx_L1_error));

  /* "cuda/cuda.pyx":8530
 *     @id.setter
 *     def id(self, id not None : CUlaunchAttributeID):
 *         self._ptr[0].id = id.value             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_id, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUlaunchAttributeID_enum)__Pyx_PyInt_As_enum__CUlaunchAttributeID_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8530, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).id = __pyx_t_2;

  /* "cuda/cuda.pyx":8528
 *     def id(self):
 *         return CUlaunchAttributeID(self._ptr[0].id)
 *     @id.setter             # <<<<<<<<<<<<<<
 *     def id(self, id not None : CUlaunchAttributeID):
 *         self._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.cuda.CUlaunchAttribute_st.id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8531
 *     def id(self, id not None : CUlaunchAttributeID):
 *         self._ptr[0].id = id.value
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._value
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUlaunchAttribute_st_5value___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_5value___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8531, 0, __PYX_ERR(1, 8531, __pyx_L1_error));

  /* "cuda/cuda.pyx":8533
 *     @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/cuda.pyx":8531
 *     def id(self, id not None : CUlaunchAttributeID):
 *         self._ptr[0].id = id.value
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttribute_st.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8534
 *     def value(self):
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value not None : CUlaunchAttributeValue):
 *         string.memcpy(&self._ptr[0].value, <ccuda.CUlaunchAttributeValue*><void_ptr>value.getPtr(), sizeof(self._ptr[0].value))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUlaunchAttributeValue, 0, "value", 0))) __PYX_ERR(1, 8535, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_5value_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_5value_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue *__pyx_v_value) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8534, 0, __PYX_ERR(1, 8534, __pyx_L1_error));

  /* "cuda/cuda.pyx":8536
 *     @value.setter
 *     def value(self, value not None : CUlaunchAttributeValue):
 *         string.memcpy(&self._ptr[0].value, <ccuda.CUlaunchAttributeValue*><void_ptr>value.getPtr(), sizeof(self._ptr[0].value))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUlaunchConfig_st:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_value), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8536, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).value), ((CUlaunchAttributeValue *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).value))));

  /* "cuda/cuda.pyx":8534
 *     def value(self):
 *         return self._value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, value not None : CUlaunchAttributeValue):
 *         string.memcpy(&self._ptr[0].value, <ccuda.CUlaunchAttributeValue*><void_ptr>value.getPtr(), sizeof(self._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_AddTraceback("cuda.cuda.CUlaunchAttribute_st.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_20CUlaunchAttribute_st_10__reduce_cython__, "CUlaunchAttribute_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_20CUlaunchAttribute_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUlaunchAttribute_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__216)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttribute_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUlaunchAttribute_st_12__setstate_cython__, "CUlaunchAttribute_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_20CUlaunchAttribute_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUlaunchAttribute_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttribute_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUlaunchAttribute_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__217)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchAttribute_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8571
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8571, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 8571, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8571, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 8571, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 8571, 0, __PYX_ERR(1, 8571, __pyx_L1_error));

  /* "cuda/cuda.pyx":8572
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8573
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUlaunchConfig_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUlaunchConfig_st__val);

    /* "cuda/cuda.pyx":8572
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":8575
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUlaunchConfig_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hStream)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUlaunchConfig_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":8571
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8576
 *         else:
 *             self._ptr = <ccuda.CUlaunchConfig_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hStream)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8576, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 8576, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8576, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 8576, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 8576, 0, __PYX_ERR(1, 8576, __pyx_L1_error));

  /* "cuda/cuda.pyx":8577
 *             self._ptr = <ccuda.CUlaunchConfig_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hStream)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._attrs is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).hStream))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 8577, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_hStream);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_hStream);
  __pyx_v_self->_hStream = ((struct __pyx_obj_4cuda_4cuda_CUstream *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8576
 *         else:
 *             self._ptr = <ccuda.CUlaunchConfig_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hStream)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUlaunchConfig_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8578
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hStream)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._attrs is not NULL:
 *             free(self._attrs)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 8578, 0, __PYX_ERR(1, 8578, __pyx_L1_error));

  /* "cuda/cuda.pyx":8579
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hStream)
 *     def __dealloc__(self):
 *         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/cuda.pyx":8580
 *     def __dealloc__(self):
 *         if self._attrs is not NULL:
 *             free(self._attrs)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_attrs);

    /* "cuda/cuda.pyx":8579
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hStream)
 *     def __dealloc__(self):
 *         if self._attrs is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._attrs)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":8578
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hStream)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._attrs is not NULL:
 *             free(self._attrs)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUlaunchConfig_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":8581
 *         if self._attrs is not NULL:
 *             free(self._attrs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_6getPtr, "CUlaunchConfig_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUlaunchConfig_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUlaunchConfig_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__218)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 8581, 0, __PYX_ERR(1, 8581, __pyx_L1_error));

  /* "cuda/cuda.pyx":8582
 *             free(self._attrs)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8581
 *         if self._attrs is not NULL:
 *             free(self._attrs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8583
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 8583, 0, __PYX_ERR(1, 8583, __pyx_L1_error));

  /* "cuda/cuda.pyx":8584
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8585
 *     def __repr__(self):
 *         if self._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(1, 8585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":8586
 *         if self._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/cuda.pyx":8587
 *             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_n_s_gridDimX_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8587, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8587, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_gridDimX, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8587, __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(1, 8587, __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)) __PYX_ERR(1, 8587, __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(1, 8587, __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/cuda.pyx":8586
 *         if self._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/cuda.pyx":8588
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8588, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8589
 *                 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(1, 8589, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_gridDimX_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_gridDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_gridDimX_ValueError)) __PYX_ERR(1, 8589, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8589, __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/cuda.pyx":8586
 *         if self._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/cuda.pyx":8590
 *             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/cuda.pyx":8591
 *                 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_n_s_gridDimY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8591, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8591, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_gridDimY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8591, __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(1, 8591, __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)) __PYX_ERR(1, 8591, __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(1, 8591, __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/cuda.pyx":8590
 *             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/cuda.pyx":8592
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 8592, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":8593
 *                 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(1, 8593, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_gridDimY_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_gridDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_gridDimY_ValueError)) __PYX_ERR(1, 8593, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8593, __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/cuda.pyx":8590
 *             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/cuda.pyx":8594
 *             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/cuda.pyx":8595
 *                 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_n_s_gridDimZ_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8595, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8595, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_gridDimZ, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8595, __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(1, 8595, __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)) __PYX_ERR(1, 8595, __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(1, 8595, __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/cuda.pyx":8594
 *             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/cuda.pyx":8596
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8596, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8597
 *                 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(1, 8597, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_gridDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_gridDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_gridDimZ_ValueError)) __PYX_ERR(1, 8597, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8597, __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/cuda.pyx":8594
 *             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/cuda.pyx":8598
 *             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/cuda.pyx":8599
 *                 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_n_s_blockDimX_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8599, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8599, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_blockDimX, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8599, __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(1, 8599, __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)) __PYX_ERR(1, 8599, __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(1, 8599, __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/cuda.pyx":8598
 *             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/cuda.pyx":8600
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 8600, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":8601
 *                 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(1, 8601, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_blockDimX_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_blockDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_blockDimX_ValueError)) __PYX_ERR(1, 8601, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8601, __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/cuda.pyx":8598
 *             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/cuda.pyx":8602
 *             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/cuda.pyx":8603
 *                 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_n_s_blockDimY_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8603, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8603, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_blockDimY, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8603, __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(1, 8603, __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)) __PYX_ERR(1, 8603, __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(1, 8603, __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/cuda.pyx":8602
 *             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/cuda.pyx":8604
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8604, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8605
 *                 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(1, 8605, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_blockDimY_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_blockDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_blockDimY_ValueError)) __PYX_ERR(1, 8605, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8605, __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/cuda.pyx":8602
 *             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/cuda.pyx":8606
 *             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/cuda.pyx":8607
 *                 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_n_s_blockDimZ_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8607, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8607, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_blockDimZ, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8607, __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(1, 8607, __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)) __PYX_ERR(1, 8607, __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(1, 8607, __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/cuda.pyx":8606
 *             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/cuda.pyx":8608
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 8608, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":8609
 *                 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(1, 8609, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_blockDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_blockDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_blockDimZ_ValueError)) __PYX_ERR(1, 8609, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8609, __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/cuda.pyx":8606
 *             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/cuda.pyx":8610
 *             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/cuda.pyx":8611
 *                 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_n_s_sharedMemBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8611, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8611, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_sharedMemBytes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8611, __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(1, 8611, __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)) __PYX_ERR(1, 8611, __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(1, 8611, __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/cuda.pyx":8610
 *             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/cuda.pyx":8612
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8612, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8613
 *                 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(1, 8613, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_sharedMemBytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_sharedMemBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_sharedMemBytes_ValueError)) __PYX_ERR(1, 8613, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8613, __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/cuda.pyx":8610
 *             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/cuda.pyx":8614
 *             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/cuda.pyx":8615
 *                 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_n_s_hStream_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8615, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8615, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_hStream, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8615, __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(1, 8615, __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)) __PYX_ERR(1, 8615, __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(1, 8615, __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/cuda.pyx":8614
 *             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/cuda.pyx":8616
 *             try:
 *                 str_list += ['hStream : ' + str(self.hStream)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hStream : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 8616, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":8617
 *                 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(1, 8617, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_hStream_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_hStream_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_hStream_ValueError)) __PYX_ERR(1, 8617, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8617, __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/cuda.pyx":8614
 *             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/cuda.pyx":8618
 *             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/cuda.pyx":8619
 *                 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_n_s_attrs_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8619, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8619, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_attrs, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8619, __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(1, 8619, __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)) __PYX_ERR(1, 8619, __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(1, 8619, __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/cuda.pyx":8618
 *             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/cuda.pyx":8620
 *             try:
 *                 str_list += ['attrs : ' + str(self.attrs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['attrs : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8620, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8621
 *                 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(1, 8621, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_attrs_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_attrs_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_attrs_ValueError)) __PYX_ERR(1, 8621, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8621, __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/cuda.pyx":8618
 *             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/cuda.pyx":8622
 *             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/cuda.pyx":8623
 *                 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_n_s_numAttrs_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8623, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8623, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_numAttrs, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8623, __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(1, 8623, __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)) __PYX_ERR(1, 8623, __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(1, 8623, __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/cuda.pyx":8622
 *             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/cuda.pyx":8624
 *             try:
 *                 str_list += ['numAttrs : ' + str(self.numAttrs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numAttrs : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 8624, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":8625
 *                 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(1, 8625, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_numAttrs_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_numAttrs_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_numAttrs_ValueError)) __PYX_ERR(1, 8625, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8625, __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/cuda.pyx":8622
 *             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/cuda.pyx":8626
 *             except ValueError:
 *                 str_list += ['numAttrs : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":8584
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":8628
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimX(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":8583
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8629
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_8gridDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_8gridDimX___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8gridDimX___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8629, 0, __PYX_ERR(1, 8629, __pyx_L1_error));

  /* "cuda/cuda.pyx":8631
 *     @property
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX             # <<<<<<<<<<<<<<
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).gridDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8629
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.gridDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8632
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_8gridDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimX); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_gridDimX); if (unlikely((__pyx_v_gridDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8633, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.gridDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8gridDimX_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimX));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_gridDimX) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8632, 0, __PYX_ERR(1, 8632, __pyx_L1_error));

  /* "cuda/cuda.pyx":8634
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimY(self):
 */
  (__pyx_v_self->_ptr[0]).gridDimX = __pyx_v_gridDimX;

  /* "cuda/cuda.pyx":8632
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.gridDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8635
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_8gridDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_8gridDimY___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8gridDimY___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8635, 0, __PYX_ERR(1, 8635, __pyx_L1_error));

  /* "cuda/cuda.pyx":8637
 *     @property
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY             # <<<<<<<<<<<<<<
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).gridDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8635
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.gridDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8638
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_8gridDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimY); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_gridDimY); if (unlikely((__pyx_v_gridDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8639, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.gridDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8gridDimY_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_gridDimY) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8638, 0, __PYX_ERR(1, 8638, __pyx_L1_error));

  /* "cuda/cuda.pyx":8640
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimZ(self):
 */
  (__pyx_v_self->_ptr[0]).gridDimY = __pyx_v_gridDimY;

  /* "cuda/cuda.pyx":8638
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.gridDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8641
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_8gridDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_8gridDimZ___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8gridDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8641, 0, __PYX_ERR(1, 8641, __pyx_L1_error));

  /* "cuda/cuda.pyx":8643
 *     @property
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ             # <<<<<<<<<<<<<<
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).gridDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8641
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.gridDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8644
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_8gridDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimZ); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_gridDimZ); if (unlikely((__pyx_v_gridDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8645, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.gridDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8gridDimZ_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self), ((unsigned int)__pyx_v_gridDimZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8644, 0, __PYX_ERR(1, 8644, __pyx_L1_error));

  /* "cuda/cuda.pyx":8646
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimX(self):
 */
  (__pyx_v_self->_ptr[0]).gridDimZ = __pyx_v_gridDimZ;

  /* "cuda/cuda.pyx":8644
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.gridDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8647
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9blockDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_9blockDimX___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_9blockDimX___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8647, 0, __PYX_ERR(1, 8647, __pyx_L1_error));

  /* "cuda/cuda.pyx":8649
 *     @property
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX             # <<<<<<<<<<<<<<
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).blockDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8647
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.blockDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8650
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9blockDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimX); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_blockDimX); if (unlikely((__pyx_v_blockDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8651, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.blockDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_9blockDimX_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimX));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_blockDimX) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8650, 0, __PYX_ERR(1, 8650, __pyx_L1_error));

  /* "cuda/cuda.pyx":8652
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimY(self):
 */
  (__pyx_v_self->_ptr[0]).blockDimX = __pyx_v_blockDimX;

  /* "cuda/cuda.pyx":8650
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.blockDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8653
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9blockDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_9blockDimY___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_9blockDimY___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8653, 0, __PYX_ERR(1, 8653, __pyx_L1_error));

  /* "cuda/cuda.pyx":8655
 *     @property
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY             # <<<<<<<<<<<<<<
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).blockDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8653
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.blockDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8656
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9blockDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimY); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_blockDimY); if (unlikely((__pyx_v_blockDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8657, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.blockDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_9blockDimY_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_blockDimY) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8656, 0, __PYX_ERR(1, 8656, __pyx_L1_error));

  /* "cuda/cuda.pyx":8658
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimZ(self):
 */
  (__pyx_v_self->_ptr[0]).blockDimY = __pyx_v_blockDimY;

  /* "cuda/cuda.pyx":8656
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.blockDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8659
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9blockDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_9blockDimZ___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_9blockDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8659, 0, __PYX_ERR(1, 8659, __pyx_L1_error));

  /* "cuda/cuda.pyx":8661
 *     @property
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ             # <<<<<<<<<<<<<<
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).blockDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8659
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.blockDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8662
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9blockDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimZ); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_blockDimZ); if (unlikely((__pyx_v_blockDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8663, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.blockDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_9blockDimZ_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self), ((unsigned int)__pyx_v_blockDimZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8662, 0, __PYX_ERR(1, 8662, __pyx_L1_error));

  /* "cuda/cuda.pyx":8664
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedMemBytes(self):
 */
  (__pyx_v_self->_ptr[0]).blockDimZ = __pyx_v_blockDimZ;

  /* "cuda/cuda.pyx":8662
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.blockDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8665
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_14sharedMemBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_14sharedMemBytes___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8665, 0, __PYX_ERR(1, 8665, __pyx_L1_error));

  /* "cuda/cuda.pyx":8667
 *     @property
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes             # <<<<<<<<<<<<<<
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).sharedMemBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8665
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.sharedMemBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8668
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_14sharedMemBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemBytes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_sharedMemBytes); if (unlikely((__pyx_v_sharedMemBytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8669, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.sharedMemBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_14sharedMemBytes_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self), ((unsigned int)__pyx_v_sharedMemBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8668, 0, __PYX_ERR(1, 8668, __pyx_L1_error));

  /* "cuda/cuda.pyx":8670
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def hStream(self):
 */
  (__pyx_v_self->_ptr[0]).sharedMemBytes = __pyx_v_sharedMemBytes;

  /* "cuda/cuda.pyx":8668
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.sharedMemBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8671
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def hStream(self):
 *         return self._hStream
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_7hStream_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_7hStream___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_7hStream___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8671, 0, __PYX_ERR(1, 8671, __pyx_L1_error));

  /* "cuda/cuda.pyx":8673
 *     @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/cuda.pyx":8671
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def hStream(self):
 *         return self._hStream
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.hStream.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8674
 *     def hStream(self):
 *         return self._hStream
 *     @hStream.setter             # <<<<<<<<<<<<<<
 *     def hStream(self, hStream):
 *         cdef ccuda.CUstream chStream
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_7hStream_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hStream); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_7hStream_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self), ((PyObject *)__pyx_v_hStream));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_7hStream_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8674, 0, __PYX_ERR(1, 8674, __pyx_L1_error));

  /* "cuda/cuda.pyx":8677
 *     def hStream(self, hStream):
 *         cdef ccuda.CUstream chStream
 *         if hStream is None:             # <<<<<<<<<<<<<<
 *             chStream = <ccuda.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8678
 *         cdef ccuda.CUstream chStream
 *         if hStream is None:
 *             chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(hStream, (CUstream,)):
 *             phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":8677
 *     def hStream(self, hStream):
 *         cdef ccuda.CUstream chStream
 *         if hStream is None:             # <<<<<<<<<<<<<<
 *             chStream = <ccuda.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":8679
 *         if hStream is None:
 *             chStream = <ccuda.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *             phStream = int(hStream)
 *             chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8680
 *             chStream = <ccuda.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):
 *             phStream = int(hStream)             # <<<<<<<<<<<<<<
 *             chStream = <ccuda.CUstream><void_ptr>phStream
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8680, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":8681
 *         elif isinstance(hStream, (CUstream,)):
 *             phStream = int(hStream)
 *             chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *         else:
 *             phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8681, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":8679
 *         if hStream is None:
 *             chStream = <ccuda.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *             phStream = int(hStream)
 *             chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":8683
 *             chStream = <ccuda.CUstream><void_ptr>phStream
 *         else:
 *             phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *             chStream = <ccuda.CUstream><void_ptr>phStream
 *         self._hStream._ptr[0] = chStream
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":8684
 *         else:
 *             phStream = int(CUstream(hStream))
 *             chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *         self._hStream._ptr[0] = chStream
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8684, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":8685
 *             phStream = int(CUstream(hStream))
 *             chStream = <ccuda.CUstream><void_ptr>phStream
 *         self._hStream._ptr[0] = chStream             # <<<<<<<<<<<<<<
 *     @property
 *     def attrs(self):
 */
  (__pyx_v_self->_hStream->_ptr[0]) = __pyx_v_chStream;

  /* "cuda/cuda.pyx":8674
 *     def hStream(self):
 *         return self._hStream
 *     @hStream.setter             # <<<<<<<<<<<<<<
 *     def hStream(self, hStream):
 *         cdef ccuda.CUstream chStream
 */

  /* 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.cuda.CUlaunchConfig_st.hStream.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8686
 *             chStream = <ccuda.CUstream><void_ptr>phStream
 *         self._hStream._ptr[0] = chStream
 *     @property             # <<<<<<<<<<<<<<
 *     def attrs(self):
 *         arrs = [<void_ptr>self._ptr[0].attrs + x*sizeof(ccuda.CUlaunchAttribute) for x in range(self._attrs_length)]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_5attrs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_5attrs___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_5attrs___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_9genexpr20__pyx_v_x;
  PyObject *__pyx_9genexpr21__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8686, 0, __PYX_ERR(1, 8686, __pyx_L1_error));

  /* "cuda/cuda.pyx":8688
 *     @property
 *     def attrs(self):
 *         arrs = [<void_ptr>self._ptr[0].attrs + x*sizeof(ccuda.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(1, 8688, __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_9genexpr20__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).attrs) + (__pyx_9genexpr20__pyx_v_x * (sizeof(CUlaunchAttribute))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 8688, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 8688, __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/cuda.pyx":8689
 *     def attrs(self):
 *         arrs = [<void_ptr>self._ptr[0].attrs + x*sizeof(ccuda.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(1, 8689, __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8689, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 8689, __pyx_L7_error)
      #else
      __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 8689, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr21__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 8689, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr21__pyx_v_arr) < 0) __PYX_ERR(1, 8689, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchAttribute), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8689, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 8689, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr21__pyx_v_arr); __pyx_9genexpr21__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr21__pyx_v_arr); __pyx_9genexpr21__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/cuda.pyx":8686
 *             chStream = <ccuda.CUstream><void_ptr>phStream
 *         self._hStream._ptr[0] = chStream
 *     @property             # <<<<<<<<<<<<<<
 *     def attrs(self):
 *         arrs = [<void_ptr>self._ptr[0].attrs + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.CUlaunchConfig_st.attrs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_arrs);
  __Pyx_XDECREF(__pyx_9genexpr21__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8690
 *         arrs = [<void_ptr>self._ptr[0].attrs + x*sizeof(ccuda.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_4cuda_17CUlaunchConfig_st_5attrs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_5attrs_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_5attrs_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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;
  CUlaunchAttribute *__pyx_t_6;
  Py_ssize_t __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8690, 0, __PYX_ERR(1, 8690, __pyx_L1_error));

  /* "cuda/cuda.pyx":8692
 *     @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(1, 8692, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":8693
 *     def attrs(self, val):
 *         if len(val) == 0:
 *             free(self._attrs)             # <<<<<<<<<<<<<<
 *             self._attrs_length = 0
 *             self._ptr[0].attrs = NULL
 */
    free(__pyx_v_self->_attrs);

    /* "cuda/cuda.pyx":8694
 *         if len(val) == 0:
 *             free(self._attrs)
 *             self._attrs_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].attrs = NULL
 *         else:
 */
    __pyx_v_self->_attrs_length = 0;

    /* "cuda/cuda.pyx":8695
 *             free(self._attrs)
 *             self._attrs_length = 0
 *             self._ptr[0].attrs = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._attrs_length != <size_t>len(val):
 */
    (__pyx_v_self->_ptr[0]).attrs = NULL;

    /* "cuda/cuda.pyx":8692
 *     @attrs.setter
 *     def attrs(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._attrs)
 *             self._attrs_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":8697
 *             self._ptr[0].attrs = NULL
 *         else:
 *             if self._attrs_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._attrs)
 *                 self._attrs = <ccuda.CUlaunchAttribute*> calloc(len(val), sizeof(ccuda.CUlaunchAttribute))
 */
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 8697, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_attrs_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/cuda.pyx":8698
 *         else:
 *             if self._attrs_length != <size_t>len(val):
 *                 free(self._attrs)             # <<<<<<<<<<<<<<
 *                 self._attrs = <ccuda.CUlaunchAttribute*> calloc(len(val), sizeof(ccuda.CUlaunchAttribute))
 *                 if self._attrs is NULL:
 */
      free(__pyx_v_self->_attrs);

      /* "cuda/cuda.pyx":8699
 *             if self._attrs_length != <size_t>len(val):
 *                 free(self._attrs)
 *                 self._attrs = <ccuda.CUlaunchAttribute*> calloc(len(val), sizeof(ccuda.CUlaunchAttribute))             # <<<<<<<<<<<<<<
 *                 if self._attrs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUlaunchAttribute)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 8699, __pyx_L1_error)
      __pyx_v_self->_attrs = ((CUlaunchAttribute *)calloc(__pyx_t_1, (sizeof(CUlaunchAttribute))));

      /* "cuda/cuda.pyx":8700
 *                 free(self._attrs)
 *                 self._attrs = <ccuda.CUlaunchAttribute*> calloc(len(val), sizeof(ccuda.CUlaunchAttribute))
 *                 if self._attrs is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUlaunchAttribute)))
 *                 self._attrs_length = <size_t>len(val)
 */
      __pyx_t_2 = (__pyx_v_self->_attrs == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/cuda.pyx":8701
 *                 self._attrs = <ccuda.CUlaunchAttribute*> calloc(len(val), sizeof(ccuda.CUlaunchAttribute))
 *                 if self._attrs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUlaunchAttribute)))             # <<<<<<<<<<<<<<
 *                 self._attrs_length = <size_t>len(val)
 *                 self._ptr[0].attrs = self._attrs
 */
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 8701, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8701, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8701, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8701, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8701, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUlaunchAttribute))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8701, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 8701, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8701, __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_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 8701, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __PYX_ERR(1, 8701, __pyx_L1_error)

        /* "cuda/cuda.pyx":8700
 *                 free(self._attrs)
 *                 self._attrs = <ccuda.CUlaunchAttribute*> calloc(len(val), sizeof(ccuda.CUlaunchAttribute))
 *                 if self._attrs is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUlaunchAttribute)))
 *                 self._attrs_length = <size_t>len(val)
 */
      }

      /* "cuda/cuda.pyx":8702
 *                 if self._attrs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUlaunchAttribute)))
 *                 self._attrs_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._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(1, 8702, __pyx_L1_error)
      __pyx_v_self->_attrs_length = ((size_t)__pyx_t_1);

      /* "cuda/cuda.pyx":8703
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUlaunchAttribute)))
 *                 self._attrs_length = <size_t>len(val)
 *                 self._ptr[0].attrs = self._attrs             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._attrs[idx], (<CUlaunchAttribute>val[idx])._ptr, sizeof(ccuda.CUlaunchAttribute))
 */
      __pyx_t_6 = __pyx_v_self->_attrs;
      (__pyx_v_self->_ptr[0]).attrs = __pyx_t_6;

      /* "cuda/cuda.pyx":8697
 *             self._ptr[0].attrs = NULL
 *         else:
 *             if self._attrs_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._attrs)
 *                 self._attrs = <ccuda.CUlaunchAttribute*> calloc(len(val), sizeof(ccuda.CUlaunchAttribute))
 */
    }

    /* "cuda/cuda.pyx":8704
 *                 self._attrs_length = <size_t>len(val)
 *                 self._ptr[0].attrs = self._attrs
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._attrs[idx], (<CUlaunchAttribute>val[idx])._ptr, sizeof(ccuda.CUlaunchAttribute))
 * 
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 8704, __pyx_L1_error)
    __pyx_t_7 = __pyx_t_1;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_v_idx = __pyx_t_8;

      /* "cuda/cuda.pyx":8705
 *                 self._ptr[0].attrs = self._attrs
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._attrs[idx], (<CUlaunchAttribute>val[idx])._ptr, sizeof(ccuda.CUlaunchAttribute))             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 8705, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (void)(memcpy((&(__pyx_v_self->_attrs[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute *)__pyx_t_5)->__pyx_base._ptr, (sizeof(CUlaunchAttribute))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":8690
 *         arrs = [<void_ptr>self._ptr[0].attrs + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.CUlaunchConfig_st.attrs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8707
 *                 string.memcpy(&self._attrs[idx], (<CUlaunchAttribute>val[idx])._ptr, sizeof(ccuda.CUlaunchAttribute))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numAttrs(self):
 *         return self._ptr[0].numAttrs
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_8numAttrs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_8numAttrs___get__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8numAttrs___get__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8707, 0, __PYX_ERR(1, 8707, __pyx_L1_error));

  /* "cuda/cuda.pyx":8709
 *     @property
 *     def numAttrs(self):
 *         return self._ptr[0].numAttrs             # <<<<<<<<<<<<<<
 *     @numAttrs.setter
 *     def numAttrs(self, unsigned int numAttrs):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).numAttrs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8707
 *                 string.memcpy(&self._attrs[idx], (<CUlaunchAttribute>val[idx])._ptr, sizeof(ccuda.CUlaunchAttribute))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numAttrs(self):
 *         return self._ptr[0].numAttrs
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.numAttrs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8710
 *     def numAttrs(self):
 *         return self._ptr[0].numAttrs
 *     @numAttrs.setter             # <<<<<<<<<<<<<<
 *     def numAttrs(self, unsigned int numAttrs):
 *         self._ptr[0].numAttrs = numAttrs
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_8numAttrs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numAttrs); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_numAttrs); if (unlikely((__pyx_v_numAttrs == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8711, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.numAttrs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8numAttrs_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self), ((unsigned int)__pyx_v_numAttrs));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_8numAttrs_2__set__(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, unsigned int __pyx_v_numAttrs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8710, 0, __PYX_ERR(1, 8710, __pyx_L1_error));

  /* "cuda/cuda.pyx":8712
 *     @numAttrs.setter
 *     def numAttrs(self, unsigned int numAttrs):
 *         self._ptr[0].numAttrs = numAttrs             # <<<<<<<<<<<<<<
 * 
 * cdef class CUexecAffinitySmCount_st:
 */
  (__pyx_v_self->_ptr[0]).numAttrs = __pyx_v_numAttrs;

  /* "cuda/cuda.pyx":8710
 *     def numAttrs(self):
 *         return self._ptr[0].numAttrs
 *     @numAttrs.setter             # <<<<<<<<<<<<<<
 *     def numAttrs(self, unsigned int numAttrs):
 *         self._ptr[0].numAttrs = numAttrs
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.numAttrs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_17CUlaunchConfig_st_10__reduce_cython__, "CUlaunchConfig_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUlaunchConfig_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUlaunchConfig_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__219)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_12__setstate_cython__, "CUlaunchConfig_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUlaunchConfig_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUlaunchConfig_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUlaunchConfig_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__220)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlaunchConfig_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8729
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8729, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 8729, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8729, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 8729, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinitySmCount_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 8729, 0, __PYX_ERR(1, 8729, __pyx_L1_error));

  /* "cuda/cuda.pyx":8730
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8731
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUexecAffinitySmCount_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUexecAffinitySmCount_st__val);

    /* "cuda/cuda.pyx":8730
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":8733
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUexecAffinitySmCount_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUexecAffinitySmCount_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":8729
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinitySmCount_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8734
 *         else:
 *             self._ptr = <ccuda.CUexecAffinitySmCount_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8734, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 8734, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8734, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 8734, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinitySmCount_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 8734, 0, __PYX_ERR(1, 8734, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinitySmCount_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8736
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_24CUexecAffinitySmCount_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 8736, 0, __PYX_ERR(1, 8736, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUexecAffinitySmCount_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":8738
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUexecAffinitySmCount_st_6getPtr, "CUexecAffinitySmCount_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_24CUexecAffinitySmCount_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUexecAffinitySmCount_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__221)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 8738, 0, __PYX_ERR(1, 8738, __pyx_L1_error));

  /* "cuda/cuda.pyx":8739
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8738
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinitySmCount_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8740
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUexecAffinitySmCount_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 8740, 0, __PYX_ERR(1, 8740, __pyx_L1_error));

  /* "cuda/cuda.pyx":8741
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8742
 *     def __repr__(self):
 *         if self._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(1, 8742, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":8743
 *         if self._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/cuda.pyx":8744
 *             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_n_s_val_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8744, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8744, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_val, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8744, __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(1, 8744, __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)) __PYX_ERR(1, 8744, __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(1, 8744, __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/cuda.pyx":8743
 *         if self._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/cuda.pyx":8745
 *             try:
 *                 str_list += ['val : ' + str(self.val)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['val : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUexecAffinitySmCount_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8745, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8746
 *                 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(1, 8746, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_val_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_val_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_val_ValueError)) __PYX_ERR(1, 8746, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8746, __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/cuda.pyx":8743
 *         if self._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/cuda.pyx":8747
 *             except ValueError:
 *                 str_list += ['val : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8747, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":8741
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":8749
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def val(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":8740
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8750
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def val(self):
 *         return self._ptr[0].val
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_3val_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUexecAffinitySmCount_st_3val___get__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_3val___get__(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8750, 0, __PYX_ERR(1, 8750, __pyx_L1_error));

  /* "cuda/cuda.pyx":8752
 *     @property
 *     def val(self):
 *         return self._ptr[0].val             # <<<<<<<<<<<<<<
 *     @val.setter
 *     def val(self, unsigned int val):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).val); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8750
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def val(self):
 *         return self._ptr[0].val
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinitySmCount_st.val.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8753
 *     def val(self):
 *         return self._ptr[0].val
 *     @val.setter             # <<<<<<<<<<<<<<
 *     def val(self, unsigned int val):
 *         self._ptr[0].val = val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_3val_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_val); if (unlikely((__pyx_v_val == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 8754, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinitySmCount_st.val.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_3val_2__set__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *)__pyx_v_self), ((unsigned int)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_3val_2__set__(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self, unsigned int __pyx_v_val) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8753, 0, __PYX_ERR(1, 8753, __pyx_L1_error));

  /* "cuda/cuda.pyx":8755
 *     @val.setter
 *     def val(self, unsigned int val):
 *         self._ptr[0].val = val             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union3:
 */
  (__pyx_v_self->_ptr[0]).val = __pyx_v_val;

  /* "cuda/cuda.pyx":8753
 *     def val(self):
 *         return self._ptr[0].val
 *     @val.setter             # <<<<<<<<<<<<<<
 *     def val(self, unsigned int val):
 *         self._ptr[0].val = val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinitySmCount_st.val.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_24CUexecAffinitySmCount_st_10__reduce_cython__, "CUexecAffinitySmCount_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_24CUexecAffinitySmCount_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUexecAffinitySmCount_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__222)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinitySmCount_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUexecAffinitySmCount_st_12__setstate_cython__, "CUexecAffinitySmCount_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_24CUexecAffinitySmCount_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUexecAffinitySmCount_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinitySmCount_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUexecAffinitySmCount_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__223)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinitySmCount_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8770
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUexecAffinityParam_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union3_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11anon_union3_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8770, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 8770, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8770, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 8770, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union3.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union3___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_union3 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union3___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 8770, 0, __PYX_ERR(1, 8770, __pyx_L1_error));

  /* "cuda/cuda.pyx":8771
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUexecAffinityParam_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUexecAffinityParam_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":8770
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUexecAffinityParam_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union3.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8773
 *         self._ptr = <ccuda.CUexecAffinityParam_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._smCount = CUexecAffinitySmCount(_ptr=<void_ptr>&self._ptr[0].param.smCount)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union3_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11anon_union3_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8773, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 8773, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8773, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 8773, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union3.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union3_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_union3 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union3_2__init__(struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 8773, 0, __PYX_ERR(1, 8773, __pyx_L1_error));

  /* "cuda/cuda.pyx":8774
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._smCount = CUexecAffinitySmCount(_ptr=<void_ptr>&self._ptr[0].param.smCount)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).param.smCount))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 8774, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_smCount);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_smCount);
  __pyx_v_self->_smCount = ((struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8773
 *         self._ptr = <ccuda.CUexecAffinityParam_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._smCount = CUexecAffinitySmCount(_ptr=<void_ptr>&self._ptr[0].param.smCount)
 *     def __dealloc__(self):
 */

  /* 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.cuda.anon_union3.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8775
 *     def __init__(self, void_ptr _ptr):
 *         self._smCount = CUexecAffinitySmCount(_ptr=<void_ptr>&self._ptr[0].param.smCount)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_11anon_union3_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_11anon_union3_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_union3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_11anon_union3_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 8775, 0, __PYX_ERR(1, 8775, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_union3.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":8777
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].param
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union3_6getPtr, "anon_union3.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union3_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union3_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union3_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union3_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_union3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union3_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__224)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 8777, 0, __PYX_ERR(1, 8777, __pyx_L1_error));

  /* "cuda/cuda.pyx":8778
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].param             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).param))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8778, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8777
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].param
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union3.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8779
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].param
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union3_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union3_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_union3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union3_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr22__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 8779, 0, __PYX_ERR(1, 8779, __pyx_L1_error));

  /* "cuda/cuda.pyx":8780
 *         return <void_ptr>&self._ptr[0].param
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8781
 *     def __repr__(self):
 *         if self._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(1, 8781, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":8782
 *         if self._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/cuda.pyx":8783
 *             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(1, 8783, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_smCount_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 8783, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8783, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 8783, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_7))) {
            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
            if (likely(__pyx_t_8)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
              __Pyx_INCREF(__pyx_t_8);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_7, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8783, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 8783, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 8783, __pyx_L12_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          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_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8783, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 8783, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8783, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8783, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 8783, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8783, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_11(__pyx_t_7);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 8783, __pyx_L12_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr22__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr22__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8783, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 8783, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_9genexpr22__pyx_v_line); __pyx_9genexpr22__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_9genexpr22__pyx_v_line); __pyx_9genexpr22__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 8783, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_smCount, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8783, __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(1, 8783, __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)) __PYX_ERR(1, 8783, __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(1, 8783, __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/cuda.pyx":8782
 *         if self._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;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":8784
 *             try:
 *                 str_list += ['smCount :\n' + '\n'.join(['    ' + line for line in str(self.smCount).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['smCount : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.anon_union3.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(1, 8784, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":8785
 *                 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_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8785, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_smCount_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_smCount_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_smCount_ValueError)) __PYX_ERR(1, 8785, __pyx_L6_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 8785, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":8782
 *         if self._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/cuda.pyx":8786
 *             except ValueError:
 *                 str_list += ['smCount : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8786, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":8780
 *         return <void_ptr>&self._ptr[0].param
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":8788
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def smCount(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":8779
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].param
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.anon_union3.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr22__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8789
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def smCount(self):
 *         return self._smCount
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union3_7smCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union3_7smCount___get__(((struct __pyx_obj_4cuda_4cuda_anon_union3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union3_7smCount___get__(struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8789, 0, __PYX_ERR(1, 8789, __pyx_L1_error));

  /* "cuda/cuda.pyx":8791
 *     @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/cuda.pyx":8789
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def smCount(self):
 *         return self._smCount
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union3.smCount.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8792
 *     def smCount(self):
 *         return self._smCount
 *     @smCount.setter             # <<<<<<<<<<<<<<
 *     def smCount(self, smCount not None : CUexecAffinitySmCount):
 *         string.memcpy(&self._ptr[0].param.smCount, <ccuda.CUexecAffinitySmCount*><void_ptr>smCount.getPtr(), sizeof(self._ptr[0].param.smCount))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union3_7smCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_smCount); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUexecAffinitySmCount, 0, "smCount", 0))) __PYX_ERR(1, 8793, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union3_7smCount_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union3 *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount *)__pyx_v_smCount));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union3_7smCount_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount *__pyx_v_smCount) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8792, 0, __PYX_ERR(1, 8792, __pyx_L1_error));

  /* "cuda/cuda.pyx":8794
 *     @smCount.setter
 *     def smCount(self, smCount not None : CUexecAffinitySmCount):
 *         string.memcpy(&self._ptr[0].param.smCount, <ccuda.CUexecAffinitySmCount*><void_ptr>smCount.getPtr(), sizeof(self._ptr[0].param.smCount))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUexecAffinityParam_st:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_smCount), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8794, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8794, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).param.smCount), ((CUexecAffinitySmCount *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).param.smCount))));

  /* "cuda/cuda.pyx":8792
 *     def smCount(self):
 *         return self._smCount
 *     @smCount.setter             # <<<<<<<<<<<<<<
 *     def smCount(self, smCount not None : CUexecAffinitySmCount):
 *         string.memcpy(&self._ptr[0].param.smCount, <ccuda.CUexecAffinitySmCount*><void_ptr>smCount.getPtr(), sizeof(self._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_AddTraceback("cuda.cuda.anon_union3.smCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_11anon_union3_10__reduce_cython__, "anon_union3.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union3_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union3_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union3_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union3_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union3 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union3_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__225)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union3.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union3_12__setstate_cython__, "anon_union3.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union3_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union3_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union3_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union3.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union3_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union3 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union3_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__226)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union3.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8813
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUexecAffinityParam_st *>calloc(1, sizeof(ccuda.CUexecAffinityParam_st))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8813, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 8813, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8813, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 8813, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinityParam_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  struct CUexecAffinityParam_st *__pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 8813, 0, __PYX_ERR(1, 8813, __pyx_L1_error));

  /* "cuda/cuda.pyx":8814
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUexecAffinityParam_st *>calloc(1, sizeof(ccuda.CUexecAffinityParam_st))
 *             self._ptr = self._val_ptr
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8815
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUexecAffinityParam_st *>calloc(1, sizeof(ccuda.CUexecAffinityParam_st))             # <<<<<<<<<<<<<<
 *             self._ptr = self._val_ptr
 *         else:
 */
    __pyx_v_self->_val_ptr = ((struct CUexecAffinityParam_st *)calloc(1, (sizeof(struct CUexecAffinityParam_st))));

    /* "cuda/cuda.pyx":8816
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUexecAffinityParam_st *>calloc(1, sizeof(ccuda.CUexecAffinityParam_st))
 *             self._ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUexecAffinityParam_st *>_ptr
 */
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_ptr = __pyx_t_2;

    /* "cuda/cuda.pyx":8814
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUexecAffinityParam_st *>calloc(1, sizeof(ccuda.CUexecAffinityParam_st))
 *             self._ptr = self._val_ptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":8818
 *             self._ptr = self._val_ptr
 *         else:
 *             self._ptr = <ccuda.CUexecAffinityParam_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._param = anon_union3(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUexecAffinityParam_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":8813
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUexecAffinityParam_st *>calloc(1, sizeof(ccuda.CUexecAffinityParam_st))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinityParam_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8819
 *         else:
 *             self._ptr = <ccuda.CUexecAffinityParam_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._param = anon_union3(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8819, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 8819, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8819, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 8819, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinityParam_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 8819, 0, __PYX_ERR(1, 8819, __pyx_L1_error));

  /* "cuda/cuda.pyx":8820
 *             self._ptr = <ccuda.CUexecAffinityParam_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._param = anon_union3(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 8820, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union3), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_param);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_param);
  __pyx_v_self->_param = ((struct __pyx_obj_4cuda_4cuda_anon_union3 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8819
 *         else:
 *             self._ptr = <ccuda.CUexecAffinityParam_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._param = anon_union3(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUexecAffinityParam_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8821
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._param = anon_union3(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_22CUexecAffinityParam_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 8821, 0, __PYX_ERR(1, 8821, __pyx_L1_error));

  /* "cuda/cuda.pyx":8822
 *         self._param = anon_union3(_ptr=<void_ptr>self._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/cuda.pyx":8823
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_val_ptr);

    /* "cuda/cuda.pyx":8822
 *         self._param = anon_union3(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":8821
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._param = anon_union3(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUexecAffinityParam_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":8824
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_22CUexecAffinityParam_st_6getPtr, "CUexecAffinityParam_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_22CUexecAffinityParam_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_22CUexecAffinityParam_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__227)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 8824, 0, __PYX_ERR(1, 8824, __pyx_L1_error));

  /* "cuda/cuda.pyx":8825
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8824
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinityParam_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8826
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_22CUexecAffinityParam_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr23__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 8826, 0, __PYX_ERR(1, 8826, __pyx_L1_error));

  /* "cuda/cuda.pyx":8827
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8828
 *     def __repr__(self):
 *         if self._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(1, 8828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":8829
 *         if self._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/cuda.pyx":8830
 *             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_n_s_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8830, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8830, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8830, __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(1, 8830, __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)) __PYX_ERR(1, 8830, __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(1, 8830, __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/cuda.pyx":8829
 *         if self._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/cuda.pyx":8831
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUexecAffinityParam_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8831, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8832
 *                 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(1, 8832, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_type_ValueError)) __PYX_ERR(1, 8832, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8832, __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/cuda.pyx":8829
 *         if self._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/cuda.pyx":8833
 *             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/cuda.pyx":8834
 *                 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(1, 8834, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_param_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8834, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8834, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8834, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8834, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8834, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 8834, __pyx_L20_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8834, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 8834, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8834, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 8834, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 8834, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8834, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 8834, __pyx_L20_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr23__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr23__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8834, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 8834, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr23__pyx_v_line); __pyx_9genexpr23__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_9genexpr23__pyx_v_line); __pyx_9genexpr23__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8834, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_param, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8834, __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(1, 8834, __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)) __PYX_ERR(1, 8834, __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(1, 8834, __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/cuda.pyx":8833
 *             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/cuda.pyx":8835
 *             try:
 *                 str_list += ['param :\n' + '\n'.join(['    ' + line for line in str(self.param).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['param : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUexecAffinityParam_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 8835, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":8836
 *                 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(1, 8836, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_param_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_param_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_param_ValueError)) __PYX_ERR(1, 8836, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8836, __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/cuda.pyx":8833
 *             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/cuda.pyx":8837
 *             except ValueError:
 *                 str_list += ['param : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":8827
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":8839
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":8826
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.CUexecAffinityParam_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr23__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8840
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUexecAffinityType(self._ptr[0].type)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_22CUexecAffinityParam_st_4type___get__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8840, 0, __PYX_ERR(1, 8840, __pyx_L1_error));

  /* "cuda/cuda.pyx":8842
 *     @property
 *     def type(self):
 *         return CUexecAffinityType(self._ptr[0].type)             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUexecAffinityType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUexecAffinityType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUexecAffinityType_enum((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8842, __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/cuda.pyx":8840
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUexecAffinityType(self._ptr[0].type)
 */

  /* 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.cuda.CUexecAffinityParam_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8843
 *     def type(self):
 *         return CUexecAffinityType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUexecAffinityType):
 *         self._ptr[0].type = type.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 8844, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_4type_2__set__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *)__pyx_v_self), ((PyObject *)__pyx_v_type));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8843, 0, __PYX_ERR(1, 8843, __pyx_L1_error));

  /* "cuda/cuda.pyx":8845
 *     @type.setter
 *     def type(self, type not None : CUexecAffinityType):
 *         self._ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def param(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUexecAffinityType_enum)__Pyx_PyInt_As_enum__CUexecAffinityType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8845, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).type = __pyx_t_2;

  /* "cuda/cuda.pyx":8843
 *     def type(self):
 *         return CUexecAffinityType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUexecAffinityType):
 *         self._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.cuda.CUexecAffinityParam_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8846
 *     def type(self, type not None : CUexecAffinityType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def param(self):
 *         return self._param
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_5param_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_22CUexecAffinityParam_st_5param___get__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_5param___get__(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8846, 0, __PYX_ERR(1, 8846, __pyx_L1_error));

  /* "cuda/cuda.pyx":8848
 *     @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/cuda.pyx":8846
 *     def type(self, type not None : CUexecAffinityType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def param(self):
 *         return self._param
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinityParam_st.param.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8849
 *     def param(self):
 *         return self._param
 *     @param.setter             # <<<<<<<<<<<<<<
 *     def param(self, param not None : anon_union3):
 *         string.memcpy(&self._ptr[0].param, <ccuda.anon_union3*><void_ptr>param.getPtr(), sizeof(self._ptr[0].param))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_5param_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_param); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_union3, 0, "param", 0))) __PYX_ERR(1, 8850, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_5param_2__set__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_union3 *)__pyx_v_param));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_5param_2__set__(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union3 *__pyx_v_param) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8849, 0, __PYX_ERR(1, 8849, __pyx_L1_error));

  /* "cuda/cuda.pyx":8851
 *     @param.setter
 *     def param(self, param not None : anon_union3):
 *         string.memcpy(&self._ptr[0].param, <ccuda.anon_union3*><void_ptr>param.getPtr(), sizeof(self._ptr[0].param))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUlibraryHostUniversalFunctionAndDataTable_st:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_param), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8851, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8851, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).param), ((union anon_union3 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).param))));

  /* "cuda/cuda.pyx":8849
 *     def param(self):
 *         return self._param
 *     @param.setter             # <<<<<<<<<<<<<<
 *     def param(self, param not None : anon_union3):
 *         string.memcpy(&self._ptr[0].param, <ccuda.anon_union3*><void_ptr>param.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinityParam_st.param.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_22CUexecAffinityParam_st_10__reduce_cython__, "CUexecAffinityParam_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_22CUexecAffinityParam_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_22CUexecAffinityParam_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__228)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinityParam_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_22CUexecAffinityParam_st_12__setstate_cython__, "CUexecAffinityParam_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_22CUexecAffinityParam_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_22CUexecAffinityParam_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinityParam_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_22CUexecAffinityParam_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__229)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUexecAffinityParam_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8872
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8872, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 8872, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8872, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 8872, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 8872, 0, __PYX_ERR(1, 8872, __pyx_L1_error));

  /* "cuda/cuda.pyx":8873
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8874
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUlibraryHostUniversalFunctionAndDataTable_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUlibraryHostUniversalFunctionAndDataTable_st__val);

    /* "cuda/cuda.pyx":8873
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":8876
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUlibraryHostUniversalFunctionAndDataTable_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":8872
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8877
 *         else:
 *             self._ptr = <ccuda.CUlibraryHostUniversalFunctionAndDataTable_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8877, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 8877, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8877, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 8877, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 8877, 0, __PYX_ERR(1, 8877, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8879
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 8879, 0, __PYX_ERR(1, 8879, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":8881
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_6getPtr, "CUlibraryHostUniversalFunctionAndDataTable_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__230)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 8881, 0, __PYX_ERR(1, 8881, __pyx_L1_error));

  /* "cuda/cuda.pyx":8882
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8881
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8883
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 8883, 0, __PYX_ERR(1, 8883, __pyx_L1_error));

  /* "cuda/cuda.pyx":8884
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8885
 *     def __repr__(self):
 *         if self._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(1, 8885, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":8886
 *         if self._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/cuda.pyx":8887
 *             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_n_s_functionTable_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8887, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8887, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_functionTable, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8887, __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(1, 8887, __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)) __PYX_ERR(1, 8887, __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(1, 8887, __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/cuda.pyx":8886
 *         if self._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/cuda.pyx":8888
 *             try:
 *                 str_list += ['functionTable : ' + hex(self.functionTable)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['functionTable : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8888, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8889
 *                 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(1, 8889, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_functionTable_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_functionTable_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_functionTable_ValueError)) __PYX_ERR(1, 8889, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8889, __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/cuda.pyx":8886
 *         if self._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/cuda.pyx":8890
 *             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/cuda.pyx":8891
 *                 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_n_s_functionWindowSize_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8891, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8891, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_functionWindowSize, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8891, __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(1, 8891, __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)) __PYX_ERR(1, 8891, __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(1, 8891, __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/cuda.pyx":8890
 *             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/cuda.pyx":8892
 *             try:
 *                 str_list += ['functionWindowSize : ' + str(self.functionWindowSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['functionWindowSize : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 8892, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":8893
 *                 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(1, 8893, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_functionWindowSize_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_functionWindowSize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_functionWindowSize_ValueError)) __PYX_ERR(1, 8893, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8893, __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/cuda.pyx":8890
 *             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/cuda.pyx":8894
 *             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/cuda.pyx":8895
 *                 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_n_s_dataTable_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8895, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8895, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dataTable, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8895, __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(1, 8895, __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)) __PYX_ERR(1, 8895, __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(1, 8895, __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/cuda.pyx":8894
 *             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/cuda.pyx":8896
 *             try:
 *                 str_list += ['dataTable : ' + hex(self.dataTable)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dataTable : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 8896, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8897
 *                 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(1, 8897, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_dataTable_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dataTable_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_dataTable_ValueError)) __PYX_ERR(1, 8897, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8897, __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/cuda.pyx":8894
 *             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/cuda.pyx":8898
 *             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/cuda.pyx":8899
 *                 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_n_s_dataWindowSize_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8899, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8899, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_dataWindowSize, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8899, __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(1, 8899, __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)) __PYX_ERR(1, 8899, __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(1, 8899, __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/cuda.pyx":8898
 *             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/cuda.pyx":8900
 *             try:
 *                 str_list += ['dataWindowSize : ' + str(self.dataWindowSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dataWindowSize : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 8900, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":8901
 *                 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(1, 8901, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_dataWindowSize_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dataWindowSize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_dataWindowSize_ValueError)) __PYX_ERR(1, 8901, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 8901, __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/cuda.pyx":8898
 *             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/cuda.pyx":8902
 *             except ValueError:
 *                 str_list += ['dataWindowSize : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":8884
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":8904
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def functionTable(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":8883
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8905
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def functionTable(self):
 *         return <void_ptr>self._ptr[0].functionTable
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable___get__(((struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable___get__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8905, 0, __PYX_ERR(1, 8905, __pyx_L1_error));

  /* "cuda/cuda.pyx":8907
 *     @property
 *     def functionTable(self):
 *         return <void_ptr>self._ptr[0].functionTable             # <<<<<<<<<<<<<<
 *     @functionTable.setter
 *     def functionTable(self, functionTable):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).functionTable)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8905
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def functionTable(self):
 *         return <void_ptr>self._ptr[0].functionTable
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.functionTable.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8908
 *     def functionTable(self):
 *         return <void_ptr>self._ptr[0].functionTable
 *     @functionTable.setter             # <<<<<<<<<<<<<<
 *     def functionTable(self, functionTable):
 *         _cfunctionTable = utils.HelperInputVoidPtr(functionTable)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_functionTable); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self), ((PyObject *)__pyx_v_functionTable));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable_2__set__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, PyObject *__pyx_v_functionTable) {
  PyObject *__pyx_v__cfunctionTable = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8908, 0, __PYX_ERR(1, 8908, __pyx_L1_error));

  /* "cuda/cuda.pyx":8910
 *     @functionTable.setter
 *     def functionTable(self, functionTable):
 *         _cfunctionTable = utils.HelperInputVoidPtr(functionTable)             # <<<<<<<<<<<<<<
 *         self._ptr[0].functionTable = <void*><void_ptr>_cfunctionTable.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_functionTable); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cfunctionTable = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":8911
 *     def functionTable(self, functionTable):
 *         _cfunctionTable = utils.HelperInputVoidPtr(functionTable)
 *         self._ptr[0].functionTable = <void*><void_ptr>_cfunctionTable.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def functionWindowSize(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cfunctionTable, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8911, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).functionTable = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":8908
 *     def functionTable(self):
 *         return <void_ptr>self._ptr[0].functionTable
 *     @functionTable.setter             # <<<<<<<<<<<<<<
 *     def functionTable(self, functionTable):
 *         _cfunctionTable = utils.HelperInputVoidPtr(functionTable)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.functionTable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cfunctionTable);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8912
 *         _cfunctionTable = utils.HelperInputVoidPtr(functionTable)
 *         self._ptr[0].functionTable = <void*><void_ptr>_cfunctionTable.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def functionWindowSize(self):
 *         return self._ptr[0].functionWindowSize
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize___get__(((struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize___get__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8912, 0, __PYX_ERR(1, 8912, __pyx_L1_error));

  /* "cuda/cuda.pyx":8914
 *     @property
 *     def functionWindowSize(self):
 *         return self._ptr[0].functionWindowSize             # <<<<<<<<<<<<<<
 *     @functionWindowSize.setter
 *     def functionWindowSize(self, size_t functionWindowSize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).functionWindowSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8912
 *         _cfunctionTable = utils.HelperInputVoidPtr(functionTable)
 *         self._ptr[0].functionTable = <void*><void_ptr>_cfunctionTable.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def functionWindowSize(self):
 *         return self._ptr[0].functionWindowSize
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.functionWindowSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8915
 *     def functionWindowSize(self):
 *         return self._ptr[0].functionWindowSize
 *     @functionWindowSize.setter             # <<<<<<<<<<<<<<
 *     def functionWindowSize(self, size_t functionWindowSize):
 *         self._ptr[0].functionWindowSize = functionWindowSize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_functionWindowSize); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_functionWindowSize); if (unlikely((__pyx_v_functionWindowSize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 8916, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.functionWindowSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self), ((size_t)__pyx_v_functionWindowSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize_2__set__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, size_t __pyx_v_functionWindowSize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8915, 0, __PYX_ERR(1, 8915, __pyx_L1_error));

  /* "cuda/cuda.pyx":8917
 *     @functionWindowSize.setter
 *     def functionWindowSize(self, size_t functionWindowSize):
 *         self._ptr[0].functionWindowSize = functionWindowSize             # <<<<<<<<<<<<<<
 *     @property
 *     def dataTable(self):
 */
  (__pyx_v_self->_ptr[0]).functionWindowSize = __pyx_v_functionWindowSize;

  /* "cuda/cuda.pyx":8915
 *     def functionWindowSize(self):
 *         return self._ptr[0].functionWindowSize
 *     @functionWindowSize.setter             # <<<<<<<<<<<<<<
 *     def functionWindowSize(self, size_t functionWindowSize):
 *         self._ptr[0].functionWindowSize = functionWindowSize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.functionWindowSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8918
 *     def functionWindowSize(self, size_t functionWindowSize):
 *         self._ptr[0].functionWindowSize = functionWindowSize
 *     @property             # <<<<<<<<<<<<<<
 *     def dataTable(self):
 *         return <void_ptr>self._ptr[0].dataTable
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable___get__(((struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable___get__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8918, 0, __PYX_ERR(1, 8918, __pyx_L1_error));

  /* "cuda/cuda.pyx":8920
 *     @property
 *     def dataTable(self):
 *         return <void_ptr>self._ptr[0].dataTable             # <<<<<<<<<<<<<<
 *     @dataTable.setter
 *     def dataTable(self, dataTable):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).dataTable)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8918
 *     def functionWindowSize(self, size_t functionWindowSize):
 *         self._ptr[0].functionWindowSize = functionWindowSize
 *     @property             # <<<<<<<<<<<<<<
 *     def dataTable(self):
 *         return <void_ptr>self._ptr[0].dataTable
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.dataTable.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8921
 *     def dataTable(self):
 *         return <void_ptr>self._ptr[0].dataTable
 *     @dataTable.setter             # <<<<<<<<<<<<<<
 *     def dataTable(self, dataTable):
 *         _cdataTable = utils.HelperInputVoidPtr(dataTable)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dataTable); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self), ((PyObject *)__pyx_v_dataTable));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable_2__set__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, PyObject *__pyx_v_dataTable) {
  PyObject *__pyx_v__cdataTable = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 8921, 0, __PYX_ERR(1, 8921, __pyx_L1_error));

  /* "cuda/cuda.pyx":8923
 *     @dataTable.setter
 *     def dataTable(self, dataTable):
 *         _cdataTable = utils.HelperInputVoidPtr(dataTable)             # <<<<<<<<<<<<<<
 *         self._ptr[0].dataTable = <void*><void_ptr>_cdataTable.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dataTable); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cdataTable = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":8924
 *     def dataTable(self, dataTable):
 *         _cdataTable = utils.HelperInputVoidPtr(dataTable)
 *         self._ptr[0].dataTable = <void*><void_ptr>_cdataTable.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def dataWindowSize(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cdataTable, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8924, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).dataTable = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":8921
 *     def dataTable(self):
 *         return <void_ptr>self._ptr[0].dataTable
 *     @dataTable.setter             # <<<<<<<<<<<<<<
 *     def dataTable(self, dataTable):
 *         _cdataTable = utils.HelperInputVoidPtr(dataTable)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.dataTable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cdataTable);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8925
 *         _cdataTable = utils.HelperInputVoidPtr(dataTable)
 *         self._ptr[0].dataTable = <void*><void_ptr>_cdataTable.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dataWindowSize(self):
 *         return self._ptr[0].dataWindowSize
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize___get__(((struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize___get__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 8925, 0, __PYX_ERR(1, 8925, __pyx_L1_error));

  /* "cuda/cuda.pyx":8927
 *     @property
 *     def dataWindowSize(self):
 *         return self._ptr[0].dataWindowSize             # <<<<<<<<<<<<<<
 *     @dataWindowSize.setter
 *     def dataWindowSize(self, size_t dataWindowSize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).dataWindowSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8925
 *         _cdataTable = utils.HelperInputVoidPtr(dataTable)
 *         self._ptr[0].dataTable = <void*><void_ptr>_cdataTable.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dataWindowSize(self):
 *         return self._ptr[0].dataWindowSize
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.dataWindowSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8928
 *     def dataWindowSize(self):
 *         return self._ptr[0].dataWindowSize
 *     @dataWindowSize.setter             # <<<<<<<<<<<<<<
 *     def dataWindowSize(self, size_t dataWindowSize):
 *         self._ptr[0].dataWindowSize = dataWindowSize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dataWindowSize); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_dataWindowSize); if (unlikely((__pyx_v_dataWindowSize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 8929, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.dataWindowSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize_2__set__(((struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self), ((size_t)__pyx_v_dataWindowSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize_2__set__(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, size_t __pyx_v_dataWindowSize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 8928, 0, __PYX_ERR(1, 8928, __pyx_L1_error));

  /* "cuda/cuda.pyx":8930
 *     @dataWindowSize.setter
 *     def dataWindowSize(self, size_t dataWindowSize):
 *         self._ptr[0].dataWindowSize = dataWindowSize             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_MEMCPY2D_st:
 */
  (__pyx_v_self->_ptr[0]).dataWindowSize = __pyx_v_dataWindowSize;

  /* "cuda/cuda.pyx":8928
 *     def dataWindowSize(self):
 *         return self._ptr[0].dataWindowSize
 *     @dataWindowSize.setter             # <<<<<<<<<<<<<<
 *     def dataWindowSize(self, size_t dataWindowSize):
 *         self._ptr[0].dataWindowSize = dataWindowSize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.dataWindowSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_10__reduce_cython__, "CUlibraryHostUniversalFunctionAndDataTable_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__231)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_12__setstate_cython__, "CUlibraryHostUniversalFunctionAndDataTable_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__232)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8977
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8977, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 8977, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8977, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 8977, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 8977, 0, __PYX_ERR(1, 8977, __pyx_L1_error));

  /* "cuda/cuda.pyx":8978
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8979
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMCPY2D_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_MEMCPY2D_st__val);

    /* "cuda/cuda.pyx":8978
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":8981
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMCPY2D_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_MEMCPY2D_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":8977
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":8982
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMCPY2D_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 8982, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 8982, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 8982, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 8982, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 8982, 0, __PYX_ERR(1, 8982, __pyx_L1_error));

  /* "cuda/cuda.pyx":8983
 *             self._ptr = <ccuda.CUDA_MEMCPY2D_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)             # <<<<<<<<<<<<<<
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dstDevice)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).srcDevice))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 8983, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_srcDevice);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_srcDevice);
  __pyx_v_self->_srcDevice = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8984
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)             # <<<<<<<<<<<<<<
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._ptr[0].dstArray)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).srcArray))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 8984, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8984, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":8985
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dstDevice)             # <<<<<<<<<<<<<<
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._ptr[0].dstArray)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).dstDevice))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 8985, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dstDevice);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dstDevice);
  __pyx_v_self->_dstDevice = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8986
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._ptr[0].dstArray)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).dstArray))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 8986, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":8982
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMCPY2D_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)
 */

  /* 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.cuda.CUDA_MEMCPY2D_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8987
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._ptr[0].dstArray)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 8987, 0, __PYX_ERR(1, 8987, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_MEMCPY2D_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":8989
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_6getPtr, "CUDA_MEMCPY2D_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUDA_MEMCPY2D_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUDA_MEMCPY2D_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__233)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 8989, 0, __PYX_ERR(1, 8989, __pyx_L1_error));

  /* "cuda/cuda.pyx":8990
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":8989
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":8991
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 8991, 0, __PYX_ERR(1, 8991, __pyx_L1_error));

  /* "cuda/cuda.pyx":8992
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":8993
 *     def __repr__(self):
 *         if self._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(1, 8993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":8994
 *         if self._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/cuda.pyx":8995
 *             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_n_s_srcXInBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8995, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8995, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_srcXInBytes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8995, __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(1, 8995, __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)) __PYX_ERR(1, 8995, __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(1, 8995, __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/cuda.pyx":8994
 *         if self._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/cuda.pyx":8996
 *             try:
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 8996, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":8997
 *                 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(1, 8997, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_srcXInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcXInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_srcXInBytes_ValueError)) __PYX_ERR(1, 8997, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 8997, __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/cuda.pyx":8994
 *         if self._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/cuda.pyx":8998
 *             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/cuda.pyx":8999
 *                 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_n_s_srcY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8999, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 8999, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_srcY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 8999, __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(1, 8999, __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)) __PYX_ERR(1, 8999, __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(1, 8999, __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/cuda.pyx":8998
 *             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/cuda.pyx":9000
 *             try:
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9000, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9001
 *                 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(1, 9001, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_srcY_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_srcY_ValueError)) __PYX_ERR(1, 9001, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9001, __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/cuda.pyx":8998
 *             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/cuda.pyx":9002
 *             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/cuda.pyx":9003
 *                 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_n_s_srcMemoryType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9003, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9003, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_srcMemoryType, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9003, __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(1, 9003, __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)) __PYX_ERR(1, 9003, __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(1, 9003, __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/cuda.pyx":9002
 *             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/cuda.pyx":9004
 *             try:
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9004, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9005
 *                 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(1, 9005, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_srcMemoryType_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcMemoryType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_srcMemoryType_ValueError)) __PYX_ERR(1, 9005, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9005, __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/cuda.pyx":9002
 *             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/cuda.pyx":9006
 *             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/cuda.pyx":9007
 *                 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_n_s_srcHost_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9007, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9007, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_srcHost, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9007, __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(1, 9007, __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)) __PYX_ERR(1, 9007, __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(1, 9007, __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/cuda.pyx":9006
 *             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/cuda.pyx":9008
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9008, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9009
 *                 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(1, 9009, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_srcHost_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcHost_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_srcHost_ValueError)) __PYX_ERR(1, 9009, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9009, __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/cuda.pyx":9006
 *             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/cuda.pyx":9010
 *             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/cuda.pyx":9011
 *                 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_n_s_srcDevice_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9011, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9011, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_srcDevice, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9011, __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(1, 9011, __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)) __PYX_ERR(1, 9011, __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(1, 9011, __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/cuda.pyx":9010
 *             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/cuda.pyx":9012
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9012, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9013
 *                 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(1, 9013, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_srcDevice_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcDevice_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_srcDevice_ValueError)) __PYX_ERR(1, 9013, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9013, __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/cuda.pyx":9010
 *             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/cuda.pyx":9014
 *             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/cuda.pyx":9015
 *                 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_n_s_srcArray_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9015, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9015, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_srcArray, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9015, __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(1, 9015, __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)) __PYX_ERR(1, 9015, __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(1, 9015, __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/cuda.pyx":9014
 *             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/cuda.pyx":9016
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9016, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9017
 *                 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(1, 9017, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_srcArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_srcArray_ValueError)) __PYX_ERR(1, 9017, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9017, __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/cuda.pyx":9014
 *             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/cuda.pyx":9018
 *             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/cuda.pyx":9019
 *                 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_n_s_srcPitch_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9019, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9019, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_srcPitch, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9019, __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(1, 9019, __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)) __PYX_ERR(1, 9019, __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(1, 9019, __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/cuda.pyx":9018
 *             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/cuda.pyx":9020
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9020, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9021
 *                 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(1, 9021, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_srcPitch_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcPitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_srcPitch_ValueError)) __PYX_ERR(1, 9021, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9021, __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/cuda.pyx":9018
 *             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/cuda.pyx":9022
 *             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/cuda.pyx":9023
 *                 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_n_s_dstXInBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9023, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9023, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_dstXInBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9023, __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(1, 9023, __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)) __PYX_ERR(1, 9023, __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(1, 9023, __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/cuda.pyx":9022
 *             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/cuda.pyx":9024
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9024, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9025
 *                 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(1, 9025, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_dstXInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstXInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_dstXInBytes_ValueError)) __PYX_ERR(1, 9025, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9025, __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/cuda.pyx":9022
 *             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/cuda.pyx":9026
 *             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/cuda.pyx":9027
 *                 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_n_s_dstY_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9027, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9027, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dstY, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9027, __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(1, 9027, __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)) __PYX_ERR(1, 9027, __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(1, 9027, __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/cuda.pyx":9026
 *             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/cuda.pyx":9028
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9028, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9029
 *                 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(1, 9029, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_dstY_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_dstY_ValueError)) __PYX_ERR(1, 9029, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9029, __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/cuda.pyx":9026
 *             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/cuda.pyx":9030
 *             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/cuda.pyx":9031
 *                 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_n_s_dstMemoryType_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9031, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9031, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_dstMemoryType, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9031, __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(1, 9031, __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)) __PYX_ERR(1, 9031, __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(1, 9031, __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/cuda.pyx":9030
 *             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/cuda.pyx":9032
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9032, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9033
 *                 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(1, 9033, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_dstMemoryType_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstMemoryType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_dstMemoryType_ValueError)) __PYX_ERR(1, 9033, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9033, __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/cuda.pyx":9030
 *             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/cuda.pyx":9034
 *             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/cuda.pyx":9035
 *                 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_n_s_dstHost_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9035, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9035, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dstHost, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9035, __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(1, 9035, __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)) __PYX_ERR(1, 9035, __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(1, 9035, __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/cuda.pyx":9034
 *             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/cuda.pyx":9036
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9036, __pyx_L86_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9037
 *                 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(1, 9037, __pyx_L86_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_dstHost_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstHost_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_dstHost_ValueError)) __PYX_ERR(1, 9037, __pyx_L86_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9037, __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/cuda.pyx":9034
 *             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/cuda.pyx":9038
 *             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/cuda.pyx":9039
 *                 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_n_s_dstDevice_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9039, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9039, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_dstDevice, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9039, __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(1, 9039, __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)) __PYX_ERR(1, 9039, __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(1, 9039, __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/cuda.pyx":9038
 *             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/cuda.pyx":9040
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9040, __pyx_L94_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9041
 *                 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(1, 9041, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_dstDevice_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstDevice_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_dstDevice_ValueError)) __PYX_ERR(1, 9041, __pyx_L94_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9041, __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/cuda.pyx":9038
 *             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/cuda.pyx":9042
 *             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/cuda.pyx":9043
 *                 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_n_s_dstArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9043, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9043, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dstArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9043, __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(1, 9043, __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)) __PYX_ERR(1, 9043, __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(1, 9043, __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/cuda.pyx":9042
 *             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/cuda.pyx":9044
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9044, __pyx_L102_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9045
 *                 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(1, 9045, __pyx_L102_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_dstArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_dstArray_ValueError)) __PYX_ERR(1, 9045, __pyx_L102_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9045, __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/cuda.pyx":9042
 *             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/cuda.pyx":9046
 *             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/cuda.pyx":9047
 *                 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_n_s_dstPitch_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9047, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9047, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_dstPitch, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9047, __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(1, 9047, __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)) __PYX_ERR(1, 9047, __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(1, 9047, __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/cuda.pyx":9046
 *             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/cuda.pyx":9048
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9048, __pyx_L110_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9049
 *                 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(1, 9049, __pyx_L110_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_dstPitch_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstPitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_dstPitch_ValueError)) __PYX_ERR(1, 9049, __pyx_L110_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9049, __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/cuda.pyx":9046
 *             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/cuda.pyx":9050
 *             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/cuda.pyx":9051
 *                 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_n_s_WidthInBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9051, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9051, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_WidthInBytes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9051, __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(1, 9051, __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)) __PYX_ERR(1, 9051, __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(1, 9051, __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/cuda.pyx":9050
 *             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/cuda.pyx":9052
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9052, __pyx_L118_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9053
 *                 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(1, 9053, __pyx_L118_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_WidthInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_WidthInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_WidthInBytes_ValueError)) __PYX_ERR(1, 9053, __pyx_L118_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9053, __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/cuda.pyx":9050
 *             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/cuda.pyx":9054
 *             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/cuda.pyx":9055
 *                 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_n_s_Height_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9055, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9055, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_Height, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9055, __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(1, 9055, __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)) __PYX_ERR(1, 9055, __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(1, 9055, __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/cuda.pyx":9054
 *             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/cuda.pyx":9056
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9056, __pyx_L126_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9057
 *                 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(1, 9057, __pyx_L126_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_Height_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_Height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_Height_ValueError)) __PYX_ERR(1, 9057, __pyx_L126_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9057, __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/cuda.pyx":9054
 *             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/cuda.pyx":9058
 *             except ValueError:
 *                 str_list += ['Height : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":8992
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":9060
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def srcXInBytes(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":8991
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9061
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self):
 *         return self._ptr[0].srcXInBytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_11srcXInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_11srcXInBytes___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_11srcXInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9061, 0, __PYX_ERR(1, 9061, __pyx_L1_error));

  /* "cuda/cuda.pyx":9063
 *     @property
 *     def srcXInBytes(self):
 *         return self._ptr[0].srcXInBytes             # <<<<<<<<<<<<<<
 *     @srcXInBytes.setter
 *     def srcXInBytes(self, size_t srcXInBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).srcXInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9061
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self):
 *         return self._ptr[0].srcXInBytes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.srcXInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9064
 *     def srcXInBytes(self):
 *         return self._ptr[0].srcXInBytes
 *     @srcXInBytes.setter             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._ptr[0].srcXInBytes = srcXInBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_11srcXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcXInBytes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_srcXInBytes); if (unlikely((__pyx_v_srcXInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9065, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY2D_st_11srcXInBytes_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), ((size_t)__pyx_v_srcXInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_11srcXInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_srcXInBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9064, 0, __PYX_ERR(1, 9064, __pyx_L1_error));

  /* "cuda/cuda.pyx":9066
 *     @srcXInBytes.setter
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._ptr[0].srcXInBytes = srcXInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def srcY(self):
 */
  (__pyx_v_self->_ptr[0]).srcXInBytes = __pyx_v_srcXInBytes;

  /* "cuda/cuda.pyx":9064
 *     def srcXInBytes(self):
 *         return self._ptr[0].srcXInBytes
 *     @srcXInBytes.setter             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._ptr[0].srcXInBytes = srcXInBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.srcXInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9067
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._ptr[0].srcXInBytes = srcXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def srcY(self):
 *         return self._ptr[0].srcY
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_4srcY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_4srcY___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_4srcY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9067, 0, __PYX_ERR(1, 9067, __pyx_L1_error));

  /* "cuda/cuda.pyx":9069
 *     @property
 *     def srcY(self):
 *         return self._ptr[0].srcY             # <<<<<<<<<<<<<<
 *     @srcY.setter
 *     def srcY(self, size_t srcY):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).srcY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9067
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._ptr[0].srcXInBytes = srcXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def srcY(self):
 *         return self._ptr[0].srcY
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.srcY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9070
 *     def srcY(self):
 *         return self._ptr[0].srcY
 *     @srcY.setter             # <<<<<<<<<<<<<<
 *     def srcY(self, size_t srcY):
 *         self._ptr[0].srcY = srcY
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_4srcY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcY); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_srcY); if (unlikely((__pyx_v_srcY == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9071, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY2D_st_4srcY_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), ((size_t)__pyx_v_srcY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_4srcY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_srcY) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9070, 0, __PYX_ERR(1, 9070, __pyx_L1_error));

  /* "cuda/cuda.pyx":9072
 *     @srcY.setter
 *     def srcY(self, size_t srcY):
 *         self._ptr[0].srcY = srcY             # <<<<<<<<<<<<<<
 *     @property
 *     def srcMemoryType(self):
 */
  (__pyx_v_self->_ptr[0]).srcY = __pyx_v_srcY;

  /* "cuda/cuda.pyx":9070
 *     def srcY(self):
 *         return self._ptr[0].srcY
 *     @srcY.setter             # <<<<<<<<<<<<<<
 *     def srcY(self, size_t srcY):
 *         self._ptr[0].srcY = srcY
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.srcY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9073
 *     def srcY(self, size_t srcY):
 *         self._ptr[0].srcY = srcY
 *     @property             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self):
 *         return CUmemorytype(self._ptr[0].srcMemoryType)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_13srcMemoryType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_13srcMemoryType___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_13srcMemoryType___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9073, 0, __PYX_ERR(1, 9073, __pyx_L1_error));

  /* "cuda/cuda.pyx":9075
 *     @property
 *     def srcMemoryType(self):
 *         return CUmemorytype(self._ptr[0].srcMemoryType)             # <<<<<<<<<<<<<<
 *     @srcMemoryType.setter
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemorytype_enum((__pyx_v_self->_ptr[0]).srcMemoryType); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9075, __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/cuda.pyx":9073
 *     def srcY(self, size_t srcY):
 *         self._ptr[0].srcY = srcY
 *     @property             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self):
 *         return CUmemorytype(self._ptr[0].srcMemoryType)
 */

  /* 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.cuda.CUDA_MEMCPY2D_st.srcMemoryType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9076
 *     def srcMemoryType(self):
 *         return CUmemorytype(self._ptr[0].srcMemoryType)
 *     @srcMemoryType.setter             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._ptr[0].srcMemoryType = srcMemoryType.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_13srcMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcMemoryType); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 9077, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_13srcMemoryType_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcMemoryType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_13srcMemoryType_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_srcMemoryType) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9076, 0, __PYX_ERR(1, 9076, __pyx_L1_error));

  /* "cuda/cuda.pyx":9078
 *     @srcMemoryType.setter
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._ptr[0].srcMemoryType = srcMemoryType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def srcHost(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_srcMemoryType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemorytype_enum)__Pyx_PyInt_As_enum__CUmemorytype_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 9078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).srcMemoryType = __pyx_t_2;

  /* "cuda/cuda.pyx":9076
 *     def srcMemoryType(self):
 *         return CUmemorytype(self._ptr[0].srcMemoryType)
 *     @srcMemoryType.setter             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._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.cuda.CUDA_MEMCPY2D_st.srcMemoryType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9079
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._ptr[0].srcMemoryType = srcMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHost(self):
 *         return <void_ptr>self._ptr[0].srcHost
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_7srcHost_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_7srcHost___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_7srcHost___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9079, 0, __PYX_ERR(1, 9079, __pyx_L1_error));

  /* "cuda/cuda.pyx":9081
 *     @property
 *     def srcHost(self):
 *         return <void_ptr>self._ptr[0].srcHost             # <<<<<<<<<<<<<<
 *     @srcHost.setter
 *     def srcHost(self, srcHost):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).srcHost)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9079
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._ptr[0].srcMemoryType = srcMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHost(self):
 *         return <void_ptr>self._ptr[0].srcHost
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.srcHost.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9082
 *     def srcHost(self):
 *         return <void_ptr>self._ptr[0].srcHost
 *     @srcHost.setter             # <<<<<<<<<<<<<<
 *     def srcHost(self, srcHost):
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_7srcHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcHost); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_7srcHost_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcHost));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_7srcHost_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_srcHost) {
  PyObject *__pyx_v__csrcHost = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9082, 0, __PYX_ERR(1, 9082, __pyx_L1_error));

  /* "cuda/cuda.pyx":9084
 *     @srcHost.setter
 *     def srcHost(self, srcHost):
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)             # <<<<<<<<<<<<<<
 *         self._ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_srcHost); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__csrcHost = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":9085
 *     def srcHost(self, srcHost):
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)
 *         self._ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def srcDevice(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__csrcHost, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9085, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9085, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).srcHost = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":9082
 *     def srcHost(self):
 *         return <void_ptr>self._ptr[0].srcHost
 *     @srcHost.setter             # <<<<<<<<<<<<<<
 *     def srcHost(self, srcHost):
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.srcHost.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__csrcHost);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9086
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)
 *         self._ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def srcDevice(self):
 *         return self._srcDevice
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_9srcDevice_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_9srcDevice___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_9srcDevice___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9086, 0, __PYX_ERR(1, 9086, __pyx_L1_error));

  /* "cuda/cuda.pyx":9088
 *     @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/cuda.pyx":9086
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)
 *         self._ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def srcDevice(self):
 *         return self._srcDevice
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.srcDevice.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9089
 *     def srcDevice(self):
 *         return self._srcDevice
 *     @srcDevice.setter             # <<<<<<<<<<<<<<
 *     def srcDevice(self, srcDevice):
 *         cdef ccuda.CUdeviceptr csrcDevice
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_9srcDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcDevice); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_9srcDevice_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcDevice));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_9srcDevice_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_srcDevice) {
  CUdeviceptr __pyx_v_csrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9089, 0, __PYX_ERR(1, 9089, __pyx_L1_error));

  /* "cuda/cuda.pyx":9092
 *     def srcDevice(self, srcDevice):
 *         cdef ccuda.CUdeviceptr csrcDevice
 *         if srcDevice is None:             # <<<<<<<<<<<<<<
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 */
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9093
 *         cdef ccuda.CUdeviceptr csrcDevice
 *         if srcDevice is None:
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)
 */
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":9092
 *     def srcDevice(self, srcDevice):
 *         cdef ccuda.CUdeviceptr csrcDevice
 *         if srcDevice is None:             # <<<<<<<<<<<<<<
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9094
 *         if srcDevice is None:
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             psrcDevice = int(srcDevice)
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9095
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9095, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":9096
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9096, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":9094
 *         if srcDevice is None:
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             psrcDevice = int(srcDevice)
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9098
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *         self._srcDevice._ptr[0] = csrcDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9098, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9098, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":9099
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *         self._srcDevice._ptr[0] = csrcDevice
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9099, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":9100
 *             psrcDevice = int(CUdeviceptr(srcDevice))
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *         self._srcDevice._ptr[0] = csrcDevice             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_srcDevice->_ptr[0]) = __pyx_v_csrcDevice;

  /* "cuda/cuda.pyx":9089
 *     def srcDevice(self):
 *         return self._srcDevice
 *     @srcDevice.setter             # <<<<<<<<<<<<<<
 *     def srcDevice(self, srcDevice):
 *         cdef ccuda.CUdeviceptr csrcDevice
 */

  /* 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.cuda.CUDA_MEMCPY2D_st.srcDevice.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcDevice);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9102
 *         self._srcDevice._ptr[0] = csrcDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def srcArray(self):
 *         return self._srcArray
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_8srcArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_8srcArray___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8srcArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9102, 0, __PYX_ERR(1, 9102, __pyx_L1_error));

  /* "cuda/cuda.pyx":9104
 *     @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/cuda.pyx":9102
 *         self._srcDevice._ptr[0] = csrcDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def srcArray(self):
 *         return self._srcArray
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.srcArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9105
 *     def srcArray(self):
 *         return self._srcArray
 *     @srcArray.setter             # <<<<<<<<<<<<<<
 *     def srcArray(self, srcArray):
 *         cdef ccuda.CUarray csrcArray
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_8srcArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcArray); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_8srcArray_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8srcArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_srcArray) {
  CUarray __pyx_v_csrcArray;
  PyObject *__pyx_v_psrcArray = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9105, 0, __PYX_ERR(1, 9105, __pyx_L1_error));

  /* "cuda/cuda.pyx":9108
 *     def srcArray(self, srcArray):
 *         cdef ccuda.CUarray csrcArray
 *         if srcArray is None:             # <<<<<<<<<<<<<<
 *             csrcArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_srcArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9109
 *         cdef ccuda.CUarray csrcArray
 *         if srcArray is None:
 *             csrcArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)
 */
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":9108
 *     def srcArray(self, srcArray):
 *         cdef ccuda.CUarray csrcArray
 *         if srcArray is None:             # <<<<<<<<<<<<<<
 *             csrcArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9110
 *         if srcArray is None:
 *             csrcArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             psrcArray = int(srcArray)
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9111
 *             csrcArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)             # <<<<<<<<<<<<<<
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":9112
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *         else:
 *             psrcArray = int(CUarray(srcArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9112, __pyx_L1_error)
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":9110
 *         if srcArray is None:
 *             csrcArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             psrcArray = int(srcArray)
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9114
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         else:
 *             psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         self._srcArray._ptr[0] = csrcArray
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":9115
 *         else:
 *             psrcArray = int(CUarray(srcArray))
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *         self._srcArray._ptr[0] = csrcArray
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9115, __pyx_L1_error)
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":9116
 *             psrcArray = int(CUarray(srcArray))
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         self._srcArray._ptr[0] = csrcArray             # <<<<<<<<<<<<<<
 *     @property
 *     def srcPitch(self):
 */
  (__pyx_v_self->_srcArray->_ptr[0]) = __pyx_v_csrcArray;

  /* "cuda/cuda.pyx":9105
 *     def srcArray(self):
 *         return self._srcArray
 *     @srcArray.setter             # <<<<<<<<<<<<<<
 *     def srcArray(self, srcArray):
 *         cdef ccuda.CUarray csrcArray
 */

  /* 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.cuda.CUDA_MEMCPY2D_st.srcArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcArray);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9117
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         self._srcArray._ptr[0] = csrcArray
 *     @property             # <<<<<<<<<<<<<<
 *     def srcPitch(self):
 *         return self._ptr[0].srcPitch
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_8srcPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_8srcPitch___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8srcPitch___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9117, 0, __PYX_ERR(1, 9117, __pyx_L1_error));

  /* "cuda/cuda.pyx":9119
 *     @property
 *     def srcPitch(self):
 *         return self._ptr[0].srcPitch             # <<<<<<<<<<<<<<
 *     @srcPitch.setter
 *     def srcPitch(self, size_t srcPitch):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).srcPitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9117
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         self._srcArray._ptr[0] = csrcArray
 *     @property             # <<<<<<<<<<<<<<
 *     def srcPitch(self):
 *         return self._ptr[0].srcPitch
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.srcPitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9120
 *     def srcPitch(self):
 *         return self._ptr[0].srcPitch
 *     @srcPitch.setter             # <<<<<<<<<<<<<<
 *     def srcPitch(self, size_t srcPitch):
 *         self._ptr[0].srcPitch = srcPitch
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_8srcPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcPitch); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_srcPitch); if (unlikely((__pyx_v_srcPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9121, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY2D_st_8srcPitch_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), ((size_t)__pyx_v_srcPitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8srcPitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_srcPitch) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9120, 0, __PYX_ERR(1, 9120, __pyx_L1_error));

  /* "cuda/cuda.pyx":9122
 *     @srcPitch.setter
 *     def srcPitch(self, size_t srcPitch):
 *         self._ptr[0].srcPitch = srcPitch             # <<<<<<<<<<<<<<
 *     @property
 *     def dstXInBytes(self):
 */
  (__pyx_v_self->_ptr[0]).srcPitch = __pyx_v_srcPitch;

  /* "cuda/cuda.pyx":9120
 *     def srcPitch(self):
 *         return self._ptr[0].srcPitch
 *     @srcPitch.setter             # <<<<<<<<<<<<<<
 *     def srcPitch(self, size_t srcPitch):
 *         self._ptr[0].srcPitch = srcPitch
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.srcPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9123
 *     def srcPitch(self, size_t srcPitch):
 *         self._ptr[0].srcPitch = srcPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self):
 *         return self._ptr[0].dstXInBytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_11dstXInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_11dstXInBytes___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_11dstXInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9123, 0, __PYX_ERR(1, 9123, __pyx_L1_error));

  /* "cuda/cuda.pyx":9125
 *     @property
 *     def dstXInBytes(self):
 *         return self._ptr[0].dstXInBytes             # <<<<<<<<<<<<<<
 *     @dstXInBytes.setter
 *     def dstXInBytes(self, size_t dstXInBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).dstXInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9123
 *     def srcPitch(self, size_t srcPitch):
 *         self._ptr[0].srcPitch = srcPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self):
 *         return self._ptr[0].dstXInBytes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.dstXInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9126
 *     def dstXInBytes(self):
 *         return self._ptr[0].dstXInBytes
 *     @dstXInBytes.setter             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._ptr[0].dstXInBytes = dstXInBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_11dstXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstXInBytes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_dstXInBytes); if (unlikely((__pyx_v_dstXInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9127, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY2D_st_11dstXInBytes_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), ((size_t)__pyx_v_dstXInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_11dstXInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_dstXInBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9126, 0, __PYX_ERR(1, 9126, __pyx_L1_error));

  /* "cuda/cuda.pyx":9128
 *     @dstXInBytes.setter
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._ptr[0].dstXInBytes = dstXInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def dstY(self):
 */
  (__pyx_v_self->_ptr[0]).dstXInBytes = __pyx_v_dstXInBytes;

  /* "cuda/cuda.pyx":9126
 *     def dstXInBytes(self):
 *         return self._ptr[0].dstXInBytes
 *     @dstXInBytes.setter             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._ptr[0].dstXInBytes = dstXInBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.dstXInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9129
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._ptr[0].dstXInBytes = dstXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def dstY(self):
 *         return self._ptr[0].dstY
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_4dstY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_4dstY___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_4dstY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9129, 0, __PYX_ERR(1, 9129, __pyx_L1_error));

  /* "cuda/cuda.pyx":9131
 *     @property
 *     def dstY(self):
 *         return self._ptr[0].dstY             # <<<<<<<<<<<<<<
 *     @dstY.setter
 *     def dstY(self, size_t dstY):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).dstY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9129
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._ptr[0].dstXInBytes = dstXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def dstY(self):
 *         return self._ptr[0].dstY
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.dstY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9132
 *     def dstY(self):
 *         return self._ptr[0].dstY
 *     @dstY.setter             # <<<<<<<<<<<<<<
 *     def dstY(self, size_t dstY):
 *         self._ptr[0].dstY = dstY
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_4dstY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstY); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_dstY); if (unlikely((__pyx_v_dstY == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9133, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY2D_st_4dstY_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), ((size_t)__pyx_v_dstY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_4dstY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_dstY) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9132, 0, __PYX_ERR(1, 9132, __pyx_L1_error));

  /* "cuda/cuda.pyx":9134
 *     @dstY.setter
 *     def dstY(self, size_t dstY):
 *         self._ptr[0].dstY = dstY             # <<<<<<<<<<<<<<
 *     @property
 *     def dstMemoryType(self):
 */
  (__pyx_v_self->_ptr[0]).dstY = __pyx_v_dstY;

  /* "cuda/cuda.pyx":9132
 *     def dstY(self):
 *         return self._ptr[0].dstY
 *     @dstY.setter             # <<<<<<<<<<<<<<
 *     def dstY(self, size_t dstY):
 *         self._ptr[0].dstY = dstY
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.dstY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9135
 *     def dstY(self, size_t dstY):
 *         self._ptr[0].dstY = dstY
 *     @property             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self):
 *         return CUmemorytype(self._ptr[0].dstMemoryType)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_13dstMemoryType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_13dstMemoryType___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_13dstMemoryType___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9135, 0, __PYX_ERR(1, 9135, __pyx_L1_error));

  /* "cuda/cuda.pyx":9137
 *     @property
 *     def dstMemoryType(self):
 *         return CUmemorytype(self._ptr[0].dstMemoryType)             # <<<<<<<<<<<<<<
 *     @dstMemoryType.setter
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemorytype_enum((__pyx_v_self->_ptr[0]).dstMemoryType); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9137, __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/cuda.pyx":9135
 *     def dstY(self, size_t dstY):
 *         self._ptr[0].dstY = dstY
 *     @property             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self):
 *         return CUmemorytype(self._ptr[0].dstMemoryType)
 */

  /* 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.cuda.CUDA_MEMCPY2D_st.dstMemoryType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9138
 *     def dstMemoryType(self):
 *         return CUmemorytype(self._ptr[0].dstMemoryType)
 *     @dstMemoryType.setter             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._ptr[0].dstMemoryType = dstMemoryType.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_13dstMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstMemoryType); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 9139, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_13dstMemoryType_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstMemoryType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_13dstMemoryType_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_dstMemoryType) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9138, 0, __PYX_ERR(1, 9138, __pyx_L1_error));

  /* "cuda/cuda.pyx":9140
 *     @dstMemoryType.setter
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._ptr[0].dstMemoryType = dstMemoryType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def dstHost(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dstMemoryType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemorytype_enum)__Pyx_PyInt_As_enum__CUmemorytype_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 9140, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).dstMemoryType = __pyx_t_2;

  /* "cuda/cuda.pyx":9138
 *     def dstMemoryType(self):
 *         return CUmemorytype(self._ptr[0].dstMemoryType)
 *     @dstMemoryType.setter             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._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.cuda.CUDA_MEMCPY2D_st.dstMemoryType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9141
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._ptr[0].dstMemoryType = dstMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHost(self):
 *         return <void_ptr>self._ptr[0].dstHost
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_7dstHost_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_7dstHost___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_7dstHost___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9141, 0, __PYX_ERR(1, 9141, __pyx_L1_error));

  /* "cuda/cuda.pyx":9143
 *     @property
 *     def dstHost(self):
 *         return <void_ptr>self._ptr[0].dstHost             # <<<<<<<<<<<<<<
 *     @dstHost.setter
 *     def dstHost(self, dstHost):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).dstHost)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9141
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._ptr[0].dstMemoryType = dstMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHost(self):
 *         return <void_ptr>self._ptr[0].dstHost
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.dstHost.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9144
 *     def dstHost(self):
 *         return <void_ptr>self._ptr[0].dstHost
 *     @dstHost.setter             # <<<<<<<<<<<<<<
 *     def dstHost(self, dstHost):
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_7dstHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstHost); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_7dstHost_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstHost));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_7dstHost_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_dstHost) {
  PyObject *__pyx_v__cdstHost = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9144, 0, __PYX_ERR(1, 9144, __pyx_L1_error));

  /* "cuda/cuda.pyx":9146
 *     @dstHost.setter
 *     def dstHost(self, dstHost):
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)             # <<<<<<<<<<<<<<
 *         self._ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dstHost); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cdstHost = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":9147
 *     def dstHost(self, dstHost):
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)
 *         self._ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def dstDevice(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cdstHost, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9147, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).dstHost = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":9144
 *     def dstHost(self):
 *         return <void_ptr>self._ptr[0].dstHost
 *     @dstHost.setter             # <<<<<<<<<<<<<<
 *     def dstHost(self, dstHost):
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.dstHost.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cdstHost);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9148
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)
 *         self._ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dstDevice(self):
 *         return self._dstDevice
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_9dstDevice_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_9dstDevice___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_9dstDevice___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9148, 0, __PYX_ERR(1, 9148, __pyx_L1_error));

  /* "cuda/cuda.pyx":9150
 *     @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/cuda.pyx":9148
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)
 *         self._ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dstDevice(self):
 *         return self._dstDevice
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.dstDevice.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9151
 *     def dstDevice(self):
 *         return self._dstDevice
 *     @dstDevice.setter             # <<<<<<<<<<<<<<
 *     def dstDevice(self, dstDevice):
 *         cdef ccuda.CUdeviceptr cdstDevice
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_9dstDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstDevice); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_9dstDevice_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstDevice));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_9dstDevice_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_dstDevice) {
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9151, 0, __PYX_ERR(1, 9151, __pyx_L1_error));

  /* "cuda/cuda.pyx":9154
 *     def dstDevice(self, dstDevice):
 *         cdef ccuda.CUdeviceptr cdstDevice
 *         if dstDevice is None:             # <<<<<<<<<<<<<<
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9155
 *         cdef ccuda.CUdeviceptr cdstDevice
 *         if dstDevice is None:
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":9154
 *     def dstDevice(self, dstDevice):
 *         cdef ccuda.CUdeviceptr cdstDevice
 *         if dstDevice is None:             # <<<<<<<<<<<<<<
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9156
 *         if dstDevice is None:
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdstDevice = int(dstDevice)
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9157
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9157, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":9158
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9158, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":9156
 *         if dstDevice is None:
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdstDevice = int(dstDevice)
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9160
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *         self._dstDevice._ptr[0] = cdstDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":9161
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *         self._dstDevice._ptr[0] = cdstDevice
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9161, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":9162
 *             pdstDevice = int(CUdeviceptr(dstDevice))
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *         self._dstDevice._ptr[0] = cdstDevice             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_dstDevice->_ptr[0]) = __pyx_v_cdstDevice;

  /* "cuda/cuda.pyx":9151
 *     def dstDevice(self):
 *         return self._dstDevice
 *     @dstDevice.setter             # <<<<<<<<<<<<<<
 *     def dstDevice(self, dstDevice):
 *         cdef ccuda.CUdeviceptr cdstDevice
 */

  /* 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.cuda.CUDA_MEMCPY2D_st.dstDevice.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9164
 *         self._dstDevice._ptr[0] = cdstDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def dstArray(self):
 *         return self._dstArray
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_8dstArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_8dstArray___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8dstArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9164, 0, __PYX_ERR(1, 9164, __pyx_L1_error));

  /* "cuda/cuda.pyx":9166
 *     @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/cuda.pyx":9164
 *         self._dstDevice._ptr[0] = cdstDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def dstArray(self):
 *         return self._dstArray
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.dstArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9167
 *     def dstArray(self):
 *         return self._dstArray
 *     @dstArray.setter             # <<<<<<<<<<<<<<
 *     def dstArray(self, dstArray):
 *         cdef ccuda.CUarray cdstArray
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_8dstArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstArray); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_8dstArray_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8dstArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, PyObject *__pyx_v_dstArray) {
  CUarray __pyx_v_cdstArray;
  PyObject *__pyx_v_pdstArray = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9167, 0, __PYX_ERR(1, 9167, __pyx_L1_error));

  /* "cuda/cuda.pyx":9170
 *     def dstArray(self, dstArray):
 *         cdef ccuda.CUarray cdstArray
 *         if dstArray is None:             # <<<<<<<<<<<<<<
 *             cdstArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_dstArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9171
 *         cdef ccuda.CUarray cdstArray
 *         if dstArray is None:
 *             cdstArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)
 */
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":9170
 *     def dstArray(self, dstArray):
 *         cdef ccuda.CUarray cdstArray
 *         if dstArray is None:             # <<<<<<<<<<<<<<
 *             cdstArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9172
 *         if dstArray is None:
 *             cdstArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             pdstArray = int(dstArray)
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9173
 *             cdstArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":9174
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *         else:
 *             pdstArray = int(CUarray(dstArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9174, __pyx_L1_error)
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":9172
 *         if dstArray is None:
 *             cdstArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             pdstArray = int(dstArray)
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9176
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         else:
 *             pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         self._dstArray._ptr[0] = cdstArray
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_dstArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9176, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9176, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":9177
 *         else:
 *             pdstArray = int(CUarray(dstArray))
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *         self._dstArray._ptr[0] = cdstArray
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9177, __pyx_L1_error)
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":9178
 *             pdstArray = int(CUarray(dstArray))
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         self._dstArray._ptr[0] = cdstArray             # <<<<<<<<<<<<<<
 *     @property
 *     def dstPitch(self):
 */
  (__pyx_v_self->_dstArray->_ptr[0]) = __pyx_v_cdstArray;

  /* "cuda/cuda.pyx":9167
 *     def dstArray(self):
 *         return self._dstArray
 *     @dstArray.setter             # <<<<<<<<<<<<<<
 *     def dstArray(self, dstArray):
 *         cdef ccuda.CUarray cdstArray
 */

  /* 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.cuda.CUDA_MEMCPY2D_st.dstArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstArray);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9179
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         self._dstArray._ptr[0] = cdstArray
 *     @property             # <<<<<<<<<<<<<<
 *     def dstPitch(self):
 *         return self._ptr[0].dstPitch
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_8dstPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_8dstPitch___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8dstPitch___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9179, 0, __PYX_ERR(1, 9179, __pyx_L1_error));

  /* "cuda/cuda.pyx":9181
 *     @property
 *     def dstPitch(self):
 *         return self._ptr[0].dstPitch             # <<<<<<<<<<<<<<
 *     @dstPitch.setter
 *     def dstPitch(self, size_t dstPitch):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).dstPitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9179
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         self._dstArray._ptr[0] = cdstArray
 *     @property             # <<<<<<<<<<<<<<
 *     def dstPitch(self):
 *         return self._ptr[0].dstPitch
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.dstPitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9182
 *     def dstPitch(self):
 *         return self._ptr[0].dstPitch
 *     @dstPitch.setter             # <<<<<<<<<<<<<<
 *     def dstPitch(self, size_t dstPitch):
 *         self._ptr[0].dstPitch = dstPitch
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_8dstPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstPitch); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_dstPitch); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9183, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY2D_st_8dstPitch_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), ((size_t)__pyx_v_dstPitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_8dstPitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_dstPitch) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9182, 0, __PYX_ERR(1, 9182, __pyx_L1_error));

  /* "cuda/cuda.pyx":9184
 *     @dstPitch.setter
 *     def dstPitch(self, size_t dstPitch):
 *         self._ptr[0].dstPitch = dstPitch             # <<<<<<<<<<<<<<
 *     @property
 *     def WidthInBytes(self):
 */
  (__pyx_v_self->_ptr[0]).dstPitch = __pyx_v_dstPitch;

  /* "cuda/cuda.pyx":9182
 *     def dstPitch(self):
 *         return self._ptr[0].dstPitch
 *     @dstPitch.setter             # <<<<<<<<<<<<<<
 *     def dstPitch(self, size_t dstPitch):
 *         self._ptr[0].dstPitch = dstPitch
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.dstPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9185
 *     def dstPitch(self, size_t dstPitch):
 *         self._ptr[0].dstPitch = dstPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self):
 *         return self._ptr[0].WidthInBytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_12WidthInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_12WidthInBytes___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_12WidthInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9185, 0, __PYX_ERR(1, 9185, __pyx_L1_error));

  /* "cuda/cuda.pyx":9187
 *     @property
 *     def WidthInBytes(self):
 *         return self._ptr[0].WidthInBytes             # <<<<<<<<<<<<<<
 *     @WidthInBytes.setter
 *     def WidthInBytes(self, size_t WidthInBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).WidthInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9185
 *     def dstPitch(self, size_t dstPitch):
 *         self._ptr[0].dstPitch = dstPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self):
 *         return self._ptr[0].WidthInBytes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.WidthInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9188
 *     def WidthInBytes(self):
 *         return self._ptr[0].WidthInBytes
 *     @WidthInBytes.setter             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._ptr[0].WidthInBytes = WidthInBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_12WidthInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_WidthInBytes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_WidthInBytes); if (unlikely((__pyx_v_WidthInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9189, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY2D_st_12WidthInBytes_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), ((size_t)__pyx_v_WidthInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_12WidthInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_WidthInBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9188, 0, __PYX_ERR(1, 9188, __pyx_L1_error));

  /* "cuda/cuda.pyx":9190
 *     @WidthInBytes.setter
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._ptr[0].WidthInBytes = WidthInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def Height(self):
 */
  (__pyx_v_self->_ptr[0]).WidthInBytes = __pyx_v_WidthInBytes;

  /* "cuda/cuda.pyx":9188
 *     def WidthInBytes(self):
 *         return self._ptr[0].WidthInBytes
 *     @WidthInBytes.setter             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._ptr[0].WidthInBytes = WidthInBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.WidthInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9191
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._ptr[0].WidthInBytes = WidthInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._ptr[0].Height
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_6Height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_6Height___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_6Height___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9191, 0, __PYX_ERR(1, 9191, __pyx_L1_error));

  /* "cuda/cuda.pyx":9193
 *     @property
 *     def Height(self):
 *         return self._ptr[0].Height             # <<<<<<<<<<<<<<
 *     @Height.setter
 *     def Height(self, size_t Height):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).Height); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9191
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._ptr[0].WidthInBytes = WidthInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._ptr[0].Height
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.Height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9194
 *     def Height(self):
 *         return self._ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_6Height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Height); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_Height); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9195, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY2D_st_6Height_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), ((size_t)__pyx_v_Height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_6Height_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, size_t __pyx_v_Height) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9194, 0, __PYX_ERR(1, 9194, __pyx_L1_error));

  /* "cuda/cuda.pyx":9196
 *     @Height.setter
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_MEMCPY3D_st:
 */
  (__pyx_v_self->_ptr[0]).Height = __pyx_v_Height;

  /* "cuda/cuda.pyx":9194
 *     def Height(self):
 *         return self._ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.Height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_10__reduce_cython__, "CUDA_MEMCPY2D_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUDA_MEMCPY2D_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUDA_MEMCPY2D_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__234)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_12__setstate_cython__, "CUDA_MEMCPY2D_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUDA_MEMCPY2D_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUDA_MEMCPY2D_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY2D_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY2D_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__235)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY2D_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9262
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 9262, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 9262, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9262, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 9262, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 9262, 0, __PYX_ERR(1, 9262, __pyx_L1_error));

  /* "cuda/cuda.pyx":9263
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9264
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMCPY3D_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_MEMCPY3D_st__val);

    /* "cuda/cuda.pyx":9263
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9266
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMCPY3D_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_MEMCPY3D_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":9262
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9267
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMCPY3D_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 9267, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 9267, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9267, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 9267, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 9267, 0, __PYX_ERR(1, 9267, __pyx_L1_error));

  /* "cuda/cuda.pyx":9268
 *             self._ptr = <ccuda.CUDA_MEMCPY3D_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)             # <<<<<<<<<<<<<<
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dstDevice)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).srcDevice))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 9268, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_srcDevice);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_srcDevice);
  __pyx_v_self->_srcDevice = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":9269
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)             # <<<<<<<<<<<<<<
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._ptr[0].dstArray)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).srcArray))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 9269, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":9270
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dstDevice)             # <<<<<<<<<<<<<<
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._ptr[0].dstArray)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).dstDevice))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 9270, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dstDevice);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dstDevice);
  __pyx_v_self->_dstDevice = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":9271
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._ptr[0].dstArray)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).dstArray))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 9271, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":9267
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMCPY3D_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)
 */

  /* 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.cuda.CUDA_MEMCPY3D_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9272
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._ptr[0].dstArray)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 9272, 0, __PYX_ERR(1, 9272, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_MEMCPY3D_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":9274
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_6getPtr, "CUDA_MEMCPY3D_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUDA_MEMCPY3D_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUDA_MEMCPY3D_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__236)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 9274, 0, __PYX_ERR(1, 9274, __pyx_L1_error));

  /* "cuda/cuda.pyx":9275
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9274
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9276
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 9276, 0, __PYX_ERR(1, 9276, __pyx_L1_error));

  /* "cuda/cuda.pyx":9277
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9278
 *     def __repr__(self):
 *         if self._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(1, 9278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":9279
 *         if self._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/cuda.pyx":9280
 *             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_n_s_srcXInBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9280, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9280, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_srcXInBytes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9280, __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(1, 9280, __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)) __PYX_ERR(1, 9280, __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(1, 9280, __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/cuda.pyx":9279
 *         if self._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/cuda.pyx":9281
 *             try:
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9281, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9282
 *                 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(1, 9282, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_srcXInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcXInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_srcXInBytes_ValueError)) __PYX_ERR(1, 9282, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9282, __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/cuda.pyx":9279
 *         if self._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/cuda.pyx":9283
 *             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/cuda.pyx":9284
 *                 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_n_s_srcY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9284, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9284, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_srcY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9284, __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(1, 9284, __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)) __PYX_ERR(1, 9284, __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(1, 9284, __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/cuda.pyx":9283
 *             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/cuda.pyx":9285
 *             try:
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9285, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9286
 *                 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(1, 9286, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_srcY_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_srcY_ValueError)) __PYX_ERR(1, 9286, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9286, __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/cuda.pyx":9283
 *             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/cuda.pyx":9287
 *             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/cuda.pyx":9288
 *                 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_n_s_srcZ_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9288, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9288, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_srcZ, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9288, __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(1, 9288, __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)) __PYX_ERR(1, 9288, __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(1, 9288, __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/cuda.pyx":9287
 *             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/cuda.pyx":9289
 *             try:
 *                 str_list += ['srcZ : ' + str(self.srcZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcZ : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9289, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9290
 *                 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(1, 9290, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_srcZ_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_srcZ_ValueError)) __PYX_ERR(1, 9290, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9290, __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/cuda.pyx":9287
 *             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/cuda.pyx":9291
 *             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/cuda.pyx":9292
 *                 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_n_s_srcLOD_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9292, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9292, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_srcLOD, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9292, __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(1, 9292, __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)) __PYX_ERR(1, 9292, __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(1, 9292, __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/cuda.pyx":9291
 *             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/cuda.pyx":9293
 *             try:
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcLOD : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9293, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9294
 *                 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(1, 9294, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_srcLOD_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcLOD_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_srcLOD_ValueError)) __PYX_ERR(1, 9294, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9294, __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/cuda.pyx":9291
 *             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/cuda.pyx":9295
 *             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/cuda.pyx":9296
 *                 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_n_s_srcMemoryType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9296, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9296, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_srcMemoryType, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9296, __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(1, 9296, __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)) __PYX_ERR(1, 9296, __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(1, 9296, __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/cuda.pyx":9295
 *             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/cuda.pyx":9297
 *             try:
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9297, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9298
 *                 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(1, 9298, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_srcMemoryType_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcMemoryType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_srcMemoryType_ValueError)) __PYX_ERR(1, 9298, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9298, __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/cuda.pyx":9295
 *             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/cuda.pyx":9299
 *             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/cuda.pyx":9300
 *                 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_n_s_srcHost_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9300, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9300, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_srcHost, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9300, __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(1, 9300, __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)) __PYX_ERR(1, 9300, __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(1, 9300, __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/cuda.pyx":9299
 *             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/cuda.pyx":9301
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9301, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9302
 *                 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(1, 9302, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_srcHost_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcHost_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_srcHost_ValueError)) __PYX_ERR(1, 9302, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9302, __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/cuda.pyx":9299
 *             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/cuda.pyx":9303
 *             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/cuda.pyx":9304
 *                 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_n_s_srcDevice_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9304, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9304, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_srcDevice, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9304, __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(1, 9304, __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)) __PYX_ERR(1, 9304, __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(1, 9304, __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/cuda.pyx":9303
 *             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/cuda.pyx":9305
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9305, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9306
 *                 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(1, 9306, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_srcDevice_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcDevice_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_srcDevice_ValueError)) __PYX_ERR(1, 9306, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9306, __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/cuda.pyx":9303
 *             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/cuda.pyx":9307
 *             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/cuda.pyx":9308
 *                 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_n_s_srcArray_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9308, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9308, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_srcArray, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9308, __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(1, 9308, __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)) __PYX_ERR(1, 9308, __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(1, 9308, __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/cuda.pyx":9307
 *             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/cuda.pyx":9309
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9309, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9310
 *                 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(1, 9310, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_srcArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_srcArray_ValueError)) __PYX_ERR(1, 9310, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9310, __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/cuda.pyx":9307
 *             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/cuda.pyx":9311
 *             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/cuda.pyx":9312
 *                 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_n_s_reserved0_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9312, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9312, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_reserved0, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9312, __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(1, 9312, __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)) __PYX_ERR(1, 9312, __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(1, 9312, __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/cuda.pyx":9311
 *             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/cuda.pyx":9313
 *             try:
 *                 str_list += ['reserved0 : ' + hex(self.reserved0)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9313, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9314
 *                 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(1, 9314, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_reserved0_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved0_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_reserved0_ValueError)) __PYX_ERR(1, 9314, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9314, __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/cuda.pyx":9311
 *             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/cuda.pyx":9315
 *             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/cuda.pyx":9316
 *                 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_n_s_srcPitch_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9316, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9316, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_srcPitch, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9316, __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(1, 9316, __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)) __PYX_ERR(1, 9316, __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(1, 9316, __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/cuda.pyx":9315
 *             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/cuda.pyx":9317
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9317, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9318
 *                 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(1, 9318, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_srcPitch_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcPitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_srcPitch_ValueError)) __PYX_ERR(1, 9318, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9318, __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/cuda.pyx":9315
 *             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/cuda.pyx":9319
 *             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/cuda.pyx":9320
 *                 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_n_s_srcHeight_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9320, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9320, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_srcHeight, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9320, __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(1, 9320, __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)) __PYX_ERR(1, 9320, __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(1, 9320, __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/cuda.pyx":9319
 *             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/cuda.pyx":9321
 *             try:
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHeight : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9321, __pyx_L86_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9322
 *                 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(1, 9322, __pyx_L86_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_srcHeight_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcHeight_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_srcHeight_ValueError)) __PYX_ERR(1, 9322, __pyx_L86_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9322, __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/cuda.pyx":9319
 *             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/cuda.pyx":9323
 *             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/cuda.pyx":9324
 *                 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_n_s_dstXInBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9324, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9324, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_dstXInBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9324, __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(1, 9324, __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)) __PYX_ERR(1, 9324, __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(1, 9324, __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/cuda.pyx":9323
 *             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/cuda.pyx":9325
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9325, __pyx_L94_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9326
 *                 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(1, 9326, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_dstXInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstXInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_dstXInBytes_ValueError)) __PYX_ERR(1, 9326, __pyx_L94_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9326, __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/cuda.pyx":9323
 *             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/cuda.pyx":9327
 *             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/cuda.pyx":9328
 *                 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_n_s_dstY_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9328, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9328, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dstY, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9328, __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(1, 9328, __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)) __PYX_ERR(1, 9328, __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(1, 9328, __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/cuda.pyx":9327
 *             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/cuda.pyx":9329
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9329, __pyx_L102_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9330
 *                 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(1, 9330, __pyx_L102_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_dstY_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_dstY_ValueError)) __PYX_ERR(1, 9330, __pyx_L102_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9330, __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/cuda.pyx":9327
 *             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/cuda.pyx":9331
 *             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/cuda.pyx":9332
 *                 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_n_s_dstZ_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9332, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9332, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_dstZ, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9332, __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(1, 9332, __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)) __PYX_ERR(1, 9332, __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(1, 9332, __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/cuda.pyx":9331
 *             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/cuda.pyx":9333
 *             try:
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstZ : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9333, __pyx_L110_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9334
 *                 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(1, 9334, __pyx_L110_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_dstZ_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_dstZ_ValueError)) __PYX_ERR(1, 9334, __pyx_L110_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9334, __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/cuda.pyx":9331
 *             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/cuda.pyx":9335
 *             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/cuda.pyx":9336
 *                 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_n_s_dstLOD_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9336, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9336, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dstLOD, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9336, __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(1, 9336, __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)) __PYX_ERR(1, 9336, __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(1, 9336, __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/cuda.pyx":9335
 *             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/cuda.pyx":9337
 *             try:
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstLOD : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9337, __pyx_L118_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9338
 *                 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(1, 9338, __pyx_L118_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_dstLOD_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstLOD_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_dstLOD_ValueError)) __PYX_ERR(1, 9338, __pyx_L118_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9338, __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/cuda.pyx":9335
 *             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/cuda.pyx":9339
 *             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/cuda.pyx":9340
 *                 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_n_s_dstMemoryType_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9340, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9340, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_dstMemoryType, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9340, __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(1, 9340, __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)) __PYX_ERR(1, 9340, __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(1, 9340, __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/cuda.pyx":9339
 *             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/cuda.pyx":9341
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9341, __pyx_L126_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9342
 *                 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(1, 9342, __pyx_L126_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_dstMemoryType_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstMemoryType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_dstMemoryType_ValueError)) __PYX_ERR(1, 9342, __pyx_L126_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9342, __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/cuda.pyx":9339
 *             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/cuda.pyx":9343
 *             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/cuda.pyx":9344
 *                 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_n_s_dstHost_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9344, __pyx_L132_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9344, __pyx_L132_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dstHost, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9344, __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(1, 9344, __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)) __PYX_ERR(1, 9344, __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(1, 9344, __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/cuda.pyx":9343
 *             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/cuda.pyx":9345
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9345, __pyx_L134_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9346
 *                 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(1, 9346, __pyx_L134_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_dstHost_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstHost_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_dstHost_ValueError)) __PYX_ERR(1, 9346, __pyx_L134_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9346, __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/cuda.pyx":9343
 *             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/cuda.pyx":9347
 *             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/cuda.pyx":9348
 *                 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_n_s_dstDevice_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9348, __pyx_L140_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9348, __pyx_L140_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_dstDevice, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9348, __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(1, 9348, __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)) __PYX_ERR(1, 9348, __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(1, 9348, __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/cuda.pyx":9347
 *             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/cuda.pyx":9349
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9349, __pyx_L142_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9350
 *                 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(1, 9350, __pyx_L142_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_dstDevice_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstDevice_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_dstDevice_ValueError)) __PYX_ERR(1, 9350, __pyx_L142_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9350, __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/cuda.pyx":9347
 *             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/cuda.pyx":9351
 *             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/cuda.pyx":9352
 *                 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_n_s_dstArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9352, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9352, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dstArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9352, __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(1, 9352, __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)) __PYX_ERR(1, 9352, __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(1, 9352, __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/cuda.pyx":9351
 *             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/cuda.pyx":9353
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9353, __pyx_L150_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9354
 *                 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(1, 9354, __pyx_L150_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_dstArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_dstArray_ValueError)) __PYX_ERR(1, 9354, __pyx_L150_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9354, __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/cuda.pyx":9351
 *             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/cuda.pyx":9355
 *             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/cuda.pyx":9356
 *                 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_n_s_reserved1_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9356, __pyx_L156_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9356, __pyx_L156_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_reserved1, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9356, __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(1, 9356, __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)) __PYX_ERR(1, 9356, __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(1, 9356, __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/cuda.pyx":9355
 *             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/cuda.pyx":9357
 *             try:
 *                 str_list += ['reserved1 : ' + hex(self.reserved1)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9357, __pyx_L158_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9358
 *                 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(1, 9358, __pyx_L158_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_reserved1_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved1_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_reserved1_ValueError)) __PYX_ERR(1, 9358, __pyx_L158_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9358, __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/cuda.pyx":9355
 *             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/cuda.pyx":9359
 *             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/cuda.pyx":9360
 *                 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_n_s_dstPitch_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9360, __pyx_L164_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9360, __pyx_L164_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dstPitch, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9360, __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(1, 9360, __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)) __PYX_ERR(1, 9360, __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(1, 9360, __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/cuda.pyx":9359
 *             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/cuda.pyx":9361
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9361, __pyx_L166_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9362
 *                 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(1, 9362, __pyx_L166_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_dstPitch_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstPitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_dstPitch_ValueError)) __PYX_ERR(1, 9362, __pyx_L166_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9362, __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/cuda.pyx":9359
 *             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/cuda.pyx":9363
 *             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/cuda.pyx":9364
 *                 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_n_s_dstHeight_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9364, __pyx_L172_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9364, __pyx_L172_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_dstHeight, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9364, __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(1, 9364, __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)) __PYX_ERR(1, 9364, __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(1, 9364, __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/cuda.pyx":9363
 *             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/cuda.pyx":9365
 *             try:
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHeight : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9365, __pyx_L174_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9366
 *                 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(1, 9366, __pyx_L174_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_dstHeight_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstHeight_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_dstHeight_ValueError)) __PYX_ERR(1, 9366, __pyx_L174_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9366, __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/cuda.pyx":9363
 *             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/cuda.pyx":9367
 *             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/cuda.pyx":9368
 *                 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_n_s_WidthInBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9368, __pyx_L180_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9368, __pyx_L180_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_WidthInBytes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9368, __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(1, 9368, __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)) __PYX_ERR(1, 9368, __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(1, 9368, __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/cuda.pyx":9367
 *             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/cuda.pyx":9369
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9369, __pyx_L182_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9370
 *                 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(1, 9370, __pyx_L182_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_WidthInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_WidthInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_WidthInBytes_ValueError)) __PYX_ERR(1, 9370, __pyx_L182_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9370, __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/cuda.pyx":9367
 *             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/cuda.pyx":9371
 *             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/cuda.pyx":9372
 *                 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_n_s_Height_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9372, __pyx_L188_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9372, __pyx_L188_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_Height, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9372, __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(1, 9372, __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)) __PYX_ERR(1, 9372, __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(1, 9372, __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/cuda.pyx":9371
 *             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/cuda.pyx":9373
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9373, __pyx_L190_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9374
 *                 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(1, 9374, __pyx_L190_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_Height_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_Height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_Height_ValueError)) __PYX_ERR(1, 9374, __pyx_L190_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9374, __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/cuda.pyx":9371
 *             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/cuda.pyx":9375
 *             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/cuda.pyx":9376
 *                 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_n_s_Depth_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9376, __pyx_L196_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9376, __pyx_L196_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_Depth, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9376, __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(1, 9376, __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)) __PYX_ERR(1, 9376, __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(1, 9376, __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/cuda.pyx":9375
 *             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/cuda.pyx":9377
 *             try:
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9377, __pyx_L198_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9378
 *                 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(1, 9378, __pyx_L198_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_Depth_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_Depth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_Depth_ValueError)) __PYX_ERR(1, 9378, __pyx_L198_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9378, __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/cuda.pyx":9375
 *             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/cuda.pyx":9379
 *             except ValueError:
 *                 str_list += ['Depth : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9379, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":9277
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":9381
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def srcXInBytes(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":9276
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9382
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self):
 *         return self._ptr[0].srcXInBytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_11srcXInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_11srcXInBytes___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_11srcXInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9382, 0, __PYX_ERR(1, 9382, __pyx_L1_error));

  /* "cuda/cuda.pyx":9384
 *     @property
 *     def srcXInBytes(self):
 *         return self._ptr[0].srcXInBytes             # <<<<<<<<<<<<<<
 *     @srcXInBytes.setter
 *     def srcXInBytes(self, size_t srcXInBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).srcXInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9382
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self):
 *         return self._ptr[0].srcXInBytes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.srcXInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9385
 *     def srcXInBytes(self):
 *         return self._ptr[0].srcXInBytes
 *     @srcXInBytes.setter             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._ptr[0].srcXInBytes = srcXInBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_11srcXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcXInBytes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_srcXInBytes); if (unlikely((__pyx_v_srcXInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9386, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY3D_st_11srcXInBytes_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_srcXInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_11srcXInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcXInBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9385, 0, __PYX_ERR(1, 9385, __pyx_L1_error));

  /* "cuda/cuda.pyx":9387
 *     @srcXInBytes.setter
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._ptr[0].srcXInBytes = srcXInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def srcY(self):
 */
  (__pyx_v_self->_ptr[0]).srcXInBytes = __pyx_v_srcXInBytes;

  /* "cuda/cuda.pyx":9385
 *     def srcXInBytes(self):
 *         return self._ptr[0].srcXInBytes
 *     @srcXInBytes.setter             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._ptr[0].srcXInBytes = srcXInBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.srcXInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9388
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._ptr[0].srcXInBytes = srcXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def srcY(self):
 *         return self._ptr[0].srcY
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_4srcY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_4srcY___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4srcY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9388, 0, __PYX_ERR(1, 9388, __pyx_L1_error));

  /* "cuda/cuda.pyx":9390
 *     @property
 *     def srcY(self):
 *         return self._ptr[0].srcY             # <<<<<<<<<<<<<<
 *     @srcY.setter
 *     def srcY(self, size_t srcY):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).srcY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9388
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._ptr[0].srcXInBytes = srcXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def srcY(self):
 *         return self._ptr[0].srcY
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.srcY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9391
 *     def srcY(self):
 *         return self._ptr[0].srcY
 *     @srcY.setter             # <<<<<<<<<<<<<<
 *     def srcY(self, size_t srcY):
 *         self._ptr[0].srcY = srcY
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_4srcY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcY); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_srcY); if (unlikely((__pyx_v_srcY == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9392, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY3D_st_4srcY_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_srcY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4srcY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcY) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9391, 0, __PYX_ERR(1, 9391, __pyx_L1_error));

  /* "cuda/cuda.pyx":9393
 *     @srcY.setter
 *     def srcY(self, size_t srcY):
 *         self._ptr[0].srcY = srcY             # <<<<<<<<<<<<<<
 *     @property
 *     def srcZ(self):
 */
  (__pyx_v_self->_ptr[0]).srcY = __pyx_v_srcY;

  /* "cuda/cuda.pyx":9391
 *     def srcY(self):
 *         return self._ptr[0].srcY
 *     @srcY.setter             # <<<<<<<<<<<<<<
 *     def srcY(self, size_t srcY):
 *         self._ptr[0].srcY = srcY
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.srcY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9394
 *     def srcY(self, size_t srcY):
 *         self._ptr[0].srcY = srcY
 *     @property             # <<<<<<<<<<<<<<
 *     def srcZ(self):
 *         return self._ptr[0].srcZ
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_4srcZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_4srcZ___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4srcZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9394, 0, __PYX_ERR(1, 9394, __pyx_L1_error));

  /* "cuda/cuda.pyx":9396
 *     @property
 *     def srcZ(self):
 *         return self._ptr[0].srcZ             # <<<<<<<<<<<<<<
 *     @srcZ.setter
 *     def srcZ(self, size_t srcZ):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).srcZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9394
 *     def srcY(self, size_t srcY):
 *         self._ptr[0].srcY = srcY
 *     @property             # <<<<<<<<<<<<<<
 *     def srcZ(self):
 *         return self._ptr[0].srcZ
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.srcZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9397
 *     def srcZ(self):
 *         return self._ptr[0].srcZ
 *     @srcZ.setter             # <<<<<<<<<<<<<<
 *     def srcZ(self, size_t srcZ):
 *         self._ptr[0].srcZ = srcZ
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_4srcZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcZ); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_srcZ); if (unlikely((__pyx_v_srcZ == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9398, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY3D_st_4srcZ_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_srcZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4srcZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcZ) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9397, 0, __PYX_ERR(1, 9397, __pyx_L1_error));

  /* "cuda/cuda.pyx":9399
 *     @srcZ.setter
 *     def srcZ(self, size_t srcZ):
 *         self._ptr[0].srcZ = srcZ             # <<<<<<<<<<<<<<
 *     @property
 *     def srcLOD(self):
 */
  (__pyx_v_self->_ptr[0]).srcZ = __pyx_v_srcZ;

  /* "cuda/cuda.pyx":9397
 *     def srcZ(self):
 *         return self._ptr[0].srcZ
 *     @srcZ.setter             # <<<<<<<<<<<<<<
 *     def srcZ(self, size_t srcZ):
 *         self._ptr[0].srcZ = srcZ
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.srcZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9400
 *     def srcZ(self, size_t srcZ):
 *         self._ptr[0].srcZ = srcZ
 *     @property             # <<<<<<<<<<<<<<
 *     def srcLOD(self):
 *         return self._ptr[0].srcLOD
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_6srcLOD_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_6srcLOD___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_6srcLOD___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9400, 0, __PYX_ERR(1, 9400, __pyx_L1_error));

  /* "cuda/cuda.pyx":9402
 *     @property
 *     def srcLOD(self):
 *         return self._ptr[0].srcLOD             # <<<<<<<<<<<<<<
 *     @srcLOD.setter
 *     def srcLOD(self, size_t srcLOD):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).srcLOD); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9400
 *     def srcZ(self, size_t srcZ):
 *         self._ptr[0].srcZ = srcZ
 *     @property             # <<<<<<<<<<<<<<
 *     def srcLOD(self):
 *         return self._ptr[0].srcLOD
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.srcLOD.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9403
 *     def srcLOD(self):
 *         return self._ptr[0].srcLOD
 *     @srcLOD.setter             # <<<<<<<<<<<<<<
 *     def srcLOD(self, size_t srcLOD):
 *         self._ptr[0].srcLOD = srcLOD
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_6srcLOD_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcLOD); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_srcLOD); if (unlikely((__pyx_v_srcLOD == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9404, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY3D_st_6srcLOD_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_srcLOD));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_6srcLOD_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcLOD) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9403, 0, __PYX_ERR(1, 9403, __pyx_L1_error));

  /* "cuda/cuda.pyx":9405
 *     @srcLOD.setter
 *     def srcLOD(self, size_t srcLOD):
 *         self._ptr[0].srcLOD = srcLOD             # <<<<<<<<<<<<<<
 *     @property
 *     def srcMemoryType(self):
 */
  (__pyx_v_self->_ptr[0]).srcLOD = __pyx_v_srcLOD;

  /* "cuda/cuda.pyx":9403
 *     def srcLOD(self):
 *         return self._ptr[0].srcLOD
 *     @srcLOD.setter             # <<<<<<<<<<<<<<
 *     def srcLOD(self, size_t srcLOD):
 *         self._ptr[0].srcLOD = srcLOD
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.srcLOD.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9406
 *     def srcLOD(self, size_t srcLOD):
 *         self._ptr[0].srcLOD = srcLOD
 *     @property             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self):
 *         return CUmemorytype(self._ptr[0].srcMemoryType)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_13srcMemoryType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_13srcMemoryType___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_13srcMemoryType___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9406, 0, __PYX_ERR(1, 9406, __pyx_L1_error));

  /* "cuda/cuda.pyx":9408
 *     @property
 *     def srcMemoryType(self):
 *         return CUmemorytype(self._ptr[0].srcMemoryType)             # <<<<<<<<<<<<<<
 *     @srcMemoryType.setter
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemorytype_enum((__pyx_v_self->_ptr[0]).srcMemoryType); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9408, __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/cuda.pyx":9406
 *     def srcLOD(self, size_t srcLOD):
 *         self._ptr[0].srcLOD = srcLOD
 *     @property             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self):
 *         return CUmemorytype(self._ptr[0].srcMemoryType)
 */

  /* 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.cuda.CUDA_MEMCPY3D_st.srcMemoryType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9409
 *     def srcMemoryType(self):
 *         return CUmemorytype(self._ptr[0].srcMemoryType)
 *     @srcMemoryType.setter             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._ptr[0].srcMemoryType = srcMemoryType.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_13srcMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcMemoryType); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 9410, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_13srcMemoryType_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcMemoryType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_13srcMemoryType_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_srcMemoryType) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9409, 0, __PYX_ERR(1, 9409, __pyx_L1_error));

  /* "cuda/cuda.pyx":9411
 *     @srcMemoryType.setter
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._ptr[0].srcMemoryType = srcMemoryType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def srcHost(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_srcMemoryType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemorytype_enum)__Pyx_PyInt_As_enum__CUmemorytype_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 9411, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).srcMemoryType = __pyx_t_2;

  /* "cuda/cuda.pyx":9409
 *     def srcMemoryType(self):
 *         return CUmemorytype(self._ptr[0].srcMemoryType)
 *     @srcMemoryType.setter             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._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.cuda.CUDA_MEMCPY3D_st.srcMemoryType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9412
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._ptr[0].srcMemoryType = srcMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHost(self):
 *         return <void_ptr>self._ptr[0].srcHost
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_7srcHost_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_7srcHost___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_7srcHost___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9412, 0, __PYX_ERR(1, 9412, __pyx_L1_error));

  /* "cuda/cuda.pyx":9414
 *     @property
 *     def srcHost(self):
 *         return <void_ptr>self._ptr[0].srcHost             # <<<<<<<<<<<<<<
 *     @srcHost.setter
 *     def srcHost(self, srcHost):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).srcHost)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9412
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._ptr[0].srcMemoryType = srcMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHost(self):
 *         return <void_ptr>self._ptr[0].srcHost
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.srcHost.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9415
 *     def srcHost(self):
 *         return <void_ptr>self._ptr[0].srcHost
 *     @srcHost.setter             # <<<<<<<<<<<<<<
 *     def srcHost(self, srcHost):
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_7srcHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcHost); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_7srcHost_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcHost));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_7srcHost_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_srcHost) {
  PyObject *__pyx_v__csrcHost = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9415, 0, __PYX_ERR(1, 9415, __pyx_L1_error));

  /* "cuda/cuda.pyx":9417
 *     @srcHost.setter
 *     def srcHost(self, srcHost):
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)             # <<<<<<<<<<<<<<
 *         self._ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_srcHost); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__csrcHost = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":9418
 *     def srcHost(self, srcHost):
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)
 *         self._ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def srcDevice(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__csrcHost, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9418, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).srcHost = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":9415
 *     def srcHost(self):
 *         return <void_ptr>self._ptr[0].srcHost
 *     @srcHost.setter             # <<<<<<<<<<<<<<
 *     def srcHost(self, srcHost):
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.srcHost.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__csrcHost);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9419
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)
 *         self._ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def srcDevice(self):
 *         return self._srcDevice
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9srcDevice_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_9srcDevice___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9srcDevice___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9419, 0, __PYX_ERR(1, 9419, __pyx_L1_error));

  /* "cuda/cuda.pyx":9421
 *     @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/cuda.pyx":9419
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)
 *         self._ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def srcDevice(self):
 *         return self._srcDevice
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.srcDevice.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9422
 *     def srcDevice(self):
 *         return self._srcDevice
 *     @srcDevice.setter             # <<<<<<<<<<<<<<
 *     def srcDevice(self, srcDevice):
 *         cdef ccuda.CUdeviceptr csrcDevice
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9srcDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcDevice); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_9srcDevice_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcDevice));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9srcDevice_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_srcDevice) {
  CUdeviceptr __pyx_v_csrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9422, 0, __PYX_ERR(1, 9422, __pyx_L1_error));

  /* "cuda/cuda.pyx":9425
 *     def srcDevice(self, srcDevice):
 *         cdef ccuda.CUdeviceptr csrcDevice
 *         if srcDevice is None:             # <<<<<<<<<<<<<<
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 */
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9426
 *         cdef ccuda.CUdeviceptr csrcDevice
 *         if srcDevice is None:
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)
 */
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":9425
 *     def srcDevice(self, srcDevice):
 *         cdef ccuda.CUdeviceptr csrcDevice
 *         if srcDevice is None:             # <<<<<<<<<<<<<<
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9427
 *         if srcDevice is None:
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             psrcDevice = int(srcDevice)
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9428
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9428, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":9429
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9429, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":9427
 *         if srcDevice is None:
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             psrcDevice = int(srcDevice)
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9431
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *         self._srcDevice._ptr[0] = csrcDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9431, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9431, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":9432
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *         self._srcDevice._ptr[0] = csrcDevice
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9432, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":9433
 *             psrcDevice = int(CUdeviceptr(srcDevice))
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *         self._srcDevice._ptr[0] = csrcDevice             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_srcDevice->_ptr[0]) = __pyx_v_csrcDevice;

  /* "cuda/cuda.pyx":9422
 *     def srcDevice(self):
 *         return self._srcDevice
 *     @srcDevice.setter             # <<<<<<<<<<<<<<
 *     def srcDevice(self, srcDevice):
 *         cdef ccuda.CUdeviceptr csrcDevice
 */

  /* 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.cuda.CUDA_MEMCPY3D_st.srcDevice.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcDevice);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9435
 *         self._srcDevice._ptr[0] = csrcDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def srcArray(self):
 *         return self._srcArray
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_8srcArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_8srcArray___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8srcArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9435, 0, __PYX_ERR(1, 9435, __pyx_L1_error));

  /* "cuda/cuda.pyx":9437
 *     @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/cuda.pyx":9435
 *         self._srcDevice._ptr[0] = csrcDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def srcArray(self):
 *         return self._srcArray
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.srcArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9438
 *     def srcArray(self):
 *         return self._srcArray
 *     @srcArray.setter             # <<<<<<<<<<<<<<
 *     def srcArray(self, srcArray):
 *         cdef ccuda.CUarray csrcArray
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_8srcArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcArray); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_8srcArray_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8srcArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_srcArray) {
  CUarray __pyx_v_csrcArray;
  PyObject *__pyx_v_psrcArray = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9438, 0, __PYX_ERR(1, 9438, __pyx_L1_error));

  /* "cuda/cuda.pyx":9441
 *     def srcArray(self, srcArray):
 *         cdef ccuda.CUarray csrcArray
 *         if srcArray is None:             # <<<<<<<<<<<<<<
 *             csrcArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_srcArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9442
 *         cdef ccuda.CUarray csrcArray
 *         if srcArray is None:
 *             csrcArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)
 */
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":9441
 *     def srcArray(self, srcArray):
 *         cdef ccuda.CUarray csrcArray
 *         if srcArray is None:             # <<<<<<<<<<<<<<
 *             csrcArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9443
 *         if srcArray is None:
 *             csrcArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             psrcArray = int(srcArray)
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9444
 *             csrcArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)             # <<<<<<<<<<<<<<
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":9445
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *         else:
 *             psrcArray = int(CUarray(srcArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9445, __pyx_L1_error)
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":9443
 *         if srcArray is None:
 *             csrcArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             psrcArray = int(srcArray)
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9447
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         else:
 *             psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         self._srcArray._ptr[0] = csrcArray
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":9448
 *         else:
 *             psrcArray = int(CUarray(srcArray))
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *         self._srcArray._ptr[0] = csrcArray
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9448, __pyx_L1_error)
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":9449
 *             psrcArray = int(CUarray(srcArray))
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         self._srcArray._ptr[0] = csrcArray             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved0(self):
 */
  (__pyx_v_self->_srcArray->_ptr[0]) = __pyx_v_csrcArray;

  /* "cuda/cuda.pyx":9438
 *     def srcArray(self):
 *         return self._srcArray
 *     @srcArray.setter             # <<<<<<<<<<<<<<
 *     def srcArray(self, srcArray):
 *         cdef ccuda.CUarray csrcArray
 */

  /* 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.cuda.CUDA_MEMCPY3D_st.srcArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcArray);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9450
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         self._srcArray._ptr[0] = csrcArray
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved0(self):
 *         return <void_ptr>self._ptr[0].reserved0
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9reserved0_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_9reserved0___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9reserved0___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9450, 0, __PYX_ERR(1, 9450, __pyx_L1_error));

  /* "cuda/cuda.pyx":9452
 *     @property
 *     def reserved0(self):
 *         return <void_ptr>self._ptr[0].reserved0             # <<<<<<<<<<<<<<
 *     @reserved0.setter
 *     def reserved0(self, reserved0):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).reserved0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9450
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         self._srcArray._ptr[0] = csrcArray
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved0(self):
 *         return <void_ptr>self._ptr[0].reserved0
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.reserved0.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9453
 *     def reserved0(self):
 *         return <void_ptr>self._ptr[0].reserved0
 *     @reserved0.setter             # <<<<<<<<<<<<<<
 *     def reserved0(self, reserved0):
 *         _creserved0 = utils.HelperInputVoidPtr(reserved0)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9reserved0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved0); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_9reserved0_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved0));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9reserved0_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_reserved0) {
  PyObject *__pyx_v__creserved0 = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9453, 0, __PYX_ERR(1, 9453, __pyx_L1_error));

  /* "cuda/cuda.pyx":9455
 *     @reserved0.setter
 *     def reserved0(self, reserved0):
 *         _creserved0 = utils.HelperInputVoidPtr(reserved0)             # <<<<<<<<<<<<<<
 *         self._ptr[0].reserved0 = <void*><void_ptr>_creserved0.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_reserved0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9455, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__creserved0 = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":9456
 *     def reserved0(self, reserved0):
 *         _creserved0 = utils.HelperInputVoidPtr(reserved0)
 *         self._ptr[0].reserved0 = <void*><void_ptr>_creserved0.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def srcPitch(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__creserved0, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9456, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).reserved0 = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":9453
 *     def reserved0(self):
 *         return <void_ptr>self._ptr[0].reserved0
 *     @reserved0.setter             # <<<<<<<<<<<<<<
 *     def reserved0(self, reserved0):
 *         _creserved0 = utils.HelperInputVoidPtr(reserved0)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.reserved0.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__creserved0);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9457
 *         _creserved0 = utils.HelperInputVoidPtr(reserved0)
 *         self._ptr[0].reserved0 = <void*><void_ptr>_creserved0.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def srcPitch(self):
 *         return self._ptr[0].srcPitch
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_8srcPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_8srcPitch___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8srcPitch___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9457, 0, __PYX_ERR(1, 9457, __pyx_L1_error));

  /* "cuda/cuda.pyx":9459
 *     @property
 *     def srcPitch(self):
 *         return self._ptr[0].srcPitch             # <<<<<<<<<<<<<<
 *     @srcPitch.setter
 *     def srcPitch(self, size_t srcPitch):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).srcPitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9457
 *         _creserved0 = utils.HelperInputVoidPtr(reserved0)
 *         self._ptr[0].reserved0 = <void*><void_ptr>_creserved0.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def srcPitch(self):
 *         return self._ptr[0].srcPitch
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.srcPitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9460
 *     def srcPitch(self):
 *         return self._ptr[0].srcPitch
 *     @srcPitch.setter             # <<<<<<<<<<<<<<
 *     def srcPitch(self, size_t srcPitch):
 *         self._ptr[0].srcPitch = srcPitch
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_8srcPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcPitch); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_srcPitch); if (unlikely((__pyx_v_srcPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9461, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY3D_st_8srcPitch_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_srcPitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8srcPitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcPitch) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9460, 0, __PYX_ERR(1, 9460, __pyx_L1_error));

  /* "cuda/cuda.pyx":9462
 *     @srcPitch.setter
 *     def srcPitch(self, size_t srcPitch):
 *         self._ptr[0].srcPitch = srcPitch             # <<<<<<<<<<<<<<
 *     @property
 *     def srcHeight(self):
 */
  (__pyx_v_self->_ptr[0]).srcPitch = __pyx_v_srcPitch;

  /* "cuda/cuda.pyx":9460
 *     def srcPitch(self):
 *         return self._ptr[0].srcPitch
 *     @srcPitch.setter             # <<<<<<<<<<<<<<
 *     def srcPitch(self, size_t srcPitch):
 *         self._ptr[0].srcPitch = srcPitch
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.srcPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9463
 *     def srcPitch(self, size_t srcPitch):
 *         self._ptr[0].srcPitch = srcPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHeight(self):
 *         return self._ptr[0].srcHeight
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9srcHeight_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_9srcHeight___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9srcHeight___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9463, 0, __PYX_ERR(1, 9463, __pyx_L1_error));

  /* "cuda/cuda.pyx":9465
 *     @property
 *     def srcHeight(self):
 *         return self._ptr[0].srcHeight             # <<<<<<<<<<<<<<
 *     @srcHeight.setter
 *     def srcHeight(self, size_t srcHeight):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).srcHeight); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9463
 *     def srcPitch(self, size_t srcPitch):
 *         self._ptr[0].srcPitch = srcPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHeight(self):
 *         return self._ptr[0].srcHeight
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.srcHeight.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9466
 *     def srcHeight(self):
 *         return self._ptr[0].srcHeight
 *     @srcHeight.setter             # <<<<<<<<<<<<<<
 *     def srcHeight(self, size_t srcHeight):
 *         self._ptr[0].srcHeight = srcHeight
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9srcHeight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcHeight); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_srcHeight); if (unlikely((__pyx_v_srcHeight == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9467, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY3D_st_9srcHeight_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_srcHeight));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9srcHeight_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_srcHeight) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9466, 0, __PYX_ERR(1, 9466, __pyx_L1_error));

  /* "cuda/cuda.pyx":9468
 *     @srcHeight.setter
 *     def srcHeight(self, size_t srcHeight):
 *         self._ptr[0].srcHeight = srcHeight             # <<<<<<<<<<<<<<
 *     @property
 *     def dstXInBytes(self):
 */
  (__pyx_v_self->_ptr[0]).srcHeight = __pyx_v_srcHeight;

  /* "cuda/cuda.pyx":9466
 *     def srcHeight(self):
 *         return self._ptr[0].srcHeight
 *     @srcHeight.setter             # <<<<<<<<<<<<<<
 *     def srcHeight(self, size_t srcHeight):
 *         self._ptr[0].srcHeight = srcHeight
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.srcHeight.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9469
 *     def srcHeight(self, size_t srcHeight):
 *         self._ptr[0].srcHeight = srcHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self):
 *         return self._ptr[0].dstXInBytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_11dstXInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_11dstXInBytes___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_11dstXInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9469, 0, __PYX_ERR(1, 9469, __pyx_L1_error));

  /* "cuda/cuda.pyx":9471
 *     @property
 *     def dstXInBytes(self):
 *         return self._ptr[0].dstXInBytes             # <<<<<<<<<<<<<<
 *     @dstXInBytes.setter
 *     def dstXInBytes(self, size_t dstXInBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).dstXInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9469
 *     def srcHeight(self, size_t srcHeight):
 *         self._ptr[0].srcHeight = srcHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self):
 *         return self._ptr[0].dstXInBytes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.dstXInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9472
 *     def dstXInBytes(self):
 *         return self._ptr[0].dstXInBytes
 *     @dstXInBytes.setter             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._ptr[0].dstXInBytes = dstXInBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_11dstXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstXInBytes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_dstXInBytes); if (unlikely((__pyx_v_dstXInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9473, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY3D_st_11dstXInBytes_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_dstXInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_11dstXInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstXInBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9472, 0, __PYX_ERR(1, 9472, __pyx_L1_error));

  /* "cuda/cuda.pyx":9474
 *     @dstXInBytes.setter
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._ptr[0].dstXInBytes = dstXInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def dstY(self):
 */
  (__pyx_v_self->_ptr[0]).dstXInBytes = __pyx_v_dstXInBytes;

  /* "cuda/cuda.pyx":9472
 *     def dstXInBytes(self):
 *         return self._ptr[0].dstXInBytes
 *     @dstXInBytes.setter             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._ptr[0].dstXInBytes = dstXInBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.dstXInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9475
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._ptr[0].dstXInBytes = dstXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def dstY(self):
 *         return self._ptr[0].dstY
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_4dstY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_4dstY___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4dstY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9475, 0, __PYX_ERR(1, 9475, __pyx_L1_error));

  /* "cuda/cuda.pyx":9477
 *     @property
 *     def dstY(self):
 *         return self._ptr[0].dstY             # <<<<<<<<<<<<<<
 *     @dstY.setter
 *     def dstY(self, size_t dstY):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).dstY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9475
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._ptr[0].dstXInBytes = dstXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def dstY(self):
 *         return self._ptr[0].dstY
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.dstY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9478
 *     def dstY(self):
 *         return self._ptr[0].dstY
 *     @dstY.setter             # <<<<<<<<<<<<<<
 *     def dstY(self, size_t dstY):
 *         self._ptr[0].dstY = dstY
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_4dstY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstY); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_dstY); if (unlikely((__pyx_v_dstY == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9479, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY3D_st_4dstY_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_dstY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4dstY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstY) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9478, 0, __PYX_ERR(1, 9478, __pyx_L1_error));

  /* "cuda/cuda.pyx":9480
 *     @dstY.setter
 *     def dstY(self, size_t dstY):
 *         self._ptr[0].dstY = dstY             # <<<<<<<<<<<<<<
 *     @property
 *     def dstZ(self):
 */
  (__pyx_v_self->_ptr[0]).dstY = __pyx_v_dstY;

  /* "cuda/cuda.pyx":9478
 *     def dstY(self):
 *         return self._ptr[0].dstY
 *     @dstY.setter             # <<<<<<<<<<<<<<
 *     def dstY(self, size_t dstY):
 *         self._ptr[0].dstY = dstY
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.dstY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9481
 *     def dstY(self, size_t dstY):
 *         self._ptr[0].dstY = dstY
 *     @property             # <<<<<<<<<<<<<<
 *     def dstZ(self):
 *         return self._ptr[0].dstZ
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_4dstZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_4dstZ___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4dstZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9481, 0, __PYX_ERR(1, 9481, __pyx_L1_error));

  /* "cuda/cuda.pyx":9483
 *     @property
 *     def dstZ(self):
 *         return self._ptr[0].dstZ             # <<<<<<<<<<<<<<
 *     @dstZ.setter
 *     def dstZ(self, size_t dstZ):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).dstZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9481
 *     def dstY(self, size_t dstY):
 *         self._ptr[0].dstY = dstY
 *     @property             # <<<<<<<<<<<<<<
 *     def dstZ(self):
 *         return self._ptr[0].dstZ
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.dstZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9484
 *     def dstZ(self):
 *         return self._ptr[0].dstZ
 *     @dstZ.setter             # <<<<<<<<<<<<<<
 *     def dstZ(self, size_t dstZ):
 *         self._ptr[0].dstZ = dstZ
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_4dstZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstZ); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_dstZ); if (unlikely((__pyx_v_dstZ == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9485, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY3D_st_4dstZ_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_dstZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_4dstZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstZ) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9484, 0, __PYX_ERR(1, 9484, __pyx_L1_error));

  /* "cuda/cuda.pyx":9486
 *     @dstZ.setter
 *     def dstZ(self, size_t dstZ):
 *         self._ptr[0].dstZ = dstZ             # <<<<<<<<<<<<<<
 *     @property
 *     def dstLOD(self):
 */
  (__pyx_v_self->_ptr[0]).dstZ = __pyx_v_dstZ;

  /* "cuda/cuda.pyx":9484
 *     def dstZ(self):
 *         return self._ptr[0].dstZ
 *     @dstZ.setter             # <<<<<<<<<<<<<<
 *     def dstZ(self, size_t dstZ):
 *         self._ptr[0].dstZ = dstZ
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.dstZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9487
 *     def dstZ(self, size_t dstZ):
 *         self._ptr[0].dstZ = dstZ
 *     @property             # <<<<<<<<<<<<<<
 *     def dstLOD(self):
 *         return self._ptr[0].dstLOD
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_6dstLOD_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_6dstLOD___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_6dstLOD___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9487, 0, __PYX_ERR(1, 9487, __pyx_L1_error));

  /* "cuda/cuda.pyx":9489
 *     @property
 *     def dstLOD(self):
 *         return self._ptr[0].dstLOD             # <<<<<<<<<<<<<<
 *     @dstLOD.setter
 *     def dstLOD(self, size_t dstLOD):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).dstLOD); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9487
 *     def dstZ(self, size_t dstZ):
 *         self._ptr[0].dstZ = dstZ
 *     @property             # <<<<<<<<<<<<<<
 *     def dstLOD(self):
 *         return self._ptr[0].dstLOD
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.dstLOD.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9490
 *     def dstLOD(self):
 *         return self._ptr[0].dstLOD
 *     @dstLOD.setter             # <<<<<<<<<<<<<<
 *     def dstLOD(self, size_t dstLOD):
 *         self._ptr[0].dstLOD = dstLOD
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_6dstLOD_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstLOD); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_dstLOD); if (unlikely((__pyx_v_dstLOD == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9491, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY3D_st_6dstLOD_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_dstLOD));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_6dstLOD_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstLOD) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9490, 0, __PYX_ERR(1, 9490, __pyx_L1_error));

  /* "cuda/cuda.pyx":9492
 *     @dstLOD.setter
 *     def dstLOD(self, size_t dstLOD):
 *         self._ptr[0].dstLOD = dstLOD             # <<<<<<<<<<<<<<
 *     @property
 *     def dstMemoryType(self):
 */
  (__pyx_v_self->_ptr[0]).dstLOD = __pyx_v_dstLOD;

  /* "cuda/cuda.pyx":9490
 *     def dstLOD(self):
 *         return self._ptr[0].dstLOD
 *     @dstLOD.setter             # <<<<<<<<<<<<<<
 *     def dstLOD(self, size_t dstLOD):
 *         self._ptr[0].dstLOD = dstLOD
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.dstLOD.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9493
 *     def dstLOD(self, size_t dstLOD):
 *         self._ptr[0].dstLOD = dstLOD
 *     @property             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self):
 *         return CUmemorytype(self._ptr[0].dstMemoryType)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_13dstMemoryType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_13dstMemoryType___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_13dstMemoryType___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9493, 0, __PYX_ERR(1, 9493, __pyx_L1_error));

  /* "cuda/cuda.pyx":9495
 *     @property
 *     def dstMemoryType(self):
 *         return CUmemorytype(self._ptr[0].dstMemoryType)             # <<<<<<<<<<<<<<
 *     @dstMemoryType.setter
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemorytype_enum((__pyx_v_self->_ptr[0]).dstMemoryType); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9495, __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/cuda.pyx":9493
 *     def dstLOD(self, size_t dstLOD):
 *         self._ptr[0].dstLOD = dstLOD
 *     @property             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self):
 *         return CUmemorytype(self._ptr[0].dstMemoryType)
 */

  /* 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.cuda.CUDA_MEMCPY3D_st.dstMemoryType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9496
 *     def dstMemoryType(self):
 *         return CUmemorytype(self._ptr[0].dstMemoryType)
 *     @dstMemoryType.setter             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._ptr[0].dstMemoryType = dstMemoryType.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_13dstMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstMemoryType); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 9497, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_13dstMemoryType_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstMemoryType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_13dstMemoryType_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_dstMemoryType) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9496, 0, __PYX_ERR(1, 9496, __pyx_L1_error));

  /* "cuda/cuda.pyx":9498
 *     @dstMemoryType.setter
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._ptr[0].dstMemoryType = dstMemoryType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def dstHost(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dstMemoryType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemorytype_enum)__Pyx_PyInt_As_enum__CUmemorytype_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 9498, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).dstMemoryType = __pyx_t_2;

  /* "cuda/cuda.pyx":9496
 *     def dstMemoryType(self):
 *         return CUmemorytype(self._ptr[0].dstMemoryType)
 *     @dstMemoryType.setter             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._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.cuda.CUDA_MEMCPY3D_st.dstMemoryType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9499
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._ptr[0].dstMemoryType = dstMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHost(self):
 *         return <void_ptr>self._ptr[0].dstHost
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_7dstHost_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_7dstHost___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_7dstHost___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9499, 0, __PYX_ERR(1, 9499, __pyx_L1_error));

  /* "cuda/cuda.pyx":9501
 *     @property
 *     def dstHost(self):
 *         return <void_ptr>self._ptr[0].dstHost             # <<<<<<<<<<<<<<
 *     @dstHost.setter
 *     def dstHost(self, dstHost):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).dstHost)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9499
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._ptr[0].dstMemoryType = dstMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHost(self):
 *         return <void_ptr>self._ptr[0].dstHost
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.dstHost.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9502
 *     def dstHost(self):
 *         return <void_ptr>self._ptr[0].dstHost
 *     @dstHost.setter             # <<<<<<<<<<<<<<
 *     def dstHost(self, dstHost):
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_7dstHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstHost); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_7dstHost_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstHost));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_7dstHost_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_dstHost) {
  PyObject *__pyx_v__cdstHost = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9502, 0, __PYX_ERR(1, 9502, __pyx_L1_error));

  /* "cuda/cuda.pyx":9504
 *     @dstHost.setter
 *     def dstHost(self, dstHost):
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)             # <<<<<<<<<<<<<<
 *         self._ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dstHost); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cdstHost = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":9505
 *     def dstHost(self, dstHost):
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)
 *         self._ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def dstDevice(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cdstHost, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9505, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).dstHost = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":9502
 *     def dstHost(self):
 *         return <void_ptr>self._ptr[0].dstHost
 *     @dstHost.setter             # <<<<<<<<<<<<<<
 *     def dstHost(self, dstHost):
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.dstHost.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cdstHost);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9506
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)
 *         self._ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dstDevice(self):
 *         return self._dstDevice
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9dstDevice_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_9dstDevice___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9dstDevice___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9506, 0, __PYX_ERR(1, 9506, __pyx_L1_error));

  /* "cuda/cuda.pyx":9508
 *     @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/cuda.pyx":9506
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)
 *         self._ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dstDevice(self):
 *         return self._dstDevice
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.dstDevice.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9509
 *     def dstDevice(self):
 *         return self._dstDevice
 *     @dstDevice.setter             # <<<<<<<<<<<<<<
 *     def dstDevice(self, dstDevice):
 *         cdef ccuda.CUdeviceptr cdstDevice
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9dstDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstDevice); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_9dstDevice_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstDevice));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9dstDevice_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_dstDevice) {
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9509, 0, __PYX_ERR(1, 9509, __pyx_L1_error));

  /* "cuda/cuda.pyx":9512
 *     def dstDevice(self, dstDevice):
 *         cdef ccuda.CUdeviceptr cdstDevice
 *         if dstDevice is None:             # <<<<<<<<<<<<<<
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9513
 *         cdef ccuda.CUdeviceptr cdstDevice
 *         if dstDevice is None:
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":9512
 *     def dstDevice(self, dstDevice):
 *         cdef ccuda.CUdeviceptr cdstDevice
 *         if dstDevice is None:             # <<<<<<<<<<<<<<
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9514
 *         if dstDevice is None:
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdstDevice = int(dstDevice)
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9515
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":9516
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9516, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":9514
 *         if dstDevice is None:
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdstDevice = int(dstDevice)
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9518
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *         self._dstDevice._ptr[0] = cdstDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9518, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9518, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":9519
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *         self._dstDevice._ptr[0] = cdstDevice
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9519, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":9520
 *             pdstDevice = int(CUdeviceptr(dstDevice))
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *         self._dstDevice._ptr[0] = cdstDevice             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_dstDevice->_ptr[0]) = __pyx_v_cdstDevice;

  /* "cuda/cuda.pyx":9509
 *     def dstDevice(self):
 *         return self._dstDevice
 *     @dstDevice.setter             # <<<<<<<<<<<<<<
 *     def dstDevice(self, dstDevice):
 *         cdef ccuda.CUdeviceptr cdstDevice
 */

  /* 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.cuda.CUDA_MEMCPY3D_st.dstDevice.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9522
 *         self._dstDevice._ptr[0] = cdstDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def dstArray(self):
 *         return self._dstArray
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_8dstArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_8dstArray___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8dstArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9522, 0, __PYX_ERR(1, 9522, __pyx_L1_error));

  /* "cuda/cuda.pyx":9524
 *     @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/cuda.pyx":9522
 *         self._dstDevice._ptr[0] = cdstDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def dstArray(self):
 *         return self._dstArray
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.dstArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9525
 *     def dstArray(self):
 *         return self._dstArray
 *     @dstArray.setter             # <<<<<<<<<<<<<<
 *     def dstArray(self, dstArray):
 *         cdef ccuda.CUarray cdstArray
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_8dstArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstArray); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_8dstArray_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8dstArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_dstArray) {
  CUarray __pyx_v_cdstArray;
  PyObject *__pyx_v_pdstArray = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9525, 0, __PYX_ERR(1, 9525, __pyx_L1_error));

  /* "cuda/cuda.pyx":9528
 *     def dstArray(self, dstArray):
 *         cdef ccuda.CUarray cdstArray
 *         if dstArray is None:             # <<<<<<<<<<<<<<
 *             cdstArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_dstArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9529
 *         cdef ccuda.CUarray cdstArray
 *         if dstArray is None:
 *             cdstArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)
 */
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":9528
 *     def dstArray(self, dstArray):
 *         cdef ccuda.CUarray cdstArray
 *         if dstArray is None:             # <<<<<<<<<<<<<<
 *             cdstArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9530
 *         if dstArray is None:
 *             cdstArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             pdstArray = int(dstArray)
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9531
 *             cdstArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":9532
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *         else:
 *             pdstArray = int(CUarray(dstArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9532, __pyx_L1_error)
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":9530
 *         if dstArray is None:
 *             cdstArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             pdstArray = int(dstArray)
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9534
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         else:
 *             pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         self._dstArray._ptr[0] = cdstArray
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_dstArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":9535
 *         else:
 *             pdstArray = int(CUarray(dstArray))
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *         self._dstArray._ptr[0] = cdstArray
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9535, __pyx_L1_error)
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":9536
 *             pdstArray = int(CUarray(dstArray))
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         self._dstArray._ptr[0] = cdstArray             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved1(self):
 */
  (__pyx_v_self->_dstArray->_ptr[0]) = __pyx_v_cdstArray;

  /* "cuda/cuda.pyx":9525
 *     def dstArray(self):
 *         return self._dstArray
 *     @dstArray.setter             # <<<<<<<<<<<<<<
 *     def dstArray(self, dstArray):
 *         cdef ccuda.CUarray cdstArray
 */

  /* 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.cuda.CUDA_MEMCPY3D_st.dstArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstArray);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9537
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         self._dstArray._ptr[0] = cdstArray
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved1(self):
 *         return <void_ptr>self._ptr[0].reserved1
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9reserved1_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_9reserved1___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9reserved1___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9537, 0, __PYX_ERR(1, 9537, __pyx_L1_error));

  /* "cuda/cuda.pyx":9539
 *     @property
 *     def reserved1(self):
 *         return <void_ptr>self._ptr[0].reserved1             # <<<<<<<<<<<<<<
 *     @reserved1.setter
 *     def reserved1(self, reserved1):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).reserved1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9537
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         self._dstArray._ptr[0] = cdstArray
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved1(self):
 *         return <void_ptr>self._ptr[0].reserved1
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.reserved1.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9540
 *     def reserved1(self):
 *         return <void_ptr>self._ptr[0].reserved1
 *     @reserved1.setter             # <<<<<<<<<<<<<<
 *     def reserved1(self, reserved1):
 *         _creserved1 = utils.HelperInputVoidPtr(reserved1)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9reserved1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved1); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_9reserved1_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved1));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9reserved1_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, PyObject *__pyx_v_reserved1) {
  PyObject *__pyx_v__creserved1 = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9540, 0, __PYX_ERR(1, 9540, __pyx_L1_error));

  /* "cuda/cuda.pyx":9542
 *     @reserved1.setter
 *     def reserved1(self, reserved1):
 *         _creserved1 = utils.HelperInputVoidPtr(reserved1)             # <<<<<<<<<<<<<<
 *         self._ptr[0].reserved1 = <void*><void_ptr>_creserved1.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_reserved1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__creserved1 = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":9543
 *     def reserved1(self, reserved1):
 *         _creserved1 = utils.HelperInputVoidPtr(reserved1)
 *         self._ptr[0].reserved1 = <void*><void_ptr>_creserved1.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def dstPitch(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__creserved1, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9543, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).reserved1 = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":9540
 *     def reserved1(self):
 *         return <void_ptr>self._ptr[0].reserved1
 *     @reserved1.setter             # <<<<<<<<<<<<<<
 *     def reserved1(self, reserved1):
 *         _creserved1 = utils.HelperInputVoidPtr(reserved1)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.reserved1.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__creserved1);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9544
 *         _creserved1 = utils.HelperInputVoidPtr(reserved1)
 *         self._ptr[0].reserved1 = <void*><void_ptr>_creserved1.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dstPitch(self):
 *         return self._ptr[0].dstPitch
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_8dstPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_8dstPitch___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8dstPitch___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9544, 0, __PYX_ERR(1, 9544, __pyx_L1_error));

  /* "cuda/cuda.pyx":9546
 *     @property
 *     def dstPitch(self):
 *         return self._ptr[0].dstPitch             # <<<<<<<<<<<<<<
 *     @dstPitch.setter
 *     def dstPitch(self, size_t dstPitch):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).dstPitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9544
 *         _creserved1 = utils.HelperInputVoidPtr(reserved1)
 *         self._ptr[0].reserved1 = <void*><void_ptr>_creserved1.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dstPitch(self):
 *         return self._ptr[0].dstPitch
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.dstPitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9547
 *     def dstPitch(self):
 *         return self._ptr[0].dstPitch
 *     @dstPitch.setter             # <<<<<<<<<<<<<<
 *     def dstPitch(self, size_t dstPitch):
 *         self._ptr[0].dstPitch = dstPitch
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_8dstPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstPitch); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_dstPitch); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9548, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY3D_st_8dstPitch_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_dstPitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_8dstPitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstPitch) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9547, 0, __PYX_ERR(1, 9547, __pyx_L1_error));

  /* "cuda/cuda.pyx":9549
 *     @dstPitch.setter
 *     def dstPitch(self, size_t dstPitch):
 *         self._ptr[0].dstPitch = dstPitch             # <<<<<<<<<<<<<<
 *     @property
 *     def dstHeight(self):
 */
  (__pyx_v_self->_ptr[0]).dstPitch = __pyx_v_dstPitch;

  /* "cuda/cuda.pyx":9547
 *     def dstPitch(self):
 *         return self._ptr[0].dstPitch
 *     @dstPitch.setter             # <<<<<<<<<<<<<<
 *     def dstPitch(self, size_t dstPitch):
 *         self._ptr[0].dstPitch = dstPitch
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.dstPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9550
 *     def dstPitch(self, size_t dstPitch):
 *         self._ptr[0].dstPitch = dstPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHeight(self):
 *         return self._ptr[0].dstHeight
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9dstHeight_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_9dstHeight___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9dstHeight___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9550, 0, __PYX_ERR(1, 9550, __pyx_L1_error));

  /* "cuda/cuda.pyx":9552
 *     @property
 *     def dstHeight(self):
 *         return self._ptr[0].dstHeight             # <<<<<<<<<<<<<<
 *     @dstHeight.setter
 *     def dstHeight(self, size_t dstHeight):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).dstHeight); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9552, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9550
 *     def dstPitch(self, size_t dstPitch):
 *         self._ptr[0].dstPitch = dstPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHeight(self):
 *         return self._ptr[0].dstHeight
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.dstHeight.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9553
 *     def dstHeight(self):
 *         return self._ptr[0].dstHeight
 *     @dstHeight.setter             # <<<<<<<<<<<<<<
 *     def dstHeight(self, size_t dstHeight):
 *         self._ptr[0].dstHeight = dstHeight
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9dstHeight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstHeight); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_dstHeight); if (unlikely((__pyx_v_dstHeight == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9554, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY3D_st_9dstHeight_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_dstHeight));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_9dstHeight_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_dstHeight) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9553, 0, __PYX_ERR(1, 9553, __pyx_L1_error));

  /* "cuda/cuda.pyx":9555
 *     @dstHeight.setter
 *     def dstHeight(self, size_t dstHeight):
 *         self._ptr[0].dstHeight = dstHeight             # <<<<<<<<<<<<<<
 *     @property
 *     def WidthInBytes(self):
 */
  (__pyx_v_self->_ptr[0]).dstHeight = __pyx_v_dstHeight;

  /* "cuda/cuda.pyx":9553
 *     def dstHeight(self):
 *         return self._ptr[0].dstHeight
 *     @dstHeight.setter             # <<<<<<<<<<<<<<
 *     def dstHeight(self, size_t dstHeight):
 *         self._ptr[0].dstHeight = dstHeight
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.dstHeight.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9556
 *     def dstHeight(self, size_t dstHeight):
 *         self._ptr[0].dstHeight = dstHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self):
 *         return self._ptr[0].WidthInBytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_12WidthInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_12WidthInBytes___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_12WidthInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9556, 0, __PYX_ERR(1, 9556, __pyx_L1_error));

  /* "cuda/cuda.pyx":9558
 *     @property
 *     def WidthInBytes(self):
 *         return self._ptr[0].WidthInBytes             # <<<<<<<<<<<<<<
 *     @WidthInBytes.setter
 *     def WidthInBytes(self, size_t WidthInBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).WidthInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9556
 *     def dstHeight(self, size_t dstHeight):
 *         self._ptr[0].dstHeight = dstHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self):
 *         return self._ptr[0].WidthInBytes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.WidthInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9559
 *     def WidthInBytes(self):
 *         return self._ptr[0].WidthInBytes
 *     @WidthInBytes.setter             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._ptr[0].WidthInBytes = WidthInBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_12WidthInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_WidthInBytes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_WidthInBytes); if (unlikely((__pyx_v_WidthInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9560, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY3D_st_12WidthInBytes_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_WidthInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_12WidthInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_WidthInBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9559, 0, __PYX_ERR(1, 9559, __pyx_L1_error));

  /* "cuda/cuda.pyx":9561
 *     @WidthInBytes.setter
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._ptr[0].WidthInBytes = WidthInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def Height(self):
 */
  (__pyx_v_self->_ptr[0]).WidthInBytes = __pyx_v_WidthInBytes;

  /* "cuda/cuda.pyx":9559
 *     def WidthInBytes(self):
 *         return self._ptr[0].WidthInBytes
 *     @WidthInBytes.setter             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._ptr[0].WidthInBytes = WidthInBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.WidthInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9562
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._ptr[0].WidthInBytes = WidthInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._ptr[0].Height
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_6Height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_6Height___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_6Height___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9562, 0, __PYX_ERR(1, 9562, __pyx_L1_error));

  /* "cuda/cuda.pyx":9564
 *     @property
 *     def Height(self):
 *         return self._ptr[0].Height             # <<<<<<<<<<<<<<
 *     @Height.setter
 *     def Height(self, size_t Height):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).Height); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9562
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._ptr[0].WidthInBytes = WidthInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._ptr[0].Height
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.Height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9565
 *     def Height(self):
 *         return self._ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_6Height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Height); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_Height); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9566, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY3D_st_6Height_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_Height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_6Height_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_Height) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9565, 0, __PYX_ERR(1, 9565, __pyx_L1_error));

  /* "cuda/cuda.pyx":9567
 *     @Height.setter
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height             # <<<<<<<<<<<<<<
 *     @property
 *     def Depth(self):
 */
  (__pyx_v_self->_ptr[0]).Height = __pyx_v_Height;

  /* "cuda/cuda.pyx":9565
 *     def Height(self):
 *         return self._ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.Height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9568
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 *     @property             # <<<<<<<<<<<<<<
 *     def Depth(self):
 *         return self._ptr[0].Depth
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_5Depth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_5Depth___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_5Depth___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9568, 0, __PYX_ERR(1, 9568, __pyx_L1_error));

  /* "cuda/cuda.pyx":9570
 *     @property
 *     def Depth(self):
 *         return self._ptr[0].Depth             # <<<<<<<<<<<<<<
 *     @Depth.setter
 *     def Depth(self, size_t Depth):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).Depth); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9568
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 *     @property             # <<<<<<<<<<<<<<
 *     def Depth(self):
 *         return self._ptr[0].Depth
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.Depth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9571
 *     def Depth(self):
 *         return self._ptr[0].Depth
 *     @Depth.setter             # <<<<<<<<<<<<<<
 *     def Depth(self, size_t Depth):
 *         self._ptr[0].Depth = Depth
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_5Depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Depth); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_Depth); if (unlikely((__pyx_v_Depth == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9572, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY3D_st_5Depth_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), ((size_t)__pyx_v_Depth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_5Depth_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, size_t __pyx_v_Depth) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9571, 0, __PYX_ERR(1, 9571, __pyx_L1_error));

  /* "cuda/cuda.pyx":9573
 *     @Depth.setter
 *     def Depth(self, size_t Depth):
 *         self._ptr[0].Depth = Depth             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_MEMCPY3D_PEER_st:
 */
  (__pyx_v_self->_ptr[0]).Depth = __pyx_v_Depth;

  /* "cuda/cuda.pyx":9571
 *     def Depth(self):
 *         return self._ptr[0].Depth
 *     @Depth.setter             # <<<<<<<<<<<<<<
 *     def Depth(self, size_t Depth):
 *         self._ptr[0].Depth = Depth
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.Depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_10__reduce_cython__, "CUDA_MEMCPY3D_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUDA_MEMCPY3D_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUDA_MEMCPY3D_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__237)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_12__setstate_cython__, "CUDA_MEMCPY3D_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUDA_MEMCPY3D_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUDA_MEMCPY3D_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_16CUDA_MEMCPY3D_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUDA_MEMCPY3D_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__238)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9640
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 9640, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 9640, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9640, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 9640, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 9640, 0, __PYX_ERR(1, 9640, __pyx_L1_error));

  /* "cuda/cuda.pyx":9641
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9642
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMCPY3D_PEER_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_MEMCPY3D_PEER_st__val);

    /* "cuda/cuda.pyx":9641
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9644
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMCPY3D_PEER_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_MEMCPY3D_PEER_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":9640
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9645
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMCPY3D_PEER_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 9645, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 9645, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9645, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 9645, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 9645, 0, __PYX_ERR(1, 9645, __pyx_L1_error));

  /* "cuda/cuda.pyx":9646
 *             self._ptr = <ccuda.CUDA_MEMCPY3D_PEER_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)             # <<<<<<<<<<<<<<
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)
 *         self._srcContext = CUcontext(_ptr=<void_ptr>&self._ptr[0].srcContext)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).srcDevice))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 9646, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_srcDevice);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_srcDevice);
  __pyx_v_self->_srcDevice = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":9647
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)             # <<<<<<<<<<<<<<
 *         self._srcContext = CUcontext(_ptr=<void_ptr>&self._ptr[0].srcContext)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dstDevice)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).srcArray))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 9647, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":9648
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)
 *         self._srcContext = CUcontext(_ptr=<void_ptr>&self._ptr[0].srcContext)             # <<<<<<<<<<<<<<
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._ptr[0].dstArray)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).srcContext))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 9648, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_srcContext);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_srcContext);
  __pyx_v_self->_srcContext = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":9649
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)
 *         self._srcContext = CUcontext(_ptr=<void_ptr>&self._ptr[0].srcContext)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dstDevice)             # <<<<<<<<<<<<<<
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._ptr[0].dstArray)
 *         self._dstContext = CUcontext(_ptr=<void_ptr>&self._ptr[0].dstContext)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).dstDevice))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 9649, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":9650
 *         self._srcContext = CUcontext(_ptr=<void_ptr>&self._ptr[0].srcContext)
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._ptr[0].dstArray)             # <<<<<<<<<<<<<<
 *         self._dstContext = CUcontext(_ptr=<void_ptr>&self._ptr[0].dstContext)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).dstArray))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 9650, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dstArray);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dstArray);
  __pyx_v_self->_dstArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":9651
 *         self._dstDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dstDevice)
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._ptr[0].dstArray)
 *         self._dstContext = CUcontext(_ptr=<void_ptr>&self._ptr[0].dstContext)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).dstContext))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 9651, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":9645
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMCPY3D_PEER_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._srcDevice = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].srcDevice)
 *         self._srcArray = CUarray(_ptr=<void_ptr>&self._ptr[0].srcArray)
 */

  /* 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.cuda.CUDA_MEMCPY3D_PEER_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9652
 *         self._dstArray = CUarray(_ptr=<void_ptr>&self._ptr[0].dstArray)
 *         self._dstContext = CUcontext(_ptr=<void_ptr>&self._ptr[0].dstContext)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 9652, 0, __PYX_ERR(1, 9652, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_MEMCPY3D_PEER_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":9654
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_6getPtr, "CUDA_MEMCPY3D_PEER_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__239)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 9654, 0, __PYX_ERR(1, 9654, __pyx_L1_error));

  /* "cuda/cuda.pyx":9655
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9654
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9656
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 9656, 0, __PYX_ERR(1, 9656, __pyx_L1_error));

  /* "cuda/cuda.pyx":9657
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9658
 *     def __repr__(self):
 *         if self._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(1, 9658, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":9659
 *         if self._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/cuda.pyx":9660
 *             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_n_s_srcXInBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9660, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9660, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_srcXInBytes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9660, __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(1, 9660, __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)) __PYX_ERR(1, 9660, __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(1, 9660, __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/cuda.pyx":9659
 *         if self._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/cuda.pyx":9661
 *             try:
 *                 str_list += ['srcXInBytes : ' + str(self.srcXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcXInBytes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9661, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9662
 *                 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(1, 9662, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_srcXInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcXInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_srcXInBytes_ValueError)) __PYX_ERR(1, 9662, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9662, __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/cuda.pyx":9659
 *         if self._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/cuda.pyx":9663
 *             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/cuda.pyx":9664
 *                 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_n_s_srcY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9664, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9664, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_srcY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9664, __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(1, 9664, __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)) __PYX_ERR(1, 9664, __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(1, 9664, __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/cuda.pyx":9663
 *             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/cuda.pyx":9665
 *             try:
 *                 str_list += ['srcY : ' + str(self.srcY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcY : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9665, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9666
 *                 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(1, 9666, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_srcY_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_srcY_ValueError)) __PYX_ERR(1, 9666, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9666, __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/cuda.pyx":9663
 *             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/cuda.pyx":9667
 *             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/cuda.pyx":9668
 *                 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_n_s_srcZ_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9668, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9668, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_srcZ, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9668, __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(1, 9668, __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)) __PYX_ERR(1, 9668, __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(1, 9668, __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/cuda.pyx":9667
 *             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/cuda.pyx":9669
 *             try:
 *                 str_list += ['srcZ : ' + str(self.srcZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcZ : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9669, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9670
 *                 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(1, 9670, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_srcZ_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_srcZ_ValueError)) __PYX_ERR(1, 9670, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9670, __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/cuda.pyx":9667
 *             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/cuda.pyx":9671
 *             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/cuda.pyx":9672
 *                 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_n_s_srcLOD_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9672, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9672, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_srcLOD, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9672, __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(1, 9672, __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)) __PYX_ERR(1, 9672, __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(1, 9672, __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/cuda.pyx":9671
 *             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/cuda.pyx":9673
 *             try:
 *                 str_list += ['srcLOD : ' + str(self.srcLOD)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcLOD : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9673, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9674
 *                 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(1, 9674, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_srcLOD_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcLOD_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_srcLOD_ValueError)) __PYX_ERR(1, 9674, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9674, __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/cuda.pyx":9671
 *             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/cuda.pyx":9675
 *             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/cuda.pyx":9676
 *                 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_n_s_srcMemoryType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9676, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9676, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_srcMemoryType, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9676, __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(1, 9676, __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)) __PYX_ERR(1, 9676, __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(1, 9676, __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/cuda.pyx":9675
 *             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/cuda.pyx":9677
 *             try:
 *                 str_list += ['srcMemoryType : ' + str(self.srcMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcMemoryType : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9677, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9678
 *                 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(1, 9678, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_srcMemoryType_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcMemoryType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_srcMemoryType_ValueError)) __PYX_ERR(1, 9678, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9678, __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/cuda.pyx":9675
 *             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/cuda.pyx":9679
 *             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/cuda.pyx":9680
 *                 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_n_s_srcHost_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9680, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9680, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_srcHost, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9680, __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(1, 9680, __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)) __PYX_ERR(1, 9680, __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(1, 9680, __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/cuda.pyx":9679
 *             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/cuda.pyx":9681
 *             try:
 *                 str_list += ['srcHost : ' + hex(self.srcHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHost : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9681, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9682
 *                 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(1, 9682, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_srcHost_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcHost_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_srcHost_ValueError)) __PYX_ERR(1, 9682, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9682, __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/cuda.pyx":9679
 *             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/cuda.pyx":9683
 *             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/cuda.pyx":9684
 *                 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_n_s_srcDevice_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9684, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9684, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_srcDevice, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9684, __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(1, 9684, __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)) __PYX_ERR(1, 9684, __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(1, 9684, __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/cuda.pyx":9683
 *             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/cuda.pyx":9685
 *             try:
 *                 str_list += ['srcDevice : ' + str(self.srcDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcDevice : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9685, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9686
 *                 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(1, 9686, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_srcDevice_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcDevice_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_srcDevice_ValueError)) __PYX_ERR(1, 9686, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9686, __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/cuda.pyx":9683
 *             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/cuda.pyx":9687
 *             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/cuda.pyx":9688
 *                 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_n_s_srcArray_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9688, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9688, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_srcArray, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9688, __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(1, 9688, __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)) __PYX_ERR(1, 9688, __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(1, 9688, __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/cuda.pyx":9687
 *             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/cuda.pyx":9689
 *             try:
 *                 str_list += ['srcArray : ' + str(self.srcArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcArray : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9689, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9690
 *                 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(1, 9690, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_srcArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_srcArray_ValueError)) __PYX_ERR(1, 9690, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9690, __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/cuda.pyx":9687
 *             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/cuda.pyx":9691
 *             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/cuda.pyx":9692
 *                 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_n_s_srcContext_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9692, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9692, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_srcContext, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9692, __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(1, 9692, __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)) __PYX_ERR(1, 9692, __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(1, 9692, __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/cuda.pyx":9691
 *             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/cuda.pyx":9693
 *             try:
 *                 str_list += ['srcContext : ' + str(self.srcContext)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcContext : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9693, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9694
 *                 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(1, 9694, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_srcContext_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcContext_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_srcContext_ValueError)) __PYX_ERR(1, 9694, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9694, __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/cuda.pyx":9691
 *             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/cuda.pyx":9695
 *             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/cuda.pyx":9696
 *                 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_n_s_srcPitch_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9696, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9696, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_srcPitch, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9696, __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(1, 9696, __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)) __PYX_ERR(1, 9696, __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(1, 9696, __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/cuda.pyx":9695
 *             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/cuda.pyx":9697
 *             try:
 *                 str_list += ['srcPitch : ' + str(self.srcPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcPitch : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9697, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9698
 *                 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(1, 9698, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_srcPitch_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcPitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_srcPitch_ValueError)) __PYX_ERR(1, 9698, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9698, __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/cuda.pyx":9695
 *             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/cuda.pyx":9699
 *             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/cuda.pyx":9700
 *                 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_n_s_srcHeight_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9700, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9700, __pyx_L84_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_srcHeight, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9700, __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(1, 9700, __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)) __PYX_ERR(1, 9700, __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(1, 9700, __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/cuda.pyx":9699
 *             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/cuda.pyx":9701
 *             try:
 *                 str_list += ['srcHeight : ' + str(self.srcHeight)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['srcHeight : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9701, __pyx_L86_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9702
 *                 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(1, 9702, __pyx_L86_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_srcHeight_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_srcHeight_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_srcHeight_ValueError)) __PYX_ERR(1, 9702, __pyx_L86_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9702, __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/cuda.pyx":9699
 *             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/cuda.pyx":9703
 *             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/cuda.pyx":9704
 *                 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_n_s_dstXInBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9704, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9704, __pyx_L92_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_dstXInBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9704, __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(1, 9704, __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)) __PYX_ERR(1, 9704, __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(1, 9704, __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/cuda.pyx":9703
 *             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/cuda.pyx":9705
 *             try:
 *                 str_list += ['dstXInBytes : ' + str(self.dstXInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstXInBytes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9705, __pyx_L94_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9706
 *                 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(1, 9706, __pyx_L94_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_dstXInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstXInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_dstXInBytes_ValueError)) __PYX_ERR(1, 9706, __pyx_L94_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9706, __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/cuda.pyx":9703
 *             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/cuda.pyx":9707
 *             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/cuda.pyx":9708
 *                 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_n_s_dstY_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9708, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9708, __pyx_L100_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dstY, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9708, __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(1, 9708, __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)) __PYX_ERR(1, 9708, __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(1, 9708, __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/cuda.pyx":9707
 *             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/cuda.pyx":9709
 *             try:
 *                 str_list += ['dstY : ' + str(self.dstY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstY : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9709, __pyx_L102_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9710
 *                 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(1, 9710, __pyx_L102_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_dstY_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_dstY_ValueError)) __PYX_ERR(1, 9710, __pyx_L102_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9710, __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/cuda.pyx":9707
 *             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/cuda.pyx":9711
 *             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/cuda.pyx":9712
 *                 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_n_s_dstZ_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9712, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9712, __pyx_L108_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_dstZ, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9712, __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(1, 9712, __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)) __PYX_ERR(1, 9712, __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(1, 9712, __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/cuda.pyx":9711
 *             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/cuda.pyx":9713
 *             try:
 *                 str_list += ['dstZ : ' + str(self.dstZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstZ : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9713, __pyx_L110_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9714
 *                 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(1, 9714, __pyx_L110_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_dstZ_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_dstZ_ValueError)) __PYX_ERR(1, 9714, __pyx_L110_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9714, __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/cuda.pyx":9711
 *             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/cuda.pyx":9715
 *             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/cuda.pyx":9716
 *                 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_n_s_dstLOD_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9716, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9716, __pyx_L116_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dstLOD, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9716, __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(1, 9716, __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)) __PYX_ERR(1, 9716, __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(1, 9716, __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/cuda.pyx":9715
 *             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/cuda.pyx":9717
 *             try:
 *                 str_list += ['dstLOD : ' + str(self.dstLOD)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstLOD : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9717, __pyx_L118_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9718
 *                 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(1, 9718, __pyx_L118_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_dstLOD_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstLOD_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_dstLOD_ValueError)) __PYX_ERR(1, 9718, __pyx_L118_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9718, __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/cuda.pyx":9715
 *             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/cuda.pyx":9719
 *             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/cuda.pyx":9720
 *                 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_n_s_dstMemoryType_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9720, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9720, __pyx_L124_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_dstMemoryType, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9720, __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(1, 9720, __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)) __PYX_ERR(1, 9720, __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(1, 9720, __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/cuda.pyx":9719
 *             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/cuda.pyx":9721
 *             try:
 *                 str_list += ['dstMemoryType : ' + str(self.dstMemoryType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstMemoryType : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9721, __pyx_L126_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9722
 *                 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(1, 9722, __pyx_L126_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_dstMemoryType_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstMemoryType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_dstMemoryType_ValueError)) __PYX_ERR(1, 9722, __pyx_L126_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9722, __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/cuda.pyx":9719
 *             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/cuda.pyx":9723
 *             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/cuda.pyx":9724
 *                 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_n_s_dstHost_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9724, __pyx_L132_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9724, __pyx_L132_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dstHost, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9724, __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(1, 9724, __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)) __PYX_ERR(1, 9724, __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(1, 9724, __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/cuda.pyx":9723
 *             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/cuda.pyx":9725
 *             try:
 *                 str_list += ['dstHost : ' + hex(self.dstHost)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHost : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9725, __pyx_L134_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9726
 *                 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(1, 9726, __pyx_L134_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_dstHost_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstHost_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_dstHost_ValueError)) __PYX_ERR(1, 9726, __pyx_L134_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9726, __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/cuda.pyx":9723
 *             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/cuda.pyx":9727
 *             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/cuda.pyx":9728
 *                 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_n_s_dstDevice_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9728, __pyx_L140_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9728, __pyx_L140_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_dstDevice, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9728, __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(1, 9728, __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)) __PYX_ERR(1, 9728, __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(1, 9728, __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/cuda.pyx":9727
 *             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/cuda.pyx":9729
 *             try:
 *                 str_list += ['dstDevice : ' + str(self.dstDevice)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstDevice : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9729, __pyx_L142_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9730
 *                 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(1, 9730, __pyx_L142_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_dstDevice_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstDevice_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_dstDevice_ValueError)) __PYX_ERR(1, 9730, __pyx_L142_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9730, __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/cuda.pyx":9727
 *             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/cuda.pyx":9731
 *             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/cuda.pyx":9732
 *                 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_n_s_dstArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9732, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9732, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dstArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9732, __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(1, 9732, __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)) __PYX_ERR(1, 9732, __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(1, 9732, __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/cuda.pyx":9731
 *             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/cuda.pyx":9733
 *             try:
 *                 str_list += ['dstArray : ' + str(self.dstArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstArray : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9733, __pyx_L150_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9734
 *                 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(1, 9734, __pyx_L150_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_dstArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_dstArray_ValueError)) __PYX_ERR(1, 9734, __pyx_L150_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9734, __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/cuda.pyx":9731
 *             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/cuda.pyx":9735
 *             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/cuda.pyx":9736
 *                 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_n_s_dstContext_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9736, __pyx_L156_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9736, __pyx_L156_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_dstContext, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9736, __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(1, 9736, __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)) __PYX_ERR(1, 9736, __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(1, 9736, __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/cuda.pyx":9735
 *             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/cuda.pyx":9737
 *             try:
 *                 str_list += ['dstContext : ' + str(self.dstContext)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstContext : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9737, __pyx_L158_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9738
 *                 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(1, 9738, __pyx_L158_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_dstContext_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstContext_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_dstContext_ValueError)) __PYX_ERR(1, 9738, __pyx_L158_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9738, __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/cuda.pyx":9735
 *             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/cuda.pyx":9739
 *             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/cuda.pyx":9740
 *                 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_n_s_dstPitch_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9740, __pyx_L164_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9740, __pyx_L164_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dstPitch, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9740, __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(1, 9740, __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)) __PYX_ERR(1, 9740, __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(1, 9740, __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/cuda.pyx":9739
 *             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/cuda.pyx":9741
 *             try:
 *                 str_list += ['dstPitch : ' + str(self.dstPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstPitch : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9741, __pyx_L166_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9742
 *                 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(1, 9742, __pyx_L166_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_dstPitch_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstPitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_dstPitch_ValueError)) __PYX_ERR(1, 9742, __pyx_L166_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9742, __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/cuda.pyx":9739
 *             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/cuda.pyx":9743
 *             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/cuda.pyx":9744
 *                 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_n_s_dstHeight_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9744, __pyx_L172_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9744, __pyx_L172_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_dstHeight, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9744, __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(1, 9744, __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)) __PYX_ERR(1, 9744, __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(1, 9744, __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/cuda.pyx":9743
 *             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/cuda.pyx":9745
 *             try:
 *                 str_list += ['dstHeight : ' + str(self.dstHeight)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dstHeight : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9745, __pyx_L174_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9746
 *                 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(1, 9746, __pyx_L174_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_dstHeight_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dstHeight_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_dstHeight_ValueError)) __PYX_ERR(1, 9746, __pyx_L174_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9746, __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/cuda.pyx":9743
 *             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/cuda.pyx":9747
 *             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/cuda.pyx":9748
 *                 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_n_s_WidthInBytes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9748, __pyx_L180_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9748, __pyx_L180_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_WidthInBytes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9748, __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(1, 9748, __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)) __PYX_ERR(1, 9748, __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(1, 9748, __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/cuda.pyx":9747
 *             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/cuda.pyx":9749
 *             try:
 *                 str_list += ['WidthInBytes : ' + str(self.WidthInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['WidthInBytes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9749, __pyx_L182_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9750
 *                 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(1, 9750, __pyx_L182_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_WidthInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_WidthInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_WidthInBytes_ValueError)) __PYX_ERR(1, 9750, __pyx_L182_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9750, __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/cuda.pyx":9747
 *             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/cuda.pyx":9751
 *             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/cuda.pyx":9752
 *                 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_n_s_Height_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9752, __pyx_L188_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9752, __pyx_L188_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_Height, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9752, __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(1, 9752, __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)) __PYX_ERR(1, 9752, __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(1, 9752, __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/cuda.pyx":9751
 *             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/cuda.pyx":9753
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9753, __pyx_L190_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":9754
 *                 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(1, 9754, __pyx_L190_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_Height_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_Height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_Height_ValueError)) __PYX_ERR(1, 9754, __pyx_L190_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 9754, __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/cuda.pyx":9751
 *             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/cuda.pyx":9755
 *             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/cuda.pyx":9756
 *                 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_n_s_Depth_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9756, __pyx_L196_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 9756, __pyx_L196_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_Depth, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9756, __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(1, 9756, __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)) __PYX_ERR(1, 9756, __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(1, 9756, __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/cuda.pyx":9755
 *             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/cuda.pyx":9757
 *             try:
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 9757, __pyx_L198_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":9758
 *                 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(1, 9758, __pyx_L198_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_Depth_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_Depth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_Depth_ValueError)) __PYX_ERR(1, 9758, __pyx_L198_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 9758, __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/cuda.pyx":9755
 *             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/cuda.pyx":9759
 *             except ValueError:
 *                 str_list += ['Depth : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9759, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":9657
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":9761
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def srcXInBytes(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":9656
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9762
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self):
 *         return self._ptr[0].srcXInBytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9762, 0, __PYX_ERR(1, 9762, __pyx_L1_error));

  /* "cuda/cuda.pyx":9764
 *     @property
 *     def srcXInBytes(self):
 *         return self._ptr[0].srcXInBytes             # <<<<<<<<<<<<<<
 *     @srcXInBytes.setter
 *     def srcXInBytes(self, size_t srcXInBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).srcXInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9762
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self):
 *         return self._ptr[0].srcXInBytes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.srcXInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9765
 *     def srcXInBytes(self):
 *         return self._ptr[0].srcXInBytes
 *     @srcXInBytes.setter             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._ptr[0].srcXInBytes = srcXInBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcXInBytes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_srcXInBytes); if (unlikely((__pyx_v_srcXInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9766, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcXInBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9765, 0, __PYX_ERR(1, 9765, __pyx_L1_error));

  /* "cuda/cuda.pyx":9767
 *     @srcXInBytes.setter
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._ptr[0].srcXInBytes = srcXInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def srcY(self):
 */
  (__pyx_v_self->_ptr[0]).srcXInBytes = __pyx_v_srcXInBytes;

  /* "cuda/cuda.pyx":9765
 *     def srcXInBytes(self):
 *         return self._ptr[0].srcXInBytes
 *     @srcXInBytes.setter             # <<<<<<<<<<<<<<
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._ptr[0].srcXInBytes = srcXInBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.srcXInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9768
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._ptr[0].srcXInBytes = srcXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def srcY(self):
 *         return self._ptr[0].srcY
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcY___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9768, 0, __PYX_ERR(1, 9768, __pyx_L1_error));

  /* "cuda/cuda.pyx":9770
 *     @property
 *     def srcY(self):
 *         return self._ptr[0].srcY             # <<<<<<<<<<<<<<
 *     @srcY.setter
 *     def srcY(self, size_t srcY):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).srcY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9770, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9768
 *     def srcXInBytes(self, size_t srcXInBytes):
 *         self._ptr[0].srcXInBytes = srcXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def srcY(self):
 *         return self._ptr[0].srcY
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.srcY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9771
 *     def srcY(self):
 *         return self._ptr[0].srcY
 *     @srcY.setter             # <<<<<<<<<<<<<<
 *     def srcY(self, size_t srcY):
 *         self._ptr[0].srcY = srcY
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcY); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_srcY); if (unlikely((__pyx_v_srcY == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9772, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcY_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcY) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9771, 0, __PYX_ERR(1, 9771, __pyx_L1_error));

  /* "cuda/cuda.pyx":9773
 *     @srcY.setter
 *     def srcY(self, size_t srcY):
 *         self._ptr[0].srcY = srcY             # <<<<<<<<<<<<<<
 *     @property
 *     def srcZ(self):
 */
  (__pyx_v_self->_ptr[0]).srcY = __pyx_v_srcY;

  /* "cuda/cuda.pyx":9771
 *     def srcY(self):
 *         return self._ptr[0].srcY
 *     @srcY.setter             # <<<<<<<<<<<<<<
 *     def srcY(self, size_t srcY):
 *         self._ptr[0].srcY = srcY
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.srcY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9774
 *     def srcY(self, size_t srcY):
 *         self._ptr[0].srcY = srcY
 *     @property             # <<<<<<<<<<<<<<
 *     def srcZ(self):
 *         return self._ptr[0].srcZ
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcZ___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9774, 0, __PYX_ERR(1, 9774, __pyx_L1_error));

  /* "cuda/cuda.pyx":9776
 *     @property
 *     def srcZ(self):
 *         return self._ptr[0].srcZ             # <<<<<<<<<<<<<<
 *     @srcZ.setter
 *     def srcZ(self, size_t srcZ):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).srcZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9774
 *     def srcY(self, size_t srcY):
 *         self._ptr[0].srcY = srcY
 *     @property             # <<<<<<<<<<<<<<
 *     def srcZ(self):
 *         return self._ptr[0].srcZ
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.srcZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9777
 *     def srcZ(self):
 *         return self._ptr[0].srcZ
 *     @srcZ.setter             # <<<<<<<<<<<<<<
 *     def srcZ(self, size_t srcZ):
 *         self._ptr[0].srcZ = srcZ
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcZ); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_srcZ); if (unlikely((__pyx_v_srcZ == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9778, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcZ_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcZ) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9777, 0, __PYX_ERR(1, 9777, __pyx_L1_error));

  /* "cuda/cuda.pyx":9779
 *     @srcZ.setter
 *     def srcZ(self, size_t srcZ):
 *         self._ptr[0].srcZ = srcZ             # <<<<<<<<<<<<<<
 *     @property
 *     def srcLOD(self):
 */
  (__pyx_v_self->_ptr[0]).srcZ = __pyx_v_srcZ;

  /* "cuda/cuda.pyx":9777
 *     def srcZ(self):
 *         return self._ptr[0].srcZ
 *     @srcZ.setter             # <<<<<<<<<<<<<<
 *     def srcZ(self, size_t srcZ):
 *         self._ptr[0].srcZ = srcZ
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.srcZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9780
 *     def srcZ(self, size_t srcZ):
 *         self._ptr[0].srcZ = srcZ
 *     @property             # <<<<<<<<<<<<<<
 *     def srcLOD(self):
 *         return self._ptr[0].srcLOD
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6srcLOD_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_6srcLOD___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6srcLOD___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9780, 0, __PYX_ERR(1, 9780, __pyx_L1_error));

  /* "cuda/cuda.pyx":9782
 *     @property
 *     def srcLOD(self):
 *         return self._ptr[0].srcLOD             # <<<<<<<<<<<<<<
 *     @srcLOD.setter
 *     def srcLOD(self, size_t srcLOD):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).srcLOD); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9780
 *     def srcZ(self, size_t srcZ):
 *         self._ptr[0].srcZ = srcZ
 *     @property             # <<<<<<<<<<<<<<
 *     def srcLOD(self):
 *         return self._ptr[0].srcLOD
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.srcLOD.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9783
 *     def srcLOD(self):
 *         return self._ptr[0].srcLOD
 *     @srcLOD.setter             # <<<<<<<<<<<<<<
 *     def srcLOD(self, size_t srcLOD):
 *         self._ptr[0].srcLOD = srcLOD
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6srcLOD_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcLOD); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_srcLOD); if (unlikely((__pyx_v_srcLOD == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9784, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st_6srcLOD_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_6srcLOD_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcLOD) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9783, 0, __PYX_ERR(1, 9783, __pyx_L1_error));

  /* "cuda/cuda.pyx":9785
 *     @srcLOD.setter
 *     def srcLOD(self, size_t srcLOD):
 *         self._ptr[0].srcLOD = srcLOD             # <<<<<<<<<<<<<<
 *     @property
 *     def srcMemoryType(self):
 */
  (__pyx_v_self->_ptr[0]).srcLOD = __pyx_v_srcLOD;

  /* "cuda/cuda.pyx":9783
 *     def srcLOD(self):
 *         return self._ptr[0].srcLOD
 *     @srcLOD.setter             # <<<<<<<<<<<<<<
 *     def srcLOD(self, size_t srcLOD):
 *         self._ptr[0].srcLOD = srcLOD
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.srcLOD.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9786
 *     def srcLOD(self, size_t srcLOD):
 *         self._ptr[0].srcLOD = srcLOD
 *     @property             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self):
 *         return CUmemorytype(self._ptr[0].srcMemoryType)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9786, 0, __PYX_ERR(1, 9786, __pyx_L1_error));

  /* "cuda/cuda.pyx":9788
 *     @property
 *     def srcMemoryType(self):
 *         return CUmemorytype(self._ptr[0].srcMemoryType)             # <<<<<<<<<<<<<<
 *     @srcMemoryType.setter
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemorytype_enum((__pyx_v_self->_ptr[0]).srcMemoryType); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9788, __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/cuda.pyx":9786
 *     def srcLOD(self, size_t srcLOD):
 *         self._ptr[0].srcLOD = srcLOD
 *     @property             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self):
 *         return CUmemorytype(self._ptr[0].srcMemoryType)
 */

  /* 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.cuda.CUDA_MEMCPY3D_PEER_st.srcMemoryType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9789
 *     def srcMemoryType(self):
 *         return CUmemorytype(self._ptr[0].srcMemoryType)
 *     @srcMemoryType.setter             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._ptr[0].srcMemoryType = srcMemoryType.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcMemoryType); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 9790, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcMemoryType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcMemoryType) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9789, 0, __PYX_ERR(1, 9789, __pyx_L1_error));

  /* "cuda/cuda.pyx":9791
 *     @srcMemoryType.setter
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._ptr[0].srcMemoryType = srcMemoryType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def srcHost(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_srcMemoryType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemorytype_enum)__Pyx_PyInt_As_enum__CUmemorytype_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 9791, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).srcMemoryType = __pyx_t_2;

  /* "cuda/cuda.pyx":9789
 *     def srcMemoryType(self):
 *         return CUmemorytype(self._ptr[0].srcMemoryType)
 *     @srcMemoryType.setter             # <<<<<<<<<<<<<<
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._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.cuda.CUDA_MEMCPY3D_PEER_st.srcMemoryType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9792
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._ptr[0].srcMemoryType = srcMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHost(self):
 *         return <void_ptr>self._ptr[0].srcHost
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7srcHost_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_7srcHost___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7srcHost___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9792, 0, __PYX_ERR(1, 9792, __pyx_L1_error));

  /* "cuda/cuda.pyx":9794
 *     @property
 *     def srcHost(self):
 *         return <void_ptr>self._ptr[0].srcHost             # <<<<<<<<<<<<<<
 *     @srcHost.setter
 *     def srcHost(self, srcHost):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).srcHost)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9792
 *     def srcMemoryType(self, srcMemoryType not None : CUmemorytype):
 *         self._ptr[0].srcMemoryType = srcMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHost(self):
 *         return <void_ptr>self._ptr[0].srcHost
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.srcHost.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9795
 *     def srcHost(self):
 *         return <void_ptr>self._ptr[0].srcHost
 *     @srcHost.setter             # <<<<<<<<<<<<<<
 *     def srcHost(self, srcHost):
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7srcHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcHost); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_7srcHost_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcHost));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7srcHost_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcHost) {
  PyObject *__pyx_v__csrcHost = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9795, 0, __PYX_ERR(1, 9795, __pyx_L1_error));

  /* "cuda/cuda.pyx":9797
 *     @srcHost.setter
 *     def srcHost(self, srcHost):
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)             # <<<<<<<<<<<<<<
 *         self._ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_srcHost); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__csrcHost = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":9798
 *     def srcHost(self, srcHost):
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)
 *         self._ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def srcDevice(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__csrcHost, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9798, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).srcHost = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":9795
 *     def srcHost(self):
 *         return <void_ptr>self._ptr[0].srcHost
 *     @srcHost.setter             # <<<<<<<<<<<<<<
 *     def srcHost(self, srcHost):
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.srcHost.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__csrcHost);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9799
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)
 *         self._ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def srcDevice(self):
 *         return self._srcDevice
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcDevice_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcDevice___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcDevice___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9799, 0, __PYX_ERR(1, 9799, __pyx_L1_error));

  /* "cuda/cuda.pyx":9801
 *     @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/cuda.pyx":9799
 *         _csrcHost = utils.HelperInputVoidPtr(srcHost)
 *         self._ptr[0].srcHost = <void*><void_ptr>_csrcHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def srcDevice(self):
 *         return self._srcDevice
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.srcDevice.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9802
 *     def srcDevice(self):
 *         return self._srcDevice
 *     @srcDevice.setter             # <<<<<<<<<<<<<<
 *     def srcDevice(self, srcDevice):
 *         cdef ccuda.CUdeviceptr csrcDevice
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcDevice); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcDevice_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcDevice));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcDevice_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcDevice) {
  CUdeviceptr __pyx_v_csrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9802, 0, __PYX_ERR(1, 9802, __pyx_L1_error));

  /* "cuda/cuda.pyx":9805
 *     def srcDevice(self, srcDevice):
 *         cdef ccuda.CUdeviceptr csrcDevice
 *         if srcDevice is None:             # <<<<<<<<<<<<<<
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 */
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9806
 *         cdef ccuda.CUdeviceptr csrcDevice
 *         if srcDevice is None:
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)
 */
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":9805
 *     def srcDevice(self, srcDevice):
 *         cdef ccuda.CUdeviceptr csrcDevice
 *         if srcDevice is None:             # <<<<<<<<<<<<<<
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9807
 *         if srcDevice is None:
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             psrcDevice = int(srcDevice)
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9808
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9808, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":9809
 *         elif isinstance(srcDevice, (CUdeviceptr)):
 *             psrcDevice = int(srcDevice)
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9809, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":9807
 *         if srcDevice is None:
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(srcDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             psrcDevice = int(srcDevice)
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9811
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *         self._srcDevice._ptr[0] = csrcDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9811, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9811, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":9812
 *         else:
 *             psrcDevice = int(CUdeviceptr(srcDevice))
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *         self._srcDevice._ptr[0] = csrcDevice
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9812, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":9813
 *             psrcDevice = int(CUdeviceptr(srcDevice))
 *             csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *         self._srcDevice._ptr[0] = csrcDevice             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_srcDevice->_ptr[0]) = __pyx_v_csrcDevice;

  /* "cuda/cuda.pyx":9802
 *     def srcDevice(self):
 *         return self._srcDevice
 *     @srcDevice.setter             # <<<<<<<<<<<<<<
 *     def srcDevice(self, srcDevice):
 *         cdef ccuda.CUdeviceptr csrcDevice
 */

  /* 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.cuda.CUDA_MEMCPY3D_PEER_st.srcDevice.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcDevice);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9815
 *         self._srcDevice._ptr[0] = csrcDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def srcArray(self):
 *         return self._srcArray
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcArray___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9815, 0, __PYX_ERR(1, 9815, __pyx_L1_error));

  /* "cuda/cuda.pyx":9817
 *     @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/cuda.pyx":9815
 *         self._srcDevice._ptr[0] = csrcDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def srcArray(self):
 *         return self._srcArray
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.srcArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9818
 *     def srcArray(self):
 *         return self._srcArray
 *     @srcArray.setter             # <<<<<<<<<<<<<<
 *     def srcArray(self, srcArray):
 *         cdef ccuda.CUarray csrcArray
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcArray); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcArray_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcArray) {
  CUarray __pyx_v_csrcArray;
  PyObject *__pyx_v_psrcArray = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9818, 0, __PYX_ERR(1, 9818, __pyx_L1_error));

  /* "cuda/cuda.pyx":9821
 *     def srcArray(self, srcArray):
 *         cdef ccuda.CUarray csrcArray
 *         if srcArray is None:             # <<<<<<<<<<<<<<
 *             csrcArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_srcArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9822
 *         cdef ccuda.CUarray csrcArray
 *         if srcArray is None:
 *             csrcArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)
 */
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":9821
 *     def srcArray(self, srcArray):
 *         cdef ccuda.CUarray csrcArray
 *         if srcArray is None:             # <<<<<<<<<<<<<<
 *             csrcArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9823
 *         if srcArray is None:
 *             csrcArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             psrcArray = int(srcArray)
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9824
 *             csrcArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)             # <<<<<<<<<<<<<<
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":9825
 *         elif isinstance(srcArray, (CUarray,)):
 *             psrcArray = int(srcArray)
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *         else:
 *             psrcArray = int(CUarray(srcArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9825, __pyx_L1_error)
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":9823
 *         if srcArray is None:
 *             csrcArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             psrcArray = int(srcArray)
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9827
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         else:
 *             psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         self._srcArray._ptr[0] = csrcArray
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9827, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9827, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":9828
 *         else:
 *             psrcArray = int(CUarray(srcArray))
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *         self._srcArray._ptr[0] = csrcArray
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9828, __pyx_L1_error)
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":9829
 *             psrcArray = int(CUarray(srcArray))
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         self._srcArray._ptr[0] = csrcArray             # <<<<<<<<<<<<<<
 *     @property
 *     def srcContext(self):
 */
  (__pyx_v_self->_srcArray->_ptr[0]) = __pyx_v_csrcArray;

  /* "cuda/cuda.pyx":9818
 *     def srcArray(self):
 *         return self._srcArray
 *     @srcArray.setter             # <<<<<<<<<<<<<<
 *     def srcArray(self, srcArray):
 *         cdef ccuda.CUarray csrcArray
 */

  /* 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.cuda.CUDA_MEMCPY3D_PEER_st.srcArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcArray);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9830
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         self._srcArray._ptr[0] = csrcArray
 *     @property             # <<<<<<<<<<<<<<
 *     def srcContext(self):
 *         return self._srcContext
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10srcContext_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_10srcContext___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10srcContext___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9830, 0, __PYX_ERR(1, 9830, __pyx_L1_error));

  /* "cuda/cuda.pyx":9832
 *     @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/cuda.pyx":9830
 *             csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *         self._srcArray._ptr[0] = csrcArray
 *     @property             # <<<<<<<<<<<<<<
 *     def srcContext(self):
 *         return self._srcContext
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.srcContext.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9833
 *     def srcContext(self):
 *         return self._srcContext
 *     @srcContext.setter             # <<<<<<<<<<<<<<
 *     def srcContext(self, srcContext):
 *         cdef ccuda.CUcontext csrcContext
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10srcContext_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_srcContext); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_10srcContext_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_srcContext));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10srcContext_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_srcContext) {
  CUcontext __pyx_v_csrcContext;
  PyObject *__pyx_v_psrcContext = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9833, 0, __PYX_ERR(1, 9833, __pyx_L1_error));

  /* "cuda/cuda.pyx":9836
 *     def srcContext(self, srcContext):
 *         cdef ccuda.CUcontext csrcContext
 *         if srcContext is None:             # <<<<<<<<<<<<<<
 *             csrcContext = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(srcContext, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_srcContext == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9837
 *         cdef ccuda.CUcontext csrcContext
 *         if srcContext is None:
 *             csrcContext = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(srcContext, (CUcontext,)):
 *             psrcContext = int(srcContext)
 */
    __pyx_v_csrcContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":9836
 *     def srcContext(self, srcContext):
 *         cdef ccuda.CUcontext csrcContext
 *         if srcContext is None:             # <<<<<<<<<<<<<<
 *             csrcContext = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(srcContext, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9838
 *         if srcContext is None:
 *             csrcContext = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(srcContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             psrcContext = int(srcContext)
 *             csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcContext, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9839
 *             csrcContext = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(srcContext, (CUcontext,)):
 *             psrcContext = int(srcContext)             # <<<<<<<<<<<<<<
 *             csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9839, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcContext = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":9840
 *         elif isinstance(srcContext, (CUcontext,)):
 *             psrcContext = int(srcContext)
 *             csrcContext = <ccuda.CUcontext><void_ptr>psrcContext             # <<<<<<<<<<<<<<
 *         else:
 *             psrcContext = int(CUcontext(srcContext))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9840, __pyx_L1_error)
    __pyx_v_csrcContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":9838
 *         if srcContext is None:
 *             csrcContext = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(srcContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             psrcContext = int(srcContext)
 *             csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9842
 *             csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 *         else:
 *             psrcContext = int(CUcontext(srcContext))             # <<<<<<<<<<<<<<
 *             csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 *         self._srcContext._ptr[0] = csrcContext
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_srcContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcContext = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":9843
 *         else:
 *             psrcContext = int(CUcontext(srcContext))
 *             csrcContext = <ccuda.CUcontext><void_ptr>psrcContext             # <<<<<<<<<<<<<<
 *         self._srcContext._ptr[0] = csrcContext
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9843, __pyx_L1_error)
    __pyx_v_csrcContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":9844
 *             psrcContext = int(CUcontext(srcContext))
 *             csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 *         self._srcContext._ptr[0] = csrcContext             # <<<<<<<<<<<<<<
 *     @property
 *     def srcPitch(self):
 */
  (__pyx_v_self->_srcContext->_ptr[0]) = __pyx_v_csrcContext;

  /* "cuda/cuda.pyx":9833
 *     def srcContext(self):
 *         return self._srcContext
 *     @srcContext.setter             # <<<<<<<<<<<<<<
 *     def srcContext(self, srcContext):
 *         cdef ccuda.CUcontext csrcContext
 */

  /* 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.cuda.CUDA_MEMCPY3D_PEER_st.srcContext.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcContext);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9845
 *             csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 *         self._srcContext._ptr[0] = csrcContext
 *     @property             # <<<<<<<<<<<<<<
 *     def srcPitch(self):
 *         return self._ptr[0].srcPitch
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcPitch___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcPitch___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9845, 0, __PYX_ERR(1, 9845, __pyx_L1_error));

  /* "cuda/cuda.pyx":9847
 *     @property
 *     def srcPitch(self):
 *         return self._ptr[0].srcPitch             # <<<<<<<<<<<<<<
 *     @srcPitch.setter
 *     def srcPitch(self, size_t srcPitch):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).srcPitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9847, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9845
 *             csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 *         self._srcContext._ptr[0] = csrcContext
 *     @property             # <<<<<<<<<<<<<<
 *     def srcPitch(self):
 *         return self._ptr[0].srcPitch
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.srcPitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9848
 *     def srcPitch(self):
 *         return self._ptr[0].srcPitch
 *     @srcPitch.setter             # <<<<<<<<<<<<<<
 *     def srcPitch(self, size_t srcPitch):
 *         self._ptr[0].srcPitch = srcPitch
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcPitch); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_srcPitch); if (unlikely((__pyx_v_srcPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9849, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcPitch_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcPitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcPitch) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9848, 0, __PYX_ERR(1, 9848, __pyx_L1_error));

  /* "cuda/cuda.pyx":9850
 *     @srcPitch.setter
 *     def srcPitch(self, size_t srcPitch):
 *         self._ptr[0].srcPitch = srcPitch             # <<<<<<<<<<<<<<
 *     @property
 *     def srcHeight(self):
 */
  (__pyx_v_self->_ptr[0]).srcPitch = __pyx_v_srcPitch;

  /* "cuda/cuda.pyx":9848
 *     def srcPitch(self):
 *         return self._ptr[0].srcPitch
 *     @srcPitch.setter             # <<<<<<<<<<<<<<
 *     def srcPitch(self, size_t srcPitch):
 *         self._ptr[0].srcPitch = srcPitch
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.srcPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9851
 *     def srcPitch(self, size_t srcPitch):
 *         self._ptr[0].srcPitch = srcPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHeight(self):
 *         return self._ptr[0].srcHeight
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcHeight_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcHeight___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcHeight___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9851, 0, __PYX_ERR(1, 9851, __pyx_L1_error));

  /* "cuda/cuda.pyx":9853
 *     @property
 *     def srcHeight(self):
 *         return self._ptr[0].srcHeight             # <<<<<<<<<<<<<<
 *     @srcHeight.setter
 *     def srcHeight(self, size_t srcHeight):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).srcHeight); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9851
 *     def srcPitch(self, size_t srcPitch):
 *         self._ptr[0].srcPitch = srcPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def srcHeight(self):
 *         return self._ptr[0].srcHeight
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.srcHeight.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9854
 *     def srcHeight(self):
 *         return self._ptr[0].srcHeight
 *     @srcHeight.setter             # <<<<<<<<<<<<<<
 *     def srcHeight(self, size_t srcHeight):
 *         self._ptr[0].srcHeight = srcHeight
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcHeight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_srcHeight); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_srcHeight); if (unlikely((__pyx_v_srcHeight == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9855, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcHeight_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcHeight_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_srcHeight) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9854, 0, __PYX_ERR(1, 9854, __pyx_L1_error));

  /* "cuda/cuda.pyx":9856
 *     @srcHeight.setter
 *     def srcHeight(self, size_t srcHeight):
 *         self._ptr[0].srcHeight = srcHeight             # <<<<<<<<<<<<<<
 *     @property
 *     def dstXInBytes(self):
 */
  (__pyx_v_self->_ptr[0]).srcHeight = __pyx_v_srcHeight;

  /* "cuda/cuda.pyx":9854
 *     def srcHeight(self):
 *         return self._ptr[0].srcHeight
 *     @srcHeight.setter             # <<<<<<<<<<<<<<
 *     def srcHeight(self, size_t srcHeight):
 *         self._ptr[0].srcHeight = srcHeight
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.srcHeight.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9857
 *     def srcHeight(self, size_t srcHeight):
 *         self._ptr[0].srcHeight = srcHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self):
 *         return self._ptr[0].dstXInBytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9857, 0, __PYX_ERR(1, 9857, __pyx_L1_error));

  /* "cuda/cuda.pyx":9859
 *     @property
 *     def dstXInBytes(self):
 *         return self._ptr[0].dstXInBytes             # <<<<<<<<<<<<<<
 *     @dstXInBytes.setter
 *     def dstXInBytes(self, size_t dstXInBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).dstXInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9857
 *     def srcHeight(self, size_t srcHeight):
 *         self._ptr[0].srcHeight = srcHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self):
 *         return self._ptr[0].dstXInBytes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.dstXInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9860
 *     def dstXInBytes(self):
 *         return self._ptr[0].dstXInBytes
 *     @dstXInBytes.setter             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._ptr[0].dstXInBytes = dstXInBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstXInBytes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_dstXInBytes); if (unlikely((__pyx_v_dstXInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9861, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstXInBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9860, 0, __PYX_ERR(1, 9860, __pyx_L1_error));

  /* "cuda/cuda.pyx":9862
 *     @dstXInBytes.setter
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._ptr[0].dstXInBytes = dstXInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def dstY(self):
 */
  (__pyx_v_self->_ptr[0]).dstXInBytes = __pyx_v_dstXInBytes;

  /* "cuda/cuda.pyx":9860
 *     def dstXInBytes(self):
 *         return self._ptr[0].dstXInBytes
 *     @dstXInBytes.setter             # <<<<<<<<<<<<<<
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._ptr[0].dstXInBytes = dstXInBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.dstXInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9863
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._ptr[0].dstXInBytes = dstXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def dstY(self):
 *         return self._ptr[0].dstY
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstY___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9863, 0, __PYX_ERR(1, 9863, __pyx_L1_error));

  /* "cuda/cuda.pyx":9865
 *     @property
 *     def dstY(self):
 *         return self._ptr[0].dstY             # <<<<<<<<<<<<<<
 *     @dstY.setter
 *     def dstY(self, size_t dstY):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).dstY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9863
 *     def dstXInBytes(self, size_t dstXInBytes):
 *         self._ptr[0].dstXInBytes = dstXInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def dstY(self):
 *         return self._ptr[0].dstY
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.dstY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9866
 *     def dstY(self):
 *         return self._ptr[0].dstY
 *     @dstY.setter             # <<<<<<<<<<<<<<
 *     def dstY(self, size_t dstY):
 *         self._ptr[0].dstY = dstY
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstY); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_dstY); if (unlikely((__pyx_v_dstY == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9867, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstY_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstY) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9866, 0, __PYX_ERR(1, 9866, __pyx_L1_error));

  /* "cuda/cuda.pyx":9868
 *     @dstY.setter
 *     def dstY(self, size_t dstY):
 *         self._ptr[0].dstY = dstY             # <<<<<<<<<<<<<<
 *     @property
 *     def dstZ(self):
 */
  (__pyx_v_self->_ptr[0]).dstY = __pyx_v_dstY;

  /* "cuda/cuda.pyx":9866
 *     def dstY(self):
 *         return self._ptr[0].dstY
 *     @dstY.setter             # <<<<<<<<<<<<<<
 *     def dstY(self, size_t dstY):
 *         self._ptr[0].dstY = dstY
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.dstY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9869
 *     def dstY(self, size_t dstY):
 *         self._ptr[0].dstY = dstY
 *     @property             # <<<<<<<<<<<<<<
 *     def dstZ(self):
 *         return self._ptr[0].dstZ
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstZ___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9869, 0, __PYX_ERR(1, 9869, __pyx_L1_error));

  /* "cuda/cuda.pyx":9871
 *     @property
 *     def dstZ(self):
 *         return self._ptr[0].dstZ             # <<<<<<<<<<<<<<
 *     @dstZ.setter
 *     def dstZ(self, size_t dstZ):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).dstZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9869
 *     def dstY(self, size_t dstY):
 *         self._ptr[0].dstY = dstY
 *     @property             # <<<<<<<<<<<<<<
 *     def dstZ(self):
 *         return self._ptr[0].dstZ
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.dstZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9872
 *     def dstZ(self):
 *         return self._ptr[0].dstZ
 *     @dstZ.setter             # <<<<<<<<<<<<<<
 *     def dstZ(self, size_t dstZ):
 *         self._ptr[0].dstZ = dstZ
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstZ); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_dstZ); if (unlikely((__pyx_v_dstZ == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9873, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstZ_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstZ) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9872, 0, __PYX_ERR(1, 9872, __pyx_L1_error));

  /* "cuda/cuda.pyx":9874
 *     @dstZ.setter
 *     def dstZ(self, size_t dstZ):
 *         self._ptr[0].dstZ = dstZ             # <<<<<<<<<<<<<<
 *     @property
 *     def dstLOD(self):
 */
  (__pyx_v_self->_ptr[0]).dstZ = __pyx_v_dstZ;

  /* "cuda/cuda.pyx":9872
 *     def dstZ(self):
 *         return self._ptr[0].dstZ
 *     @dstZ.setter             # <<<<<<<<<<<<<<
 *     def dstZ(self, size_t dstZ):
 *         self._ptr[0].dstZ = dstZ
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.dstZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9875
 *     def dstZ(self, size_t dstZ):
 *         self._ptr[0].dstZ = dstZ
 *     @property             # <<<<<<<<<<<<<<
 *     def dstLOD(self):
 *         return self._ptr[0].dstLOD
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6dstLOD_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_6dstLOD___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6dstLOD___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9875, 0, __PYX_ERR(1, 9875, __pyx_L1_error));

  /* "cuda/cuda.pyx":9877
 *     @property
 *     def dstLOD(self):
 *         return self._ptr[0].dstLOD             # <<<<<<<<<<<<<<
 *     @dstLOD.setter
 *     def dstLOD(self, size_t dstLOD):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).dstLOD); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9875
 *     def dstZ(self, size_t dstZ):
 *         self._ptr[0].dstZ = dstZ
 *     @property             # <<<<<<<<<<<<<<
 *     def dstLOD(self):
 *         return self._ptr[0].dstLOD
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.dstLOD.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9878
 *     def dstLOD(self):
 *         return self._ptr[0].dstLOD
 *     @dstLOD.setter             # <<<<<<<<<<<<<<
 *     def dstLOD(self, size_t dstLOD):
 *         self._ptr[0].dstLOD = dstLOD
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6dstLOD_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstLOD); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_dstLOD); if (unlikely((__pyx_v_dstLOD == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9879, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st_6dstLOD_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_6dstLOD_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstLOD) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9878, 0, __PYX_ERR(1, 9878, __pyx_L1_error));

  /* "cuda/cuda.pyx":9880
 *     @dstLOD.setter
 *     def dstLOD(self, size_t dstLOD):
 *         self._ptr[0].dstLOD = dstLOD             # <<<<<<<<<<<<<<
 *     @property
 *     def dstMemoryType(self):
 */
  (__pyx_v_self->_ptr[0]).dstLOD = __pyx_v_dstLOD;

  /* "cuda/cuda.pyx":9878
 *     def dstLOD(self):
 *         return self._ptr[0].dstLOD
 *     @dstLOD.setter             # <<<<<<<<<<<<<<
 *     def dstLOD(self, size_t dstLOD):
 *         self._ptr[0].dstLOD = dstLOD
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.dstLOD.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9881
 *     def dstLOD(self, size_t dstLOD):
 *         self._ptr[0].dstLOD = dstLOD
 *     @property             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self):
 *         return CUmemorytype(self._ptr[0].dstMemoryType)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9881, 0, __PYX_ERR(1, 9881, __pyx_L1_error));

  /* "cuda/cuda.pyx":9883
 *     @property
 *     def dstMemoryType(self):
 *         return CUmemorytype(self._ptr[0].dstMemoryType)             # <<<<<<<<<<<<<<
 *     @dstMemoryType.setter
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUmemorytype); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemorytype_enum((__pyx_v_self->_ptr[0]).dstMemoryType); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9883, __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/cuda.pyx":9881
 *     def dstLOD(self, size_t dstLOD):
 *         self._ptr[0].dstLOD = dstLOD
 *     @property             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self):
 *         return CUmemorytype(self._ptr[0].dstMemoryType)
 */

  /* 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.cuda.CUDA_MEMCPY3D_PEER_st.dstMemoryType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9884
 *     def dstMemoryType(self):
 *         return CUmemorytype(self._ptr[0].dstMemoryType)
 *     @dstMemoryType.setter             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._ptr[0].dstMemoryType = dstMemoryType.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstMemoryType); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 9885, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstMemoryType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstMemoryType) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9884, 0, __PYX_ERR(1, 9884, __pyx_L1_error));

  /* "cuda/cuda.pyx":9886
 *     @dstMemoryType.setter
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._ptr[0].dstMemoryType = dstMemoryType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def dstHost(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dstMemoryType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemorytype_enum)__Pyx_PyInt_As_enum__CUmemorytype_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 9886, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).dstMemoryType = __pyx_t_2;

  /* "cuda/cuda.pyx":9884
 *     def dstMemoryType(self):
 *         return CUmemorytype(self._ptr[0].dstMemoryType)
 *     @dstMemoryType.setter             # <<<<<<<<<<<<<<
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._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.cuda.CUDA_MEMCPY3D_PEER_st.dstMemoryType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9887
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._ptr[0].dstMemoryType = dstMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHost(self):
 *         return <void_ptr>self._ptr[0].dstHost
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7dstHost_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_7dstHost___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7dstHost___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9887, 0, __PYX_ERR(1, 9887, __pyx_L1_error));

  /* "cuda/cuda.pyx":9889
 *     @property
 *     def dstHost(self):
 *         return <void_ptr>self._ptr[0].dstHost             # <<<<<<<<<<<<<<
 *     @dstHost.setter
 *     def dstHost(self, dstHost):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).dstHost)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9887
 *     def dstMemoryType(self, dstMemoryType not None : CUmemorytype):
 *         self._ptr[0].dstMemoryType = dstMemoryType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHost(self):
 *         return <void_ptr>self._ptr[0].dstHost
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.dstHost.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9890
 *     def dstHost(self):
 *         return <void_ptr>self._ptr[0].dstHost
 *     @dstHost.setter             # <<<<<<<<<<<<<<
 *     def dstHost(self, dstHost):
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7dstHost_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstHost); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_7dstHost_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstHost));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7dstHost_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstHost) {
  PyObject *__pyx_v__cdstHost = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9890, 0, __PYX_ERR(1, 9890, __pyx_L1_error));

  /* "cuda/cuda.pyx":9892
 *     @dstHost.setter
 *     def dstHost(self, dstHost):
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)             # <<<<<<<<<<<<<<
 *         self._ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dstHost); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cdstHost = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":9893
 *     def dstHost(self, dstHost):
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)
 *         self._ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def dstDevice(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cdstHost, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9893, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).dstHost = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":9890
 *     def dstHost(self):
 *         return <void_ptr>self._ptr[0].dstHost
 *     @dstHost.setter             # <<<<<<<<<<<<<<
 *     def dstHost(self, dstHost):
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.dstHost.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cdstHost);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9894
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)
 *         self._ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dstDevice(self):
 *         return self._dstDevice
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstDevice_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstDevice___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstDevice___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9894, 0, __PYX_ERR(1, 9894, __pyx_L1_error));

  /* "cuda/cuda.pyx":9896
 *     @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/cuda.pyx":9894
 *         _cdstHost = utils.HelperInputVoidPtr(dstHost)
 *         self._ptr[0].dstHost = <void*><void_ptr>_cdstHost.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def dstDevice(self):
 *         return self._dstDevice
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.dstDevice.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9897
 *     def dstDevice(self):
 *         return self._dstDevice
 *     @dstDevice.setter             # <<<<<<<<<<<<<<
 *     def dstDevice(self, dstDevice):
 *         cdef ccuda.CUdeviceptr cdstDevice
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstDevice_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstDevice); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstDevice_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstDevice));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstDevice_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstDevice) {
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9897, 0, __PYX_ERR(1, 9897, __pyx_L1_error));

  /* "cuda/cuda.pyx":9900
 *     def dstDevice(self, dstDevice):
 *         cdef ccuda.CUdeviceptr cdstDevice
 *         if dstDevice is None:             # <<<<<<<<<<<<<<
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9901
 *         cdef ccuda.CUdeviceptr cdstDevice
 *         if dstDevice is None:
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":9900
 *     def dstDevice(self, dstDevice):
 *         cdef ccuda.CUdeviceptr cdstDevice
 *         if dstDevice is None:             # <<<<<<<<<<<<<<
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9902
 *         if dstDevice is None:
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdstDevice = int(dstDevice)
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9903
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":9904
 *         elif isinstance(dstDevice, (CUdeviceptr)):
 *             pdstDevice = int(dstDevice)
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9904, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":9902
 *         if dstDevice is None:
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dstDevice, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdstDevice = int(dstDevice)
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9906
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *         self._dstDevice._ptr[0] = cdstDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9906, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9906, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":9907
 *         else:
 *             pdstDevice = int(CUdeviceptr(dstDevice))
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *         self._dstDevice._ptr[0] = cdstDevice
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9907, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":9908
 *             pdstDevice = int(CUdeviceptr(dstDevice))
 *             cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *         self._dstDevice._ptr[0] = cdstDevice             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_dstDevice->_ptr[0]) = __pyx_v_cdstDevice;

  /* "cuda/cuda.pyx":9897
 *     def dstDevice(self):
 *         return self._dstDevice
 *     @dstDevice.setter             # <<<<<<<<<<<<<<
 *     def dstDevice(self, dstDevice):
 *         cdef ccuda.CUdeviceptr cdstDevice
 */

  /* 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.cuda.CUDA_MEMCPY3D_PEER_st.dstDevice.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9910
 *         self._dstDevice._ptr[0] = cdstDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def dstArray(self):
 *         return self._dstArray
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstArray___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9910, 0, __PYX_ERR(1, 9910, __pyx_L1_error));

  /* "cuda/cuda.pyx":9912
 *     @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/cuda.pyx":9910
 *         self._dstDevice._ptr[0] = cdstDevice
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def dstArray(self):
 *         return self._dstArray
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.dstArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9913
 *     def dstArray(self):
 *         return self._dstArray
 *     @dstArray.setter             # <<<<<<<<<<<<<<
 *     def dstArray(self, dstArray):
 *         cdef ccuda.CUarray cdstArray
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstArray); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstArray_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstArray) {
  CUarray __pyx_v_cdstArray;
  PyObject *__pyx_v_pdstArray = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9913, 0, __PYX_ERR(1, 9913, __pyx_L1_error));

  /* "cuda/cuda.pyx":9916
 *     def dstArray(self, dstArray):
 *         cdef ccuda.CUarray cdstArray
 *         if dstArray is None:             # <<<<<<<<<<<<<<
 *             cdstArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_dstArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9917
 *         cdef ccuda.CUarray cdstArray
 *         if dstArray is None:
 *             cdstArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)
 */
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":9916
 *     def dstArray(self, dstArray):
 *         cdef ccuda.CUarray cdstArray
 *         if dstArray is None:             # <<<<<<<<<<<<<<
 *             cdstArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9918
 *         if dstArray is None:
 *             cdstArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             pdstArray = int(dstArray)
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9919
 *             cdstArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":9920
 *         elif isinstance(dstArray, (CUarray,)):
 *             pdstArray = int(dstArray)
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *         else:
 *             pdstArray = int(CUarray(dstArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9920, __pyx_L1_error)
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":9918
 *         if dstArray is None:
 *             cdstArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             pdstArray = int(dstArray)
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9922
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         else:
 *             pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         self._dstArray._ptr[0] = cdstArray
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_dstArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9922, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9922, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":9923
 *         else:
 *             pdstArray = int(CUarray(dstArray))
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *         self._dstArray._ptr[0] = cdstArray
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9923, __pyx_L1_error)
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":9924
 *             pdstArray = int(CUarray(dstArray))
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         self._dstArray._ptr[0] = cdstArray             # <<<<<<<<<<<<<<
 *     @property
 *     def dstContext(self):
 */
  (__pyx_v_self->_dstArray->_ptr[0]) = __pyx_v_cdstArray;

  /* "cuda/cuda.pyx":9913
 *     def dstArray(self):
 *         return self._dstArray
 *     @dstArray.setter             # <<<<<<<<<<<<<<
 *     def dstArray(self, dstArray):
 *         cdef ccuda.CUarray cdstArray
 */

  /* 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.cuda.CUDA_MEMCPY3D_PEER_st.dstArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstArray);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9925
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         self._dstArray._ptr[0] = cdstArray
 *     @property             # <<<<<<<<<<<<<<
 *     def dstContext(self):
 *         return self._dstContext
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10dstContext_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_10dstContext___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10dstContext___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9925, 0, __PYX_ERR(1, 9925, __pyx_L1_error));

  /* "cuda/cuda.pyx":9927
 *     @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/cuda.pyx":9925
 *             cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *         self._dstArray._ptr[0] = cdstArray
 *     @property             # <<<<<<<<<<<<<<
 *     def dstContext(self):
 *         return self._dstContext
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.dstContext.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9928
 *     def dstContext(self):
 *         return self._dstContext
 *     @dstContext.setter             # <<<<<<<<<<<<<<
 *     def dstContext(self, dstContext):
 *         cdef ccuda.CUcontext cdstContext
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10dstContext_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dstContext); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_10dstContext_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), ((PyObject *)__pyx_v_dstContext));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10dstContext_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, PyObject *__pyx_v_dstContext) {
  CUcontext __pyx_v_cdstContext;
  PyObject *__pyx_v_pdstContext = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 9928, 0, __PYX_ERR(1, 9928, __pyx_L1_error));

  /* "cuda/cuda.pyx":9931
 *     def dstContext(self, dstContext):
 *         cdef ccuda.CUcontext cdstContext
 *         if dstContext is None:             # <<<<<<<<<<<<<<
 *             cdstContext = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(dstContext, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_dstContext == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9932
 *         cdef ccuda.CUcontext cdstContext
 *         if dstContext is None:
 *             cdstContext = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dstContext, (CUcontext,)):
 *             pdstContext = int(dstContext)
 */
    __pyx_v_cdstContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":9931
 *     def dstContext(self, dstContext):
 *         cdef ccuda.CUcontext cdstContext
 *         if dstContext is None:             # <<<<<<<<<<<<<<
 *             cdstContext = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(dstContext, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9933
 *         if dstContext is None:
 *             cdstContext = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(dstContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pdstContext = int(dstContext)
 *             cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstContext, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9934
 *             cdstContext = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(dstContext, (CUcontext,)):
 *             pdstContext = int(dstContext)             # <<<<<<<<<<<<<<
 *             cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9934, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstContext = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":9935
 *         elif isinstance(dstContext, (CUcontext,)):
 *             pdstContext = int(dstContext)
 *             cdstContext = <ccuda.CUcontext><void_ptr>pdstContext             # <<<<<<<<<<<<<<
 *         else:
 *             pdstContext = int(CUcontext(dstContext))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9935, __pyx_L1_error)
    __pyx_v_cdstContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":9933
 *         if dstContext is None:
 *             cdstContext = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(dstContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pdstContext = int(dstContext)
 *             cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9937
 *             cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 *         else:
 *             pdstContext = int(CUcontext(dstContext))             # <<<<<<<<<<<<<<
 *             cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 *         self._dstContext._ptr[0] = cdstContext
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_dstContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9937, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 9937, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstContext = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":9938
 *         else:
 *             pdstContext = int(CUcontext(dstContext))
 *             cdstContext = <ccuda.CUcontext><void_ptr>pdstContext             # <<<<<<<<<<<<<<
 *         self._dstContext._ptr[0] = cdstContext
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9938, __pyx_L1_error)
    __pyx_v_cdstContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":9939
 *             pdstContext = int(CUcontext(dstContext))
 *             cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 *         self._dstContext._ptr[0] = cdstContext             # <<<<<<<<<<<<<<
 *     @property
 *     def dstPitch(self):
 */
  (__pyx_v_self->_dstContext->_ptr[0]) = __pyx_v_cdstContext;

  /* "cuda/cuda.pyx":9928
 *     def dstContext(self):
 *         return self._dstContext
 *     @dstContext.setter             # <<<<<<<<<<<<<<
 *     def dstContext(self, dstContext):
 *         cdef ccuda.CUcontext cdstContext
 */

  /* 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.cuda.CUDA_MEMCPY3D_PEER_st.dstContext.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstContext);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9940
 *             cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 *         self._dstContext._ptr[0] = cdstContext
 *     @property             # <<<<<<<<<<<<<<
 *     def dstPitch(self):
 *         return self._ptr[0].dstPitch
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstPitch___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstPitch___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9940, 0, __PYX_ERR(1, 9940, __pyx_L1_error));

  /* "cuda/cuda.pyx":9942
 *     @property
 *     def dstPitch(self):
 *         return self._ptr[0].dstPitch             # <<<<<<<<<<<<<<
 *     @dstPitch.setter
 *     def dstPitch(self, size_t dstPitch):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).dstPitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9940
 *             cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 *         self._dstContext._ptr[0] = cdstContext
 *     @property             # <<<<<<<<<<<<<<
 *     def dstPitch(self):
 *         return self._ptr[0].dstPitch
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.dstPitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9943
 *     def dstPitch(self):
 *         return self._ptr[0].dstPitch
 *     @dstPitch.setter             # <<<<<<<<<<<<<<
 *     def dstPitch(self, size_t dstPitch):
 *         self._ptr[0].dstPitch = dstPitch
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstPitch); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_dstPitch); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9944, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstPitch_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstPitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstPitch) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9943, 0, __PYX_ERR(1, 9943, __pyx_L1_error));

  /* "cuda/cuda.pyx":9945
 *     @dstPitch.setter
 *     def dstPitch(self, size_t dstPitch):
 *         self._ptr[0].dstPitch = dstPitch             # <<<<<<<<<<<<<<
 *     @property
 *     def dstHeight(self):
 */
  (__pyx_v_self->_ptr[0]).dstPitch = __pyx_v_dstPitch;

  /* "cuda/cuda.pyx":9943
 *     def dstPitch(self):
 *         return self._ptr[0].dstPitch
 *     @dstPitch.setter             # <<<<<<<<<<<<<<
 *     def dstPitch(self, size_t dstPitch):
 *         self._ptr[0].dstPitch = dstPitch
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.dstPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9946
 *     def dstPitch(self, size_t dstPitch):
 *         self._ptr[0].dstPitch = dstPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHeight(self):
 *         return self._ptr[0].dstHeight
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstHeight_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstHeight___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstHeight___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9946, 0, __PYX_ERR(1, 9946, __pyx_L1_error));

  /* "cuda/cuda.pyx":9948
 *     @property
 *     def dstHeight(self):
 *         return self._ptr[0].dstHeight             # <<<<<<<<<<<<<<
 *     @dstHeight.setter
 *     def dstHeight(self, size_t dstHeight):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).dstHeight); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9946
 *     def dstPitch(self, size_t dstPitch):
 *         self._ptr[0].dstPitch = dstPitch
 *     @property             # <<<<<<<<<<<<<<
 *     def dstHeight(self):
 *         return self._ptr[0].dstHeight
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.dstHeight.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9949
 *     def dstHeight(self):
 *         return self._ptr[0].dstHeight
 *     @dstHeight.setter             # <<<<<<<<<<<<<<
 *     def dstHeight(self, size_t dstHeight):
 *         self._ptr[0].dstHeight = dstHeight
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstHeight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_dstHeight); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_dstHeight); if (unlikely((__pyx_v_dstHeight == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9950, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstHeight_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstHeight_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_dstHeight) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9949, 0, __PYX_ERR(1, 9949, __pyx_L1_error));

  /* "cuda/cuda.pyx":9951
 *     @dstHeight.setter
 *     def dstHeight(self, size_t dstHeight):
 *         self._ptr[0].dstHeight = dstHeight             # <<<<<<<<<<<<<<
 *     @property
 *     def WidthInBytes(self):
 */
  (__pyx_v_self->_ptr[0]).dstHeight = __pyx_v_dstHeight;

  /* "cuda/cuda.pyx":9949
 *     def dstHeight(self):
 *         return self._ptr[0].dstHeight
 *     @dstHeight.setter             # <<<<<<<<<<<<<<
 *     def dstHeight(self, size_t dstHeight):
 *         self._ptr[0].dstHeight = dstHeight
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.dstHeight.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9952
 *     def dstHeight(self, size_t dstHeight):
 *         self._ptr[0].dstHeight = dstHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self):
 *         return self._ptr[0].WidthInBytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9952, 0, __PYX_ERR(1, 9952, __pyx_L1_error));

  /* "cuda/cuda.pyx":9954
 *     @property
 *     def WidthInBytes(self):
 *         return self._ptr[0].WidthInBytes             # <<<<<<<<<<<<<<
 *     @WidthInBytes.setter
 *     def WidthInBytes(self, size_t WidthInBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).WidthInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9952
 *     def dstHeight(self, size_t dstHeight):
 *         self._ptr[0].dstHeight = dstHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self):
 *         return self._ptr[0].WidthInBytes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.WidthInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9955
 *     def WidthInBytes(self):
 *         return self._ptr[0].WidthInBytes
 *     @WidthInBytes.setter             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._ptr[0].WidthInBytes = WidthInBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_WidthInBytes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_WidthInBytes); if (unlikely((__pyx_v_WidthInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9956, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_WidthInBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9955, 0, __PYX_ERR(1, 9955, __pyx_L1_error));

  /* "cuda/cuda.pyx":9957
 *     @WidthInBytes.setter
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._ptr[0].WidthInBytes = WidthInBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def Height(self):
 */
  (__pyx_v_self->_ptr[0]).WidthInBytes = __pyx_v_WidthInBytes;

  /* "cuda/cuda.pyx":9955
 *     def WidthInBytes(self):
 *         return self._ptr[0].WidthInBytes
 *     @WidthInBytes.setter             # <<<<<<<<<<<<<<
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._ptr[0].WidthInBytes = WidthInBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.WidthInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9958
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._ptr[0].WidthInBytes = WidthInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._ptr[0].Height
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6Height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_6Height___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6Height___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9958, 0, __PYX_ERR(1, 9958, __pyx_L1_error));

  /* "cuda/cuda.pyx":9960
 *     @property
 *     def Height(self):
 *         return self._ptr[0].Height             # <<<<<<<<<<<<<<
 *     @Height.setter
 *     def Height(self, size_t Height):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).Height); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9958
 *     def WidthInBytes(self, size_t WidthInBytes):
 *         self._ptr[0].WidthInBytes = WidthInBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._ptr[0].Height
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.Height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9961
 *     def Height(self):
 *         return self._ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6Height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Height); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_Height); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9962, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st_6Height_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_6Height_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_Height) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9961, 0, __PYX_ERR(1, 9961, __pyx_L1_error));

  /* "cuda/cuda.pyx":9963
 *     @Height.setter
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height             # <<<<<<<<<<<<<<
 *     @property
 *     def Depth(self):
 */
  (__pyx_v_self->_ptr[0]).Height = __pyx_v_Height;

  /* "cuda/cuda.pyx":9961
 *     def Height(self):
 *         return self._ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.Height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9964
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 *     @property             # <<<<<<<<<<<<<<
 *     def Depth(self):
 *         return self._ptr[0].Depth
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_5Depth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_5Depth___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_5Depth___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 9964, 0, __PYX_ERR(1, 9964, __pyx_L1_error));

  /* "cuda/cuda.pyx":9966
 *     @property
 *     def Depth(self):
 *         return self._ptr[0].Depth             # <<<<<<<<<<<<<<
 *     @Depth.setter
 *     def Depth(self, size_t Depth):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).Depth); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9966, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":9964
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 *     @property             # <<<<<<<<<<<<<<
 *     def Depth(self):
 *         return self._ptr[0].Depth
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.Depth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9967
 *     def Depth(self):
 *         return self._ptr[0].Depth
 *     @Depth.setter             # <<<<<<<<<<<<<<
 *     def Depth(self, size_t Depth):
 *         self._ptr[0].Depth = Depth
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_5Depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Depth); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_Depth); if (unlikely((__pyx_v_Depth == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 9968, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st_5Depth_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_5Depth_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, size_t __pyx_v_Depth) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 9967, 0, __PYX_ERR(1, 9967, __pyx_L1_error));

  /* "cuda/cuda.pyx":9969
 *     @Depth.setter
 *     def Depth(self, size_t Depth):
 *         self._ptr[0].Depth = Depth             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_MEMCPY_NODE_PARAMS_st:
 */
  (__pyx_v_self->_ptr[0]).Depth = __pyx_v_Depth;

  /* "cuda/cuda.pyx":9967
 *     def Depth(self):
 *         return self._ptr[0].Depth
 *     @Depth.setter             # <<<<<<<<<<<<<<
 *     def Depth(self, size_t Depth):
 *         self._ptr[0].Depth = Depth
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.Depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_10__reduce_cython__, "CUDA_MEMCPY3D_PEER_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__240)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_12__setstate_cython__, "CUDA_MEMCPY3D_PEER_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_MEMCPY3D_PEER_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__241)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY3D_PEER_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":9992
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 9992, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 9992, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9992, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 9992, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 9992, 0, __PYX_ERR(1, 9992, __pyx_L1_error));

  /* "cuda/cuda.pyx":9993
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":9994
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMCPY_NODE_PARAMS_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_MEMCPY_NODE_PARAMS_st__val);

    /* "cuda/cuda.pyx":9993
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":9996
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMCPY_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._copyCtx = CUcontext(_ptr=<void_ptr>&self._ptr[0].copyCtx)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":9992
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":9997
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMCPY_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._copyCtx = CUcontext(_ptr=<void_ptr>&self._ptr[0].copyCtx)
 *         self._copyParams = CUDA_MEMCPY3D(_ptr=<void_ptr>&self._ptr[0].copyParams)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 9997, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 9997, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 9997, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 9997, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 9997, 0, __PYX_ERR(1, 9997, __pyx_L1_error));

  /* "cuda/cuda.pyx":9998
 *             self._ptr = <ccuda.CUDA_MEMCPY_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._copyCtx = CUcontext(_ptr=<void_ptr>&self._ptr[0].copyCtx)             # <<<<<<<<<<<<<<
 *         self._copyParams = CUDA_MEMCPY3D(_ptr=<void_ptr>&self._ptr[0].copyParams)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).copyCtx))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 9998, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_copyCtx);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_copyCtx);
  __pyx_v_self->_copyCtx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":9999
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._copyCtx = CUcontext(_ptr=<void_ptr>&self._ptr[0].copyCtx)
 *         self._copyParams = CUDA_MEMCPY3D(_ptr=<void_ptr>&self._ptr[0].copyParams)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).copyParams))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 9999, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUDA_MEMCPY3D *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":9997
 *         else:
 *             self._ptr = <ccuda.CUDA_MEMCPY_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._copyCtx = CUcontext(_ptr=<void_ptr>&self._ptr[0].copyCtx)
 *         self._copyParams = CUDA_MEMCPY3D(_ptr=<void_ptr>&self._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.cuda.CUDA_MEMCPY_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10000
 *         self._copyCtx = CUcontext(_ptr=<void_ptr>&self._ptr[0].copyCtx)
 *         self._copyParams = CUDA_MEMCPY3D(_ptr=<void_ptr>&self._ptr[0].copyParams)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 10000, 0, __PYX_ERR(1, 10000, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_MEMCPY_NODE_PARAMS_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":10002
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_6getPtr, "CUDA_MEMCPY_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__242)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 10002, 0, __PYX_ERR(1, 10002, __pyx_L1_error));

  /* "cuda/cuda.pyx":10003
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10002
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10004
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr24__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 10004, 0, __PYX_ERR(1, 10004, __pyx_L1_error));

  /* "cuda/cuda.pyx":10005
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10006
 *     def __repr__(self):
 *         if self._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(1, 10006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10007
 *         if self._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/cuda.pyx":10008
 *             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_n_s_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10008, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10008, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10008, __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(1, 10008, __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)) __PYX_ERR(1, 10008, __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(1, 10008, __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/cuda.pyx":10007
 *         if self._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/cuda.pyx":10009
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10009, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10010
 *                 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(1, 10010, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 10010, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10010, __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/cuda.pyx":10007
 *         if self._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/cuda.pyx":10011
 *             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/cuda.pyx":10012
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10012, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10012, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10012, __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(1, 10012, __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)) __PYX_ERR(1, 10012, __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(1, 10012, __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/cuda.pyx":10011
 *             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/cuda.pyx":10013
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10013, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":10014
 *                 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(1, 10014, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 10014, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 10014, __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/cuda.pyx":10011
 *             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/cuda.pyx":10015
 *             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/cuda.pyx":10016
 *                 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_n_s_copyCtx_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10016, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10016, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_copyCtx, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10016, __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(1, 10016, __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)) __PYX_ERR(1, 10016, __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(1, 10016, __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/cuda.pyx":10015
 *             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/cuda.pyx":10017
 *             try:
 *                 str_list += ['copyCtx : ' + str(self.copyCtx)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['copyCtx : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10017, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10018
 *                 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(1, 10018, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_copyCtx_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_copyCtx_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_copyCtx_ValueError)) __PYX_ERR(1, 10018, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10018, __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/cuda.pyx":10015
 *             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/cuda.pyx":10019
 *             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/cuda.pyx":10020
 *                 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(1, 10020, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_copyParams_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10020, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10020, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10020, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10020, __pyx_L36_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10020, __pyx_L36_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 10020, __pyx_L36_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 10020, __pyx_L36_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 10020, __pyx_L36_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10020, __pyx_L36_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 10020, __pyx_L36_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 10020, __pyx_L36_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10020, __pyx_L36_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 10020, __pyx_L36_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr24__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr24__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10020, __pyx_L36_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 10020, __pyx_L36_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr24__pyx_v_line); __pyx_9genexpr24__pyx_v_line = 0;
          goto __pyx_L40_exit_scope;
          __pyx_L36_error:;
          __Pyx_XDECREF(__pyx_9genexpr24__pyx_v_line); __pyx_9genexpr24__pyx_v_line = 0;
          goto __pyx_L28_error;
          __pyx_L40_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10020, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_copyParams, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10020, __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(1, 10020, __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)) __PYX_ERR(1, 10020, __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(1, 10020, __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/cuda.pyx":10019
 *             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/cuda.pyx":10021
 *             try:
 *                 str_list += ['copyParams :\n' + '\n'.join(['    ' + line for line in str(self.copyParams).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['copyParams : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10021, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":10022
 *                 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(1, 10022, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_copyParams_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_copyParams_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_copyParams_ValueError)) __PYX_ERR(1, 10022, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 10022, __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/cuda.pyx":10019
 *             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/cuda.pyx":10023
 *             except ValueError:
 *                 str_list += ['copyParams : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":10005
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":10025
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":10004
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_9genexpr24__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10026
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10026, 0, __PYX_ERR(1, 10026, __pyx_L1_error));

  /* "cuda/cuda.pyx":10028
 *     @property
 *     def flags(self):
 *         return self._ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10026
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY_NODE_PARAMS_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10029
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, int flags):
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10030, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10029, 0, __PYX_ERR(1, 10029, __pyx_L1_error));

  /* "cuda/cuda.pyx":10031
 *     @flags.setter
 *     def flags(self, int flags):
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":10029
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, int flags):
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY_NODE_PARAMS_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10032
 *     def flags(self, int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10032, 0, __PYX_ERR(1, 10032, __pyx_L1_error));

  /* "cuda/cuda.pyx":10034
 *     @property
 *     def reserved(self):
 *         return self._ptr[0].reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, int reserved):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).reserved); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10032
 *     def flags(self, int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY_NODE_PARAMS_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10035
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, int reserved):
 *         self._ptr[0].reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_reserved); if (unlikely((__pyx_v_reserved == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10036, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, int __pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10035, 0, __PYX_ERR(1, 10035, __pyx_L1_error));

  /* "cuda/cuda.pyx":10037
 *     @reserved.setter
 *     def reserved(self, int reserved):
 *         self._ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 *     @property
 *     def copyCtx(self):
 */
  (__pyx_v_self->_ptr[0]).reserved = __pyx_v_reserved;

  /* "cuda/cuda.pyx":10035
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, int reserved):
 *         self._ptr[0].reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY_NODE_PARAMS_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10038
 *     def reserved(self, int reserved):
 *         self._ptr[0].reserved = reserved
 *     @property             # <<<<<<<<<<<<<<
 *     def copyCtx(self):
 *         return self._copyCtx
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10038, 0, __PYX_ERR(1, 10038, __pyx_L1_error));

  /* "cuda/cuda.pyx":10040
 *     @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/cuda.pyx":10038
 *     def reserved(self, int reserved):
 *         self._ptr[0].reserved = reserved
 *     @property             # <<<<<<<<<<<<<<
 *     def copyCtx(self):
 *         return self._copyCtx
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY_NODE_PARAMS_st.copyCtx.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10041
 *     def copyCtx(self):
 *         return self._copyCtx
 *     @copyCtx.setter             # <<<<<<<<<<<<<<
 *     def copyCtx(self, copyCtx):
 *         cdef ccuda.CUcontext ccopyCtx
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_copyCtx); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_copyCtx) {
  CUcontext __pyx_v_ccopyCtx;
  PyObject *__pyx_v_pcopyCtx = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10041, 0, __PYX_ERR(1, 10041, __pyx_L1_error));

  /* "cuda/cuda.pyx":10044
 *     def copyCtx(self, copyCtx):
 *         cdef ccuda.CUcontext ccopyCtx
 *         if copyCtx is None:             # <<<<<<<<<<<<<<
 *             ccopyCtx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(copyCtx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_copyCtx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10045
 *         cdef ccuda.CUcontext ccopyCtx
 *         if copyCtx is None:
 *             ccopyCtx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(copyCtx, (CUcontext,)):
 *             pcopyCtx = int(copyCtx)
 */
    __pyx_v_ccopyCtx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":10044
 *     def copyCtx(self, copyCtx):
 *         cdef ccuda.CUcontext ccopyCtx
 *         if copyCtx is None:             # <<<<<<<<<<<<<<
 *             ccopyCtx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(copyCtx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":10046
 *         if copyCtx is None:
 *             ccopyCtx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(copyCtx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pcopyCtx = int(copyCtx)
 *             ccopyCtx = <ccuda.CUcontext><void_ptr>pcopyCtx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_copyCtx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10047
 *             ccopyCtx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(copyCtx, (CUcontext,)):
 *             pcopyCtx = int(copyCtx)             # <<<<<<<<<<<<<<
 *             ccopyCtx = <ccuda.CUcontext><void_ptr>pcopyCtx
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_copyCtx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pcopyCtx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10048
 *         elif isinstance(copyCtx, (CUcontext,)):
 *             pcopyCtx = int(copyCtx)
 *             ccopyCtx = <ccuda.CUcontext><void_ptr>pcopyCtx             # <<<<<<<<<<<<<<
 *         else:
 *             pcopyCtx = int(CUcontext(copyCtx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pcopyCtx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10048, __pyx_L1_error)
    __pyx_v_ccopyCtx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":10046
 *         if copyCtx is None:
 *             ccopyCtx = <ccuda.CUcontext><void_ptr>0
 *         elif isinstance(copyCtx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *             pcopyCtx = int(copyCtx)
 *             ccopyCtx = <ccuda.CUcontext><void_ptr>pcopyCtx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":10050
 *             ccopyCtx = <ccuda.CUcontext><void_ptr>pcopyCtx
 *         else:
 *             pcopyCtx = int(CUcontext(copyCtx))             # <<<<<<<<<<<<<<
 *             ccopyCtx = <ccuda.CUcontext><void_ptr>pcopyCtx
 *         self._copyCtx._ptr[0] = ccopyCtx
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_copyCtx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 10050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pcopyCtx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":10051
 *         else:
 *             pcopyCtx = int(CUcontext(copyCtx))
 *             ccopyCtx = <ccuda.CUcontext><void_ptr>pcopyCtx             # <<<<<<<<<<<<<<
 *         self._copyCtx._ptr[0] = ccopyCtx
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pcopyCtx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10051, __pyx_L1_error)
    __pyx_v_ccopyCtx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":10052
 *             pcopyCtx = int(CUcontext(copyCtx))
 *             ccopyCtx = <ccuda.CUcontext><void_ptr>pcopyCtx
 *         self._copyCtx._ptr[0] = ccopyCtx             # <<<<<<<<<<<<<<
 *     @property
 *     def copyParams(self):
 */
  (__pyx_v_self->_copyCtx->_ptr[0]) = __pyx_v_ccopyCtx;

  /* "cuda/cuda.pyx":10041
 *     def copyCtx(self):
 *         return self._copyCtx
 *     @copyCtx.setter             # <<<<<<<<<<<<<<
 *     def copyCtx(self, copyCtx):
 *         cdef ccuda.CUcontext ccopyCtx
 */

  /* 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.cuda.CUDA_MEMCPY_NODE_PARAMS_st.copyCtx.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pcopyCtx);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10053
 *             ccopyCtx = <ccuda.CUcontext><void_ptr>pcopyCtx
 *         self._copyCtx._ptr[0] = ccopyCtx
 *     @property             # <<<<<<<<<<<<<<
 *     def copyParams(self):
 *         return self._copyParams
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10053, 0, __PYX_ERR(1, 10053, __pyx_L1_error));

  /* "cuda/cuda.pyx":10055
 *     @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/cuda.pyx":10053
 *             ccopyCtx = <ccuda.CUcontext><void_ptr>pcopyCtx
 *         self._copyCtx._ptr[0] = ccopyCtx
 *     @property             # <<<<<<<<<<<<<<
 *     def copyParams(self):
 *         return self._copyParams
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY_NODE_PARAMS_st.copyParams.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10056
 *     def copyParams(self):
 *         return self._copyParams
 *     @copyParams.setter             # <<<<<<<<<<<<<<
 *     def copyParams(self, copyParams not None : CUDA_MEMCPY3D):
 *         string.memcpy(&self._ptr[0].copyParams, <ccuda.CUDA_MEMCPY3D*><void_ptr>copyParams.getPtr(), sizeof(self._ptr[0].copyParams))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_copyParams); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_MEMCPY3D, 0, "copyParams", 0))) __PYX_ERR(1, 10057, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *)__pyx_v_copyParams));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *__pyx_v_copyParams) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10056, 0, __PYX_ERR(1, 10056, __pyx_L1_error));

  /* "cuda/cuda.pyx":10058
 *     @copyParams.setter
 *     def copyParams(self, copyParams not None : CUDA_MEMCPY3D):
 *         string.memcpy(&self._ptr[0].copyParams, <ccuda.CUDA_MEMCPY3D*><void_ptr>copyParams.getPtr(), sizeof(self._ptr[0].copyParams))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_ARRAY_DESCRIPTOR_st:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_copyParams), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10058, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10058, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).copyParams), ((CUDA_MEMCPY3D *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).copyParams))));

  /* "cuda/cuda.pyx":10056
 *     def copyParams(self):
 *         return self._copyParams
 *     @copyParams.setter             # <<<<<<<<<<<<<<
 *     def copyParams(self, copyParams not None : CUDA_MEMCPY3D):
 *         string.memcpy(&self._ptr[0].copyParams, <ccuda.CUDA_MEMCPY3D*><void_ptr>copyParams.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY_NODE_PARAMS_st.copyParams.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_10__reduce_cython__, "CUDA_MEMCPY_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__243)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_12__setstate_cython__, "CUDA_MEMCPY_NODE_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__244)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEMCPY_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10081
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10081, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 10081, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10081, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 10081, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 10081, 0, __PYX_ERR(1, 10081, __pyx_L1_error));

  /* "cuda/cuda.pyx":10082
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10083
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_ARRAY_DESCRIPTOR_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_ARRAY_DESCRIPTOR_st__val);

    /* "cuda/cuda.pyx":10082
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":10085
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_ARRAY_DESCRIPTOR_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":10081
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_DESCRIPTOR_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10086
 *         else:
 *             self._ptr = <ccuda.CUDA_ARRAY_DESCRIPTOR_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10086, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 10086, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10086, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 10086, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 10086, 0, __PYX_ERR(1, 10086, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_DESCRIPTOR_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10088
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 10088, 0, __PYX_ERR(1, 10088, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_ARRAY_DESCRIPTOR_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":10090
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6getPtr, "CUDA_ARRAY_DESCRIPTOR_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__245)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 10090, 0, __PYX_ERR(1, 10090, __pyx_L1_error));

  /* "cuda/cuda.pyx":10091
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10090
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_DESCRIPTOR_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10092
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 10092, 0, __PYX_ERR(1, 10092, __pyx_L1_error));

  /* "cuda/cuda.pyx":10093
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10094
 *     def __repr__(self):
 *         if self._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(1, 10094, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10095
 *         if self._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/cuda.pyx":10096
 *             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_n_s_Width_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10096, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10096, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_Width, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10096, __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(1, 10096, __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)) __PYX_ERR(1, 10096, __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(1, 10096, __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/cuda.pyx":10095
 *         if self._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/cuda.pyx":10097
 *             try:
 *                 str_list += ['Width : ' + str(self.Width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Width : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10097, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10098
 *                 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(1, 10098, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_Width_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_Width_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_Width_ValueError)) __PYX_ERR(1, 10098, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10098, __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/cuda.pyx":10095
 *         if self._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/cuda.pyx":10099
 *             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/cuda.pyx":10100
 *                 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_n_s_Height_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10100, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10100, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_Height, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10100, __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(1, 10100, __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)) __PYX_ERR(1, 10100, __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(1, 10100, __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/cuda.pyx":10099
 *             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/cuda.pyx":10101
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10101, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":10102
 *                 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(1, 10102, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_Height_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_Height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_Height_ValueError)) __PYX_ERR(1, 10102, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 10102, __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/cuda.pyx":10099
 *             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/cuda.pyx":10103
 *             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/cuda.pyx":10104
 *                 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_n_s_Format_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10104, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10104, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_Format, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10104, __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(1, 10104, __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)) __PYX_ERR(1, 10104, __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(1, 10104, __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/cuda.pyx":10103
 *             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/cuda.pyx":10105
 *             try:
 *                 str_list += ['Format : ' + str(self.Format)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Format : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10105, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10106
 *                 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(1, 10106, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_Format_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_Format_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_Format_ValueError)) __PYX_ERR(1, 10106, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10106, __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/cuda.pyx":10103
 *             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/cuda.pyx":10107
 *             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/cuda.pyx":10108
 *                 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_n_s_NumChannels_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10108, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10108, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_NumChannels, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10108, __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(1, 10108, __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)) __PYX_ERR(1, 10108, __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(1, 10108, __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/cuda.pyx":10107
 *             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/cuda.pyx":10109
 *             try:
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['NumChannels : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10109, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":10110
 *                 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(1, 10110, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_NumChannels_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_NumChannels_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_NumChannels_ValueError)) __PYX_ERR(1, 10110, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 10110, __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/cuda.pyx":10107
 *             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/cuda.pyx":10111
 *             except ValueError:
 *                 str_list += ['NumChannels : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":10093
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":10113
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def Width(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":10092
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10114
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def Width(self):
 *         return self._ptr[0].Width
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_5Width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_5Width___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_5Width___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10114, 0, __PYX_ERR(1, 10114, __pyx_L1_error));

  /* "cuda/cuda.pyx":10116
 *     @property
 *     def Width(self):
 *         return self._ptr[0].Width             # <<<<<<<<<<<<<<
 *     @Width.setter
 *     def Width(self, size_t Width):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).Width); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10114
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def Width(self):
 *         return self._ptr[0].Width
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_DESCRIPTOR_st.Width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10117
 *     def Width(self):
 *         return self._ptr[0].Width
 *     @Width.setter             # <<<<<<<<<<<<<<
 *     def Width(self, size_t Width):
 *         self._ptr[0].Width = Width
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_5Width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Width); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_Width); if (unlikely((__pyx_v_Width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 10118, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_5Width_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_5Width_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Width) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10117, 0, __PYX_ERR(1, 10117, __pyx_L1_error));

  /* "cuda/cuda.pyx":10119
 *     @Width.setter
 *     def Width(self, size_t Width):
 *         self._ptr[0].Width = Width             # <<<<<<<<<<<<<<
 *     @property
 *     def Height(self):
 */
  (__pyx_v_self->_ptr[0]).Width = __pyx_v_Width;

  /* "cuda/cuda.pyx":10117
 *     def Width(self):
 *         return self._ptr[0].Width
 *     @Width.setter             # <<<<<<<<<<<<<<
 *     def Width(self, size_t Width):
 *         self._ptr[0].Width = Width
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_DESCRIPTOR_st.Width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10120
 *     def Width(self, size_t Width):
 *         self._ptr[0].Width = Width
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._ptr[0].Height
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Height___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Height___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10120, 0, __PYX_ERR(1, 10120, __pyx_L1_error));

  /* "cuda/cuda.pyx":10122
 *     @property
 *     def Height(self):
 *         return self._ptr[0].Height             # <<<<<<<<<<<<<<
 *     @Height.setter
 *     def Height(self, size_t Height):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).Height); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10120
 *     def Width(self, size_t Width):
 *         self._ptr[0].Width = Width
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._ptr[0].Height
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_DESCRIPTOR_st.Height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10123
 *     def Height(self):
 *         return self._ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Height); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_Height); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 10124, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Height_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Height_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Height) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10123, 0, __PYX_ERR(1, 10123, __pyx_L1_error));

  /* "cuda/cuda.pyx":10125
 *     @Height.setter
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height             # <<<<<<<<<<<<<<
 *     @property
 *     def Format(self):
 */
  (__pyx_v_self->_ptr[0]).Height = __pyx_v_Height;

  /* "cuda/cuda.pyx":10123
 *     def Height(self):
 *         return self._ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_DESCRIPTOR_st.Height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10126
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 *     @property             # <<<<<<<<<<<<<<
 *     def Format(self):
 *         return CUarray_format(self._ptr[0].Format)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Format___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Format___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10126, 0, __PYX_ERR(1, 10126, __pyx_L1_error));

  /* "cuda/cuda.pyx":10128
 *     @property
 *     def Format(self):
 *         return CUarray_format(self._ptr[0].Format)             # <<<<<<<<<<<<<<
 *     @Format.setter
 *     def Format(self, Format not None : CUarray_format):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUarray_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUarray_format_enum((__pyx_v_self->_ptr[0]).Format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 10128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10128, __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/cuda.pyx":10126
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 *     @property             # <<<<<<<<<<<<<<
 *     def Format(self):
 *         return CUarray_format(self._ptr[0].Format)
 */

  /* 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.cuda.CUDA_ARRAY_DESCRIPTOR_st.Format.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10129
 *     def Format(self):
 *         return CUarray_format(self._ptr[0].Format)
 *     @Format.setter             # <<<<<<<<<<<<<<
 *     def Format(self, Format not None : CUarray_format):
 *         self._ptr[0].Format = Format.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_Format); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 10130, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Format_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self), ((PyObject *)__pyx_v_Format));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Format_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, PyObject *__pyx_v_Format) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10129, 0, __PYX_ERR(1, 10129, __pyx_L1_error));

  /* "cuda/cuda.pyx":10131
 *     @Format.setter
 *     def Format(self, Format not None : CUarray_format):
 *         self._ptr[0].Format = Format.value             # <<<<<<<<<<<<<<
 *     @property
 *     def NumChannels(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_Format, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUarray_format_enum)__Pyx_PyInt_As_enum__CUarray_format_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10131, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).Format = __pyx_t_2;

  /* "cuda/cuda.pyx":10129
 *     def Format(self):
 *         return CUarray_format(self._ptr[0].Format)
 *     @Format.setter             # <<<<<<<<<<<<<<
 *     def Format(self, Format not None : CUarray_format):
 *         self._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.cuda.CUDA_ARRAY_DESCRIPTOR_st.Format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10132
 *     def Format(self, Format not None : CUarray_format):
 *         self._ptr[0].Format = Format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def NumChannels(self):
 *         return self._ptr[0].NumChannels
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10132, 0, __PYX_ERR(1, 10132, __pyx_L1_error));

  /* "cuda/cuda.pyx":10134
 *     @property
 *     def NumChannels(self):
 *         return self._ptr[0].NumChannels             # <<<<<<<<<<<<<<
 *     @NumChannels.setter
 *     def NumChannels(self, unsigned int NumChannels):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).NumChannels); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10132
 *     def Format(self, Format not None : CUarray_format):
 *         self._ptr[0].Format = Format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def NumChannels(self):
 *         return self._ptr[0].NumChannels
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_DESCRIPTOR_st.NumChannels.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10135
 *     def NumChannels(self):
 *         return self._ptr[0].NumChannels
 *     @NumChannels.setter             # <<<<<<<<<<<<<<
 *     def NumChannels(self, unsigned int NumChannels):
 *         self._ptr[0].NumChannels = NumChannels
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_NumChannels); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_NumChannels); if (unlikely((__pyx_v_NumChannels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10136, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, unsigned int __pyx_v_NumChannels) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10135, 0, __PYX_ERR(1, 10135, __pyx_L1_error));

  /* "cuda/cuda.pyx":10137
 *     @NumChannels.setter
 *     def NumChannels(self, unsigned int NumChannels):
 *         self._ptr[0].NumChannels = NumChannels             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_ARRAY3D_DESCRIPTOR_st:
 */
  (__pyx_v_self->_ptr[0]).NumChannels = __pyx_v_NumChannels;

  /* "cuda/cuda.pyx":10135
 *     def NumChannels(self):
 *         return self._ptr[0].NumChannels
 *     @NumChannels.setter             # <<<<<<<<<<<<<<
 *     def NumChannels(self, unsigned int NumChannels):
 *         self._ptr[0].NumChannels = NumChannels
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_DESCRIPTOR_st.NumChannels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_10__reduce_cython__, "CUDA_ARRAY_DESCRIPTOR_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__246)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_DESCRIPTOR_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_12__setstate_cython__, "CUDA_ARRAY_DESCRIPTOR_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__247)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_DESCRIPTOR_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10164
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10164, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 10164, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10164, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 10164, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 10164, 0, __PYX_ERR(1, 10164, __pyx_L1_error));

  /* "cuda/cuda.pyx":10165
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10166
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_ARRAY3D_DESCRIPTOR_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_ARRAY3D_DESCRIPTOR_st__val);

    /* "cuda/cuda.pyx":10165
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":10168
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_ARRAY3D_DESCRIPTOR_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":10164
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10169
 *         else:
 *             self._ptr = <ccuda.CUDA_ARRAY3D_DESCRIPTOR_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10169, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 10169, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10169, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 10169, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 10169, 0, __PYX_ERR(1, 10169, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10171
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 10171, 0, __PYX_ERR(1, 10171, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":10173
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6getPtr, "CUDA_ARRAY3D_DESCRIPTOR_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__248)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 10173, 0, __PYX_ERR(1, 10173, __pyx_L1_error));

  /* "cuda/cuda.pyx":10174
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10173
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10175
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 10175, 0, __PYX_ERR(1, 10175, __pyx_L1_error));

  /* "cuda/cuda.pyx":10176
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10177
 *     def __repr__(self):
 *         if self._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(1, 10177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10178
 *         if self._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/cuda.pyx":10179
 *             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_n_s_Width_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10179, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10179, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_Width, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10179, __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(1, 10179, __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)) __PYX_ERR(1, 10179, __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(1, 10179, __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/cuda.pyx":10178
 *         if self._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/cuda.pyx":10180
 *             try:
 *                 str_list += ['Width : ' + str(self.Width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Width : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10180, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10181
 *                 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(1, 10181, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_Width_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_Width_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_Width_ValueError)) __PYX_ERR(1, 10181, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10181, __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/cuda.pyx":10178
 *         if self._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/cuda.pyx":10182
 *             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/cuda.pyx":10183
 *                 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_n_s_Height_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10183, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10183, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_Height, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10183, __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(1, 10183, __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)) __PYX_ERR(1, 10183, __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(1, 10183, __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/cuda.pyx":10182
 *             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/cuda.pyx":10184
 *             try:
 *                 str_list += ['Height : ' + str(self.Height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Height : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10184, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":10185
 *                 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(1, 10185, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_Height_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_Height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_Height_ValueError)) __PYX_ERR(1, 10185, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 10185, __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/cuda.pyx":10182
 *             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/cuda.pyx":10186
 *             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/cuda.pyx":10187
 *                 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_n_s_Depth_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10187, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10187, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_Depth, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10187, __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(1, 10187, __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)) __PYX_ERR(1, 10187, __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(1, 10187, __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/cuda.pyx":10186
 *             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/cuda.pyx":10188
 *             try:
 *                 str_list += ['Depth : ' + str(self.Depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Depth : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10188, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10189
 *                 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(1, 10189, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_Depth_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_Depth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_Depth_ValueError)) __PYX_ERR(1, 10189, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10189, __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/cuda.pyx":10186
 *             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/cuda.pyx":10190
 *             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/cuda.pyx":10191
 *                 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_n_s_Format_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10191, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10191, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_Format, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10191, __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(1, 10191, __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)) __PYX_ERR(1, 10191, __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(1, 10191, __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/cuda.pyx":10190
 *             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/cuda.pyx":10192
 *             try:
 *                 str_list += ['Format : ' + str(self.Format)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Format : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10192, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":10193
 *                 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(1, 10193, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_Format_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_Format_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_Format_ValueError)) __PYX_ERR(1, 10193, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 10193, __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/cuda.pyx":10190
 *             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/cuda.pyx":10194
 *             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/cuda.pyx":10195
 *                 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_n_s_NumChannels_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10195, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10195, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_NumChannels, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10195, __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(1, 10195, __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)) __PYX_ERR(1, 10195, __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(1, 10195, __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/cuda.pyx":10194
 *             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/cuda.pyx":10196
 *             try:
 *                 str_list += ['NumChannels : ' + str(self.NumChannels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['NumChannels : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10196, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10197
 *                 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(1, 10197, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_NumChannels_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_NumChannels_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_NumChannels_ValueError)) __PYX_ERR(1, 10197, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10197, __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/cuda.pyx":10194
 *             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/cuda.pyx":10198
 *             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/cuda.pyx":10199
 *                 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_n_s_Flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10199, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10199, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_Flags, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10199, __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(1, 10199, __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)) __PYX_ERR(1, 10199, __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(1, 10199, __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/cuda.pyx":10198
 *             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/cuda.pyx":10200
 *             try:
 *                 str_list += ['Flags : ' + str(self.Flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['Flags : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10200, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":10201
 *                 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(1, 10201, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_Flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_Flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_Flags_ValueError)) __PYX_ERR(1, 10201, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 10201, __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/cuda.pyx":10198
 *             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/cuda.pyx":10202
 *             except ValueError:
 *                 str_list += ['Flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":10176
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":10204
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def Width(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":10175
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10205
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def Width(self):
 *         return self._ptr[0].Width
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10205, 0, __PYX_ERR(1, 10205, __pyx_L1_error));

  /* "cuda/cuda.pyx":10207
 *     @property
 *     def Width(self):
 *         return self._ptr[0].Width             # <<<<<<<<<<<<<<
 *     @Width.setter
 *     def Width(self, size_t Width):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).Width); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10205
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def Width(self):
 *         return self._ptr[0].Width
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.Width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10208
 *     def Width(self):
 *         return self._ptr[0].Width
 *     @Width.setter             # <<<<<<<<<<<<<<
 *     def Width(self, size_t Width):
 *         self._ptr[0].Width = Width
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Width); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_Width); if (unlikely((__pyx_v_Width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 10209, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Width) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10208, 0, __PYX_ERR(1, 10208, __pyx_L1_error));

  /* "cuda/cuda.pyx":10210
 *     @Width.setter
 *     def Width(self, size_t Width):
 *         self._ptr[0].Width = Width             # <<<<<<<<<<<<<<
 *     @property
 *     def Height(self):
 */
  (__pyx_v_self->_ptr[0]).Width = __pyx_v_Width;

  /* "cuda/cuda.pyx":10208
 *     def Width(self):
 *         return self._ptr[0].Width
 *     @Width.setter             # <<<<<<<<<<<<<<
 *     def Width(self, size_t Width):
 *         self._ptr[0].Width = Width
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.Width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10211
 *     def Width(self, size_t Width):
 *         self._ptr[0].Width = Width
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._ptr[0].Height
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10211, 0, __PYX_ERR(1, 10211, __pyx_L1_error));

  /* "cuda/cuda.pyx":10213
 *     @property
 *     def Height(self):
 *         return self._ptr[0].Height             # <<<<<<<<<<<<<<
 *     @Height.setter
 *     def Height(self, size_t Height):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).Height); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10211
 *     def Width(self, size_t Width):
 *         self._ptr[0].Width = Width
 *     @property             # <<<<<<<<<<<<<<
 *     def Height(self):
 *         return self._ptr[0].Height
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.Height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10214
 *     def Height(self):
 *         return self._ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Height); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_Height); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 10215, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Height) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10214, 0, __PYX_ERR(1, 10214, __pyx_L1_error));

  /* "cuda/cuda.pyx":10216
 *     @Height.setter
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height             # <<<<<<<<<<<<<<
 *     @property
 *     def Depth(self):
 */
  (__pyx_v_self->_ptr[0]).Height = __pyx_v_Height;

  /* "cuda/cuda.pyx":10214
 *     def Height(self):
 *         return self._ptr[0].Height
 *     @Height.setter             # <<<<<<<<<<<<<<
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.Height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10217
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 *     @property             # <<<<<<<<<<<<<<
 *     def Depth(self):
 *         return self._ptr[0].Depth
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10217, 0, __PYX_ERR(1, 10217, __pyx_L1_error));

  /* "cuda/cuda.pyx":10219
 *     @property
 *     def Depth(self):
 *         return self._ptr[0].Depth             # <<<<<<<<<<<<<<
 *     @Depth.setter
 *     def Depth(self, size_t Depth):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).Depth); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10217
 *     def Height(self, size_t Height):
 *         self._ptr[0].Height = Height
 *     @property             # <<<<<<<<<<<<<<
 *     def Depth(self):
 *         return self._ptr[0].Depth
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.Depth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10220
 *     def Depth(self):
 *         return self._ptr[0].Depth
 *     @Depth.setter             # <<<<<<<<<<<<<<
 *     def Depth(self, size_t Depth):
 *         self._ptr[0].Depth = Depth
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Depth); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_Depth); if (unlikely((__pyx_v_Depth == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 10221, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, size_t __pyx_v_Depth) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10220, 0, __PYX_ERR(1, 10220, __pyx_L1_error));

  /* "cuda/cuda.pyx":10222
 *     @Depth.setter
 *     def Depth(self, size_t Depth):
 *         self._ptr[0].Depth = Depth             # <<<<<<<<<<<<<<
 *     @property
 *     def Format(self):
 */
  (__pyx_v_self->_ptr[0]).Depth = __pyx_v_Depth;

  /* "cuda/cuda.pyx":10220
 *     def Depth(self):
 *         return self._ptr[0].Depth
 *     @Depth.setter             # <<<<<<<<<<<<<<
 *     def Depth(self, size_t Depth):
 *         self._ptr[0].Depth = Depth
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.Depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10223
 *     def Depth(self, size_t Depth):
 *         self._ptr[0].Depth = Depth
 *     @property             # <<<<<<<<<<<<<<
 *     def Format(self):
 *         return CUarray_format(self._ptr[0].Format)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10223, 0, __PYX_ERR(1, 10223, __pyx_L1_error));

  /* "cuda/cuda.pyx":10225
 *     @property
 *     def Format(self):
 *         return CUarray_format(self._ptr[0].Format)             # <<<<<<<<<<<<<<
 *     @Format.setter
 *     def Format(self, Format not None : CUarray_format):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUarray_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUarray_format_enum((__pyx_v_self->_ptr[0]).Format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 10225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10225, __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/cuda.pyx":10223
 *     def Depth(self, size_t Depth):
 *         self._ptr[0].Depth = Depth
 *     @property             # <<<<<<<<<<<<<<
 *     def Format(self):
 *         return CUarray_format(self._ptr[0].Format)
 */

  /* 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.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.Format.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10226
 *     def Format(self):
 *         return CUarray_format(self._ptr[0].Format)
 *     @Format.setter             # <<<<<<<<<<<<<<
 *     def Format(self, Format not None : CUarray_format):
 *         self._ptr[0].Format = Format.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_Format); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 10227, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self), ((PyObject *)__pyx_v_Format));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, PyObject *__pyx_v_Format) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10226, 0, __PYX_ERR(1, 10226, __pyx_L1_error));

  /* "cuda/cuda.pyx":10228
 *     @Format.setter
 *     def Format(self, Format not None : CUarray_format):
 *         self._ptr[0].Format = Format.value             # <<<<<<<<<<<<<<
 *     @property
 *     def NumChannels(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_Format, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUarray_format_enum)__Pyx_PyInt_As_enum__CUarray_format_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10228, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).Format = __pyx_t_2;

  /* "cuda/cuda.pyx":10226
 *     def Format(self):
 *         return CUarray_format(self._ptr[0].Format)
 *     @Format.setter             # <<<<<<<<<<<<<<
 *     def Format(self, Format not None : CUarray_format):
 *         self._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.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.Format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10229
 *     def Format(self, Format not None : CUarray_format):
 *         self._ptr[0].Format = Format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def NumChannels(self):
 *         return self._ptr[0].NumChannels
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10229, 0, __PYX_ERR(1, 10229, __pyx_L1_error));

  /* "cuda/cuda.pyx":10231
 *     @property
 *     def NumChannels(self):
 *         return self._ptr[0].NumChannels             # <<<<<<<<<<<<<<
 *     @NumChannels.setter
 *     def NumChannels(self, unsigned int NumChannels):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).NumChannels); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10229
 *     def Format(self, Format not None : CUarray_format):
 *         self._ptr[0].Format = Format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def NumChannels(self):
 *         return self._ptr[0].NumChannels
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.NumChannels.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10232
 *     def NumChannels(self):
 *         return self._ptr[0].NumChannels
 *     @NumChannels.setter             # <<<<<<<<<<<<<<
 *     def NumChannels(self, unsigned int NumChannels):
 *         self._ptr[0].NumChannels = NumChannels
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_NumChannels); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_NumChannels); if (unlikely((__pyx_v_NumChannels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10233, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, unsigned int __pyx_v_NumChannels) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10232, 0, __PYX_ERR(1, 10232, __pyx_L1_error));

  /* "cuda/cuda.pyx":10234
 *     @NumChannels.setter
 *     def NumChannels(self, unsigned int NumChannels):
 *         self._ptr[0].NumChannels = NumChannels             # <<<<<<<<<<<<<<
 *     @property
 *     def Flags(self):
 */
  (__pyx_v_self->_ptr[0]).NumChannels = __pyx_v_NumChannels;

  /* "cuda/cuda.pyx":10232
 *     def NumChannels(self):
 *         return self._ptr[0].NumChannels
 *     @NumChannels.setter             # <<<<<<<<<<<<<<
 *     def NumChannels(self, unsigned int NumChannels):
 *         self._ptr[0].NumChannels = NumChannels
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.NumChannels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10235
 *     def NumChannels(self, unsigned int NumChannels):
 *         self._ptr[0].NumChannels = NumChannels
 *     @property             # <<<<<<<<<<<<<<
 *     def Flags(self):
 *         return self._ptr[0].Flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10235, 0, __PYX_ERR(1, 10235, __pyx_L1_error));

  /* "cuda/cuda.pyx":10237
 *     @property
 *     def Flags(self):
 *         return self._ptr[0].Flags             # <<<<<<<<<<<<<<
 *     @Flags.setter
 *     def Flags(self, unsigned int Flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).Flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10235
 *     def NumChannels(self, unsigned int NumChannels):
 *         self._ptr[0].NumChannels = NumChannels
 *     @property             # <<<<<<<<<<<<<<
 *     def Flags(self):
 *         return self._ptr[0].Flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.Flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10238
 *     def Flags(self):
 *         return self._ptr[0].Flags
 *     @Flags.setter             # <<<<<<<<<<<<<<
 *     def Flags(self, unsigned int Flags):
 *         self._ptr[0].Flags = Flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_Flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_Flags); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10239, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, unsigned int __pyx_v_Flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10238, 0, __PYX_ERR(1, 10238, __pyx_L1_error));

  /* "cuda/cuda.pyx":10240
 *     @Flags.setter
 *     def Flags(self, unsigned int Flags):
 *         self._ptr[0].Flags = Flags             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct5:
 */
  (__pyx_v_self->_ptr[0]).Flags = __pyx_v_Flags;

  /* "cuda/cuda.pyx":10238
 *     def Flags(self):
 *         return self._ptr[0].Flags
 *     @Flags.setter             # <<<<<<<<<<<<<<
 *     def Flags(self, unsigned int Flags):
 *         self._ptr[0].Flags = Flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.Flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_10__reduce_cython__, "CUDA_ARRAY3D_DESCRIPTOR_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__249)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_12__setstate_cython__, "CUDA_ARRAY3D_DESCRIPTOR_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__250)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10259
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct5_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct5_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10259, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 10259, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10259, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 10259, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct5.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct5___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct5 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct5___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 10259, 0, __PYX_ERR(1, 10259, __pyx_L1_error));

  /* "cuda/cuda.pyx":10260
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":10259
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct5.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10262
 *         self._ptr = <ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct5_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct5_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10262, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 10262, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10262, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 10262, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct5.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct5_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct5 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct5_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 10262, 0, __PYX_ERR(1, 10262, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct5.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10264
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_12anon_struct5_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct5_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_12anon_struct5_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 10264, 0, __PYX_ERR(1, 10264, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct5.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":10266
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].tileExtent
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct5_6getPtr, "anon_struct5.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct5_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct5_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct5_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct5_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct5_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__251)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 10266, 0, __PYX_ERR(1, 10266, __pyx_L1_error));

  /* "cuda/cuda.pyx":10267
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].tileExtent             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).tileExtent))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10266
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].tileExtent
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct5.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10268
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].tileExtent
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct5_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct5_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct5_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 10268, 0, __PYX_ERR(1, 10268, __pyx_L1_error));

  /* "cuda/cuda.pyx":10269
 *         return <void_ptr>&self._ptr[0].tileExtent
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10270
 *     def __repr__(self):
 *         if self._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(1, 10270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10271
 *         if self._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/cuda.pyx":10272
 *             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_n_s_width_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10272, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10272, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_width, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10272, __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(1, 10272, __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)) __PYX_ERR(1, 10272, __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(1, 10272, __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/cuda.pyx":10271
 *         if self._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/cuda.pyx":10273
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct5.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 10273, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10274
 *                 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(1, 10274, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_width_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_width_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_width_ValueError)) __PYX_ERR(1, 10274, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10274, __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/cuda.pyx":10271
 *         if self._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/cuda.pyx":10275
 *             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/cuda.pyx":10276
 *                 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_n_s_height_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10276, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10276, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_height, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10276, __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(1, 10276, __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)) __PYX_ERR(1, 10276, __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(1, 10276, __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/cuda.pyx":10275
 *             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/cuda.pyx":10277
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct5.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 10277, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":10278
 *                 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(1, 10278, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_height_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_height_ValueError)) __PYX_ERR(1, 10278, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 10278, __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/cuda.pyx":10275
 *             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/cuda.pyx":10279
 *             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/cuda.pyx":10280
 *                 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_n_s_depth_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10280, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10280, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_depth, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10280, __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(1, 10280, __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)) __PYX_ERR(1, 10280, __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(1, 10280, __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/cuda.pyx":10279
 *             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/cuda.pyx":10281
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct5.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 10281, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10282
 *                 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(1, 10282, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_depth_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_depth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_depth_ValueError)) __PYX_ERR(1, 10282, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10282, __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/cuda.pyx":10279
 *             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/cuda.pyx":10283
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":10269
 *         return <void_ptr>&self._ptr[0].tileExtent
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":10285
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def width(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":10268
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].tileExtent
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10286
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._ptr[0].tileExtent.width
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct5_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct5_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_4cuda_12anon_struct5_5width___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct5_5width___get__(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10286, 0, __PYX_ERR(1, 10286, __pyx_L1_error));

  /* "cuda/cuda.pyx":10288
 *     @property
 *     def width(self):
 *         return self._ptr[0].tileExtent.width             # <<<<<<<<<<<<<<
 *     @width.setter
 *     def width(self, unsigned int width):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).tileExtent.width); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10286
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._ptr[0].tileExtent.width
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct5.width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10289
 *     def width(self):
 *         return self._ptr[0].tileExtent.width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, unsigned int width):
 *         self._ptr[0].tileExtent.width = width
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct5_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct5_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_PyInt_As_unsigned_int(__pyx_arg_width); if (unlikely((__pyx_v_width == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10290, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct5.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct5_5width_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct5 *)__pyx_v_self), ((unsigned int)__pyx_v_width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct5_5width_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self, unsigned int __pyx_v_width) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10289, 0, __PYX_ERR(1, 10289, __pyx_L1_error));

  /* "cuda/cuda.pyx":10291
 *     @width.setter
 *     def width(self, unsigned int width):
 *         self._ptr[0].tileExtent.width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
 */
  (__pyx_v_self->_ptr[0]).tileExtent.width = __pyx_v_width;

  /* "cuda/cuda.pyx":10289
 *     def width(self):
 *         return self._ptr[0].tileExtent.width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, unsigned int width):
 *         self._ptr[0].tileExtent.width = width
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct5.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10292
 *     def width(self, unsigned int width):
 *         self._ptr[0].tileExtent.width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._ptr[0].tileExtent.height
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct5_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct5_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_4cuda_12anon_struct5_6height___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct5_6height___get__(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10292, 0, __PYX_ERR(1, 10292, __pyx_L1_error));

  /* "cuda/cuda.pyx":10294
 *     @property
 *     def height(self):
 *         return self._ptr[0].tileExtent.height             # <<<<<<<<<<<<<<
 *     @height.setter
 *     def height(self, unsigned int height):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).tileExtent.height); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10292
 *     def width(self, unsigned int width):
 *         self._ptr[0].tileExtent.width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._ptr[0].tileExtent.height
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct5.height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10295
 *     def height(self):
 *         return self._ptr[0].tileExtent.height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, unsigned int height):
 *         self._ptr[0].tileExtent.height = height
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct5_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct5_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_PyInt_As_unsigned_int(__pyx_arg_height); if (unlikely((__pyx_v_height == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10296, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct5.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct5_6height_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct5 *)__pyx_v_self), ((unsigned int)__pyx_v_height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct5_6height_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self, unsigned int __pyx_v_height) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10295, 0, __PYX_ERR(1, 10295, __pyx_L1_error));

  /* "cuda/cuda.pyx":10297
 *     @height.setter
 *     def height(self, unsigned int height):
 *         self._ptr[0].tileExtent.height = height             # <<<<<<<<<<<<<<
 *     @property
 *     def depth(self):
 */
  (__pyx_v_self->_ptr[0]).tileExtent.height = __pyx_v_height;

  /* "cuda/cuda.pyx":10295
 *     def height(self):
 *         return self._ptr[0].tileExtent.height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, unsigned int height):
 *         self._ptr[0].tileExtent.height = height
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct5.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10298
 *     def height(self, unsigned int height):
 *         self._ptr[0].tileExtent.height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def depth(self):
 *         return self._ptr[0].tileExtent.depth
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct5_5depth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct5_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_4cuda_12anon_struct5_5depth___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct5_5depth___get__(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10298, 0, __PYX_ERR(1, 10298, __pyx_L1_error));

  /* "cuda/cuda.pyx":10300
 *     @property
 *     def depth(self):
 *         return self._ptr[0].tileExtent.depth             # <<<<<<<<<<<<<<
 *     @depth.setter
 *     def depth(self, unsigned int depth):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).tileExtent.depth); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10298
 *     def height(self, unsigned int height):
 *         self._ptr[0].tileExtent.height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def depth(self):
 *         return self._ptr[0].tileExtent.depth
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct5.depth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10301
 *     def depth(self):
 *         return self._ptr[0].tileExtent.depth
 *     @depth.setter             # <<<<<<<<<<<<<<
 *     def depth(self, unsigned int depth):
 *         self._ptr[0].tileExtent.depth = depth
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct5_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct5_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_PyInt_As_unsigned_int(__pyx_arg_depth); if (unlikely((__pyx_v_depth == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10302, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct5.depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct5_5depth_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct5 *)__pyx_v_self), ((unsigned int)__pyx_v_depth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct5_5depth_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self, unsigned int __pyx_v_depth) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10301, 0, __PYX_ERR(1, 10301, __pyx_L1_error));

  /* "cuda/cuda.pyx":10303
 *     @depth.setter
 *     def depth(self, unsigned int depth):
 *         self._ptr[0].tileExtent.depth = depth             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_ARRAY_SPARSE_PROPERTIES_st:
 */
  (__pyx_v_self->_ptr[0]).tileExtent.depth = __pyx_v_depth;

  /* "cuda/cuda.pyx":10301
 *     def depth(self):
 *         return self._ptr[0].tileExtent.depth
 *     @depth.setter             # <<<<<<<<<<<<<<
 *     def depth(self, unsigned int depth):
 *         self._ptr[0].tileExtent.depth = depth
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct5.depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_12anon_struct5_10__reduce_cython__, "anon_struct5.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct5_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct5_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct5_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct5_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct5_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__252)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct5.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct5_12__setstate_cython__, "anon_struct5.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct5_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct5_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct5_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct5.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct5_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct5 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct5_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__253)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct5.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10329
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10329, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 10329, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10329, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 10329, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 10329, 0, __PYX_ERR(1, 10329, __pyx_L1_error));

  /* "cuda/cuda.pyx":10330
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10331
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_ARRAY_SPARSE_PROPERTIES_st__val);

    /* "cuda/cuda.pyx":10330
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":10333
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._tileExtent = anon_struct5(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":10329
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10334
 *         else:
 *             self._ptr = <ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._tileExtent = anon_struct5(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10334, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 10334, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10334, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 10334, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 10334, 0, __PYX_ERR(1, 10334, __pyx_L1_error));

  /* "cuda/cuda.pyx":10335
 *             self._ptr = <ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._tileExtent = anon_struct5(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 10335, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct5), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_tileExtent);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_tileExtent);
  __pyx_v_self->_tileExtent = ((struct __pyx_obj_4cuda_4cuda_anon_struct5 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10334
 *         else:
 *             self._ptr = <ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._tileExtent = anon_struct5(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10336
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._tileExtent = anon_struct5(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 10336, 0, __PYX_ERR(1, 10336, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":10338
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_6getPtr, "CUDA_ARRAY_SPARSE_PROPERTIES_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__254)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 10338, 0, __PYX_ERR(1, 10338, __pyx_L1_error));

  /* "cuda/cuda.pyx":10339
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10338
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10340
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr25__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 10340, 0, __PYX_ERR(1, 10340, __pyx_L1_error));

  /* "cuda/cuda.pyx":10341
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10342
 *     def __repr__(self):
 *         if self._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(1, 10342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10343
 *         if self._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/cuda.pyx":10344
 *             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(1, 10344, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_tileExtent_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10344, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10344, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10344, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_7))) {
            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
            if (likely(__pyx_t_8)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
              __Pyx_INCREF(__pyx_t_8);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_7, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10344, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10344, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 10344, __pyx_L12_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          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_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 10344, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 10344, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10344, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 10344, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 10344, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10344, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_11(__pyx_t_7);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 10344, __pyx_L12_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr25__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr25__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10344, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 10344, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_9genexpr25__pyx_v_line); __pyx_9genexpr25__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_9genexpr25__pyx_v_line); __pyx_9genexpr25__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10344, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_tileExtent, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10344, __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(1, 10344, __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)) __PYX_ERR(1, 10344, __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(1, 10344, __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/cuda.pyx":10343
 *         if self._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;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":10345
 *             try:
 *                 str_list += ['tileExtent :\n' + '\n'.join(['    ' + line for line in str(self.tileExtent).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['tileExtent : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10345, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":10346
 *                 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_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10346, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_tileExtent_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_tileExtent_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_tileExtent_ValueError)) __PYX_ERR(1, 10346, __pyx_L6_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 10346, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":10343
 *         if self._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/cuda.pyx":10347
 *             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/cuda.pyx":10348
 *                 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_n_s_miptailFirstLevel_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10348, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10348, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_miptailFirstLevel, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10348, __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(1, 10348, __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)) __PYX_ERR(1, 10348, __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(1, 10348, __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/cuda.pyx":10347
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":10349
 *             try:
 *                 str_list += ['miptailFirstLevel : ' + str(self.miptailFirstLevel)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['miptailFirstLevel : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10349, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":10350
 *                 str_list += ['miptailFirstLevel : ' + str(self.miptailFirstLevel)]
 *             except ValueError:
 *                 str_list += ['miptailFirstLevel : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['miptailSize : ' + str(self.miptailSize)]
 */
        __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 10350, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_miptailFirstLevel_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_miptailFirstLevel_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_miptailFirstLevel_ValueError)) __PYX_ERR(1, 10350, __pyx_L21_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10350, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":10347
 *             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/cuda.pyx":10351
 *             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/cuda.pyx":10352
 *                 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_n_s_miptailSize_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10352, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10352, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_miptailSize, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10352, __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(1, 10352, __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)) __PYX_ERR(1, 10352, __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(1, 10352, __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/cuda.pyx":10351
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":10353
 *             try:
 *                 str_list += ['miptailSize : ' + str(self.miptailSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['miptailSize : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10353, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":10354
 *                 str_list += ['miptailSize : ' + str(self.miptailSize)]
 *             except ValueError:
 *                 str_list += ['miptailSize : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 */
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10354, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_miptailSize_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_miptailSize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_miptailSize_ValueError)) __PYX_ERR(1, 10354, __pyx_L29_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 10354, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":10351
 *             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/cuda.pyx":10355
 *             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/cuda.pyx":10356
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10356, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10356, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10356, __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(1, 10356, __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)) __PYX_ERR(1, 10356, __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(1, 10356, __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/cuda.pyx":10355
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":10357
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10357, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":10358
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 */
        __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 10358, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 10358, __pyx_L37_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10358, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":10355
 *             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/cuda.pyx":10359
 *             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/cuda.pyx":10360
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10360, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10360, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10360, __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(1, 10360, __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)) __PYX_ERR(1, 10360, __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(1, 10360, __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/cuda.pyx":10359
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":10361
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10361, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":10362
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10362, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 10362, __pyx_L45_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 10362, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":10359
 *             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/cuda.pyx":10363
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10363, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":10341
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":10365
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def tileExtent(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":10340
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.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_9genexpr25__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10366
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def tileExtent(self):
 *         return self._tileExtent
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10366, 0, __PYX_ERR(1, 10366, __pyx_L1_error));

  /* "cuda/cuda.pyx":10368
 *     @property
 *     def tileExtent(self):
 *         return self._tileExtent             # <<<<<<<<<<<<<<
 *     @tileExtent.setter
 *     def tileExtent(self, tileExtent not None : anon_struct5):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_tileExtent);
  __pyx_r = ((PyObject *)__pyx_v_self->_tileExtent);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10366
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def tileExtent(self):
 *         return self._tileExtent
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_st.tileExtent.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10369
 *     def tileExtent(self):
 *         return self._tileExtent
 *     @tileExtent.setter             # <<<<<<<<<<<<<<
 *     def tileExtent(self, tileExtent not None : anon_struct5):
 *         string.memcpy(&self._ptr[0].tileExtent, <ccuda.anon_struct5*><void_ptr>tileExtent.getPtr(), sizeof(self._ptr[0].tileExtent))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_tileExtent); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct5, 0, "tileExtent", 0))) __PYX_ERR(1, 10370, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct5 *)__pyx_v_tileExtent));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct5 *__pyx_v_tileExtent) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10369, 0, __PYX_ERR(1, 10369, __pyx_L1_error));

  /* "cuda/cuda.pyx":10371
 *     @tileExtent.setter
 *     def tileExtent(self, tileExtent not None : anon_struct5):
 *         string.memcpy(&self._ptr[0].tileExtent, <ccuda.anon_struct5*><void_ptr>tileExtent.getPtr(), sizeof(self._ptr[0].tileExtent))             # <<<<<<<<<<<<<<
 *     @property
 *     def miptailFirstLevel(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_tileExtent), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).tileExtent), ((struct anon_struct5 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).tileExtent))));

  /* "cuda/cuda.pyx":10369
 *     def tileExtent(self):
 *         return self._tileExtent
 *     @tileExtent.setter             # <<<<<<<<<<<<<<
 *     def tileExtent(self, tileExtent not None : anon_struct5):
 *         string.memcpy(&self._ptr[0].tileExtent, <ccuda.anon_struct5*><void_ptr>tileExtent.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_st.tileExtent.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10372
 *     def tileExtent(self, tileExtent not None : anon_struct5):
 *         string.memcpy(&self._ptr[0].tileExtent, <ccuda.anon_struct5*><void_ptr>tileExtent.getPtr(), sizeof(self._ptr[0].tileExtent))
 *     @property             # <<<<<<<<<<<<<<
 *     def miptailFirstLevel(self):
 *         return self._ptr[0].miptailFirstLevel
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10372, 0, __PYX_ERR(1, 10372, __pyx_L1_error));

  /* "cuda/cuda.pyx":10374
 *     @property
 *     def miptailFirstLevel(self):
 *         return self._ptr[0].miptailFirstLevel             # <<<<<<<<<<<<<<
 *     @miptailFirstLevel.setter
 *     def miptailFirstLevel(self, unsigned int miptailFirstLevel):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).miptailFirstLevel); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10372
 *     def tileExtent(self, tileExtent not None : anon_struct5):
 *         string.memcpy(&self._ptr[0].tileExtent, <ccuda.anon_struct5*><void_ptr>tileExtent.getPtr(), sizeof(self._ptr[0].tileExtent))
 *     @property             # <<<<<<<<<<<<<<
 *     def miptailFirstLevel(self):
 *         return self._ptr[0].miptailFirstLevel
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_st.miptailFirstLevel.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10375
 *     def miptailFirstLevel(self):
 *         return self._ptr[0].miptailFirstLevel
 *     @miptailFirstLevel.setter             # <<<<<<<<<<<<<<
 *     def miptailFirstLevel(self, unsigned int miptailFirstLevel):
 *         self._ptr[0].miptailFirstLevel = miptailFirstLevel
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_miptailFirstLevel); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_miptailFirstLevel); if (unlikely((__pyx_v_miptailFirstLevel == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10376, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, unsigned int __pyx_v_miptailFirstLevel) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10375, 0, __PYX_ERR(1, 10375, __pyx_L1_error));

  /* "cuda/cuda.pyx":10377
 *     @miptailFirstLevel.setter
 *     def miptailFirstLevel(self, unsigned int miptailFirstLevel):
 *         self._ptr[0].miptailFirstLevel = miptailFirstLevel             # <<<<<<<<<<<<<<
 *     @property
 *     def miptailSize(self):
 */
  (__pyx_v_self->_ptr[0]).miptailFirstLevel = __pyx_v_miptailFirstLevel;

  /* "cuda/cuda.pyx":10375
 *     def miptailFirstLevel(self):
 *         return self._ptr[0].miptailFirstLevel
 *     @miptailFirstLevel.setter             # <<<<<<<<<<<<<<
 *     def miptailFirstLevel(self, unsigned int miptailFirstLevel):
 *         self._ptr[0].miptailFirstLevel = miptailFirstLevel
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_st.miptailFirstLevel.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10378
 *     def miptailFirstLevel(self, unsigned int miptailFirstLevel):
 *         self._ptr[0].miptailFirstLevel = miptailFirstLevel
 *     @property             # <<<<<<<<<<<<<<
 *     def miptailSize(self):
 *         return self._ptr[0].miptailSize
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10378, 0, __PYX_ERR(1, 10378, __pyx_L1_error));

  /* "cuda/cuda.pyx":10380
 *     @property
 *     def miptailSize(self):
 *         return self._ptr[0].miptailSize             # <<<<<<<<<<<<<<
 *     @miptailSize.setter
 *     def miptailSize(self, unsigned long long miptailSize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).miptailSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10378
 *     def miptailFirstLevel(self, unsigned int miptailFirstLevel):
 *         self._ptr[0].miptailFirstLevel = miptailFirstLevel
 *     @property             # <<<<<<<<<<<<<<
 *     def miptailSize(self):
 *         return self._ptr[0].miptailSize
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_st.miptailSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10381
 *     def miptailSize(self):
 *         return self._ptr[0].miptailSize
 *     @miptailSize.setter             # <<<<<<<<<<<<<<
 *     def miptailSize(self, unsigned long long miptailSize):
 *         self._ptr[0].miptailSize = miptailSize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_miptailSize); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_miptailSize); if (unlikely((__pyx_v_miptailSize == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10382, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_miptailSize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10381, 0, __PYX_ERR(1, 10381, __pyx_L1_error));

  /* "cuda/cuda.pyx":10383
 *     @miptailSize.setter
 *     def miptailSize(self, unsigned long long miptailSize):
 *         self._ptr[0].miptailSize = miptailSize             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  (__pyx_v_self->_ptr[0]).miptailSize = __pyx_v_miptailSize;

  /* "cuda/cuda.pyx":10381
 *     def miptailSize(self):
 *         return self._ptr[0].miptailSize
 *     @miptailSize.setter             # <<<<<<<<<<<<<<
 *     def miptailSize(self, unsigned long long miptailSize):
 *         self._ptr[0].miptailSize = miptailSize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_st.miptailSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10384
 *     def miptailSize(self, unsigned long long miptailSize):
 *         self._ptr[0].miptailSize = miptailSize
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10384, 0, __PYX_ERR(1, 10384, __pyx_L1_error));

  /* "cuda/cuda.pyx":10386
 *     @property
 *     def flags(self):
 *         return self._ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10384
 *     def miptailSize(self, unsigned long long miptailSize):
 *         self._ptr[0].miptailSize = miptailSize
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10387
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10388, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10387, 0, __PYX_ERR(1, 10387, __pyx_L1_error));

  /* "cuda/cuda.pyx":10389
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":10387
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10390
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10390, 0, __PYX_ERR(1, 10390, __pyx_L1_error));

  /* "cuda/cuda.pyx":10392
 *     @property
 *     def reserved(self):
 *         return self._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->_ptr[0]).reserved, 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10390
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10393
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  unsigned int __pyx_t_1[4];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10393, 0, __PYX_ERR(1, 10393, __pyx_L1_error));

  /* "cuda/cuda.pyx":10395
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._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(1, 10395, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved[0]) * (4));

  /* "cuda/cuda.pyx":10393
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10__reduce_cython__, "CUDA_ARRAY_SPARSE_PROPERTIES_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__255)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_12__setstate_cython__, "CUDA_ARRAY_SPARSE_PROPERTIES_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__256)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10416
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10416, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 10416, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10416, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 10416, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 10416, 0, __PYX_ERR(1, 10416, __pyx_L1_error));

  /* "cuda/cuda.pyx":10417
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10418
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_ARRAY_MEMORY_REQUIREMENTS_st__val);

    /* "cuda/cuda.pyx":10417
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":10420
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":10416
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10421
 *         else:
 *             self._ptr = <ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10421, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 10421, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10421, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 10421, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 10421, 0, __PYX_ERR(1, 10421, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10423
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 10423, 0, __PYX_ERR(1, 10423, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":10425
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_6getPtr, "CUDA_ARRAY_MEMORY_REQUIREMENTS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__257)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 10425, 0, __PYX_ERR(1, 10425, __pyx_L1_error));

  /* "cuda/cuda.pyx":10426
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10425
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10427
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 10427, 0, __PYX_ERR(1, 10427, __pyx_L1_error));

  /* "cuda/cuda.pyx":10428
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10429
 *     def __repr__(self):
 *         if self._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(1, 10429, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10430
 *         if self._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/cuda.pyx":10431
 *             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_n_s_size_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10431, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10431, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_size, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10431, __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(1, 10431, __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)) __PYX_ERR(1, 10431, __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(1, 10431, __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/cuda.pyx":10430
 *         if self._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/cuda.pyx":10432
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10432, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10433
 *                 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(1, 10433, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_size_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_size_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_size_ValueError)) __PYX_ERR(1, 10433, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10433, __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/cuda.pyx":10430
 *         if self._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/cuda.pyx":10434
 *             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/cuda.pyx":10435
 *                 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_n_s_alignment_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10435, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10435, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_alignment, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10435, __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(1, 10435, __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)) __PYX_ERR(1, 10435, __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(1, 10435, __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/cuda.pyx":10434
 *             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/cuda.pyx":10436
 *             try:
 *                 str_list += ['alignment : ' + str(self.alignment)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['alignment : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10436, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":10437
 *                 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(1, 10437, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_alignment_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_alignment_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_alignment_ValueError)) __PYX_ERR(1, 10437, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 10437, __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/cuda.pyx":10434
 *             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/cuda.pyx":10438
 *             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/cuda.pyx":10439
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10439, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10439, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10439, __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(1, 10439, __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)) __PYX_ERR(1, 10439, __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(1, 10439, __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/cuda.pyx":10438
 *             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/cuda.pyx":10440
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10440, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10441
 *                 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(1, 10441, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 10441, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10441, __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/cuda.pyx":10438
 *             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/cuda.pyx":10442
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":10428
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":10444
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def size(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":10427
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10445
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._ptr[0].size
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10445, 0, __PYX_ERR(1, 10445, __pyx_L1_error));

  /* "cuda/cuda.pyx":10447
 *     @property
 *     def size(self):
 *         return self._ptr[0].size             # <<<<<<<<<<<<<<
 *     @size.setter
 *     def size(self, size_t size):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).size); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10445
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._ptr[0].size
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10448
 *     def size(self):
 *         return self._ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, size_t size):
 *         self._ptr[0].size = size
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 10449, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, size_t __pyx_v_size) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10448, 0, __PYX_ERR(1, 10448, __pyx_L1_error));

  /* "cuda/cuda.pyx":10450
 *     @size.setter
 *     def size(self, size_t size):
 *         self._ptr[0].size = size             # <<<<<<<<<<<<<<
 *     @property
 *     def alignment(self):
 */
  (__pyx_v_self->_ptr[0]).size = __pyx_v_size;

  /* "cuda/cuda.pyx":10448
 *     def size(self):
 *         return self._ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, size_t size):
 *         self._ptr[0].size = size
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10451
 *     def size(self, size_t size):
 *         self._ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def alignment(self):
 *         return self._ptr[0].alignment
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10451, 0, __PYX_ERR(1, 10451, __pyx_L1_error));

  /* "cuda/cuda.pyx":10453
 *     @property
 *     def alignment(self):
 *         return self._ptr[0].alignment             # <<<<<<<<<<<<<<
 *     @alignment.setter
 *     def alignment(self, size_t alignment):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).alignment); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10451
 *     def size(self, size_t size):
 *         self._ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def alignment(self):
 *         return self._ptr[0].alignment
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.alignment.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10454
 *     def alignment(self):
 *         return self._ptr[0].alignment
 *     @alignment.setter             # <<<<<<<<<<<<<<
 *     def alignment(self, size_t alignment):
 *         self._ptr[0].alignment = alignment
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_alignment); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_alignment); if (unlikely((__pyx_v_alignment == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 10455, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, size_t __pyx_v_alignment) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10454, 0, __PYX_ERR(1, 10454, __pyx_L1_error));

  /* "cuda/cuda.pyx":10456
 *     @alignment.setter
 *     def alignment(self, size_t alignment):
 *         self._ptr[0].alignment = alignment             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).alignment = __pyx_v_alignment;

  /* "cuda/cuda.pyx":10454
 *     def alignment(self):
 *         return self._ptr[0].alignment
 *     @alignment.setter             # <<<<<<<<<<<<<<
 *     def alignment(self, size_t alignment):
 *         self._ptr[0].alignment = alignment
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.alignment.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10457
 *     def alignment(self, size_t alignment):
 *         self._ptr[0].alignment = alignment
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10457, 0, __PYX_ERR(1, 10457, __pyx_L1_error));

  /* "cuda/cuda.pyx":10459
 *     @property
 *     def reserved(self):
 *         return self._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->_ptr[0]).reserved, 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10457
 *     def alignment(self, size_t alignment):
 *         self._ptr[0].alignment = alignment
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10460
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  unsigned int __pyx_t_1[4];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10460, 0, __PYX_ERR(1, 10460, __pyx_L1_error));

  /* "cuda/cuda.pyx":10462
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct6:
 */
  if (unlikely((__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 4) < 0))) __PYX_ERR(1, 10462, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved[0]) * (4));

  /* "cuda/cuda.pyx":10460
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_10__reduce_cython__, "CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__258)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_12__setstate_cython__, "CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__259)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10477
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct6_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct6_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10477, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 10477, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10477, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 10477, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct6.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct6___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct6 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct6___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 10477, 0, __PYX_ERR(1, 10477, __pyx_L1_error));

  /* "cuda/cuda.pyx":10478
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_RESOURCE_DESC_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":10477
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct6.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10480
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._hArray = CUarray(_ptr=<void_ptr>&self._ptr[0].res.array.hArray)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct6_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct6_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10480, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 10480, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10480, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 10480, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct6.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct6_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct6 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct6_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 10480, 0, __PYX_ERR(1, 10480, __pyx_L1_error));

  /* "cuda/cuda.pyx":10481
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._hArray = CUarray(_ptr=<void_ptr>&self._ptr[0].res.array.hArray)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).res.array.hArray))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 10481, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_hArray);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_hArray);
  __pyx_v_self->_hArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10480
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._hArray = CUarray(_ptr=<void_ptr>&self._ptr[0].res.array.hArray)
 *     def __dealloc__(self):
 */

  /* 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.cuda.anon_struct6.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10482
 *     def __init__(self, void_ptr _ptr):
 *         self._hArray = CUarray(_ptr=<void_ptr>&self._ptr[0].res.array.hArray)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_12anon_struct6_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct6_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_12anon_struct6_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 10482, 0, __PYX_ERR(1, 10482, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct6.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":10484
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.array
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct6_6getPtr, "anon_struct6.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct6_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct6_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct6_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct6_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct6_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__260)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 10484, 0, __PYX_ERR(1, 10484, __pyx_L1_error));

  /* "cuda/cuda.pyx":10485
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res.array             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).res.array))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10484
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.array
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct6.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10486
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res.array
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct6_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct6_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct6_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 10486, 0, __PYX_ERR(1, 10486, __pyx_L1_error));

  /* "cuda/cuda.pyx":10487
 *         return <void_ptr>&self._ptr[0].res.array
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10488
 *     def __repr__(self):
 *         if self._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(1, 10488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10489
 *         if self._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/cuda.pyx":10490
 *             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_n_s_hArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10490, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10490, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_hArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10490, __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(1, 10490, __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)) __PYX_ERR(1, 10490, __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(1, 10490, __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/cuda.pyx":10489
 *         if self._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/cuda.pyx":10491
 *             try:
 *                 str_list += ['hArray : ' + str(self.hArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hArray : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct6.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 10491, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10492
 *                 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(1, 10492, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_hArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_hArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_hArray_ValueError)) __PYX_ERR(1, 10492, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10492, __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/cuda.pyx":10489
 *         if self._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/cuda.pyx":10493
 *             except ValueError:
 *                 str_list += ['hArray : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":10487
 *         return <void_ptr>&self._ptr[0].res.array
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":10495
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def hArray(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":10486
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res.array
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10496
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def hArray(self):
 *         return self._hArray
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct6_6hArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct6_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_4cuda_12anon_struct6_6hArray___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct6_6hArray___get__(struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10496, 0, __PYX_ERR(1, 10496, __pyx_L1_error));

  /* "cuda/cuda.pyx":10498
 *     @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/cuda.pyx":10496
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def hArray(self):
 *         return self._hArray
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct6.hArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10499
 *     def hArray(self):
 *         return self._hArray
 *     @hArray.setter             # <<<<<<<<<<<<<<
 *     def hArray(self, hArray):
 *         cdef ccuda.CUarray chArray
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct6_6hArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hArray); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct6_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_4cuda_12anon_struct6_6hArray_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct6 *)__pyx_v_self), ((PyObject *)__pyx_v_hArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct6_6hArray_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self, PyObject *__pyx_v_hArray) {
  CUarray __pyx_v_chArray;
  PyObject *__pyx_v_phArray = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10499, 0, __PYX_ERR(1, 10499, __pyx_L1_error));

  /* "cuda/cuda.pyx":10502
 *     def hArray(self, hArray):
 *         cdef ccuda.CUarray chArray
 *         if hArray is None:             # <<<<<<<<<<<<<<
 *             chArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(hArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_hArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10503
 *         cdef ccuda.CUarray chArray
 *         if hArray is None:
 *             chArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(hArray, (CUarray,)):
 *             phArray = int(hArray)
 */
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":10502
 *     def hArray(self, hArray):
 *         cdef ccuda.CUarray chArray
 *         if hArray is None:             # <<<<<<<<<<<<<<
 *             chArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(hArray, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":10504
 *         if hArray is None:
 *             chArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             phArray = int(hArray)
 *             chArray = <ccuda.CUarray><void_ptr>phArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10505
 *             chArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(hArray, (CUarray,)):
 *             phArray = int(hArray)             # <<<<<<<<<<<<<<
 *             chArray = <ccuda.CUarray><void_ptr>phArray
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10505, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10506
 *         elif isinstance(hArray, (CUarray,)):
 *             phArray = int(hArray)
 *             chArray = <ccuda.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *         else:
 *             phArray = int(CUarray(hArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10506, __pyx_L1_error)
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":10504
 *         if hArray is None:
 *             chArray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *             phArray = int(hArray)
 *             chArray = <ccuda.CUarray><void_ptr>phArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":10508
 *             chArray = <ccuda.CUarray><void_ptr>phArray
 *         else:
 *             phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *             chArray = <ccuda.CUarray><void_ptr>phArray
 *         self._hArray._ptr[0] = chArray
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 10508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":10509
 *         else:
 *             phArray = int(CUarray(hArray))
 *             chArray = <ccuda.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *         self._hArray._ptr[0] = chArray
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10509, __pyx_L1_error)
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":10510
 *             phArray = int(CUarray(hArray))
 *             chArray = <ccuda.CUarray><void_ptr>phArray
 *         self._hArray._ptr[0] = chArray             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct7:
 */
  (__pyx_v_self->_hArray->_ptr[0]) = __pyx_v_chArray;

  /* "cuda/cuda.pyx":10499
 *     def hArray(self):
 *         return self._hArray
 *     @hArray.setter             # <<<<<<<<<<<<<<
 *     def hArray(self, hArray):
 *         cdef ccuda.CUarray chArray
 */

  /* 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.cuda.anon_struct6.hArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phArray);
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_12anon_struct6_10__reduce_cython__, "anon_struct6.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct6_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct6_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct6_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct6_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct6_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__261)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct6.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct6_12__setstate_cython__, "anon_struct6.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct6_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct6_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct6_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct6.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct6_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct6 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct6_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__262)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct6.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10525
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct7_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct7_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10525, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 10525, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10525, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 10525, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct7.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct7___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct7 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct7___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 10525, 0, __PYX_ERR(1, 10525, __pyx_L1_error));

  /* "cuda/cuda.pyx":10526
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_RESOURCE_DESC_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":10525
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct7.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10528
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._hMipmappedArray = CUmipmappedArray(_ptr=<void_ptr>&self._ptr[0].res.mipmap.hMipmappedArray)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct7_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct7_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10528, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 10528, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10528, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 10528, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct7.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct7_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct7 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct7_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 10528, 0, __PYX_ERR(1, 10528, __pyx_L1_error));

  /* "cuda/cuda.pyx":10529
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._hMipmappedArray = CUmipmappedArray(_ptr=<void_ptr>&self._ptr[0].res.mipmap.hMipmappedArray)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).res.mipmap.hMipmappedArray))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 10529, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmipmappedArray), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_hMipmappedArray);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_hMipmappedArray);
  __pyx_v_self->_hMipmappedArray = ((struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10528
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._hMipmappedArray = CUmipmappedArray(_ptr=<void_ptr>&self._ptr[0].res.mipmap.hMipmappedArray)
 *     def __dealloc__(self):
 */

  /* 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.cuda.anon_struct7.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10530
 *     def __init__(self, void_ptr _ptr):
 *         self._hMipmappedArray = CUmipmappedArray(_ptr=<void_ptr>&self._ptr[0].res.mipmap.hMipmappedArray)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_12anon_struct7_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct7_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_12anon_struct7_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 10530, 0, __PYX_ERR(1, 10530, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct7.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":10532
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.mipmap
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct7_6getPtr, "anon_struct7.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct7_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct7_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct7_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct7_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct7_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__263)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 10532, 0, __PYX_ERR(1, 10532, __pyx_L1_error));

  /* "cuda/cuda.pyx":10533
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res.mipmap             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).res.mipmap))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10532
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.mipmap
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct7.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10534
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res.mipmap
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct7_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct7_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct7_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 10534, 0, __PYX_ERR(1, 10534, __pyx_L1_error));

  /* "cuda/cuda.pyx":10535
 *         return <void_ptr>&self._ptr[0].res.mipmap
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10536
 *     def __repr__(self):
 *         if self._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(1, 10536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10537
 *         if self._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/cuda.pyx":10538
 *             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_n_s_hMipmappedArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10538, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10538, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_hMipmappedArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10538, __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(1, 10538, __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)) __PYX_ERR(1, 10538, __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(1, 10538, __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/cuda.pyx":10537
 *         if self._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/cuda.pyx":10539
 *             try:
 *                 str_list += ['hMipmappedArray : ' + str(self.hMipmappedArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hMipmappedArray : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct7.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 10539, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10540
 *                 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(1, 10540, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_hMipmappedArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_hMipmappedArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_hMipmappedArray_ValueError)) __PYX_ERR(1, 10540, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10540, __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/cuda.pyx":10537
 *         if self._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/cuda.pyx":10541
 *             except ValueError:
 *                 str_list += ['hMipmappedArray : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":10535
 *         return <void_ptr>&self._ptr[0].res.mipmap
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":10543
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def hMipmappedArray(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":10534
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res.mipmap
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10544
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def hMipmappedArray(self):
 *         return self._hMipmappedArray
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct7_15hMipmappedArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct7_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_4cuda_12anon_struct7_15hMipmappedArray___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct7_15hMipmappedArray___get__(struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10544, 0, __PYX_ERR(1, 10544, __pyx_L1_error));

  /* "cuda/cuda.pyx":10546
 *     @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/cuda.pyx":10544
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def hMipmappedArray(self):
 *         return self._hMipmappedArray
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct7.hMipmappedArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10547
 *     def hMipmappedArray(self):
 *         return self._hMipmappedArray
 *     @hMipmappedArray.setter             # <<<<<<<<<<<<<<
 *     def hMipmappedArray(self, hMipmappedArray):
 *         cdef ccuda.CUmipmappedArray chMipmappedArray
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct7_15hMipmappedArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hMipmappedArray); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct7_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_4cuda_12anon_struct7_15hMipmappedArray_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct7 *)__pyx_v_self), ((PyObject *)__pyx_v_hMipmappedArray));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct7_15hMipmappedArray_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self, PyObject *__pyx_v_hMipmappedArray) {
  CUmipmappedArray __pyx_v_chMipmappedArray;
  PyObject *__pyx_v_phMipmappedArray = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10547, 0, __PYX_ERR(1, 10547, __pyx_L1_error));

  /* "cuda/cuda.pyx":10550
 *     def hMipmappedArray(self, hMipmappedArray):
 *         cdef ccuda.CUmipmappedArray chMipmappedArray
 *         if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *             chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *         elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 */
  __pyx_t_1 = (__pyx_v_hMipmappedArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10551
 *         cdef ccuda.CUmipmappedArray chMipmappedArray
 *         if hMipmappedArray is None:
 *             chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *             phMipmappedArray = int(hMipmappedArray)
 */
    __pyx_v_chMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":10550
 *     def hMipmappedArray(self, hMipmappedArray):
 *         cdef ccuda.CUmipmappedArray chMipmappedArray
 *         if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *             chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *         elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":10552
 *         if hMipmappedArray is None:
 *             chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *         elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *             phMipmappedArray = int(hMipmappedArray)
 *             chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hMipmappedArray, __pyx_ptype_4cuda_4cuda_CUmipmappedArray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10553
 *             chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *         elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *             phMipmappedArray = int(hMipmappedArray)             # <<<<<<<<<<<<<<
 *             chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hMipmappedArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10553, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phMipmappedArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10554
 *         elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *             phMipmappedArray = int(hMipmappedArray)
 *             chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray             # <<<<<<<<<<<<<<
 *         else:
 *             phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phMipmappedArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10554, __pyx_L1_error)
    __pyx_v_chMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":10552
 *         if hMipmappedArray is None:
 *             chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *         elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *             phMipmappedArray = int(hMipmappedArray)
 *             chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":10556
 *             chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *         else:
 *             phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))             # <<<<<<<<<<<<<<
 *             chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *         self._hMipmappedArray._ptr[0] = chMipmappedArray
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmipmappedArray), __pyx_v_hMipmappedArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 10556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phMipmappedArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":10557
 *         else:
 *             phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *             chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray             # <<<<<<<<<<<<<<
 *         self._hMipmappedArray._ptr[0] = chMipmappedArray
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phMipmappedArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10557, __pyx_L1_error)
    __pyx_v_chMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":10558
 *             phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *             chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *         self._hMipmappedArray._ptr[0] = chMipmappedArray             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct8:
 */
  (__pyx_v_self->_hMipmappedArray->_ptr[0]) = __pyx_v_chMipmappedArray;

  /* "cuda/cuda.pyx":10547
 *     def hMipmappedArray(self):
 *         return self._hMipmappedArray
 *     @hMipmappedArray.setter             # <<<<<<<<<<<<<<
 *     def hMipmappedArray(self, hMipmappedArray):
 *         cdef ccuda.CUmipmappedArray chMipmappedArray
 */

  /* 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.cuda.anon_struct7.hMipmappedArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phMipmappedArray);
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_12anon_struct7_10__reduce_cython__, "anon_struct7.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct7_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct7_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct7_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct7_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct7_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__264)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct7.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct7_12__setstate_cython__, "anon_struct7.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct7_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct7_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct7_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct7.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct7_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct7 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct7_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__265)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct7.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10579
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct8_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct8_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10579, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 10579, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10579, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 10579, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct8.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct8___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct8___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 10579, 0, __PYX_ERR(1, 10579, __pyx_L1_error));

  /* "cuda/cuda.pyx":10580
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_RESOURCE_DESC_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":10579
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct8.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10582
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._devPtr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].res.linear.devPtr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct8_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct8_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10582, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 10582, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10582, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 10582, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct8.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct8_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct8_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 10582, 0, __PYX_ERR(1, 10582, __pyx_L1_error));

  /* "cuda/cuda.pyx":10583
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._devPtr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].res.linear.devPtr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).res.linear.devPtr))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 10583, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __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_4cuda_CUdeviceptr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10582
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._devPtr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].res.linear.devPtr)
 *     def __dealloc__(self):
 */

  /* 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.cuda.anon_struct8.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10584
 *     def __init__(self, void_ptr _ptr):
 *         self._devPtr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].res.linear.devPtr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_12anon_struct8_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct8_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_12anon_struct8_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 10584, 0, __PYX_ERR(1, 10584, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct8.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":10586
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.linear
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct8_6getPtr, "anon_struct8.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct8_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct8_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct8_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct8_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct8_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__266)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 10586, 0, __PYX_ERR(1, 10586, __pyx_L1_error));

  /* "cuda/cuda.pyx":10587
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res.linear             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).res.linear))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10586
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.linear
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct8.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10588
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res.linear
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct8_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct8_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct8_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 10588, 0, __PYX_ERR(1, 10588, __pyx_L1_error));

  /* "cuda/cuda.pyx":10589
 *         return <void_ptr>&self._ptr[0].res.linear
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10590
 *     def __repr__(self):
 *         if self._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(1, 10590, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10591
 *         if self._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/cuda.pyx":10592
 *             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_n_s_devPtr_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10592, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10592, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_devPtr, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10592, __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(1, 10592, __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)) __PYX_ERR(1, 10592, __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(1, 10592, __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/cuda.pyx":10591
 *         if self._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/cuda.pyx":10593
 *             try:
 *                 str_list += ['devPtr : ' + str(self.devPtr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['devPtr : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct8.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 10593, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10594
 *                 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(1, 10594, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_devPtr_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_devPtr_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_devPtr_ValueError)) __PYX_ERR(1, 10594, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10594, __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/cuda.pyx":10591
 *         if self._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/cuda.pyx":10595
 *             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/cuda.pyx":10596
 *                 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_n_s_format_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10596, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10596, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_format, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10596, __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(1, 10596, __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)) __PYX_ERR(1, 10596, __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(1, 10596, __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/cuda.pyx":10595
 *             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/cuda.pyx":10597
 *             try:
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct8.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 10597, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":10598
 *                 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(1, 10598, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_format_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_format_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_format_ValueError)) __PYX_ERR(1, 10598, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 10598, __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/cuda.pyx":10595
 *             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/cuda.pyx":10599
 *             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/cuda.pyx":10600
 *                 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_n_s_numChannels_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10600, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10600, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_numChannels, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10600, __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(1, 10600, __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)) __PYX_ERR(1, 10600, __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(1, 10600, __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/cuda.pyx":10599
 *             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/cuda.pyx":10601
 *             try:
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct8.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 10601, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10602
 *                 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(1, 10602, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_numChannels_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_numChannels_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_numChannels_ValueError)) __PYX_ERR(1, 10602, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10602, __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/cuda.pyx":10599
 *             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/cuda.pyx":10603
 *             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/cuda.pyx":10604
 *                 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_n_s_sizeInBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10604, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10604, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_sizeInBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10604, __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(1, 10604, __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)) __PYX_ERR(1, 10604, __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(1, 10604, __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/cuda.pyx":10603
 *             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/cuda.pyx":10605
 *             try:
 *                 str_list += ['sizeInBytes : ' + str(self.sizeInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sizeInBytes : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct8.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 10605, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":10606
 *                 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(1, 10606, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_sizeInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_sizeInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_sizeInBytes_ValueError)) __PYX_ERR(1, 10606, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 10606, __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/cuda.pyx":10603
 *             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/cuda.pyx":10607
 *             except ValueError:
 *                 str_list += ['sizeInBytes : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":10589
 *         return <void_ptr>&self._ptr[0].res.linear
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":10609
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def devPtr(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":10588
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res.linear
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10610
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def devPtr(self):
 *         return self._devPtr
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct8_6devPtr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct8_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_4cuda_12anon_struct8_6devPtr___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct8_6devPtr___get__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10610, 0, __PYX_ERR(1, 10610, __pyx_L1_error));

  /* "cuda/cuda.pyx":10612
 *     @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/cuda.pyx":10610
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def devPtr(self):
 *         return self._devPtr
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct8.devPtr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10613
 *     def devPtr(self):
 *         return self._devPtr
 *     @devPtr.setter             # <<<<<<<<<<<<<<
 *     def devPtr(self, devPtr):
 *         cdef ccuda.CUdeviceptr cdevPtr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct8_6devPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_devPtr); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct8_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_4cuda_12anon_struct8_6devPtr_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)__pyx_v_self), ((PyObject *)__pyx_v_devPtr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct8_6devPtr_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self, PyObject *__pyx_v_devPtr) {
  CUdeviceptr __pyx_v_cdevPtr;
  PyObject *__pyx_v_pdevPtr = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10613, 0, __PYX_ERR(1, 10613, __pyx_L1_error));

  /* "cuda/cuda.pyx":10616
 *     def devPtr(self, devPtr):
 *         cdef ccuda.CUdeviceptr cdevPtr
 *         if devPtr is None:             # <<<<<<<<<<<<<<
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):
 */
  __pyx_t_1 = (__pyx_v_devPtr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10617
 *         cdef ccuda.CUdeviceptr cdevPtr
 *         if devPtr is None:
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(devPtr, (CUdeviceptr)):
 *             pdevPtr = int(devPtr)
 */
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":10616
 *     def devPtr(self, devPtr):
 *         cdef ccuda.CUdeviceptr cdevPtr
 *         if devPtr is None:             # <<<<<<<<<<<<<<
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":10618
 *         if devPtr is None:
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdevPtr = int(devPtr)
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devPtr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10619
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):
 *             pdevPtr = int(devPtr)             # <<<<<<<<<<<<<<
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_devPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10619, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevPtr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10620
 *         elif isinstance(devPtr, (CUdeviceptr)):
 *             pdevPtr = int(devPtr)
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *         else:
 *             pdevPtr = int(CUdeviceptr(devPtr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10620, __pyx_L1_error)
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":10618
 *         if devPtr is None:
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdevPtr = int(devPtr)
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":10622
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *         else:
 *             pdevPtr = int(CUdeviceptr(devPtr))             # <<<<<<<<<<<<<<
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *         self._devPtr._ptr[0] = cdevPtr
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_devPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10622, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 10622, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevPtr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":10623
 *         else:
 *             pdevPtr = int(CUdeviceptr(devPtr))
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *         self._devPtr._ptr[0] = cdevPtr
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10623, __pyx_L1_error)
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":10624
 *             pdevPtr = int(CUdeviceptr(devPtr))
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *         self._devPtr._ptr[0] = cdevPtr             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_devPtr->_ptr[0]) = __pyx_v_cdevPtr;

  /* "cuda/cuda.pyx":10613
 *     def devPtr(self):
 *         return self._devPtr
 *     @devPtr.setter             # <<<<<<<<<<<<<<
 *     def devPtr(self, devPtr):
 *         cdef ccuda.CUdeviceptr cdevPtr
 */

  /* 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.cuda.anon_struct8.devPtr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevPtr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10626
 *         self._devPtr._ptr[0] = cdevPtr
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         return CUarray_format(self._ptr[0].res.linear.format)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct8_6format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct8_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_4cuda_12anon_struct8_6format___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct8_6format___get__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10626, 0, __PYX_ERR(1, 10626, __pyx_L1_error));

  /* "cuda/cuda.pyx":10628
 *     @property
 *     def format(self):
 *         return CUarray_format(self._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_n_s_CUarray_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUarray_format_enum((__pyx_v_self->_ptr[0]).res.linear.format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 10628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10628, __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/cuda.pyx":10626
 *         self._devPtr._ptr[0] = cdevPtr
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         return CUarray_format(self._ptr[0].res.linear.format)
 */

  /* 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.cuda.anon_struct8.format.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10629
 *     def format(self):
 *         return CUarray_format(self._ptr[0].res.linear.format)
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, format not None : CUarray_format):
 *         self._ptr[0].res.linear.format = format.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct8_6format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_format); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct8_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(1, 10630, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct8_6format_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)__pyx_v_self), ((PyObject *)__pyx_v_format));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct8_6format_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self, PyObject *__pyx_v_format) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10629, 0, __PYX_ERR(1, 10629, __pyx_L1_error));

  /* "cuda/cuda.pyx":10631
 *     @format.setter
 *     def format(self, format not None : CUarray_format):
 *         self._ptr[0].res.linear.format = format.value             # <<<<<<<<<<<<<<
 *     @property
 *     def numChannels(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_format, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUarray_format_enum)__Pyx_PyInt_As_enum__CUarray_format_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10631, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).res.linear.format = __pyx_t_2;

  /* "cuda/cuda.pyx":10629
 *     def format(self):
 *         return CUarray_format(self._ptr[0].res.linear.format)
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, format not None : CUarray_format):
 *         self._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.cuda.anon_struct8.format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10632
 *     def format(self, format not None : CUarray_format):
 *         self._ptr[0].res.linear.format = format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def numChannels(self):
 *         return self._ptr[0].res.linear.numChannels
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct8_11numChannels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct8_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_4cuda_12anon_struct8_11numChannels___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct8_11numChannels___get__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10632, 0, __PYX_ERR(1, 10632, __pyx_L1_error));

  /* "cuda/cuda.pyx":10634
 *     @property
 *     def numChannels(self):
 *         return self._ptr[0].res.linear.numChannels             # <<<<<<<<<<<<<<
 *     @numChannels.setter
 *     def numChannels(self, unsigned int numChannels):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).res.linear.numChannels); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10632
 *     def format(self, format not None : CUarray_format):
 *         self._ptr[0].res.linear.format = format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def numChannels(self):
 *         return self._ptr[0].res.linear.numChannels
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct8.numChannels.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10635
 *     def numChannels(self):
 *         return self._ptr[0].res.linear.numChannels
 *     @numChannels.setter             # <<<<<<<<<<<<<<
 *     def numChannels(self, unsigned int numChannels):
 *         self._ptr[0].res.linear.numChannels = numChannels
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct8_11numChannels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numChannels); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct8_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_PyInt_As_unsigned_int(__pyx_arg_numChannels); if (unlikely((__pyx_v_numChannels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10636, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct8.numChannels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct8_11numChannels_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)__pyx_v_self), ((unsigned int)__pyx_v_numChannels));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct8_11numChannels_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self, unsigned int __pyx_v_numChannels) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10635, 0, __PYX_ERR(1, 10635, __pyx_L1_error));

  /* "cuda/cuda.pyx":10637
 *     @numChannels.setter
 *     def numChannels(self, unsigned int numChannels):
 *         self._ptr[0].res.linear.numChannels = numChannels             # <<<<<<<<<<<<<<
 *     @property
 *     def sizeInBytes(self):
 */
  (__pyx_v_self->_ptr[0]).res.linear.numChannels = __pyx_v_numChannels;

  /* "cuda/cuda.pyx":10635
 *     def numChannels(self):
 *         return self._ptr[0].res.linear.numChannels
 *     @numChannels.setter             # <<<<<<<<<<<<<<
 *     def numChannels(self, unsigned int numChannels):
 *         self._ptr[0].res.linear.numChannels = numChannels
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct8.numChannels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10638
 *     def numChannels(self, unsigned int numChannels):
 *         self._ptr[0].res.linear.numChannels = numChannels
 *     @property             # <<<<<<<<<<<<<<
 *     def sizeInBytes(self):
 *         return self._ptr[0].res.linear.sizeInBytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct8_11sizeInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct8_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_4cuda_12anon_struct8_11sizeInBytes___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct8_11sizeInBytes___get__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10638, 0, __PYX_ERR(1, 10638, __pyx_L1_error));

  /* "cuda/cuda.pyx":10640
 *     @property
 *     def sizeInBytes(self):
 *         return self._ptr[0].res.linear.sizeInBytes             # <<<<<<<<<<<<<<
 *     @sizeInBytes.setter
 *     def sizeInBytes(self, size_t sizeInBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).res.linear.sizeInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10638
 *     def numChannels(self, unsigned int numChannels):
 *         self._ptr[0].res.linear.numChannels = numChannels
 *     @property             # <<<<<<<<<<<<<<
 *     def sizeInBytes(self):
 *         return self._ptr[0].res.linear.sizeInBytes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct8.sizeInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10641
 *     def sizeInBytes(self):
 *         return self._ptr[0].res.linear.sizeInBytes
 *     @sizeInBytes.setter             # <<<<<<<<<<<<<<
 *     def sizeInBytes(self, size_t sizeInBytes):
 *         self._ptr[0].res.linear.sizeInBytes = sizeInBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct8_11sizeInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sizeInBytes); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct8_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_PyInt_As_size_t(__pyx_arg_sizeInBytes); if (unlikely((__pyx_v_sizeInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 10642, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct8.sizeInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct8_11sizeInBytes_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)__pyx_v_self), ((size_t)__pyx_v_sizeInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct8_11sizeInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self, size_t __pyx_v_sizeInBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10641, 0, __PYX_ERR(1, 10641, __pyx_L1_error));

  /* "cuda/cuda.pyx":10643
 *     @sizeInBytes.setter
 *     def sizeInBytes(self, size_t sizeInBytes):
 *         self._ptr[0].res.linear.sizeInBytes = sizeInBytes             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct9:
 */
  (__pyx_v_self->_ptr[0]).res.linear.sizeInBytes = __pyx_v_sizeInBytes;

  /* "cuda/cuda.pyx":10641
 *     def sizeInBytes(self):
 *         return self._ptr[0].res.linear.sizeInBytes
 *     @sizeInBytes.setter             # <<<<<<<<<<<<<<
 *     def sizeInBytes(self, size_t sizeInBytes):
 *         self._ptr[0].res.linear.sizeInBytes = sizeInBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct8.sizeInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_12anon_struct8_10__reduce_cython__, "anon_struct8.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct8_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct8_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct8_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct8_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct8_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__267)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct8.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct8_12__setstate_cython__, "anon_struct8.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct8_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct8_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct8_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct8.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct8_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct8_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__268)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct8.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10668
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct9_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct9_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10668, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 10668, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10668, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 10668, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct9___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct9___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 10668, 0, __PYX_ERR(1, 10668, __pyx_L1_error));

  /* "cuda/cuda.pyx":10669
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_RESOURCE_DESC_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":10668
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10671
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._devPtr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].res.pitch2D.devPtr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct9_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct9_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10671, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 10671, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10671, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 10671, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct9_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct9_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 10671, 0, __PYX_ERR(1, 10671, __pyx_L1_error));

  /* "cuda/cuda.pyx":10672
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._devPtr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].res.pitch2D.devPtr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).res.pitch2D.devPtr))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 10672, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __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_4cuda_CUdeviceptr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10671
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._devPtr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].res.pitch2D.devPtr)
 *     def __dealloc__(self):
 */

  /* 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.cuda.anon_struct9.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10673
 *     def __init__(self, void_ptr _ptr):
 *         self._devPtr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].res.pitch2D.devPtr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_12anon_struct9_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct9_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_12anon_struct9_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 10673, 0, __PYX_ERR(1, 10673, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct9.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":10675
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.pitch2D
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct9_6getPtr, "anon_struct9.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct9_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct9_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct9_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct9_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__269)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 10675, 0, __PYX_ERR(1, 10675, __pyx_L1_error));

  /* "cuda/cuda.pyx":10676
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res.pitch2D             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).res.pitch2D))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10675
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.pitch2D
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10677
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res.pitch2D
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct9_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct9_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 10677, 0, __PYX_ERR(1, 10677, __pyx_L1_error));

  /* "cuda/cuda.pyx":10678
 *         return <void_ptr>&self._ptr[0].res.pitch2D
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10679
 *     def __repr__(self):
 *         if self._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(1, 10679, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10680
 *         if self._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/cuda.pyx":10681
 *             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_n_s_devPtr_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10681, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10681, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_devPtr, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10681, __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(1, 10681, __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)) __PYX_ERR(1, 10681, __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(1, 10681, __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/cuda.pyx":10680
 *         if self._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/cuda.pyx":10682
 *             try:
 *                 str_list += ['devPtr : ' + str(self.devPtr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['devPtr : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct9.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 10682, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10683
 *                 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(1, 10683, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_devPtr_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_devPtr_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_devPtr_ValueError)) __PYX_ERR(1, 10683, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10683, __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/cuda.pyx":10680
 *         if self._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/cuda.pyx":10684
 *             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/cuda.pyx":10685
 *                 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_n_s_format_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10685, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10685, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_format, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10685, __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(1, 10685, __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)) __PYX_ERR(1, 10685, __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(1, 10685, __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/cuda.pyx":10684
 *             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/cuda.pyx":10686
 *             try:
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct9.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 10686, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":10687
 *                 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(1, 10687, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_format_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_format_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_format_ValueError)) __PYX_ERR(1, 10687, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 10687, __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/cuda.pyx":10684
 *             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/cuda.pyx":10688
 *             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/cuda.pyx":10689
 *                 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_n_s_numChannels_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10689, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10689, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_numChannels, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10689, __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(1, 10689, __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)) __PYX_ERR(1, 10689, __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(1, 10689, __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/cuda.pyx":10688
 *             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/cuda.pyx":10690
 *             try:
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct9.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 10690, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10691
 *                 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(1, 10691, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_numChannels_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_numChannels_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_numChannels_ValueError)) __PYX_ERR(1, 10691, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10691, __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/cuda.pyx":10688
 *             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/cuda.pyx":10692
 *             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/cuda.pyx":10693
 *                 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_n_s_width_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10693, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10693, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_width, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10693, __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(1, 10693, __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)) __PYX_ERR(1, 10693, __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(1, 10693, __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/cuda.pyx":10692
 *             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/cuda.pyx":10694
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct9.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 10694, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":10695
 *                 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(1, 10695, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_width_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_width_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_width_ValueError)) __PYX_ERR(1, 10695, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 10695, __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/cuda.pyx":10692
 *             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/cuda.pyx":10696
 *             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/cuda.pyx":10697
 *                 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_n_s_height_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10697, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10697, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_height, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10697, __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(1, 10697, __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)) __PYX_ERR(1, 10697, __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(1, 10697, __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/cuda.pyx":10696
 *             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/cuda.pyx":10698
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct9.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 10698, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10699
 *                 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(1, 10699, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_height_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_height_ValueError)) __PYX_ERR(1, 10699, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10699, __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/cuda.pyx":10696
 *             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/cuda.pyx":10700
 *             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/cuda.pyx":10701
 *                 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_n_s_pitchInBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10701, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10701, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_pitchInBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10701, __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(1, 10701, __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)) __PYX_ERR(1, 10701, __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(1, 10701, __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/cuda.pyx":10700
 *             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/cuda.pyx":10702
 *             try:
 *                 str_list += ['pitchInBytes : ' + str(self.pitchInBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitchInBytes : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct9.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 10702, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":10703
 *                 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(1, 10703, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_pitchInBytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_pitchInBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_pitchInBytes_ValueError)) __PYX_ERR(1, 10703, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 10703, __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/cuda.pyx":10700
 *             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/cuda.pyx":10704
 *             except ValueError:
 *                 str_list += ['pitchInBytes : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10704, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":10678
 *         return <void_ptr>&self._ptr[0].res.pitch2D
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":10706
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def devPtr(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":10677
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res.pitch2D
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10707
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def devPtr(self):
 *         return self._devPtr
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct9_6devPtr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct9_6devPtr___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_6devPtr___get__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10707, 0, __PYX_ERR(1, 10707, __pyx_L1_error));

  /* "cuda/cuda.pyx":10709
 *     @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/cuda.pyx":10707
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def devPtr(self):
 *         return self._devPtr
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.devPtr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10710
 *     def devPtr(self):
 *         return self._devPtr
 *     @devPtr.setter             # <<<<<<<<<<<<<<
 *     def devPtr(self, devPtr):
 *         cdef ccuda.CUdeviceptr cdevPtr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct9_6devPtr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_devPtr); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct9_6devPtr_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self), ((PyObject *)__pyx_v_devPtr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct9_6devPtr_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, PyObject *__pyx_v_devPtr) {
  CUdeviceptr __pyx_v_cdevPtr;
  PyObject *__pyx_v_pdevPtr = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10710, 0, __PYX_ERR(1, 10710, __pyx_L1_error));

  /* "cuda/cuda.pyx":10713
 *     def devPtr(self, devPtr):
 *         cdef ccuda.CUdeviceptr cdevPtr
 *         if devPtr is None:             # <<<<<<<<<<<<<<
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):
 */
  __pyx_t_1 = (__pyx_v_devPtr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10714
 *         cdef ccuda.CUdeviceptr cdevPtr
 *         if devPtr is None:
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(devPtr, (CUdeviceptr)):
 *             pdevPtr = int(devPtr)
 */
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":10713
 *     def devPtr(self, devPtr):
 *         cdef ccuda.CUdeviceptr cdevPtr
 *         if devPtr is None:             # <<<<<<<<<<<<<<
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":10715
 *         if devPtr is None:
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdevPtr = int(devPtr)
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devPtr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10716
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):
 *             pdevPtr = int(devPtr)             # <<<<<<<<<<<<<<
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_devPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10716, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevPtr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10717
 *         elif isinstance(devPtr, (CUdeviceptr)):
 *             pdevPtr = int(devPtr)
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *         else:
 *             pdevPtr = int(CUdeviceptr(devPtr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10717, __pyx_L1_error)
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":10715
 *         if devPtr is None:
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(devPtr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdevPtr = int(devPtr)
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":10719
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *         else:
 *             pdevPtr = int(CUdeviceptr(devPtr))             # <<<<<<<<<<<<<<
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *         self._devPtr._ptr[0] = cdevPtr
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_devPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 10719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevPtr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":10720
 *         else:
 *             pdevPtr = int(CUdeviceptr(devPtr))
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *         self._devPtr._ptr[0] = cdevPtr
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10720, __pyx_L1_error)
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":10721
 *             pdevPtr = int(CUdeviceptr(devPtr))
 *             cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *         self._devPtr._ptr[0] = cdevPtr             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
  (__pyx_v_self->_devPtr->_ptr[0]) = __pyx_v_cdevPtr;

  /* "cuda/cuda.pyx":10710
 *     def devPtr(self):
 *         return self._devPtr
 *     @devPtr.setter             # <<<<<<<<<<<<<<
 *     def devPtr(self, devPtr):
 *         cdef ccuda.CUdeviceptr cdevPtr
 */

  /* 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.cuda.anon_struct9.devPtr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevPtr);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10723
 *         self._devPtr._ptr[0] = cdevPtr
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         return CUarray_format(self._ptr[0].res.pitch2D.format)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct9_6format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct9_6format___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_6format___get__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10723, 0, __PYX_ERR(1, 10723, __pyx_L1_error));

  /* "cuda/cuda.pyx":10725
 *     @property
 *     def format(self):
 *         return CUarray_format(self._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_n_s_CUarray_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUarray_format_enum((__pyx_v_self->_ptr[0]).res.pitch2D.format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 10725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10725, __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/cuda.pyx":10723
 *         self._devPtr._ptr[0] = cdevPtr
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         return CUarray_format(self._ptr[0].res.pitch2D.format)
 */

  /* 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.cuda.anon_struct9.format.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10726
 *     def format(self):
 *         return CUarray_format(self._ptr[0].res.pitch2D.format)
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, format not None : CUarray_format):
 *         self._ptr[0].res.pitch2D.format = format.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct9_6format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_format); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 10727, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct9_6format_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self), ((PyObject *)__pyx_v_format));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct9_6format_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, PyObject *__pyx_v_format) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10726, 0, __PYX_ERR(1, 10726, __pyx_L1_error));

  /* "cuda/cuda.pyx":10728
 *     @format.setter
 *     def format(self, format not None : CUarray_format):
 *         self._ptr[0].res.pitch2D.format = format.value             # <<<<<<<<<<<<<<
 *     @property
 *     def numChannels(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_format, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUarray_format_enum)__Pyx_PyInt_As_enum__CUarray_format_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10728, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).res.pitch2D.format = __pyx_t_2;

  /* "cuda/cuda.pyx":10726
 *     def format(self):
 *         return CUarray_format(self._ptr[0].res.pitch2D.format)
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, format not None : CUarray_format):
 *         self._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.cuda.anon_struct9.format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10729
 *     def format(self, format not None : CUarray_format):
 *         self._ptr[0].res.pitch2D.format = format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def numChannels(self):
 *         return self._ptr[0].res.pitch2D.numChannels
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct9_11numChannels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct9_11numChannels___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_11numChannels___get__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10729, 0, __PYX_ERR(1, 10729, __pyx_L1_error));

  /* "cuda/cuda.pyx":10731
 *     @property
 *     def numChannels(self):
 *         return self._ptr[0].res.pitch2D.numChannels             # <<<<<<<<<<<<<<
 *     @numChannels.setter
 *     def numChannels(self, unsigned int numChannels):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).res.pitch2D.numChannels); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10729
 *     def format(self, format not None : CUarray_format):
 *         self._ptr[0].res.pitch2D.format = format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def numChannels(self):
 *         return self._ptr[0].res.pitch2D.numChannels
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.numChannels.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10732
 *     def numChannels(self):
 *         return self._ptr[0].res.pitch2D.numChannels
 *     @numChannels.setter             # <<<<<<<<<<<<<<
 *     def numChannels(self, unsigned int numChannels):
 *         self._ptr[0].res.pitch2D.numChannels = numChannels
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct9_11numChannels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numChannels); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_numChannels); if (unlikely((__pyx_v_numChannels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10733, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.numChannels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct9_11numChannels_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self), ((unsigned int)__pyx_v_numChannels));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct9_11numChannels_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, unsigned int __pyx_v_numChannels) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10732, 0, __PYX_ERR(1, 10732, __pyx_L1_error));

  /* "cuda/cuda.pyx":10734
 *     @numChannels.setter
 *     def numChannels(self, unsigned int numChannels):
 *         self._ptr[0].res.pitch2D.numChannels = numChannels             # <<<<<<<<<<<<<<
 *     @property
 *     def width(self):
 */
  (__pyx_v_self->_ptr[0]).res.pitch2D.numChannels = __pyx_v_numChannels;

  /* "cuda/cuda.pyx":10732
 *     def numChannels(self):
 *         return self._ptr[0].res.pitch2D.numChannels
 *     @numChannels.setter             # <<<<<<<<<<<<<<
 *     def numChannels(self, unsigned int numChannels):
 *         self._ptr[0].res.pitch2D.numChannels = numChannels
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.numChannels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10735
 *     def numChannels(self, unsigned int numChannels):
 *         self._ptr[0].res.pitch2D.numChannels = numChannels
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._ptr[0].res.pitch2D.width
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct9_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct9_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_4cuda_12anon_struct9_5width___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_5width___get__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10735, 0, __PYX_ERR(1, 10735, __pyx_L1_error));

  /* "cuda/cuda.pyx":10737
 *     @property
 *     def width(self):
 *         return self._ptr[0].res.pitch2D.width             # <<<<<<<<<<<<<<
 *     @width.setter
 *     def width(self, size_t width):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).res.pitch2D.width); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10735
 *     def numChannels(self, unsigned int numChannels):
 *         self._ptr[0].res.pitch2D.numChannels = numChannels
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._ptr[0].res.pitch2D.width
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10738
 *     def width(self):
 *         return self._ptr[0].res.pitch2D.width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._ptr[0].res.pitch2D.width = width
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct9_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct9_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_PyInt_As_size_t(__pyx_arg_width); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 10739, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct9_5width_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self), ((size_t)__pyx_v_width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct9_5width_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, size_t __pyx_v_width) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10738, 0, __PYX_ERR(1, 10738, __pyx_L1_error));

  /* "cuda/cuda.pyx":10740
 *     @width.setter
 *     def width(self, size_t width):
 *         self._ptr[0].res.pitch2D.width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
 */
  (__pyx_v_self->_ptr[0]).res.pitch2D.width = __pyx_v_width;

  /* "cuda/cuda.pyx":10738
 *     def width(self):
 *         return self._ptr[0].res.pitch2D.width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._ptr[0].res.pitch2D.width = width
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10741
 *     def width(self, size_t width):
 *         self._ptr[0].res.pitch2D.width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._ptr[0].res.pitch2D.height
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct9_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct9_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_4cuda_12anon_struct9_6height___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_6height___get__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10741, 0, __PYX_ERR(1, 10741, __pyx_L1_error));

  /* "cuda/cuda.pyx":10743
 *     @property
 *     def height(self):
 *         return self._ptr[0].res.pitch2D.height             # <<<<<<<<<<<<<<
 *     @height.setter
 *     def height(self, size_t height):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).res.pitch2D.height); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10741
 *     def width(self, size_t width):
 *         self._ptr[0].res.pitch2D.width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._ptr[0].res.pitch2D.height
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10744
 *     def height(self):
 *         return self._ptr[0].res.pitch2D.height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._ptr[0].res.pitch2D.height = height
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct9_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct9_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_PyInt_As_size_t(__pyx_arg_height); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 10745, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct9_6height_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self), ((size_t)__pyx_v_height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct9_6height_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, size_t __pyx_v_height) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10744, 0, __PYX_ERR(1, 10744, __pyx_L1_error));

  /* "cuda/cuda.pyx":10746
 *     @height.setter
 *     def height(self, size_t height):
 *         self._ptr[0].res.pitch2D.height = height             # <<<<<<<<<<<<<<
 *     @property
 *     def pitchInBytes(self):
 */
  (__pyx_v_self->_ptr[0]).res.pitch2D.height = __pyx_v_height;

  /* "cuda/cuda.pyx":10744
 *     def height(self):
 *         return self._ptr[0].res.pitch2D.height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._ptr[0].res.pitch2D.height = height
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10747
 *     def height(self, size_t height):
 *         self._ptr[0].res.pitch2D.height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def pitchInBytes(self):
 *         return self._ptr[0].res.pitch2D.pitchInBytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct9_12pitchInBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12anon_struct9_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_4cuda_12anon_struct9_12pitchInBytes___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_12pitchInBytes___get__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10747, 0, __PYX_ERR(1, 10747, __pyx_L1_error));

  /* "cuda/cuda.pyx":10749
 *     @property
 *     def pitchInBytes(self):
 *         return self._ptr[0].res.pitch2D.pitchInBytes             # <<<<<<<<<<<<<<
 *     @pitchInBytes.setter
 *     def pitchInBytes(self, size_t pitchInBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).res.pitch2D.pitchInBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10747
 *     def height(self, size_t height):
 *         self._ptr[0].res.pitch2D.height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def pitchInBytes(self):
 *         return self._ptr[0].res.pitch2D.pitchInBytes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.pitchInBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10750
 *     def pitchInBytes(self):
 *         return self._ptr[0].res.pitch2D.pitchInBytes
 *     @pitchInBytes.setter             # <<<<<<<<<<<<<<
 *     def pitchInBytes(self, size_t pitchInBytes):
 *         self._ptr[0].res.pitch2D.pitchInBytes = pitchInBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_struct9_12pitchInBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitchInBytes); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_struct9_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_PyInt_As_size_t(__pyx_arg_pitchInBytes); if (unlikely((__pyx_v_pitchInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 10751, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.pitchInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct9_12pitchInBytes_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self), ((size_t)__pyx_v_pitchInBytes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_struct9_12pitchInBytes_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, size_t __pyx_v_pitchInBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10750, 0, __PYX_ERR(1, 10750, __pyx_L1_error));

  /* "cuda/cuda.pyx":10752
 *     @pitchInBytes.setter
 *     def pitchInBytes(self, size_t pitchInBytes):
 *         self._ptr[0].res.pitch2D.pitchInBytes = pitchInBytes             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct10:
 */
  (__pyx_v_self->_ptr[0]).res.pitch2D.pitchInBytes = __pyx_v_pitchInBytes;

  /* "cuda/cuda.pyx":10750
 *     def pitchInBytes(self):
 *         return self._ptr[0].res.pitch2D.pitchInBytes
 *     @pitchInBytes.setter             # <<<<<<<<<<<<<<
 *     def pitchInBytes(self, size_t pitchInBytes):
 *         self._ptr[0].res.pitch2D.pitchInBytes = pitchInBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.pitchInBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_12anon_struct9_10__reduce_cython__, "anon_struct9.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct9_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct9_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct9_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct9_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__270)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_struct9_12__setstate_cython__, "anon_struct9.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_struct9_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct9_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct9_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_struct9_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_struct9_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__271)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct9.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10767
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct10_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct10_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10767, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 10767, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10767, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 10767, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct10.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct10___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct10 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct10___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 10767, 0, __PYX_ERR(1, 10767, __pyx_L1_error));

  /* "cuda/cuda.pyx":10768
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_RESOURCE_DESC_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":10767
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct10.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10770
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct10_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct10_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10770, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 10770, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10770, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 10770, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct10.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct10_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct10 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct10_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 10770, 0, __PYX_ERR(1, 10770, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct10.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10772
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_13anon_struct10_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct10_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_13anon_struct10_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 10772, 0, __PYX_ERR(1, 10772, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct10.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":10774
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.reserved
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct10_6getPtr, "anon_struct10.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct10_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct10_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct10_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct10_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct10_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__272)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 10774, 0, __PYX_ERR(1, 10774, __pyx_L1_error));

  /* "cuda/cuda.pyx":10775
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res.reserved             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).res.reserved))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10774
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.reserved
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct10.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10776
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res.reserved
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct10_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct10_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct10_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 10776, 0, __PYX_ERR(1, 10776, __pyx_L1_error));

  /* "cuda/cuda.pyx":10777
 *         return <void_ptr>&self._ptr[0].res.reserved
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10778
 *     def __repr__(self):
 *         if self._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(1, 10778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10779
 *         if self._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/cuda.pyx":10780
 *             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_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10780, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10780, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10780, __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(1, 10780, __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)) __PYX_ERR(1, 10780, __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(1, 10780, __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/cuda.pyx":10779
 *         if self._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/cuda.pyx":10781
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct10.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 10781, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10782
 *                 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(1, 10782, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 10782, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10782, __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/cuda.pyx":10779
 *         if self._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/cuda.pyx":10783
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":10777
 *         return <void_ptr>&self._ptr[0].res.reserved
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":10785
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":10776
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res.reserved
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10786
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].res.reserved.reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct10_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct10_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_4cuda_13anon_struct10_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct10_8reserved___get__(struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10786, 0, __PYX_ERR(1, 10786, __pyx_L1_error));

  /* "cuda/cuda.pyx":10788
 *     @property
 *     def reserved(self):
 *         return self._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->_ptr[0]).res.reserved.reserved, 32); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10786
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].res.reserved.reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct10.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10789
 *     def reserved(self):
 *         return self._ptr[0].res.reserved.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].res.reserved.reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct10_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct10_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_4cuda_13anon_struct10_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct10 *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct10_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1[32];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10789, 0, __PYX_ERR(1, 10789, __pyx_L1_error));

  /* "cuda/cuda.pyx":10791
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._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(1, 10791, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).res.reserved.reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).res.reserved.reserved[0]) * (32));

  /* "cuda/cuda.pyx":10789
 *     def reserved(self):
 *         return self._ptr[0].res.reserved.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].res.reserved.reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct10.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_13anon_struct10_10__reduce_cython__, "anon_struct10.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct10_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct10_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct10_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct10_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct10_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__273)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct10.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct10_12__setstate_cython__, "anon_struct10.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct10_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct10_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct10_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct10.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct10_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct10 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct10_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__274)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct10.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10814
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union4_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11anon_union4_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10814, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 10814, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10814, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 10814, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union4.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union4___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union4___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 10814, 0, __PYX_ERR(1, 10814, __pyx_L1_error));

  /* "cuda/cuda.pyx":10815
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_RESOURCE_DESC_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":10814
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union4.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10817
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._array = anon_struct6(_ptr=<void_ptr>self._ptr)
 *         self._mipmap = anon_struct7(_ptr=<void_ptr>self._ptr)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union4_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11anon_union4_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10817, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 10817, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10817, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 10817, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union4.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union4_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union4_2__init__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 10817, 0, __PYX_ERR(1, 10817, __pyx_L1_error));

  /* "cuda/cuda.pyx":10818
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._array = anon_struct6(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._mipmap = anon_struct7(_ptr=<void_ptr>self._ptr)
 *         self._linear = anon_struct8(_ptr=<void_ptr>self._ptr)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 10818, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct6), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_array);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_array);
  __pyx_v_self->_array = ((struct __pyx_obj_4cuda_4cuda_anon_struct6 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10819
 *     def __init__(self, void_ptr _ptr):
 *         self._array = anon_struct6(_ptr=<void_ptr>self._ptr)
 *         self._mipmap = anon_struct7(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._linear = anon_struct8(_ptr=<void_ptr>self._ptr)
 *         self._pitch2D = anon_struct9(_ptr=<void_ptr>self._ptr)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 10819, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct7), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_anon_struct7 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":10820
 *         self._array = anon_struct6(_ptr=<void_ptr>self._ptr)
 *         self._mipmap = anon_struct7(_ptr=<void_ptr>self._ptr)
 *         self._linear = anon_struct8(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._pitch2D = anon_struct9(_ptr=<void_ptr>self._ptr)
 *         self._reserved = anon_struct10(_ptr=<void_ptr>self._ptr)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 10820, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct8), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_linear);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_linear);
  __pyx_v_self->_linear = ((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10821
 *         self._mipmap = anon_struct7(_ptr=<void_ptr>self._ptr)
 *         self._linear = anon_struct8(_ptr=<void_ptr>self._ptr)
 *         self._pitch2D = anon_struct9(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._reserved = anon_struct10(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 10821, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct9), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_anon_struct9 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":10822
 *         self._linear = anon_struct8(_ptr=<void_ptr>self._ptr)
 *         self._pitch2D = anon_struct9(_ptr=<void_ptr>self._ptr)
 *         self._reserved = anon_struct10(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 10822, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct10), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_reserved);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_reserved);
  __pyx_v_self->_reserved = ((struct __pyx_obj_4cuda_4cuda_anon_struct10 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10817
 *         self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._array = anon_struct6(_ptr=<void_ptr>self._ptr)
 *         self._mipmap = anon_struct7(_ptr=<void_ptr>self._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.cuda.anon_union4.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10823
 *         self._pitch2D = anon_struct9(_ptr=<void_ptr>self._ptr)
 *         self._reserved = anon_struct10(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_11anon_union4_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_11anon_union4_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_11anon_union4_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 10823, 0, __PYX_ERR(1, 10823, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_union4.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":10825
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union4_6getPtr, "anon_union4.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union4_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union4_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union4_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union4_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__275)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 10825, 0, __PYX_ERR(1, 10825, __pyx_L1_error));

  /* "cuda/cuda.pyx":10826
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).res))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10825
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union4.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10827
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union4_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union4_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr26__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr27__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr28__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr29__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr30__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 10827, 0, __PYX_ERR(1, 10827, __pyx_L1_error));

  /* "cuda/cuda.pyx":10828
 *         return <void_ptr>&self._ptr[0].res
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10829
 *     def __repr__(self):
 *         if self._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(1, 10829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10830
 *         if self._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/cuda.pyx":10831
 *             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(1, 10831, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_array_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10831, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10831, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10831, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_7))) {
            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
            if (likely(__pyx_t_8)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
              __Pyx_INCREF(__pyx_t_8);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_7, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10831, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10831, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 10831, __pyx_L12_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          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_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 10831, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 10831, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10831, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 10831, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 10831, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10831, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_11(__pyx_t_7);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 10831, __pyx_L12_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr26__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr26__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10831, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 10831, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_9genexpr26__pyx_v_line); __pyx_9genexpr26__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_9genexpr26__pyx_v_line); __pyx_9genexpr26__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10831, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_array, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10831, __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(1, 10831, __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)) __PYX_ERR(1, 10831, __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(1, 10831, __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/cuda.pyx":10830
 *         if self._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;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":10832
 *             try:
 *                 str_list += ['array :\n' + '\n'.join(['    ' + line for line in str(self.array).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['array : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.anon_union4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(1, 10832, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":10833
 *                 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_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10833, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_array_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_array_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_array_ValueError)) __PYX_ERR(1, 10833, __pyx_L6_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 10833, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":10830
 *         if self._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/cuda.pyx":10834
 *             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/cuda.pyx":10835
 *                 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(1, 10835, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_mipmap_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10835, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_12 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 10835, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_12);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10835, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          __pyx_t_12 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_12)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_12);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_12, NULL};
            __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10835, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) {
            __pyx_t_2 = __pyx_t_7; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10835, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 10835, __pyx_L27_error)
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          for (;;) {
            if (likely(!__pyx_t_11)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 10835, __pyx_L27_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_7 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_7); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 10835, __pyx_L27_error)
                #else
                __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10835, __pyx_L27_error)
                __Pyx_GOTREF(__pyx_t_7);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 10835, __pyx_L27_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_7); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 10835, __pyx_L27_error)
                #else
                __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10835, __pyx_L27_error)
                __Pyx_GOTREF(__pyx_t_7);
                #endif
              }
            } else {
              __pyx_t_7 = __pyx_t_11(__pyx_t_2);
              if (unlikely(!__pyx_t_7)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 10835, __pyx_L27_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_7);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr27__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr27__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10835, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(1, 10835, __pyx_L27_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr27__pyx_v_line); __pyx_9genexpr27__pyx_v_line = 0;
          goto __pyx_L31_exit_scope;
          __pyx_L27_error:;
          __Pyx_XDECREF(__pyx_9genexpr27__pyx_v_line); __pyx_9genexpr27__pyx_v_line = 0;
          goto __pyx_L19_error;
          __pyx_L31_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10835, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_mipmap, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10835, __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(1, 10835, __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)) __PYX_ERR(1, 10835, __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(1, 10835, __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/cuda.pyx":10834
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":10836
 *             try:
 *                 str_list += ['mipmap :\n' + '\n'.join(['    ' + line for line in str(self.mipmap).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmap : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.anon_union4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(1, 10836, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/cuda.pyx":10837
 *                 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_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 10837, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_mipmap_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_mipmap_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_mipmap_ValueError)) __PYX_ERR(1, 10837, __pyx_L21_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10837, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":10834
 *             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/cuda.pyx":10838
 *             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/cuda.pyx":10839
 *                 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(1, 10839, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_linear_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10839, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10839, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10839, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_6))) {
            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
            if (likely(__pyx_t_8)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
              __Pyx_INCREF(__pyx_t_8);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_6, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
            __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10839, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_6 = __pyx_t_2; __Pyx_INCREF(__pyx_t_6);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10839, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 10839, __pyx_L42_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_11)) {
              if (likely(PyList_CheckExact(__pyx_t_6))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 10839, __pyx_L42_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_10); __Pyx_INCREF(__pyx_t_2); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 10839, __pyx_L42_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10839, __pyx_L42_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 10839, __pyx_L42_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_10); __Pyx_INCREF(__pyx_t_2); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 10839, __pyx_L42_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10839, __pyx_L42_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_11(__pyx_t_6);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 10839, __pyx_L42_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr28__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr28__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10839, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_2))) __PYX_ERR(1, 10839, __pyx_L42_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_9genexpr28__pyx_v_line); __pyx_9genexpr28__pyx_v_line = 0;
          goto __pyx_L46_exit_scope;
          __pyx_L42_error:;
          __Pyx_XDECREF(__pyx_9genexpr28__pyx_v_line); __pyx_9genexpr28__pyx_v_line = 0;
          goto __pyx_L34_error;
          __pyx_L46_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10839, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_linear, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10839, __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(1, 10839, __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)) __PYX_ERR(1, 10839, __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(1, 10839, __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/cuda.pyx":10838
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":10840
 *             try:
 *                 str_list += ['linear :\n' + '\n'.join(['    ' + line for line in str(self.linear).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['linear : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.anon_union4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 10840, __pyx_L36_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":10841
 *                 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_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10841, __pyx_L36_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_linear_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_linear_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_linear_ValueError)) __PYX_ERR(1, 10841, __pyx_L36_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 10841, __pyx_L36_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":10838
 *             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/cuda.pyx":10842
 *             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/cuda.pyx":10843
 *                 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(1, 10843, __pyx_L57_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_pitch2D_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10843, __pyx_L57_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_12 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 10843, __pyx_L57_error)
          __Pyx_GOTREF(__pyx_t_12);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10843, __pyx_L57_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          __pyx_t_12 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_7))) {
            __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
            if (likely(__pyx_t_12)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
              __Pyx_INCREF(__pyx_t_12);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_7, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_12, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10843, __pyx_L57_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10843, __pyx_L57_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 10843, __pyx_L57_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          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_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 10843, __pyx_L57_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 10843, __pyx_L57_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10843, __pyx_L57_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 10843, __pyx_L57_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 10843, __pyx_L57_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10843, __pyx_L57_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_11(__pyx_t_7);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 10843, __pyx_L57_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr29__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr29__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10843, __pyx_L57_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 10843, __pyx_L57_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_9genexpr29__pyx_v_line); __pyx_9genexpr29__pyx_v_line = 0;
          goto __pyx_L61_exit_scope;
          __pyx_L57_error:;
          __Pyx_XDECREF(__pyx_9genexpr29__pyx_v_line); __pyx_9genexpr29__pyx_v_line = 0;
          goto __pyx_L49_error;
          __pyx_L61_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10843, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_pitch2D, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10843, __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(1, 10843, __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)) __PYX_ERR(1, 10843, __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(1, 10843, __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/cuda.pyx":10842
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":10844
 *             try:
 *                 str_list += ['pitch2D :\n' + '\n'.join(['    ' + line for line in str(self.pitch2D).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch2D : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.anon_union4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(1, 10844, __pyx_L51_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":10845
 *                 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_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 10845, __pyx_L51_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_pitch2D_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_pitch2D_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_pitch2D_ValueError)) __PYX_ERR(1, 10845, __pyx_L51_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10845, __pyx_L51_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        goto __pyx_L50_exception_handled;
      }
      goto __pyx_L51_except_error;

      /* "cuda/cuda.pyx":10842
 *             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/cuda.pyx":10846
 *             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/cuda.pyx":10847
 *                 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(1, 10847, __pyx_L72_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10847, __pyx_L72_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10847, __pyx_L72_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10847, __pyx_L72_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_8)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_8);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
            __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10847, __pyx_L72_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) {
            __pyx_t_2 = __pyx_t_7; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10847, __pyx_L72_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 10847, __pyx_L72_error)
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          for (;;) {
            if (likely(!__pyx_t_11)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 10847, __pyx_L72_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_7 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_7); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 10847, __pyx_L72_error)
                #else
                __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10847, __pyx_L72_error)
                __Pyx_GOTREF(__pyx_t_7);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 10847, __pyx_L72_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_7); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 10847, __pyx_L72_error)
                #else
                __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10847, __pyx_L72_error)
                __Pyx_GOTREF(__pyx_t_7);
                #endif
              }
            } else {
              __pyx_t_7 = __pyx_t_11(__pyx_t_2);
              if (unlikely(!__pyx_t_7)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 10847, __pyx_L72_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_7);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr30__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr30__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10847, __pyx_L72_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(1, 10847, __pyx_L72_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr30__pyx_v_line); __pyx_9genexpr30__pyx_v_line = 0;
          goto __pyx_L76_exit_scope;
          __pyx_L72_error:;
          __Pyx_XDECREF(__pyx_9genexpr30__pyx_v_line); __pyx_9genexpr30__pyx_v_line = 0;
          goto __pyx_L64_error;
          __pyx_L76_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10847, __pyx_L64_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_reserved_3, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10847, __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(1, 10847, __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)) __PYX_ERR(1, 10847, __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(1, 10847, __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/cuda.pyx":10846
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":10848
 *             try:
 *                 str_list += ['reserved :\n' + '\n'.join(['    ' + line for line in str(self.reserved).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.anon_union4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(1, 10848, __pyx_L66_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/cuda.pyx":10849
 *                 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_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10849, __pyx_L66_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 10849, __pyx_L66_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 10849, __pyx_L66_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":10846
 *             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/cuda.pyx":10850
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 10850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":10828
 *         return <void_ptr>&self._ptr[0].res
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":10852
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def array(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":10827
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].res
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.anon_union4.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr26__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr27__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr28__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr29__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr30__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10853
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def array(self):
 *         return self._array
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union4_5array_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union4_5array___get__(((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_5array___get__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10853, 0, __PYX_ERR(1, 10853, __pyx_L1_error));

  /* "cuda/cuda.pyx":10855
 *     @property
 *     def array(self):
 *         return self._array             # <<<<<<<<<<<<<<
 *     @array.setter
 *     def array(self, array not None : anon_struct6):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_array);
  __pyx_r = ((PyObject *)__pyx_v_self->_array);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10853
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def array(self):
 *         return self._array
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union4.array.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10856
 *     def array(self):
 *         return self._array
 *     @array.setter             # <<<<<<<<<<<<<<
 *     def array(self, array not None : anon_struct6):
 *         string.memcpy(&self._ptr[0].res.array, <ccuda.anon_struct6*><void_ptr>array.getPtr(), sizeof(self._ptr[0].res.array))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union4_5array_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_array); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct6, 0, "array", 0))) __PYX_ERR(1, 10857, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union4_5array_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct6 *)__pyx_v_array));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union4_5array_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct6 *__pyx_v_array) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10856, 0, __PYX_ERR(1, 10856, __pyx_L1_error));

  /* "cuda/cuda.pyx":10858
 *     @array.setter
 *     def array(self, array not None : anon_struct6):
 *         string.memcpy(&self._ptr[0].res.array, <ccuda.anon_struct6*><void_ptr>array.getPtr(), sizeof(self._ptr[0].res.array))             # <<<<<<<<<<<<<<
 *     @property
 *     def mipmap(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_array), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10858, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10858, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).res.array), ((struct anon_struct6 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).res.array))));

  /* "cuda/cuda.pyx":10856
 *     def array(self):
 *         return self._array
 *     @array.setter             # <<<<<<<<<<<<<<
 *     def array(self, array not None : anon_struct6):
 *         string.memcpy(&self._ptr[0].res.array, <ccuda.anon_struct6*><void_ptr>array.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.anon_union4.array.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10859
 *     def array(self, array not None : anon_struct6):
 *         string.memcpy(&self._ptr[0].res.array, <ccuda.anon_struct6*><void_ptr>array.getPtr(), sizeof(self._ptr[0].res.array))
 *     @property             # <<<<<<<<<<<<<<
 *     def mipmap(self):
 *         return self._mipmap
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union4_6mipmap_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union4_6mipmap___get__(((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_6mipmap___get__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10859, 0, __PYX_ERR(1, 10859, __pyx_L1_error));

  /* "cuda/cuda.pyx":10861
 *     @property
 *     def mipmap(self):
 *         return self._mipmap             # <<<<<<<<<<<<<<
 *     @mipmap.setter
 *     def mipmap(self, mipmap not None : anon_struct7):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_mipmap);
  __pyx_r = ((PyObject *)__pyx_v_self->_mipmap);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10859
 *     def array(self, array not None : anon_struct6):
 *         string.memcpy(&self._ptr[0].res.array, <ccuda.anon_struct6*><void_ptr>array.getPtr(), sizeof(self._ptr[0].res.array))
 *     @property             # <<<<<<<<<<<<<<
 *     def mipmap(self):
 *         return self._mipmap
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union4.mipmap.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10862
 *     def mipmap(self):
 *         return self._mipmap
 *     @mipmap.setter             # <<<<<<<<<<<<<<
 *     def mipmap(self, mipmap not None : anon_struct7):
 *         string.memcpy(&self._ptr[0].res.mipmap, <ccuda.anon_struct7*><void_ptr>mipmap.getPtr(), sizeof(self._ptr[0].res.mipmap))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union4_6mipmap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_mipmap); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct7, 0, "mipmap", 0))) __PYX_ERR(1, 10863, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union4_6mipmap_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct7 *)__pyx_v_mipmap));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union4_6mipmap_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct7 *__pyx_v_mipmap) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10862, 0, __PYX_ERR(1, 10862, __pyx_L1_error));

  /* "cuda/cuda.pyx":10864
 *     @mipmap.setter
 *     def mipmap(self, mipmap not None : anon_struct7):
 *         string.memcpy(&self._ptr[0].res.mipmap, <ccuda.anon_struct7*><void_ptr>mipmap.getPtr(), sizeof(self._ptr[0].res.mipmap))             # <<<<<<<<<<<<<<
 *     @property
 *     def linear(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_mipmap), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10864, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10864, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).res.mipmap), ((struct anon_struct7 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).res.mipmap))));

  /* "cuda/cuda.pyx":10862
 *     def mipmap(self):
 *         return self._mipmap
 *     @mipmap.setter             # <<<<<<<<<<<<<<
 *     def mipmap(self, mipmap not None : anon_struct7):
 *         string.memcpy(&self._ptr[0].res.mipmap, <ccuda.anon_struct7*><void_ptr>mipmap.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.anon_union4.mipmap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10865
 *     def mipmap(self, mipmap not None : anon_struct7):
 *         string.memcpy(&self._ptr[0].res.mipmap, <ccuda.anon_struct7*><void_ptr>mipmap.getPtr(), sizeof(self._ptr[0].res.mipmap))
 *     @property             # <<<<<<<<<<<<<<
 *     def linear(self):
 *         return self._linear
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union4_6linear_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union4_6linear___get__(((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_6linear___get__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10865, 0, __PYX_ERR(1, 10865, __pyx_L1_error));

  /* "cuda/cuda.pyx":10867
 *     @property
 *     def linear(self):
 *         return self._linear             # <<<<<<<<<<<<<<
 *     @linear.setter
 *     def linear(self, linear not None : anon_struct8):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_linear);
  __pyx_r = ((PyObject *)__pyx_v_self->_linear);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10865
 *     def mipmap(self, mipmap not None : anon_struct7):
 *         string.memcpy(&self._ptr[0].res.mipmap, <ccuda.anon_struct7*><void_ptr>mipmap.getPtr(), sizeof(self._ptr[0].res.mipmap))
 *     @property             # <<<<<<<<<<<<<<
 *     def linear(self):
 *         return self._linear
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union4.linear.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10868
 *     def linear(self):
 *         return self._linear
 *     @linear.setter             # <<<<<<<<<<<<<<
 *     def linear(self, linear not None : anon_struct8):
 *         string.memcpy(&self._ptr[0].res.linear, <ccuda.anon_struct8*><void_ptr>linear.getPtr(), sizeof(self._ptr[0].res.linear))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union4_6linear_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_linear); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct8, 0, "linear", 0))) __PYX_ERR(1, 10869, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union4_6linear_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)__pyx_v_linear));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union4_6linear_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct8 *__pyx_v_linear) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10868, 0, __PYX_ERR(1, 10868, __pyx_L1_error));

  /* "cuda/cuda.pyx":10870
 *     @linear.setter
 *     def linear(self, linear not None : anon_struct8):
 *         string.memcpy(&self._ptr[0].res.linear, <ccuda.anon_struct8*><void_ptr>linear.getPtr(), sizeof(self._ptr[0].res.linear))             # <<<<<<<<<<<<<<
 *     @property
 *     def pitch2D(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_linear), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10870, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10870, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).res.linear), ((struct anon_struct8 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).res.linear))));

  /* "cuda/cuda.pyx":10868
 *     def linear(self):
 *         return self._linear
 *     @linear.setter             # <<<<<<<<<<<<<<
 *     def linear(self, linear not None : anon_struct8):
 *         string.memcpy(&self._ptr[0].res.linear, <ccuda.anon_struct8*><void_ptr>linear.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.anon_union4.linear.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10871
 *     def linear(self, linear not None : anon_struct8):
 *         string.memcpy(&self._ptr[0].res.linear, <ccuda.anon_struct8*><void_ptr>linear.getPtr(), sizeof(self._ptr[0].res.linear))
 *     @property             # <<<<<<<<<<<<<<
 *     def pitch2D(self):
 *         return self._pitch2D
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union4_7pitch2D_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union4_7pitch2D___get__(((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_7pitch2D___get__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10871, 0, __PYX_ERR(1, 10871, __pyx_L1_error));

  /* "cuda/cuda.pyx":10873
 *     @property
 *     def pitch2D(self):
 *         return self._pitch2D             # <<<<<<<<<<<<<<
 *     @pitch2D.setter
 *     def pitch2D(self, pitch2D not None : anon_struct9):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_pitch2D);
  __pyx_r = ((PyObject *)__pyx_v_self->_pitch2D);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10871
 *     def linear(self, linear not None : anon_struct8):
 *         string.memcpy(&self._ptr[0].res.linear, <ccuda.anon_struct8*><void_ptr>linear.getPtr(), sizeof(self._ptr[0].res.linear))
 *     @property             # <<<<<<<<<<<<<<
 *     def pitch2D(self):
 *         return self._pitch2D
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union4.pitch2D.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10874
 *     def pitch2D(self):
 *         return self._pitch2D
 *     @pitch2D.setter             # <<<<<<<<<<<<<<
 *     def pitch2D(self, pitch2D not None : anon_struct9):
 *         string.memcpy(&self._ptr[0].res.pitch2D, <ccuda.anon_struct9*><void_ptr>pitch2D.getPtr(), sizeof(self._ptr[0].res.pitch2D))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union4_7pitch2D_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pitch2D); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct9, 0, "pitch2D", 0))) __PYX_ERR(1, 10875, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union4_7pitch2D_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)__pyx_v_pitch2D));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union4_7pitch2D_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct9 *__pyx_v_pitch2D) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10874, 0, __PYX_ERR(1, 10874, __pyx_L1_error));

  /* "cuda/cuda.pyx":10876
 *     @pitch2D.setter
 *     def pitch2D(self, pitch2D not None : anon_struct9):
 *         string.memcpy(&self._ptr[0].res.pitch2D, <ccuda.anon_struct9*><void_ptr>pitch2D.getPtr(), sizeof(self._ptr[0].res.pitch2D))             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pitch2D), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10876, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10876, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).res.pitch2D), ((struct anon_struct9 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).res.pitch2D))));

  /* "cuda/cuda.pyx":10874
 *     def pitch2D(self):
 *         return self._pitch2D
 *     @pitch2D.setter             # <<<<<<<<<<<<<<
 *     def pitch2D(self, pitch2D not None : anon_struct9):
 *         string.memcpy(&self._ptr[0].res.pitch2D, <ccuda.anon_struct9*><void_ptr>pitch2D.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.anon_union4.pitch2D.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10877
 *     def pitch2D(self, pitch2D not None : anon_struct9):
 *         string.memcpy(&self._ptr[0].res.pitch2D, <ccuda.anon_struct9*><void_ptr>pitch2D.getPtr(), sizeof(self._ptr[0].res.pitch2D))
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union4_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union4_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_8reserved___get__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10877, 0, __PYX_ERR(1, 10877, __pyx_L1_error));

  /* "cuda/cuda.pyx":10879
 *     @property
 *     def reserved(self):
 *         return self._reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved not None : anon_struct10):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_reserved);
  __pyx_r = ((PyObject *)__pyx_v_self->_reserved);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10877
 *     def pitch2D(self, pitch2D not None : anon_struct9):
 *         string.memcpy(&self._ptr[0].res.pitch2D, <ccuda.anon_struct9*><void_ptr>pitch2D.getPtr(), sizeof(self._ptr[0].res.pitch2D))
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union4.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10880
 *     def reserved(self):
 *         return self._reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved not None : anon_struct10):
 *         string.memcpy(&self._ptr[0].res.reserved, <ccuda.anon_struct10*><void_ptr>reserved.getPtr(), sizeof(self._ptr[0].res.reserved))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union4_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct10, 0, "reserved", 0))) __PYX_ERR(1, 10881, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union4_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct10 *)__pyx_v_reserved));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union4_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct10 *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10880, 0, __PYX_ERR(1, 10880, __pyx_L1_error));

  /* "cuda/cuda.pyx":10882
 *     @reserved.setter
 *     def reserved(self, reserved not None : anon_struct10):
 *         string.memcpy(&self._ptr[0].res.reserved, <ccuda.anon_struct10*><void_ptr>reserved.getPtr(), sizeof(self._ptr[0].res.reserved))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_RESOURCE_DESC_st:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_reserved), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10882, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10882, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).res.reserved), ((struct anon_struct10 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).res.reserved))));

  /* "cuda/cuda.pyx":10880
 *     def reserved(self):
 *         return self._reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved not None : anon_struct10):
 *         string.memcpy(&self._ptr[0].res.reserved, <ccuda.anon_struct10*><void_ptr>reserved.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.anon_union4.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_11anon_union4_10__reduce_cython__, "anon_union4.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union4_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union4_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union4_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union4_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__276)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union4.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union4_12__setstate_cython__, "anon_union4.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union4_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union4_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union4_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union4.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union4_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union4_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__277)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union4.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10903
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUDA_RESOURCE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_RESOURCE_DESC_st))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10903, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 10903, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10903, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 10903, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_RESOURCE_DESC_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  struct CUDA_RESOURCE_DESC_st *__pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 10903, 0, __PYX_ERR(1, 10903, __pyx_L1_error));

  /* "cuda/cuda.pyx":10904
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUDA_RESOURCE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_RESOURCE_DESC_st))
 *             self._ptr = self._val_ptr
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10905
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUDA_RESOURCE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_RESOURCE_DESC_st))             # <<<<<<<<<<<<<<
 *             self._ptr = self._val_ptr
 *         else:
 */
    __pyx_v_self->_val_ptr = ((struct CUDA_RESOURCE_DESC_st *)calloc(1, (sizeof(struct CUDA_RESOURCE_DESC_st))));

    /* "cuda/cuda.pyx":10906
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUDA_RESOURCE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_RESOURCE_DESC_st))
 *             self._ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 */
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_ptr = __pyx_t_2;

    /* "cuda/cuda.pyx":10904
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUDA_RESOURCE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_RESOURCE_DESC_st))
 *             self._ptr = self._val_ptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":10908
 *             self._ptr = self._val_ptr
 *         else:
 *             self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._res = anon_union4(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_RESOURCE_DESC_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":10903
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUDA_RESOURCE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_RESOURCE_DESC_st))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_DESC_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10909
 *         else:
 *             self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._res = anon_union4(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10909, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 10909, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10909, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 10909, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_RESOURCE_DESC_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 10909, 0, __PYX_ERR(1, 10909, __pyx_L1_error));

  /* "cuda/cuda.pyx":10910
 *             self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._res = anon_union4(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 10910, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union4), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_res);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_res);
  __pyx_v_self->_res = ((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10909
 *         else:
 *             self._ptr = <ccuda.CUDA_RESOURCE_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._res = anon_union4(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUDA_RESOURCE_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10911
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._res = anon_union4(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_RESOURCE_DESC_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 10911, 0, __PYX_ERR(1, 10911, __pyx_L1_error));

  /* "cuda/cuda.pyx":10912
 *         self._res = anon_union4(_ptr=<void_ptr>self._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/cuda.pyx":10913
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_val_ptr);

    /* "cuda/cuda.pyx":10912
 *         self._res = anon_union4(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":10911
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._res = anon_union4(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_RESOURCE_DESC_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":10914
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_RESOURCE_DESC_st_6getPtr, "CUDA_RESOURCE_DESC_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__278)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 10914, 0, __PYX_ERR(1, 10914, __pyx_L1_error));

  /* "cuda/cuda.pyx":10915
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10914
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_DESC_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10916
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_RESOURCE_DESC_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr31__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 10916, 0, __PYX_ERR(1, 10916, __pyx_L1_error));

  /* "cuda/cuda.pyx":10917
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10918
 *     def __repr__(self):
 *         if self._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(1, 10918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":10919
 *         if self._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/cuda.pyx":10920
 *             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_n_s_resType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10920, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10920, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_resType, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10920, __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(1, 10920, __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)) __PYX_ERR(1, 10920, __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(1, 10920, __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/cuda.pyx":10919
 *         if self._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/cuda.pyx":10921
 *             try:
 *                 str_list += ['resType : ' + str(self.resType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['resType : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10921, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10922
 *                 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(1, 10922, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_resType_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_resType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_resType_ValueError)) __PYX_ERR(1, 10922, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10922, __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/cuda.pyx":10919
 *         if self._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/cuda.pyx":10923
 *             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/cuda.pyx":10924
 *                 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(1, 10924, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_res_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10924, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10924, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10924, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10924, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10924, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 10924, __pyx_L20_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 10924, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 10924, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10924, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 10924, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 10924, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10924, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 10924, __pyx_L20_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr31__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr31__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10924, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 10924, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr31__pyx_v_line); __pyx_9genexpr31__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_9genexpr31__pyx_v_line); __pyx_9genexpr31__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10924, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_res, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10924, __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(1, 10924, __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)) __PYX_ERR(1, 10924, __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(1, 10924, __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/cuda.pyx":10923
 *             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/cuda.pyx":10925
 *             try:
 *                 str_list += ['res :\n' + '\n'.join(['    ' + line for line in str(self.res).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['res : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10925, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":10926
 *                 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(1, 10926, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_res_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_res_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_res_ValueError)) __PYX_ERR(1, 10926, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 10926, __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/cuda.pyx":10923
 *             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/cuda.pyx":10927
 *             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/cuda.pyx":10928
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10928, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10928, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10928, __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(1, 10928, __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)) __PYX_ERR(1, 10928, __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(1, 10928, __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/cuda.pyx":10927
 *             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/cuda.pyx":10929
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 10929, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":10930
 *                 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(1, 10930, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 10930, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 10930, __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/cuda.pyx":10927
 *             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/cuda.pyx":10931
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 10931, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":10917
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":10933
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def resType(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":10916
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_9genexpr31__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10934
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def resType(self):
 *         return CUresourcetype(self._ptr[0].resType)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_7resType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_RESOURCE_DESC_st_7resType___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_7resType___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10934, 0, __PYX_ERR(1, 10934, __pyx_L1_error));

  /* "cuda/cuda.pyx":10936
 *     @property
 *     def resType(self):
 *         return CUresourcetype(self._ptr[0].resType)             # <<<<<<<<<<<<<<
 *     @resType.setter
 *     def resType(self, resType not None : CUresourcetype):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresourcetype); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourcetype_enum((__pyx_v_self->_ptr[0]).resType); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 10936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10936, __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/cuda.pyx":10934
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def resType(self):
 *         return CUresourcetype(self._ptr[0].resType)
 */

  /* 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.cuda.CUDA_RESOURCE_DESC_st.resType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10937
 *     def resType(self):
 *         return CUresourcetype(self._ptr[0].resType)
 *     @resType.setter             # <<<<<<<<<<<<<<
 *     def resType(self, resType not None : CUresourcetype):
 *         self._ptr[0].resType = resType.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_7resType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_resType); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 10938, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_7resType_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_resType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_7resType_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self, PyObject *__pyx_v_resType) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10937, 0, __PYX_ERR(1, 10937, __pyx_L1_error));

  /* "cuda/cuda.pyx":10939
 *     @resType.setter
 *     def resType(self, resType not None : CUresourcetype):
 *         self._ptr[0].resType = resType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def res(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_resType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUresourcetype_enum)__Pyx_PyInt_As_enum__CUresourcetype_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10939, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).resType = __pyx_t_2;

  /* "cuda/cuda.pyx":10937
 *     def resType(self):
 *         return CUresourcetype(self._ptr[0].resType)
 *     @resType.setter             # <<<<<<<<<<<<<<
 *     def resType(self, resType not None : CUresourcetype):
 *         self._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.cuda.CUDA_RESOURCE_DESC_st.resType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10940
 *     def resType(self, resType not None : CUresourcetype):
 *         self._ptr[0].resType = resType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def res(self):
 *         return self._res
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_3res_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_RESOURCE_DESC_st_3res___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_3res___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10940, 0, __PYX_ERR(1, 10940, __pyx_L1_error));

  /* "cuda/cuda.pyx":10942
 *     @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/cuda.pyx":10940
 *     def resType(self, resType not None : CUresourcetype):
 *         self._ptr[0].resType = resType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def res(self):
 *         return self._res
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_DESC_st.res.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10943
 *     def res(self):
 *         return self._res
 *     @res.setter             # <<<<<<<<<<<<<<
 *     def res(self, res not None : anon_union4):
 *         string.memcpy(&self._ptr[0].res, <ccuda.anon_union4*><void_ptr>res.getPtr(), sizeof(self._ptr[0].res))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_3res_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_res); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_union4, 0, "res", 0))) __PYX_ERR(1, 10944, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_3res_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_union4 *)__pyx_v_res));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_3res_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union4 *__pyx_v_res) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 10943, 0, __PYX_ERR(1, 10943, __pyx_L1_error));

  /* "cuda/cuda.pyx":10945
 *     @res.setter
 *     def res(self, res not None : anon_union4):
 *         string.memcpy(&self._ptr[0].res, <ccuda.anon_union4*><void_ptr>res.getPtr(), sizeof(self._ptr[0].res))             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_res), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10945, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).res), ((union anon_union4 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).res))));

  /* "cuda/cuda.pyx":10943
 *     def res(self):
 *         return self._res
 *     @res.setter             # <<<<<<<<<<<<<<
 *     def res(self, res not None : anon_union4):
 *         string.memcpy(&self._ptr[0].res, <ccuda.anon_union4*><void_ptr>res.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_DESC_st.res.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10946
 *     def res(self, res not None : anon_union4):
 *         string.memcpy(&self._ptr[0].res, <ccuda.anon_union4*><void_ptr>res.getPtr(), sizeof(self._ptr[0].res))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_RESOURCE_DESC_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 10946, 0, __PYX_ERR(1, 10946, __pyx_L1_error));

  /* "cuda/cuda.pyx":10948
 *     @property
 *     def flags(self):
 *         return self._ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10946
 *     def res(self, res not None : anon_union4):
 *         string.memcpy(&self._ptr[0].res, <ccuda.anon_union4*><void_ptr>res.getPtr(), sizeof(self._ptr[0].res))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_DESC_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10949
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 10950, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_RESOURCE_DESC_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_RESOURCE_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 10949, 0, __PYX_ERR(1, 10949, __pyx_L1_error));

  /* "cuda/cuda.pyx":10951
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_TEXTURE_DESC_st:
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":10949
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_DESC_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_21CUDA_RESOURCE_DESC_st_10__reduce_cython__, "CUDA_RESOURCE_DESC_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__279)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_DESC_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_RESOURCE_DESC_st_12__setstate_cython__, "CUDA_RESOURCE_DESC_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_RESOURCE_DESC_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__280)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10986
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10986, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 10986, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10986, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 10986, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_20CUDA_TEXTURE_DESC_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 10986, 0, __PYX_ERR(1, 10986, __pyx_L1_error));

  /* "cuda/cuda.pyx":10987
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10988
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_TEXTURE_DESC_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_TEXTURE_DESC_st__val);

    /* "cuda/cuda.pyx":10987
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":10990
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_TEXTURE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_TEXTURE_DESC_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":10986
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10991
 *         else:
 *             self._ptr = <ccuda.CUDA_TEXTURE_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 10991, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 10991, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 10991, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 10991, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_20CUDA_TEXTURE_DESC_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 10991, 0, __PYX_ERR(1, 10991, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":10993
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 10993, 0, __PYX_ERR(1, 10993, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_TEXTURE_DESC_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":10995
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_6getPtr, "CUDA_TEXTURE_DESC_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__281)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 10995, 0, __PYX_ERR(1, 10995, __pyx_L1_error));

  /* "cuda/cuda.pyx":10996
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 10996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":10995
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":10997
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 10997, 0, __PYX_ERR(1, 10997, __pyx_L1_error));

  /* "cuda/cuda.pyx":10998
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":10999
 *     def __repr__(self):
 *         if self._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(1, 10999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":11000
 *         if self._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/cuda.pyx":11001
 *             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_n_s_addressMode_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11001, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11001, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_addressMode, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11001, __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(1, 11001, __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)) __PYX_ERR(1, 11001, __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(1, 11001, __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/cuda.pyx":11000
 *         if self._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/cuda.pyx":11002
 *             try:
 *                 str_list += ['addressMode : ' + str(self.addressMode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['addressMode : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11002, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11003
 *                 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(1, 11003, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_addressMode_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_addressMode_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_addressMode_ValueError)) __PYX_ERR(1, 11003, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11003, __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/cuda.pyx":11000
 *         if self._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/cuda.pyx":11004
 *             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/cuda.pyx":11005
 *                 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_n_s_filterMode_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11005, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11005, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_filterMode, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11005, __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(1, 11005, __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)) __PYX_ERR(1, 11005, __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(1, 11005, __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/cuda.pyx":11004
 *             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/cuda.pyx":11006
 *             try:
 *                 str_list += ['filterMode : ' + str(self.filterMode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['filterMode : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11006, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11007
 *                 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(1, 11007, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_filterMode_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_filterMode_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_filterMode_ValueError)) __PYX_ERR(1, 11007, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11007, __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/cuda.pyx":11004
 *             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/cuda.pyx":11008
 *             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/cuda.pyx":11009
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11009, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11009, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11009, __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(1, 11009, __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)) __PYX_ERR(1, 11009, __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(1, 11009, __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/cuda.pyx":11008
 *             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/cuda.pyx":11010
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11010, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11011
 *                 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(1, 11011, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 11011, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11011, __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/cuda.pyx":11008
 *             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/cuda.pyx":11012
 *             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/cuda.pyx":11013
 *                 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_n_s_maxAnisotropy_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11013, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11013, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_maxAnisotropy, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11013, __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(1, 11013, __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)) __PYX_ERR(1, 11013, __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(1, 11013, __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/cuda.pyx":11012
 *             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/cuda.pyx":11014
 *             try:
 *                 str_list += ['maxAnisotropy : ' + str(self.maxAnisotropy)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxAnisotropy : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11014, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11015
 *                 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(1, 11015, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_maxAnisotropy_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_maxAnisotropy_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_maxAnisotropy_ValueError)) __PYX_ERR(1, 11015, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11015, __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/cuda.pyx":11012
 *             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/cuda.pyx":11016
 *             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/cuda.pyx":11017
 *                 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_n_s_mipmapFilterMode_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11017, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11017, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_mipmapFilterMode, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11017, __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(1, 11017, __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)) __PYX_ERR(1, 11017, __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(1, 11017, __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/cuda.pyx":11016
 *             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/cuda.pyx":11018
 *             try:
 *                 str_list += ['mipmapFilterMode : ' + str(self.mipmapFilterMode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmapFilterMode : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11018, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11019
 *                 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(1, 11019, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_mipmapFilterMode_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_mipmapFilterMode_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_mipmapFilterMode_ValueError)) __PYX_ERR(1, 11019, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11019, __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/cuda.pyx":11016
 *             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/cuda.pyx":11020
 *             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/cuda.pyx":11021
 *                 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_n_s_mipmapLevelBias_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11021, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11021, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_mipmapLevelBias, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11021, __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(1, 11021, __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)) __PYX_ERR(1, 11021, __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(1, 11021, __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/cuda.pyx":11020
 *             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/cuda.pyx":11022
 *             try:
 *                 str_list += ['mipmapLevelBias : ' + str(self.mipmapLevelBias)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmapLevelBias : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11022, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11023
 *                 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(1, 11023, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_mipmapLevelBias_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_mipmapLevelBias_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_mipmapLevelBias_ValueError)) __PYX_ERR(1, 11023, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11023, __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/cuda.pyx":11020
 *             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/cuda.pyx":11024
 *             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/cuda.pyx":11025
 *                 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_n_s_minMipmapLevelClamp_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11025, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11025, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_minMipmapLevelClamp, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11025, __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(1, 11025, __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)) __PYX_ERR(1, 11025, __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(1, 11025, __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/cuda.pyx":11024
 *             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/cuda.pyx":11026
 *             try:
 *                 str_list += ['minMipmapLevelClamp : ' + str(self.minMipmapLevelClamp)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['minMipmapLevelClamp : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11026, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11027
 *                 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(1, 11027, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_minMipmapLevelClamp_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_minMipmapLevelClamp_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_minMipmapLevelClamp_ValueError)) __PYX_ERR(1, 11027, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11027, __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/cuda.pyx":11024
 *             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/cuda.pyx":11028
 *             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/cuda.pyx":11029
 *                 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_n_s_maxMipmapLevelClamp_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11029, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11029, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_maxMipmapLevelClamp, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11029, __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(1, 11029, __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)) __PYX_ERR(1, 11029, __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(1, 11029, __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/cuda.pyx":11028
 *             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/cuda.pyx":11030
 *             try:
 *                 str_list += ['maxMipmapLevelClamp : ' + str(self.maxMipmapLevelClamp)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxMipmapLevelClamp : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11030, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11031
 *                 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(1, 11031, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_maxMipmapLevelClamp_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_maxMipmapLevelClamp_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_maxMipmapLevelClamp_ValueError)) __PYX_ERR(1, 11031, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11031, __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/cuda.pyx":11028
 *             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/cuda.pyx":11032
 *             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/cuda.pyx":11033
 *                 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_n_s_borderColor_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11033, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11033, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_borderColor, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11033, __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(1, 11033, __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)) __PYX_ERR(1, 11033, __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(1, 11033, __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/cuda.pyx":11032
 *             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/cuda.pyx":11034
 *             try:
 *                 str_list += ['borderColor : ' + str(self.borderColor)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['borderColor : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11034, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11035
 *                 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(1, 11035, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_borderColor_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_borderColor_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_borderColor_ValueError)) __PYX_ERR(1, 11035, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11035, __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/cuda.pyx":11032
 *             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/cuda.pyx":11036
 *             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/cuda.pyx":11037
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11037, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11037, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11037, __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(1, 11037, __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)) __PYX_ERR(1, 11037, __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(1, 11037, __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/cuda.pyx":11036
 *             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/cuda.pyx":11038
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11038, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11039
 *                 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(1, 11039, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 11039, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11039, __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/cuda.pyx":11036
 *             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/cuda.pyx":11040
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11040, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":10998
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":11042
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def addressMode(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":10997
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11043
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def addressMode(self):
 *         return [CUaddress_mode(_x) for _x in list(self._ptr[0].addressMode)]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11addressMode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_11addressMode___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11addressMode___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_9genexpr32__pyx_v__x = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11043, 0, __PYX_ERR(1, 11043, __pyx_L1_error));

  /* "cuda/cuda.pyx":11045
 *     @property
 *     def addressMode(self):
 *         return [CUaddress_mode(_x) for _x in list(self._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(1, 11045, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_carray_to_py_CUaddress_mode((__pyx_v_self->_ptr[0]).addressMode, 3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11045, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PySequence_ListKeepNew(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 11045, __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 11045, __pyx_L5_error)
        #endif
        if (__pyx_t_4 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(1, 11045, __pyx_L5_error)
      #else
      __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 11045, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr32__pyx_v__x, __pyx_t_3);
      __pyx_t_3 = 0;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUaddress_mode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 11045, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = NULL;
      __pyx_t_7 = 0;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
        if (likely(__pyx_t_6)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
          __Pyx_INCREF(__pyx_t_6);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_5, function);
          __pyx_t_7 = 1;
        }
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_9genexpr32__pyx_v__x};
        __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 11045, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(1, 11045, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_9genexpr32__pyx_v__x); __pyx_9genexpr32__pyx_v__x = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_9genexpr32__pyx_v__x); __pyx_9genexpr32__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/cuda.pyx":11043
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def addressMode(self):
 *         return [CUaddress_mode(_x) for _x in list(self._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_6);
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.addressMode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_9genexpr32__pyx_v__x);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11046
 *     def addressMode(self):
 *         return [CUaddress_mode(_x) for _x in list(self._ptr[0].addressMode)]
 *     @addressMode.setter             # <<<<<<<<<<<<<<
 *     def addressMode(self, addressMode):
 *         self._ptr[0].addressMode = [_x.value for _x in addressMode]
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11addressMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_addressMode); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_11addressMode_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_addressMode));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11addressMode_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_addressMode) {
  PyObject *__pyx_9genexpr33__pyx_v__x = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11046, 0, __PYX_ERR(1, 11046, __pyx_L1_error));

  /* "cuda/cuda.pyx":11048
 *     @addressMode.setter
 *     def addressMode(self, addressMode):
 *         self._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(1, 11048, __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(1, 11048, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 11048, __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_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 11048, __pyx_L5_error)
            #endif
            if (__pyx_t_3 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(1, 11048, __pyx_L5_error)
          #else
          __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 11048, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_5);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 11048, __pyx_L5_error)
            #endif
            if (__pyx_t_3 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(1, 11048, __pyx_L5_error)
          #else
          __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 11048, __pyx_L5_error)
          __Pyx_GOTREF(__pyx_t_5);
          #endif
        }
      } else {
        __pyx_t_5 = __pyx_t_4(__pyx_t_2);
        if (unlikely(!__pyx_t_5)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 11048, __pyx_L5_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_XDECREF_SET(__pyx_9genexpr33__pyx_v__x, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr33__pyx_v__x, __pyx_n_s_value_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 11048, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 11048, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_9genexpr33__pyx_v__x); __pyx_9genexpr33__pyx_v__x = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_9genexpr33__pyx_v__x); __pyx_9genexpr33__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(1, 11048, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  memcpy(&((__pyx_v_self->_ptr[0]).addressMode[0]), __pyx_t_6, sizeof((__pyx_v_self->_ptr[0]).addressMode[0]) * (3));

  /* "cuda/cuda.pyx":11046
 *     def addressMode(self):
 *         return [CUaddress_mode(_x) for _x in list(self._ptr[0].addressMode)]
 *     @addressMode.setter             # <<<<<<<<<<<<<<
 *     def addressMode(self, addressMode):
 *         self._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.cuda.CUDA_TEXTURE_DESC_st.addressMode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_9genexpr33__pyx_v__x);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11049
 *     def addressMode(self, addressMode):
 *         self._ptr[0].addressMode = [_x.value for _x in addressMode]
 *     @property             # <<<<<<<<<<<<<<
 *     def filterMode(self):
 *         return CUfilter_mode(self._ptr[0].filterMode)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_10filterMode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_10filterMode___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_10filterMode___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11049, 0, __PYX_ERR(1, 11049, __pyx_L1_error));

  /* "cuda/cuda.pyx":11051
 *     @property
 *     def filterMode(self):
 *         return CUfilter_mode(self._ptr[0].filterMode)             # <<<<<<<<<<<<<<
 *     @filterMode.setter
 *     def filterMode(self, filterMode not None : CUfilter_mode):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUfilter_mode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUfilter_mode_enum((__pyx_v_self->_ptr[0]).filterMode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 11051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11051, __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/cuda.pyx":11049
 *     def addressMode(self, addressMode):
 *         self._ptr[0].addressMode = [_x.value for _x in addressMode]
 *     @property             # <<<<<<<<<<<<<<
 *     def filterMode(self):
 *         return CUfilter_mode(self._ptr[0].filterMode)
 */

  /* 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.cuda.CUDA_TEXTURE_DESC_st.filterMode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11052
 *     def filterMode(self):
 *         return CUfilter_mode(self._ptr[0].filterMode)
 *     @filterMode.setter             # <<<<<<<<<<<<<<
 *     def filterMode(self, filterMode not None : CUfilter_mode):
 *         self._ptr[0].filterMode = filterMode.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_10filterMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_filterMode); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 11053, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_10filterMode_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_filterMode));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_10filterMode_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_filterMode) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11052, 0, __PYX_ERR(1, 11052, __pyx_L1_error));

  /* "cuda/cuda.pyx":11054
 *     @filterMode.setter
 *     def filterMode(self, filterMode not None : CUfilter_mode):
 *         self._ptr[0].filterMode = filterMode.value             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_filterMode, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUfilter_mode_enum)__Pyx_PyInt_As_enum__CUfilter_mode_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11054, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).filterMode = __pyx_t_2;

  /* "cuda/cuda.pyx":11052
 *     def filterMode(self):
 *         return CUfilter_mode(self._ptr[0].filterMode)
 *     @filterMode.setter             # <<<<<<<<<<<<<<
 *     def filterMode(self, filterMode not None : CUfilter_mode):
 *         self._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.cuda.CUDA_TEXTURE_DESC_st.filterMode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11055
 *     def filterMode(self, filterMode not None : CUfilter_mode):
 *         self._ptr[0].filterMode = filterMode.value
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11055, 0, __PYX_ERR(1, 11055, __pyx_L1_error));

  /* "cuda/cuda.pyx":11057
 *     @property
 *     def flags(self):
 *         return self._ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11055
 *     def filterMode(self, filterMode not None : CUfilter_mode):
 *         self._ptr[0].filterMode = filterMode.value
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11058
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11059, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_20CUDA_TEXTURE_DESC_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11058, 0, __PYX_ERR(1, 11058, __pyx_L1_error));

  /* "cuda/cuda.pyx":11060
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def maxAnisotropy(self):
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":11058
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11061
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def maxAnisotropy(self):
 *         return self._ptr[0].maxAnisotropy
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_13maxAnisotropy_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_13maxAnisotropy___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_13maxAnisotropy___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11061, 0, __PYX_ERR(1, 11061, __pyx_L1_error));

  /* "cuda/cuda.pyx":11063
 *     @property
 *     def maxAnisotropy(self):
 *         return self._ptr[0].maxAnisotropy             # <<<<<<<<<<<<<<
 *     @maxAnisotropy.setter
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).maxAnisotropy); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11061
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def maxAnisotropy(self):
 *         return self._ptr[0].maxAnisotropy
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.maxAnisotropy.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11064
 *     def maxAnisotropy(self):
 *         return self._ptr[0].maxAnisotropy
 *     @maxAnisotropy.setter             # <<<<<<<<<<<<<<
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):
 *         self._ptr[0].maxAnisotropy = maxAnisotropy
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_13maxAnisotropy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxAnisotropy); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_maxAnisotropy); if (unlikely((__pyx_v_maxAnisotropy == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11065, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_20CUDA_TEXTURE_DESC_st_13maxAnisotropy_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_13maxAnisotropy_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, unsigned int __pyx_v_maxAnisotropy) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11064, 0, __PYX_ERR(1, 11064, __pyx_L1_error));

  /* "cuda/cuda.pyx":11066
 *     @maxAnisotropy.setter
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):
 *         self._ptr[0].maxAnisotropy = maxAnisotropy             # <<<<<<<<<<<<<<
 *     @property
 *     def mipmapFilterMode(self):
 */
  (__pyx_v_self->_ptr[0]).maxAnisotropy = __pyx_v_maxAnisotropy;

  /* "cuda/cuda.pyx":11064
 *     def maxAnisotropy(self):
 *         return self._ptr[0].maxAnisotropy
 *     @maxAnisotropy.setter             # <<<<<<<<<<<<<<
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):
 *         self._ptr[0].maxAnisotropy = maxAnisotropy
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.maxAnisotropy.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11067
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):
 *         self._ptr[0].maxAnisotropy = maxAnisotropy
 *     @property             # <<<<<<<<<<<<<<
 *     def mipmapFilterMode(self):
 *         return CUfilter_mode(self._ptr[0].mipmapFilterMode)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11067, 0, __PYX_ERR(1, 11067, __pyx_L1_error));

  /* "cuda/cuda.pyx":11069
 *     @property
 *     def mipmapFilterMode(self):
 *         return CUfilter_mode(self._ptr[0].mipmapFilterMode)             # <<<<<<<<<<<<<<
 *     @mipmapFilterMode.setter
 *     def mipmapFilterMode(self, mipmapFilterMode not None : CUfilter_mode):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUfilter_mode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUfilter_mode_enum((__pyx_v_self->_ptr[0]).mipmapFilterMode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 11069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11069, __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/cuda.pyx":11067
 *     def maxAnisotropy(self, unsigned int maxAnisotropy):
 *         self._ptr[0].maxAnisotropy = maxAnisotropy
 *     @property             # <<<<<<<<<<<<<<
 *     def mipmapFilterMode(self):
 *         return CUfilter_mode(self._ptr[0].mipmapFilterMode)
 */

  /* 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.cuda.CUDA_TEXTURE_DESC_st.mipmapFilterMode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11070
 *     def mipmapFilterMode(self):
 *         return CUfilter_mode(self._ptr[0].mipmapFilterMode)
 *     @mipmapFilterMode.setter             # <<<<<<<<<<<<<<
 *     def mipmapFilterMode(self, mipmapFilterMode not None : CUfilter_mode):
 *         self._ptr[0].mipmapFilterMode = mipmapFilterMode.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_mipmapFilterMode); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 11071, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_mipmapFilterMode));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_mipmapFilterMode) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11070, 0, __PYX_ERR(1, 11070, __pyx_L1_error));

  /* "cuda/cuda.pyx":11072
 *     @mipmapFilterMode.setter
 *     def mipmapFilterMode(self, mipmapFilterMode not None : CUfilter_mode):
 *         self._ptr[0].mipmapFilterMode = mipmapFilterMode.value             # <<<<<<<<<<<<<<
 *     @property
 *     def mipmapLevelBias(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mipmapFilterMode, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUfilter_mode_enum)__Pyx_PyInt_As_enum__CUfilter_mode_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11072, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).mipmapFilterMode = __pyx_t_2;

  /* "cuda/cuda.pyx":11070
 *     def mipmapFilterMode(self):
 *         return CUfilter_mode(self._ptr[0].mipmapFilterMode)
 *     @mipmapFilterMode.setter             # <<<<<<<<<<<<<<
 *     def mipmapFilterMode(self, mipmapFilterMode not None : CUfilter_mode):
 *         self._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.cuda.CUDA_TEXTURE_DESC_st.mipmapFilterMode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11073
 *     def mipmapFilterMode(self, mipmapFilterMode not None : CUfilter_mode):
 *         self._ptr[0].mipmapFilterMode = mipmapFilterMode.value
 *     @property             # <<<<<<<<<<<<<<
 *     def mipmapLevelBias(self):
 *         return self._ptr[0].mipmapLevelBias
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11073, 0, __PYX_ERR(1, 11073, __pyx_L1_error));

  /* "cuda/cuda.pyx":11075
 *     @property
 *     def mipmapLevelBias(self):
 *         return self._ptr[0].mipmapLevelBias             # <<<<<<<<<<<<<<
 *     @mipmapLevelBias.setter
 *     def mipmapLevelBias(self, float mipmapLevelBias):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble((__pyx_v_self->_ptr[0]).mipmapLevelBias); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11073
 *     def mipmapFilterMode(self, mipmapFilterMode not None : CUfilter_mode):
 *         self._ptr[0].mipmapFilterMode = mipmapFilterMode.value
 *     @property             # <<<<<<<<<<<<<<
 *     def mipmapLevelBias(self):
 *         return self._ptr[0].mipmapLevelBias
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.mipmapLevelBias.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11076
 *     def mipmapLevelBias(self):
 *         return self._ptr[0].mipmapLevelBias
 *     @mipmapLevelBias.setter             # <<<<<<<<<<<<<<
 *     def mipmapLevelBias(self, float mipmapLevelBias):
 *         self._ptr[0].mipmapLevelBias = mipmapLevelBias
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_mipmapLevelBias); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 11077, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((float)__pyx_v_mipmapLevelBias));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, float __pyx_v_mipmapLevelBias) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11076, 0, __PYX_ERR(1, 11076, __pyx_L1_error));

  /* "cuda/cuda.pyx":11078
 *     @mipmapLevelBias.setter
 *     def mipmapLevelBias(self, float mipmapLevelBias):
 *         self._ptr[0].mipmapLevelBias = mipmapLevelBias             # <<<<<<<<<<<<<<
 *     @property
 *     def minMipmapLevelClamp(self):
 */
  (__pyx_v_self->_ptr[0]).mipmapLevelBias = __pyx_v_mipmapLevelBias;

  /* "cuda/cuda.pyx":11076
 *     def mipmapLevelBias(self):
 *         return self._ptr[0].mipmapLevelBias
 *     @mipmapLevelBias.setter             # <<<<<<<<<<<<<<
 *     def mipmapLevelBias(self, float mipmapLevelBias):
 *         self._ptr[0].mipmapLevelBias = mipmapLevelBias
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.mipmapLevelBias.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11079
 *     def mipmapLevelBias(self, float mipmapLevelBias):
 *         self._ptr[0].mipmapLevelBias = mipmapLevelBias
 *     @property             # <<<<<<<<<<<<<<
 *     def minMipmapLevelClamp(self):
 *         return self._ptr[0].minMipmapLevelClamp
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11079, 0, __PYX_ERR(1, 11079, __pyx_L1_error));

  /* "cuda/cuda.pyx":11081
 *     @property
 *     def minMipmapLevelClamp(self):
 *         return self._ptr[0].minMipmapLevelClamp             # <<<<<<<<<<<<<<
 *     @minMipmapLevelClamp.setter
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble((__pyx_v_self->_ptr[0]).minMipmapLevelClamp); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11079
 *     def mipmapLevelBias(self, float mipmapLevelBias):
 *         self._ptr[0].mipmapLevelBias = mipmapLevelBias
 *     @property             # <<<<<<<<<<<<<<
 *     def minMipmapLevelClamp(self):
 *         return self._ptr[0].minMipmapLevelClamp
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.minMipmapLevelClamp.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11082
 *     def minMipmapLevelClamp(self):
 *         return self._ptr[0].minMipmapLevelClamp
 *     @minMipmapLevelClamp.setter             # <<<<<<<<<<<<<<
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):
 *         self._ptr[0].minMipmapLevelClamp = minMipmapLevelClamp
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_minMipmapLevelClamp); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 11083, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((float)__pyx_v_minMipmapLevelClamp));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, float __pyx_v_minMipmapLevelClamp) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11082, 0, __PYX_ERR(1, 11082, __pyx_L1_error));

  /* "cuda/cuda.pyx":11084
 *     @minMipmapLevelClamp.setter
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):
 *         self._ptr[0].minMipmapLevelClamp = minMipmapLevelClamp             # <<<<<<<<<<<<<<
 *     @property
 *     def maxMipmapLevelClamp(self):
 */
  (__pyx_v_self->_ptr[0]).minMipmapLevelClamp = __pyx_v_minMipmapLevelClamp;

  /* "cuda/cuda.pyx":11082
 *     def minMipmapLevelClamp(self):
 *         return self._ptr[0].minMipmapLevelClamp
 *     @minMipmapLevelClamp.setter             # <<<<<<<<<<<<<<
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):
 *         self._ptr[0].minMipmapLevelClamp = minMipmapLevelClamp
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.minMipmapLevelClamp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11085
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):
 *         self._ptr[0].minMipmapLevelClamp = minMipmapLevelClamp
 *     @property             # <<<<<<<<<<<<<<
 *     def maxMipmapLevelClamp(self):
 *         return self._ptr[0].maxMipmapLevelClamp
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11085, 0, __PYX_ERR(1, 11085, __pyx_L1_error));

  /* "cuda/cuda.pyx":11087
 *     @property
 *     def maxMipmapLevelClamp(self):
 *         return self._ptr[0].maxMipmapLevelClamp             # <<<<<<<<<<<<<<
 *     @maxMipmapLevelClamp.setter
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble((__pyx_v_self->_ptr[0]).maxMipmapLevelClamp); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11085
 *     def minMipmapLevelClamp(self, float minMipmapLevelClamp):
 *         self._ptr[0].minMipmapLevelClamp = minMipmapLevelClamp
 *     @property             # <<<<<<<<<<<<<<
 *     def maxMipmapLevelClamp(self):
 *         return self._ptr[0].maxMipmapLevelClamp
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.maxMipmapLevelClamp.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11088
 *     def maxMipmapLevelClamp(self):
 *         return self._ptr[0].maxMipmapLevelClamp
 *     @maxMipmapLevelClamp.setter             # <<<<<<<<<<<<<<
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):
 *         self._ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxMipmapLevelClamp); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 11089, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((float)__pyx_v_maxMipmapLevelClamp));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, float __pyx_v_maxMipmapLevelClamp) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11088, 0, __PYX_ERR(1, 11088, __pyx_L1_error));

  /* "cuda/cuda.pyx":11090
 *     @maxMipmapLevelClamp.setter
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):
 *         self._ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp             # <<<<<<<<<<<<<<
 *     @property
 *     def borderColor(self):
 */
  (__pyx_v_self->_ptr[0]).maxMipmapLevelClamp = __pyx_v_maxMipmapLevelClamp;

  /* "cuda/cuda.pyx":11088
 *     def maxMipmapLevelClamp(self):
 *         return self._ptr[0].maxMipmapLevelClamp
 *     @maxMipmapLevelClamp.setter             # <<<<<<<<<<<<<<
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):
 *         self._ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.maxMipmapLevelClamp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11091
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):
 *         self._ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp
 *     @property             # <<<<<<<<<<<<<<
 *     def borderColor(self):
 *         return self._ptr[0].borderColor
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11borderColor_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_11borderColor___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11borderColor___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11091, 0, __PYX_ERR(1, 11091, __pyx_L1_error));

  /* "cuda/cuda.pyx":11093
 *     @property
 *     def borderColor(self):
 *         return self._ptr[0].borderColor             # <<<<<<<<<<<<<<
 *     @borderColor.setter
 *     def borderColor(self, borderColor):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_float((__pyx_v_self->_ptr[0]).borderColor, 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11091
 *     def maxMipmapLevelClamp(self, float maxMipmapLevelClamp):
 *         self._ptr[0].maxMipmapLevelClamp = maxMipmapLevelClamp
 *     @property             # <<<<<<<<<<<<<<
 *     def borderColor(self):
 *         return self._ptr[0].borderColor
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.borderColor.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11094
 *     def borderColor(self):
 *         return self._ptr[0].borderColor
 *     @borderColor.setter             # <<<<<<<<<<<<<<
 *     def borderColor(self, borderColor):
 *         self._ptr[0].borderColor = borderColor
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11borderColor_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_borderColor); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_11borderColor_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_borderColor));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11borderColor_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_borderColor) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  float __pyx_t_1[4];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11094, 0, __PYX_ERR(1, 11094, __pyx_L1_error));

  /* "cuda/cuda.pyx":11096
 *     @borderColor.setter
 *     def borderColor(self, borderColor):
 *         self._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(1, 11096, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).borderColor[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).borderColor[0]) * (4));

  /* "cuda/cuda.pyx":11094
 *     def borderColor(self):
 *         return self._ptr[0].borderColor
 *     @borderColor.setter             # <<<<<<<<<<<<<<
 *     def borderColor(self, borderColor):
 *         self._ptr[0].borderColor = borderColor
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.borderColor.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11097
 *     def borderColor(self, borderColor):
 *         self._ptr[0].borderColor = borderColor
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11097, 0, __PYX_ERR(1, 11097, __pyx_L1_error));

  /* "cuda/cuda.pyx":11099
 *     @property
 *     def reserved(self):
 *         return self._ptr[0].reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).reserved, 12); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11097
 *     def borderColor(self, borderColor):
 *         self._ptr[0].borderColor = borderColor
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11100
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1[12];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11100, 0, __PYX_ERR(1, 11100, __pyx_L1_error));

  /* "cuda/cuda.pyx":11102
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._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(1, 11102, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved[0]) * (12));

  /* "cuda/cuda.pyx":11100
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_10__reduce_cython__, "CUDA_TEXTURE_DESC_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__282)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_12__setstate_cython__, "CUDA_TEXTURE_DESC_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_20CUDA_TEXTURE_DESC_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__283)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_TEXTURE_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11135
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11135, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 11135, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11135, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 11135, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 11135, 0, __PYX_ERR(1, 11135, __pyx_L1_error));

  /* "cuda/cuda.pyx":11136
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11137
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_RESOURCE_VIEW_DESC_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_RESOURCE_VIEW_DESC_st__val);

    /* "cuda/cuda.pyx":11136
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":11139
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_RESOURCE_VIEW_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":11135
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11140
 *         else:
 *             self._ptr = <ccuda.CUDA_RESOURCE_VIEW_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11140, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 11140, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11140, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 11140, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 11140, 0, __PYX_ERR(1, 11140, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11142
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 11142, 0, __PYX_ERR(1, 11142, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":11144
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6getPtr, "CUDA_RESOURCE_VIEW_DESC_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__284)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 11144, 0, __PYX_ERR(1, 11144, __pyx_L1_error));

  /* "cuda/cuda.pyx":11145
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11144
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11146
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 11146, 0, __PYX_ERR(1, 11146, __pyx_L1_error));

  /* "cuda/cuda.pyx":11147
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11148
 *     def __repr__(self):
 *         if self._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(1, 11148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":11149
 *         if self._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/cuda.pyx":11150
 *             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_n_s_format_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11150, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11150, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_format, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11150, __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(1, 11150, __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)) __PYX_ERR(1, 11150, __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(1, 11150, __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/cuda.pyx":11149
 *         if self._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/cuda.pyx":11151
 *             try:
 *                 str_list += ['format : ' + str(self.format)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['format : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11151, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11152
 *                 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(1, 11152, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_format_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_format_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_format_ValueError)) __PYX_ERR(1, 11152, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11152, __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/cuda.pyx":11149
 *         if self._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/cuda.pyx":11153
 *             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/cuda.pyx":11154
 *                 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_n_s_width_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11154, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11154, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_width, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11154, __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(1, 11154, __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)) __PYX_ERR(1, 11154, __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(1, 11154, __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/cuda.pyx":11153
 *             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/cuda.pyx":11155
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11155, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11156
 *                 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(1, 11156, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_width_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_width_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_width_ValueError)) __PYX_ERR(1, 11156, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11156, __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/cuda.pyx":11153
 *             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/cuda.pyx":11157
 *             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/cuda.pyx":11158
 *                 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_n_s_height_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11158, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11158, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_height, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11158, __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(1, 11158, __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)) __PYX_ERR(1, 11158, __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(1, 11158, __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/cuda.pyx":11157
 *             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/cuda.pyx":11159
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11159, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11160
 *                 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(1, 11160, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_height_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_height_ValueError)) __PYX_ERR(1, 11160, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11160, __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/cuda.pyx":11157
 *             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/cuda.pyx":11161
 *             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/cuda.pyx":11162
 *                 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_n_s_depth_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11162, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11162, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_depth, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11162, __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(1, 11162, __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)) __PYX_ERR(1, 11162, __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(1, 11162, __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/cuda.pyx":11161
 *             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/cuda.pyx":11163
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11163, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11164
 *                 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(1, 11164, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_depth_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_depth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_depth_ValueError)) __PYX_ERR(1, 11164, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11164, __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/cuda.pyx":11161
 *             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/cuda.pyx":11165
 *             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/cuda.pyx":11166
 *                 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_n_s_firstMipmapLevel_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11166, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11166, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_firstMipmapLevel, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11166, __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(1, 11166, __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)) __PYX_ERR(1, 11166, __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(1, 11166, __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/cuda.pyx":11165
 *             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/cuda.pyx":11167
 *             try:
 *                 str_list += ['firstMipmapLevel : ' + str(self.firstMipmapLevel)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['firstMipmapLevel : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11167, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11168
 *                 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(1, 11168, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_firstMipmapLevel_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_firstMipmapLevel_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_firstMipmapLevel_ValueError)) __PYX_ERR(1, 11168, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11168, __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/cuda.pyx":11165
 *             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/cuda.pyx":11169
 *             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/cuda.pyx":11170
 *                 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_n_s_lastMipmapLevel_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11170, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11170, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_lastMipmapLevel, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11170, __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(1, 11170, __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)) __PYX_ERR(1, 11170, __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(1, 11170, __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/cuda.pyx":11169
 *             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/cuda.pyx":11171
 *             try:
 *                 str_list += ['lastMipmapLevel : ' + str(self.lastMipmapLevel)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['lastMipmapLevel : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11171, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11172
 *                 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(1, 11172, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_lastMipmapLevel_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_lastMipmapLevel_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_lastMipmapLevel_ValueError)) __PYX_ERR(1, 11172, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11172, __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/cuda.pyx":11169
 *             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/cuda.pyx":11173
 *             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/cuda.pyx":11174
 *                 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_n_s_firstLayer_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11174, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11174, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_firstLayer, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11174, __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(1, 11174, __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)) __PYX_ERR(1, 11174, __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(1, 11174, __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/cuda.pyx":11173
 *             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/cuda.pyx":11175
 *             try:
 *                 str_list += ['firstLayer : ' + str(self.firstLayer)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['firstLayer : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11175, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11176
 *                 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(1, 11176, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_firstLayer_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_firstLayer_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_firstLayer_ValueError)) __PYX_ERR(1, 11176, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11176, __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/cuda.pyx":11173
 *             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/cuda.pyx":11177
 *             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/cuda.pyx":11178
 *                 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_n_s_lastLayer_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11178, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11178, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_lastLayer, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11178, __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(1, 11178, __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)) __PYX_ERR(1, 11178, __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(1, 11178, __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/cuda.pyx":11177
 *             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/cuda.pyx":11179
 *             try:
 *                 str_list += ['lastLayer : ' + str(self.lastLayer)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['lastLayer : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11179, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11180
 *                 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(1, 11180, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_lastLayer_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_lastLayer_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_lastLayer_ValueError)) __PYX_ERR(1, 11180, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11180, __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/cuda.pyx":11177
 *             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/cuda.pyx":11181
 *             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/cuda.pyx":11182
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11182, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11182, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11182, __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(1, 11182, __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)) __PYX_ERR(1, 11182, __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(1, 11182, __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/cuda.pyx":11181
 *             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/cuda.pyx":11183
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11183, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11184
 *                 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(1, 11184, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 11184, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11184, __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/cuda.pyx":11181
 *             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/cuda.pyx":11185
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":11147
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":11187
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def format(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":11146
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11188
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         return CUresourceViewFormat(self._ptr[0].format)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6format_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6format___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6format___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11188, 0, __PYX_ERR(1, 11188, __pyx_L1_error));

  /* "cuda/cuda.pyx":11190
 *     @property
 *     def format(self):
 *         return CUresourceViewFormat(self._ptr[0].format)             # <<<<<<<<<<<<<<
 *     @format.setter
 *     def format(self, format not None : CUresourceViewFormat):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresourceViewFormat); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum((__pyx_v_self->_ptr[0]).format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 11190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11190, __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/cuda.pyx":11188
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def format(self):
 *         return CUresourceViewFormat(self._ptr[0].format)
 */

  /* 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.cuda.CUDA_RESOURCE_VIEW_DESC_st.format.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11191
 *     def format(self):
 *         return CUresourceViewFormat(self._ptr[0].format)
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, format not None : CUresourceViewFormat):
 *         self._ptr[0].format = format.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6format_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_format); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 11192, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6format_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self), ((PyObject *)__pyx_v_format));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6format_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, PyObject *__pyx_v_format) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11191, 0, __PYX_ERR(1, 11191, __pyx_L1_error));

  /* "cuda/cuda.pyx":11193
 *     @format.setter
 *     def format(self, format not None : CUresourceViewFormat):
 *         self._ptr[0].format = format.value             # <<<<<<<<<<<<<<
 *     @property
 *     def width(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_format, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUresourceViewFormat_enum)__Pyx_PyInt_As_enum__CUresourceViewFormat_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11193, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).format = __pyx_t_2;

  /* "cuda/cuda.pyx":11191
 *     def format(self):
 *         return CUresourceViewFormat(self._ptr[0].format)
 *     @format.setter             # <<<<<<<<<<<<<<
 *     def format(self, format not None : CUresourceViewFormat):
 *         self._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.cuda.CUDA_RESOURCE_VIEW_DESC_st.format.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11194
 *     def format(self, format not None : CUresourceViewFormat):
 *         self._ptr[0].format = format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._ptr[0].width
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5width___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5width___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11194, 0, __PYX_ERR(1, 11194, __pyx_L1_error));

  /* "cuda/cuda.pyx":11196
 *     @property
 *     def width(self):
 *         return self._ptr[0].width             # <<<<<<<<<<<<<<
 *     @width.setter
 *     def width(self, size_t width):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).width); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11194
 *     def format(self, format not None : CUresourceViewFormat):
 *         self._ptr[0].format = format.value
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._ptr[0].width
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11197
 *     def width(self):
 *         return self._ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._ptr[0].width = width
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_width); if (unlikely((__pyx_v_width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 11198, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5width_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5width_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, size_t __pyx_v_width) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11197, 0, __PYX_ERR(1, 11197, __pyx_L1_error));

  /* "cuda/cuda.pyx":11199
 *     @width.setter
 *     def width(self, size_t width):
 *         self._ptr[0].width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
 */
  (__pyx_v_self->_ptr[0]).width = __pyx_v_width;

  /* "cuda/cuda.pyx":11197
 *     def width(self):
 *         return self._ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, size_t width):
 *         self._ptr[0].width = width
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11200
 *     def width(self, size_t width):
 *         self._ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._ptr[0].height
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6height___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6height___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11200, 0, __PYX_ERR(1, 11200, __pyx_L1_error));

  /* "cuda/cuda.pyx":11202
 *     @property
 *     def height(self):
 *         return self._ptr[0].height             # <<<<<<<<<<<<<<
 *     @height.setter
 *     def height(self, size_t height):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).height); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11200
 *     def width(self, size_t width):
 *         self._ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._ptr[0].height
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11203
 *     def height(self):
 *         return self._ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._ptr[0].height = height
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_height); if (unlikely((__pyx_v_height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 11204, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6height_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6height_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, size_t __pyx_v_height) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11203, 0, __PYX_ERR(1, 11203, __pyx_L1_error));

  /* "cuda/cuda.pyx":11205
 *     @height.setter
 *     def height(self, size_t height):
 *         self._ptr[0].height = height             # <<<<<<<<<<<<<<
 *     @property
 *     def depth(self):
 */
  (__pyx_v_self->_ptr[0]).height = __pyx_v_height;

  /* "cuda/cuda.pyx":11203
 *     def height(self):
 *         return self._ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, size_t height):
 *         self._ptr[0].height = height
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11206
 *     def height(self, size_t height):
 *         self._ptr[0].height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def depth(self):
 *         return self._ptr[0].depth
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5depth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5depth___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5depth___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11206, 0, __PYX_ERR(1, 11206, __pyx_L1_error));

  /* "cuda/cuda.pyx":11208
 *     @property
 *     def depth(self):
 *         return self._ptr[0].depth             # <<<<<<<<<<<<<<
 *     @depth.setter
 *     def depth(self, size_t depth):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).depth); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11206
 *     def height(self, size_t height):
 *         self._ptr[0].height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def depth(self):
 *         return self._ptr[0].depth
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.depth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11209
 *     def depth(self):
 *         return self._ptr[0].depth
 *     @depth.setter             # <<<<<<<<<<<<<<
 *     def depth(self, size_t depth):
 *         self._ptr[0].depth = depth
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_depth); if (unlikely((__pyx_v_depth == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 11210, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5depth_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5depth_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, size_t __pyx_v_depth) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11209, 0, __PYX_ERR(1, 11209, __pyx_L1_error));

  /* "cuda/cuda.pyx":11211
 *     @depth.setter
 *     def depth(self, size_t depth):
 *         self._ptr[0].depth = depth             # <<<<<<<<<<<<<<
 *     @property
 *     def firstMipmapLevel(self):
 */
  (__pyx_v_self->_ptr[0]).depth = __pyx_v_depth;

  /* "cuda/cuda.pyx":11209
 *     def depth(self):
 *         return self._ptr[0].depth
 *     @depth.setter             # <<<<<<<<<<<<<<
 *     def depth(self, size_t depth):
 *         self._ptr[0].depth = depth
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11212
 *     def depth(self, size_t depth):
 *         self._ptr[0].depth = depth
 *     @property             # <<<<<<<<<<<<<<
 *     def firstMipmapLevel(self):
 *         return self._ptr[0].firstMipmapLevel
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11212, 0, __PYX_ERR(1, 11212, __pyx_L1_error));

  /* "cuda/cuda.pyx":11214
 *     @property
 *     def firstMipmapLevel(self):
 *         return self._ptr[0].firstMipmapLevel             # <<<<<<<<<<<<<<
 *     @firstMipmapLevel.setter
 *     def firstMipmapLevel(self, unsigned int firstMipmapLevel):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).firstMipmapLevel); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11212
 *     def depth(self, size_t depth):
 *         self._ptr[0].depth = depth
 *     @property             # <<<<<<<<<<<<<<
 *     def firstMipmapLevel(self):
 *         return self._ptr[0].firstMipmapLevel
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.firstMipmapLevel.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11215
 *     def firstMipmapLevel(self):
 *         return self._ptr[0].firstMipmapLevel
 *     @firstMipmapLevel.setter             # <<<<<<<<<<<<<<
 *     def firstMipmapLevel(self, unsigned int firstMipmapLevel):
 *         self._ptr[0].firstMipmapLevel = firstMipmapLevel
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_firstMipmapLevel); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_firstMipmapLevel); if (unlikely((__pyx_v_firstMipmapLevel == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11216, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, unsigned int __pyx_v_firstMipmapLevel) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11215, 0, __PYX_ERR(1, 11215, __pyx_L1_error));

  /* "cuda/cuda.pyx":11217
 *     @firstMipmapLevel.setter
 *     def firstMipmapLevel(self, unsigned int firstMipmapLevel):
 *         self._ptr[0].firstMipmapLevel = firstMipmapLevel             # <<<<<<<<<<<<<<
 *     @property
 *     def lastMipmapLevel(self):
 */
  (__pyx_v_self->_ptr[0]).firstMipmapLevel = __pyx_v_firstMipmapLevel;

  /* "cuda/cuda.pyx":11215
 *     def firstMipmapLevel(self):
 *         return self._ptr[0].firstMipmapLevel
 *     @firstMipmapLevel.setter             # <<<<<<<<<<<<<<
 *     def firstMipmapLevel(self, unsigned int firstMipmapLevel):
 *         self._ptr[0].firstMipmapLevel = firstMipmapLevel
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.firstMipmapLevel.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11218
 *     def firstMipmapLevel(self, unsigned int firstMipmapLevel):
 *         self._ptr[0].firstMipmapLevel = firstMipmapLevel
 *     @property             # <<<<<<<<<<<<<<
 *     def lastMipmapLevel(self):
 *         return self._ptr[0].lastMipmapLevel
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11218, 0, __PYX_ERR(1, 11218, __pyx_L1_error));

  /* "cuda/cuda.pyx":11220
 *     @property
 *     def lastMipmapLevel(self):
 *         return self._ptr[0].lastMipmapLevel             # <<<<<<<<<<<<<<
 *     @lastMipmapLevel.setter
 *     def lastMipmapLevel(self, unsigned int lastMipmapLevel):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).lastMipmapLevel); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11218
 *     def firstMipmapLevel(self, unsigned int firstMipmapLevel):
 *         self._ptr[0].firstMipmapLevel = firstMipmapLevel
 *     @property             # <<<<<<<<<<<<<<
 *     def lastMipmapLevel(self):
 *         return self._ptr[0].lastMipmapLevel
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.lastMipmapLevel.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11221
 *     def lastMipmapLevel(self):
 *         return self._ptr[0].lastMipmapLevel
 *     @lastMipmapLevel.setter             # <<<<<<<<<<<<<<
 *     def lastMipmapLevel(self, unsigned int lastMipmapLevel):
 *         self._ptr[0].lastMipmapLevel = lastMipmapLevel
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_lastMipmapLevel); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_lastMipmapLevel); if (unlikely((__pyx_v_lastMipmapLevel == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11222, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, unsigned int __pyx_v_lastMipmapLevel) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11221, 0, __PYX_ERR(1, 11221, __pyx_L1_error));

  /* "cuda/cuda.pyx":11223
 *     @lastMipmapLevel.setter
 *     def lastMipmapLevel(self, unsigned int lastMipmapLevel):
 *         self._ptr[0].lastMipmapLevel = lastMipmapLevel             # <<<<<<<<<<<<<<
 *     @property
 *     def firstLayer(self):
 */
  (__pyx_v_self->_ptr[0]).lastMipmapLevel = __pyx_v_lastMipmapLevel;

  /* "cuda/cuda.pyx":11221
 *     def lastMipmapLevel(self):
 *         return self._ptr[0].lastMipmapLevel
 *     @lastMipmapLevel.setter             # <<<<<<<<<<<<<<
 *     def lastMipmapLevel(self, unsigned int lastMipmapLevel):
 *         self._ptr[0].lastMipmapLevel = lastMipmapLevel
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.lastMipmapLevel.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11224
 *     def lastMipmapLevel(self, unsigned int lastMipmapLevel):
 *         self._ptr[0].lastMipmapLevel = lastMipmapLevel
 *     @property             # <<<<<<<<<<<<<<
 *     def firstLayer(self):
 *         return self._ptr[0].firstLayer
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11224, 0, __PYX_ERR(1, 11224, __pyx_L1_error));

  /* "cuda/cuda.pyx":11226
 *     @property
 *     def firstLayer(self):
 *         return self._ptr[0].firstLayer             # <<<<<<<<<<<<<<
 *     @firstLayer.setter
 *     def firstLayer(self, unsigned int firstLayer):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).firstLayer); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11224
 *     def lastMipmapLevel(self, unsigned int lastMipmapLevel):
 *         self._ptr[0].lastMipmapLevel = lastMipmapLevel
 *     @property             # <<<<<<<<<<<<<<
 *     def firstLayer(self):
 *         return self._ptr[0].firstLayer
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.firstLayer.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11227
 *     def firstLayer(self):
 *         return self._ptr[0].firstLayer
 *     @firstLayer.setter             # <<<<<<<<<<<<<<
 *     def firstLayer(self, unsigned int firstLayer):
 *         self._ptr[0].firstLayer = firstLayer
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_firstLayer); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_firstLayer); if (unlikely((__pyx_v_firstLayer == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11228, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, unsigned int __pyx_v_firstLayer) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11227, 0, __PYX_ERR(1, 11227, __pyx_L1_error));

  /* "cuda/cuda.pyx":11229
 *     @firstLayer.setter
 *     def firstLayer(self, unsigned int firstLayer):
 *         self._ptr[0].firstLayer = firstLayer             # <<<<<<<<<<<<<<
 *     @property
 *     def lastLayer(self):
 */
  (__pyx_v_self->_ptr[0]).firstLayer = __pyx_v_firstLayer;

  /* "cuda/cuda.pyx":11227
 *     def firstLayer(self):
 *         return self._ptr[0].firstLayer
 *     @firstLayer.setter             # <<<<<<<<<<<<<<
 *     def firstLayer(self, unsigned int firstLayer):
 *         self._ptr[0].firstLayer = firstLayer
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.firstLayer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11230
 *     def firstLayer(self, unsigned int firstLayer):
 *         self._ptr[0].firstLayer = firstLayer
 *     @property             # <<<<<<<<<<<<<<
 *     def lastLayer(self):
 *         return self._ptr[0].lastLayer
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11230, 0, __PYX_ERR(1, 11230, __pyx_L1_error));

  /* "cuda/cuda.pyx":11232
 *     @property
 *     def lastLayer(self):
 *         return self._ptr[0].lastLayer             # <<<<<<<<<<<<<<
 *     @lastLayer.setter
 *     def lastLayer(self, unsigned int lastLayer):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).lastLayer); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11230
 *     def firstLayer(self, unsigned int firstLayer):
 *         self._ptr[0].firstLayer = firstLayer
 *     @property             # <<<<<<<<<<<<<<
 *     def lastLayer(self):
 *         return self._ptr[0].lastLayer
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.lastLayer.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11233
 *     def lastLayer(self):
 *         return self._ptr[0].lastLayer
 *     @lastLayer.setter             # <<<<<<<<<<<<<<
 *     def lastLayer(self, unsigned int lastLayer):
 *         self._ptr[0].lastLayer = lastLayer
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_lastLayer); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_lastLayer); if (unlikely((__pyx_v_lastLayer == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11234, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, unsigned int __pyx_v_lastLayer) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11233, 0, __PYX_ERR(1, 11233, __pyx_L1_error));

  /* "cuda/cuda.pyx":11235
 *     @lastLayer.setter
 *     def lastLayer(self, unsigned int lastLayer):
 *         self._ptr[0].lastLayer = lastLayer             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).lastLayer = __pyx_v_lastLayer;

  /* "cuda/cuda.pyx":11233
 *     def lastLayer(self):
 *         return self._ptr[0].lastLayer
 *     @lastLayer.setter             # <<<<<<<<<<<<<<
 *     def lastLayer(self, unsigned int lastLayer):
 *         self._ptr[0].lastLayer = lastLayer
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.lastLayer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11236
 *     def lastLayer(self, unsigned int lastLayer):
 *         self._ptr[0].lastLayer = lastLayer
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11236, 0, __PYX_ERR(1, 11236, __pyx_L1_error));

  /* "cuda/cuda.pyx":11238
 *     @property
 *     def reserved(self):
 *         return self._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->_ptr[0]).reserved, 16); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11236
 *     def lastLayer(self, unsigned int lastLayer):
 *         self._ptr[0].lastLayer = lastLayer
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11239
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  unsigned int __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11239, 0, __PYX_ERR(1, 11239, __pyx_L1_error));

  /* "cuda/cuda.pyx":11241
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._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(1, 11241, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved[0]) * (16));

  /* "cuda/cuda.pyx":11239
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_10__reduce_cython__, "CUDA_RESOURCE_VIEW_DESC_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__285)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_12__setstate_cython__, "CUDA_RESOURCE_VIEW_DESC_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__286)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11259
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_14CUtensorMap_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_14CUtensorMap_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11259, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 11259, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11259, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 11259, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUtensorMap_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_14CUtensorMap_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_14CUtensorMap_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 11259, 0, __PYX_ERR(1, 11259, __pyx_L1_error));

  /* "cuda/cuda.pyx":11260
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11261
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUtensorMap_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUtensorMap_st__val);

    /* "cuda/cuda.pyx":11260
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":11263
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUtensorMap_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUtensorMap_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":11259
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUtensorMap_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11264
 *         else:
 *             self._ptr = <ccuda.CUtensorMap_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_14CUtensorMap_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_14CUtensorMap_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11264, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 11264, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11264, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 11264, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUtensorMap_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_14CUtensorMap_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_14CUtensorMap_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 11264, 0, __PYX_ERR(1, 11264, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUtensorMap_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11266
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_14CUtensorMap_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_14CUtensorMap_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_14CUtensorMap_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 11266, 0, __PYX_ERR(1, 11266, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUtensorMap_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":11268
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_14CUtensorMap_st_6getPtr, "CUtensorMap_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_14CUtensorMap_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUtensorMap_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUtensorMap_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_14CUtensorMap_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_14CUtensorMap_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__287)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 11268, 0, __PYX_ERR(1, 11268, __pyx_L1_error));

  /* "cuda/cuda.pyx":11269
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11268
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUtensorMap_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11270
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_14CUtensorMap_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_14CUtensorMap_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_14CUtensorMap_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 11270, 0, __PYX_ERR(1, 11270, __pyx_L1_error));

  /* "cuda/cuda.pyx":11271
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11272
 *     def __repr__(self):
 *         if self._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(1, 11272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":11273
 *         if self._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/cuda.pyx":11274
 *             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_n_s_opaque_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11274, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11274, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_opaque, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11274, __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(1, 11274, __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)) __PYX_ERR(1, 11274, __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(1, 11274, __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/cuda.pyx":11273
 *         if self._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/cuda.pyx":11275
 *             try:
 *                 str_list += ['opaque : ' + str(self.opaque)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['opaque : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUtensorMap_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 11275, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11276
 *                 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(1, 11276, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_opaque_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_opaque_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_opaque_ValueError)) __PYX_ERR(1, 11276, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11276, __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/cuda.pyx":11273
 *         if self._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/cuda.pyx":11277
 *             except ValueError:
 *                 str_list += ['opaque : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11277, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":11271
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":11279
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def opaque(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":11270
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11280
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def opaque(self):
 *         return [cuuint64_t(init_value=_opaque) for _opaque in self._ptr[0].opaque]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_14CUtensorMap_st_6opaque_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_14CUtensorMap_st_6opaque___get__(((struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_14CUtensorMap_st_6opaque___get__(struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self) {
  cuuint64_t __pyx_9genexpr34__pyx_v__opaque;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11280, 0, __PYX_ERR(1, 11280, __pyx_L1_error));

  /* "cuda/cuda.pyx":11282
 *     @property
 *     def opaque(self):
 *         return [cuuint64_t(init_value=_opaque) for _opaque in self._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(1, 11282, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = ((__pyx_v_self->_ptr[0]).opaque + 16);
    for (__pyx_t_4 = (__pyx_v_self->_ptr[0]).opaque; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
      __pyx_t_2 = __pyx_t_4;
      __pyx_9genexpr34__pyx_v__opaque = (__pyx_t_2[0]);
      __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 11282, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyInt_From_uint64_t(__pyx_9genexpr34__pyx_v__opaque); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11282, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_init_value, __pyx_t_6) < 0) __PYX_ERR(1, 11282, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint64_t), __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11282, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 11282, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11280
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def opaque(self):
 *         return [cuuint64_t(init_value=_opaque) for _opaque in self._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_AddTraceback("cuda.cuda.CUtensorMap_st.opaque.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11283
 *     def opaque(self):
 *         return [cuuint64_t(init_value=_opaque) for _opaque in self._ptr[0].opaque]
 *     @opaque.setter             # <<<<<<<<<<<<<<
 *     def opaque(self, opaque):
 *         self._ptr[0].opaque = opaque
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_14CUtensorMap_st_6opaque_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_opaque); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_14CUtensorMap_st_6opaque_2__set__(((struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *)__pyx_v_self), ((PyObject *)__pyx_v_opaque));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_14CUtensorMap_st_6opaque_2__set__(struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self, PyObject *__pyx_v_opaque) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  cuuint64_t __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11283, 0, __PYX_ERR(1, 11283, __pyx_L1_error));

  /* "cuda/cuda.pyx":11285
 *     @opaque.setter
 *     def opaque(self, opaque):
 *         self._ptr[0].opaque = opaque             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:
 */
  if (unlikely((__Pyx_carray_from_py_cuuint64_t(__pyx_v_opaque, __pyx_t_1, 16) < 0))) __PYX_ERR(1, 11285, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).opaque[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).opaque[0]) * (16));

  /* "cuda/cuda.pyx":11283
 *     def opaque(self):
 *         return [cuuint64_t(init_value=_opaque) for _opaque in self._ptr[0].opaque]
 *     @opaque.setter             # <<<<<<<<<<<<<<
 *     def opaque(self, opaque):
 *         self._ptr[0].opaque = opaque
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUtensorMap_st.opaque.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_14CUtensorMap_st_10__reduce_cython__, "CUtensorMap_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_14CUtensorMap_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUtensorMap_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUtensorMap_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_14CUtensorMap_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_14CUtensorMap_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__288)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUtensorMap_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_14CUtensorMap_st_12__setstate_cython__, "CUtensorMap_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_14CUtensorMap_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUtensorMap_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUtensorMap_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUtensorMap_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_14CUtensorMap_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_14CUtensorMap_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__289)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUtensorMap_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11304
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11304, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 11304, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11304, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 11304, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 11304, 0, __PYX_ERR(1, 11304, __pyx_L1_error));

  /* "cuda/cuda.pyx":11305
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11306
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st__val);

    /* "cuda/cuda.pyx":11305
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":11308
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":11304
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11309
 *         else:
 *             self._ptr = <ccuda.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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11309, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 11309, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11309, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 11309, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 11309, 0, __PYX_ERR(1, 11309, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11311
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 11311, 0, __PYX_ERR(1, 11311, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":11313
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_6getPtr, "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__290)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 11313, 0, __PYX_ERR(1, 11313, __pyx_L1_error));

  /* "cuda/cuda.pyx":11314
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11313
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11315
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 11315, 0, __PYX_ERR(1, 11315, __pyx_L1_error));

  /* "cuda/cuda.pyx":11316
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11317
 *     def __repr__(self):
 *         if self._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(1, 11317, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":11318
 *         if self._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/cuda.pyx":11319
 *             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_n_s_p2pToken_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11319, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11319, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_p2pToken, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11319, __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(1, 11319, __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)) __PYX_ERR(1, 11319, __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(1, 11319, __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/cuda.pyx":11318
 *         if self._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/cuda.pyx":11320
 *             try:
 *                 str_list += ['p2pToken : ' + str(self.p2pToken)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['p2pToken : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11320, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11321
 *                 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(1, 11321, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_p2pToken_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_p2pToken_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_p2pToken_ValueError)) __PYX_ERR(1, 11321, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11321, __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/cuda.pyx":11318
 *         if self._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/cuda.pyx":11322
 *             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/cuda.pyx":11323
 *                 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_n_s_vaSpaceToken_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11323, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11323, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_vaSpaceToken, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11323, __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(1, 11323, __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)) __PYX_ERR(1, 11323, __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(1, 11323, __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/cuda.pyx":11322
 *             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/cuda.pyx":11324
 *             try:
 *                 str_list += ['vaSpaceToken : ' + str(self.vaSpaceToken)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['vaSpaceToken : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11324, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11325
 *                 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(1, 11325, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_vaSpaceToken_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_vaSpaceToken_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_vaSpaceToken_ValueError)) __PYX_ERR(1, 11325, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11325, __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/cuda.pyx":11322
 *             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/cuda.pyx":11326
 *             except ValueError:
 *                 str_list += ['vaSpaceToken : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":11316
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":11328
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def p2pToken(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":11315
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11329
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def p2pToken(self):
 *         return self._ptr[0].p2pToken
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken___get__(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11329, 0, __PYX_ERR(1, 11329, __pyx_L1_error));

  /* "cuda/cuda.pyx":11331
 *     @property
 *     def p2pToken(self):
 *         return self._ptr[0].p2pToken             # <<<<<<<<<<<<<<
 *     @p2pToken.setter
 *     def p2pToken(self, unsigned long long p2pToken):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).p2pToken); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11329
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def p2pToken(self):
 *         return self._ptr[0].p2pToken
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.p2pToken.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11332
 *     def p2pToken(self):
 *         return self._ptr[0].p2pToken
 *     @p2pToken.setter             # <<<<<<<<<<<<<<
 *     def p2pToken(self, unsigned long long p2pToken):
 *         self._ptr[0].p2pToken = p2pToken
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_p2pToken); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_p2pToken); if (unlikely((__pyx_v_p2pToken == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11333, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_p2pToken) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11332, 0, __PYX_ERR(1, 11332, __pyx_L1_error));

  /* "cuda/cuda.pyx":11334
 *     @p2pToken.setter
 *     def p2pToken(self, unsigned long long p2pToken):
 *         self._ptr[0].p2pToken = p2pToken             # <<<<<<<<<<<<<<
 *     @property
 *     def vaSpaceToken(self):
 */
  (__pyx_v_self->_ptr[0]).p2pToken = __pyx_v_p2pToken;

  /* "cuda/cuda.pyx":11332
 *     def p2pToken(self):
 *         return self._ptr[0].p2pToken
 *     @p2pToken.setter             # <<<<<<<<<<<<<<
 *     def p2pToken(self, unsigned long long p2pToken):
 *         self._ptr[0].p2pToken = p2pToken
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.p2pToken.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11335
 *     def p2pToken(self, unsigned long long p2pToken):
 *         self._ptr[0].p2pToken = p2pToken
 *     @property             # <<<<<<<<<<<<<<
 *     def vaSpaceToken(self):
 *         return self._ptr[0].vaSpaceToken
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken___get__(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11335, 0, __PYX_ERR(1, 11335, __pyx_L1_error));

  /* "cuda/cuda.pyx":11337
 *     @property
 *     def vaSpaceToken(self):
 *         return self._ptr[0].vaSpaceToken             # <<<<<<<<<<<<<<
 *     @vaSpaceToken.setter
 *     def vaSpaceToken(self, unsigned int vaSpaceToken):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).vaSpaceToken); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11335
 *     def p2pToken(self, unsigned long long p2pToken):
 *         self._ptr[0].p2pToken = p2pToken
 *     @property             # <<<<<<<<<<<<<<
 *     def vaSpaceToken(self):
 *         return self._ptr[0].vaSpaceToken
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.vaSpaceToken.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11338
 *     def vaSpaceToken(self):
 *         return self._ptr[0].vaSpaceToken
 *     @vaSpaceToken.setter             # <<<<<<<<<<<<<<
 *     def vaSpaceToken(self, unsigned int vaSpaceToken):
 *         self._ptr[0].vaSpaceToken = vaSpaceToken
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_vaSpaceToken); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_vaSpaceToken); if (unlikely((__pyx_v_vaSpaceToken == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11339, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, unsigned int __pyx_v_vaSpaceToken) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11338, 0, __PYX_ERR(1, 11338, __pyx_L1_error));

  /* "cuda/cuda.pyx":11340
 *     @vaSpaceToken.setter
 *     def vaSpaceToken(self, unsigned int vaSpaceToken):
 *         self._ptr[0].vaSpaceToken = vaSpaceToken             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_LAUNCH_PARAMS_st:
 */
  (__pyx_v_self->_ptr[0]).vaSpaceToken = __pyx_v_vaSpaceToken;

  /* "cuda/cuda.pyx":11338
 *     def vaSpaceToken(self):
 *         return self._ptr[0].vaSpaceToken
 *     @vaSpaceToken.setter             # <<<<<<<<<<<<<<
 *     def vaSpaceToken(self, unsigned int vaSpaceToken):
 *         self._ptr[0].vaSpaceToken = vaSpaceToken
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.vaSpaceToken.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_10__reduce_cython__, "CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__291)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__292)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11375
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11375, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 11375, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11375, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 11375, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_LAUNCH_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 11375, 0, __PYX_ERR(1, 11375, __pyx_L1_error));

  /* "cuda/cuda.pyx":11376
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11377
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_LAUNCH_PARAMS_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_LAUNCH_PARAMS_st__val);

    /* "cuda/cuda.pyx":11376
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":11379
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_LAUNCH_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._function = CUfunction(_ptr=<void_ptr>&self._ptr[0].function)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_LAUNCH_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":11375
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11380
 *         else:
 *             self._ptr = <ccuda.CUDA_LAUNCH_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._function = CUfunction(_ptr=<void_ptr>&self._ptr[0].function)
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hStream)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11380, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 11380, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11380, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 11380, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_LAUNCH_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 11380, 0, __PYX_ERR(1, 11380, __pyx_L1_error));

  /* "cuda/cuda.pyx":11381
 *             self._ptr = <ccuda.CUDA_LAUNCH_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._function = CUfunction(_ptr=<void_ptr>&self._ptr[0].function)             # <<<<<<<<<<<<<<
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hStream)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).function))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 11381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_function);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_function);
  __pyx_v_self->_function = ((struct __pyx_obj_4cuda_4cuda_CUfunction *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":11382
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._function = CUfunction(_ptr=<void_ptr>&self._ptr[0].function)
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hStream)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).hStream))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 11382, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUstream *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":11380
 *         else:
 *             self._ptr = <ccuda.CUDA_LAUNCH_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._function = CUfunction(_ptr=<void_ptr>&self._ptr[0].function)
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._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_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11383
 *         self._function = CUfunction(_ptr=<void_ptr>&self._ptr[0].function)
 *         self._hStream = CUstream(_ptr=<void_ptr>&self._ptr[0].hStream)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 11383, 0, __PYX_ERR(1, 11383, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_LAUNCH_PARAMS_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":11385
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_6getPtr, "CUDA_LAUNCH_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__293)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 11385, 0, __PYX_ERR(1, 11385, __pyx_L1_error));

  /* "cuda/cuda.pyx":11386
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11385
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11387
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 11387, 0, __PYX_ERR(1, 11387, __pyx_L1_error));

  /* "cuda/cuda.pyx":11388
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11389
 *     def __repr__(self):
 *         if self._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(1, 11389, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":11390
 *         if self._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/cuda.pyx":11391
 *             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_n_s_function_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11391, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11391, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_function, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11391, __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(1, 11391, __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)) __PYX_ERR(1, 11391, __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(1, 11391, __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/cuda.pyx":11390
 *         if self._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/cuda.pyx":11392
 *             try:
 *                 str_list += ['function : ' + str(self.function)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['function : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11392, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11393
 *                 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(1, 11393, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_function_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_function_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_function_ValueError)) __PYX_ERR(1, 11393, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11393, __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/cuda.pyx":11390
 *         if self._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/cuda.pyx":11394
 *             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/cuda.pyx":11395
 *                 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_n_s_gridDimX_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11395, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11395, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_gridDimX, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11395, __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(1, 11395, __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)) __PYX_ERR(1, 11395, __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(1, 11395, __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/cuda.pyx":11394
 *             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/cuda.pyx":11396
 *             try:
 *                 str_list += ['gridDimX : ' + str(self.gridDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimX : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11396, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11397
 *                 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(1, 11397, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_gridDimX_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_gridDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_gridDimX_ValueError)) __PYX_ERR(1, 11397, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11397, __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/cuda.pyx":11394
 *             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/cuda.pyx":11398
 *             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/cuda.pyx":11399
 *                 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_n_s_gridDimY_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11399, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11399, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_gridDimY, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11399, __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(1, 11399, __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)) __PYX_ERR(1, 11399, __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(1, 11399, __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/cuda.pyx":11398
 *             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/cuda.pyx":11400
 *             try:
 *                 str_list += ['gridDimY : ' + str(self.gridDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimY : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11400, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11401
 *                 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(1, 11401, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_gridDimY_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_gridDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_gridDimY_ValueError)) __PYX_ERR(1, 11401, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11401, __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/cuda.pyx":11398
 *             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/cuda.pyx":11402
 *             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/cuda.pyx":11403
 *                 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_n_s_gridDimZ_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11403, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11403, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_gridDimZ, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11403, __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(1, 11403, __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)) __PYX_ERR(1, 11403, __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(1, 11403, __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/cuda.pyx":11402
 *             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/cuda.pyx":11404
 *             try:
 *                 str_list += ['gridDimZ : ' + str(self.gridDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gridDimZ : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11404, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11405
 *                 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(1, 11405, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_gridDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_gridDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_gridDimZ_ValueError)) __PYX_ERR(1, 11405, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11405, __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/cuda.pyx":11402
 *             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/cuda.pyx":11406
 *             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/cuda.pyx":11407
 *                 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_n_s_blockDimX_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11407, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11407, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_blockDimX, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11407, __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(1, 11407, __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)) __PYX_ERR(1, 11407, __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(1, 11407, __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/cuda.pyx":11406
 *             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/cuda.pyx":11408
 *             try:
 *                 str_list += ['blockDimX : ' + str(self.blockDimX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimX : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11408, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11409
 *                 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(1, 11409, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_blockDimX_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_blockDimX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_blockDimX_ValueError)) __PYX_ERR(1, 11409, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11409, __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/cuda.pyx":11406
 *             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/cuda.pyx":11410
 *             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/cuda.pyx":11411
 *                 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_n_s_blockDimY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11411, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11411, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_blockDimY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11411, __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(1, 11411, __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)) __PYX_ERR(1, 11411, __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(1, 11411, __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/cuda.pyx":11410
 *             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/cuda.pyx":11412
 *             try:
 *                 str_list += ['blockDimY : ' + str(self.blockDimY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimY : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11412, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11413
 *                 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(1, 11413, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_blockDimY_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_blockDimY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_blockDimY_ValueError)) __PYX_ERR(1, 11413, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11413, __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/cuda.pyx":11410
 *             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/cuda.pyx":11414
 *             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/cuda.pyx":11415
 *                 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_n_s_blockDimZ_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11415, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11415, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_blockDimZ, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11415, __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(1, 11415, __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)) __PYX_ERR(1, 11415, __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(1, 11415, __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/cuda.pyx":11414
 *             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/cuda.pyx":11416
 *             try:
 *                 str_list += ['blockDimZ : ' + str(self.blockDimZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['blockDimZ : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11416, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11417
 *                 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(1, 11417, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_blockDimZ_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_blockDimZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_blockDimZ_ValueError)) __PYX_ERR(1, 11417, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11417, __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/cuda.pyx":11414
 *             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/cuda.pyx":11418
 *             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/cuda.pyx":11419
 *                 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_n_s_sharedMemBytes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11419, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11419, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_sharedMemBytes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11419, __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(1, 11419, __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)) __PYX_ERR(1, 11419, __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(1, 11419, __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/cuda.pyx":11418
 *             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/cuda.pyx":11420
 *             try:
 *                 str_list += ['sharedMemBytes : ' + str(self.sharedMemBytes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sharedMemBytes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11420, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11421
 *                 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(1, 11421, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_sharedMemBytes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_sharedMemBytes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_sharedMemBytes_ValueError)) __PYX_ERR(1, 11421, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11421, __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/cuda.pyx":11418
 *             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/cuda.pyx":11422
 *             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/cuda.pyx":11423
 *                 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_n_s_hStream_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11423, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11423, __pyx_L68_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_hStream, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11423, __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(1, 11423, __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)) __PYX_ERR(1, 11423, __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(1, 11423, __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/cuda.pyx":11422
 *             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/cuda.pyx":11424
 *             try:
 *                 str_list += ['hStream : ' + str(self.hStream)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['hStream : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11424, __pyx_L70_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11425
 *                 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(1, 11425, __pyx_L70_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_hStream_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_hStream_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_hStream_ValueError)) __PYX_ERR(1, 11425, __pyx_L70_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11425, __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/cuda.pyx":11422
 *             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/cuda.pyx":11426
 *             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/cuda.pyx":11427
 *                 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_n_s_kernelParams_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11427, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11427, __pyx_L76_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_kernelParams, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11427, __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(1, 11427, __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)) __PYX_ERR(1, 11427, __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(1, 11427, __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/cuda.pyx":11426
 *             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/cuda.pyx":11428
 *             try:
 *                 str_list += ['kernelParams : ' + str(self.kernelParams)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernelParams : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11428, __pyx_L78_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11429
 *                 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(1, 11429, __pyx_L78_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_kernelParams_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_kernelParams_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_kernelParams_ValueError)) __PYX_ERR(1, 11429, __pyx_L78_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11429, __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/cuda.pyx":11426
 *             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/cuda.pyx":11430
 *             except ValueError:
 *                 str_list += ['kernelParams : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11430, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":11388
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":11432
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def function(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":11387
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11433
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def function(self):
 *         return self._function
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8function_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_8function___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8function___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11433, 0, __PYX_ERR(1, 11433, __pyx_L1_error));

  /* "cuda/cuda.pyx":11435
 *     @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/cuda.pyx":11433
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def function(self):
 *         return self._function
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.function.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11436
 *     def function(self):
 *         return self._function
 *     @function.setter             # <<<<<<<<<<<<<<
 *     def function(self, function):
 *         cdef ccuda.CUfunction cfunction
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8function_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_function); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_8function_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_function));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8function_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_function) {
  CUfunction __pyx_v_cfunction;
  PyObject *__pyx_v_pfunction = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11436, 0, __PYX_ERR(1, 11436, __pyx_L1_error));

  /* "cuda/cuda.pyx":11439
 *     def function(self, function):
 *         cdef ccuda.CUfunction cfunction
 *         if function is None:             # <<<<<<<<<<<<<<
 *             cfunction = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(function, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_function == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11440
 *         cdef ccuda.CUfunction cfunction
 *         if function is None:
 *             cfunction = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(function, (CUfunction,)):
 *             pfunction = int(function)
 */
    __pyx_v_cfunction = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":11439
 *     def function(self, function):
 *         cdef ccuda.CUfunction cfunction
 *         if function is None:             # <<<<<<<<<<<<<<
 *             cfunction = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(function, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":11441
 *         if function is None:
 *             cfunction = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(function, (CUfunction,)):             # <<<<<<<<<<<<<<
 *             pfunction = int(function)
 *             cfunction = <ccuda.CUfunction><void_ptr>pfunction
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_function, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11442
 *             cfunction = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(function, (CUfunction,)):
 *             pfunction = int(function)             # <<<<<<<<<<<<<<
 *             cfunction = <ccuda.CUfunction><void_ptr>pfunction
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_function); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunction = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":11443
 *         elif isinstance(function, (CUfunction,)):
 *             pfunction = int(function)
 *             cfunction = <ccuda.CUfunction><void_ptr>pfunction             # <<<<<<<<<<<<<<
 *         else:
 *             pfunction = int(CUfunction(function))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunction); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11443, __pyx_L1_error)
    __pyx_v_cfunction = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":11441
 *         if function is None:
 *             cfunction = <ccuda.CUfunction><void_ptr>0
 *         elif isinstance(function, (CUfunction,)):             # <<<<<<<<<<<<<<
 *             pfunction = int(function)
 *             cfunction = <ccuda.CUfunction><void_ptr>pfunction
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":11445
 *             cfunction = <ccuda.CUfunction><void_ptr>pfunction
 *         else:
 *             pfunction = int(CUfunction(function))             # <<<<<<<<<<<<<<
 *             cfunction = <ccuda.CUfunction><void_ptr>pfunction
 *         self._function._ptr[0] = cfunction
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_function); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11445, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 11445, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunction = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":11446
 *         else:
 *             pfunction = int(CUfunction(function))
 *             cfunction = <ccuda.CUfunction><void_ptr>pfunction             # <<<<<<<<<<<<<<
 *         self._function._ptr[0] = cfunction
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunction); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11446, __pyx_L1_error)
    __pyx_v_cfunction = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":11447
 *             pfunction = int(CUfunction(function))
 *             cfunction = <ccuda.CUfunction><void_ptr>pfunction
 *         self._function._ptr[0] = cfunction             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimX(self):
 */
  (__pyx_v_self->_function->_ptr[0]) = __pyx_v_cfunction;

  /* "cuda/cuda.pyx":11436
 *     def function(self):
 *         return self._function
 *     @function.setter             # <<<<<<<<<<<<<<
 *     def function(self, function):
 *         cdef ccuda.CUfunction cfunction
 */

  /* 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.cuda.CUDA_LAUNCH_PARAMS_st.function.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunction);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11448
 *             cfunction = <ccuda.CUfunction><void_ptr>pfunction
 *         self._function._ptr[0] = cfunction
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimX___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimX___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11448, 0, __PYX_ERR(1, 11448, __pyx_L1_error));

  /* "cuda/cuda.pyx":11450
 *     @property
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX             # <<<<<<<<<<<<<<
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).gridDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11448
 *             cfunction = <ccuda.CUfunction><void_ptr>pfunction
 *         self._function._ptr[0] = cfunction
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.gridDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11451
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimX); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_gridDimX); if (unlikely((__pyx_v_gridDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11452, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimX_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimX) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11451, 0, __PYX_ERR(1, 11451, __pyx_L1_error));

  /* "cuda/cuda.pyx":11453
 *     @gridDimX.setter
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimY(self):
 */
  (__pyx_v_self->_ptr[0]).gridDimX = __pyx_v_gridDimX;

  /* "cuda/cuda.pyx":11451
 *     def gridDimX(self):
 *         return self._ptr[0].gridDimX
 *     @gridDimX.setter             # <<<<<<<<<<<<<<
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.gridDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11454
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimY___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11454, 0, __PYX_ERR(1, 11454, __pyx_L1_error));

  /* "cuda/cuda.pyx":11456
 *     @property
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY             # <<<<<<<<<<<<<<
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).gridDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11454
 *     def gridDimX(self, unsigned int gridDimX):
 *         self._ptr[0].gridDimX = gridDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.gridDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11457
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimY); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_gridDimY); if (unlikely((__pyx_v_gridDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11458, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimY_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimY) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11457, 0, __PYX_ERR(1, 11457, __pyx_L1_error));

  /* "cuda/cuda.pyx":11459
 *     @gridDimY.setter
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def gridDimZ(self):
 */
  (__pyx_v_self->_ptr[0]).gridDimY = __pyx_v_gridDimY;

  /* "cuda/cuda.pyx":11457
 *     def gridDimY(self):
 *         return self._ptr[0].gridDimY
 *     @gridDimY.setter             # <<<<<<<<<<<<<<
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.gridDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11460
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimZ___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11460, 0, __PYX_ERR(1, 11460, __pyx_L1_error));

  /* "cuda/cuda.pyx":11462
 *     @property
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ             # <<<<<<<<<<<<<<
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).gridDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11460
 *     def gridDimY(self, unsigned int gridDimY):
 *         self._ptr[0].gridDimY = gridDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.gridDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11463
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gridDimZ); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_gridDimZ); if (unlikely((__pyx_v_gridDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11464, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimZ_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_gridDimZ) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11463, 0, __PYX_ERR(1, 11463, __pyx_L1_error));

  /* "cuda/cuda.pyx":11465
 *     @gridDimZ.setter
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimX(self):
 */
  (__pyx_v_self->_ptr[0]).gridDimZ = __pyx_v_gridDimZ;

  /* "cuda/cuda.pyx":11463
 *     def gridDimZ(self):
 *         return self._ptr[0].gridDimZ
 *     @gridDimZ.setter             # <<<<<<<<<<<<<<
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.gridDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11466
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimX___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimX___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11466, 0, __PYX_ERR(1, 11466, __pyx_L1_error));

  /* "cuda/cuda.pyx":11468
 *     @property
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX             # <<<<<<<<<<<<<<
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).blockDimX); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11466
 *     def gridDimZ(self, unsigned int gridDimZ):
 *         self._ptr[0].gridDimZ = gridDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.blockDimX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11469
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimX); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_blockDimX); if (unlikely((__pyx_v_blockDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11470, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimX_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimX_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimX) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11469, 0, __PYX_ERR(1, 11469, __pyx_L1_error));

  /* "cuda/cuda.pyx":11471
 *     @blockDimX.setter
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimY(self):
 */
  (__pyx_v_self->_ptr[0]).blockDimX = __pyx_v_blockDimX;

  /* "cuda/cuda.pyx":11469
 *     def blockDimX(self):
 *         return self._ptr[0].blockDimX
 *     @blockDimX.setter             # <<<<<<<<<<<<<<
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.blockDimX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11472
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimY___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimY___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11472, 0, __PYX_ERR(1, 11472, __pyx_L1_error));

  /* "cuda/cuda.pyx":11474
 *     @property
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY             # <<<<<<<<<<<<<<
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).blockDimY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11472
 *     def blockDimX(self, unsigned int blockDimX):
 *         self._ptr[0].blockDimX = blockDimX
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.blockDimY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11475
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimY); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_blockDimY); if (unlikely((__pyx_v_blockDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11476, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimY_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimY_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimY) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11475, 0, __PYX_ERR(1, 11475, __pyx_L1_error));

  /* "cuda/cuda.pyx":11477
 *     @blockDimY.setter
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY             # <<<<<<<<<<<<<<
 *     @property
 *     def blockDimZ(self):
 */
  (__pyx_v_self->_ptr[0]).blockDimY = __pyx_v_blockDimY;

  /* "cuda/cuda.pyx":11475
 *     def blockDimY(self):
 *         return self._ptr[0].blockDimY
 *     @blockDimY.setter             # <<<<<<<<<<<<<<
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.blockDimY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11478
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimZ___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimZ___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11478, 0, __PYX_ERR(1, 11478, __pyx_L1_error));

  /* "cuda/cuda.pyx":11480
 *     @property
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ             # <<<<<<<<<<<<<<
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).blockDimZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11478
 *     def blockDimY(self, unsigned int blockDimY):
 *         self._ptr[0].blockDimY = blockDimY
 *     @property             # <<<<<<<<<<<<<<
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.blockDimZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11481
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_blockDimZ); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_blockDimZ); if (unlikely((__pyx_v_blockDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11482, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimZ_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimZ_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_blockDimZ) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11481, 0, __PYX_ERR(1, 11481, __pyx_L1_error));

  /* "cuda/cuda.pyx":11483
 *     @blockDimZ.setter
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ             # <<<<<<<<<<<<<<
 *     @property
 *     def sharedMemBytes(self):
 */
  (__pyx_v_self->_ptr[0]).blockDimZ = __pyx_v_blockDimZ;

  /* "cuda/cuda.pyx":11481
 *     def blockDimZ(self):
 *         return self._ptr[0].blockDimZ
 *     @blockDimZ.setter             # <<<<<<<<<<<<<<
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.blockDimZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11484
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11484, 0, __PYX_ERR(1, 11484, __pyx_L1_error));

  /* "cuda/cuda.pyx":11486
 *     @property
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes             # <<<<<<<<<<<<<<
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).sharedMemBytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11484
 *     def blockDimZ(self, unsigned int blockDimZ):
 *         self._ptr[0].blockDimZ = blockDimZ
 *     @property             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.sharedMemBytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11487
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_sharedMemBytes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_sharedMemBytes); if (unlikely((__pyx_v_sharedMemBytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11488, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_sharedMemBytes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11487, 0, __PYX_ERR(1, 11487, __pyx_L1_error));

  /* "cuda/cuda.pyx":11489
 *     @sharedMemBytes.setter
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes             # <<<<<<<<<<<<<<
 *     @property
 *     def hStream(self):
 */
  (__pyx_v_self->_ptr[0]).sharedMemBytes = __pyx_v_sharedMemBytes;

  /* "cuda/cuda.pyx":11487
 *     def sharedMemBytes(self):
 *         return self._ptr[0].sharedMemBytes
 *     @sharedMemBytes.setter             # <<<<<<<<<<<<<<
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.sharedMemBytes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11490
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def hStream(self):
 *         return self._hStream
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_7hStream_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_7hStream___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_7hStream___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11490, 0, __PYX_ERR(1, 11490, __pyx_L1_error));

  /* "cuda/cuda.pyx":11492
 *     @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/cuda.pyx":11490
 *     def sharedMemBytes(self, unsigned int sharedMemBytes):
 *         self._ptr[0].sharedMemBytes = sharedMemBytes
 *     @property             # <<<<<<<<<<<<<<
 *     def hStream(self):
 *         return self._hStream
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.hStream.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11493
 *     def hStream(self):
 *         return self._hStream
 *     @hStream.setter             # <<<<<<<<<<<<<<
 *     def hStream(self, hStream):
 *         cdef ccuda.CUstream chStream
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_7hStream_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_hStream); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_7hStream_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_hStream));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_7hStream_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11493, 0, __PYX_ERR(1, 11493, __pyx_L1_error));

  /* "cuda/cuda.pyx":11496
 *     def hStream(self, hStream):
 *         cdef ccuda.CUstream chStream
 *         if hStream is None:             # <<<<<<<<<<<<<<
 *             chStream = <ccuda.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11497
 *         cdef ccuda.CUstream chStream
 *         if hStream is None:
 *             chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(hStream, (CUstream,)):
 *             phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":11496
 *     def hStream(self, hStream):
 *         cdef ccuda.CUstream chStream
 *         if hStream is None:             # <<<<<<<<<<<<<<
 *             chStream = <ccuda.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":11498
 *         if hStream is None:
 *             chStream = <ccuda.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *             phStream = int(hStream)
 *             chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11499
 *             chStream = <ccuda.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):
 *             phStream = int(hStream)             # <<<<<<<<<<<<<<
 *             chStream = <ccuda.CUstream><void_ptr>phStream
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":11500
 *         elif isinstance(hStream, (CUstream,)):
 *             phStream = int(hStream)
 *             chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *         else:
 *             phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11500, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":11498
 *         if hStream is None:
 *             chStream = <ccuda.CUstream><void_ptr>0
 *         elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *             phStream = int(hStream)
 *             chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":11502
 *             chStream = <ccuda.CUstream><void_ptr>phStream
 *         else:
 *             phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *             chStream = <ccuda.CUstream><void_ptr>phStream
 *         self._hStream._ptr[0] = chStream
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 11502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":11503
 *         else:
 *             phStream = int(CUstream(hStream))
 *             chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *         self._hStream._ptr[0] = chStream
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11503, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":11504
 *             phStream = int(CUstream(hStream))
 *             chStream = <ccuda.CUstream><void_ptr>phStream
 *         self._hStream._ptr[0] = chStream             # <<<<<<<<<<<<<<
 *     @property
 *     def kernelParams(self):
 */
  (__pyx_v_self->_hStream->_ptr[0]) = __pyx_v_chStream;

  /* "cuda/cuda.pyx":11493
 *     def hStream(self):
 *         return self._hStream
 *     @hStream.setter             # <<<<<<<<<<<<<<
 *     def hStream(self, hStream):
 *         cdef ccuda.CUstream chStream
 */

  /* 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.cuda.CUDA_LAUNCH_PARAMS_st.hStream.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11505
 *             chStream = <ccuda.CUstream><void_ptr>phStream
 *         self._hStream._ptr[0] = chStream
 *     @property             # <<<<<<<<<<<<<<
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_12kernelParams_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_12kernelParams___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_12kernelParams___get__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11505, 0, __PYX_ERR(1, 11505, __pyx_L1_error));

  /* "cuda/cuda.pyx":11507
 *     @property
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams             # <<<<<<<<<<<<<<
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).kernelParams)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11505
 *             chStream = <ccuda.CUstream><void_ptr>phStream
 *         self._hStream._ptr[0] = chStream
 *     @property             # <<<<<<<<<<<<<<
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.kernelParams.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11508
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams
 *     @kernelParams.setter             # <<<<<<<<<<<<<<
 *     def kernelParams(self, kernelParams):
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_12kernelParams_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kernelParams); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_12kernelParams_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), ((PyObject *)__pyx_v_kernelParams));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_12kernelParams_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_kernelParams) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11508, 0, __PYX_ERR(1, 11508, __pyx_L1_error));

  /* "cuda/cuda.pyx":11510
 *     @kernelParams.setter
 *     def kernelParams(self, kernelParams):
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)             # <<<<<<<<<<<<<<
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperKernelParams), __pyx_v_kernelParams); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_ckernelParams);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_ckernelParams);
  __pyx_v_self->_ckernelParams = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":11511
 *     def kernelParams(self, kernelParams):
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 *         self._ptr[0].kernelParams = <void**><void_ptr>self._ckernelParams.ckernelParams             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct11:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->_ckernelParams), __pyx_n_s_ckernelParams); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11511, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).kernelParams = ((void **)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":11508
 *     def kernelParams(self):
 *         return <void_ptr>self._ptr[0].kernelParams
 *     @kernelParams.setter             # <<<<<<<<<<<<<<
 *     def kernelParams(self, kernelParams):
 *         self._ckernelParams = utils.HelperKernelParams(kernelParams)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.kernelParams.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_10__reduce_cython__, "CUDA_LAUNCH_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__294)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_12__setstate_cython__, "CUDA_LAUNCH_PARAMS_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21CUDA_LAUNCH_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__295)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_LAUNCH_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11528
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct11_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct11_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11528, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 11528, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11528, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 11528, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct11.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct11___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct11 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct11___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 11528, 0, __PYX_ERR(1, 11528, __pyx_L1_error));

  /* "cuda/cuda.pyx":11529
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":11528
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct11.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11531
 *         self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct11_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct11_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11531, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 11531, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11531, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 11531, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct11.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct11_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct11 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct11_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 11531, 0, __PYX_ERR(1, 11531, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct11.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11533
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_13anon_struct11_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct11_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_13anon_struct11_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 11533, 0, __PYX_ERR(1, 11533, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct11.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":11535
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].handle.win32
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct11_6getPtr, "anon_struct11.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct11_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct11_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct11_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct11_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct11_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__296)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 11535, 0, __PYX_ERR(1, 11535, __pyx_L1_error));

  /* "cuda/cuda.pyx":11536
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].handle.win32             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).handle.win32))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11535
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].handle.win32
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct11.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11537
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].handle.win32
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct11_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct11_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct11_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 11537, 0, __PYX_ERR(1, 11537, __pyx_L1_error));

  /* "cuda/cuda.pyx":11538
 *         return <void_ptr>&self._ptr[0].handle.win32
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11539
 *     def __repr__(self):
 *         if self._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(1, 11539, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":11540
 *         if self._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/cuda.pyx":11541
 *             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_n_s_handle_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11541, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11541, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_handle, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11541, __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(1, 11541, __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)) __PYX_ERR(1, 11541, __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(1, 11541, __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/cuda.pyx":11540
 *         if self._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/cuda.pyx":11542
 *             try:
 *                 str_list += ['handle : ' + hex(self.handle)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct11.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 11542, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11543
 *                 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(1, 11543, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_handle_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_handle_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_handle_ValueError)) __PYX_ERR(1, 11543, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11543, __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/cuda.pyx":11540
 *         if self._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/cuda.pyx":11544
 *             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/cuda.pyx":11545
 *                 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_n_s_name_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11545, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11545, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_name, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11545, __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(1, 11545, __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)) __PYX_ERR(1, 11545, __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(1, 11545, __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/cuda.pyx":11544
 *             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/cuda.pyx":11546
 *             try:
 *                 str_list += ['name : ' + hex(self.name)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['name : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct11.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 11546, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11547
 *                 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(1, 11547, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_name_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_name_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_name_ValueError)) __PYX_ERR(1, 11547, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11547, __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/cuda.pyx":11544
 *             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/cuda.pyx":11548
 *             except ValueError:
 *                 str_list += ['name : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11548, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":11538
 *         return <void_ptr>&self._ptr[0].handle.win32
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":11550
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def handle(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":11537
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].handle.win32
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11551
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return <void_ptr>self._ptr[0].handle.win32.handle
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct11_6handle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct11_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_4cuda_13anon_struct11_6handle___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct11_6handle___get__(struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11551, 0, __PYX_ERR(1, 11551, __pyx_L1_error));

  /* "cuda/cuda.pyx":11553
 *     @property
 *     def handle(self):
 *         return <void_ptr>self._ptr[0].handle.win32.handle             # <<<<<<<<<<<<<<
 *     @handle.setter
 *     def handle(self, handle):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).handle.win32.handle)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11551
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return <void_ptr>self._ptr[0].handle.win32.handle
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct11.handle.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11554
 *     def handle(self):
 *         return <void_ptr>self._ptr[0].handle.win32.handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle):
 *         _chandle = utils.HelperInputVoidPtr(handle)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct11_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct11_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_4cuda_13anon_struct11_6handle_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct11 *)__pyx_v_self), ((PyObject *)__pyx_v_handle));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct11_6handle_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self, PyObject *__pyx_v_handle) {
  PyObject *__pyx_v__chandle = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11554, 0, __PYX_ERR(1, 11554, __pyx_L1_error));

  /* "cuda/cuda.pyx":11556
 *     @handle.setter
 *     def handle(self, handle):
 *         _chandle = utils.HelperInputVoidPtr(handle)             # <<<<<<<<<<<<<<
 *         self._ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_handle); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__chandle = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":11557
 *     def handle(self, handle):
 *         _chandle = utils.HelperInputVoidPtr(handle)
 *         self._ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def name(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__chandle, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11557, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).handle.win32.handle = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":11554
 *     def handle(self):
 *         return <void_ptr>self._ptr[0].handle.win32.handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle):
 *         _chandle = utils.HelperInputVoidPtr(handle)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct11.handle.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__chandle);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11558
 *         _chandle = utils.HelperInputVoidPtr(handle)
 *         self._ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def name(self):
 *         return <void_ptr>self._ptr[0].handle.win32.name
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct11_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct11_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_4cuda_13anon_struct11_4name___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct11_4name___get__(struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11558, 0, __PYX_ERR(1, 11558, __pyx_L1_error));

  /* "cuda/cuda.pyx":11560
 *     @property
 *     def name(self):
 *         return <void_ptr>self._ptr[0].handle.win32.name             # <<<<<<<<<<<<<<
 *     @name.setter
 *     def name(self, name):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).handle.win32.name)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11558
 *         _chandle = utils.HelperInputVoidPtr(handle)
 *         self._ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def name(self):
 *         return <void_ptr>self._ptr[0].handle.win32.name
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct11.name.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11561
 *     def name(self):
 *         return <void_ptr>self._ptr[0].handle.win32.name
 *     @name.setter             # <<<<<<<<<<<<<<
 *     def name(self, name):
 *         _cname = utils.HelperInputVoidPtr(name)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct11_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct11_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_4cuda_13anon_struct11_4name_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct11 *)__pyx_v_self), ((PyObject *)__pyx_v_name));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct11_4name_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self, PyObject *__pyx_v_name) {
  PyObject *__pyx_v__cname = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11561, 0, __PYX_ERR(1, 11561, __pyx_L1_error));

  /* "cuda/cuda.pyx":11563
 *     @name.setter
 *     def name(self, name):
 *         _cname = utils.HelperInputVoidPtr(name)             # <<<<<<<<<<<<<<
 *         self._ptr[0].handle.win32.name = <void*><void_ptr>_cname.cptr
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cname = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":11564
 *     def name(self, name):
 *         _cname = utils.HelperInputVoidPtr(name)
 *         self._ptr[0].handle.win32.name = <void*><void_ptr>_cname.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union5:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cname, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11564, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).handle.win32.name = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":11561
 *     def name(self):
 *         return <void_ptr>self._ptr[0].handle.win32.name
 *     @name.setter             # <<<<<<<<<<<<<<
 *     def name(self, name):
 *         _cname = utils.HelperInputVoidPtr(name)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct11.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cname);
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_13anon_struct11_10__reduce_cython__, "anon_struct11.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct11_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct11_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct11_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct11_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct11_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__297)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct11.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct11_12__setstate_cython__, "anon_struct11.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct11_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct11_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct11_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct11.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct11_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct11 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct11_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__298)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct11.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11583
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union5_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11anon_union5_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11583, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 11583, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11583, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 11583, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union5.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union5___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_union5 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union5___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 11583, 0, __PYX_ERR(1, 11583, __pyx_L1_error));

  /* "cuda/cuda.pyx":11584
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":11583
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union5.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11586
 *         self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._win32 = anon_struct11(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union5_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11anon_union5_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11586, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 11586, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11586, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 11586, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union5.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union5_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_union5 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union5_2__init__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 11586, 0, __PYX_ERR(1, 11586, __pyx_L1_error));

  /* "cuda/cuda.pyx":11587
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._win32 = anon_struct11(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 11587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct11), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_win32);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_win32);
  __pyx_v_self->_win32 = ((struct __pyx_obj_4cuda_4cuda_anon_struct11 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":11586
 *         self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._win32 = anon_struct11(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

  /* 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.cuda.anon_union5.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11588
 *     def __init__(self, void_ptr _ptr):
 *         self._win32 = anon_struct11(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_11anon_union5_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_11anon_union5_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_union5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_11anon_union5_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 11588, 0, __PYX_ERR(1, 11588, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_union5.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":11590
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].handle
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union5_6getPtr, "anon_union5.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union5_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union5_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union5_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union5_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_union5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union5_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__299)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 11590, 0, __PYX_ERR(1, 11590, __pyx_L1_error));

  /* "cuda/cuda.pyx":11591
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].handle             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).handle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11590
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].handle
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union5.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11592
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].handle
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union5_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union5_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_union5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union5_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr35__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 11592, 0, __PYX_ERR(1, 11592, __pyx_L1_error));

  /* "cuda/cuda.pyx":11593
 *         return <void_ptr>&self._ptr[0].handle
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11594
 *     def __repr__(self):
 *         if self._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(1, 11594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":11595
 *         if self._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/cuda.pyx":11596
 *             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_n_s_fd_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11596, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11596, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_fd, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11596, __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(1, 11596, __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)) __PYX_ERR(1, 11596, __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(1, 11596, __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/cuda.pyx":11595
 *         if self._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/cuda.pyx":11597
 *             try:
 *                 str_list += ['fd : ' + str(self.fd)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fd : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_union5.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 11597, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11598
 *                 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(1, 11598, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_fd_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_fd_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_fd_ValueError)) __PYX_ERR(1, 11598, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11598, __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/cuda.pyx":11595
 *         if self._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/cuda.pyx":11599
 *             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/cuda.pyx":11600
 *                 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(1, 11600, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_win32_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11600, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11600, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11600, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11600, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11600, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 11600, __pyx_L20_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 11600, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 11600, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11600, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 11600, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 11600, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11600, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 11600, __pyx_L20_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr35__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr35__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11600, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 11600, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr35__pyx_v_line); __pyx_9genexpr35__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_9genexpr35__pyx_v_line); __pyx_9genexpr35__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11600, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_win32, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11600, __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(1, 11600, __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)) __PYX_ERR(1, 11600, __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(1, 11600, __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/cuda.pyx":11599
 *             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/cuda.pyx":11601
 *             try:
 *                 str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32 : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_union5.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 11601, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":11602
 *                 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(1, 11602, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_win32_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_win32_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_win32_ValueError)) __PYX_ERR(1, 11602, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11602, __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/cuda.pyx":11599
 *             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/cuda.pyx":11603
 *             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/cuda.pyx":11604
 *                 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_n_s_nvSciBufObject_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11604, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11604, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_nvSciBufObject, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11604, __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(1, 11604, __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)) __PYX_ERR(1, 11604, __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(1, 11604, __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/cuda.pyx":11603
 *             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/cuda.pyx":11605
 *             try:
 *                 str_list += ['nvSciBufObject : ' + hex(self.nvSciBufObject)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciBufObject : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_union5.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(1, 11605, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11606
 *                 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(1, 11606, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_nvSciBufObject_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_nvSciBufObject_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_nvSciBufObject_ValueError)) __PYX_ERR(1, 11606, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11606, __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/cuda.pyx":11603
 *             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/cuda.pyx":11607
 *             except ValueError:
 *                 str_list += ['nvSciBufObject : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":11593
 *         return <void_ptr>&self._ptr[0].handle
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":11609
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def fd(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":11592
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].handle
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.anon_union5.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr35__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11610
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fd(self):
 *         return self._ptr[0].handle.fd
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union5_2fd_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union5_2fd___get__(((struct __pyx_obj_4cuda_4cuda_anon_union5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union5_2fd___get__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11610, 0, __PYX_ERR(1, 11610, __pyx_L1_error));

  /* "cuda/cuda.pyx":11612
 *     @property
 *     def fd(self):
 *         return self._ptr[0].handle.fd             # <<<<<<<<<<<<<<
 *     @fd.setter
 *     def fd(self, int fd):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).handle.fd); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11610
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fd(self):
 *         return self._ptr[0].handle.fd
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union5.fd.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11613
 *     def fd(self):
 *         return self._ptr[0].handle.fd
 *     @fd.setter             # <<<<<<<<<<<<<<
 *     def fd(self, int fd):
 *         self._ptr[0].handle.fd = fd
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union5_2fd_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_fd); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_fd); if (unlikely((__pyx_v_fd == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11614, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union5.fd.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union5_2fd_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union5 *)__pyx_v_self), ((int)__pyx_v_fd));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union5_2fd_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self, int __pyx_v_fd) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11613, 0, __PYX_ERR(1, 11613, __pyx_L1_error));

  /* "cuda/cuda.pyx":11615
 *     @fd.setter
 *     def fd(self, int fd):
 *         self._ptr[0].handle.fd = fd             # <<<<<<<<<<<<<<
 *     @property
 *     def win32(self):
 */
  (__pyx_v_self->_ptr[0]).handle.fd = __pyx_v_fd;

  /* "cuda/cuda.pyx":11613
 *     def fd(self):
 *         return self._ptr[0].handle.fd
 *     @fd.setter             # <<<<<<<<<<<<<<
 *     def fd(self, int fd):
 *         self._ptr[0].handle.fd = fd
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union5.fd.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11616
 *     def fd(self, int fd):
 *         self._ptr[0].handle.fd = fd
 *     @property             # <<<<<<<<<<<<<<
 *     def win32(self):
 *         return self._win32
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union5_5win32_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union5_5win32___get__(((struct __pyx_obj_4cuda_4cuda_anon_union5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union5_5win32___get__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11616, 0, __PYX_ERR(1, 11616, __pyx_L1_error));

  /* "cuda/cuda.pyx":11618
 *     @property
 *     def win32(self):
 *         return self._win32             # <<<<<<<<<<<<<<
 *     @win32.setter
 *     def win32(self, win32 not None : anon_struct11):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_win32);
  __pyx_r = ((PyObject *)__pyx_v_self->_win32);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11616
 *     def fd(self, int fd):
 *         self._ptr[0].handle.fd = fd
 *     @property             # <<<<<<<<<<<<<<
 *     def win32(self):
 *         return self._win32
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union5.win32.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11619
 *     def win32(self):
 *         return self._win32
 *     @win32.setter             # <<<<<<<<<<<<<<
 *     def win32(self, win32 not None : anon_struct11):
 *         string.memcpy(&self._ptr[0].handle.win32, <ccuda.anon_struct11*><void_ptr>win32.getPtr(), sizeof(self._ptr[0].handle.win32))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union5_5win32_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct11, 0, "win32", 0))) __PYX_ERR(1, 11620, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union5_5win32_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union5 *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct11 *)__pyx_v_win32));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union5_5win32_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct11 *__pyx_v_win32) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11619, 0, __PYX_ERR(1, 11619, __pyx_L1_error));

  /* "cuda/cuda.pyx":11621
 *     @win32.setter
 *     def win32(self, win32 not None : anon_struct11):
 *         string.memcpy(&self._ptr[0].handle.win32, <ccuda.anon_struct11*><void_ptr>win32.getPtr(), sizeof(self._ptr[0].handle.win32))             # <<<<<<<<<<<<<<
 *     @property
 *     def nvSciBufObject(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_win32), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11621, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11621, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).handle.win32), ((struct anon_struct11 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).handle.win32))));

  /* "cuda/cuda.pyx":11619
 *     def win32(self):
 *         return self._win32
 *     @win32.setter             # <<<<<<<<<<<<<<
 *     def win32(self, win32 not None : anon_struct11):
 *         string.memcpy(&self._ptr[0].handle.win32, <ccuda.anon_struct11*><void_ptr>win32.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.anon_union5.win32.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11622
 *     def win32(self, win32 not None : anon_struct11):
 *         string.memcpy(&self._ptr[0].handle.win32, <ccuda.anon_struct11*><void_ptr>win32.getPtr(), sizeof(self._ptr[0].handle.win32))
 *     @property             # <<<<<<<<<<<<<<
 *     def nvSciBufObject(self):
 *         return <void_ptr>self._ptr[0].handle.nvSciBufObject
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union5_14nvSciBufObject_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union5_14nvSciBufObject___get__(((struct __pyx_obj_4cuda_4cuda_anon_union5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union5_14nvSciBufObject___get__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11622, 0, __PYX_ERR(1, 11622, __pyx_L1_error));

  /* "cuda/cuda.pyx":11624
 *     @property
 *     def nvSciBufObject(self):
 *         return <void_ptr>self._ptr[0].handle.nvSciBufObject             # <<<<<<<<<<<<<<
 *     @nvSciBufObject.setter
 *     def nvSciBufObject(self, nvSciBufObject):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).handle.nvSciBufObject)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11622
 *     def win32(self, win32 not None : anon_struct11):
 *         string.memcpy(&self._ptr[0].handle.win32, <ccuda.anon_struct11*><void_ptr>win32.getPtr(), sizeof(self._ptr[0].handle.win32))
 *     @property             # <<<<<<<<<<<<<<
 *     def nvSciBufObject(self):
 *         return <void_ptr>self._ptr[0].handle.nvSciBufObject
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union5.nvSciBufObject.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11625
 *     def nvSciBufObject(self):
 *         return <void_ptr>self._ptr[0].handle.nvSciBufObject
 *     @nvSciBufObject.setter             # <<<<<<<<<<<<<<
 *     def nvSciBufObject(self, nvSciBufObject):
 *         _cnvSciBufObject = utils.HelperInputVoidPtr(nvSciBufObject)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union5_14nvSciBufObject_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciBufObject); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_11anon_union5_14nvSciBufObject_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union5 *)__pyx_v_self), ((PyObject *)__pyx_v_nvSciBufObject));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union5_14nvSciBufObject_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self, PyObject *__pyx_v_nvSciBufObject) {
  PyObject *__pyx_v__cnvSciBufObject = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11625, 0, __PYX_ERR(1, 11625, __pyx_L1_error));

  /* "cuda/cuda.pyx":11627
 *     @nvSciBufObject.setter
 *     def nvSciBufObject(self, nvSciBufObject):
 *         _cnvSciBufObject = utils.HelperInputVoidPtr(nvSciBufObject)             # <<<<<<<<<<<<<<
 *         self._ptr[0].handle.nvSciBufObject = <void*><void_ptr>_cnvSciBufObject.cptr
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_nvSciBufObject); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cnvSciBufObject = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":11628
 *     def nvSciBufObject(self, nvSciBufObject):
 *         _cnvSciBufObject = utils.HelperInputVoidPtr(nvSciBufObject)
 *         self._ptr[0].handle.nvSciBufObject = <void*><void_ptr>_cnvSciBufObject.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cnvSciBufObject, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11628, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).handle.nvSciBufObject = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":11625
 *     def nvSciBufObject(self):
 *         return <void_ptr>self._ptr[0].handle.nvSciBufObject
 *     @nvSciBufObject.setter             # <<<<<<<<<<<<<<
 *     def nvSciBufObject(self, nvSciBufObject):
 *         _cnvSciBufObject = utils.HelperInputVoidPtr(nvSciBufObject)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union5.nvSciBufObject.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cnvSciBufObject);
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_11anon_union5_10__reduce_cython__, "anon_union5.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union5_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union5_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union5_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union5_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union5 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union5_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__300)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union5.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union5_12__setstate_cython__, "anon_union5.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union5_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union5_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union5_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union5.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union5_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union5 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union5_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__301)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union5.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11653
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11653, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 11653, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11653, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 11653, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 11653, 0, __PYX_ERR(1, 11653, __pyx_L1_error));

  /* "cuda/cuda.pyx":11654
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st))
 *             self._ptr = self._val_ptr
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11655
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st))             # <<<<<<<<<<<<<<
 *             self._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/cuda.pyx":11656
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st))
 *             self._ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 */
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_ptr = __pyx_t_2;

    /* "cuda/cuda.pyx":11654
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st))
 *             self._ptr = self._val_ptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":11658
 *             self._ptr = self._val_ptr
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = anon_union5(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":11653
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11659
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._handle = anon_union5(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11659, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 11659, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11659, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 11659, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 11659, 0, __PYX_ERR(1, 11659, __pyx_L1_error));

  /* "cuda/cuda.pyx":11660
 *             self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = anon_union5(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 11660, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union5), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_handle);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_handle);
  __pyx_v_self->_handle = ((struct __pyx_obj_4cuda_4cuda_anon_union5 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":11659
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._handle = anon_union5(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11661
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = anon_union5(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 11661, 0, __PYX_ERR(1, 11661, __pyx_L1_error));

  /* "cuda/cuda.pyx":11662
 *         self._handle = anon_union5(_ptr=<void_ptr>self._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/cuda.pyx":11663
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_val_ptr);

    /* "cuda/cuda.pyx":11662
 *         self._handle = anon_union5(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":11661
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = anon_union5(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":11664
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6getPtr, "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__302)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 11664, 0, __PYX_ERR(1, 11664, __pyx_L1_error));

  /* "cuda/cuda.pyx":11665
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11664
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11666
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr36__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 11666, 0, __PYX_ERR(1, 11666, __pyx_L1_error));

  /* "cuda/cuda.pyx":11667
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11668
 *     def __repr__(self):
 *         if self._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(1, 11668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":11669
 *         if self._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/cuda.pyx":11670
 *             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_n_s_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11670, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11670, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11670, __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(1, 11670, __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)) __PYX_ERR(1, 11670, __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(1, 11670, __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/cuda.pyx":11669
 *         if self._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/cuda.pyx":11671
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11671, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11672
 *                 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(1, 11672, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_type_ValueError)) __PYX_ERR(1, 11672, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11672, __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/cuda.pyx":11669
 *         if self._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/cuda.pyx":11673
 *             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/cuda.pyx":11674
 *                 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(1, 11674, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_handle_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11674, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11674, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11674, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11674, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11674, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 11674, __pyx_L20_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 11674, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 11674, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11674, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 11674, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 11674, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11674, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 11674, __pyx_L20_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr36__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr36__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11674, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 11674, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr36__pyx_v_line); __pyx_9genexpr36__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_9genexpr36__pyx_v_line); __pyx_9genexpr36__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11674, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_handle_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11674, __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(1, 11674, __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)) __PYX_ERR(1, 11674, __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(1, 11674, __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/cuda.pyx":11673
 *             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/cuda.pyx":11675
 *             try:
 *                 str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11675, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":11676
 *                 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(1, 11676, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_handle_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_handle_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_handle_ValueError)) __PYX_ERR(1, 11676, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11676, __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/cuda.pyx":11673
 *             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/cuda.pyx":11677
 *             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/cuda.pyx":11678
 *                 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_n_s_size_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11678, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11678, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_size, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11678, __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(1, 11678, __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)) __PYX_ERR(1, 11678, __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(1, 11678, __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/cuda.pyx":11677
 *             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/cuda.pyx":11679
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11679, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11680
 *                 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(1, 11680, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_size_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_size_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_size_ValueError)) __PYX_ERR(1, 11680, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11680, __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/cuda.pyx":11677
 *             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/cuda.pyx":11681
 *             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/cuda.pyx":11682
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11682, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11682, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11682, __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(1, 11682, __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)) __PYX_ERR(1, 11682, __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(1, 11682, __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/cuda.pyx":11681
 *             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/cuda.pyx":11683
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11683, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":11684
 *                 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(1, 11684, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 11684, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11684, __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/cuda.pyx":11681
 *             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/cuda.pyx":11685
 *             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/cuda.pyx":11686
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11686, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11686, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11686, __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(1, 11686, __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)) __PYX_ERR(1, 11686, __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(1, 11686, __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/cuda.pyx":11685
 *             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/cuda.pyx":11687
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11687, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11688
 *                 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(1, 11688, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 11688, __pyx_L45_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11688, __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/cuda.pyx":11685
 *             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/cuda.pyx":11689
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":11667
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":11691
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":11666
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_9genexpr36__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11692
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUexternalMemoryHandleType(self._ptr[0].type)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11692, 0, __PYX_ERR(1, 11692, __pyx_L1_error));

  /* "cuda/cuda.pyx":11694
 *     @property
 *     def type(self):
 *         return CUexternalMemoryHandleType(self._ptr[0].type)             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUexternalMemoryHandleType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUexternalMemoryHandleType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUexternalMemoryHandleType_enum((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 11694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11694, __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/cuda.pyx":11692
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUexternalMemoryHandleType(self._ptr[0].type)
 */

  /* 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.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11695
 *     def type(self):
 *         return CUexternalMemoryHandleType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUexternalMemoryHandleType):
 *         self._ptr[0].type = type.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 11696, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type_2__set__(((struct __pyx_obj_4cuda_4cuda_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;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11695, 0, __PYX_ERR(1, 11695, __pyx_L1_error));

  /* "cuda/cuda.pyx":11697
 *     @type.setter
 *     def type(self, type not None : CUexternalMemoryHandleType):
 *         self._ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def handle(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUexternalMemoryHandleType_enum)__Pyx_PyInt_As_enum__CUexternalMemoryHandleType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11697, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).type = __pyx_t_2;

  /* "cuda/cuda.pyx":11695
 *     def type(self):
 *         return CUexternalMemoryHandleType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUexternalMemoryHandleType):
 *         self._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.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11698
 *     def type(self, type not None : CUexternalMemoryHandleType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return self._handle
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11698, 0, __PYX_ERR(1, 11698, __pyx_L1_error));

  /* "cuda/cuda.pyx":11700
 *     @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/cuda.pyx":11698
 *     def type(self, type not None : CUexternalMemoryHandleType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return self._handle
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.handle.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11701
 *     def handle(self):
 *         return self._handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle not None : anon_union5):
 *         string.memcpy(&self._ptr[0].handle, <ccuda.anon_union5*><void_ptr>handle.getPtr(), sizeof(self._ptr[0].handle))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_union5, 0, "handle", 0))) __PYX_ERR(1, 11702, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_union5 *)__pyx_v_handle));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union5 *__pyx_v_handle) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11701, 0, __PYX_ERR(1, 11701, __pyx_L1_error));

  /* "cuda/cuda.pyx":11703
 *     @handle.setter
 *     def handle(self, handle not None : anon_union5):
 *         string.memcpy(&self._ptr[0].handle, <ccuda.anon_union5*><void_ptr>handle.getPtr(), sizeof(self._ptr[0].handle))             # <<<<<<<<<<<<<<
 *     @property
 *     def size(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_handle), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11703, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11703, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).handle), ((union anon_union5 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).handle))));

  /* "cuda/cuda.pyx":11701
 *     def handle(self):
 *         return self._handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle not None : anon_union5):
 *         string.memcpy(&self._ptr[0].handle, <ccuda.anon_union5*><void_ptr>handle.getPtr(), sizeof(self._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_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.handle.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11704
 *     def handle(self, handle not None : anon_union5):
 *         string.memcpy(&self._ptr[0].handle, <ccuda.anon_union5*><void_ptr>handle.getPtr(), sizeof(self._ptr[0].handle))
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._ptr[0].size
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11704, 0, __PYX_ERR(1, 11704, __pyx_L1_error));

  /* "cuda/cuda.pyx":11706
 *     @property
 *     def size(self):
 *         return self._ptr[0].size             # <<<<<<<<<<<<<<
 *     @size.setter
 *     def size(self, unsigned long long size):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).size); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11704
 *     def handle(self, handle not None : anon_union5):
 *         string.memcpy(&self._ptr[0].handle, <ccuda.anon_union5*><void_ptr>handle.getPtr(), sizeof(self._ptr[0].handle))
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._ptr[0].size
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11707
 *     def size(self):
 *         return self._ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, unsigned long long size):
 *         self._ptr[0].size = size
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_size); if (unlikely((__pyx_v_size == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11708, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_size) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11707, 0, __PYX_ERR(1, 11707, __pyx_L1_error));

  /* "cuda/cuda.pyx":11709
 *     @size.setter
 *     def size(self, unsigned long long size):
 *         self._ptr[0].size = size             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  (__pyx_v_self->_ptr[0]).size = __pyx_v_size;

  /* "cuda/cuda.pyx":11707
 *     def size(self):
 *         return self._ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, unsigned long long size):
 *         self._ptr[0].size = size
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11710
 *     def size(self, unsigned long long size):
 *         self._ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11710, 0, __PYX_ERR(1, 11710, __pyx_L1_error));

  /* "cuda/cuda.pyx":11712
 *     @property
 *     def flags(self):
 *         return self._ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11710
 *     def size(self, unsigned long long size):
 *         self._ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11713
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11714, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11713, 0, __PYX_ERR(1, 11713, __pyx_L1_error));

  /* "cuda/cuda.pyx":11715
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":11713
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11716
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11716, 0, __PYX_ERR(1, 11716, __pyx_L1_error));

  /* "cuda/cuda.pyx":11718
 *     @property
 *     def reserved(self):
 *         return self._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->_ptr[0]).reserved, 16); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11716
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11719
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  unsigned int __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11719, 0, __PYX_ERR(1, 11719, __pyx_L1_error));

  /* "cuda/cuda.pyx":11721
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._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(1, 11721, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved[0]) * (16));

  /* "cuda/cuda.pyx":11719
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_10__reduce_cython__, "CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__303)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__304)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11744
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11744, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 11744, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11744, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 11744, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 11744, 0, __PYX_ERR(1, 11744, __pyx_L1_error));

  /* "cuda/cuda.pyx":11745
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11746
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st__val);

    /* "cuda/cuda.pyx":11745
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":11748
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":11744
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11749
 *         else:
 *             self._ptr = <ccuda.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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11749, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 11749, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11749, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 11749, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 11749, 0, __PYX_ERR(1, 11749, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11751
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 11751, 0, __PYX_ERR(1, 11751, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":11753
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6getPtr, "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__305)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 11753, 0, __PYX_ERR(1, 11753, __pyx_L1_error));

  /* "cuda/cuda.pyx":11754
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11753
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11755
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 11755, 0, __PYX_ERR(1, 11755, __pyx_L1_error));

  /* "cuda/cuda.pyx":11756
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11757
 *     def __repr__(self):
 *         if self._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(1, 11757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":11758
 *         if self._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/cuda.pyx":11759
 *             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_n_s_offset_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11759, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11759, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_offset, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11759, __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(1, 11759, __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)) __PYX_ERR(1, 11759, __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(1, 11759, __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/cuda.pyx":11758
 *         if self._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/cuda.pyx":11760
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11760, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11761
 *                 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(1, 11761, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_offset_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_offset_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_offset_ValueError)) __PYX_ERR(1, 11761, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11761, __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/cuda.pyx":11758
 *         if self._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/cuda.pyx":11762
 *             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/cuda.pyx":11763
 *                 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_n_s_size_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11763, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11763, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_size, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11763, __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(1, 11763, __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)) __PYX_ERR(1, 11763, __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(1, 11763, __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/cuda.pyx":11762
 *             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/cuda.pyx":11764
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11764, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11765
 *                 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(1, 11765, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_size_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_size_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_size_ValueError)) __PYX_ERR(1, 11765, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11765, __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/cuda.pyx":11762
 *             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/cuda.pyx":11766
 *             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/cuda.pyx":11767
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11767, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11767, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11767, __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(1, 11767, __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)) __PYX_ERR(1, 11767, __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(1, 11767, __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/cuda.pyx":11766
 *             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/cuda.pyx":11768
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11768, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11769
 *                 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(1, 11769, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 11769, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11769, __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/cuda.pyx":11766
 *             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/cuda.pyx":11770
 *             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/cuda.pyx":11771
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11771, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11771, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11771, __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(1, 11771, __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)) __PYX_ERR(1, 11771, __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(1, 11771, __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/cuda.pyx":11770
 *             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/cuda.pyx":11772
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11772, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11773
 *                 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(1, 11773, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 11773, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11773, __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/cuda.pyx":11770
 *             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/cuda.pyx":11774
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11774, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":11756
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":11776
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def offset(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":11755
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11777
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._ptr[0].offset
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11777, 0, __PYX_ERR(1, 11777, __pyx_L1_error));

  /* "cuda/cuda.pyx":11779
 *     @property
 *     def offset(self):
 *         return self._ptr[0].offset             # <<<<<<<<<<<<<<
 *     @offset.setter
 *     def offset(self, unsigned long long offset):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11777
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._ptr[0].offset
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.offset.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11780
 *     def offset(self):
 *         return self._ptr[0].offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].offset = offset
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_offset); if (unlikely((__pyx_v_offset == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11781, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11780, 0, __PYX_ERR(1, 11780, __pyx_L1_error));

  /* "cuda/cuda.pyx":11782
 *     @offset.setter
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].offset = offset             # <<<<<<<<<<<<<<
 *     @property
 *     def size(self):
 */
  (__pyx_v_self->_ptr[0]).offset = __pyx_v_offset;

  /* "cuda/cuda.pyx":11780
 *     def offset(self):
 *         return self._ptr[0].offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].offset = offset
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11783
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].offset = offset
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._ptr[0].size
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11783, 0, __PYX_ERR(1, 11783, __pyx_L1_error));

  /* "cuda/cuda.pyx":11785
 *     @property
 *     def size(self):
 *         return self._ptr[0].size             # <<<<<<<<<<<<<<
 *     @size.setter
 *     def size(self, unsigned long long size):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).size); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11783
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].offset = offset
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._ptr[0].size
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11786
 *     def size(self):
 *         return self._ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, unsigned long long size):
 *         self._ptr[0].size = size
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_size); if (unlikely((__pyx_v_size == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11787, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_size) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11786, 0, __PYX_ERR(1, 11786, __pyx_L1_error));

  /* "cuda/cuda.pyx":11788
 *     @size.setter
 *     def size(self, unsigned long long size):
 *         self._ptr[0].size = size             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  (__pyx_v_self->_ptr[0]).size = __pyx_v_size;

  /* "cuda/cuda.pyx":11786
 *     def size(self):
 *         return self._ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, unsigned long long size):
 *         self._ptr[0].size = size
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11789
 *     def size(self, unsigned long long size):
 *         self._ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11789, 0, __PYX_ERR(1, 11789, __pyx_L1_error));

  /* "cuda/cuda.pyx":11791
 *     @property
 *     def flags(self):
 *         return self._ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11789
 *     def size(self, unsigned long long size):
 *         self._ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11792
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11793, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11792, 0, __PYX_ERR(1, 11792, __pyx_L1_error));

  /* "cuda/cuda.pyx":11794
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":11792
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11795
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11795, 0, __PYX_ERR(1, 11795, __pyx_L1_error));

  /* "cuda/cuda.pyx":11797
 *     @property
 *     def reserved(self):
 *         return self._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->_ptr[0]).reserved, 16); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11795
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11798
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  unsigned int __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11798, 0, __PYX_ERR(1, 11798, __pyx_L1_error));

  /* "cuda/cuda.pyx":11800
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._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(1, 11800, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved[0]) * (16));

  /* "cuda/cuda.pyx":11798
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_10__reduce_cython__, "CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__306)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__307)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11824
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11824, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 11824, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11824, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 11824, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 11824, 0, __PYX_ERR(1, 11824, __pyx_L1_error));

  /* "cuda/cuda.pyx":11825
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11826
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st__val);

    /* "cuda/cuda.pyx":11825
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":11828
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._arrayDesc = CUDA_ARRAY3D_DESCRIPTOR(_ptr=<void_ptr>&self._ptr[0].arrayDesc)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":11824
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11829
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._arrayDesc = CUDA_ARRAY3D_DESCRIPTOR(_ptr=<void_ptr>&self._ptr[0].arrayDesc)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11829, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 11829, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11829, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 11829, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 11829, 0, __PYX_ERR(1, 11829, __pyx_L1_error));

  /* "cuda/cuda.pyx":11830
 *             self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._arrayDesc = CUDA_ARRAY3D_DESCRIPTOR(_ptr=<void_ptr>&self._ptr[0].arrayDesc)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).arrayDesc))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 11830, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_arrayDesc);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_arrayDesc);
  __pyx_v_self->_arrayDesc = ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":11829
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._arrayDesc = CUDA_ARRAY3D_DESCRIPTOR(_ptr=<void_ptr>&self._ptr[0].arrayDesc)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11831
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._arrayDesc = CUDA_ARRAY3D_DESCRIPTOR(_ptr=<void_ptr>&self._ptr[0].arrayDesc)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 11831, 0, __PYX_ERR(1, 11831, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":11833
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6getPtr, "CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__308)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 11833, 0, __PYX_ERR(1, 11833, __pyx_L1_error));

  /* "cuda/cuda.pyx":11834
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11833
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11835
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr37__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 11835, 0, __PYX_ERR(1, 11835, __pyx_L1_error));

  /* "cuda/cuda.pyx":11836
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11837
 *     def __repr__(self):
 *         if self._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(1, 11837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":11838
 *         if self._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/cuda.pyx":11839
 *             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_n_s_offset_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11839, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11839, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_offset, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11839, __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(1, 11839, __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)) __PYX_ERR(1, 11839, __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(1, 11839, __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/cuda.pyx":11838
 *         if self._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/cuda.pyx":11840
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11840, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11841
 *                 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(1, 11841, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_offset_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_offset_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_offset_ValueError)) __PYX_ERR(1, 11841, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11841, __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/cuda.pyx":11838
 *         if self._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/cuda.pyx":11842
 *             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/cuda.pyx":11843
 *                 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(1, 11843, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_arrayDesc_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11843, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11843, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11843, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11843, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11843, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 11843, __pyx_L20_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 11843, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 11843, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11843, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 11843, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 11843, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11843, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 11843, __pyx_L20_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr37__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr37__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11843, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 11843, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr37__pyx_v_line); __pyx_9genexpr37__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_9genexpr37__pyx_v_line); __pyx_9genexpr37__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11843, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_arrayDesc, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11843, __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(1, 11843, __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)) __PYX_ERR(1, 11843, __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(1, 11843, __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/cuda.pyx":11842
 *             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/cuda.pyx":11844
 *             try:
 *                 str_list += ['arrayDesc :\n' + '\n'.join(['    ' + line for line in str(self.arrayDesc).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['arrayDesc : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11844, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":11845
 *                 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(1, 11845, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_arrayDesc_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_arrayDesc_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_arrayDesc_ValueError)) __PYX_ERR(1, 11845, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11845, __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/cuda.pyx":11842
 *             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/cuda.pyx":11846
 *             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/cuda.pyx":11847
 *                 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_n_s_numLevels_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11847, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11847, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_numLevels, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11847, __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(1, 11847, __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)) __PYX_ERR(1, 11847, __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(1, 11847, __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/cuda.pyx":11846
 *             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/cuda.pyx":11848
 *             try:
 *                 str_list += ['numLevels : ' + str(self.numLevels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numLevels : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11848, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11849
 *                 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(1, 11849, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_numLevels_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_numLevels_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_numLevels_ValueError)) __PYX_ERR(1, 11849, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11849, __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/cuda.pyx":11846
 *             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/cuda.pyx":11850
 *             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/cuda.pyx":11851
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11851, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11851, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11851, __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(1, 11851, __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)) __PYX_ERR(1, 11851, __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(1, 11851, __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/cuda.pyx":11850
 *             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/cuda.pyx":11852
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 11852, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":11853
 *                 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(1, 11853, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 11853, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11853, __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/cuda.pyx":11850
 *             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/cuda.pyx":11854
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11854, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":11836
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":11856
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def offset(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":11835
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_9genexpr37__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11857
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._ptr[0].offset
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11857, 0, __PYX_ERR(1, 11857, __pyx_L1_error));

  /* "cuda/cuda.pyx":11859
 *     @property
 *     def offset(self):
 *         return self._ptr[0].offset             # <<<<<<<<<<<<<<
 *     @offset.setter
 *     def offset(self, unsigned long long offset):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11857
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._ptr[0].offset
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11860
 *     def offset(self):
 *         return self._ptr[0].offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].offset = offset
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_offset); if (unlikely((__pyx_v_offset == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11861, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11860, 0, __PYX_ERR(1, 11860, __pyx_L1_error));

  /* "cuda/cuda.pyx":11862
 *     @offset.setter
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].offset = offset             # <<<<<<<<<<<<<<
 *     @property
 *     def arrayDesc(self):
 */
  (__pyx_v_self->_ptr[0]).offset = __pyx_v_offset;

  /* "cuda/cuda.pyx":11860
 *     def offset(self):
 *         return self._ptr[0].offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].offset = offset
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11863
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].offset = offset
 *     @property             # <<<<<<<<<<<<<<
 *     def arrayDesc(self):
 *         return self._arrayDesc
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11863, 0, __PYX_ERR(1, 11863, __pyx_L1_error));

  /* "cuda/cuda.pyx":11865
 *     @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/cuda.pyx":11863
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].offset = offset
 *     @property             # <<<<<<<<<<<<<<
 *     def arrayDesc(self):
 *         return self._arrayDesc
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.arrayDesc.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11866
 *     def arrayDesc(self):
 *         return self._arrayDesc
 *     @arrayDesc.setter             # <<<<<<<<<<<<<<
 *     def arrayDesc(self, arrayDesc not None : CUDA_ARRAY3D_DESCRIPTOR):
 *         string.memcpy(&self._ptr[0].arrayDesc, <ccuda.CUDA_ARRAY3D_DESCRIPTOR*><void_ptr>arrayDesc.getPtr(), sizeof(self._ptr[0].arrayDesc))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_arrayDesc); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR, 0, "arrayDesc", 0))) __PYX_ERR(1, 11867, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR *)__pyx_v_arrayDesc));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_arrayDesc) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11866, 0, __PYX_ERR(1, 11866, __pyx_L1_error));

  /* "cuda/cuda.pyx":11868
 *     @arrayDesc.setter
 *     def arrayDesc(self, arrayDesc not None : CUDA_ARRAY3D_DESCRIPTOR):
 *         string.memcpy(&self._ptr[0].arrayDesc, <ccuda.CUDA_ARRAY3D_DESCRIPTOR*><void_ptr>arrayDesc.getPtr(), sizeof(self._ptr[0].arrayDesc))             # <<<<<<<<<<<<<<
 *     @property
 *     def numLevels(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_arrayDesc), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11868, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11868, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).arrayDesc), ((CUDA_ARRAY3D_DESCRIPTOR *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).arrayDesc))));

  /* "cuda/cuda.pyx":11866
 *     def arrayDesc(self):
 *         return self._arrayDesc
 *     @arrayDesc.setter             # <<<<<<<<<<<<<<
 *     def arrayDesc(self, arrayDesc not None : CUDA_ARRAY3D_DESCRIPTOR):
 *         string.memcpy(&self._ptr[0].arrayDesc, <ccuda.CUDA_ARRAY3D_DESCRIPTOR*><void_ptr>arrayDesc.getPtr(), sizeof(self._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_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.arrayDesc.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11869
 *     def arrayDesc(self, arrayDesc not None : CUDA_ARRAY3D_DESCRIPTOR):
 *         string.memcpy(&self._ptr[0].arrayDesc, <ccuda.CUDA_ARRAY3D_DESCRIPTOR*><void_ptr>arrayDesc.getPtr(), sizeof(self._ptr[0].arrayDesc))
 *     @property             # <<<<<<<<<<<<<<
 *     def numLevels(self):
 *         return self._ptr[0].numLevels
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11869, 0, __PYX_ERR(1, 11869, __pyx_L1_error));

  /* "cuda/cuda.pyx":11871
 *     @property
 *     def numLevels(self):
 *         return self._ptr[0].numLevels             # <<<<<<<<<<<<<<
 *     @numLevels.setter
 *     def numLevels(self, unsigned int numLevels):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).numLevels); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11869
 *     def arrayDesc(self, arrayDesc not None : CUDA_ARRAY3D_DESCRIPTOR):
 *         string.memcpy(&self._ptr[0].arrayDesc, <ccuda.CUDA_ARRAY3D_DESCRIPTOR*><void_ptr>arrayDesc.getPtr(), sizeof(self._ptr[0].arrayDesc))
 *     @property             # <<<<<<<<<<<<<<
 *     def numLevels(self):
 *         return self._ptr[0].numLevels
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11872
 *     def numLevels(self):
 *         return self._ptr[0].numLevels
 *     @numLevels.setter             # <<<<<<<<<<<<<<
 *     def numLevels(self, unsigned int numLevels):
 *         self._ptr[0].numLevels = numLevels
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numLevels); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_numLevels); if (unlikely((__pyx_v_numLevels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11873, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, unsigned int __pyx_v_numLevels) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11872, 0, __PYX_ERR(1, 11872, __pyx_L1_error));

  /* "cuda/cuda.pyx":11874
 *     @numLevels.setter
 *     def numLevels(self, unsigned int numLevels):
 *         self._ptr[0].numLevels = numLevels             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).numLevels = __pyx_v_numLevels;

  /* "cuda/cuda.pyx":11872
 *     def numLevels(self):
 *         return self._ptr[0].numLevels
 *     @numLevels.setter             # <<<<<<<<<<<<<<
 *     def numLevels(self, unsigned int numLevels):
 *         self._ptr[0].numLevels = numLevels
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.numLevels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11875
 *     def numLevels(self, unsigned int numLevels):
 *         self._ptr[0].numLevels = numLevels
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11875, 0, __PYX_ERR(1, 11875, __pyx_L1_error));

  /* "cuda/cuda.pyx":11877
 *     @property
 *     def reserved(self):
 *         return self._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->_ptr[0]).reserved, 16); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11875
 *     def numLevels(self, unsigned int numLevels):
 *         self._ptr[0].numLevels = numLevels
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11878
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  unsigned int __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11878, 0, __PYX_ERR(1, 11878, __pyx_L1_error));

  /* "cuda/cuda.pyx":11880
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct12:
 */
  if (unlikely((__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 16) < 0))) __PYX_ERR(1, 11880, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved[0]) * (16));

  /* "cuda/cuda.pyx":11878
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__309)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__310)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11897
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct12_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct12_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11897, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 11897, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11897, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 11897, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct12.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct12___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct12 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct12___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 11897, 0, __PYX_ERR(1, 11897, __pyx_L1_error));

  /* "cuda/cuda.pyx":11898
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":11897
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct12.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11900
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct12_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct12_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11900, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 11900, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11900, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 11900, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct12.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct12_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct12 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct12_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 11900, 0, __PYX_ERR(1, 11900, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct12.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11902
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_13anon_struct12_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct12_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_13anon_struct12_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 11902, 0, __PYX_ERR(1, 11902, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct12.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":11904
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].handle.win32
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct12_6getPtr, "anon_struct12.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct12_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct12_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct12_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct12_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct12_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__311)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 11904, 0, __PYX_ERR(1, 11904, __pyx_L1_error));

  /* "cuda/cuda.pyx":11905
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].handle.win32             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).handle.win32))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11904
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].handle.win32
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct12.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11906
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].handle.win32
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct12_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct12_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct12_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 11906, 0, __PYX_ERR(1, 11906, __pyx_L1_error));

  /* "cuda/cuda.pyx":11907
 *         return <void_ptr>&self._ptr[0].handle.win32
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11908
 *     def __repr__(self):
 *         if self._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(1, 11908, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":11909
 *         if self._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/cuda.pyx":11910
 *             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_n_s_handle_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11910, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11910, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_handle, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11910, __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(1, 11910, __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)) __PYX_ERR(1, 11910, __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(1, 11910, __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/cuda.pyx":11909
 *         if self._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/cuda.pyx":11911
 *             try:
 *                 str_list += ['handle : ' + hex(self.handle)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct12.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 11911, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11912
 *                 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(1, 11912, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_handle_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_handle_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_handle_ValueError)) __PYX_ERR(1, 11912, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11912, __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/cuda.pyx":11909
 *         if self._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/cuda.pyx":11913
 *             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/cuda.pyx":11914
 *                 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_n_s_name_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11914, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11914, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_name, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11914, __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(1, 11914, __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)) __PYX_ERR(1, 11914, __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(1, 11914, __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/cuda.pyx":11913
 *             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/cuda.pyx":11915
 *             try:
 *                 str_list += ['name : ' + hex(self.name)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['name : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct12.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 11915, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":11916
 *                 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(1, 11916, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_name_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_name_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_name_ValueError)) __PYX_ERR(1, 11916, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11916, __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/cuda.pyx":11913
 *             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/cuda.pyx":11917
 *             except ValueError:
 *                 str_list += ['name : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":11907
 *         return <void_ptr>&self._ptr[0].handle.win32
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":11919
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def handle(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":11906
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].handle.win32
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11920
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return <void_ptr>self._ptr[0].handle.win32.handle
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct12_6handle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct12_6handle___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct12_6handle___get__(struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11920, 0, __PYX_ERR(1, 11920, __pyx_L1_error));

  /* "cuda/cuda.pyx":11922
 *     @property
 *     def handle(self):
 *         return <void_ptr>self._ptr[0].handle.win32.handle             # <<<<<<<<<<<<<<
 *     @handle.setter
 *     def handle(self, handle):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).handle.win32.handle)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11922, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11920
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return <void_ptr>self._ptr[0].handle.win32.handle
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct12.handle.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11923
 *     def handle(self):
 *         return <void_ptr>self._ptr[0].handle.win32.handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle):
 *         _chandle = utils.HelperInputVoidPtr(handle)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct12_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct12_6handle_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct12 *)__pyx_v_self), ((PyObject *)__pyx_v_handle));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct12_6handle_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self, PyObject *__pyx_v_handle) {
  PyObject *__pyx_v__chandle = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11923, 0, __PYX_ERR(1, 11923, __pyx_L1_error));

  /* "cuda/cuda.pyx":11925
 *     @handle.setter
 *     def handle(self, handle):
 *         _chandle = utils.HelperInputVoidPtr(handle)             # <<<<<<<<<<<<<<
 *         self._ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_handle); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__chandle = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":11926
 *     def handle(self, handle):
 *         _chandle = utils.HelperInputVoidPtr(handle)
 *         self._ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def name(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__chandle, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11926, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11926, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).handle.win32.handle = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":11923
 *     def handle(self):
 *         return <void_ptr>self._ptr[0].handle.win32.handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle):
 *         _chandle = utils.HelperInputVoidPtr(handle)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct12.handle.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__chandle);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11927
 *         _chandle = utils.HelperInputVoidPtr(handle)
 *         self._ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def name(self):
 *         return <void_ptr>self._ptr[0].handle.win32.name
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct12_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct12_4name___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct12_4name___get__(struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11927, 0, __PYX_ERR(1, 11927, __pyx_L1_error));

  /* "cuda/cuda.pyx":11929
 *     @property
 *     def name(self):
 *         return <void_ptr>self._ptr[0].handle.win32.name             # <<<<<<<<<<<<<<
 *     @name.setter
 *     def name(self, name):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).handle.win32.name)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11927
 *         _chandle = utils.HelperInputVoidPtr(handle)
 *         self._ptr[0].handle.win32.handle = <void*><void_ptr>_chandle.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def name(self):
 *         return <void_ptr>self._ptr[0].handle.win32.name
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct12.name.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11930
 *     def name(self):
 *         return <void_ptr>self._ptr[0].handle.win32.name
 *     @name.setter             # <<<<<<<<<<<<<<
 *     def name(self, name):
 *         _cname = utils.HelperInputVoidPtr(name)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct12_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_name); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct12_4name_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct12 *)__pyx_v_self), ((PyObject *)__pyx_v_name));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct12_4name_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self, PyObject *__pyx_v_name) {
  PyObject *__pyx_v__cname = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11930, 0, __PYX_ERR(1, 11930, __pyx_L1_error));

  /* "cuda/cuda.pyx":11932
 *     @name.setter
 *     def name(self, name):
 *         _cname = utils.HelperInputVoidPtr(name)             # <<<<<<<<<<<<<<
 *         self._ptr[0].handle.win32.name = <void*><void_ptr>_cname.cptr
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cname = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":11933
 *     def name(self, name):
 *         _cname = utils.HelperInputVoidPtr(name)
 *         self._ptr[0].handle.win32.name = <void*><void_ptr>_cname.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union6:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cname, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11933, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).handle.win32.name = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":11930
 *     def name(self):
 *         return <void_ptr>self._ptr[0].handle.win32.name
 *     @name.setter             # <<<<<<<<<<<<<<
 *     def name(self, name):
 *         _cname = utils.HelperInputVoidPtr(name)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct12.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cname);
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_13anon_struct12_10__reduce_cython__, "anon_struct12.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct12_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct12_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct12_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct12_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct12 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct12_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__312)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct12.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct12_12__setstate_cython__, "anon_struct12.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct12_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct12_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct12_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct12.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct12_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct12 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct12_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__313)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct12.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11952
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union6_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11anon_union6_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11952, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 11952, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11952, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 11952, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union6.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union6___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_union6 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union6___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 11952, 0, __PYX_ERR(1, 11952, __pyx_L1_error));

  /* "cuda/cuda.pyx":11953
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":11952
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union6.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11955
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._win32 = anon_struct12(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union6_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11anon_union6_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 11955, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 11955, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11955, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 11955, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union6.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union6_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_union6 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union6_2__init__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 11955, 0, __PYX_ERR(1, 11955, __pyx_L1_error));

  /* "cuda/cuda.pyx":11956
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._win32 = anon_struct12(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 11956, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct12), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_win32);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_win32);
  __pyx_v_self->_win32 = ((struct __pyx_obj_4cuda_4cuda_anon_struct12 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":11955
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._win32 = anon_struct12(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

  /* 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.cuda.anon_union6.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11957
 *     def __init__(self, void_ptr _ptr):
 *         self._win32 = anon_struct12(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_11anon_union6_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_11anon_union6_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_union6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_11anon_union6_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 11957, 0, __PYX_ERR(1, 11957, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_union6.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":11959
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].handle
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union6_6getPtr, "anon_union6.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union6_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union6_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union6_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union6_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_union6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union6_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__314)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 11959, 0, __PYX_ERR(1, 11959, __pyx_L1_error));

  /* "cuda/cuda.pyx":11960
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].handle             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).handle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11959
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].handle
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union6.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11961
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].handle
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union6_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union6_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_union6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union6_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr38__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 11961, 0, __PYX_ERR(1, 11961, __pyx_L1_error));

  /* "cuda/cuda.pyx":11962
 *         return <void_ptr>&self._ptr[0].handle
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":11963
 *     def __repr__(self):
 *         if self._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(1, 11963, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":11964
 *         if self._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/cuda.pyx":11965
 *             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_n_s_fd_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11965, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11965, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_fd, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11965, __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(1, 11965, __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)) __PYX_ERR(1, 11965, __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(1, 11965, __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/cuda.pyx":11964
 *         if self._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/cuda.pyx":11966
 *             try:
 *                 str_list += ['fd : ' + str(self.fd)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fd : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_union6.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 11966, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11967
 *                 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(1, 11967, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_fd_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_fd_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_fd_ValueError)) __PYX_ERR(1, 11967, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11967, __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/cuda.pyx":11964
 *         if self._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/cuda.pyx":11968
 *             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/cuda.pyx":11969
 *                 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(1, 11969, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_win32_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11969, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11969, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11969, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11969, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11969, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 11969, __pyx_L20_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 11969, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 11969, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11969, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 11969, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 11969, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11969, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 11969, __pyx_L20_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr38__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr38__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11969, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 11969, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr38__pyx_v_line); __pyx_9genexpr38__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_9genexpr38__pyx_v_line); __pyx_9genexpr38__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11969, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_win32, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11969, __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(1, 11969, __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)) __PYX_ERR(1, 11969, __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(1, 11969, __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/cuda.pyx":11968
 *             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/cuda.pyx":11970
 *             try:
 *                 str_list += ['win32 :\n' + '\n'.join(['    ' + line for line in str(self.win32).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32 : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_union6.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 11970, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":11971
 *                 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(1, 11971, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_win32_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_win32_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_win32_ValueError)) __PYX_ERR(1, 11971, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 11971, __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/cuda.pyx":11968
 *             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/cuda.pyx":11972
 *             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/cuda.pyx":11973
 *                 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_n_s_nvSciSyncObj_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11973, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11973, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_nvSciSyncObj, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 11973, __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(1, 11973, __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)) __PYX_ERR(1, 11973, __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(1, 11973, __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/cuda.pyx":11972
 *             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/cuda.pyx":11974
 *             try:
 *                 str_list += ['nvSciSyncObj : ' + hex(self.nvSciSyncObj)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciSyncObj : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_union6.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(1, 11974, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":11975
 *                 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(1, 11975, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_nvSciSyncObj_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_nvSciSyncObj_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_nvSciSyncObj_ValueError)) __PYX_ERR(1, 11975, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 11975, __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/cuda.pyx":11972
 *             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/cuda.pyx":11976
 *             except ValueError:
 *                 str_list += ['nvSciSyncObj : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 11976, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":11962
 *         return <void_ptr>&self._ptr[0].handle
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":11978
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def fd(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":11961
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].handle
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.anon_union6.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr38__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11979
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fd(self):
 *         return self._ptr[0].handle.fd
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union6_2fd_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union6_2fd___get__(((struct __pyx_obj_4cuda_4cuda_anon_union6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union6_2fd___get__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11979, 0, __PYX_ERR(1, 11979, __pyx_L1_error));

  /* "cuda/cuda.pyx":11981
 *     @property
 *     def fd(self):
 *         return self._ptr[0].handle.fd             # <<<<<<<<<<<<<<
 *     @fd.setter
 *     def fd(self, int fd):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).handle.fd); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11979
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fd(self):
 *         return self._ptr[0].handle.fd
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union6.fd.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11982
 *     def fd(self):
 *         return self._ptr[0].handle.fd
 *     @fd.setter             # <<<<<<<<<<<<<<
 *     def fd(self, int fd):
 *         self._ptr[0].handle.fd = fd
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union6_2fd_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_fd); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_fd); if (unlikely((__pyx_v_fd == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 11983, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union6.fd.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union6_2fd_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union6 *)__pyx_v_self), ((int)__pyx_v_fd));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union6_2fd_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self, int __pyx_v_fd) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 11982, 0, __PYX_ERR(1, 11982, __pyx_L1_error));

  /* "cuda/cuda.pyx":11984
 *     @fd.setter
 *     def fd(self, int fd):
 *         self._ptr[0].handle.fd = fd             # <<<<<<<<<<<<<<
 *     @property
 *     def win32(self):
 */
  (__pyx_v_self->_ptr[0]).handle.fd = __pyx_v_fd;

  /* "cuda/cuda.pyx":11982
 *     def fd(self):
 *         return self._ptr[0].handle.fd
 *     @fd.setter             # <<<<<<<<<<<<<<
 *     def fd(self, int fd):
 *         self._ptr[0].handle.fd = fd
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union6.fd.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":11985
 *     def fd(self, int fd):
 *         self._ptr[0].handle.fd = fd
 *     @property             # <<<<<<<<<<<<<<
 *     def win32(self):
 *         return self._win32
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union6_5win32_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union6_5win32___get__(((struct __pyx_obj_4cuda_4cuda_anon_union6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union6_5win32___get__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11985, 0, __PYX_ERR(1, 11985, __pyx_L1_error));

  /* "cuda/cuda.pyx":11987
 *     @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/cuda.pyx":11985
 *     def fd(self, int fd):
 *         self._ptr[0].handle.fd = fd
 *     @property             # <<<<<<<<<<<<<<
 *     def win32(self):
 *         return self._win32
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union6.win32.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11988
 *     def win32(self):
 *         return self._win32
 *     @win32.setter             # <<<<<<<<<<<<<<
 *     def win32(self, win32 not None : anon_struct12):
 *         string.memcpy(&self._ptr[0].handle.win32, <ccuda.anon_struct12*><void_ptr>win32.getPtr(), sizeof(self._ptr[0].handle.win32))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union6_5win32_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct12, 0, "win32", 0))) __PYX_ERR(1, 11989, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union6_5win32_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union6 *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct12 *)__pyx_v_win32));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union6_5win32_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct12 *__pyx_v_win32) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11988, 0, __PYX_ERR(1, 11988, __pyx_L1_error));

  /* "cuda/cuda.pyx":11990
 *     @win32.setter
 *     def win32(self, win32 not None : anon_struct12):
 *         string.memcpy(&self._ptr[0].handle.win32, <ccuda.anon_struct12*><void_ptr>win32.getPtr(), sizeof(self._ptr[0].handle.win32))             # <<<<<<<<<<<<<<
 *     @property
 *     def nvSciSyncObj(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_win32), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11990, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11990, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).handle.win32), ((struct anon_struct12 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).handle.win32))));

  /* "cuda/cuda.pyx":11988
 *     def win32(self):
 *         return self._win32
 *     @win32.setter             # <<<<<<<<<<<<<<
 *     def win32(self, win32 not None : anon_struct12):
 *         string.memcpy(&self._ptr[0].handle.win32, <ccuda.anon_struct12*><void_ptr>win32.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.anon_union6.win32.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11991
 *     def win32(self, win32 not None : anon_struct12):
 *         string.memcpy(&self._ptr[0].handle.win32, <ccuda.anon_struct12*><void_ptr>win32.getPtr(), sizeof(self._ptr[0].handle.win32))
 *     @property             # <<<<<<<<<<<<<<
 *     def nvSciSyncObj(self):
 *         return <void_ptr>self._ptr[0].handle.nvSciSyncObj
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union6_12nvSciSyncObj_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union6_12nvSciSyncObj___get__(((struct __pyx_obj_4cuda_4cuda_anon_union6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union6_12nvSciSyncObj___get__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 11991, 0, __PYX_ERR(1, 11991, __pyx_L1_error));

  /* "cuda/cuda.pyx":11993
 *     @property
 *     def nvSciSyncObj(self):
 *         return <void_ptr>self._ptr[0].handle.nvSciSyncObj             # <<<<<<<<<<<<<<
 *     @nvSciSyncObj.setter
 *     def nvSciSyncObj(self, nvSciSyncObj):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).handle.nvSciSyncObj)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":11991
 *     def win32(self, win32 not None : anon_struct12):
 *         string.memcpy(&self._ptr[0].handle.win32, <ccuda.anon_struct12*><void_ptr>win32.getPtr(), sizeof(self._ptr[0].handle.win32))
 *     @property             # <<<<<<<<<<<<<<
 *     def nvSciSyncObj(self):
 *         return <void_ptr>self._ptr[0].handle.nvSciSyncObj
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union6.nvSciSyncObj.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":11994
 *     def nvSciSyncObj(self):
 *         return <void_ptr>self._ptr[0].handle.nvSciSyncObj
 *     @nvSciSyncObj.setter             # <<<<<<<<<<<<<<
 *     def nvSciSyncObj(self, nvSciSyncObj):
 *         _cnvSciSyncObj = utils.HelperInputVoidPtr(nvSciSyncObj)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union6_12nvSciSyncObj_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciSyncObj); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_11anon_union6_12nvSciSyncObj_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union6 *)__pyx_v_self), ((PyObject *)__pyx_v_nvSciSyncObj));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union6_12nvSciSyncObj_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self, PyObject *__pyx_v_nvSciSyncObj) {
  PyObject *__pyx_v__cnvSciSyncObj = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 11994, 0, __PYX_ERR(1, 11994, __pyx_L1_error));

  /* "cuda/cuda.pyx":11996
 *     @nvSciSyncObj.setter
 *     def nvSciSyncObj(self, nvSciSyncObj):
 *         _cnvSciSyncObj = utils.HelperInputVoidPtr(nvSciSyncObj)             # <<<<<<<<<<<<<<
 *         self._ptr[0].handle.nvSciSyncObj = <void*><void_ptr>_cnvSciSyncObj.cptr
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_nvSciSyncObj); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cnvSciSyncObj = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":11997
 *     def nvSciSyncObj(self, nvSciSyncObj):
 *         _cnvSciSyncObj = utils.HelperInputVoidPtr(nvSciSyncObj)
 *         self._ptr[0].handle.nvSciSyncObj = <void*><void_ptr>_cnvSciSyncObj.cptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cnvSciSyncObj, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 11997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 11997, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).handle.nvSciSyncObj = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":11994
 *     def nvSciSyncObj(self):
 *         return <void_ptr>self._ptr[0].handle.nvSciSyncObj
 *     @nvSciSyncObj.setter             # <<<<<<<<<<<<<<
 *     def nvSciSyncObj(self, nvSciSyncObj):
 *         _cnvSciSyncObj = utils.HelperInputVoidPtr(nvSciSyncObj)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union6.nvSciSyncObj.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cnvSciSyncObj);
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_11anon_union6_10__reduce_cython__, "anon_union6.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union6_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union6_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union6_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union6_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union6 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union6_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__315)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union6.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union6_12__setstate_cython__, "anon_union6.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union6_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union6_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union6_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union6.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union6_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union6 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union6_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__316)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union6.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12020
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12020, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 12020, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12020, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 12020, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 12020, 0, __PYX_ERR(1, 12020, __pyx_L1_error));

  /* "cuda/cuda.pyx":12021
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st))
 *             self._ptr = self._val_ptr
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12022
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st))             # <<<<<<<<<<<<<<
 *             self._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/cuda.pyx":12023
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st))
 *             self._ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 */
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_ptr = __pyx_t_2;

    /* "cuda/cuda.pyx":12021
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st))
 *             self._ptr = self._val_ptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":12025
 *             self._ptr = self._val_ptr
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = anon_union6(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":12020
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>calloc(1, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12026
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._handle = anon_union6(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12026, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 12026, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12026, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 12026, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 12026, 0, __PYX_ERR(1, 12026, __pyx_L1_error));

  /* "cuda/cuda.pyx":12027
 *             self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = anon_union6(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 12027, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union6), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_handle);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_handle);
  __pyx_v_self->_handle = ((struct __pyx_obj_4cuda_4cuda_anon_union6 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12026
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._handle = anon_union6(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12028
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = anon_union6(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 12028, 0, __PYX_ERR(1, 12028, __pyx_L1_error));

  /* "cuda/cuda.pyx":12029
 *         self._handle = anon_union6(_ptr=<void_ptr>self._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/cuda.pyx":12030
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_val_ptr);

    /* "cuda/cuda.pyx":12029
 *         self._handle = anon_union6(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":12028
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._handle = anon_union6(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":12031
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6getPtr, "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__317)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 12031, 0, __PYX_ERR(1, 12031, __pyx_L1_error));

  /* "cuda/cuda.pyx":12032
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12031
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12033
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr39__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 12033, 0, __PYX_ERR(1, 12033, __pyx_L1_error));

  /* "cuda/cuda.pyx":12034
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12035
 *     def __repr__(self):
 *         if self._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(1, 12035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":12036
 *         if self._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/cuda.pyx":12037
 *             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_n_s_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12037, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12037, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12037, __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(1, 12037, __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)) __PYX_ERR(1, 12037, __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(1, 12037, __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/cuda.pyx":12036
 *         if self._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/cuda.pyx":12038
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12038, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":12039
 *                 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(1, 12039, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_type_ValueError)) __PYX_ERR(1, 12039, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 12039, __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/cuda.pyx":12036
 *         if self._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/cuda.pyx":12040
 *             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/cuda.pyx":12041
 *                 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(1, 12041, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_handle_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12041, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 12041, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12041, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12041, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12041, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 12041, __pyx_L20_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12041, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 12041, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12041, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12041, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 12041, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12041, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 12041, __pyx_L20_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr39__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr39__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12041, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 12041, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr39__pyx_v_line); __pyx_9genexpr39__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_9genexpr39__pyx_v_line); __pyx_9genexpr39__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12041, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_handle_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12041, __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(1, 12041, __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)) __PYX_ERR(1, 12041, __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(1, 12041, __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/cuda.pyx":12040
 *             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/cuda.pyx":12042
 *             try:
 *                 str_list += ['handle :\n' + '\n'.join(['    ' + line for line in str(self.handle).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handle : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12042, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":12043
 *                 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(1, 12043, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_handle_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_handle_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_handle_ValueError)) __PYX_ERR(1, 12043, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 12043, __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/cuda.pyx":12040
 *             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/cuda.pyx":12044
 *             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/cuda.pyx":12045
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12045, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12045, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12045, __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(1, 12045, __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)) __PYX_ERR(1, 12045, __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(1, 12045, __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/cuda.pyx":12044
 *             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/cuda.pyx":12046
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12046, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":12047
 *                 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(1, 12047, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 12047, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 12047, __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/cuda.pyx":12044
 *             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/cuda.pyx":12048
 *             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/cuda.pyx":12049
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12049, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12049, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12049, __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(1, 12049, __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)) __PYX_ERR(1, 12049, __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(1, 12049, __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/cuda.pyx":12048
 *             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/cuda.pyx":12050
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12050, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":12051
 *                 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(1, 12051, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 12051, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 12051, __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/cuda.pyx":12048
 *             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/cuda.pyx":12052
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12052, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":12034
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":12054
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":12033
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_9genexpr39__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12055
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUexternalSemaphoreHandleType(self._ptr[0].type)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12055, 0, __PYX_ERR(1, 12055, __pyx_L1_error));

  /* "cuda/cuda.pyx":12057
 *     @property
 *     def type(self):
 *         return CUexternalSemaphoreHandleType(self._ptr[0].type)             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUexternalSemaphoreHandleType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUexternalSemaphoreHandleType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUexternalSemaphoreHandleType_enum((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12057, __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/cuda.pyx":12055
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUexternalSemaphoreHandleType(self._ptr[0].type)
 */

  /* 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.cuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12058
 *     def type(self):
 *         return CUexternalSemaphoreHandleType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUexternalSemaphoreHandleType):
 *         self._ptr[0].type = type.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 12059, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type_2__set__(((struct __pyx_obj_4cuda_4cuda_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;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12058, 0, __PYX_ERR(1, 12058, __pyx_L1_error));

  /* "cuda/cuda.pyx":12060
 *     @type.setter
 *     def type(self, type not None : CUexternalSemaphoreHandleType):
 *         self._ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def handle(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUexternalSemaphoreHandleType_enum)__Pyx_PyInt_As_enum__CUexternalSemaphoreHandleType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12060, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).type = __pyx_t_2;

  /* "cuda/cuda.pyx":12058
 *     def type(self):
 *         return CUexternalSemaphoreHandleType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUexternalSemaphoreHandleType):
 *         self._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.cuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12061
 *     def type(self, type not None : CUexternalSemaphoreHandleType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return self._handle
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12061, 0, __PYX_ERR(1, 12061, __pyx_L1_error));

  /* "cuda/cuda.pyx":12063
 *     @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/cuda.pyx":12061
 *     def type(self, type not None : CUexternalSemaphoreHandleType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def handle(self):
 *         return self._handle
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.handle.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12064
 *     def handle(self):
 *         return self._handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle not None : anon_union6):
 *         string.memcpy(&self._ptr[0].handle, <ccuda.anon_union6*><void_ptr>handle.getPtr(), sizeof(self._ptr[0].handle))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handle); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_union6, 0, "handle", 0))) __PYX_ERR(1, 12065, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_union6 *)__pyx_v_handle));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union6 *__pyx_v_handle) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12064, 0, __PYX_ERR(1, 12064, __pyx_L1_error));

  /* "cuda/cuda.pyx":12066
 *     @handle.setter
 *     def handle(self, handle not None : anon_union6):
 *         string.memcpy(&self._ptr[0].handle, <ccuda.anon_union6*><void_ptr>handle.getPtr(), sizeof(self._ptr[0].handle))             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_handle), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12066, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12066, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).handle), ((union anon_union6 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).handle))));

  /* "cuda/cuda.pyx":12064
 *     def handle(self):
 *         return self._handle
 *     @handle.setter             # <<<<<<<<<<<<<<
 *     def handle(self, handle not None : anon_union6):
 *         string.memcpy(&self._ptr[0].handle, <ccuda.anon_union6*><void_ptr>handle.getPtr(), sizeof(self._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_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.handle.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12067
 *     def handle(self, handle not None : anon_union6):
 *         string.memcpy(&self._ptr[0].handle, <ccuda.anon_union6*><void_ptr>handle.getPtr(), sizeof(self._ptr[0].handle))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12067, 0, __PYX_ERR(1, 12067, __pyx_L1_error));

  /* "cuda/cuda.pyx":12069
 *     @property
 *     def flags(self):
 *         return self._ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12067
 *     def handle(self, handle not None : anon_union6):
 *         string.memcpy(&self._ptr[0].handle, <ccuda.anon_union6*><void_ptr>handle.getPtr(), sizeof(self._ptr[0].handle))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12070
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12071, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12070, 0, __PYX_ERR(1, 12070, __pyx_L1_error));

  /* "cuda/cuda.pyx":12072
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":12070
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12073
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12073, 0, __PYX_ERR(1, 12073, __pyx_L1_error));

  /* "cuda/cuda.pyx":12075
 *     @property
 *     def reserved(self):
 *         return self._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->_ptr[0]).reserved, 16); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12073
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12076
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  unsigned int __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12076, 0, __PYX_ERR(1, 12076, __pyx_L1_error));

  /* "cuda/cuda.pyx":12078
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._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(1, 12078, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved[0]) * (16));

  /* "cuda/cuda.pyx":12076
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_10__reduce_cython__, "CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__318)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__319)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12093
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct13_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct13_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12093, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 12093, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12093, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 12093, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct13.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct13___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct13 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct13___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 12093, 0, __PYX_ERR(1, 12093, __pyx_L1_error));

  /* "cuda/cuda.pyx":12094
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":12093
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct13.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12096
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct13_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct13_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12096, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 12096, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12096, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 12096, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct13.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct13_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct13 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct13_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 12096, 0, __PYX_ERR(1, 12096, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct13.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12098
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_13anon_struct13_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct13_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct13 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_13anon_struct13_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 12098, 0, __PYX_ERR(1, 12098, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct13.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":12100
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.fence
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct13_6getPtr, "anon_struct13.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct13_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct13_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct13_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct13_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct13 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct13_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__320)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 12100, 0, __PYX_ERR(1, 12100, __pyx_L1_error));

  /* "cuda/cuda.pyx":12101
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.fence             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).params.fence))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12100
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.fence
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct13.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12102
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.fence
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct13_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct13_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct13 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct13_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 12102, 0, __PYX_ERR(1, 12102, __pyx_L1_error));

  /* "cuda/cuda.pyx":12103
 *         return <void_ptr>&self._ptr[0].params.fence
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12104
 *     def __repr__(self):
 *         if self._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(1, 12104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":12105
 *         if self._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/cuda.pyx":12106
 *             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_n_s_value_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12106, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12106, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_value, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12106, __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(1, 12106, __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)) __PYX_ERR(1, 12106, __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(1, 12106, __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/cuda.pyx":12105
 *         if self._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/cuda.pyx":12107
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct13.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 12107, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":12108
 *                 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(1, 12108, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_value_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_value_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_value_ValueError)) __PYX_ERR(1, 12108, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 12108, __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/cuda.pyx":12105
 *         if self._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/cuda.pyx":12109
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":12103
 *         return <void_ptr>&self._ptr[0].params.fence
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":12111
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":12102
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.fence
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12112
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._ptr[0].params.fence.value
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct13_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct13_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_4cuda_13anon_struct13_5value___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct13 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct13_5value___get__(struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12112, 0, __PYX_ERR(1, 12112, __pyx_L1_error));

  /* "cuda/cuda.pyx":12114
 *     @property
 *     def value(self):
 *         return self._ptr[0].params.fence.value             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, unsigned long long value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).params.fence.value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12112
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._ptr[0].params.fence.value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct13.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12115
 *     def value(self):
 *         return self._ptr[0].params.fence.value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, unsigned long long value):
 *         self._ptr[0].params.fence.value = value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct13_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct13_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_value); if (unlikely((__pyx_v_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12116, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct13.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct13_5value_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct13 *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct13_5value_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_value) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12115, 0, __PYX_ERR(1, 12115, __pyx_L1_error));

  /* "cuda/cuda.pyx":12117
 *     @value.setter
 *     def value(self, unsigned long long value):
 *         self._ptr[0].params.fence.value = value             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union7:
 */
  (__pyx_v_self->_ptr[0]).params.fence.value = __pyx_v_value;

  /* "cuda/cuda.pyx":12115
 *     def value(self):
 *         return self._ptr[0].params.fence.value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, unsigned long long value):
 *         self._ptr[0].params.fence.value = value
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct13.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_13anon_struct13_10__reduce_cython__, "anon_struct13.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct13_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct13_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct13_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct13_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct13 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct13_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__321)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct13.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct13_12__setstate_cython__, "anon_struct13.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct13_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct13_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct13_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct13.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct13_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct13 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct13_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__322)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct13.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12134
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union7_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11anon_union7_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12134, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 12134, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12134, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 12134, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union7.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union7___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_union7 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union7___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 12134, 0, __PYX_ERR(1, 12134, __pyx_L1_error));

  /* "cuda/cuda.pyx":12135
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":12134
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union7.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12137
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union7_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11anon_union7_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12137, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 12137, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12137, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 12137, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union7.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union7_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_union7 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union7_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 12137, 0, __PYX_ERR(1, 12137, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union7.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12139
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_11anon_union7_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_11anon_union7_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_union7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_11anon_union7_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 12139, 0, __PYX_ERR(1, 12139, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_union7.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":12141
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.nvSciSync
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union7_6getPtr, "anon_union7.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union7_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union7_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union7_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union7_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_union7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union7_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__323)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 12141, 0, __PYX_ERR(1, 12141, __pyx_L1_error));

  /* "cuda/cuda.pyx":12142
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.nvSciSync             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).params.nvSciSync))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12141
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.nvSciSync
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union7.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12143
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.nvSciSync
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union7_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union7_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_union7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union7_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 12143, 0, __PYX_ERR(1, 12143, __pyx_L1_error));

  /* "cuda/cuda.pyx":12144
 *         return <void_ptr>&self._ptr[0].params.nvSciSync
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12145
 *     def __repr__(self):
 *         if self._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(1, 12145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":12146
 *         if self._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/cuda.pyx":12147
 *             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_n_s_fence_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12147, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12147, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_fence, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12147, __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(1, 12147, __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)) __PYX_ERR(1, 12147, __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(1, 12147, __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/cuda.pyx":12146
 *         if self._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/cuda.pyx":12148
 *             try:
 *                 str_list += ['fence : ' + hex(self.fence)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_union7.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 12148, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":12149
 *                 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(1, 12149, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_fence_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_fence_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_fence_ValueError)) __PYX_ERR(1, 12149, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 12149, __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/cuda.pyx":12146
 *         if self._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/cuda.pyx":12150
 *             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/cuda.pyx":12151
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12151, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12151, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12151, __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(1, 12151, __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)) __PYX_ERR(1, 12151, __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(1, 12151, __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/cuda.pyx":12150
 *             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/cuda.pyx":12152
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_union7.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 12152, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":12153
 *                 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(1, 12153, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 12153, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 12153, __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/cuda.pyx":12150
 *             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/cuda.pyx":12154
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":12144
 *         return <void_ptr>&self._ptr[0].params.nvSciSync
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":12156
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def fence(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":12143
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.nvSciSync
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12157
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fence(self):
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union7_5fence_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union7_5fence___get__(((struct __pyx_obj_4cuda_4cuda_anon_union7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union7_5fence___get__(struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12157, 0, __PYX_ERR(1, 12157, __pyx_L1_error));

  /* "cuda/cuda.pyx":12159
 *     @property
 *     def fence(self):
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence             # <<<<<<<<<<<<<<
 *     @fence.setter
 *     def fence(self, fence):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).params.nvSciSync.fence)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12157
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fence(self):
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union7.fence.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12160
 *     def fence(self):
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence
 *     @fence.setter             # <<<<<<<<<<<<<<
 *     def fence(self, fence):
 *         _cfence = utils.HelperInputVoidPtr(fence)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union7_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_11anon_union7_5fence_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union7 *)__pyx_v_self), ((PyObject *)__pyx_v_fence));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union7_5fence_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self, PyObject *__pyx_v_fence) {
  PyObject *__pyx_v__cfence = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12160, 0, __PYX_ERR(1, 12160, __pyx_L1_error));

  /* "cuda/cuda.pyx":12162
 *     @fence.setter
 *     def fence(self, fence):
 *         _cfence = utils.HelperInputVoidPtr(fence)             # <<<<<<<<<<<<<<
 *         self._ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_fence); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cfence = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":12163
 *     def fence(self, fence):
 *         _cfence = utils.HelperInputVoidPtr(fence)
 *         self._ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cfence, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12163, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).params.nvSciSync.fence = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":12160
 *     def fence(self):
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence
 *     @fence.setter             # <<<<<<<<<<<<<<
 *     def fence(self, fence):
 *         _cfence = utils.HelperInputVoidPtr(fence)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union7.fence.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cfence);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12164
 *         _cfence = utils.HelperInputVoidPtr(fence)
 *         self._ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].params.nvSciSync.reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union7_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union7_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_anon_union7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union7_8reserved___get__(struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12164, 0, __PYX_ERR(1, 12164, __pyx_L1_error));

  /* "cuda/cuda.pyx":12166
 *     @property
 *     def reserved(self):
 *         return self._ptr[0].params.nvSciSync.reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, unsigned long long reserved):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).params.nvSciSync.reserved); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12164
 *         _cfence = utils.HelperInputVoidPtr(fence)
 *         self._ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].params.nvSciSync.reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union7.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12167
 *     def reserved(self):
 *         return self._ptr[0].params.nvSciSync.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, unsigned long long reserved):
 *         self._ptr[0].params.nvSciSync.reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union7_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_reserved); if (unlikely((__pyx_v_reserved == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12168, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union7.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union7_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_11anon_union7_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12167, 0, __PYX_ERR(1, 12167, __pyx_L1_error));

  /* "cuda/cuda.pyx":12169
 *     @reserved.setter
 *     def reserved(self, unsigned long long reserved):
 *         self._ptr[0].params.nvSciSync.reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct14:
 */
  (__pyx_v_self->_ptr[0]).params.nvSciSync.reserved = __pyx_v_reserved;

  /* "cuda/cuda.pyx":12167
 *     def reserved(self):
 *         return self._ptr[0].params.nvSciSync.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, unsigned long long reserved):
 *         self._ptr[0].params.nvSciSync.reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union7.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_11anon_union7_10__reduce_cython__, "anon_union7.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union7_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union7_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union7_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union7_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union7 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union7_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__324)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union7.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union7_12__setstate_cython__, "anon_union7.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union7_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union7_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union7_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union7.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union7_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union7 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union7_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__325)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union7.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12184
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct14_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct14_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12184, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 12184, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12184, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 12184, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct14.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct14___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct14 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct14___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 12184, 0, __PYX_ERR(1, 12184, __pyx_L1_error));

  /* "cuda/cuda.pyx":12185
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":12184
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct14.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12187
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct14_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct14_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12187, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 12187, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12187, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 12187, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct14.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct14_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct14 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct14_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 12187, 0, __PYX_ERR(1, 12187, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct14.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12189
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_13anon_struct14_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct14_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct14 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_13anon_struct14_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 12189, 0, __PYX_ERR(1, 12189, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct14.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":12191
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.keyedMutex
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct14_6getPtr, "anon_struct14.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct14_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct14_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct14_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct14_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct14 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct14_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__326)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 12191, 0, __PYX_ERR(1, 12191, __pyx_L1_error));

  /* "cuda/cuda.pyx":12192
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.keyedMutex             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).params.keyedMutex))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12191
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.keyedMutex
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct14.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12193
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.keyedMutex
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct14_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct14_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct14 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct14_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 12193, 0, __PYX_ERR(1, 12193, __pyx_L1_error));

  /* "cuda/cuda.pyx":12194
 *         return <void_ptr>&self._ptr[0].params.keyedMutex
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12195
 *     def __repr__(self):
 *         if self._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(1, 12195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":12196
 *         if self._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/cuda.pyx":12197
 *             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_n_s_key_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12197, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12197, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_key, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12197, __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(1, 12197, __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)) __PYX_ERR(1, 12197, __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(1, 12197, __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/cuda.pyx":12196
 *         if self._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/cuda.pyx":12198
 *             try:
 *                 str_list += ['key : ' + str(self.key)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['key : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct14.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 12198, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":12199
 *                 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(1, 12199, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_key_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_key_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_key_ValueError)) __PYX_ERR(1, 12199, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 12199, __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/cuda.pyx":12196
 *         if self._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/cuda.pyx":12200
 *             except ValueError:
 *                 str_list += ['key : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":12194
 *         return <void_ptr>&self._ptr[0].params.keyedMutex
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":12202
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def key(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":12193
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.keyedMutex
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12203
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def key(self):
 *         return self._ptr[0].params.keyedMutex.key
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct14_3key_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct14_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_4cuda_13anon_struct14_3key___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct14 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct14_3key___get__(struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12203, 0, __PYX_ERR(1, 12203, __pyx_L1_error));

  /* "cuda/cuda.pyx":12205
 *     @property
 *     def key(self):
 *         return self._ptr[0].params.keyedMutex.key             # <<<<<<<<<<<<<<
 *     @key.setter
 *     def key(self, unsigned long long key):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).params.keyedMutex.key); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12203
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def key(self):
 *         return self._ptr[0].params.keyedMutex.key
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct14.key.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12206
 *     def key(self):
 *         return self._ptr[0].params.keyedMutex.key
 *     @key.setter             # <<<<<<<<<<<<<<
 *     def key(self, unsigned long long key):
 *         self._ptr[0].params.keyedMutex.key = key
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct14_3key_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_key); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct14_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_key); if (unlikely((__pyx_v_key == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12207, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct14.key.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct14_3key_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct14 *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_key));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct14_3key_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_key) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12206, 0, __PYX_ERR(1, 12206, __pyx_L1_error));

  /* "cuda/cuda.pyx":12208
 *     @key.setter
 *     def key(self, unsigned long long key):
 *         self._ptr[0].params.keyedMutex.key = key             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct15:
 */
  (__pyx_v_self->_ptr[0]).params.keyedMutex.key = __pyx_v_key;

  /* "cuda/cuda.pyx":12206
 *     def key(self):
 *         return self._ptr[0].params.keyedMutex.key
 *     @key.setter             # <<<<<<<<<<<<<<
 *     def key(self, unsigned long long key):
 *         self._ptr[0].params.keyedMutex.key = key
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct14.key.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_13anon_struct14_10__reduce_cython__, "anon_struct14.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct14_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct14_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct14_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct14_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct14 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct14_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__327)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct14.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct14_12__setstate_cython__, "anon_struct14.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct14_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct14_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct14_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct14.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct14_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct14 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct14_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__328)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct14.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12229
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct15_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct15_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12229, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 12229, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12229, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 12229, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct15.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct15___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct15___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 12229, 0, __PYX_ERR(1, 12229, __pyx_L1_error));

  /* "cuda/cuda.pyx":12230
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":12229
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct15.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12232
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._fence = anon_struct13(_ptr=<void_ptr>self._ptr)
 *         self._nvSciSync = anon_union7(_ptr=<void_ptr>self._ptr)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct15_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct15_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12232, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 12232, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12232, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 12232, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct15.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct15_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct15_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 12232, 0, __PYX_ERR(1, 12232, __pyx_L1_error));

  /* "cuda/cuda.pyx":12233
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._fence = anon_struct13(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._nvSciSync = anon_union7(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = anon_struct14(_ptr=<void_ptr>self._ptr)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 12233, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct13), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_fence);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_fence);
  __pyx_v_self->_fence = ((struct __pyx_obj_4cuda_4cuda_anon_struct13 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12234
 *     def __init__(self, void_ptr _ptr):
 *         self._fence = anon_struct13(_ptr=<void_ptr>self._ptr)
 *         self._nvSciSync = anon_union7(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._keyedMutex = anon_struct14(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 12234, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union7), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_anon_union7 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":12235
 *         self._fence = anon_struct13(_ptr=<void_ptr>self._ptr)
 *         self._nvSciSync = anon_union7(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = anon_struct14(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 12235, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct14), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_keyedMutex);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_keyedMutex);
  __pyx_v_self->_keyedMutex = ((struct __pyx_obj_4cuda_4cuda_anon_struct14 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12232
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._fence = anon_struct13(_ptr=<void_ptr>self._ptr)
 *         self._nvSciSync = anon_union7(_ptr=<void_ptr>self._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.cuda.anon_struct15.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12236
 *         self._nvSciSync = anon_union7(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = anon_struct14(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_13anon_struct15_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct15_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_13anon_struct15_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 12236, 0, __PYX_ERR(1, 12236, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct15.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":12238
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct15_6getPtr, "anon_struct15.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct15_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct15_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct15_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct15_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct15_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__329)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 12238, 0, __PYX_ERR(1, 12238, __pyx_L1_error));

  /* "cuda/cuda.pyx":12239
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).params))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12238
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct15.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12240
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct15_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct15_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct15_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr40__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr41__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr42__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 12240, 0, __PYX_ERR(1, 12240, __pyx_L1_error));

  /* "cuda/cuda.pyx":12241
 *         return <void_ptr>&self._ptr[0].params
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12242
 *     def __repr__(self):
 *         if self._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(1, 12242, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":12243
 *         if self._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/cuda.pyx":12244
 *             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(1, 12244, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_fence_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12244, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12244, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12244, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_7))) {
            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
            if (likely(__pyx_t_8)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
              __Pyx_INCREF(__pyx_t_8);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_7, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12244, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12244, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 12244, __pyx_L12_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          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_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12244, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 12244, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12244, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12244, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 12244, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12244, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_11(__pyx_t_7);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 12244, __pyx_L12_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr40__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr40__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12244, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 12244, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_9genexpr40__pyx_v_line); __pyx_9genexpr40__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_9genexpr40__pyx_v_line); __pyx_9genexpr40__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12244, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_fence_3, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12244, __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(1, 12244, __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)) __PYX_ERR(1, 12244, __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(1, 12244, __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/cuda.pyx":12243
 *         if self._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;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":12245
 *             try:
 *                 str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct15.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(1, 12245, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":12246
 *                 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_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12246, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_fence_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_fence_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_fence_ValueError)) __PYX_ERR(1, 12246, __pyx_L6_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 12246, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":12243
 *         if self._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/cuda.pyx":12247
 *             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/cuda.pyx":12248
 *                 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(1, 12248, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_nvSciSync_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12248, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_12 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 12248, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_12);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12248, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          __pyx_t_12 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_12)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_12);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_12, NULL};
            __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12248, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) {
            __pyx_t_2 = __pyx_t_7; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12248, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 12248, __pyx_L27_error)
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          for (;;) {
            if (likely(!__pyx_t_11)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12248, __pyx_L27_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_7 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_7); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 12248, __pyx_L27_error)
                #else
                __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12248, __pyx_L27_error)
                __Pyx_GOTREF(__pyx_t_7);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12248, __pyx_L27_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_7); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 12248, __pyx_L27_error)
                #else
                __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12248, __pyx_L27_error)
                __Pyx_GOTREF(__pyx_t_7);
                #endif
              }
            } else {
              __pyx_t_7 = __pyx_t_11(__pyx_t_2);
              if (unlikely(!__pyx_t_7)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 12248, __pyx_L27_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_7);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr41__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr41__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12248, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(1, 12248, __pyx_L27_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr41__pyx_v_line); __pyx_9genexpr41__pyx_v_line = 0;
          goto __pyx_L31_exit_scope;
          __pyx_L27_error:;
          __Pyx_XDECREF(__pyx_9genexpr41__pyx_v_line); __pyx_9genexpr41__pyx_v_line = 0;
          goto __pyx_L19_error;
          __pyx_L31_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12248, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_nvSciSync, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12248, __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(1, 12248, __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)) __PYX_ERR(1, 12248, __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(1, 12248, __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/cuda.pyx":12247
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":12249
 *             try:
 *                 str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciSync : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct15.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(1, 12249, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/cuda.pyx":12250
 *                 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_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 12250, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_nvSciSync_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_nvSciSync_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_nvSciSync_ValueError)) __PYX_ERR(1, 12250, __pyx_L21_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12250, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":12247
 *             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/cuda.pyx":12251
 *             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/cuda.pyx":12252
 *                 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(1, 12252, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_keyedMutex_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12252, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12252, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12252, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_6))) {
            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
            if (likely(__pyx_t_8)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
              __Pyx_INCREF(__pyx_t_8);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_6, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
            __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12252, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_6 = __pyx_t_2; __Pyx_INCREF(__pyx_t_6);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12252, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 12252, __pyx_L42_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_11)) {
              if (likely(PyList_CheckExact(__pyx_t_6))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12252, __pyx_L42_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_10); __Pyx_INCREF(__pyx_t_2); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 12252, __pyx_L42_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12252, __pyx_L42_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12252, __pyx_L42_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_10); __Pyx_INCREF(__pyx_t_2); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 12252, __pyx_L42_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12252, __pyx_L42_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_11(__pyx_t_6);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 12252, __pyx_L42_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr42__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr42__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12252, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_2))) __PYX_ERR(1, 12252, __pyx_L42_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_9genexpr42__pyx_v_line); __pyx_9genexpr42__pyx_v_line = 0;
          goto __pyx_L46_exit_scope;
          __pyx_L42_error:;
          __Pyx_XDECREF(__pyx_9genexpr42__pyx_v_line); __pyx_9genexpr42__pyx_v_line = 0;
          goto __pyx_L34_error;
          __pyx_L46_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12252, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_keyedMutex, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12252, __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(1, 12252, __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)) __PYX_ERR(1, 12252, __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(1, 12252, __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/cuda.pyx":12251
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":12253
 *             try:
 *                 str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['keyedMutex : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct15.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 12253, __pyx_L36_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":12254
 *                 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_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12254, __pyx_L36_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_keyedMutex_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_keyedMutex_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_keyedMutex_ValueError)) __PYX_ERR(1, 12254, __pyx_L36_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 12254, __pyx_L36_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":12251
 *             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/cuda.pyx":12255
 *             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/cuda.pyx":12256
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12256, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12256, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12256, __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(1, 12256, __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)) __PYX_ERR(1, 12256, __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(1, 12256, __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/cuda.pyx":12255
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":12257
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct15.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 12257, __pyx_L51_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/cuda.pyx":12258
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
        __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 12258, __pyx_L51_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 12258, __pyx_L51_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12258, __pyx_L51_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__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;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L50_exception_handled;
      }
      goto __pyx_L51_except_error;

      /* "cuda/cuda.pyx":12255
 *             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/cuda.pyx":12259
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12259, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":12241
 *         return <void_ptr>&self._ptr[0].params
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":12261
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def fence(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":12240
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.anon_struct15.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr40__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr41__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr42__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12262
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fence(self):
 *         return self._fence
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct15_5fence_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct15_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_4cuda_13anon_struct15_5fence___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct15_5fence___get__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12262, 0, __PYX_ERR(1, 12262, __pyx_L1_error));

  /* "cuda/cuda.pyx":12264
 *     @property
 *     def fence(self):
 *         return self._fence             # <<<<<<<<<<<<<<
 *     @fence.setter
 *     def fence(self, fence not None : anon_struct13):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_fence);
  __pyx_r = ((PyObject *)__pyx_v_self->_fence);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12262
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fence(self):
 *         return self._fence
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct15.fence.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12265
 *     def fence(self):
 *         return self._fence
 *     @fence.setter             # <<<<<<<<<<<<<<
 *     def fence(self, fence not None : anon_struct13):
 *         string.memcpy(&self._ptr[0].params.fence, <ccuda.anon_struct13*><void_ptr>fence.getPtr(), sizeof(self._ptr[0].params.fence))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct15_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct15_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_ptype_4cuda_4cuda_anon_struct13, 0, "fence", 0))) __PYX_ERR(1, 12266, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct15_5fence_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct13 *)__pyx_v_fence));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct15_5fence_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct13 *__pyx_v_fence) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12265, 0, __PYX_ERR(1, 12265, __pyx_L1_error));

  /* "cuda/cuda.pyx":12267
 *     @fence.setter
 *     def fence(self, fence not None : anon_struct13):
 *         string.memcpy(&self._ptr[0].params.fence, <ccuda.anon_struct13*><void_ptr>fence.getPtr(), sizeof(self._ptr[0].params.fence))             # <<<<<<<<<<<<<<
 *     @property
 *     def nvSciSync(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_fence), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12267, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).params.fence), ((struct anon_struct13 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).params.fence))));

  /* "cuda/cuda.pyx":12265
 *     def fence(self):
 *         return self._fence
 *     @fence.setter             # <<<<<<<<<<<<<<
 *     def fence(self, fence not None : anon_struct13):
 *         string.memcpy(&self._ptr[0].params.fence, <ccuda.anon_struct13*><void_ptr>fence.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.anon_struct15.fence.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12268
 *     def fence(self, fence not None : anon_struct13):
 *         string.memcpy(&self._ptr[0].params.fence, <ccuda.anon_struct13*><void_ptr>fence.getPtr(), sizeof(self._ptr[0].params.fence))
 *     @property             # <<<<<<<<<<<<<<
 *     def nvSciSync(self):
 *         return self._nvSciSync
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct15_9nvSciSync_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct15_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_4cuda_13anon_struct15_9nvSciSync___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct15_9nvSciSync___get__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12268, 0, __PYX_ERR(1, 12268, __pyx_L1_error));

  /* "cuda/cuda.pyx":12270
 *     @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/cuda.pyx":12268
 *     def fence(self, fence not None : anon_struct13):
 *         string.memcpy(&self._ptr[0].params.fence, <ccuda.anon_struct13*><void_ptr>fence.getPtr(), sizeof(self._ptr[0].params.fence))
 *     @property             # <<<<<<<<<<<<<<
 *     def nvSciSync(self):
 *         return self._nvSciSync
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct15.nvSciSync.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12271
 *     def nvSciSync(self):
 *         return self._nvSciSync
 *     @nvSciSync.setter             # <<<<<<<<<<<<<<
 *     def nvSciSync(self, nvSciSync not None : anon_union7):
 *         string.memcpy(&self._ptr[0].params.nvSciSync, <ccuda.anon_union7*><void_ptr>nvSciSync.getPtr(), sizeof(self._ptr[0].params.nvSciSync))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct15_9nvSciSync_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciSync); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct15_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_ptype_4cuda_4cuda_anon_union7, 0, "nvSciSync", 0))) __PYX_ERR(1, 12272, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct15_9nvSciSync_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_union7 *)__pyx_v_nvSciSync));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct15_9nvSciSync_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union7 *__pyx_v_nvSciSync) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12271, 0, __PYX_ERR(1, 12271, __pyx_L1_error));

  /* "cuda/cuda.pyx":12273
 *     @nvSciSync.setter
 *     def nvSciSync(self, nvSciSync not None : anon_union7):
 *         string.memcpy(&self._ptr[0].params.nvSciSync, <ccuda.anon_union7*><void_ptr>nvSciSync.getPtr(), sizeof(self._ptr[0].params.nvSciSync))             # <<<<<<<<<<<<<<
 *     @property
 *     def keyedMutex(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_nvSciSync), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).params.nvSciSync), ((union anon_union7 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).params.nvSciSync))));

  /* "cuda/cuda.pyx":12271
 *     def nvSciSync(self):
 *         return self._nvSciSync
 *     @nvSciSync.setter             # <<<<<<<<<<<<<<
 *     def nvSciSync(self, nvSciSync not None : anon_union7):
 *         string.memcpy(&self._ptr[0].params.nvSciSync, <ccuda.anon_union7*><void_ptr>nvSciSync.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.anon_struct15.nvSciSync.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12274
 *     def nvSciSync(self, nvSciSync not None : anon_union7):
 *         string.memcpy(&self._ptr[0].params.nvSciSync, <ccuda.anon_union7*><void_ptr>nvSciSync.getPtr(), sizeof(self._ptr[0].params.nvSciSync))
 *     @property             # <<<<<<<<<<<<<<
 *     def keyedMutex(self):
 *         return self._keyedMutex
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct15_10keyedMutex_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct15_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_4cuda_13anon_struct15_10keyedMutex___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct15_10keyedMutex___get__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12274, 0, __PYX_ERR(1, 12274, __pyx_L1_error));

  /* "cuda/cuda.pyx":12276
 *     @property
 *     def keyedMutex(self):
 *         return self._keyedMutex             # <<<<<<<<<<<<<<
 *     @keyedMutex.setter
 *     def keyedMutex(self, keyedMutex not None : anon_struct14):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_keyedMutex);
  __pyx_r = ((PyObject *)__pyx_v_self->_keyedMutex);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12274
 *     def nvSciSync(self, nvSciSync not None : anon_union7):
 *         string.memcpy(&self._ptr[0].params.nvSciSync, <ccuda.anon_union7*><void_ptr>nvSciSync.getPtr(), sizeof(self._ptr[0].params.nvSciSync))
 *     @property             # <<<<<<<<<<<<<<
 *     def keyedMutex(self):
 *         return self._keyedMutex
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct15.keyedMutex.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12277
 *     def keyedMutex(self):
 *         return self._keyedMutex
 *     @keyedMutex.setter             # <<<<<<<<<<<<<<
 *     def keyedMutex(self, keyedMutex not None : anon_struct14):
 *         string.memcpy(&self._ptr[0].params.keyedMutex, <ccuda.anon_struct14*><void_ptr>keyedMutex.getPtr(), sizeof(self._ptr[0].params.keyedMutex))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct15_10keyedMutex_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_keyedMutex); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct15_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_ptype_4cuda_4cuda_anon_struct14, 0, "keyedMutex", 0))) __PYX_ERR(1, 12278, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct15_10keyedMutex_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct14 *)__pyx_v_keyedMutex));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct15_10keyedMutex_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct14 *__pyx_v_keyedMutex) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12277, 0, __PYX_ERR(1, 12277, __pyx_L1_error));

  /* "cuda/cuda.pyx":12279
 *     @keyedMutex.setter
 *     def keyedMutex(self, keyedMutex not None : anon_struct14):
 *         string.memcpy(&self._ptr[0].params.keyedMutex, <ccuda.anon_struct14*><void_ptr>keyedMutex.getPtr(), sizeof(self._ptr[0].params.keyedMutex))             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_keyedMutex), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12279, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12279, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).params.keyedMutex), ((struct anon_struct14 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).params.keyedMutex))));

  /* "cuda/cuda.pyx":12277
 *     def keyedMutex(self):
 *         return self._keyedMutex
 *     @keyedMutex.setter             # <<<<<<<<<<<<<<
 *     def keyedMutex(self, keyedMutex not None : anon_struct14):
 *         string.memcpy(&self._ptr[0].params.keyedMutex, <ccuda.anon_struct14*><void_ptr>keyedMutex.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.anon_struct15.keyedMutex.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12280
 *     def keyedMutex(self, keyedMutex not None : anon_struct14):
 *         string.memcpy(&self._ptr[0].params.keyedMutex, <ccuda.anon_struct14*><void_ptr>keyedMutex.getPtr(), sizeof(self._ptr[0].params.keyedMutex))
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].params.reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct15_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct15_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_4cuda_13anon_struct15_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct15_8reserved___get__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12280, 0, __PYX_ERR(1, 12280, __pyx_L1_error));

  /* "cuda/cuda.pyx":12282
 *     @property
 *     def reserved(self):
 *         return self._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->_ptr[0]).params.reserved, 12); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12280
 *     def keyedMutex(self, keyedMutex not None : anon_struct14):
 *         string.memcpy(&self._ptr[0].params.keyedMutex, <ccuda.anon_struct14*><void_ptr>keyedMutex.getPtr(), sizeof(self._ptr[0].params.keyedMutex))
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].params.reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct15.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12283
 *     def reserved(self):
 *         return self._ptr[0].params.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].params.reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct15_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct15_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_4cuda_13anon_struct15_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct15_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  unsigned int __pyx_t_1[12];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12283, 0, __PYX_ERR(1, 12283, __pyx_L1_error));

  /* "cuda/cuda.pyx":12285
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._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(1, 12285, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).params.reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).params.reserved[0]) * (12));

  /* "cuda/cuda.pyx":12283
 *     def reserved(self):
 *         return self._ptr[0].params.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].params.reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct15.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_13anon_struct15_10__reduce_cython__, "anon_struct15.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct15_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct15_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct15_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct15_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct15_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__330)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct15.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct15_12__setstate_cython__, "anon_struct15.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct15_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct15_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct15_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct15.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct15_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct15_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__331)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct15.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12313
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12313, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 12313, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12313, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 12313, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 12313, 0, __PYX_ERR(1, 12313, __pyx_L1_error));

  /* "cuda/cuda.pyx":12314
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12315
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st__val);

    /* "cuda/cuda.pyx":12314
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":12317
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = anon_struct15(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":12313
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12318
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._params = anon_struct15(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12318, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 12318, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12318, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 12318, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 12318, 0, __PYX_ERR(1, 12318, __pyx_L1_error));

  /* "cuda/cuda.pyx":12319
 *             self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = anon_struct15(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 12319, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct15), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_params);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_params);
  __pyx_v_self->_params = ((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12318
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._params = anon_struct15(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12320
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = anon_struct15(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 12320, 0, __PYX_ERR(1, 12320, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":12322
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6getPtr, "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__332)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 12322, 0, __PYX_ERR(1, 12322, __pyx_L1_error));

  /* "cuda/cuda.pyx":12323
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12322
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12324
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr43__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 12324, 0, __PYX_ERR(1, 12324, __pyx_L1_error));

  /* "cuda/cuda.pyx":12325
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12326
 *     def __repr__(self):
 *         if self._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(1, 12326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":12327
 *         if self._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/cuda.pyx":12328
 *             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(1, 12328, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_params_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12328, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12328, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12328, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_7))) {
            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
            if (likely(__pyx_t_8)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
              __Pyx_INCREF(__pyx_t_8);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_7, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12328, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12328, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 12328, __pyx_L12_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          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_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12328, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 12328, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12328, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12328, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 12328, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12328, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_11(__pyx_t_7);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 12328, __pyx_L12_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr43__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr43__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12328, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 12328, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_9genexpr43__pyx_v_line); __pyx_9genexpr43__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_9genexpr43__pyx_v_line); __pyx_9genexpr43__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12328, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_params, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12328, __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(1, 12328, __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)) __PYX_ERR(1, 12328, __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(1, 12328, __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/cuda.pyx":12327
 *         if self._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;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":12329
 *             try:
 *                 str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['params : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12329, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":12330
 *                 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_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12330, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_params_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_params_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_params_ValueError)) __PYX_ERR(1, 12330, __pyx_L6_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 12330, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":12327
 *         if self._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/cuda.pyx":12331
 *             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/cuda.pyx":12332
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12332, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12332, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12332, __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(1, 12332, __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)) __PYX_ERR(1, 12332, __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(1, 12332, __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/cuda.pyx":12331
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":12333
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12333, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":12334
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 */
        __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 12334, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 12334, __pyx_L21_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12334, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":12331
 *             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/cuda.pyx":12335
 *             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/cuda.pyx":12336
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12336, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12336, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12336, __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(1, 12336, __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)) __PYX_ERR(1, 12336, __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(1, 12336, __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/cuda.pyx":12335
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":12337
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12337, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":12338
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12338, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 12338, __pyx_L29_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 12338, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":12335
 *             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/cuda.pyx":12339
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":12325
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":12341
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def params(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":12324
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.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_9genexpr43__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12342
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def params(self):
 *         return self._params
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12342, 0, __PYX_ERR(1, 12342, __pyx_L1_error));

  /* "cuda/cuda.pyx":12344
 *     @property
 *     def params(self):
 *         return self._params             # <<<<<<<<<<<<<<
 *     @params.setter
 *     def params(self, params not None : anon_struct15):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_params);
  __pyx_r = ((PyObject *)__pyx_v_self->_params);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12342
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def params(self):
 *         return self._params
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.params.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12345
 *     def params(self):
 *         return self._params
 *     @params.setter             # <<<<<<<<<<<<<<
 *     def params(self, params not None : anon_struct15):
 *         string.memcpy(&self._ptr[0].params, <ccuda.anon_struct15*><void_ptr>params.getPtr(), sizeof(self._ptr[0].params))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_params); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct15, 0, "params", 0))) __PYX_ERR(1, 12346, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)__pyx_v_params));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct15 *__pyx_v_params) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12345, 0, __PYX_ERR(1, 12345, __pyx_L1_error));

  /* "cuda/cuda.pyx":12347
 *     @params.setter
 *     def params(self, params not None : anon_struct15):
 *         string.memcpy(&self._ptr[0].params, <ccuda.anon_struct15*><void_ptr>params.getPtr(), sizeof(self._ptr[0].params))             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_params), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12347, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).params), ((struct anon_struct15 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).params))));

  /* "cuda/cuda.pyx":12345
 *     def params(self):
 *         return self._params
 *     @params.setter             # <<<<<<<<<<<<<<
 *     def params(self, params not None : anon_struct15):
 *         string.memcpy(&self._ptr[0].params, <ccuda.anon_struct15*><void_ptr>params.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.params.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12348
 *     def params(self, params not None : anon_struct15):
 *         string.memcpy(&self._ptr[0].params, <ccuda.anon_struct15*><void_ptr>params.getPtr(), sizeof(self._ptr[0].params))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12348, 0, __PYX_ERR(1, 12348, __pyx_L1_error));

  /* "cuda/cuda.pyx":12350
 *     @property
 *     def flags(self):
 *         return self._ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12348
 *     def params(self, params not None : anon_struct15):
 *         string.memcpy(&self._ptr[0].params, <ccuda.anon_struct15*><void_ptr>params.getPtr(), sizeof(self._ptr[0].params))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12351
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12352, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12351, 0, __PYX_ERR(1, 12351, __pyx_L1_error));

  /* "cuda/cuda.pyx":12353
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":12351
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12354
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12354, 0, __PYX_ERR(1, 12354, __pyx_L1_error));

  /* "cuda/cuda.pyx":12356
 *     @property
 *     def reserved(self):
 *         return self._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->_ptr[0]).reserved, 16); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12354
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12357
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  unsigned int __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12357, 0, __PYX_ERR(1, 12357, __pyx_L1_error));

  /* "cuda/cuda.pyx":12359
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct16:
 */
  if (unlikely((__Pyx_carray_from_py_unsigned_int(__pyx_v_reserved, __pyx_t_1, 16) < 0))) __PYX_ERR(1, 12359, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved[0]) * (16));

  /* "cuda/cuda.pyx":12357
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_10__reduce_cython__, "CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__333)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__334)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12374
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct16_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct16_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12374, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 12374, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12374, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 12374, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct16.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct16___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct16 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct16___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 12374, 0, __PYX_ERR(1, 12374, __pyx_L1_error));

  /* "cuda/cuda.pyx":12375
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":12374
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct16.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12377
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct16_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct16_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12377, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 12377, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12377, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 12377, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct16.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct16_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct16 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct16_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 12377, 0, __PYX_ERR(1, 12377, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct16.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12379
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_13anon_struct16_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct16_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct16 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_13anon_struct16_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 12379, 0, __PYX_ERR(1, 12379, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct16.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":12381
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.fence
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct16_6getPtr, "anon_struct16.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct16_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct16_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct16_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct16_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct16 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct16_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__335)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 12381, 0, __PYX_ERR(1, 12381, __pyx_L1_error));

  /* "cuda/cuda.pyx":12382
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.fence             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).params.fence))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12381
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.fence
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct16.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12383
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.fence
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct16_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct16_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct16 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct16_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 12383, 0, __PYX_ERR(1, 12383, __pyx_L1_error));

  /* "cuda/cuda.pyx":12384
 *         return <void_ptr>&self._ptr[0].params.fence
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12385
 *     def __repr__(self):
 *         if self._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(1, 12385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":12386
 *         if self._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/cuda.pyx":12387
 *             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_n_s_value_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12387, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12387, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_value, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12387, __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(1, 12387, __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)) __PYX_ERR(1, 12387, __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(1, 12387, __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/cuda.pyx":12386
 *         if self._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/cuda.pyx":12388
 *             try:
 *                 str_list += ['value : ' + str(self.value)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['value : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct16.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 12388, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":12389
 *                 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(1, 12389, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_value_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_value_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_value_ValueError)) __PYX_ERR(1, 12389, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 12389, __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/cuda.pyx":12386
 *         if self._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/cuda.pyx":12390
 *             except ValueError:
 *                 str_list += ['value : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":12384
 *         return <void_ptr>&self._ptr[0].params.fence
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":12392
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def value(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":12383
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.fence
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.anon_struct16.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12393
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._ptr[0].params.fence.value
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct16_5value_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct16_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_4cuda_13anon_struct16_5value___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct16 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct16_5value___get__(struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12393, 0, __PYX_ERR(1, 12393, __pyx_L1_error));

  /* "cuda/cuda.pyx":12395
 *     @property
 *     def value(self):
 *         return self._ptr[0].params.fence.value             # <<<<<<<<<<<<<<
 *     @value.setter
 *     def value(self, unsigned long long value):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).params.fence.value); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12393
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def value(self):
 *         return self._ptr[0].params.fence.value
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct16.value.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12396
 *     def value(self):
 *         return self._ptr[0].params.fence.value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, unsigned long long value):
 *         self._ptr[0].params.fence.value = value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct16_5value_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct16_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_value); if (unlikely((__pyx_v_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12397, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct16.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct16_5value_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct16 *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct16_5value_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_value) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12396, 0, __PYX_ERR(1, 12396, __pyx_L1_error));

  /* "cuda/cuda.pyx":12398
 *     @value.setter
 *     def value(self, unsigned long long value):
 *         self._ptr[0].params.fence.value = value             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union8:
 */
  (__pyx_v_self->_ptr[0]).params.fence.value = __pyx_v_value;

  /* "cuda/cuda.pyx":12396
 *     def value(self):
 *         return self._ptr[0].params.fence.value
 *     @value.setter             # <<<<<<<<<<<<<<
 *     def value(self, unsigned long long value):
 *         self._ptr[0].params.fence.value = value
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct16.value.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_13anon_struct16_10__reduce_cython__, "anon_struct16.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct16_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct16_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct16_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct16_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct16 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct16_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__336)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct16.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct16_12__setstate_cython__, "anon_struct16.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct16_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct16_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct16_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct16.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct16_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct16 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct16_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__337)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct16.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12415
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union8_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11anon_union8_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12415, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 12415, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12415, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 12415, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union8.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union8___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_union8 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union8___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 12415, 0, __PYX_ERR(1, 12415, __pyx_L1_error));

  /* "cuda/cuda.pyx":12416
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":12415
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union8.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12418
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union8_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11anon_union8_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12418, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 12418, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12418, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 12418, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union8.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union8_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_union8 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union8_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 12418, 0, __PYX_ERR(1, 12418, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union8.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12420
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_11anon_union8_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_11anon_union8_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_union8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_11anon_union8_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 12420, 0, __PYX_ERR(1, 12420, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_union8.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":12422
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.nvSciSync
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union8_6getPtr, "anon_union8.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union8_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union8_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union8_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union8_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_union8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union8_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__338)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 12422, 0, __PYX_ERR(1, 12422, __pyx_L1_error));

  /* "cuda/cuda.pyx":12423
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.nvSciSync             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).params.nvSciSync))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12422
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.nvSciSync
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union8.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12424
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.nvSciSync
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union8_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union8_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_union8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union8_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 12424, 0, __PYX_ERR(1, 12424, __pyx_L1_error));

  /* "cuda/cuda.pyx":12425
 *         return <void_ptr>&self._ptr[0].params.nvSciSync
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12426
 *     def __repr__(self):
 *         if self._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(1, 12426, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":12427
 *         if self._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/cuda.pyx":12428
 *             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_n_s_fence_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12428, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12428, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_fence, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12428, __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(1, 12428, __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)) __PYX_ERR(1, 12428, __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(1, 12428, __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/cuda.pyx":12427
 *         if self._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/cuda.pyx":12429
 *             try:
 *                 str_list += ['fence : ' + hex(self.fence)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_union8.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 12429, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":12430
 *                 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(1, 12430, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_fence_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_fence_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_fence_ValueError)) __PYX_ERR(1, 12430, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 12430, __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/cuda.pyx":12427
 *         if self._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/cuda.pyx":12431
 *             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/cuda.pyx":12432
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12432, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12432, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12432, __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(1, 12432, __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)) __PYX_ERR(1, 12432, __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(1, 12432, __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/cuda.pyx":12431
 *             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/cuda.pyx":12433
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_union8.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 12433, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":12434
 *                 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(1, 12434, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 12434, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 12434, __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/cuda.pyx":12431
 *             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/cuda.pyx":12435
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":12425
 *         return <void_ptr>&self._ptr[0].params.nvSciSync
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":12437
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def fence(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":12424
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.nvSciSync
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12438
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fence(self):
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union8_5fence_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union8_5fence___get__(((struct __pyx_obj_4cuda_4cuda_anon_union8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union8_5fence___get__(struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12438, 0, __PYX_ERR(1, 12438, __pyx_L1_error));

  /* "cuda/cuda.pyx":12440
 *     @property
 *     def fence(self):
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence             # <<<<<<<<<<<<<<
 *     @fence.setter
 *     def fence(self, fence):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).params.nvSciSync.fence)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12438
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fence(self):
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union8.fence.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12441
 *     def fence(self):
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence
 *     @fence.setter             # <<<<<<<<<<<<<<
 *     def fence(self, fence):
 *         _cfence = utils.HelperInputVoidPtr(fence)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union8_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_11anon_union8_5fence_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union8 *)__pyx_v_self), ((PyObject *)__pyx_v_fence));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union8_5fence_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self, PyObject *__pyx_v_fence) {
  PyObject *__pyx_v__cfence = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12441, 0, __PYX_ERR(1, 12441, __pyx_L1_error));

  /* "cuda/cuda.pyx":12443
 *     @fence.setter
 *     def fence(self, fence):
 *         _cfence = utils.HelperInputVoidPtr(fence)             # <<<<<<<<<<<<<<
 *         self._ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_fence); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cfence = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":12444
 *     def fence(self, fence):
 *         _cfence = utils.HelperInputVoidPtr(fence)
 *         self._ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cfence, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12444, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12444, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).params.nvSciSync.fence = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":12441
 *     def fence(self):
 *         return <void_ptr>self._ptr[0].params.nvSciSync.fence
 *     @fence.setter             # <<<<<<<<<<<<<<
 *     def fence(self, fence):
 *         _cfence = utils.HelperInputVoidPtr(fence)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union8.fence.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cfence);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12445
 *         _cfence = utils.HelperInputVoidPtr(fence)
 *         self._ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].params.nvSciSync.reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union8_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union8_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_anon_union8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union8_8reserved___get__(struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12445, 0, __PYX_ERR(1, 12445, __pyx_L1_error));

  /* "cuda/cuda.pyx":12447
 *     @property
 *     def reserved(self):
 *         return self._ptr[0].params.nvSciSync.reserved             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, unsigned long long reserved):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).params.nvSciSync.reserved); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12445
 *         _cfence = utils.HelperInputVoidPtr(fence)
 *         self._ptr[0].params.nvSciSync.fence = <void*><void_ptr>_cfence.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].params.nvSciSync.reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union8.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12448
 *     def reserved(self):
 *         return self._ptr[0].params.nvSciSync.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, unsigned long long reserved):
 *         self._ptr[0].params.nvSciSync.reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union8_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_reserved); if (unlikely((__pyx_v_reserved == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12449, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union8.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union8_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_11anon_union8_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12448, 0, __PYX_ERR(1, 12448, __pyx_L1_error));

  /* "cuda/cuda.pyx":12450
 *     @reserved.setter
 *     def reserved(self, unsigned long long reserved):
 *         self._ptr[0].params.nvSciSync.reserved = reserved             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct17:
 */
  (__pyx_v_self->_ptr[0]).params.nvSciSync.reserved = __pyx_v_reserved;

  /* "cuda/cuda.pyx":12448
 *     def reserved(self):
 *         return self._ptr[0].params.nvSciSync.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, unsigned long long reserved):
 *         self._ptr[0].params.nvSciSync.reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union8.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_11anon_union8_10__reduce_cython__, "anon_union8.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union8_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union8_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union8_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union8_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union8 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union8_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__339)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union8.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union8_12__setstate_cython__, "anon_union8.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union8_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union8_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union8_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union8.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union8_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union8 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union8_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__340)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union8.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12467
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct17_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct17_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12467, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 12467, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12467, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 12467, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct17.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct17___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct17 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct17___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 12467, 0, __PYX_ERR(1, 12467, __pyx_L1_error));

  /* "cuda/cuda.pyx":12468
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":12467
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct17.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12470
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct17_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct17_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12470, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 12470, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12470, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 12470, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct17.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct17_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct17 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct17_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 12470, 0, __PYX_ERR(1, 12470, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct17.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12472
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_13anon_struct17_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct17_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct17 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_13anon_struct17_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 12472, 0, __PYX_ERR(1, 12472, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct17.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":12474
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.keyedMutex
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct17_6getPtr, "anon_struct17.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct17_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct17_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct17_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct17_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct17 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct17_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__341)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 12474, 0, __PYX_ERR(1, 12474, __pyx_L1_error));

  /* "cuda/cuda.pyx":12475
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.keyedMutex             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).params.keyedMutex))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12474
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.keyedMutex
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct17.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12476
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.keyedMutex
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct17_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct17_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct17 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct17_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 12476, 0, __PYX_ERR(1, 12476, __pyx_L1_error));

  /* "cuda/cuda.pyx":12477
 *         return <void_ptr>&self._ptr[0].params.keyedMutex
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12478
 *     def __repr__(self):
 *         if self._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(1, 12478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":12479
 *         if self._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/cuda.pyx":12480
 *             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_n_s_key_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12480, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12480, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_key, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12480, __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(1, 12480, __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)) __PYX_ERR(1, 12480, __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(1, 12480, __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/cuda.pyx":12479
 *         if self._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/cuda.pyx":12481
 *             try:
 *                 str_list += ['key : ' + str(self.key)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['key : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct17.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 12481, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":12482
 *                 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(1, 12482, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_key_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_key_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_key_ValueError)) __PYX_ERR(1, 12482, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 12482, __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/cuda.pyx":12479
 *         if self._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/cuda.pyx":12483
 *             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/cuda.pyx":12484
 *                 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_n_s_timeoutMs_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12484, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12484, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_timeoutMs, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12484, __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(1, 12484, __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)) __PYX_ERR(1, 12484, __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(1, 12484, __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/cuda.pyx":12483
 *             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/cuda.pyx":12485
 *             try:
 *                 str_list += ['timeoutMs : ' + str(self.timeoutMs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['timeoutMs : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct17.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 12485, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":12486
 *                 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(1, 12486, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_timeoutMs_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_timeoutMs_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_timeoutMs_ValueError)) __PYX_ERR(1, 12486, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 12486, __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/cuda.pyx":12483
 *             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/cuda.pyx":12487
 *             except ValueError:
 *                 str_list += ['timeoutMs : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":12477
 *         return <void_ptr>&self._ptr[0].params.keyedMutex
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":12489
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def key(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":12476
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params.keyedMutex
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12490
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def key(self):
 *         return self._ptr[0].params.keyedMutex.key
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct17_3key_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct17_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_4cuda_13anon_struct17_3key___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct17 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct17_3key___get__(struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12490, 0, __PYX_ERR(1, 12490, __pyx_L1_error));

  /* "cuda/cuda.pyx":12492
 *     @property
 *     def key(self):
 *         return self._ptr[0].params.keyedMutex.key             # <<<<<<<<<<<<<<
 *     @key.setter
 *     def key(self, unsigned long long key):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).params.keyedMutex.key); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12490
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def key(self):
 *         return self._ptr[0].params.keyedMutex.key
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct17.key.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12493
 *     def key(self):
 *         return self._ptr[0].params.keyedMutex.key
 *     @key.setter             # <<<<<<<<<<<<<<
 *     def key(self, unsigned long long key):
 *         self._ptr[0].params.keyedMutex.key = key
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct17_3key_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_key); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct17_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_key); if (unlikely((__pyx_v_key == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12494, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct17.key.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct17_3key_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct17 *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_key));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct17_3key_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_key) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12493, 0, __PYX_ERR(1, 12493, __pyx_L1_error));

  /* "cuda/cuda.pyx":12495
 *     @key.setter
 *     def key(self, unsigned long long key):
 *         self._ptr[0].params.keyedMutex.key = key             # <<<<<<<<<<<<<<
 *     @property
 *     def timeoutMs(self):
 */
  (__pyx_v_self->_ptr[0]).params.keyedMutex.key = __pyx_v_key;

  /* "cuda/cuda.pyx":12493
 *     def key(self):
 *         return self._ptr[0].params.keyedMutex.key
 *     @key.setter             # <<<<<<<<<<<<<<
 *     def key(self, unsigned long long key):
 *         self._ptr[0].params.keyedMutex.key = key
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct17.key.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12496
 *     def key(self, unsigned long long key):
 *         self._ptr[0].params.keyedMutex.key = key
 *     @property             # <<<<<<<<<<<<<<
 *     def timeoutMs(self):
 *         return self._ptr[0].params.keyedMutex.timeoutMs
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct17_9timeoutMs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct17_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_4cuda_13anon_struct17_9timeoutMs___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct17 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct17_9timeoutMs___get__(struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12496, 0, __PYX_ERR(1, 12496, __pyx_L1_error));

  /* "cuda/cuda.pyx":12498
 *     @property
 *     def timeoutMs(self):
 *         return self._ptr[0].params.keyedMutex.timeoutMs             # <<<<<<<<<<<<<<
 *     @timeoutMs.setter
 *     def timeoutMs(self, unsigned int timeoutMs):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).params.keyedMutex.timeoutMs); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12496
 *     def key(self, unsigned long long key):
 *         self._ptr[0].params.keyedMutex.key = key
 *     @property             # <<<<<<<<<<<<<<
 *     def timeoutMs(self):
 *         return self._ptr[0].params.keyedMutex.timeoutMs
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct17.timeoutMs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12499
 *     def timeoutMs(self):
 *         return self._ptr[0].params.keyedMutex.timeoutMs
 *     @timeoutMs.setter             # <<<<<<<<<<<<<<
 *     def timeoutMs(self, unsigned int timeoutMs):
 *         self._ptr[0].params.keyedMutex.timeoutMs = timeoutMs
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct17_9timeoutMs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_timeoutMs); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct17_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_PyInt_As_unsigned_int(__pyx_arg_timeoutMs); if (unlikely((__pyx_v_timeoutMs == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12500, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct17.timeoutMs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct17_9timeoutMs_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct17 *)__pyx_v_self), ((unsigned int)__pyx_v_timeoutMs));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct17_9timeoutMs_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self, unsigned int __pyx_v_timeoutMs) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12499, 0, __PYX_ERR(1, 12499, __pyx_L1_error));

  /* "cuda/cuda.pyx":12501
 *     @timeoutMs.setter
 *     def timeoutMs(self, unsigned int timeoutMs):
 *         self._ptr[0].params.keyedMutex.timeoutMs = timeoutMs             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct18:
 */
  (__pyx_v_self->_ptr[0]).params.keyedMutex.timeoutMs = __pyx_v_timeoutMs;

  /* "cuda/cuda.pyx":12499
 *     def timeoutMs(self):
 *         return self._ptr[0].params.keyedMutex.timeoutMs
 *     @timeoutMs.setter             # <<<<<<<<<<<<<<
 *     def timeoutMs(self, unsigned int timeoutMs):
 *         self._ptr[0].params.keyedMutex.timeoutMs = timeoutMs
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct17.timeoutMs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_13anon_struct17_10__reduce_cython__, "anon_struct17.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct17_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct17_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct17_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct17_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct17 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct17_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__342)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct17.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct17_12__setstate_cython__, "anon_struct17.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct17_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct17_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct17_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct17.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct17_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct17 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct17_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__343)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct17.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12522
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct18_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct18_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12522, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 12522, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12522, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 12522, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct18.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct18___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct18___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 12522, 0, __PYX_ERR(1, 12522, __pyx_L1_error));

  /* "cuda/cuda.pyx":12523
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":12522
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct18.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12525
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._fence = anon_struct16(_ptr=<void_ptr>self._ptr)
 *         self._nvSciSync = anon_union8(_ptr=<void_ptr>self._ptr)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct18_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct18_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12525, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 12525, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12525, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 12525, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct18.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct18_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct18_2__init__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 12525, 0, __PYX_ERR(1, 12525, __pyx_L1_error));

  /* "cuda/cuda.pyx":12526
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._fence = anon_struct16(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._nvSciSync = anon_union8(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = anon_struct17(_ptr=<void_ptr>self._ptr)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 12526, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct16), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_fence);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_fence);
  __pyx_v_self->_fence = ((struct __pyx_obj_4cuda_4cuda_anon_struct16 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12527
 *     def __init__(self, void_ptr _ptr):
 *         self._fence = anon_struct16(_ptr=<void_ptr>self._ptr)
 *         self._nvSciSync = anon_union8(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._keyedMutex = anon_struct17(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 12527, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union8), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_anon_union8 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":12528
 *         self._fence = anon_struct16(_ptr=<void_ptr>self._ptr)
 *         self._nvSciSync = anon_union8(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = anon_struct17(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 12528, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct17), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_keyedMutex);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_keyedMutex);
  __pyx_v_self->_keyedMutex = ((struct __pyx_obj_4cuda_4cuda_anon_struct17 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12525
 *         self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._fence = anon_struct16(_ptr=<void_ptr>self._ptr)
 *         self._nvSciSync = anon_union8(_ptr=<void_ptr>self._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.cuda.anon_struct18.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12529
 *         self._nvSciSync = anon_union8(_ptr=<void_ptr>self._ptr)
 *         self._keyedMutex = anon_struct17(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_13anon_struct18_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct18_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_13anon_struct18_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 12529, 0, __PYX_ERR(1, 12529, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct18.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":12531
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct18_6getPtr, "anon_struct18.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct18_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct18_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct18_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct18_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct18_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__344)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 12531, 0, __PYX_ERR(1, 12531, __pyx_L1_error));

  /* "cuda/cuda.pyx":12532
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).params))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12531
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct18.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12533
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct18_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct18_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct18_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr44__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr45__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr46__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 12533, 0, __PYX_ERR(1, 12533, __pyx_L1_error));

  /* "cuda/cuda.pyx":12534
 *         return <void_ptr>&self._ptr[0].params
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12535
 *     def __repr__(self):
 *         if self._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(1, 12535, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":12536
 *         if self._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/cuda.pyx":12537
 *             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(1, 12537, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_fence_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12537, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12537, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12537, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_7))) {
            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
            if (likely(__pyx_t_8)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
              __Pyx_INCREF(__pyx_t_8);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_7, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12537, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12537, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 12537, __pyx_L12_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          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_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12537, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 12537, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12537, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12537, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 12537, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12537, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_11(__pyx_t_7);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 12537, __pyx_L12_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr44__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr44__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12537, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 12537, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_9genexpr44__pyx_v_line); __pyx_9genexpr44__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_9genexpr44__pyx_v_line); __pyx_9genexpr44__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12537, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_fence_3, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12537, __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(1, 12537, __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)) __PYX_ERR(1, 12537, __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(1, 12537, __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/cuda.pyx":12536
 *         if self._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;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":12538
 *             try:
 *                 str_list += ['fence :\n' + '\n'.join(['    ' + line for line in str(self.fence).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['fence : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct18.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(1, 12538, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":12539
 *                 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_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12539, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_fence_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_fence_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_fence_ValueError)) __PYX_ERR(1, 12539, __pyx_L6_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 12539, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":12536
 *         if self._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/cuda.pyx":12540
 *             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/cuda.pyx":12541
 *                 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(1, 12541, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_nvSciSync_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12541, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_12 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 12541, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_12);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12541, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          __pyx_t_12 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_12)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_12);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_12, NULL};
            __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12541, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) {
            __pyx_t_2 = __pyx_t_7; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12541, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 12541, __pyx_L27_error)
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          for (;;) {
            if (likely(!__pyx_t_11)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12541, __pyx_L27_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_7 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_7); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 12541, __pyx_L27_error)
                #else
                __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12541, __pyx_L27_error)
                __Pyx_GOTREF(__pyx_t_7);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12541, __pyx_L27_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_7); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 12541, __pyx_L27_error)
                #else
                __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12541, __pyx_L27_error)
                __Pyx_GOTREF(__pyx_t_7);
                #endif
              }
            } else {
              __pyx_t_7 = __pyx_t_11(__pyx_t_2);
              if (unlikely(!__pyx_t_7)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 12541, __pyx_L27_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_7);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr45__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr45__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12541, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(1, 12541, __pyx_L27_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr45__pyx_v_line); __pyx_9genexpr45__pyx_v_line = 0;
          goto __pyx_L31_exit_scope;
          __pyx_L27_error:;
          __Pyx_XDECREF(__pyx_9genexpr45__pyx_v_line); __pyx_9genexpr45__pyx_v_line = 0;
          goto __pyx_L19_error;
          __pyx_L31_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12541, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_nvSciSync, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12541, __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(1, 12541, __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)) __PYX_ERR(1, 12541, __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(1, 12541, __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/cuda.pyx":12540
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":12542
 *             try:
 *                 str_list += ['nvSciSync :\n' + '\n'.join(['    ' + line for line in str(self.nvSciSync).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['nvSciSync : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct18.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(1, 12542, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/cuda.pyx":12543
 *                 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_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 12543, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_nvSciSync_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_nvSciSync_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_nvSciSync_ValueError)) __PYX_ERR(1, 12543, __pyx_L21_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12543, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":12540
 *             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/cuda.pyx":12544
 *             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/cuda.pyx":12545
 *                 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(1, 12545, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_keyedMutex_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12545, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12545, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12545, __pyx_L42_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_6))) {
            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
            if (likely(__pyx_t_8)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
              __Pyx_INCREF(__pyx_t_8);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_6, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
            __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12545, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_6 = __pyx_t_2; __Pyx_INCREF(__pyx_t_6);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12545, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 12545, __pyx_L42_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_11)) {
              if (likely(PyList_CheckExact(__pyx_t_6))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12545, __pyx_L42_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_10); __Pyx_INCREF(__pyx_t_2); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 12545, __pyx_L42_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12545, __pyx_L42_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12545, __pyx_L42_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_10); __Pyx_INCREF(__pyx_t_2); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 12545, __pyx_L42_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12545, __pyx_L42_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_11(__pyx_t_6);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 12545, __pyx_L42_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr46__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr46__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12545, __pyx_L42_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_2))) __PYX_ERR(1, 12545, __pyx_L42_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_9genexpr46__pyx_v_line); __pyx_9genexpr46__pyx_v_line = 0;
          goto __pyx_L46_exit_scope;
          __pyx_L42_error:;
          __Pyx_XDECREF(__pyx_9genexpr46__pyx_v_line); __pyx_9genexpr46__pyx_v_line = 0;
          goto __pyx_L34_error;
          __pyx_L46_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12545, __pyx_L34_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_keyedMutex, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12545, __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(1, 12545, __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)) __PYX_ERR(1, 12545, __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(1, 12545, __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/cuda.pyx":12544
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":12546
 *             try:
 *                 str_list += ['keyedMutex :\n' + '\n'.join(['    ' + line for line in str(self.keyedMutex).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['keyedMutex : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct18.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 12546, __pyx_L36_except_error)
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":12547
 *                 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_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12547, __pyx_L36_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_keyedMutex_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_keyedMutex_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_keyedMutex_ValueError)) __PYX_ERR(1, 12547, __pyx_L36_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 12547, __pyx_L36_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":12544
 *             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/cuda.pyx":12548
 *             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/cuda.pyx":12549
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12549, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12549, __pyx_L49_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12549, __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(1, 12549, __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)) __PYX_ERR(1, 12549, __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(1, 12549, __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/cuda.pyx":12548
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":12550
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct18.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 12550, __pyx_L51_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/cuda.pyx":12551
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
        __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 12551, __pyx_L51_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 12551, __pyx_L51_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12551, __pyx_L51_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__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;
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        goto __pyx_L50_exception_handled;
      }
      goto __pyx_L51_except_error;

      /* "cuda/cuda.pyx":12548
 *             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/cuda.pyx":12552
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":12534
 *         return <void_ptr>&self._ptr[0].params
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":12554
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def fence(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":12533
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].params
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.anon_struct18.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr44__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr45__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr46__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12555
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fence(self):
 *         return self._fence
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct18_5fence_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct18_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_4cuda_13anon_struct18_5fence___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct18_5fence___get__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12555, 0, __PYX_ERR(1, 12555, __pyx_L1_error));

  /* "cuda/cuda.pyx":12557
 *     @property
 *     def fence(self):
 *         return self._fence             # <<<<<<<<<<<<<<
 *     @fence.setter
 *     def fence(self, fence not None : anon_struct16):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_fence);
  __pyx_r = ((PyObject *)__pyx_v_self->_fence);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12555
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def fence(self):
 *         return self._fence
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct18.fence.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12558
 *     def fence(self):
 *         return self._fence
 *     @fence.setter             # <<<<<<<<<<<<<<
 *     def fence(self, fence not None : anon_struct16):
 *         string.memcpy(&self._ptr[0].params.fence, <ccuda.anon_struct16*><void_ptr>fence.getPtr(), sizeof(self._ptr[0].params.fence))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct18_5fence_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_fence); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct18_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_ptype_4cuda_4cuda_anon_struct16, 0, "fence", 0))) __PYX_ERR(1, 12559, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct18_5fence_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct16 *)__pyx_v_fence));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct18_5fence_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct16 *__pyx_v_fence) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12558, 0, __PYX_ERR(1, 12558, __pyx_L1_error));

  /* "cuda/cuda.pyx":12560
 *     @fence.setter
 *     def fence(self, fence not None : anon_struct16):
 *         string.memcpy(&self._ptr[0].params.fence, <ccuda.anon_struct16*><void_ptr>fence.getPtr(), sizeof(self._ptr[0].params.fence))             # <<<<<<<<<<<<<<
 *     @property
 *     def nvSciSync(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_fence), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12560, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).params.fence), ((struct anon_struct16 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).params.fence))));

  /* "cuda/cuda.pyx":12558
 *     def fence(self):
 *         return self._fence
 *     @fence.setter             # <<<<<<<<<<<<<<
 *     def fence(self, fence not None : anon_struct16):
 *         string.memcpy(&self._ptr[0].params.fence, <ccuda.anon_struct16*><void_ptr>fence.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.anon_struct18.fence.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12561
 *     def fence(self, fence not None : anon_struct16):
 *         string.memcpy(&self._ptr[0].params.fence, <ccuda.anon_struct16*><void_ptr>fence.getPtr(), sizeof(self._ptr[0].params.fence))
 *     @property             # <<<<<<<<<<<<<<
 *     def nvSciSync(self):
 *         return self._nvSciSync
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct18_9nvSciSync_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct18_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_4cuda_13anon_struct18_9nvSciSync___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct18_9nvSciSync___get__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12561, 0, __PYX_ERR(1, 12561, __pyx_L1_error));

  /* "cuda/cuda.pyx":12563
 *     @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/cuda.pyx":12561
 *     def fence(self, fence not None : anon_struct16):
 *         string.memcpy(&self._ptr[0].params.fence, <ccuda.anon_struct16*><void_ptr>fence.getPtr(), sizeof(self._ptr[0].params.fence))
 *     @property             # <<<<<<<<<<<<<<
 *     def nvSciSync(self):
 *         return self._nvSciSync
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct18.nvSciSync.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12564
 *     def nvSciSync(self):
 *         return self._nvSciSync
 *     @nvSciSync.setter             # <<<<<<<<<<<<<<
 *     def nvSciSync(self, nvSciSync not None : anon_union8):
 *         string.memcpy(&self._ptr[0].params.nvSciSync, <ccuda.anon_union8*><void_ptr>nvSciSync.getPtr(), sizeof(self._ptr[0].params.nvSciSync))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct18_9nvSciSync_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_nvSciSync); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct18_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_ptype_4cuda_4cuda_anon_union8, 0, "nvSciSync", 0))) __PYX_ERR(1, 12565, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct18_9nvSciSync_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_union8 *)__pyx_v_nvSciSync));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct18_9nvSciSync_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union8 *__pyx_v_nvSciSync) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12564, 0, __PYX_ERR(1, 12564, __pyx_L1_error));

  /* "cuda/cuda.pyx":12566
 *     @nvSciSync.setter
 *     def nvSciSync(self, nvSciSync not None : anon_union8):
 *         string.memcpy(&self._ptr[0].params.nvSciSync, <ccuda.anon_union8*><void_ptr>nvSciSync.getPtr(), sizeof(self._ptr[0].params.nvSciSync))             # <<<<<<<<<<<<<<
 *     @property
 *     def keyedMutex(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_nvSciSync), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12566, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).params.nvSciSync), ((union anon_union8 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).params.nvSciSync))));

  /* "cuda/cuda.pyx":12564
 *     def nvSciSync(self):
 *         return self._nvSciSync
 *     @nvSciSync.setter             # <<<<<<<<<<<<<<
 *     def nvSciSync(self, nvSciSync not None : anon_union8):
 *         string.memcpy(&self._ptr[0].params.nvSciSync, <ccuda.anon_union8*><void_ptr>nvSciSync.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.anon_struct18.nvSciSync.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12567
 *     def nvSciSync(self, nvSciSync not None : anon_union8):
 *         string.memcpy(&self._ptr[0].params.nvSciSync, <ccuda.anon_union8*><void_ptr>nvSciSync.getPtr(), sizeof(self._ptr[0].params.nvSciSync))
 *     @property             # <<<<<<<<<<<<<<
 *     def keyedMutex(self):
 *         return self._keyedMutex
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct18_10keyedMutex_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct18_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_4cuda_13anon_struct18_10keyedMutex___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct18_10keyedMutex___get__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12567, 0, __PYX_ERR(1, 12567, __pyx_L1_error));

  /* "cuda/cuda.pyx":12569
 *     @property
 *     def keyedMutex(self):
 *         return self._keyedMutex             # <<<<<<<<<<<<<<
 *     @keyedMutex.setter
 *     def keyedMutex(self, keyedMutex not None : anon_struct17):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_keyedMutex);
  __pyx_r = ((PyObject *)__pyx_v_self->_keyedMutex);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12567
 *     def nvSciSync(self, nvSciSync not None : anon_union8):
 *         string.memcpy(&self._ptr[0].params.nvSciSync, <ccuda.anon_union8*><void_ptr>nvSciSync.getPtr(), sizeof(self._ptr[0].params.nvSciSync))
 *     @property             # <<<<<<<<<<<<<<
 *     def keyedMutex(self):
 *         return self._keyedMutex
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct18.keyedMutex.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12570
 *     def keyedMutex(self):
 *         return self._keyedMutex
 *     @keyedMutex.setter             # <<<<<<<<<<<<<<
 *     def keyedMutex(self, keyedMutex not None : anon_struct17):
 *         string.memcpy(&self._ptr[0].params.keyedMutex, <ccuda.anon_struct17*><void_ptr>keyedMutex.getPtr(), sizeof(self._ptr[0].params.keyedMutex))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct18_10keyedMutex_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_keyedMutex); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct18_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_ptype_4cuda_4cuda_anon_struct17, 0, "keyedMutex", 0))) __PYX_ERR(1, 12571, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct18_10keyedMutex_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct17 *)__pyx_v_keyedMutex));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct18_10keyedMutex_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct17 *__pyx_v_keyedMutex) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12570, 0, __PYX_ERR(1, 12570, __pyx_L1_error));

  /* "cuda/cuda.pyx":12572
 *     @keyedMutex.setter
 *     def keyedMutex(self, keyedMutex not None : anon_struct17):
 *         string.memcpy(&self._ptr[0].params.keyedMutex, <ccuda.anon_struct17*><void_ptr>keyedMutex.getPtr(), sizeof(self._ptr[0].params.keyedMutex))             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_keyedMutex), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12572, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).params.keyedMutex), ((struct anon_struct17 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).params.keyedMutex))));

  /* "cuda/cuda.pyx":12570
 *     def keyedMutex(self):
 *         return self._keyedMutex
 *     @keyedMutex.setter             # <<<<<<<<<<<<<<
 *     def keyedMutex(self, keyedMutex not None : anon_struct17):
 *         string.memcpy(&self._ptr[0].params.keyedMutex, <ccuda.anon_struct17*><void_ptr>keyedMutex.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.anon_struct18.keyedMutex.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12573
 *     def keyedMutex(self, keyedMutex not None : anon_struct17):
 *         string.memcpy(&self._ptr[0].params.keyedMutex, <ccuda.anon_struct17*><void_ptr>keyedMutex.getPtr(), sizeof(self._ptr[0].params.keyedMutex))
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].params.reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct18_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct18_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_4cuda_13anon_struct18_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct18_8reserved___get__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12573, 0, __PYX_ERR(1, 12573, __pyx_L1_error));

  /* "cuda/cuda.pyx":12575
 *     @property
 *     def reserved(self):
 *         return self._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->_ptr[0]).params.reserved, 10); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12573
 *     def keyedMutex(self, keyedMutex not None : anon_struct17):
 *         string.memcpy(&self._ptr[0].params.keyedMutex, <ccuda.anon_struct17*><void_ptr>keyedMutex.getPtr(), sizeof(self._ptr[0].params.keyedMutex))
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].params.reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct18.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12576
 *     def reserved(self):
 *         return self._ptr[0].params.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].params.reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct18_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct18_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_4cuda_13anon_struct18_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct18_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  unsigned int __pyx_t_1[10];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12576, 0, __PYX_ERR(1, 12576, __pyx_L1_error));

  /* "cuda/cuda.pyx":12578
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._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(1, 12578, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).params.reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).params.reserved[0]) * (10));

  /* "cuda/cuda.pyx":12576
 *     def reserved(self):
 *         return self._ptr[0].params.reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].params.reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct18.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_13anon_struct18_10__reduce_cython__, "anon_struct18.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct18_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct18_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct18_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct18_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct18_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__345)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct18.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct18_12__setstate_cython__, "anon_struct18.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct18_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct18_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct18_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct18.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct18_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct18_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__346)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct18.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12606
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12606, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 12606, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12606, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 12606, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 12606, 0, __PYX_ERR(1, 12606, __pyx_L1_error));

  /* "cuda/cuda.pyx":12607
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12608
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st__val);

    /* "cuda/cuda.pyx":12607
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":12610
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = anon_struct18(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":12606
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12611
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._params = anon_struct18(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12611, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 12611, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12611, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 12611, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 12611, 0, __PYX_ERR(1, 12611, __pyx_L1_error));

  /* "cuda/cuda.pyx":12612
 *             self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = anon_struct18(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 12612, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct18), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_params);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_params);
  __pyx_v_self->_params = ((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12611
 *         else:
 *             self._ptr = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._params = anon_struct18(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12613
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._params = anon_struct18(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 12613, 0, __PYX_ERR(1, 12613, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":12615
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6getPtr, "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__347)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 12615, 0, __PYX_ERR(1, 12615, __pyx_L1_error));

  /* "cuda/cuda.pyx":12616
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12615
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12617
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr47__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 12617, 0, __PYX_ERR(1, 12617, __pyx_L1_error));

  /* "cuda/cuda.pyx":12618
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12619
 *     def __repr__(self):
 *         if self._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(1, 12619, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":12620
 *         if self._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/cuda.pyx":12621
 *             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(1, 12621, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_params_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12621, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12621, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12621, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_7))) {
            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
            if (likely(__pyx_t_8)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
              __Pyx_INCREF(__pyx_t_8);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_7, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12621, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12621, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 12621, __pyx_L12_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          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_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12621, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 12621, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12621, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12621, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 12621, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12621, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_11(__pyx_t_7);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 12621, __pyx_L12_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr47__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr47__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12621, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 12621, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_9genexpr47__pyx_v_line); __pyx_9genexpr47__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_9genexpr47__pyx_v_line); __pyx_9genexpr47__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12621, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_params, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12621, __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(1, 12621, __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)) __PYX_ERR(1, 12621, __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(1, 12621, __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/cuda.pyx":12620
 *         if self._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;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":12622
 *             try:
 *                 str_list += ['params :\n' + '\n'.join(['    ' + line for line in str(self.params).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['params : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12622, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":12623
 *                 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_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12623, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_params_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_params_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_params_ValueError)) __PYX_ERR(1, 12623, __pyx_L6_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 12623, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":12620
 *         if self._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/cuda.pyx":12624
 *             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/cuda.pyx":12625
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12625, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12625, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12625, __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(1, 12625, __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)) __PYX_ERR(1, 12625, __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(1, 12625, __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/cuda.pyx":12624
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":12626
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12626, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":12627
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 */
        __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 12627, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 12627, __pyx_L21_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12627, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":12624
 *             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/cuda.pyx":12628
 *             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/cuda.pyx":12629
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12629, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12629, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12629, __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(1, 12629, __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)) __PYX_ERR(1, 12629, __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(1, 12629, __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/cuda.pyx":12628
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":12630
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12630, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":12631
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12631, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 12631, __pyx_L29_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 12631, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":12628
 *             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/cuda.pyx":12632
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":12618
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":12634
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def params(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":12617
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.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_9genexpr47__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12635
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def params(self):
 *         return self._params
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12635, 0, __PYX_ERR(1, 12635, __pyx_L1_error));

  /* "cuda/cuda.pyx":12637
 *     @property
 *     def params(self):
 *         return self._params             # <<<<<<<<<<<<<<
 *     @params.setter
 *     def params(self, params not None : anon_struct18):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_params);
  __pyx_r = ((PyObject *)__pyx_v_self->_params);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12635
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def params(self):
 *         return self._params
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.params.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12638
 *     def params(self):
 *         return self._params
 *     @params.setter             # <<<<<<<<<<<<<<
 *     def params(self, params not None : anon_struct18):
 *         string.memcpy(&self._ptr[0].params, <ccuda.anon_struct18*><void_ptr>params.getPtr(), sizeof(self._ptr[0].params))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_params); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct18, 0, "params", 0))) __PYX_ERR(1, 12639, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)__pyx_v_params));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct18 *__pyx_v_params) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12638, 0, __PYX_ERR(1, 12638, __pyx_L1_error));

  /* "cuda/cuda.pyx":12640
 *     @params.setter
 *     def params(self, params not None : anon_struct18):
 *         string.memcpy(&self._ptr[0].params, <ccuda.anon_struct18*><void_ptr>params.getPtr(), sizeof(self._ptr[0].params))             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_params), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12640, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12640, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).params), ((struct anon_struct18 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).params))));

  /* "cuda/cuda.pyx":12638
 *     def params(self):
 *         return self._params
 *     @params.setter             # <<<<<<<<<<<<<<
 *     def params(self, params not None : anon_struct18):
 *         string.memcpy(&self._ptr[0].params, <ccuda.anon_struct18*><void_ptr>params.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.params.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12641
 *     def params(self, params not None : anon_struct18):
 *         string.memcpy(&self._ptr[0].params, <ccuda.anon_struct18*><void_ptr>params.getPtr(), sizeof(self._ptr[0].params))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12641, 0, __PYX_ERR(1, 12641, __pyx_L1_error));

  /* "cuda/cuda.pyx":12643
 *     @property
 *     def flags(self):
 *         return self._ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12641
 *     def params(self, params not None : anon_struct18):
 *         string.memcpy(&self._ptr[0].params, <ccuda.anon_struct18*><void_ptr>params.getPtr(), sizeof(self._ptr[0].params))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12644
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12645, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12644, 0, __PYX_ERR(1, 12644, __pyx_L1_error));

  /* "cuda/cuda.pyx":12646
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":12644
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12647
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12647, 0, __PYX_ERR(1, 12647, __pyx_L1_error));

  /* "cuda/cuda.pyx":12649
 *     @property
 *     def reserved(self):
 *         return self._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->_ptr[0]).reserved, 16); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12647
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12650
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  unsigned int __pyx_t_1[16];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12650, 0, __PYX_ERR(1, 12650, __pyx_L1_error));

  /* "cuda/cuda.pyx":12652
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._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(1, 12652, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved[0]) * (16));

  /* "cuda/cuda.pyx":12650
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_10__reduce_cython__, "CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__348)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__349)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12674
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12674, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 12674, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12674, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 12674, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 12674, 0, __PYX_ERR(1, 12674, __pyx_L1_error));

  /* "cuda/cuda.pyx":12675
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12676
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st__val);

    /* "cuda/cuda.pyx":12675
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":12678
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":12674
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12679
 *         else:
 *             self._ptr = <ccuda.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_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12679, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 12679, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12679, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 12679, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 12679, 0, __PYX_ERR(1, 12679, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12681
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 12681, 0, __PYX_ERR(1, 12681, __pyx_L1_error));

  /* "cuda/cuda.pyx":12682
 *         pass
 *     def __dealloc__(self):
 *         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/cuda.pyx":12683
 *     def __dealloc__(self):
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)             # <<<<<<<<<<<<<<
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 */
    free(__pyx_v_self->_extSemArray);

    /* "cuda/cuda.pyx":12682
 *         pass
 *     def __dealloc__(self):
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
 */
  }

  /* "cuda/cuda.pyx":12684
 *         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/cuda.pyx":12685
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_paramsArray);

    /* "cuda/cuda.pyx":12684
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":12681
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":12686
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_6getPtr, "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__350)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 12686, 0, __PYX_ERR(1, 12686, __pyx_L1_error));

  /* "cuda/cuda.pyx":12687
 *             free(self._paramsArray)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12686
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12688
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 12688, 0, __PYX_ERR(1, 12688, __pyx_L1_error));

  /* "cuda/cuda.pyx":12689
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12690
 *     def __repr__(self):
 *         if self._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(1, 12690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":12691
 *         if self._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/cuda.pyx":12692
 *             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_n_s_extSemArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12692, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12692, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_extSemArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12692, __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(1, 12692, __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)) __PYX_ERR(1, 12692, __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(1, 12692, __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/cuda.pyx":12691
 *         if self._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/cuda.pyx":12693
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12693, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":12694
 *                 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(1, 12694, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_extSemArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_extSemArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_extSemArray_ValueError)) __PYX_ERR(1, 12694, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 12694, __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/cuda.pyx":12691
 *         if self._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/cuda.pyx":12695
 *             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/cuda.pyx":12696
 *                 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_n_s_paramsArray_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12696, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12696, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_paramsArray, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12696, __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(1, 12696, __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)) __PYX_ERR(1, 12696, __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(1, 12696, __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/cuda.pyx":12695
 *             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/cuda.pyx":12697
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12697, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":12698
 *                 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(1, 12698, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_paramsArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_paramsArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_paramsArray_ValueError)) __PYX_ERR(1, 12698, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 12698, __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/cuda.pyx":12695
 *             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/cuda.pyx":12699
 *             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/cuda.pyx":12700
 *                 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_n_s_numExtSems_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12700, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12700, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_numExtSems, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12700, __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(1, 12700, __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)) __PYX_ERR(1, 12700, __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(1, 12700, __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/cuda.pyx":12699
 *             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/cuda.pyx":12701
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12701, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":12702
 *                 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(1, 12702, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_numExtSems_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_numExtSems_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_numExtSems_ValueError)) __PYX_ERR(1, 12702, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 12702, __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/cuda.pyx":12699
 *             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/cuda.pyx":12703
 *             except ValueError:
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12703, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":12689
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":12705
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def extSemArray(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":12688
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12706
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.CUexternalSemaphore) for x in range(self._extSemArray_length)]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_9genexpr48__pyx_v_x;
  PyObject *__pyx_9genexpr49__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12706, 0, __PYX_ERR(1, 12706, __pyx_L1_error));

  /* "cuda/cuda.pyx":12708
 *     @property
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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(1, 12708, __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_9genexpr48__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).extSemArray) + (__pyx_9genexpr48__pyx_v_x * (sizeof(CUexternalSemaphore))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12708, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 12708, __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/cuda.pyx":12709
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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(1, 12709, __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12709, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 12709, __pyx_L7_error)
      #else
      __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12709, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr49__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12709, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr49__pyx_v_arr) < 0) __PYX_ERR(1, 12709, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUexternalSemaphore), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12709, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 12709, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr49__pyx_v_arr); __pyx_9genexpr49__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr49__pyx_v_arr); __pyx_9genexpr49__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/cuda.pyx":12706
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.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_9genexpr49__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12710
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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;
  CUexternalSemaphore *__pyx_t_6;
  Py_ssize_t __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12710, 0, __PYX_ERR(1, 12710, __pyx_L1_error));

  /* "cuda/cuda.pyx":12712
 *     @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(1, 12712, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":12713
 *     def extSemArray(self, val):
 *         if len(val) == 0:
 *             free(self._extSemArray)             # <<<<<<<<<<<<<<
 *             self._extSemArray_length = 0
 *             self._ptr[0].extSemArray = NULL
 */
    free(__pyx_v_self->_extSemArray);

    /* "cuda/cuda.pyx":12714
 *         if len(val) == 0:
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].extSemArray = NULL
 *         else:
 */
    __pyx_v_self->_extSemArray_length = 0;

    /* "cuda/cuda.pyx":12715
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 *             self._ptr[0].extSemArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
 */
    (__pyx_v_self->_ptr[0]).extSemArray = NULL;

    /* "cuda/cuda.pyx":12712
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":12717
 *             self._ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 */
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12717, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_extSemArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/cuda.pyx":12718
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)             # <<<<<<<<<<<<<<
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:
 */
      free(__pyx_v_self->_extSemArray);

      /* "cuda/cuda.pyx":12719
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))             # <<<<<<<<<<<<<<
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12719, __pyx_L1_error)
      __pyx_v_self->_extSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_1, (sizeof(CUexternalSemaphore))));

      /* "cuda/cuda.pyx":12720
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
 */
      __pyx_t_2 = (__pyx_v_self->_extSemArray == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/cuda.pyx":12721
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))             # <<<<<<<<<<<<<<
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._ptr[0].extSemArray = self._extSemArray
 */
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12721, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12721, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12721, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12721, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12721, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUexternalSemaphore))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12721, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12721, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12721, __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_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12721, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __PYX_ERR(1, 12721, __pyx_L1_error)

        /* "cuda/cuda.pyx":12720
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
 */
      }

      /* "cuda/cuda.pyx":12722
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._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(1, 12722, __pyx_L1_error)
      __pyx_v_self->_extSemArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cuda.pyx":12723
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._ptr[0].extSemArray = self._extSemArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]
 */
      __pyx_t_6 = __pyx_v_self->_extSemArray;
      (__pyx_v_self->_ptr[0]).extSemArray = __pyx_t_6;

      /* "cuda/cuda.pyx":12717
 *             self._ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 */
    }

    /* "cuda/cuda.pyx":12724
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]
 * 
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12724, __pyx_L1_error)
    __pyx_t_7 = __pyx_t_1;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_v_idx = __pyx_t_8;

      /* "cuda/cuda.pyx":12725
 *                 self._ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12725, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (__pyx_v_self->_extSemArray[__pyx_v_idx]) = (((struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *)__pyx_t_5)->_ptr[0]);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":12710
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.extSemArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12727
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) for x in range(self._paramsArray_length)]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_9genexpr50__pyx_v_x;
  PyObject *__pyx_9genexpr51__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12727, 0, __PYX_ERR(1, 12727, __pyx_L1_error));

  /* "cuda/cuda.pyx":12729
 *     @property
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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(1, 12729, __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_9genexpr50__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).paramsArray) + (__pyx_9genexpr50__pyx_v_x * (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12729, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 12729, __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/cuda.pyx":12730
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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(1, 12730, __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12730, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 12730, __pyx_L7_error)
      #else
      __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12730, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr51__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12730, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr51__pyx_v_arr) < 0) __PYX_ERR(1, 12730, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12730, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 12730, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr51__pyx_v_arr); __pyx_9genexpr51__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr51__pyx_v_arr); __pyx_9genexpr51__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/cuda.pyx":12727
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.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_9genexpr51__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12731
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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;
  CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *__pyx_t_6;
  Py_ssize_t __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12731, 0, __PYX_ERR(1, 12731, __pyx_L1_error));

  /* "cuda/cuda.pyx":12733
 *     @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(1, 12733, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":12734
 *     def paramsArray(self, val):
 *         if len(val) == 0:
 *             free(self._paramsArray)             # <<<<<<<<<<<<<<
 *             self._paramsArray_length = 0
 *             self._ptr[0].paramsArray = NULL
 */
    free(__pyx_v_self->_paramsArray);

    /* "cuda/cuda.pyx":12735
 *         if len(val) == 0:
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].paramsArray = NULL
 *         else:
 */
    __pyx_v_self->_paramsArray_length = 0;

    /* "cuda/cuda.pyx":12736
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 *             self._ptr[0].paramsArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
 */
    (__pyx_v_self->_ptr[0]).paramsArray = NULL;

    /* "cuda/cuda.pyx":12733
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":12738
 *             self._ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(ccuda.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(1, 12738, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramsArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/cuda.pyx":12739
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)             # <<<<<<<<<<<<<<
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *                 if self._paramsArray is NULL:
 */
      free(__pyx_v_self->_paramsArray);

      /* "cuda/cuda.pyx":12740
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(ccuda.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(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12740, __pyx_L1_error)
      __pyx_v_self->_paramsArray = ((CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *)calloc(__pyx_t_1, (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))));

      /* "cuda/cuda.pyx":12741
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(ccuda.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(ccuda.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/cuda.pyx":12742
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(ccuda.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(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))             # <<<<<<<<<<<<<<
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._ptr[0].paramsArray = self._paramsArray
 */
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12742, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12742, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12742, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12742, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12742, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12742, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12742, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12742, __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_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12742, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __PYX_ERR(1, 12742, __pyx_L1_error)

        /* "cuda/cuda.pyx":12741
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(ccuda.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(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
 */
      }

      /* "cuda/cuda.pyx":12743
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._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(1, 12743, __pyx_L1_error)
      __pyx_v_self->_paramsArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cuda.pyx":12744
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._ptr[0].paramsArray = self._paramsArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 */
      __pyx_t_6 = __pyx_v_self->_paramsArray;
      (__pyx_v_self->_ptr[0]).paramsArray = __pyx_t_6;

      /* "cuda/cuda.pyx":12738
 *             self._ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 */
    }

    /* "cuda/cuda.pyx":12745
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 * 
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12745, __pyx_L1_error)
    __pyx_t_7 = __pyx_t_1;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_v_idx = __pyx_t_8;

      /* "cuda/cuda.pyx":12746
 *                 self._ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12746, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (void)(memcpy((&(__pyx_v_self->_paramsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *)__pyx_t_5)->__pyx_base.__pyx_base._ptr, (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":12731
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.paramsArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12748
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12748, 0, __PYX_ERR(1, 12748, __pyx_L1_error));

  /* "cuda/cuda.pyx":12750
 *     @property
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems             # <<<<<<<<<<<<<<
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).numExtSems); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12748
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12751
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems
 *     @numExtSems.setter             # <<<<<<<<<<<<<<
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._ptr[0].numExtSems = numExtSems
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numExtSems); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_numExtSems); if (unlikely((__pyx_v_numExtSems == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12752, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_numExtSems) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12751, 0, __PYX_ERR(1, 12751, __pyx_L1_error));

  /* "cuda/cuda.pyx":12753
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._ptr[0].numExtSems = numExtSems             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:
 */
  (__pyx_v_self->_ptr[0]).numExtSems = __pyx_v_numExtSems;

  /* "cuda/cuda.pyx":12751
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems
 *     @numExtSems.setter             # <<<<<<<<<<<<<<
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._ptr[0].numExtSems = numExtSems
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.numExtSems.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__351)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__352)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12775
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12775, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 12775, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12775, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 12775, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 12775, 0, __PYX_ERR(1, 12775, __pyx_L1_error));

  /* "cuda/cuda.pyx":12776
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12777
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st__val);

    /* "cuda/cuda.pyx":12776
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":12779
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":12775
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12780
 *         else:
 *             self._ptr = <ccuda.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_4cuda_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_4cuda_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_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12780, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 12780, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12780, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 12780, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 12780, 0, __PYX_ERR(1, 12780, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12782
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 12782, 0, __PYX_ERR(1, 12782, __pyx_L1_error));

  /* "cuda/cuda.pyx":12783
 *         pass
 *     def __dealloc__(self):
 *         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/cuda.pyx":12784
 *     def __dealloc__(self):
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)             # <<<<<<<<<<<<<<
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 */
    free(__pyx_v_self->_extSemArray);

    /* "cuda/cuda.pyx":12783
 *         pass
 *     def __dealloc__(self):
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
 */
  }

  /* "cuda/cuda.pyx":12785
 *         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/cuda.pyx":12786
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_paramsArray);

    /* "cuda/cuda.pyx":12785
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":12782
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":12787
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_6getPtr, "CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__353)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 12787, 0, __PYX_ERR(1, 12787, __pyx_L1_error));

  /* "cuda/cuda.pyx":12788
 *             free(self._paramsArray)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12787
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12789
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 12789, 0, __PYX_ERR(1, 12789, __pyx_L1_error));

  /* "cuda/cuda.pyx":12790
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12791
 *     def __repr__(self):
 *         if self._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(1, 12791, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":12792
 *         if self._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/cuda.pyx":12793
 *             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_n_s_extSemArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12793, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12793, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_extSemArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12793, __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(1, 12793, __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)) __PYX_ERR(1, 12793, __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(1, 12793, __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/cuda.pyx":12792
 *         if self._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/cuda.pyx":12794
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12794, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":12795
 *                 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(1, 12795, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_extSemArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_extSemArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_extSemArray_ValueError)) __PYX_ERR(1, 12795, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 12795, __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/cuda.pyx":12792
 *         if self._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/cuda.pyx":12796
 *             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/cuda.pyx":12797
 *                 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_n_s_paramsArray_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12797, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12797, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_paramsArray, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12797, __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(1, 12797, __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)) __PYX_ERR(1, 12797, __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(1, 12797, __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/cuda.pyx":12796
 *             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/cuda.pyx":12798
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12798, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":12799
 *                 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(1, 12799, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_paramsArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_paramsArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_paramsArray_ValueError)) __PYX_ERR(1, 12799, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 12799, __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/cuda.pyx":12796
 *             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/cuda.pyx":12800
 *             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/cuda.pyx":12801
 *                 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_n_s_numExtSems_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12801, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12801, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_numExtSems, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12801, __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(1, 12801, __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)) __PYX_ERR(1, 12801, __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(1, 12801, __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/cuda.pyx":12800
 *             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/cuda.pyx":12802
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12802, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":12803
 *                 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(1, 12803, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_numExtSems_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_numExtSems_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_numExtSems_ValueError)) __PYX_ERR(1, 12803, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 12803, __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/cuda.pyx":12800
 *             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/cuda.pyx":12804
 *             except ValueError:
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12804, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":12790
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":12806
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def extSemArray(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":12789
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12807
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.CUexternalSemaphore) for x in range(self._extSemArray_length)]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_9genexpr52__pyx_v_x;
  PyObject *__pyx_9genexpr53__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12807, 0, __PYX_ERR(1, 12807, __pyx_L1_error));

  /* "cuda/cuda.pyx":12809
 *     @property
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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(1, 12809, __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_9genexpr52__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).extSemArray) + (__pyx_9genexpr52__pyx_v_x * (sizeof(CUexternalSemaphore))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12809, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 12809, __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/cuda.pyx":12810
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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(1, 12810, __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12810, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 12810, __pyx_L7_error)
      #else
      __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12810, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr53__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12810, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr53__pyx_v_arr) < 0) __PYX_ERR(1, 12810, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUexternalSemaphore), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12810, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 12810, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr53__pyx_v_arr); __pyx_9genexpr53__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr53__pyx_v_arr); __pyx_9genexpr53__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/cuda.pyx":12807
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.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_9genexpr53__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12811
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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_4cuda_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_4cuda_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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray_2__set__(struct __pyx_obj_4cuda_4cuda_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_TraceDeclarations
  __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;
  CUexternalSemaphore *__pyx_t_6;
  Py_ssize_t __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12811, 0, __PYX_ERR(1, 12811, __pyx_L1_error));

  /* "cuda/cuda.pyx":12813
 *     @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(1, 12813, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":12814
 *     def extSemArray(self, val):
 *         if len(val) == 0:
 *             free(self._extSemArray)             # <<<<<<<<<<<<<<
 *             self._extSemArray_length = 0
 *             self._ptr[0].extSemArray = NULL
 */
    free(__pyx_v_self->_extSemArray);

    /* "cuda/cuda.pyx":12815
 *         if len(val) == 0:
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].extSemArray = NULL
 *         else:
 */
    __pyx_v_self->_extSemArray_length = 0;

    /* "cuda/cuda.pyx":12816
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 *             self._ptr[0].extSemArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
 */
    (__pyx_v_self->_ptr[0]).extSemArray = NULL;

    /* "cuda/cuda.pyx":12813
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":12818
 *             self._ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 */
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12818, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_extSemArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/cuda.pyx":12819
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)             # <<<<<<<<<<<<<<
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:
 */
      free(__pyx_v_self->_extSemArray);

      /* "cuda/cuda.pyx":12820
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))             # <<<<<<<<<<<<<<
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12820, __pyx_L1_error)
      __pyx_v_self->_extSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_1, (sizeof(CUexternalSemaphore))));

      /* "cuda/cuda.pyx":12821
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
 */
      __pyx_t_2 = (__pyx_v_self->_extSemArray == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/cuda.pyx":12822
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))             # <<<<<<<<<<<<<<
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._ptr[0].extSemArray = self._extSemArray
 */
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12822, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12822, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12822, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12822, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12822, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUexternalSemaphore))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12822, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12822, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12822, __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_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12822, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __PYX_ERR(1, 12822, __pyx_L1_error)

        /* "cuda/cuda.pyx":12821
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
 */
      }

      /* "cuda/cuda.pyx":12823
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._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(1, 12823, __pyx_L1_error)
      __pyx_v_self->_extSemArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cuda.pyx":12824
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._ptr[0].extSemArray = self._extSemArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]
 */
      __pyx_t_6 = __pyx_v_self->_extSemArray;
      (__pyx_v_self->_ptr[0]).extSemArray = __pyx_t_6;

      /* "cuda/cuda.pyx":12818
 *             self._ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 */
    }

    /* "cuda/cuda.pyx":12825
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]
 * 
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12825, __pyx_L1_error)
    __pyx_t_7 = __pyx_t_1;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_v_idx = __pyx_t_8;

      /* "cuda/cuda.pyx":12826
 *                 self._ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12826, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (__pyx_v_self->_extSemArray[__pyx_v_idx]) = (((struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *)__pyx_t_5)->_ptr[0]);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":12811
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.extSemArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12828
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) for x in range(self._paramsArray_length)]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_9genexpr54__pyx_v_x;
  PyObject *__pyx_9genexpr55__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12828, 0, __PYX_ERR(1, 12828, __pyx_L1_error));

  /* "cuda/cuda.pyx":12830
 *     @property
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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(1, 12830, __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_9genexpr54__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).paramsArray) + (__pyx_9genexpr54__pyx_v_x * (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12830, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 12830, __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/cuda.pyx":12831
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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(1, 12831, __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12831, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 12831, __pyx_L7_error)
      #else
      __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12831, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr55__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12831, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr55__pyx_v_arr) < 0) __PYX_ERR(1, 12831, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12831, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 12831, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr55__pyx_v_arr); __pyx_9genexpr55__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr55__pyx_v_arr); __pyx_9genexpr55__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/cuda.pyx":12828
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.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_9genexpr55__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12832
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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_4cuda_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_4cuda_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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray_2__set__(struct __pyx_obj_4cuda_4cuda_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_TraceDeclarations
  __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;
  CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *__pyx_t_6;
  Py_ssize_t __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12832, 0, __PYX_ERR(1, 12832, __pyx_L1_error));

  /* "cuda/cuda.pyx":12834
 *     @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(1, 12834, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":12835
 *     def paramsArray(self, val):
 *         if len(val) == 0:
 *             free(self._paramsArray)             # <<<<<<<<<<<<<<
 *             self._paramsArray_length = 0
 *             self._ptr[0].paramsArray = NULL
 */
    free(__pyx_v_self->_paramsArray);

    /* "cuda/cuda.pyx":12836
 *         if len(val) == 0:
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].paramsArray = NULL
 *         else:
 */
    __pyx_v_self->_paramsArray_length = 0;

    /* "cuda/cuda.pyx":12837
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 *             self._ptr[0].paramsArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
 */
    (__pyx_v_self->_ptr[0]).paramsArray = NULL;

    /* "cuda/cuda.pyx":12834
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":12839
 *             self._ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(ccuda.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(1, 12839, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramsArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/cuda.pyx":12840
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)             # <<<<<<<<<<<<<<
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *                 if self._paramsArray is NULL:
 */
      free(__pyx_v_self->_paramsArray);

      /* "cuda/cuda.pyx":12841
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(ccuda.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(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12841, __pyx_L1_error)
      __pyx_v_self->_paramsArray = ((CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *)calloc(__pyx_t_1, (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))));

      /* "cuda/cuda.pyx":12842
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(ccuda.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(ccuda.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/cuda.pyx":12843
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(ccuda.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(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))             # <<<<<<<<<<<<<<
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._ptr[0].paramsArray = self._paramsArray
 */
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12843, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12843, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12843, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12843, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12843, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12843, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12843, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12843, __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_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12843, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __PYX_ERR(1, 12843, __pyx_L1_error)

        /* "cuda/cuda.pyx":12842
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(ccuda.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(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
 */
      }

      /* "cuda/cuda.pyx":12844
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._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(1, 12844, __pyx_L1_error)
      __pyx_v_self->_paramsArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cuda.pyx":12845
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._ptr[0].paramsArray = self._paramsArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 */
      __pyx_t_6 = __pyx_v_self->_paramsArray;
      (__pyx_v_self->_ptr[0]).paramsArray = __pyx_t_6;

      /* "cuda/cuda.pyx":12839
 *             self._ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(val), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 */
    }

    /* "cuda/cuda.pyx":12846
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 * 
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12846, __pyx_L1_error)
    __pyx_t_7 = __pyx_t_1;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_v_idx = __pyx_t_8;

      /* "cuda/cuda.pyx":12847
 *                 self._ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12847, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (void)(memcpy((&(__pyx_v_self->_paramsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *)__pyx_t_5)->__pyx_base.__pyx_base._ptr, (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":12832
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.paramsArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12849
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12849, 0, __PYX_ERR(1, 12849, __pyx_L1_error));

  /* "cuda/cuda.pyx":12851
 *     @property
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems             # <<<<<<<<<<<<<<
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).numExtSems); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12849
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12852
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems
 *     @numExtSems.setter             # <<<<<<<<<<<<<<
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._ptr[0].numExtSems = numExtSems
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_numExtSems); if (unlikely((__pyx_v_numExtSems == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12853, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_numExtSems) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12852, 0, __PYX_ERR(1, 12852, __pyx_L1_error));

  /* "cuda/cuda.pyx":12854
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._ptr[0].numExtSems = numExtSems             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:
 */
  (__pyx_v_self->_ptr[0]).numExtSems = __pyx_v_numExtSems;

  /* "cuda/cuda.pyx":12852
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems
 *     @numExtSems.setter             # <<<<<<<<<<<<<<
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._ptr[0].numExtSems = numExtSems
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.numExtSems.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__354)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__355)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12876
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12876, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 12876, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12876, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 12876, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 12876, 0, __PYX_ERR(1, 12876, __pyx_L1_error));

  /* "cuda/cuda.pyx":12877
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12878
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st__val);

    /* "cuda/cuda.pyx":12877
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":12880
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":12876
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12881
 *         else:
 *             self._ptr = <ccuda.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_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12881, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 12881, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12881, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 12881, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 12881, 0, __PYX_ERR(1, 12881, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12883
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 12883, 0, __PYX_ERR(1, 12883, __pyx_L1_error));

  /* "cuda/cuda.pyx":12884
 *         pass
 *     def __dealloc__(self):
 *         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/cuda.pyx":12885
 *     def __dealloc__(self):
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)             # <<<<<<<<<<<<<<
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 */
    free(__pyx_v_self->_extSemArray);

    /* "cuda/cuda.pyx":12884
 *         pass
 *     def __dealloc__(self):
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
 */
  }

  /* "cuda/cuda.pyx":12886
 *         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/cuda.pyx":12887
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_paramsArray);

    /* "cuda/cuda.pyx":12886
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":12883
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":12888
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_6getPtr, "CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__356)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 12888, 0, __PYX_ERR(1, 12888, __pyx_L1_error));

  /* "cuda/cuda.pyx":12889
 *             free(self._paramsArray)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12888
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12890
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 12890, 0, __PYX_ERR(1, 12890, __pyx_L1_error));

  /* "cuda/cuda.pyx":12891
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12892
 *     def __repr__(self):
 *         if self._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(1, 12892, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":12893
 *         if self._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/cuda.pyx":12894
 *             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_n_s_extSemArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12894, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12894, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_extSemArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12894, __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(1, 12894, __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)) __PYX_ERR(1, 12894, __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(1, 12894, __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/cuda.pyx":12893
 *         if self._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/cuda.pyx":12895
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12895, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":12896
 *                 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(1, 12896, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_extSemArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_extSemArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_extSemArray_ValueError)) __PYX_ERR(1, 12896, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 12896, __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/cuda.pyx":12893
 *         if self._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/cuda.pyx":12897
 *             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/cuda.pyx":12898
 *                 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_n_s_paramsArray_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12898, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12898, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_paramsArray, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12898, __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(1, 12898, __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)) __PYX_ERR(1, 12898, __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(1, 12898, __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/cuda.pyx":12897
 *             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/cuda.pyx":12899
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12899, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":12900
 *                 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(1, 12900, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_paramsArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_paramsArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_paramsArray_ValueError)) __PYX_ERR(1, 12900, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 12900, __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/cuda.pyx":12897
 *             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/cuda.pyx":12901
 *             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/cuda.pyx":12902
 *                 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_n_s_numExtSems_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12902, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12902, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_numExtSems, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12902, __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(1, 12902, __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)) __PYX_ERR(1, 12902, __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(1, 12902, __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/cuda.pyx":12901
 *             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/cuda.pyx":12903
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12903, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":12904
 *                 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(1, 12904, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_numExtSems_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_numExtSems_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_numExtSems_ValueError)) __PYX_ERR(1, 12904, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 12904, __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/cuda.pyx":12901
 *             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/cuda.pyx":12905
 *             except ValueError:
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":12891
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":12907
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def extSemArray(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":12890
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12908
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.CUexternalSemaphore) for x in range(self._extSemArray_length)]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_9genexpr56__pyx_v_x;
  PyObject *__pyx_9genexpr57__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12908, 0, __PYX_ERR(1, 12908, __pyx_L1_error));

  /* "cuda/cuda.pyx":12910
 *     @property
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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(1, 12910, __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_9genexpr56__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).extSemArray) + (__pyx_9genexpr56__pyx_v_x * (sizeof(CUexternalSemaphore))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12910, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 12910, __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/cuda.pyx":12911
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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(1, 12911, __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12911, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 12911, __pyx_L7_error)
      #else
      __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12911, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr57__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12911, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr57__pyx_v_arr) < 0) __PYX_ERR(1, 12911, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUexternalSemaphore), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12911, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 12911, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr57__pyx_v_arr); __pyx_9genexpr57__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr57__pyx_v_arr); __pyx_9genexpr57__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/cuda.pyx":12908
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.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_9genexpr57__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12912
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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;
  CUexternalSemaphore *__pyx_t_6;
  Py_ssize_t __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12912, 0, __PYX_ERR(1, 12912, __pyx_L1_error));

  /* "cuda/cuda.pyx":12914
 *     @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(1, 12914, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":12915
 *     def extSemArray(self, val):
 *         if len(val) == 0:
 *             free(self._extSemArray)             # <<<<<<<<<<<<<<
 *             self._extSemArray_length = 0
 *             self._ptr[0].extSemArray = NULL
 */
    free(__pyx_v_self->_extSemArray);

    /* "cuda/cuda.pyx":12916
 *         if len(val) == 0:
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].extSemArray = NULL
 *         else:
 */
    __pyx_v_self->_extSemArray_length = 0;

    /* "cuda/cuda.pyx":12917
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 *             self._ptr[0].extSemArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
 */
    (__pyx_v_self->_ptr[0]).extSemArray = NULL;

    /* "cuda/cuda.pyx":12914
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":12919
 *             self._ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 */
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12919, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_extSemArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/cuda.pyx":12920
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)             # <<<<<<<<<<<<<<
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:
 */
      free(__pyx_v_self->_extSemArray);

      /* "cuda/cuda.pyx":12921
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))             # <<<<<<<<<<<<<<
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12921, __pyx_L1_error)
      __pyx_v_self->_extSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_1, (sizeof(CUexternalSemaphore))));

      /* "cuda/cuda.pyx":12922
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
 */
      __pyx_t_2 = (__pyx_v_self->_extSemArray == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/cuda.pyx":12923
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))             # <<<<<<<<<<<<<<
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._ptr[0].extSemArray = self._extSemArray
 */
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12923, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12923, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12923, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12923, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12923, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUexternalSemaphore))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12923, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12923, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12923, __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_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12923, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __PYX_ERR(1, 12923, __pyx_L1_error)

        /* "cuda/cuda.pyx":12922
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
 */
      }

      /* "cuda/cuda.pyx":12924
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._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(1, 12924, __pyx_L1_error)
      __pyx_v_self->_extSemArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cuda.pyx":12925
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._ptr[0].extSemArray = self._extSemArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]
 */
      __pyx_t_6 = __pyx_v_self->_extSemArray;
      (__pyx_v_self->_ptr[0]).extSemArray = __pyx_t_6;

      /* "cuda/cuda.pyx":12919
 *             self._ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 */
    }

    /* "cuda/cuda.pyx":12926
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]
 * 
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12926, __pyx_L1_error)
    __pyx_t_7 = __pyx_t_1;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_v_idx = __pyx_t_8;

      /* "cuda/cuda.pyx":12927
 *                 self._ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12927, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (__pyx_v_self->_extSemArray[__pyx_v_idx]) = (((struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *)__pyx_t_5)->_ptr[0]);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":12912
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.extSemArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12929
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) for x in range(self._paramsArray_length)]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_9genexpr58__pyx_v_x;
  PyObject *__pyx_9genexpr59__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12929, 0, __PYX_ERR(1, 12929, __pyx_L1_error));

  /* "cuda/cuda.pyx":12931
 *     @property
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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(1, 12931, __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_9genexpr58__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).paramsArray) + (__pyx_9genexpr58__pyx_v_x * (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12931, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 12931, __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/cuda.pyx":12932
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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(1, 12932, __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 12932, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 12932, __pyx_L7_error)
      #else
      __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12932, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr59__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 12932, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr59__pyx_v_arr) < 0) __PYX_ERR(1, 12932, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12932, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 12932, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr59__pyx_v_arr); __pyx_9genexpr59__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr59__pyx_v_arr); __pyx_9genexpr59__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/cuda.pyx":12929
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.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_9genexpr59__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12933
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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;
  CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *__pyx_t_6;
  Py_ssize_t __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 12933, 0, __PYX_ERR(1, 12933, __pyx_L1_error));

  /* "cuda/cuda.pyx":12935
 *     @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(1, 12935, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":12936
 *     def paramsArray(self, val):
 *         if len(val) == 0:
 *             free(self._paramsArray)             # <<<<<<<<<<<<<<
 *             self._paramsArray_length = 0
 *             self._ptr[0].paramsArray = NULL
 */
    free(__pyx_v_self->_paramsArray);

    /* "cuda/cuda.pyx":12937
 *         if len(val) == 0:
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].paramsArray = NULL
 *         else:
 */
    __pyx_v_self->_paramsArray_length = 0;

    /* "cuda/cuda.pyx":12938
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 *             self._ptr[0].paramsArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
 */
    (__pyx_v_self->_ptr[0]).paramsArray = NULL;

    /* "cuda/cuda.pyx":12935
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":12940
 *             self._ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(ccuda.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(1, 12940, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramsArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/cuda.pyx":12941
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)             # <<<<<<<<<<<<<<
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *                 if self._paramsArray is NULL:
 */
      free(__pyx_v_self->_paramsArray);

      /* "cuda/cuda.pyx":12942
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(ccuda.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(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12942, __pyx_L1_error)
      __pyx_v_self->_paramsArray = ((CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *)calloc(__pyx_t_1, (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))));

      /* "cuda/cuda.pyx":12943
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(ccuda.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(ccuda.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/cuda.pyx":12944
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(ccuda.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(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))             # <<<<<<<<<<<<<<
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._ptr[0].paramsArray = self._paramsArray
 */
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12944, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12944, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12944, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12944, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 12944, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12944, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12944, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 12944, __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_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12944, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __PYX_ERR(1, 12944, __pyx_L1_error)

        /* "cuda/cuda.pyx":12943
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(ccuda.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(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
 */
      }

      /* "cuda/cuda.pyx":12945
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._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(1, 12945, __pyx_L1_error)
      __pyx_v_self->_paramsArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cuda.pyx":12946
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._ptr[0].paramsArray = self._paramsArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 */
      __pyx_t_6 = __pyx_v_self->_paramsArray;
      (__pyx_v_self->_ptr[0]).paramsArray = __pyx_t_6;

      /* "cuda/cuda.pyx":12940
 *             self._ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 */
    }

    /* "cuda/cuda.pyx":12947
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 * 
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 12947, __pyx_L1_error)
    __pyx_t_7 = __pyx_t_1;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_v_idx = __pyx_t_8;

      /* "cuda/cuda.pyx":12948
 *                 self._ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 12948, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (void)(memcpy((&(__pyx_v_self->_paramsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *)__pyx_t_5)->__pyx_base.__pyx_base._ptr, (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":12933
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.paramsArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12950
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 12950, 0, __PYX_ERR(1, 12950, __pyx_L1_error));

  /* "cuda/cuda.pyx":12952
 *     @property
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems             # <<<<<<<<<<<<<<
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).numExtSems); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12950
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12953
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems
 *     @numExtSems.setter             # <<<<<<<<<<<<<<
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._ptr[0].numExtSems = numExtSems
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numExtSems); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_numExtSems); if (unlikely((__pyx_v_numExtSems == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12954, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, unsigned int __pyx_v_numExtSems) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 12953, 0, __PYX_ERR(1, 12953, __pyx_L1_error));

  /* "cuda/cuda.pyx":12955
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._ptr[0].numExtSems = numExtSems             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:
 */
  (__pyx_v_self->_ptr[0]).numExtSems = __pyx_v_numExtSems;

  /* "cuda/cuda.pyx":12953
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems
 *     @numExtSems.setter             # <<<<<<<<<<<<<<
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._ptr[0].numExtSems = numExtSems
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.numExtSems.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__357)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__358)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12977
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12977, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 12977, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12977, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 12977, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 12977, 0, __PYX_ERR(1, 12977, __pyx_L1_error));

  /* "cuda/cuda.pyx":12978
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12979
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st__val);

    /* "cuda/cuda.pyx":12978
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":12981
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":12977
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12982
 *         else:
 *             self._ptr = <ccuda.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_4cuda_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_4cuda_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_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 12982, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 12982, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 12982, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 12982, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 12982, 0, __PYX_ERR(1, 12982, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":12984
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 12984, 0, __PYX_ERR(1, 12984, __pyx_L1_error));

  /* "cuda/cuda.pyx":12985
 *         pass
 *     def __dealloc__(self):
 *         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/cuda.pyx":12986
 *     def __dealloc__(self):
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)             # <<<<<<<<<<<<<<
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 */
    free(__pyx_v_self->_extSemArray);

    /* "cuda/cuda.pyx":12985
 *         pass
 *     def __dealloc__(self):
 *         if self._extSemArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
 */
  }

  /* "cuda/cuda.pyx":12987
 *         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/cuda.pyx":12988
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_paramsArray);

    /* "cuda/cuda.pyx":12987
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 *         if self._paramsArray is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":12984
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._extSemArray is not NULL:
 *             free(self._extSemArray)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":12989
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_6getPtr, "CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__359)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 12989, 0, __PYX_ERR(1, 12989, __pyx_L1_error));

  /* "cuda/cuda.pyx":12990
 *             free(self._paramsArray)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":12989
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":12991
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 12991, 0, __PYX_ERR(1, 12991, __pyx_L1_error));

  /* "cuda/cuda.pyx":12992
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":12993
 *     def __repr__(self):
 *         if self._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(1, 12993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":12994
 *         if self._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/cuda.pyx":12995
 *             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_n_s_extSemArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12995, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12995, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_extSemArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12995, __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(1, 12995, __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)) __PYX_ERR(1, 12995, __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(1, 12995, __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/cuda.pyx":12994
 *         if self._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/cuda.pyx":12996
 *             try:
 *                 str_list += ['extSemArray : ' + str(self.extSemArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemArray : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 12996, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":12997
 *                 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(1, 12997, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_extSemArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_extSemArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_extSemArray_ValueError)) __PYX_ERR(1, 12997, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 12997, __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/cuda.pyx":12994
 *         if self._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/cuda.pyx":12998
 *             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/cuda.pyx":12999
 *                 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_n_s_paramsArray_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12999, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 12999, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_paramsArray, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12999, __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(1, 12999, __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)) __PYX_ERR(1, 12999, __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(1, 12999, __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/cuda.pyx":12998
 *             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/cuda.pyx":13000
 *             try:
 *                 str_list += ['paramsArray : ' + str(self.paramsArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['paramsArray : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 13000, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13001
 *                 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(1, 13001, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_paramsArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_paramsArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_paramsArray_ValueError)) __PYX_ERR(1, 13001, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13001, __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/cuda.pyx":12998
 *             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/cuda.pyx":13002
 *             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/cuda.pyx":13003
 *                 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_n_s_numExtSems_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13003, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13003, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_numExtSems, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13003, __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(1, 13003, __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)) __PYX_ERR(1, 13003, __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(1, 13003, __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/cuda.pyx":13002
 *             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/cuda.pyx":13004
 *             try:
 *                 str_list += ['numExtSems : ' + str(self.numExtSems)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 13004, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13005
 *                 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(1, 13005, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_numExtSems_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_numExtSems_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_numExtSems_ValueError)) __PYX_ERR(1, 13005, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13005, __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/cuda.pyx":13002
 *             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/cuda.pyx":13006
 *             except ValueError:
 *                 str_list += ['numExtSems : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":12992
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":13008
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def extSemArray(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":12991
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13009
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.CUexternalSemaphore) for x in range(self._extSemArray_length)]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_9genexpr60__pyx_v_x;
  PyObject *__pyx_9genexpr61__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13009, 0, __PYX_ERR(1, 13009, __pyx_L1_error));

  /* "cuda/cuda.pyx":13011
 *     @property
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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(1, 13011, __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_9genexpr60__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).extSemArray) + (__pyx_9genexpr60__pyx_v_x * (sizeof(CUexternalSemaphore))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13011, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 13011, __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/cuda.pyx":13012
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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(1, 13012, __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13012, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 13012, __pyx_L7_error)
      #else
      __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13012, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr61__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13012, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr61__pyx_v_arr) < 0) __PYX_ERR(1, 13012, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUexternalSemaphore), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13012, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 13012, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr61__pyx_v_arr); __pyx_9genexpr61__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr61__pyx_v_arr); __pyx_9genexpr61__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/cuda.pyx":13009
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemArray(self):
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.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_9genexpr61__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13013
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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_4cuda_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_4cuda_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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray_2__set__(struct __pyx_obj_4cuda_4cuda_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_TraceDeclarations
  __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;
  CUexternalSemaphore *__pyx_t_6;
  Py_ssize_t __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13013, 0, __PYX_ERR(1, 13013, __pyx_L1_error));

  /* "cuda/cuda.pyx":13015
 *     @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(1, 13015, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":13016
 *     def extSemArray(self, val):
 *         if len(val) == 0:
 *             free(self._extSemArray)             # <<<<<<<<<<<<<<
 *             self._extSemArray_length = 0
 *             self._ptr[0].extSemArray = NULL
 */
    free(__pyx_v_self->_extSemArray);

    /* "cuda/cuda.pyx":13017
 *         if len(val) == 0:
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].extSemArray = NULL
 *         else:
 */
    __pyx_v_self->_extSemArray_length = 0;

    /* "cuda/cuda.pyx":13018
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 *             self._ptr[0].extSemArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
 */
    (__pyx_v_self->_ptr[0]).extSemArray = NULL;

    /* "cuda/cuda.pyx":13015
 *     @extSemArray.setter
 *     def extSemArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._extSemArray)
 *             self._extSemArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":13020
 *             self._ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 */
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13020, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_extSemArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/cuda.pyx":13021
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)             # <<<<<<<<<<<<<<
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:
 */
      free(__pyx_v_self->_extSemArray);

      /* "cuda/cuda.pyx":13022
 *             if self._extSemArray_length != <size_t>len(val):
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))             # <<<<<<<<<<<<<<
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13022, __pyx_L1_error)
      __pyx_v_self->_extSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_1, (sizeof(CUexternalSemaphore))));

      /* "cuda/cuda.pyx":13023
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
 */
      __pyx_t_2 = (__pyx_v_self->_extSemArray == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/cuda.pyx":13024
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))             # <<<<<<<<<<<<<<
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._ptr[0].extSemArray = self._extSemArray
 */
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13024, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13024, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13024, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13024, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13024, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUexternalSemaphore))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13024, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13024, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13024, __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_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13024, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __PYX_ERR(1, 13024, __pyx_L1_error)

        /* "cuda/cuda.pyx":13023
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 *                 if self._extSemArray is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
 */
      }

      /* "cuda/cuda.pyx":13025
 *                 if self._extSemArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._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(1, 13025, __pyx_L1_error)
      __pyx_v_self->_extSemArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cuda.pyx":13026
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._ptr[0].extSemArray = self._extSemArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]
 */
      __pyx_t_6 = __pyx_v_self->_extSemArray;
      (__pyx_v_self->_ptr[0]).extSemArray = __pyx_t_6;

      /* "cuda/cuda.pyx":13020
 *             self._ptr[0].extSemArray = NULL
 *         else:
 *             if self._extSemArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._extSemArray)
 *                 self._extSemArray = <ccuda.CUexternalSemaphore*> calloc(len(val), sizeof(ccuda.CUexternalSemaphore))
 */
    }

    /* "cuda/cuda.pyx":13027
 *                 self._extSemArray_length = <size_t>len(val)
 *                 self._ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]
 * 
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13027, __pyx_L1_error)
    __pyx_t_7 = __pyx_t_1;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_v_idx = __pyx_t_8;

      /* "cuda/cuda.pyx":13028
 *                 self._ptr[0].extSemArray = self._extSemArray
 *             for idx in range(len(val)):
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13028, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (__pyx_v_self->_extSemArray[__pyx_v_idx]) = (((struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *)__pyx_t_5)->_ptr[0]);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":13013
 *         arrs = [<void_ptr>self._ptr[0].extSemArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.extSemArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13030
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) for x in range(self._paramsArray_length)]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_9genexpr62__pyx_v_x;
  PyObject *__pyx_9genexpr63__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13030, 0, __PYX_ERR(1, 13030, __pyx_L1_error));

  /* "cuda/cuda.pyx":13032
 *     @property
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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(1, 13032, __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_9genexpr62__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).paramsArray) + (__pyx_9genexpr62__pyx_v_x * (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13032, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 13032, __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/cuda.pyx":13033
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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(1, 13033, __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13033, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 13033, __pyx_L7_error)
      #else
      __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13033, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr63__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13033, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr63__pyx_v_arr) < 0) __PYX_ERR(1, 13033, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13033, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 13033, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr63__pyx_v_arr); __pyx_9genexpr63__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr63__pyx_v_arr); __pyx_9genexpr63__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/cuda.pyx":13030
 *                 self._extSemArray[idx] = (<CUexternalSemaphore>val[idx])._ptr[0]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def paramsArray(self):
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.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_9genexpr63__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13034
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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_4cuda_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_4cuda_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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray_2__set__(struct __pyx_obj_4cuda_4cuda_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_TraceDeclarations
  __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;
  CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *__pyx_t_6;
  Py_ssize_t __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13034, 0, __PYX_ERR(1, 13034, __pyx_L1_error));

  /* "cuda/cuda.pyx":13036
 *     @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(1, 13036, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":13037
 *     def paramsArray(self, val):
 *         if len(val) == 0:
 *             free(self._paramsArray)             # <<<<<<<<<<<<<<
 *             self._paramsArray_length = 0
 *             self._ptr[0].paramsArray = NULL
 */
    free(__pyx_v_self->_paramsArray);

    /* "cuda/cuda.pyx":13038
 *         if len(val) == 0:
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].paramsArray = NULL
 *         else:
 */
    __pyx_v_self->_paramsArray_length = 0;

    /* "cuda/cuda.pyx":13039
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 *             self._ptr[0].paramsArray = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
 */
    (__pyx_v_self->_ptr[0]).paramsArray = NULL;

    /* "cuda/cuda.pyx":13036
 *     @paramsArray.setter
 *     def paramsArray(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._paramsArray)
 *             self._paramsArray_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":13041
 *             self._ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(ccuda.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(1, 13041, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_paramsArray_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/cuda.pyx":13042
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)             # <<<<<<<<<<<<<<
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *                 if self._paramsArray is NULL:
 */
      free(__pyx_v_self->_paramsArray);

      /* "cuda/cuda.pyx":13043
 *             if self._paramsArray_length != <size_t>len(val):
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(ccuda.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(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13043, __pyx_L1_error)
      __pyx_v_self->_paramsArray = ((CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *)calloc(__pyx_t_1, (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))));

      /* "cuda/cuda.pyx":13044
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(ccuda.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(ccuda.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/cuda.pyx":13045
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(ccuda.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(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))             # <<<<<<<<<<<<<<
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._ptr[0].paramsArray = self._paramsArray
 */
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13045, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13045, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13045, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13045, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13045, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13045, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13045, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13045, __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_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13045, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __PYX_ERR(1, 13045, __pyx_L1_error)

        /* "cuda/cuda.pyx":13044
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(ccuda.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(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
 */
      }

      /* "cuda/cuda.pyx":13046
 *                 if self._paramsArray is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._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(1, 13046, __pyx_L1_error)
      __pyx_v_self->_paramsArray_length = ((size_t)__pyx_t_1);

      /* "cuda/cuda.pyx":13047
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._ptr[0].paramsArray = self._paramsArray             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 */
      __pyx_t_6 = __pyx_v_self->_paramsArray;
      (__pyx_v_self->_ptr[0]).paramsArray = __pyx_t_6;

      /* "cuda/cuda.pyx":13041
 *             self._ptr[0].paramsArray = NULL
 *         else:
 *             if self._paramsArray_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._paramsArray)
 *                 self._paramsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(val), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 */
    }

    /* "cuda/cuda.pyx":13048
 *                 self._paramsArray_length = <size_t>len(val)
 *                 self._ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 * 
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13048, __pyx_L1_error)
    __pyx_t_7 = __pyx_t_1;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_v_idx = __pyx_t_8;

      /* "cuda/cuda.pyx":13049
 *                 self._ptr[0].paramsArray = self._paramsArray
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13049, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (void)(memcpy((&(__pyx_v_self->_paramsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *)__pyx_t_5)->__pyx_base.__pyx_base._ptr, (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":13034
 *         arrs = [<void_ptr>self._ptr[0].paramsArray + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.paramsArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13051
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13051, 0, __PYX_ERR(1, 13051, __pyx_L1_error));

  /* "cuda/cuda.pyx":13053
 *     @property
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems             # <<<<<<<<<<<<<<
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).numExtSems); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13051
 *                 string.memcpy(&self._paramsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>val[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13054
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems
 *     @numExtSems.setter             # <<<<<<<<<<<<<<
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._ptr[0].numExtSems = numExtSems
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_numExtSems); if (unlikely((__pyx_v_numExtSems == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13055, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, unsigned int __pyx_v_numExtSems) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13054, 0, __PYX_ERR(1, 13054, __pyx_L1_error));

  /* "cuda/cuda.pyx":13056
 *     @numExtSems.setter
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._ptr[0].numExtSems = numExtSems             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union9:
 */
  (__pyx_v_self->_ptr[0]).numExtSems = __pyx_v_numExtSems;

  /* "cuda/cuda.pyx":13054
 *     def numExtSems(self):
 *         return self._ptr[0].numExtSems
 *     @numExtSems.setter             # <<<<<<<<<<<<<<
 *     def numExtSems(self, unsigned int numExtSems):
 *         self._ptr[0].numExtSems = numExtSems
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.numExtSems.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__360)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__361)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13073
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union9_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11anon_union9_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13073, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 13073, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13073, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 13073, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union9.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union9___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_union9 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union9___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 13073, 0, __PYX_ERR(1, 13073, __pyx_L1_error));

  /* "cuda/cuda.pyx":13074
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUarrayMapInfo_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":13073
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union9.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13076
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._mipmap = CUmipmappedArray(_ptr=<void_ptr>&self._ptr[0].resource.mipmap)
 *         self._array = CUarray(_ptr=<void_ptr>&self._ptr[0].resource.array)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union9_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11anon_union9_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13076, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 13076, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13076, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 13076, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union9.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union9_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_union9 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union9_2__init__(struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 13076, 0, __PYX_ERR(1, 13076, __pyx_L1_error));

  /* "cuda/cuda.pyx":13077
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._mipmap = CUmipmappedArray(_ptr=<void_ptr>&self._ptr[0].resource.mipmap)             # <<<<<<<<<<<<<<
 *         self._array = CUarray(_ptr=<void_ptr>&self._ptr[0].resource.array)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).resource.mipmap))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 13077, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmipmappedArray), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_mipmap);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_mipmap);
  __pyx_v_self->_mipmap = ((struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13078
 *     def __init__(self, void_ptr _ptr):
 *         self._mipmap = CUmipmappedArray(_ptr=<void_ptr>&self._ptr[0].resource.mipmap)
 *         self._array = CUarray(_ptr=<void_ptr>&self._ptr[0].resource.array)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).resource.array))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 13078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":13076
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._mipmap = CUmipmappedArray(_ptr=<void_ptr>&self._ptr[0].resource.mipmap)
 *         self._array = CUarray(_ptr=<void_ptr>&self._ptr[0].resource.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.cuda.anon_union9.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13079
 *         self._mipmap = CUmipmappedArray(_ptr=<void_ptr>&self._ptr[0].resource.mipmap)
 *         self._array = CUarray(_ptr=<void_ptr>&self._ptr[0].resource.array)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_11anon_union9_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_11anon_union9_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_union9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_11anon_union9_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 13079, 0, __PYX_ERR(1, 13079, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_union9.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":13081
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].resource
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union9_6getPtr, "anon_union9.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union9_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union9_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union9_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union9_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_union9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union9_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__362)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 13081, 0, __PYX_ERR(1, 13081, __pyx_L1_error));

  /* "cuda/cuda.pyx":13082
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].resource             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).resource))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13081
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].resource
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union9.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13083
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].resource
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union9_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union9_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_union9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union9_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 13083, 0, __PYX_ERR(1, 13083, __pyx_L1_error));

  /* "cuda/cuda.pyx":13084
 *         return <void_ptr>&self._ptr[0].resource
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13085
 *     def __repr__(self):
 *         if self._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(1, 13085, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":13086
 *         if self._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/cuda.pyx":13087
 *             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_n_s_mipmap_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13087, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13087, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_mipmap_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13087, __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(1, 13087, __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)) __PYX_ERR(1, 13087, __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(1, 13087, __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/cuda.pyx":13086
 *         if self._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/cuda.pyx":13088
 *             try:
 *                 str_list += ['mipmap : ' + str(self.mipmap)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['mipmap : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_union9.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13088, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13089
 *                 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(1, 13089, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_mipmap_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_mipmap_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_mipmap_ValueError)) __PYX_ERR(1, 13089, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13089, __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/cuda.pyx":13086
 *         if self._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/cuda.pyx":13090
 *             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/cuda.pyx":13091
 *                 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_n_s_array_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13091, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13091, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_array_3, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13091, __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(1, 13091, __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)) __PYX_ERR(1, 13091, __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(1, 13091, __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/cuda.pyx":13090
 *             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/cuda.pyx":13092
 *             try:
 *                 str_list += ['array : ' + str(self.array)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['array : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_union9.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 13092, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13093
 *                 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(1, 13093, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_array_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_array_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_array_ValueError)) __PYX_ERR(1, 13093, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13093, __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/cuda.pyx":13090
 *             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/cuda.pyx":13094
 *             except ValueError:
 *                 str_list += ['array : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13094, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":13084
 *         return <void_ptr>&self._ptr[0].resource
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":13096
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def mipmap(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":13083
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].resource
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13097
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def mipmap(self):
 *         return self._mipmap
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union9_6mipmap_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union9_6mipmap___get__(((struct __pyx_obj_4cuda_4cuda_anon_union9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union9_6mipmap___get__(struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13097, 0, __PYX_ERR(1, 13097, __pyx_L1_error));

  /* "cuda/cuda.pyx":13099
 *     @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/cuda.pyx":13097
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def mipmap(self):
 *         return self._mipmap
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union9.mipmap.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13100
 *     def mipmap(self):
 *         return self._mipmap
 *     @mipmap.setter             # <<<<<<<<<<<<<<
 *     def mipmap(self, mipmap):
 *         cdef ccuda.CUmipmappedArray cmipmap
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union9_6mipmap_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_mipmap); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_11anon_union9_6mipmap_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union9 *)__pyx_v_self), ((PyObject *)__pyx_v_mipmap));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union9_6mipmap_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self, PyObject *__pyx_v_mipmap) {
  CUmipmappedArray __pyx_v_cmipmap;
  PyObject *__pyx_v_pmipmap = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13100, 0, __PYX_ERR(1, 13100, __pyx_L1_error));

  /* "cuda/cuda.pyx":13103
 *     def mipmap(self, mipmap):
 *         cdef ccuda.CUmipmappedArray cmipmap
 *         if mipmap is None:             # <<<<<<<<<<<<<<
 *             cmipmap = <ccuda.CUmipmappedArray><void_ptr>0
 *         elif isinstance(mipmap, (CUmipmappedArray,)):
 */
  __pyx_t_1 = (__pyx_v_mipmap == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13104
 *         cdef ccuda.CUmipmappedArray cmipmap
 *         if mipmap is None:
 *             cmipmap = <ccuda.CUmipmappedArray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(mipmap, (CUmipmappedArray,)):
 *             pmipmap = int(mipmap)
 */
    __pyx_v_cmipmap = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":13103
 *     def mipmap(self, mipmap):
 *         cdef ccuda.CUmipmappedArray cmipmap
 *         if mipmap is None:             # <<<<<<<<<<<<<<
 *             cmipmap = <ccuda.CUmipmappedArray><void_ptr>0
 *         elif isinstance(mipmap, (CUmipmappedArray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":13105
 *         if mipmap is None:
 *             cmipmap = <ccuda.CUmipmappedArray><void_ptr>0
 *         elif isinstance(mipmap, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *             pmipmap = int(mipmap)
 *             cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mipmap, __pyx_ptype_4cuda_4cuda_CUmipmappedArray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13106
 *             cmipmap = <ccuda.CUmipmappedArray><void_ptr>0
 *         elif isinstance(mipmap, (CUmipmappedArray,)):
 *             pmipmap = int(mipmap)             # <<<<<<<<<<<<<<
 *             cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_mipmap); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmipmap = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":13107
 *         elif isinstance(mipmap, (CUmipmappedArray,)):
 *             pmipmap = int(mipmap)
 *             cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap             # <<<<<<<<<<<<<<
 *         else:
 *             pmipmap = int(CUmipmappedArray(mipmap))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmap); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13107, __pyx_L1_error)
    __pyx_v_cmipmap = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":13105
 *         if mipmap is None:
 *             cmipmap = <ccuda.CUmipmappedArray><void_ptr>0
 *         elif isinstance(mipmap, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *             pmipmap = int(mipmap)
 *             cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":13109
 *             cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 *         else:
 *             pmipmap = int(CUmipmappedArray(mipmap))             # <<<<<<<<<<<<<<
 *             cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 *         self._mipmap._ptr[0] = cmipmap
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmipmappedArray), __pyx_v_mipmap); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmipmap = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":13110
 *         else:
 *             pmipmap = int(CUmipmappedArray(mipmap))
 *             cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap             # <<<<<<<<<<<<<<
 *         self._mipmap._ptr[0] = cmipmap
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmap); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13110, __pyx_L1_error)
    __pyx_v_cmipmap = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":13111
 *             pmipmap = int(CUmipmappedArray(mipmap))
 *             cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 *         self._mipmap._ptr[0] = cmipmap             # <<<<<<<<<<<<<<
 *     @property
 *     def array(self):
 */
  (__pyx_v_self->_mipmap->_ptr[0]) = __pyx_v_cmipmap;

  /* "cuda/cuda.pyx":13100
 *     def mipmap(self):
 *         return self._mipmap
 *     @mipmap.setter             # <<<<<<<<<<<<<<
 *     def mipmap(self, mipmap):
 *         cdef ccuda.CUmipmappedArray cmipmap
 */

  /* 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.cuda.anon_union9.mipmap.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmipmap);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13112
 *             cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 *         self._mipmap._ptr[0] = cmipmap
 *     @property             # <<<<<<<<<<<<<<
 *     def array(self):
 *         return self._array
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11anon_union9_5array_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union9_5array___get__(((struct __pyx_obj_4cuda_4cuda_anon_union9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union9_5array___get__(struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13112, 0, __PYX_ERR(1, 13112, __pyx_L1_error));

  /* "cuda/cuda.pyx":13114
 *     @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/cuda.pyx":13112
 *             cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 *         self._mipmap._ptr[0] = cmipmap
 *     @property             # <<<<<<<<<<<<<<
 *     def array(self):
 *         return self._array
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union9.array.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13115
 *     def array(self):
 *         return self._array
 *     @array.setter             # <<<<<<<<<<<<<<
 *     def array(self, array):
 *         cdef ccuda.CUarray carray
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11anon_union9_5array_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_array); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_11anon_union9_5array_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union9 *)__pyx_v_self), ((PyObject *)__pyx_v_array));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11anon_union9_5array_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self, PyObject *__pyx_v_array) {
  CUarray __pyx_v_carray;
  PyObject *__pyx_v_parray = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13115, 0, __PYX_ERR(1, 13115, __pyx_L1_error));

  /* "cuda/cuda.pyx":13118
 *     def array(self, array):
 *         cdef ccuda.CUarray carray
 *         if array is None:             # <<<<<<<<<<<<<<
 *             carray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(array, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_array == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13119
 *         cdef ccuda.CUarray carray
 *         if array is None:
 *             carray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(array, (CUarray,)):
 *             parray = int(array)
 */
    __pyx_v_carray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":13118
 *     def array(self, array):
 *         cdef ccuda.CUarray carray
 *         if array is None:             # <<<<<<<<<<<<<<
 *             carray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(array, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":13120
 *         if array is None:
 *             carray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(array, (CUarray,)):             # <<<<<<<<<<<<<<
 *             parray = int(array)
 *             carray = <ccuda.CUarray><void_ptr>parray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_array, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13121
 *             carray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(array, (CUarray,)):
 *             parray = int(array)             # <<<<<<<<<<<<<<
 *             carray = <ccuda.CUarray><void_ptr>parray
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_parray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":13122
 *         elif isinstance(array, (CUarray,)):
 *             parray = int(array)
 *             carray = <ccuda.CUarray><void_ptr>parray             # <<<<<<<<<<<<<<
 *         else:
 *             parray = int(CUarray(array))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13122, __pyx_L1_error)
    __pyx_v_carray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":13120
 *         if array is None:
 *             carray = <ccuda.CUarray><void_ptr>0
 *         elif isinstance(array, (CUarray,)):             # <<<<<<<<<<<<<<
 *             parray = int(array)
 *             carray = <ccuda.CUarray><void_ptr>parray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":13124
 *             carray = <ccuda.CUarray><void_ptr>parray
 *         else:
 *             parray = int(CUarray(array))             # <<<<<<<<<<<<<<
 *             carray = <ccuda.CUarray><void_ptr>parray
 *         self._array._ptr[0] = carray
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_parray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":13125
 *         else:
 *             parray = int(CUarray(array))
 *             carray = <ccuda.CUarray><void_ptr>parray             # <<<<<<<<<<<<<<
 *         self._array._ptr[0] = carray
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13125, __pyx_L1_error)
    __pyx_v_carray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":13126
 *             parray = int(CUarray(array))
 *             carray = <ccuda.CUarray><void_ptr>parray
 *         self._array._ptr[0] = carray             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct19:
 */
  (__pyx_v_self->_array->_ptr[0]) = __pyx_v_carray;

  /* "cuda/cuda.pyx":13115
 *     def array(self):
 *         return self._array
 *     @array.setter             # <<<<<<<<<<<<<<
 *     def array(self, array):
 *         cdef ccuda.CUarray carray
 */

  /* 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.cuda.anon_union9.array.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_parray);
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_11anon_union9_10__reduce_cython__, "anon_union9.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union9_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union9_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union9_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union9_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union9 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union9_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__363)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union9.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11anon_union9_12__setstate_cython__, "anon_union9.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11anon_union9_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union9_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union9_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union9.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11anon_union9_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union9 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11anon_union9_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__364)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union9.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13155
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct19_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct19_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13155, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 13155, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13155, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 13155, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct19___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct19___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 13155, 0, __PYX_ERR(1, 13155, __pyx_L1_error));

  /* "cuda/cuda.pyx":13156
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUarrayMapInfo_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":13155
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13158
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct19_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct19_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13158, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 13158, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13158, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 13158, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct19_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct19_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 13158, 0, __PYX_ERR(1, 13158, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13160
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_13anon_struct19_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct19_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_13anon_struct19_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 13160, 0, __PYX_ERR(1, 13160, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct19.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":13162
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].subresource.sparseLevel
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct19_6getPtr, "anon_struct19.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct19_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct19_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct19_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct19_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__365)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 13162, 0, __PYX_ERR(1, 13162, __pyx_L1_error));

  /* "cuda/cuda.pyx":13163
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].subresource.sparseLevel             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).subresource.sparseLevel))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13162
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].subresource.sparseLevel
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13164
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].subresource.sparseLevel
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct19_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct19_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 13164, 0, __PYX_ERR(1, 13164, __pyx_L1_error));

  /* "cuda/cuda.pyx":13165
 *         return <void_ptr>&self._ptr[0].subresource.sparseLevel
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13166
 *     def __repr__(self):
 *         if self._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(1, 13166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":13167
 *         if self._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/cuda.pyx":13168
 *             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_n_s_level_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13168, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13168, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_level, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13168, __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(1, 13168, __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)) __PYX_ERR(1, 13168, __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(1, 13168, __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/cuda.pyx":13167
 *         if self._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/cuda.pyx":13169
 *             try:
 *                 str_list += ['level : ' + str(self.level)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['level : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct19.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13169, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13170
 *                 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(1, 13170, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_level_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_level_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_level_ValueError)) __PYX_ERR(1, 13170, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13170, __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/cuda.pyx":13167
 *         if self._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/cuda.pyx":13171
 *             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/cuda.pyx":13172
 *                 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_n_s_layer_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13172, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13172, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_layer, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13172, __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(1, 13172, __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)) __PYX_ERR(1, 13172, __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(1, 13172, __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/cuda.pyx":13171
 *             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/cuda.pyx":13173
 *             try:
 *                 str_list += ['layer : ' + str(self.layer)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['layer : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct19.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 13173, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13174
 *                 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(1, 13174, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_layer_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_layer_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_layer_ValueError)) __PYX_ERR(1, 13174, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13174, __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/cuda.pyx":13171
 *             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/cuda.pyx":13175
 *             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/cuda.pyx":13176
 *                 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_n_s_offsetX_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13176, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13176, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_offsetX, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13176, __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(1, 13176, __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)) __PYX_ERR(1, 13176, __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(1, 13176, __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/cuda.pyx":13175
 *             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/cuda.pyx":13177
 *             try:
 *                 str_list += ['offsetX : ' + str(self.offsetX)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetX : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct19.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13177, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13178
 *                 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(1, 13178, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_offsetX_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_offsetX_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_offsetX_ValueError)) __PYX_ERR(1, 13178, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13178, __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/cuda.pyx":13175
 *             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/cuda.pyx":13179
 *             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/cuda.pyx":13180
 *                 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_n_s_offsetY_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13180, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13180, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_offsetY, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13180, __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(1, 13180, __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)) __PYX_ERR(1, 13180, __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(1, 13180, __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/cuda.pyx":13179
 *             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/cuda.pyx":13181
 *             try:
 *                 str_list += ['offsetY : ' + str(self.offsetY)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetY : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct19.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 13181, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13182
 *                 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(1, 13182, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_offsetY_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_offsetY_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_offsetY_ValueError)) __PYX_ERR(1, 13182, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13182, __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/cuda.pyx":13179
 *             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/cuda.pyx":13183
 *             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/cuda.pyx":13184
 *                 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_n_s_offsetZ_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13184, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13184, __pyx_L36_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_offsetZ, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13184, __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(1, 13184, __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)) __PYX_ERR(1, 13184, __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(1, 13184, __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/cuda.pyx":13183
 *             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/cuda.pyx":13185
 *             try:
 *                 str_list += ['offsetZ : ' + str(self.offsetZ)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offsetZ : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct19.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13185, __pyx_L38_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13186
 *                 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(1, 13186, __pyx_L38_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_offsetZ_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_offsetZ_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_offsetZ_ValueError)) __PYX_ERR(1, 13186, __pyx_L38_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13186, __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/cuda.pyx":13183
 *             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/cuda.pyx":13187
 *             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/cuda.pyx":13188
 *                 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_n_s_extentWidth_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13188, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13188, __pyx_L44_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_extentWidth, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13188, __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(1, 13188, __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)) __PYX_ERR(1, 13188, __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(1, 13188, __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/cuda.pyx":13187
 *             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/cuda.pyx":13189
 *             try:
 *                 str_list += ['extentWidth : ' + str(self.extentWidth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentWidth : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct19.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 13189, __pyx_L46_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13190
 *                 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(1, 13190, __pyx_L46_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_extentWidth_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_extentWidth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_extentWidth_ValueError)) __PYX_ERR(1, 13190, __pyx_L46_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13190, __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/cuda.pyx":13187
 *             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/cuda.pyx":13191
 *             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/cuda.pyx":13192
 *                 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_n_s_extentHeight_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13192, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13192, __pyx_L52_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_extentHeight, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13192, __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(1, 13192, __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)) __PYX_ERR(1, 13192, __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(1, 13192, __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/cuda.pyx":13191
 *             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/cuda.pyx":13193
 *             try:
 *                 str_list += ['extentHeight : ' + str(self.extentHeight)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentHeight : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct19.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13193, __pyx_L54_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13194
 *                 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(1, 13194, __pyx_L54_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_extentHeight_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_extentHeight_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_extentHeight_ValueError)) __PYX_ERR(1, 13194, __pyx_L54_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13194, __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/cuda.pyx":13191
 *             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/cuda.pyx":13195
 *             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/cuda.pyx":13196
 *                 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_n_s_extentDepth_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13196, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13196, __pyx_L60_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_extentDepth, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13196, __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(1, 13196, __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)) __PYX_ERR(1, 13196, __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(1, 13196, __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/cuda.pyx":13195
 *             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/cuda.pyx":13197
 *             try:
 *                 str_list += ['extentDepth : ' + str(self.extentDepth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extentDepth : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct19.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 13197, __pyx_L62_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13198
 *                 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(1, 13198, __pyx_L62_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_extentDepth_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_extentDepth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_extentDepth_ValueError)) __PYX_ERR(1, 13198, __pyx_L62_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13198, __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/cuda.pyx":13195
 *             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/cuda.pyx":13199
 *             except ValueError:
 *                 str_list += ['extentDepth : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13199, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":13165
 *         return <void_ptr>&self._ptr[0].subresource.sparseLevel
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":13201
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def level(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":13164
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].subresource.sparseLevel
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.anon_struct19.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13202
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def level(self):
 *         return self._ptr[0].subresource.sparseLevel.level
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct19_5level_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct19_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_4cuda_13anon_struct19_5level___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_5level___get__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13202, 0, __PYX_ERR(1, 13202, __pyx_L1_error));

  /* "cuda/cuda.pyx":13204
 *     @property
 *     def level(self):
 *         return self._ptr[0].subresource.sparseLevel.level             # <<<<<<<<<<<<<<
 *     @level.setter
 *     def level(self, unsigned int level):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).subresource.sparseLevel.level); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13202
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def level(self):
 *         return self._ptr[0].subresource.sparseLevel.level
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.level.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13205
 *     def level(self):
 *         return self._ptr[0].subresource.sparseLevel.level
 *     @level.setter             # <<<<<<<<<<<<<<
 *     def level(self, unsigned int level):
 *         self._ptr[0].subresource.sparseLevel.level = level
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct19_5level_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_level); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct19_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_PyInt_As_unsigned_int(__pyx_arg_level); if (unlikely((__pyx_v_level == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13206, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.level.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct19_5level_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self), ((unsigned int)__pyx_v_level));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct19_5level_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, unsigned int __pyx_v_level) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13205, 0, __PYX_ERR(1, 13205, __pyx_L1_error));

  /* "cuda/cuda.pyx":13207
 *     @level.setter
 *     def level(self, unsigned int level):
 *         self._ptr[0].subresource.sparseLevel.level = level             # <<<<<<<<<<<<<<
 *     @property
 *     def layer(self):
 */
  (__pyx_v_self->_ptr[0]).subresource.sparseLevel.level = __pyx_v_level;

  /* "cuda/cuda.pyx":13205
 *     def level(self):
 *         return self._ptr[0].subresource.sparseLevel.level
 *     @level.setter             # <<<<<<<<<<<<<<
 *     def level(self, unsigned int level):
 *         self._ptr[0].subresource.sparseLevel.level = level
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.level.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13208
 *     def level(self, unsigned int level):
 *         self._ptr[0].subresource.sparseLevel.level = level
 *     @property             # <<<<<<<<<<<<<<
 *     def layer(self):
 *         return self._ptr[0].subresource.sparseLevel.layer
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct19_5layer_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct19_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_4cuda_13anon_struct19_5layer___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_5layer___get__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13208, 0, __PYX_ERR(1, 13208, __pyx_L1_error));

  /* "cuda/cuda.pyx":13210
 *     @property
 *     def layer(self):
 *         return self._ptr[0].subresource.sparseLevel.layer             # <<<<<<<<<<<<<<
 *     @layer.setter
 *     def layer(self, unsigned int layer):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).subresource.sparseLevel.layer); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13208
 *     def level(self, unsigned int level):
 *         self._ptr[0].subresource.sparseLevel.level = level
 *     @property             # <<<<<<<<<<<<<<
 *     def layer(self):
 *         return self._ptr[0].subresource.sparseLevel.layer
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.layer.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13211
 *     def layer(self):
 *         return self._ptr[0].subresource.sparseLevel.layer
 *     @layer.setter             # <<<<<<<<<<<<<<
 *     def layer(self, unsigned int layer):
 *         self._ptr[0].subresource.sparseLevel.layer = layer
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct19_5layer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_layer); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct19_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_PyInt_As_unsigned_int(__pyx_arg_layer); if (unlikely((__pyx_v_layer == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13212, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.layer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct19_5layer_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self), ((unsigned int)__pyx_v_layer));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct19_5layer_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, unsigned int __pyx_v_layer) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13211, 0, __PYX_ERR(1, 13211, __pyx_L1_error));

  /* "cuda/cuda.pyx":13213
 *     @layer.setter
 *     def layer(self, unsigned int layer):
 *         self._ptr[0].subresource.sparseLevel.layer = layer             # <<<<<<<<<<<<<<
 *     @property
 *     def offsetX(self):
 */
  (__pyx_v_self->_ptr[0]).subresource.sparseLevel.layer = __pyx_v_layer;

  /* "cuda/cuda.pyx":13211
 *     def layer(self):
 *         return self._ptr[0].subresource.sparseLevel.layer
 *     @layer.setter             # <<<<<<<<<<<<<<
 *     def layer(self, unsigned int layer):
 *         self._ptr[0].subresource.sparseLevel.layer = layer
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.layer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13214
 *     def layer(self, unsigned int layer):
 *         self._ptr[0].subresource.sparseLevel.layer = layer
 *     @property             # <<<<<<<<<<<<<<
 *     def offsetX(self):
 *         return self._ptr[0].subresource.sparseLevel.offsetX
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct19_7offsetX_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct19_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_4cuda_13anon_struct19_7offsetX___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_7offsetX___get__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13214, 0, __PYX_ERR(1, 13214, __pyx_L1_error));

  /* "cuda/cuda.pyx":13216
 *     @property
 *     def offsetX(self):
 *         return self._ptr[0].subresource.sparseLevel.offsetX             # <<<<<<<<<<<<<<
 *     @offsetX.setter
 *     def offsetX(self, unsigned int offsetX):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).subresource.sparseLevel.offsetX); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13214
 *     def layer(self, unsigned int layer):
 *         self._ptr[0].subresource.sparseLevel.layer = layer
 *     @property             # <<<<<<<<<<<<<<
 *     def offsetX(self):
 *         return self._ptr[0].subresource.sparseLevel.offsetX
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.offsetX.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13217
 *     def offsetX(self):
 *         return self._ptr[0].subresource.sparseLevel.offsetX
 *     @offsetX.setter             # <<<<<<<<<<<<<<
 *     def offsetX(self, unsigned int offsetX):
 *         self._ptr[0].subresource.sparseLevel.offsetX = offsetX
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct19_7offsetX_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offsetX); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct19_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_PyInt_As_unsigned_int(__pyx_arg_offsetX); if (unlikely((__pyx_v_offsetX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13218, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.offsetX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct19_7offsetX_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self), ((unsigned int)__pyx_v_offsetX));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct19_7offsetX_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, unsigned int __pyx_v_offsetX) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13217, 0, __PYX_ERR(1, 13217, __pyx_L1_error));

  /* "cuda/cuda.pyx":13219
 *     @offsetX.setter
 *     def offsetX(self, unsigned int offsetX):
 *         self._ptr[0].subresource.sparseLevel.offsetX = offsetX             # <<<<<<<<<<<<<<
 *     @property
 *     def offsetY(self):
 */
  (__pyx_v_self->_ptr[0]).subresource.sparseLevel.offsetX = __pyx_v_offsetX;

  /* "cuda/cuda.pyx":13217
 *     def offsetX(self):
 *         return self._ptr[0].subresource.sparseLevel.offsetX
 *     @offsetX.setter             # <<<<<<<<<<<<<<
 *     def offsetX(self, unsigned int offsetX):
 *         self._ptr[0].subresource.sparseLevel.offsetX = offsetX
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.offsetX.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13220
 *     def offsetX(self, unsigned int offsetX):
 *         self._ptr[0].subresource.sparseLevel.offsetX = offsetX
 *     @property             # <<<<<<<<<<<<<<
 *     def offsetY(self):
 *         return self._ptr[0].subresource.sparseLevel.offsetY
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct19_7offsetY_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct19_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_4cuda_13anon_struct19_7offsetY___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_7offsetY___get__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13220, 0, __PYX_ERR(1, 13220, __pyx_L1_error));

  /* "cuda/cuda.pyx":13222
 *     @property
 *     def offsetY(self):
 *         return self._ptr[0].subresource.sparseLevel.offsetY             # <<<<<<<<<<<<<<
 *     @offsetY.setter
 *     def offsetY(self, unsigned int offsetY):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).subresource.sparseLevel.offsetY); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13220
 *     def offsetX(self, unsigned int offsetX):
 *         self._ptr[0].subresource.sparseLevel.offsetX = offsetX
 *     @property             # <<<<<<<<<<<<<<
 *     def offsetY(self):
 *         return self._ptr[0].subresource.sparseLevel.offsetY
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.offsetY.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13223
 *     def offsetY(self):
 *         return self._ptr[0].subresource.sparseLevel.offsetY
 *     @offsetY.setter             # <<<<<<<<<<<<<<
 *     def offsetY(self, unsigned int offsetY):
 *         self._ptr[0].subresource.sparseLevel.offsetY = offsetY
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct19_7offsetY_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offsetY); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct19_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_PyInt_As_unsigned_int(__pyx_arg_offsetY); if (unlikely((__pyx_v_offsetY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13224, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.offsetY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct19_7offsetY_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self), ((unsigned int)__pyx_v_offsetY));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct19_7offsetY_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, unsigned int __pyx_v_offsetY) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13223, 0, __PYX_ERR(1, 13223, __pyx_L1_error));

  /* "cuda/cuda.pyx":13225
 *     @offsetY.setter
 *     def offsetY(self, unsigned int offsetY):
 *         self._ptr[0].subresource.sparseLevel.offsetY = offsetY             # <<<<<<<<<<<<<<
 *     @property
 *     def offsetZ(self):
 */
  (__pyx_v_self->_ptr[0]).subresource.sparseLevel.offsetY = __pyx_v_offsetY;

  /* "cuda/cuda.pyx":13223
 *     def offsetY(self):
 *         return self._ptr[0].subresource.sparseLevel.offsetY
 *     @offsetY.setter             # <<<<<<<<<<<<<<
 *     def offsetY(self, unsigned int offsetY):
 *         self._ptr[0].subresource.sparseLevel.offsetY = offsetY
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.offsetY.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13226
 *     def offsetY(self, unsigned int offsetY):
 *         self._ptr[0].subresource.sparseLevel.offsetY = offsetY
 *     @property             # <<<<<<<<<<<<<<
 *     def offsetZ(self):
 *         return self._ptr[0].subresource.sparseLevel.offsetZ
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct19_7offsetZ_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct19_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_4cuda_13anon_struct19_7offsetZ___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_7offsetZ___get__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13226, 0, __PYX_ERR(1, 13226, __pyx_L1_error));

  /* "cuda/cuda.pyx":13228
 *     @property
 *     def offsetZ(self):
 *         return self._ptr[0].subresource.sparseLevel.offsetZ             # <<<<<<<<<<<<<<
 *     @offsetZ.setter
 *     def offsetZ(self, unsigned int offsetZ):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).subresource.sparseLevel.offsetZ); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13226
 *     def offsetY(self, unsigned int offsetY):
 *         self._ptr[0].subresource.sparseLevel.offsetY = offsetY
 *     @property             # <<<<<<<<<<<<<<
 *     def offsetZ(self):
 *         return self._ptr[0].subresource.sparseLevel.offsetZ
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.offsetZ.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13229
 *     def offsetZ(self):
 *         return self._ptr[0].subresource.sparseLevel.offsetZ
 *     @offsetZ.setter             # <<<<<<<<<<<<<<
 *     def offsetZ(self, unsigned int offsetZ):
 *         self._ptr[0].subresource.sparseLevel.offsetZ = offsetZ
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct19_7offsetZ_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offsetZ); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct19_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_PyInt_As_unsigned_int(__pyx_arg_offsetZ); if (unlikely((__pyx_v_offsetZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13230, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.offsetZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct19_7offsetZ_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self), ((unsigned int)__pyx_v_offsetZ));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct19_7offsetZ_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, unsigned int __pyx_v_offsetZ) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13229, 0, __PYX_ERR(1, 13229, __pyx_L1_error));

  /* "cuda/cuda.pyx":13231
 *     @offsetZ.setter
 *     def offsetZ(self, unsigned int offsetZ):
 *         self._ptr[0].subresource.sparseLevel.offsetZ = offsetZ             # <<<<<<<<<<<<<<
 *     @property
 *     def extentWidth(self):
 */
  (__pyx_v_self->_ptr[0]).subresource.sparseLevel.offsetZ = __pyx_v_offsetZ;

  /* "cuda/cuda.pyx":13229
 *     def offsetZ(self):
 *         return self._ptr[0].subresource.sparseLevel.offsetZ
 *     @offsetZ.setter             # <<<<<<<<<<<<<<
 *     def offsetZ(self, unsigned int offsetZ):
 *         self._ptr[0].subresource.sparseLevel.offsetZ = offsetZ
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.offsetZ.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13232
 *     def offsetZ(self, unsigned int offsetZ):
 *         self._ptr[0].subresource.sparseLevel.offsetZ = offsetZ
 *     @property             # <<<<<<<<<<<<<<
 *     def extentWidth(self):
 *         return self._ptr[0].subresource.sparseLevel.extentWidth
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct19_11extentWidth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct19_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_4cuda_13anon_struct19_11extentWidth___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_11extentWidth___get__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13232, 0, __PYX_ERR(1, 13232, __pyx_L1_error));

  /* "cuda/cuda.pyx":13234
 *     @property
 *     def extentWidth(self):
 *         return self._ptr[0].subresource.sparseLevel.extentWidth             # <<<<<<<<<<<<<<
 *     @extentWidth.setter
 *     def extentWidth(self, unsigned int extentWidth):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).subresource.sparseLevel.extentWidth); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13232
 *     def offsetZ(self, unsigned int offsetZ):
 *         self._ptr[0].subresource.sparseLevel.offsetZ = offsetZ
 *     @property             # <<<<<<<<<<<<<<
 *     def extentWidth(self):
 *         return self._ptr[0].subresource.sparseLevel.extentWidth
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.extentWidth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13235
 *     def extentWidth(self):
 *         return self._ptr[0].subresource.sparseLevel.extentWidth
 *     @extentWidth.setter             # <<<<<<<<<<<<<<
 *     def extentWidth(self, unsigned int extentWidth):
 *         self._ptr[0].subresource.sparseLevel.extentWidth = extentWidth
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct19_11extentWidth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extentWidth); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct19_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_PyInt_As_unsigned_int(__pyx_arg_extentWidth); if (unlikely((__pyx_v_extentWidth == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13236, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.extentWidth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct19_11extentWidth_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self), ((unsigned int)__pyx_v_extentWidth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct19_11extentWidth_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, unsigned int __pyx_v_extentWidth) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13235, 0, __PYX_ERR(1, 13235, __pyx_L1_error));

  /* "cuda/cuda.pyx":13237
 *     @extentWidth.setter
 *     def extentWidth(self, unsigned int extentWidth):
 *         self._ptr[0].subresource.sparseLevel.extentWidth = extentWidth             # <<<<<<<<<<<<<<
 *     @property
 *     def extentHeight(self):
 */
  (__pyx_v_self->_ptr[0]).subresource.sparseLevel.extentWidth = __pyx_v_extentWidth;

  /* "cuda/cuda.pyx":13235
 *     def extentWidth(self):
 *         return self._ptr[0].subresource.sparseLevel.extentWidth
 *     @extentWidth.setter             # <<<<<<<<<<<<<<
 *     def extentWidth(self, unsigned int extentWidth):
 *         self._ptr[0].subresource.sparseLevel.extentWidth = extentWidth
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.extentWidth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13238
 *     def extentWidth(self, unsigned int extentWidth):
 *         self._ptr[0].subresource.sparseLevel.extentWidth = extentWidth
 *     @property             # <<<<<<<<<<<<<<
 *     def extentHeight(self):
 *         return self._ptr[0].subresource.sparseLevel.extentHeight
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct19_12extentHeight_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct19_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_4cuda_13anon_struct19_12extentHeight___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_12extentHeight___get__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13238, 0, __PYX_ERR(1, 13238, __pyx_L1_error));

  /* "cuda/cuda.pyx":13240
 *     @property
 *     def extentHeight(self):
 *         return self._ptr[0].subresource.sparseLevel.extentHeight             # <<<<<<<<<<<<<<
 *     @extentHeight.setter
 *     def extentHeight(self, unsigned int extentHeight):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).subresource.sparseLevel.extentHeight); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13238
 *     def extentWidth(self, unsigned int extentWidth):
 *         self._ptr[0].subresource.sparseLevel.extentWidth = extentWidth
 *     @property             # <<<<<<<<<<<<<<
 *     def extentHeight(self):
 *         return self._ptr[0].subresource.sparseLevel.extentHeight
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.extentHeight.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13241
 *     def extentHeight(self):
 *         return self._ptr[0].subresource.sparseLevel.extentHeight
 *     @extentHeight.setter             # <<<<<<<<<<<<<<
 *     def extentHeight(self, unsigned int extentHeight):
 *         self._ptr[0].subresource.sparseLevel.extentHeight = extentHeight
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct19_12extentHeight_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extentHeight); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct19_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_PyInt_As_unsigned_int(__pyx_arg_extentHeight); if (unlikely((__pyx_v_extentHeight == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13242, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.extentHeight.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct19_12extentHeight_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self), ((unsigned int)__pyx_v_extentHeight));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct19_12extentHeight_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, unsigned int __pyx_v_extentHeight) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13241, 0, __PYX_ERR(1, 13241, __pyx_L1_error));

  /* "cuda/cuda.pyx":13243
 *     @extentHeight.setter
 *     def extentHeight(self, unsigned int extentHeight):
 *         self._ptr[0].subresource.sparseLevel.extentHeight = extentHeight             # <<<<<<<<<<<<<<
 *     @property
 *     def extentDepth(self):
 */
  (__pyx_v_self->_ptr[0]).subresource.sparseLevel.extentHeight = __pyx_v_extentHeight;

  /* "cuda/cuda.pyx":13241
 *     def extentHeight(self):
 *         return self._ptr[0].subresource.sparseLevel.extentHeight
 *     @extentHeight.setter             # <<<<<<<<<<<<<<
 *     def extentHeight(self, unsigned int extentHeight):
 *         self._ptr[0].subresource.sparseLevel.extentHeight = extentHeight
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.extentHeight.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13244
 *     def extentHeight(self, unsigned int extentHeight):
 *         self._ptr[0].subresource.sparseLevel.extentHeight = extentHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def extentDepth(self):
 *         return self._ptr[0].subresource.sparseLevel.extentDepth
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct19_11extentDepth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct19_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_4cuda_13anon_struct19_11extentDepth___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_11extentDepth___get__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13244, 0, __PYX_ERR(1, 13244, __pyx_L1_error));

  /* "cuda/cuda.pyx":13246
 *     @property
 *     def extentDepth(self):
 *         return self._ptr[0].subresource.sparseLevel.extentDepth             # <<<<<<<<<<<<<<
 *     @extentDepth.setter
 *     def extentDepth(self, unsigned int extentDepth):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).subresource.sparseLevel.extentDepth); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13244
 *     def extentHeight(self, unsigned int extentHeight):
 *         self._ptr[0].subresource.sparseLevel.extentHeight = extentHeight
 *     @property             # <<<<<<<<<<<<<<
 *     def extentDepth(self):
 *         return self._ptr[0].subresource.sparseLevel.extentDepth
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.extentDepth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13247
 *     def extentDepth(self):
 *         return self._ptr[0].subresource.sparseLevel.extentDepth
 *     @extentDepth.setter             # <<<<<<<<<<<<<<
 *     def extentDepth(self, unsigned int extentDepth):
 *         self._ptr[0].subresource.sparseLevel.extentDepth = extentDepth
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct19_11extentDepth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_extentDepth); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct19_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_PyInt_As_unsigned_int(__pyx_arg_extentDepth); if (unlikely((__pyx_v_extentDepth == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13248, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.extentDepth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct19_11extentDepth_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self), ((unsigned int)__pyx_v_extentDepth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct19_11extentDepth_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, unsigned int __pyx_v_extentDepth) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13247, 0, __PYX_ERR(1, 13247, __pyx_L1_error));

  /* "cuda/cuda.pyx":13249
 *     @extentDepth.setter
 *     def extentDepth(self, unsigned int extentDepth):
 *         self._ptr[0].subresource.sparseLevel.extentDepth = extentDepth             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct20:
 */
  (__pyx_v_self->_ptr[0]).subresource.sparseLevel.extentDepth = __pyx_v_extentDepth;

  /* "cuda/cuda.pyx":13247
 *     def extentDepth(self):
 *         return self._ptr[0].subresource.sparseLevel.extentDepth
 *     @extentDepth.setter             # <<<<<<<<<<<<<<
 *     def extentDepth(self, unsigned int extentDepth):
 *         self._ptr[0].subresource.sparseLevel.extentDepth = extentDepth
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.extentDepth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_13anon_struct19_10__reduce_cython__, "anon_struct19.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct19_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct19_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct19_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct19_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__366)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct19_12__setstate_cython__, "anon_struct19.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct19_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct19_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct19_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct19_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct19_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__367)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct19.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13268
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct20_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct20_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13268, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 13268, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13268, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 13268, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct20.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct20___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct20 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct20___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 13268, 0, __PYX_ERR(1, 13268, __pyx_L1_error));

  /* "cuda/cuda.pyx":13269
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUarrayMapInfo_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":13268
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct20.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13271
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct20_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct20_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13271, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 13271, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13271, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 13271, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct20.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct20_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct20 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct20_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 13271, 0, __PYX_ERR(1, 13271, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct20.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13273
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_13anon_struct20_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct20_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_13anon_struct20_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 13273, 0, __PYX_ERR(1, 13273, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct20.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":13275
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].subresource.miptail
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct20_6getPtr, "anon_struct20.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct20_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct20_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct20_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct20_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct20_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__368)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 13275, 0, __PYX_ERR(1, 13275, __pyx_L1_error));

  /* "cuda/cuda.pyx":13276
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].subresource.miptail             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).subresource.miptail))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13275
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].subresource.miptail
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct20.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13277
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].subresource.miptail
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct20_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct20_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct20_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 13277, 0, __PYX_ERR(1, 13277, __pyx_L1_error));

  /* "cuda/cuda.pyx":13278
 *         return <void_ptr>&self._ptr[0].subresource.miptail
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13279
 *     def __repr__(self):
 *         if self._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(1, 13279, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":13280
 *         if self._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/cuda.pyx":13281
 *             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_n_s_layer_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13281, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13281, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_layer, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13281, __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(1, 13281, __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)) __PYX_ERR(1, 13281, __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(1, 13281, __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/cuda.pyx":13280
 *         if self._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/cuda.pyx":13282
 *             try:
 *                 str_list += ['layer : ' + str(self.layer)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['layer : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct20.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13282, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13283
 *                 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(1, 13283, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_layer_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_layer_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_layer_ValueError)) __PYX_ERR(1, 13283, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13283, __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/cuda.pyx":13280
 *         if self._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/cuda.pyx":13284
 *             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/cuda.pyx":13285
 *                 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_n_s_offset_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13285, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13285, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_offset, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13285, __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(1, 13285, __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)) __PYX_ERR(1, 13285, __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(1, 13285, __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/cuda.pyx":13284
 *             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/cuda.pyx":13286
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct20.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 13286, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13287
 *                 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(1, 13287, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_offset_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_offset_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_offset_ValueError)) __PYX_ERR(1, 13287, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13287, __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/cuda.pyx":13284
 *             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/cuda.pyx":13288
 *             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/cuda.pyx":13289
 *                 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_n_s_size_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13289, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13289, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_size, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13289, __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(1, 13289, __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)) __PYX_ERR(1, 13289, __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(1, 13289, __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/cuda.pyx":13288
 *             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/cuda.pyx":13290
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct20.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13290, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13291
 *                 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(1, 13291, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_size_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_size_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_size_ValueError)) __PYX_ERR(1, 13291, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13291, __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/cuda.pyx":13288
 *             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/cuda.pyx":13292
 *             except ValueError:
 *                 str_list += ['size : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":13278
 *         return <void_ptr>&self._ptr[0].subresource.miptail
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":13294
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def layer(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":13277
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].subresource.miptail
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13295
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def layer(self):
 *         return self._ptr[0].subresource.miptail.layer
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct20_5layer_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct20_5layer___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct20_5layer___get__(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13295, 0, __PYX_ERR(1, 13295, __pyx_L1_error));

  /* "cuda/cuda.pyx":13297
 *     @property
 *     def layer(self):
 *         return self._ptr[0].subresource.miptail.layer             # <<<<<<<<<<<<<<
 *     @layer.setter
 *     def layer(self, unsigned int layer):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).subresource.miptail.layer); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13295
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def layer(self):
 *         return self._ptr[0].subresource.miptail.layer
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct20.layer.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13298
 *     def layer(self):
 *         return self._ptr[0].subresource.miptail.layer
 *     @layer.setter             # <<<<<<<<<<<<<<
 *     def layer(self, unsigned int layer):
 *         self._ptr[0].subresource.miptail.layer = layer
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct20_5layer_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_layer); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_layer); if (unlikely((__pyx_v_layer == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13299, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct20.layer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct20_5layer_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct20 *)__pyx_v_self), ((unsigned int)__pyx_v_layer));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct20_5layer_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self, unsigned int __pyx_v_layer) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13298, 0, __PYX_ERR(1, 13298, __pyx_L1_error));

  /* "cuda/cuda.pyx":13300
 *     @layer.setter
 *     def layer(self, unsigned int layer):
 *         self._ptr[0].subresource.miptail.layer = layer             # <<<<<<<<<<<<<<
 *     @property
 *     def offset(self):
 */
  (__pyx_v_self->_ptr[0]).subresource.miptail.layer = __pyx_v_layer;

  /* "cuda/cuda.pyx":13298
 *     def layer(self):
 *         return self._ptr[0].subresource.miptail.layer
 *     @layer.setter             # <<<<<<<<<<<<<<
 *     def layer(self, unsigned int layer):
 *         self._ptr[0].subresource.miptail.layer = layer
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct20.layer.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13301
 *     def layer(self, unsigned int layer):
 *         self._ptr[0].subresource.miptail.layer = layer
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._ptr[0].subresource.miptail.offset
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct20_6offset_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct20_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_4cuda_13anon_struct20_6offset___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct20_6offset___get__(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13301, 0, __PYX_ERR(1, 13301, __pyx_L1_error));

  /* "cuda/cuda.pyx":13303
 *     @property
 *     def offset(self):
 *         return self._ptr[0].subresource.miptail.offset             # <<<<<<<<<<<<<<
 *     @offset.setter
 *     def offset(self, unsigned long long offset):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).subresource.miptail.offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13301
 *     def layer(self, unsigned int layer):
 *         self._ptr[0].subresource.miptail.layer = layer
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._ptr[0].subresource.miptail.offset
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct20.offset.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13304
 *     def offset(self):
 *         return self._ptr[0].subresource.miptail.offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].subresource.miptail.offset = offset
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct20_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct20_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_offset); if (unlikely((__pyx_v_offset == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13305, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct20.offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct20_6offset_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct20 *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_offset));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct20_6offset_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13304, 0, __PYX_ERR(1, 13304, __pyx_L1_error));

  /* "cuda/cuda.pyx":13306
 *     @offset.setter
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].subresource.miptail.offset = offset             # <<<<<<<<<<<<<<
 *     @property
 *     def size(self):
 */
  (__pyx_v_self->_ptr[0]).subresource.miptail.offset = __pyx_v_offset;

  /* "cuda/cuda.pyx":13304
 *     def offset(self):
 *         return self._ptr[0].subresource.miptail.offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].subresource.miptail.offset = offset
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct20.offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13307
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].subresource.miptail.offset = offset
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._ptr[0].subresource.miptail.size
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct20_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct20_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_4cuda_13anon_struct20_4size___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct20_4size___get__(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13307, 0, __PYX_ERR(1, 13307, __pyx_L1_error));

  /* "cuda/cuda.pyx":13309
 *     @property
 *     def size(self):
 *         return self._ptr[0].subresource.miptail.size             # <<<<<<<<<<<<<<
 *     @size.setter
 *     def size(self, unsigned long long size):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).subresource.miptail.size); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13307
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].subresource.miptail.offset = offset
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._ptr[0].subresource.miptail.size
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct20.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13310
 *     def size(self):
 *         return self._ptr[0].subresource.miptail.size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, unsigned long long size):
 *         self._ptr[0].subresource.miptail.size = size
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct20_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct20_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_size); if (unlikely((__pyx_v_size == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13311, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct20.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct20_4size_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct20 *)__pyx_v_self), ((unsigned PY_LONG_LONG)__pyx_v_size));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct20_4size_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_size) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13310, 0, __PYX_ERR(1, 13310, __pyx_L1_error));

  /* "cuda/cuda.pyx":13312
 *     @size.setter
 *     def size(self, unsigned long long size):
 *         self._ptr[0].subresource.miptail.size = size             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union10:
 */
  (__pyx_v_self->_ptr[0]).subresource.miptail.size = __pyx_v_size;

  /* "cuda/cuda.pyx":13310
 *     def size(self):
 *         return self._ptr[0].subresource.miptail.size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, unsigned long long size):
 *         self._ptr[0].subresource.miptail.size = size
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct20.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_13anon_struct20_10__reduce_cython__, "anon_struct20.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct20_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct20_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct20_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct20_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct20 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct20_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__369)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct20.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct20_12__setstate_cython__, "anon_struct20.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct20_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct20_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct20_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct20.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct20_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct20 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct20_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__370)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct20.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13329
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_union10_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_union10_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13329, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 13329, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13329, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 13329, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union10.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union10___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_union10 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_union10___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 13329, 0, __PYX_ERR(1, 13329, __pyx_L1_error));

  /* "cuda/cuda.pyx":13330
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUarrayMapInfo_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":13329
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union10.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13332
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._sparseLevel = anon_struct19(_ptr=<void_ptr>self._ptr)
 *         self._miptail = anon_struct20(_ptr=<void_ptr>self._ptr)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_union10_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_union10_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13332, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 13332, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13332, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 13332, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union10.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union10_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_union10 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_union10_2__init__(struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 13332, 0, __PYX_ERR(1, 13332, __pyx_L1_error));

  /* "cuda/cuda.pyx":13333
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._sparseLevel = anon_struct19(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._miptail = anon_struct20(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 13333, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct19), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_sparseLevel);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_sparseLevel);
  __pyx_v_self->_sparseLevel = ((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13334
 *     def __init__(self, void_ptr _ptr):
 *         self._sparseLevel = anon_struct19(_ptr=<void_ptr>self._ptr)
 *         self._miptail = anon_struct20(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 13334, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct20), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_anon_struct20 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":13332
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._sparseLevel = anon_struct19(_ptr=<void_ptr>self._ptr)
 *         self._miptail = anon_struct20(_ptr=<void_ptr>self._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.cuda.anon_union10.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13335
 *         self._sparseLevel = anon_struct19(_ptr=<void_ptr>self._ptr)
 *         self._miptail = anon_struct20(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_12anon_union10_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_12anon_union10_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_union10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_12anon_union10_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 13335, 0, __PYX_ERR(1, 13335, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_union10.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":13337
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].subresource
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_union10_6getPtr, "anon_union10.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_union10_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union10_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union10_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union10_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_union10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_union10_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__371)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 13337, 0, __PYX_ERR(1, 13337, __pyx_L1_error));

  /* "cuda/cuda.pyx":13338
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].subresource             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).subresource))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13337
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].subresource
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union10.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13339
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].subresource
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_union10_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_union10_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_union10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_union10_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr64__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr65__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 13339, 0, __PYX_ERR(1, 13339, __pyx_L1_error));

  /* "cuda/cuda.pyx":13340
 *         return <void_ptr>&self._ptr[0].subresource
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13341
 *     def __repr__(self):
 *         if self._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(1, 13341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":13342
 *         if self._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/cuda.pyx":13343
 *             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(1, 13343, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sparseLevel_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13343, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13343, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13343, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_7))) {
            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
            if (likely(__pyx_t_8)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
              __Pyx_INCREF(__pyx_t_8);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_7, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13343, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13343, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 13343, __pyx_L12_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          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_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13343, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 13343, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13343, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13343, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 13343, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13343, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_11(__pyx_t_7);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 13343, __pyx_L12_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr64__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr64__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13343, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 13343, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_9genexpr64__pyx_v_line); __pyx_9genexpr64__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_9genexpr64__pyx_v_line); __pyx_9genexpr64__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13343, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_sparseLevel, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13343, __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(1, 13343, __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)) __PYX_ERR(1, 13343, __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(1, 13343, __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/cuda.pyx":13342
 *         if self._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;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":13344
 *             try:
 *                 str_list += ['sparseLevel :\n' + '\n'.join(['    ' + line for line in str(self.sparseLevel).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sparseLevel : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.anon_union10.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(1, 13344, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":13345
 *                 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_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13345, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_sparseLevel_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_sparseLevel_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_sparseLevel_ValueError)) __PYX_ERR(1, 13345, __pyx_L6_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 13345, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":13342
 *         if self._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/cuda.pyx":13346
 *             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/cuda.pyx":13347
 *                 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(1, 13347, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_miptail_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13347, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_12 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 13347, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_12);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13347, __pyx_L27_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          __pyx_t_12 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_12)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_12);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_12, NULL};
            __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
            if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13347, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) {
            __pyx_t_2 = __pyx_t_7; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13347, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 13347, __pyx_L27_error)
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          for (;;) {
            if (likely(!__pyx_t_11)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13347, __pyx_L27_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_7 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_7); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 13347, __pyx_L27_error)
                #else
                __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13347, __pyx_L27_error)
                __Pyx_GOTREF(__pyx_t_7);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13347, __pyx_L27_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_7); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 13347, __pyx_L27_error)
                #else
                __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13347, __pyx_L27_error)
                __Pyx_GOTREF(__pyx_t_7);
                #endif
              }
            } else {
              __pyx_t_7 = __pyx_t_11(__pyx_t_2);
              if (unlikely(!__pyx_t_7)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 13347, __pyx_L27_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_7);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr65__pyx_v_line, __pyx_t_7);
            __pyx_t_7 = 0;
            __pyx_t_7 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr65__pyx_v_line); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13347, __pyx_L27_error)
            __Pyx_GOTREF(__pyx_t_7);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(1, 13347, __pyx_L27_error)
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr65__pyx_v_line); __pyx_9genexpr65__pyx_v_line = 0;
          goto __pyx_L31_exit_scope;
          __pyx_L27_error:;
          __Pyx_XDECREF(__pyx_9genexpr65__pyx_v_line); __pyx_9genexpr65__pyx_v_line = 0;
          goto __pyx_L19_error;
          __pyx_L31_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13347, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_miptail, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13347, __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(1, 13347, __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)) __PYX_ERR(1, 13347, __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(1, 13347, __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/cuda.pyx":13346
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":13348
 *             try:
 *                 str_list += ['miptail :\n' + '\n'.join(['    ' + line for line in str(self.miptail).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['miptail : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.anon_union10.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(1, 13348, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);

        /* "cuda/cuda.pyx":13349
 *                 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_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 13349, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_miptail_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_miptail_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_miptail_ValueError)) __PYX_ERR(1, 13349, __pyx_L21_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13349, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":13346
 *             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/cuda.pyx":13350
 *             except ValueError:
 *                 str_list += ['miptail : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13350, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_r = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":13340
 *         return <void_ptr>&self._ptr[0].subresource
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":13352
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def sparseLevel(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":13339
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].subresource
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.anon_union10.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr64__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr65__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13353
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def sparseLevel(self):
 *         return self._sparseLevel
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_union10_11sparseLevel_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_union10_11sparseLevel___get__(((struct __pyx_obj_4cuda_4cuda_anon_union10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_union10_11sparseLevel___get__(struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13353, 0, __PYX_ERR(1, 13353, __pyx_L1_error));

  /* "cuda/cuda.pyx":13355
 *     @property
 *     def sparseLevel(self):
 *         return self._sparseLevel             # <<<<<<<<<<<<<<
 *     @sparseLevel.setter
 *     def sparseLevel(self, sparseLevel not None : anon_struct19):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_sparseLevel);
  __pyx_r = ((PyObject *)__pyx_v_self->_sparseLevel);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13353
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def sparseLevel(self):
 *         return self._sparseLevel
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union10.sparseLevel.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13356
 *     def sparseLevel(self):
 *         return self._sparseLevel
 *     @sparseLevel.setter             # <<<<<<<<<<<<<<
 *     def sparseLevel(self, sparseLevel not None : anon_struct19):
 *         string.memcpy(&self._ptr[0].subresource.sparseLevel, <ccuda.anon_struct19*><void_ptr>sparseLevel.getPtr(), sizeof(self._ptr[0].subresource.sparseLevel))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_union10_11sparseLevel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_sparseLevel); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct19, 0, "sparseLevel", 0))) __PYX_ERR(1, 13357, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union10_11sparseLevel_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union10 *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)__pyx_v_sparseLevel));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_union10_11sparseLevel_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct19 *__pyx_v_sparseLevel) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13356, 0, __PYX_ERR(1, 13356, __pyx_L1_error));

  /* "cuda/cuda.pyx":13358
 *     @sparseLevel.setter
 *     def sparseLevel(self, sparseLevel not None : anon_struct19):
 *         string.memcpy(&self._ptr[0].subresource.sparseLevel, <ccuda.anon_struct19*><void_ptr>sparseLevel.getPtr(), sizeof(self._ptr[0].subresource.sparseLevel))             # <<<<<<<<<<<<<<
 *     @property
 *     def miptail(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_sparseLevel), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13358, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13358, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).subresource.sparseLevel), ((struct anon_struct19 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).subresource.sparseLevel))));

  /* "cuda/cuda.pyx":13356
 *     def sparseLevel(self):
 *         return self._sparseLevel
 *     @sparseLevel.setter             # <<<<<<<<<<<<<<
 *     def sparseLevel(self, sparseLevel not None : anon_struct19):
 *         string.memcpy(&self._ptr[0].subresource.sparseLevel, <ccuda.anon_struct19*><void_ptr>sparseLevel.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.anon_union10.sparseLevel.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13359
 *     def sparseLevel(self, sparseLevel not None : anon_struct19):
 *         string.memcpy(&self._ptr[0].subresource.sparseLevel, <ccuda.anon_struct19*><void_ptr>sparseLevel.getPtr(), sizeof(self._ptr[0].subresource.sparseLevel))
 *     @property             # <<<<<<<<<<<<<<
 *     def miptail(self):
 *         return self._miptail
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_union10_7miptail_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_union10_7miptail___get__(((struct __pyx_obj_4cuda_4cuda_anon_union10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_union10_7miptail___get__(struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13359, 0, __PYX_ERR(1, 13359, __pyx_L1_error));

  /* "cuda/cuda.pyx":13361
 *     @property
 *     def miptail(self):
 *         return self._miptail             # <<<<<<<<<<<<<<
 *     @miptail.setter
 *     def miptail(self, miptail not None : anon_struct20):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_miptail);
  __pyx_r = ((PyObject *)__pyx_v_self->_miptail);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13359
 *     def sparseLevel(self, sparseLevel not None : anon_struct19):
 *         string.memcpy(&self._ptr[0].subresource.sparseLevel, <ccuda.anon_struct19*><void_ptr>sparseLevel.getPtr(), sizeof(self._ptr[0].subresource.sparseLevel))
 *     @property             # <<<<<<<<<<<<<<
 *     def miptail(self):
 *         return self._miptail
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union10.miptail.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13362
 *     def miptail(self):
 *         return self._miptail
 *     @miptail.setter             # <<<<<<<<<<<<<<
 *     def miptail(self, miptail not None : anon_struct20):
 *         string.memcpy(&self._ptr[0].subresource.miptail, <ccuda.anon_struct20*><void_ptr>miptail.getPtr(), sizeof(self._ptr[0].subresource.miptail))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_union10_7miptail_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_miptail); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct20, 0, "miptail", 0))) __PYX_ERR(1, 13363, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union10_7miptail_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union10 *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct20 *)__pyx_v_miptail));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_union10_7miptail_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct20 *__pyx_v_miptail) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13362, 0, __PYX_ERR(1, 13362, __pyx_L1_error));

  /* "cuda/cuda.pyx":13364
 *     @miptail.setter
 *     def miptail(self, miptail not None : anon_struct20):
 *         string.memcpy(&self._ptr[0].subresource.miptail, <ccuda.anon_struct20*><void_ptr>miptail.getPtr(), sizeof(self._ptr[0].subresource.miptail))             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union11:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_miptail), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13364, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).subresource.miptail), ((struct anon_struct20 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).subresource.miptail))));

  /* "cuda/cuda.pyx":13362
 *     def miptail(self):
 *         return self._miptail
 *     @miptail.setter             # <<<<<<<<<<<<<<
 *     def miptail(self, miptail not None : anon_struct20):
 *         string.memcpy(&self._ptr[0].subresource.miptail, <ccuda.anon_struct20*><void_ptr>miptail.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.anon_union10.miptail.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_12anon_union10_10__reduce_cython__, "anon_union10.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_union10_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union10_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union10_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union10_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union10 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_union10_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__372)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union10.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_union10_12__setstate_cython__, "anon_union10.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_union10_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union10_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union10_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union10.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union10_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union10 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_union10_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__373)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union10.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13379
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_union11_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_union11_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13379, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 13379, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13379, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 13379, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union11.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union11___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_union11 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_union11___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 13379, 0, __PYX_ERR(1, 13379, __pyx_L1_error));

  /* "cuda/cuda.pyx":13380
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUarrayMapInfo_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":13379
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union11.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13382
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._memHandle = CUmemGenericAllocationHandle(_ptr=<void_ptr>&self._ptr[0].memHandle.memHandle)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_union11_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_union11_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13382, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 13382, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13382, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 13382, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union11.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union11_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_union11 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_union11_2__init__(struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 13382, 0, __PYX_ERR(1, 13382, __pyx_L1_error));

  /* "cuda/cuda.pyx":13383
 * 
 *     def __init__(self, void_ptr _ptr):
 *         self._memHandle = CUmemGenericAllocationHandle(_ptr=<void_ptr>&self._ptr[0].memHandle.memHandle)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).memHandle.memHandle))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 13383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_memHandle);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_memHandle);
  __pyx_v_self->_memHandle = ((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13382
 *         self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._memHandle = CUmemGenericAllocationHandle(_ptr=<void_ptr>&self._ptr[0].memHandle.memHandle)
 *     def __dealloc__(self):
 */

  /* 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.cuda.anon_union11.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13384
 *     def __init__(self, void_ptr _ptr):
 *         self._memHandle = CUmemGenericAllocationHandle(_ptr=<void_ptr>&self._ptr[0].memHandle.memHandle)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_12anon_union11_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_12anon_union11_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_union11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_12anon_union11_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 13384, 0, __PYX_ERR(1, 13384, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_union11.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":13386
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].memHandle
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_union11_6getPtr, "anon_union11.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_union11_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union11_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union11_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union11_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_union11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_union11_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__374)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 13386, 0, __PYX_ERR(1, 13386, __pyx_L1_error));

  /* "cuda/cuda.pyx":13387
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].memHandle             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).memHandle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13386
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].memHandle
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union11.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13388
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].memHandle
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_union11_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_union11_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_union11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_union11_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 13388, 0, __PYX_ERR(1, 13388, __pyx_L1_error));

  /* "cuda/cuda.pyx":13389
 *         return <void_ptr>&self._ptr[0].memHandle
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13390
 *     def __repr__(self):
 *         if self._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(1, 13390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":13391
 *         if self._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/cuda.pyx":13392
 *             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_n_s_memHandle_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13392, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13392, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_memHandle, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13392, __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(1, 13392, __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)) __PYX_ERR(1, 13392, __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(1, 13392, __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/cuda.pyx":13391
 *         if self._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/cuda.pyx":13393
 *             try:
 *                 str_list += ['memHandle : ' + str(self.memHandle)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memHandle : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_union11.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13393, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13394
 *                 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(1, 13394, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_memHandle_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_memHandle_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_memHandle_ValueError)) __PYX_ERR(1, 13394, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13394, __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/cuda.pyx":13391
 *         if self._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/cuda.pyx":13395
 *             except ValueError:
 *                 str_list += ['memHandle : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":13389
 *         return <void_ptr>&self._ptr[0].memHandle
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":13397
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def memHandle(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":13388
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].memHandle
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13398
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def memHandle(self):
 *         return self._memHandle
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_union11_9memHandle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_union11_9memHandle___get__(((struct __pyx_obj_4cuda_4cuda_anon_union11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_union11_9memHandle___get__(struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13398, 0, __PYX_ERR(1, 13398, __pyx_L1_error));

  /* "cuda/cuda.pyx":13400
 *     @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/cuda.pyx":13398
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def memHandle(self):
 *         return self._memHandle
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union11.memHandle.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13401
 *     def memHandle(self):
 *         return self._memHandle
 *     @memHandle.setter             # <<<<<<<<<<<<<<
 *     def memHandle(self, memHandle):
 *         cdef ccuda.CUmemGenericAllocationHandle cmemHandle
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_union11_9memHandle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memHandle); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_12anon_union11_9memHandle_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union11 *)__pyx_v_self), ((PyObject *)__pyx_v_memHandle));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_union11_9memHandle_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self, PyObject *__pyx_v_memHandle) {
  CUmemGenericAllocationHandle __pyx_v_cmemHandle;
  PyObject *__pyx_v_pmemHandle = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13401, 0, __PYX_ERR(1, 13401, __pyx_L1_error));

  /* "cuda/cuda.pyx":13404
 *     def memHandle(self, memHandle):
 *         cdef ccuda.CUmemGenericAllocationHandle cmemHandle
 *         if memHandle is None:             # <<<<<<<<<<<<<<
 *             cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *         elif isinstance(memHandle, (CUmemGenericAllocationHandle)):
 */
  __pyx_t_1 = (__pyx_v_memHandle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13405
 *         cdef ccuda.CUmemGenericAllocationHandle cmemHandle
 *         if memHandle is None:
 *             cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(memHandle, (CUmemGenericAllocationHandle)):
 *             pmemHandle = int(memHandle)
 */
    __pyx_v_cmemHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":13404
 *     def memHandle(self, memHandle):
 *         cdef ccuda.CUmemGenericAllocationHandle cmemHandle
 *         if memHandle is None:             # <<<<<<<<<<<<<<
 *             cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *         elif isinstance(memHandle, (CUmemGenericAllocationHandle)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":13406
 *         if memHandle is None:
 *             cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *         elif isinstance(memHandle, (CUmemGenericAllocationHandle)):             # <<<<<<<<<<<<<<
 *             pmemHandle = int(memHandle)
 *             cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_memHandle, __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13407
 *             cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *         elif isinstance(memHandle, (CUmemGenericAllocationHandle)):
 *             pmemHandle = int(memHandle)             # <<<<<<<<<<<<<<
 *             cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_memHandle); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmemHandle = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":13408
 *         elif isinstance(memHandle, (CUmemGenericAllocationHandle)):
 *             pmemHandle = int(memHandle)
 *             cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmemHandle             # <<<<<<<<<<<<<<
 *         else:
 *             pmemHandle = int(CUmemGenericAllocationHandle(memHandle))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemHandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13408, __pyx_L1_error)
    __pyx_v_cmemHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":13406
 *         if memHandle is None:
 *             cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *         elif isinstance(memHandle, (CUmemGenericAllocationHandle)):             # <<<<<<<<<<<<<<
 *             pmemHandle = int(memHandle)
 *             cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":13410
 *             cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *         else:
 *             pmemHandle = int(CUmemGenericAllocationHandle(memHandle))             # <<<<<<<<<<<<<<
 *             cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *         self._memHandle._ptr[0] = cmemHandle
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle), __pyx_v_memHandle); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmemHandle = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":13411
 *         else:
 *             pmemHandle = int(CUmemGenericAllocationHandle(memHandle))
 *             cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmemHandle             # <<<<<<<<<<<<<<
 *         self._memHandle._ptr[0] = cmemHandle
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemHandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13411, __pyx_L1_error)
    __pyx_v_cmemHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":13412
 *             pmemHandle = int(CUmemGenericAllocationHandle(memHandle))
 *             cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *         self._memHandle._ptr[0] = cmemHandle             # <<<<<<<<<<<<<<
 * 
 * cdef class CUarrayMapInfo_st:
 */
  (__pyx_v_self->_memHandle->_ptr[0]) = __pyx_v_cmemHandle;

  /* "cuda/cuda.pyx":13401
 *     def memHandle(self):
 *         return self._memHandle
 *     @memHandle.setter             # <<<<<<<<<<<<<<
 *     def memHandle(self, memHandle):
 *         cdef ccuda.CUmemGenericAllocationHandle cmemHandle
 */

  /* 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.cuda.anon_union11.memHandle.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmemHandle);
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_12anon_union11_10__reduce_cython__, "anon_union11.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_union11_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union11_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union11_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union11_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union11 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_union11_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__375)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union11.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_12anon_union11_12__setstate_cython__, "anon_union11.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_union11_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union11_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union11_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union11.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union11_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union11 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_union11_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__376)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union11.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13450
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUarrayMapInfo_st *>calloc(1, sizeof(ccuda.CUarrayMapInfo_st))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13450, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 13450, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13450, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 13450, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  struct CUarrayMapInfo_st *__pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 13450, 0, __PYX_ERR(1, 13450, __pyx_L1_error));

  /* "cuda/cuda.pyx":13451
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUarrayMapInfo_st *>calloc(1, sizeof(ccuda.CUarrayMapInfo_st))
 *             self._ptr = self._val_ptr
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13452
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUarrayMapInfo_st *>calloc(1, sizeof(ccuda.CUarrayMapInfo_st))             # <<<<<<<<<<<<<<
 *             self._ptr = self._val_ptr
 *         else:
 */
    __pyx_v_self->_val_ptr = ((struct CUarrayMapInfo_st *)calloc(1, (sizeof(struct CUarrayMapInfo_st))));

    /* "cuda/cuda.pyx":13453
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUarrayMapInfo_st *>calloc(1, sizeof(ccuda.CUarrayMapInfo_st))
 *             self._ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 */
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_ptr = __pyx_t_2;

    /* "cuda/cuda.pyx":13451
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUarrayMapInfo_st *>calloc(1, sizeof(ccuda.CUarrayMapInfo_st))
 *             self._ptr = self._val_ptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":13455
 *             self._ptr = self._val_ptr
 *         else:
 *             self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._resource = anon_union9(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUarrayMapInfo_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":13450
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUarrayMapInfo_st *>calloc(1, sizeof(ccuda.CUarrayMapInfo_st))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13456
 *         else:
 *             self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._resource = anon_union9(_ptr=<void_ptr>self._ptr)
 *         self._subresource = anon_union10(_ptr=<void_ptr>self._ptr)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13456, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 13456, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13456, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 13456, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 13456, 0, __PYX_ERR(1, 13456, __pyx_L1_error));

  /* "cuda/cuda.pyx":13457
 *             self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._resource = anon_union9(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._subresource = anon_union10(_ptr=<void_ptr>self._ptr)
 *         self._memHandle = anon_union11(_ptr=<void_ptr>self._ptr)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 13457, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union9), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_resource);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_resource);
  __pyx_v_self->_resource = ((struct __pyx_obj_4cuda_4cuda_anon_union9 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13458
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._resource = anon_union9(_ptr=<void_ptr>self._ptr)
 *         self._subresource = anon_union10(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *         self._memHandle = anon_union11(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 13458, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union10), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_anon_union10 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":13459
 *         self._resource = anon_union9(_ptr=<void_ptr>self._ptr)
 *         self._subresource = anon_union10(_ptr=<void_ptr>self._ptr)
 *         self._memHandle = anon_union11(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 13459, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union11), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_memHandle);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_memHandle);
  __pyx_v_self->_memHandle = ((struct __pyx_obj_4cuda_4cuda_anon_union11 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13456
 *         else:
 *             self._ptr = <ccuda.CUarrayMapInfo_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._resource = anon_union9(_ptr=<void_ptr>self._ptr)
 *         self._subresource = anon_union10(_ptr=<void_ptr>self._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.cuda.CUarrayMapInfo_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13460
 *         self._subresource = anon_union10(_ptr=<void_ptr>self._ptr)
 *         self._memHandle = anon_union11(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 13460, 0, __PYX_ERR(1, 13460, __pyx_L1_error));

  /* "cuda/cuda.pyx":13461
 *         self._memHandle = anon_union11(_ptr=<void_ptr>self._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/cuda.pyx":13462
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_val_ptr);

    /* "cuda/cuda.pyx":13461
 *         self._memHandle = anon_union11(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":13460
 *         self._subresource = anon_union10(_ptr=<void_ptr>self._ptr)
 *         self._memHandle = anon_union11(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUarrayMapInfo_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":13463
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_6getPtr, "CUarrayMapInfo_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUarrayMapInfo_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUarrayMapInfo_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__377)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 13463, 0, __PYX_ERR(1, 13463, __pyx_L1_error));

  /* "cuda/cuda.pyx":13464
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13463
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13465
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr66__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr67__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr68__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 13465, 0, __PYX_ERR(1, 13465, __pyx_L1_error));

  /* "cuda/cuda.pyx":13466
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13467
 *     def __repr__(self):
 *         if self._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(1, 13467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":13468
 *         if self._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/cuda.pyx":13469
 *             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_n_s_resourceType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13469, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13469, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_resourceType, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13469, __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(1, 13469, __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)) __PYX_ERR(1, 13469, __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(1, 13469, __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/cuda.pyx":13468
 *         if self._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/cuda.pyx":13470
 *             try:
 *                 str_list += ['resourceType : ' + str(self.resourceType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['resourceType : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13470, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13471
 *                 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(1, 13471, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_resourceType_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_resourceType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_resourceType_ValueError)) __PYX_ERR(1, 13471, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13471, __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/cuda.pyx":13468
 *         if self._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/cuda.pyx":13472
 *             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/cuda.pyx":13473
 *                 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(1, 13473, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_resource_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13473, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13473, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13473, __pyx_L20_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13473, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13473, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 13473, __pyx_L20_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13473, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 13473, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13473, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13473, __pyx_L20_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 13473, __pyx_L20_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13473, __pyx_L20_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 13473, __pyx_L20_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr66__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr66__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13473, __pyx_L20_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 13473, __pyx_L20_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr66__pyx_v_line); __pyx_9genexpr66__pyx_v_line = 0;
          goto __pyx_L24_exit_scope;
          __pyx_L20_error:;
          __Pyx_XDECREF(__pyx_9genexpr66__pyx_v_line); __pyx_9genexpr66__pyx_v_line = 0;
          goto __pyx_L12_error;
          __pyx_L24_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13473, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_resource, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13473, __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(1, 13473, __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)) __PYX_ERR(1, 13473, __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(1, 13473, __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/cuda.pyx":13472
 *             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/cuda.pyx":13474
 *             try:
 *                 str_list += ['resource :\n' + '\n'.join(['    ' + line for line in str(self.resource).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['resource : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 13474, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":13475
 *                 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(1, 13475, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_resource_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_resource_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_resource_ValueError)) __PYX_ERR(1, 13475, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13475, __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/cuda.pyx":13472
 *             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/cuda.pyx":13476
 *             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/cuda.pyx":13477
 *                 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_n_s_subresourceType_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13477, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13477, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_subresourceType, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13477, __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(1, 13477, __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)) __PYX_ERR(1, 13477, __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(1, 13477, __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/cuda.pyx":13476
 *             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/cuda.pyx":13478
 *             try:
 *                 str_list += ['subresourceType : ' + str(self.subresourceType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['subresourceType : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(1, 13478, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13479
 *                 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(1, 13479, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_subresourceType_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_subresourceType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_subresourceType_ValueError)) __PYX_ERR(1, 13479, __pyx_L29_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13479, __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/cuda.pyx":13476
 *             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/cuda.pyx":13480
 *             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/cuda.pyx":13481
 *                 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(1, 13481, __pyx_L43_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_subresource_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13481, __pyx_L43_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13481, __pyx_L43_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13481, __pyx_L43_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_6))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_6, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13481, __pyx_L43_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_6 = __pyx_t_2; __Pyx_INCREF(__pyx_t_6);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13481, __pyx_L43_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 13481, __pyx_L43_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_6))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13481, __pyx_L43_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 13481, __pyx_L43_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13481, __pyx_L43_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13481, __pyx_L43_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 13481, __pyx_L43_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13481, __pyx_L43_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_12(__pyx_t_6);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 13481, __pyx_L43_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr67__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr67__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13481, __pyx_L43_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_2))) __PYX_ERR(1, 13481, __pyx_L43_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_9genexpr67__pyx_v_line); __pyx_9genexpr67__pyx_v_line = 0;
          goto __pyx_L47_exit_scope;
          __pyx_L43_error:;
          __Pyx_XDECREF(__pyx_9genexpr67__pyx_v_line); __pyx_9genexpr67__pyx_v_line = 0;
          goto __pyx_L35_error;
          __pyx_L47_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13481, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_subresource, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13481, __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(1, 13481, __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)) __PYX_ERR(1, 13481, __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(1, 13481, __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/cuda.pyx":13480
 *             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/cuda.pyx":13482
 *             try:
 *                 str_list += ['subresource :\n' + '\n'.join(['    ' + line for line in str(self.subresource).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['subresource : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 13482, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13483
 *                 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(1, 13483, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_subresource_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_subresource_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_subresource_ValueError)) __PYX_ERR(1, 13483, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13483, __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/cuda.pyx":13480
 *             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/cuda.pyx":13484
 *             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/cuda.pyx":13485
 *                 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_n_s_memOperationType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13485, __pyx_L50_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13485, __pyx_L50_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_memOperationType, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13485, __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(1, 13485, __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)) __PYX_ERR(1, 13485, __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(1, 13485, __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/cuda.pyx":13484
 *             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/cuda.pyx":13486
 *             try:
 *                 str_list += ['memOperationType : ' + str(self.memOperationType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memOperationType : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13486, __pyx_L52_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13487
 *                 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(1, 13487, __pyx_L52_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_memOperationType_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_memOperationType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_memOperationType_ValueError)) __PYX_ERR(1, 13487, __pyx_L52_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13487, __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/cuda.pyx":13484
 *             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/cuda.pyx":13488
 *             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/cuda.pyx":13489
 *                 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_n_s_memHandleType_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13489, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13489, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_memHandleType, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13489, __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(1, 13489, __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)) __PYX_ERR(1, 13489, __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(1, 13489, __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/cuda.pyx":13488
 *             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/cuda.pyx":13490
 *             try:
 *                 str_list += ['memHandleType : ' + str(self.memHandleType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memHandleType : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 13490, __pyx_L60_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13491
 *                 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(1, 13491, __pyx_L60_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_memHandleType_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_memHandleType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_memHandleType_ValueError)) __PYX_ERR(1, 13491, __pyx_L60_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13491, __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/cuda.pyx":13488
 *             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/cuda.pyx":13492
 *             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/cuda.pyx":13493
 *                 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(1, 13493, __pyx_L74_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memHandle_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13493, __pyx_L74_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13493, __pyx_L74_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13493, __pyx_L74_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_8))) {
            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
            if (likely(__pyx_t_9)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
              __Pyx_INCREF(__pyx_t_9);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_8, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13493, __pyx_L74_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_8 = __pyx_t_6; __Pyx_INCREF(__pyx_t_8);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13493, __pyx_L74_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 13493, __pyx_L74_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_8))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13493, __pyx_L74_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 13493, __pyx_L74_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13493, __pyx_L74_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13493, __pyx_L74_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 13493, __pyx_L74_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13493, __pyx_L74_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_8);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 13493, __pyx_L74_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr68__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr68__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13493, __pyx_L74_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 13493, __pyx_L74_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_9genexpr68__pyx_v_line); __pyx_9genexpr68__pyx_v_line = 0;
          goto __pyx_L78_exit_scope;
          __pyx_L74_error:;
          __Pyx_XDECREF(__pyx_9genexpr68__pyx_v_line); __pyx_9genexpr68__pyx_v_line = 0;
          goto __pyx_L66_error;
          __pyx_L78_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13493, __pyx_L66_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_memHandle_3, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13493, __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(1, 13493, __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)) __PYX_ERR(1, 13493, __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(1, 13493, __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/cuda.pyx":13492
 *             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/cuda.pyx":13494
 *             try:
 *                 str_list += ['memHandle :\n' + '\n'.join(['    ' + line for line in str(self.memHandle).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memHandle : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(1, 13494, __pyx_L68_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":13495
 *                 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(1, 13495, __pyx_L68_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_memHandle_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_memHandle_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_memHandle_ValueError)) __PYX_ERR(1, 13495, __pyx_L68_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13495, __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/cuda.pyx":13492
 *             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/cuda.pyx":13496
 *             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/cuda.pyx":13497
 *                 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_n_s_offset_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13497, __pyx_L81_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13497, __pyx_L81_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_offset, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13497, __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(1, 13497, __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)) __PYX_ERR(1, 13497, __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(1, 13497, __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/cuda.pyx":13496
 *             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/cuda.pyx":13498
 *             try:
 *                 str_list += ['offset : ' + str(self.offset)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['offset : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(1, 13498, __pyx_L83_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13499
 *                 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(1, 13499, __pyx_L83_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_offset_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_offset_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_offset_ValueError)) __PYX_ERR(1, 13499, __pyx_L83_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13499, __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/cuda.pyx":13496
 *             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/cuda.pyx":13500
 *             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/cuda.pyx":13501
 *                 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_n_s_deviceBitMask_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13501, __pyx_L89_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13501, __pyx_L89_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_deviceBitMask, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13501, __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(1, 13501, __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)) __PYX_ERR(1, 13501, __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(1, 13501, __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/cuda.pyx":13500
 *             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/cuda.pyx":13502
 *             try:
 *                 str_list += ['deviceBitMask : ' + str(self.deviceBitMask)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['deviceBitMask : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(1, 13502, __pyx_L91_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":13503
 *                 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(1, 13503, __pyx_L91_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_deviceBitMask_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_deviceBitMask_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_deviceBitMask_ValueError)) __PYX_ERR(1, 13503, __pyx_L91_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13503, __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/cuda.pyx":13500
 *             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/cuda.pyx":13504
 *             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/cuda.pyx":13505
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13505, __pyx_L97_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13505, __pyx_L97_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13505, __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(1, 13505, __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)) __PYX_ERR(1, 13505, __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(1, 13505, __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/cuda.pyx":13504
 *             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/cuda.pyx":13506
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(1, 13506, __pyx_L99_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13507
 *                 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(1, 13507, __pyx_L99_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 13507, __pyx_L99_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13507, __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/cuda.pyx":13504
 *             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/cuda.pyx":13508
 *             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/cuda.pyx":13509
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13509, __pyx_L105_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13509, __pyx_L105_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13509, __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(1, 13509, __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)) __PYX_ERR(1, 13509, __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(1, 13509, __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/cuda.pyx":13508
 *             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/cuda.pyx":13510
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(1, 13510, __pyx_L107_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":13511
 *                 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(1, 13511, __pyx_L107_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 13511, __pyx_L107_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13511, __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/cuda.pyx":13508
 *             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/cuda.pyx":13512
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":13466
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":13514
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def resourceType(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":13465
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.CUarrayMapInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr66__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr67__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr68__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13515
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def resourceType(self):
 *         return CUresourcetype(self._ptr[0].resourceType)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_12resourceType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_12resourceType___get__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_12resourceType___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13515, 0, __PYX_ERR(1, 13515, __pyx_L1_error));

  /* "cuda/cuda.pyx":13517
 *     @property
 *     def resourceType(self):
 *         return CUresourcetype(self._ptr[0].resourceType)             # <<<<<<<<<<<<<<
 *     @resourceType.setter
 *     def resourceType(self, resourceType not None : CUresourcetype):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresourcetype); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourcetype_enum((__pyx_v_self->_ptr[0]).resourceType); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13517, __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/cuda.pyx":13515
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def resourceType(self):
 *         return CUresourcetype(self._ptr[0].resourceType)
 */

  /* 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.cuda.CUarrayMapInfo_st.resourceType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13518
 *     def resourceType(self):
 *         return CUresourcetype(self._ptr[0].resourceType)
 *     @resourceType.setter             # <<<<<<<<<<<<<<
 *     def resourceType(self, resourceType not None : CUresourcetype):
 *         self._ptr[0].resourceType = resourceType.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_12resourceType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_resourceType); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 13519, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_12resourceType_2__set__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_resourceType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_12resourceType_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_resourceType) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13518, 0, __PYX_ERR(1, 13518, __pyx_L1_error));

  /* "cuda/cuda.pyx":13520
 *     @resourceType.setter
 *     def resourceType(self, resourceType not None : CUresourcetype):
 *         self._ptr[0].resourceType = resourceType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def resource(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_resourceType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUresourcetype_enum)__Pyx_PyInt_As_enum__CUresourcetype_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13520, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).resourceType = __pyx_t_2;

  /* "cuda/cuda.pyx":13518
 *     def resourceType(self):
 *         return CUresourcetype(self._ptr[0].resourceType)
 *     @resourceType.setter             # <<<<<<<<<<<<<<
 *     def resourceType(self, resourceType not None : CUresourcetype):
 *         self._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.cuda.CUarrayMapInfo_st.resourceType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13521
 *     def resourceType(self, resourceType not None : CUresourcetype):
 *         self._ptr[0].resourceType = resourceType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def resource(self):
 *         return self._resource
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_8resource_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_8resource___get__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_8resource___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13521, 0, __PYX_ERR(1, 13521, __pyx_L1_error));

  /* "cuda/cuda.pyx":13523
 *     @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/cuda.pyx":13521
 *     def resourceType(self, resourceType not None : CUresourcetype):
 *         self._ptr[0].resourceType = resourceType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def resource(self):
 *         return self._resource
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.resource.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13524
 *     def resource(self):
 *         return self._resource
 *     @resource.setter             # <<<<<<<<<<<<<<
 *     def resource(self, resource not None : anon_union9):
 *         string.memcpy(&self._ptr[0].resource, <ccuda.anon_union9*><void_ptr>resource.getPtr(), sizeof(self._ptr[0].resource))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_8resource_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_resource); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_union9, 0, "resource", 0))) __PYX_ERR(1, 13525, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_8resource_2__set__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_union9 *)__pyx_v_resource));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_8resource_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union9 *__pyx_v_resource) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13524, 0, __PYX_ERR(1, 13524, __pyx_L1_error));

  /* "cuda/cuda.pyx":13526
 *     @resource.setter
 *     def resource(self, resource not None : anon_union9):
 *         string.memcpy(&self._ptr[0].resource, <ccuda.anon_union9*><void_ptr>resource.getPtr(), sizeof(self._ptr[0].resource))             # <<<<<<<<<<<<<<
 *     @property
 *     def subresourceType(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_resource), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13526, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).resource), ((union anon_union9 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).resource))));

  /* "cuda/cuda.pyx":13524
 *     def resource(self):
 *         return self._resource
 *     @resource.setter             # <<<<<<<<<<<<<<
 *     def resource(self, resource not None : anon_union9):
 *         string.memcpy(&self._ptr[0].resource, <ccuda.anon_union9*><void_ptr>resource.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.resource.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13527
 *     def resource(self, resource not None : anon_union9):
 *         string.memcpy(&self._ptr[0].resource, <ccuda.anon_union9*><void_ptr>resource.getPtr(), sizeof(self._ptr[0].resource))
 *     @property             # <<<<<<<<<<<<<<
 *     def subresourceType(self):
 *         return CUarraySparseSubresourceType(self._ptr[0].subresourceType)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_15subresourceType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_15subresourceType___get__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_15subresourceType___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13527, 0, __PYX_ERR(1, 13527, __pyx_L1_error));

  /* "cuda/cuda.pyx":13529
 *     @property
 *     def subresourceType(self):
 *         return CUarraySparseSubresourceType(self._ptr[0].subresourceType)             # <<<<<<<<<<<<<<
 *     @subresourceType.setter
 *     def subresourceType(self, subresourceType not None : CUarraySparseSubresourceType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUarraySparseSubresourceType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUarraySparseSubresourceType_enum((__pyx_v_self->_ptr[0]).subresourceType); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13529, __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/cuda.pyx":13527
 *     def resource(self, resource not None : anon_union9):
 *         string.memcpy(&self._ptr[0].resource, <ccuda.anon_union9*><void_ptr>resource.getPtr(), sizeof(self._ptr[0].resource))
 *     @property             # <<<<<<<<<<<<<<
 *     def subresourceType(self):
 *         return CUarraySparseSubresourceType(self._ptr[0].subresourceType)
 */

  /* 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.cuda.CUarrayMapInfo_st.subresourceType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13530
 *     def subresourceType(self):
 *         return CUarraySparseSubresourceType(self._ptr[0].subresourceType)
 *     @subresourceType.setter             # <<<<<<<<<<<<<<
 *     def subresourceType(self, subresourceType not None : CUarraySparseSubresourceType):
 *         self._ptr[0].subresourceType = subresourceType.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_15subresourceType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_subresourceType); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 13531, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_15subresourceType_2__set__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_subresourceType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_15subresourceType_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_subresourceType) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13530, 0, __PYX_ERR(1, 13530, __pyx_L1_error));

  /* "cuda/cuda.pyx":13532
 *     @subresourceType.setter
 *     def subresourceType(self, subresourceType not None : CUarraySparseSubresourceType):
 *         self._ptr[0].subresourceType = subresourceType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def subresource(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_subresourceType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUarraySparseSubresourceType_enum)__Pyx_PyInt_As_enum__CUarraySparseSubresourceType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13532, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).subresourceType = __pyx_t_2;

  /* "cuda/cuda.pyx":13530
 *     def subresourceType(self):
 *         return CUarraySparseSubresourceType(self._ptr[0].subresourceType)
 *     @subresourceType.setter             # <<<<<<<<<<<<<<
 *     def subresourceType(self, subresourceType not None : CUarraySparseSubresourceType):
 *         self._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.cuda.CUarrayMapInfo_st.subresourceType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13533
 *     def subresourceType(self, subresourceType not None : CUarraySparseSubresourceType):
 *         self._ptr[0].subresourceType = subresourceType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def subresource(self):
 *         return self._subresource
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_11subresource_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_11subresource___get__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_11subresource___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13533, 0, __PYX_ERR(1, 13533, __pyx_L1_error));

  /* "cuda/cuda.pyx":13535
 *     @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/cuda.pyx":13533
 *     def subresourceType(self, subresourceType not None : CUarraySparseSubresourceType):
 *         self._ptr[0].subresourceType = subresourceType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def subresource(self):
 *         return self._subresource
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.subresource.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13536
 *     def subresource(self):
 *         return self._subresource
 *     @subresource.setter             # <<<<<<<<<<<<<<
 *     def subresource(self, subresource not None : anon_union10):
 *         string.memcpy(&self._ptr[0].subresource, <ccuda.anon_union10*><void_ptr>subresource.getPtr(), sizeof(self._ptr[0].subresource))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_11subresource_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_subresource); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_union10, 0, "subresource", 0))) __PYX_ERR(1, 13537, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_11subresource_2__set__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_union10 *)__pyx_v_subresource));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_11subresource_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union10 *__pyx_v_subresource) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13536, 0, __PYX_ERR(1, 13536, __pyx_L1_error));

  /* "cuda/cuda.pyx":13538
 *     @subresource.setter
 *     def subresource(self, subresource not None : anon_union10):
 *         string.memcpy(&self._ptr[0].subresource, <ccuda.anon_union10*><void_ptr>subresource.getPtr(), sizeof(self._ptr[0].subresource))             # <<<<<<<<<<<<<<
 *     @property
 *     def memOperationType(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_subresource), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13538, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13538, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13538, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).subresource), ((union anon_union10 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).subresource))));

  /* "cuda/cuda.pyx":13536
 *     def subresource(self):
 *         return self._subresource
 *     @subresource.setter             # <<<<<<<<<<<<<<
 *     def subresource(self, subresource not None : anon_union10):
 *         string.memcpy(&self._ptr[0].subresource, <ccuda.anon_union10*><void_ptr>subresource.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.subresource.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13539
 *     def subresource(self, subresource not None : anon_union10):
 *         string.memcpy(&self._ptr[0].subresource, <ccuda.anon_union10*><void_ptr>subresource.getPtr(), sizeof(self._ptr[0].subresource))
 *     @property             # <<<<<<<<<<<<<<
 *     def memOperationType(self):
 *         return CUmemOperationType(self._ptr[0].memOperationType)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_16memOperationType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_16memOperationType___get__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_16memOperationType___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13539, 0, __PYX_ERR(1, 13539, __pyx_L1_error));

  /* "cuda/cuda.pyx":13541
 *     @property
 *     def memOperationType(self):
 *         return CUmemOperationType(self._ptr[0].memOperationType)             # <<<<<<<<<<<<<<
 *     @memOperationType.setter
 *     def memOperationType(self, memOperationType not None : CUmemOperationType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUmemOperationType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemOperationType_enum((__pyx_v_self->_ptr[0]).memOperationType); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13541, __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/cuda.pyx":13539
 *     def subresource(self, subresource not None : anon_union10):
 *         string.memcpy(&self._ptr[0].subresource, <ccuda.anon_union10*><void_ptr>subresource.getPtr(), sizeof(self._ptr[0].subresource))
 *     @property             # <<<<<<<<<<<<<<
 *     def memOperationType(self):
 *         return CUmemOperationType(self._ptr[0].memOperationType)
 */

  /* 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.cuda.CUarrayMapInfo_st.memOperationType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13542
 *     def memOperationType(self):
 *         return CUmemOperationType(self._ptr[0].memOperationType)
 *     @memOperationType.setter             # <<<<<<<<<<<<<<
 *     def memOperationType(self, memOperationType not None : CUmemOperationType):
 *         self._ptr[0].memOperationType = memOperationType.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_16memOperationType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memOperationType); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 13543, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_16memOperationType_2__set__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_memOperationType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_16memOperationType_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_memOperationType) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13542, 0, __PYX_ERR(1, 13542, __pyx_L1_error));

  /* "cuda/cuda.pyx":13544
 *     @memOperationType.setter
 *     def memOperationType(self, memOperationType not None : CUmemOperationType):
 *         self._ptr[0].memOperationType = memOperationType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def memHandleType(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_memOperationType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13544, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemOperationType_enum)__Pyx_PyInt_As_enum__CUmemOperationType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13544, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).memOperationType = __pyx_t_2;

  /* "cuda/cuda.pyx":13542
 *     def memOperationType(self):
 *         return CUmemOperationType(self._ptr[0].memOperationType)
 *     @memOperationType.setter             # <<<<<<<<<<<<<<
 *     def memOperationType(self, memOperationType not None : CUmemOperationType):
 *         self._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.cuda.CUarrayMapInfo_st.memOperationType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13545
 *     def memOperationType(self, memOperationType not None : CUmemOperationType):
 *         self._ptr[0].memOperationType = memOperationType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def memHandleType(self):
 *         return CUmemHandleType(self._ptr[0].memHandleType)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_13memHandleType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_13memHandleType___get__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_13memHandleType___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13545, 0, __PYX_ERR(1, 13545, __pyx_L1_error));

  /* "cuda/cuda.pyx":13547
 *     @property
 *     def memHandleType(self):
 *         return CUmemHandleType(self._ptr[0].memHandleType)             # <<<<<<<<<<<<<<
 *     @memHandleType.setter
 *     def memHandleType(self, memHandleType not None : CUmemHandleType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUmemHandleType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemHandleType_enum((__pyx_v_self->_ptr[0]).memHandleType); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13547, __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/cuda.pyx":13545
 *     def memOperationType(self, memOperationType not None : CUmemOperationType):
 *         self._ptr[0].memOperationType = memOperationType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def memHandleType(self):
 *         return CUmemHandleType(self._ptr[0].memHandleType)
 */

  /* 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.cuda.CUarrayMapInfo_st.memHandleType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13548
 *     def memHandleType(self):
 *         return CUmemHandleType(self._ptr[0].memHandleType)
 *     @memHandleType.setter             # <<<<<<<<<<<<<<
 *     def memHandleType(self, memHandleType not None : CUmemHandleType):
 *         self._ptr[0].memHandleType = memHandleType.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_13memHandleType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memHandleType); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 13549, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_13memHandleType_2__set__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_memHandleType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_13memHandleType_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_memHandleType) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13548, 0, __PYX_ERR(1, 13548, __pyx_L1_error));

  /* "cuda/cuda.pyx":13550
 *     @memHandleType.setter
 *     def memHandleType(self, memHandleType not None : CUmemHandleType):
 *         self._ptr[0].memHandleType = memHandleType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def memHandle(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_memHandleType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemHandleType_enum)__Pyx_PyInt_As_enum__CUmemHandleType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13550, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).memHandleType = __pyx_t_2;

  /* "cuda/cuda.pyx":13548
 *     def memHandleType(self):
 *         return CUmemHandleType(self._ptr[0].memHandleType)
 *     @memHandleType.setter             # <<<<<<<<<<<<<<
 *     def memHandleType(self, memHandleType not None : CUmemHandleType):
 *         self._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.cuda.CUarrayMapInfo_st.memHandleType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13551
 *     def memHandleType(self, memHandleType not None : CUmemHandleType):
 *         self._ptr[0].memHandleType = memHandleType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def memHandle(self):
 *         return self._memHandle
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_9memHandle_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_9memHandle___get__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_9memHandle___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13551, 0, __PYX_ERR(1, 13551, __pyx_L1_error));

  /* "cuda/cuda.pyx":13553
 *     @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/cuda.pyx":13551
 *     def memHandleType(self, memHandleType not None : CUmemHandleType):
 *         self._ptr[0].memHandleType = memHandleType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def memHandle(self):
 *         return self._memHandle
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.memHandle.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13554
 *     def memHandle(self):
 *         return self._memHandle
 *     @memHandle.setter             # <<<<<<<<<<<<<<
 *     def memHandle(self, memHandle not None : anon_union11):
 *         string.memcpy(&self._ptr[0].memHandle, <ccuda.anon_union11*><void_ptr>memHandle.getPtr(), sizeof(self._ptr[0].memHandle))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_9memHandle_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memHandle); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_union11, 0, "memHandle", 0))) __PYX_ERR(1, 13555, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_9memHandle_2__set__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_union11 *)__pyx_v_memHandle));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_9memHandle_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union11 *__pyx_v_memHandle) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13554, 0, __PYX_ERR(1, 13554, __pyx_L1_error));

  /* "cuda/cuda.pyx":13556
 *     @memHandle.setter
 *     def memHandle(self, memHandle not None : anon_union11):
 *         string.memcpy(&self._ptr[0].memHandle, <ccuda.anon_union11*><void_ptr>memHandle.getPtr(), sizeof(self._ptr[0].memHandle))             # <<<<<<<<<<<<<<
 *     @property
 *     def offset(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_memHandle), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13556, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).memHandle), ((union anon_union11 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).memHandle))));

  /* "cuda/cuda.pyx":13554
 *     def memHandle(self):
 *         return self._memHandle
 *     @memHandle.setter             # <<<<<<<<<<<<<<
 *     def memHandle(self, memHandle not None : anon_union11):
 *         string.memcpy(&self._ptr[0].memHandle, <ccuda.anon_union11*><void_ptr>memHandle.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.memHandle.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13557
 *     def memHandle(self, memHandle not None : anon_union11):
 *         string.memcpy(&self._ptr[0].memHandle, <ccuda.anon_union11*><void_ptr>memHandle.getPtr(), sizeof(self._ptr[0].memHandle))
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._ptr[0].offset
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_6offset_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_6offset___get__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_6offset___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13557, 0, __PYX_ERR(1, 13557, __pyx_L1_error));

  /* "cuda/cuda.pyx":13559
 *     @property
 *     def offset(self):
 *         return self._ptr[0].offset             # <<<<<<<<<<<<<<
 *     @offset.setter
 *     def offset(self, unsigned long long offset):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).offset); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13557
 *     def memHandle(self, memHandle not None : anon_union11):
 *         string.memcpy(&self._ptr[0].memHandle, <ccuda.anon_union11*><void_ptr>memHandle.getPtr(), sizeof(self._ptr[0].memHandle))
 *     @property             # <<<<<<<<<<<<<<
 *     def offset(self):
 *         return self._ptr[0].offset
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.offset.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13560
 *     def offset(self):
 *         return self._ptr[0].offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].offset = offset
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_6offset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_offset); if (unlikely((__pyx_v_offset == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13561, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_6offset_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_6offset_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_offset) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13560, 0, __PYX_ERR(1, 13560, __pyx_L1_error));

  /* "cuda/cuda.pyx":13562
 *     @offset.setter
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].offset = offset             # <<<<<<<<<<<<<<
 *     @property
 *     def deviceBitMask(self):
 */
  (__pyx_v_self->_ptr[0]).offset = __pyx_v_offset;

  /* "cuda/cuda.pyx":13560
 *     def offset(self):
 *         return self._ptr[0].offset
 *     @offset.setter             # <<<<<<<<<<<<<<
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].offset = offset
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.offset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13563
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].offset = offset
 *     @property             # <<<<<<<<<<<<<<
 *     def deviceBitMask(self):
 *         return self._ptr[0].deviceBitMask
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_13deviceBitMask_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_13deviceBitMask___get__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_13deviceBitMask___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13563, 0, __PYX_ERR(1, 13563, __pyx_L1_error));

  /* "cuda/cuda.pyx":13565
 *     @property
 *     def deviceBitMask(self):
 *         return self._ptr[0].deviceBitMask             # <<<<<<<<<<<<<<
 *     @deviceBitMask.setter
 *     def deviceBitMask(self, unsigned int deviceBitMask):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).deviceBitMask); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13563
 *     def offset(self, unsigned long long offset):
 *         self._ptr[0].offset = offset
 *     @property             # <<<<<<<<<<<<<<
 *     def deviceBitMask(self):
 *         return self._ptr[0].deviceBitMask
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.deviceBitMask.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13566
 *     def deviceBitMask(self):
 *         return self._ptr[0].deviceBitMask
 *     @deviceBitMask.setter             # <<<<<<<<<<<<<<
 *     def deviceBitMask(self, unsigned int deviceBitMask):
 *         self._ptr[0].deviceBitMask = deviceBitMask
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_13deviceBitMask_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_deviceBitMask); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_deviceBitMask); if (unlikely((__pyx_v_deviceBitMask == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13567, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.deviceBitMask.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_13deviceBitMask_2__set__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self), ((unsigned int)__pyx_v_deviceBitMask));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_13deviceBitMask_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, unsigned int __pyx_v_deviceBitMask) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13566, 0, __PYX_ERR(1, 13566, __pyx_L1_error));

  /* "cuda/cuda.pyx":13568
 *     @deviceBitMask.setter
 *     def deviceBitMask(self, unsigned int deviceBitMask):
 *         self._ptr[0].deviceBitMask = deviceBitMask             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  (__pyx_v_self->_ptr[0]).deviceBitMask = __pyx_v_deviceBitMask;

  /* "cuda/cuda.pyx":13566
 *     def deviceBitMask(self):
 *         return self._ptr[0].deviceBitMask
 *     @deviceBitMask.setter             # <<<<<<<<<<<<<<
 *     def deviceBitMask(self, unsigned int deviceBitMask):
 *         self._ptr[0].deviceBitMask = deviceBitMask
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.deviceBitMask.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13569
 *     def deviceBitMask(self, unsigned int deviceBitMask):
 *         self._ptr[0].deviceBitMask = deviceBitMask
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13569, 0, __PYX_ERR(1, 13569, __pyx_L1_error));

  /* "cuda/cuda.pyx":13571
 *     @property
 *     def flags(self):
 *         return self._ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13569
 *     def deviceBitMask(self, unsigned int deviceBitMask):
 *         self._ptr[0].deviceBitMask = deviceBitMask
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13572
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13573, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, unsigned int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13572, 0, __PYX_ERR(1, 13572, __pyx_L1_error));

  /* "cuda/cuda.pyx":13574
 *     @flags.setter
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":13572
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13575
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13575, 0, __PYX_ERR(1, 13575, __pyx_L1_error));

  /* "cuda/cuda.pyx":13577
 *     @property
 *     def reserved(self):
 *         return self._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->_ptr[0]).reserved, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13575
 *     def flags(self, unsigned int flags):
 *         self._ptr[0].flags = flags
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return self._ptr[0].reserved
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13578
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  unsigned int __pyx_t_1[2];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13578, 0, __PYX_ERR(1, 13578, __pyx_L1_error));

  /* "cuda/cuda.pyx":13580
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         self._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(1, 13580, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved[0]) * (2));

  /* "cuda/cuda.pyx":13578
 *     def reserved(self):
 *         return self._ptr[0].reserved
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         self._ptr[0].reserved = reserved
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_17CUarrayMapInfo_st_10__reduce_cython__, "CUarrayMapInfo_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUarrayMapInfo_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUarrayMapInfo_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__378)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_12__setstate_cython__, "CUarrayMapInfo_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUarrayMapInfo_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUarrayMapInfo_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUarrayMapInfo_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__379)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUarrayMapInfo_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13599
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUmemLocation_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_16CUmemLocation_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13599, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 13599, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13599, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 13599, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemLocation_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUmemLocation_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUmemLocation_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 13599, 0, __PYX_ERR(1, 13599, __pyx_L1_error));

  /* "cuda/cuda.pyx":13600
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13601
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUmemLocation_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUmemLocation_st__val);

    /* "cuda/cuda.pyx":13600
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":13603
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUmemLocation_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUmemLocation_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":13599
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemLocation_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13604
 *         else:
 *             self._ptr = <ccuda.CUmemLocation_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUmemLocation_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_16CUmemLocation_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13604, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 13604, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13604, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 13604, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemLocation_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUmemLocation_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUmemLocation_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 13604, 0, __PYX_ERR(1, 13604, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemLocation_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13606
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_16CUmemLocation_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_16CUmemLocation_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_16CUmemLocation_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 13606, 0, __PYX_ERR(1, 13606, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUmemLocation_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":13608
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUmemLocation_st_6getPtr, "CUmemLocation_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUmemLocation_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUmemLocation_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUmemLocation_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUmemLocation_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUmemLocation_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__380)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 13608, 0, __PYX_ERR(1, 13608, __pyx_L1_error));

  /* "cuda/cuda.pyx":13609
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13608
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemLocation_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13610
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUmemLocation_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUmemLocation_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUmemLocation_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 13610, 0, __PYX_ERR(1, 13610, __pyx_L1_error));

  /* "cuda/cuda.pyx":13611
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13612
 *     def __repr__(self):
 *         if self._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(1, 13612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":13613
 *         if self._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/cuda.pyx":13614
 *             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_n_s_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13614, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13614, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13614, __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(1, 13614, __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)) __PYX_ERR(1, 13614, __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(1, 13614, __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/cuda.pyx":13613
 *         if self._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/cuda.pyx":13615
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmemLocation_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13615, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13616
 *                 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(1, 13616, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_type_ValueError)) __PYX_ERR(1, 13616, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13616, __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/cuda.pyx":13613
 *         if self._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/cuda.pyx":13617
 *             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/cuda.pyx":13618
 *                 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_n_s_id_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13618, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13618, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_id, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13618, __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(1, 13618, __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)) __PYX_ERR(1, 13618, __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(1, 13618, __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/cuda.pyx":13617
 *             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/cuda.pyx":13619
 *             try:
 *                 str_list += ['id : ' + str(self.id)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['id : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmemLocation_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 13619, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13620
 *                 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(1, 13620, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_id_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_id_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_id_ValueError)) __PYX_ERR(1, 13620, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13620, __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/cuda.pyx":13617
 *             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/cuda.pyx":13621
 *             except ValueError:
 *                 str_list += ['id : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13621, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":13611
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":13623
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":13610
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13624
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUmemLocationType(self._ptr[0].type)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUmemLocation_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUmemLocation_st_4type___get__(((struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUmemLocation_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13624, 0, __PYX_ERR(1, 13624, __pyx_L1_error));

  /* "cuda/cuda.pyx":13626
 *     @property
 *     def type(self):
 *         return CUmemLocationType(self._ptr[0].type)             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUmemLocationType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUmemLocationType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemLocationType_enum((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13626, __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/cuda.pyx":13624
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUmemLocationType(self._ptr[0].type)
 */

  /* 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.cuda.CUmemLocation_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13627
 *     def type(self):
 *         return CUmemLocationType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUmemLocationType):
 *         self._ptr[0].type = type.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUmemLocation_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 13628, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUmemLocation_st_4type_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *)__pyx_v_self), ((PyObject *)__pyx_v_type));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUmemLocation_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13627, 0, __PYX_ERR(1, 13627, __pyx_L1_error));

  /* "cuda/cuda.pyx":13629
 *     @type.setter
 *     def type(self, type not None : CUmemLocationType):
 *         self._ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def id(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemLocationType_enum)__Pyx_PyInt_As_enum__CUmemLocationType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13629, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).type = __pyx_t_2;

  /* "cuda/cuda.pyx":13627
 *     def type(self):
 *         return CUmemLocationType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUmemLocationType):
 *         self._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.cuda.CUmemLocation_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13630
 *     def type(self, type not None : CUmemLocationType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def id(self):
 *         return self._ptr[0].id
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUmemLocation_st_2id_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUmemLocation_st_2id___get__(((struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUmemLocation_st_2id___get__(struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13630, 0, __PYX_ERR(1, 13630, __pyx_L1_error));

  /* "cuda/cuda.pyx":13632
 *     @property
 *     def id(self):
 *         return self._ptr[0].id             # <<<<<<<<<<<<<<
 *     @id.setter
 *     def id(self, int id):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int((__pyx_v_self->_ptr[0]).id); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13630
 *     def type(self, type not None : CUmemLocationType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def id(self):
 *         return self._ptr[0].id
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemLocation_st.id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13633
 *     def id(self):
 *         return self._ptr[0].id
 *     @id.setter             # <<<<<<<<<<<<<<
 *     def id(self, int id):
 *         self._ptr[0].id = id
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUmemLocation_st_2id_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_id); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_int(__pyx_arg_id); if (unlikely((__pyx_v_id == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13634, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemLocation_st.id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUmemLocation_st_2id_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *)__pyx_v_self), ((int)__pyx_v_id));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUmemLocation_st_2id_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self, int __pyx_v_id) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13633, 0, __PYX_ERR(1, 13633, __pyx_L1_error));

  /* "cuda/cuda.pyx":13635
 *     @id.setter
 *     def id(self, int id):
 *         self._ptr[0].id = id             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_struct21:
 */
  (__pyx_v_self->_ptr[0]).id = __pyx_v_id;

  /* "cuda/cuda.pyx":13633
 *     def id(self):
 *         return self._ptr[0].id
 *     @id.setter             # <<<<<<<<<<<<<<
 *     def id(self, int id):
 *         self._ptr[0].id = id
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemLocation_st.id.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_16CUmemLocation_st_10__reduce_cython__, "CUmemLocation_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUmemLocation_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUmemLocation_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUmemLocation_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUmemLocation_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUmemLocation_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__381)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemLocation_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUmemLocation_st_12__setstate_cython__, "CUmemLocation_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUmemLocation_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUmemLocation_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUmemLocation_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemLocation_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUmemLocation_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUmemLocation_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__382)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemLocation_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13656
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUmemAllocationProp_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct21_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct21_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13656, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 13656, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13656, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 13656, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct21___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct21___cinit__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 13656, 0, __PYX_ERR(1, 13656, __pyx_L1_error));

  /* "cuda/cuda.pyx":13657
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUmemAllocationProp_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct CUmemAllocationProp_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":13656
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUmemAllocationProp_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13659
 *         self._ptr = <ccuda.CUmemAllocationProp_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct21_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct21_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13659, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 13659, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13659, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 13659, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct21_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct21_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 13659, 0, __PYX_ERR(1, 13659, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13661
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_13anon_struct21_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct21_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_13anon_struct21_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 13661, 0, __PYX_ERR(1, 13661, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_struct21.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":13663
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].allocFlags
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct21_6getPtr, "anon_struct21.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct21_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct21_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct21_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct21_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct21_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__383)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 13663, 0, __PYX_ERR(1, 13663, __pyx_L1_error));

  /* "cuda/cuda.pyx":13664
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].allocFlags             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).allocFlags))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13663
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].allocFlags
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13665
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].allocFlags
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct21_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct21_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct21_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 13665, 0, __PYX_ERR(1, 13665, __pyx_L1_error));

  /* "cuda/cuda.pyx":13666
 *         return <void_ptr>&self._ptr[0].allocFlags
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13667
 *     def __repr__(self):
 *         if self._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(1, 13667, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":13668
 *         if self._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/cuda.pyx":13669
 *             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_n_s_compressionType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13669, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13669, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_compressionType, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13669, __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(1, 13669, __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)) __PYX_ERR(1, 13669, __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(1, 13669, __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/cuda.pyx":13668
 *         if self._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/cuda.pyx":13670
 *             try:
 *                 str_list += ['compressionType : ' + str(self.compressionType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['compressionType : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct21.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13670, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13671
 *                 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(1, 13671, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_compressionType_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_compressionType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_compressionType_ValueError)) __PYX_ERR(1, 13671, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13671, __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/cuda.pyx":13668
 *         if self._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/cuda.pyx":13672
 *             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/cuda.pyx":13673
 *                 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_n_s_gpuDirectRDMACapable_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13673, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13673, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_gpuDirectRDMACapable, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13673, __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(1, 13673, __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)) __PYX_ERR(1, 13673, __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(1, 13673, __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/cuda.pyx":13672
 *             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/cuda.pyx":13674
 *             try:
 *                 str_list += ['gpuDirectRDMACapable : ' + str(self.gpuDirectRDMACapable)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['gpuDirectRDMACapable : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct21.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 13674, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13675
 *                 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(1, 13675, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_gpuDirectRDMACapable_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_gpuDirectRDMACapable_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_gpuDirectRDMACapable_ValueError)) __PYX_ERR(1, 13675, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13675, __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/cuda.pyx":13672
 *             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/cuda.pyx":13676
 *             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/cuda.pyx":13677
 *                 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_n_s_usage_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13677, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13677, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_usage, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13677, __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(1, 13677, __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)) __PYX_ERR(1, 13677, __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(1, 13677, __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/cuda.pyx":13676
 *             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/cuda.pyx":13678
 *             try:
 *                 str_list += ['usage : ' + str(self.usage)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['usage : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct21.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13678, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13679
 *                 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(1, 13679, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_usage_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_usage_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_usage_ValueError)) __PYX_ERR(1, 13679, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13679, __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/cuda.pyx":13676
 *             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/cuda.pyx":13680
 *             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/cuda.pyx":13681
 *                 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_n_s_reserved_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13681, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13681, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13681, __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(1, 13681, __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)) __PYX_ERR(1, 13681, __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(1, 13681, __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/cuda.pyx":13680
 *             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/cuda.pyx":13682
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_struct21.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 13682, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13683
 *                 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(1, 13683, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 13683, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13683, __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/cuda.pyx":13680
 *             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/cuda.pyx":13684
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":13666
 *         return <void_ptr>&self._ptr[0].allocFlags
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":13686
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def compressionType(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":13665
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].allocFlags
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13687
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def compressionType(self):
 *         return self._ptr[0].allocFlags.compressionType
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct21_15compressionType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct21_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_4cuda_13anon_struct21_15compressionType___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct21_15compressionType___get__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13687, 0, __PYX_ERR(1, 13687, __pyx_L1_error));

  /* "cuda/cuda.pyx":13689
 *     @property
 *     def compressionType(self):
 *         return self._ptr[0].allocFlags.compressionType             # <<<<<<<<<<<<<<
 *     @compressionType.setter
 *     def compressionType(self, unsigned char compressionType):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_char((__pyx_v_self->_ptr[0]).allocFlags.compressionType); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13687
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def compressionType(self):
 *         return self._ptr[0].allocFlags.compressionType
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.compressionType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13690
 *     def compressionType(self):
 *         return self._ptr[0].allocFlags.compressionType
 *     @compressionType.setter             # <<<<<<<<<<<<<<
 *     def compressionType(self, unsigned char compressionType):
 *         self._ptr[0].allocFlags.compressionType = compressionType
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct21_15compressionType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_compressionType); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct21_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_PyInt_As_unsigned_char(__pyx_arg_compressionType); if (unlikely((__pyx_v_compressionType == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 13691, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.compressionType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct21_15compressionType_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)__pyx_v_self), ((unsigned char)__pyx_v_compressionType));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct21_15compressionType_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self, unsigned char __pyx_v_compressionType) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13690, 0, __PYX_ERR(1, 13690, __pyx_L1_error));

  /* "cuda/cuda.pyx":13692
 *     @compressionType.setter
 *     def compressionType(self, unsigned char compressionType):
 *         self._ptr[0].allocFlags.compressionType = compressionType             # <<<<<<<<<<<<<<
 *     @property
 *     def gpuDirectRDMACapable(self):
 */
  (__pyx_v_self->_ptr[0]).allocFlags.compressionType = __pyx_v_compressionType;

  /* "cuda/cuda.pyx":13690
 *     def compressionType(self):
 *         return self._ptr[0].allocFlags.compressionType
 *     @compressionType.setter             # <<<<<<<<<<<<<<
 *     def compressionType(self, unsigned char compressionType):
 *         self._ptr[0].allocFlags.compressionType = compressionType
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.compressionType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13693
 *     def compressionType(self, unsigned char compressionType):
 *         self._ptr[0].allocFlags.compressionType = compressionType
 *     @property             # <<<<<<<<<<<<<<
 *     def gpuDirectRDMACapable(self):
 *         return self._ptr[0].allocFlags.gpuDirectRDMACapable
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct21_20gpuDirectRDMACapable_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct21_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_4cuda_13anon_struct21_20gpuDirectRDMACapable___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct21_20gpuDirectRDMACapable___get__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13693, 0, __PYX_ERR(1, 13693, __pyx_L1_error));

  /* "cuda/cuda.pyx":13695
 *     @property
 *     def gpuDirectRDMACapable(self):
 *         return self._ptr[0].allocFlags.gpuDirectRDMACapable             # <<<<<<<<<<<<<<
 *     @gpuDirectRDMACapable.setter
 *     def gpuDirectRDMACapable(self, unsigned char gpuDirectRDMACapable):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_char((__pyx_v_self->_ptr[0]).allocFlags.gpuDirectRDMACapable); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13693
 *     def compressionType(self, unsigned char compressionType):
 *         self._ptr[0].allocFlags.compressionType = compressionType
 *     @property             # <<<<<<<<<<<<<<
 *     def gpuDirectRDMACapable(self):
 *         return self._ptr[0].allocFlags.gpuDirectRDMACapable
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.gpuDirectRDMACapable.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13696
 *     def gpuDirectRDMACapable(self):
 *         return self._ptr[0].allocFlags.gpuDirectRDMACapable
 *     @gpuDirectRDMACapable.setter             # <<<<<<<<<<<<<<
 *     def gpuDirectRDMACapable(self, unsigned char gpuDirectRDMACapable):
 *         self._ptr[0].allocFlags.gpuDirectRDMACapable = gpuDirectRDMACapable
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct21_20gpuDirectRDMACapable_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_gpuDirectRDMACapable); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct21_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_PyInt_As_unsigned_char(__pyx_arg_gpuDirectRDMACapable); if (unlikely((__pyx_v_gpuDirectRDMACapable == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 13697, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.gpuDirectRDMACapable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct21_20gpuDirectRDMACapable_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)__pyx_v_self), ((unsigned char)__pyx_v_gpuDirectRDMACapable));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct21_20gpuDirectRDMACapable_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self, unsigned char __pyx_v_gpuDirectRDMACapable) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13696, 0, __PYX_ERR(1, 13696, __pyx_L1_error));

  /* "cuda/cuda.pyx":13698
 *     @gpuDirectRDMACapable.setter
 *     def gpuDirectRDMACapable(self, unsigned char gpuDirectRDMACapable):
 *         self._ptr[0].allocFlags.gpuDirectRDMACapable = gpuDirectRDMACapable             # <<<<<<<<<<<<<<
 *     @property
 *     def usage(self):
 */
  (__pyx_v_self->_ptr[0]).allocFlags.gpuDirectRDMACapable = __pyx_v_gpuDirectRDMACapable;

  /* "cuda/cuda.pyx":13696
 *     def gpuDirectRDMACapable(self):
 *         return self._ptr[0].allocFlags.gpuDirectRDMACapable
 *     @gpuDirectRDMACapable.setter             # <<<<<<<<<<<<<<
 *     def gpuDirectRDMACapable(self, unsigned char gpuDirectRDMACapable):
 *         self._ptr[0].allocFlags.gpuDirectRDMACapable = gpuDirectRDMACapable
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.gpuDirectRDMACapable.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13699
 *     def gpuDirectRDMACapable(self, unsigned char gpuDirectRDMACapable):
 *         self._ptr[0].allocFlags.gpuDirectRDMACapable = gpuDirectRDMACapable
 *     @property             # <<<<<<<<<<<<<<
 *     def usage(self):
 *         return self._ptr[0].allocFlags.usage
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct21_5usage_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct21_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_4cuda_13anon_struct21_5usage___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct21_5usage___get__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13699, 0, __PYX_ERR(1, 13699, __pyx_L1_error));

  /* "cuda/cuda.pyx":13701
 *     @property
 *     def usage(self):
 *         return self._ptr[0].allocFlags.usage             # <<<<<<<<<<<<<<
 *     @usage.setter
 *     def usage(self, unsigned short usage):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_short((__pyx_v_self->_ptr[0]).allocFlags.usage); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13699
 *     def gpuDirectRDMACapable(self, unsigned char gpuDirectRDMACapable):
 *         self._ptr[0].allocFlags.gpuDirectRDMACapable = gpuDirectRDMACapable
 *     @property             # <<<<<<<<<<<<<<
 *     def usage(self):
 *         return self._ptr[0].allocFlags.usage
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.usage.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13702
 *     def usage(self):
 *         return self._ptr[0].allocFlags.usage
 *     @usage.setter             # <<<<<<<<<<<<<<
 *     def usage(self, unsigned short usage):
 *         self._ptr[0].allocFlags.usage = usage
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct21_5usage_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_usage); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct21_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_PyInt_As_unsigned_short(__pyx_arg_usage); if (unlikely((__pyx_v_usage == (unsigned short)-1) && PyErr_Occurred())) __PYX_ERR(1, 13703, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.usage.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct21_5usage_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)__pyx_v_self), ((unsigned short)__pyx_v_usage));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct21_5usage_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self, unsigned short __pyx_v_usage) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13702, 0, __PYX_ERR(1, 13702, __pyx_L1_error));

  /* "cuda/cuda.pyx":13704
 *     @usage.setter
 *     def usage(self, unsigned short usage):
 *         self._ptr[0].allocFlags.usage = usage             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).allocFlags.usage = __pyx_v_usage;

  /* "cuda/cuda.pyx":13702
 *     def usage(self):
 *         return self._ptr[0].allocFlags.usage
 *     @usage.setter             # <<<<<<<<<<<<<<
 *     def usage(self, unsigned short usage):
 *         self._ptr[0].allocFlags.usage = usage
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.usage.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13705
 *     def usage(self, unsigned short usage):
 *         self._ptr[0].allocFlags.usage = usage
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].allocFlags.reserved, 4)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct21_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_13anon_struct21_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_4cuda_13anon_struct21_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct21_8reserved___get__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13705, 0, __PYX_ERR(1, 13705, __pyx_L1_error));

  /* "cuda/cuda.pyx":13707
 *     @property
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].allocFlags.reserved, 4)             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize(((char *)(__pyx_v_self->_ptr[0]).allocFlags.reserved), 4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13705
 *     def usage(self, unsigned short usage):
 *         self._ptr[0].allocFlags.usage = usage
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].allocFlags.reserved, 4)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13708
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].allocFlags.reserved, 4)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 4:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13anon_struct21_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_13anon_struct21_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_4cuda_13anon_struct21_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13anon_struct21_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self, PyObject *__pyx_v_reserved) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  unsigned char __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13708, 0, __PYX_ERR(1, 13708, __pyx_L1_error));

  /* "cuda/cuda.pyx":13710
 *     @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(1, 13710, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":13711
 *     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._ptr[0].allocFlags.reserved[i] = b
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13711, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13711, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13711, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_reserved_length_must_be_4_is, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13711, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13711, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 13711, __pyx_L1_error)

    /* "cuda/cuda.pyx":13710
 *     @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/cuda.pyx":13712
 *         if len(reserved) != 4:
 *             raise ValueError("reserved length must be 4, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             self._ptr[0].allocFlags.reserved[i] = b
 * 
 */
  __Pyx_INCREF(__pyx_int_0);
  __pyx_t_4 = __pyx_int_0;
  if (likely(PyList_CheckExact(__pyx_v_reserved)) || PyTuple_CheckExact(__pyx_v_reserved)) {
    __pyx_t_3 = __pyx_v_reserved; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 13712, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13712, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 13712, __pyx_L1_error)
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13712, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13712, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 13712, __pyx_L1_error)
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13712, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      }
    } else {
      __pyx_t_6 = __pyx_t_5(__pyx_t_3);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 13712, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4);
    __pyx_t_4 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cuda.pyx":13713
 *             raise ValueError("reserved length must be 4, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
 *             self._ptr[0].allocFlags.reserved[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemAllocationProp_st:
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_7 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 13713, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 13713, __pyx_L1_error)
    ((__pyx_v_self->_ptr[0]).allocFlags.reserved[__pyx_t_8]) = __pyx_t_7;

    /* "cuda/cuda.pyx":13712
 *         if len(reserved) != 4:
 *             raise ValueError("reserved length must be 4, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             self._ptr[0].allocFlags.reserved[i] = b
 * 
 */
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":13708
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._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_6);
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.reserved.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XDECREF(__pyx_v_b);
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_13anon_struct21_10__reduce_cython__, "anon_struct21.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct21_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct21_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct21_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct21_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct21_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__384)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13anon_struct21_12__setstate_cython__, "anon_struct21.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13anon_struct21_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct21_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct21_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13anon_struct21_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13anon_struct21_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__385)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_struct21.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13742
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13742, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 13742, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13742, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 13742, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemAllocationProp_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 13742, 0, __PYX_ERR(1, 13742, __pyx_L1_error));

  /* "cuda/cuda.pyx":13743
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13744
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUmemAllocationProp_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUmemAllocationProp_st__val);

    /* "cuda/cuda.pyx":13743
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":13746
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUmemAllocationProp_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUmemAllocationProp_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":13742
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemAllocationProp_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13747
 *         else:
 *             self._ptr = <ccuda.CUmemAllocationProp_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *         self._allocFlags = anon_struct21(_ptr=<void_ptr>self._ptr)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13747, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 13747, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13747, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 13747, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemAllocationProp_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 13747, 0, __PYX_ERR(1, 13747, __pyx_L1_error));

  /* "cuda/cuda.pyx":13748
 *             self._ptr = <ccuda.CUmemAllocationProp_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._ptr[0].location)             # <<<<<<<<<<<<<<
 *         self._allocFlags = anon_struct21(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).location))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 13748, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemLocation), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_location);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_location);
  __pyx_v_self->_location = ((struct __pyx_obj_4cuda_4cuda_CUmemLocation *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13749
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *         self._allocFlags = anon_struct21(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 13749, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct21), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_anon_struct21 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":13747
 *         else:
 *             self._ptr = <ccuda.CUmemAllocationProp_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *         self._allocFlags = anon_struct21(_ptr=<void_ptr>self._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.cuda.CUmemAllocationProp_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13750
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *         self._allocFlags = anon_struct21(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_22CUmemAllocationProp_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 13750, 0, __PYX_ERR(1, 13750, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUmemAllocationProp_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":13752
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_22CUmemAllocationProp_st_6getPtr, "CUmemAllocationProp_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_22CUmemAllocationProp_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_22CUmemAllocationProp_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__386)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 13752, 0, __PYX_ERR(1, 13752, __pyx_L1_error));

  /* "cuda/cuda.pyx":13753
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13752
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemAllocationProp_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13754
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_22CUmemAllocationProp_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr69__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr70__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 13754, 0, __PYX_ERR(1, 13754, __pyx_L1_error));

  /* "cuda/cuda.pyx":13755
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13756
 *     def __repr__(self):
 *         if self._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(1, 13756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":13757
 *         if self._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/cuda.pyx":13758
 *             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_n_s_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13758, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13758, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13758, __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(1, 13758, __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)) __PYX_ERR(1, 13758, __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(1, 13758, __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/cuda.pyx":13757
 *         if self._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/cuda.pyx":13759
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmemAllocationProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13759, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13760
 *                 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(1, 13760, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_type_ValueError)) __PYX_ERR(1, 13760, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13760, __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/cuda.pyx":13757
 *         if self._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/cuda.pyx":13761
 *             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/cuda.pyx":13762
 *                 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_n_s_requestedHandleTypes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13762, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13762, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_requestedHandleTypes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13762, __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(1, 13762, __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)) __PYX_ERR(1, 13762, __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(1, 13762, __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/cuda.pyx":13761
 *             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/cuda.pyx":13763
 *             try:
 *                 str_list += ['requestedHandleTypes : ' + str(self.requestedHandleTypes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['requestedHandleTypes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmemAllocationProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 13763, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13764
 *                 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(1, 13764, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_requestedHandleTypes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_requestedHandleTypes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_requestedHandleTypes_ValueError)) __PYX_ERR(1, 13764, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13764, __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/cuda.pyx":13761
 *             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/cuda.pyx":13765
 *             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/cuda.pyx":13766
 *                 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(1, 13766, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_location_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13766, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13766, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13766, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_8))) {
            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
            if (likely(__pyx_t_9)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
              __Pyx_INCREF(__pyx_t_9);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_8, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13766, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_8 = __pyx_t_6; __Pyx_INCREF(__pyx_t_8);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13766, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 13766, __pyx_L28_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_8))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13766, __pyx_L28_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 13766, __pyx_L28_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13766, __pyx_L28_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13766, __pyx_L28_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 13766, __pyx_L28_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13766, __pyx_L28_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_8);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 13766, __pyx_L28_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr69__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr69__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13766, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 13766, __pyx_L28_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_9genexpr69__pyx_v_line); __pyx_9genexpr69__pyx_v_line = 0;
          goto __pyx_L32_exit_scope;
          __pyx_L28_error:;
          __Pyx_XDECREF(__pyx_9genexpr69__pyx_v_line); __pyx_9genexpr69__pyx_v_line = 0;
          goto __pyx_L20_error;
          __pyx_L32_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13766, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_location, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13766, __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(1, 13766, __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)) __PYX_ERR(1, 13766, __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(1, 13766, __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/cuda.pyx":13765
 *             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/cuda.pyx":13767
 *             try:
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['location : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmemAllocationProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(1, 13767, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":13768
 *                 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(1, 13768, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_location_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_location_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_location_ValueError)) __PYX_ERR(1, 13768, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13768, __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/cuda.pyx":13765
 *             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/cuda.pyx":13769
 *             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/cuda.pyx":13770
 *                 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_n_s_win32HandleMetaData_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13770, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13770, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_win32HandleMetaData, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13770, __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(1, 13770, __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)) __PYX_ERR(1, 13770, __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(1, 13770, __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/cuda.pyx":13769
 *             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/cuda.pyx":13771
 *             try:
 *                 str_list += ['win32HandleMetaData : ' + hex(self.win32HandleMetaData)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32HandleMetaData : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmemAllocationProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(1, 13771, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13772
 *                 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(1, 13772, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_win32HandleMetaData_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_win32HandleMetaData_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_win32HandleMetaData_ValueError)) __PYX_ERR(1, 13772, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13772, __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/cuda.pyx":13769
 *             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/cuda.pyx":13773
 *             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/cuda.pyx":13774
 *                 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(1, 13774, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_allocFlags_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13774, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13774, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13774, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_6))) {
            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
            if (likely(__pyx_t_9)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
              __Pyx_INCREF(__pyx_t_9);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_6, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
            __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13774, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
            __pyx_t_6 = __pyx_t_8; __Pyx_INCREF(__pyx_t_6);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13774, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 13774, __pyx_L51_error)
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_6))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13774, __pyx_L51_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_8 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_8); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 13774, __pyx_L51_error)
                #else
                __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13774, __pyx_L51_error)
                __Pyx_GOTREF(__pyx_t_8);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13774, __pyx_L51_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_8); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 13774, __pyx_L51_error)
                #else
                __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13774, __pyx_L51_error)
                __Pyx_GOTREF(__pyx_t_8);
                #endif
              }
            } else {
              __pyx_t_8 = __pyx_t_12(__pyx_t_6);
              if (unlikely(!__pyx_t_8)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 13774, __pyx_L51_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_8);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr70__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr70__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13774, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 13774, __pyx_L51_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_9genexpr70__pyx_v_line); __pyx_9genexpr70__pyx_v_line = 0;
          goto __pyx_L55_exit_scope;
          __pyx_L51_error:;
          __Pyx_XDECREF(__pyx_9genexpr70__pyx_v_line); __pyx_9genexpr70__pyx_v_line = 0;
          goto __pyx_L43_error;
          __pyx_L55_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13774, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_allocFlags, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13774, __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(1, 13774, __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)) __PYX_ERR(1, 13774, __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(1, 13774, __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/cuda.pyx":13773
 *             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/cuda.pyx":13775
 *             try:
 *                 str_list += ['allocFlags :\n' + '\n'.join(['    ' + line for line in str(self.allocFlags).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['allocFlags : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmemAllocationProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13775, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13776
 *                 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(1, 13776, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_allocFlags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_allocFlags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_allocFlags_ValueError)) __PYX_ERR(1, 13776, __pyx_L45_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13776, __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/cuda.pyx":13773
 *             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/cuda.pyx":13777
 *             except ValueError:
 *                 str_list += ['allocFlags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13777, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":13755
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":13779
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":13754
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.CUmemAllocationProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr69__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr70__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13780
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUmemAllocationType(self._ptr[0].type)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_22CUmemAllocationProp_st_4type___get__(((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13780, 0, __PYX_ERR(1, 13780, __pyx_L1_error));

  /* "cuda/cuda.pyx":13782
 *     @property
 *     def type(self):
 *         return CUmemAllocationType(self._ptr[0].type)             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUmemAllocationType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUmemAllocationType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemAllocationType_enum((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13782, __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/cuda.pyx":13780
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUmemAllocationType(self._ptr[0].type)
 */

  /* 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.cuda.CUmemAllocationProp_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13783
 *     def type(self):
 *         return CUmemAllocationType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUmemAllocationType):
 *         self._ptr[0].type = type.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 13784, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_4type_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)__pyx_v_self), ((PyObject *)__pyx_v_type));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13783, 0, __PYX_ERR(1, 13783, __pyx_L1_error));

  /* "cuda/cuda.pyx":13785
 *     @type.setter
 *     def type(self, type not None : CUmemAllocationType):
 *         self._ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def requestedHandleTypes(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemAllocationType_enum)__Pyx_PyInt_As_enum__CUmemAllocationType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13785, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).type = __pyx_t_2;

  /* "cuda/cuda.pyx":13783
 *     def type(self):
 *         return CUmemAllocationType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUmemAllocationType):
 *         self._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.cuda.CUmemAllocationProp_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13786
 *     def type(self, type not None : CUmemAllocationType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def requestedHandleTypes(self):
 *         return CUmemAllocationHandleType(self._ptr[0].requestedHandleTypes)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_20requestedHandleTypes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_22CUmemAllocationProp_st_20requestedHandleTypes___get__(((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_20requestedHandleTypes___get__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13786, 0, __PYX_ERR(1, 13786, __pyx_L1_error));

  /* "cuda/cuda.pyx":13788
 *     @property
 *     def requestedHandleTypes(self):
 *         return CUmemAllocationHandleType(self._ptr[0].requestedHandleTypes)             # <<<<<<<<<<<<<<
 *     @requestedHandleTypes.setter
 *     def requestedHandleTypes(self, requestedHandleTypes not None : CUmemAllocationHandleType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUmemAllocationHandleType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemAllocationHandleType_enum((__pyx_v_self->_ptr[0]).requestedHandleTypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13788, __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/cuda.pyx":13786
 *     def type(self, type not None : CUmemAllocationType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def requestedHandleTypes(self):
 *         return CUmemAllocationHandleType(self._ptr[0].requestedHandleTypes)
 */

  /* 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.cuda.CUmemAllocationProp_st.requestedHandleTypes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13789
 *     def requestedHandleTypes(self):
 *         return CUmemAllocationHandleType(self._ptr[0].requestedHandleTypes)
 *     @requestedHandleTypes.setter             # <<<<<<<<<<<<<<
 *     def requestedHandleTypes(self, requestedHandleTypes not None : CUmemAllocationHandleType):
 *         self._ptr[0].requestedHandleTypes = requestedHandleTypes.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_20requestedHandleTypes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_requestedHandleTypes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 13790, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_20requestedHandleTypes_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)__pyx_v_self), ((PyObject *)__pyx_v_requestedHandleTypes));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_20requestedHandleTypes_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self, PyObject *__pyx_v_requestedHandleTypes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13789, 0, __PYX_ERR(1, 13789, __pyx_L1_error));

  /* "cuda/cuda.pyx":13791
 *     @requestedHandleTypes.setter
 *     def requestedHandleTypes(self, requestedHandleTypes not None : CUmemAllocationHandleType):
 *         self._ptr[0].requestedHandleTypes = requestedHandleTypes.value             # <<<<<<<<<<<<<<
 *     @property
 *     def location(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_requestedHandleTypes, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemAllocationHandleType_enum)__Pyx_PyInt_As_enum__CUmemAllocationHandleType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13791, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).requestedHandleTypes = __pyx_t_2;

  /* "cuda/cuda.pyx":13789
 *     def requestedHandleTypes(self):
 *         return CUmemAllocationHandleType(self._ptr[0].requestedHandleTypes)
 *     @requestedHandleTypes.setter             # <<<<<<<<<<<<<<
 *     def requestedHandleTypes(self, requestedHandleTypes not None : CUmemAllocationHandleType):
 *         self._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.cuda.CUmemAllocationProp_st.requestedHandleTypes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13792
 *     def requestedHandleTypes(self, requestedHandleTypes not None : CUmemAllocationHandleType):
 *         self._ptr[0].requestedHandleTypes = requestedHandleTypes.value
 *     @property             # <<<<<<<<<<<<<<
 *     def location(self):
 *         return self._location
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_8location_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_22CUmemAllocationProp_st_8location___get__(((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_8location___get__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13792, 0, __PYX_ERR(1, 13792, __pyx_L1_error));

  /* "cuda/cuda.pyx":13794
 *     @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/cuda.pyx":13792
 *     def requestedHandleTypes(self, requestedHandleTypes not None : CUmemAllocationHandleType):
 *         self._ptr[0].requestedHandleTypes = requestedHandleTypes.value
 *     @property             # <<<<<<<<<<<<<<
 *     def location(self):
 *         return self._location
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemAllocationProp_st.location.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13795
 *     def location(self):
 *         return self._location
 *     @location.setter             # <<<<<<<<<<<<<<
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._ptr[0].location, <ccuda.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._ptr[0].location))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_8location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_location); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUmemLocation, 0, "location", 0))) __PYX_ERR(1, 13796, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_8location_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUmemLocation *)__pyx_v_location));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_8location_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUmemLocation *__pyx_v_location) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13795, 0, __PYX_ERR(1, 13795, __pyx_L1_error));

  /* "cuda/cuda.pyx":13797
 *     @location.setter
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._ptr[0].location, <ccuda.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._ptr[0].location))             # <<<<<<<<<<<<<<
 *     @property
 *     def win32HandleMetaData(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_location), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13797, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13797, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).location), ((CUmemLocation *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).location))));

  /* "cuda/cuda.pyx":13795
 *     def location(self):
 *         return self._location
 *     @location.setter             # <<<<<<<<<<<<<<
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._ptr[0].location, <ccuda.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._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_AddTraceback("cuda.cuda.CUmemAllocationProp_st.location.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13798
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._ptr[0].location, <ccuda.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._ptr[0].location))
 *     @property             # <<<<<<<<<<<<<<
 *     def win32HandleMetaData(self):
 *         return <void_ptr>self._ptr[0].win32HandleMetaData
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_19win32HandleMetaData_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_22CUmemAllocationProp_st_19win32HandleMetaData___get__(((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_19win32HandleMetaData___get__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13798, 0, __PYX_ERR(1, 13798, __pyx_L1_error));

  /* "cuda/cuda.pyx":13800
 *     @property
 *     def win32HandleMetaData(self):
 *         return <void_ptr>self._ptr[0].win32HandleMetaData             # <<<<<<<<<<<<<<
 *     @win32HandleMetaData.setter
 *     def win32HandleMetaData(self, win32HandleMetaData):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).win32HandleMetaData)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13798
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._ptr[0].location, <ccuda.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._ptr[0].location))
 *     @property             # <<<<<<<<<<<<<<
 *     def win32HandleMetaData(self):
 *         return <void_ptr>self._ptr[0].win32HandleMetaData
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemAllocationProp_st.win32HandleMetaData.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13801
 *     def win32HandleMetaData(self):
 *         return <void_ptr>self._ptr[0].win32HandleMetaData
 *     @win32HandleMetaData.setter             # <<<<<<<<<<<<<<
 *     def win32HandleMetaData(self, win32HandleMetaData):
 *         _cwin32HandleMetaData = utils.HelperInputVoidPtr(win32HandleMetaData)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_19win32HandleMetaData_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32HandleMetaData); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_22CUmemAllocationProp_st_19win32HandleMetaData_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)__pyx_v_self), ((PyObject *)__pyx_v_win32HandleMetaData));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_19win32HandleMetaData_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self, PyObject *__pyx_v_win32HandleMetaData) {
  PyObject *__pyx_v__cwin32HandleMetaData = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13801, 0, __PYX_ERR(1, 13801, __pyx_L1_error));

  /* "cuda/cuda.pyx":13803
 *     @win32HandleMetaData.setter
 *     def win32HandleMetaData(self, win32HandleMetaData):
 *         _cwin32HandleMetaData = utils.HelperInputVoidPtr(win32HandleMetaData)             # <<<<<<<<<<<<<<
 *         self._ptr[0].win32HandleMetaData = <void*><void_ptr>_cwin32HandleMetaData.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_win32HandleMetaData); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cwin32HandleMetaData = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":13804
 *     def win32HandleMetaData(self, win32HandleMetaData):
 *         _cwin32HandleMetaData = utils.HelperInputVoidPtr(win32HandleMetaData)
 *         self._ptr[0].win32HandleMetaData = <void*><void_ptr>_cwin32HandleMetaData.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def allocFlags(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cwin32HandleMetaData, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13804, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).win32HandleMetaData = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":13801
 *     def win32HandleMetaData(self):
 *         return <void_ptr>self._ptr[0].win32HandleMetaData
 *     @win32HandleMetaData.setter             # <<<<<<<<<<<<<<
 *     def win32HandleMetaData(self, win32HandleMetaData):
 *         _cwin32HandleMetaData = utils.HelperInputVoidPtr(win32HandleMetaData)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemAllocationProp_st.win32HandleMetaData.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cwin32HandleMetaData);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13805
 *         _cwin32HandleMetaData = utils.HelperInputVoidPtr(win32HandleMetaData)
 *         self._ptr[0].win32HandleMetaData = <void*><void_ptr>_cwin32HandleMetaData.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def allocFlags(self):
 *         return self._allocFlags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_10allocFlags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_22CUmemAllocationProp_st_10allocFlags___get__(((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_10allocFlags___get__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13805, 0, __PYX_ERR(1, 13805, __pyx_L1_error));

  /* "cuda/cuda.pyx":13807
 *     @property
 *     def allocFlags(self):
 *         return self._allocFlags             # <<<<<<<<<<<<<<
 *     @allocFlags.setter
 *     def allocFlags(self, allocFlags not None : anon_struct21):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_allocFlags);
  __pyx_r = ((PyObject *)__pyx_v_self->_allocFlags);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13805
 *         _cwin32HandleMetaData = utils.HelperInputVoidPtr(win32HandleMetaData)
 *         self._ptr[0].win32HandleMetaData = <void*><void_ptr>_cwin32HandleMetaData.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def allocFlags(self):
 *         return self._allocFlags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemAllocationProp_st.allocFlags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13808
 *     def allocFlags(self):
 *         return self._allocFlags
 *     @allocFlags.setter             # <<<<<<<<<<<<<<
 *     def allocFlags(self, allocFlags not None : anon_struct21):
 *         string.memcpy(&self._ptr[0].allocFlags, <ccuda.anon_struct21*><void_ptr>allocFlags.getPtr(), sizeof(self._ptr[0].allocFlags))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_10allocFlags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_allocFlags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_struct21, 0, "allocFlags", 0))) __PYX_ERR(1, 13809, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_10allocFlags_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)__pyx_v_allocFlags));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_10allocFlags_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_struct21 *__pyx_v_allocFlags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13808, 0, __PYX_ERR(1, 13808, __pyx_L1_error));

  /* "cuda/cuda.pyx":13810
 *     @allocFlags.setter
 *     def allocFlags(self, allocFlags not None : anon_struct21):
 *         string.memcpy(&self._ptr[0].allocFlags, <ccuda.anon_struct21*><void_ptr>allocFlags.getPtr(), sizeof(self._ptr[0].allocFlags))             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmulticastObjectProp_st:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_allocFlags), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13810, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13810, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).allocFlags), ((struct anon_struct21 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).allocFlags))));

  /* "cuda/cuda.pyx":13808
 *     def allocFlags(self):
 *         return self._allocFlags
 *     @allocFlags.setter             # <<<<<<<<<<<<<<
 *     def allocFlags(self, allocFlags not None : anon_struct21):
 *         string.memcpy(&self._ptr[0].allocFlags, <ccuda.anon_struct21*><void_ptr>allocFlags.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUmemAllocationProp_st.allocFlags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_22CUmemAllocationProp_st_10__reduce_cython__, "CUmemAllocationProp_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_22CUmemAllocationProp_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_22CUmemAllocationProp_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__387)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemAllocationProp_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_22CUmemAllocationProp_st_12__setstate_cython__, "CUmemAllocationProp_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_22CUmemAllocationProp_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_22CUmemAllocationProp_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemAllocationProp_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_22CUmemAllocationProp_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__388)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemAllocationProp_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13836
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13836, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 13836, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13836, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 13836, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 13836, 0, __PYX_ERR(1, 13836, __pyx_L1_error));

  /* "cuda/cuda.pyx":13837
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13838
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUmulticastObjectProp_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUmulticastObjectProp_st__val);

    /* "cuda/cuda.pyx":13837
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":13840
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUmulticastObjectProp_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUmulticastObjectProp_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":13836
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13841
 *         else:
 *             self._ptr = <ccuda.CUmulticastObjectProp_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13841, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 13841, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13841, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 13841, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 13841, 0, __PYX_ERR(1, 13841, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13843
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_24CUmulticastObjectProp_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 13843, 0, __PYX_ERR(1, 13843, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUmulticastObjectProp_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":13845
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUmulticastObjectProp_st_6getPtr, "CUmulticastObjectProp_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_24CUmulticastObjectProp_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUmulticastObjectProp_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__389)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 13845, 0, __PYX_ERR(1, 13845, __pyx_L1_error));

  /* "cuda/cuda.pyx":13846
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13846, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13845
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13847
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUmulticastObjectProp_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 13847, 0, __PYX_ERR(1, 13847, __pyx_L1_error));

  /* "cuda/cuda.pyx":13848
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13849
 *     def __repr__(self):
 *         if self._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(1, 13849, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":13850
 *         if self._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/cuda.pyx":13851
 *             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_n_s_numDevices_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13851, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13851, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_numDevices, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13851, __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(1, 13851, __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)) __PYX_ERR(1, 13851, __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(1, 13851, __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/cuda.pyx":13850
 *         if self._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/cuda.pyx":13852
 *             try:
 *                 str_list += ['numDevices : ' + str(self.numDevices)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numDevices : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13852, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13853
 *                 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(1, 13853, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_numDevices_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_numDevices_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_numDevices_ValueError)) __PYX_ERR(1, 13853, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13853, __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/cuda.pyx":13850
 *         if self._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/cuda.pyx":13854
 *             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/cuda.pyx":13855
 *                 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_n_s_size_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13855, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13855, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_size, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13855, __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(1, 13855, __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)) __PYX_ERR(1, 13855, __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(1, 13855, __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/cuda.pyx":13854
 *             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/cuda.pyx":13856
 *             try:
 *                 str_list += ['size : ' + str(self.size)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['size : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 13856, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13857
 *                 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(1, 13857, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_size_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_size_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_size_ValueError)) __PYX_ERR(1, 13857, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13857, __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/cuda.pyx":13854
 *             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/cuda.pyx":13858
 *             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/cuda.pyx":13859
 *                 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_n_s_handleTypes_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13859, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13859, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_handleTypes, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13859, __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(1, 13859, __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)) __PYX_ERR(1, 13859, __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(1, 13859, __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/cuda.pyx":13858
 *             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/cuda.pyx":13860
 *             try:
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handleTypes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13860, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13861
 *                 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(1, 13861, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_handleTypes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_handleTypes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_handleTypes_ValueError)) __PYX_ERR(1, 13861, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13861, __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/cuda.pyx":13858
 *             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/cuda.pyx":13862
 *             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/cuda.pyx":13863
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13863, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13863, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13863, __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(1, 13863, __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)) __PYX_ERR(1, 13863, __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(1, 13863, __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/cuda.pyx":13862
 *             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/cuda.pyx":13864
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 13864, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13865
 *                 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(1, 13865, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 13865, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13865, __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/cuda.pyx":13862
 *             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/cuda.pyx":13866
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13866, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":13848
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":13868
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def numDevices(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":13847
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13869
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def numDevices(self):
 *         return self._ptr[0].numDevices
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_10numDevices_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUmulticastObjectProp_st_10numDevices___get__(((struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_10numDevices___get__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13869, 0, __PYX_ERR(1, 13869, __pyx_L1_error));

  /* "cuda/cuda.pyx":13871
 *     @property
 *     def numDevices(self):
 *         return self._ptr[0].numDevices             # <<<<<<<<<<<<<<
 *     @numDevices.setter
 *     def numDevices(self, unsigned int numDevices):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).numDevices); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13869
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def numDevices(self):
 *         return self._ptr[0].numDevices
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.numDevices.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13872
 *     def numDevices(self):
 *         return self._ptr[0].numDevices
 *     @numDevices.setter             # <<<<<<<<<<<<<<
 *     def numDevices(self, unsigned int numDevices):
 *         self._ptr[0].numDevices = numDevices
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_10numDevices_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numDevices); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_numDevices); if (unlikely((__pyx_v_numDevices == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 13873, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.numDevices.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_10numDevices_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *)__pyx_v_self), ((unsigned int)__pyx_v_numDevices));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_10numDevices_2__set__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self, unsigned int __pyx_v_numDevices) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13872, 0, __PYX_ERR(1, 13872, __pyx_L1_error));

  /* "cuda/cuda.pyx":13874
 *     @numDevices.setter
 *     def numDevices(self, unsigned int numDevices):
 *         self._ptr[0].numDevices = numDevices             # <<<<<<<<<<<<<<
 *     @property
 *     def size(self):
 */
  (__pyx_v_self->_ptr[0]).numDevices = __pyx_v_numDevices;

  /* "cuda/cuda.pyx":13872
 *     def numDevices(self):
 *         return self._ptr[0].numDevices
 *     @numDevices.setter             # <<<<<<<<<<<<<<
 *     def numDevices(self, unsigned int numDevices):
 *         self._ptr[0].numDevices = numDevices
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.numDevices.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13875
 *     def numDevices(self, unsigned int numDevices):
 *         self._ptr[0].numDevices = numDevices
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._ptr[0].size
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUmulticastObjectProp_st_4size___get__(((struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_4size___get__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13875, 0, __PYX_ERR(1, 13875, __pyx_L1_error));

  /* "cuda/cuda.pyx":13877
 *     @property
 *     def size(self):
 *         return self._ptr[0].size             # <<<<<<<<<<<<<<
 *     @size.setter
 *     def size(self, size_t size):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).size); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13875
 *     def numDevices(self, unsigned int numDevices):
 *         self._ptr[0].numDevices = numDevices
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         return self._ptr[0].size
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13878
 *     def size(self):
 *         return self._ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, size_t size):
 *         self._ptr[0].size = size
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_4size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 13879, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_4size_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *)__pyx_v_self), ((size_t)__pyx_v_size));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_4size_2__set__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self, size_t __pyx_v_size) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13878, 0, __PYX_ERR(1, 13878, __pyx_L1_error));

  /* "cuda/cuda.pyx":13880
 *     @size.setter
 *     def size(self, size_t size):
 *         self._ptr[0].size = size             # <<<<<<<<<<<<<<
 *     @property
 *     def handleTypes(self):
 */
  (__pyx_v_self->_ptr[0]).size = __pyx_v_size;

  /* "cuda/cuda.pyx":13878
 *     def size(self):
 *         return self._ptr[0].size
 *     @size.setter             # <<<<<<<<<<<<<<
 *     def size(self, size_t size):
 *         self._ptr[0].size = size
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13881
 *     def size(self, size_t size):
 *         self._ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def handleTypes(self):
 *         return self._ptr[0].handleTypes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_11handleTypes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUmulticastObjectProp_st_11handleTypes___get__(((struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_11handleTypes___get__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13881, 0, __PYX_ERR(1, 13881, __pyx_L1_error));

  /* "cuda/cuda.pyx":13883
 *     @property
 *     def handleTypes(self):
 *         return self._ptr[0].handleTypes             # <<<<<<<<<<<<<<
 *     @handleTypes.setter
 *     def handleTypes(self, unsigned long long handleTypes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).handleTypes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13881
 *     def size(self, size_t size):
 *         self._ptr[0].size = size
 *     @property             # <<<<<<<<<<<<<<
 *     def handleTypes(self):
 *         return self._ptr[0].handleTypes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.handleTypes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13884
 *     def handleTypes(self):
 *         return self._ptr[0].handleTypes
 *     @handleTypes.setter             # <<<<<<<<<<<<<<
 *     def handleTypes(self, unsigned long long handleTypes):
 *         self._ptr[0].handleTypes = handleTypes
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_11handleTypes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_handleTypes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_handleTypes); if (unlikely((__pyx_v_handleTypes == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13885, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.handleTypes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_11handleTypes_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_24CUmulticastObjectProp_st_11handleTypes_2__set__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_handleTypes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13884, 0, __PYX_ERR(1, 13884, __pyx_L1_error));

  /* "cuda/cuda.pyx":13886
 *     @handleTypes.setter
 *     def handleTypes(self, unsigned long long handleTypes):
 *         self._ptr[0].handleTypes = handleTypes             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  (__pyx_v_self->_ptr[0]).handleTypes = __pyx_v_handleTypes;

  /* "cuda/cuda.pyx":13884
 *     def handleTypes(self):
 *         return self._ptr[0].handleTypes
 *     @handleTypes.setter             # <<<<<<<<<<<<<<
 *     def handleTypes(self, unsigned long long handleTypes):
 *         self._ptr[0].handleTypes = handleTypes
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.handleTypes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13887
 *     def handleTypes(self, unsigned long long handleTypes):
 *         self._ptr[0].handleTypes = handleTypes
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUmulticastObjectProp_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13887, 0, __PYX_ERR(1, 13887, __pyx_L1_error));

  /* "cuda/cuda.pyx":13889
 *     @property
 *     def flags(self):
 *         return self._ptr[0].flags             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, unsigned long long flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((__pyx_v_self->_ptr[0]).flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13887
 *     def handleTypes(self, unsigned long long handleTypes):
 *         self._ptr[0].handleTypes = handleTypes
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return self._ptr[0].flags
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13890
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned long long flags):
 *         self._ptr[0].flags = flags
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_PY_LONG_LONG(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13891, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_24CUmulticastObjectProp_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 13890, 0, __PYX_ERR(1, 13890, __pyx_L1_error));

  /* "cuda/cuda.pyx":13892
 *     @flags.setter
 *     def flags(self, unsigned long long flags):
 *         self._ptr[0].flags = flags             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemAccessDesc_st:
 */
  (__pyx_v_self->_ptr[0]).flags = __pyx_v_flags;

  /* "cuda/cuda.pyx":13890
 *     def flags(self):
 *         return self._ptr[0].flags
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, unsigned long long flags):
 *         self._ptr[0].flags = flags
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_24CUmulticastObjectProp_st_10__reduce_cython__, "CUmulticastObjectProp_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_24CUmulticastObjectProp_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUmulticastObjectProp_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__390)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_24CUmulticastObjectProp_st_12__setstate_cython__, "CUmulticastObjectProp_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_24CUmulticastObjectProp_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUmulticastObjectProp_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24CUmulticastObjectProp_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__391)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmulticastObjectProp_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13911
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13911, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 13911, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13911, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 13911, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemAccessDesc_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 13911, 0, __PYX_ERR(1, 13911, __pyx_L1_error));

  /* "cuda/cuda.pyx":13912
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13913
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUmemAccessDesc_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUmemAccessDesc_st__val);

    /* "cuda/cuda.pyx":13912
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":13915
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUmemAccessDesc_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUmemAccessDesc_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":13911
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemAccessDesc_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13916
 *         else:
 *             self._ptr = <ccuda.CUmemAccessDesc_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13916, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 13916, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13916, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 13916, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemAccessDesc_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 13916, 0, __PYX_ERR(1, 13916, __pyx_L1_error));

  /* "cuda/cuda.pyx":13917
 *             self._ptr = <ccuda.CUmemAccessDesc_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._ptr[0].location)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).location))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 13917, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemLocation), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_location);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_location);
  __pyx_v_self->_location = ((struct __pyx_obj_4cuda_4cuda_CUmemLocation *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13916
 *         else:
 *             self._ptr = <ccuda.CUmemAccessDesc_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUmemAccessDesc_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13918
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_18CUmemAccessDesc_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 13918, 0, __PYX_ERR(1, 13918, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUmemAccessDesc_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":13920
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUmemAccessDesc_st_6getPtr, "CUmemAccessDesc_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_18CUmemAccessDesc_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUmemAccessDesc_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__392)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 13920, 0, __PYX_ERR(1, 13920, __pyx_L1_error));

  /* "cuda/cuda.pyx":13921
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13920
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemAccessDesc_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13922
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUmemAccessDesc_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr71__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 13922, 0, __PYX_ERR(1, 13922, __pyx_L1_error));

  /* "cuda/cuda.pyx":13923
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13924
 *     def __repr__(self):
 *         if self._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(1, 13924, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":13925
 *         if self._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/cuda.pyx":13926
 *             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(1, 13926, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_location_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13926, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13926, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13926, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_7))) {
            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
            if (likely(__pyx_t_8)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
              __Pyx_INCREF(__pyx_t_8);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_7, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13926, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13926, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 13926, __pyx_L12_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          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_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13926, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 13926, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13926, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 13926, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 13926, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13926, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_11(__pyx_t_7);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 13926, __pyx_L12_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr71__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr71__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13926, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 13926, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_9genexpr71__pyx_v_line); __pyx_9genexpr71__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_9genexpr71__pyx_v_line); __pyx_9genexpr71__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13926, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_location, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13926, __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(1, 13926, __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)) __PYX_ERR(1, 13926, __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(1, 13926, __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/cuda.pyx":13925
 *         if self._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;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":13927
 *             try:
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['location : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.CUmemAccessDesc_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(1, 13927, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":13928
 *                 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_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13928, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_location_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_location_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_location_ValueError)) __PYX_ERR(1, 13928, __pyx_L6_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 13928, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":13925
 *         if self._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/cuda.pyx":13929
 *             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/cuda.pyx":13930
 *                 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_n_s_flags_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13930, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 13930, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_flags, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13930, __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(1, 13930, __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)) __PYX_ERR(1, 13930, __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(1, 13930, __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/cuda.pyx":13929
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":13931
 *             try:
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.CUmemAccessDesc_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(1, 13931, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13932
 *                 str_list += ['flags : ' + str(self.flags)]
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
        __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 13932, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_flags_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_flags_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_flags_ValueError)) __PYX_ERR(1, 13932, __pyx_L21_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13932, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":13929
 *             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/cuda.pyx":13933
 *             except ValueError:
 *                 str_list += ['flags : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13933, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":13923
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":13935
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def location(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":13922
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.CUmemAccessDesc_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr71__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13936
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def location(self):
 *         return self._location
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_8location_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUmemAccessDesc_st_8location___get__(((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_8location___get__(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13936, 0, __PYX_ERR(1, 13936, __pyx_L1_error));

  /* "cuda/cuda.pyx":13938
 *     @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/cuda.pyx":13936
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def location(self):
 *         return self._location
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemAccessDesc_st.location.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13939
 *     def location(self):
 *         return self._location
 *     @location.setter             # <<<<<<<<<<<<<<
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._ptr[0].location, <ccuda.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._ptr[0].location))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_8location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_location); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUmemLocation, 0, "location", 0))) __PYX_ERR(1, 13940, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_8location_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUmemLocation *)__pyx_v_location));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_8location_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUmemLocation *__pyx_v_location) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13939, 0, __PYX_ERR(1, 13939, __pyx_L1_error));

  /* "cuda/cuda.pyx":13941
 *     @location.setter
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._ptr[0].location, <ccuda.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._ptr[0].location))             # <<<<<<<<<<<<<<
 *     @property
 *     def flags(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_location), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13941, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13941, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).location), ((CUmemLocation *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).location))));

  /* "cuda/cuda.pyx":13939
 *     def location(self):
 *         return self._location
 *     @location.setter             # <<<<<<<<<<<<<<
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._ptr[0].location, <ccuda.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._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_AddTraceback("cuda.cuda.CUmemAccessDesc_st.location.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13942
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._ptr[0].location, <ccuda.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._ptr[0].location))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return CUmemAccess_flags(self._ptr[0].flags)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_5flags_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUmemAccessDesc_st_5flags___get__(((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_5flags___get__(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 13942, 0, __PYX_ERR(1, 13942, __pyx_L1_error));

  /* "cuda/cuda.pyx":13944
 *     @property
 *     def flags(self):
 *         return CUmemAccess_flags(self._ptr[0].flags)             # <<<<<<<<<<<<<<
 *     @flags.setter
 *     def flags(self, flags not None : CUmemAccess_flags):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUmemAccess_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemAccess_flags_enum((__pyx_v_self->_ptr[0]).flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13944, __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/cuda.pyx":13942
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._ptr[0].location, <ccuda.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._ptr[0].location))
 *     @property             # <<<<<<<<<<<<<<
 *     def flags(self):
 *         return CUmemAccess_flags(self._ptr[0].flags)
 */

  /* 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.cuda.CUmemAccessDesc_st.flags.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13945
 *     def flags(self):
 *         return CUmemAccess_flags(self._ptr[0].flags)
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, flags not None : CUmemAccess_flags):
 *         self._ptr[0].flags = flags.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_5flags_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_flags); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 13946, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_5flags_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *)__pyx_v_self), ((PyObject *)__pyx_v_flags));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_5flags_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self, PyObject *__pyx_v_flags) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 13945, 0, __PYX_ERR(1, 13945, __pyx_L1_error));

  /* "cuda/cuda.pyx":13947
 *     @flags.setter
 *     def flags(self, flags not None : CUmemAccess_flags):
 *         self._ptr[0].flags = flags.value             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraphExecUpdateResultInfo_st:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_flags, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemAccess_flags_enum)__Pyx_PyInt_As_enum__CUmemAccess_flags_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13947, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).flags = __pyx_t_2;

  /* "cuda/cuda.pyx":13945
 *     def flags(self):
 *         return CUmemAccess_flags(self._ptr[0].flags)
 *     @flags.setter             # <<<<<<<<<<<<<<
 *     def flags(self, flags not None : CUmemAccess_flags):
 *         self._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.cuda.CUmemAccessDesc_st.flags.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_18CUmemAccessDesc_st_10__reduce_cython__, "CUmemAccessDesc_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_18CUmemAccessDesc_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUmemAccessDesc_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__393)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemAccessDesc_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUmemAccessDesc_st_12__setstate_cython__, "CUmemAccessDesc_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_18CUmemAccessDesc_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUmemAccessDesc_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemAccessDesc_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUmemAccessDesc_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__394)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemAccessDesc_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13971
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13971, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 13971, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13971, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 13971, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphExecUpdateResultInfo_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 13971, 0, __PYX_ERR(1, 13971, __pyx_L1_error));

  /* "cuda/cuda.pyx":13972
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13973
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUgraphExecUpdateResultInfo_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUgraphExecUpdateResultInfo_st__val);

    /* "cuda/cuda.pyx":13972
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":13975
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUgraphExecUpdateResultInfo_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._errorNode = CUgraphNode(_ptr=<void_ptr>&self._ptr[0].errorNode)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUgraphExecUpdateResultInfo_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":13971
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphExecUpdateResultInfo_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":13976
 *         else:
 *             self._ptr = <ccuda.CUgraphExecUpdateResultInfo_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._errorNode = CUgraphNode(_ptr=<void_ptr>&self._ptr[0].errorNode)
 *         self._errorFromNode = CUgraphNode(_ptr=<void_ptr>&self._ptr[0].errorFromNode)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 13976, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 13976, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 13976, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 13976, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphExecUpdateResultInfo_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 13976, 0, __PYX_ERR(1, 13976, __pyx_L1_error));

  /* "cuda/cuda.pyx":13977
 *             self._ptr = <ccuda.CUgraphExecUpdateResultInfo_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._errorNode = CUgraphNode(_ptr=<void_ptr>&self._ptr[0].errorNode)             # <<<<<<<<<<<<<<
 *         self._errorFromNode = CUgraphNode(_ptr=<void_ptr>&self._ptr[0].errorFromNode)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).errorNode))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 13977, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_errorNode);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_errorNode);
  __pyx_v_self->_errorNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13978
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._errorNode = CUgraphNode(_ptr=<void_ptr>&self._ptr[0].errorNode)
 *         self._errorFromNode = CUgraphNode(_ptr=<void_ptr>&self._ptr[0].errorFromNode)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).errorFromNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 13978, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":13976
 *         else:
 *             self._ptr = <ccuda.CUgraphExecUpdateResultInfo_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._errorNode = CUgraphNode(_ptr=<void_ptr>&self._ptr[0].errorNode)
 *         self._errorFromNode = CUgraphNode(_ptr=<void_ptr>&self._ptr[0].errorFromNode)
 */

  /* 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.cuda.CUgraphExecUpdateResultInfo_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13979
 *         self._errorNode = CUgraphNode(_ptr=<void_ptr>&self._ptr[0].errorNode)
 *         self._errorFromNode = CUgraphNode(_ptr=<void_ptr>&self._ptr[0].errorFromNode)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_30CUgraphExecUpdateResultInfo_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 13979, 0, __PYX_ERR(1, 13979, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUgraphExecUpdateResultInfo_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":13981
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUgraphExecUpdateResultInfo_st_6getPtr, "CUgraphExecUpdateResultInfo_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__395)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 13981, 0, __PYX_ERR(1, 13981, __pyx_L1_error));

  /* "cuda/cuda.pyx":13982
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":13981
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphExecUpdateResultInfo_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":13983
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUgraphExecUpdateResultInfo_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 13983, 0, __PYX_ERR(1, 13983, __pyx_L1_error));

  /* "cuda/cuda.pyx":13984
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":13985
 *     def __repr__(self):
 *         if self._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(1, 13985, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":13986
 *         if self._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/cuda.pyx":13987
 *             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_n_s_result_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13987, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13987, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_result, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13987, __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(1, 13987, __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)) __PYX_ERR(1, 13987, __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(1, 13987, __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/cuda.pyx":13986
 *         if self._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/cuda.pyx":13988
 *             try:
 *                 str_list += ['result : ' + str(self.result)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['result : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphExecUpdateResultInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13988, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13989
 *                 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(1, 13989, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_result_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_result_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_result_ValueError)) __PYX_ERR(1, 13989, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13989, __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/cuda.pyx":13986
 *         if self._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/cuda.pyx":13990
 *             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/cuda.pyx":13991
 *                 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_n_s_errorNode_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13991, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13991, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_errorNode, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13991, __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(1, 13991, __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)) __PYX_ERR(1, 13991, __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(1, 13991, __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/cuda.pyx":13990
 *             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/cuda.pyx":13992
 *             try:
 *                 str_list += ['errorNode : ' + str(self.errorNode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['errorNode : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphExecUpdateResultInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 13992, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":13993
 *                 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(1, 13993, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_errorNode_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_errorNode_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_errorNode_ValueError)) __PYX_ERR(1, 13993, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 13993, __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/cuda.pyx":13990
 *             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/cuda.pyx":13994
 *             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/cuda.pyx":13995
 *                 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_n_s_errorFromNode_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13995, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13995, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_errorFromNode, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13995, __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(1, 13995, __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)) __PYX_ERR(1, 13995, __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(1, 13995, __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/cuda.pyx":13994
 *             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/cuda.pyx":13996
 *             try:
 *                 str_list += ['errorFromNode : ' + str(self.errorFromNode)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['errorFromNode : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphExecUpdateResultInfo_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 13996, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":13997
 *                 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(1, 13997, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_errorFromNode_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_errorFromNode_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_errorFromNode_ValueError)) __PYX_ERR(1, 13997, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 13997, __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/cuda.pyx":13994
 *             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/cuda.pyx":13998
 *             except ValueError:
 *                 str_list += ['errorFromNode : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 13998, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":13984
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":14000
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def result(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":13983
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14001
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def result(self):
 *         return CUgraphExecUpdateResult(self._ptr[0].result)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_6result_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUgraphExecUpdateResultInfo_st_6result___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_6result___get__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14001, 0, __PYX_ERR(1, 14001, __pyx_L1_error));

  /* "cuda/cuda.pyx":14003
 *     @property
 *     def result(self):
 *         return CUgraphExecUpdateResult(self._ptr[0].result)             # <<<<<<<<<<<<<<
 *     @result.setter
 *     def result(self, result not None : CUgraphExecUpdateResult):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUgraphExecUpdateResult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphExecUpdateResult_enum((__pyx_v_self->_ptr[0]).result); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14003, __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/cuda.pyx":14001
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def result(self):
 *         return CUgraphExecUpdateResult(self._ptr[0].result)
 */

  /* 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.cuda.CUgraphExecUpdateResultInfo_st.result.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14004
 *     def result(self):
 *         return CUgraphExecUpdateResult(self._ptr[0].result)
 *     @result.setter             # <<<<<<<<<<<<<<
 *     def result(self, result not None : CUgraphExecUpdateResult):
 *         self._ptr[0].result = result.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_6result_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_result); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 14005, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_6result_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_result));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_6result_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self, PyObject *__pyx_v_result) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14004, 0, __PYX_ERR(1, 14004, __pyx_L1_error));

  /* "cuda/cuda.pyx":14006
 *     @result.setter
 *     def result(self, result not None : CUgraphExecUpdateResult):
 *         self._ptr[0].result = result.value             # <<<<<<<<<<<<<<
 *     @property
 *     def errorNode(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUgraphExecUpdateResult_enum)__Pyx_PyInt_As_enum__CUgraphExecUpdateResult_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14006, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).result = __pyx_t_2;

  /* "cuda/cuda.pyx":14004
 *     def result(self):
 *         return CUgraphExecUpdateResult(self._ptr[0].result)
 *     @result.setter             # <<<<<<<<<<<<<<
 *     def result(self, result not None : CUgraphExecUpdateResult):
 *         self._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.cuda.CUgraphExecUpdateResultInfo_st.result.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14007
 *     def result(self, result not None : CUgraphExecUpdateResult):
 *         self._ptr[0].result = result.value
 *     @property             # <<<<<<<<<<<<<<
 *     def errorNode(self):
 *         return self._errorNode
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_9errorNode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUgraphExecUpdateResultInfo_st_9errorNode___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_9errorNode___get__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14007, 0, __PYX_ERR(1, 14007, __pyx_L1_error));

  /* "cuda/cuda.pyx":14009
 *     @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/cuda.pyx":14007
 *     def result(self, result not None : CUgraphExecUpdateResult):
 *         self._ptr[0].result = result.value
 *     @property             # <<<<<<<<<<<<<<
 *     def errorNode(self):
 *         return self._errorNode
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphExecUpdateResultInfo_st.errorNode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14010
 *     def errorNode(self):
 *         return self._errorNode
 *     @errorNode.setter             # <<<<<<<<<<<<<<
 *     def errorNode(self, errorNode):
 *         cdef ccuda.CUgraphNode cerrorNode
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_9errorNode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_errorNode); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_30CUgraphExecUpdateResultInfo_st_9errorNode_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_errorNode));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_9errorNode_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self, PyObject *__pyx_v_errorNode) {
  CUgraphNode __pyx_v_cerrorNode;
  PyObject *__pyx_v_perrorNode = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14010, 0, __PYX_ERR(1, 14010, __pyx_L1_error));

  /* "cuda/cuda.pyx":14013
 *     def errorNode(self, errorNode):
 *         cdef ccuda.CUgraphNode cerrorNode
 *         if errorNode is None:             # <<<<<<<<<<<<<<
 *             cerrorNode = <ccuda.CUgraphNode><void_ptr>0
 *         elif isinstance(errorNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_errorNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14014
 *         cdef ccuda.CUgraphNode cerrorNode
 *         if errorNode is None:
 *             cerrorNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(errorNode, (CUgraphNode,)):
 *             perrorNode = int(errorNode)
 */
    __pyx_v_cerrorNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":14013
 *     def errorNode(self, errorNode):
 *         cdef ccuda.CUgraphNode cerrorNode
 *         if errorNode is None:             # <<<<<<<<<<<<<<
 *             cerrorNode = <ccuda.CUgraphNode><void_ptr>0
 *         elif isinstance(errorNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14015
 *         if errorNode is None:
 *             cerrorNode = <ccuda.CUgraphNode><void_ptr>0
 *         elif isinstance(errorNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *             perrorNode = int(errorNode)
 *             cerrorNode = <ccuda.CUgraphNode><void_ptr>perrorNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_errorNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14016
 *             cerrorNode = <ccuda.CUgraphNode><void_ptr>0
 *         elif isinstance(errorNode, (CUgraphNode,)):
 *             perrorNode = int(errorNode)             # <<<<<<<<<<<<<<
 *             cerrorNode = <ccuda.CUgraphNode><void_ptr>perrorNode
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_errorNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14016, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_perrorNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14017
 *         elif isinstance(errorNode, (CUgraphNode,)):
 *             perrorNode = int(errorNode)
 *             cerrorNode = <ccuda.CUgraphNode><void_ptr>perrorNode             # <<<<<<<<<<<<<<
 *         else:
 *             perrorNode = int(CUgraphNode(errorNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_perrorNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14017, __pyx_L1_error)
    __pyx_v_cerrorNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":14015
 *         if errorNode is None:
 *             cerrorNode = <ccuda.CUgraphNode><void_ptr>0
 *         elif isinstance(errorNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *             perrorNode = int(errorNode)
 *             cerrorNode = <ccuda.CUgraphNode><void_ptr>perrorNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14019
 *             cerrorNode = <ccuda.CUgraphNode><void_ptr>perrorNode
 *         else:
 *             perrorNode = int(CUgraphNode(errorNode))             # <<<<<<<<<<<<<<
 *             cerrorNode = <ccuda.CUgraphNode><void_ptr>perrorNode
 *         self._errorNode._ptr[0] = cerrorNode
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_errorNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14019, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14019, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_perrorNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":14020
 *         else:
 *             perrorNode = int(CUgraphNode(errorNode))
 *             cerrorNode = <ccuda.CUgraphNode><void_ptr>perrorNode             # <<<<<<<<<<<<<<
 *         self._errorNode._ptr[0] = cerrorNode
 *     @property
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_perrorNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14020, __pyx_L1_error)
    __pyx_v_cerrorNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14021
 *             perrorNode = int(CUgraphNode(errorNode))
 *             cerrorNode = <ccuda.CUgraphNode><void_ptr>perrorNode
 *         self._errorNode._ptr[0] = cerrorNode             # <<<<<<<<<<<<<<
 *     @property
 *     def errorFromNode(self):
 */
  (__pyx_v_self->_errorNode->_ptr[0]) = __pyx_v_cerrorNode;

  /* "cuda/cuda.pyx":14010
 *     def errorNode(self):
 *         return self._errorNode
 *     @errorNode.setter             # <<<<<<<<<<<<<<
 *     def errorNode(self, errorNode):
 *         cdef ccuda.CUgraphNode cerrorNode
 */

  /* 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.cuda.CUgraphExecUpdateResultInfo_st.errorNode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_perrorNode);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14022
 *             cerrorNode = <ccuda.CUgraphNode><void_ptr>perrorNode
 *         self._errorNode._ptr[0] = cerrorNode
 *     @property             # <<<<<<<<<<<<<<
 *     def errorFromNode(self):
 *         return self._errorFromNode
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_13errorFromNode_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUgraphExecUpdateResultInfo_st_13errorFromNode___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_13errorFromNode___get__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14022, 0, __PYX_ERR(1, 14022, __pyx_L1_error));

  /* "cuda/cuda.pyx":14024
 *     @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/cuda.pyx":14022
 *             cerrorNode = <ccuda.CUgraphNode><void_ptr>perrorNode
 *         self._errorNode._ptr[0] = cerrorNode
 *     @property             # <<<<<<<<<<<<<<
 *     def errorFromNode(self):
 *         return self._errorFromNode
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphExecUpdateResultInfo_st.errorFromNode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14025
 *     def errorFromNode(self):
 *         return self._errorFromNode
 *     @errorFromNode.setter             # <<<<<<<<<<<<<<
 *     def errorFromNode(self, errorFromNode):
 *         cdef ccuda.CUgraphNode cerrorFromNode
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_13errorFromNode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_errorFromNode); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_30CUgraphExecUpdateResultInfo_st_13errorFromNode_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *)__pyx_v_self), ((PyObject *)__pyx_v_errorFromNode));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_13errorFromNode_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self, PyObject *__pyx_v_errorFromNode) {
  CUgraphNode __pyx_v_cerrorFromNode;
  PyObject *__pyx_v_perrorFromNode = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14025, 0, __PYX_ERR(1, 14025, __pyx_L1_error));

  /* "cuda/cuda.pyx":14028
 *     def errorFromNode(self, errorFromNode):
 *         cdef ccuda.CUgraphNode cerrorFromNode
 *         if errorFromNode is None:             # <<<<<<<<<<<<<<
 *             cerrorFromNode = <ccuda.CUgraphNode><void_ptr>0
 *         elif isinstance(errorFromNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_errorFromNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14029
 *         cdef ccuda.CUgraphNode cerrorFromNode
 *         if errorFromNode is None:
 *             cerrorFromNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(errorFromNode, (CUgraphNode,)):
 *             perrorFromNode = int(errorFromNode)
 */
    __pyx_v_cerrorFromNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":14028
 *     def errorFromNode(self, errorFromNode):
 *         cdef ccuda.CUgraphNode cerrorFromNode
 *         if errorFromNode is None:             # <<<<<<<<<<<<<<
 *             cerrorFromNode = <ccuda.CUgraphNode><void_ptr>0
 *         elif isinstance(errorFromNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14030
 *         if errorFromNode is None:
 *             cerrorFromNode = <ccuda.CUgraphNode><void_ptr>0
 *         elif isinstance(errorFromNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *             perrorFromNode = int(errorFromNode)
 *             cerrorFromNode = <ccuda.CUgraphNode><void_ptr>perrorFromNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_errorFromNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14031
 *             cerrorFromNode = <ccuda.CUgraphNode><void_ptr>0
 *         elif isinstance(errorFromNode, (CUgraphNode,)):
 *             perrorFromNode = int(errorFromNode)             # <<<<<<<<<<<<<<
 *             cerrorFromNode = <ccuda.CUgraphNode><void_ptr>perrorFromNode
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_errorFromNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14031, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_perrorFromNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14032
 *         elif isinstance(errorFromNode, (CUgraphNode,)):
 *             perrorFromNode = int(errorFromNode)
 *             cerrorFromNode = <ccuda.CUgraphNode><void_ptr>perrorFromNode             # <<<<<<<<<<<<<<
 *         else:
 *             perrorFromNode = int(CUgraphNode(errorFromNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_perrorFromNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14032, __pyx_L1_error)
    __pyx_v_cerrorFromNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":14030
 *         if errorFromNode is None:
 *             cerrorFromNode = <ccuda.CUgraphNode><void_ptr>0
 *         elif isinstance(errorFromNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *             perrorFromNode = int(errorFromNode)
 *             cerrorFromNode = <ccuda.CUgraphNode><void_ptr>perrorFromNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14034
 *             cerrorFromNode = <ccuda.CUgraphNode><void_ptr>perrorFromNode
 *         else:
 *             perrorFromNode = int(CUgraphNode(errorFromNode))             # <<<<<<<<<<<<<<
 *             cerrorFromNode = <ccuda.CUgraphNode><void_ptr>perrorFromNode
 *         self._errorFromNode._ptr[0] = cerrorFromNode
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_errorFromNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14034, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_perrorFromNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":14035
 *         else:
 *             perrorFromNode = int(CUgraphNode(errorFromNode))
 *             cerrorFromNode = <ccuda.CUgraphNode><void_ptr>perrorFromNode             # <<<<<<<<<<<<<<
 *         self._errorFromNode._ptr[0] = cerrorFromNode
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_perrorFromNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14035, __pyx_L1_error)
    __pyx_v_cerrorFromNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14036
 *             perrorFromNode = int(CUgraphNode(errorFromNode))
 *             cerrorFromNode = <ccuda.CUgraphNode><void_ptr>perrorFromNode
 *         self._errorFromNode._ptr[0] = cerrorFromNode             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemPoolProps_st:
 */
  (__pyx_v_self->_errorFromNode->_ptr[0]) = __pyx_v_cerrorFromNode;

  /* "cuda/cuda.pyx":14025
 *     def errorFromNode(self):
 *         return self._errorFromNode
 *     @errorFromNode.setter             # <<<<<<<<<<<<<<
 *     def errorFromNode(self, errorFromNode):
 *         cdef ccuda.CUgraphNode cerrorFromNode
 */

  /* 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.cuda.CUgraphExecUpdateResultInfo_st.errorFromNode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_perrorFromNode);
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_30CUgraphExecUpdateResultInfo_st_10__reduce_cython__, "CUgraphExecUpdateResultInfo_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__396)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphExecUpdateResultInfo_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUgraphExecUpdateResultInfo_st_12__setstate_cython__, "CUgraphExecUpdateResultInfo_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphExecUpdateResultInfo_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__397)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphExecUpdateResultInfo_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14069
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14069, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 14069, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14069, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14069, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 14069, 0, __PYX_ERR(1, 14069, __pyx_L1_error));

  /* "cuda/cuda.pyx":14070
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14071
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUmemPoolProps_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUmemPoolProps_st__val);

    /* "cuda/cuda.pyx":14070
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14073
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUmemPoolProps_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUmemPoolProps_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14069
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14074
 *         else:
 *             self._ptr = <ccuda.CUmemPoolProps_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14074, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 14074, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14074, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14074, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 14074, 0, __PYX_ERR(1, 14074, __pyx_L1_error));

  /* "cuda/cuda.pyx":14075
 *             self._ptr = <ccuda.CUmemPoolProps_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._ptr[0].location)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).location))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 14075, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemLocation), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_location);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_location);
  __pyx_v_self->_location = ((struct __pyx_obj_4cuda_4cuda_CUmemLocation *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14074
 *         else:
 *             self._ptr = <ccuda.CUmemPoolProps_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUmemPoolProps_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14076
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._location = CUmemLocation(_ptr=<void_ptr>&self._ptr[0].location)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_17CUmemPoolProps_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 14076, 0, __PYX_ERR(1, 14076, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUmemPoolProps_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":14078
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUmemPoolProps_st_6getPtr, "CUmemPoolProps_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUmemPoolProps_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUmemPoolProps_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__398)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 14078, 0, __PYX_ERR(1, 14078, __pyx_L1_error));

  /* "cuda/cuda.pyx":14079
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14078
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14080
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUmemPoolProps_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr72__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 14080, 0, __PYX_ERR(1, 14080, __pyx_L1_error));

  /* "cuda/cuda.pyx":14081
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14082
 *     def __repr__(self):
 *         if self._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(1, 14082, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14083
 *         if self._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/cuda.pyx":14084
 *             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_n_s_allocType_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14084, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14084, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_allocType, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14084, __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(1, 14084, __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)) __PYX_ERR(1, 14084, __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(1, 14084, __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/cuda.pyx":14083
 *         if self._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/cuda.pyx":14085
 *             try:
 *                 str_list += ['allocType : ' + str(self.allocType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['allocType : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 14085, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":14086
 *                 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(1, 14086, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_allocType_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_allocType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_allocType_ValueError)) __PYX_ERR(1, 14086, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14086, __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/cuda.pyx":14083
 *         if self._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/cuda.pyx":14087
 *             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/cuda.pyx":14088
 *                 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_n_s_handleTypes_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14088, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14088, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_handleTypes, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14088, __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(1, 14088, __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)) __PYX_ERR(1, 14088, __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(1, 14088, __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/cuda.pyx":14087
 *             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/cuda.pyx":14089
 *             try:
 *                 str_list += ['handleTypes : ' + str(self.handleTypes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['handleTypes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 14089, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":14090
 *                 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(1, 14090, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_handleTypes_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_handleTypes_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_handleTypes_ValueError)) __PYX_ERR(1, 14090, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14090, __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/cuda.pyx":14087
 *             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/cuda.pyx":14091
 *             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/cuda.pyx":14092
 *                 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(1, 14092, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_location_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14092, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14092, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14092, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_8))) {
            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
            if (likely(__pyx_t_9)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
              __Pyx_INCREF(__pyx_t_9);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_8, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14092, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_8 = __pyx_t_6; __Pyx_INCREF(__pyx_t_8);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14092, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14092, __pyx_L28_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_8))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14092, __pyx_L28_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14092, __pyx_L28_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14092, __pyx_L28_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14092, __pyx_L28_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14092, __pyx_L28_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14092, __pyx_L28_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_8);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 14092, __pyx_L28_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr72__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr72__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14092, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 14092, __pyx_L28_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_9genexpr72__pyx_v_line); __pyx_9genexpr72__pyx_v_line = 0;
          goto __pyx_L32_exit_scope;
          __pyx_L28_error:;
          __Pyx_XDECREF(__pyx_9genexpr72__pyx_v_line); __pyx_9genexpr72__pyx_v_line = 0;
          goto __pyx_L20_error;
          __pyx_L32_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14092, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_location, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14092, __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(1, 14092, __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)) __PYX_ERR(1, 14092, __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(1, 14092, __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/cuda.pyx":14091
 *             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/cuda.pyx":14093
 *             try:
 *                 str_list += ['location :\n' + '\n'.join(['    ' + line for line in str(self.location).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['location : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(1, 14093, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":14094
 *                 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(1, 14094, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_location_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_location_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_location_ValueError)) __PYX_ERR(1, 14094, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14094, __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/cuda.pyx":14091
 *             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/cuda.pyx":14095
 *             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/cuda.pyx":14096
 *                 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_n_s_win32SecurityAttributes_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14096, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14096, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_win32SecurityAttributes, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14096, __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(1, 14096, __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)) __PYX_ERR(1, 14096, __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(1, 14096, __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/cuda.pyx":14095
 *             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/cuda.pyx":14097
 *             try:
 *                 str_list += ['win32SecurityAttributes : ' + hex(self.win32SecurityAttributes)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['win32SecurityAttributes : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(1, 14097, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":14098
 *                 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(1, 14098, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_win32SecurityAttributes_ValueErr);
        __Pyx_GIVEREF(__pyx_kp_u_win32SecurityAttributes_ValueErr);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_win32SecurityAttributes_ValueErr)) __PYX_ERR(1, 14098, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14098, __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/cuda.pyx":14095
 *             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/cuda.pyx":14099
 *             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/cuda.pyx":14100
 *                 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_n_s_maxSize_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14100, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14100, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_maxSize, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14100, __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(1, 14100, __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)) __PYX_ERR(1, 14100, __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(1, 14100, __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/cuda.pyx":14099
 *             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/cuda.pyx":14101
 *             try:
 *                 str_list += ['maxSize : ' + str(self.maxSize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['maxSize : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(1, 14101, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":14102
 *                 str_list += ['maxSize : ' + str(self.maxSize)]
 *             except ValueError:
 *                 str_list += ['maxSize : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 */
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14102, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_maxSize_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_maxSize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_maxSize_ValueError)) __PYX_ERR(1, 14102, __pyx_L45_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14102, __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/cuda.pyx":14099
 *             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/cuda.pyx":14103
 *             except ValueError:
 *                 str_list += ['maxSize : <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/cuda.pyx":14104
 *                 str_list += ['maxSize : <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_n_s_reserved_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14104, __pyx_L51_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14104, __pyx_L51_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14104, __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(1, 14104, __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)) __PYX_ERR(1, 14104, __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(1, 14104, __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/cuda.pyx":14103
 *             except ValueError:
 *                 str_list += ['maxSize : <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_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/cuda.pyx":14105
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(1, 14105, __pyx_L53_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":14106
 *                 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(1, 14106, __pyx_L53_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 14106, __pyx_L53_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14106, __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/cuda.pyx":14103
 *             except ValueError:
 *                 str_list += ['maxSize : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             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/cuda.pyx":14107
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":14081
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":14109
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def allocType(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":14080
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.CUmemPoolProps_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr72__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14110
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def allocType(self):
 *         return CUmemAllocationType(self._ptr[0].allocType)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_9allocType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUmemPoolProps_st_9allocType___get__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_9allocType___get__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14110, 0, __PYX_ERR(1, 14110, __pyx_L1_error));

  /* "cuda/cuda.pyx":14112
 *     @property
 *     def allocType(self):
 *         return CUmemAllocationType(self._ptr[0].allocType)             # <<<<<<<<<<<<<<
 *     @allocType.setter
 *     def allocType(self, allocType not None : CUmemAllocationType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUmemAllocationType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemAllocationType_enum((__pyx_v_self->_ptr[0]).allocType); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14112, __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/cuda.pyx":14110
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def allocType(self):
 *         return CUmemAllocationType(self._ptr[0].allocType)
 */

  /* 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.cuda.CUmemPoolProps_st.allocType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14113
 *     def allocType(self):
 *         return CUmemAllocationType(self._ptr[0].allocType)
 *     @allocType.setter             # <<<<<<<<<<<<<<
 *     def allocType(self, allocType not None : CUmemAllocationType):
 *         self._ptr[0].allocType = allocType.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_9allocType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_allocType); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 14114, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_9allocType_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self), ((PyObject *)__pyx_v_allocType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_9allocType_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, PyObject *__pyx_v_allocType) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14113, 0, __PYX_ERR(1, 14113, __pyx_L1_error));

  /* "cuda/cuda.pyx":14115
 *     @allocType.setter
 *     def allocType(self, allocType not None : CUmemAllocationType):
 *         self._ptr[0].allocType = allocType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def handleTypes(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_allocType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemAllocationType_enum)__Pyx_PyInt_As_enum__CUmemAllocationType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14115, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).allocType = __pyx_t_2;

  /* "cuda/cuda.pyx":14113
 *     def allocType(self):
 *         return CUmemAllocationType(self._ptr[0].allocType)
 *     @allocType.setter             # <<<<<<<<<<<<<<
 *     def allocType(self, allocType not None : CUmemAllocationType):
 *         self._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.cuda.CUmemPoolProps_st.allocType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14116
 *     def allocType(self, allocType not None : CUmemAllocationType):
 *         self._ptr[0].allocType = allocType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def handleTypes(self):
 *         return CUmemAllocationHandleType(self._ptr[0].handleTypes)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_11handleTypes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUmemPoolProps_st_11handleTypes___get__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_11handleTypes___get__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14116, 0, __PYX_ERR(1, 14116, __pyx_L1_error));

  /* "cuda/cuda.pyx":14118
 *     @property
 *     def handleTypes(self):
 *         return CUmemAllocationHandleType(self._ptr[0].handleTypes)             # <<<<<<<<<<<<<<
 *     @handleTypes.setter
 *     def handleTypes(self, handleTypes not None : CUmemAllocationHandleType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUmemAllocationHandleType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemAllocationHandleType_enum((__pyx_v_self->_ptr[0]).handleTypes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14118, __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/cuda.pyx":14116
 *     def allocType(self, allocType not None : CUmemAllocationType):
 *         self._ptr[0].allocType = allocType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def handleTypes(self):
 *         return CUmemAllocationHandleType(self._ptr[0].handleTypes)
 */

  /* 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.cuda.CUmemPoolProps_st.handleTypes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14119
 *     def handleTypes(self):
 *         return CUmemAllocationHandleType(self._ptr[0].handleTypes)
 *     @handleTypes.setter             # <<<<<<<<<<<<<<
 *     def handleTypes(self, handleTypes not None : CUmemAllocationHandleType):
 *         self._ptr[0].handleTypes = handleTypes.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_11handleTypes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_handleTypes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 14120, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_11handleTypes_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self), ((PyObject *)__pyx_v_handleTypes));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_11handleTypes_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, PyObject *__pyx_v_handleTypes) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14119, 0, __PYX_ERR(1, 14119, __pyx_L1_error));

  /* "cuda/cuda.pyx":14121
 *     @handleTypes.setter
 *     def handleTypes(self, handleTypes not None : CUmemAllocationHandleType):
 *         self._ptr[0].handleTypes = handleTypes.value             # <<<<<<<<<<<<<<
 *     @property
 *     def location(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_handleTypes, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUmemAllocationHandleType_enum)__Pyx_PyInt_As_enum__CUmemAllocationHandleType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14121, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).handleTypes = __pyx_t_2;

  /* "cuda/cuda.pyx":14119
 *     def handleTypes(self):
 *         return CUmemAllocationHandleType(self._ptr[0].handleTypes)
 *     @handleTypes.setter             # <<<<<<<<<<<<<<
 *     def handleTypes(self, handleTypes not None : CUmemAllocationHandleType):
 *         self._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.cuda.CUmemPoolProps_st.handleTypes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14122
 *     def handleTypes(self, handleTypes not None : CUmemAllocationHandleType):
 *         self._ptr[0].handleTypes = handleTypes.value
 *     @property             # <<<<<<<<<<<<<<
 *     def location(self):
 *         return self._location
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_8location_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUmemPoolProps_st_8location___get__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_8location___get__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14122, 0, __PYX_ERR(1, 14122, __pyx_L1_error));

  /* "cuda/cuda.pyx":14124
 *     @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/cuda.pyx":14122
 *     def handleTypes(self, handleTypes not None : CUmemAllocationHandleType):
 *         self._ptr[0].handleTypes = handleTypes.value
 *     @property             # <<<<<<<<<<<<<<
 *     def location(self):
 *         return self._location
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.location.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14125
 *     def location(self):
 *         return self._location
 *     @location.setter             # <<<<<<<<<<<<<<
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._ptr[0].location, <ccuda.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._ptr[0].location))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_8location_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_location); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUmemLocation, 0, "location", 0))) __PYX_ERR(1, 14126, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_8location_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUmemLocation *)__pyx_v_location));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_8location_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUmemLocation *__pyx_v_location) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14125, 0, __PYX_ERR(1, 14125, __pyx_L1_error));

  /* "cuda/cuda.pyx":14127
 *     @location.setter
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._ptr[0].location, <ccuda.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._ptr[0].location))             # <<<<<<<<<<<<<<
 *     @property
 *     def win32SecurityAttributes(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_location), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).location), ((CUmemLocation *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).location))));

  /* "cuda/cuda.pyx":14125
 *     def location(self):
 *         return self._location
 *     @location.setter             # <<<<<<<<<<<<<<
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._ptr[0].location, <ccuda.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._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_AddTraceback("cuda.cuda.CUmemPoolProps_st.location.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14128
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._ptr[0].location, <ccuda.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._ptr[0].location))
 *     @property             # <<<<<<<<<<<<<<
 *     def win32SecurityAttributes(self):
 *         return <void_ptr>self._ptr[0].win32SecurityAttributes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_23win32SecurityAttributes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUmemPoolProps_st_23win32SecurityAttributes___get__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_23win32SecurityAttributes___get__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14128, 0, __PYX_ERR(1, 14128, __pyx_L1_error));

  /* "cuda/cuda.pyx":14130
 *     @property
 *     def win32SecurityAttributes(self):
 *         return <void_ptr>self._ptr[0].win32SecurityAttributes             # <<<<<<<<<<<<<<
 *     @win32SecurityAttributes.setter
 *     def win32SecurityAttributes(self, win32SecurityAttributes):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).win32SecurityAttributes)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14128
 *     def location(self, location not None : CUmemLocation):
 *         string.memcpy(&self._ptr[0].location, <ccuda.CUmemLocation*><void_ptr>location.getPtr(), sizeof(self._ptr[0].location))
 *     @property             # <<<<<<<<<<<<<<
 *     def win32SecurityAttributes(self):
 *         return <void_ptr>self._ptr[0].win32SecurityAttributes
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.win32SecurityAttributes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14131
 *     def win32SecurityAttributes(self):
 *         return <void_ptr>self._ptr[0].win32SecurityAttributes
 *     @win32SecurityAttributes.setter             # <<<<<<<<<<<<<<
 *     def win32SecurityAttributes(self, win32SecurityAttributes):
 *         _cwin32SecurityAttributes = utils.HelperInputVoidPtr(win32SecurityAttributes)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_23win32SecurityAttributes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_win32SecurityAttributes); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_17CUmemPoolProps_st_23win32SecurityAttributes_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self), ((PyObject *)__pyx_v_win32SecurityAttributes));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_23win32SecurityAttributes_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, PyObject *__pyx_v_win32SecurityAttributes) {
  PyObject *__pyx_v__cwin32SecurityAttributes = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14131, 0, __PYX_ERR(1, 14131, __pyx_L1_error));

  /* "cuda/cuda.pyx":14133
 *     @win32SecurityAttributes.setter
 *     def win32SecurityAttributes(self, win32SecurityAttributes):
 *         _cwin32SecurityAttributes = utils.HelperInputVoidPtr(win32SecurityAttributes)             # <<<<<<<<<<<<<<
 *         self._ptr[0].win32SecurityAttributes = <void*><void_ptr>_cwin32SecurityAttributes.cptr
 *     @property
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_win32SecurityAttributes); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__cwin32SecurityAttributes = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":14134
 *     def win32SecurityAttributes(self, win32SecurityAttributes):
 *         _cwin32SecurityAttributes = utils.HelperInputVoidPtr(win32SecurityAttributes)
 *         self._ptr[0].win32SecurityAttributes = <void*><void_ptr>_cwin32SecurityAttributes.cptr             # <<<<<<<<<<<<<<
 *     @property
 *     def maxSize(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v__cwin32SecurityAttributes, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14134, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).win32SecurityAttributes = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":14131
 *     def win32SecurityAttributes(self):
 *         return <void_ptr>self._ptr[0].win32SecurityAttributes
 *     @win32SecurityAttributes.setter             # <<<<<<<<<<<<<<
 *     def win32SecurityAttributes(self, win32SecurityAttributes):
 *         _cwin32SecurityAttributes = utils.HelperInputVoidPtr(win32SecurityAttributes)
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.win32SecurityAttributes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__cwin32SecurityAttributes);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14135
 *         _cwin32SecurityAttributes = utils.HelperInputVoidPtr(win32SecurityAttributes)
 *         self._ptr[0].win32SecurityAttributes = <void*><void_ptr>_cwin32SecurityAttributes.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def maxSize(self):
 *         return self._ptr[0].maxSize
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_7maxSize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUmemPoolProps_st_7maxSize___get__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_7maxSize___get__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14135, 0, __PYX_ERR(1, 14135, __pyx_L1_error));

  /* "cuda/cuda.pyx":14137
 *     @property
 *     def maxSize(self):
 *         return self._ptr[0].maxSize             # <<<<<<<<<<<<<<
 *     @maxSize.setter
 *     def maxSize(self, size_t maxSize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).maxSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14135
 *         _cwin32SecurityAttributes = utils.HelperInputVoidPtr(win32SecurityAttributes)
 *         self._ptr[0].win32SecurityAttributes = <void*><void_ptr>_cwin32SecurityAttributes.cptr
 *     @property             # <<<<<<<<<<<<<<
 *     def maxSize(self):
 *         return self._ptr[0].maxSize
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.maxSize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14138
 *     def maxSize(self):
 *         return self._ptr[0].maxSize
 *     @maxSize.setter             # <<<<<<<<<<<<<<
 *     def maxSize(self, size_t maxSize):
 *         self._ptr[0].maxSize = maxSize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_7maxSize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_maxSize); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_maxSize); if (unlikely((__pyx_v_maxSize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 14139, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.maxSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_7maxSize_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self), ((size_t)__pyx_v_maxSize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_7maxSize_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, size_t __pyx_v_maxSize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 14138, 0, __PYX_ERR(1, 14138, __pyx_L1_error));

  /* "cuda/cuda.pyx":14140
 *     @maxSize.setter
 *     def maxSize(self, size_t maxSize):
 *         self._ptr[0].maxSize = maxSize             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  (__pyx_v_self->_ptr[0]).maxSize = __pyx_v_maxSize;

  /* "cuda/cuda.pyx":14138
 *     def maxSize(self):
 *         return self._ptr[0].maxSize
 *     @maxSize.setter             # <<<<<<<<<<<<<<
 *     def maxSize(self, size_t maxSize):
 *         self._ptr[0].maxSize = maxSize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.maxSize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14141
 *     def maxSize(self, size_t maxSize):
 *         self._ptr[0].maxSize = maxSize
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 56)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUmemPoolProps_st_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14141, 0, __PYX_ERR(1, 14141, __pyx_L1_error));

  /* "cuda/cuda.pyx":14143
 *     @property
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 56)             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize(((char *)(__pyx_v_self->_ptr[0]).reserved), 56); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14141
 *     def maxSize(self, size_t maxSize):
 *         self._ptr[0].maxSize = maxSize
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 56)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14144
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 56)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 56:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_17CUmemPoolProps_st_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  unsigned char __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14144, 0, __PYX_ERR(1, 14144, __pyx_L1_error));

  /* "cuda/cuda.pyx":14146
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 56:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 56, 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(1, 14146, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 56);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":14147
 *     def reserved(self, reserved):
 *         if len(reserved) != 56:
 *             raise ValueError("reserved length must be 56, is " + str(len(reserved)))             # <<<<<<<<<<<<<<
 *         for i, b in enumerate(reserved):
 *             self._ptr[0].reserved[i] = b
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 14147, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_reserved_length_must_be_56_is, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 14147, __pyx_L1_error)

    /* "cuda/cuda.pyx":14146
 *     @reserved.setter
 *     def reserved(self, reserved):
 *         if len(reserved) != 56:             # <<<<<<<<<<<<<<
 *             raise ValueError("reserved length must be 56, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
 */
  }

  /* "cuda/cuda.pyx":14148
 *         if len(reserved) != 56:
 *             raise ValueError("reserved length must be 56, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             self._ptr[0].reserved[i] = b
 * 
 */
  __Pyx_INCREF(__pyx_int_0);
  __pyx_t_4 = __pyx_int_0;
  if (likely(PyList_CheckExact(__pyx_v_reserved)) || PyTuple_CheckExact(__pyx_v_reserved)) {
    __pyx_t_3 = __pyx_v_reserved; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14148, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14148, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 14148, __pyx_L1_error)
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14148, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14148, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 14148, __pyx_L1_error)
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14148, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      }
    } else {
      __pyx_t_6 = __pyx_t_5(__pyx_t_3);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 14148, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4);
    __pyx_t_4 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cuda.pyx":14149
 *             raise ValueError("reserved length must be 56, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
 *             self._ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemPoolPtrExportData_st:
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_7 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 14149, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 14149, __pyx_L1_error)
    ((__pyx_v_self->_ptr[0]).reserved[__pyx_t_8]) = __pyx_t_7;

    /* "cuda/cuda.pyx":14148
 *         if len(reserved) != 56:
 *             raise ValueError("reserved length must be 56, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             self._ptr[0].reserved[i] = b
 * 
 */
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":14144
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 56)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 56:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_17CUmemPoolProps_st_10__reduce_cython__, "CUmemPoolProps_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUmemPoolProps_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUmemPoolProps_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__399)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17CUmemPoolProps_st_12__setstate_cython__, "CUmemPoolProps_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17CUmemPoolProps_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUmemPoolProps_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17CUmemPoolProps_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__400)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolProps_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14166
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14166, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 14166, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14166, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14166, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolPtrExportData_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 14166, 0, __PYX_ERR(1, 14166, __pyx_L1_error));

  /* "cuda/cuda.pyx":14167
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14168
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUmemPoolPtrExportData_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUmemPoolPtrExportData_st__val);

    /* "cuda/cuda.pyx":14167
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14170
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUmemPoolPtrExportData_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUmemPoolPtrExportData_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14166
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolPtrExportData_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14171
 *         else:
 *             self._ptr = <ccuda.CUmemPoolPtrExportData_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14171, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 14171, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14171, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14171, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolPtrExportData_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 14171, 0, __PYX_ERR(1, 14171, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolPtrExportData_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14173
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_25CUmemPoolPtrExportData_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 14173, 0, __PYX_ERR(1, 14173, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUmemPoolPtrExportData_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":14175
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_25CUmemPoolPtrExportData_st_6getPtr, "CUmemPoolPtrExportData_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_25CUmemPoolPtrExportData_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_25CUmemPoolPtrExportData_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__401)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 14175, 0, __PYX_ERR(1, 14175, __pyx_L1_error));

  /* "cuda/cuda.pyx":14176
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14175
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolPtrExportData_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14177
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_25CUmemPoolPtrExportData_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 14177, 0, __PYX_ERR(1, 14177, __pyx_L1_error));

  /* "cuda/cuda.pyx":14178
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14179
 *     def __repr__(self):
 *         if self._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(1, 14179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14180
 *         if self._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/cuda.pyx":14181
 *             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_n_s_reserved_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14181, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14181, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_reserved, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14181, __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(1, 14181, __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)) __PYX_ERR(1, 14181, __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(1, 14181, __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/cuda.pyx":14180
 *         if self._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/cuda.pyx":14182
 *             try:
 *                 str_list += ['reserved : ' + str(self.reserved)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUmemPoolPtrExportData_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 14182, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":14183
 *                 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(1, 14183, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_reserved_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_reserved_ValueError)) __PYX_ERR(1, 14183, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14183, __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/cuda.pyx":14180
 *         if self._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/cuda.pyx":14184
 *             except ValueError:
 *                 str_list += ['reserved : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":14178
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":14186
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":14177
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14187
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 64)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_8reserved_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_25CUmemPoolPtrExportData_st_8reserved___get__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_8reserved___get__(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14187, 0, __PYX_ERR(1, 14187, __pyx_L1_error));

  /* "cuda/cuda.pyx":14189
 *     @property
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 64)             # <<<<<<<<<<<<<<
 *     @reserved.setter
 *     def reserved(self, reserved):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize(((char *)(__pyx_v_self->_ptr[0]).reserved), 64); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14187
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 64)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolPtrExportData_st.reserved.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14190
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0].reserved, 64)
 *     @reserved.setter             # <<<<<<<<<<<<<<
 *     def reserved(self, reserved):
 *         if len(reserved) != 64:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_8reserved_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_25CUmemPoolPtrExportData_st_8reserved_2__set__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_8reserved_2__set__(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self, PyObject *__pyx_v_reserved) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  unsigned char __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14190, 0, __PYX_ERR(1, 14190, __pyx_L1_error));

  /* "cuda/cuda.pyx":14192
 *     @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(1, 14192, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 64);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":14193
 *     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._ptr[0].reserved[i] = b
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_reserved); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 14193, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_reserved_length_must_be_64_is, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 14193, __pyx_L1_error)

    /* "cuda/cuda.pyx":14192
 *     @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/cuda.pyx":14194
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             self._ptr[0].reserved[i] = b
 * 
 */
  __Pyx_INCREF(__pyx_int_0);
  __pyx_t_4 = __pyx_int_0;
  if (likely(PyList_CheckExact(__pyx_v_reserved)) || PyTuple_CheckExact(__pyx_v_reserved)) {
    __pyx_t_3 = __pyx_v_reserved; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_reserved); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14194, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14194, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 14194, __pyx_L1_error)
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14194, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14194, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 14194, __pyx_L1_error)
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14194, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      }
    } else {
      __pyx_t_6 = __pyx_t_5(__pyx_t_3);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 14194, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4);
    __pyx_t_4 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cuda.pyx":14195
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):
 *             self._ptr[0].reserved[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_7 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 14195, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 14195, __pyx_L1_error)
    ((__pyx_v_self->_ptr[0]).reserved[__pyx_t_8]) = __pyx_t_7;

    /* "cuda/cuda.pyx":14194
 *         if len(reserved) != 64:
 *             raise ValueError("reserved length must be 64, is " + str(len(reserved)))
 *         for i, b in enumerate(reserved):             # <<<<<<<<<<<<<<
 *             self._ptr[0].reserved[i] = b
 * 
 */
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":14190
 *     def reserved(self):
 *         return PyBytes_FromStringAndSize(<char*>self._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_6);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_25CUmemPoolPtrExportData_st_10__reduce_cython__, "CUmemPoolPtrExportData_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_25CUmemPoolPtrExportData_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_25CUmemPoolPtrExportData_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__402)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolPtrExportData_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_25CUmemPoolPtrExportData_st_12__setstate_cython__, "CUmemPoolPtrExportData_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_25CUmemPoolPtrExportData_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_25CUmemPoolPtrExportData_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolPtrExportData_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_25CUmemPoolPtrExportData_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__403)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemPoolPtrExportData_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14224
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14224, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 14224, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14224, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14224, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 14224, 0, __PYX_ERR(1, 14224, __pyx_L1_error));

  /* "cuda/cuda.pyx":14225
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14226
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st__val);

    /* "cuda/cuda.pyx":14225
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14228
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14224
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14229
 *         else:
 *             self._ptr = <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14229, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 14229, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14229, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14229, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 14229, 0, __PYX_ERR(1, 14229, __pyx_L1_error));

  /* "cuda/cuda.pyx":14230
 *             self._ptr = <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)             # <<<<<<<<<<<<<<
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).poolProps))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 14230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemPoolProps), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_poolProps);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_poolProps);
  __pyx_v_self->_poolProps = ((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14231
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._accessDescs is not NULL:
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).dptr))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 14231, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":14229
 *         else:
 *             self._ptr = <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._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_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14232
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 14232, 0, __PYX_ERR(1, 14232, __pyx_L1_error));

  /* "cuda/cuda.pyx":14233
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)
 *     def __dealloc__(self):
 *         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/cuda.pyx":14234
 *     def __dealloc__(self):
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_accessDescs);

    /* "cuda/cuda.pyx":14233
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)
 *     def __dealloc__(self):
 *         if self._accessDescs is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":14232
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":14235
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_6getPtr, "CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__404)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 14235, 0, __PYX_ERR(1, 14235, __pyx_L1_error));

  /* "cuda/cuda.pyx":14236
 *             free(self._accessDescs)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14235
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14237
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr73__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 14237, 0, __PYX_ERR(1, 14237, __pyx_L1_error));

  /* "cuda/cuda.pyx":14238
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14239
 *     def __repr__(self):
 *         if self._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(1, 14239, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14240
 *         if self._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/cuda.pyx":14241
 *             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(1, 14241, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_poolProps_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14241, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14241, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14241, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_7))) {
            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
            if (likely(__pyx_t_8)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
              __Pyx_INCREF(__pyx_t_8);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_7, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14241, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14241, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 14241, __pyx_L12_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          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_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14241, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 14241, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14241, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14241, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 14241, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14241, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_11(__pyx_t_7);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 14241, __pyx_L12_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr73__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr73__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14241, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 14241, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_9genexpr73__pyx_v_line); __pyx_9genexpr73__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_9genexpr73__pyx_v_line); __pyx_9genexpr73__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14241, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_poolProps, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14241, __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(1, 14241, __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)) __PYX_ERR(1, 14241, __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(1, 14241, __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/cuda.pyx":14240
 *         if self._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;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":14242
 *             try:
 *                 str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['poolProps : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 14242, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":14243
 *                 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_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14243, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_poolProps_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_poolProps_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_poolProps_ValueError)) __PYX_ERR(1, 14243, __pyx_L6_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14243, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":14240
 *         if self._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/cuda.pyx":14244
 *             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/cuda.pyx":14245
 *                 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_n_s_accessDescs_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14245, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14245, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_accessDescs, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14245, __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(1, 14245, __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)) __PYX_ERR(1, 14245, __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(1, 14245, __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/cuda.pyx":14244
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":14246
 *             try:
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescs : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 14246, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":14247
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             except ValueError:
 *                 str_list += ['accessDescs : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 */
        __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14247, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_accessDescs_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_accessDescs_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_accessDescs_ValueError)) __PYX_ERR(1, 14247, __pyx_L21_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14247, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":14244
 *             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/cuda.pyx":14248
 *             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/cuda.pyx":14249
 *                 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_n_s_accessDescCount_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14249, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14249, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_accessDescCount, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14249, __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(1, 14249, __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)) __PYX_ERR(1, 14249, __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(1, 14249, __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/cuda.pyx":14248
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":14250
 *             try:
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescCount : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 14250, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":14251
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             except ValueError:
 *                 str_list += ['accessDescCount : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 */
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14251, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_accessDescCount_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_accessDescCount_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_accessDescCount_ValueError)) __PYX_ERR(1, 14251, __pyx_L29_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14251, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":14248
 *             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/cuda.pyx":14252
 *             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/cuda.pyx":14253
 *                 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_n_s_bytesize_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14253, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14253, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_bytesize, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14253, __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(1, 14253, __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)) __PYX_ERR(1, 14253, __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(1, 14253, __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/cuda.pyx":14252
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":14254
 *             try:
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesize : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 14254, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":14255
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 *             except ValueError:
 *                 str_list += ['bytesize : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dptr : ' + str(self.dptr)]
 */
        __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14255, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_bytesize_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_bytesize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_bytesize_ValueError)) __PYX_ERR(1, 14255, __pyx_L37_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14255, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":14252
 *             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/cuda.pyx":14256
 *             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/cuda.pyx":14257
 *                 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_n_s_dptr_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14257, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14257, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dptr, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14257, __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(1, 14257, __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)) __PYX_ERR(1, 14257, __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(1, 14257, __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/cuda.pyx":14256
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":14258
 *             try:
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 14258, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":14259
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:
 *                 str_list += ['dptr : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14259, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_dptr_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dptr_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_dptr_ValueError)) __PYX_ERR(1, 14259, __pyx_L45_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14259, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":14256
 *             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/cuda.pyx":14260
 *             except ValueError:
 *                 str_list += ['dptr : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":14238
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":14262
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def poolProps(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":14237
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.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_9genexpr73__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14263
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def poolProps(self):
 *         return self._poolProps
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14263, 0, __PYX_ERR(1, 14263, __pyx_L1_error));

  /* "cuda/cuda.pyx":14265
 *     @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/cuda.pyx":14263
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def poolProps(self):
 *         return self._poolProps
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.poolProps.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14266
 *     def poolProps(self):
 *         return self._poolProps
 *     @poolProps.setter             # <<<<<<<<<<<<<<
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._ptr[0].poolProps, <ccuda.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._ptr[0].poolProps))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_poolProps); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUmemPoolProps, 0, "poolProps", 0))) __PYX_ERR(1, 14267, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *)__pyx_v_poolProps));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *__pyx_v_poolProps) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14266, 0, __PYX_ERR(1, 14266, __pyx_L1_error));

  /* "cuda/cuda.pyx":14268
 *     @poolProps.setter
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._ptr[0].poolProps, <ccuda.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._ptr[0].poolProps))             # <<<<<<<<<<<<<<
 *     @property
 *     def accessDescs(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_poolProps), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14268, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).poolProps), ((CUmemPoolProps *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).poolProps))));

  /* "cuda/cuda.pyx":14266
 *     def poolProps(self):
 *         return self._poolProps
 *     @poolProps.setter             # <<<<<<<<<<<<<<
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._ptr[0].poolProps, <ccuda.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._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_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.poolProps.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14269
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._ptr[0].poolProps, <ccuda.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._ptr[0].poolProps))
 *     @property             # <<<<<<<<<<<<<<
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._ptr[0].accessDescs + x*sizeof(ccuda.CUmemAccessDesc) for x in range(self._accessDescs_length)]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_9genexpr74__pyx_v_x;
  PyObject *__pyx_9genexpr75__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14269, 0, __PYX_ERR(1, 14269, __pyx_L1_error));

  /* "cuda/cuda.pyx":14271
 *     @property
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._ptr[0].accessDescs + x*sizeof(ccuda.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(1, 14271, __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_9genexpr74__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).accessDescs) + (__pyx_9genexpr74__pyx_v_x * (sizeof(CUmemAccessDesc))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14271, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 14271, __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/cuda.pyx":14272
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._ptr[0].accessDescs + x*sizeof(ccuda.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(1, 14272, __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14272, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 14272, __pyx_L7_error)
      #else
      __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14272, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr75__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14272, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr75__pyx_v_arr) < 0) __PYX_ERR(1, 14272, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemAccessDesc), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14272, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 14272, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr75__pyx_v_arr); __pyx_9genexpr75__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr75__pyx_v_arr); __pyx_9genexpr75__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/cuda.pyx":14269
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._ptr[0].poolProps, <ccuda.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._ptr[0].poolProps))
 *     @property             # <<<<<<<<<<<<<<
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._ptr[0].accessDescs + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.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_9genexpr75__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14273
 *         arrs = [<void_ptr>self._ptr[0].accessDescs + x*sizeof(ccuda.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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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;
  CUmemAccessDesc *__pyx_t_6;
  Py_ssize_t __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14273, 0, __PYX_ERR(1, 14273, __pyx_L1_error));

  /* "cuda/cuda.pyx":14275
 *     @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(1, 14275, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":14276
 *     def accessDescs(self, val):
 *         if len(val) == 0:
 *             free(self._accessDescs)             # <<<<<<<<<<<<<<
 *             self._accessDescs_length = 0
 *             self._ptr[0].accessDescs = NULL
 */
    free(__pyx_v_self->_accessDescs);

    /* "cuda/cuda.pyx":14277
 *         if len(val) == 0:
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].accessDescs = NULL
 *         else:
 */
    __pyx_v_self->_accessDescs_length = 0;

    /* "cuda/cuda.pyx":14278
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0
 *             self._ptr[0].accessDescs = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):
 */
    (__pyx_v_self->_ptr[0]).accessDescs = NULL;

    /* "cuda/cuda.pyx":14275
 *     @accessDescs.setter
 *     def accessDescs(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14280
 *             self._ptr[0].accessDescs = NULL
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._accessDescs)
 *                 self._accessDescs = <ccuda.CUmemAccessDesc*> calloc(len(val), sizeof(ccuda.CUmemAccessDesc))
 */
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 14280, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_accessDescs_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/cuda.pyx":14281
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):
 *                 free(self._accessDescs)             # <<<<<<<<<<<<<<
 *                 self._accessDescs = <ccuda.CUmemAccessDesc*> calloc(len(val), sizeof(ccuda.CUmemAccessDesc))
 *                 if self._accessDescs is NULL:
 */
      free(__pyx_v_self->_accessDescs);

      /* "cuda/cuda.pyx":14282
 *             if self._accessDescs_length != <size_t>len(val):
 *                 free(self._accessDescs)
 *                 self._accessDescs = <ccuda.CUmemAccessDesc*> calloc(len(val), sizeof(ccuda.CUmemAccessDesc))             # <<<<<<<<<<<<<<
 *                 if self._accessDescs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 14282, __pyx_L1_error)
      __pyx_v_self->_accessDescs = ((CUmemAccessDesc *)calloc(__pyx_t_1, (sizeof(CUmemAccessDesc))));

      /* "cuda/cuda.pyx":14283
 *                 free(self._accessDescs)
 *                 self._accessDescs = <ccuda.CUmemAccessDesc*> calloc(len(val), sizeof(ccuda.CUmemAccessDesc))
 *                 if self._accessDescs is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)
 */
      __pyx_t_2 = (__pyx_v_self->_accessDescs == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/cuda.pyx":14284
 *                 self._accessDescs = <ccuda.CUmemAccessDesc*> calloc(len(val), sizeof(ccuda.CUmemAccessDesc))
 *                 if self._accessDescs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))             # <<<<<<<<<<<<<<
 *                 self._accessDescs_length = <size_t>len(val)
 *                 self._ptr[0].accessDescs = self._accessDescs
 */
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 14284, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14284, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14284, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14284, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14284, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUmemAccessDesc))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14284, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14284, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14284, __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_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14284, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __PYX_ERR(1, 14284, __pyx_L1_error)

        /* "cuda/cuda.pyx":14283
 *                 free(self._accessDescs)
 *                 self._accessDescs = <ccuda.CUmemAccessDesc*> calloc(len(val), sizeof(ccuda.CUmemAccessDesc))
 *                 if self._accessDescs is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)
 */
      }

      /* "cuda/cuda.pyx":14285
 *                 if self._accessDescs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._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(1, 14285, __pyx_L1_error)
      __pyx_v_self->_accessDescs_length = ((size_t)__pyx_t_1);

      /* "cuda/cuda.pyx":14286
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)
 *                 self._ptr[0].accessDescs = self._accessDescs             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))
 */
      __pyx_t_6 = __pyx_v_self->_accessDescs;
      (__pyx_v_self->_ptr[0]).accessDescs = __pyx_t_6;

      /* "cuda/cuda.pyx":14280
 *             self._ptr[0].accessDescs = NULL
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._accessDescs)
 *                 self._accessDescs = <ccuda.CUmemAccessDesc*> calloc(len(val), sizeof(ccuda.CUmemAccessDesc))
 */
    }

    /* "cuda/cuda.pyx":14287
 *                 self._accessDescs_length = <size_t>len(val)
 *                 self._ptr[0].accessDescs = self._accessDescs
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))
 * 
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 14287, __pyx_L1_error)
    __pyx_t_7 = __pyx_t_1;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_v_idx = __pyx_t_8;

      /* "cuda/cuda.pyx":14288
 *                 self._ptr[0].accessDescs = self._accessDescs
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14288, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (void)(memcpy((&(__pyx_v_self->_accessDescs[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc *)__pyx_t_5)->__pyx_base.__pyx_base._ptr, (sizeof(CUmemAccessDesc))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14273
 *         arrs = [<void_ptr>self._ptr[0].accessDescs + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.accessDescs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14290
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def accessDescCount(self):
 *         return self._ptr[0].accessDescCount
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14290, 0, __PYX_ERR(1, 14290, __pyx_L1_error));

  /* "cuda/cuda.pyx":14292
 *     @property
 *     def accessDescCount(self):
 *         return self._ptr[0].accessDescCount             # <<<<<<<<<<<<<<
 *     @accessDescCount.setter
 *     def accessDescCount(self, size_t accessDescCount):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).accessDescCount); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14290
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def accessDescCount(self):
 *         return self._ptr[0].accessDescCount
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14293
 *     def accessDescCount(self):
 *         return self._ptr[0].accessDescCount
 *     @accessDescCount.setter             # <<<<<<<<<<<<<<
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._ptr[0].accessDescCount = accessDescCount
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_accessDescCount); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_accessDescCount); if (unlikely((__pyx_v_accessDescCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 14294, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, size_t __pyx_v_accessDescCount) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 14293, 0, __PYX_ERR(1, 14293, __pyx_L1_error));

  /* "cuda/cuda.pyx":14295
 *     @accessDescCount.setter
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._ptr[0].accessDescCount = accessDescCount             # <<<<<<<<<<<<<<
 *     @property
 *     def bytesize(self):
 */
  (__pyx_v_self->_ptr[0]).accessDescCount = __pyx_v_accessDescCount;

  /* "cuda/cuda.pyx":14293
 *     def accessDescCount(self):
 *         return self._ptr[0].accessDescCount
 *     @accessDescCount.setter             # <<<<<<<<<<<<<<
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._ptr[0].accessDescCount = accessDescCount
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.accessDescCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14296
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._ptr[0].accessDescCount = accessDescCount
 *     @property             # <<<<<<<<<<<<<<
 *     def bytesize(self):
 *         return self._ptr[0].bytesize
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14296, 0, __PYX_ERR(1, 14296, __pyx_L1_error));

  /* "cuda/cuda.pyx":14298
 *     @property
 *     def bytesize(self):
 *         return self._ptr[0].bytesize             # <<<<<<<<<<<<<<
 *     @bytesize.setter
 *     def bytesize(self, size_t bytesize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).bytesize); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14296
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._ptr[0].accessDescCount = accessDescCount
 *     @property             # <<<<<<<<<<<<<<
 *     def bytesize(self):
 *         return self._ptr[0].bytesize
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14299
 *     def bytesize(self):
 *         return self._ptr[0].bytesize
 *     @bytesize.setter             # <<<<<<<<<<<<<<
 *     def bytesize(self, size_t bytesize):
 *         self._ptr[0].bytesize = bytesize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_bytesize); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_bytesize); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 14300, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, size_t __pyx_v_bytesize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 14299, 0, __PYX_ERR(1, 14299, __pyx_L1_error));

  /* "cuda/cuda.pyx":14301
 *     @bytesize.setter
 *     def bytesize(self, size_t bytesize):
 *         self._ptr[0].bytesize = bytesize             # <<<<<<<<<<<<<<
 *     @property
 *     def dptr(self):
 */
  (__pyx_v_self->_ptr[0]).bytesize = __pyx_v_bytesize;

  /* "cuda/cuda.pyx":14299
 *     def bytesize(self):
 *         return self._ptr[0].bytesize
 *     @bytesize.setter             # <<<<<<<<<<<<<<
 *     def bytesize(self, size_t bytesize):
 *         self._ptr[0].bytesize = bytesize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.bytesize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14302
 *     def bytesize(self, size_t bytesize):
 *         self._ptr[0].bytesize = bytesize
 *     @property             # <<<<<<<<<<<<<<
 *     def dptr(self):
 *         return self._dptr
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14302, 0, __PYX_ERR(1, 14302, __pyx_L1_error));

  /* "cuda/cuda.pyx":14304
 *     @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/cuda.pyx":14302
 *     def bytesize(self, size_t bytesize):
 *         self._ptr[0].bytesize = bytesize
 *     @property             # <<<<<<<<<<<<<<
 *     def dptr(self):
 *         return self._dptr
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.dptr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14305
 *     def dptr(self):
 *         return self._dptr
 *     @dptr.setter             # <<<<<<<<<<<<<<
 *     def dptr(self, dptr):
 *         cdef ccuda.CUdeviceptr cdptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dptr); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, PyObject *__pyx_v_dptr) {
  CUdeviceptr __pyx_v_cdptr;
  PyObject *__pyx_v_pdptr = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14305, 0, __PYX_ERR(1, 14305, __pyx_L1_error));

  /* "cuda/cuda.pyx":14308
 *     def dptr(self, dptr):
 *         cdef ccuda.CUdeviceptr cdptr
 *         if dptr is None:             # <<<<<<<<<<<<<<
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
 */
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14309
 *         cdef ccuda.CUdeviceptr cdptr
 *         if dptr is None:
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)
 */
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":14308
 *     def dptr(self, dptr):
 *         cdef ccuda.CUdeviceptr cdptr
 *         if dptr is None:             # <<<<<<<<<<<<<<
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14310
 *         if dptr is None:
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdptr = int(dptr)
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14311
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14312
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14312, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":14310
 *         if dptr is None:
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdptr = int(dptr)
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14314
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *         self._dptr._ptr[0] = cdptr
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":14315
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *         self._dptr._ptr[0] = cdptr
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14315, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14316
 *             pdptr = int(CUdeviceptr(dptr))
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *         self._dptr._ptr[0] = cdptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:
 */
  (__pyx_v_self->_dptr->_ptr[0]) = __pyx_v_cdptr;

  /* "cuda/cuda.pyx":14305
 *     def dptr(self):
 *         return self._dptr
 *     @dptr.setter             # <<<<<<<<<<<<<<
 *     def dptr(self, dptr):
 *         cdef ccuda.CUdeviceptr cdptr
 */

  /* 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.cuda.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_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__405)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__406)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14345
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14345, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 14345, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14345, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14345, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 14345, 0, __PYX_ERR(1, 14345, __pyx_L1_error));

  /* "cuda/cuda.pyx":14346
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14347
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st__val);

    /* "cuda/cuda.pyx":14346
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14349
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14345
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14350
 *         else:
 *             self._ptr = <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14350, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 14350, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14350, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14350, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 14350, 0, __PYX_ERR(1, 14350, __pyx_L1_error));

  /* "cuda/cuda.pyx":14351
 *             self._ptr = <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)             # <<<<<<<<<<<<<<
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)
 *     def __dealloc__(self):
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).poolProps))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 14351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemPoolProps), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_poolProps);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_poolProps);
  __pyx_v_self->_poolProps = ((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14352
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._accessDescs is not NULL:
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).dptr))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 14352, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":14350
 *         else:
 *             self._ptr = <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._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_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14353
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 14353, 0, __PYX_ERR(1, 14353, __pyx_L1_error));

  /* "cuda/cuda.pyx":14354
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)
 *     def __dealloc__(self):
 *         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/cuda.pyx":14355
 *     def __dealloc__(self):
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_accessDescs);

    /* "cuda/cuda.pyx":14354
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)
 *     def __dealloc__(self):
 *         if self._accessDescs is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":14353
 *         self._poolProps = CUmemPoolProps(_ptr=<void_ptr>&self._ptr[0].poolProps)
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":14356
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_6getPtr, "CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__407)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 14356, 0, __PYX_ERR(1, 14356, __pyx_L1_error));

  /* "cuda/cuda.pyx":14357
 *             free(self._accessDescs)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14356
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14358
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr76__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 14358, 0, __PYX_ERR(1, 14358, __pyx_L1_error));

  /* "cuda/cuda.pyx":14359
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14360
 *     def __repr__(self):
 *         if self._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(1, 14360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14361
 *         if self._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/cuda.pyx":14362
 *             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(1, 14362, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_poolProps_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14362, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14362, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14362, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_7))) {
            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
            if (likely(__pyx_t_8)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
              __Pyx_INCREF(__pyx_t_8);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_7, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14362, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14362, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 14362, __pyx_L12_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          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_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14362, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 14362, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14362, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14362, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 14362, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14362, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_11(__pyx_t_7);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 14362, __pyx_L12_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr76__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr76__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14362, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 14362, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_9genexpr76__pyx_v_line); __pyx_9genexpr76__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_9genexpr76__pyx_v_line); __pyx_9genexpr76__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14362, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_poolProps, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14362, __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(1, 14362, __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)) __PYX_ERR(1, 14362, __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(1, 14362, __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/cuda.pyx":14361
 *         if self._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;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":14363
 *             try:
 *                 str_list += ['poolProps :\n' + '\n'.join(['    ' + line for line in str(self.poolProps).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['poolProps : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 14363, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":14364
 *                 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_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14364, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_poolProps_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_poolProps_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_poolProps_ValueError)) __PYX_ERR(1, 14364, __pyx_L6_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14364, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":14361
 *         if self._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/cuda.pyx":14365
 *             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/cuda.pyx":14366
 *                 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_n_s_accessDescs_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14366, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14366, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_accessDescs, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14366, __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(1, 14366, __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)) __PYX_ERR(1, 14366, __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(1, 14366, __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/cuda.pyx":14365
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":14367
 *             try:
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescs : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 14367, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":14368
 *                 str_list += ['accessDescs : ' + str(self.accessDescs)]
 *             except ValueError:
 *                 str_list += ['accessDescs : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 */
        __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14368, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_accessDescs_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_accessDescs_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_accessDescs_ValueError)) __PYX_ERR(1, 14368, __pyx_L21_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14368, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":14365
 *             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/cuda.pyx":14369
 *             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/cuda.pyx":14370
 *                 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_n_s_accessDescCount_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14370, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14370, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_accessDescCount, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14370, __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(1, 14370, __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)) __PYX_ERR(1, 14370, __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(1, 14370, __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/cuda.pyx":14369
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":14371
 *             try:
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['accessDescCount : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 14371, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":14372
 *                 str_list += ['accessDescCount : ' + str(self.accessDescCount)]
 *             except ValueError:
 *                 str_list += ['accessDescCount : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 */
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14372, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_accessDescCount_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_accessDescCount_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_accessDescCount_ValueError)) __PYX_ERR(1, 14372, __pyx_L29_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14372, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":14369
 *             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/cuda.pyx":14373
 *             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/cuda.pyx":14374
 *                 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_n_s_bytesize_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14374, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14374, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_bytesize, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14374, __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(1, 14374, __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)) __PYX_ERR(1, 14374, __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(1, 14374, __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/cuda.pyx":14373
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":14375
 *             try:
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['bytesize : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 14375, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":14376
 *                 str_list += ['bytesize : ' + str(self.bytesize)]
 *             except ValueError:
 *                 str_list += ['bytesize : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['dptr : ' + str(self.dptr)]
 */
        __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14376, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_bytesize_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_bytesize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_bytesize_ValueError)) __PYX_ERR(1, 14376, __pyx_L37_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14376, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":14373
 *             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/cuda.pyx":14377
 *             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/cuda.pyx":14378
 *                 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_n_s_dptr_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14378, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14378, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dptr, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14378, __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(1, 14378, __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)) __PYX_ERR(1, 14378, __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(1, 14378, __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/cuda.pyx":14377
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":14379
 *             try:
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 14379, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":14380
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:
 *                 str_list += ['dptr : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14380, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_dptr_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dptr_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_dptr_ValueError)) __PYX_ERR(1, 14380, __pyx_L45_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14380, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":14377
 *             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/cuda.pyx":14381
 *             except ValueError:
 *                 str_list += ['dptr : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14381, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":14359
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":14383
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def poolProps(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":14358
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.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_9genexpr76__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14384
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def poolProps(self):
 *         return self._poolProps
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14384, 0, __PYX_ERR(1, 14384, __pyx_L1_error));

  /* "cuda/cuda.pyx":14386
 *     @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/cuda.pyx":14384
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def poolProps(self):
 *         return self._poolProps
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.poolProps.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14387
 *     def poolProps(self):
 *         return self._poolProps
 *     @poolProps.setter             # <<<<<<<<<<<<<<
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._ptr[0].poolProps, <ccuda.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._ptr[0].poolProps))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_poolProps); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUmemPoolProps, 0, "poolProps", 0))) __PYX_ERR(1, 14388, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps_2__set__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *)__pyx_v_poolProps));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *__pyx_v_poolProps) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14387, 0, __PYX_ERR(1, 14387, __pyx_L1_error));

  /* "cuda/cuda.pyx":14389
 *     @poolProps.setter
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._ptr[0].poolProps, <ccuda.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._ptr[0].poolProps))             # <<<<<<<<<<<<<<
 *     @property
 *     def accessDescs(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_poolProps), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14389, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14389, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).poolProps), ((CUmemPoolProps *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).poolProps))));

  /* "cuda/cuda.pyx":14387
 *     def poolProps(self):
 *         return self._poolProps
 *     @poolProps.setter             # <<<<<<<<<<<<<<
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._ptr[0].poolProps, <ccuda.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._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_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.poolProps.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14390
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._ptr[0].poolProps, <ccuda.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._ptr[0].poolProps))
 *     @property             # <<<<<<<<<<<<<<
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._ptr[0].accessDescs + x*sizeof(ccuda.CUmemAccessDesc) for x in range(self._accessDescs_length)]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_v_arrs = NULL;
  size_t __pyx_9genexpr77__pyx_v_x;
  PyObject *__pyx_9genexpr78__pyx_v_arr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14390, 0, __PYX_ERR(1, 14390, __pyx_L1_error));

  /* "cuda/cuda.pyx":14392
 *     @property
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._ptr[0].accessDescs + x*sizeof(ccuda.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(1, 14392, __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_9genexpr77__pyx_v_x = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG((((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_self->_ptr[0]).accessDescs) + (__pyx_9genexpr77__pyx_v_x * (sizeof(CUmemAccessDesc))))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14392, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 14392, __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/cuda.pyx":14393
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._ptr[0].accessDescs + x*sizeof(ccuda.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(1, 14393, __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14393, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 14393, __pyx_L7_error)
      #else
      __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14393, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr78__pyx_v_arr, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14393, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_ptr, __pyx_9genexpr78__pyx_v_arr) < 0) __PYX_ERR(1, 14393, __pyx_L7_error)
      __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemAccessDesc), __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14393, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 14393, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_9genexpr78__pyx_v_arr); __pyx_9genexpr78__pyx_v_arr = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_9genexpr78__pyx_v_arr); __pyx_9genexpr78__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/cuda.pyx":14390
 *     def poolProps(self, poolProps not None : CUmemPoolProps):
 *         string.memcpy(&self._ptr[0].poolProps, <ccuda.CUmemPoolProps*><void_ptr>poolProps.getPtr(), sizeof(self._ptr[0].poolProps))
 *     @property             # <<<<<<<<<<<<<<
 *     def accessDescs(self):
 *         arrs = [<void_ptr>self._ptr[0].accessDescs + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.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_9genexpr78__pyx_v_arr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14394
 *         arrs = [<void_ptr>self._ptr[0].accessDescs + x*sizeof(ccuda.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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_val) {
  Py_ssize_t __pyx_v_idx;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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;
  CUmemAccessDesc *__pyx_t_6;
  Py_ssize_t __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14394, 0, __PYX_ERR(1, 14394, __pyx_L1_error));

  /* "cuda/cuda.pyx":14396
 *     @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(1, 14396, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 == 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":14397
 *     def accessDescs(self, val):
 *         if len(val) == 0:
 *             free(self._accessDescs)             # <<<<<<<<<<<<<<
 *             self._accessDescs_length = 0
 *             self._ptr[0].accessDescs = NULL
 */
    free(__pyx_v_self->_accessDescs);

    /* "cuda/cuda.pyx":14398
 *         if len(val) == 0:
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0             # <<<<<<<<<<<<<<
 *             self._ptr[0].accessDescs = NULL
 *         else:
 */
    __pyx_v_self->_accessDescs_length = 0;

    /* "cuda/cuda.pyx":14399
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0
 *             self._ptr[0].accessDescs = NULL             # <<<<<<<<<<<<<<
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):
 */
    (__pyx_v_self->_ptr[0]).accessDescs = NULL;

    /* "cuda/cuda.pyx":14396
 *     @accessDescs.setter
 *     def accessDescs(self, val):
 *         if len(val) == 0:             # <<<<<<<<<<<<<<
 *             free(self._accessDescs)
 *             self._accessDescs_length = 0
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14401
 *             self._ptr[0].accessDescs = NULL
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._accessDescs)
 *                 self._accessDescs = <ccuda.CUmemAccessDesc*> calloc(len(val), sizeof(ccuda.CUmemAccessDesc))
 */
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 14401, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_self->_accessDescs_length != ((size_t)__pyx_t_1));
    if (__pyx_t_2) {

      /* "cuda/cuda.pyx":14402
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):
 *                 free(self._accessDescs)             # <<<<<<<<<<<<<<
 *                 self._accessDescs = <ccuda.CUmemAccessDesc*> calloc(len(val), sizeof(ccuda.CUmemAccessDesc))
 *                 if self._accessDescs is NULL:
 */
      free(__pyx_v_self->_accessDescs);

      /* "cuda/cuda.pyx":14403
 *             if self._accessDescs_length != <size_t>len(val):
 *                 free(self._accessDescs)
 *                 self._accessDescs = <ccuda.CUmemAccessDesc*> calloc(len(val), sizeof(ccuda.CUmemAccessDesc))             # <<<<<<<<<<<<<<
 *                 if self._accessDescs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 */
      __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 14403, __pyx_L1_error)
      __pyx_v_self->_accessDescs = ((CUmemAccessDesc *)calloc(__pyx_t_1, (sizeof(CUmemAccessDesc))));

      /* "cuda/cuda.pyx":14404
 *                 free(self._accessDescs)
 *                 self._accessDescs = <ccuda.CUmemAccessDesc*> calloc(len(val), sizeof(ccuda.CUmemAccessDesc))
 *                 if self._accessDescs is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)
 */
      __pyx_t_2 = (__pyx_v_self->_accessDescs == NULL);
      if (unlikely(__pyx_t_2)) {

        /* "cuda/cuda.pyx":14405
 *                 self._accessDescs = <ccuda.CUmemAccessDesc*> calloc(len(val), sizeof(ccuda.CUmemAccessDesc))
 *                 if self._accessDescs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))             # <<<<<<<<<<<<<<
 *                 self._accessDescs_length = <size_t>len(val)
 *                 self._ptr[0].accessDescs = self._accessDescs
 */
        __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 14405, __pyx_L1_error)
        __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14405, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14405, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14405, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14405, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUmemAccessDesc))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14405, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14405, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14405, __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_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14405, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __PYX_ERR(1, 14405, __pyx_L1_error)

        /* "cuda/cuda.pyx":14404
 *                 free(self._accessDescs)
 *                 self._accessDescs = <ccuda.CUmemAccessDesc*> calloc(len(val), sizeof(ccuda.CUmemAccessDesc))
 *                 if self._accessDescs is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)
 */
      }

      /* "cuda/cuda.pyx":14406
 *                 if self._accessDescs is NULL:
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)             # <<<<<<<<<<<<<<
 *                 self._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(1, 14406, __pyx_L1_error)
      __pyx_v_self->_accessDescs_length = ((size_t)__pyx_t_1);

      /* "cuda/cuda.pyx":14407
 *                     raise MemoryError('Failed to allocate length x size memory: ' + str(len(val)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 *                 self._accessDescs_length = <size_t>len(val)
 *                 self._ptr[0].accessDescs = self._accessDescs             # <<<<<<<<<<<<<<
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))
 */
      __pyx_t_6 = __pyx_v_self->_accessDescs;
      (__pyx_v_self->_ptr[0]).accessDescs = __pyx_t_6;

      /* "cuda/cuda.pyx":14401
 *             self._ptr[0].accessDescs = NULL
 *         else:
 *             if self._accessDescs_length != <size_t>len(val):             # <<<<<<<<<<<<<<
 *                 free(self._accessDescs)
 *                 self._accessDescs = <ccuda.CUmemAccessDesc*> calloc(len(val), sizeof(ccuda.CUmemAccessDesc))
 */
    }

    /* "cuda/cuda.pyx":14408
 *                 self._accessDescs_length = <size_t>len(val)
 *                 self._ptr[0].accessDescs = self._accessDescs
 *             for idx in range(len(val)):             # <<<<<<<<<<<<<<
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))
 * 
 */
    __pyx_t_1 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 14408, __pyx_L1_error)
    __pyx_t_7 = __pyx_t_1;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_v_idx = __pyx_t_8;

      /* "cuda/cuda.pyx":14409
 *                 self._ptr[0].accessDescs = self._accessDescs
 *             for idx in range(len(val)):
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14409, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (void)(memcpy((&(__pyx_v_self->_accessDescs[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc *)__pyx_t_5)->__pyx_base.__pyx_base._ptr, (sizeof(CUmemAccessDesc))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14394
 *         arrs = [<void_ptr>self._ptr[0].accessDescs + x*sizeof(ccuda.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_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.accessDescs.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14411
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def accessDescCount(self):
 *         return self._ptr[0].accessDescCount
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14411, 0, __PYX_ERR(1, 14411, __pyx_L1_error));

  /* "cuda/cuda.pyx":14413
 *     @property
 *     def accessDescCount(self):
 *         return self._ptr[0].accessDescCount             # <<<<<<<<<<<<<<
 *     @accessDescCount.setter
 *     def accessDescCount(self, size_t accessDescCount):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).accessDescCount); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14413, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14411
 *                 string.memcpy(&self._accessDescs[idx], (<CUmemAccessDesc>val[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def accessDescCount(self):
 *         return self._ptr[0].accessDescCount
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14414
 *     def accessDescCount(self):
 *         return self._ptr[0].accessDescCount
 *     @accessDescCount.setter             # <<<<<<<<<<<<<<
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._ptr[0].accessDescCount = accessDescCount
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_accessDescCount); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_accessDescCount); if (unlikely((__pyx_v_accessDescCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 14415, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_accessDescCount) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 14414, 0, __PYX_ERR(1, 14414, __pyx_L1_error));

  /* "cuda/cuda.pyx":14416
 *     @accessDescCount.setter
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._ptr[0].accessDescCount = accessDescCount             # <<<<<<<<<<<<<<
 *     @property
 *     def bytesize(self):
 */
  (__pyx_v_self->_ptr[0]).accessDescCount = __pyx_v_accessDescCount;

  /* "cuda/cuda.pyx":14414
 *     def accessDescCount(self):
 *         return self._ptr[0].accessDescCount
 *     @accessDescCount.setter             # <<<<<<<<<<<<<<
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._ptr[0].accessDescCount = accessDescCount
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.accessDescCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14417
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._ptr[0].accessDescCount = accessDescCount
 *     @property             # <<<<<<<<<<<<<<
 *     def bytesize(self):
 *         return self._ptr[0].bytesize
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14417, 0, __PYX_ERR(1, 14417, __pyx_L1_error));

  /* "cuda/cuda.pyx":14419
 *     @property
 *     def bytesize(self):
 *         return self._ptr[0].bytesize             # <<<<<<<<<<<<<<
 *     @bytesize.setter
 *     def bytesize(self, size_t bytesize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((__pyx_v_self->_ptr[0]).bytesize); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14417
 *     def accessDescCount(self, size_t accessDescCount):
 *         self._ptr[0].accessDescCount = accessDescCount
 *     @property             # <<<<<<<<<<<<<<
 *     def bytesize(self):
 *         return self._ptr[0].bytesize
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14420
 *     def bytesize(self):
 *         return self._ptr[0].bytesize
 *     @bytesize.setter             # <<<<<<<<<<<<<<
 *     def bytesize(self, size_t bytesize):
 *         self._ptr[0].bytesize = bytesize
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_bytesize); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_size_t(__pyx_arg_bytesize); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 14421, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, size_t __pyx_v_bytesize) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 14420, 0, __PYX_ERR(1, 14420, __pyx_L1_error));

  /* "cuda/cuda.pyx":14422
 *     @bytesize.setter
 *     def bytesize(self, size_t bytesize):
 *         self._ptr[0].bytesize = bytesize             # <<<<<<<<<<<<<<
 *     @property
 *     def dptr(self):
 */
  (__pyx_v_self->_ptr[0]).bytesize = __pyx_v_bytesize;

  /* "cuda/cuda.pyx":14420
 *     def bytesize(self):
 *         return self._ptr[0].bytesize
 *     @bytesize.setter             # <<<<<<<<<<<<<<
 *     def bytesize(self, size_t bytesize):
 *         self._ptr[0].bytesize = bytesize
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.bytesize.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14423
 *     def bytesize(self, size_t bytesize):
 *         self._ptr[0].bytesize = bytesize
 *     @property             # <<<<<<<<<<<<<<
 *     def dptr(self):
 *         return self._dptr
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14423, 0, __PYX_ERR(1, 14423, __pyx_L1_error));

  /* "cuda/cuda.pyx":14425
 *     @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/cuda.pyx":14423
 *     def bytesize(self, size_t bytesize):
 *         self._ptr[0].bytesize = bytesize
 *     @property             # <<<<<<<<<<<<<<
 *     def dptr(self):
 *         return self._dptr
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.dptr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14426
 *     def dptr(self):
 *         return self._dptr
 *     @dptr.setter             # <<<<<<<<<<<<<<
 *     def dptr(self, dptr):
 *         cdef ccuda.CUdeviceptr cdptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dptr); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, PyObject *__pyx_v_dptr) {
  CUdeviceptr __pyx_v_cdptr;
  PyObject *__pyx_v_pdptr = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14426, 0, __PYX_ERR(1, 14426, __pyx_L1_error));

  /* "cuda/cuda.pyx":14429
 *     def dptr(self, dptr):
 *         cdef ccuda.CUdeviceptr cdptr
 *         if dptr is None:             # <<<<<<<<<<<<<<
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
 */
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14430
 *         cdef ccuda.CUdeviceptr cdptr
 *         if dptr is None:
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)
 */
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":14429
 *     def dptr(self, dptr):
 *         cdef ccuda.CUdeviceptr cdptr
 *         if dptr is None:             # <<<<<<<<<<<<<<
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14431
 *         if dptr is None:
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdptr = int(dptr)
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14432
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14433
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14433, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":14431
 *         if dptr is None:
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdptr = int(dptr)
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14435
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *         self._dptr._ptr[0] = cdptr
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":14436
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *         self._dptr._ptr[0] = cdptr
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14436, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14437
 *             pdptr = int(CUdeviceptr(dptr))
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *         self._dptr._ptr[0] = cdptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_MEM_FREE_NODE_PARAMS_st:
 */
  (__pyx_v_self->_dptr->_ptr[0]) = __pyx_v_cdptr;

  /* "cuda/cuda.pyx":14426
 *     def dptr(self):
 *         return self._dptr
 *     @dptr.setter             # <<<<<<<<<<<<<<
 *     def dptr(self, dptr):
 *         cdef ccuda.CUdeviceptr cdptr
 */

  /* 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.cuda.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_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__408)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__409)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14454
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14454, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 14454, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14454, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14454, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 14454, 0, __PYX_ERR(1, 14454, __pyx_L1_error));

  /* "cuda/cuda.pyx":14455
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14456
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_MEM_FREE_NODE_PARAMS_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_MEM_FREE_NODE_PARAMS_st__val);

    /* "cuda/cuda.pyx":14455
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14458
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_MEM_FREE_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14454
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_FREE_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14459
 *         else:
 *             self._ptr = <ccuda.CUDA_MEM_FREE_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14459, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 14459, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14459, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14459, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 14459, 0, __PYX_ERR(1, 14459, __pyx_L1_error));

  /* "cuda/cuda.pyx":14460
 *             self._ptr = <ccuda.CUDA_MEM_FREE_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).dptr))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 14460, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_dptr);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_dptr);
  __pyx_v_self->_dptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14459
 *         else:
 *             self._ptr = <ccuda.CUDA_MEM_FREE_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUDA_MEM_FREE_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14461
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._dptr = CUdeviceptr(_ptr=<void_ptr>&self._ptr[0].dptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 14461, 0, __PYX_ERR(1, 14461, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_MEM_FREE_NODE_PARAMS_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":14463
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_6getPtr, "CUDA_MEM_FREE_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__410)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 14463, 0, __PYX_ERR(1, 14463, __pyx_L1_error));

  /* "cuda/cuda.pyx":14464
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14463
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_FREE_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14465
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 14465, 0, __PYX_ERR(1, 14465, __pyx_L1_error));

  /* "cuda/cuda.pyx":14466
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14467
 *     def __repr__(self):
 *         if self._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(1, 14467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14468
 *         if self._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/cuda.pyx":14469
 *             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_n_s_dptr_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14469, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14469, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_dptr, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14469, __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(1, 14469, __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)) __PYX_ERR(1, 14469, __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(1, 14469, __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/cuda.pyx":14468
 *         if self._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/cuda.pyx":14470
 *             try:
 *                 str_list += ['dptr : ' + str(self.dptr)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['dptr : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 14470, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":14471
 *                 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(1, 14471, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_dptr_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_dptr_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_dptr_ValueError)) __PYX_ERR(1, 14471, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14471, __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/cuda.pyx":14468
 *         if self._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/cuda.pyx":14472
 *             except ValueError:
 *                 str_list += ['dptr : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":14466
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":14474
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def dptr(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":14465
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14475
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def dptr(self):
 *         return self._dptr
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr___get__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14475, 0, __PYX_ERR(1, 14475, __pyx_L1_error));

  /* "cuda/cuda.pyx":14477
 *     @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/cuda.pyx":14475
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def dptr(self):
 *         return self._dptr
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_FREE_NODE_PARAMS_st.dptr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14478
 *     def dptr(self):
 *         return self._dptr
 *     @dptr.setter             # <<<<<<<<<<<<<<
 *     def dptr(self, dptr):
 *         cdef ccuda.CUdeviceptr cdptr
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_dptr); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_dptr) {
  CUdeviceptr __pyx_v_cdptr;
  PyObject *__pyx_v_pdptr = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14478, 0, __PYX_ERR(1, 14478, __pyx_L1_error));

  /* "cuda/cuda.pyx":14481
 *     def dptr(self, dptr):
 *         cdef ccuda.CUdeviceptr cdptr
 *         if dptr is None:             # <<<<<<<<<<<<<<
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
 */
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14482
 *         cdef ccuda.CUdeviceptr cdptr
 *         if dptr is None:
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)
 */
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":14481
 *     def dptr(self, dptr):
 *         cdef ccuda.CUdeviceptr cdptr
 *         if dptr is None:             # <<<<<<<<<<<<<<
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14483
 *         if dptr is None:
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdptr = int(dptr)
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14484
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14485
 *         elif isinstance(dptr, (CUdeviceptr)):
 *             pdptr = int(dptr)
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14485, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":14483
 *         if dptr is None:
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *         elif isinstance(dptr, (CUdeviceptr)):             # <<<<<<<<<<<<<<
 *             pdptr = int(dptr)
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14487
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *         self._dptr._ptr[0] = cdptr
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":14488
 *         else:
 *             pdptr = int(CUdeviceptr(dptr))
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *         self._dptr._ptr[0] = cdptr
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14488, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14489
 *             pdptr = int(CUdeviceptr(dptr))
 *             cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *         self._dptr._ptr[0] = cdptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_CHILD_GRAPH_NODE_PARAMS_st:
 */
  (__pyx_v_self->_dptr->_ptr[0]) = __pyx_v_cdptr;

  /* "cuda/cuda.pyx":14478
 *     def dptr(self):
 *         return self._dptr
 *     @dptr.setter             # <<<<<<<<<<<<<<
 *     def dptr(self, dptr):
 *         cdef ccuda.CUdeviceptr cdptr
 */

  /* 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.cuda.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_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_10__reduce_cython__, "CUDA_MEM_FREE_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__411)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_FREE_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__412)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_MEM_FREE_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14507
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14507, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 14507, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14507, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14507, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 14507, 0, __PYX_ERR(1, 14507, __pyx_L1_error));

  /* "cuda/cuda.pyx":14508
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14509
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_CHILD_GRAPH_NODE_PARAMS_st__val);

    /* "cuda/cuda.pyx":14508
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14511
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._graph = CUgraph(_ptr=<void_ptr>&self._ptr[0].graph)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14507
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14512
 *         else:
 *             self._ptr = <ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._graph = CUgraph(_ptr=<void_ptr>&self._ptr[0].graph)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14512, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 14512, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14512, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14512, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 14512, 0, __PYX_ERR(1, 14512, __pyx_L1_error));

  /* "cuda/cuda.pyx":14513
 *             self._ptr = <ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._graph = CUgraph(_ptr=<void_ptr>&self._ptr[0].graph)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).graph))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 14513, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_graph);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_graph);
  __pyx_v_self->_graph = ((struct __pyx_obj_4cuda_4cuda_CUgraph *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14512
 *         else:
 *             self._ptr = <ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._graph = CUgraph(_ptr=<void_ptr>&self._ptr[0].graph)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14514
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._graph = CUgraph(_ptr=<void_ptr>&self._ptr[0].graph)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 14514, 0, __PYX_ERR(1, 14514, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":14516
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_6getPtr, "CUDA_CHILD_GRAPH_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__413)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 14516, 0, __PYX_ERR(1, 14516, __pyx_L1_error));

  /* "cuda/cuda.pyx":14517
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14516
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14518
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 14518, 0, __PYX_ERR(1, 14518, __pyx_L1_error));

  /* "cuda/cuda.pyx":14519
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14520
 *     def __repr__(self):
 *         if self._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(1, 14520, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14521
 *         if self._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/cuda.pyx":14522
 *             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_n_s_graph_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14522, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14522, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_graph, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14522, __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(1, 14522, __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)) __PYX_ERR(1, 14522, __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(1, 14522, __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/cuda.pyx":14521
 *         if self._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/cuda.pyx":14523
 *             try:
 *                 str_list += ['graph : ' + str(self.graph)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['graph : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 14523, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":14524
 *                 str_list += ['graph : ' + str(self.graph)]
 *             except ValueError:
 *                 str_list += ['graph : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14524, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_graph_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_graph_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_graph_ValueError)) __PYX_ERR(1, 14524, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14524, __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/cuda.pyx":14521
 *         if self._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/cuda.pyx":14525
 *             except ValueError:
 *                 str_list += ['graph : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":14519
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":14527
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def graph(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":14518
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14528
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def graph(self):
 *         return self._graph
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph___get__(struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14528, 0, __PYX_ERR(1, 14528, __pyx_L1_error));

  /* "cuda/cuda.pyx":14530
 *     @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/cuda.pyx":14528
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def graph(self):
 *         return self._graph
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st.graph.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14531
 *     def graph(self):
 *         return self._graph
 *     @graph.setter             # <<<<<<<<<<<<<<
 *     def graph(self, graph):
 *         cdef ccuda.CUgraph cgraph
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_graph); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_graph) {
  CUgraph __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14531, 0, __PYX_ERR(1, 14531, __pyx_L1_error));

  /* "cuda/cuda.pyx":14534
 *     def graph(self, graph):
 *         cdef ccuda.CUgraph cgraph
 *         if graph is None:             # <<<<<<<<<<<<<<
 *             cgraph = <ccuda.CUgraph><void_ptr>0
 *         elif isinstance(graph, (CUgraph,)):
 */
  __pyx_t_1 = (__pyx_v_graph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14535
 *         cdef ccuda.CUgraph cgraph
 *         if graph is None:
 *             cgraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(graph, (CUgraph,)):
 *             pgraph = int(graph)
 */
    __pyx_v_cgraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":14534
 *     def graph(self, graph):
 *         cdef ccuda.CUgraph cgraph
 *         if graph is None:             # <<<<<<<<<<<<<<
 *             cgraph = <ccuda.CUgraph><void_ptr>0
 *         elif isinstance(graph, (CUgraph,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14536
 *         if graph is None:
 *             cgraph = <ccuda.CUgraph><void_ptr>0
 *         elif isinstance(graph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *             pgraph = int(graph)
 *             cgraph = <ccuda.CUgraph><void_ptr>pgraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14537
 *             cgraph = <ccuda.CUgraph><void_ptr>0
 *         elif isinstance(graph, (CUgraph,)):
 *             pgraph = int(graph)             # <<<<<<<<<<<<<<
 *             cgraph = <ccuda.CUgraph><void_ptr>pgraph
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14537, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pgraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14538
 *         elif isinstance(graph, (CUgraph,)):
 *             pgraph = int(graph)
 *             cgraph = <ccuda.CUgraph><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *         else:
 *             pgraph = int(CUgraph(graph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14538, __pyx_L1_error)
    __pyx_v_cgraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":14536
 *         if graph is None:
 *             cgraph = <ccuda.CUgraph><void_ptr>0
 *         elif isinstance(graph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *             pgraph = int(graph)
 *             cgraph = <ccuda.CUgraph><void_ptr>pgraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14540
 *             cgraph = <ccuda.CUgraph><void_ptr>pgraph
 *         else:
 *             pgraph = int(CUgraph(graph))             # <<<<<<<<<<<<<<
 *             cgraph = <ccuda.CUgraph><void_ptr>pgraph
 *         self._graph._ptr[0] = cgraph
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_graph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pgraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":14541
 *         else:
 *             pgraph = int(CUgraph(graph))
 *             cgraph = <ccuda.CUgraph><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *         self._graph._ptr[0] = cgraph
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14541, __pyx_L1_error)
    __pyx_v_cgraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14542
 *             pgraph = int(CUgraph(graph))
 *             cgraph = <ccuda.CUgraph><void_ptr>pgraph
 *         self._graph._ptr[0] = cgraph             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EVENT_RECORD_NODE_PARAMS_st:
 */
  (__pyx_v_self->_graph->_ptr[0]) = __pyx_v_cgraph;

  /* "cuda/cuda.pyx":14531
 *     def graph(self):
 *         return self._graph
 *     @graph.setter             # <<<<<<<<<<<<<<
 *     def graph(self, graph):
 *         cdef ccuda.CUgraph cgraph
 */

  /* 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.cuda.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_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_10__reduce_cython__, "CUDA_CHILD_GRAPH_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__414)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__415)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14559
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14559, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 14559, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14559, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14559, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 14559, 0, __PYX_ERR(1, 14559, __pyx_L1_error));

  /* "cuda/cuda.pyx":14560
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14561
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_EVENT_RECORD_NODE_PARAMS_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_EVENT_RECORD_NODE_PARAMS_st__val);

    /* "cuda/cuda.pyx":14560
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14563
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_EVENT_RECORD_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].event)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14559
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EVENT_RECORD_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14564
 *         else:
 *             self._ptr = <ccuda.CUDA_EVENT_RECORD_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].event)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14564, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 14564, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14564, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14564, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 14564, 0, __PYX_ERR(1, 14564, __pyx_L1_error));

  /* "cuda/cuda.pyx":14565
 *             self._ptr = <ccuda.CUDA_EVENT_RECORD_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].event)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).event))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 14565, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_event);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_event);
  __pyx_v_self->_event = ((struct __pyx_obj_4cuda_4cuda_CUevent *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14564
 *         else:
 *             self._ptr = <ccuda.CUDA_EVENT_RECORD_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].event)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUDA_EVENT_RECORD_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14566
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].event)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 14566, 0, __PYX_ERR(1, 14566, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_EVENT_RECORD_NODE_PARAMS_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":14568
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_6getPtr, "CUDA_EVENT_RECORD_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__416)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 14568, 0, __PYX_ERR(1, 14568, __pyx_L1_error));

  /* "cuda/cuda.pyx":14569
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14568
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EVENT_RECORD_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14570
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 14570, 0, __PYX_ERR(1, 14570, __pyx_L1_error));

  /* "cuda/cuda.pyx":14571
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14572
 *     def __repr__(self):
 *         if self._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(1, 14572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14573
 *         if self._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/cuda.pyx":14574
 *             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_n_s_event_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14574, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14574, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_event, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14574, __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(1, 14574, __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)) __PYX_ERR(1, 14574, __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(1, 14574, __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/cuda.pyx":14573
 *         if self._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/cuda.pyx":14575
 *             try:
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 14575, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":14576
 *                 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(1, 14576, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_event_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_event_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_event_ValueError)) __PYX_ERR(1, 14576, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14576, __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/cuda.pyx":14573
 *         if self._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/cuda.pyx":14577
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":14571
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":14579
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def event(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":14570
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14580
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def event(self):
 *         return self._event
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14580, 0, __PYX_ERR(1, 14580, __pyx_L1_error));

  /* "cuda/cuda.pyx":14582
 *     @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/cuda.pyx":14580
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def event(self):
 *         return self._event
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EVENT_RECORD_NODE_PARAMS_st.event.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14583
 *     def event(self):
 *         return self._event
 *     @event.setter             # <<<<<<<<<<<<<<
 *     def event(self, event):
 *         cdef ccuda.CUevent cevent
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_event); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14583, 0, __PYX_ERR(1, 14583, __pyx_L1_error));

  /* "cuda/cuda.pyx":14586
 *     def event(self, event):
 *         cdef ccuda.CUevent cevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14587
 *         cdef ccuda.CUevent cevent
 *         if event is None:
 *             cevent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)
 */
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":14586
 *     def event(self, event):
 *         cdef ccuda.CUevent cevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14588
 *         if event is None:
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14589
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)             # <<<<<<<<<<<<<<
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14589, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14590
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)
 *             cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         else:
 *             pevent = int(CUevent(event))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14590, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":14588
 *         if event is None:
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14592
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         else:
 *             pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         self._event._ptr[0] = cevent
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":14593
 *         else:
 *             pevent = int(CUevent(event))
 *             cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         self._event._ptr[0] = cevent
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14593, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14594
 *             pevent = int(CUevent(event))
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         self._event._ptr[0] = cevent             # <<<<<<<<<<<<<<
 * 
 * cdef class CUDA_EVENT_WAIT_NODE_PARAMS_st:
 */
  (__pyx_v_self->_event->_ptr[0]) = __pyx_v_cevent;

  /* "cuda/cuda.pyx":14583
 *     def event(self):
 *         return self._event
 *     @event.setter             # <<<<<<<<<<<<<<
 *     def event(self, event):
 *         cdef ccuda.CUevent cevent
 */

  /* 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.cuda.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_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_10__reduce_cython__, "CUDA_EVENT_RECORD_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__417)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EVENT_RECORD_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__418)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EVENT_RECORD_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14611
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14611, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 14611, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14611, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14611, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 14611, 0, __PYX_ERR(1, 14611, __pyx_L1_error));

  /* "cuda/cuda.pyx":14612
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14613
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUDA_EVENT_WAIT_NODE_PARAMS_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUDA_EVENT_WAIT_NODE_PARAMS_st__val);

    /* "cuda/cuda.pyx":14612
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14615
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUDA_EVENT_WAIT_NODE_PARAMS_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].event)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14611
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EVENT_WAIT_NODE_PARAMS_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14616
 *         else:
 *             self._ptr = <ccuda.CUDA_EVENT_WAIT_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].event)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14616, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 14616, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14616, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14616, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 14616, 0, __PYX_ERR(1, 14616, __pyx_L1_error));

  /* "cuda/cuda.pyx":14617
 *             self._ptr = <ccuda.CUDA_EVENT_WAIT_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].event)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).event))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 14617, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_event);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_event);
  __pyx_v_self->_event = ((struct __pyx_obj_4cuda_4cuda_CUevent *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14616
 *         else:
 *             self._ptr = <ccuda.CUDA_EVENT_WAIT_NODE_PARAMS_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].event)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUDA_EVENT_WAIT_NODE_PARAMS_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14618
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._event = CUevent(_ptr=<void_ptr>&self._ptr[0].event)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 14618, 0, __PYX_ERR(1, 14618, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUDA_EVENT_WAIT_NODE_PARAMS_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":14620
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_6getPtr, "CUDA_EVENT_WAIT_NODE_PARAMS_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__419)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 14620, 0, __PYX_ERR(1, 14620, __pyx_L1_error));

  /* "cuda/cuda.pyx":14621
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14620
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUDA_EVENT_WAIT_NODE_PARAMS_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14622
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 14622, 0, __PYX_ERR(1, 14622, __pyx_L1_error));

  /* "cuda/cuda.pyx":14623
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14624
 *     def __repr__(self):
 *         if self._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(1, 14624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14625
 *         if self._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/cuda.pyx":14626
 *             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_n_s_event_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14626, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14626, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_event, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14626, __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(1, 14626, __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)) __PYX_ERR(1, 14626, __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(1, 14626, __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/cuda.pyx":14625
 *         if self._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/cuda.pyx":14627
 *             try:
 *                 str_list += ['event : ' + str(self.event)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['event : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.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(1, 14627, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":14628
 *                 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(1, 14628, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_event_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_event_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_event_ValueError)) __PYX_ERR(1, 14628, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14628, __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/cuda.pyx":14625
 *         if self._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/cuda.pyx":14629
 *             except ValueError:
 *                 str_list += ['event : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":14623
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":14631
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def event(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":14622
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14632
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def event(self):
 *         return self._event
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event___get__(((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event___get__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14632, 0, __PYX_ERR(1, 14632, __pyx_L1_error));

  /* "cuda/cuda.pyx":14634
 *     @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/cuda.pyx":14632
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def event(self):
 *         return self._event
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EVENT_WAIT_NODE_PARAMS_st.event.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14635
 *     def event(self):
 *         return self._event
 *     @event.setter             # <<<<<<<<<<<<<<
 *     def event(self, event):
 *         cdef ccuda.CUevent cevent
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_event); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event_2__set__(((struct __pyx_obj_4cuda_4cuda_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_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event_2__set__(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14635, 0, __PYX_ERR(1, 14635, __pyx_L1_error));

  /* "cuda/cuda.pyx":14638
 *     def event(self, event):
 *         cdef ccuda.CUevent cevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14639
 *         cdef ccuda.CUevent cevent
 *         if event is None:
 *             cevent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)
 */
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":14638
 *     def event(self, event):
 *         cdef ccuda.CUevent cevent
 *         if event is None:             # <<<<<<<<<<<<<<
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14640
 *         if event is None:
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14641
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)             # <<<<<<<<<<<<<<
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14641, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14642
 *         elif isinstance(event, (CUevent,)):
 *             pevent = int(event)
 *             cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         else:
 *             pevent = int(CUevent(event))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14642, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":14640
 *         if event is None:
 *             cevent = <ccuda.CUevent><void_ptr>0
 *         elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *             pevent = int(event)
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14644
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         else:
 *             pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         self._event._ptr[0] = cevent
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 14644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":14645
 *         else:
 *             pevent = int(CUevent(event))
 *             cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *         self._event._ptr[0] = cevent
 * 
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14645, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14646
 *             pevent = int(CUevent(event))
 *             cevent = <ccuda.CUevent><void_ptr>pevent
 *         self._event._ptr[0] = cevent             # <<<<<<<<<<<<<<
 * 
 * cdef class CUgraphNodeParams_st:
 */
  (__pyx_v_self->_event->_ptr[0]) = __pyx_v_cevent;

  /* "cuda/cuda.pyx":14635
 *     def event(self):
 *         return self._event
 *     @event.setter             # <<<<<<<<<<<<<<
 *     def event(self, event):
 *         cdef ccuda.CUevent cevent
 */

  /* 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.cuda.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_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_10__reduce_cython__, "CUDA_EVENT_WAIT_NODE_PARAMS_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__420)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EVENT_WAIT_NODE_PARAMS_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__421)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUDA_EVENT_WAIT_NODE_PARAMS_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14695
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUgraphNodeParams_st *>calloc(1, sizeof(ccuda.CUgraphNodeParams_st))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14695, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 14695, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14695, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14695, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  struct CUgraphNodeParams_st *__pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 14695, 0, __PYX_ERR(1, 14695, __pyx_L1_error));

  /* "cuda/cuda.pyx":14696
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUgraphNodeParams_st *>calloc(1, sizeof(ccuda.CUgraphNodeParams_st))
 *             self._ptr = self._val_ptr
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14697
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUgraphNodeParams_st *>calloc(1, sizeof(ccuda.CUgraphNodeParams_st))             # <<<<<<<<<<<<<<
 *             self._ptr = self._val_ptr
 *         else:
 */
    __pyx_v_self->_val_ptr = ((struct CUgraphNodeParams_st *)calloc(1, (sizeof(struct CUgraphNodeParams_st))));

    /* "cuda/cuda.pyx":14698
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUgraphNodeParams_st *>calloc(1, sizeof(ccuda.CUgraphNodeParams_st))
 *             self._ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUgraphNodeParams_st *>_ptr
 */
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_ptr = __pyx_t_2;

    /* "cuda/cuda.pyx":14696
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUgraphNodeParams_st *>calloc(1, sizeof(ccuda.CUgraphNodeParams_st))
 *             self._ptr = self._val_ptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14700
 *             self._ptr = self._val_ptr
 *         else:
 *             self._ptr = <ccuda.CUgraphNodeParams_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._kernel = CUDA_KERNEL_NODE_PARAMS_v3(_ptr=<void_ptr>&self._ptr[0].kernel)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUgraphNodeParams_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14695
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUgraphNodeParams_st *>calloc(1, sizeof(ccuda.CUgraphNodeParams_st))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14701
 *         else:
 *             self._ptr = <ccuda.CUgraphNodeParams_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._kernel = CUDA_KERNEL_NODE_PARAMS_v3(_ptr=<void_ptr>&self._ptr[0].kernel)
 *         self._memcpy = CUDA_MEMCPY_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].memcpy)
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14701, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 14701, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14701, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14701, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 14701, 0, __PYX_ERR(1, 14701, __pyx_L1_error));

  /* "cuda/cuda.pyx":14702
 *             self._ptr = <ccuda.CUgraphNodeParams_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._kernel = CUDA_KERNEL_NODE_PARAMS_v3(_ptr=<void_ptr>&self._ptr[0].kernel)             # <<<<<<<<<<<<<<
 *         self._memcpy = CUDA_MEMCPY_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].memcpy)
 *         self._memset = CUDA_MEMSET_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].memset)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).kernel))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 14702, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_kernel);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_kernel);
  __pyx_v_self->_kernel = ((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14703
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._kernel = CUDA_KERNEL_NODE_PARAMS_v3(_ptr=<void_ptr>&self._ptr[0].kernel)
 *         self._memcpy = CUDA_MEMCPY_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].memcpy)             # <<<<<<<<<<<<<<
 *         self._memset = CUDA_MEMSET_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].memset)
 *         self._host = CUDA_HOST_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].host)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).memcpy))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 14703, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUDA_MEMCPY_NODE_PARAMS *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":14704
 *         self._kernel = CUDA_KERNEL_NODE_PARAMS_v3(_ptr=<void_ptr>&self._ptr[0].kernel)
 *         self._memcpy = CUDA_MEMCPY_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].memcpy)
 *         self._memset = CUDA_MEMSET_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].memset)             # <<<<<<<<<<<<<<
 *         self._host = CUDA_HOST_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].host)
 *         self._graph = CUDA_CHILD_GRAPH_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].graph)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).memset))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 14704, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_memset);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_memset);
  __pyx_v_self->_memset = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14705
 *         self._memcpy = CUDA_MEMCPY_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].memcpy)
 *         self._memset = CUDA_MEMSET_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].memset)
 *         self._host = CUDA_HOST_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].host)             # <<<<<<<<<<<<<<
 *         self._graph = CUDA_CHILD_GRAPH_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].graph)
 *         self._eventWait = CUDA_EVENT_WAIT_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].eventWait)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).host))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 14705, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUDA_HOST_NODE_PARAMS_v2 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":14706
 *         self._memset = CUDA_MEMSET_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].memset)
 *         self._host = CUDA_HOST_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].host)
 *         self._graph = CUDA_CHILD_GRAPH_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].graph)             # <<<<<<<<<<<<<<
 *         self._eventWait = CUDA_EVENT_WAIT_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].eventWait)
 *         self._eventRecord = CUDA_EVENT_RECORD_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].eventRecord)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).graph))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 14706, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_graph);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_graph);
  __pyx_v_self->_graph = ((struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14707
 *         self._host = CUDA_HOST_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].host)
 *         self._graph = CUDA_CHILD_GRAPH_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].graph)
 *         self._eventWait = CUDA_EVENT_WAIT_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].eventWait)             # <<<<<<<<<<<<<<
 *         self._eventRecord = CUDA_EVENT_RECORD_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].eventRecord)
 *         self._extSemSignal = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].extSemSignal)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).eventWait))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 14707, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":14708
 *         self._graph = CUDA_CHILD_GRAPH_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].graph)
 *         self._eventWait = CUDA_EVENT_WAIT_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].eventWait)
 *         self._eventRecord = CUDA_EVENT_RECORD_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].eventRecord)             # <<<<<<<<<<<<<<
 *         self._extSemSignal = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].extSemSignal)
 *         self._extSemWait = CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].extSemWait)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).eventRecord))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 14708, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_eventRecord);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_eventRecord);
  __pyx_v_self->_eventRecord = ((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14709
 *         self._eventWait = CUDA_EVENT_WAIT_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].eventWait)
 *         self._eventRecord = CUDA_EVENT_RECORD_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].eventRecord)
 *         self._extSemSignal = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].extSemSignal)             # <<<<<<<<<<<<<<
 *         self._extSemWait = CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].extSemWait)
 *         self._alloc = CUDA_MEM_ALLOC_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].alloc)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).extSemSignal))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 14709, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":14710
 *         self._eventRecord = CUDA_EVENT_RECORD_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].eventRecord)
 *         self._extSemSignal = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].extSemSignal)
 *         self._extSemWait = CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].extSemWait)             # <<<<<<<<<<<<<<
 *         self._alloc = CUDA_MEM_ALLOC_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].alloc)
 *         self._free = CUDA_MEM_FREE_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].free)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14710, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).extSemWait))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14710, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 14710, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14710, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_extSemWait);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_extSemWait);
  __pyx_v_self->_extSemWait = ((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14711
 *         self._extSemSignal = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].extSemSignal)
 *         self._extSemWait = CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].extSemWait)
 *         self._alloc = CUDA_MEM_ALLOC_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].alloc)             # <<<<<<<<<<<<<<
 *         self._free = CUDA_MEM_FREE_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].free)
 *         self._memOp = CUDA_BATCH_MEM_OP_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].memOp)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).alloc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 14711, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":14712
 *         self._extSemWait = CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].extSemWait)
 *         self._alloc = CUDA_MEM_ALLOC_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].alloc)
 *         self._free = CUDA_MEM_FREE_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].free)             # <<<<<<<<<<<<<<
 *         self._memOp = CUDA_BATCH_MEM_OP_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].memOp)
 *         self._conditional = CUDA_CONDITIONAL_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].conditional)
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).free))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 14712, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_free);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_free);
  __pyx_v_self->_free = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14713
 *         self._alloc = CUDA_MEM_ALLOC_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].alloc)
 *         self._free = CUDA_MEM_FREE_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].free)
 *         self._memOp = CUDA_BATCH_MEM_OP_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].memOp)             # <<<<<<<<<<<<<<
 *         self._conditional = CUDA_CONDITIONAL_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].conditional)
 *     def __dealloc__(self):
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).memOp))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_1) < 0) __PYX_ERR(1, 14713, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__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_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":14714
 *         self._free = CUDA_MEM_FREE_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].free)
 *         self._memOp = CUDA_BATCH_MEM_OP_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].memOp)
 *         self._conditional = CUDA_CONDITIONAL_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].conditional)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).conditional))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 14714, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_conditional);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_conditional);
  __pyx_v_self->_conditional = ((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14701
 *         else:
 *             self._ptr = <ccuda.CUgraphNodeParams_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._kernel = CUDA_KERNEL_NODE_PARAMS_v3(_ptr=<void_ptr>&self._ptr[0].kernel)
 *         self._memcpy = CUDA_MEMCPY_NODE_PARAMS(_ptr=<void_ptr>&self._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.cuda.CUgraphNodeParams_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14715
 *         self._memOp = CUDA_BATCH_MEM_OP_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].memOp)
 *         self._conditional = CUDA_CONDITIONAL_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].conditional)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 14715, 0, __PYX_ERR(1, 14715, __pyx_L1_error));

  /* "cuda/cuda.pyx":14716
 *         self._conditional = CUDA_CONDITIONAL_NODE_PARAMS(_ptr=<void_ptr>&self._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/cuda.pyx":14717
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_val_ptr);

    /* "cuda/cuda.pyx":14716
 *         self._conditional = CUDA_CONDITIONAL_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].conditional)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":14715
 *         self._memOp = CUDA_BATCH_MEM_OP_NODE_PARAMS_v2(_ptr=<void_ptr>&self._ptr[0].memOp)
 *         self._conditional = CUDA_CONDITIONAL_NODE_PARAMS(_ptr=<void_ptr>&self._ptr[0].conditional)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUgraphNodeParams_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":14718
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_6getPtr, "CUgraphNodeParams_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_20CUgraphNodeParams_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUgraphNodeParams_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__422)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 14718, 0, __PYX_ERR(1, 14718, __pyx_L1_error));

  /* "cuda/cuda.pyx":14719
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14718
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14720
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr79__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr80__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr81__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr82__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr83__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr84__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr85__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr86__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr87__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr88__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr89__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr90__pyx_v_line = NULL;
  PyObject *__pyx_9genexpr91__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 14720, 0, __PYX_ERR(1, 14720, __pyx_L1_error));

  /* "cuda/cuda.pyx":14721
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14722
 *     def __repr__(self):
 *         if self._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(1, 14722, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14723
 *         if self._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/cuda.pyx":14724
 *             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_n_s_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14724, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14724, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14724, __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(1, 14724, __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)) __PYX_ERR(1, 14724, __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(1, 14724, __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/cuda.pyx":14723
 *         if self._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/cuda.pyx":14725
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 14725, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":14726
 *                 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(1, 14726, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_type_ValueError)) __PYX_ERR(1, 14726, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14726, __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/cuda.pyx":14723
 *         if self._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/cuda.pyx":14727
 *             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/cuda.pyx":14728
 *                 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_n_s_reserved0_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14728, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14728, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_reserved0, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14728, __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(1, 14728, __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)) __PYX_ERR(1, 14728, __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(1, 14728, __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/cuda.pyx":14727
 *             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/cuda.pyx":14729
 *             try:
 *                 str_list += ['reserved0 : ' + str(self.reserved0)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved0 : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 14729, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":14730
 *                 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(1, 14730, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_reserved0_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved0_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_reserved0_ValueError)) __PYX_ERR(1, 14730, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14730, __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/cuda.pyx":14727
 *             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/cuda.pyx":14731
 *             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/cuda.pyx":14732
 *                 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_n_s_reserved1_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14732, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14732, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_reserved1, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14732, __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(1, 14732, __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)) __PYX_ERR(1, 14732, __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(1, 14732, __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/cuda.pyx":14731
 *             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/cuda.pyx":14733
 *             try:
 *                 str_list += ['reserved1 : ' + str(self.reserved1)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved1 : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 14733, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":14734
 *                 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(1, 14734, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_reserved1_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved1_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_reserved1_ValueError)) __PYX_ERR(1, 14734, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14734, __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/cuda.pyx":14731
 *             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/cuda.pyx":14735
 *             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/cuda.pyx":14736
 *                 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(1, 14736, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_kernel_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14736, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14736, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14736, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14736, __pyx_L36_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14736, __pyx_L36_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14736, __pyx_L36_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14736, __pyx_L36_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14736, __pyx_L36_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14736, __pyx_L36_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14736, __pyx_L36_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14736, __pyx_L36_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14736, __pyx_L36_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 14736, __pyx_L36_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr79__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr79__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14736, __pyx_L36_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 14736, __pyx_L36_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr79__pyx_v_line); __pyx_9genexpr79__pyx_v_line = 0;
          goto __pyx_L40_exit_scope;
          __pyx_L36_error:;
          __Pyx_XDECREF(__pyx_9genexpr79__pyx_v_line); __pyx_9genexpr79__pyx_v_line = 0;
          goto __pyx_L28_error;
          __pyx_L40_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14736, __pyx_L28_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_kernel, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14736, __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(1, 14736, __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)) __PYX_ERR(1, 14736, __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(1, 14736, __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/cuda.pyx":14735
 *             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/cuda.pyx":14737
 *             try:
 *                 str_list += ['kernel :\n' + '\n'.join(['    ' + line for line in str(self.kernel).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['kernel : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 14737, __pyx_L30_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":14738
 *                 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(1, 14738, __pyx_L30_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_kernel_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_kernel_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_kernel_ValueError)) __PYX_ERR(1, 14738, __pyx_L30_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14738, __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/cuda.pyx":14735
 *             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/cuda.pyx":14739
 *             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/cuda.pyx":14740
 *                 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(1, 14740, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memcpy_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14740, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14740, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14740, __pyx_L51_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_8))) {
            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
            if (likely(__pyx_t_9)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
              __Pyx_INCREF(__pyx_t_9);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_8, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
            __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14740, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14740, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14740, __pyx_L51_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_8))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14740, __pyx_L51_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14740, __pyx_L51_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14740, __pyx_L51_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14740, __pyx_L51_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14740, __pyx_L51_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14740, __pyx_L51_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_12(__pyx_t_8);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 14740, __pyx_L51_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr80__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr80__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14740, __pyx_L51_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(1, 14740, __pyx_L51_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_9genexpr80__pyx_v_line); __pyx_9genexpr80__pyx_v_line = 0;
          goto __pyx_L55_exit_scope;
          __pyx_L51_error:;
          __Pyx_XDECREF(__pyx_9genexpr80__pyx_v_line); __pyx_9genexpr80__pyx_v_line = 0;
          goto __pyx_L43_error;
          __pyx_L55_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14740, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_memcpy, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14740, __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(1, 14740, __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)) __PYX_ERR(1, 14740, __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(1, 14740, __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/cuda.pyx":14739
 *             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/cuda.pyx":14741
 *             try:
 *                 str_list += ['memcpy :\n' + '\n'.join(['    ' + line for line in str(self.memcpy).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memcpy : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(1, 14741, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":14742
 *                 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(1, 14742, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_memcpy_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_memcpy_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_memcpy_ValueError)) __PYX_ERR(1, 14742, __pyx_L45_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14742, __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/cuda.pyx":14739
 *             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/cuda.pyx":14743
 *             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/cuda.pyx":14744
 *                 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(1, 14744, __pyx_L66_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memset_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14744, __pyx_L66_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14744, __pyx_L66_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14744, __pyx_L66_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_6))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_6, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14744, __pyx_L66_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
            __pyx_t_6 = __pyx_t_8; __Pyx_INCREF(__pyx_t_6);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14744, __pyx_L66_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14744, __pyx_L66_error)
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_6))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14744, __pyx_L66_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_8 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_8); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14744, __pyx_L66_error)
                #else
                __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14744, __pyx_L66_error)
                __Pyx_GOTREF(__pyx_t_8);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14744, __pyx_L66_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_8); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14744, __pyx_L66_error)
                #else
                __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14744, __pyx_L66_error)
                __Pyx_GOTREF(__pyx_t_8);
                #endif
              }
            } else {
              __pyx_t_8 = __pyx_t_12(__pyx_t_6);
              if (unlikely(!__pyx_t_8)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 14744, __pyx_L66_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_8);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr81__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr81__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14744, __pyx_L66_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 14744, __pyx_L66_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_9genexpr81__pyx_v_line); __pyx_9genexpr81__pyx_v_line = 0;
          goto __pyx_L70_exit_scope;
          __pyx_L66_error:;
          __Pyx_XDECREF(__pyx_9genexpr81__pyx_v_line); __pyx_9genexpr81__pyx_v_line = 0;
          goto __pyx_L58_error;
          __pyx_L70_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14744, __pyx_L58_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_memset, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14744, __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(1, 14744, __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)) __PYX_ERR(1, 14744, __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(1, 14744, __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/cuda.pyx":14743
 *             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/cuda.pyx":14745
 *             try:
 *                 str_list += ['memset :\n' + '\n'.join(['    ' + line for line in str(self.memset).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memset : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 14745, __pyx_L60_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":14746
 *                 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(1, 14746, __pyx_L60_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_memset_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_memset_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_memset_ValueError)) __PYX_ERR(1, 14746, __pyx_L60_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14746, __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/cuda.pyx":14743
 *             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/cuda.pyx":14747
 *             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/cuda.pyx":14748
 *                 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(1, 14748, __pyx_L81_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_host_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14748, __pyx_L81_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14748, __pyx_L81_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14748, __pyx_L81_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_9)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_9);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14748, __pyx_L81_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14748, __pyx_L81_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14748, __pyx_L81_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14748, __pyx_L81_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14748, __pyx_L81_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14748, __pyx_L81_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14748, __pyx_L81_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14748, __pyx_L81_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14748, __pyx_L81_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 14748, __pyx_L81_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr82__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr82__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14748, __pyx_L81_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 14748, __pyx_L81_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr82__pyx_v_line); __pyx_9genexpr82__pyx_v_line = 0;
          goto __pyx_L85_exit_scope;
          __pyx_L81_error:;
          __Pyx_XDECREF(__pyx_9genexpr82__pyx_v_line); __pyx_9genexpr82__pyx_v_line = 0;
          goto __pyx_L73_error;
          __pyx_L85_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14748, __pyx_L73_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_host, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14748, __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(1, 14748, __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)) __PYX_ERR(1, 14748, __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(1, 14748, __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/cuda.pyx":14747
 *             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/cuda.pyx":14749
 *             try:
 *                 str_list += ['host :\n' + '\n'.join(['    ' + line for line in str(self.host).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['host : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 14749, __pyx_L75_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":14750
 *                 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(1, 14750, __pyx_L75_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_host_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_host_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_host_ValueError)) __PYX_ERR(1, 14750, __pyx_L75_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14750, __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/cuda.pyx":14747
 *             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/cuda.pyx":14751
 *             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/cuda.pyx":14752
 *                 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(1, 14752, __pyx_L96_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_graph_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14752, __pyx_L96_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14752, __pyx_L96_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14752, __pyx_L96_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_8))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_8);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_8, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14752, __pyx_L96_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14752, __pyx_L96_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14752, __pyx_L96_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_8))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14752, __pyx_L96_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14752, __pyx_L96_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14752, __pyx_L96_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14752, __pyx_L96_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14752, __pyx_L96_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14752, __pyx_L96_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_12(__pyx_t_8);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 14752, __pyx_L96_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr83__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr83__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14752, __pyx_L96_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(1, 14752, __pyx_L96_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_9genexpr83__pyx_v_line); __pyx_9genexpr83__pyx_v_line = 0;
          goto __pyx_L100_exit_scope;
          __pyx_L96_error:;
          __Pyx_XDECREF(__pyx_9genexpr83__pyx_v_line); __pyx_9genexpr83__pyx_v_line = 0;
          goto __pyx_L88_error;
          __pyx_L100_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14752, __pyx_L88_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_graph_3, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14752, __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(1, 14752, __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)) __PYX_ERR(1, 14752, __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(1, 14752, __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/cuda.pyx":14751
 *             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/cuda.pyx":14753
 *             try:
 *                 str_list += ['graph :\n' + '\n'.join(['    ' + line for line in str(self.graph).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['graph : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(1, 14753, __pyx_L90_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":14754
 *                 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(1, 14754, __pyx_L90_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_graph_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_graph_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_graph_ValueError)) __PYX_ERR(1, 14754, __pyx_L90_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14754, __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/cuda.pyx":14751
 *             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/cuda.pyx":14755
 *             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/cuda.pyx":14756
 *                 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(1, 14756, __pyx_L111_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_eventWait_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14756, __pyx_L111_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14756, __pyx_L111_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14756, __pyx_L111_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_6))) {
            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
            if (likely(__pyx_t_9)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
              __Pyx_INCREF(__pyx_t_9);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_6, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
            __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14756, __pyx_L111_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
            __pyx_t_6 = __pyx_t_8; __Pyx_INCREF(__pyx_t_6);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14756, __pyx_L111_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14756, __pyx_L111_error)
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_6))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14756, __pyx_L111_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_8 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_8); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14756, __pyx_L111_error)
                #else
                __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14756, __pyx_L111_error)
                __Pyx_GOTREF(__pyx_t_8);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14756, __pyx_L111_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_8); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14756, __pyx_L111_error)
                #else
                __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14756, __pyx_L111_error)
                __Pyx_GOTREF(__pyx_t_8);
                #endif
              }
            } else {
              __pyx_t_8 = __pyx_t_12(__pyx_t_6);
              if (unlikely(!__pyx_t_8)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 14756, __pyx_L111_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_8);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr84__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr84__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14756, __pyx_L111_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 14756, __pyx_L111_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_9genexpr84__pyx_v_line); __pyx_9genexpr84__pyx_v_line = 0;
          goto __pyx_L115_exit_scope;
          __pyx_L111_error:;
          __Pyx_XDECREF(__pyx_9genexpr84__pyx_v_line); __pyx_9genexpr84__pyx_v_line = 0;
          goto __pyx_L103_error;
          __pyx_L115_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14756, __pyx_L103_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_eventWait, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14756, __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(1, 14756, __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)) __PYX_ERR(1, 14756, __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(1, 14756, __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/cuda.pyx":14755
 *             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/cuda.pyx":14757
 *             try:
 *                 str_list += ['eventWait :\n' + '\n'.join(['    ' + line for line in str(self.eventWait).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['eventWait : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 14757, __pyx_L105_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":14758
 *                 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(1, 14758, __pyx_L105_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_eventWait_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_eventWait_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_eventWait_ValueError)) __PYX_ERR(1, 14758, __pyx_L105_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14758, __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/cuda.pyx":14755
 *             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/cuda.pyx":14759
 *             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/cuda.pyx":14760
 *                 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(1, 14760, __pyx_L126_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_eventRecord_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14760, __pyx_L126_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14760, __pyx_L126_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14760, __pyx_L126_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14760, __pyx_L126_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14760, __pyx_L126_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14760, __pyx_L126_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14760, __pyx_L126_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14760, __pyx_L126_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14760, __pyx_L126_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14760, __pyx_L126_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14760, __pyx_L126_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14760, __pyx_L126_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 14760, __pyx_L126_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr85__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr85__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14760, __pyx_L126_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 14760, __pyx_L126_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr85__pyx_v_line); __pyx_9genexpr85__pyx_v_line = 0;
          goto __pyx_L130_exit_scope;
          __pyx_L126_error:;
          __Pyx_XDECREF(__pyx_9genexpr85__pyx_v_line); __pyx_9genexpr85__pyx_v_line = 0;
          goto __pyx_L118_error;
          __pyx_L130_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14760, __pyx_L118_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_eventRecord, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14760, __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(1, 14760, __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)) __PYX_ERR(1, 14760, __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(1, 14760, __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/cuda.pyx":14759
 *             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/cuda.pyx":14761
 *             try:
 *                 str_list += ['eventRecord :\n' + '\n'.join(['    ' + line for line in str(self.eventRecord).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['eventRecord : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 14761, __pyx_L120_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":14762
 *                 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(1, 14762, __pyx_L120_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_eventRecord_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_eventRecord_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_eventRecord_ValueError)) __PYX_ERR(1, 14762, __pyx_L120_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14762, __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/cuda.pyx":14759
 *             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/cuda.pyx":14763
 *             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/cuda.pyx":14764
 *                 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(1, 14764, __pyx_L141_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_extSemSignal_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14764, __pyx_L141_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14764, __pyx_L141_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14764, __pyx_L141_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_8))) {
            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
            if (likely(__pyx_t_9)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
              __Pyx_INCREF(__pyx_t_9);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_8, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
            __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14764, __pyx_L141_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14764, __pyx_L141_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14764, __pyx_L141_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_8))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14764, __pyx_L141_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14764, __pyx_L141_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14764, __pyx_L141_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14764, __pyx_L141_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14764, __pyx_L141_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14764, __pyx_L141_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_12(__pyx_t_8);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 14764, __pyx_L141_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr86__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr86__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14764, __pyx_L141_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(1, 14764, __pyx_L141_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_9genexpr86__pyx_v_line); __pyx_9genexpr86__pyx_v_line = 0;
          goto __pyx_L145_exit_scope;
          __pyx_L141_error:;
          __Pyx_XDECREF(__pyx_9genexpr86__pyx_v_line); __pyx_9genexpr86__pyx_v_line = 0;
          goto __pyx_L133_error;
          __pyx_L145_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14764, __pyx_L133_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_extSemSignal, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14764, __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(1, 14764, __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)) __PYX_ERR(1, 14764, __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(1, 14764, __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/cuda.pyx":14763
 *             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/cuda.pyx":14765
 *             try:
 *                 str_list += ['extSemSignal :\n' + '\n'.join(['    ' + line for line in str(self.extSemSignal).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemSignal : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(1, 14765, __pyx_L135_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":14766
 *                 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(1, 14766, __pyx_L135_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_extSemSignal_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_extSemSignal_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_extSemSignal_ValueError)) __PYX_ERR(1, 14766, __pyx_L135_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14766, __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/cuda.pyx":14763
 *             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/cuda.pyx":14767
 *             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/cuda.pyx":14768
 *                 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(1, 14768, __pyx_L156_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_extSemWait_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14768, __pyx_L156_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14768, __pyx_L156_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14768, __pyx_L156_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_6))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_6, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14768, __pyx_L156_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
            __pyx_t_6 = __pyx_t_8; __Pyx_INCREF(__pyx_t_6);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14768, __pyx_L156_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14768, __pyx_L156_error)
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_6))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14768, __pyx_L156_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_8 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_8); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14768, __pyx_L156_error)
                #else
                __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14768, __pyx_L156_error)
                __Pyx_GOTREF(__pyx_t_8);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14768, __pyx_L156_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_8); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14768, __pyx_L156_error)
                #else
                __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14768, __pyx_L156_error)
                __Pyx_GOTREF(__pyx_t_8);
                #endif
              }
            } else {
              __pyx_t_8 = __pyx_t_12(__pyx_t_6);
              if (unlikely(!__pyx_t_8)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 14768, __pyx_L156_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_8);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr87__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr87__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14768, __pyx_L156_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 14768, __pyx_L156_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_9genexpr87__pyx_v_line); __pyx_9genexpr87__pyx_v_line = 0;
          goto __pyx_L160_exit_scope;
          __pyx_L156_error:;
          __Pyx_XDECREF(__pyx_9genexpr87__pyx_v_line); __pyx_9genexpr87__pyx_v_line = 0;
          goto __pyx_L148_error;
          __pyx_L160_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14768, __pyx_L148_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_extSemWait, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14768, __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(1, 14768, __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)) __PYX_ERR(1, 14768, __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(1, 14768, __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/cuda.pyx":14767
 *             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/cuda.pyx":14769
 *             try:
 *                 str_list += ['extSemWait :\n' + '\n'.join(['    ' + line for line in str(self.extSemWait).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['extSemWait : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 14769, __pyx_L150_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":14770
 *                 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(1, 14770, __pyx_L150_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_extSemWait_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_extSemWait_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_extSemWait_ValueError)) __PYX_ERR(1, 14770, __pyx_L150_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14770, __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/cuda.pyx":14767
 *             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/cuda.pyx":14771
 *             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/cuda.pyx":14772
 *                 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(1, 14772, __pyx_L171_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_alloc_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14772, __pyx_L171_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14772, __pyx_L171_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14772, __pyx_L171_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_9)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_9);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14772, __pyx_L171_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14772, __pyx_L171_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14772, __pyx_L171_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14772, __pyx_L171_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14772, __pyx_L171_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14772, __pyx_L171_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14772, __pyx_L171_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14772, __pyx_L171_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14772, __pyx_L171_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 14772, __pyx_L171_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr88__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr88__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14772, __pyx_L171_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 14772, __pyx_L171_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr88__pyx_v_line); __pyx_9genexpr88__pyx_v_line = 0;
          goto __pyx_L175_exit_scope;
          __pyx_L171_error:;
          __Pyx_XDECREF(__pyx_9genexpr88__pyx_v_line); __pyx_9genexpr88__pyx_v_line = 0;
          goto __pyx_L163_error;
          __pyx_L175_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14772, __pyx_L163_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_alloc, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14772, __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(1, 14772, __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)) __PYX_ERR(1, 14772, __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(1, 14772, __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/cuda.pyx":14771
 *             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/cuda.pyx":14773
 *             try:
 *                 str_list += ['alloc :\n' + '\n'.join(['    ' + line for line in str(self.alloc).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['alloc : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 14773, __pyx_L165_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":14774
 *                 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(1, 14774, __pyx_L165_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_alloc_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_alloc_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_alloc_ValueError)) __PYX_ERR(1, 14774, __pyx_L165_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14774, __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/cuda.pyx":14771
 *             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/cuda.pyx":14775
 *             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/cuda.pyx":14776
 *                 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(1, 14776, __pyx_L186_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_free_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14776, __pyx_L186_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14776, __pyx_L186_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14776, __pyx_L186_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_8))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_8);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_8, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14776, __pyx_L186_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14776, __pyx_L186_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14776, __pyx_L186_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_8))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14776, __pyx_L186_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14776, __pyx_L186_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14776, __pyx_L186_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14776, __pyx_L186_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14776, __pyx_L186_error)
                #else
                __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14776, __pyx_L186_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_12(__pyx_t_8);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 14776, __pyx_L186_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr89__pyx_v_line, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_2 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr89__pyx_v_line); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14776, __pyx_L186_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_2))) __PYX_ERR(1, 14776, __pyx_L186_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_9genexpr89__pyx_v_line); __pyx_9genexpr89__pyx_v_line = 0;
          goto __pyx_L190_exit_scope;
          __pyx_L186_error:;
          __Pyx_XDECREF(__pyx_9genexpr89__pyx_v_line); __pyx_9genexpr89__pyx_v_line = 0;
          goto __pyx_L178_error;
          __pyx_L190_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14776, __pyx_L178_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_free, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14776, __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(1, 14776, __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)) __PYX_ERR(1, 14776, __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(1, 14776, __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/cuda.pyx":14775
 *             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/cuda.pyx":14777
 *             try:
 *                 str_list += ['free :\n' + '\n'.join(['    ' + line for line in str(self.free).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['free : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(1, 14777, __pyx_L180_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":14778
 *                 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(1, 14778, __pyx_L180_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_free_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_free_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_free_ValueError)) __PYX_ERR(1, 14778, __pyx_L180_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14778, __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/cuda.pyx":14775
 *             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/cuda.pyx":14779
 *             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/cuda.pyx":14780
 *                 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(1, 14780, __pyx_L201_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_memOp_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14780, __pyx_L201_error)
          __Pyx_GOTREF(__pyx_t_6);
          __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14780, __pyx_L201_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14780, __pyx_L201_error)
          __Pyx_GOTREF(__pyx_t_6);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_6))) {
            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
            if (likely(__pyx_t_9)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
              __Pyx_INCREF(__pyx_t_9);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_6, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
            __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14780, __pyx_L201_error)
            __Pyx_GOTREF(__pyx_t_8);
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
            __pyx_t_6 = __pyx_t_8; __Pyx_INCREF(__pyx_t_6);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14780, __pyx_L201_error)
            __Pyx_GOTREF(__pyx_t_6);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14780, __pyx_L201_error)
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_6))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14780, __pyx_L201_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_8 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_8); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14780, __pyx_L201_error)
                #else
                __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14780, __pyx_L201_error)
                __Pyx_GOTREF(__pyx_t_8);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14780, __pyx_L201_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_8); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14780, __pyx_L201_error)
                #else
                __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14780, __pyx_L201_error)
                __Pyx_GOTREF(__pyx_t_8);
                #endif
              }
            } else {
              __pyx_t_8 = __pyx_t_12(__pyx_t_6);
              if (unlikely(!__pyx_t_8)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 14780, __pyx_L201_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_8);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr90__pyx_v_line, __pyx_t_8);
            __pyx_t_8 = 0;
            __pyx_t_8 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr90__pyx_v_line); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14780, __pyx_L201_error)
            __Pyx_GOTREF(__pyx_t_8);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) __PYX_ERR(1, 14780, __pyx_L201_error)
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_XDECREF(__pyx_9genexpr90__pyx_v_line); __pyx_9genexpr90__pyx_v_line = 0;
          goto __pyx_L205_exit_scope;
          __pyx_L201_error:;
          __Pyx_XDECREF(__pyx_9genexpr90__pyx_v_line); __pyx_9genexpr90__pyx_v_line = 0;
          goto __pyx_L193_error;
          __pyx_L205_exit_scope:;
        } /* exit inner scope */
        __pyx_t_6 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14780, __pyx_L193_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_memOp, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14780, __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(1, 14780, __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)) __PYX_ERR(1, 14780, __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(1, 14780, __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/cuda.pyx":14779
 *             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/cuda.pyx":14781
 *             try:
 *                 str_list += ['memOp :\n' + '\n'.join(['    ' + line for line in str(self.memOp).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['memOp : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 14781, __pyx_L195_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":14782
 *                 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(1, 14782, __pyx_L195_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_memOp_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_memOp_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_memOp_ValueError)) __PYX_ERR(1, 14782, __pyx_L195_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14782, __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/cuda.pyx":14779
 *             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/cuda.pyx":14783
 *             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/cuda.pyx":14784
 *                 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(1, 14784, __pyx_L216_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_conditional_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14784, __pyx_L216_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14784, __pyx_L216_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14784, __pyx_L216_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          __pyx_t_10 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_10)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_10);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14784, __pyx_L216_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14784, __pyx_L216_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14784, __pyx_L216_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14784, __pyx_L216_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14784, __pyx_L216_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14784, __pyx_L216_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14784, __pyx_L216_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14784, __pyx_L216_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14784, __pyx_L216_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_2);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 14784, __pyx_L216_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr91__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr91__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14784, __pyx_L216_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 14784, __pyx_L216_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_9genexpr91__pyx_v_line); __pyx_9genexpr91__pyx_v_line = 0;
          goto __pyx_L220_exit_scope;
          __pyx_L216_error:;
          __Pyx_XDECREF(__pyx_9genexpr91__pyx_v_line); __pyx_9genexpr91__pyx_v_line = 0;
          goto __pyx_L208_error;
          __pyx_L220_exit_scope:;
        } /* exit inner scope */
        __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14784, __pyx_L208_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_kp_u_conditional, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14784, __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(1, 14784, __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)) __PYX_ERR(1, 14784, __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(1, 14784, __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/cuda.pyx":14783
 *             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/cuda.pyx":14785
 *             try:
 *                 str_list += ['conditional :\n' + '\n'.join(['    ' + line for line in str(self.conditional).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['conditional : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(1, 14785, __pyx_L210_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":14786
 *                 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(1, 14786, __pyx_L210_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_conditional_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_conditional_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_conditional_ValueError)) __PYX_ERR(1, 14786, __pyx_L210_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14786, __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/cuda.pyx":14783
 *             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/cuda.pyx":14787
 *             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/cuda.pyx":14788
 *                 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_n_s_reserved2_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14788, __pyx_L223_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14788, __pyx_L223_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_reserved2, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14788, __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(1, 14788, __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)) __PYX_ERR(1, 14788, __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(1, 14788, __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/cuda.pyx":14787
 *             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/cuda.pyx":14789
 *             try:
 *                 str_list += ['reserved2 : ' + str(self.reserved2)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['reserved2 : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(1, 14789, __pyx_L225_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":14790
 *                 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(1, 14790, __pyx_L225_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_reserved2_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_reserved2_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_reserved2_ValueError)) __PYX_ERR(1, 14790, __pyx_L225_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14790, __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/cuda.pyx":14787
 *             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/cuda.pyx":14791
 *             except ValueError:
 *                 str_list += ['reserved2 : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14791, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":14721
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":14793
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":14720
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.CUgraphNodeParams_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr79__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr80__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr81__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr82__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr83__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr84__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr85__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr86__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr87__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr88__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr89__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr90__pyx_v_line);
  __Pyx_XDECREF(__pyx_9genexpr91__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14794
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUgraphNodeType(self._ptr[0].type)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_4type___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14794, 0, __PYX_ERR(1, 14794, __pyx_L1_error));

  /* "cuda/cuda.pyx":14796
 *     @property
 *     def type(self):
 *         return CUgraphNodeType(self._ptr[0].type)             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUgraphNodeType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUgraphNodeType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphNodeType_enum((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14796, __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/cuda.pyx":14794
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUgraphNodeType(self._ptr[0].type)
 */

  /* 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.cuda.CUgraphNodeParams_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14797
 *     def type(self):
 *         return CUgraphNodeType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUgraphNodeType):
 *         self._ptr[0].type = type.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 14798, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_4type_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_type));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14797, 0, __PYX_ERR(1, 14797, __pyx_L1_error));

  /* "cuda/cuda.pyx":14799
 *     @type.setter
 *     def type(self, type not None : CUgraphNodeType):
 *         self._ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved0(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14799, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUgraphNodeType_enum)__Pyx_PyInt_As_enum__CUgraphNodeType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14799, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).type = __pyx_t_2;

  /* "cuda/cuda.pyx":14797
 *     def type(self):
 *         return CUgraphNodeType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUgraphNodeType):
 *         self._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.cuda.CUgraphNodeParams_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14800
 *     def type(self, type not None : CUgraphNodeType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved0(self):
 *         return self._ptr[0].reserved0
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9reserved0_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_9reserved0___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9reserved0___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14800, 0, __PYX_ERR(1, 14800, __pyx_L1_error));

  /* "cuda/cuda.pyx":14802
 *     @property
 *     def reserved0(self):
 *         return self._ptr[0].reserved0             # <<<<<<<<<<<<<<
 *     @reserved0.setter
 *     def reserved0(self, reserved0):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_carray_to_py_int((__pyx_v_self->_ptr[0]).reserved0, 3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14800
 *     def type(self, type not None : CUgraphNodeType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved0(self):
 *         return self._ptr[0].reserved0
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.reserved0.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14803
 *     def reserved0(self):
 *         return self._ptr[0].reserved0
 *     @reserved0.setter             # <<<<<<<<<<<<<<
 *     def reserved0(self, reserved0):
 *         self._ptr[0].reserved0 = reserved0
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9reserved0_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved0); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_9reserved0_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved0));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9reserved0_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, PyObject *__pyx_v_reserved0) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 14803, 0, __PYX_ERR(1, 14803, __pyx_L1_error));

  /* "cuda/cuda.pyx":14805
 *     @reserved0.setter
 *     def reserved0(self, reserved0):
 *         self._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(1, 14805, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved0[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved0[0]) * (3));

  /* "cuda/cuda.pyx":14803
 *     def reserved0(self):
 *         return self._ptr[0].reserved0
 *     @reserved0.setter             # <<<<<<<<<<<<<<
 *     def reserved0(self, reserved0):
 *         self._ptr[0].reserved0 = reserved0
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.reserved0.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14806
 *     def reserved0(self, reserved0):
 *         self._ptr[0].reserved0 = reserved0
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved1(self):
 *         return self._ptr[0].reserved1
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9reserved1_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_9reserved1___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9reserved1___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14806, 0, __PYX_ERR(1, 14806, __pyx_L1_error));

  /* "cuda/cuda.pyx":14808
 *     @property
 *     def reserved1(self):
 *         return self._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->_ptr[0]).reserved1, 29); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14808, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14806
 *     def reserved0(self, reserved0):
 *         self._ptr[0].reserved0 = reserved0
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved1(self):
 *         return self._ptr[0].reserved1
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.reserved1.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14809
 *     def reserved1(self):
 *         return self._ptr[0].reserved1
 *     @reserved1.setter             # <<<<<<<<<<<<<<
 *     def reserved1(self, reserved1):
 *         self._ptr[0].reserved1 = reserved1
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9reserved1_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_reserved1); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_9reserved1_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), ((PyObject *)__pyx_v_reserved1));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9reserved1_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, PyObject *__pyx_v_reserved1) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  PY_LONG_LONG __pyx_t_1[29];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 14809, 0, __PYX_ERR(1, 14809, __pyx_L1_error));

  /* "cuda/cuda.pyx":14811
 *     @reserved1.setter
 *     def reserved1(self, reserved1):
 *         self._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(1, 14811, __pyx_L1_error)
  memcpy(&((__pyx_v_self->_ptr[0]).reserved1[0]), __pyx_t_1, sizeof((__pyx_v_self->_ptr[0]).reserved1[0]) * (29));

  /* "cuda/cuda.pyx":14809
 *     def reserved1(self):
 *         return self._ptr[0].reserved1
 *     @reserved1.setter             # <<<<<<<<<<<<<<
 *     def reserved1(self, reserved1):
 *         self._ptr[0].reserved1 = reserved1
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.reserved1.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14812
 *     def reserved1(self, reserved1):
 *         self._ptr[0].reserved1 = reserved1
 *     @property             # <<<<<<<<<<<<<<
 *     def kernel(self):
 *         return self._kernel
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_6kernel_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_6kernel___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6kernel___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14812, 0, __PYX_ERR(1, 14812, __pyx_L1_error));

  /* "cuda/cuda.pyx":14814
 *     @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/cuda.pyx":14812
 *     def reserved1(self, reserved1):
 *         self._ptr[0].reserved1 = reserved1
 *     @property             # <<<<<<<<<<<<<<
 *     def kernel(self):
 *         return self._kernel
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.kernel.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14815
 *     def kernel(self):
 *         return self._kernel
 *     @kernel.setter             # <<<<<<<<<<<<<<
 *     def kernel(self, kernel not None : CUDA_KERNEL_NODE_PARAMS_v3):
 *         string.memcpy(&self._ptr[0].kernel, <ccuda.CUDA_KERNEL_NODE_PARAMS_v3*><void_ptr>kernel.getPtr(), sizeof(self._ptr[0].kernel))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_6kernel_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_kernel); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3, 0, "kernel", 0))) __PYX_ERR(1, 14816, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6kernel_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3 *)__pyx_v_kernel));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6kernel_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3 *__pyx_v_kernel) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14815, 0, __PYX_ERR(1, 14815, __pyx_L1_error));

  /* "cuda/cuda.pyx":14817
 *     @kernel.setter
 *     def kernel(self, kernel not None : CUDA_KERNEL_NODE_PARAMS_v3):
 *         string.memcpy(&self._ptr[0].kernel, <ccuda.CUDA_KERNEL_NODE_PARAMS_v3*><void_ptr>kernel.getPtr(), sizeof(self._ptr[0].kernel))             # <<<<<<<<<<<<<<
 *     @property
 *     def memcpy(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_kernel), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14817, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).kernel), ((CUDA_KERNEL_NODE_PARAMS_v3 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).kernel))));

  /* "cuda/cuda.pyx":14815
 *     def kernel(self):
 *         return self._kernel
 *     @kernel.setter             # <<<<<<<<<<<<<<
 *     def kernel(self, kernel not None : CUDA_KERNEL_NODE_PARAMS_v3):
 *         string.memcpy(&self._ptr[0].kernel, <ccuda.CUDA_KERNEL_NODE_PARAMS_v3*><void_ptr>kernel.getPtr(), sizeof(self._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_AddTraceback("cuda.cuda.CUgraphNodeParams_st.kernel.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14818
 *     def kernel(self, kernel not None : CUDA_KERNEL_NODE_PARAMS_v3):
 *         string.memcpy(&self._ptr[0].kernel, <ccuda.CUDA_KERNEL_NODE_PARAMS_v3*><void_ptr>kernel.getPtr(), sizeof(self._ptr[0].kernel))
 *     @property             # <<<<<<<<<<<<<<
 *     def memcpy(self):
 *         return self._memcpy
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_6memcpy_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_6memcpy___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6memcpy___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14818, 0, __PYX_ERR(1, 14818, __pyx_L1_error));

  /* "cuda/cuda.pyx":14820
 *     @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/cuda.pyx":14818
 *     def kernel(self, kernel not None : CUDA_KERNEL_NODE_PARAMS_v3):
 *         string.memcpy(&self._ptr[0].kernel, <ccuda.CUDA_KERNEL_NODE_PARAMS_v3*><void_ptr>kernel.getPtr(), sizeof(self._ptr[0].kernel))
 *     @property             # <<<<<<<<<<<<<<
 *     def memcpy(self):
 *         return self._memcpy
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.memcpy.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14821
 *     def memcpy(self):
 *         return self._memcpy
 *     @memcpy.setter             # <<<<<<<<<<<<<<
 *     def memcpy(self, memcpy not None : CUDA_MEMCPY_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].memcpy, <ccuda.CUDA_MEMCPY_NODE_PARAMS*><void_ptr>memcpy.getPtr(), sizeof(self._ptr[0].memcpy))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_6memcpy_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memcpy); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS, 0, "memcpy", 0))) __PYX_ERR(1, 14822, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6memcpy_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS *)__pyx_v_memcpy));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6memcpy_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS *__pyx_v_memcpy) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14821, 0, __PYX_ERR(1, 14821, __pyx_L1_error));

  /* "cuda/cuda.pyx":14823
 *     @memcpy.setter
 *     def memcpy(self, memcpy not None : CUDA_MEMCPY_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].memcpy, <ccuda.CUDA_MEMCPY_NODE_PARAMS*><void_ptr>memcpy.getPtr(), sizeof(self._ptr[0].memcpy))             # <<<<<<<<<<<<<<
 *     @property
 *     def memset(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_memcpy), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14823, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).memcpy), ((CUDA_MEMCPY_NODE_PARAMS *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).memcpy))));

  /* "cuda/cuda.pyx":14821
 *     def memcpy(self):
 *         return self._memcpy
 *     @memcpy.setter             # <<<<<<<<<<<<<<
 *     def memcpy(self, memcpy not None : CUDA_MEMCPY_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].memcpy, <ccuda.CUDA_MEMCPY_NODE_PARAMS*><void_ptr>memcpy.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.memcpy.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14824
 *     def memcpy(self, memcpy not None : CUDA_MEMCPY_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].memcpy, <ccuda.CUDA_MEMCPY_NODE_PARAMS*><void_ptr>memcpy.getPtr(), sizeof(self._ptr[0].memcpy))
 *     @property             # <<<<<<<<<<<<<<
 *     def memset(self):
 *         return self._memset
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_6memset_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_6memset___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6memset___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14824, 0, __PYX_ERR(1, 14824, __pyx_L1_error));

  /* "cuda/cuda.pyx":14826
 *     @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/cuda.pyx":14824
 *     def memcpy(self, memcpy not None : CUDA_MEMCPY_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].memcpy, <ccuda.CUDA_MEMCPY_NODE_PARAMS*><void_ptr>memcpy.getPtr(), sizeof(self._ptr[0].memcpy))
 *     @property             # <<<<<<<<<<<<<<
 *     def memset(self):
 *         return self._memset
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.memset.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14827
 *     def memset(self):
 *         return self._memset
 *     @memset.setter             # <<<<<<<<<<<<<<
 *     def memset(self, memset not None : CUDA_MEMSET_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].memset, <ccuda.CUDA_MEMSET_NODE_PARAMS_v2*><void_ptr>memset.getPtr(), sizeof(self._ptr[0].memset))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_6memset_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memset); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2, 0, "memset", 0))) __PYX_ERR(1, 14828, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6memset_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2 *)__pyx_v_memset));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_6memset_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2 *__pyx_v_memset) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14827, 0, __PYX_ERR(1, 14827, __pyx_L1_error));

  /* "cuda/cuda.pyx":14829
 *     @memset.setter
 *     def memset(self, memset not None : CUDA_MEMSET_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].memset, <ccuda.CUDA_MEMSET_NODE_PARAMS_v2*><void_ptr>memset.getPtr(), sizeof(self._ptr[0].memset))             # <<<<<<<<<<<<<<
 *     @property
 *     def host(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_memset), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14829, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).memset), ((CUDA_MEMSET_NODE_PARAMS_v2 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).memset))));

  /* "cuda/cuda.pyx":14827
 *     def memset(self):
 *         return self._memset
 *     @memset.setter             # <<<<<<<<<<<<<<
 *     def memset(self, memset not None : CUDA_MEMSET_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].memset, <ccuda.CUDA_MEMSET_NODE_PARAMS_v2*><void_ptr>memset.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.memset.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14830
 *     def memset(self, memset not None : CUDA_MEMSET_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].memset, <ccuda.CUDA_MEMSET_NODE_PARAMS_v2*><void_ptr>memset.getPtr(), sizeof(self._ptr[0].memset))
 *     @property             # <<<<<<<<<<<<<<
 *     def host(self):
 *         return self._host
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_4host_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_4host___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_4host___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14830, 0, __PYX_ERR(1, 14830, __pyx_L1_error));

  /* "cuda/cuda.pyx":14832
 *     @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/cuda.pyx":14830
 *     def memset(self, memset not None : CUDA_MEMSET_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].memset, <ccuda.CUDA_MEMSET_NODE_PARAMS_v2*><void_ptr>memset.getPtr(), sizeof(self._ptr[0].memset))
 *     @property             # <<<<<<<<<<<<<<
 *     def host(self):
 *         return self._host
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.host.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14833
 *     def host(self):
 *         return self._host
 *     @host.setter             # <<<<<<<<<<<<<<
 *     def host(self, host not None : CUDA_HOST_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].host, <ccuda.CUDA_HOST_NODE_PARAMS_v2*><void_ptr>host.getPtr(), sizeof(self._ptr[0].host))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_4host_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_host); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2, 0, "host", 0))) __PYX_ERR(1, 14834, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_4host_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2 *)__pyx_v_host));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_4host_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2 *__pyx_v_host) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14833, 0, __PYX_ERR(1, 14833, __pyx_L1_error));

  /* "cuda/cuda.pyx":14835
 *     @host.setter
 *     def host(self, host not None : CUDA_HOST_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].host, <ccuda.CUDA_HOST_NODE_PARAMS_v2*><void_ptr>host.getPtr(), sizeof(self._ptr[0].host))             # <<<<<<<<<<<<<<
 *     @property
 *     def graph(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_host), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14835, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14835, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).host), ((CUDA_HOST_NODE_PARAMS_v2 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).host))));

  /* "cuda/cuda.pyx":14833
 *     def host(self):
 *         return self._host
 *     @host.setter             # <<<<<<<<<<<<<<
 *     def host(self, host not None : CUDA_HOST_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].host, <ccuda.CUDA_HOST_NODE_PARAMS_v2*><void_ptr>host.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.host.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14836
 *     def host(self, host not None : CUDA_HOST_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].host, <ccuda.CUDA_HOST_NODE_PARAMS_v2*><void_ptr>host.getPtr(), sizeof(self._ptr[0].host))
 *     @property             # <<<<<<<<<<<<<<
 *     def graph(self):
 *         return self._graph
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_5graph_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_5graph___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_5graph___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14836, 0, __PYX_ERR(1, 14836, __pyx_L1_error));

  /* "cuda/cuda.pyx":14838
 *     @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/cuda.pyx":14836
 *     def host(self, host not None : CUDA_HOST_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].host, <ccuda.CUDA_HOST_NODE_PARAMS_v2*><void_ptr>host.getPtr(), sizeof(self._ptr[0].host))
 *     @property             # <<<<<<<<<<<<<<
 *     def graph(self):
 *         return self._graph
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.graph.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14839
 *     def graph(self):
 *         return self._graph
 *     @graph.setter             # <<<<<<<<<<<<<<
 *     def graph(self, graph not None : CUDA_CHILD_GRAPH_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].graph, <ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS*><void_ptr>graph.getPtr(), sizeof(self._ptr[0].graph))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_5graph_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_graph); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS, 0, "graph", 0))) __PYX_ERR(1, 14840, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_5graph_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS *)__pyx_v_graph));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_5graph_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS *__pyx_v_graph) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14839, 0, __PYX_ERR(1, 14839, __pyx_L1_error));

  /* "cuda/cuda.pyx":14841
 *     @graph.setter
 *     def graph(self, graph not None : CUDA_CHILD_GRAPH_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].graph, <ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS*><void_ptr>graph.getPtr(), sizeof(self._ptr[0].graph))             # <<<<<<<<<<<<<<
 *     @property
 *     def eventWait(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_graph), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14841, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14841, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).graph), ((CUDA_CHILD_GRAPH_NODE_PARAMS *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).graph))));

  /* "cuda/cuda.pyx":14839
 *     def graph(self):
 *         return self._graph
 *     @graph.setter             # <<<<<<<<<<<<<<
 *     def graph(self, graph not None : CUDA_CHILD_GRAPH_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].graph, <ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS*><void_ptr>graph.getPtr(), sizeof(self._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_AddTraceback("cuda.cuda.CUgraphNodeParams_st.graph.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14842
 *     def graph(self, graph not None : CUDA_CHILD_GRAPH_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].graph, <ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS*><void_ptr>graph.getPtr(), sizeof(self._ptr[0].graph))
 *     @property             # <<<<<<<<<<<<<<
 *     def eventWait(self):
 *         return self._eventWait
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9eventWait_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_9eventWait___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9eventWait___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14842, 0, __PYX_ERR(1, 14842, __pyx_L1_error));

  /* "cuda/cuda.pyx":14844
 *     @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/cuda.pyx":14842
 *     def graph(self, graph not None : CUDA_CHILD_GRAPH_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].graph, <ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS*><void_ptr>graph.getPtr(), sizeof(self._ptr[0].graph))
 *     @property             # <<<<<<<<<<<<<<
 *     def eventWait(self):
 *         return self._eventWait
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.eventWait.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14845
 *     def eventWait(self):
 *         return self._eventWait
 *     @eventWait.setter             # <<<<<<<<<<<<<<
 *     def eventWait(self, eventWait not None : CUDA_EVENT_WAIT_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].eventWait, <ccuda.CUDA_EVENT_WAIT_NODE_PARAMS*><void_ptr>eventWait.getPtr(), sizeof(self._ptr[0].eventWait))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9eventWait_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_eventWait); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS, 0, "eventWait", 0))) __PYX_ERR(1, 14846, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9eventWait_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS *)__pyx_v_eventWait));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9eventWait_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS *__pyx_v_eventWait) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14845, 0, __PYX_ERR(1, 14845, __pyx_L1_error));

  /* "cuda/cuda.pyx":14847
 *     @eventWait.setter
 *     def eventWait(self, eventWait not None : CUDA_EVENT_WAIT_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].eventWait, <ccuda.CUDA_EVENT_WAIT_NODE_PARAMS*><void_ptr>eventWait.getPtr(), sizeof(self._ptr[0].eventWait))             # <<<<<<<<<<<<<<
 *     @property
 *     def eventRecord(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_eventWait), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14847, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14847, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).eventWait), ((CUDA_EVENT_WAIT_NODE_PARAMS *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).eventWait))));

  /* "cuda/cuda.pyx":14845
 *     def eventWait(self):
 *         return self._eventWait
 *     @eventWait.setter             # <<<<<<<<<<<<<<
 *     def eventWait(self, eventWait not None : CUDA_EVENT_WAIT_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].eventWait, <ccuda.CUDA_EVENT_WAIT_NODE_PARAMS*><void_ptr>eventWait.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.eventWait.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14848
 *     def eventWait(self, eventWait not None : CUDA_EVENT_WAIT_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].eventWait, <ccuda.CUDA_EVENT_WAIT_NODE_PARAMS*><void_ptr>eventWait.getPtr(), sizeof(self._ptr[0].eventWait))
 *     @property             # <<<<<<<<<<<<<<
 *     def eventRecord(self):
 *         return self._eventRecord
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_11eventRecord_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_11eventRecord___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_11eventRecord___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14848, 0, __PYX_ERR(1, 14848, __pyx_L1_error));

  /* "cuda/cuda.pyx":14850
 *     @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/cuda.pyx":14848
 *     def eventWait(self, eventWait not None : CUDA_EVENT_WAIT_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].eventWait, <ccuda.CUDA_EVENT_WAIT_NODE_PARAMS*><void_ptr>eventWait.getPtr(), sizeof(self._ptr[0].eventWait))
 *     @property             # <<<<<<<<<<<<<<
 *     def eventRecord(self):
 *         return self._eventRecord
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.eventRecord.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14851
 *     def eventRecord(self):
 *         return self._eventRecord
 *     @eventRecord.setter             # <<<<<<<<<<<<<<
 *     def eventRecord(self, eventRecord not None : CUDA_EVENT_RECORD_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].eventRecord, <ccuda.CUDA_EVENT_RECORD_NODE_PARAMS*><void_ptr>eventRecord.getPtr(), sizeof(self._ptr[0].eventRecord))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_11eventRecord_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_eventRecord); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS, 0, "eventRecord", 0))) __PYX_ERR(1, 14852, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_11eventRecord_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS *)__pyx_v_eventRecord));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_11eventRecord_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS *__pyx_v_eventRecord) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14851, 0, __PYX_ERR(1, 14851, __pyx_L1_error));

  /* "cuda/cuda.pyx":14853
 *     @eventRecord.setter
 *     def eventRecord(self, eventRecord not None : CUDA_EVENT_RECORD_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].eventRecord, <ccuda.CUDA_EVENT_RECORD_NODE_PARAMS*><void_ptr>eventRecord.getPtr(), sizeof(self._ptr[0].eventRecord))             # <<<<<<<<<<<<<<
 *     @property
 *     def extSemSignal(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_eventRecord), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14853, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).eventRecord), ((CUDA_EVENT_RECORD_NODE_PARAMS *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).eventRecord))));

  /* "cuda/cuda.pyx":14851
 *     def eventRecord(self):
 *         return self._eventRecord
 *     @eventRecord.setter             # <<<<<<<<<<<<<<
 *     def eventRecord(self, eventRecord not None : CUDA_EVENT_RECORD_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].eventRecord, <ccuda.CUDA_EVENT_RECORD_NODE_PARAMS*><void_ptr>eventRecord.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.eventRecord.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14854
 *     def eventRecord(self, eventRecord not None : CUDA_EVENT_RECORD_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].eventRecord, <ccuda.CUDA_EVENT_RECORD_NODE_PARAMS*><void_ptr>eventRecord.getPtr(), sizeof(self._ptr[0].eventRecord))
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemSignal(self):
 *         return self._extSemSignal
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_12extSemSignal_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_12extSemSignal___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_12extSemSignal___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14854, 0, __PYX_ERR(1, 14854, __pyx_L1_error));

  /* "cuda/cuda.pyx":14856
 *     @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/cuda.pyx":14854
 *     def eventRecord(self, eventRecord not None : CUDA_EVENT_RECORD_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].eventRecord, <ccuda.CUDA_EVENT_RECORD_NODE_PARAMS*><void_ptr>eventRecord.getPtr(), sizeof(self._ptr[0].eventRecord))
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemSignal(self):
 *         return self._extSemSignal
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.extSemSignal.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14857
 *     def extSemSignal(self):
 *         return self._extSemSignal
 *     @extSemSignal.setter             # <<<<<<<<<<<<<<
 *     def extSemSignal(self, extSemSignal not None : CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].extSemSignal, <ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2*><void_ptr>extSemSignal.getPtr(), sizeof(self._ptr[0].extSemSignal))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_12extSemSignal_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_extSemSignal); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2, 0, "extSemSignal", 0))) __PYX_ERR(1, 14858, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_12extSemSignal_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 *)__pyx_v_extSemSignal));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_12extSemSignal_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 *__pyx_v_extSemSignal) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14857, 0, __PYX_ERR(1, 14857, __pyx_L1_error));

  /* "cuda/cuda.pyx":14859
 *     @extSemSignal.setter
 *     def extSemSignal(self, extSemSignal not None : CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].extSemSignal, <ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2*><void_ptr>extSemSignal.getPtr(), sizeof(self._ptr[0].extSemSignal))             # <<<<<<<<<<<<<<
 *     @property
 *     def extSemWait(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_extSemSignal), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14859, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).extSemSignal), ((CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).extSemSignal))));

  /* "cuda/cuda.pyx":14857
 *     def extSemSignal(self):
 *         return self._extSemSignal
 *     @extSemSignal.setter             # <<<<<<<<<<<<<<
 *     def extSemSignal(self, extSemSignal not None : CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].extSemSignal, <ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2*><void_ptr>extSemSignal.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.extSemSignal.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14860
 *     def extSemSignal(self, extSemSignal not None : CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].extSemSignal, <ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2*><void_ptr>extSemSignal.getPtr(), sizeof(self._ptr[0].extSemSignal))
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemWait(self):
 *         return self._extSemWait
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_10extSemWait_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_10extSemWait___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_10extSemWait___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14860, 0, __PYX_ERR(1, 14860, __pyx_L1_error));

  /* "cuda/cuda.pyx":14862
 *     @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/cuda.pyx":14860
 *     def extSemSignal(self, extSemSignal not None : CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].extSemSignal, <ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2*><void_ptr>extSemSignal.getPtr(), sizeof(self._ptr[0].extSemSignal))
 *     @property             # <<<<<<<<<<<<<<
 *     def extSemWait(self):
 *         return self._extSemWait
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.extSemWait.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14863
 *     def extSemWait(self):
 *         return self._extSemWait
 *     @extSemWait.setter             # <<<<<<<<<<<<<<
 *     def extSemWait(self, extSemWait not None : CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].extSemWait, <ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2*><void_ptr>extSemWait.getPtr(), sizeof(self._ptr[0].extSemWait))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_10extSemWait_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_extSemWait); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2, 0, "extSemWait", 0))) __PYX_ERR(1, 14864, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_10extSemWait_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 *)__pyx_v_extSemWait));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_10extSemWait_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 *__pyx_v_extSemWait) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14863, 0, __PYX_ERR(1, 14863, __pyx_L1_error));

  /* "cuda/cuda.pyx":14865
 *     @extSemWait.setter
 *     def extSemWait(self, extSemWait not None : CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].extSemWait, <ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2*><void_ptr>extSemWait.getPtr(), sizeof(self._ptr[0].extSemWait))             # <<<<<<<<<<<<<<
 *     @property
 *     def alloc(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_extSemWait), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).extSemWait), ((CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).extSemWait))));

  /* "cuda/cuda.pyx":14863
 *     def extSemWait(self):
 *         return self._extSemWait
 *     @extSemWait.setter             # <<<<<<<<<<<<<<
 *     def extSemWait(self, extSemWait not None : CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].extSemWait, <ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2*><void_ptr>extSemWait.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.extSemWait.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14866
 *     def extSemWait(self, extSemWait not None : CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].extSemWait, <ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2*><void_ptr>extSemWait.getPtr(), sizeof(self._ptr[0].extSemWait))
 *     @property             # <<<<<<<<<<<<<<
 *     def alloc(self):
 *         return self._alloc
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_5alloc_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_5alloc___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_5alloc___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14866, 0, __PYX_ERR(1, 14866, __pyx_L1_error));

  /* "cuda/cuda.pyx":14868
 *     @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/cuda.pyx":14866
 *     def extSemWait(self, extSemWait not None : CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].extSemWait, <ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2*><void_ptr>extSemWait.getPtr(), sizeof(self._ptr[0].extSemWait))
 *     @property             # <<<<<<<<<<<<<<
 *     def alloc(self):
 *         return self._alloc
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.alloc.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14869
 *     def alloc(self):
 *         return self._alloc
 *     @alloc.setter             # <<<<<<<<<<<<<<
 *     def alloc(self, alloc not None : CUDA_MEM_ALLOC_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].alloc, <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2*><void_ptr>alloc.getPtr(), sizeof(self._ptr[0].alloc))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_5alloc_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_alloc); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2, 0, "alloc", 0))) __PYX_ERR(1, 14870, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_5alloc_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2 *)__pyx_v_alloc));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_5alloc_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2 *__pyx_v_alloc) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14869, 0, __PYX_ERR(1, 14869, __pyx_L1_error));

  /* "cuda/cuda.pyx":14871
 *     @alloc.setter
 *     def alloc(self, alloc not None : CUDA_MEM_ALLOC_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].alloc, <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2*><void_ptr>alloc.getPtr(), sizeof(self._ptr[0].alloc))             # <<<<<<<<<<<<<<
 *     @property
 *     def free(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_alloc), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14871, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14871, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).alloc), ((CUDA_MEM_ALLOC_NODE_PARAMS_v2 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).alloc))));

  /* "cuda/cuda.pyx":14869
 *     def alloc(self):
 *         return self._alloc
 *     @alloc.setter             # <<<<<<<<<<<<<<
 *     def alloc(self, alloc not None : CUDA_MEM_ALLOC_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].alloc, <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2*><void_ptr>alloc.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.alloc.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14872
 *     def alloc(self, alloc not None : CUDA_MEM_ALLOC_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].alloc, <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2*><void_ptr>alloc.getPtr(), sizeof(self._ptr[0].alloc))
 *     @property             # <<<<<<<<<<<<<<
 *     def free(self):
 *         return self._free
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_4free_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_4free___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_4free___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14872, 0, __PYX_ERR(1, 14872, __pyx_L1_error));

  /* "cuda/cuda.pyx":14874
 *     @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/cuda.pyx":14872
 *     def alloc(self, alloc not None : CUDA_MEM_ALLOC_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].alloc, <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2*><void_ptr>alloc.getPtr(), sizeof(self._ptr[0].alloc))
 *     @property             # <<<<<<<<<<<<<<
 *     def free(self):
 *         return self._free
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.free.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14875
 *     def free(self):
 *         return self._free
 *     @free.setter             # <<<<<<<<<<<<<<
 *     def free(self, free not None : CUDA_MEM_FREE_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].free, <ccuda.CUDA_MEM_FREE_NODE_PARAMS*><void_ptr>free.getPtr(), sizeof(self._ptr[0].free))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_4free_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_free); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS, 0, "free", 0))) __PYX_ERR(1, 14876, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_4free_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS *)__pyx_v_free));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_4free_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS *__pyx_v_free) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14875, 0, __PYX_ERR(1, 14875, __pyx_L1_error));

  /* "cuda/cuda.pyx":14877
 *     @free.setter
 *     def free(self, free not None : CUDA_MEM_FREE_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].free, <ccuda.CUDA_MEM_FREE_NODE_PARAMS*><void_ptr>free.getPtr(), sizeof(self._ptr[0].free))             # <<<<<<<<<<<<<<
 *     @property
 *     def memOp(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_free), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14877, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14877, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).free), ((CUDA_MEM_FREE_NODE_PARAMS *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).free))));

  /* "cuda/cuda.pyx":14875
 *     def free(self):
 *         return self._free
 *     @free.setter             # <<<<<<<<<<<<<<
 *     def free(self, free not None : CUDA_MEM_FREE_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].free, <ccuda.CUDA_MEM_FREE_NODE_PARAMS*><void_ptr>free.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.free.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14878
 *     def free(self, free not None : CUDA_MEM_FREE_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].free, <ccuda.CUDA_MEM_FREE_NODE_PARAMS*><void_ptr>free.getPtr(), sizeof(self._ptr[0].free))
 *     @property             # <<<<<<<<<<<<<<
 *     def memOp(self):
 *         return self._memOp
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_5memOp_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_5memOp___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_5memOp___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14878, 0, __PYX_ERR(1, 14878, __pyx_L1_error));

  /* "cuda/cuda.pyx":14880
 *     @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/cuda.pyx":14878
 *     def free(self, free not None : CUDA_MEM_FREE_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].free, <ccuda.CUDA_MEM_FREE_NODE_PARAMS*><void_ptr>free.getPtr(), sizeof(self._ptr[0].free))
 *     @property             # <<<<<<<<<<<<<<
 *     def memOp(self):
 *         return self._memOp
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.memOp.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14881
 *     def memOp(self):
 *         return self._memOp
 *     @memOp.setter             # <<<<<<<<<<<<<<
 *     def memOp(self, memOp not None : CUDA_BATCH_MEM_OP_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].memOp, <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2*><void_ptr>memOp.getPtr(), sizeof(self._ptr[0].memOp))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_5memOp_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_memOp); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2, 0, "memOp", 0))) __PYX_ERR(1, 14882, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_5memOp_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 *)__pyx_v_memOp));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_5memOp_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 *__pyx_v_memOp) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14881, 0, __PYX_ERR(1, 14881, __pyx_L1_error));

  /* "cuda/cuda.pyx":14883
 *     @memOp.setter
 *     def memOp(self, memOp not None : CUDA_BATCH_MEM_OP_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].memOp, <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2*><void_ptr>memOp.getPtr(), sizeof(self._ptr[0].memOp))             # <<<<<<<<<<<<<<
 *     @property
 *     def conditional(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_memOp), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14883, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14883, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).memOp), ((CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).memOp))));

  /* "cuda/cuda.pyx":14881
 *     def memOp(self):
 *         return self._memOp
 *     @memOp.setter             # <<<<<<<<<<<<<<
 *     def memOp(self, memOp not None : CUDA_BATCH_MEM_OP_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].memOp, <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2*><void_ptr>memOp.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.memOp.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14884
 *     def memOp(self, memOp not None : CUDA_BATCH_MEM_OP_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].memOp, <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2*><void_ptr>memOp.getPtr(), sizeof(self._ptr[0].memOp))
 *     @property             # <<<<<<<<<<<<<<
 *     def conditional(self):
 *         return self._conditional
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_11conditional_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_11conditional___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_11conditional___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14884, 0, __PYX_ERR(1, 14884, __pyx_L1_error));

  /* "cuda/cuda.pyx":14886
 *     @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/cuda.pyx":14884
 *     def memOp(self, memOp not None : CUDA_BATCH_MEM_OP_NODE_PARAMS_v2):
 *         string.memcpy(&self._ptr[0].memOp, <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2*><void_ptr>memOp.getPtr(), sizeof(self._ptr[0].memOp))
 *     @property             # <<<<<<<<<<<<<<
 *     def conditional(self):
 *         return self._conditional
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.conditional.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14887
 *     def conditional(self):
 *         return self._conditional
 *     @conditional.setter             # <<<<<<<<<<<<<<
 *     def conditional(self, conditional not None : CUDA_CONDITIONAL_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].conditional, <ccuda.CUDA_CONDITIONAL_NODE_PARAMS*><void_ptr>conditional.getPtr(), sizeof(self._ptr[0].conditional))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_11conditional_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_conditional); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS, 0, "conditional", 0))) __PYX_ERR(1, 14888, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_11conditional_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)__pyx_v_conditional));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_11conditional_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *__pyx_v_conditional) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14887, 0, __PYX_ERR(1, 14887, __pyx_L1_error));

  /* "cuda/cuda.pyx":14889
 *     @conditional.setter
 *     def conditional(self, conditional not None : CUDA_CONDITIONAL_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].conditional, <ccuda.CUDA_CONDITIONAL_NODE_PARAMS*><void_ptr>conditional.getPtr(), sizeof(self._ptr[0].conditional))             # <<<<<<<<<<<<<<
 *     @property
 *     def reserved2(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_conditional), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14889, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14889, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).conditional), ((struct CUDA_CONDITIONAL_NODE_PARAMS *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).conditional))));

  /* "cuda/cuda.pyx":14887
 *     def conditional(self):
 *         return self._conditional
 *     @conditional.setter             # <<<<<<<<<<<<<<
 *     def conditional(self, conditional not None : CUDA_CONDITIONAL_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].conditional, <ccuda.CUDA_CONDITIONAL_NODE_PARAMS*><void_ptr>conditional.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.conditional.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14890
 *     def conditional(self, conditional not None : CUDA_CONDITIONAL_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].conditional, <ccuda.CUDA_CONDITIONAL_NODE_PARAMS*><void_ptr>conditional.getPtr(), sizeof(self._ptr[0].conditional))
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved2(self):
 *         return self._ptr[0].reserved2
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9reserved2_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_9reserved2___get__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9reserved2___get__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14890, 0, __PYX_ERR(1, 14890, __pyx_L1_error));

  /* "cuda/cuda.pyx":14892
 *     @property
 *     def reserved2(self):
 *         return self._ptr[0].reserved2             # <<<<<<<<<<<<<<
 *     @reserved2.setter
 *     def reserved2(self, long long reserved2):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_PY_LONG_LONG((__pyx_v_self->_ptr[0]).reserved2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14890
 *     def conditional(self, conditional not None : CUDA_CONDITIONAL_NODE_PARAMS):
 *         string.memcpy(&self._ptr[0].conditional, <ccuda.CUDA_CONDITIONAL_NODE_PARAMS*><void_ptr>conditional.getPtr(), sizeof(self._ptr[0].conditional))
 *     @property             # <<<<<<<<<<<<<<
 *     def reserved2(self):
 *         return self._ptr[0].reserved2
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.reserved2.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14893
 *     def reserved2(self):
 *         return self._ptr[0].reserved2
 *     @reserved2.setter             # <<<<<<<<<<<<<<
 *     def reserved2(self, long long reserved2):
 *         self._ptr[0].reserved2 = reserved2
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9reserved2_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_reserved2); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_PY_LONG_LONG(__pyx_arg_reserved2); if (unlikely((__pyx_v_reserved2 == (PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14894, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.reserved2.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9reserved2_2__set__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), ((PY_LONG_LONG)__pyx_v_reserved2));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_9reserved2_2__set__(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, PY_LONG_LONG __pyx_v_reserved2) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 14893, 0, __PYX_ERR(1, 14893, __pyx_L1_error));

  /* "cuda/cuda.pyx":14895
 *     @reserved2.setter
 *     def reserved2(self, long long reserved2):
 *         self._ptr[0].reserved2 = reserved2             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdevSmResource_st:
 */
  (__pyx_v_self->_ptr[0]).reserved2 = __pyx_v_reserved2;

  /* "cuda/cuda.pyx":14893
 *     def reserved2(self):
 *         return self._ptr[0].reserved2
 *     @reserved2.setter             # <<<<<<<<<<<<<<
 *     def reserved2(self, long long reserved2):
 *         self._ptr[0].reserved2 = reserved2
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.reserved2.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_20CUgraphNodeParams_st_10__reduce_cython__, "CUgraphNodeParams_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_20CUgraphNodeParams_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUgraphNodeParams_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__423)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_12__setstate_cython__, "CUgraphNodeParams_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_20CUgraphNodeParams_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUgraphNodeParams_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20CUgraphNodeParams_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__424)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUgraphNodeParams_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14911
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_18CUdevSmResource_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_18CUdevSmResource_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14911, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 14911, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14911, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14911, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdevSmResource_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUdevSmResource_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_18CUdevSmResource_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 14911, 0, __PYX_ERR(1, 14911, __pyx_L1_error));

  /* "cuda/cuda.pyx":14912
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14913
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUdevSmResource_st *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUdevSmResource_st__val);

    /* "cuda/cuda.pyx":14912
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14915
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUdevSmResource_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUdevSmResource_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14911
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevSmResource_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14916
 *         else:
 *             self._ptr = <ccuda.CUdevSmResource_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_18CUdevSmResource_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_18CUdevSmResource_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14916, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 14916, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14916, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14916, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdevSmResource_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUdevSmResource_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_18CUdevSmResource_st_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 14916, 0, __PYX_ERR(1, 14916, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevSmResource_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14918
 *     def __init__(self, void_ptr _ptr = 0):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_18CUdevSmResource_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_18CUdevSmResource_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_18CUdevSmResource_st_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 14918, 0, __PYX_ERR(1, 14918, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUdevSmResource_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":14920
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUdevSmResource_st_6getPtr, "CUdevSmResource_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_18CUdevSmResource_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUdevSmResource_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUdevSmResource_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUdevSmResource_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUdevSmResource_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__425)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 14920, 0, __PYX_ERR(1, 14920, __pyx_L1_error));

  /* "cuda/cuda.pyx":14921
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14920
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevSmResource_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14922
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_18CUdevSmResource_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUdevSmResource_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUdevSmResource_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 14922, 0, __PYX_ERR(1, 14922, __pyx_L1_error));

  /* "cuda/cuda.pyx":14923
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14924
 *     def __repr__(self):
 *         if self._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(1, 14924, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14925
 *         if self._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/cuda.pyx":14926
 *             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_n_s_smCount_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14926, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14926, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_smCount_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14926, __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(1, 14926, __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)) __PYX_ERR(1, 14926, __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(1, 14926, __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/cuda.pyx":14925
 *         if self._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/cuda.pyx":14927
 *             try:
 *                 str_list += ['smCount : ' + str(self.smCount)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['smCount : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUdevSmResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 14927, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":14928
 *                 str_list += ['smCount : ' + str(self.smCount)]
 *             except ValueError:
 *                 str_list += ['smCount : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14928, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_smCount_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_smCount_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_smCount_ValueError)) __PYX_ERR(1, 14928, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14928, __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/cuda.pyx":14925
 *         if self._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/cuda.pyx":14929
 *             except ValueError:
 *                 str_list += ['smCount : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":14923
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":14931
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def smCount(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":14922
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14932
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def smCount(self):
 *         return self._ptr[0].smCount
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_18CUdevSmResource_st_7smCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUdevSmResource_st_7smCount___get__(((struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUdevSmResource_st_7smCount___get__(struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14932, 0, __PYX_ERR(1, 14932, __pyx_L1_error));

  /* "cuda/cuda.pyx":14934
 *     @property
 *     def smCount(self):
 *         return self._ptr[0].smCount             # <<<<<<<<<<<<<<
 *     @smCount.setter
 *     def smCount(self, unsigned int smCount):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).smCount); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14932
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def smCount(self):
 *         return self._ptr[0].smCount
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevSmResource_st.smCount.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14935
 *     def smCount(self):
 *         return self._ptr[0].smCount
 *     @smCount.setter             # <<<<<<<<<<<<<<
 *     def smCount(self, unsigned int smCount):
 *         self._ptr[0].smCount = smCount
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_18CUdevSmResource_st_7smCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_smCount); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_smCount); if (unlikely((__pyx_v_smCount == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 14936, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevSmResource_st.smCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUdevSmResource_st_7smCount_2__set__(((struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *)__pyx_v_self), ((unsigned int)__pyx_v_smCount));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_18CUdevSmResource_st_7smCount_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self, unsigned int __pyx_v_smCount) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 14935, 0, __PYX_ERR(1, 14935, __pyx_L1_error));

  /* "cuda/cuda.pyx":14937
 *     @smCount.setter
 *     def smCount(self, unsigned int smCount):
 *         self._ptr[0].smCount = smCount             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdevResource_st:
 */
  (__pyx_v_self->_ptr[0]).smCount = __pyx_v_smCount;

  /* "cuda/cuda.pyx":14935
 *     def smCount(self):
 *         return self._ptr[0].smCount
 *     @smCount.setter             # <<<<<<<<<<<<<<
 *     def smCount(self, unsigned int smCount):
 *         self._ptr[0].smCount = smCount
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevSmResource_st.smCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 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_4cuda_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_4cuda_18CUdevSmResource_st_10__reduce_cython__, "CUdevSmResource_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_18CUdevSmResource_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUdevSmResource_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUdevSmResource_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUdevSmResource_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUdevSmResource_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__426)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevSmResource_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_18CUdevSmResource_st_12__setstate_cython__, "CUdevSmResource_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_18CUdevSmResource_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUdevSmResource_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUdevSmResource_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdevSmResource_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_18CUdevSmResource_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18CUdevSmResource_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__427)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevSmResource_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14958
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUdevResource_st *>calloc(1, sizeof(ccuda.CUdevResource_st))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUdevResource_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_16CUdevResource_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14958, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 14958, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14958, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14958, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdevResource_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUdevResource_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUdevResource_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  struct CUdevResource_st *__pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 14958, 0, __PYX_ERR(1, 14958, __pyx_L1_error));

  /* "cuda/cuda.pyx":14959
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUdevResource_st *>calloc(1, sizeof(ccuda.CUdevResource_st))
 *             self._ptr = self._val_ptr
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14960
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUdevResource_st *>calloc(1, sizeof(ccuda.CUdevResource_st))             # <<<<<<<<<<<<<<
 *             self._ptr = self._val_ptr
 *         else:
 */
    __pyx_v_self->_val_ptr = ((struct CUdevResource_st *)calloc(1, (sizeof(struct CUdevResource_st))));

    /* "cuda/cuda.pyx":14961
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUdevResource_st *>calloc(1, sizeof(ccuda.CUdevResource_st))
 *             self._ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUdevResource_st *>_ptr
 */
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_ptr = __pyx_t_2;

    /* "cuda/cuda.pyx":14959
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUdevResource_st *>calloc(1, sizeof(ccuda.CUdevResource_st))
 *             self._ptr = self._val_ptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":14963
 *             self._ptr = self._val_ptr
 *         else:
 *             self._ptr = <ccuda.CUdevResource_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._ptr[0].sm)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct CUdevResource_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":14958
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUdevResource_st *>calloc(1, sizeof(ccuda.CUdevResource_st))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevResource_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":14964
 *         else:
 *             self._ptr = <ccuda.CUdevResource_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._ptr[0].sm)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUdevResource_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_16CUdevResource_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14964, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 14964, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 14964, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 14964, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdevResource_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUdevResource_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUdevResource_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 14964, 0, __PYX_ERR(1, 14964, __pyx_L1_error));

  /* "cuda/cuda.pyx":14965
 *             self._ptr = <ccuda.CUdevResource_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._ptr[0].sm)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).sm))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 14965, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevSmResource), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_sm);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_sm);
  __pyx_v_self->_sm = ((struct __pyx_obj_4cuda_4cuda_CUdevSmResource *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14964
 *         else:
 *             self._ptr = <ccuda.CUdevResource_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._ptr[0].sm)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUdevResource_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14966
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._ptr[0].sm)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_16CUdevResource_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_16CUdevResource_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_16CUdevResource_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 14966, 0, __PYX_ERR(1, 14966, __pyx_L1_error));

  /* "cuda/cuda.pyx":14967
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._ptr[0].sm)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
 */
  __pyx_t_1 = (__pyx_v_self->_val_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14968
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_val_ptr);

    /* "cuda/cuda.pyx":14967
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._ptr[0].sm)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":14966
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._sm = CUdevSmResource(_ptr=<void_ptr>&self._ptr[0].sm)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUdevResource_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":14969
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUdevResource_st_6getPtr, "CUdevResource_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUdevResource_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUdevResource_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUdevResource_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUdevResource_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUdevResource_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__428)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 14969, 0, __PYX_ERR(1, 14969, __pyx_L1_error));

  /* "cuda/cuda.pyx":14970
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14969
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevResource_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14971
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUdevResource_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUdevResource_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUdevResource_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr92__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 14971, 0, __PYX_ERR(1, 14971, __pyx_L1_error));

  /* "cuda/cuda.pyx":14972
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":14973
 *     def __repr__(self):
 *         if self._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(1, 14973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":14974
 *         if self._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/cuda.pyx":14975
 *             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_n_s_type_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14975, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14975, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_type, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14975, __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(1, 14975, __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)) __PYX_ERR(1, 14975, __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(1, 14975, __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/cuda.pyx":14974
 *         if self._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/cuda.pyx":14976
 *             try:
 *                 str_list += ['type : ' + str(self.type)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['type : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUdevResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 14976, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":14977
 *                 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(1, 14977, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_type_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_type_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_type_ValueError)) __PYX_ERR(1, 14977, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14977, __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/cuda.pyx":14974
 *         if self._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/cuda.pyx":14978
 *             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/cuda.pyx":14979
 *                 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_n_s_internal_padding_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14979, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14979, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_internal_padding, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14979, __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(1, 14979, __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)) __PYX_ERR(1, 14979, __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(1, 14979, __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/cuda.pyx":14978
 *             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/cuda.pyx":14980
 *             try:
 *                 str_list += ['_internal_padding : ' + str(self._internal_padding)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['_internal_padding : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUdevResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 14980, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":14981
 *                 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(1, 14981, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_internal_padding_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_internal_padding_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_internal_padding_ValueError)) __PYX_ERR(1, 14981, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14981, __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/cuda.pyx":14978
 *             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/cuda.pyx":14982
 *             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/cuda.pyx":14983
 *                 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(1, 14983, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_sm_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14983, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14983, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_9);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14983, __pyx_L28_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          __pyx_t_9 = NULL;
          __pyx_t_7 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_8))) {
            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
            if (likely(__pyx_t_9)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
              __Pyx_INCREF(__pyx_t_9);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_8, function);
              __pyx_t_7 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14983, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_8 = __pyx_t_6; __Pyx_INCREF(__pyx_t_8);
            __pyx_t_11 = 0;
            __pyx_t_12 = NULL;
          } else {
            __pyx_t_11 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14983, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_8);
            __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 14983, __pyx_L28_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          for (;;) {
            if (likely(!__pyx_t_12)) {
              if (likely(PyList_CheckExact(__pyx_t_8))) {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14983, __pyx_L28_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14983, __pyx_L28_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14983, __pyx_L28_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_8);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 14983, __pyx_L28_error)
                  #endif
                  if (__pyx_t_11 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(1, 14983, __pyx_L28_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14983, __pyx_L28_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_12(__pyx_t_8);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 14983, __pyx_L28_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr92__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr92__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14983, __pyx_L28_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 14983, __pyx_L28_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_XDECREF(__pyx_9genexpr92__pyx_v_line); __pyx_9genexpr92__pyx_v_line = 0;
          goto __pyx_L32_exit_scope;
          __pyx_L28_error:;
          __Pyx_XDECREF(__pyx_9genexpr92__pyx_v_line); __pyx_9genexpr92__pyx_v_line = 0;
          goto __pyx_L20_error;
          __pyx_L32_exit_scope:;
        } /* exit inner scope */
        __pyx_t_8 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14983, __pyx_L20_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_sm, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14983, __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(1, 14983, __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)) __PYX_ERR(1, 14983, __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(1, 14983, __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/cuda.pyx":14982
 *             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/cuda.pyx":14984
 *             try:
 *                 str_list += ['sm :\n' + '\n'.join(['    ' + line for line in str(self.sm).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['sm : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUdevResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_8, &__pyx_t_6) < 0) __PYX_ERR(1, 14984, __pyx_L22_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":14985
 *                 str_list += ['sm :\n' + '\n'.join(['    ' + line for line in str(self.sm).splitlines()])]
 *             except ValueError:
 *                 str_list += ['sm : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['_oversize : ' + str(self._oversize)]
 */
        __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14985, __pyx_L22_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_sm_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_sm_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_sm_ValueError)) __PYX_ERR(1, 14985, __pyx_L22_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14985, __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/cuda.pyx":14982
 *             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/cuda.pyx":14986
 *             except ValueError:
 *                 str_list += ['sm : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['_oversize : ' + str(self._oversize)]
 *             except ValueError:
 */
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_3);
      /*try:*/ {

        /* "cuda/cuda.pyx":14987
 *                 str_list += ['sm : <ValueError>']
 *             try:
 *                 str_list += ['_oversize : ' + str(self._oversize)]             # <<<<<<<<<<<<<<
 *             except ValueError:
 *                 str_list += ['_oversize : <ValueError>']
 */
        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_oversize_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14987, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 14987, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_oversize, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14987, __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(1, 14987, __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)) __PYX_ERR(1, 14987, __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(1, 14987, __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/cuda.pyx":14986
 *             except ValueError:
 *                 str_list += ['sm : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['_oversize : ' + str(self._oversize)]
 *             except ValueError:
 */
      }
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      goto __pyx_L40_try_end;
      __pyx_L35_error:;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "cuda/cuda.pyx":14988
 *             try:
 *                 str_list += ['_oversize : ' + str(self._oversize)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['_oversize : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.CUdevResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_2) < 0) __PYX_ERR(1, 14988, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":14989
 *                 str_list += ['_oversize : ' + str(self._oversize)]
 *             except ValueError:
 *                 str_list += ['_oversize : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
        __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14989, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_oversize_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_oversize_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_oversize_ValueError)) __PYX_ERR(1, 14989, __pyx_L37_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14989, __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/cuda.pyx":14986
 *             except ValueError:
 *                 str_list += ['sm : <ValueError>']
 *             try:             # <<<<<<<<<<<<<<
 *                 str_list += ['_oversize : ' + str(self._oversize)]
 *             except ValueError:
 */
      __pyx_L37_except_error:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      goto __pyx_L1_error;
      __pyx_L36_exception_handled:;
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_3);
      __pyx_L40_try_end:;
    }

    /* "cuda/cuda.pyx":14990
 *             except ValueError:
 *                 str_list += ['_oversize : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14990, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":14972
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":14992
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def type(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":14971
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.CUdevResource_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr92__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14993
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUdevResourceType(self._ptr[0].type)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUdevResource_st_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUdevResource_st_4type___get__(((struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUdevResource_st_4type___get__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14993, 0, __PYX_ERR(1, 14993, __pyx_L1_error));

  /* "cuda/cuda.pyx":14995
 *     @property
 *     def type(self):
 *         return CUdevResourceType(self._ptr[0].type)             # <<<<<<<<<<<<<<
 *     @type.setter
 *     def type(self, type not None : CUdevResourceType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUdevResourceType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_CUdevResourceType((__pyx_v_self->_ptr[0]).type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 14995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14995, __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/cuda.pyx":14993
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def type(self):
 *         return CUdevResourceType(self._ptr[0].type)
 */

  /* 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.cuda.CUdevResource_st.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14996
 *     def type(self):
 *         return CUdevResourceType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUdevResourceType):
 *         self._ptr[0].type = type.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUdevResource_st_4type_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_type); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 14997, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUdevResource_st_4type_2__set__(((struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)__pyx_v_self), ((PyObject *)__pyx_v_type));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUdevResource_st_4type_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self, PyObject *__pyx_v_type) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 14996, 0, __PYX_ERR(1, 14996, __pyx_L1_error));

  /* "cuda/cuda.pyx":14998
 *     @type.setter
 *     def type(self, type not None : CUdevResourceType):
 *         self._ptr[0].type = type.value             # <<<<<<<<<<<<<<
 *     @property
 *     def _internal_padding(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_type, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((CUdevResourceType)__Pyx_PyInt_As_CUdevResourceType(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 14998, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).type = __pyx_t_2;

  /* "cuda/cuda.pyx":14996
 *     def type(self):
 *         return CUdevResourceType(self._ptr[0].type)
 *     @type.setter             # <<<<<<<<<<<<<<
 *     def type(self, type not None : CUdevResourceType):
 *         self._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.cuda.CUdevResource_st.type.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":14999
 *     def type(self, type not None : CUdevResourceType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def _internal_padding(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0]._internal_padding, 92)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUdevResource_st_17_internal_padding_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUdevResource_st_17_internal_padding___get__(((struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUdevResource_st_17_internal_padding___get__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 14999, 0, __PYX_ERR(1, 14999, __pyx_L1_error));

  /* "cuda/cuda.pyx":15001
 *     @property
 *     def _internal_padding(self):
 *         return PyBytes_FromStringAndSize(<char*>self._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->_ptr[0])._internal_padding), 92); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":14999
 *     def type(self, type not None : CUdevResourceType):
 *         self._ptr[0].type = type.value
 *     @property             # <<<<<<<<<<<<<<
 *     def _internal_padding(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0]._internal_padding, 92)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevResource_st._internal_padding.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15002
 *     def _internal_padding(self):
 *         return PyBytes_FromStringAndSize(<char*>self._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_4cuda_16CUdevResource_st_17_internal_padding_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v__internal_padding); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_16CUdevResource_st_17_internal_padding_2__set__(((struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)__pyx_v_self), ((PyObject *)__pyx_v__internal_padding));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUdevResource_st_17_internal_padding_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self, PyObject *__pyx_v__internal_padding) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  unsigned char __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 15002, 0, __PYX_ERR(1, 15002, __pyx_L1_error));

  /* "cuda/cuda.pyx":15004
 *     @_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(1, 15004, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 92);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":15005
 *     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._ptr[0]._internal_padding[i] = b
 */
    __pyx_t_1 = PyObject_Length(__pyx_v__internal_padding); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 15005, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15005, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15005, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_internal_padding_length_must_be, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15005, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15005, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 15005, __pyx_L1_error)

    /* "cuda/cuda.pyx":15004
 *     @_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/cuda.pyx":15006
 *         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._ptr[0]._internal_padding[i] = b
 *     @property
 */
  __Pyx_INCREF(__pyx_int_0);
  __pyx_t_4 = __pyx_int_0;
  if (likely(PyList_CheckExact(__pyx_v__internal_padding)) || PyTuple_CheckExact(__pyx_v__internal_padding)) {
    __pyx_t_3 = __pyx_v__internal_padding; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v__internal_padding); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15006, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 15006, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 15006, __pyx_L1_error)
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15006, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 15006, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 15006, __pyx_L1_error)
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15006, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      }
    } else {
      __pyx_t_6 = __pyx_t_5(__pyx_t_3);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 15006, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4);
    __pyx_t_4 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cuda.pyx":15007
 *             raise ValueError("_internal_padding length must be 92, is " + str(len(_internal_padding)))
 *         for i, b in enumerate(_internal_padding):
 *             self._ptr[0]._internal_padding[i] = b             # <<<<<<<<<<<<<<
 *     @property
 *     def sm(self):
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_7 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 15007, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 15007, __pyx_L1_error)
    ((__pyx_v_self->_ptr[0])._internal_padding[__pyx_t_8]) = __pyx_t_7;

    /* "cuda/cuda.pyx":15006
 *         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._ptr[0]._internal_padding[i] = b
 *     @property
 */
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":15002
 *     def _internal_padding(self):
 *         return PyBytes_FromStringAndSize(<char*>self._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_6);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15008
 *         for i, b in enumerate(_internal_padding):
 *             self._ptr[0]._internal_padding[i] = b
 *     @property             # <<<<<<<<<<<<<<
 *     def sm(self):
 *         return self._sm
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUdevResource_st_2sm_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUdevResource_st_2sm___get__(((struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUdevResource_st_2sm___get__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 15008, 0, __PYX_ERR(1, 15008, __pyx_L1_error));

  /* "cuda/cuda.pyx":15010
 *     @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/cuda.pyx":15008
 *         for i, b in enumerate(_internal_padding):
 *             self._ptr[0]._internal_padding[i] = b
 *     @property             # <<<<<<<<<<<<<<
 *     def sm(self):
 *         return self._sm
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevResource_st.sm.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15011
 *     def sm(self):
 *         return self._sm
 *     @sm.setter             # <<<<<<<<<<<<<<
 *     def sm(self, sm not None : CUdevSmResource):
 *         string.memcpy(&self._ptr[0].sm, <ccuda.CUdevSmResource*><void_ptr>sm.getPtr(), sizeof(self._ptr[0].sm))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUdevResource_st_2sm_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_sm); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_CUdevSmResource, 0, "sm", 0))) __PYX_ERR(1, 15012, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUdevResource_st_2sm_2__set__(((struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_CUdevSmResource *)__pyx_v_sm));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUdevResource_st_2sm_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_CUdevSmResource *__pyx_v_sm) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 15011, 0, __PYX_ERR(1, 15011, __pyx_L1_error));

  /* "cuda/cuda.pyx":15013
 *     @sm.setter
 *     def sm(self, sm not None : CUdevSmResource):
 *         string.memcpy(&self._ptr[0].sm, <ccuda.CUdevSmResource*><void_ptr>sm.getPtr(), sizeof(self._ptr[0].sm))             # <<<<<<<<<<<<<<
 *     @property
 *     def _oversize(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_sm), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15013, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).sm), ((CUdevSmResource *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).sm))));

  /* "cuda/cuda.pyx":15011
 *     def sm(self):
 *         return self._sm
 *     @sm.setter             # <<<<<<<<<<<<<<
 *     def sm(self, sm not None : CUdevSmResource):
 *         string.memcpy(&self._ptr[0].sm, <ccuda.CUdevSmResource*><void_ptr>sm.getPtr(), sizeof(self._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_AddTraceback("cuda.cuda.CUdevResource_st.sm.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15014
 *     def sm(self, sm not None : CUdevSmResource):
 *         string.memcpy(&self._ptr[0].sm, <ccuda.CUdevSmResource*><void_ptr>sm.getPtr(), sizeof(self._ptr[0].sm))
 *     @property             # <<<<<<<<<<<<<<
 *     def _oversize(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0]._oversize, 48)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16CUdevResource_st_9_oversize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUdevResource_st_9_oversize___get__(((struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUdevResource_st_9_oversize___get__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 15014, 0, __PYX_ERR(1, 15014, __pyx_L1_error));

  /* "cuda/cuda.pyx":15016
 *     @property
 *     def _oversize(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0]._oversize, 48)             # <<<<<<<<<<<<<<
 *     @_oversize.setter
 *     def _oversize(self, _oversize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_FromStringAndSize(((char *)(__pyx_v_self->_ptr[0])._oversize), 48); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15014
 *     def sm(self, sm not None : CUdevSmResource):
 *         string.memcpy(&self._ptr[0].sm, <ccuda.CUdevSmResource*><void_ptr>sm.getPtr(), sizeof(self._ptr[0].sm))
 *     @property             # <<<<<<<<<<<<<<
 *     def _oversize(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0]._oversize, 48)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevResource_st._oversize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15017
 *     def _oversize(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0]._oversize, 48)
 *     @_oversize.setter             # <<<<<<<<<<<<<<
 *     def _oversize(self, _oversize):
 *         if len(_oversize) != 48:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16CUdevResource_st_9_oversize_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v__oversize); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_16CUdevResource_st_9_oversize_2__set__(((struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)__pyx_v_self), ((PyObject *)__pyx_v__oversize));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16CUdevResource_st_9_oversize_2__set__(struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self, PyObject *__pyx_v__oversize) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_b = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  unsigned char __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 15017, 0, __PYX_ERR(1, 15017, __pyx_L1_error));

  /* "cuda/cuda.pyx":15019
 *     @_oversize.setter
 *     def _oversize(self, _oversize):
 *         if len(_oversize) != 48:             # <<<<<<<<<<<<<<
 *             raise ValueError("_oversize length must be 48, is " + str(len(_oversize)))
 *         for i, b in enumerate(_oversize):
 */
  __pyx_t_1 = PyObject_Length(__pyx_v__oversize); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 15019, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 48);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":15020
 *     def _oversize(self, _oversize):
 *         if len(_oversize) != 48:
 *             raise ValueError("_oversize length must be 48, is " + str(len(_oversize)))             # <<<<<<<<<<<<<<
 *         for i, b in enumerate(_oversize):
 *             self._ptr[0]._oversize[i] = b
 */
    __pyx_t_1 = PyObject_Length(__pyx_v__oversize); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 15020, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15020, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15020, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_oversize_length_must_be_48_is, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15020, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15020, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 15020, __pyx_L1_error)

    /* "cuda/cuda.pyx":15019
 *     @_oversize.setter
 *     def _oversize(self, _oversize):
 *         if len(_oversize) != 48:             # <<<<<<<<<<<<<<
 *             raise ValueError("_oversize length must be 48, is " + str(len(_oversize)))
 *         for i, b in enumerate(_oversize):
 */
  }

  /* "cuda/cuda.pyx":15021
 *         if len(_oversize) != 48:
 *             raise ValueError("_oversize length must be 48, is " + str(len(_oversize)))
 *         for i, b in enumerate(_oversize):             # <<<<<<<<<<<<<<
 *             self._ptr[0]._oversize[i] = b
 * 
 */
  __Pyx_INCREF(__pyx_int_0);
  __pyx_t_4 = __pyx_int_0;
  if (likely(PyList_CheckExact(__pyx_v__oversize)) || PyTuple_CheckExact(__pyx_v__oversize)) {
    __pyx_t_3 = __pyx_v__oversize; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v__oversize); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15021, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15021, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 15021, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 15021, __pyx_L1_error)
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15021, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_MACROS
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 15021, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 15021, __pyx_L1_error)
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15021, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        #endif
      }
    } else {
      __pyx_t_6 = __pyx_t_5(__pyx_t_3);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(1, 15021, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_6);
    __pyx_t_6 = 0;
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_4);
    __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15021, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4);
    __pyx_t_4 = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "cuda/cuda.pyx":15022
 *             raise ValueError("_oversize length must be 48, is " + str(len(_oversize)))
 *         for i, b in enumerate(_oversize):
 *             self._ptr[0]._oversize[i] = b             # <<<<<<<<<<<<<<
 * 
 * cdef class anon_union14:
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_char(__pyx_v_b); if (unlikely((__pyx_t_7 == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 15022, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 15022, __pyx_L1_error)
    ((__pyx_v_self->_ptr[0])._oversize[__pyx_t_8]) = __pyx_t_7;

    /* "cuda/cuda.pyx":15021
 *         if len(_oversize) != 48:
 *             raise ValueError("_oversize length must be 48, is " + str(len(_oversize)))
 *         for i, b in enumerate(_oversize):             # <<<<<<<<<<<<<<
 *             self._ptr[0]._oversize[i] = b
 * 
 */
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":15017
 *     def _oversize(self):
 *         return PyBytes_FromStringAndSize(<char*>self._ptr[0]._oversize, 48)
 *     @_oversize.setter             # <<<<<<<<<<<<<<
 *     def _oversize(self, _oversize):
 *         if len(_oversize) != 48:
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_16CUdevResource_st_10__reduce_cython__, "CUdevResource_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUdevResource_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUdevResource_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUdevResource_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUdevResource_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUdevResource_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__429)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevResource_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16CUdevResource_st_12__setstate_cython__, "CUdevResource_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16CUdevResource_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUdevResource_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUdevResource_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdevResource_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16CUdevResource_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16CUdevResource_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevResource_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__430)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevResource_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15039
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUeglFrame_st *>_ptr
 * 
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_union14_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_union14_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15039, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 15039, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15039, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 15039, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union14.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union14___cinit__(((struct __pyx_obj_4cuda_4cuda_anon_union14 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_union14___cinit__(struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 15039, 0, __PYX_ERR(1, 15039, __pyx_L1_error));

  /* "cuda/cuda.pyx":15040
 *     """
 *     def __cinit__(self, void_ptr _ptr):
 *         self._ptr = <ccuda.CUeglFrame_st *>_ptr             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, void_ptr _ptr):
 */
  __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_5ccuda_CUeglFrame_st *)__pyx_v__ptr);

  /* "cuda/cuda.pyx":15039
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         self._ptr = <ccuda.CUeglFrame_st *>_ptr
 * 
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union14.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15042
 *         self._ptr = <ccuda.CUeglFrame_st *>_ptr
 * 
 *     def __init__(self, void_ptr _ptr):             # <<<<<<<<<<<<<<
 *         pass
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_union14_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_union14_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15042, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 15042, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
    }
    __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15042, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 15042, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union14.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union14_2__init__(((struct __pyx_obj_4cuda_4cuda_anon_union14 *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_union14_2__init__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__init__", __pyx_f[1], 15042, 0, __PYX_ERR(1, 15042, __pyx_L1_error));

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union14.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15044
 *     def __init__(self, void_ptr _ptr):
 *         pass
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def getPtr(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_12anon_union14_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_12anon_union14_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_4cuda_12anon_union14_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_anon_union14 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_12anon_union14_4__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 15044, 0, __PYX_ERR(1, 15044, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.anon_union14.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":15046
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].frame
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_union14_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_12anon_union14_6getPtr, "anon_union14.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_union14_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union14_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union14_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_12anon_union14_7getPtr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPtr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union14_6getPtr(((struct __pyx_obj_4cuda_4cuda_anon_union14 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_union14_6getPtr(struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__431)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 15046, 0, __PYX_ERR(1, 15046, __pyx_L1_error));

  /* "cuda/cuda.pyx":15047
 *         pass
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].frame             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_self->_ptr[0]).frame))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15046
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].frame
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.anon_union14.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15048
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].frame
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_union14_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12anon_union14_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_4cuda_12anon_union14_8__repr__(((struct __pyx_obj_4cuda_4cuda_anon_union14 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_union14_8__repr__(struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__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__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 15048, 0, __PYX_ERR(1, 15048, __pyx_L1_error));

  /* "cuda/cuda.pyx":15049
 *         return <void_ptr>&self._ptr[0].frame
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15050
 *     def __repr__(self):
 *         if self._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(1, 15050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":15051
 *         if self._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/cuda.pyx":15052
 *             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_n_s_pArray_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15052, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15052, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_pArray, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15052, __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(1, 15052, __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)) __PYX_ERR(1, 15052, __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(1, 15052, __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/cuda.pyx":15051
 *         if self._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/cuda.pyx":15053
 *             try:
 *                 str_list += ['pArray : ' + str(self.pArray)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pArray : <ValueError>']
 *             try:
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_union14.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_8) < 0) __PYX_ERR(1, 15053, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_8);

        /* "cuda/cuda.pyx":15054
 *                 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(1, 15054, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_kp_u_pArray_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_pArray_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_pArray_ValueError)) __PYX_ERR(1, 15054, __pyx_L6_except_error);
        __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 15054, __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/cuda.pyx":15051
 *         if self._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/cuda.pyx":15055
 *             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/cuda.pyx":15056
 *                 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_n_s_pPitch_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 15056, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_8);
        __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_hex, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15056, __pyx_L12_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __pyx_t_8 = PyNumber_Add(__pyx_kp_u_pPitch, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 15056, __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(1, 15056, __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)) __PYX_ERR(1, 15056, __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(1, 15056, __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/cuda.pyx":15055
 *             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/cuda.pyx":15057
 *             try:
 *                 str_list += ['pPitch : ' + hex(self.pPitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pPitch : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_7) {
        __Pyx_AddTraceback("cuda.cuda.anon_union14.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_6, &__pyx_t_2) < 0) __PYX_ERR(1, 15057, __pyx_L14_except_error)
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":15058
 *                 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(1, 15058, __pyx_L14_except_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_kp_u_pPitch_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_pPitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u_pPitch_ValueError)) __PYX_ERR(1, 15058, __pyx_L14_except_error);
        __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 15058, __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/cuda.pyx":15055
 *             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/cuda.pyx":15059
 *             except ValueError:
 *                 str_list += ['pPitch : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15059, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":15049
 *         return <void_ptr>&self._ptr[0].frame
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":15061
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def pArray(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":15048
 *     def getPtr(self):
 *         return <void_ptr>&self._ptr[0].frame
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._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.cuda.anon_union14.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15062
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def pArray(self):
 *         return [CUarray(init_value=<void_ptr>_pArray) for _pArray in self._ptr[0].frame.pArray]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_union14_6pArray_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12anon_union14_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_4cuda_12anon_union14_6pArray___get__(((struct __pyx_obj_4cuda_4cuda_anon_union14 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_union14_6pArray___get__(struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self) {
  CUarray __pyx_9genexpr93__pyx_v__pArray;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 15062, 0, __PYX_ERR(1, 15062, __pyx_L1_error));

  /* "cuda/cuda.pyx":15064
 *     @property
 *     def pArray(self):
 *         return [CUarray(init_value=<void_ptr>_pArray) for _pArray in self._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(1, 15064, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = ((__pyx_v_self->_ptr[0]).frame.pArray + 3);
    for (__pyx_t_4 = (__pyx_v_self->_ptr[0]).frame.pArray; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
      __pyx_t_2 = __pyx_t_4;
      __pyx_9genexpr93__pyx_v__pArray = (__pyx_t_2[0]);
      __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15064, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_9genexpr93__pyx_v__pArray)); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15064, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_init_value, __pyx_t_6) < 0) __PYX_ERR(1, 15064, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15064, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 15064, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15062
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def pArray(self):
 *         return [CUarray(init_value=<void_ptr>_pArray) for _pArray in self._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_AddTraceback("cuda.cuda.anon_union14.pArray.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15065
 *     def pArray(self):
 *         return [CUarray(init_value=<void_ptr>_pArray) for _pArray in self._ptr[0].frame.pArray]
 *     @pArray.setter             # <<<<<<<<<<<<<<
 *     def pArray(self, pArray : List[CUarray]):
 *         if len(pArray) != 3:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_union14_6pArray_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pArray); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_union14_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", 1))) __PYX_ERR(1, 15066, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union14_6pArray_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union14 *)__pyx_v_self), ((PyObject*)__pyx_v_pArray));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_union14_6pArray_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self, PyObject *__pyx_v_pArray) {
  Py_ssize_t __pyx_v__idx;
  PyObject *__pyx_v__pArray = NULL;
  PyObject *__pyx_9genexpr94__pyx_v__pArray = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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;
  Py_ssize_t __pyx_t_6;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[1], 15065, 0, __PYX_ERR(1, 15065, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_pArray);

  /* "cuda/cuda.pyx":15067
 *     @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(1, 15067, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 3);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":15068
 *     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_1 = __Pyx_PyList_GET_SIZE(__pyx_v_pArray); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 15068, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15068, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15068, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_kp_u_not_enough_values_found_during_a);
    __Pyx_GIVEREF(__pyx_kp_u_not_enough_values_found_during_a);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_not_enough_values_found_during_a)) __PYX_ERR(1, 15068, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(1, 15068, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15068, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 15068, __pyx_L1_error)

    /* "cuda/cuda.pyx":15067
 *     @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/cuda.pyx":15069
 *         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._ptr[0].frame.pArray[_idx] = <ccuda.CUarray><void_ptr>_pArray
 */
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15069, __pyx_L6_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __pyx_v_pArray; __Pyx_INCREF(__pyx_t_4);
    __pyx_t_1 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 15069, __pyx_L6_error)
        #endif
        if (__pyx_t_1 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 15069, __pyx_L6_error)
      #else
      __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15069, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_5);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr94__pyx_v__pArray, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_9genexpr94__pyx_v__pArray); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15069, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 15069, __pyx_L6_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_9genexpr94__pyx_v__pArray); __pyx_9genexpr94__pyx_v__pArray = 0;
    goto __pyx_L10_exit_scope;
    __pyx_L6_error:;
    __Pyx_XDECREF(__pyx_9genexpr94__pyx_v__pArray); __pyx_9genexpr94__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/cuda.pyx":15070
 *             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._ptr[0].frame.pArray[_idx] = <ccuda.CUarray><void_ptr>_pArray
 * 
 */
  __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_v_pArray; __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_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 15070, __pyx_L1_error)
      #endif
      if (__pyx_t_6 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 15070, __pyx_L1_error)
    #else
    __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    #endif
    __Pyx_XDECREF_SET(__pyx_v__pArray, __pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_v__idx = __pyx_t_1;
    __pyx_t_1 = (__pyx_t_1 + 1);

    /* "cuda/cuda.pyx":15071
 *         pArray = [int(_pArray) for _pArray in pArray]
 *         for _idx, _pArray in enumerate(pArray):
 *             self._ptr[0].frame.pArray[_idx] = <ccuda.CUarray><void_ptr>_pArray             # <<<<<<<<<<<<<<
 * 
 *     @property
 */
    __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v__pArray); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15071, __pyx_L1_error)
    ((__pyx_v_self->_ptr[0]).frame.pArray[__pyx_v__idx]) = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_7));

    /* "cuda/cuda.pyx":15070
 *             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._ptr[0].frame.pArray[_idx] = <ccuda.CUarray><void_ptr>_pArray
 * 
 */
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":15065
 *     def pArray(self):
 *         return [CUarray(init_value=<void_ptr>_pArray) for _pArray in self._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.cuda.anon_union14.pArray.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__pArray);
  __Pyx_XDECREF(__pyx_9genexpr94__pyx_v__pArray);
  __Pyx_XDECREF(__pyx_v_pArray);
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15073
 *             self._ptr[0].frame.pArray[_idx] = <ccuda.CUarray><void_ptr>_pArray
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pPitch(self):
 *         return [<void_ptr>_pPitch for _pPitch in self._ptr[0].frame.pPitch]
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_union14_6pPitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_12anon_union14_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_4cuda_12anon_union14_6pPitch___get__(((struct __pyx_obj_4cuda_4cuda_anon_union14 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_union14_6pPitch___get__(struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self) {
  void *__pyx_9genexpr95__pyx_v__pPitch;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 15073, 0, __PYX_ERR(1, 15073, __pyx_L1_error));

  /* "cuda/cuda.pyx":15075
 *     @property
 *     def pPitch(self):
 *         return [<void_ptr>_pPitch for _pPitch in self._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(1, 15075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = ((__pyx_v_self->_ptr[0]).frame.pPitch + 3);
    for (__pyx_t_4 = (__pyx_v_self->_ptr[0]).frame.pPitch; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
      __pyx_t_2 = __pyx_t_4;
      __pyx_9genexpr95__pyx_v__pPitch = (__pyx_t_2[0]);
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_9genexpr95__pyx_v__pPitch)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15075, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 15075, __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/cuda.pyx":15073
 *             self._ptr[0].frame.pArray[_idx] = <ccuda.CUarray><void_ptr>_pArray
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def pPitch(self):
 *         return [<void_ptr>_pPitch for _pPitch in self._ptr[0].frame.pPitch]
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.anon_union14.pPitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15076
 *     def pPitch(self):
 *         return [<void_ptr>_pPitch for _pPitch in self._ptr[0].frame.pPitch]
 *     @pPitch.setter             # <<<<<<<<<<<<<<
 *     def pPitch(self, pPitch : List[int]):
 *         if len(pPitch) != 3:
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_12anon_union14_6pPitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_pPitch); /*proto*/
static int __pyx_pw_4cuda_4cuda_12anon_union14_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", 1))) __PYX_ERR(1, 15077, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union14_6pPitch_2__set__(((struct __pyx_obj_4cuda_4cuda_anon_union14 *)__pyx_v_self), ((PyObject*)__pyx_v_pPitch));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_12anon_union14_6pPitch_2__set__(struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self, PyObject *__pyx_v_pPitch) {
  Py_ssize_t __pyx_v__idx;
  PyObject *__pyx_v__pPitch = NULL;
  PyObject *__pyx_9genexpr96__pyx_v__pPitch = NULL;
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_TraceCall("__set__", __pyx_f[1], 15076, 0, __PYX_ERR(1, 15076, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_pPitch);

  /* "cuda/cuda.pyx":15078
 *     @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(1, 15078, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_1 != 3);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":15079
 *     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_1 = __Pyx_PyList_GET_SIZE(__pyx_v_pPitch); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 15079, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15079, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15079, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_kp_u_not_enough_values_found_during_a);
    __Pyx_GIVEREF(__pyx_kp_u_not_enough_values_found_during_a);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_not_enough_values_found_during_a)) __PYX_ERR(1, 15079, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(1, 15079, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15079, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 15079, __pyx_L1_error)

    /* "cuda/cuda.pyx":15078
 *     @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/cuda.pyx":15080
 *         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._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(1, 15080, __pyx_L6_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __pyx_v_pPitch; __Pyx_INCREF(__pyx_t_4);
    __pyx_t_1 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 15080, __pyx_L6_error)
        #endif
        if (__pyx_t_1 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 15080, __pyx_L6_error)
      #else
      __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15080, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_5);
      #endif
      __Pyx_XDECREF_SET(__pyx_9genexpr96__pyx_v__pPitch, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_9genexpr96__pyx_v__pPitch); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15080, __pyx_L6_error)
      __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 15080, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 15080, __pyx_L6_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_9genexpr96__pyx_v__pPitch); __pyx_9genexpr96__pyx_v__pPitch = 0;
    goto __pyx_L10_exit_scope;
    __pyx_L6_error:;
    __Pyx_XDECREF(__pyx_9genexpr96__pyx_v__pPitch); __pyx_9genexpr96__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/cuda.pyx":15081
 *             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._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_7 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 15081, __pyx_L1_error)
      #endif
      if (__pyx_t_7 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(1, 15081, __pyx_L1_error)
    #else
    __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    #endif
    __Pyx_XDECREF_SET(__pyx_v__pPitch, __pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_v__idx = __pyx_t_1;
    __pyx_t_1 = (__pyx_t_1 + 1);

    /* "cuda/cuda.pyx":15082
 *         pPitch = [<void_ptr>_pPitch for _pPitch in pPitch]
 *         for _idx, _pPitch in enumerate(pPitch):
 *             self._ptr[0].frame.pPitch[_idx] = <void*><void_ptr>_pPitch             # <<<<<<<<<<<<<<
 * 
 * cdef class CUeglFrame_st:
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v__pPitch); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15082, __pyx_L1_error)
    ((__pyx_v_self->_ptr[0]).frame.pPitch[__pyx_v__idx]) = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":15081
 *             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._ptr[0].frame.pPitch[_idx] = <void*><void_ptr>_pPitch
 * 
 */
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":15076
 *     def pPitch(self):
 *         return [<void_ptr>_pPitch for _pPitch in self._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.cuda.anon_union14.pPitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v__pPitch);
  __Pyx_XDECREF(__pyx_9genexpr96__pyx_v__pPitch);
  __Pyx_XDECREF(__pyx_v_pPitch);
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_12anon_union14_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_12anon_union14_10__reduce_cython__, "anon_union14.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_union14_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union14_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union14_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_12anon_union14_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union14_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union14 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_union14_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__432)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union14.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_12anon_union14_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_12anon_union14_12__setstate_cython__, "anon_union14.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_12anon_union14_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union14_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union14_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_12anon_union14_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.anon_union14.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12anon_union14_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_anon_union14 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12anon_union14_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__433)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.anon_union14.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15119
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUeglFrame_st *>calloc(1, sizeof(ccuda.CUeglFrame_st))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13CUeglFrame_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13CUeglFrame_st_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15119, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 15119, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15119, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 15119, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13CUeglFrame_st___cinit__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st___cinit__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  struct __pyx_t_4cuda_5ccuda_CUeglFrame_st *__pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 15119, 0, __PYX_ERR(1, 15119, __pyx_L1_error));

  /* "cuda/cuda.pyx":15120
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUeglFrame_st *>calloc(1, sizeof(ccuda.CUeglFrame_st))
 *             self._ptr = self._val_ptr
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15121
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUeglFrame_st *>calloc(1, sizeof(ccuda.CUeglFrame_st))             # <<<<<<<<<<<<<<
 *             self._ptr = self._val_ptr
 *         else:
 */
    __pyx_v_self->_val_ptr = ((struct __pyx_t_4cuda_5ccuda_CUeglFrame_st *)calloc(1, (sizeof(struct __pyx_t_4cuda_5ccuda_CUeglFrame_st))));

    /* "cuda/cuda.pyx":15122
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUeglFrame_st *>calloc(1, sizeof(ccuda.CUeglFrame_st))
 *             self._ptr = self._val_ptr             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUeglFrame_st *>_ptr
 */
    __pyx_t_2 = __pyx_v_self->_val_ptr;
    __pyx_v_self->_ptr = __pyx_t_2;

    /* "cuda/cuda.pyx":15120
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._val_ptr = <ccuda.CUeglFrame_st *>calloc(1, sizeof(ccuda.CUeglFrame_st))
 *             self._ptr = self._val_ptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15124
 *             self._ptr = self._val_ptr
 *         else:
 *             self._ptr = <ccuda.CUeglFrame_st *>_ptr             # <<<<<<<<<<<<<<
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._frame = anon_union14(_ptr=<void_ptr>self._ptr)
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((struct __pyx_t_4cuda_5ccuda_CUeglFrame_st *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15119
 * 
 *     """
 *     def __cinit__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._val_ptr = <ccuda.CUeglFrame_st *>calloc(1, sizeof(ccuda.CUeglFrame_st))
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15125
 *         else:
 *             self._ptr = <ccuda.CUeglFrame_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._frame = anon_union14(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13CUeglFrame_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_13CUeglFrame_st_3__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15125, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(1, 15125, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15125, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(1, 15125, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13CUeglFrame_st_2__init__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self), __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_2__init__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, CYTHON_UNUSED __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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("__init__", 1);
  __Pyx_TraceCall("__init__", __pyx_f[1], 15125, 0, __PYX_ERR(1, 15125, __pyx_L1_error));

  /* "cuda/cuda.pyx":15126
 *             self._ptr = <ccuda.CUeglFrame_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._frame = anon_union14(_ptr=<void_ptr>self._ptr)             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 */
  __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 15126, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union14), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_frame);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_frame);
  __pyx_v_self->_frame = ((struct __pyx_obj_4cuda_4cuda_anon_union14 *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15125
 *         else:
 *             self._ptr = <ccuda.CUeglFrame_st *>_ptr
 *     def __init__(self, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         self._frame = anon_union14(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 */

  /* 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.cuda.CUeglFrame_st.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15127
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._frame = anon_union14(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_13CUeglFrame_st_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_13CUeglFrame_st_4__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_13CUeglFrame_st_4__dealloc__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 15127, 0, __PYX_ERR(1, 15127, __pyx_L1_error));

  /* "cuda/cuda.pyx":15128
 *         self._frame = anon_union14(_ptr=<void_ptr>self._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/cuda.pyx":15129
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
    free(__pyx_v_self->_val_ptr);

    /* "cuda/cuda.pyx":15128
 *         self._frame = anon_union14(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):
 *         if self._val_ptr is not NULL:             # <<<<<<<<<<<<<<
 *             free(self._val_ptr)
 *     def getPtr(self):
 */
  }

  /* "cuda/cuda.pyx":15127
 *     def __init__(self, void_ptr _ptr = 0):
 *         self._frame = anon_union14(_ptr=<void_ptr>self._ptr)
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 */

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUeglFrame_st.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":15130
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13CUeglFrame_st_6getPtr, "CUeglFrame_st.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13CUeglFrame_st_7getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13CUeglFrame_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13CUeglFrame_st_6getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13CUeglFrame_st_6getPtr(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_6getPtr(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__434)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 15130, 0, __PYX_ERR(1, 15130, __pyx_L1_error));

  /* "cuda/cuda.pyx":15131
 *             free(self._val_ptr)
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         if self._ptr is not NULL:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15130
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15132
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13CUeglFrame_st_9__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13CUeglFrame_st_8__repr__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_8__repr__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_v_str_list = NULL;
  PyObject *__pyx_9genexpr97__pyx_v_line = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 15132, 0, __PYX_ERR(1, 15132, __pyx_L1_error));

  /* "cuda/cuda.pyx":15133
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  __pyx_t_1 = (__pyx_v_self->_ptr != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15134
 *     def __repr__(self):
 *         if self._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(1, 15134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_str_list = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":15135
 *         if self._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/cuda.pyx":15136
 *             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(1, 15136, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_frame_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15136, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 15136, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_splitlines); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15136, __pyx_L12_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __pyx_t_8 = NULL;
          __pyx_t_9 = 0;
          #if CYTHON_UNPACK_METHODS
          if (likely(PyMethod_Check(__pyx_t_7))) {
            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
            if (likely(__pyx_t_8)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
              __Pyx_INCREF(__pyx_t_8);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_7, function);
              __pyx_t_9 = 1;
            }
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
            __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
            if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15136, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          }
          if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
            __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7);
            __pyx_t_10 = 0;
            __pyx_t_11 = NULL;
          } else {
            __pyx_t_10 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15136, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_7);
            __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 15136, __pyx_L12_error)
          }
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          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_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 15136, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 15136, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15136, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              } else {
                {
                  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
                  #if !CYTHON_ASSUME_SAFE_MACROS
                  if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 15136, __pyx_L12_error)
                  #endif
                  if (__pyx_t_10 >= __pyx_temp) break;
                }
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_6); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(1, 15136, __pyx_L12_error)
                #else
                __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15136, __pyx_L12_error)
                __Pyx_GOTREF(__pyx_t_6);
                #endif
              }
            } else {
              __pyx_t_6 = __pyx_t_11(__pyx_t_7);
              if (unlikely(!__pyx_t_6)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(1, 15136, __pyx_L12_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_6);
            }
            __Pyx_XDECREF_SET(__pyx_9genexpr97__pyx_v_line, __pyx_t_6);
            __pyx_t_6 = 0;
            __pyx_t_6 = PyNumber_Add(__pyx_kp_u__143, __pyx_9genexpr97__pyx_v_line); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15136, __pyx_L12_error)
            __Pyx_GOTREF(__pyx_t_6);
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 15136, __pyx_L12_error)
            __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
          }
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_XDECREF(__pyx_9genexpr97__pyx_v_line); __pyx_9genexpr97__pyx_v_line = 0;
          goto __pyx_L16_exit_scope;
          __pyx_L12_error:;
          __Pyx_XDECREF(__pyx_9genexpr97__pyx_v_line); __pyx_9genexpr97__pyx_v_line = 0;
          goto __pyx_L4_error;
          __pyx_L16_exit_scope:;
        } /* exit inner scope */
        __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__117, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15136, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_frame, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15136, __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(1, 15136, __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)) __PYX_ERR(1, 15136, __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(1, 15136, __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/cuda.pyx":15135
 *         if self._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;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":15137
 *             try:
 *                 str_list += ['frame :\n' + '\n'.join(['    ' + line for line in str(self.frame).splitlines()])]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['frame : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(1, 15137, __pyx_L6_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":15138
 *                 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_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 15138, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_frame_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_frame_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_frame_ValueError)) __PYX_ERR(1, 15138, __pyx_L6_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 15138, __pyx_L6_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":15135
 *         if self._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/cuda.pyx":15139
 *             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/cuda.pyx":15140
 *                 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_n_s_width_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15140, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15140, __pyx_L19_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_width, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15140, __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(1, 15140, __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)) __PYX_ERR(1, 15140, __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(1, 15140, __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/cuda.pyx":15139
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":15141
 *             try:
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['width : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(1, 15141, __pyx_L21_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":15142
 *                 str_list += ['width : ' + str(self.width)]
 *             except ValueError:
 *                 str_list += ['width : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 */
        __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 15142, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_width_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_width_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_width_ValueError)) __PYX_ERR(1, 15142, __pyx_L21_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 15142, __pyx_L21_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":15139
 *             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/cuda.pyx":15143
 *             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/cuda.pyx":15144
 *                 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_n_s_height_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15144, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15144, __pyx_L27_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_height, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15144, __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(1, 15144, __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)) __PYX_ERR(1, 15144, __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(1, 15144, __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/cuda.pyx":15143
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":15145
 *             try:
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['height : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(1, 15145, __pyx_L29_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":15146
 *                 str_list += ['height : ' + str(self.height)]
 *             except ValueError:
 *                 str_list += ['height : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]
 */
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 15146, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_height_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_height_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_height_ValueError)) __PYX_ERR(1, 15146, __pyx_L29_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 15146, __pyx_L29_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":15143
 *             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/cuda.pyx":15147
 *             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/cuda.pyx":15148
 *                 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_n_s_depth_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15148, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15148, __pyx_L35_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_depth, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15148, __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(1, 15148, __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)) __PYX_ERR(1, 15148, __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(1, 15148, __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/cuda.pyx":15147
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":15149
 *             try:
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['depth : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(1, 15149, __pyx_L37_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":15150
 *                 str_list += ['depth : ' + str(self.depth)]
 *             except ValueError:
 *                 str_list += ['depth : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['pitch : ' + str(self.pitch)]
 */
        __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 15150, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_depth_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_depth_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_depth_ValueError)) __PYX_ERR(1, 15150, __pyx_L37_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 15150, __pyx_L37_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":15147
 *             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/cuda.pyx":15151
 *             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/cuda.pyx":15152
 *                 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_n_s_pitch_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15152, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15152, __pyx_L43_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_pitch, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15152, __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(1, 15152, __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)) __PYX_ERR(1, 15152, __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(1, 15152, __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/cuda.pyx":15151
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":15153
 *             try:
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['pitch : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(1, 15153, __pyx_L45_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":15154
 *                 str_list += ['pitch : ' + str(self.pitch)]
 *             except ValueError:
 *                 str_list += ['pitch : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['planeCount : ' + str(self.planeCount)]
 */
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 15154, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_pitch_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_pitch_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_pitch_ValueError)) __PYX_ERR(1, 15154, __pyx_L45_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 15154, __pyx_L45_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":15151
 *             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/cuda.pyx":15155
 *             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/cuda.pyx":15156
 *                 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_n_s_planeCount_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15156, __pyx_L51_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15156, __pyx_L51_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_planeCount, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15156, __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(1, 15156, __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)) __PYX_ERR(1, 15156, __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(1, 15156, __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/cuda.pyx":15155
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":15157
 *             try:
 *                 str_list += ['planeCount : ' + str(self.planeCount)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['planeCount : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(1, 15157, __pyx_L53_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":15158
 *                 str_list += ['planeCount : ' + str(self.planeCount)]
 *             except ValueError:
 *                 str_list += ['planeCount : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 */
        __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 15158, __pyx_L53_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_planeCount_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_planeCount_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_planeCount_ValueError)) __PYX_ERR(1, 15158, __pyx_L53_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 15158, __pyx_L53_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":15155
 *             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/cuda.pyx":15159
 *             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/cuda.pyx":15160
 *                 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_n_s_numChannels_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15160, __pyx_L59_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15160, __pyx_L59_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_numChannels, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15160, __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(1, 15160, __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)) __PYX_ERR(1, 15160, __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(1, 15160, __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/cuda.pyx":15159
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":15161
 *             try:
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['numChannels : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(1, 15161, __pyx_L61_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":15162
 *                 str_list += ['numChannels : ' + str(self.numChannels)]
 *             except ValueError:
 *                 str_list += ['numChannels : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['frameType : ' + str(self.frameType)]
 */
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 15162, __pyx_L61_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_numChannels_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_numChannels_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_numChannels_ValueError)) __PYX_ERR(1, 15162, __pyx_L61_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 15162, __pyx_L61_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":15159
 *             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/cuda.pyx":15163
 *             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/cuda.pyx":15164
 *                 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_n_s_frameType_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15164, __pyx_L67_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15164, __pyx_L67_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_frameType, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15164, __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(1, 15164, __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)) __PYX_ERR(1, 15164, __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(1, 15164, __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/cuda.pyx":15163
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":15165
 *             try:
 *                 str_list += ['frameType : ' + str(self.frameType)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['frameType : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(1, 15165, __pyx_L69_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":15166
 *                 str_list += ['frameType : ' + str(self.frameType)]
 *             except ValueError:
 *                 str_list += ['frameType : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['eglColorFormat : ' + str(self.eglColorFormat)]
 */
        __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 15166, __pyx_L69_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_frameType_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_frameType_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_frameType_ValueError)) __PYX_ERR(1, 15166, __pyx_L69_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 15166, __pyx_L69_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":15163
 *             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/cuda.pyx":15167
 *             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/cuda.pyx":15168
 *                 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_n_s_eglColorFormat_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15168, __pyx_L75_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15168, __pyx_L75_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = PyNumber_Add(__pyx_kp_u_eglColorFormat, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15168, __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(1, 15168, __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)) __PYX_ERR(1, 15168, __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(1, 15168, __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/cuda.pyx":15167
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":15169
 *             try:
 *                 str_list += ['eglColorFormat : ' + str(self.eglColorFormat)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['eglColorFormat : <ValueError>']
 *             try:
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(1, 15169, __pyx_L77_except_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_6);

        /* "cuda/cuda.pyx":15170
 *                 str_list += ['eglColorFormat : ' + str(self.eglColorFormat)]
 *             except ValueError:
 *                 str_list += ['eglColorFormat : <ValueError>']             # <<<<<<<<<<<<<<
 *             try:
 *                 str_list += ['cuFormat : ' + str(self.cuFormat)]
 */
        __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 15170, __pyx_L77_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_INCREF(__pyx_kp_u_eglColorFormat_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_eglColorFormat_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_kp_u_eglColorFormat_ValueError)) __PYX_ERR(1, 15170, __pyx_L77_except_error);
        __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 15170, __pyx_L77_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_12));
        __pyx_t_12 = 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/cuda.pyx":15167
 *             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/cuda.pyx":15171
 *             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/cuda.pyx":15172
 *                 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_n_s_cuFormat_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15172, __pyx_L83_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15172, __pyx_L83_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = PyNumber_Add(__pyx_kp_u_cuFormat, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15172, __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(1, 15172, __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)) __PYX_ERR(1, 15172, __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(1, 15172, __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/cuda.pyx":15171
 *             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_12); __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "cuda/cuda.pyx":15173
 *             try:
 *                 str_list += ['cuFormat : ' + str(self.cuFormat)]
 *             except ValueError:             # <<<<<<<<<<<<<<
 *                 str_list += ['cuFormat : <ValueError>']
 *             return '\n'.join(str_list)
 */
      __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
      if (__pyx_t_9) {
        __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
        if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_2) < 0) __PYX_ERR(1, 15173, __pyx_L85_except_error)
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_2);

        /* "cuda/cuda.pyx":15174
 *                 str_list += ['cuFormat : ' + str(self.cuFormat)]
 *             except ValueError:
 *                 str_list += ['cuFormat : <ValueError>']             # <<<<<<<<<<<<<<
 *             return '\n'.join(str_list)
 *         else:
 */
        __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 15174, __pyx_L85_except_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_INCREF(__pyx_kp_u_cuFormat_ValueError);
        __Pyx_GIVEREF(__pyx_kp_u_cuFormat_ValueError);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_kp_u_cuFormat_ValueError)) __PYX_ERR(1, 15174, __pyx_L85_except_error);
        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_str_list, __pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 15174, __pyx_L85_except_error)
        __Pyx_GOTREF(__pyx_t_8);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF_SET(__pyx_v_str_list, ((PyObject*)__pyx_t_8));
        __pyx_t_8 = 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/cuda.pyx":15171
 *             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/cuda.pyx":15175
 *             except ValueError:
 *                 str_list += ['cuFormat : <ValueError>']
 *             return '\n'.join(str_list)             # <<<<<<<<<<<<<<
 *         else:
 *             return ''
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__117, __pyx_v_str_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":15133
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 *         if self._ptr is not NULL:             # <<<<<<<<<<<<<<
 *             str_list = []
 *             try:
 */
  }

  /* "cuda/cuda.pyx":15177
 *             return '\n'.join(str_list)
 *         else:
 *             return ''             # <<<<<<<<<<<<<<
 *     @property
 *     def frame(self):
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_kp_u__118);
    __pyx_r = __pyx_kp_u__118;
    goto __pyx_L0;
  }

  /* "cuda/cuda.pyx":15132
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         if self._ptr is not NULL:
 *             str_list = []
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_str_list);
  __Pyx_XDECREF(__pyx_9genexpr97__pyx_v_line);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15178
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def frame(self):
 *         return self._frame
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13CUeglFrame_st_5frame_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13CUeglFrame_st_5frame___get__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_5frame___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 15178, 0, __PYX_ERR(1, 15178, __pyx_L1_error));

  /* "cuda/cuda.pyx":15180
 *     @property
 *     def frame(self):
 *         return self._frame             # <<<<<<<<<<<<<<
 *     @frame.setter
 *     def frame(self, frame not None : anon_union14):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_frame);
  __pyx_r = ((PyObject *)__pyx_v_self->_frame);
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15178
 *         else:
 *             return ''
 *     @property             # <<<<<<<<<<<<<<
 *     def frame(self):
 *         return self._frame
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.frame.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15181
 *     def frame(self):
 *         return self._frame
 *     @frame.setter             # <<<<<<<<<<<<<<
 *     def frame(self, frame not None : anon_union14):
 *         string.memcpy(&self._ptr[0].frame, <ccuda.anon_union14*><void_ptr>frame.getPtr(), sizeof(self._ptr[0].frame))
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13CUeglFrame_st_5frame_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_frame); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_ptype_4cuda_4cuda_anon_union14, 0, "frame", 0))) __PYX_ERR(1, 15182, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_13CUeglFrame_st_5frame_2__set__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self), ((struct __pyx_obj_4cuda_4cuda_anon_union14 *)__pyx_v_frame));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_5frame_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, struct __pyx_obj_4cuda_4cuda_anon_union14 *__pyx_v_frame) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 15181, 0, __PYX_ERR(1, 15181, __pyx_L1_error));

  /* "cuda/cuda.pyx":15183
 *     @frame.setter
 *     def frame(self, frame not None : anon_union14):
 *         string.memcpy(&self._ptr[0].frame, <ccuda.anon_union14*><void_ptr>frame.getPtr(), sizeof(self._ptr[0].frame))             # <<<<<<<<<<<<<<
 *     @property
 *     def width(self):
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_frame), __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15183, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (void)(memcpy((&(__pyx_v_self->_ptr[0]).frame), ((union __pyx_t_4cuda_5ccuda_anon_union14 *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), (sizeof((__pyx_v_self->_ptr[0]).frame))));

  /* "cuda/cuda.pyx":15181
 *     def frame(self):
 *         return self._frame
 *     @frame.setter             # <<<<<<<<<<<<<<
 *     def frame(self, frame not None : anon_union14):
 *         string.memcpy(&self._ptr[0].frame, <ccuda.anon_union14*><void_ptr>frame.getPtr(), sizeof(self._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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.frame.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15184
 *     def frame(self, frame not None : anon_union14):
 *         string.memcpy(&self._ptr[0].frame, <ccuda.anon_union14*><void_ptr>frame.getPtr(), sizeof(self._ptr[0].frame))
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._ptr[0].width
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13CUeglFrame_st_5width_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13CUeglFrame_st_5width___get__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_5width___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 15184, 0, __PYX_ERR(1, 15184, __pyx_L1_error));

  /* "cuda/cuda.pyx":15186
 *     @property
 *     def width(self):
 *         return self._ptr[0].width             # <<<<<<<<<<<<<<
 *     @width.setter
 *     def width(self, unsigned int width):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).width); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15184
 *     def frame(self, frame not None : anon_union14):
 *         string.memcpy(&self._ptr[0].frame, <ccuda.anon_union14*><void_ptr>frame.getPtr(), sizeof(self._ptr[0].frame))
 *     @property             # <<<<<<<<<<<<<<
 *     def width(self):
 *         return self._ptr[0].width
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.width.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15187
 *     def width(self):
 *         return self._ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, unsigned int width):
 *         self._ptr[0].width = width
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13CUeglFrame_st_5width_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_width); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_width); if (unlikely((__pyx_v_width == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 15188, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13CUeglFrame_st_5width_2__set__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self), ((unsigned int)__pyx_v_width));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_5width_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_width) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 15187, 0, __PYX_ERR(1, 15187, __pyx_L1_error));

  /* "cuda/cuda.pyx":15189
 *     @width.setter
 *     def width(self, unsigned int width):
 *         self._ptr[0].width = width             # <<<<<<<<<<<<<<
 *     @property
 *     def height(self):
 */
  (__pyx_v_self->_ptr[0]).width = __pyx_v_width;

  /* "cuda/cuda.pyx":15187
 *     def width(self):
 *         return self._ptr[0].width
 *     @width.setter             # <<<<<<<<<<<<<<
 *     def width(self, unsigned int width):
 *         self._ptr[0].width = width
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.width.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15190
 *     def width(self, unsigned int width):
 *         self._ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._ptr[0].height
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13CUeglFrame_st_6height_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13CUeglFrame_st_6height___get__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_6height___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 15190, 0, __PYX_ERR(1, 15190, __pyx_L1_error));

  /* "cuda/cuda.pyx":15192
 *     @property
 *     def height(self):
 *         return self._ptr[0].height             # <<<<<<<<<<<<<<
 *     @height.setter
 *     def height(self, unsigned int height):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).height); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15190
 *     def width(self, unsigned int width):
 *         self._ptr[0].width = width
 *     @property             # <<<<<<<<<<<<<<
 *     def height(self):
 *         return self._ptr[0].height
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.height.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15193
 *     def height(self):
 *         return self._ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, unsigned int height):
 *         self._ptr[0].height = height
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13CUeglFrame_st_6height_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_height); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_height); if (unlikely((__pyx_v_height == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 15194, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13CUeglFrame_st_6height_2__set__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self), ((unsigned int)__pyx_v_height));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_6height_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_height) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 15193, 0, __PYX_ERR(1, 15193, __pyx_L1_error));

  /* "cuda/cuda.pyx":15195
 *     @height.setter
 *     def height(self, unsigned int height):
 *         self._ptr[0].height = height             # <<<<<<<<<<<<<<
 *     @property
 *     def depth(self):
 */
  (__pyx_v_self->_ptr[0]).height = __pyx_v_height;

  /* "cuda/cuda.pyx":15193
 *     def height(self):
 *         return self._ptr[0].height
 *     @height.setter             # <<<<<<<<<<<<<<
 *     def height(self, unsigned int height):
 *         self._ptr[0].height = height
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.height.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15196
 *     def height(self, unsigned int height):
 *         self._ptr[0].height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def depth(self):
 *         return self._ptr[0].depth
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13CUeglFrame_st_5depth_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13CUeglFrame_st_5depth___get__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_5depth___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 15196, 0, __PYX_ERR(1, 15196, __pyx_L1_error));

  /* "cuda/cuda.pyx":15198
 *     @property
 *     def depth(self):
 *         return self._ptr[0].depth             # <<<<<<<<<<<<<<
 *     @depth.setter
 *     def depth(self, unsigned int depth):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).depth); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15196
 *     def height(self, unsigned int height):
 *         self._ptr[0].height = height
 *     @property             # <<<<<<<<<<<<<<
 *     def depth(self):
 *         return self._ptr[0].depth
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.depth.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15199
 *     def depth(self):
 *         return self._ptr[0].depth
 *     @depth.setter             # <<<<<<<<<<<<<<
 *     def depth(self, unsigned int depth):
 *         self._ptr[0].depth = depth
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13CUeglFrame_st_5depth_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_depth); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_depth); if (unlikely((__pyx_v_depth == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 15200, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13CUeglFrame_st_5depth_2__set__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self), ((unsigned int)__pyx_v_depth));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_5depth_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_depth) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 15199, 0, __PYX_ERR(1, 15199, __pyx_L1_error));

  /* "cuda/cuda.pyx":15201
 *     @depth.setter
 *     def depth(self, unsigned int depth):
 *         self._ptr[0].depth = depth             # <<<<<<<<<<<<<<
 *     @property
 *     def pitch(self):
 */
  (__pyx_v_self->_ptr[0]).depth = __pyx_v_depth;

  /* "cuda/cuda.pyx":15199
 *     def depth(self):
 *         return self._ptr[0].depth
 *     @depth.setter             # <<<<<<<<<<<<<<
 *     def depth(self, unsigned int depth):
 *         self._ptr[0].depth = depth
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.depth.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15202
 *     def depth(self, unsigned int depth):
 *         self._ptr[0].depth = depth
 *     @property             # <<<<<<<<<<<<<<
 *     def pitch(self):
 *         return self._ptr[0].pitch
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13CUeglFrame_st_5pitch_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13CUeglFrame_st_5pitch___get__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_5pitch___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 15202, 0, __PYX_ERR(1, 15202, __pyx_L1_error));

  /* "cuda/cuda.pyx":15204
 *     @property
 *     def pitch(self):
 *         return self._ptr[0].pitch             # <<<<<<<<<<<<<<
 *     @pitch.setter
 *     def pitch(self, unsigned int pitch):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).pitch); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15202
 *     def depth(self, unsigned int depth):
 *         self._ptr[0].depth = depth
 *     @property             # <<<<<<<<<<<<<<
 *     def pitch(self):
 *         return self._ptr[0].pitch
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.pitch.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15205
 *     def pitch(self):
 *         return self._ptr[0].pitch
 *     @pitch.setter             # <<<<<<<<<<<<<<
 *     def pitch(self, unsigned int pitch):
 *         self._ptr[0].pitch = pitch
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13CUeglFrame_st_5pitch_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_pitch); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_pitch); if (unlikely((__pyx_v_pitch == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 15206, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.pitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13CUeglFrame_st_5pitch_2__set__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self), ((unsigned int)__pyx_v_pitch));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_5pitch_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_pitch) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 15205, 0, __PYX_ERR(1, 15205, __pyx_L1_error));

  /* "cuda/cuda.pyx":15207
 *     @pitch.setter
 *     def pitch(self, unsigned int pitch):
 *         self._ptr[0].pitch = pitch             # <<<<<<<<<<<<<<
 *     @property
 *     def planeCount(self):
 */
  (__pyx_v_self->_ptr[0]).pitch = __pyx_v_pitch;

  /* "cuda/cuda.pyx":15205
 *     def pitch(self):
 *         return self._ptr[0].pitch
 *     @pitch.setter             # <<<<<<<<<<<<<<
 *     def pitch(self, unsigned int pitch):
 *         self._ptr[0].pitch = pitch
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.pitch.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15208
 *     def pitch(self, unsigned int pitch):
 *         self._ptr[0].pitch = pitch
 *     @property             # <<<<<<<<<<<<<<
 *     def planeCount(self):
 *         return self._ptr[0].planeCount
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13CUeglFrame_st_10planeCount_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13CUeglFrame_st_10planeCount___get__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_10planeCount___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 15208, 0, __PYX_ERR(1, 15208, __pyx_L1_error));

  /* "cuda/cuda.pyx":15210
 *     @property
 *     def planeCount(self):
 *         return self._ptr[0].planeCount             # <<<<<<<<<<<<<<
 *     @planeCount.setter
 *     def planeCount(self, unsigned int planeCount):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).planeCount); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15208
 *     def pitch(self, unsigned int pitch):
 *         self._ptr[0].pitch = pitch
 *     @property             # <<<<<<<<<<<<<<
 *     def planeCount(self):
 *         return self._ptr[0].planeCount
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.planeCount.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15211
 *     def planeCount(self):
 *         return self._ptr[0].planeCount
 *     @planeCount.setter             # <<<<<<<<<<<<<<
 *     def planeCount(self, unsigned int planeCount):
 *         self._ptr[0].planeCount = planeCount
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13CUeglFrame_st_10planeCount_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_planeCount); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_planeCount); if (unlikely((__pyx_v_planeCount == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 15212, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.planeCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13CUeglFrame_st_10planeCount_2__set__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self), ((unsigned int)__pyx_v_planeCount));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_10planeCount_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_planeCount) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 15211, 0, __PYX_ERR(1, 15211, __pyx_L1_error));

  /* "cuda/cuda.pyx":15213
 *     @planeCount.setter
 *     def planeCount(self, unsigned int planeCount):
 *         self._ptr[0].planeCount = planeCount             # <<<<<<<<<<<<<<
 *     @property
 *     def numChannels(self):
 */
  (__pyx_v_self->_ptr[0]).planeCount = __pyx_v_planeCount;

  /* "cuda/cuda.pyx":15211
 *     def planeCount(self):
 *         return self._ptr[0].planeCount
 *     @planeCount.setter             # <<<<<<<<<<<<<<
 *     def planeCount(self, unsigned int planeCount):
 *         self._ptr[0].planeCount = planeCount
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.planeCount.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15214
 *     def planeCount(self, unsigned int planeCount):
 *         self._ptr[0].planeCount = planeCount
 *     @property             # <<<<<<<<<<<<<<
 *     def numChannels(self):
 *         return self._ptr[0].numChannels
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13CUeglFrame_st_11numChannels_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13CUeglFrame_st_11numChannels___get__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_11numChannels___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 15214, 0, __PYX_ERR(1, 15214, __pyx_L1_error));

  /* "cuda/cuda.pyx":15216
 *     @property
 *     def numChannels(self):
 *         return self._ptr[0].numChannels             # <<<<<<<<<<<<<<
 *     @numChannels.setter
 *     def numChannels(self, unsigned int numChannels):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_self->_ptr[0]).numChannels); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15214
 *     def planeCount(self, unsigned int planeCount):
 *         self._ptr[0].planeCount = planeCount
 *     @property             # <<<<<<<<<<<<<<
 *     def numChannels(self):
 *         return self._ptr[0].numChannels
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.numChannels.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15217
 *     def numChannels(self):
 *         return self._ptr[0].numChannels
 *     @numChannels.setter             # <<<<<<<<<<<<<<
 *     def numChannels(self, unsigned int numChannels):
 *         self._ptr[0].numChannels = numChannels
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13CUeglFrame_st_11numChannels_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_numChannels); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_PyInt_As_unsigned_int(__pyx_arg_numChannels); if (unlikely((__pyx_v_numChannels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 15218, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.numChannels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13CUeglFrame_st_11numChannels_2__set__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self), ((unsigned int)__pyx_v_numChannels));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_11numChannels_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, unsigned int __pyx_v_numChannels) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__set__", __pyx_f[1], 15217, 0, __PYX_ERR(1, 15217, __pyx_L1_error));

  /* "cuda/cuda.pyx":15219
 *     @numChannels.setter
 *     def numChannels(self, unsigned int numChannels):
 *         self._ptr[0].numChannels = numChannels             # <<<<<<<<<<<<<<
 *     @property
 *     def frameType(self):
 */
  (__pyx_v_self->_ptr[0]).numChannels = __pyx_v_numChannels;

  /* "cuda/cuda.pyx":15217
 *     def numChannels(self):
 *         return self._ptr[0].numChannels
 *     @numChannels.setter             # <<<<<<<<<<<<<<
 *     def numChannels(self, unsigned int numChannels):
 *         self._ptr[0].numChannels = numChannels
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.numChannels.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15220
 *     def numChannels(self, unsigned int numChannels):
 *         self._ptr[0].numChannels = numChannels
 *     @property             # <<<<<<<<<<<<<<
 *     def frameType(self):
 *         return CUeglFrameType(self._ptr[0].frameType)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13CUeglFrame_st_9frameType_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13CUeglFrame_st_9frameType___get__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_9frameType___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 15220, 0, __PYX_ERR(1, 15220, __pyx_L1_error));

  /* "cuda/cuda.pyx":15222
 *     @property
 *     def frameType(self):
 *         return CUeglFrameType(self._ptr[0].frameType)             # <<<<<<<<<<<<<<
 *     @frameType.setter
 *     def frameType(self, frameType not None : CUeglFrameType):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUeglFrameType); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglFrameType_enum((__pyx_v_self->_ptr[0]).frameType); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15222, __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/cuda.pyx":15220
 *     def numChannels(self, unsigned int numChannels):
 *         self._ptr[0].numChannels = numChannels
 *     @property             # <<<<<<<<<<<<<<
 *     def frameType(self):
 *         return CUeglFrameType(self._ptr[0].frameType)
 */

  /* 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.cuda.CUeglFrame_st.frameType.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15223
 *     def frameType(self):
 *         return CUeglFrameType(self._ptr[0].frameType)
 *     @frameType.setter             # <<<<<<<<<<<<<<
 *     def frameType(self, frameType not None : CUeglFrameType):
 *         self._ptr[0].frameType = frameType.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13CUeglFrame_st_9frameType_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_frameType); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 15224, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_13CUeglFrame_st_9frameType_2__set__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self), ((PyObject *)__pyx_v_frameType));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_9frameType_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, PyObject *__pyx_v_frameType) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_5ccuda_CUeglFrameType __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 15223, 0, __PYX_ERR(1, 15223, __pyx_L1_error));

  /* "cuda/cuda.pyx":15225
 *     @frameType.setter
 *     def frameType(self, frameType not None : CUeglFrameType):
 *         self._ptr[0].frameType = frameType.value             # <<<<<<<<<<<<<<
 *     @property
 *     def eglColorFormat(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_frameType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)__Pyx_PyInt_As_enum____pyx_t_4cuda_5ccuda_CUeglFrameType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15225, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).frameType = __pyx_t_2;

  /* "cuda/cuda.pyx":15223
 *     def frameType(self):
 *         return CUeglFrameType(self._ptr[0].frameType)
 *     @frameType.setter             # <<<<<<<<<<<<<<
 *     def frameType(self, frameType not None : CUeglFrameType):
 *         self._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.cuda.CUeglFrame_st.frameType.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15226
 *     def frameType(self, frameType not None : CUeglFrameType):
 *         self._ptr[0].frameType = frameType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def eglColorFormat(self):
 *         return CUeglColorFormat(self._ptr[0].eglColorFormat)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13CUeglFrame_st_14eglColorFormat_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13CUeglFrame_st_14eglColorFormat___get__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_14eglColorFormat___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 15226, 0, __PYX_ERR(1, 15226, __pyx_L1_error));

  /* "cuda/cuda.pyx":15228
 *     @property
 *     def eglColorFormat(self):
 *         return CUeglColorFormat(self._ptr[0].eglColorFormat)             # <<<<<<<<<<<<<<
 *     @eglColorFormat.setter
 *     def eglColorFormat(self, eglColorFormat not None : CUeglColorFormat):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUeglColorFormat); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum((__pyx_v_self->_ptr[0]).eglColorFormat); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15228, __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/cuda.pyx":15226
 *     def frameType(self, frameType not None : CUeglFrameType):
 *         self._ptr[0].frameType = frameType.value
 *     @property             # <<<<<<<<<<<<<<
 *     def eglColorFormat(self):
 *         return CUeglColorFormat(self._ptr[0].eglColorFormat)
 */

  /* 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.cuda.CUeglFrame_st.eglColorFormat.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15229
 *     def eglColorFormat(self):
 *         return CUeglColorFormat(self._ptr[0].eglColorFormat)
 *     @eglColorFormat.setter             # <<<<<<<<<<<<<<
 *     def eglColorFormat(self, eglColorFormat not None : CUeglColorFormat):
 *         self._ptr[0].eglColorFormat = eglColorFormat.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13CUeglFrame_st_14eglColorFormat_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_eglColorFormat); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 15230, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_13CUeglFrame_st_14eglColorFormat_2__set__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self), ((PyObject *)__pyx_v_eglColorFormat));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_14eglColorFormat_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, PyObject *__pyx_v_eglColorFormat) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_5ccuda_CUeglColorFormat __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 15229, 0, __PYX_ERR(1, 15229, __pyx_L1_error));

  /* "cuda/cuda.pyx":15231
 *     @eglColorFormat.setter
 *     def eglColorFormat(self, eglColorFormat not None : CUeglColorFormat):
 *         self._ptr[0].eglColorFormat = eglColorFormat.value             # <<<<<<<<<<<<<<
 *     @property
 *     def cuFormat(self):
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_eglColorFormat, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)__Pyx_PyInt_As_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15231, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).eglColorFormat = __pyx_t_2;

  /* "cuda/cuda.pyx":15229
 *     def eglColorFormat(self):
 *         return CUeglColorFormat(self._ptr[0].eglColorFormat)
 *     @eglColorFormat.setter             # <<<<<<<<<<<<<<
 *     def eglColorFormat(self, eglColorFormat not None : CUeglColorFormat):
 *         self._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.cuda.CUeglFrame_st.eglColorFormat.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15232
 *     def eglColorFormat(self, eglColorFormat not None : CUeglColorFormat):
 *         self._ptr[0].eglColorFormat = eglColorFormat.value
 *     @property             # <<<<<<<<<<<<<<
 *     def cuFormat(self):
 *         return CUarray_format(self._ptr[0].cuFormat)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_13CUeglFrame_st_8cuFormat_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13CUeglFrame_st_8cuFormat___get__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_8cuFormat___get__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 1);
  __Pyx_TraceCall("__get__", __pyx_f[1], 15232, 0, __PYX_ERR(1, 15232, __pyx_L1_error));

  /* "cuda/cuda.pyx":15234
 *     @property
 *     def cuFormat(self):
 *         return CUarray_format(self._ptr[0].cuFormat)             # <<<<<<<<<<<<<<
 *     @cuFormat.setter
 *     def cuFormat(self, cuFormat not None : CUarray_format):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUarray_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUarray_format_enum((__pyx_v_self->_ptr[0]).cuFormat); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15234, __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/cuda.pyx":15232
 *     def eglColorFormat(self, eglColorFormat not None : CUeglColorFormat):
 *         self._ptr[0].eglColorFormat = eglColorFormat.value
 *     @property             # <<<<<<<<<<<<<<
 *     def cuFormat(self):
 *         return CUarray_format(self._ptr[0].cuFormat)
 */

  /* 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.cuda.CUeglFrame_st.cuFormat.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15235
 *     def cuFormat(self):
 *         return CUarray_format(self._ptr[0].cuFormat)
 *     @cuFormat.setter             # <<<<<<<<<<<<<<
 *     def cuFormat(self, cuFormat not None : CUarray_format):
 *         self._ptr[0].cuFormat = cuFormat.value
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_13CUeglFrame_st_8cuFormat_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_cuFormat); /*proto*/
static int __pyx_pw_4cuda_4cuda_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(1, 15236, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_13CUeglFrame_st_8cuFormat_2__set__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self), ((PyObject *)__pyx_v_cuFormat));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_13CUeglFrame_st_8cuFormat_2__set__(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, PyObject *__pyx_v_cuFormat) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  __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__", 1);
  __Pyx_TraceCall("__set__", __pyx_f[1], 15235, 0, __PYX_ERR(1, 15235, __pyx_L1_error));

  /* "cuda/cuda.pyx":15237
 *     @cuFormat.setter
 *     def cuFormat(self, cuFormat not None : CUarray_format):
 *         self._ptr[0].cuFormat = cuFormat.value             # <<<<<<<<<<<<<<
 * 
 * cdef class cuuint32_t:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cuFormat, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUarray_format_enum)__Pyx_PyInt_As_enum__CUarray_format_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15237, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_self->_ptr[0]).cuFormat = __pyx_t_2;

  /* "cuda/cuda.pyx":15235
 *     def cuFormat(self):
 *         return CUarray_format(self._ptr[0].cuFormat)
 *     @cuFormat.setter             # <<<<<<<<<<<<<<
 *     def cuFormat(self, cuFormat not None : CUarray_format):
 *         self._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.cuda.CUeglFrame_st.cuFormat.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  __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_4cuda_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_4cuda_13CUeglFrame_st_10__reduce_cython__, "CUeglFrame_st.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13CUeglFrame_st_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13CUeglFrame_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13CUeglFrame_st_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_13CUeglFrame_st_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__435)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_13CUeglFrame_st_12__setstate_cython__, "CUeglFrame_st.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13CUeglFrame_st_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13CUeglFrame_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13CUeglFrame_st_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_13CUeglFrame_st_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_13CUeglFrame_st_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__436)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUeglFrame_st.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15248
 * 
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_10cuuint32_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_10cuuint32_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint32_t __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15248, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15248, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 15248, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_uint32_t(values[0]); if (unlikely((__pyx_v_init_value == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 15248, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((uint32_t)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15248, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 15248, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuuint32_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_10cuuint32_t___cinit__(((struct __pyx_obj_4cuda_4cuda_cuuint32_t *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_10cuuint32_t___cinit__(struct __pyx_obj_4cuda_4cuda_cuuint32_t *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 15248, 0, __PYX_ERR(1, 15248, __pyx_L1_error));

  /* "cuda/cuda.pyx":15249
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15250
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.cuuint32_t *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_cuuint32_t__val);

    /* "cuda/cuda.pyx":15249
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15252
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.cuuint32_t *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((cuuint32_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15253
 *         else:
 *             self._ptr = <ccuda.cuuint32_t *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15254
 *             self._ptr = <ccuda.cuuint32_t *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":15253
 *         else:
 *             self._ptr = <ccuda.cuuint32_t *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":15248
 * 
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.cuuint32_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15255
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_10cuuint32_t_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_10cuuint32_t_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_cuuint32_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_10cuuint32_t_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_cuuint32_t *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 15255, 0, __PYX_ERR(1, 15255, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.cuuint32_t.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":15257
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cuuint32_t ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_10cuuint32_t_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_10cuuint32_t_4__repr__(((struct __pyx_obj_4cuda_4cuda_cuuint32_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10cuuint32_t_4__repr__(struct __pyx_obj_4cuda_4cuda_cuuint32_t *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 15257, 0, __PYX_ERR(1, 15257, __pyx_L1_error));

  /* "cuda/cuda.pyx":15258
 *         pass
 *     def __repr__(self):
 *         return '<cuuint32_t ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15258, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_cuuint32_t, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15258, __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/cuda.pyx":15257
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.cuuint32_t.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15259
 *     def __repr__(self):
 *         return '<cuuint32_t ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_10cuuint32_t_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_10cuuint32_t_6__int__(((struct __pyx_obj_4cuda_4cuda_cuuint32_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10cuuint32_t_6__int__(struct __pyx_obj_4cuda_4cuda_cuuint32_t *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 15259, 0, __PYX_ERR(1, 15259, __pyx_L1_error));

  /* "cuda/cuda.pyx":15260
 *         return '<cuuint32_t ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint32_t(((uint32_t)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15259
 *     def __repr__(self):
 *         return '<cuuint32_t ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.cuuint32_t.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15261
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_10cuuint32_t_8getPtr, "cuuint32_t.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_10cuuint32_t_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10cuuint32_t_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10cuuint32_t_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_10cuuint32_t_8getPtr(((struct __pyx_obj_4cuda_4cuda_cuuint32_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10cuuint32_t_8getPtr(struct __pyx_obj_4cuda_4cuda_cuuint32_t *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__437)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 15261, 0, __PYX_ERR(1, 15261, __pyx_L1_error));

  /* "cuda/cuda.pyx":15262
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class cuuint64_t:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15261
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.cuuint32_t.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_10cuuint32_t_10__reduce_cython__, "cuuint32_t.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_10cuuint32_t_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10cuuint32_t_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10cuuint32_t_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_10cuuint32_t_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_cuuint32_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10cuuint32_t_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_cuuint32_t *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__438)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.cuuint32_t.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_10cuuint32_t_12__setstate_cython__, "cuuint32_t.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_10cuuint32_t_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10cuuint32_t_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10cuuint32_t_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuuint32_t.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_10cuuint32_t_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_cuuint32_t *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10cuuint32_t_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_cuuint32_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__439)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.cuuint32_t.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15273
 * 
 *     """
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_10cuuint64_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_10cuuint64_t_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint64_t __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15273, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15273, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 15273, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_init_value == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 15273, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((uint64_t)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15273, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 15273, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuuint64_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_10cuuint64_t___cinit__(((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_10cuuint64_t___cinit__(struct __pyx_obj_4cuda_4cuda_cuuint64_t *__pyx_v_self, uint64_t __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 15273, 0, __PYX_ERR(1, 15273, __pyx_L1_error));

  /* "cuda/cuda.pyx":15274
 *     """
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15275
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.cuuint64_t *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_cuuint64_t__val);

    /* "cuda/cuda.pyx":15274
 *     """
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15277
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.cuuint64_t *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((cuuint64_t *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15278
 *         else:
 *             self._ptr = <ccuda.cuuint64_t *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15279
 *             self._ptr = <ccuda.cuuint64_t *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":15278
 *         else:
 *             self._ptr = <ccuda.cuuint64_t *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":15273
 * 
 *     """
 *     def __cinit__(self, uint64_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.cuuint64_t.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15280
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_10cuuint64_t_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_10cuuint64_t_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_10cuuint64_t_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_cuuint64_t *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 15280, 0, __PYX_ERR(1, 15280, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.cuuint64_t.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":15282
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<cuuint64_t ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_10cuuint64_t_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_10cuuint64_t_4__repr__(((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10cuuint64_t_4__repr__(struct __pyx_obj_4cuda_4cuda_cuuint64_t *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 15282, 0, __PYX_ERR(1, 15282, __pyx_L1_error));

  /* "cuda/cuda.pyx":15283
 *         pass
 *     def __repr__(self):
 *         return '<cuuint64_t ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <uint64_t>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_cuuint64_t, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15283, __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/cuda.pyx":15282
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.cuuint64_t.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15284
 *     def __repr__(self):
 *         return '<cuuint64_t ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint64_t>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_10cuuint64_t_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_10cuuint64_t_6__int__(((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10cuuint64_t_6__int__(struct __pyx_obj_4cuda_4cuda_cuuint64_t *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 15284, 0, __PYX_ERR(1, 15284, __pyx_L1_error));

  /* "cuda/cuda.pyx":15285
 *         return '<cuuint64_t ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <uint64_t>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint64_t(((uint64_t)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15284
 *     def __repr__(self):
 *         return '<cuuint64_t ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint64_t>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.cuuint64_t.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15286
 *     def __int__(self):
 *         return <uint64_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_10cuuint64_t_8getPtr, "cuuint64_t.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_10cuuint64_t_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10cuuint64_t_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10cuuint64_t_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_10cuuint64_t_8getPtr(((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10cuuint64_t_8getPtr(struct __pyx_obj_4cuda_4cuda_cuuint64_t *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__440)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 15286, 0, __PYX_ERR(1, 15286, __pyx_L1_error));

  /* "cuda/cuda.pyx":15287
 *         return <uint64_t>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdeviceptr_v2:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15286
 *     def __int__(self):
 *         return <uint64_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.cuuint64_t.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_10cuuint64_t_10__reduce_cython__, "cuuint64_t.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_10cuuint64_t_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10cuuint64_t_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10cuuint64_t_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_10cuuint64_t_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10cuuint64_t_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_cuuint64_t *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__441)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.cuuint64_t.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_10cuuint64_t_12__setstate_cython__, "cuuint64_t.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_10cuuint64_t_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10cuuint64_t_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10cuuint64_t_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuuint64_t.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_10cuuint64_t_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10cuuint64_t_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_cuuint64_t *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__442)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.cuuint64_t.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15300
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15300, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15300, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 15300, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15300, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15300, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 15300, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdeviceptr_v2.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_14CUdeviceptr_v2___cinit__(((struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_14CUdeviceptr_v2___cinit__(struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 15300, 0, __PYX_ERR(1, 15300, __pyx_L1_error));

  /* "cuda/cuda.pyx":15301
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15302
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUdeviceptr_v2 *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUdeviceptr_v2__val);

    /* "cuda/cuda.pyx":15301
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15304
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUdeviceptr_v2 *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUdeviceptr_v2 *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15305
 *         else:
 *             self._ptr = <ccuda.CUdeviceptr_v2 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15306
 *             self._ptr = <ccuda.CUdeviceptr_v2 *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":15305
 *         else:
 *             self._ptr = <ccuda.CUdeviceptr_v2 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":15300
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdeviceptr_v2.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15307
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_14CUdeviceptr_v2_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_14CUdeviceptr_v2_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 15307, 0, __PYX_ERR(1, 15307, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUdeviceptr_v2.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":15309
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUdeviceptr_v2 ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_14CUdeviceptr_v2_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_14CUdeviceptr_v2_4__repr__(struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 15309, 0, __PYX_ERR(1, 15309, __pyx_L1_error));

  /* "cuda/cuda.pyx":15310
 *         pass
 *     def __repr__(self):
 *         return '<CUdeviceptr_v2 ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_CUdeviceptr_v2, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15310, __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/cuda.pyx":15309
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUdeviceptr_v2.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15311
 *     def __repr__(self):
 *         return '<CUdeviceptr_v2 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_14CUdeviceptr_v2_6__int__(((struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_14CUdeviceptr_v2_6__int__(struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 15311, 0, __PYX_ERR(1, 15311, __pyx_L1_error));

  /* "cuda/cuda.pyx":15312
 *         return '<CUdeviceptr_v2 ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15311
 *     def __repr__(self):
 *         return '<CUdeviceptr_v2 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdeviceptr_v2.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15313
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_14CUdeviceptr_v2_8getPtr, "CUdeviceptr_v2.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_14CUdeviceptr_v2_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUdeviceptr_v2_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_14CUdeviceptr_v2_8getPtr(((struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_14CUdeviceptr_v2_8getPtr(struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__443)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 15313, 0, __PYX_ERR(1, 15313, __pyx_L1_error));

  /* "cuda/cuda.pyx":15314
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdevice_v1:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15313
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdeviceptr_v2.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_14CUdeviceptr_v2_10__reduce_cython__, "CUdeviceptr_v2.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_14CUdeviceptr_v2_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUdeviceptr_v2_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_14CUdeviceptr_v2_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_14CUdeviceptr_v2_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__444)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdeviceptr_v2.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_14CUdeviceptr_v2_12__setstate_cython__, "CUdeviceptr_v2.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_14CUdeviceptr_v2_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUdeviceptr_v2_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdeviceptr_v2.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_14CUdeviceptr_v2_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_14CUdeviceptr_v2_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__445)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdeviceptr_v2.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15327
 * 
 *     """
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_11CUdevice_v1_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_11CUdevice_v1_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15327, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15327, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 15327, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_init_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 15327, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((int)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15327, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 15327, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdevice_v1.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUdevice_v1___cinit__(((struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_11CUdevice_v1___cinit__(struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *__pyx_v_self, int __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 15327, 0, __PYX_ERR(1, 15327, __pyx_L1_error));

  /* "cuda/cuda.pyx":15328
 *     """
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15329
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUdevice_v1 *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUdevice_v1__val);

    /* "cuda/cuda.pyx":15328
 *     """
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15331
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUdevice_v1 *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUdevice_v1 *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15332
 *         else:
 *             self._ptr = <ccuda.CUdevice_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15333
 *             self._ptr = <ccuda.CUdevice_v1 *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":15332
 *         else:
 *             self._ptr = <ccuda.CUdevice_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":15327
 * 
 *     """
 *     def __cinit__(self, int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevice_v1.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15334
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_11CUdevice_v1_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_11CUdevice_v1_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_11CUdevice_v1_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 15334, 0, __PYX_ERR(1, 15334, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUdevice_v1.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":15336
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUdevice_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUdevice_v1_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUdevice_v1_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUdevice_v1_4__repr__(struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 15336, 0, __PYX_ERR(1, 15336, __pyx_L1_error));

  /* "cuda/cuda.pyx":15337
 *         pass
 *     def __repr__(self):
 *         return '<CUdevice_v1 ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <int>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_CUdevice_v1, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15337, __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/cuda.pyx":15336
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUdevice_v1.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15338
 *     def __repr__(self):
 *         return '<CUdevice_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <int>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11CUdevice_v1_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUdevice_v1_6__int__(((struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUdevice_v1_6__int__(struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 15338, 0, __PYX_ERR(1, 15338, __pyx_L1_error));

  /* "cuda/cuda.pyx":15339
 *         return '<CUdevice_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <int>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(((int)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15338
 *     def __repr__(self):
 *         return '<CUdevice_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <int>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevice_v1.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15340
 *     def __int__(self):
 *         return <int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUdevice_v1_8getPtr, "CUdevice_v1.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUdevice_v1_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUdevice_v1_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUdevice_v1_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUdevice_v1_8getPtr(((struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUdevice_v1_8getPtr(struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__446)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 15340, 0, __PYX_ERR(1, 15340, __pyx_L1_error));

  /* "cuda/cuda.pyx":15341
 *         return <int>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUtexObject_v1:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15340
 *     def __int__(self):
 *         return <int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUdevice_v1.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_11CUdevice_v1_10__reduce_cython__, "CUdevice_v1.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUdevice_v1_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUdevice_v1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUdevice_v1_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUdevice_v1_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUdevice_v1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__447)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevice_v1.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_11CUdevice_v1_12__setstate_cython__, "CUdevice_v1.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11CUdevice_v1_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUdevice_v1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUdevice_v1_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUdevice_v1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_11CUdevice_v1_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_11CUdevice_v1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUdevice_v1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__448)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUdevice_v1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15354
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_14CUtexObject_v1_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15354, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15354, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 15354, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15354, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15354, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 15354, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUtexObject_v1.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_14CUtexObject_v1___cinit__(((struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_14CUtexObject_v1___cinit__(struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 15354, 0, __PYX_ERR(1, 15354, __pyx_L1_error));

  /* "cuda/cuda.pyx":15355
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15356
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUtexObject_v1 *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUtexObject_v1__val);

    /* "cuda/cuda.pyx":15355
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15358
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUtexObject_v1 *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUtexObject_v1 *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15359
 *         else:
 *             self._ptr = <ccuda.CUtexObject_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15360
 *             self._ptr = <ccuda.CUtexObject_v1 *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":15359
 *         else:
 *             self._ptr = <ccuda.CUtexObject_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":15354
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUtexObject_v1.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15361
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_14CUtexObject_v1_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_14CUtexObject_v1_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_14CUtexObject_v1_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 15361, 0, __PYX_ERR(1, 15361, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUtexObject_v1.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":15363
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUtexObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_14CUtexObject_v1_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_14CUtexObject_v1_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_14CUtexObject_v1_4__repr__(struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 15363, 0, __PYX_ERR(1, 15363, __pyx_L1_error));

  /* "cuda/cuda.pyx":15364
 *         pass
 *     def __repr__(self):
 *         return '<CUtexObject_v1 ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_CUtexObject_v1, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15364, __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/cuda.pyx":15363
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUtexObject_v1.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15365
 *     def __repr__(self):
 *         return '<CUtexObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_14CUtexObject_v1_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_14CUtexObject_v1_6__int__(((struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_14CUtexObject_v1_6__int__(struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 15365, 0, __PYX_ERR(1, 15365, __pyx_L1_error));

  /* "cuda/cuda.pyx":15366
 *         return '<CUtexObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15365
 *     def __repr__(self):
 *         return '<CUtexObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUtexObject_v1.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15367
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_14CUtexObject_v1_8getPtr, "CUtexObject_v1.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_14CUtexObject_v1_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUtexObject_v1_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUtexObject_v1_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_14CUtexObject_v1_8getPtr(((struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_14CUtexObject_v1_8getPtr(struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__449)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 15367, 0, __PYX_ERR(1, 15367, __pyx_L1_error));

  /* "cuda/cuda.pyx":15368
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUsurfObject_v1:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15367
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUtexObject_v1.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_14CUtexObject_v1_10__reduce_cython__, "CUtexObject_v1.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_14CUtexObject_v1_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUtexObject_v1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUtexObject_v1_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_14CUtexObject_v1_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_14CUtexObject_v1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__450)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUtexObject_v1.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_14CUtexObject_v1_12__setstate_cython__, "CUtexObject_v1.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_14CUtexObject_v1_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUtexObject_v1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUtexObject_v1_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUtexObject_v1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_14CUtexObject_v1_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_14CUtexObject_v1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUtexObject_v1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__451)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUtexObject_v1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15381
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_15CUsurfObject_v1_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15381, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15381, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 15381, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15381, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15381, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 15381, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUsurfObject_v1.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_15CUsurfObject_v1___cinit__(((struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_15CUsurfObject_v1___cinit__(struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 15381, 0, __PYX_ERR(1, 15381, __pyx_L1_error));

  /* "cuda/cuda.pyx":15382
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15383
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUsurfObject_v1 *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUsurfObject_v1__val);

    /* "cuda/cuda.pyx":15382
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15385
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUsurfObject_v1 *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUsurfObject_v1 *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15386
 *         else:
 *             self._ptr = <ccuda.CUsurfObject_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15387
 *             self._ptr = <ccuda.CUsurfObject_v1 *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":15386
 *         else:
 *             self._ptr = <ccuda.CUsurfObject_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":15381
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUsurfObject_v1.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15388
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_15CUsurfObject_v1_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_15CUsurfObject_v1_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_15CUsurfObject_v1_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 15388, 0, __PYX_ERR(1, 15388, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUsurfObject_v1.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":15390
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUsurfObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_15CUsurfObject_v1_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_15CUsurfObject_v1_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_15CUsurfObject_v1_4__repr__(struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 15390, 0, __PYX_ERR(1, 15390, __pyx_L1_error));

  /* "cuda/cuda.pyx":15391
 *         pass
 *     def __repr__(self):
 *         return '<CUsurfObject_v1 ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15391, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_CUsurfObject_v1, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15391, __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/cuda.pyx":15390
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUsurfObject_v1.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15392
 *     def __repr__(self):
 *         return '<CUsurfObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_15CUsurfObject_v1_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_15CUsurfObject_v1_6__int__(((struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_15CUsurfObject_v1_6__int__(struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 15392, 0, __PYX_ERR(1, 15392, __pyx_L1_error));

  /* "cuda/cuda.pyx":15393
 *         return '<CUsurfObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15392
 *     def __repr__(self):
 *         return '<CUsurfObject_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUsurfObject_v1.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15394
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_15CUsurfObject_v1_8getPtr, "CUsurfObject_v1.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_15CUsurfObject_v1_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15CUsurfObject_v1_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15CUsurfObject_v1_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_15CUsurfObject_v1_8getPtr(((struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_15CUsurfObject_v1_8getPtr(struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__452)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 15394, 0, __PYX_ERR(1, 15394, __pyx_L1_error));

  /* "cuda/cuda.pyx":15395
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemGenericAllocationHandle_v1:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15394
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUsurfObject_v1.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_15CUsurfObject_v1_10__reduce_cython__, "CUsurfObject_v1.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_15CUsurfObject_v1_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15CUsurfObject_v1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15CUsurfObject_v1_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_15CUsurfObject_v1_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_15CUsurfObject_v1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__453)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUsurfObject_v1.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_15CUsurfObject_v1_12__setstate_cython__, "CUsurfObject_v1.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_15CUsurfObject_v1_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15CUsurfObject_v1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15CUsurfObject_v1_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUsurfObject_v1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_15CUsurfObject_v1_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_15CUsurfObject_v1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__454)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUsurfObject_v1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15406
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15406, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15406, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 15406, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15406, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15406, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 15406, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemGenericAllocationHandle_v1.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1___cinit__(((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1___cinit__(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 15406, 0, __PYX_ERR(1, 15406, __pyx_L1_error));

  /* "cuda/cuda.pyx":15407
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15408
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.CUmemGenericAllocationHandle_v1 *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_CUmemGenericAllocationHandle_v1__val);

    /* "cuda/cuda.pyx":15407
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15410
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.CUmemGenericAllocationHandle_v1 *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((CUmemGenericAllocationHandle_v1 *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15411
 *         else:
 *             self._ptr = <ccuda.CUmemGenericAllocationHandle_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15412
 *             self._ptr = <ccuda.CUmemGenericAllocationHandle_v1 *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":15411
 *         else:
 *             self._ptr = <ccuda.CUmemGenericAllocationHandle_v1 *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":15406
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemGenericAllocationHandle_v1.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15413
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_31CUmemGenericAllocationHandle_v1_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 15413, 0, __PYX_ERR(1, 15413, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.CUmemGenericAllocationHandle_v1.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":15415
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<CUmemGenericAllocationHandle_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUmemGenericAllocationHandle_v1_4__repr__(((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_4__repr__(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 15415, 0, __PYX_ERR(1, 15415, __pyx_L1_error));

  /* "cuda/cuda.pyx":15416
 *         pass
 *     def __repr__(self):
 *         return '<CUmemGenericAllocationHandle_v1 ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_CUmemGenericAllocationHandle_v1, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15416, __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/cuda.pyx":15415
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.CUmemGenericAllocationHandle_v1.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15417
 *     def __repr__(self):
 *         return '<CUmemGenericAllocationHandle_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUmemGenericAllocationHandle_v1_6__int__(((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_6__int__(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 15417, 0, __PYX_ERR(1, 15417, __pyx_L1_error));

  /* "cuda/cuda.pyx":15418
 *         return '<CUmemGenericAllocationHandle_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15417
 *     def __repr__(self):
 *         return '<CUmemGenericAllocationHandle_v1 ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemGenericAllocationHandle_v1.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15419
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUmemGenericAllocationHandle_v1_8getPtr, "CUmemGenericAllocationHandle_v1.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_8getPtr(((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_8getPtr(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__455)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 15419, 0, __PYX_ERR(1, 15419, __pyx_L1_error));

  /* "cuda/cuda.pyx":15420
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class GLenum:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15419
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.CUmemGenericAllocationHandle_v1.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_31CUmemGenericAllocationHandle_v1_10__reduce_cython__, "CUmemGenericAllocationHandle_v1.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__456)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemGenericAllocationHandle_v1.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_31CUmemGenericAllocationHandle_v1_12__setstate_cython__, "CUmemGenericAllocationHandle_v1.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.CUmemGenericAllocationHandle_v1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1 *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__457)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.CUmemGenericAllocationHandle_v1.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15431
 * 
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_6GLenum_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_6GLenum_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned int __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15431, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15431, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 15431, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_init_value == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 15431, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned int)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15431, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 15431, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.GLenum.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_6GLenum___cinit__(((struct __pyx_obj_4cuda_4cuda_GLenum *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_6GLenum___cinit__(struct __pyx_obj_4cuda_4cuda_GLenum *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 15431, 0, __PYX_ERR(1, 15431, __pyx_L1_error));

  /* "cuda/cuda.pyx":15432
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15433
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.GLenum *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_GLenum__val);

    /* "cuda/cuda.pyx":15432
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15435
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.GLenum *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_5ccuda_GLenum *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15436
 *         else:
 *             self._ptr = <ccuda.GLenum *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15437
 *             self._ptr = <ccuda.GLenum *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":15436
 *         else:
 *             self._ptr = <ccuda.GLenum *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":15431
 * 
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.GLenum.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15438
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_6GLenum_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_6GLenum_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_GLenum *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_6GLenum_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_GLenum *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 15438, 0, __PYX_ERR(1, 15438, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.GLenum.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":15440
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<GLenum ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_6GLenum_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_6GLenum_4__repr__(((struct __pyx_obj_4cuda_4cuda_GLenum *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_6GLenum_4__repr__(struct __pyx_obj_4cuda_4cuda_GLenum *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 15440, 0, __PYX_ERR(1, 15440, __pyx_L1_error));

  /* "cuda/cuda.pyx":15441
 *         pass
 *     def __repr__(self):
 *         return '<GLenum ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15441, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15441, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15441, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_GLenum, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15441, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15441, __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/cuda.pyx":15440
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.GLenum.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15442
 *     def __repr__(self):
 *         return '<GLenum ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_6GLenum_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_6GLenum_6__int__(((struct __pyx_obj_4cuda_4cuda_GLenum *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_6GLenum_6__int__(struct __pyx_obj_4cuda_4cuda_GLenum *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 15442, 0, __PYX_ERR(1, 15442, __pyx_L1_error));

  /* "cuda/cuda.pyx":15443
 *         return '<GLenum ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(((unsigned int)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15442
 *     def __repr__(self):
 *         return '<GLenum ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.GLenum.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15444
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_6GLenum_8getPtr, "GLenum.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_6GLenum_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6GLenum_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6GLenum_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_6GLenum_8getPtr(((struct __pyx_obj_4cuda_4cuda_GLenum *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_6GLenum_8getPtr(struct __pyx_obj_4cuda_4cuda_GLenum *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__458)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 15444, 0, __PYX_ERR(1, 15444, __pyx_L1_error));

  /* "cuda/cuda.pyx":15445
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class GLuint:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15444
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.GLenum.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_6GLenum_10__reduce_cython__, "GLenum.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_6GLenum_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6GLenum_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6GLenum_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_6GLenum_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_GLenum *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_6GLenum_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_GLenum *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__459)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.GLenum.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_6GLenum_12__setstate_cython__, "GLenum.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_6GLenum_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6GLenum_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6GLenum_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.GLenum.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_6GLenum_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_GLenum *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_6GLenum_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_GLenum *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__460)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.GLenum.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15456
 * 
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_6GLuint_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_6GLuint_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned int __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15456, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15456, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 15456, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_init_value == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 15456, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned int)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15456, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 15456, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.GLuint.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_6GLuint___cinit__(((struct __pyx_obj_4cuda_4cuda_GLuint *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_6GLuint___cinit__(struct __pyx_obj_4cuda_4cuda_GLuint *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 15456, 0, __PYX_ERR(1, 15456, __pyx_L1_error));

  /* "cuda/cuda.pyx":15457
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15458
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.GLuint *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_GLuint__val);

    /* "cuda/cuda.pyx":15457
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15460
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.GLuint *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_5ccuda_GLuint *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15461
 *         else:
 *             self._ptr = <ccuda.GLuint *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15462
 *             self._ptr = <ccuda.GLuint *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":15461
 *         else:
 *             self._ptr = <ccuda.GLuint *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":15456
 * 
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.GLuint.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15463
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_6GLuint_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_6GLuint_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_GLuint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_6GLuint_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_GLuint *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 15463, 0, __PYX_ERR(1, 15463, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.GLuint.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":15465
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<GLuint ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_6GLuint_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_6GLuint_4__repr__(((struct __pyx_obj_4cuda_4cuda_GLuint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_6GLuint_4__repr__(struct __pyx_obj_4cuda_4cuda_GLuint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 15465, 0, __PYX_ERR(1, 15465, __pyx_L1_error));

  /* "cuda/cuda.pyx":15466
 *         pass
 *     def __repr__(self):
 *         return '<GLuint ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_GLuint, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15466, __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/cuda.pyx":15465
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.GLuint.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15467
 *     def __repr__(self):
 *         return '<GLuint ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_6GLuint_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_6GLuint_6__int__(((struct __pyx_obj_4cuda_4cuda_GLuint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_6GLuint_6__int__(struct __pyx_obj_4cuda_4cuda_GLuint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 15467, 0, __PYX_ERR(1, 15467, __pyx_L1_error));

  /* "cuda/cuda.pyx":15468
 *         return '<GLuint ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(((unsigned int)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15467
 *     def __repr__(self):
 *         return '<GLuint ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.GLuint.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15469
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_6GLuint_8getPtr, "GLuint.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_6GLuint_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6GLuint_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6GLuint_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_6GLuint_8getPtr(((struct __pyx_obj_4cuda_4cuda_GLuint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_6GLuint_8getPtr(struct __pyx_obj_4cuda_4cuda_GLuint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__461)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 15469, 0, __PYX_ERR(1, 15469, __pyx_L1_error));

  /* "cuda/cuda.pyx":15470
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class EGLint:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15469
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.GLuint.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_6GLuint_10__reduce_cython__, "GLuint.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_6GLuint_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6GLuint_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6GLuint_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_6GLuint_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_GLuint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_6GLuint_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_GLuint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__462)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.GLuint.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_6GLuint_12__setstate_cython__, "GLuint.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_6GLuint_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6GLuint_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6GLuint_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.GLuint.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_6GLuint_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_GLuint *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_6GLuint_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_GLuint *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__463)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.GLuint.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15481
 * 
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_6EGLint_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_6EGLint_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned int __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15481, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15481, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 15481, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_init_value == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 15481, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned int)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15481, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 15481, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.EGLint.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_6EGLint___cinit__(((struct __pyx_obj_4cuda_4cuda_EGLint *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_6EGLint___cinit__(struct __pyx_obj_4cuda_4cuda_EGLint *__pyx_v_self, unsigned int __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 15481, 0, __PYX_ERR(1, 15481, __pyx_L1_error));

  /* "cuda/cuda.pyx":15482
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15483
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.EGLint *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_EGLint__val);

    /* "cuda/cuda.pyx":15482
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15485
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.EGLint *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_5ccuda_EGLint *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15486
 *         else:
 *             self._ptr = <ccuda.EGLint *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15487
 *             self._ptr = <ccuda.EGLint *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":15486
 *         else:
 *             self._ptr = <ccuda.EGLint *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":15481
 * 
 *     """
 *     def __cinit__(self, unsigned int init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.EGLint.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15488
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_6EGLint_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_6EGLint_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_EGLint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_6EGLint_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLint *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 15488, 0, __PYX_ERR(1, 15488, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.EGLint.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":15490
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<EGLint ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_6EGLint_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_6EGLint_4__repr__(((struct __pyx_obj_4cuda_4cuda_EGLint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_6EGLint_4__repr__(struct __pyx_obj_4cuda_4cuda_EGLint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 15490, 0, __PYX_ERR(1, 15490, __pyx_L1_error));

  /* "cuda/cuda.pyx":15491
 *         pass
 *     def __repr__(self):
 *         return '<EGLint ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_EGLint, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15491, __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/cuda.pyx":15490
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.EGLint.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15492
 *     def __repr__(self):
 *         return '<EGLint ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_6EGLint_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_6EGLint_6__int__(((struct __pyx_obj_4cuda_4cuda_EGLint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_6EGLint_6__int__(struct __pyx_obj_4cuda_4cuda_EGLint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 15492, 0, __PYX_ERR(1, 15492, __pyx_L1_error));

  /* "cuda/cuda.pyx":15493
 *         return '<EGLint ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(((unsigned int)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15493, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15492
 *     def __repr__(self):
 *         return '<EGLint ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.EGLint.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15494
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_6EGLint_8getPtr, "EGLint.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_6EGLint_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6EGLint_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6EGLint_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_6EGLint_8getPtr(((struct __pyx_obj_4cuda_4cuda_EGLint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_6EGLint_8getPtr(struct __pyx_obj_4cuda_4cuda_EGLint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__464)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 15494, 0, __PYX_ERR(1, 15494, __pyx_L1_error));

  /* "cuda/cuda.pyx":15495
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class VdpDevice:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15494
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.EGLint.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_6EGLint_10__reduce_cython__, "EGLint.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_6EGLint_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6EGLint_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6EGLint_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_6EGLint_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_EGLint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_6EGLint_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__465)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.EGLint.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_6EGLint_12__setstate_cython__, "EGLint.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_6EGLint_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6EGLint_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6EGLint_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.EGLint.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_6EGLint_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_EGLint *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_6EGLint_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_EGLint *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__466)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.EGLint.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15506
 * 
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_9VdpDevice_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_9VdpDevice_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint32_t __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15506, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15506, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 15506, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_uint32_t(values[0]); if (unlikely((__pyx_v_init_value == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 15506, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((uint32_t)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15506, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 15506, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.VdpDevice.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_9VdpDevice___cinit__(((struct __pyx_obj_4cuda_4cuda_VdpDevice *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_9VdpDevice___cinit__(struct __pyx_obj_4cuda_4cuda_VdpDevice *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 15506, 0, __PYX_ERR(1, 15506, __pyx_L1_error));

  /* "cuda/cuda.pyx":15507
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15508
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.VdpDevice *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_VdpDevice__val);

    /* "cuda/cuda.pyx":15507
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15510
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.VdpDevice *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_5ccuda_VdpDevice *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15511
 *         else:
 *             self._ptr = <ccuda.VdpDevice *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15512
 *             self._ptr = <ccuda.VdpDevice *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":15511
 *         else:
 *             self._ptr = <ccuda.VdpDevice *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":15506
 * 
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.VdpDevice.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15513
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_9VdpDevice_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_9VdpDevice_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_VdpDevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_9VdpDevice_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpDevice *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 15513, 0, __PYX_ERR(1, 15513, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.VdpDevice.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":15515
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<VdpDevice ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_9VdpDevice_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_9VdpDevice_4__repr__(((struct __pyx_obj_4cuda_4cuda_VdpDevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9VdpDevice_4__repr__(struct __pyx_obj_4cuda_4cuda_VdpDevice *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 15515, 0, __PYX_ERR(1, 15515, __pyx_L1_error));

  /* "cuda/cuda.pyx":15516
 *         pass
 *     def __repr__(self):
 *         return '<VdpDevice ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_VdpDevice, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15516, __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/cuda.pyx":15515
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.VdpDevice.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15517
 *     def __repr__(self):
 *         return '<VdpDevice ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_9VdpDevice_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_9VdpDevice_6__int__(((struct __pyx_obj_4cuda_4cuda_VdpDevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9VdpDevice_6__int__(struct __pyx_obj_4cuda_4cuda_VdpDevice *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 15517, 0, __PYX_ERR(1, 15517, __pyx_L1_error));

  /* "cuda/cuda.pyx":15518
 *         return '<VdpDevice ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint32_t(((uint32_t)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15517
 *     def __repr__(self):
 *         return '<VdpDevice ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.VdpDevice.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15519
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_9VdpDevice_8getPtr, "VdpDevice.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_9VdpDevice_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9VdpDevice_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9VdpDevice_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_9VdpDevice_8getPtr(((struct __pyx_obj_4cuda_4cuda_VdpDevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9VdpDevice_8getPtr(struct __pyx_obj_4cuda_4cuda_VdpDevice *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__467)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 15519, 0, __PYX_ERR(1, 15519, __pyx_L1_error));

  /* "cuda/cuda.pyx":15520
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class VdpGetProcAddress:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15519
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.VdpDevice.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_9VdpDevice_10__reduce_cython__, "VdpDevice.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_9VdpDevice_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9VdpDevice_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9VdpDevice_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_9VdpDevice_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_VdpDevice *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9VdpDevice_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpDevice *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__468)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.VdpDevice.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_9VdpDevice_12__setstate_cython__, "VdpDevice.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_9VdpDevice_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9VdpDevice_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9VdpDevice_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.VdpDevice.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_9VdpDevice_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_VdpDevice *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_9VdpDevice_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpDevice *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__469)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.VdpDevice.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15531
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_17VdpGetProcAddress_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_17VdpGetProcAddress_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned PY_LONG_LONG __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15531, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15531, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 15531, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[0]); if (unlikely((__pyx_v_init_value == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15531, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((unsigned PY_LONG_LONG)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15531, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 15531, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.VdpGetProcAddress.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17VdpGetProcAddress___cinit__(((struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_17VdpGetProcAddress___cinit__(struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *__pyx_v_self, unsigned PY_LONG_LONG __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 15531, 0, __PYX_ERR(1, 15531, __pyx_L1_error));

  /* "cuda/cuda.pyx":15532
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15533
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.VdpGetProcAddress *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_VdpGetProcAddress__val);

    /* "cuda/cuda.pyx":15532
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15535
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.VdpGetProcAddress *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_5ccuda_VdpGetProcAddress *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15536
 *         else:
 *             self._ptr = <ccuda.VdpGetProcAddress *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15537
 *             self._ptr = <ccuda.VdpGetProcAddress *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":15536
 *         else:
 *             self._ptr = <ccuda.VdpGetProcAddress *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":15531
 * 
 *     """
 *     def __cinit__(self, unsigned long long init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.VdpGetProcAddress.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15538
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_17VdpGetProcAddress_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_17VdpGetProcAddress_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_17VdpGetProcAddress_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 15538, 0, __PYX_ERR(1, 15538, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.VdpGetProcAddress.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":15540
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<VdpGetProcAddress ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17VdpGetProcAddress_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17VdpGetProcAddress_4__repr__(((struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17VdpGetProcAddress_4__repr__(struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 15540, 0, __PYX_ERR(1, 15540, __pyx_L1_error));

  /* "cuda/cuda.pyx":15541
 *         pass
 *     def __repr__(self):
 *         return '<VdpGetProcAddress ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_VdpGetProcAddress, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15541, __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/cuda.pyx":15540
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.VdpGetProcAddress.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15542
 *     def __repr__(self):
 *         return '<VdpGetProcAddress ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17VdpGetProcAddress_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17VdpGetProcAddress_6__int__(((struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17VdpGetProcAddress_6__int__(struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 15542, 0, __PYX_ERR(1, 15542, __pyx_L1_error));

  /* "cuda/cuda.pyx":15543
 *         return '<VdpGetProcAddress ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((unsigned PY_LONG_LONG)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15542
 *     def __repr__(self):
 *         return '<VdpGetProcAddress ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.VdpGetProcAddress.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15544
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17VdpGetProcAddress_8getPtr, "VdpGetProcAddress.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17VdpGetProcAddress_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17VdpGetProcAddress_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17VdpGetProcAddress_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_17VdpGetProcAddress_8getPtr(((struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17VdpGetProcAddress_8getPtr(struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__470)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 15544, 0, __PYX_ERR(1, 15544, __pyx_L1_error));

  /* "cuda/cuda.pyx":15545
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class VdpVideoSurface:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15544
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.VdpGetProcAddress.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_17VdpGetProcAddress_10__reduce_cython__, "VdpGetProcAddress.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17VdpGetProcAddress_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17VdpGetProcAddress_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17VdpGetProcAddress_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_17VdpGetProcAddress_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17VdpGetProcAddress_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__471)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.VdpGetProcAddress.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_17VdpGetProcAddress_12__setstate_cython__, "VdpGetProcAddress.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17VdpGetProcAddress_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17VdpGetProcAddress_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17VdpGetProcAddress_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.VdpGetProcAddress.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_17VdpGetProcAddress_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_17VdpGetProcAddress_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__472)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.VdpGetProcAddress.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15556
 * 
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_15VdpVideoSurface_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_15VdpVideoSurface_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint32_t __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15556, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15556, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 15556, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_uint32_t(values[0]); if (unlikely((__pyx_v_init_value == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 15556, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((uint32_t)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15556, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 15556, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.VdpVideoSurface.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_15VdpVideoSurface___cinit__(((struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_15VdpVideoSurface___cinit__(struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 15556, 0, __PYX_ERR(1, 15556, __pyx_L1_error));

  /* "cuda/cuda.pyx":15557
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15558
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.VdpVideoSurface *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_VdpVideoSurface__val);

    /* "cuda/cuda.pyx":15557
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15560
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.VdpVideoSurface *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_5ccuda_VdpVideoSurface *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15561
 *         else:
 *             self._ptr = <ccuda.VdpVideoSurface *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15562
 *             self._ptr = <ccuda.VdpVideoSurface *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":15561
 *         else:
 *             self._ptr = <ccuda.VdpVideoSurface *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":15556
 * 
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.VdpVideoSurface.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15563
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_15VdpVideoSurface_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_15VdpVideoSurface_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_15VdpVideoSurface_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 15563, 0, __PYX_ERR(1, 15563, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.VdpVideoSurface.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":15565
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<VdpVideoSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_15VdpVideoSurface_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_15VdpVideoSurface_4__repr__(((struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_15VdpVideoSurface_4__repr__(struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 15565, 0, __PYX_ERR(1, 15565, __pyx_L1_error));

  /* "cuda/cuda.pyx":15566
 *         pass
 *     def __repr__(self):
 *         return '<VdpVideoSurface ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_VdpVideoSurface, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15566, __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/cuda.pyx":15565
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.VdpVideoSurface.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15567
 *     def __repr__(self):
 *         return '<VdpVideoSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_15VdpVideoSurface_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_15VdpVideoSurface_6__int__(((struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_15VdpVideoSurface_6__int__(struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 15567, 0, __PYX_ERR(1, 15567, __pyx_L1_error));

  /* "cuda/cuda.pyx":15568
 *         return '<VdpVideoSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint32_t(((uint32_t)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15567
 *     def __repr__(self):
 *         return '<VdpVideoSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.VdpVideoSurface.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15569
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_15VdpVideoSurface_8getPtr, "VdpVideoSurface.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_15VdpVideoSurface_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15VdpVideoSurface_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15VdpVideoSurface_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_15VdpVideoSurface_8getPtr(((struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_15VdpVideoSurface_8getPtr(struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__473)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 15569, 0, __PYX_ERR(1, 15569, __pyx_L1_error));

  /* "cuda/cuda.pyx":15570
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * cdef class VdpOutputSurface:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15569
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.VdpVideoSurface.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_15VdpVideoSurface_10__reduce_cython__, "VdpVideoSurface.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_15VdpVideoSurface_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15VdpVideoSurface_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15VdpVideoSurface_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_15VdpVideoSurface_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_15VdpVideoSurface_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__474)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.VdpVideoSurface.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_15VdpVideoSurface_12__setstate_cython__, "VdpVideoSurface.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_15VdpVideoSurface_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15VdpVideoSurface_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15VdpVideoSurface_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.VdpVideoSurface.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_15VdpVideoSurface_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_15VdpVideoSurface_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpVideoSurface *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__475)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.VdpVideoSurface.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15581
 * 
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

/* Python wrapper */
static int __pyx_pw_4cuda_4cuda_16VdpOutputSurface_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4cuda_4cuda_16VdpOutputSurface_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  uint32_t __pyx_v_init_value;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_init_value,&__pyx_n_s_ptr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_init_value);
          if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15581, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr);
          if (value) { values[1] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15581, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(1, 15581, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_VARARGS(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_init_value = __Pyx_PyInt_As_uint32_t(values[0]); if (unlikely((__pyx_v_init_value == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 15581, __pyx_L3_error)
    } else {
      __pyx_v_init_value = ((uint32_t)0);
    }
    if (values[1]) {
      __pyx_v__ptr = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v__ptr == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 15581, __pyx_L3_error)
    } else {
      __pyx_v__ptr = ((__pyx_t_4cuda_4cuda_void_ptr)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 2, __pyx_nargs); __PYX_ERR(1, 15581, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.VdpOutputSurface.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16VdpOutputSurface___cinit__(((struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *)__pyx_v_self), __pyx_v_init_value, __pyx_v__ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_4cuda_4cuda_16VdpOutputSurface___cinit__(struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *__pyx_v_self, uint32_t __pyx_v_init_value, __pyx_t_4cuda_4cuda_void_ptr __pyx_v__ptr) {
  int __pyx_r;
  __Pyx_TraceDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__cinit__", __pyx_f[1], 15581, 0, __PYX_ERR(1, 15581, __pyx_L1_error));

  /* "cuda/cuda.pyx":15582
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
  __pyx_t_1 = (__pyx_v__ptr == 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15583
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:
 *             self._ptr = &self.__val             # <<<<<<<<<<<<<<
 *         else:
 *             self._ptr = <ccuda.VdpOutputSurface *>_ptr
 */
    __pyx_v_self->_ptr = (&__pyx_v_self->_VdpOutputSurface__val);

    /* "cuda/cuda.pyx":15582
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):
 *         if _ptr == 0:             # <<<<<<<<<<<<<<
 *             self._ptr = &self.__val
 *         else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15585
 *             self._ptr = &self.__val
 *         else:
 *             self._ptr = <ccuda.VdpOutputSurface *>_ptr             # <<<<<<<<<<<<<<
 *         if init_value:
 *             self._ptr[0] = init_value
 */
  /*else*/ {
    __pyx_v_self->_ptr = ((__pyx_t_4cuda_5ccuda_VdpOutputSurface *)__pyx_v__ptr);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15586
 *         else:
 *             self._ptr = <ccuda.VdpOutputSurface *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  __pyx_t_1 = (__pyx_v_init_value != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15587
 *             self._ptr = <ccuda.VdpOutputSurface *>_ptr
 *         if init_value:
 *             self._ptr[0] = init_value             # <<<<<<<<<<<<<<
 *     def __dealloc__(self):
 *         pass
 */
    (__pyx_v_self->_ptr[0]) = __pyx_v_init_value;

    /* "cuda/cuda.pyx":15586
 *         else:
 *             self._ptr = <ccuda.VdpOutputSurface *>_ptr
 *         if init_value:             # <<<<<<<<<<<<<<
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):
 */
  }

  /* "cuda/cuda.pyx":15581
 * 
 *     """
 *     def __cinit__(self, uint32_t init_value = 0, void_ptr _ptr = 0):             # <<<<<<<<<<<<<<
 *         if _ptr == 0:
 *             self._ptr = &self.__val
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.VdpOutputSurface.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
  return __pyx_r;
}

/* "cuda/cuda.pyx":15588
 *         if init_value:
 *             self._ptr[0] = init_value
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         pass
 *     def __repr__(self):
 */

/* Python wrapper */
static void __pyx_pw_4cuda_4cuda_16VdpOutputSurface_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4cuda_4cuda_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_4cuda_16VdpOutputSurface_2__dealloc__(((struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_4cuda_4cuda_16VdpOutputSurface_2__dealloc__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *__pyx_v_self) {
  __Pyx_TraceDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceCall("__dealloc__", __pyx_f[1], 15588, 0, __PYX_ERR(1, 15588, __pyx_L1_error));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("cuda.cuda.VdpOutputSurface.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_TraceReturn(Py_None, 0);
}

/* "cuda/cuda.pyx":15590
 *     def __dealloc__(self):
 *         pass
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return '<VdpOutputSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16VdpOutputSurface_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16VdpOutputSurface_4__repr__(((struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16VdpOutputSurface_4__repr__(struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 1);
  __Pyx_TraceCall("__repr__", __pyx_f[1], 15590, 0, __PYX_ERR(1, 15590, __pyx_L1_error));

  /* "cuda/cuda.pyx":15591
 *         pass
 *     def __repr__(self):
 *         return '<VdpOutputSurface ' + str(self.__int__()) + '>'             # <<<<<<<<<<<<<<
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __pyx_t_4 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_4 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_Add(__pyx_kp_u_VdpOutputSurface, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u_); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15591, __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/cuda.pyx":15590
 *     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_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cuda.cuda.VdpOutputSurface.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15592
 *     def __repr__(self):
 *         return '<VdpOutputSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_16VdpOutputSurface_7__int__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16VdpOutputSurface_6__int__(((struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16VdpOutputSurface_6__int__(struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__int__", 1);
  __Pyx_TraceCall("__int__", __pyx_f[1], 15592, 0, __PYX_ERR(1, 15592, __pyx_L1_error));

  /* "cuda/cuda.pyx":15593
 *         return '<VdpOutputSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]             # <<<<<<<<<<<<<<
 *     def getPtr(self):
 *         return <void_ptr>self._ptr
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_uint32_t(((uint32_t)(__pyx_v_self->_ptr[0]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15592
 *     def __repr__(self):
 *         return '<VdpOutputSurface ' + str(self.__int__()) + '>'
 *     def __int__(self):             # <<<<<<<<<<<<<<
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.VdpOutputSurface.__int__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15594
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16VdpOutputSurface_8getPtr, "VdpOutputSurface.getPtr(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16VdpOutputSurface_9getPtr = {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16VdpOutputSurface_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16VdpOutputSurface_8getPtr};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("getPtr", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getPtr", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_16VdpOutputSurface_8getPtr(((struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16VdpOutputSurface_8getPtr(struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__476)
  __Pyx_RefNannySetupContext("getPtr", 1);
  __Pyx_TraceCall("getPtr", __pyx_f[1], 15594, 0, __PYX_ERR(1, 15594, __pyx_L1_error));

  /* "cuda/cuda.pyx":15595
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):
 *         return <void_ptr>self._ptr             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)__pyx_v_self->_ptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15594
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cuda.cuda.VdpOutputSurface.getPtr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __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_4cuda_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_4cuda_16VdpOutputSurface_10__reduce_cython__, "VdpOutputSurface.__reduce_cython__(self)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16VdpOutputSurface_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16VdpOutputSurface_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16VdpOutputSurface_10__reduce_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) {
    __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
  __pyx_r = __pyx_pf_4cuda_4cuda_16VdpOutputSurface_10__reduce_cython__(((struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16VdpOutputSurface_10__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__477)
  __Pyx_RefNannySetupContext("__reduce_cython__", 1);
  __Pyx_TraceCall("__reduce_cython__", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.VdpOutputSurface.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_16VdpOutputSurface_12__setstate_cython__, "VdpOutputSurface.__setstate_cython__(self, __pyx_state)");
static PyMethodDef __pyx_mdef_4cuda_4cuda_16VdpOutputSurface_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16VdpOutputSurface_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16VdpOutputSurface_12__setstate_cython__};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 3, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(0, 3, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.VdpOutputSurface.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16VdpOutputSurface_12__setstate_cython__(((struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16VdpOutputSurface_12__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4cuda_4cuda_VdpOutputSurface *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__478)
  __Pyx_RefNannySetupContext("__setstate_cython__", 1);
  __Pyx_TraceCall("__setstate_cython__", __pyx_f[0], 3, 0, __PYX_ERR(0, 3, __pyx_L1_error));

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 */
  __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(0, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.VdpOutputSurface.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15597
 *         return <void_ptr>self._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_4cuda_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_4cuda_cuGetErrorString, "cuGetErrorString(error: CUresult)\n Gets the string description of an error code.\n\n    Sets `*pStr` to the address of a NULL-terminated string description of\n    the error code `error`. If the error code is not recognized,\n    :py:obj:`~.CUDA_ERROR_INVALID_VALUE` will be returned and `*pStr` will\n    be set to the NULL address.\n\n    Parameters\n    ----------\n    error : :py:obj:`~.CUresult`\n        Error code to convert to string\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    pStr : bytes\n        Address of the string pointer.\n\n    See Also\n    --------\n    :py:obj:`~.CUresult`, :py:obj:`~.cudaGetErrorString`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_1cuGetErrorString = {"cuGetErrorString", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_1cuGetErrorString, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_cuGetErrorString};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_error,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_error)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15597, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGetErrorString") < 0)) __PYX_ERR(1, 15597, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_error = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGetErrorString", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 15597, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 15598, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_cuGetErrorString(__pyx_self, __pyx_v_error);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_cuGetErrorString(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_error) {
  CUresult __pyx_v_cerror;
  char const *__pyx_v_pStr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__479)
  __Pyx_RefNannySetupContext("cuGetErrorString", 1);
  __Pyx_TraceCall("cuGetErrorString", __pyx_f[1], 15597, 0, __PYX_ERR(1, 15597, __pyx_L1_error));

  /* "cuda/cuda.pyx":15622
 *     :py:obj:`~.CUresult`, :py:obj:`~.cudaGetErrorString`
 *     """
 *     cdef ccuda.CUresult cerror = error.value             # <<<<<<<<<<<<<<
 *     cdef const char* pStr = NULL
 *     err = ccuda.cuGetErrorString(cerror, &pStr)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_error, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaError_enum)__Pyx_PyInt_As_enum__cudaError_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15622, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cerror = __pyx_t_2;

  /* "cuda/cuda.pyx":15623
 *     """
 *     cdef ccuda.CUresult cerror = error.value
 *     cdef const char* pStr = NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGetErrorString(cerror, &pStr)
 *     return (CUresult(err), <bytes>pStr)
 */
  __pyx_v_pStr = NULL;

  /* "cuda/cuda.pyx":15624
 *     cdef ccuda.CUresult cerror = error.value
 *     cdef const char* pStr = NULL
 *     err = ccuda.cuGetErrorString(cerror, &pStr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), <bytes>pStr)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuGetErrorString(__pyx_v_cerror, (&__pyx_v_pStr)); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 15624, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":15625
 *     cdef const char* pStr = NULL
 *     err = ccuda.cuGetErrorString(cerror, &pStr)
 *     return (CUresult(err), <bytes>pStr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 15625, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_pStr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15625, __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)) __PYX_ERR(1, 15625, __pyx_L1_error);
  __Pyx_INCREF(((PyObject*)__pyx_t_3));
  __Pyx_GIVEREF(((PyObject*)__pyx_t_3));
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(1, 15625, __pyx_L1_error);
  __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15597
 *         return <void_ptr>self._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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuGetErrorString", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15627
 *     return (CUresult(err), <bytes>pStr)
 * 
 * @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_4cuda_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_4cuda_2cuGetErrorName, "cuGetErrorName(error: CUresult)\n Gets the string representation of an error code enum name.\n\n    Sets `*pStr` to the address of a NULL-terminated string representation\n    of the name of the enum error code `error`. If the error code is not\n    recognized, :py:obj:`~.CUDA_ERROR_INVALID_VALUE` will be returned and\n    `*pStr` will be set to the NULL address.\n\n    Parameters\n    ----------\n    error : :py:obj:`~.CUresult`\n        Error code to convert to string\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    pStr : bytes\n        Address of the string pointer.\n\n    See Also\n    --------\n    :py:obj:`~.CUresult`, :py:obj:`~.cudaGetErrorName`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_3cuGetErrorName = {"cuGetErrorName", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_3cuGetErrorName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_2cuGetErrorName};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_error,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_error)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15627, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGetErrorName") < 0)) __PYX_ERR(1, 15627, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_error = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGetErrorName", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 15627, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 15628, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_2cuGetErrorName(__pyx_self, __pyx_v_error);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_2cuGetErrorName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_error) {
  CUresult __pyx_v_cerror;
  char const *__pyx_v_pStr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__480)
  __Pyx_RefNannySetupContext("cuGetErrorName", 1);
  __Pyx_TraceCall("cuGetErrorName", __pyx_f[1], 15627, 0, __PYX_ERR(1, 15627, __pyx_L1_error));

  /* "cuda/cuda.pyx":15652
 *     :py:obj:`~.CUresult`, :py:obj:`~.cudaGetErrorName`
 *     """
 *     cdef ccuda.CUresult cerror = error.value             # <<<<<<<<<<<<<<
 *     cdef const char* pStr = NULL
 *     err = ccuda.cuGetErrorName(cerror, &pStr)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_error, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum cudaError_enum)__Pyx_PyInt_As_enum__cudaError_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15652, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cerror = __pyx_t_2;

  /* "cuda/cuda.pyx":15653
 *     """
 *     cdef ccuda.CUresult cerror = error.value
 *     cdef const char* pStr = NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGetErrorName(cerror, &pStr)
 *     return (CUresult(err), <bytes>pStr)
 */
  __pyx_v_pStr = NULL;

  /* "cuda/cuda.pyx":15654
 *     cdef ccuda.CUresult cerror = error.value
 *     cdef const char* pStr = NULL
 *     err = ccuda.cuGetErrorName(cerror, &pStr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), <bytes>pStr)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuGetErrorName(__pyx_v_cerror, (&__pyx_v_pStr)); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 15654, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":15655
 *     cdef const char* pStr = NULL
 *     err = ccuda.cuGetErrorName(cerror, &pStr)
 *     return (CUresult(err), <bytes>pStr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 15655, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_pStr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15655, __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)) __PYX_ERR(1, 15655, __pyx_L1_error);
  __Pyx_INCREF(((PyObject*)__pyx_t_3));
  __Pyx_GIVEREF(((PyObject*)__pyx_t_3));
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(1, 15655, __pyx_L1_error);
  __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15627
 *     return (CUresult(err), <bytes>pStr)
 * 
 * @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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuGetErrorName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15657
 *     return (CUresult(err), <bytes>pStr)
 * 
 * @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_4cuda_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_4cuda_4cuInit, "cuInit(unsigned int Flags)\n 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`.\n\n    Parameters\n    ----------\n    Flags : unsigned int\n        Initialization flag for CUDA.\n\n    Returns\n    -------\n    CUresult\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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_5cuInit = {"cuInit", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_5cuInit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_4cuInit};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_Flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15657, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuInit") < 0)) __PYX_ERR(1, 15657, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_Flags = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 15658, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuInit", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 15657, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuInit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_4cuInit(__pyx_self, __pyx_v_Flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_4cuInit(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_Flags) {
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__481)
  __Pyx_RefNannySetupContext("cuInit", 1);
  __Pyx_TraceCall("cuInit", __pyx_f[1], 15657, 0, __PYX_ERR(1, 15657, __pyx_L1_error));

  /* "cuda/cuda.pyx":15671
 *         :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`
 *     """
 *     err = ccuda.cuInit(Flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_5ccuda_cuInit(__pyx_v_Flags); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 15671, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cuda.pyx":15672
 *     """
 *     err = ccuda.cuInit(Flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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, 15672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15672, __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)) __PYX_ERR(1, 15672, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15657
 *     return (CUresult(err), <bytes>pStr)
 * 
 * @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_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuInit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15674
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDriverGetVersion():
 *     """ Returns the latest CUDA version supported by driver.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_7cuDriverGetVersion(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_6cuDriverGetVersion, "cuDriverGetVersion()\n Returns the latest CUDA version supported by driver.\n\n    Returns in `*driverVersion` the version of CUDA supported by the\n    driver. The version is returned as (1000 * major + 10 * minor). For\n    example, CUDA 9.2 would be represented by 9020.\n\n    This function automatically returns\n    :py:obj:`~.CUDA_ERROR_INVALID_VALUE` if `driverVersion` is NULL.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    driverVersion : int\n        Returns the CUDA driver version\n\n    See Also\n    --------\n    :py:obj:`~.cudaDriverGetVersion`, :py:obj:`~.cudaRuntimeGetVersion`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_7cuDriverGetVersion = {"cuDriverGetVersion", (PyCFunction)__pyx_pw_4cuda_4cuda_7cuDriverGetVersion, METH_NOARGS, __pyx_doc_4cuda_4cuda_6cuDriverGetVersion};
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_6cuDriverGetVersion(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_6cuDriverGetVersion(CYTHON_UNUSED PyObject *__pyx_self) {
  int __pyx_v_driverVersion;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__482)
  __Pyx_RefNannySetupContext("cuDriverGetVersion", 1);
  __Pyx_TraceCall("cuDriverGetVersion", __pyx_f[1], 15674, 0, __PYX_ERR(1, 15674, __pyx_L1_error));

  /* "cuda/cuda.pyx":15696
 *     :py:obj:`~.cudaDriverGetVersion`, :py:obj:`~.cudaRuntimeGetVersion`
 *     """
 *     cdef int driverVersion = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDriverGetVersion(&driverVersion)
 *     return (CUresult(err), driverVersion)
 */
  __pyx_v_driverVersion = 0;

  /* "cuda/cuda.pyx":15697
 *     """
 *     cdef int driverVersion = 0
 *     err = ccuda.cuDriverGetVersion(&driverVersion)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), driverVersion)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_5ccuda_cuDriverGetVersion((&__pyx_v_driverVersion)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 15697, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cuda.pyx":15698
 *     cdef int driverVersion = 0
 *     err = ccuda.cuDriverGetVersion(&driverVersion)
 *     return (CUresult(err), driverVersion)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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, 15698, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_driverVersion); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 15698, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(1, 15698, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15674
 *     return (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_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuDriverGetVersion", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15700
 *     return (CUresult(err), driverVersion)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGet(int ordinal):
 *     """ Returns a handle to a compute device.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_8cuDeviceGet, "cuDeviceGet(int ordinal)\n Returns a handle to a compute device.\n\n    Returns in `*device` a device handle given an ordinal in the range [0,\n    :py:obj:`~.cuDeviceGetCount()`-1].\n\n    Parameters\n    ----------\n    ordinal : int\n        Device number to get handle 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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    device : :py:obj:`~.CUdevice`\n        Returned device handle\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetUuid`, :py:obj:`~.cuDeviceGetLuid`, :py:obj:`~.cuDeviceTotalMem`, :py:obj:`~.cuDeviceGetExecAffinitySupport`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_9cuDeviceGet = {"cuDeviceGet", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9cuDeviceGet, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8cuDeviceGet};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ordinal,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ordinal)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15700, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGet") < 0)) __PYX_ERR(1, 15700, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_ordinal = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_ordinal == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 15701, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGet", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 15700, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGet", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_8cuDeviceGet(__pyx_self, __pyx_v_ordinal);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_8cuDeviceGet(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_ordinal) {
  struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_device = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__483)
  __Pyx_RefNannySetupContext("cuDeviceGet", 1);
  __Pyx_TraceCall("cuDeviceGet", __pyx_f[1], 15700, 0, __PYX_ERR(1, 15700, __pyx_L1_error));

  /* "cuda/cuda.pyx":15723
 *     :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()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGet(<ccuda.CUdevice*>device._ptr, ordinal)
 *     return (CUresult(err), device)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_device = ((struct __pyx_obj_4cuda_4cuda_CUdevice *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":15724
 *     """
 *     cdef CUdevice device = CUdevice()
 *     err = ccuda.cuDeviceGet(<ccuda.CUdevice*>device._ptr, ordinal)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), device)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuDeviceGet(((CUdevice *)__pyx_v_device->_ptr), __pyx_v_ordinal); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 15724, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":15725
 *     cdef CUdevice device = CUdevice()
 *     err = ccuda.cuDeviceGet(<ccuda.CUdevice*>device._ptr, ordinal)
 *     return (CUresult(err), device)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 15725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15725, __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)) __PYX_ERR(1, 15725, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_device);
  __Pyx_GIVEREF((PyObject *)__pyx_v_device);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_device))) __PYX_ERR(1, 15725, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15700
 *     return (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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGet", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_device);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15727
 *     return (CUresult(err), device)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetCount():
 *     """ Returns the number of compute-capable devices.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_11cuDeviceGetCount(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_10cuDeviceGetCount, "cuDeviceGetCount()\n Returns the number of compute-capable devices.\n\n    Returns in `*count` the number of devices with compute capability\n    greater than or equal to 2.0 that are available for execution. If there\n    is no such device, :py:obj:`~.cuDeviceGetCount()` returns 0.\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_VALUE`\n    count : int\n        Returned number of compute-capable devices\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_11cuDeviceGetCount = {"cuDeviceGetCount", (PyCFunction)__pyx_pw_4cuda_4cuda_11cuDeviceGetCount, METH_NOARGS, __pyx_doc_4cuda_4cuda_10cuDeviceGetCount};
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_10cuDeviceGetCount(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_10cuDeviceGetCount(CYTHON_UNUSED PyObject *__pyx_self) {
  int __pyx_v_count;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__484)
  __Pyx_RefNannySetupContext("cuDeviceGetCount", 1);
  __Pyx_TraceCall("cuDeviceGetCount", __pyx_f[1], 15727, 0, __PYX_ERR(1, 15727, __pyx_L1_error));

  /* "cuda/cuda.pyx":15746
 *     :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             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGetCount(&count)
 *     return (CUresult(err), count)
 */
  __pyx_v_count = 0;

  /* "cuda/cuda.pyx":15747
 *     """
 *     cdef int count = 0
 *     err = ccuda.cuDeviceGetCount(&count)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), count)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_5ccuda_cuDeviceGetCount((&__pyx_v_count)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 15747, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cuda.pyx":15748
 *     cdef int count = 0
 *     err = ccuda.cuDeviceGetCount(&count)
 *     return (CUresult(err), count)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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, 15748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_count); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 15748, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(1, 15748, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15727
 *     return (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_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetCount", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15750
 *     return (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_4cuda_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_4cuda_12cuDeviceGetName, "cuDeviceGetName(int length, dev)\n Returns an identifier string for the device.\n\n    Returns an ASCII string identifying the device `dev` in the NULL-\n    terminated string pointed to by `name`. `length` specifies the maximum\n    length of the string that may be returned.\n\n    Parameters\n    ----------\n    length : int\n        Maximum length of string to store in `name`\n    dev : :py:obj:`~.CUdevice`\n        Device to get identifier string 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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    name : bytes\n        Returned identifier string for the device\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_13cuDeviceGetName = {"cuDeviceGetName", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13cuDeviceGetName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12cuDeviceGetName};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_length,&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_length)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15750, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15750, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceGetName", 1, 2, 2, 1); __PYX_ERR(1, 15750, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGetName") < 0)) __PYX_ERR(1, 15750, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_length = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_length == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 15751, __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(1, 15750, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_12cuDeviceGetName(__pyx_self, __pyx_v_length, __pyx_v_dev);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_12cuDeviceGetName(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_length, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  PyObject *__pyx_v_pyname = NULL;
  char *__pyx_v_name;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  char *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__485)
  __Pyx_RefNannySetupContext("cuDeviceGetName", 1);
  __Pyx_TraceCall("cuDeviceGetName", __pyx_f[1], 15750, 0, __PYX_ERR(1, 15750, __pyx_L1_error));

  /* "cuda/cuda.pyx":15777
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15778
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":15777
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15779
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15780
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":15781
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 15781, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":15779
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15783
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     pyname = b" " * length
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":15784
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     pyname = b" " * length
 *     cdef char* name = pyname
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 15784, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15785
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     pyname = b" " * length             # <<<<<<<<<<<<<<
 *     cdef char* name = pyname
 *     err = ccuda.cuDeviceGetName(name, length, cdev)
 */
  __pyx_t_4 = __Pyx_PySequence_Multiply(__pyx_kp_b__486, __pyx_v_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyname = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":15786
 *         cdev = <ccuda.CUdevice>pdev
 *     pyname = b" " * length
 *     cdef char* name = pyname             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGetName(name, length, cdev)
 *     return (CUresult(err), pyname)
 */
  __pyx_t_5 = __Pyx_PyBytes_AsWritableString(__pyx_v_pyname); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(1, 15786, __pyx_L1_error)
  __pyx_v_name = __pyx_t_5;

  /* "cuda/cuda.pyx":15787
 *     pyname = b" " * length
 *     cdef char* name = pyname
 *     err = ccuda.cuDeviceGetName(name, length, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pyname)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuDeviceGetName(__pyx_v_name, __pyx_v_length, __pyx_v_cdev); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 15787, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":15788
 *     cdef char* name = pyname
 *     err = ccuda.cuDeviceGetName(name, length, cdev)
 *     return (CUresult(err), pyname)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 15788, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyname);
  __Pyx_GIVEREF(__pyx_v_pyname);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_pyname)) __PYX_ERR(1, 15788, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15750
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15790
 *     return (CUresult(err), pyname)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetUuid(dev):
 *     """ Return an UUID for the device.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_14cuDeviceGetUuid, "cuDeviceGetUuid(dev)\n Return an UUID for the device.\n\n    Note there is a later version of this API,\n    :py:obj:`~.cuDeviceGetUuid_v2`. It will supplant this version in 12.0,\n    which is retained for minor version compatibility.\n\n    Returns 16-octets identifying the device `dev` in the structure pointed\n    by the `uuid`.\n\n    Parameters\n    ----------\n    dev : :py:obj:`~.CUdevice`\n        Device to get identifier string 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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    uuid : :py:obj:`~.CUuuid`\n        Returned UUID\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceGetUuid_v2` :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetLuid`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceTotalMem`, :py:obj:`~.cuDeviceGetExecAffinitySupport`, :py:obj:`~.cudaGetDeviceProperties`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_15cuDeviceGetUuid = {"cuDeviceGetUuid", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15cuDeviceGetUuid, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14cuDeviceGetUuid};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15790, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGetUuid") < 0)) __PYX_ERR(1, 15790, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetUuid", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 15790, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetUuid", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_14cuDeviceGetUuid(__pyx_self, __pyx_v_dev);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_14cuDeviceGetUuid(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_4cuda_CUuuid *__pyx_v_uuid = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__487)
  __Pyx_RefNannySetupContext("cuDeviceGetUuid", 1);
  __Pyx_TraceCall("cuDeviceGetUuid", __pyx_f[1], 15790, 0, __PYX_ERR(1, 15790, __pyx_L1_error));

  /* "cuda/cuda.pyx":15818
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15819
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":15818
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15820
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15821
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":15822
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 15822, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":15820
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15824
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUuuid uuid = CUuuid()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":15825
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUuuid uuid = CUuuid()
 *     err = ccuda.cuDeviceGetUuid(<ccuda.CUuuid*>uuid._ptr, cdev)
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 15825, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15826
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUuuid uuid = CUuuid()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGetUuid(<ccuda.CUuuid*>uuid._ptr, cdev)
 *     return (CUresult(err), uuid)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUuuid)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_uuid = ((struct __pyx_obj_4cuda_4cuda_CUuuid *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":15827
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUuuid uuid = CUuuid()
 *     err = ccuda.cuDeviceGetUuid(<ccuda.CUuuid*>uuid._ptr, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), uuid)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuDeviceGetUuid(((CUuuid *)__pyx_v_uuid->__pyx_base._ptr), __pyx_v_cdev); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 15827, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":15828
 *     cdef CUuuid uuid = CUuuid()
 *     err = ccuda.cuDeviceGetUuid(<ccuda.CUuuid*>uuid._ptr, cdev)
 *     return (CUresult(err), uuid)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 15828, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_uuid);
  __Pyx_GIVEREF((PyObject *)__pyx_v_uuid);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_uuid))) __PYX_ERR(1, 15828, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15790
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15830
 *     return (CUresult(err), uuid)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetUuid_v2(dev):
 *     """ Return an UUID for the device (11.4+)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_17cuDeviceGetUuid_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_16cuDeviceGetUuid_v2, "cuDeviceGetUuid_v2(dev)\n Return an UUID for the device (11.4+)\n\n    Returns 16-octets identifying the device `dev` in the structure pointed\n    by the `uuid`. If the device is in MIG mode, returns its MIG UUID which\n    uniquely identifies the subscribed MIG compute instance.\n\n    Parameters\n    ----------\n    dev : :py:obj:`~.CUdevice`\n        Device to get identifier string 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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    uuid : :py:obj:`~.CUuuid`\n        Returned UUID\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetLuid`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceTotalMem`, :py:obj:`~.cudaGetDeviceProperties`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_17cuDeviceGetUuid_v2 = {"cuDeviceGetUuid_v2", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17cuDeviceGetUuid_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16cuDeviceGetUuid_v2};
static PyObject *__pyx_pw_4cuda_4cuda_17cuDeviceGetUuid_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetUuid_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15830, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGetUuid_v2") < 0)) __PYX_ERR(1, 15830, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetUuid_v2", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 15830, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetUuid_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_16cuDeviceGetUuid_v2(__pyx_self, __pyx_v_dev);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_16cuDeviceGetUuid_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_4cuda_CUuuid *__pyx_v_uuid = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__488)
  __Pyx_RefNannySetupContext("cuDeviceGetUuid_v2", 1);
  __Pyx_TraceCall("cuDeviceGetUuid_v2", __pyx_f[1], 15830, 0, __PYX_ERR(1, 15830, __pyx_L1_error));

  /* "cuda/cuda.pyx":15855
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15856
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":15855
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15857
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15858
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15858, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":15859
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 15859, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":15857
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15861
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUuuid uuid = CUuuid()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":15862
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUuuid uuid = CUuuid()
 *     err = ccuda.cuDeviceGetUuid_v2(<ccuda.CUuuid*>uuid._ptr, cdev)
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 15862, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15863
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUuuid uuid = CUuuid()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGetUuid_v2(<ccuda.CUuuid*>uuid._ptr, cdev)
 *     return (CUresult(err), uuid)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUuuid)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_uuid = ((struct __pyx_obj_4cuda_4cuda_CUuuid *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":15864
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUuuid uuid = CUuuid()
 *     err = ccuda.cuDeviceGetUuid_v2(<ccuda.CUuuid*>uuid._ptr, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), uuid)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuDeviceGetUuid_v2(((CUuuid *)__pyx_v_uuid->__pyx_base._ptr), __pyx_v_cdev); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 15864, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":15865
 *     cdef CUuuid uuid = CUuuid()
 *     err = ccuda.cuDeviceGetUuid_v2(<ccuda.CUuuid*>uuid._ptr, cdev)
 *     return (CUresult(err), uuid)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 15865, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_uuid);
  __Pyx_GIVEREF((PyObject *)__pyx_v_uuid);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_uuid))) __PYX_ERR(1, 15865, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15830
 *     return (CUresult(err), uuid)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetUuid_v2(dev):
 *     """ Return an UUID for the device (11.4+)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetUuid_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF((PyObject *)__pyx_v_uuid);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15867
 *     return (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_4cuda_19cuDeviceGetLuid(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_18cuDeviceGetLuid, "cuDeviceGetLuid(dev)\n Return an LUID and device node mask for the device.\n\n    Return identifying information (`luid` and `deviceNodeMask`) to allow\n    matching device with graphics APIs.\n\n    Parameters\n    ----------\n    dev : :py:obj:`~.CUdevice`\n        Device to get identifier string 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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    luid : bytes\n        Returned LUID\n    deviceNodeMask : unsigned int\n        Returned device node mask\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceTotalMem`, :py:obj:`~.cuDeviceGetExecAffinitySupport`, :py:obj:`~.cudaGetDeviceProperties`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_19cuDeviceGetLuid = {"cuDeviceGetLuid", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_19cuDeviceGetLuid, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18cuDeviceGetLuid};
static PyObject *__pyx_pw_4cuda_4cuda_19cuDeviceGetLuid(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetLuid (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15867, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGetLuid") < 0)) __PYX_ERR(1, 15867, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetLuid", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 15867, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetLuid", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_18cuDeviceGetLuid(__pyx_self, __pyx_v_dev);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_18cuDeviceGetLuid(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  char __pyx_v_luid[8];
  unsigned int __pyx_v_deviceNodeMask;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__489)
  __Pyx_RefNannySetupContext("cuDeviceGetLuid", 1);
  __Pyx_TraceCall("cuDeviceGetLuid", __pyx_f[1], 15867, 0, __PYX_ERR(1, 15867, __pyx_L1_error));

  /* "cuda/cuda.pyx":15893
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15894
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":15893
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15895
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15896
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":15897
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 15897, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":15895
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15899
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef char luid[8]
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":15900
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef char luid[8]
 *     cdef unsigned int deviceNodeMask = 0
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 15900, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15902
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef char luid[8]
 *     cdef unsigned int deviceNodeMask = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGetLuid(luid, &deviceNodeMask, cdev)
 *     return (CUresult(err), <bytes>luid, deviceNodeMask)
 */
  __pyx_v_deviceNodeMask = 0;

  /* "cuda/cuda.pyx":15903
 *     cdef char luid[8]
 *     cdef unsigned int deviceNodeMask = 0
 *     err = ccuda.cuDeviceGetLuid(luid, &deviceNodeMask, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), <bytes>luid, deviceNodeMask)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuDeviceGetLuid(__pyx_v_luid, (&__pyx_v_deviceNodeMask), __pyx_v_cdev); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 15903, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":15904
 *     cdef unsigned int deviceNodeMask = 0
 *     err = ccuda.cuDeviceGetLuid(luid, &deviceNodeMask, cdev)
 *     return (CUresult(err), <bytes>luid, deviceNodeMask)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyObject_FromString(__pyx_v_luid); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_deviceNodeMask); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 15904, __pyx_L1_error);
  __Pyx_INCREF(((PyObject*)__pyx_t_2));
  __Pyx_GIVEREF(((PyObject*)__pyx_t_2));
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 15904, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6)) __PYX_ERR(1, 15904, __pyx_L1_error);
  __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15867
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetLuid", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15906
 *     return (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_4cuda_21cuDeviceTotalMem(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_20cuDeviceTotalMem, "cuDeviceTotalMem(dev)\n Returns the total amount of memory on the device.\n\n    Returns in `*bytes` the total amount of memory available on the device\n    `dev` in bytes.\n\n    Parameters\n    ----------\n    dev : :py:obj:`~.CUdevice`\n        Device handle\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    numbytes : int\n        Returned memory available on device in bytes\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetUuid`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceGetExecAffinitySupport`, :py:obj:`~.cudaMemGetInfo`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_21cuDeviceTotalMem = {"cuDeviceTotalMem", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21cuDeviceTotalMem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20cuDeviceTotalMem};
static PyObject *__pyx_pw_4cuda_4cuda_21cuDeviceTotalMem(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceTotalMem (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15906, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceTotalMem") < 0)) __PYX_ERR(1, 15906, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceTotalMem", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 15906, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceTotalMem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_20cuDeviceTotalMem(__pyx_self, __pyx_v_dev);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_20cuDeviceTotalMem(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  size_t __pyx_v_numbytes;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__490)
  __Pyx_RefNannySetupContext("cuDeviceTotalMem", 1);
  __Pyx_TraceCall("cuDeviceTotalMem", __pyx_f[1], 15906, 0, __PYX_ERR(1, 15906, __pyx_L1_error));

  /* "cuda/cuda.pyx":15930
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15931
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":15930
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15932
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15933
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15933, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":15934
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 15934, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":15932
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15936
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef size_t numbytes = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15936, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15936, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":15937
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef size_t numbytes = 0
 *     err = ccuda.cuDeviceTotalMem(&numbytes, cdev)
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 15937, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15938
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef size_t numbytes = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceTotalMem(&numbytes, cdev)
 *     return (CUresult(err), numbytes)
 */
  __pyx_v_numbytes = 0;

  /* "cuda/cuda.pyx":15939
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef size_t numbytes = 0
 *     err = ccuda.cuDeviceTotalMem(&numbytes, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), numbytes)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuDeviceTotalMem((&__pyx_v_numbytes), __pyx_v_cdev); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 15939, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":15940
 *     cdef size_t numbytes = 0
 *     err = ccuda.cuDeviceTotalMem(&numbytes, cdev)
 *     return (CUresult(err), numbytes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15940, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15940, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_numbytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15940, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15940, __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)) __PYX_ERR(1, 15940, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 15940, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15906
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuDeviceTotalMem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15942
 *     return (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_4cuda_23cuDeviceGetTexture1DLinearMaxWidth(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_22cuDeviceGetTexture1DLinearMaxWidth, "cuDeviceGetTexture1DLinearMaxWidth(pformat: CUarray_format, unsigned int numChannels, dev)\n Returns the maximum number of elements allocatable in a 1D linear texture for a given texture element size.\n\n    Returns in `maxWidthInElements` the maximum number of texture elements\n    allocatable in a 1D linear texture for given `pformat` and\n    `numChannels`.\n\n    Parameters\n    ----------\n    pformat : :py:obj:`~.CUarray_format`\n        Texture format.\n    numChannels : unsigned\n        Number of channels per texture element.\n    dev : :py:obj:`~.CUdevice`\n        Device handle.\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    maxWidthInElements : int\n        Returned maximum number of texture elements allocatable for given\n        `pformat` and `numChannels`.\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetUuid`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cudaMemGetInfo`, :py:obj:`~.cuDeviceTotalMem`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_23cuDeviceGetTexture1DLinearMaxWidth = {"cuDeviceGetTexture1DLinearMaxWidth", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_23cuDeviceGetTexture1DLinearMaxWidth, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_22cuDeviceGetTexture1DLinearMaxWidth};
static PyObject *__pyx_pw_4cuda_4cuda_23cuDeviceGetTexture1DLinearMaxWidth(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_pformat = 0;
  unsigned int __pyx_v_numChannels;
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetTexture1DLinearMaxWidth (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pformat,&__pyx_n_s_numChannels_2,&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pformat)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15942, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numChannels_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15942, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceGetTexture1DLinearMaxWidth", 1, 3, 3, 1); __PYX_ERR(1, 15942, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15942, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceGetTexture1DLinearMaxWidth", 1, 3, 3, 2); __PYX_ERR(1, 15942, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGetTexture1DLinearMaxWidth") < 0)) __PYX_ERR(1, 15942, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_pformat = values[0];
    __pyx_v_numChannels = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_numChannels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 15943, __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(1, 15942, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 15943, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_22cuDeviceGetTexture1DLinearMaxWidth(__pyx_self, __pyx_v_pformat, __pyx_v_numChannels, __pyx_v_dev);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_22cuDeviceGetTexture1DLinearMaxWidth(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pformat, unsigned int __pyx_v_numChannels, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  size_t __pyx_v_maxWidthInElements;
  CUarray_format __pyx_v_cpformat;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUarray_format __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__491)
  __Pyx_RefNannySetupContext("cuDeviceGetTexture1DLinearMaxWidth", 1);
  __Pyx_TraceCall("cuDeviceGetTexture1DLinearMaxWidth", __pyx_f[1], 15942, 0, __PYX_ERR(1, 15942, __pyx_L1_error));

  /* "cuda/cuda.pyx":15972
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15973
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":15972
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15974
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":15975
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15975, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":15976
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 15976, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":15974
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":15978
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef size_t maxWidthInElements = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15978, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15978, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":15979
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef size_t maxWidthInElements = 0
 *     cdef ccuda.CUarray_format cpformat = pformat.value
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 15979, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":15980
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef size_t maxWidthInElements = 0             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUarray_format cpformat = pformat.value
 *     err = ccuda.cuDeviceGetTexture1DLinearMaxWidth(&maxWidthInElements, cpformat, numChannels, cdev)
 */
  __pyx_v_maxWidthInElements = 0;

  /* "cuda/cuda.pyx":15981
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef size_t maxWidthInElements = 0
 *     cdef ccuda.CUarray_format cpformat = pformat.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGetTexture1DLinearMaxWidth(&maxWidthInElements, cpformat, numChannels, cdev)
 *     return (CUresult(err), maxWidthInElements)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_pformat, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUarray_format_enum)__Pyx_PyInt_As_enum__CUarray_format_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15981, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cpformat = __pyx_t_5;

  /* "cuda/cuda.pyx":15982
 *     cdef size_t maxWidthInElements = 0
 *     cdef ccuda.CUarray_format cpformat = pformat.value
 *     err = ccuda.cuDeviceGetTexture1DLinearMaxWidth(&maxWidthInElements, cpformat, numChannels, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), maxWidthInElements)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuDeviceGetTexture1DLinearMaxWidth((&__pyx_v_maxWidthInElements), __pyx_v_cpformat, __pyx_v_numChannels, __pyx_v_cdev); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 15982, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":15983
 *     cdef ccuda.CUarray_format cpformat = pformat.value
 *     err = ccuda.cuDeviceGetTexture1DLinearMaxWidth(&maxWidthInElements, cpformat, numChannels, cdev)
 *     return (CUresult(err), maxWidthInElements)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15983, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_maxWidthInElements); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 15983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 15983, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 15983, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15942
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetTexture1DLinearMaxWidth", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":15985
 *     return (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_4cuda_25cuDeviceGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_24cuDeviceGetAttribute, "cuDeviceGetAttribute(attrib: CUdevice_attribute, dev)\n Returns information about the device.\n\n    Returns in `*pi` the integer value of the attribute `attrib` on device\n    `dev`. The supported attributes are:\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK`: Maximum number\n      of threads per block;\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X`: Maximum x-dimension\n      of a block\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y`: Maximum y-dimension\n      of a block\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z`: Maximum z-dimension\n      of a block\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X`: Maximum x-dimension\n      of a grid\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y`: Maximum y-dimension\n      of a grid\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z`: Maximum z-dimension\n      of a grid\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK`: Maximum\n      amount of shared memory available to a thread block in bytes\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY`: Memory\n      available on device for constant variables in a CUDA C kernel in\n      bytes\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_WARP_SIZE`: Warp size in threads\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_PITCH`: Maximum pitch in bytes\n      allowed by the memory copy functions that involve memory regions\n      allocated through :py:obj:`~.cuMemAllocPitch()`\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH`: Maximum 1D\n      texture width\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH`:\n      Maximum width for a 1D texture bound to linear memory\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH`:\n      Maximum mipmapped 1D texture width\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH`: Maximum 2D\n      texture width\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT`: Maximum 2D\n    ""  texture height\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH`:\n      Maximum width for a 2D texture bound to linear memory\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT`:\n      Maximum height for a 2D texture bound to linear memory\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH`:\n      Maximum pitch in bytes for a 2D texture bound to linear memory\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH`:\n      Maximum mipmapped 2D texture width\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT`:\n      Maximum mipmapped 2D texture height\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH`: Maximum 3D\n      texture width\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT`: Maximum 3D\n      texture height\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH`: Maximum 3D\n      texture depth\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE`:\n      Alternate maximum 3D texture width, 0 if no alternate maximum 3D\n      texture size is supported\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE`:\n      Alternate maximum 3D texture height, 0 if no alternate maximum 3D\n      texture size is supported\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE`:\n      Alternate maximum 3D texture depth, 0 if no alternate maximum 3D\n      texture size is supported\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH`: Maximum\n      cubemap texture width or height\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH`:\n      Maximum 1D layered texture width\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS`:\n      Maximum layers in a 1D layered texture\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH`:\n      Maximum 2D layered texture width\n\n    - :py:obj:`~.CU_D""EVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT`:\n      Maximum 2D layered texture height\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS`:\n      Maximum layers in a 2D layered texture\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH`:\n      Maximum cubemap layered texture width or height\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS`:\n      Maximum layers in a cubemap layered texture\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH`: Maximum 1D\n      surface width\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH`: Maximum 2D\n      surface width\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT`: Maximum 2D\n      surface height\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH`: Maximum 3D\n      surface width\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT`: Maximum 3D\n      surface height\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH`: Maximum 3D\n      surface depth\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH`:\n      Maximum 1D layered surface width\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS`:\n      Maximum layers in a 1D layered surface\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH`:\n      Maximum 2D layered surface width\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT`:\n      Maximum 2D layered surface height\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS`:\n      Maximum layers in a 2D layered surface\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH`: Maximum\n      cubemap surface width\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH`:\n      Maximum cubemap layered surface width\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS`:\n      Maximum layers in a cubem""ap layered surface\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK`: Maximum\n      number of 32-bit registers available to a thread block\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_CLOCK_RATE`: The typical clock\n      frequency in kilohertz\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT`: Alignment\n      requirement; texture base addresses aligned to\n      :py:obj:`~.textureAlign` bytes do not need an offset applied to\n      texture fetches\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT`: Pitch\n      alignment requirement for 2D texture references bound to pitched\n      memory\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_GPU_OVERLAP`: 1 if the device can\n      concurrently copy memory between host and device while executing a\n      kernel, or 0 if not\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT`: Number of\n      multiprocessors on the device\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT`: 1 if there is a\n      run time limit for kernels executed on the device, or 0 if not\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_INTEGRATED`: 1 if the device is\n      integrated with the memory subsystem, or 0 if not\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY`: 1 if the device\n      can map host memory into the CUDA address space, or 0 if not\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_COMPUTE_MODE`: Compute mode that\n      device is currently in. Available modes are as follows:\n\n      - :py:obj:`~.CU_COMPUTEMODE_DEFAULT`: Default mode - Device is not\n        restricted and can have multiple CUDA contexts present at a single\n        time.\n\n      - :py:obj:`~.CU_COMPUTEMODE_PROHIBITED`: Compute-prohibited mode -\n        Device is prohibited from creating new CUDA contexts.\n\n      - :py:obj:`~.CU_COMPUTEMODE_EXCLUSIVE_PROCESS`: Compute-exclusive-\n        process mode - Device can have only one context used by a single\n        process at a time.\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_""CONCURRENT_KERNELS`: 1 if the device\n      supports executing multiple kernels within the same context\n      simultaneously, or 0 if not. It is not guaranteed that multiple\n      kernels will be resident on the device concurrently so this feature\n      should not be relied upon for correctness.\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_ECC_ENABLED`: 1 if error correction is\n      enabled on the device, 0 if error correction is disabled or not\n      supported by the device\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_PCI_BUS_ID`: PCI bus identifier of the\n      device\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID`: PCI device (also known\n      as slot) identifier of the device\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID`: PCI domain identifier\n      of the device\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_TCC_DRIVER`: 1 if the device is using\n      a TCC driver. TCC is only available on Tesla hardware running Windows\n      Vista or later\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE`: Peak memory clock\n      frequency in kilohertz\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH`: Global\n      memory bus width in bits\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE`: Size of L2 cache in\n      bytes. 0 if the device doesn't have L2 cache\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR`:\n      Maximum resident threads per multiprocessor\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING`: 1 if the device\n      shares a unified address space with the host, or 0 if not\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR`: Major\n      compute capability version number\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR`: Minor\n      compute capability version number\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED`: 1 if\n      device supports caching globals in L1 cache, 0 if caching globals in\n      L1 cache is not supported by the device""\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED`: 1 if device\n      supports caching locals in L1 cache, 0 if caching locals in L1 cache\n      is not supported by the device\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR`:\n      Maximum amount of shared memory available to a multiprocessor in\n      bytes; this amount is shared by all thread blocks simultaneously\n      resident on a multiprocessor\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR`:\n      Maximum number of 32-bit registers available to a multiprocessor;\n      this number is shared by all thread blocks simultaneously resident on\n      a multiprocessor\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY`: 1 if device supports\n      allocating managed memory on this system, 0 if allocating managed\n      memory is not supported by the device on this system.\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD`: 1 if device is on a\n      multi-GPU board, 0 if not.\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID`: Unique\n      identifier for a group of devices associated with the same board.\n      Devices on the same multi-GPU board will share the same identifier.\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED`: 1 if\n      Link between the device and the host supports native atomic\n      operations.\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO`:\n      Ratio of single precision performance (in floating-point operations\n      per second) to double precision performance.\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`: Device\n      supports coherently accessing pageable memory without calling\n      cudaHostRegister on it.\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`: Device can\n      coherently access managed memory concurrently with the CPU.\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPOR""TED`: Device\n      supports Compute Preemption.\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM`:\n      Device can access host registered memory at the same virtual address\n      as the CPU.\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN`:\n      The maximum per block shared memory size supported on this device.\n      This is the maximum value that can be opted into when using the\n      :py:obj:`~.cuFuncSetAttribute()` or\n      :py:obj:`~.cuKernelSetAttribute()` call. For more details see\n      :py:obj:`~.CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES`\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`:\n      Device accesses pageable memory via the host's page tables.\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST`:\n      The host can directly access managed memory on the device without\n      migration.\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED`:\n      Device supports virtual memory management APIs like\n      :py:obj:`~.cuMemAddressReserve`, :py:obj:`~.cuMemCreate`,\n      :py:obj:`~.cuMemMap` and related APIs\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED`:\n      Device supports exporting memory to a posix file descriptor with\n      :py:obj:`~.cuMemExportToShareableHandle`, if requested via\n      :py:obj:`~.cuMemCreate`\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED`:\n      Device supports exporting memory to a Win32 NT handle with\n      :py:obj:`~.cuMemExportToShareableHandle`, if requested via\n      :py:obj:`~.cuMemCreate`\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED`:\n      Device supports exporting memory to a Win32 KMT handle with\n      :py:obj:`~.cuMemExportToShareableHandle`, if requested via\n      :py:obj:`~.cuMemCreate`\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROC""ESSOR`:\n      Maximum number of thread blocks that can reside on a multiprocessor\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED`: Device\n      supports compressible memory allocation via :py:obj:`~.cuMemCreate`\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE`: Maximum\n      L2 persisting lines capacity setting in bytes\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE`:\n      Maximum value of :py:obj:`~.CUaccessPolicyWindow.num_bytes`\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED`:\n      Device supports specifying the GPUDirect RDMA flag with\n      :py:obj:`~.cuMemCreate`.\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK`:\n      Amount of shared memory per block reserved by CUDA driver in bytes\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED`: Device\n      supports sparse CUDA arrays and sparse CUDA mipmapped arrays.\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED`:\n      Device supports using the :py:obj:`~.cuMemHostRegister` flag\n      :py:obj:`~.CU_MEMHOSTERGISTER_READ_ONLY` to register memory that must\n      be mapped as read-only to the GPU\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED`: Device\n      supports using the :py:obj:`~.cuMemAllocAsync` and\n      :py:obj:`~.cuMemPool` family of APIs\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED`: Device\n      supports GPUDirect RDMA APIs, like nvidia_p2p_get_pages (see\n      https://docs.nvidia.com/cuda/gpudirect-rdma for more information)\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS`:\n      The returned attribute shall be interpreted as a bitmask, where the\n      individual bits are described by the\n      :py:obj:`~.CUflushGPUDirectRDMAWritesOptions` enum\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING`:\n      GPUDirect RDMA writes to the de""vice do not need to be flushed for\n      consumers within the scope indicated by the returned attribute. See\n      :py:obj:`~.CUGPUDirectRDMAWritesOrdering` for the numerical values\n      returned here.\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES`:\n      Bitmask of handle types supported with mempool based IPC\n\n    - :py:obj:`~.CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED`:\n      Device supports deferred mapping CUDA arrays and CUDA mipmapped\n      arrays.\n\n    Parameters\n    ----------\n    attrib : :py:obj:`~.CUdevice_attribute`\n        Device attribute to query\n    dev : :py:obj:`~.CUdevice`\n        Device handle\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    pi : int\n        Returned device attribute value\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_25cuDeviceGetAttribute = {"cuDeviceGetAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_25cuDeviceGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24cuDeviceGetAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_25cuDeviceGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_attrib = 0;
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDeviceGetAttribute (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_attrib,&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attrib)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15985, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 15985, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceGetAttribute", 1, 2, 2, 1); __PYX_ERR(1, 15985, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGetAttribute") < 0)) __PYX_ERR(1, 15985, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 15985, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 15986, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_24cuDeviceGetAttribute(__pyx_self, __pyx_v_attrib, __pyx_v_dev);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_24cuDeviceGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  int __pyx_v_pi;
  CUdevice_attribute __pyx_v_cattrib;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUdevice_attribute __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__492)
  __Pyx_RefNannySetupContext("cuDeviceGetAttribute", 1);
  __Pyx_TraceCall("cuDeviceGetAttribute", __pyx_f[1], 15985, 0, __PYX_ERR(1, 15985, __pyx_L1_error));

  /* "cuda/cuda.pyx":16389
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16390
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":16389
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16391
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16392
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":16393
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16393, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":16391
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16395
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef int pi = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":16396
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef int pi = 0
 *     cdef ccuda.CUdevice_attribute cattrib = attrib.value
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16396, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":16397
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef int pi = 0             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdevice_attribute cattrib = attrib.value
 *     err = ccuda.cuDeviceGetAttribute(&pi, cattrib, cdev)
 */
  __pyx_v_pi = 0;

  /* "cuda/cuda.pyx":16398
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef int pi = 0
 *     cdef ccuda.CUdevice_attribute cattrib = attrib.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGetAttribute(&pi, cattrib, cdev)
 *     return (CUresult(err), pi)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUdevice_attribute_enum)__Pyx_PyInt_As_enum__CUdevice_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16398, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattrib = __pyx_t_5;

  /* "cuda/cuda.pyx":16399
 *     cdef int pi = 0
 *     cdef ccuda.CUdevice_attribute cattrib = attrib.value
 *     err = ccuda.cuDeviceGetAttribute(&pi, cattrib, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pi)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuDeviceGetAttribute((&__pyx_v_pi), __pyx_v_cattrib, __pyx_v_cdev); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 16399, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":16400
 *     cdef ccuda.CUdevice_attribute cattrib = attrib.value
 *     err = ccuda.cuDeviceGetAttribute(&pi, cattrib, cdev)
 *     return (CUresult(err), pi)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 16400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_pi); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 16400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 16400, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 16400, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":15985
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":16402
 *     return (CUresult(err), pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetNvSciSyncAttributes(nvSciSyncAttrList, dev, int flags):
 *     """ Return NvSciSync attributes that this device can support.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_26cuDeviceGetNvSciSyncAttributes, "cuDeviceGetNvSciSyncAttributes(nvSciSyncAttrList, dev, int flags)\n Return NvSciSync attributes that this device can support.\n\n    Returns in `nvSciSyncAttrList`, the properties of NvSciSync that this\n    CUDA device, `dev` can support. The returned `nvSciSyncAttrList` can be\n    used to create an NvSciSync object that matches this device's\n    capabilities.\n\n    If NvSciSyncAttrKey_RequiredPerm field in `nvSciSyncAttrList` is\n    already set this API will return :py:obj:`~.CUDA_ERROR_INVALID_VALUE`.\n\n    The applications should set `nvSciSyncAttrList` to a valid\n    NvSciSyncAttrList failing which this API will return\n    :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`.\n\n    The `flags` controls how applications intends to use the NvSciSync\n    created 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\n    At 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\n    one another: a developer may set both these flags that allows to set\n    both wait and signal specific attributes in the same\n    `nvSciSyncAttrList`.\n\n    Note that this API updates the input `nvSciSyncAttrList` with values\n    equivalent to the following public attribute key-values:\n    NvSciSyncAttrKey_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_Primitiv""eInfo is set to\n\n    - NvSciSyncAttrValPrimitiveType_SysmemSemaphore on any valid `device`.\n\n    - NvSciSyncAttrValPrimitiveType_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\n    Parameters\n    ----------\n    nvSciSyncAttrList : Any\n        Return NvSciSync attributes supported.\n    dev : :py:obj:`~.CUdevice`\n        Valid Cuda Device to get NvSciSync attributes for.\n    flags : int\n        flags describing NvSciSync usage.\n\n    Returns\n    -------\n    CUresult\n\n\n    See Also\n    --------\n    :py:obj:`~.cuImportExternalSemaphore`, :py:obj:`~.cuDestroyExternalSemaphore`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_27cuDeviceGetNvSciSyncAttributes = {"cuDeviceGetNvSciSyncAttributes", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_27cuDeviceGetNvSciSyncAttributes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26cuDeviceGetNvSciSyncAttributes};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_nvSciSyncAttrList,&__pyx_n_s_dev,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nvSciSyncAttrList)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16402, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16402, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceGetNvSciSyncAttributes", 1, 3, 3, 1); __PYX_ERR(1, 16402, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16402, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceGetNvSciSyncAttributes", 1, 3, 3, 2); __PYX_ERR(1, 16402, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGetNvSciSyncAttributes") < 0)) __PYX_ERR(1, 16402, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_nvSciSyncAttrList = values[0];
    __pyx_v_dev = values[1];
    __pyx_v_flags = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_flags == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 16403, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetNvSciSyncAttributes", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 16402, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetNvSciSyncAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_26cuDeviceGetNvSciSyncAttributes(__pyx_self, __pyx_v_nvSciSyncAttrList, __pyx_v_dev, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_26cuDeviceGetNvSciSyncAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_nvSciSyncAttrList, PyObject *__pyx_v_dev, int __pyx_v_flags) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  PyObject *__pyx_v_cnvSciSyncAttrList = NULL;
  void *__pyx_v_cnvSciSyncAttrList_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__493)
  __Pyx_RefNannySetupContext("cuDeviceGetNvSciSyncAttributes", 1);
  __Pyx_TraceCall("cuDeviceGetNvSciSyncAttributes", __pyx_f[1], 16402, 0, __PYX_ERR(1, 16402, __pyx_L1_error));

  /* "cuda/cuda.pyx":16484
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16485
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":16484
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16486
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16487
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":16488
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16488, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":16486
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16490
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cnvSciSyncAttrList = utils.HelperInputVoidPtr(nvSciSyncAttrList)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16490, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16490, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":16491
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cnvSciSyncAttrList = utils.HelperInputVoidPtr(nvSciSyncAttrList)
 *     cdef void* cnvSciSyncAttrList_ptr = <void*><void_ptr>cnvSciSyncAttrList.cptr
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16491, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":16492
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     cnvSciSyncAttrList = utils.HelperInputVoidPtr(nvSciSyncAttrList)             # <<<<<<<<<<<<<<
 *     cdef void* cnvSciSyncAttrList_ptr = <void*><void_ptr>cnvSciSyncAttrList.cptr
 *     err = ccuda.cuDeviceGetNvSciSyncAttributes(cnvSciSyncAttrList_ptr, cdev, flags)
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_nvSciSyncAttrList); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cnvSciSyncAttrList = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":16493
 *         cdev = <ccuda.CUdevice>pdev
 *     cnvSciSyncAttrList = utils.HelperInputVoidPtr(nvSciSyncAttrList)
 *     cdef void* cnvSciSyncAttrList_ptr = <void*><void_ptr>cnvSciSyncAttrList.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGetNvSciSyncAttributes(cnvSciSyncAttrList_ptr, cdev, flags)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cnvSciSyncAttrList, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16493, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 16493, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cnvSciSyncAttrList_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

  /* "cuda/cuda.pyx":16494
 *     cnvSciSyncAttrList = utils.HelperInputVoidPtr(nvSciSyncAttrList)
 *     cdef void* cnvSciSyncAttrList_ptr = <void*><void_ptr>cnvSciSyncAttrList.cptr
 *     err = ccuda.cuDeviceGetNvSciSyncAttributes(cnvSciSyncAttrList_ptr, cdev, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuDeviceGetNvSciSyncAttributes(__pyx_v_cnvSciSyncAttrList_ptr, __pyx_v_cdev, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 16494, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":16495
 *     cdef void* cnvSciSyncAttrList_ptr = <void*><void_ptr>cnvSciSyncAttrList.cptr
 *     err = ccuda.cuDeviceGetNvSciSyncAttributes(cnvSciSyncAttrList_ptr, cdev, flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 16495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 16495, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":16402
 *     return (CUresult(err), pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetNvSciSyncAttributes(nvSciSyncAttrList, dev, int flags):
 *     """ Return NvSciSync attributes that this device can support.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetNvSciSyncAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF(__pyx_v_cnvSciSyncAttrList);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":16497
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceSetMemPool(dev, pool):
 *     """ Sets the current memory pool of a device.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_28cuDeviceSetMemPool, "cuDeviceSetMemPool(dev, pool)\n Sets the current memory pool of a device.\n\n    The memory pool must be local to the specified device.\n    :py:obj:`~.cuMemAllocAsync` allocates from the current mempool of the\n    provided stream's device. By default, a device's current memory pool is\n    its default memory pool.\n\n    Parameters\n    ----------\n    dev : :py:obj:`~.CUdevice`\n        None\n    pool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n        None\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`, :py:obj:`~.cuMemPoolDestroy`, :py:obj:`~.cuMemAllocFromPoolAsync`\n\n    Notes\n    -----\n    Use :py:obj:`~.cuMemAllocFromPoolAsync` to specify asynchronous allocations from a device different than the one the stream runs on.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_29cuDeviceSetMemPool = {"cuDeviceSetMemPool", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29cuDeviceSetMemPool, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28cuDeviceSetMemPool};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dev,&__pyx_n_s_pool,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16497, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pool)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16497, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceSetMemPool", 1, 2, 2, 1); __PYX_ERR(1, 16497, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceSetMemPool") < 0)) __PYX_ERR(1, 16497, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 16497, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceSetMemPool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_28cuDeviceSetMemPool(__pyx_self, __pyx_v_dev, __pyx_v_pool);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_28cuDeviceSetMemPool(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev, PyObject *__pyx_v_pool) {
  CUmemoryPool __pyx_v_cpool;
  PyObject *__pyx_v_ppool = NULL;
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__494)
  __Pyx_RefNannySetupContext("cuDeviceSetMemPool", 1);
  __Pyx_TraceCall("cuDeviceSetMemPool", __pyx_f[1], 16497, 0, __PYX_ERR(1, 16497, __pyx_L1_error));

  /* "cuda/cuda.pyx":16527
 *     """
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
  __pyx_t_1 = (__pyx_v_pool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16528
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 */
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":16527
 *     """
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16529
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16530
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":16531
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 16531, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":16529
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16533
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef ccuda.CUdevice cdev
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemoryPool), __pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":16534
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 16534, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":16536
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16537
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":16536
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":16538
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16539
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16539, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":16540
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_5 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16540, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_5);

    /* "cuda/cuda.pyx":16538
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":16542
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     err = ccuda.cuDeviceSetMemPool(cdev, cpool)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":16543
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceSetMemPool(cdev, cpool)
 *     return (CUresult(err),)
 */
    __pyx_t_5 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16543, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_5);
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":16544
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     err = ccuda.cuDeviceSetMemPool(cdev, cpool)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuDeviceSetMemPool(__pyx_v_cdev, __pyx_v_cpool); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 16544, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":16545
 *         cdev = <ccuda.CUdevice>pdev
 *     err = ccuda.cuDeviceSetMemPool(cdev, cpool)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 16545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16545, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 16545, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":16497
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":16547
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetMemPool(dev):
 *     """ Gets the current mempool for a device.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_30cuDeviceGetMemPool, "cuDeviceGetMemPool(dev)\n Gets the current mempool for a device.\n\n    Returns the last pool provided to :py:obj:`~.cuDeviceSetMemPool` for\n    this device or the device's default memory pool if\n    :py:obj:`~.cuDeviceSetMemPool` has never been called. By default the\n    current mempool is the default mempool for a device. Otherwise the\n    returned pool must have been set with :py:obj:`~.cuDeviceSetMemPool`.\n\n    Parameters\n    ----------\n    dev : :py:obj:`~.CUdevice`\n        None\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    pool : :py:obj:`~.CUmemoryPool`\n        None\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuMemPoolCreate`, :py:obj:`~.cuDeviceSetMemPool`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_31cuDeviceGetMemPool = {"cuDeviceGetMemPool", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31cuDeviceGetMemPool, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30cuDeviceGetMemPool};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16547, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGetMemPool") < 0)) __PYX_ERR(1, 16547, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetMemPool", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 16547, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetMemPool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_30cuDeviceGetMemPool(__pyx_self, __pyx_v_dev);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_30cuDeviceGetMemPool(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_pool = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__495)
  __Pyx_RefNannySetupContext("cuDeviceGetMemPool", 1);
  __Pyx_TraceCall("cuDeviceGetMemPool", __pyx_f[1], 16547, 0, __PYX_ERR(1, 16547, __pyx_L1_error));

  /* "cuda/cuda.pyx":16574
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16575
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":16574
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16576
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16577
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":16578
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16578, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":16576
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16580
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUmemoryPool pool = CUmemoryPool()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":16581
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUmemoryPool pool = CUmemoryPool()
 *     err = ccuda.cuDeviceGetMemPool(<ccuda.CUmemoryPool*>pool._ptr, cdev)
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16581, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":16582
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUmemoryPool pool = CUmemoryPool()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGetMemPool(<ccuda.CUmemoryPool*>pool._ptr, cdev)
 *     return (CUresult(err), pool)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemoryPool)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pool = ((struct __pyx_obj_4cuda_4cuda_CUmemoryPool *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":16583
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUmemoryPool pool = CUmemoryPool()
 *     err = ccuda.cuDeviceGetMemPool(<ccuda.CUmemoryPool*>pool._ptr, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pool)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuDeviceGetMemPool(((CUmemoryPool *)__pyx_v_pool->_ptr), __pyx_v_cdev); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 16583, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":16584
 *     cdef CUmemoryPool pool = CUmemoryPool()
 *     err = ccuda.cuDeviceGetMemPool(<ccuda.CUmemoryPool*>pool._ptr, cdev)
 *     return (CUresult(err), pool)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 16584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 16584, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pool);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pool);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pool))) __PYX_ERR(1, 16584, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":16547
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":16586
 *     return (CUresult(err), pool)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetDefaultMemPool(dev):
 *     """ Returns the default mempool of a device.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_32cuDeviceGetDefaultMemPool, "cuDeviceGetDefaultMemPool(dev)\n Returns the default mempool of a device.\n\n    The default mempool of a device contains device memory from that\n    device.\n\n    Parameters\n    ----------\n    dev : :py:obj:`~.CUdevice`\n        None\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n    pool_out : :py:obj:`~.CUmemoryPool`\n        None\n\n    See Also\n    --------\n    :py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemPoolTrimTo`, :py:obj:`~.cuMemPoolGetAttribute`, :py:obj:`~.cuMemPoolSetAttribute`, :py:obj:`~.cuMemPoolSetAccess`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_33cuDeviceGetDefaultMemPool = {"cuDeviceGetDefaultMemPool", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_33cuDeviceGetDefaultMemPool, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32cuDeviceGetDefaultMemPool};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16586, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGetDefaultMemPool") < 0)) __PYX_ERR(1, 16586, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetDefaultMemPool", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 16586, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetDefaultMemPool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_32cuDeviceGetDefaultMemPool(__pyx_self, __pyx_v_dev);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_32cuDeviceGetDefaultMemPool(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_pool_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__496)
  __Pyx_RefNannySetupContext("cuDeviceGetDefaultMemPool", 1);
  __Pyx_TraceCall("cuDeviceGetDefaultMemPool", __pyx_f[1], 16586, 0, __PYX_ERR(1, 16586, __pyx_L1_error));

  /* "cuda/cuda.pyx":16610
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16611
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":16610
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16612
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16613
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":16614
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16614, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":16612
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16616
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUmemoryPool pool_out = CUmemoryPool()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":16617
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUmemoryPool pool_out = CUmemoryPool()
 *     err = ccuda.cuDeviceGetDefaultMemPool(<ccuda.CUmemoryPool*>pool_out._ptr, cdev)
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16617, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":16618
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUmemoryPool pool_out = CUmemoryPool()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGetDefaultMemPool(<ccuda.CUmemoryPool*>pool_out._ptr, cdev)
 *     return (CUresult(err), pool_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemoryPool)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pool_out = ((struct __pyx_obj_4cuda_4cuda_CUmemoryPool *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":16619
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUmemoryPool pool_out = CUmemoryPool()
 *     err = ccuda.cuDeviceGetDefaultMemPool(<ccuda.CUmemoryPool*>pool_out._ptr, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pool_out)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuDeviceGetDefaultMemPool(((CUmemoryPool *)__pyx_v_pool_out->_ptr), __pyx_v_cdev); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 16619, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":16620
 *     cdef CUmemoryPool pool_out = CUmemoryPool()
 *     err = ccuda.cuDeviceGetDefaultMemPool(<ccuda.CUmemoryPool*>pool_out._ptr, cdev)
 *     return (CUresult(err), pool_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 16620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16620, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 16620, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pool_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pool_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pool_out))) __PYX_ERR(1, 16620, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":16586
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":16622
 *     return (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_4cuda_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_4cuda_34cuDeviceGetExecAffinitySupport, "cuDeviceGetExecAffinitySupport(typename: CUexecAffinityType, dev)\n Returns information about the execution affinity support of the device.\n\n    Returns in `*pi` whether execution affinity type `typename` is\n    supported 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\n    Parameters\n    ----------\n    typename : :py:obj:`~.CUexecAffinityType`\n        Execution affinity type to query\n    dev : :py:obj:`~.CUdevice`\n        Device handle\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    pi : int\n        1 if the execution affinity type `typename` is supported by the\n        device, or 0 if not\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetUuid`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceTotalMem`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_35cuDeviceGetExecAffinitySupport = {"cuDeviceGetExecAffinitySupport", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35cuDeviceGetExecAffinitySupport, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_34cuDeviceGetExecAffinitySupport};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_typename,&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_typename)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16622, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16622, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceGetExecAffinitySupport", 1, 2, 2, 1); __PYX_ERR(1, 16622, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGetExecAffinitySupport") < 0)) __PYX_ERR(1, 16622, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 16622, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 16623, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_34cuDeviceGetExecAffinitySupport(__pyx_self, __pyx_v_typename, __pyx_v_dev);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_34cuDeviceGetExecAffinitySupport(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_typename, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  int __pyx_v_pi;
  CUexecAffinityType __pyx_v_ctypename;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUexecAffinityType __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__497)
  __Pyx_RefNannySetupContext("cuDeviceGetExecAffinitySupport", 1);
  __Pyx_TraceCall("cuDeviceGetExecAffinitySupport", __pyx_f[1], 16622, 0, __PYX_ERR(1, 16622, __pyx_L1_error));

  /* "cuda/cuda.pyx":16652
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16653
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":16652
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16654
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16655
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16655, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":16656
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16656, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":16654
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16658
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef int pi = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16658, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16658, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":16659
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef int pi = 0
 *     cdef ccuda.CUexecAffinityType ctypename = typename.value
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16659, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":16660
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef int pi = 0             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUexecAffinityType ctypename = typename.value
 *     err = ccuda.cuDeviceGetExecAffinitySupport(&pi, ctypename, cdev)
 */
  __pyx_v_pi = 0;

  /* "cuda/cuda.pyx":16661
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef int pi = 0
 *     cdef ccuda.CUexecAffinityType ctypename = typename.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGetExecAffinitySupport(&pi, ctypename, cdev)
 *     return (CUresult(err), pi)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUexecAffinityType_enum)__Pyx_PyInt_As_enum__CUexecAffinityType_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16661, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_ctypename = __pyx_t_5;

  /* "cuda/cuda.pyx":16662
 *     cdef int pi = 0
 *     cdef ccuda.CUexecAffinityType ctypename = typename.value
 *     err = ccuda.cuDeviceGetExecAffinitySupport(&pi, ctypename, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pi)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuDeviceGetExecAffinitySupport((&__pyx_v_pi), __pyx_v_ctypename, __pyx_v_cdev); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 16662, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":16663
 *     cdef ccuda.CUexecAffinityType ctypename = typename.value
 *     err = ccuda.cuDeviceGetExecAffinitySupport(&pi, ctypename, cdev)
 *     return (CUresult(err), pi)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 16663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_pi); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 16663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 16663, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 16663, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":16622
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetExecAffinitySupport", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":16665
 *     return (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_4cuda_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_4cuda_36cuFlushGPUDirectRDMAWrites, "cuFlushGPUDirectRDMAWrites(target: CUflushGPUDirectRDMAWritesTarget, scope: CUflushGPUDirectRDMAWritesScope)\n Blocks until remote writes are visible to the specified scope.\n\n    Blocks until GPUDirect RDMA writes to the target context via mappings\n    created through APIs like nvidia_p2p_get_pages (see\n    https://docs.nvidia.com/cuda/gpudirect-rdma for more information), are\n    visible to the specified scope.\n\n    If the scope equals or lies within the scope indicated by\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING`, the\n    call will be a no-op and can be safely omitted for performance. This\n    can be determined by comparing the numerical values between the two\n    enums, with smaller scopes having smaller values.\n\n    Users may query support for this API via\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_FLUSH_FLUSH_GPU_DIRECT_RDMA_OPTIONS`.\n\n    Parameters\n    ----------\n    target : :py:obj:`~.CUflushGPUDirectRDMAWritesTarget`\n        The target of the operation, see\n        :py:obj:`~.CUflushGPUDirectRDMAWritesTarget`\n    scope : :py:obj:`~.CUflushGPUDirectRDMAWritesScope`\n        The scope of the operation, see\n        :py:obj:`~.CUflushGPUDirectRDMAWritesScope`\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_VALUE`,\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_37cuFlushGPUDirectRDMAWrites = {"cuFlushGPUDirectRDMAWrites", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_37cuFlushGPUDirectRDMAWrites, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_36cuFlushGPUDirectRDMAWrites};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_target,&__pyx_n_s_scope,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_target)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16665, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_scope)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16665, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuFlushGPUDirectRDMAWrites", 1, 2, 2, 1); __PYX_ERR(1, 16665, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuFlushGPUDirectRDMAWrites") < 0)) __PYX_ERR(1, 16665, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 16665, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 16666, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_scope) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "scope"); __PYX_ERR(1, 16666, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_36cuFlushGPUDirectRDMAWrites(__pyx_self, __pyx_v_target, __pyx_v_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_36cuFlushGPUDirectRDMAWrites(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_target, PyObject *__pyx_v_scope) {
  CUflushGPUDirectRDMAWritesTarget __pyx_v_ctarget;
  CUflushGPUDirectRDMAWritesScope __pyx_v_cscope;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__498)
  __Pyx_RefNannySetupContext("cuFlushGPUDirectRDMAWrites", 1);
  __Pyx_TraceCall("cuFlushGPUDirectRDMAWrites", __pyx_f[1], 16665, 0, __PYX_ERR(1, 16665, __pyx_L1_error));

  /* "cuda/cuda.pyx":16697
 *         :py:obj:`~.CUDA_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 ccuda.CUflushGPUDirectRDMAWritesTarget ctarget = target.value             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUflushGPUDirectRDMAWritesScope cscope = scope.value
 *     err = ccuda.cuFlushGPUDirectRDMAWrites(ctarget, cscope)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_target, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 16697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUflushGPUDirectRDMAWritesTarget_enum)__Pyx_PyInt_As_enum__CUflushGPUDirectRDMAWritesTarget_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16697, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ctarget = __pyx_t_2;

  /* "cuda/cuda.pyx":16698
 *     """
 *     cdef ccuda.CUflushGPUDirectRDMAWritesTarget ctarget = target.value
 *     cdef ccuda.CUflushGPUDirectRDMAWritesScope cscope = scope.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuFlushGPUDirectRDMAWrites(ctarget, cscope)
 *     return (CUresult(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_scope, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 16698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum CUflushGPUDirectRDMAWritesScope_enum)__Pyx_PyInt_As_enum__CUflushGPUDirectRDMAWritesScope_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16698, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cscope = __pyx_t_3;

  /* "cuda/cuda.pyx":16699
 *     cdef ccuda.CUflushGPUDirectRDMAWritesTarget ctarget = target.value
 *     cdef ccuda.CUflushGPUDirectRDMAWritesScope cscope = scope.value
 *     err = ccuda.cuFlushGPUDirectRDMAWrites(ctarget, cscope)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_5ccuda_cuFlushGPUDirectRDMAWrites(__pyx_v_ctarget, __pyx_v_cscope); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 16699, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cuda.pyx":16700
 *     cdef ccuda.CUflushGPUDirectRDMAWritesScope cscope = scope.value
 *     err = ccuda.cuFlushGPUDirectRDMAWrites(ctarget, cscope)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 16700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 16700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 16700, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 16700, __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)) __PYX_ERR(1, 16700, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":16665
 *     return (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_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuFlushGPUDirectRDMAWrites", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":16702
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetProperties(dev):
 *     """ Returns properties for a selected device.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_38cuDeviceGetProperties, "cuDeviceGetProperties(dev)\n Returns properties for a selected device.\n\n    [Deprecated]\n\n    This function was deprecated as of CUDA 5.0 and replaced by\n    :py:obj:`~.cuDeviceGetAttribute()`.\n\n    Returns 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\n    where:\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\n    Parameters\n    ----------\n    dev : :py:obj:`~.CUdevice`\n        Device to get properties 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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    prop : :py:obj:`~.CUdevprop`\n        Returned properties of device\n\n    See Also\n    --------\n    :py:obj:`~.cuDevi""ceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetUuid`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceTotalMem`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_39cuDeviceGetProperties = {"cuDeviceGetProperties", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_39cuDeviceGetProperties, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_38cuDeviceGetProperties};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16702, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGetProperties") < 0)) __PYX_ERR(1, 16702, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetProperties", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 16702, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetProperties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_38cuDeviceGetProperties(__pyx_self, __pyx_v_dev);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_38cuDeviceGetProperties(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_4cuda_CUdevprop *__pyx_v_prop = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__499)
  __Pyx_RefNannySetupContext("cuDeviceGetProperties", 1);
  __Pyx_TraceCall("cuDeviceGetProperties", __pyx_f[1], 16702, 0, __PYX_ERR(1, 16702, __pyx_L1_error));

  /* "cuda/cuda.pyx":16765
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16766
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":16765
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16767
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16768
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16768, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":16769
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16769, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":16767
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16771
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUdevprop prop = CUdevprop()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":16772
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUdevprop prop = CUdevprop()
 *     err = ccuda.cuDeviceGetProperties(<ccuda.CUdevprop*>prop._ptr, cdev)
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16772, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":16773
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUdevprop prop = CUdevprop()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGetProperties(<ccuda.CUdevprop*>prop._ptr, cdev)
 *     return (CUresult(err), prop)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevprop)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_prop = ((struct __pyx_obj_4cuda_4cuda_CUdevprop *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":16774
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUdevprop prop = CUdevprop()
 *     err = ccuda.cuDeviceGetProperties(<ccuda.CUdevprop*>prop._ptr, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), prop)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuDeviceGetProperties(((CUdevprop *)__pyx_v_prop->__pyx_base.__pyx_base._ptr), __pyx_v_cdev); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 16774, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":16775
 *     cdef CUdevprop prop = CUdevprop()
 *     err = ccuda.cuDeviceGetProperties(<ccuda.CUdevprop*>prop._ptr, cdev)
 *     return (CUresult(err), prop)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 16775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 16775, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_prop);
  __Pyx_GIVEREF((PyObject *)__pyx_v_prop);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_prop))) __PYX_ERR(1, 16775, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":16702
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":16777
 *     return (CUresult(err), prop)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceComputeCapability(dev):
 *     """ Returns the compute capability of the device.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_40cuDeviceComputeCapability, "cuDeviceComputeCapability(dev)\n Returns the compute capability of the device.\n\n    [Deprecated]\n\n    This function was deprecated as of CUDA 5.0 and its functionality\n    superseded by :py:obj:`~.cuDeviceGetAttribute()`.\n\n    Returns in `*major` and `*minor` the major and minor revision numbers\n    that define the compute capability of the device `dev`.\n\n    Parameters\n    ----------\n    dev : :py:obj:`~.CUdevice`\n        Device handle\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    major : int\n        Major revision number\n    minor : int\n        Minor revision number\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetCount`, :py:obj:`~.cuDeviceGetName`, :py:obj:`~.cuDeviceGetUuid`, :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceTotalMem`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_41cuDeviceComputeCapability = {"cuDeviceComputeCapability", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_41cuDeviceComputeCapability, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_40cuDeviceComputeCapability};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16777, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceComputeCapability") < 0)) __PYX_ERR(1, 16777, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceComputeCapability", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 16777, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceComputeCapability", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_40cuDeviceComputeCapability(__pyx_self, __pyx_v_dev);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_40cuDeviceComputeCapability(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  int __pyx_v_major;
  int __pyx_v_minor;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__500)
  __Pyx_RefNannySetupContext("cuDeviceComputeCapability", 1);
  __Pyx_TraceCall("cuDeviceComputeCapability", __pyx_f[1], 16777, 0, __PYX_ERR(1, 16777, __pyx_L1_error));

  /* "cuda/cuda.pyx":16808
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16809
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":16808
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16810
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16811
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16811, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":16812
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16812, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":16810
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16814
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef int major = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16814, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16814, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":16815
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef int major = 0
 *     cdef int minor = 0
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16815, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":16816
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef int major = 0             # <<<<<<<<<<<<<<
 *     cdef int minor = 0
 *     err = ccuda.cuDeviceComputeCapability(&major, &minor, cdev)
 */
  __pyx_v_major = 0;

  /* "cuda/cuda.pyx":16817
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef int major = 0
 *     cdef int minor = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceComputeCapability(&major, &minor, cdev)
 *     return (CUresult(err), major, minor)
 */
  __pyx_v_minor = 0;

  /* "cuda/cuda.pyx":16818
 *     cdef int major = 0
 *     cdef int minor = 0
 *     err = ccuda.cuDeviceComputeCapability(&major, &minor, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), major, minor)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuDeviceComputeCapability((&__pyx_v_major), (&__pyx_v_minor), __pyx_v_cdev); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 16818, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":16819
 *     cdef int minor = 0
 *     err = ccuda.cuDeviceComputeCapability(&major, &minor, cdev)
 *     return (CUresult(err), major, minor)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 16819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_major); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_minor); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 16819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 16819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 16819, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 16819, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6)) __PYX_ERR(1, 16819, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":16777
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuDeviceComputeCapability", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":16821
 *     return (CUresult(err), major, minor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxRetain(dev):
 *     """ Retain the primary context on the GPU.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_42cuDevicePrimaryCtxRetain, "cuDevicePrimaryCtxRetain(dev)\n Retain the primary context on the GPU.\n\n    Retains the primary context on the device. Once the user successfully\n    retains the primary context, the primary context will be active and\n    available 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()`\n    the newly retained context is not pushed onto the stack.\n\n    Retaining 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\n    mode of the device. The `nvidia-smi` tool can be used to set the\n    compute mode for devices. Documentation for `nvidia-smi` can be\n    obtained by passing a -h option to it.\n\n    Please note that the primary context always supports pinned\n    allocations. Other flags can be specified by\n    :py:obj:`~.cuDevicePrimaryCtxSetFlags()`.\n\n    Parameters\n    ----------\n    dev : :py:obj:`~.CUdevice`\n        Device for which primary context is requested\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_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n    pctx : :py:obj:`~.CUcontext`\n        Returned context handle of the new context\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_43cuDevicePrimaryCtxRetain = {"cuDevicePrimaryCtxRetain", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_43cuDevicePrimaryCtxRetain, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_42cuDevicePrimaryCtxRetain};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16821, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDevicePrimaryCtxRetain") < 0)) __PYX_ERR(1, 16821, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevicePrimaryCtxRetain", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 16821, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDevicePrimaryCtxRetain", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_42cuDevicePrimaryCtxRetain(__pyx_self, __pyx_v_dev);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_42cuDevicePrimaryCtxRetain(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_pctx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__501)
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxRetain", 1);
  __Pyx_TraceCall("cuDevicePrimaryCtxRetain", __pyx_f[1], 16821, 0, __PYX_ERR(1, 16821, __pyx_L1_error));

  /* "cuda/cuda.pyx":16862
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16863
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":16862
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16864
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16865
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":16866
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16866, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":16864
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16868
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16868, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16868, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":16869
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUcontext pctx = CUcontext()
 *     err = ccuda.cuDevicePrimaryCtxRetain(<ccuda.CUcontext*>pctx._ptr, cdev)
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16869, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":16870
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDevicePrimaryCtxRetain(<ccuda.CUcontext*>pctx._ptr, cdev)
 *     return (CUresult(err), pctx)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":16871
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()
 *     err = ccuda.cuDevicePrimaryCtxRetain(<ccuda.CUcontext*>pctx._ptr, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pctx)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuDevicePrimaryCtxRetain(((CUcontext *)__pyx_v_pctx->_ptr), __pyx_v_cdev); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 16871, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":16872
 *     cdef CUcontext pctx = CUcontext()
 *     err = ccuda.cuDevicePrimaryCtxRetain(<ccuda.CUcontext*>pctx._ptr, cdev)
 *     return (CUresult(err), pctx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 16872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16872, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 16872, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pctx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pctx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pctx))) __PYX_ERR(1, 16872, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":16821
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":16874
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxRelease(dev):
 *     """ Release the primary context on the GPU.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_44cuDevicePrimaryCtxRelease, "cuDevicePrimaryCtxRelease(dev)\n Release the primary context on the GPU.\n\n    Releases the primary context interop on the device. A retained context\n    should always be released once the user is done using it. The context\n    is automatically reset once the last reference to it is released. This\n    behavior is different when the primary context was retained by the CUDA\n    runtime from CUDA 4.0 and earlier. In this case, the primary context\n    remains always active.\n\n    Releasing a primary context that has not been previously retained will\n    fail with :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`.\n\n    Please note that unlike :py:obj:`~.cuCtxDestroy()` this method does not\n    pop the context from stack in any circumstances.\n\n    Parameters\n    ----------\n    dev : :py:obj:`~.CUdevice`\n        Device which primary context is released\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_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_45cuDevicePrimaryCtxRelease = {"cuDevicePrimaryCtxRelease", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_45cuDevicePrimaryCtxRelease, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_44cuDevicePrimaryCtxRelease};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16874, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDevicePrimaryCtxRelease") < 0)) __PYX_ERR(1, 16874, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevicePrimaryCtxRelease", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 16874, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDevicePrimaryCtxRelease", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_44cuDevicePrimaryCtxRelease(__pyx_self, __pyx_v_dev);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_44cuDevicePrimaryCtxRelease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__502)
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxRelease", 1);
  __Pyx_TraceCall("cuDevicePrimaryCtxRelease", __pyx_f[1], 16874, 0, __PYX_ERR(1, 16874, __pyx_L1_error));

  /* "cuda/cuda.pyx":16906
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16907
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":16906
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16908
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":16909
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16909, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":16910
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16910, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":16908
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":16912
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     err = ccuda.cuDevicePrimaryCtxRelease(cdev)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16912, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":16913
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDevicePrimaryCtxRelease(cdev)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 16913, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":16914
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     err = ccuda.cuDevicePrimaryCtxRelease(cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuDevicePrimaryCtxRelease(__pyx_v_cdev); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 16914, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":16915
 *         cdev = <ccuda.CUdevice>pdev
 *     err = ccuda.cuDevicePrimaryCtxRelease(cdev)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 16915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 16915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 16915, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":16874
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuDevicePrimaryCtxRelease", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":16917
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxSetFlags(dev, unsigned int flags):
 *     """ Set flags for the primary context.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_46cuDevicePrimaryCtxSetFlags, "cuDevicePrimaryCtxSetFlags(dev, unsigned int flags)\n Set flags for the primary context.\n\n    Sets the flags for the primary context on the device overwriting\n    perviously set ones.\n\n    The three LSBs of the `flags` parameter can be used to control how the\n    OS thread, which owns the CUDA context at the time of an API call,\n    interacts with the OS scheduler when waiting for results from the GPU.\n    Only 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_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 global 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\n    Parameters\n    ----------\n    dev : :py:obj:`~.CUdevice`\n        Device for which the primary context flags are set\n    flags : unsigned int\n        New flags for the device\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_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\n    See Also\n    --------\n    :py:obj:`~.cuDevicePrimaryCtxRetain`, :py:obj:`~.cuDevicePrimaryCtxGetState`, :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxSetFlags`, :py:obj:`~.cudaSetDeviceFlags`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_47cuDevicePrimaryCtxSetFlags = {"cuDevicePrimaryCtxSetFlags", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_47cuDevicePrimaryCtxSetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_46cuDevicePrimaryCtxSetFlags};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dev,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16917, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16917, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDevicePrimaryCtxSetFlags", 1, 2, 2, 1); __PYX_ERR(1, 16917, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDevicePrimaryCtxSetFlags") < 0)) __PYX_ERR(1, 16917, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_dev = values[0];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 16918, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevicePrimaryCtxSetFlags", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 16917, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDevicePrimaryCtxSetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_46cuDevicePrimaryCtxSetFlags(__pyx_self, __pyx_v_dev, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_46cuDevicePrimaryCtxSetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev, unsigned int __pyx_v_flags) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__503)
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxSetFlags", 1);
  __Pyx_TraceCall("cuDevicePrimaryCtxSetFlags", __pyx_f[1], 16917, 0, __PYX_ERR(1, 16917, __pyx_L1_error));

  /* "cuda/cuda.pyx":17017
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17018
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":17017
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17019
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17020
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17020, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":17021
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 17021, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":17019
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17023
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     err = ccuda.cuDevicePrimaryCtxSetFlags(cdev, flags)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":17024
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDevicePrimaryCtxSetFlags(cdev, flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 17024, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":17025
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     err = ccuda.cuDevicePrimaryCtxSetFlags(cdev, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuDevicePrimaryCtxSetFlags(__pyx_v_cdev, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17025, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":17026
 *         cdev = <ccuda.CUdevice>pdev
 *     err = ccuda.cuDevicePrimaryCtxSetFlags(cdev, flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 17026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17026, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 17026, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":16917
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuDevicePrimaryCtxSetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17028
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxGetState(dev):
 *     """ Get the state of the primary context.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_48cuDevicePrimaryCtxGetState, "cuDevicePrimaryCtxGetState(dev)\n Get the state of the primary context.\n\n    Returns 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\n    Parameters\n    ----------\n    dev : :py:obj:`~.CUdevice`\n        Device to get primary context flags 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_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n    flags : unsigned int\n        Pointer to store flags\n    active : int\n        Pointer to store context state; 0 = inactive, 1 = active\n\n    See Also\n    --------\n    :py:obj:`~.cuDevicePrimaryCtxSetFlags`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxSetFlags`, :py:obj:`~.cudaGetDeviceFlags`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_49cuDevicePrimaryCtxGetState = {"cuDevicePrimaryCtxGetState", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_49cuDevicePrimaryCtxGetState, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_48cuDevicePrimaryCtxGetState};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17028, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDevicePrimaryCtxGetState") < 0)) __PYX_ERR(1, 17028, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevicePrimaryCtxGetState", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 17028, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDevicePrimaryCtxGetState", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_48cuDevicePrimaryCtxGetState(__pyx_self, __pyx_v_dev);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_48cuDevicePrimaryCtxGetState(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  unsigned int __pyx_v_flags;
  int __pyx_v_active;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__504)
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxGetState", 1);
  __Pyx_TraceCall("cuDevicePrimaryCtxGetState", __pyx_f[1], 17028, 0, __PYX_ERR(1, 17028, __pyx_L1_error));

  /* "cuda/cuda.pyx":17055
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17056
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":17055
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17057
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17058
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":17059
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 17059, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":17057
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17061
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef unsigned int flags = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17061, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17061, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":17062
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef unsigned int flags = 0
 *     cdef int active = 0
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 17062, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":17063
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef unsigned int flags = 0             # <<<<<<<<<<<<<<
 *     cdef int active = 0
 *     err = ccuda.cuDevicePrimaryCtxGetState(cdev, &flags, &active)
 */
  __pyx_v_flags = 0;

  /* "cuda/cuda.pyx":17064
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef unsigned int flags = 0
 *     cdef int active = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDevicePrimaryCtxGetState(cdev, &flags, &active)
 *     return (CUresult(err), flags, active)
 */
  __pyx_v_active = 0;

  /* "cuda/cuda.pyx":17065
 *     cdef unsigned int flags = 0
 *     cdef int active = 0
 *     err = ccuda.cuDevicePrimaryCtxGetState(cdev, &flags, &active)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), flags, active)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuDevicePrimaryCtxGetState(__pyx_v_cdev, (&__pyx_v_flags), (&__pyx_v_active)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17065, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":17066
 *     cdef int active = 0
 *     err = ccuda.cuDevicePrimaryCtxGetState(cdev, &flags, &active)
 *     return (CUresult(err), flags, active)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 17066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17066, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_active); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 17066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 17066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 17066, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 17066, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6)) __PYX_ERR(1, 17066, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17028
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuDevicePrimaryCtxGetState", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17068
 *     return (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_4cuda_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_4cuda_50cuDevicePrimaryCtxReset, "cuDevicePrimaryCtxReset(dev)\n Destroy all allocations and reset all state on the primary context.\n\n    Explicitly destroys and cleans up all resources associated with the\n    current device in the current process.\n\n    Note that it is responsibility of the calling function to ensure that\n    no other module in the process is using the device any more. For that\n    reason it is recommended to use :py:obj:`~.cuDevicePrimaryCtxRelease()`\n    in most cases. However it is safe for other modules to call\n    :py:obj:`~.cuDevicePrimaryCtxRelease()` even after resetting the\n    device. Resetting the primary context does not release it, an\n    application that has retained the primary context should explicitly\n    release its usage.\n\n    Parameters\n    ----------\n    dev : :py:obj:`~.CUdevice`\n        Device for which primary context is destroyed\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_DEVICE`, :py:obj:`~.CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_51cuDevicePrimaryCtxReset = {"cuDevicePrimaryCtxReset", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_51cuDevicePrimaryCtxReset, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_50cuDevicePrimaryCtxReset};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17068, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDevicePrimaryCtxReset") < 0)) __PYX_ERR(1, 17068, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_dev = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevicePrimaryCtxReset", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 17068, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDevicePrimaryCtxReset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_50cuDevicePrimaryCtxReset(__pyx_self, __pyx_v_dev);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_50cuDevicePrimaryCtxReset(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__505)
  __Pyx_RefNannySetupContext("cuDevicePrimaryCtxReset", 1);
  __Pyx_TraceCall("cuDevicePrimaryCtxReset", __pyx_f[1], 17068, 0, __PYX_ERR(1, 17068, __pyx_L1_error));

  /* "cuda/cuda.pyx":17099
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17100
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":17099
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17101
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17102
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":17103
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 17103, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":17101
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17105
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     err = ccuda.cuDevicePrimaryCtxReset(cdev)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":17106
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDevicePrimaryCtxReset(cdev)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 17106, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":17107
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     err = ccuda.cuDevicePrimaryCtxReset(cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuDevicePrimaryCtxReset(__pyx_v_cdev); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17107, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":17108
 *         cdev = <ccuda.CUdevice>pdev
 *     err = ccuda.cuDevicePrimaryCtxReset(cdev)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 17108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 17108, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17068
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuDevicePrimaryCtxReset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17110
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate(unsigned int flags, dev):
 *     """ Create a CUDA context.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_52cuCtxCreate, "cuCtxCreate(unsigned int flags, dev)\n Create a CUDA context.\n\n    Creates a new CUDA context and associates it with the calling thread.\n    The `flags` parameter is described below. The context is created with a\n    usage 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\n    already current to the thread, it is supplanted by the newly created\n    context and may be restored by a subsequent call to\n    :py:obj:`~.cuCtxPopCurrent()`.\n\n    The three LSBs of the `flags` parameter can be used to control how the\n    OS thread, which owns the CUDA context at the time of an API call,\n    interacts with the OS scheduler when waiting for results from the GPU.\n    Only 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 numbe""r 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:o""bj:`~.cuCoredumpSetAttribute` from the created context after it\n      becomes current.\n\n    - :py:obj:`~.CU_CTX_USER_COREDUMP_ENABLE`: If user-triggered GPU\n      coredumps have not been enabled globally with\n      :py:obj:`~.cuCoredumpSetAttributeGlobal` or environment variables,\n      this flag can be set during context creation to instruct CUDA to\n      create a coredump if data is written to a certain pipe that is\n      present in the OS space. These environment variables are described in\n      the CUDA-GDB user guide under the \"GPU core dump support\" section. It\n      is important to note that the pipe name `must` be set with\n      :py:obj:`~.cuCoredumpSetAttributeGlobal` before creating the context\n      if this flag is used. Setting this flag implies that\n      :py:obj:`~.CU_CTX_COREDUMP_ENABLE` is set. The initial attributes\n      will be taken from the global attributes at the time of context\n      creation. The other attributes that control coredump output can be\n      modified by calling :py:obj:`~.cuCoredumpSetAttribute` from the\n      created context after it becomes current. Setting this flag on any\n      context creation is equivalent to setting the\n      :py:obj:`~.CU_COREDUMP_ENABLE_USER_TRIGGER` attribute to `true`\n      globally.\n\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\n    Context creation will fail with :py:obj:`~.CUDA_ERROR_UNKNOWN` if the\n    compute mode of the device is :py:obj:`~.CU_COMPUTEMODE_PROHIBITED`.\n    The function :py:obj:`~.cuDeviceGetAttribute()` can be used with\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_COMPUTE_MODE` to determine the compute\n    mode of the device. The `nvidia-smi` tool can be used to set the""\n    compute mode for * devices. Documentation for `nvidia-smi` can be\n    obtained by passing a -h option to it.\n\n    Parameters\n    ----------\n    flags : unsigned int\n        Context creation flags\n    dev : :py:obj:`~.CUdevice`\n        Device to create context on\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_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n    pctx : :py:obj:`~.CUcontext`\n        Returned context handle of the new context\n\n    See Also\n    --------\n    :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCoredumpSetAttributeGlobal`, :py:obj:`~.cuCoredumpSetAttribute`, :py:obj:`~.cuCtxSynchronize`\n\n    Notes\n    -----\n    In most cases it is recommended to use :py:obj:`~.cuDevicePrimaryCtxRetain`.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_53cuCtxCreate = {"cuCtxCreate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_53cuCtxCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_52cuCtxCreate};
static PyObject *__pyx_pw_4cuda_4cuda_53cuCtxCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  unsigned int __pyx_v_flags;
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxCreate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_flags_2,&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17110, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17110, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuCtxCreate", 1, 2, 2, 1); __PYX_ERR(1, 17110, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxCreate") < 0)) __PYX_ERR(1, 17110, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 17111, __pyx_L3_error)
    __pyx_v_dev = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxCreate", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 17110, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuCtxCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_52cuCtxCreate(__pyx_self, __pyx_v_flags, __pyx_v_dev);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_52cuCtxCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_pctx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__506)
  __Pyx_RefNannySetupContext("cuCtxCreate", 1);
  __Pyx_TraceCall("cuCtxCreate", __pyx_f[1], 17110, 0, __PYX_ERR(1, 17110, __pyx_L1_error));

  /* "cuda/cuda.pyx":17238
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17239
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":17238
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17240
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17241
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":17242
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 17242, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":17240
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17244
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":17245
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef CUcontext pctx = CUcontext()
 *     err = ccuda.cuCtxCreate(<ccuda.CUcontext*>pctx._ptr, flags, cdev)
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 17245, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":17246
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxCreate(<ccuda.CUcontext*>pctx._ptr, flags, cdev)
 *     return (CUresult(err), pctx)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":17247
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef CUcontext pctx = CUcontext()
 *     err = ccuda.cuCtxCreate(<ccuda.CUcontext*>pctx._ptr, flags, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pctx)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuCtxCreate(((CUcontext *)__pyx_v_pctx->_ptr), __pyx_v_flags, __pyx_v_cdev); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17247, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":17248
 *     cdef CUcontext pctx = CUcontext()
 *     err = ccuda.cuCtxCreate(<ccuda.CUcontext*>pctx._ptr, flags, cdev)
 *     return (CUresult(err), pctx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 17248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17248, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 17248, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pctx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pctx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pctx))) __PYX_ERR(1, 17248, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17110
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate(unsigned int flags, dev):
 *     """ Create a CUDA context.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17250
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate_v3(paramsArray : Optional[List[CUexecAffinityParam]], int numParams, unsigned int flags, dev):
 *     """ Create a CUDA context with execution affinity.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_55cuCtxCreate_v3(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_54cuCtxCreate_v3, "cuCtxCreate_v3(list paramsArray: Optional[List[CUexecAffinityParam]], int numParams, unsigned int flags, dev)\n Create a CUDA context with execution affinity.\n\n    Creates a new CUDA context with execution affinity and associates it\n    with the calling thread. The `paramsArray` and `flags` parameter are\n    described below. The context is created with a usage count of 1 and the\n    caller of :py:obj:`~.cuCtxCreate()` must call\n    :py:obj:`~.cuCtxDestroy()` when done using the context. If a context is\n    already current to the thread, it is supplanted by the newly created\n    context and may be restored by a subsequent call to\n    :py:obj:`~.cuCtxPopCurrent()`.\n\n    The type and the amount of execution resource the context can use is\n    limited by `paramsArray` and `numParams`. The `paramsArray` is an array\n    of `CUexecAffinityParam` and the `numParams` describes the size of the\n    array. If two `CUexecAffinityParam` in the array have the same type,\n    the latter execution affinity parameter overrides the former execution\n    affinity parameter. The supported execution affinity types are:\n\n    - :py:obj:`~.CU_EXEC_AFFINITY_TYPE_SM_COUNT` limits the portion of SMs\n      that the context can use. The portion of SMs is specified as the\n      number of SMs via `CUexecAffinitySmCount`. This limit will be\n      internally rounded up to the next hardware-supported amount. Hence,\n      it is imperative to query the actual execution affinity of the\n      context via `cuCtxGetExecAffinity` after context creation. Currently,\n      this attribute is only supported under Volta+ MPS.\n\n    The three LSBs of the `flags` parameter can be used to control how the\n    OS thread, which owns the CUDA context at the time of an API call,\n    interacts with the OS scheduler when waiting for results from the GPU.\n    Only 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 w""hen\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 loca""l memory for a kernel. This can\n      prevent thrashing by local memory allocations when launching many\n      kernels with high local memory usage at the cost of potentially\n      increased memory usage.   Deprecated: This flag is deprecated and the\n      behavior enabled by this flag is now the default and cannot be\n      disabled. Instead, the per-thread stack size can be controlled with\n      :py:obj:`~.cuCtxSetLimit()`.\n\n    - :py:obj:`~.CU_CTX_COREDUMP_ENABLE`: If GPU coredumps have not been\n      enabled globally with :py:obj:`~.cuCoredumpSetAttributeGlobal` or\n      environment variables, this flag can be set during context creation\n      to instruct CUDA to create a coredump if this context raises an\n      exception during execution. These environment variables are described\n      in the CUDA-GDB user guide under the \"GPU core dump support\" section.\n      The initial attributes will be taken from the global attributes at\n      the time of context creation. The other attributes that control\n      coredump output can be modified by calling\n      :py:obj:`~.cuCoredumpSetAttribute` from the created context after it\n      becomes current.\n\n    - :py:obj:`~.CU_CTX_USER_COREDUMP_ENABLE`: If user-triggered GPU\n      coredumps have not been enabled globally with\n      :py:obj:`~.cuCoredumpSetAttributeGlobal` or environment variables,\n      this flag can be set during context creation to instruct CUDA to\n      create a coredump if data is written to a certain pipe that is\n      present in the OS space. These environment variables are described in\n      the CUDA-GDB user guide under the \"GPU core dump support\" section. It\n      is important to note that the pipe name `must` be set with\n      :py:obj:`~.cuCoredumpSetAttributeGlobal` before creating the context\n      if this flag is used. Setting this flag implies that\n      :py:obj:`~.CU_CTX_COREDUMP_ENABLE` is set. The initial attributes\n      will be taken from the global attributes ""at the time of context\n      creation. The other attributes that control coredump output can be\n      modified by calling :py:obj:`~.cuCoredumpSetAttribute` from the\n      created context after it becomes current. Setting this flag on any\n      context creation is equivalent to setting the\n      :py:obj:`~.CU_COREDUMP_ENABLE_USER_TRIGGER` attribute to `true`\n      globally.\n\n    Context creation will fail with :py:obj:`~.CUDA_ERROR_UNKNOWN` if the\n    compute mode of the device is :py:obj:`~.CU_COMPUTEMODE_PROHIBITED`.\n    The function :py:obj:`~.cuDeviceGetAttribute()` can be used with\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_COMPUTE_MODE` to determine the compute\n    mode of the device. The `nvidia-smi` tool can be used to set the\n    compute mode for * devices. Documentation for `nvidia-smi` can be\n    obtained by passing a -h option to it.\n\n    Parameters\n    ----------\n    paramsArray : List[:py:obj:`~.CUexecAffinityParam`]\n        Execution affinity parameters\n    numParams : int\n        Number of execution affinity parameters\n    flags : unsigned int\n        Context creation flags\n    dev : :py:obj:`~.CUdevice`\n        Device to create context on\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_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n    pctx : :py:obj:`~.CUcontext`\n        Returned context handle of the new context\n\n    See 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:o""bj:`~.cuCtxSynchronize`, :py:obj:`~.cuCoredumpSetAttributeGlobal`, :py:obj:`~.cuCoredumpSetAttribute`, :py:obj:`~.CUexecAffinityParam`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_55cuCtxCreate_v3 = {"cuCtxCreate_v3", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_55cuCtxCreate_v3, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_54cuCtxCreate_v3};
static PyObject *__pyx_pw_4cuda_4cuda_55cuCtxCreate_v3(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_paramsArray = 0;
  int __pyx_v_numParams;
  unsigned int __pyx_v_flags;
  PyObject *__pyx_v_dev = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuCtxCreate_v3 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_paramsArray_2,&__pyx_n_s_numParams,&__pyx_n_s_flags_2,&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_paramsArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17250, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17250, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuCtxCreate_v3", 1, 4, 4, 1); __PYX_ERR(1, 17250, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17250, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuCtxCreate_v3", 1, 4, 4, 2); __PYX_ERR(1, 17250, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17250, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuCtxCreate_v3", 1, 4, 4, 3); __PYX_ERR(1, 17250, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxCreate_v3") < 0)) __PYX_ERR(1, 17250, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_paramsArray = ((PyObject*)values[0]);
    __pyx_v_numParams = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_numParams == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 17251, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 17251, __pyx_L3_error)
    __pyx_v_dev = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxCreate_v3", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 17250, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuCtxCreate_v3", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_paramsArray), (&PyList_Type), 1, "paramsArray", 1))) __PYX_ERR(1, 17251, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_54cuCtxCreate_v3(__pyx_self, __pyx_v_paramsArray, __pyx_v_numParams, __pyx_v_flags, __pyx_v_dev);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_14cuCtxCreate_v3_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":17397
 *         cdev = <ccuda.CUdevice>pdev
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUexecAffinityParam,)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.CUexecAffinityParam,]")
 *     cdef CUcontext pctx = CUcontext()
 */

static PyObject *__pyx_pf_4cuda_4cuda_14cuCtxCreate_v3_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct__genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct__genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct__genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct__genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 17397, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_14cuCtxCreate_v3_2generator, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuCtxCreate_v3_locals_genexpr, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 17397, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.cuCtxCreate_v3.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_4cuda_14cuCtxCreate_v3_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct__genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct__genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 17397, 0, __PYX_ERR(1, 17397, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 17397, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 17397, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 17397, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 17397, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 17397, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUexecAffinityParam); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17250
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate_v3(paramsArray : Optional[List[CUexecAffinityParam]], int numParams, unsigned int flags, dev):
 *     """ Create a CUDA context with execution affinity.
 */

static PyObject *__pyx_pf_4cuda_4cuda_54cuCtxCreate_v3(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_paramsArray, int __pyx_v_numParams, unsigned int __pyx_v_flags, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_pctx = 0;
  CUexecAffinityParam *__pyx_v_cparamsArray;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_14cuCtxCreate_v3_2generator = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct CUexecAffinityParam_st *__pyx_t_10;
  CUresult __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__507)
  __Pyx_RefNannySetupContext("cuCtxCreate_v3", 0);
  __Pyx_TraceCall("cuCtxCreate_v3", __pyx_f[1], 17250, 0, __PYX_ERR(1, 17250, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_paramsArray);

  /* "cuda/cuda.pyx":17388
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17389
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":17388
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17390
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17391
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17391, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":17392
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 17392, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":17390
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17394
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     paramsArray = [] if paramsArray is None else paramsArray
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":17395
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUexecAffinityParam,)) for _x in paramsArray):
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 17395, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":17396
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     paramsArray = [] if paramsArray is None else paramsArray             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUexecAffinityParam,)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.CUexecAffinityParam,]")
 */
  __pyx_t_1 = (__pyx_v_paramsArray == ((PyObject*)Py_None));
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_paramsArray);
    __pyx_t_4 = __pyx_v_paramsArray;
  }
  __Pyx_DECREF_SET(__pyx_v_paramsArray, ((PyObject*)__pyx_t_4));
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":17397
 *         cdev = <ccuda.CUdevice>pdev
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUexecAffinityParam,)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.CUexecAffinityParam,]")
 *     cdef CUcontext pctx = CUcontext()
 */
  __pyx_t_4 = __pyx_pf_4cuda_4cuda_14cuCtxCreate_v3_genexpr(NULL, __pyx_v_paramsArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 17397, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = (!__pyx_t_1);
  if (unlikely(__pyx_t_5)) {

    /* "cuda/cuda.pyx":17398
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUexecAffinityParam,)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.CUexecAffinityParam,]")             # <<<<<<<<<<<<<<
 *     cdef CUcontext pctx = CUcontext()
 *     cdef ccuda.CUexecAffinityParam* cparamsArray = NULL
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__508, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17398, __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, 17398, __pyx_L1_error)

    /* "cuda/cuda.pyx":17397
 *         cdev = <ccuda.CUdevice>pdev
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUexecAffinityParam,)) for _x in paramsArray):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.CUexecAffinityParam,]")
 *     cdef CUcontext pctx = CUcontext()
 */
  }

  /* "cuda/cuda.pyx":17399
 *     if not all(isinstance(_x, (CUexecAffinityParam,)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.CUexecAffinityParam,]")
 *     cdef CUcontext pctx = CUcontext()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUexecAffinityParam* cparamsArray = NULL
 *     if len(paramsArray) > 0:
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":17400
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.CUexecAffinityParam,]")
 *     cdef CUcontext pctx = CUcontext()
 *     cdef ccuda.CUexecAffinityParam* cparamsArray = NULL             # <<<<<<<<<<<<<<
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccuda.CUexecAffinityParam*> calloc(len(paramsArray), sizeof(ccuda.CUexecAffinityParam))
 */
  __pyx_v_cparamsArray = NULL;

  /* "cuda/cuda.pyx":17401
 *     cdef CUcontext pctx = CUcontext()
 *     cdef ccuda.CUexecAffinityParam* cparamsArray = NULL
 *     if len(paramsArray) > 0:             # <<<<<<<<<<<<<<
 *         cparamsArray = <ccuda.CUexecAffinityParam*> calloc(len(paramsArray), sizeof(ccuda.CUexecAffinityParam))
 *         if cparamsArray is NULL:
 */
  if (unlikely(__pyx_v_paramsArray == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 17401, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 17401, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_6 > 0);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":17402
 *     cdef ccuda.CUexecAffinityParam* cparamsArray = NULL
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccuda.CUexecAffinityParam*> calloc(len(paramsArray), sizeof(ccuda.CUexecAffinityParam))             # <<<<<<<<<<<<<<
 *         if cparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUexecAffinityParam)))
 */
    if (unlikely(__pyx_v_paramsArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 17402, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 17402, __pyx_L1_error)
    __pyx_v_cparamsArray = ((CUexecAffinityParam *)calloc(__pyx_t_6, (sizeof(CUexecAffinityParam))));

    /* "cuda/cuda.pyx":17403
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccuda.CUexecAffinityParam*> calloc(len(paramsArray), sizeof(ccuda.CUexecAffinityParam))
 *         if cparamsArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUexecAffinityParam)))
 *         for idx in range(len(paramsArray)):
 */
    __pyx_t_5 = (__pyx_v_cparamsArray == NULL);
    if (unlikely(__pyx_t_5)) {

      /* "cuda/cuda.pyx":17404
 *         cparamsArray = <ccuda.CUexecAffinityParam*> calloc(len(paramsArray), sizeof(ccuda.CUexecAffinityParam))
 *         if cparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUexecAffinityParam)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cparamsArray[idx], (<CUexecAffinityParam>paramsArray[idx])._ptr, sizeof(ccuda.CUexecAffinityParam))
 */
      if (unlikely(__pyx_v_paramsArray == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 17404, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 17404, __pyx_L1_error)
      __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17404, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17404, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17404, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17404, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(CUexecAffinityParam))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17404, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 17404, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = PyNumber_Add(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17404, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 17404, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 17404, __pyx_L1_error)

      /* "cuda/cuda.pyx":17403
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccuda.CUexecAffinityParam*> calloc(len(paramsArray), sizeof(ccuda.CUexecAffinityParam))
 *         if cparamsArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUexecAffinityParam)))
 *         for idx in range(len(paramsArray)):
 */
    }

    /* "cuda/cuda.pyx":17405
 *         if cparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUexecAffinityParam)))
 *         for idx in range(len(paramsArray)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cparamsArray[idx], (<CUexecAffinityParam>paramsArray[idx])._ptr, sizeof(ccuda.CUexecAffinityParam))
 *     err = ccuda.cuCtxCreate_v3(<ccuda.CUcontext*>pctx._ptr, (<CUexecAffinityParam>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numParams, flags, cdev)
 */
    if (unlikely(__pyx_v_paramsArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 17405, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 17405, __pyx_L1_error)
    __pyx_t_8 = __pyx_t_6;
    for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
      __pyx_v_idx = __pyx_t_9;

      /* "cuda/cuda.pyx":17406
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUexecAffinityParam)))
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cparamsArray[idx], (<CUexecAffinityParam>paramsArray[idx])._ptr, sizeof(ccuda.CUexecAffinityParam))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxCreate_v3(<ccuda.CUcontext*>pctx._ptr, (<CUexecAffinityParam>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numParams, flags, cdev)
 *     if cparamsArray is not NULL:
 */
      if (unlikely(__pyx_v_paramsArray == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(1, 17406, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_paramsArray, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 17406, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      (void)(memcpy((&(__pyx_v_cparamsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam *)__pyx_t_7)->__pyx_base.__pyx_base._ptr, (sizeof(CUexecAffinityParam))));
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }

    /* "cuda/cuda.pyx":17401
 *     cdef CUcontext pctx = CUcontext()
 *     cdef ccuda.CUexecAffinityParam* cparamsArray = NULL
 *     if len(paramsArray) > 0:             # <<<<<<<<<<<<<<
 *         cparamsArray = <ccuda.CUexecAffinityParam*> calloc(len(paramsArray), sizeof(ccuda.CUexecAffinityParam))
 *         if cparamsArray is NULL:
 */
  }

  /* "cuda/cuda.pyx":17407
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cparamsArray[idx], (<CUexecAffinityParam>paramsArray[idx])._ptr, sizeof(ccuda.CUexecAffinityParam))
 *     err = ccuda.cuCtxCreate_v3(<ccuda.CUcontext*>pctx._ptr, (<CUexecAffinityParam>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numParams, flags, cdev)             # <<<<<<<<<<<<<<
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)
 */
  if (unlikely(__pyx_v_paramsArray == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 17407, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 17407, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_6 == 1);
  if (__pyx_t_5) {
    if (unlikely(__pyx_v_paramsArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 17407, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_paramsArray, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 17407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_10 = ((struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam *)__pyx_t_7)->__pyx_base.__pyx_base._ptr;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cparamsArray;
  }
  __pyx_t_11 = __pyx_f_4cuda_5ccuda_cuCtxCreate_v3(((CUcontext *)__pyx_v_pctx->_ptr), __pyx_t_10, __pyx_v_numParams, __pyx_v_flags, __pyx_v_cdev); if (unlikely(__pyx_t_11 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17407, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cuda.pyx":17408
 *             string.memcpy(&cparamsArray[idx], (<CUexecAffinityParam>paramsArray[idx])._ptr, sizeof(ccuda.CUexecAffinityParam))
 *     err = ccuda.cuCtxCreate_v3(<ccuda.CUcontext*>pctx._ptr, (<CUexecAffinityParam>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numParams, flags, cdev)
 *     if cparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cparamsArray)
 *     return (CUresult(err), pctx)
 */
  __pyx_t_5 = (__pyx_v_cparamsArray != NULL);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":17409
 *     err = ccuda.cuCtxCreate_v3(<ccuda.CUcontext*>pctx._ptr, (<CUexecAffinityParam>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numParams, flags, cdev)
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pctx)
 * 
 */
    free(__pyx_v_cparamsArray);

    /* "cuda/cuda.pyx":17408
 *             string.memcpy(&cparamsArray[idx], (<CUexecAffinityParam>paramsArray[idx])._ptr, sizeof(ccuda.CUexecAffinityParam))
 *     err = ccuda.cuCtxCreate_v3(<ccuda.CUcontext*>pctx._ptr, (<CUexecAffinityParam>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numParams, flags, cdev)
 *     if cparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cparamsArray)
 *     return (CUresult(err), pctx)
 */
  }

  /* "cuda/cuda.pyx":17410
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)
 *     return (CUresult(err), pctx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_12 = NULL;
  __pyx_t_13 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_13 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_4};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_13, 1+__pyx_t_13);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 17410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17410, __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)) __PYX_ERR(1, 17410, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pctx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pctx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pctx))) __PYX_ERR(1, 17410, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17250
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate_v3(paramsArray : Optional[List[CUexecAffinityParam]], int numParams, unsigned int flags, dev):
 *     """ Create a CUDA context with execution affinity.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.cuCtxCreate_v3", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdev);
  __Pyx_XDECREF((PyObject *)__pyx_v_pctx);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_14cuCtxCreate_v3_2generator);
  __Pyx_XDECREF(__pyx_v_paramsArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17412
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDestroy(ctx):
 *     """ Destroy a CUDA context.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_57cuCtxDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_56cuCtxDestroy, "cuCtxDestroy(ctx)\n Destroy a CUDA context.\n\n    Destroys the CUDA context specified by `ctx`. The context `ctx` will be\n    destroyed regardless of how many threads it is current to. It is the\n    responsibility of the calling function to ensure that no API call\n    issues using `ctx` while :py:obj:`~.cuCtxDestroy()` is executing.\n\n    Destroys and cleans up all resources associated with the context. It is\n    the caller's responsibility to ensure that the context or its resources\n    are not accessed or passed in subsequent API calls and doing so will\n    result in undefined behavior. These resources include CUDA types such\n    as :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`.\n\n    If `ctx` is current to the calling thread then `ctx` will also be\n    popped from the current thread's context stack (as though\n    :py:obj:`~.cuCtxPopCurrent()` were called). If `ctx` is current to\n    other threads, then `ctx` will remain current to those threads, and\n    attempting to access `ctx` from those threads will result in the error\n    :py:obj:`~.CUDA_ERROR_CONTEXT_IS_DESTROYED`.\n\n    Parameters\n    ----------\n    ctx : :py:obj:`~.CUcontext`\n        Context to destroy\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxGetApiVersion`, :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxGetLimit`, :py:obj:`~.cuCtxPopCurr""ent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_57cuCtxDestroy = {"cuCtxDestroy", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_57cuCtxDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_56cuCtxDestroy};
static PyObject *__pyx_pw_4cuda_4cuda_57cuCtxDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ctx_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ctx_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17412, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxDestroy") < 0)) __PYX_ERR(1, 17412, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_ctx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 17412, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuCtxDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_56cuCtxDestroy(__pyx_self, __pyx_v_ctx);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_56cuCtxDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cctx;
  PyObject *__pyx_v_pctx = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__509)
  __Pyx_RefNannySetupContext("cuCtxDestroy", 1);
  __Pyx_TraceCall("cuCtxDestroy", __pyx_f[1], 17412, 0, __PYX_ERR(1, 17412, __pyx_L1_error));

  /* "cuda/cuda.pyx":17454
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17455
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 */
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":17454
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17456
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17457
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":17458
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 17458, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":17456
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17460
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     err = ccuda.cuCtxDestroy(cctx)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17460, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17460, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":17461
 *     else:
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxDestroy(cctx)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 17461, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":17462
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     err = ccuda.cuCtxDestroy(cctx)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuCtxDestroy(__pyx_v_cctx); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17462, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":17463
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     err = ccuda.cuCtxDestroy(cctx)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 17463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17463, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 17463, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17412
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuCtxDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17465
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxPushCurrent(ctx):
 *     """ Pushes a context on the current CPU thread.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_59cuCtxPushCurrent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_58cuCtxPushCurrent, "cuCtxPushCurrent(ctx)\n Pushes a context on the current CPU thread.\n\n    Pushes the given context `ctx` onto the CPU thread's stack of current\n    contexts. The specified context becomes the CPU thread's current\n    context, so all CUDA functions that operate on the current context are\n    affected.\n\n    The previous current context may be made current again by calling\n    :py:obj:`~.cuCtxDestroy()` or :py:obj:`~.cuCtxPopCurrent()`.\n\n    Parameters\n    ----------\n    ctx : :py:obj:`~.CUcontext`\n        Context to push\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_59cuCtxPushCurrent = {"cuCtxPushCurrent", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_59cuCtxPushCurrent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_58cuCtxPushCurrent};
static PyObject *__pyx_pw_4cuda_4cuda_59cuCtxPushCurrent(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ctx_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ctx_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17465, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxPushCurrent") < 0)) __PYX_ERR(1, 17465, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_ctx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxPushCurrent", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 17465, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuCtxPushCurrent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_58cuCtxPushCurrent(__pyx_self, __pyx_v_ctx);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_58cuCtxPushCurrent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cctx;
  PyObject *__pyx_v_pctx = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__510)
  __Pyx_RefNannySetupContext("cuCtxPushCurrent", 1);
  __Pyx_TraceCall("cuCtxPushCurrent", __pyx_f[1], 17465, 0, __PYX_ERR(1, 17465, __pyx_L1_error));

  /* "cuda/cuda.pyx":17492
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17493
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 */
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":17492
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17494
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17495
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":17496
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 17496, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":17494
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17498
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     err = ccuda.cuCtxPushCurrent(cctx)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":17499
 *     else:
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxPushCurrent(cctx)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 17499, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":17500
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     err = ccuda.cuCtxPushCurrent(cctx)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuCtxPushCurrent(__pyx_v_cctx); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17500, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":17501
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     err = ccuda.cuCtxPushCurrent(cctx)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 17501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17501, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 17501, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17465
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuCtxPushCurrent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17503
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxPopCurrent():
 *     """ Pops the current CUDA context from the current CPU thread.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_61cuCtxPopCurrent(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_60cuCtxPopCurrent, "cuCtxPopCurrent()\n Pops the current CUDA context from the current CPU thread.\n\n    Pops the current CUDA context from the CPU thread and passes back the\n    old context handle in `*pctx`. That context may then be made current to\n    a different CPU thread by calling :py:obj:`~.cuCtxPushCurrent()`.\n\n    If a context was current to the CPU thread before\n    :py:obj:`~.cuCtxCreate()` or :py:obj:`~.cuCtxPushCurrent()` was called,\n    this function makes that context current to the CPU thread again.\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`\n    pctx : :py:obj:`~.CUcontext`\n        Returned popped context handle\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_61cuCtxPopCurrent = {"cuCtxPopCurrent", (PyCFunction)__pyx_pw_4cuda_4cuda_61cuCtxPopCurrent, METH_NOARGS, __pyx_doc_4cuda_4cuda_60cuCtxPopCurrent};
static PyObject *__pyx_pw_4cuda_4cuda_61cuCtxPopCurrent(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_4cuda_60cuCtxPopCurrent(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_60cuCtxPopCurrent(CYTHON_UNUSED PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_pctx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__511)
  __Pyx_RefNannySetupContext("cuCtxPopCurrent", 1);
  __Pyx_TraceCall("cuCtxPopCurrent", __pyx_f[1], 17503, 0, __PYX_ERR(1, 17503, __pyx_L1_error));

  /* "cuda/cuda.pyx":17526
 *     :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()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxPopCurrent(<ccuda.CUcontext*>pctx._ptr)
 *     return (CUresult(err), pctx)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":17527
 *     """
 *     cdef CUcontext pctx = CUcontext()
 *     err = ccuda.cuCtxPopCurrent(<ccuda.CUcontext*>pctx._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pctx)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuCtxPopCurrent(((CUcontext *)__pyx_v_pctx->_ptr)); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17527, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":17528
 *     cdef CUcontext pctx = CUcontext()
 *     err = ccuda.cuCtxPopCurrent(<ccuda.CUcontext*>pctx._ptr)
 *     return (CUresult(err), pctx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 17528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17528, __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)) __PYX_ERR(1, 17528, __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))) __PYX_ERR(1, 17528, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17503
 *     return (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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuCtxPopCurrent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17530
 *     return (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_4cuda_63cuCtxSetCurrent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_62cuCtxSetCurrent, "cuCtxSetCurrent(ctx)\n Binds the specified CUDA context to the calling CPU thread.\n\n    Binds the specified CUDA context to the calling CPU thread. If `ctx` is\n    NULL then the CUDA context previously bound to the calling CPU thread\n    is unbound and :py:obj:`~.CUDA_SUCCESS` is returned.\n\n    If there exists a CUDA context stack on the calling CPU thread, this\n    will replace the top of that stack with `ctx`. If `ctx` is NULL then\n    this will be equivalent to popping the top of the calling CPU thread's\n    CUDA context stack (or a no-op if the calling CPU thread's CUDA context\n    stack is empty).\n\n    Parameters\n    ----------\n    ctx : :py:obj:`~.CUcontext`\n        Context to bind to the calling CPU thread\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`\n\n    See Also\n    --------\n    :py:obj:`~.cuCtxGetCurrent`, :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cudaSetDevice`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_63cuCtxSetCurrent = {"cuCtxSetCurrent", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_63cuCtxSetCurrent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_62cuCtxSetCurrent};
static PyObject *__pyx_pw_4cuda_4cuda_63cuCtxSetCurrent(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ctx_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ctx_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17530, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxSetCurrent") < 0)) __PYX_ERR(1, 17530, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_ctx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxSetCurrent", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 17530, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuCtxSetCurrent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_62cuCtxSetCurrent(__pyx_self, __pyx_v_ctx);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_62cuCtxSetCurrent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cctx;
  PyObject *__pyx_v_pctx = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__512)
  __Pyx_RefNannySetupContext("cuCtxSetCurrent", 1);
  __Pyx_TraceCall("cuCtxSetCurrent", __pyx_f[1], 17530, 0, __PYX_ERR(1, 17530, __pyx_L1_error));

  /* "cuda/cuda.pyx":17559
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17560
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 */
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":17559
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17561
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17562
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":17563
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 17563, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":17561
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17565
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     err = ccuda.cuCtxSetCurrent(cctx)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17565, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17565, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":17566
 *     else:
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxSetCurrent(cctx)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 17566, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":17567
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     err = ccuda.cuCtxSetCurrent(cctx)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuCtxSetCurrent(__pyx_v_cctx); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17567, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":17568
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     err = ccuda.cuCtxSetCurrent(cctx)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 17568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 17568, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17530
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuCtxSetCurrent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17570
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetCurrent():
 *     """ Returns the CUDA context bound to the calling CPU thread.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_65cuCtxGetCurrent(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_64cuCtxGetCurrent, "cuCtxGetCurrent()\n Returns the CUDA context bound to the calling CPU thread.\n\n    Returns in `*pctx` the CUDA context bound to the calling CPU thread. If\n    no context is bound to the calling CPU thread then `*pctx` is set to\n    NULL and :py:obj:`~.CUDA_SUCCESS` is returned.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`,\n    pctx : :py:obj:`~.CUcontext`\n        Returned context handle\n\n    See Also\n    --------\n    :py:obj:`~.cuCtxSetCurrent`, :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cudaGetDevice`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_65cuCtxGetCurrent = {"cuCtxGetCurrent", (PyCFunction)__pyx_pw_4cuda_4cuda_65cuCtxGetCurrent, METH_NOARGS, __pyx_doc_4cuda_4cuda_64cuCtxGetCurrent};
static PyObject *__pyx_pw_4cuda_4cuda_65cuCtxGetCurrent(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_4cuda_64cuCtxGetCurrent(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_64cuCtxGetCurrent(CYTHON_UNUSED PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_pctx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__513)
  __Pyx_RefNannySetupContext("cuCtxGetCurrent", 1);
  __Pyx_TraceCall("cuCtxGetCurrent", __pyx_f[1], 17570, 0, __PYX_ERR(1, 17570, __pyx_L1_error));

  /* "cuda/cuda.pyx":17589
 *     :py:obj:`~.cuCtxSetCurrent`, :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxDestroy`, :py:obj:`~.cudaGetDevice`
 *     """
 *     cdef CUcontext pctx = CUcontext()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxGetCurrent(<ccuda.CUcontext*>pctx._ptr)
 *     return (CUresult(err), pctx)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":17590
 *     """
 *     cdef CUcontext pctx = CUcontext()
 *     err = ccuda.cuCtxGetCurrent(<ccuda.CUcontext*>pctx._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pctx)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuCtxGetCurrent(((CUcontext *)__pyx_v_pctx->_ptr)); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17590, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":17591
 *     cdef CUcontext pctx = CUcontext()
 *     err = ccuda.cuCtxGetCurrent(<ccuda.CUcontext*>pctx._ptr)
 *     return (CUresult(err), pctx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 17591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17591, __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)) __PYX_ERR(1, 17591, __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))) __PYX_ERR(1, 17591, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17570
 *     return (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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuCtxGetCurrent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17593
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetDevice():
 *     """ Returns the device ID for the current context.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_67cuCtxGetDevice(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_66cuCtxGetDevice, "cuCtxGetDevice()\n Returns the device ID for the current context.\n\n    Returns in `*device` the ordinal of the current context's device.\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_VALUE`,\n    device : :py:obj:`~.CUdevice`\n        Returned device ID for the current context\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_67cuCtxGetDevice = {"cuCtxGetDevice", (PyCFunction)__pyx_pw_4cuda_4cuda_67cuCtxGetDevice, METH_NOARGS, __pyx_doc_4cuda_4cuda_66cuCtxGetDevice};
static PyObject *__pyx_pw_4cuda_4cuda_67cuCtxGetDevice(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_4cuda_66cuCtxGetDevice(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_66cuCtxGetDevice(CYTHON_UNUSED PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_device = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__514)
  __Pyx_RefNannySetupContext("cuCtxGetDevice", 1);
  __Pyx_TraceCall("cuCtxGetDevice", __pyx_f[1], 17593, 0, __PYX_ERR(1, 17593, __pyx_L1_error));

  /* "cuda/cuda.pyx":17610
 *     :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()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxGetDevice(<ccuda.CUdevice*>device._ptr)
 *     return (CUresult(err), device)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_device = ((struct __pyx_obj_4cuda_4cuda_CUdevice *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":17611
 *     """
 *     cdef CUdevice device = CUdevice()
 *     err = ccuda.cuCtxGetDevice(<ccuda.CUdevice*>device._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), device)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuCtxGetDevice(((CUdevice *)__pyx_v_device->_ptr)); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17611, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":17612
 *     cdef CUdevice device = CUdevice()
 *     err = ccuda.cuCtxGetDevice(<ccuda.CUdevice*>device._ptr)
 *     return (CUresult(err), device)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 17612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17612, __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)) __PYX_ERR(1, 17612, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_device);
  __Pyx_GIVEREF((PyObject *)__pyx_v_device);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_device))) __PYX_ERR(1, 17612, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17593
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetDevice():
 *     """ Returns the device ID for the current context.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuCtxGetDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_device);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17614
 *     return (CUresult(err), device)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetFlags():
 *     """ Returns the flags for the current context.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_69cuCtxGetFlags(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_68cuCtxGetFlags, "cuCtxGetFlags()\n Returns the flags for the current context.\n\n    Returns in `*flags` the flags of the current context. See\n    :py:obj:`~.cuCtxCreate` for flag values.\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_VALUE`,\n    flags : unsigned int\n        Pointer to store flags of current context\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_69cuCtxGetFlags = {"cuCtxGetFlags", (PyCFunction)__pyx_pw_4cuda_4cuda_69cuCtxGetFlags, METH_NOARGS, __pyx_doc_4cuda_4cuda_68cuCtxGetFlags};
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_68cuCtxGetFlags(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_68cuCtxGetFlags(CYTHON_UNUSED PyObject *__pyx_self) {
  unsigned int __pyx_v_flags;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__515)
  __Pyx_RefNannySetupContext("cuCtxGetFlags", 1);
  __Pyx_TraceCall("cuCtxGetFlags", __pyx_f[1], 17614, 0, __PYX_ERR(1, 17614, __pyx_L1_error));

  /* "cuda/cuda.pyx":17632
 *     :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             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxGetFlags(&flags)
 *     return (CUresult(err), flags)
 */
  __pyx_v_flags = 0;

  /* "cuda/cuda.pyx":17633
 *     """
 *     cdef unsigned int flags = 0
 *     err = ccuda.cuCtxGetFlags(&flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), flags)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_5ccuda_cuCtxGetFlags((&__pyx_v_flags)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17633, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cuda.pyx":17634
 *     cdef unsigned int flags = 0
 *     err = ccuda.cuCtxGetFlags(&flags)
 *     return (CUresult(err), flags)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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, 17634, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 17634, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(1, 17634, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17614
 *     return (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_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuCtxGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17636
 *     return (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_4cuda_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_4cuda_70cuCtxSetFlags, "cuCtxSetFlags(unsigned int flags)\n Sets the flags for the current context.\n\n    Sets the flags for the current context overwriting previously set ones.\n    See :py:obj:`~.cuDevicePrimaryCtxSetFlags` for flag values.\n\n    Parameters\n    ----------\n    flags : unsigned int\n        Flags to set on the current context\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_VALUE`,\n\n    See 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`,\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_71cuCtxSetFlags = {"cuCtxSetFlags", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_71cuCtxSetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_70cuCtxSetFlags};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17636, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxSetFlags") < 0)) __PYX_ERR(1, 17636, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 17637, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxSetFlags", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 17636, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuCtxSetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_70cuCtxSetFlags(__pyx_self, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_70cuCtxSetFlags(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags) {
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__516)
  __Pyx_RefNannySetupContext("cuCtxSetFlags", 1);
  __Pyx_TraceCall("cuCtxSetFlags", __pyx_f[1], 17636, 0, __PYX_ERR(1, 17636, __pyx_L1_error));

  /* "cuda/cuda.pyx":17657
 *     :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`,
 *     """
 *     err = ccuda.cuCtxSetFlags(flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_5ccuda_cuCtxSetFlags(__pyx_v_flags); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17657, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cuda.pyx":17658
 *     """
 *     err = ccuda.cuCtxSetFlags(flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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, 17658, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17658, __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)) __PYX_ERR(1, 17658, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17636
 *     return (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_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuCtxSetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17660
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetId(ctx):
 *     """ Returns the unique Id associated with the context supplied.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_72cuCtxGetId, "cuCtxGetId(ctx)\n Returns the unique Id associated with the context supplied.\n\n    Returns in `ctxId` the unique Id which is associated with a given\n    context. The Id is unique for the life of the program for this instance\n    of CUDA. If context is supplied as NULL and there is one current, the\n    Id of the current context is returned.\n\n    Parameters\n    ----------\n    ctx : :py:obj:`~.CUcontext`\n        Context for which to obtain the Id\n\n    Returns\n    -------\n    CUresult\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`\n    ctxId : unsigned long long\n        Pointer to store the Id of the context\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_73cuCtxGetId = {"cuCtxGetId", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_73cuCtxGetId, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_72cuCtxGetId};
static PyObject *__pyx_pw_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ctx_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ctx_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17660, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxGetId") < 0)) __PYX_ERR(1, 17660, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_ctx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxGetId", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 17660, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuCtxGetId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_72cuCtxGetId(__pyx_self, __pyx_v_ctx);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_72cuCtxGetId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cctx;
  PyObject *__pyx_v_pctx = NULL;
  unsigned PY_LONG_LONG __pyx_v_ctxId;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__517)
  __Pyx_RefNannySetupContext("cuCtxGetId", 1);
  __Pyx_TraceCall("cuCtxGetId", __pyx_f[1], 17660, 0, __PYX_ERR(1, 17660, __pyx_L1_error));

  /* "cuda/cuda.pyx":17686
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17687
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 */
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":17686
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17688
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":17689
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":17690
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 17690, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":17688
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":17692
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     cdef unsigned long long ctxId = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17692, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17692, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":17693
 *     else:
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     cdef unsigned long long ctxId = 0
 *     err = ccuda.cuCtxGetId(cctx, &ctxId)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 17693, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":17694
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     cdef unsigned long long ctxId = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxGetId(cctx, &ctxId)
 *     return (CUresult(err), ctxId)
 */
  __pyx_v_ctxId = 0;

  /* "cuda/cuda.pyx":17695
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     cdef unsigned long long ctxId = 0
 *     err = ccuda.cuCtxGetId(cctx, &ctxId)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), ctxId)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuCtxGetId(__pyx_v_cctx, (&__pyx_v_ctxId)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17695, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":17696
 *     cdef unsigned long long ctxId = 0
 *     err = ccuda.cuCtxGetId(cctx, &ctxId)
 *     return (CUresult(err), ctxId)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 17696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17696, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_ctxId); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 17696, __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)) __PYX_ERR(1, 17696, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 17696, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17660
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuCtxGetId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17698
 *     return (CUresult(err), ctxId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSynchronize():
 *     """ Block for a context's tasks to complete.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_75cuCtxSynchronize(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_74cuCtxSynchronize, "cuCtxSynchronize()\n Block for a context's tasks to complete.\n\n    Blocks until the device has completed all preceding requested tasks.\n    :py:obj:`~.cuCtxSynchronize()` returns an error if one of the preceding\n    tasks failed. If the context was created with the\n    :py:obj:`~.CU_CTX_SCHED_BLOCKING_SYNC` flag, the CPU thread will block\n    until the GPU context has finished its work.\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`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_75cuCtxSynchronize = {"cuCtxSynchronize", (PyCFunction)__pyx_pw_4cuda_4cuda_75cuCtxSynchronize, METH_NOARGS, __pyx_doc_4cuda_4cuda_74cuCtxSynchronize};
static PyObject *__pyx_pw_4cuda_4cuda_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_4cuda_74cuCtxSynchronize(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_74cuCtxSynchronize(CYTHON_UNUSED PyObject *__pyx_self) {
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__518)
  __Pyx_RefNannySetupContext("cuCtxSynchronize", 1);
  __Pyx_TraceCall("cuCtxSynchronize", __pyx_f[1], 17698, 0, __PYX_ERR(1, 17698, __pyx_L1_error));

  /* "cuda/cuda.pyx":17717
 *     :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`
 *     """
 *     err = ccuda.cuCtxSynchronize()             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_5ccuda_cuCtxSynchronize(); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17717, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cuda.pyx":17718
 *     """
 *     err = ccuda.cuCtxSynchronize()
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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, 17718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17718, __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)) __PYX_ERR(1, 17718, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17698
 *     return (CUresult(err), ctxId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSynchronize():
 *     """ Block for a 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_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuCtxSynchronize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17720
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetLimit(limit not None : CUlimit, size_t value):
 *     """ Set resource limits.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_77cuCtxSetLimit(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_76cuCtxSetLimit, "cuCtxSetLimit(limit: CUlimit, size_t value)\n Set resource limits.\n\n    Setting `limit` to `value` is a request by the application to update\n    the current limit maintained by the context. The driver is free to\n    modify the requested value to meet h/w requirements (this could be\n    clamping to minimum or maximum values, rounding up to nearest element\n    size, etc). The application can use :py:obj:`~.cuCtxGetLimit()` to find\n    out exactly what the limit has been set to.\n\n    Setting each :py:obj:`~.CUlimit` has its own specific restrictions, so\n    each 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 device 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 thes""e 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\n    Parameters\n    ----------\n    limit : :py:obj:`~.CUlimit`\n        Limit to set\n    value : size_t\n        Size of limit\n\n    Returns\n    -------\n    CUresult\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\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_77cuCtxSetLimit = {"cuCtxSetLimit", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_77cuCtxSetLimit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_76cuCtxSetLimit};
static PyObject *__pyx_pw_4cuda_4cuda_77cuCtxSetLimit(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_limit,&__pyx_n_s_value_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_limit)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17720, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17720, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuCtxSetLimit", 1, 2, 2, 1); __PYX_ERR(1, 17720, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxSetLimit") < 0)) __PYX_ERR(1, 17720, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_limit = values[0];
    __pyx_v_value = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_value == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 17721, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxSetLimit", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 17720, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 17721, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_76cuCtxSetLimit(__pyx_self, __pyx_v_limit, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_76cuCtxSetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit, size_t __pyx_v_value) {
  CUlimit __pyx_v_climit;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__519)
  __Pyx_RefNannySetupContext("cuCtxSetLimit", 1);
  __Pyx_TraceCall("cuCtxSetLimit", __pyx_f[1], 17720, 0, __PYX_ERR(1, 17720, __pyx_L1_error));

  /* "cuda/cuda.pyx":17819
 *     :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 ccuda.CUlimit climit = limit.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxSetLimit(climit, value)
 *     return (CUresult(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_limit, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUlimit_enum)__Pyx_PyInt_As_enum__CUlimit_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17819, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_climit = __pyx_t_2;

  /* "cuda/cuda.pyx":17820
 *     """
 *     cdef ccuda.CUlimit climit = limit.value
 *     err = ccuda.cuCtxSetLimit(climit, value)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_5ccuda_cuCtxSetLimit(__pyx_v_climit, __pyx_v_value); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17820, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cuda.pyx":17821
 *     cdef ccuda.CUlimit climit = limit.value
 *     err = ccuda.cuCtxSetLimit(climit, value)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 17821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_7 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17821, __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)) __PYX_ERR(1, 17821, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17720
 *     return (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_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cuda.cuCtxSetLimit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17823
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetLimit(limit not None : CUlimit):
 *     """ Returns resource limits.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_79cuCtxGetLimit(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_78cuCtxGetLimit, "cuCtxGetLimit(limit: CUlimit)\n Returns resource limits.\n\n    Returns 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\n    Parameters\n    ----------\n    limit : :py:obj:`~.CUlimit`\n        Limit to query\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_UNSUPPORTED_LIMIT`\n    pvalue : int\n        Returned size of limit\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_79cuCtxGetLimit = {"cuCtxGetLimit", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_79cuCtxGetLimit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_78cuCtxGetLimit};
static PyObject *__pyx_pw_4cuda_4cuda_79cuCtxGetLimit(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_limit,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_limit)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17823, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxGetLimit") < 0)) __PYX_ERR(1, 17823, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_limit = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxGetLimit", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 17823, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 17824, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_78cuCtxGetLimit(__pyx_self, __pyx_v_limit);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_78cuCtxGetLimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_limit) {
  size_t __pyx_v_pvalue;
  CUlimit __pyx_v_climit;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__520)
  __Pyx_RefNannySetupContext("cuCtxGetLimit", 1);
  __Pyx_TraceCall("cuCtxGetLimit", __pyx_f[1], 17823, 0, __PYX_ERR(1, 17823, __pyx_L1_error));

  /* "cuda/cuda.pyx":17871
 *     :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 ccuda.CUlimit climit = limit.value
 *     err = ccuda.cuCtxGetLimit(&pvalue, climit)
 */
  __pyx_v_pvalue = 0;

  /* "cuda/cuda.pyx":17872
 *     """
 *     cdef size_t pvalue = 0
 *     cdef ccuda.CUlimit climit = limit.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxGetLimit(&pvalue, climit)
 *     return (CUresult(err), pvalue)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_limit, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUlimit_enum)__Pyx_PyInt_As_enum__CUlimit_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17872, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_climit = __pyx_t_2;

  /* "cuda/cuda.pyx":17873
 *     cdef size_t pvalue = 0
 *     cdef ccuda.CUlimit climit = limit.value
 *     err = ccuda.cuCtxGetLimit(&pvalue, climit)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pvalue)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_5ccuda_cuCtxGetLimit((&__pyx_v_pvalue), __pyx_v_climit); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17873, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cuda.pyx":17874
 *     cdef ccuda.CUlimit climit = limit.value
 *     err = ccuda.cuCtxGetLimit(&pvalue, climit)
 *     return (CUresult(err), pvalue)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 17874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_7 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v_pvalue); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 17874, __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)) __PYX_ERR(1, 17874, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4)) __PYX_ERR(1, 17874, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17823
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cuda.cuCtxGetLimit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17876
 *     return (CUresult(err), pvalue)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetCacheConfig():
 *     """ Returns the preferred cache configuration for the current context.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_81cuCtxGetCacheConfig(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_80cuCtxGetCacheConfig, "cuCtxGetCacheConfig()\n Returns the preferred cache configuration for the current context.\n\n    On devices where the L1 cache and shared memory use the same hardware\n    resources, this function returns through `pconfig` the preferred cache\n    configuration for the current context. This is only a preference. The\n    driver will use the requested configuration if possible, but it is free\n    to choose a different configuration if required to execute functions.\n\n    This will return a `pconfig` of :py:obj:`~.CU_FUNC_CACHE_PREFER_NONE`\n    on devices where the size of the L1 cache and shared memory are fixed.\n\n    The 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\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_VALUE`\n    pconfig : :py:obj:`~.CUfunc_cache`\n        Returned cache configuration\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_81cuCtxGetCacheConfig = {"cuCtxGetCacheConfig", (PyCFunction)__pyx_pw_4cuda_4cuda_81cuCtxGetCacheConfig, METH_NOARGS, __pyx_doc_4cuda_4cuda_80cuCtxGetCacheConfig};
static PyObject *__pyx_pw_4cuda_4cuda_81cuCtxGetCacheConfig(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_4cuda_80cuCtxGetCacheConfig(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_80cuCtxGetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self) {
  CUfunc_cache __pyx_v_pconfig;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  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_TraceFrameInit(__pyx_codeobj__521)
  __Pyx_RefNannySetupContext("cuCtxGetCacheConfig", 1);
  __Pyx_TraceCall("cuCtxGetCacheConfig", __pyx_f[1], 17876, 0, __PYX_ERR(1, 17876, __pyx_L1_error));

  /* "cuda/cuda.pyx":17915
 *     """
 *     cdef ccuda.CUfunc_cache pconfig
 *     err = ccuda.cuCtxGetCacheConfig(&pconfig)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), CUfunc_cache(pconfig))
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_5ccuda_cuCtxGetCacheConfig((&__pyx_v_pconfig)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17915, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cuda.pyx":17916
 *     cdef ccuda.CUfunc_cache pconfig
 *     err = ccuda.cuCtxGetCacheConfig(&pconfig)
 *     return (CUresult(err), CUfunc_cache(pconfig))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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, 17916, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUfunc_cache); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUfunc_cache_enum(__pyx_v_pconfig); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 17916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17916, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 17916, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(1, 17916, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17876
 *     return (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_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuCtxGetCacheConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17918
 *     return (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_4cuda_83cuCtxSetCacheConfig(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_82cuCtxSetCacheConfig, "cuCtxSetCacheConfig(config: CUfunc_cache)\n Sets the preferred cache configuration for the current context.\n\n    On devices where the L1 cache and shared memory use the same hardware\n    resources, this sets through `config` the preferred cache configuration\n    for the current context. This is only a preference. The driver will use\n    the requested configuration if possible, but it is free to choose a\n    different configuration if required to execute the function. Any\n    function preference set via :py:obj:`~.cuFuncSetCacheConfig()` or\n    :py:obj:`~.cuKernelSetCacheConfig()` will be preferred over this\n    context-wide setting. Setting the context-wide cache configuration to\n    :py:obj:`~.CU_FUNC_CACHE_PREFER_NONE` will cause subsequent kernel\n    launches to prefer to not change the cache configuration unless\n    required to launch the kernel.\n\n    This setting does nothing on devices where the size of the L1 cache and\n    shared memory are fixed.\n\n    Launching a kernel with a different preference than the most recent\n    preference setting may insert a device-side synchronization point.\n\n    The 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\n    Parameters\n    ----------\n    config : :py:obj:`~.CUfunc_cache`\n        Requested cache configuration\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuCtxCreate`, :py:o""bj:`~.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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_83cuCtxSetCacheConfig = {"cuCtxSetCacheConfig", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_83cuCtxSetCacheConfig, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_82cuCtxSetCacheConfig};
static PyObject *__pyx_pw_4cuda_4cuda_83cuCtxSetCacheConfig(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_config,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_config)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17918, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxSetCacheConfig") < 0)) __PYX_ERR(1, 17918, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_config = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxSetCacheConfig", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 17918, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 17919, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_82cuCtxSetCacheConfig(__pyx_self, __pyx_v_config);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_82cuCtxSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_config) {
  CUfunc_cache __pyx_v_cconfig;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__522)
  __Pyx_RefNannySetupContext("cuCtxSetCacheConfig", 1);
  __Pyx_TraceCall("cuCtxSetCacheConfig", __pyx_f[1], 17918, 0, __PYX_ERR(1, 17918, __pyx_L1_error));

  /* "cuda/cuda.pyx":17968
 *     :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 ccuda.CUfunc_cache cconfig = config.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxSetCacheConfig(cconfig)
 *     return (CUresult(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_config, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUfunc_cache_enum)__Pyx_PyInt_As_enum__CUfunc_cache_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17968, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cconfig = __pyx_t_2;

  /* "cuda/cuda.pyx":17969
 *     """
 *     cdef ccuda.CUfunc_cache cconfig = config.value
 *     err = ccuda.cuCtxSetCacheConfig(cconfig)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_5ccuda_cuCtxSetCacheConfig(__pyx_v_cconfig); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 17969, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cuda.pyx":17970
 *     cdef ccuda.CUfunc_cache cconfig = config.value
 *     err = ccuda.cuCtxSetCacheConfig(cconfig)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 17970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_7 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17970, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17970, __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)) __PYX_ERR(1, 17970, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17918
 *     return (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_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cuda.cuCtxSetCacheConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":17972
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetApiVersion(ctx):
 *     """ Gets the context's API version.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_85cuCtxGetApiVersion(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_84cuCtxGetApiVersion, "cuCtxGetApiVersion(ctx)\n Gets the context's API version.\n\n    Returns a version number in `version` corresponding to the capabilities\n    of the context (e.g. 3010 or 3020), which library developers can use to\n    direct callers to a specific API version. If `ctx` is NULL, returns the\n    API version used to create the currently bound context.\n\n    Note that new API versions are only introduced when context\n    capabilities are changed that break binary compatibility, so the API\n    version and driver version may be different. For example, it is valid\n    for the API version to be 3020 while the driver version is 4020.\n\n    Parameters\n    ----------\n    ctx : :py:obj:`~.CUcontext`\n        Context to check\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_VALUE`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n    version : unsigned int\n        Pointer to version\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_85cuCtxGetApiVersion = {"cuCtxGetApiVersion", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_85cuCtxGetApiVersion, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_84cuCtxGetApiVersion};
static PyObject *__pyx_pw_4cuda_4cuda_85cuCtxGetApiVersion(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ctx_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ctx_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 17972, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxGetApiVersion") < 0)) __PYX_ERR(1, 17972, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_ctx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxGetApiVersion", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 17972, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuCtxGetApiVersion", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_84cuCtxGetApiVersion(__pyx_self, __pyx_v_ctx);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_84cuCtxGetApiVersion(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cctx;
  PyObject *__pyx_v_pctx = NULL;
  unsigned int __pyx_v_version;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__523)
  __Pyx_RefNannySetupContext("cuCtxGetApiVersion", 1);
  __Pyx_TraceCall("cuCtxGetApiVersion", __pyx_f[1], 17972, 0, __PYX_ERR(1, 17972, __pyx_L1_error));

  /* "cuda/cuda.pyx":18003
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18004
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 */
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":18003
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18005
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18006
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":18007
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18007, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":18005
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18009
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     cdef unsigned int version = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18009, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18009, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":18010
 *     else:
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     cdef unsigned int version = 0
 *     err = ccuda.cuCtxGetApiVersion(cctx, &version)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18010, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":18011
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     cdef unsigned int version = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxGetApiVersion(cctx, &version)
 *     return (CUresult(err), version)
 */
  __pyx_v_version = 0;

  /* "cuda/cuda.pyx":18012
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     cdef unsigned int version = 0
 *     err = ccuda.cuCtxGetApiVersion(cctx, &version)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), version)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuCtxGetApiVersion(__pyx_v_cctx, (&__pyx_v_version)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18012, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":18013
 *     cdef unsigned int version = 0
 *     err = ccuda.cuCtxGetApiVersion(cctx, &version)
 *     return (CUresult(err), version)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_version); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18013, __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)) __PYX_ERR(1, 18013, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 18013, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":17972
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuCtxGetApiVersion", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18015
 *     return (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_4cuda_87cuCtxGetStreamPriorityRange(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_86cuCtxGetStreamPriorityRange, "cuCtxGetStreamPriorityRange()\n Returns numerical values that correspond to the least and greatest stream priorities.\n\n    Returns in `*leastPriority` and `*greatestPriority` the numerical\n    values that correspond to the least and greatest stream priorities\n    respectively. Stream priorities follow a convention where lower numbers\n    imply greater priorities. The range of meaningful stream priorities is\n    given by [`*greatestPriority`, `*leastPriority`]. If the user attempts\n    to create a stream with a priority value that is outside the meaningful\n    range as specified by this API, the priority is automatically clamped\n    down or up to either `*leastPriority` or `*greatestPriority`\n    respectively. See :py:obj:`~.cuStreamCreateWithPriority` for details on\n    creating a priority stream. A NULL may be passed in for\n    `*leastPriority` or `*greatestPriority` if the value is not desired.\n\n    This function will return '0' in both `*leastPriority` and\n    `*greatestPriority` if the current context's device does not support\n    stream priorities (see :py:obj:`~.cuDeviceGetAttribute`).\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n    leastPriority : int\n        Pointer to an int in which the numerical value for least stream\n        priority is returned\n    greatestPriority : int\n        Pointer to an int in which the numerical value for greatest stream\n        priority is returned\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamCreateWithPriority`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cuCtxGetDevice`, :py:obj:`~.cuCtxGetFlags`, :py:obj:`~.cuCtxSetLimit`, :py:obj:`~.cuCtxSynchronize`, :py:obj:`~.cudaDeviceGetStreamPriorityRange`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_87cuCtxGetStreamPriorityRange = {"cuCtxGetStreamPriorityRange", (PyCFunction)__pyx_pw_4cuda_4cuda_87cuCtxGetStreamPriorityRange, METH_NOARGS, __pyx_doc_4cuda_4cuda_86cuCtxGetStreamPriorityRange};
static PyObject *__pyx_pw_4cuda_4cuda_87cuCtxGetStreamPriorityRange(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_4cuda_86cuCtxGetStreamPriorityRange(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_86cuCtxGetStreamPriorityRange(CYTHON_UNUSED PyObject *__pyx_self) {
  int __pyx_v_leastPriority;
  int __pyx_v_greatestPriority;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__524)
  __Pyx_RefNannySetupContext("cuCtxGetStreamPriorityRange", 1);
  __Pyx_TraceCall("cuCtxGetStreamPriorityRange", __pyx_f[1], 18015, 0, __PYX_ERR(1, 18015, __pyx_L1_error));

  /* "cuda/cuda.pyx":18050
 *     :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
 *     err = ccuda.cuCtxGetStreamPriorityRange(&leastPriority, &greatestPriority)
 */
  __pyx_v_leastPriority = 0;

  /* "cuda/cuda.pyx":18051
 *     """
 *     cdef int leastPriority = 0
 *     cdef int greatestPriority = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxGetStreamPriorityRange(&leastPriority, &greatestPriority)
 *     return (CUresult(err), leastPriority, greatestPriority)
 */
  __pyx_v_greatestPriority = 0;

  /* "cuda/cuda.pyx":18052
 *     cdef int leastPriority = 0
 *     cdef int greatestPriority = 0
 *     err = ccuda.cuCtxGetStreamPriorityRange(&leastPriority, &greatestPriority)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), leastPriority, greatestPriority)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_5ccuda_cuCtxGetStreamPriorityRange((&__pyx_v_leastPriority), (&__pyx_v_greatestPriority)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18052, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cuda.pyx":18053
 *     cdef int greatestPriority = 0
 *     err = ccuda.cuCtxGetStreamPriorityRange(&leastPriority, &greatestPriority)
 *     return (CUresult(err), leastPriority, greatestPriority)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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, 18053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_leastPriority); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_greatestPriority); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 18053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 18053, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3)) __PYX_ERR(1, 18053, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4)) __PYX_ERR(1, 18053, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18015
 *     return (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_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuCtxGetStreamPriorityRange", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18055
 *     return (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_4cuda_89cuCtxResetPersistingL2Cache(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_88cuCtxResetPersistingL2Cache, "cuCtxResetPersistingL2Cache()\n Resets all persisting lines in cache to normal status.\n\n    :py:obj:`~.cuCtxResetPersistingL2Cache` Resets all persisting lines in\n    cache to normal status. Takes effect on function return.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\n    See Also\n    --------\n    :py:obj:`~.CUaccessPolicyWindow`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_89cuCtxResetPersistingL2Cache = {"cuCtxResetPersistingL2Cache", (PyCFunction)__pyx_pw_4cuda_4cuda_89cuCtxResetPersistingL2Cache, METH_NOARGS, __pyx_doc_4cuda_4cuda_88cuCtxResetPersistingL2Cache};
static PyObject *__pyx_pw_4cuda_4cuda_89cuCtxResetPersistingL2Cache(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_4cuda_88cuCtxResetPersistingL2Cache(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_88cuCtxResetPersistingL2Cache(CYTHON_UNUSED PyObject *__pyx_self) {
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__525)
  __Pyx_RefNannySetupContext("cuCtxResetPersistingL2Cache", 1);
  __Pyx_TraceCall("cuCtxResetPersistingL2Cache", __pyx_f[1], 18055, 0, __PYX_ERR(1, 18055, __pyx_L1_error));

  /* "cuda/cuda.pyx":18071
 *     :py:obj:`~.CUaccessPolicyWindow`
 *     """
 *     err = ccuda.cuCtxResetPersistingL2Cache()             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_5ccuda_cuCtxResetPersistingL2Cache(); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18071, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cuda.pyx":18072
 *     """
 *     err = ccuda.cuCtxResetPersistingL2Cache()
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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, 18072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18072, __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)) __PYX_ERR(1, 18072, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18055
 *     return (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_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuCtxResetPersistingL2Cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18074
 *     return (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_4cuda_91cuCtxGetExecAffinity(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_90cuCtxGetExecAffinity, "cuCtxGetExecAffinity(typename: CUexecAffinityType)\n Returns the execution affinity setting for the current context.\n\n    Returns in `*pExecAffinity` the current value of `typename`. The\n    supported :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\n    Parameters\n    ----------\n    typename : :py:obj:`~.CUexecAffinityType`\n        Execution affinity type to query\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_VALUE`, :py:obj:`~.CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY`\n    pExecAffinity : :py:obj:`~.CUexecAffinityParam`\n        Returned execution affinity\n\n    See Also\n    --------\n    :py:obj:`~.CUexecAffinityParam`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_91cuCtxGetExecAffinity = {"cuCtxGetExecAffinity", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_91cuCtxGetExecAffinity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_90cuCtxGetExecAffinity};
static PyObject *__pyx_pw_4cuda_4cuda_91cuCtxGetExecAffinity(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_typename,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_typename)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18074, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxGetExecAffinity") < 0)) __PYX_ERR(1, 18074, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_typename = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxGetExecAffinity", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 18074, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 18075, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_90cuCtxGetExecAffinity(__pyx_self, __pyx_v_typename);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_90cuCtxGetExecAffinity(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_typename) {
  struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam *__pyx_v_pExecAffinity = 0;
  CUexecAffinityType __pyx_v_ctypename;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUexecAffinityType __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  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_TraceFrameInit(__pyx_codeobj__526)
  __Pyx_RefNannySetupContext("cuCtxGetExecAffinity", 1);
  __Pyx_TraceCall("cuCtxGetExecAffinity", __pyx_f[1], 18074, 0, __PYX_ERR(1, 18074, __pyx_L1_error));

  /* "cuda/cuda.pyx":18100
 *     :py:obj:`~.CUexecAffinityParam`
 *     """
 *     cdef CUexecAffinityParam pExecAffinity = CUexecAffinityParam()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUexecAffinityType ctypename = typename.value
 *     err = ccuda.cuCtxGetExecAffinity(<ccuda.CUexecAffinityParam*>pExecAffinity._ptr, ctypename)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUexecAffinityParam)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pExecAffinity = ((struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18101
 *     """
 *     cdef CUexecAffinityParam pExecAffinity = CUexecAffinityParam()
 *     cdef ccuda.CUexecAffinityType ctypename = typename.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxGetExecAffinity(<ccuda.CUexecAffinityParam*>pExecAffinity._ptr, ctypename)
 *     return (CUresult(err), pExecAffinity)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUexecAffinityType_enum)__Pyx_PyInt_As_enum__CUexecAffinityType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ctypename = __pyx_t_2;

  /* "cuda/cuda.pyx":18102
 *     cdef CUexecAffinityParam pExecAffinity = CUexecAffinityParam()
 *     cdef ccuda.CUexecAffinityType ctypename = typename.value
 *     err = ccuda.cuCtxGetExecAffinity(<ccuda.CUexecAffinityParam*>pExecAffinity._ptr, ctypename)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pExecAffinity)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_5ccuda_cuCtxGetExecAffinity(((CUexecAffinityParam *)__pyx_v_pExecAffinity->__pyx_base.__pyx_base._ptr), __pyx_v_ctypename); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18102, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cuda.pyx":18103
 *     cdef ccuda.CUexecAffinityType ctypename = typename.value
 *     err = ccuda.cuCtxGetExecAffinity(<ccuda.CUexecAffinityParam*>pExecAffinity._ptr, ctypename)
 *     return (CUresult(err), pExecAffinity)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 18103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_7 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18103, __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)) __PYX_ERR(1, 18103, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pExecAffinity);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pExecAffinity);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_pExecAffinity))) __PYX_ERR(1, 18103, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18074
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cuda.cuCtxGetExecAffinity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pExecAffinity);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18105
 *     return (CUresult(err), pExecAffinity)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxAttach(unsigned int flags):
 *     """ Increment a context's usage-count.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_93cuCtxAttach(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_92cuCtxAttach, "cuCtxAttach(unsigned int flags)\n Increment a context's usage-count.\n\n    [Deprecated]\n\n    Note that this function is deprecated and should not be used.\n\n    Increments the usage count of the context and passes back a context\n    handle in `*pctx` that must be passed to :py:obj:`~.cuCtxDetach()` when\n    the application is done with the context. :py:obj:`~.cuCtxAttach()`\n    fails if there is no context current to the thread.\n\n    Currently, the `flags` parameter must be 0.\n\n    Parameters\n    ----------\n    flags : unsigned int\n        Context attach flags (must be 0)\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_VALUE`\n    pctx : :py:obj:`~.CUcontext`\n        Returned context handle of the current context\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_93cuCtxAttach = {"cuCtxAttach", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_93cuCtxAttach, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_92cuCtxAttach};
static PyObject *__pyx_pw_4cuda_4cuda_93cuCtxAttach(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18105, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxAttach") < 0)) __PYX_ERR(1, 18105, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 18106, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxAttach", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 18105, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuCtxAttach", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_92cuCtxAttach(__pyx_self, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_92cuCtxAttach(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_pctx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__527)
  __Pyx_RefNannySetupContext("cuCtxAttach", 1);
  __Pyx_TraceCall("cuCtxAttach", __pyx_f[1], 18105, 0, __PYX_ERR(1, 18105, __pyx_L1_error));

  /* "cuda/cuda.pyx":18136
 *     :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()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxAttach(<ccuda.CUcontext*>pctx._ptr, flags)
 *     return (CUresult(err), pctx)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18137
 *     """
 *     cdef CUcontext pctx = CUcontext()
 *     err = ccuda.cuCtxAttach(<ccuda.CUcontext*>pctx._ptr, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pctx)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuCtxAttach(((CUcontext *)__pyx_v_pctx->_ptr), __pyx_v_flags); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18137, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":18138
 *     cdef CUcontext pctx = CUcontext()
 *     err = ccuda.cuCtxAttach(<ccuda.CUcontext*>pctx._ptr, flags)
 *     return (CUresult(err), pctx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 18138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18138, __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)) __PYX_ERR(1, 18138, __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))) __PYX_ERR(1, 18138, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18105
 *     return (CUresult(err), pExecAffinity)
 * 
 * @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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuCtxAttach", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18140
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDetach(ctx):
 *     """ Decrement a context's usage-count.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_95cuCtxDetach(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_94cuCtxDetach, "cuCtxDetach(ctx)\n Decrement a context's usage-count.\n\n    [Deprecated]\n\n    Note that this function is deprecated and should not be used.\n\n    Decrements the usage count of the context `ctx`, and destroys the\n    context if the usage count goes to 0. The context must be a handle that\n    was passed back by :py:obj:`~.cuCtxCreate()` or\n    :py:obj:`~.cuCtxAttach()`, and must be current to the calling thread.\n\n    Parameters\n    ----------\n    ctx : :py:obj:`~.CUcontext`\n        Context to destroy\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`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_95cuCtxDetach = {"cuCtxDetach", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_95cuCtxDetach, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_94cuCtxDetach};
static PyObject *__pyx_pw_4cuda_4cuda_95cuCtxDetach(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ctx_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ctx_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18140, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxDetach") < 0)) __PYX_ERR(1, 18140, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_ctx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxDetach", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 18140, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuCtxDetach", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_94cuCtxDetach(__pyx_self, __pyx_v_ctx);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_94cuCtxDetach(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cctx;
  PyObject *__pyx_v_pctx = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__528)
  __Pyx_RefNannySetupContext("cuCtxDetach", 1);
  __Pyx_TraceCall("cuCtxDetach", __pyx_f[1], 18140, 0, __PYX_ERR(1, 18140, __pyx_L1_error));

  /* "cuda/cuda.pyx":18168
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18169
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 */
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":18168
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18170
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18171
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":18172
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18172, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":18170
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18174
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     err = ccuda.cuCtxDetach(cctx)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":18175
 *     else:
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxDetach(cctx)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18175, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":18176
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     err = ccuda.cuCtxDetach(cctx)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuCtxDetach(__pyx_v_cctx); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18176, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":18177
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     err = ccuda.cuCtxDetach(cctx)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 18177, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18140
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuCtxDetach", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pctx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18179
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetSharedMemConfig():
 *     """ Returns the current shared memory configuration for the current context.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_97cuCtxGetSharedMemConfig(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_96cuCtxGetSharedMemConfig, "cuCtxGetSharedMemConfig()\n Returns the current shared memory configuration for the current context.\n\n    [Deprecated]\n\n    This function will return in `pConfig` the current size of shared\n    memory banks in the current context. On devices with configurable\n    shared memory banks, :py:obj:`~.cuCtxSetSharedMemConfig` can be used to\n    change this setting, so that all subsequent kernel launches will by\n    default use the new bank size. When :py:obj:`~.cuCtxGetSharedMemConfig`\n    is called on devices without configurable shared memory, it will return\n    the fixed bank size of the hardware.\n\n    The 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\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_VALUE`\n    pConfig : :py:obj:`~.CUsharedconfig`\n        returned shared memory configuration\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_97cuCtxGetSharedMemConfig = {"cuCtxGetSharedMemConfig", (PyCFunction)__pyx_pw_4cuda_4cuda_97cuCtxGetSharedMemConfig, METH_NOARGS, __pyx_doc_4cuda_4cuda_96cuCtxGetSharedMemConfig};
static PyObject *__pyx_pw_4cuda_4cuda_97cuCtxGetSharedMemConfig(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_4cuda_96cuCtxGetSharedMemConfig(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_96cuCtxGetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self) {
  CUsharedconfig __pyx_v_pConfig;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  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_TraceFrameInit(__pyx_codeobj__529)
  __Pyx_RefNannySetupContext("cuCtxGetSharedMemConfig", 1);
  __Pyx_TraceCall("cuCtxGetSharedMemConfig", __pyx_f[1], 18179, 0, __PYX_ERR(1, 18179, __pyx_L1_error));

  /* "cuda/cuda.pyx":18213
 *     """
 *     cdef ccuda.CUsharedconfig pConfig
 *     err = ccuda.cuCtxGetSharedMemConfig(&pConfig)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), CUsharedconfig(pConfig))
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_5ccuda_cuCtxGetSharedMemConfig((&__pyx_v_pConfig)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18213, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cuda.pyx":18214
 *     cdef ccuda.CUsharedconfig pConfig
 *     err = ccuda.cuCtxGetSharedMemConfig(&pConfig)
 *     return (CUresult(err), CUsharedconfig(pConfig))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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, 18214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUsharedconfig); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUsharedconfig_enum(__pyx_v_pConfig); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 18214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 18214, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(1, 18214, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18179
 *     return (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_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuCtxGetSharedMemConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18216
 *     return (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_4cuda_99cuCtxSetSharedMemConfig(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_98cuCtxSetSharedMemConfig, "cuCtxSetSharedMemConfig(config: CUsharedconfig)\n Sets the shared memory configuration for the current context.\n\n    [Deprecated]\n\n    On devices with configurable shared memory banks, this function will\n    set the context's shared memory bank size which is used for subsequent\n    kernel launches.\n\n    Changed the shared memory configuration between launches may insert a\n    device side synchronization point between those launches.\n\n    Changing the shared memory bank size will not increase shared memory\n    usage or affect occupancy of kernels, but may have major effects on\n    performance. Larger bank sizes will allow for greater potential\n    bandwidth to shared memory, but will change what kinds of accesses to\n    shared memory will result in bank conflicts.\n\n    This function will do nothing on devices with fixed shared memory bank\n    size.\n\n    The 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\n    Parameters\n    ----------\n    config : :py:obj:`~.CUsharedconfig`\n        requested shared memory configuration\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_VALUE`\n\n    See 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:`~.cudaDeviceSetSharedMemConfig`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_99cuCtxSetSharedMemConfig = {"cuCtxSetSharedMemConfig", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_99cuCtxSetSharedMemConfig, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_98cuCtxSetSharedMemConfig};
static PyObject *__pyx_pw_4cuda_4cuda_99cuCtxSetSharedMemConfig(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_config,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_config)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18216, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxSetSharedMemConfig") < 0)) __PYX_ERR(1, 18216, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_config = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxSetSharedMemConfig", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 18216, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 18217, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_98cuCtxSetSharedMemConfig(__pyx_self, __pyx_v_config);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_98cuCtxSetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_config) {
  CUsharedconfig __pyx_v_cconfig;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__530)
  __Pyx_RefNannySetupContext("cuCtxSetSharedMemConfig", 1);
  __Pyx_TraceCall("cuCtxSetSharedMemConfig", __pyx_f[1], 18216, 0, __PYX_ERR(1, 18216, __pyx_L1_error));

  /* "cuda/cuda.pyx":18263
 *     :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 ccuda.CUsharedconfig cconfig = config.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxSetSharedMemConfig(cconfig)
 *     return (CUresult(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_config, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUsharedconfig_enum)__Pyx_PyInt_As_enum__CUsharedconfig_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cconfig = __pyx_t_2;

  /* "cuda/cuda.pyx":18264
 *     """
 *     cdef ccuda.CUsharedconfig cconfig = config.value
 *     err = ccuda.cuCtxSetSharedMemConfig(cconfig)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_5ccuda_cuCtxSetSharedMemConfig(__pyx_v_cconfig); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18264, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cuda.pyx":18265
 *     cdef ccuda.CUsharedconfig cconfig = config.value
 *     err = ccuda.cuCtxSetSharedMemConfig(cconfig)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 18265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_7 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18265, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18265, __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)) __PYX_ERR(1, 18265, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18216
 *     return (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_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cuda.cuCtxSetSharedMemConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18267
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoad(char* fname):
 *     """ Loads a compute module.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_101cuModuleLoad(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_100cuModuleLoad, "cuModuleLoad(char *fname)\n Loads a compute module.\n\n    Takes a filename `fname` and loads the corresponding module `module`\n    into the current context. The CUDA driver API does not attempt to\n    lazily allocate the resources needed by a module; if the memory for\n    functions and data (constant and global) needed by the module cannot be\n    allocated, :py:obj:`~.cuModuleLoad()` fails. The file should be a\n    `cubin` file as output by nvcc, or a `PTX` file either as output by\n    nvcc or handwritten, or a `fatbin` file as output by nvcc from\n    toolchain 4.0 or later.\n\n    Parameters\n    ----------\n    fname : bytes\n        Filename of module to load\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_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`\n    module : :py:obj:`~.CUmodule`\n        Returned module\n\n    See Also\n    --------\n    :py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`, :py:obj:`~.cuModuleLoadFatBinary`, :py:obj:`~.cuModuleUnload`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_101cuModuleLoad = {"cuModuleLoad", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_101cuModuleLoad, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_100cuModuleLoad};
static PyObject *__pyx_pw_4cuda_4cuda_101cuModuleLoad(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fname,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fname)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18267, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuModuleLoad") < 0)) __PYX_ERR(1, 18267, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_fname = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_fname) && PyErr_Occurred())) __PYX_ERR(1, 18268, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleLoad", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 18267, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuModuleLoad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_100cuModuleLoad(__pyx_self, __pyx_v_fname);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_100cuModuleLoad(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_fname) {
  struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_module = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__531)
  __Pyx_RefNannySetupContext("cuModuleLoad", 1);
  __Pyx_TraceCall("cuModuleLoad", __pyx_f[1], 18267, 0, __PYX_ERR(1, 18267, __pyx_L1_error));

  /* "cuda/cuda.pyx":18296
 *     :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()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuModuleLoad(<ccuda.CUmodule*>module._ptr, fname)
 *     return (CUresult(err), module)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmodule)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_module = ((struct __pyx_obj_4cuda_4cuda_CUmodule *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18297
 *     """
 *     cdef CUmodule module = CUmodule()
 *     err = ccuda.cuModuleLoad(<ccuda.CUmodule*>module._ptr, fname)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), module)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuModuleLoad(((CUmodule *)__pyx_v_module->_ptr), __pyx_v_fname); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18297, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":18298
 *     cdef CUmodule module = CUmodule()
 *     err = ccuda.cuModuleLoad(<ccuda.CUmodule*>module._ptr, fname)
 *     return (CUresult(err), module)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 18298, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18298, __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)) __PYX_ERR(1, 18298, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_module);
  __Pyx_GIVEREF((PyObject *)__pyx_v_module);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_module))) __PYX_ERR(1, 18298, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18267
 *     return (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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuModuleLoad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_module);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18300
 *     return (CUresult(err), module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadData(image):
 *     """ Load a module's data.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_103cuModuleLoadData(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_102cuModuleLoadData, "cuModuleLoadData(image)\n Load a module's data.\n\n    Takes a pointer `image` and loads the corresponding module `module`\n    into the current context. The `image` may be a `cubin` or `fatbin` as\n    output by nvcc, or a NULL-terminated `PTX`, either as output by nvcc or\n    hand-written.\n\n    Parameters\n    ----------\n    image : Any\n        Module data to load\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_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`\n    module : :py:obj:`~.CUmodule`\n        Returned module\n\n    See Also\n    --------\n    :py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadDataEx`, :py:obj:`~.cuModuleLoadFatBinary`, :py:obj:`~.cuModuleUnload`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_103cuModuleLoadData = {"cuModuleLoadData", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_103cuModuleLoadData, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_102cuModuleLoadData};
static PyObject *__pyx_pw_4cuda_4cuda_103cuModuleLoadData(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_image,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_image)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18300, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuModuleLoadData") < 0)) __PYX_ERR(1, 18300, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_image = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleLoadData", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 18300, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuModuleLoadData", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_102cuModuleLoadData(__pyx_self, __pyx_v_image);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_102cuModuleLoadData(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image) {
  struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_module = 0;
  PyObject *__pyx_v_cimage = NULL;
  void *__pyx_v_cimage_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  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_TraceFrameInit(__pyx_codeobj__532)
  __Pyx_RefNannySetupContext("cuModuleLoadData", 1);
  __Pyx_TraceCall("cuModuleLoadData", __pyx_f[1], 18300, 0, __PYX_ERR(1, 18300, __pyx_L1_error));

  /* "cuda/cuda.pyx":18325
 *     :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()             # <<<<<<<<<<<<<<
 *     cimage = utils.HelperInputVoidPtr(image)
 *     cdef void* cimage_ptr = <void*><void_ptr>cimage.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmodule)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_module = ((struct __pyx_obj_4cuda_4cuda_CUmodule *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18326
 *     """
 *     cdef CUmodule module = CUmodule()
 *     cimage = utils.HelperInputVoidPtr(image)             # <<<<<<<<<<<<<<
 *     cdef void* cimage_ptr = <void*><void_ptr>cimage.cptr
 *     err = ccuda.cuModuleLoadData(<ccuda.CUmodule*>module._ptr, cimage_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_image); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cimage = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18327
 *     cdef CUmodule module = CUmodule()
 *     cimage = utils.HelperInputVoidPtr(image)
 *     cdef void* cimage_ptr = <void*><void_ptr>cimage.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuModuleLoadData(<ccuda.CUmodule*>module._ptr, cimage_ptr)
 *     return (CUresult(err), module)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cimage, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18327, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cimage_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":18328
 *     cimage = utils.HelperInputVoidPtr(image)
 *     cdef void* cimage_ptr = <void*><void_ptr>cimage.cptr
 *     err = ccuda.cuModuleLoadData(<ccuda.CUmodule*>module._ptr, cimage_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), module)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_5ccuda_cuModuleLoadData(((CUmodule *)__pyx_v_module->_ptr), __pyx_v_cimage_ptr); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18328, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cuda.pyx":18329
 *     cdef void* cimage_ptr = <void*><void_ptr>cimage.cptr
 *     err = ccuda.cuModuleLoadData(<ccuda.CUmodule*>module._ptr, cimage_ptr)
 *     return (CUresult(err), module)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 18329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_7 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18329, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18329, __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)) __PYX_ERR(1, 18329, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_module);
  __Pyx_GIVEREF((PyObject *)__pyx_v_module);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_module))) __PYX_ERR(1, 18329, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18300
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cuda.cuModuleLoadData", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_module);
  __Pyx_XDECREF(__pyx_v_cimage);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18331
 *     return (CUresult(err), module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadDataEx(image, unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[List[Any]]):
 *     """ Load a module's data with options.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_105cuModuleLoadDataEx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_104cuModuleLoadDataEx, "cuModuleLoadDataEx(image, unsigned int numOptions, list options: Optional[List[CUjit_option]], list optionValues: Optional[List[Any]])\n Load a module's data with options.\n\n    Takes a pointer `image` and loads the corresponding module `module`\n    into the current context. The `image` may be a `cubin` or `fatbin` as\n    output by nvcc, or a NULL-terminated `PTX`, either as output by nvcc or\n    hand-written.\n\n    Parameters\n    ----------\n    image : Any\n        Module data to load\n    numOptions : unsigned int\n        Number of options\n    options : List[:py:obj:`~.CUjit_option`]\n        Options for JIT\n    optionValues : List[Any]\n        Option values for JIT\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_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`\n    module : :py:obj:`~.CUmodule`\n        Returned module\n\n    See Also\n    --------\n    :py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadFatBinary`, :py:obj:`~.cuModuleUnload`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_105cuModuleLoadDataEx = {"cuModuleLoadDataEx", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_105cuModuleLoadDataEx, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_104cuModuleLoadDataEx};
static PyObject *__pyx_pw_4cuda_4cuda_105cuModuleLoadDataEx(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_image,&__pyx_n_s_numOptions,&__pyx_n_s_options,&__pyx_n_s_optionValues,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_image)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18331, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numOptions)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18331, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuModuleLoadDataEx", 1, 4, 4, 1); __PYX_ERR(1, 18331, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_options)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18331, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuModuleLoadDataEx", 1, 4, 4, 2); __PYX_ERR(1, 18331, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_optionValues)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18331, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuModuleLoadDataEx", 1, 4, 4, 3); __PYX_ERR(1, 18331, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuModuleLoadDataEx") < 0)) __PYX_ERR(1, 18331, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_image = values[0];
    __pyx_v_numOptions = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_numOptions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 18332, __pyx_L3_error)
    __pyx_v_options = ((PyObject*)values[2]);
    __pyx_v_optionValues = ((PyObject*)values[3]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleLoadDataEx", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 18331, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuModuleLoadDataEx", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_options), (&PyList_Type), 1, "options", 1))) __PYX_ERR(1, 18332, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_optionValues), (&PyList_Type), 1, "optionValues", 1))) __PYX_ERR(1, 18332, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_104cuModuleLoadDataEx(__pyx_self, __pyx_v_image, __pyx_v_numOptions, __pyx_v_options, __pyx_v_optionValues);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_18cuModuleLoadDataEx_2generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":18364
 *     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 List[ccuda.CUjit_option]")
 *     cdef CUmodule module = CUmodule()
 */

static PyObject *__pyx_pf_4cuda_4cuda_18cuModuleLoadDataEx_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_1_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_1_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_1_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_1_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 18364, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_18cuModuleLoadDataEx_2generator1, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuModuleLoadDataEx_locals_genexp, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 18364, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_18cuModuleLoadDataEx_2generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_1_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_1_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 18364, 0, __PYX_ERR(1, 18364, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 18364, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 18364, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 18364, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 18364, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 18364, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUjit_option); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 18364, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18331
 *     return (CUresult(err), module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadDataEx(image, unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[List[Any]]):
 *     """ Load a module's data with options.
 */

static PyObject *__pyx_pf_4cuda_4cuda_104cuModuleLoadDataEx(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_4cuda_CUmodule *__pyx_v_module = 0;
  PyObject *__pyx_v_cimage = NULL;
  void *__pyx_v_cimage_ptr;
  std::vector<CUjit_option>  __pyx_v_coptions;
  PyObject *__pyx_v_pylist = NULL;
  struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *__pyx_v_voidStarHelperoptionValues = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_18cuModuleLoadDataEx_2generator1 = 0;
  PyObject *__pyx_10genexpr100__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr101__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr101__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  std::vector<CUjit_option>  __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 *);
  CUresult __pyx_t_14;
  int __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__533)
  __Pyx_RefNannySetupContext("cuModuleLoadDataEx", 0);
  __Pyx_TraceCall("cuModuleLoadDataEx", __pyx_f[1], 18331, 0, __PYX_ERR(1, 18331, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_options);
  __Pyx_INCREF(__pyx_v_optionValues);

  /* "cuda/cuda.pyx":18362
 *     :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 == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18362, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18363
 *     """
 *     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 List[ccuda.CUjit_option]")
 */
  __pyx_t_2 = (__pyx_v_options == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18363, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18364
 *     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 List[ccuda.CUjit_option]")
 *     cdef CUmodule module = CUmodule()
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_18cuModuleLoadDataEx_genexpr(NULL, __pyx_v_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18364, __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(1, 18364, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":18365
 *     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 List[ccuda.CUjit_option]")             # <<<<<<<<<<<<<<
 *     cdef CUmodule module = CUmodule()
 *     cimage = utils.HelperInputVoidPtr(image)
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__534, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18365, __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(1, 18365, __pyx_L1_error)

    /* "cuda/cuda.pyx":18364
 *     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 List[ccuda.CUjit_option]")
 *     cdef CUmodule module = CUmodule()
 */
  }

  /* "cuda/cuda.pyx":18366
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):
 *         raise TypeError("Argument 'options' is not instance of type (expected List[ccuda.CUjit_option]")
 *     cdef CUmodule module = CUmodule()             # <<<<<<<<<<<<<<
 *     cimage = utils.HelperInputVoidPtr(image)
 *     cdef void* cimage_ptr = <void*><void_ptr>cimage.cptr
 */
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmodule)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_module = ((struct __pyx_obj_4cuda_4cuda_CUmodule *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18367
 *         raise TypeError("Argument 'options' is not instance of type (expected List[ccuda.CUjit_option]")
 *     cdef CUmodule module = CUmodule()
 *     cimage = utils.HelperInputVoidPtr(image)             # <<<<<<<<<<<<<<
 *     cdef void* cimage_ptr = <void*><void_ptr>cimage.cptr
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 */
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_image); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_cimage = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18368
 *     cdef CUmodule module = CUmodule()
 *     cimage = utils.HelperInputVoidPtr(image)
 *     cdef void* cimage_ptr = <void*><void_ptr>cimage.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(__pyx_v_cimage, __pyx_n_s_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18368, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cimage_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

  /* "cuda/cuda.pyx":18369
 *     cimage = utils.HelperInputVoidPtr(image)
 *     cdef void* cimage_ptr = <void*><void_ptr>cimage.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[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]
 */
  if (unlikely(__pyx_v_options == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 18369, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_options); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 18369, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_6);
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_options == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 18369, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_options); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 18369, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 18369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18369, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 18369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_7, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __PYX_ERR(1, 18369, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":18370
 *     cdef void* cimage_ptr = <void*><void_ptr>cimage.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[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 */
  if (unlikely(__pyx_v_optionValues == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 18370, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_optionValues); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 18370, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_6);
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_optionValues == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 18370, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_optionValues); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 18370, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 18370, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18370, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 18370, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18370, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 18370, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18370, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 18370, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18370, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 18370, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":18371
 *     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[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]             # <<<<<<<<<<<<<<
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18371, __pyx_L8_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely(__pyx_v_options == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(1, 18371, __pyx_L8_error)
    }
    __pyx_t_7 = __pyx_v_options; __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_7);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 18371, __pyx_L8_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_3 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 18371, __pyx_L8_error)
      #else
      __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18371, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_3);
      #endif
      __Pyx_XDECREF_SET(__pyx_10genexpr100__pyx_v_pyoptions, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr100__pyx_v_pyoptions, __pyx_n_s_value_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18371, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(1, 18371, __pyx_L8_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_10genexpr100__pyx_v_pyoptions); __pyx_10genexpr100__pyx_v_pyoptions = 0;
    goto __pyx_L12_exit_scope;
    __pyx_L8_error:;
    __Pyx_XDECREF(__pyx_10genexpr100__pyx_v_pyoptions); __pyx_10genexpr100__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L12_exit_scope:;
  } /* exit inner scope */
  __pyx_t_8 = __pyx_convert_vector_from_py_CUjit_option(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_coptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_8);

  /* "cuda/cuda.pyx":18372
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
 *     cdef vector[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]             # <<<<<<<<<<<<<<
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     err = ccuda.cuModuleLoadDataEx(<ccuda.CUmodule*>module._ptr, cimage_ptr, numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr)
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18372, __pyx_L15_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 18372, __pyx_L15_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_INCREF(__pyx_v_options);
    __Pyx_GIVEREF(__pyx_v_options);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_options)) __PYX_ERR(1, 18372, __pyx_L15_error);
    __Pyx_INCREF(__pyx_v_optionValues);
    __Pyx_GIVEREF(__pyx_v_optionValues);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_optionValues)) __PYX_ERR(1, 18372, __pyx_L15_error);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18372, __pyx_L15_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
      __pyx_t_7 = __pyx_t_3; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_6 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 18372, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 18372, __pyx_L15_error)
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 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_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 18372, __pyx_L15_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 18372, __pyx_L15_error)
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18372, __pyx_L15_error)
          __Pyx_GOTREF(__pyx_t_3);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 18372, __pyx_L15_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 18372, __pyx_L15_error)
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18372, __pyx_L15_error)
          __Pyx_GOTREF(__pyx_t_3);
          #endif
        }
      } else {
        __pyx_t_3 = __pyx_t_9(__pyx_t_7);
        if (unlikely(!__pyx_t_3)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 18372, __pyx_L15_error)
          }
          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(1, 18372, __pyx_L15_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_10 = PyTuple_GET_ITEM(sequence, 0); 
          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_10 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_11 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_11);
        #else
        __pyx_t_10 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 18372, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_11 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 18372, __pyx_L15_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(1, 18372, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_13 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_12);
        index = 0; __pyx_t_10 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_10)) goto __pyx_L18_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_L18_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_11);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_13(__pyx_t_12), 2) < 0) __PYX_ERR(1, 18372, __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(1, 18372, __pyx_L15_error)
        __pyx_L19_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr101__pyx_v_pyoptions, __pyx_t_10);
      __pyx_t_10 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr101__pyx_v_pyoptionValues, __pyx_t_11);
      __pyx_t_11 = 0;
      __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18372, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_10genexpr101__pyx_v_pyoptions);
      __Pyx_GIVEREF(__pyx_10genexpr101__pyx_v_pyoptions);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_10genexpr101__pyx_v_pyoptions)) __PYX_ERR(1, 18372, __pyx_L15_error);
      __Pyx_INCREF(__pyx_10genexpr101__pyx_v_pyoptionValues);
      __Pyx_GIVEREF(__pyx_10genexpr101__pyx_v_pyoptionValues);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_10genexpr101__pyx_v_pyoptionValues)) __PYX_ERR(1, 18372, __pyx_L15_error);
      __pyx_t_11 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUjit_option), __pyx_t_3, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 18372, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_11))) __PYX_ERR(1, 18372, __pyx_L15_error)
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_10genexpr101__pyx_v_pyoptionValues); __pyx_10genexpr101__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr101__pyx_v_pyoptions); __pyx_10genexpr101__pyx_v_pyoptions = 0;
    goto __pyx_L21_exit_scope;
    __pyx_L15_error:;
    __Pyx_XDECREF(__pyx_10genexpr101__pyx_v_pyoptionValues); __pyx_10genexpr101__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr101__pyx_v_pyoptions); __pyx_10genexpr101__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L21_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18373
 *     cdef vector[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     err = ccuda.cuModuleLoadDataEx(<ccuda.CUmodule*>module._ptr, cimage_ptr, numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr)
 *     return (CUresult(err), module)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper), __pyx_v_pylist); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_voidStarHelperoptionValues = ((struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18374
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     err = ccuda.cuModuleLoadDataEx(<ccuda.CUmodule*>module._ptr, cimage_ptr, numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), module)
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperoptionValues), __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18374, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_14 = __pyx_f_4cuda_5ccuda_cuModuleLoadDataEx(((CUmodule *)__pyx_v_module->_ptr), __pyx_v_cimage_ptr, __pyx_v_numOptions, __pyx_v_coptions.data(), ((void **)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5))); if (unlikely(__pyx_t_14 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18374, __pyx_L1_error)
  __pyx_v_err = __pyx_t_14;

  /* "cuda/cuda.pyx":18375
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     err = ccuda.cuModuleLoadDataEx(<ccuda.CUmodule*>module._ptr, cimage_ptr, numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr)
 *     return (CUresult(err), module)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 18375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_11 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 18375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_3 = NULL;
  __pyx_t_15 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_15 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_11};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_15, 1+__pyx_t_15);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 18375, __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)) __PYX_ERR(1, 18375, __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))) __PYX_ERR(1, 18375, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18331
 *     return (CUresult(err), module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadDataEx(image, unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[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_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.cuModuleLoadDataEx", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_module);
  __Pyx_XDECREF(__pyx_v_cimage);
  __Pyx_XDECREF(__pyx_v_pylist);
  __Pyx_XDECREF((PyObject *)__pyx_v_voidStarHelperoptionValues);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_18cuModuleLoadDataEx_2generator1);
  __Pyx_XDECREF(__pyx_10genexpr100__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr101__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr101__pyx_v_pyoptionValues);
  __Pyx_XDECREF(__pyx_v_options);
  __Pyx_XDECREF(__pyx_v_optionValues);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18377
 *     return (CUresult(err), module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadFatBinary(fatCubin):
 *     """ Load a module's data.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_107cuModuleLoadFatBinary(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_106cuModuleLoadFatBinary, "cuModuleLoadFatBinary(fatCubin)\n Load a module's data.\n\n    Takes a pointer `fatCubin` and loads the corresponding module `module`\n    into the current context. The pointer represents a `fat binary` object,\n    which is a collection of different `cubin` and/or `PTX` files, all\n    representing the same device code, but compiled and optimized for\n    different architectures.\n\n    Prior to CUDA 4.0, there was no documented API for constructing and\n    using fat binary objects by programmers. Starting with CUDA 4.0, fat\n    binary objects can be constructed by providing the `-fatbin option` to\n    nvcc. More information can be found in the nvcc document.\n\n    Parameters\n    ----------\n    fatCubin : Any\n        Fat binary to load\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_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`\n    module : :py:obj:`~.CUmodule`\n        Returned module\n\n    See Also\n    --------\n    :py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`, :py:obj:`~.cuModuleUnload`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_107cuModuleLoadFatBinary = {"cuModuleLoadFatBinary", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_107cuModuleLoadFatBinary, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_106cuModuleLoadFatBinary};
static PyObject *__pyx_pw_4cuda_4cuda_107cuModuleLoadFatBinary(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fatCubin,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fatCubin)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18377, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuModuleLoadFatBinary") < 0)) __PYX_ERR(1, 18377, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_fatCubin = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleLoadFatBinary", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 18377, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuModuleLoadFatBinary", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_106cuModuleLoadFatBinary(__pyx_self, __pyx_v_fatCubin);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_106cuModuleLoadFatBinary(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fatCubin) {
  struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_module = 0;
  PyObject *__pyx_v_cfatCubin = NULL;
  void *__pyx_v_cfatCubin_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  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_TraceFrameInit(__pyx_codeobj__536)
  __Pyx_RefNannySetupContext("cuModuleLoadFatBinary", 1);
  __Pyx_TraceCall("cuModuleLoadFatBinary", __pyx_f[1], 18377, 0, __PYX_ERR(1, 18377, __pyx_L1_error));

  /* "cuda/cuda.pyx":18408
 *     :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()             # <<<<<<<<<<<<<<
 *     cfatCubin = utils.HelperInputVoidPtr(fatCubin)
 *     cdef void* cfatCubin_ptr = <void*><void_ptr>cfatCubin.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmodule)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_module = ((struct __pyx_obj_4cuda_4cuda_CUmodule *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18409
 *     """
 *     cdef CUmodule module = CUmodule()
 *     cfatCubin = utils.HelperInputVoidPtr(fatCubin)             # <<<<<<<<<<<<<<
 *     cdef void* cfatCubin_ptr = <void*><void_ptr>cfatCubin.cptr
 *     err = ccuda.cuModuleLoadFatBinary(<ccuda.CUmodule*>module._ptr, cfatCubin_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_fatCubin); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cfatCubin = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18410
 *     cdef CUmodule module = CUmodule()
 *     cfatCubin = utils.HelperInputVoidPtr(fatCubin)
 *     cdef void* cfatCubin_ptr = <void*><void_ptr>cfatCubin.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuModuleLoadFatBinary(<ccuda.CUmodule*>module._ptr, cfatCubin_ptr)
 *     return (CUresult(err), module)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cfatCubin, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18410, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cfatCubin_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":18411
 *     cfatCubin = utils.HelperInputVoidPtr(fatCubin)
 *     cdef void* cfatCubin_ptr = <void*><void_ptr>cfatCubin.cptr
 *     err = ccuda.cuModuleLoadFatBinary(<ccuda.CUmodule*>module._ptr, cfatCubin_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), module)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_5ccuda_cuModuleLoadFatBinary(((CUmodule *)__pyx_v_module->_ptr), __pyx_v_cfatCubin_ptr); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18411, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cuda.pyx":18412
 *     cdef void* cfatCubin_ptr = <void*><void_ptr>cfatCubin.cptr
 *     err = ccuda.cuModuleLoadFatBinary(<ccuda.CUmodule*>module._ptr, cfatCubin_ptr)
 *     return (CUresult(err), module)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 18412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_7 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18412, __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)) __PYX_ERR(1, 18412, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_module);
  __Pyx_GIVEREF((PyObject *)__pyx_v_module);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_module))) __PYX_ERR(1, 18412, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18377
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cuda.cuModuleLoadFatBinary", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_module);
  __Pyx_XDECREF(__pyx_v_cfatCubin);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18414
 *     return (CUresult(err), module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleUnload(hmod):
 *     """ Unloads a module.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_109cuModuleUnload(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_108cuModuleUnload, "cuModuleUnload(hmod)\n Unloads a module.\n\n    Unloads a module `hmod` from the current context. Attempting to unload\n    a 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\n    Parameters\n    ----------\n    hmod : :py:obj:`~.CUmodule`\n        Module to unload\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_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`\n\n    See Also\n    --------\n    :py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`, :py:obj:`~.cuModuleLoadFatBinary`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_109cuModuleUnload = {"cuModuleUnload", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_109cuModuleUnload, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_108cuModuleUnload};
static PyObject *__pyx_pw_4cuda_4cuda_109cuModuleUnload(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hmod,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hmod)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18414, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuModuleUnload") < 0)) __PYX_ERR(1, 18414, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hmod = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleUnload", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 18414, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuModuleUnload", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_108cuModuleUnload(__pyx_self, __pyx_v_hmod);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_108cuModuleUnload(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod) {
  CUmodule __pyx_v_chmod;
  PyObject *__pyx_v_phmod = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__537)
  __Pyx_RefNannySetupContext("cuModuleUnload", 1);
  __Pyx_TraceCall("cuModuleUnload", __pyx_f[1], 18414, 0, __PYX_ERR(1, 18414, __pyx_L1_error));

  /* "cuda/cuda.pyx":18438
 *     """
 *     cdef ccuda.CUmodule chmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):
 */
  __pyx_t_1 = (__pyx_v_hmod == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18439
 *     cdef ccuda.CUmodule chmod
 *     if hmod is None:
 *         chmod = <ccuda.CUmodule><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)
 */
    __pyx_v_chmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":18438
 *     """
 *     cdef ccuda.CUmodule chmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18440
 *     if hmod is None:
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hmod, __pyx_ptype_4cuda_4cuda_CUmodule); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18441
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hmod); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18441, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phmod = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":18442
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)
 *         chmod = <ccuda.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     else:
 *         phmod = int(CUmodule(hmod))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18442, __pyx_L1_error)
    __pyx_v_chmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":18440
 *     if hmod is None:
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18444
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     else:
 *         phmod = int(CUmodule(hmod))             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     err = ccuda.cuModuleUnload(chmod)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmodule), __pyx_v_hmod); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phmod = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":18445
 *     else:
 *         phmod = int(CUmodule(hmod))
 *         chmod = <ccuda.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     err = ccuda.cuModuleUnload(chmod)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18445, __pyx_L1_error)
    __pyx_v_chmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":18446
 *         phmod = int(CUmodule(hmod))
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     err = ccuda.cuModuleUnload(chmod)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuModuleUnload(__pyx_v_chmod); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18446, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":18447
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     err = ccuda.cuModuleUnload(chmod)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 18447, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18414
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuModuleUnload", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phmod);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18449
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetLoadingMode():
 *     """ Query lazy loading mode.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_111cuModuleGetLoadingMode(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_110cuModuleGetLoadingMode, "cuModuleGetLoadingMode()\n Query lazy loading mode.\n\n    Returns lazy loading mode Module loading mode is controlled by\n    CUDA_MODULE_LOADING env variable\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n    mode : :py:obj:`~.CUmoduleLoadingMode`\n        Returns the lazy loading mode\n\n    See Also\n    --------\n    :py:obj:`~.cuModuleLoad`,\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_111cuModuleGetLoadingMode = {"cuModuleGetLoadingMode", (PyCFunction)__pyx_pw_4cuda_4cuda_111cuModuleGetLoadingMode, METH_NOARGS, __pyx_doc_4cuda_4cuda_110cuModuleGetLoadingMode};
static PyObject *__pyx_pw_4cuda_4cuda_111cuModuleGetLoadingMode(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_4cuda_110cuModuleGetLoadingMode(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_110cuModuleGetLoadingMode(CYTHON_UNUSED PyObject *__pyx_self) {
  CUmoduleLoadingMode __pyx_v_mode;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  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_TraceFrameInit(__pyx_codeobj__538)
  __Pyx_RefNannySetupContext("cuModuleGetLoadingMode", 1);
  __Pyx_TraceCall("cuModuleGetLoadingMode", __pyx_f[1], 18449, 0, __PYX_ERR(1, 18449, __pyx_L1_error));

  /* "cuda/cuda.pyx":18468
 *     """
 *     cdef ccuda.CUmoduleLoadingMode mode
 *     err = ccuda.cuModuleGetLoadingMode(&mode)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), CUmoduleLoadingMode(mode))
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_5ccuda_cuModuleGetLoadingMode((&__pyx_v_mode)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18468, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cuda.pyx":18469
 *     cdef ccuda.CUmoduleLoadingMode mode
 *     err = ccuda.cuModuleGetLoadingMode(&mode)
 *     return (CUresult(err), CUmoduleLoadingMode(mode))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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, 18469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUmoduleLoadingMode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmoduleLoadingMode_enum(__pyx_v_mode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 18469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 18469, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(1, 18469, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18449
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetLoadingMode():
 *     """ Query lazy loading mode.
 */

  /* 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_7);
  __Pyx_AddTraceback("cuda.cuda.cuModuleGetLoadingMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18471
 *     return (CUresult(err), CUmoduleLoadingMode(mode))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetFunction(hmod, char* name):
 *     """ Returns a function handle.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_113cuModuleGetFunction(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_112cuModuleGetFunction, "cuModuleGetFunction(hmod, char *name)\n Returns a function handle.\n\n    Returns in `*hfunc` the handle of the function of name `name` located\n    in module `hmod`. If no function of that name exists,\n    :py:obj:`~.cuModuleGetFunction()` returns\n    :py:obj:`~.CUDA_ERROR_NOT_FOUND`.\n\n    Parameters\n    ----------\n    hmod : :py:obj:`~.CUmodule`\n        Module to retrieve function from\n    name : bytes\n        Name of function to retrieve\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_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\n    hfunc : :py:obj:`~.CUfunction`\n        Returned function handle\n\n    See Also\n    --------\n    :py:obj:`~.cuModuleGetGlobal`, :py:obj:`~.cuModuleGetTexRef`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`, :py:obj:`~.cuModuleLoadFatBinary`, :py:obj:`~.cuModuleUnload`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_113cuModuleGetFunction = {"cuModuleGetFunction", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_113cuModuleGetFunction, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_112cuModuleGetFunction};
static PyObject *__pyx_pw_4cuda_4cuda_113cuModuleGetFunction(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hmod,&__pyx_n_s_name_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hmod)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18471, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18471, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuModuleGetFunction", 1, 2, 2, 1); __PYX_ERR(1, 18471, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuModuleGetFunction") < 0)) __PYX_ERR(1, 18471, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hmod = values[0];
    __pyx_v_name = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(1, 18472, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleGetFunction", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 18471, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuModuleGetFunction", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_112cuModuleGetFunction(__pyx_self, __pyx_v_hmod, __pyx_v_name);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_112cuModuleGetFunction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod, char *__pyx_v_name) {
  CUmodule __pyx_v_chmod;
  PyObject *__pyx_v_phmod = NULL;
  struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_hfunc = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__539)
  __Pyx_RefNannySetupContext("cuModuleGetFunction", 1);
  __Pyx_TraceCall("cuModuleGetFunction", __pyx_f[1], 18471, 0, __PYX_ERR(1, 18471, __pyx_L1_error));

  /* "cuda/cuda.pyx":18499
 *     """
 *     cdef ccuda.CUmodule chmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):
 */
  __pyx_t_1 = (__pyx_v_hmod == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18500
 *     cdef ccuda.CUmodule chmod
 *     if hmod is None:
 *         chmod = <ccuda.CUmodule><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)
 */
    __pyx_v_chmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":18499
 *     """
 *     cdef ccuda.CUmodule chmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18501
 *     if hmod is None:
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hmod, __pyx_ptype_4cuda_4cuda_CUmodule); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18502
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hmod); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phmod = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":18503
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)
 *         chmod = <ccuda.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     else:
 *         phmod = int(CUmodule(hmod))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18503, __pyx_L1_error)
    __pyx_v_chmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":18501
 *     if hmod is None:
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18505
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     else:
 *         phmod = int(CUmodule(hmod))             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     cdef CUfunction hfunc = CUfunction()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmodule), __pyx_v_hmod); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18505, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18505, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phmod = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":18506
 *     else:
 *         phmod = int(CUmodule(hmod))
 *         chmod = <ccuda.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     cdef CUfunction hfunc = CUfunction()
 *     err = ccuda.cuModuleGetFunction(<ccuda.CUfunction*>hfunc._ptr, chmod, name)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18506, __pyx_L1_error)
    __pyx_v_chmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":18507
 *         phmod = int(CUmodule(hmod))
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     cdef CUfunction hfunc = CUfunction()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuModuleGetFunction(<ccuda.CUfunction*>hfunc._ptr, chmod, name)
 *     return (CUresult(err), hfunc)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_hfunc = ((struct __pyx_obj_4cuda_4cuda_CUfunction *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":18508
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     cdef CUfunction hfunc = CUfunction()
 *     err = ccuda.cuModuleGetFunction(<ccuda.CUfunction*>hfunc._ptr, chmod, name)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), hfunc)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuModuleGetFunction(((CUfunction *)__pyx_v_hfunc->_ptr), __pyx_v_chmod, __pyx_v_name); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18508, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":18509
 *     cdef CUfunction hfunc = CUfunction()
 *     err = ccuda.cuModuleGetFunction(<ccuda.CUfunction*>hfunc._ptr, chmod, name)
 *     return (CUresult(err), hfunc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 18509, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_hfunc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_hfunc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_hfunc))) __PYX_ERR(1, 18509, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18471
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18511
 *     return (CUresult(err), hfunc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetFunctionCount(mod):
 *     """ Returns the number of functions within a module.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_115cuModuleGetFunctionCount(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_114cuModuleGetFunctionCount, "cuModuleGetFunctionCount(mod)\n Returns the number of functions within a module.\n\n    Returns in `count` the number of functions in `mod`.\n\n    Parameters\n    ----------\n    mod : :py:obj:`~.CUmodule`\n        Module to query\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    count : unsigned int\n        Number of functions found within the module\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_115cuModuleGetFunctionCount = {"cuModuleGetFunctionCount", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_115cuModuleGetFunctionCount, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_114cuModuleGetFunctionCount};
static PyObject *__pyx_pw_4cuda_4cuda_115cuModuleGetFunctionCount(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_mod,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mod)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18511, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuModuleGetFunctionCount") < 0)) __PYX_ERR(1, 18511, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_mod = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleGetFunctionCount", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 18511, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuModuleGetFunctionCount", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_114cuModuleGetFunctionCount(__pyx_self, __pyx_v_mod);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_114cuModuleGetFunctionCount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mod) {
  CUmodule __pyx_v_cmod;
  PyObject *__pyx_v_pmod = NULL;
  unsigned int __pyx_v_count;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__540)
  __Pyx_RefNannySetupContext("cuModuleGetFunctionCount", 1);
  __Pyx_TraceCall("cuModuleGetFunctionCount", __pyx_f[1], 18511, 0, __PYX_ERR(1, 18511, __pyx_L1_error));

  /* "cuda/cuda.pyx":18530
 *     """
 *     cdef ccuda.CUmodule cmod
 *     if mod is None:             # <<<<<<<<<<<<<<
 *         cmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(mod, (CUmodule,)):
 */
  __pyx_t_1 = (__pyx_v_mod == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18531
 *     cdef ccuda.CUmodule cmod
 *     if mod is None:
 *         cmod = <ccuda.CUmodule><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(mod, (CUmodule,)):
 *         pmod = int(mod)
 */
    __pyx_v_cmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":18530
 *     """
 *     cdef ccuda.CUmodule cmod
 *     if mod is None:             # <<<<<<<<<<<<<<
 *         cmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(mod, (CUmodule,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18532
 *     if mod is None:
 *         cmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(mod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         pmod = int(mod)
 *         cmod = <ccuda.CUmodule><void_ptr>pmod
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mod, __pyx_ptype_4cuda_4cuda_CUmodule); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18533
 *         cmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(mod, (CUmodule,)):
 *         pmod = int(mod)             # <<<<<<<<<<<<<<
 *         cmod = <ccuda.CUmodule><void_ptr>pmod
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_mod); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmod = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":18534
 *     elif isinstance(mod, (CUmodule,)):
 *         pmod = int(mod)
 *         cmod = <ccuda.CUmodule><void_ptr>pmod             # <<<<<<<<<<<<<<
 *     else:
 *         pmod = int(CUmodule(mod))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmod); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18534, __pyx_L1_error)
    __pyx_v_cmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":18532
 *     if mod is None:
 *         cmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(mod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         pmod = int(mod)
 *         cmod = <ccuda.CUmodule><void_ptr>pmod
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18536
 *         cmod = <ccuda.CUmodule><void_ptr>pmod
 *     else:
 *         pmod = int(CUmodule(mod))             # <<<<<<<<<<<<<<
 *         cmod = <ccuda.CUmodule><void_ptr>pmod
 *     cdef unsigned int count = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmodule), __pyx_v_mod); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmod = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":18537
 *     else:
 *         pmod = int(CUmodule(mod))
 *         cmod = <ccuda.CUmodule><void_ptr>pmod             # <<<<<<<<<<<<<<
 *     cdef unsigned int count = 0
 *     err = ccuda.cuModuleGetFunctionCount(&count, cmod)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmod); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18537, __pyx_L1_error)
    __pyx_v_cmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":18538
 *         pmod = int(CUmodule(mod))
 *         cmod = <ccuda.CUmodule><void_ptr>pmod
 *     cdef unsigned int count = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuModuleGetFunctionCount(&count, cmod)
 *     return (CUresult(err), count)
 */
  __pyx_v_count = 0;

  /* "cuda/cuda.pyx":18539
 *         cmod = <ccuda.CUmodule><void_ptr>pmod
 *     cdef unsigned int count = 0
 *     err = ccuda.cuModuleGetFunctionCount(&count, cmod)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), count)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuModuleGetFunctionCount((&__pyx_v_count), __pyx_v_cmod); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18539, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":18540
 *     cdef unsigned int count = 0
 *     err = ccuda.cuModuleGetFunctionCount(&count, cmod)
 *     return (CUresult(err), count)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18540, __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)) __PYX_ERR(1, 18540, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 18540, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18511
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuModuleGetFunctionCount", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmod);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18542
 *     return (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_4cuda_117cuModuleEnumerateFunctions(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_116cuModuleEnumerateFunctions, "cuModuleEnumerateFunctions(unsigned int numFunctions, mod)\n Returns the function handles within a module.\n\n    Returns in `functions` a maximum number of `numFunctions` function\n    handles within `mod`. When function loading mode is set to LAZY the\n    function retrieved may be partially loaded. The loading state of a\n    function can be queried using :py:obj:`~.cuFunctionIsLoaded`. CUDA APIs\n    may load the function automatically when called with partially loaded\n    function handle which may incur additional latency. Alternatively,\n    :py:obj:`~.cuFunctionLoad` can be used to explicitly load a function.\n    The returned function handles become invalid when the module is\n    unloaded.\n\n    Parameters\n    ----------\n    numFunctions : unsigned int\n        Maximum number of function handles may be returned to the buffer\n    mod : :py:obj:`~.CUmodule`\n        Module to query from\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    functions : List[:py:obj:`~.CUfunction`]\n        Buffer where the function handles are returned to\n\n    See Also\n    --------\n    :py:obj:`~.cuModuleGetFunction`, :py:obj:`~.cuModuleGetFunctionCount`, :py:obj:`~.cuFuncIsLoaded`, :py:obj:`~.cuFuncLoad`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_117cuModuleEnumerateFunctions = {"cuModuleEnumerateFunctions", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_117cuModuleEnumerateFunctions, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_116cuModuleEnumerateFunctions};
static PyObject *__pyx_pw_4cuda_4cuda_117cuModuleEnumerateFunctions(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_numFunctions,&__pyx_n_s_mod,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numFunctions)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18542, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mod)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18542, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuModuleEnumerateFunctions", 1, 2, 2, 1); __PYX_ERR(1, 18542, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuModuleEnumerateFunctions") < 0)) __PYX_ERR(1, 18542, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_numFunctions = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_numFunctions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 18543, __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(1, 18542, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuModuleEnumerateFunctions", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_116cuModuleEnumerateFunctions(__pyx_self, __pyx_v_numFunctions, __pyx_v_mod);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_116cuModuleEnumerateFunctions(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_numFunctions, PyObject *__pyx_v_mod) {
  CUmodule __pyx_v_cmod;
  PyObject *__pyx_v_pmod = NULL;
  CUfunction *__pyx_v_cfunctions;
  PyObject *__pyx_v_pyfunctions = NULL;
  CUresult __pyx_v_err;
  unsigned int __pyx_10genexpr102__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  unsigned int __pyx_t_9;
  unsigned int __pyx_t_10;
  unsigned int __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__541)
  __Pyx_RefNannySetupContext("cuModuleEnumerateFunctions", 1);
  __Pyx_TraceCall("cuModuleEnumerateFunctions", __pyx_f[1], 18542, 0, __PYX_ERR(1, 18542, __pyx_L1_error));

  /* "cuda/cuda.pyx":18575
 *     """
 *     cdef ccuda.CUmodule cmod
 *     if mod is None:             # <<<<<<<<<<<<<<
 *         cmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(mod, (CUmodule,)):
 */
  __pyx_t_1 = (__pyx_v_mod == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18576
 *     cdef ccuda.CUmodule cmod
 *     if mod is None:
 *         cmod = <ccuda.CUmodule><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(mod, (CUmodule,)):
 *         pmod = int(mod)
 */
    __pyx_v_cmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":18575
 *     """
 *     cdef ccuda.CUmodule cmod
 *     if mod is None:             # <<<<<<<<<<<<<<
 *         cmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(mod, (CUmodule,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18577
 *     if mod is None:
 *         cmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(mod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         pmod = int(mod)
 *         cmod = <ccuda.CUmodule><void_ptr>pmod
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mod, __pyx_ptype_4cuda_4cuda_CUmodule); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18578
 *         cmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(mod, (CUmodule,)):
 *         pmod = int(mod)             # <<<<<<<<<<<<<<
 *         cmod = <ccuda.CUmodule><void_ptr>pmod
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_mod); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmod = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":18579
 *     elif isinstance(mod, (CUmodule,)):
 *         pmod = int(mod)
 *         cmod = <ccuda.CUmodule><void_ptr>pmod             # <<<<<<<<<<<<<<
 *     else:
 *         pmod = int(CUmodule(mod))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmod); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18579, __pyx_L1_error)
    __pyx_v_cmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":18577
 *     if mod is None:
 *         cmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(mod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         pmod = int(mod)
 *         cmod = <ccuda.CUmodule><void_ptr>pmod
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18581
 *         cmod = <ccuda.CUmodule><void_ptr>pmod
 *     else:
 *         pmod = int(CUmodule(mod))             # <<<<<<<<<<<<<<
 *         cmod = <ccuda.CUmodule><void_ptr>pmod
 *     cdef ccuda.CUfunction* cfunctions = NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmodule), __pyx_v_mod); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18581, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18581, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmod = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":18582
 *     else:
 *         pmod = int(CUmodule(mod))
 *         cmod = <ccuda.CUmodule><void_ptr>pmod             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfunction* cfunctions = NULL
 *     pyfunctions = []
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmod); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18582, __pyx_L1_error)
    __pyx_v_cmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":18583
 *         pmod = int(CUmodule(mod))
 *         cmod = <ccuda.CUmodule><void_ptr>pmod
 *     cdef ccuda.CUfunction* cfunctions = NULL             # <<<<<<<<<<<<<<
 *     pyfunctions = []
 *     if numFunctions != 0:
 */
  __pyx_v_cfunctions = NULL;

  /* "cuda/cuda.pyx":18584
 *         cmod = <ccuda.CUmodule><void_ptr>pmod
 *     cdef ccuda.CUfunction* cfunctions = NULL
 *     pyfunctions = []             # <<<<<<<<<<<<<<
 *     if numFunctions != 0:
 *         cfunctions = <ccuda.CUfunction*>calloc(numFunctions, sizeof(ccuda.CUfunction))
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyfunctions = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":18585
 *     cdef ccuda.CUfunction* cfunctions = NULL
 *     pyfunctions = []
 *     if numFunctions != 0:             # <<<<<<<<<<<<<<
 *         cfunctions = <ccuda.CUfunction*>calloc(numFunctions, sizeof(ccuda.CUfunction))
 *         if cfunctions is NULL:
 */
  __pyx_t_1 = (__pyx_v_numFunctions != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18586
 *     pyfunctions = []
 *     if numFunctions != 0:
 *         cfunctions = <ccuda.CUfunction*>calloc(numFunctions, sizeof(ccuda.CUfunction))             # <<<<<<<<<<<<<<
 *         if cfunctions is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numFunctions) + 'x' + str(sizeof(ccuda.CUfunction)))
 */
    __pyx_v_cfunctions = ((CUfunction *)calloc(__pyx_v_numFunctions, (sizeof(CUfunction))));

    /* "cuda/cuda.pyx":18587
 *     if numFunctions != 0:
 *         cfunctions = <ccuda.CUfunction*>calloc(numFunctions, sizeof(ccuda.CUfunction))
 *         if cfunctions is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numFunctions) + 'x' + str(sizeof(ccuda.CUfunction)))
 *     err = ccuda.cuModuleEnumerateFunctions(cfunctions, numFunctions, cmod)
 */
    __pyx_t_1 = (__pyx_v_cfunctions == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":18588
 *         cfunctions = <ccuda.CUfunction*>calloc(numFunctions, sizeof(ccuda.CUfunction))
 *         if cfunctions is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numFunctions) + 'x' + str(sizeof(ccuda.CUfunction)))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuModuleEnumerateFunctions(cfunctions, numFunctions, cmod)
 *     if CUresult(err) == CUresult(0):
 */
      __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numFunctions); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18588, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18588, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18588, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18588, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUfunction))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18588, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 18588, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18588, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 18588, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(1, 18588, __pyx_L1_error)

      /* "cuda/cuda.pyx":18587
 *     if numFunctions != 0:
 *         cfunctions = <ccuda.CUfunction*>calloc(numFunctions, sizeof(ccuda.CUfunction))
 *         if cfunctions is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numFunctions) + 'x' + str(sizeof(ccuda.CUfunction)))
 *     err = ccuda.cuModuleEnumerateFunctions(cfunctions, numFunctions, cmod)
 */
    }

    /* "cuda/cuda.pyx":18585
 *     cdef ccuda.CUfunction* cfunctions = NULL
 *     pyfunctions = []
 *     if numFunctions != 0:             # <<<<<<<<<<<<<<
 *         cfunctions = <ccuda.CUfunction*>calloc(numFunctions, sizeof(ccuda.CUfunction))
 *         if cfunctions is NULL:
 */
  }

  /* "cuda/cuda.pyx":18589
 *         if cfunctions is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numFunctions) + 'x' + str(sizeof(ccuda.CUfunction)))
 *     err = ccuda.cuModuleEnumerateFunctions(cfunctions, numFunctions, cmod)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyfunctions = [CUfunction(init_value=<void_ptr>cfunctions[idx]) for idx in range(numFunctions)]
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuModuleEnumerateFunctions(__pyx_v_cfunctions, __pyx_v_numFunctions, __pyx_v_cmod); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18589, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":18590
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numFunctions) + 'x' + str(sizeof(ccuda.CUfunction)))
 *     err = ccuda.cuModuleEnumerateFunctions(cfunctions, numFunctions, cmod)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyfunctions = [CUfunction(init_value=<void_ptr>cfunctions[idx]) for idx in range(numFunctions)]
 *     if cfunctions is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 18590, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18590, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18590, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 18590, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18591
 *     err = ccuda.cuModuleEnumerateFunctions(cfunctions, numFunctions, cmod)
 *     if CUresult(err) == CUresult(0):
 *         pyfunctions = [CUfunction(init_value=<void_ptr>cfunctions[idx]) for idx in range(numFunctions)]             # <<<<<<<<<<<<<<
 *     if cfunctions is not NULL:
 *         free(cfunctions)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18591, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_9 = __pyx_v_numFunctions;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr102__pyx_v_idx = __pyx_t_11;
        __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18591, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_cfunctions[__pyx_10genexpr102__pyx_v_idx]))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 18591, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_init_value, __pyx_t_5) < 0) __PYX_ERR(1, 18591, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 18591, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 18591, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyfunctions, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":18590
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numFunctions) + 'x' + str(sizeof(ccuda.CUfunction)))
 *     err = ccuda.cuModuleEnumerateFunctions(cfunctions, numFunctions, cmod)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyfunctions = [CUfunction(init_value=<void_ptr>cfunctions[idx]) for idx in range(numFunctions)]
 *     if cfunctions is not NULL:
 */
  }

  /* "cuda/cuda.pyx":18592
 *     if CUresult(err) == CUresult(0):
 *         pyfunctions = [CUfunction(init_value=<void_ptr>cfunctions[idx]) for idx in range(numFunctions)]
 *     if cfunctions is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfunctions)
 *     return (CUresult(err), pyfunctions)
 */
  __pyx_t_1 = (__pyx_v_cfunctions != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18593
 *         pyfunctions = [CUfunction(init_value=<void_ptr>cfunctions[idx]) for idx in range(numFunctions)]
 *     if cfunctions is not NULL:
 *         free(cfunctions)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pyfunctions)
 * 
 */
    free(__pyx_v_cfunctions);

    /* "cuda/cuda.pyx":18592
 *     if CUresult(err) == CUresult(0):
 *         pyfunctions = [CUfunction(init_value=<void_ptr>cfunctions[idx]) for idx in range(numFunctions)]
 *     if cfunctions is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfunctions)
 *     return (CUresult(err), pyfunctions)
 */
  }

  /* "cuda/cuda.pyx":18594
 *     if cfunctions is not NULL:
 *         free(cfunctions)
 *     return (CUresult(err), pyfunctions)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 18594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 18594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 18594, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyfunctions);
  __Pyx_GIVEREF(__pyx_v_pyfunctions);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_pyfunctions)) __PYX_ERR(1, 18594, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18542
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18596
 *     return (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_4cuda_119cuModuleGetGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_118cuModuleGetGlobal, "cuModuleGetGlobal(hmod, char *name)\n Returns a global pointer from a module.\n\n    Returns in `*dptr` and `*bytes` the base pointer and size of the global\n    of name `name` located in module `hmod`. If no variable of that name\n    exists, :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\n    Parameters\n    ----------\n    hmod : :py:obj:`~.CUmodule`\n        Module to retrieve global from\n    name : bytes\n        Name of global to retrieve\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_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\n    dptr : :py:obj:`~.CUdeviceptr`\n        Returned global device pointer\n    numbytes : int\n        Returned global size in bytes\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_119cuModuleGetGlobal = {"cuModuleGetGlobal", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_119cuModuleGetGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_118cuModuleGetGlobal};
static PyObject *__pyx_pw_4cuda_4cuda_119cuModuleGetGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hmod,&__pyx_n_s_name_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hmod)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18596, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18596, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuModuleGetGlobal", 1, 2, 2, 1); __PYX_ERR(1, 18596, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuModuleGetGlobal") < 0)) __PYX_ERR(1, 18596, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hmod = values[0];
    __pyx_v_name = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(1, 18597, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleGetGlobal", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 18596, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuModuleGetGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_118cuModuleGetGlobal(__pyx_self, __pyx_v_hmod, __pyx_v_name);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_118cuModuleGetGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod, char *__pyx_v_name) {
  CUmodule __pyx_v_chmod;
  PyObject *__pyx_v_phmod = NULL;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_dptr = 0;
  size_t __pyx_v_numbytes;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__542)
  __Pyx_RefNannySetupContext("cuModuleGetGlobal", 1);
  __Pyx_TraceCall("cuModuleGetGlobal", __pyx_f[1], 18596, 0, __PYX_ERR(1, 18596, __pyx_L1_error));

  /* "cuda/cuda.pyx":18627
 *     """
 *     cdef ccuda.CUmodule chmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):
 */
  __pyx_t_1 = (__pyx_v_hmod == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18628
 *     cdef ccuda.CUmodule chmod
 *     if hmod is None:
 *         chmod = <ccuda.CUmodule><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)
 */
    __pyx_v_chmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":18627
 *     """
 *     cdef ccuda.CUmodule chmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18629
 *     if hmod is None:
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hmod, __pyx_ptype_4cuda_4cuda_CUmodule); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18630
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hmod); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phmod = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":18631
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)
 *         chmod = <ccuda.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     else:
 *         phmod = int(CUmodule(hmod))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18631, __pyx_L1_error)
    __pyx_v_chmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":18629
 *     if hmod is None:
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18633
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     else:
 *         phmod = int(CUmodule(hmod))             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmodule), __pyx_v_hmod); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18633, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18633, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phmod = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":18634
 *     else:
 *         phmod = int(CUmodule(hmod))
 *         chmod = <ccuda.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18634, __pyx_L1_error)
    __pyx_v_chmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":18635
 *         phmod = int(CUmodule(hmod))
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     cdef CUdeviceptr dptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     cdef size_t numbytes = 0
 *     err = ccuda.cuModuleGetGlobal(<ccuda.CUdeviceptr*>dptr._ptr, &numbytes, chmod, name)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_dptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":18636
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuModuleGetGlobal(<ccuda.CUdeviceptr*>dptr._ptr, &numbytes, chmod, name)
 *     return (CUresult(err), dptr, numbytes)
 */
  __pyx_v_numbytes = 0;

  /* "cuda/cuda.pyx":18637
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
 *     err = ccuda.cuModuleGetGlobal(<ccuda.CUdeviceptr*>dptr._ptr, &numbytes, chmod, name)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), dptr, numbytes)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuModuleGetGlobal(((CUdeviceptr *)__pyx_v_dptr->_ptr), (&__pyx_v_numbytes), __pyx_v_chmod, __pyx_v_name); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18637, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":18638
 *     cdef size_t numbytes = 0
 *     err = ccuda.cuModuleGetGlobal(<ccuda.CUdeviceptr*>dptr._ptr, &numbytes, chmod, name)
 *     return (CUresult(err), dptr, numbytes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_numbytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18638, __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)) __PYX_ERR(1, 18638, __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))) __PYX_ERR(1, 18638, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_2)) __PYX_ERR(1, 18638, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18596
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18640
 *     return (CUresult(err), dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkCreate(unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[List[Any]]):
 *     """ Creates a pending JIT linker invocation.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_121cuLinkCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_120cuLinkCreate, "cuLinkCreate(unsigned int numOptions, list options: Optional[List[CUjit_option]], list optionValues: Optional[List[Any]])\n Creates a pending JIT linker invocation.\n\n    If the call is successful, the caller owns the returned CUlinkState,\n    which should eventually be destroyed with :py:obj:`~.cuLinkDestroy`.\n    The device code machine size (32 or 64 bit) will match the calling\n    application.\n\n    Both linker and compiler options may be specified. Compiler options\n    will be applied to inputs to this linker action which must be compiled\n    from 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\n    until the CUlinkState is destroyed.\n\n    `optionValues` must remain valid for the life of the CUlinkState if\n    output options are used. No other references to inputs are maintained\n    after this call returns.\n\n    Parameters\n    ----------\n    numOptions : unsigned int\n        Size of options arrays\n    options : List[:py:obj:`~.CUjit_option`]\n        Array of linker and compiler options\n    optionValues : List[Any]\n        Array of option values, each cast to void *\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_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_JIT_COMPILER_NOT_FOUND`\n    stateOut : :py:obj:`~.CUlinkState`\n        On success, this will contain a CUlinkState to specify and complete\n        this action\n\n    See Also\n    --------\n    :py:obj:`~.cuLinkAddData`, :py:obj:`~.cuLinkAddFile`, :py:obj:`~.cuLinkComplete`, :py:obj:`~.cuLinkDestroy`\n\n    Notes\n    -----\n    For LTO-IR input, only LTO-IR compiled with toolkits prior to CUDA 12.0 will be accepted\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_121cuLinkCreate = {"cuLinkCreate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_121cuLinkCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_120cuLinkCreate};
static PyObject *__pyx_pw_4cuda_4cuda_121cuLinkCreate(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_numOptions,&__pyx_n_s_options,&__pyx_n_s_optionValues,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numOptions)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18640, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_options)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18640, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLinkCreate", 1, 3, 3, 1); __PYX_ERR(1, 18640, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_optionValues)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18640, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLinkCreate", 1, 3, 3, 2); __PYX_ERR(1, 18640, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLinkCreate") < 0)) __PYX_ERR(1, 18640, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_numOptions = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_numOptions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 18641, __pyx_L3_error)
    __pyx_v_options = ((PyObject*)values[1]);
    __pyx_v_optionValues = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLinkCreate", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 18640, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLinkCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_options), (&PyList_Type), 1, "options", 1))) __PYX_ERR(1, 18641, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_optionValues), (&PyList_Type), 1, "optionValues", 1))) __PYX_ERR(1, 18641, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_120cuLinkCreate(__pyx_self, __pyx_v_numOptions, __pyx_v_options, __pyx_v_optionValues);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_12cuLinkCreate_2generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":18687
 *     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 List[ccuda.CUjit_option]")
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 */

static PyObject *__pyx_pf_4cuda_4cuda_12cuLinkCreate_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_2_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_2_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_2_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_2_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 18687, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_12cuLinkCreate_2generator2, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuLinkCreate_locals_genexpr, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 18687, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_12cuLinkCreate_2generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_2_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_2_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 18687, 0, __PYX_ERR(1, 18687, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 18687, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 18687, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 18687, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 18687, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 18687, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUjit_option); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 18687, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18640
 *     return (CUresult(err), dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkCreate(unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[List[Any]]):
 *     """ Creates a pending JIT linker invocation.
 */

static PyObject *__pyx_pf_4cuda_4cuda_120cuLinkCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_numOptions, PyObject *__pyx_v_options, PyObject *__pyx_v_optionValues) {
  std::vector<CUjit_option>  __pyx_v_coptions;
  PyObject *__pyx_v_pylist = NULL;
  struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *__pyx_v_voidStarHelperoptionValues = 0;
  struct __pyx_obj_4cuda_4cuda_CUlinkState *__pyx_v_stateOut = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_v_option = NULL;
  PyObject *__pyx_gb_4cuda_4cuda_12cuLinkCreate_2generator2 = 0;
  PyObject *__pyx_10genexpr104__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr105__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr105__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  std::vector<CUjit_option>  __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *(*__pyx_t_12)(PyObject *);
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_13;
  CUresult __pyx_t_14;
  int __pyx_t_15;
  int __pyx_t_16;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__543)
  __Pyx_RefNannySetupContext("cuLinkCreate", 0);
  __Pyx_TraceCall("cuLinkCreate", __pyx_f[1], 18640, 0, __PYX_ERR(1, 18640, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_options);
  __Pyx_INCREF(__pyx_v_optionValues);

  /* "cuda/cuda.pyx":18685
 *     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 == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18685, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18686
 *     """
 *     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 List[ccuda.CUjit_option]")
 */
  __pyx_t_2 = (__pyx_v_options == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18686, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18687
 *     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 List[ccuda.CUjit_option]")
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_12cuLinkCreate_genexpr(NULL, __pyx_v_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18687, __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(1, 18687, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":18688
 *     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 List[ccuda.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_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__534, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18688, __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(1, 18688, __pyx_L1_error)

    /* "cuda/cuda.pyx":18687
 *     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 List[ccuda.CUjit_option]")
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 */
  }

  /* "cuda/cuda.pyx":18689
 *     if not all(isinstance(_x, (CUjit_option)) for _x in options):
 *         raise TypeError("Argument 'options' is not instance of type (expected List[ccuda.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[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]
 */
  if (unlikely(__pyx_v_options == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 18689, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_options); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 18689, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_5);
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_options == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 18689, __pyx_L1_error)
    }
    __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_options); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 18689, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_6, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(1, 18689, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":18690
 *         raise TypeError("Argument 'options' is not instance of type (expected List[ccuda.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[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 */
  if (unlikely(__pyx_v_optionValues == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 18690, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_optionValues); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 18690, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_5);
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_optionValues == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 18690, __pyx_L1_error)
    }
    __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_optionValues); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 18690, __pyx_L1_error)
    __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_kp_u__535); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 18690, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":18691
 *     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[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]             # <<<<<<<<<<<<<<
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18691, __pyx_L8_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely(__pyx_v_options == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(1, 18691, __pyx_L8_error)
    }
    __pyx_t_6 = __pyx_v_options; __Pyx_INCREF(__pyx_t_6);
    __pyx_t_5 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 18691, __pyx_L8_error)
        #endif
        if (__pyx_t_5 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_3 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(1, 18691, __pyx_L8_error)
      #else
      __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18691, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_3);
      #endif
      __Pyx_XDECREF_SET(__pyx_10genexpr104__pyx_v_pyoptions, __pyx_t_3);
      __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr104__pyx_v_pyoptions, __pyx_n_s_value_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18691, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(1, 18691, __pyx_L8_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_10genexpr104__pyx_v_pyoptions); __pyx_10genexpr104__pyx_v_pyoptions = 0;
    goto __pyx_L12_exit_scope;
    __pyx_L8_error:;
    __Pyx_XDECREF(__pyx_10genexpr104__pyx_v_pyoptions); __pyx_10genexpr104__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L12_exit_scope:;
  } /* exit inner scope */
  __pyx_t_7 = __pyx_convert_vector_from_py_CUjit_option(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18691, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_coptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_7);

  /* "cuda/cuda.pyx":18692
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
 *     cdef vector[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]             # <<<<<<<<<<<<<<
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     cdef CUlinkState stateOut = CUlinkState()
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18692, __pyx_L15_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18692, __pyx_L15_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_INCREF(__pyx_v_options);
    __Pyx_GIVEREF(__pyx_v_options);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_options)) __PYX_ERR(1, 18692, __pyx_L15_error);
    __Pyx_INCREF(__pyx_v_optionValues);
    __Pyx_GIVEREF(__pyx_v_optionValues);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_optionValues)) __PYX_ERR(1, 18692, __pyx_L15_error);
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18692, __pyx_L15_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
      __pyx_t_6 = __pyx_t_3; __Pyx_INCREF(__pyx_t_6);
      __pyx_t_5 = 0;
      __pyx_t_8 = NULL;
    } else {
      __pyx_t_5 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18692, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_8 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18692, __pyx_L15_error)
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    for (;;) {
      if (likely(!__pyx_t_8)) {
        if (likely(PyList_CheckExact(__pyx_t_6))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 18692, __pyx_L15_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(1, 18692, __pyx_L15_error)
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18692, __pyx_L15_error)
          __Pyx_GOTREF(__pyx_t_3);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 18692, __pyx_L15_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(1, 18692, __pyx_L15_error)
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18692, __pyx_L15_error)
          __Pyx_GOTREF(__pyx_t_3);
          #endif
        }
      } else {
        __pyx_t_3 = __pyx_t_8(__pyx_t_6);
        if (unlikely(!__pyx_t_3)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 18692, __pyx_L15_error)
          }
          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(1, 18692, __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_t_10 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_9 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_10 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_t_10);
        #else
        __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 18692, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 18692, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_10);
        #endif
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_11 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 18692, __pyx_L15_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_11);
        index = 0; __pyx_t_9 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_9)) goto __pyx_L18_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_9);
        index = 1; __pyx_t_10 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_10)) goto __pyx_L18_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_11), 2) < 0) __PYX_ERR(1, 18692, __pyx_L15_error)
        __pyx_t_12 = NULL;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        goto __pyx_L19_unpacking_done;
        __pyx_L18_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __pyx_t_12 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(1, 18692, __pyx_L15_error)
        __pyx_L19_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr105__pyx_v_pyoptions, __pyx_t_9);
      __pyx_t_9 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr105__pyx_v_pyoptionValues, __pyx_t_10);
      __pyx_t_10 = 0;
      __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18692, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_10genexpr105__pyx_v_pyoptions);
      __Pyx_GIVEREF(__pyx_10genexpr105__pyx_v_pyoptions);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_10genexpr105__pyx_v_pyoptions)) __PYX_ERR(1, 18692, __pyx_L15_error);
      __Pyx_INCREF(__pyx_10genexpr105__pyx_v_pyoptionValues);
      __Pyx_GIVEREF(__pyx_10genexpr105__pyx_v_pyoptionValues);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_10genexpr105__pyx_v_pyoptionValues)) __PYX_ERR(1, 18692, __pyx_L15_error);
      __pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUjit_option), __pyx_t_3, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 18692, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_10))) __PYX_ERR(1, 18692, __pyx_L15_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_10genexpr105__pyx_v_pyoptionValues); __pyx_10genexpr105__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr105__pyx_v_pyoptions); __pyx_10genexpr105__pyx_v_pyoptions = 0;
    goto __pyx_L21_exit_scope;
    __pyx_L15_error:;
    __Pyx_XDECREF(__pyx_10genexpr105__pyx_v_pyoptionValues); __pyx_10genexpr105__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr105__pyx_v_pyoptions); __pyx_10genexpr105__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L21_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18693
 *     cdef vector[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     cdef CUlinkState stateOut = CUlinkState()
 *     err = ccuda.cuLinkCreate(numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr, stateOut._ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper), __pyx_v_pylist); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_voidStarHelperoptionValues = ((struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18694
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     cdef CUlinkState stateOut = CUlinkState()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLinkCreate(numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr, stateOut._ptr)
 *     stateOut._keepalive.append(voidStarHelperoptionValues)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlinkState)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_stateOut = ((struct __pyx_obj_4cuda_4cuda_CUlinkState *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18695
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     cdef CUlinkState stateOut = CUlinkState()
 *     err = ccuda.cuLinkCreate(numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr, stateOut._ptr)             # <<<<<<<<<<<<<<
 *     stateOut._keepalive.append(voidStarHelperoptionValues)
 *     for option in pylist:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperoptionValues), __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_13 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_13 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18695, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_14 = __pyx_f_4cuda_5ccuda_cuLinkCreate(__pyx_v_numOptions, __pyx_v_coptions.data(), ((void **)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_13)), __pyx_v_stateOut->_ptr); if (unlikely(__pyx_t_14 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18695, __pyx_L1_error)
  __pyx_v_err = __pyx_t_14;

  /* "cuda/cuda.pyx":18696
 *     cdef CUlinkState stateOut = CUlinkState()
 *     err = ccuda.cuLinkCreate(numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr, stateOut._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(1, 18696, __pyx_L1_error)
  }
  __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_stateOut->_keepalive, ((PyObject *)__pyx_v_voidStarHelperoptionValues)); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(1, 18696, __pyx_L1_error)

  /* "cuda/cuda.pyx":18697
 *     err = ccuda.cuLinkCreate(numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr, stateOut._ptr)
 *     stateOut._keepalive.append(voidStarHelperoptionValues)
 *     for option in pylist:             # <<<<<<<<<<<<<<
 *         stateOut._keepalive.append(option)
 *     return (CUresult(err), stateOut)
 */
  __pyx_t_1 = __pyx_v_pylist; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_5 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 18697, __pyx_L1_error)
      #endif
      if (__pyx_t_5 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_6 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_6); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(1, 18697, __pyx_L1_error)
    #else
    __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18697, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    #endif
    __Pyx_XDECREF_SET(__pyx_v_option, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "cuda/cuda.pyx":18698
 *     stateOut._keepalive.append(voidStarHelperoptionValues)
 *     for option in pylist:
 *         stateOut._keepalive.append(option)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), stateOut)
 * 
 */
    if (unlikely(__pyx_v_stateOut->_keepalive == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append");
      __PYX_ERR(1, 18698, __pyx_L1_error)
    }
    __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_stateOut->_keepalive, __pyx_v_option); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(1, 18698, __pyx_L1_error)

    /* "cuda/cuda.pyx":18697
 *     err = ccuda.cuLinkCreate(numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr, stateOut._ptr)
 *     stateOut._keepalive.append(voidStarHelperoptionValues)
 *     for option in pylist:             # <<<<<<<<<<<<<<
 *         stateOut._keepalive.append(option)
 *     return (CUresult(err), stateOut)
 */
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18699
 *     for option in pylist:
 *         stateOut._keepalive.append(option)
 *     return (CUresult(err), stateOut)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_10 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 18699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_3 = NULL;
  __pyx_t_16 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_16 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_10};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_16, 1+__pyx_t_16);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18699, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18699, __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)) __PYX_ERR(1, 18699, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_stateOut);
  __Pyx_GIVEREF((PyObject *)__pyx_v_stateOut);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_stateOut))) __PYX_ERR(1, 18699, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18640
 *     return (CUresult(err), dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkCreate(unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[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_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_12cuLinkCreate_2generator2);
  __Pyx_XDECREF(__pyx_10genexpr104__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr105__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr105__pyx_v_pyoptionValues);
  __Pyx_XDECREF(__pyx_v_options);
  __Pyx_XDECREF(__pyx_v_optionValues);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18701
 *     return (CUresult(err), stateOut)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddData(state, typename not None : CUjitInputType, data, size_t size, char* name, unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[List[Any]]):
 *     """ Add an input to a pending linker invocation.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_123cuLinkAddData(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_122cuLinkAddData, "cuLinkAddData(state, typename: CUjitInputType, data, size_t size, char *name, unsigned int numOptions, list options: Optional[List[CUjit_option]], list optionValues: Optional[List[Any]])\n Add an input to a pending linker invocation.\n\n    Ownership of `data` is retained by the caller. No reference is retained\n    to any inputs after this call returns.\n\n    This method accepts only compiler options, which are used if the data\n    must 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\n    Parameters\n    ----------\n    state : :py:obj:`~.CUlinkState`\n        A pending linker action.\n    typename : :py:obj:`~.CUjitInputType`\n        The type of the input data.\n    data : Any\n        The input data. PTX must be NULL-terminated.\n    size : size_t\n        The length of the input data.\n    name : bytes\n        An optional name for this input in log messages.\n    numOptions : unsigned int\n        Size of options.\n    options : List[:py:obj:`~.CUjit_option`]\n        Options to be applied only for this input (overrides options from\n        :py:obj:`~.cuLinkCreate`).\n    optionValues : List[Any]\n        Array of option values, each cast to void *.\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuLinkCreate`, :py:obj:`~.cuLinkAddFile`, :py:obj:`~.cuLinkComplete`, :py:obj:`~.cuLinkDestroy`\n\n    Notes\n    -----\n    For LTO-IR input, only LTO-IR compiled with toolkits prior to CUDA 12.0 will be accepted\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_123cuLinkAddData = {"cuLinkAddData", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_123cuLinkAddData, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_122cuLinkAddData};
static PyObject *__pyx_pw_4cuda_4cuda_123cuLinkAddData(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_state,&__pyx_n_s_typename,&__pyx_n_s_data_2,&__pyx_n_s_size_2,&__pyx_n_s_name_2,&__pyx_n_s_numOptions,&__pyx_n_s_options,&__pyx_n_s_optionValues,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  8: values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18701, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_typename)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18701, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLinkAddData", 1, 8, 8, 1); __PYX_ERR(1, 18701, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_data_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18701, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLinkAddData", 1, 8, 8, 2); __PYX_ERR(1, 18701, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18701, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLinkAddData", 1, 8, 8, 3); __PYX_ERR(1, 18701, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18701, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLinkAddData", 1, 8, 8, 4); __PYX_ERR(1, 18701, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numOptions)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[5]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18701, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLinkAddData", 1, 8, 8, 5); __PYX_ERR(1, 18701, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_options)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[6]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18701, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLinkAddData", 1, 8, 8, 6); __PYX_ERR(1, 18701, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_optionValues)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[7]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18701, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLinkAddData", 1, 8, 8, 7); __PYX_ERR(1, 18701, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLinkAddData") < 0)) __PYX_ERR(1, 18701, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 8)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
      values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
      values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
      values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7);
    }
    __pyx_v_state = values[0];
    __pyx_v_typename = values[1];
    __pyx_v_data = values[2];
    __pyx_v_size = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 18702, __pyx_L3_error)
    __pyx_v_name = __Pyx_PyObject_AsWritableString(values[4]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(1, 18702, __pyx_L3_error)
    __pyx_v_numOptions = __Pyx_PyInt_As_unsigned_int(values[5]); if (unlikely((__pyx_v_numOptions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 18702, __pyx_L3_error)
    __pyx_v_options = ((PyObject*)values[6]);
    __pyx_v_optionValues = ((PyObject*)values[7]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLinkAddData", 1, 8, 8, __pyx_nargs); __PYX_ERR(1, 18701, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 18702, __pyx_L1_error)
  }
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_options), (&PyList_Type), 1, "options", 1))) __PYX_ERR(1, 18702, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_optionValues), (&PyList_Type), 1, "optionValues", 1))) __PYX_ERR(1, 18702, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_122cuLinkAddData(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_13cuLinkAddData_2generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":18749
 *     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 List[ccuda.CUjit_option]")
 *     cdef ccuda.CUlinkState cstate
 */

static PyObject *__pyx_pf_4cuda_4cuda_13cuLinkAddData_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_3_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_3_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_3_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_3_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 18749, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_13cuLinkAddData_2generator3, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuLinkAddData_locals_genexpr, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 18749, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_13cuLinkAddData_2generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_3_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_3_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 18749, 0, __PYX_ERR(1, 18749, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 18749, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 18749, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 18749, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 18749, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 18749, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUjit_option); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 18749, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18701
 *     return (CUresult(err), stateOut)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddData(state, typename not None : CUjitInputType, data, size_t size, char* name, unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[List[Any]]):
 *     """ Add an input to a pending linker invocation.
 */

static PyObject *__pyx_pf_4cuda_4cuda_122cuLinkAddData(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_cstate;
  PyObject *__pyx_v_pstate = NULL;
  CUjitInputType __pyx_v_ctypename;
  PyObject *__pyx_v_cdata = NULL;
  void *__pyx_v_cdata_ptr;
  std::vector<CUjit_option>  __pyx_v_coptions;
  PyObject *__pyx_v_pylist = NULL;
  struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *__pyx_v_voidStarHelperoptionValues = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_13cuLinkAddData_2generator3 = 0;
  PyObject *__pyx_10genexpr107__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr108__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr108__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  CUjitInputType __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  std::vector<CUjit_option>  __pyx_t_9;
  PyObject *(*__pyx_t_10)(PyObject *);
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *(*__pyx_t_14)(PyObject *);
  CUresult __pyx_t_15;
  int __pyx_t_16;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__544)
  __Pyx_RefNannySetupContext("cuLinkAddData", 0);
  __Pyx_TraceCall("cuLinkAddData", __pyx_f[1], 18701, 0, __PYX_ERR(1, 18701, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_options);
  __Pyx_INCREF(__pyx_v_optionValues);

  /* "cuda/cuda.pyx":18747
 *     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 == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18747, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18748
 *     """
 *     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 List[ccuda.CUjit_option]")
 */
  __pyx_t_2 = (__pyx_v_options == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18748, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18749
 *     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 List[ccuda.CUjit_option]")
 *     cdef ccuda.CUlinkState cstate
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_13cuLinkAddData_genexpr(NULL, __pyx_v_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18749, __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(1, 18749, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":18750
 *     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 List[ccuda.CUjit_option]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUlinkState cstate
 *     if state is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__534, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18750, __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(1, 18750, __pyx_L1_error)

    /* "cuda/cuda.pyx":18749
 *     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 List[ccuda.CUjit_option]")
 *     cdef ccuda.CUlinkState cstate
 */
  }

  /* "cuda/cuda.pyx":18752
 *         raise TypeError("Argument 'options' is not instance of type (expected List[ccuda.CUjit_option]")
 *     cdef ccuda.CUlinkState cstate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):
 */
  __pyx_t_4 = (__pyx_v_state == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":18753
 *     cdef ccuda.CUlinkState cstate
 *     if state is None:
 *         cstate = <ccuda.CUlinkState><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)
 */
    __pyx_v_cstate = ((CUlinkState)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":18752
 *         raise TypeError("Argument 'options' is not instance of type (expected List[ccuda.CUjit_option]")
 *     cdef ccuda.CUlinkState cstate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":18754
 *     if state is None:
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_state, __pyx_ptype_4cuda_4cuda_CUlinkState); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":18755
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)             # <<<<<<<<<<<<<<
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_state); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pstate = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":18756
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate             # <<<<<<<<<<<<<<
 *     else:
 *         pstate = int(CUlinkState(state))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstate); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18756, __pyx_L1_error)
    __pyx_v_cstate = ((CUlinkState)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":18754
 *     if state is None:
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":18758
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     else:
 *         pstate = int(CUlinkState(state))             # <<<<<<<<<<<<<<
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     cdef ccuda.CUjitInputType ctypename = typename.value
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlinkState), __pyx_v_state); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pstate = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":18759
 *     else:
 *         pstate = int(CUlinkState(state))
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUjitInputType ctypename = typename.value
 *     cdata = utils.HelperInputVoidPtr(data)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstate); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18759, __pyx_L1_error)
    __pyx_v_cstate = ((CUlinkState)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":18760
 *         pstate = int(CUlinkState(state))
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     cdef ccuda.CUjitInputType ctypename = typename.value             # <<<<<<<<<<<<<<
 *     cdata = utils.HelperInputVoidPtr(data)
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18760, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = ((enum CUjitInputType_enum)__Pyx_PyInt_As_enum__CUjitInputType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18760, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ctypename = __pyx_t_6;

  /* "cuda/cuda.pyx":18761
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     cdef ccuda.CUjitInputType ctypename = typename.value
 *     cdata = utils.HelperInputVoidPtr(data)             # <<<<<<<<<<<<<<
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.cptr
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18761, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cdata = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18762
 *     cdef ccuda.CUjitInputType ctypename = typename.value
 *     cdata = utils.HelperInputVoidPtr(data)
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.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(__pyx_v_cdata, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18762, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cdata_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

  /* "cuda/cuda.pyx":18763
 *     cdata = utils.HelperInputVoidPtr(data)
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.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[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]
 */
  if (unlikely(__pyx_v_options == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 18763, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_options); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 18763, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_7);
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_options == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 18763, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_options); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 18763, __pyx_L1_error)
    __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u__535); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18763, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_8, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __PYX_ERR(1, 18763, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":18764
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.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[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 */
  if (unlikely(__pyx_v_optionValues == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 18764, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_optionValues); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 18764, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_7);
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_optionValues == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 18764, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_optionValues); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 18764, __pyx_L1_error)
    __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18764, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 18764, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":18765
 *     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[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]             # <<<<<<<<<<<<<<
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)
 */
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18765, __pyx_L9_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (unlikely(__pyx_v_options == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(1, 18765, __pyx_L9_error)
    }
    __pyx_t_8 = __pyx_v_options; __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 18765, __pyx_L9_error)
        #endif
        if (__pyx_t_7 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_1 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(1, 18765, __pyx_L9_error)
      #else
      __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18765, __pyx_L9_error)
      __Pyx_GOTREF(__pyx_t_1);
      #endif
      __Pyx_XDECREF_SET(__pyx_10genexpr107__pyx_v_pyoptions, __pyx_t_1);
      __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr107__pyx_v_pyoptions, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18765, __pyx_L9_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_1))) __PYX_ERR(1, 18765, __pyx_L9_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_10genexpr107__pyx_v_pyoptions); __pyx_10genexpr107__pyx_v_pyoptions = 0;
    goto __pyx_L13_exit_scope;
    __pyx_L9_error:;
    __Pyx_XDECREF(__pyx_10genexpr107__pyx_v_pyoptions); __pyx_10genexpr107__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L13_exit_scope:;
  } /* exit inner scope */
  __pyx_t_9 = __pyx_convert_vector_from_py_CUjit_option(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18765, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_coptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_9);

  /* "cuda/cuda.pyx":18766
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
 *     cdef vector[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]             # <<<<<<<<<<<<<<
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     err = ccuda.cuLinkAddData(cstate, ctypename, cdata_ptr, size, name, numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr)
 */
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18766, __pyx_L16_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18766, __pyx_L16_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_INCREF(__pyx_v_options);
    __Pyx_GIVEREF(__pyx_v_options);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_options)) __PYX_ERR(1, 18766, __pyx_L16_error);
    __Pyx_INCREF(__pyx_v_optionValues);
    __Pyx_GIVEREF(__pyx_v_optionValues);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_optionValues)) __PYX_ERR(1, 18766, __pyx_L16_error);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18766, __pyx_L16_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    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_10 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18766, __pyx_L16_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_10 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 18766, __pyx_L16_error)
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    for (;;) {
      if (likely(!__pyx_t_10)) {
        if (likely(PyList_CheckExact(__pyx_t_8))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 18766, __pyx_L16_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(1, 18766, __pyx_L16_error)
          #else
          __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18766, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_1);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_8);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 18766, __pyx_L16_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(1, 18766, __pyx_L16_error)
          #else
          __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18766, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_1);
          #endif
        }
      } else {
        __pyx_t_1 = __pyx_t_10(__pyx_t_8);
        if (unlikely(!__pyx_t_1)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 18766, __pyx_L16_error)
          }
          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(1, 18766, __pyx_L16_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 0); 
          __pyx_t_12 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_11 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_12 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_t_12);
        #else
        __pyx_t_11 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 18766, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_12 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 18766, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_12);
        #endif
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_13 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 18766, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_13);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __pyx_t_14 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_13);
        index = 0; __pyx_t_11 = __pyx_t_14(__pyx_t_13); if (unlikely(!__pyx_t_11)) goto __pyx_L19_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_L19_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_12);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_13), 2) < 0) __PYX_ERR(1, 18766, __pyx_L16_error)
        __pyx_t_14 = NULL;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        goto __pyx_L20_unpacking_done;
        __pyx_L19_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        __pyx_t_14 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(1, 18766, __pyx_L16_error)
        __pyx_L20_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr108__pyx_v_pyoptions, __pyx_t_11);
      __pyx_t_11 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr108__pyx_v_pyoptionValues, __pyx_t_12);
      __pyx_t_12 = 0;
      __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18766, __pyx_L16_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_INCREF(__pyx_10genexpr108__pyx_v_pyoptions);
      __Pyx_GIVEREF(__pyx_10genexpr108__pyx_v_pyoptions);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_10genexpr108__pyx_v_pyoptions)) __PYX_ERR(1, 18766, __pyx_L16_error);
      __Pyx_INCREF(__pyx_10genexpr108__pyx_v_pyoptionValues);
      __Pyx_GIVEREF(__pyx_10genexpr108__pyx_v_pyoptionValues);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_10genexpr108__pyx_v_pyoptionValues)) __PYX_ERR(1, 18766, __pyx_L16_error);
      __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUjit_option), __pyx_t_1, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 18766, __pyx_L16_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_12))) __PYX_ERR(1, 18766, __pyx_L16_error)
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_10genexpr108__pyx_v_pyoptionValues); __pyx_10genexpr108__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr108__pyx_v_pyoptions); __pyx_10genexpr108__pyx_v_pyoptions = 0;
    goto __pyx_L22_exit_scope;
    __pyx_L16_error:;
    __Pyx_XDECREF(__pyx_10genexpr108__pyx_v_pyoptionValues); __pyx_10genexpr108__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr108__pyx_v_pyoptions); __pyx_10genexpr108__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L22_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18767
 *     cdef vector[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLinkAddData(cstate, ctypename, cdata_ptr, size, name, numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr)
 *     return (CUresult(err),)
 */
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper), __pyx_v_pylist); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_voidStarHelperoptionValues = ((struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18768
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     err = ccuda.cuLinkAddData(cstate, ctypename, cdata_ptr, size, name, numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperoptionValues), __pyx_n_s_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18768, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_15 = __pyx_f_4cuda_5ccuda_cuLinkAddData(__pyx_v_cstate, __pyx_v_ctypename, __pyx_v_cdata_ptr, __pyx_v_size, __pyx_v_name, __pyx_v_numOptions, __pyx_v_coptions.data(), ((void **)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5))); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18768, __pyx_L1_error)
  __pyx_v_err = __pyx_t_15;

  /* "cuda/cuda.pyx":18769
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     err = ccuda.cuLinkAddData(cstate, ctypename, cdata_ptr, size, name, numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18769, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_12 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 18769, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_1 = NULL;
  __pyx_t_16 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8);
    if (likely(__pyx_t_1)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_8, function);
      __pyx_t_16 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_12};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_16, 1+__pyx_t_16);
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18769, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  }
  __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18769, __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)) __PYX_ERR(1, 18769, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18701
 *     return (CUresult(err), stateOut)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddData(state, typename not None : CUjitInputType, data, size_t size, char* name, unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[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_8);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cuda.cuLinkAddData", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstate);
  __Pyx_XDECREF(__pyx_v_cdata);
  __Pyx_XDECREF(__pyx_v_pylist);
  __Pyx_XDECREF((PyObject *)__pyx_v_voidStarHelperoptionValues);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_13cuLinkAddData_2generator3);
  __Pyx_XDECREF(__pyx_10genexpr107__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr108__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr108__pyx_v_pyoptionValues);
  __Pyx_XDECREF(__pyx_v_options);
  __Pyx_XDECREF(__pyx_v_optionValues);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18771
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddFile(state, typename not None : CUjitInputType, char* path, unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[List[Any]]):
 *     """ Add a file input to a pending linker invocation.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_125cuLinkAddFile(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_124cuLinkAddFile, "cuLinkAddFile(state, typename: CUjitInputType, char *path, unsigned int numOptions, list options: Optional[List[CUjit_option]], list optionValues: Optional[List[Any]])\n Add a file input to a pending linker invocation.\n\n    No reference is retained to any inputs after this call returns.\n\n    This method accepts only compiler options, which are used if the input\n    must 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\n    This method is equivalent to invoking :py:obj:`~.cuLinkAddData` on the\n    contents of the file.\n\n    Parameters\n    ----------\n    state : :py:obj:`~.CUlinkState`\n        A pending linker action\n    typename : :py:obj:`~.CUjitInputType`\n        The type of the input data\n    path : bytes\n        Path to the input file\n    numOptions : unsigned int\n        Size of options\n    options : List[:py:obj:`~.CUjit_option`]\n        Options to be applied only for this input (overrides options from\n        :py:obj:`~.cuLinkCreate`)\n    optionValues : List[Any]\n        Array of option values, each cast to void *\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuLinkCreate`, :py:obj:`~.cuLinkAddData`, :py:obj:`~.cuLinkComplete`, :py:obj:`~.cuLinkDestroy`\n\n    Notes\n    -----\n    For LTO-IR input, only LTO-IR compiled with toolkits prior to CUDA 12.0 will be accepted\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_125cuLinkAddFile = {"cuLinkAddFile", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_125cuLinkAddFile, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_124cuLinkAddFile};
static PyObject *__pyx_pw_4cuda_4cuda_125cuLinkAddFile(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_state,&__pyx_n_s_typename,&__pyx_n_s_path,&__pyx_n_s_numOptions,&__pyx_n_s_options,&__pyx_n_s_optionValues,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18771, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_typename)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18771, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLinkAddFile", 1, 6, 6, 1); __PYX_ERR(1, 18771, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_path)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18771, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLinkAddFile", 1, 6, 6, 2); __PYX_ERR(1, 18771, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numOptions)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18771, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLinkAddFile", 1, 6, 6, 3); __PYX_ERR(1, 18771, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_options)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18771, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLinkAddFile", 1, 6, 6, 4); __PYX_ERR(1, 18771, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_optionValues)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[5]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18771, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLinkAddFile", 1, 6, 6, 5); __PYX_ERR(1, 18771, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLinkAddFile") < 0)) __PYX_ERR(1, 18771, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
      values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
    }
    __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(1, 18772, __pyx_L3_error)
    __pyx_v_numOptions = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_numOptions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 18772, __pyx_L3_error)
    __pyx_v_options = ((PyObject*)values[4]);
    __pyx_v_optionValues = ((PyObject*)values[5]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLinkAddFile", 1, 6, 6, __pyx_nargs); __PYX_ERR(1, 18771, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 18772, __pyx_L1_error)
  }
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_options), (&PyList_Type), 1, "options", 1))) __PYX_ERR(1, 18772, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_optionValues), (&PyList_Type), 1, "optionValues", 1))) __PYX_ERR(1, 18772, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_124cuLinkAddFile(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_13cuLinkAddFile_2generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":18817
 *     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 List[ccuda.CUjit_option]")
 *     cdef ccuda.CUlinkState cstate
 */

static PyObject *__pyx_pf_4cuda_4cuda_13cuLinkAddFile_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_4_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_4_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_4_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_4_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 18817, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_13cuLinkAddFile_2generator4, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuLinkAddFile_locals_genexpr, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 18817, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_13cuLinkAddFile_2generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_4_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_4_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 18817, 0, __PYX_ERR(1, 18817, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 18817, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 18817, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 18817, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 18817, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 18817, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUjit_option); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 18817, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18771
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddFile(state, typename not None : CUjitInputType, char* path, unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[List[Any]]):
 *     """ Add a file input to a pending linker invocation.
 */

static PyObject *__pyx_pf_4cuda_4cuda_124cuLinkAddFile(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_cstate;
  PyObject *__pyx_v_pstate = NULL;
  CUjitInputType __pyx_v_ctypename;
  std::vector<CUjit_option>  __pyx_v_coptions;
  PyObject *__pyx_v_pylist = NULL;
  struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *__pyx_v_voidStarHelperoptionValues = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_13cuLinkAddFile_2generator4 = 0;
  PyObject *__pyx_10genexpr110__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr111__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr111__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  CUjitInputType __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  std::vector<CUjit_option>  __pyx_t_9;
  PyObject *(*__pyx_t_10)(PyObject *);
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *(*__pyx_t_14)(PyObject *);
  CUresult __pyx_t_15;
  int __pyx_t_16;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__545)
  __Pyx_RefNannySetupContext("cuLinkAddFile", 0);
  __Pyx_TraceCall("cuLinkAddFile", __pyx_f[1], 18771, 0, __PYX_ERR(1, 18771, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_options);
  __Pyx_INCREF(__pyx_v_optionValues);

  /* "cuda/cuda.pyx":18815
 *     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 == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18815, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18816
 *     """
 *     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 List[ccuda.CUjit_option]")
 */
  __pyx_t_2 = (__pyx_v_options == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18816, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":18817
 *     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 List[ccuda.CUjit_option]")
 *     cdef ccuda.CUlinkState cstate
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_13cuLinkAddFile_genexpr(NULL, __pyx_v_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18817, __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(1, 18817, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":18818
 *     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 List[ccuda.CUjit_option]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUlinkState cstate
 *     if state is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__534, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18818, __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(1, 18818, __pyx_L1_error)

    /* "cuda/cuda.pyx":18817
 *     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 List[ccuda.CUjit_option]")
 *     cdef ccuda.CUlinkState cstate
 */
  }

  /* "cuda/cuda.pyx":18820
 *         raise TypeError("Argument 'options' is not instance of type (expected List[ccuda.CUjit_option]")
 *     cdef ccuda.CUlinkState cstate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):
 */
  __pyx_t_4 = (__pyx_v_state == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":18821
 *     cdef ccuda.CUlinkState cstate
 *     if state is None:
 *         cstate = <ccuda.CUlinkState><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)
 */
    __pyx_v_cstate = ((CUlinkState)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":18820
 *         raise TypeError("Argument 'options' is not instance of type (expected List[ccuda.CUjit_option]")
 *     cdef ccuda.CUlinkState cstate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":18822
 *     if state is None:
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_state, __pyx_ptype_4cuda_4cuda_CUlinkState); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":18823
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)             # <<<<<<<<<<<<<<
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_state); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pstate = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":18824
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate             # <<<<<<<<<<<<<<
 *     else:
 *         pstate = int(CUlinkState(state))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstate); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18824, __pyx_L1_error)
    __pyx_v_cstate = ((CUlinkState)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":18822
 *     if state is None:
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":18826
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     else:
 *         pstate = int(CUlinkState(state))             # <<<<<<<<<<<<<<
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     cdef ccuda.CUjitInputType ctypename = typename.value
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlinkState), __pyx_v_state); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pstate = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":18827
 *     else:
 *         pstate = int(CUlinkState(state))
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUjitInputType ctypename = typename.value
 *     if numOptions > len(options): raise RuntimeError("List is too small: " + str(len(options)) + " < " + str(numOptions))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstate); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18827, __pyx_L1_error)
    __pyx_v_cstate = ((CUlinkState)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":18828
 *         pstate = int(CUlinkState(state))
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     cdef ccuda.CUjitInputType ctypename = 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_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = ((enum CUjitInputType_enum)__Pyx_PyInt_As_enum__CUjitInputType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18828, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ctypename = __pyx_t_6;

  /* "cuda/cuda.pyx":18829
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     cdef ccuda.CUjitInputType ctypename = 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[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]
 */
  if (unlikely(__pyx_v_options == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 18829, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_options); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 18829, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_7);
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_options == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 18829, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_options); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 18829, __pyx_L1_error)
    __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u__535); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18829, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_8, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __PYX_ERR(1, 18829, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":18830
 *     cdef ccuda.CUjitInputType ctypename = 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[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 */
  if (unlikely(__pyx_v_optionValues == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 18830, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_optionValues); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 18830, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numOptions > __pyx_t_7);
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_optionValues == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 18830, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_optionValues); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 18830, __pyx_L1_error)
    __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numOptions); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18830, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 18830, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":18831
 *     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[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]             # <<<<<<<<<<<<<<
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)
 */
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18831, __pyx_L9_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (unlikely(__pyx_v_options == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(1, 18831, __pyx_L9_error)
    }
    __pyx_t_8 = __pyx_v_options; __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 18831, __pyx_L9_error)
        #endif
        if (__pyx_t_7 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_1 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(1, 18831, __pyx_L9_error)
      #else
      __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18831, __pyx_L9_error)
      __Pyx_GOTREF(__pyx_t_1);
      #endif
      __Pyx_XDECREF_SET(__pyx_10genexpr110__pyx_v_pyoptions, __pyx_t_1);
      __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr110__pyx_v_pyoptions, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18831, __pyx_L9_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_1))) __PYX_ERR(1, 18831, __pyx_L9_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_10genexpr110__pyx_v_pyoptions); __pyx_10genexpr110__pyx_v_pyoptions = 0;
    goto __pyx_L13_exit_scope;
    __pyx_L9_error:;
    __Pyx_XDECREF(__pyx_10genexpr110__pyx_v_pyoptions); __pyx_10genexpr110__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L13_exit_scope:;
  } /* exit inner scope */
  __pyx_t_9 = __pyx_convert_vector_from_py_CUjit_option(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18831, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_coptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_9);

  /* "cuda/cuda.pyx":18832
 *     if numOptions > len(optionValues): raise RuntimeError("List is too small: " + str(len(optionValues)) + " < " + str(numOptions))
 *     cdef vector[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]             # <<<<<<<<<<<<<<
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     err = ccuda.cuLinkAddFile(cstate, ctypename, path, numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr)
 */
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18832, __pyx_L16_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18832, __pyx_L16_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_INCREF(__pyx_v_options);
    __Pyx_GIVEREF(__pyx_v_options);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_options)) __PYX_ERR(1, 18832, __pyx_L16_error);
    __Pyx_INCREF(__pyx_v_optionValues);
    __Pyx_GIVEREF(__pyx_v_optionValues);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_optionValues)) __PYX_ERR(1, 18832, __pyx_L16_error);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18832, __pyx_L16_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    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_10 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18832, __pyx_L16_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_10 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 18832, __pyx_L16_error)
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    for (;;) {
      if (likely(!__pyx_t_10)) {
        if (likely(PyList_CheckExact(__pyx_t_8))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 18832, __pyx_L16_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(1, 18832, __pyx_L16_error)
          #else
          __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18832, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_1);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_8);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 18832, __pyx_L16_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(1, 18832, __pyx_L16_error)
          #else
          __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18832, __pyx_L16_error)
          __Pyx_GOTREF(__pyx_t_1);
          #endif
        }
      } else {
        __pyx_t_1 = __pyx_t_10(__pyx_t_8);
        if (unlikely(!__pyx_t_1)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 18832, __pyx_L16_error)
          }
          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(1, 18832, __pyx_L16_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_11 = PyTuple_GET_ITEM(sequence, 0); 
          __pyx_t_12 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_11 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_12 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_t_12);
        #else
        __pyx_t_11 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 18832, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_12 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 18832, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_12);
        #endif
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_13 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 18832, __pyx_L16_error)
        __Pyx_GOTREF(__pyx_t_13);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __pyx_t_14 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_13);
        index = 0; __pyx_t_11 = __pyx_t_14(__pyx_t_13); if (unlikely(!__pyx_t_11)) goto __pyx_L19_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_L19_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_12);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_13), 2) < 0) __PYX_ERR(1, 18832, __pyx_L16_error)
        __pyx_t_14 = NULL;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        goto __pyx_L20_unpacking_done;
        __pyx_L19_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        __pyx_t_14 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(1, 18832, __pyx_L16_error)
        __pyx_L20_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr111__pyx_v_pyoptions, __pyx_t_11);
      __pyx_t_11 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr111__pyx_v_pyoptionValues, __pyx_t_12);
      __pyx_t_12 = 0;
      __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 18832, __pyx_L16_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_INCREF(__pyx_10genexpr111__pyx_v_pyoptions);
      __Pyx_GIVEREF(__pyx_10genexpr111__pyx_v_pyoptions);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_10genexpr111__pyx_v_pyoptions)) __PYX_ERR(1, 18832, __pyx_L16_error);
      __Pyx_INCREF(__pyx_10genexpr111__pyx_v_pyoptionValues);
      __Pyx_GIVEREF(__pyx_10genexpr111__pyx_v_pyoptionValues);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_10genexpr111__pyx_v_pyoptionValues)) __PYX_ERR(1, 18832, __pyx_L16_error);
      __pyx_t_12 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUjit_option), __pyx_t_1, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 18832, __pyx_L16_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_12))) __PYX_ERR(1, 18832, __pyx_L16_error)
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_10genexpr111__pyx_v_pyoptionValues); __pyx_10genexpr111__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr111__pyx_v_pyoptions); __pyx_10genexpr111__pyx_v_pyoptions = 0;
    goto __pyx_L22_exit_scope;
    __pyx_L16_error:;
    __Pyx_XDECREF(__pyx_10genexpr111__pyx_v_pyoptionValues); __pyx_10genexpr111__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr111__pyx_v_pyoptions); __pyx_10genexpr111__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L22_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18833
 *     cdef vector[ccuda.CUjit_option] coptions = [pyoptions.value for pyoptions in (options)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLinkAddFile(cstate, ctypename, path, numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr)
 *     return (CUresult(err),)
 */
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper), __pyx_v_pylist); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_voidStarHelperoptionValues = ((struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18834
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(options, optionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     err = ccuda.cuLinkAddFile(cstate, ctypename, path, numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperoptionValues), __pyx_n_s_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18834, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_15 = __pyx_f_4cuda_5ccuda_cuLinkAddFile(__pyx_v_cstate, __pyx_v_ctypename, __pyx_v_path, __pyx_v_numOptions, __pyx_v_coptions.data(), ((void **)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5))); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18834, __pyx_L1_error)
  __pyx_v_err = __pyx_t_15;

  /* "cuda/cuda.pyx":18835
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperoptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     err = ccuda.cuLinkAddFile(cstate, ctypename, path, numOptions, coptions.data(), <void**><void_ptr>voidStarHelperoptionValues.cptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_12 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 18835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_1 = NULL;
  __pyx_t_16 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8);
    if (likely(__pyx_t_1)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_8, function);
      __pyx_t_16 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_12};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_16, 1+__pyx_t_16);
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18835, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  }
  __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18835, __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)) __PYX_ERR(1, 18835, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18771
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddFile(state, typename not None : CUjitInputType, char* path, unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[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_8);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_13cuLinkAddFile_2generator4);
  __Pyx_XDECREF(__pyx_10genexpr110__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr111__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr111__pyx_v_pyoptionValues);
  __Pyx_XDECREF(__pyx_v_options);
  __Pyx_XDECREF(__pyx_v_optionValues);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18837
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkComplete(state):
 *     """ Complete a pending linker invocation.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_127cuLinkComplete(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_126cuLinkComplete, "cuLinkComplete(state)\n Complete a pending linker invocation.\n\n    Completes the pending linker action and returns the cubin image for the\n    linked device code, which can be used with\n    :py:obj:`~.cuModuleLoadData`. The cubin is owned by `state`, so it\n    should be loaded before `state` is destroyed via\n    :py:obj:`~.cuLinkDestroy`. This call does not destroy `state`.\n\n    Parameters\n    ----------\n    state : :py:obj:`~.CUlinkState`\n        A pending linker invocation\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    cubinOut : Any\n        On success, this will point to the output image\n    sizeOut : int\n        Optional parameter to receive the size of the generated image\n\n    See Also\n    --------\n    :py:obj:`~.cuLinkCreate`, :py:obj:`~.cuLinkAddData`, :py:obj:`~.cuLinkAddFile`, :py:obj:`~.cuLinkDestroy`, :py:obj:`~.cuModuleLoadData`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_127cuLinkComplete = {"cuLinkComplete", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_127cuLinkComplete, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_126cuLinkComplete};
static PyObject *__pyx_pw_4cuda_4cuda_127cuLinkComplete(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18837, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLinkComplete") < 0)) __PYX_ERR(1, 18837, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLinkComplete", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 18837, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLinkComplete", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_126cuLinkComplete(__pyx_self, __pyx_v_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_126cuLinkComplete(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state) {
  CUlinkState __pyx_v_cstate;
  PyObject *__pyx_v_pstate = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_cubinOut;
  size_t __pyx_v_sizeOut;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__546)
  __Pyx_RefNannySetupContext("cuLinkComplete", 1);
  __Pyx_TraceCall("cuLinkComplete", __pyx_f[1], 18837, 0, __PYX_ERR(1, 18837, __pyx_L1_error));

  /* "cuda/cuda.pyx":18866
 *     """
 *     cdef ccuda.CUlinkState cstate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):
 */
  __pyx_t_1 = (__pyx_v_state == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18867
 *     cdef ccuda.CUlinkState cstate
 *     if state is None:
 *         cstate = <ccuda.CUlinkState><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)
 */
    __pyx_v_cstate = ((CUlinkState)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":18866
 *     """
 *     cdef ccuda.CUlinkState cstate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18868
 *     if state is None:
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_state, __pyx_ptype_4cuda_4cuda_CUlinkState); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18869
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)             # <<<<<<<<<<<<<<
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstate = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":18870
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate             # <<<<<<<<<<<<<<
 *     else:
 *         pstate = int(CUlinkState(state))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstate); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18870, __pyx_L1_error)
    __pyx_v_cstate = ((CUlinkState)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":18868
 *     if state is None:
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18872
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     else:
 *         pstate = int(CUlinkState(state))             # <<<<<<<<<<<<<<
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     cdef void_ptr cubinOut = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlinkState), __pyx_v_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18872, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18872, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstate = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":18873
 *     else:
 *         pstate = int(CUlinkState(state))
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate             # <<<<<<<<<<<<<<
 *     cdef void_ptr cubinOut = 0
 *     cdef size_t sizeOut = 0
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstate); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18873, __pyx_L1_error)
    __pyx_v_cstate = ((CUlinkState)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":18874
 *         pstate = int(CUlinkState(state))
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     cdef void_ptr cubinOut = 0             # <<<<<<<<<<<<<<
 *     cdef size_t sizeOut = 0
 *     err = ccuda.cuLinkComplete(cstate, <void**>&cubinOut, &sizeOut)
 */
  __pyx_v_cubinOut = 0;

  /* "cuda/cuda.pyx":18875
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     cdef void_ptr cubinOut = 0
 *     cdef size_t sizeOut = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLinkComplete(cstate, <void**>&cubinOut, &sizeOut)
 *     return (CUresult(err), cubinOut, sizeOut)
 */
  __pyx_v_sizeOut = 0;

  /* "cuda/cuda.pyx":18876
 *     cdef void_ptr cubinOut = 0
 *     cdef size_t sizeOut = 0
 *     err = ccuda.cuLinkComplete(cstate, <void**>&cubinOut, &sizeOut)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), cubinOut, sizeOut)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuLinkComplete(__pyx_v_cstate, ((void **)(&__pyx_v_cubinOut)), (&__pyx_v_sizeOut)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18876, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":18877
 *     cdef size_t sizeOut = 0
 *     err = ccuda.cuLinkComplete(cstate, <void**>&cubinOut, &sizeOut)
 *     return (CUresult(err), cubinOut, sizeOut)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18877, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_cubinOut); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_sizeOut); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 18877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 18877, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 18877, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6)) __PYX_ERR(1, 18877, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18837
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuLinkComplete", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstate);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18879
 *     return (CUresult(err), cubinOut, sizeOut)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkDestroy(state):
 *     """ Destroys state for a JIT linker invocation.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_129cuLinkDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_128cuLinkDestroy, "cuLinkDestroy(state)\n Destroys state for a JIT linker invocation.\n\n    Parameters\n    ----------\n    state : :py:obj:`~.CUlinkState`\n        State object for the linker invocation\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\n    See Also\n    --------\n    :py:obj:`~.cuLinkCreate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_129cuLinkDestroy = {"cuLinkDestroy", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_129cuLinkDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_128cuLinkDestroy};
static PyObject *__pyx_pw_4cuda_4cuda_129cuLinkDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_state,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18879, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLinkDestroy") < 0)) __PYX_ERR(1, 18879, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLinkDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 18879, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLinkDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_128cuLinkDestroy(__pyx_self, __pyx_v_state);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_128cuLinkDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state) {
  CUlinkState __pyx_v_cstate;
  PyObject *__pyx_v_pstate = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__547)
  __Pyx_RefNannySetupContext("cuLinkDestroy", 1);
  __Pyx_TraceCall("cuLinkDestroy", __pyx_f[1], 18879, 0, __PYX_ERR(1, 18879, __pyx_L1_error));

  /* "cuda/cuda.pyx":18898
 *     """
 *     cdef ccuda.CUlinkState cstate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):
 */
  __pyx_t_1 = (__pyx_v_state == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18899
 *     cdef ccuda.CUlinkState cstate
 *     if state is None:
 *         cstate = <ccuda.CUlinkState><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)
 */
    __pyx_v_cstate = ((CUlinkState)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":18898
 *     """
 *     cdef ccuda.CUlinkState cstate
 *     if state is None:             # <<<<<<<<<<<<<<
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18900
 *     if state is None:
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_state, __pyx_ptype_4cuda_4cuda_CUlinkState); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18901
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)             # <<<<<<<<<<<<<<
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstate = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":18902
 *     elif isinstance(state, (CUlinkState,)):
 *         pstate = int(state)
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate             # <<<<<<<<<<<<<<
 *     else:
 *         pstate = int(CUlinkState(state))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstate); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18902, __pyx_L1_error)
    __pyx_v_cstate = ((CUlinkState)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":18900
 *     if state is None:
 *         cstate = <ccuda.CUlinkState><void_ptr>0
 *     elif isinstance(state, (CUlinkState,)):             # <<<<<<<<<<<<<<
 *         pstate = int(state)
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18904
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     else:
 *         pstate = int(CUlinkState(state))             # <<<<<<<<<<<<<<
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     err = ccuda.cuLinkDestroy(cstate)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlinkState), __pyx_v_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstate = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":18905
 *     else:
 *         pstate = int(CUlinkState(state))
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLinkDestroy(cstate)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstate); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18905, __pyx_L1_error)
    __pyx_v_cstate = ((CUlinkState)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":18906
 *         pstate = int(CUlinkState(state))
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     err = ccuda.cuLinkDestroy(cstate)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuLinkDestroy(__pyx_v_cstate); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18906, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":18907
 *         cstate = <ccuda.CUlinkState><void_ptr>pstate
 *     err = ccuda.cuLinkDestroy(cstate)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18907, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 18907, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18879
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuLinkDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstate);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18909
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetTexRef(hmod, char* name):
 *     """ Returns a handle to a texture reference.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_131cuModuleGetTexRef(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_130cuModuleGetTexRef, "cuModuleGetTexRef(hmod, char *name)\n Returns a handle to a texture reference.\n\n    [Deprecated]\n\n    Returns in `*pTexRef` the handle of the texture reference of name\n    `name` in the module `hmod`. If no texture reference of that name\n    exists, :py:obj:`~.cuModuleGetTexRef()` returns\n    :py:obj:`~.CUDA_ERROR_NOT_FOUND`. This texture reference handle should\n    not be destroyed, since it will be destroyed when the module is\n    unloaded.\n\n    Parameters\n    ----------\n    hmod : :py:obj:`~.CUmodule`\n        Module to retrieve texture reference from\n    name : bytes\n        Name of texture reference to retrieve\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_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\n    pTexRef : :py:obj:`~.CUtexref`\n        Returned texture reference\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_131cuModuleGetTexRef = {"cuModuleGetTexRef", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_131cuModuleGetTexRef, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_130cuModuleGetTexRef};
static PyObject *__pyx_pw_4cuda_4cuda_131cuModuleGetTexRef(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hmod,&__pyx_n_s_name_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hmod)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18909, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18909, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuModuleGetTexRef", 1, 2, 2, 1); __PYX_ERR(1, 18909, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuModuleGetTexRef") < 0)) __PYX_ERR(1, 18909, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hmod = values[0];
    __pyx_v_name = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(1, 18910, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleGetTexRef", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 18909, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuModuleGetTexRef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_130cuModuleGetTexRef(__pyx_self, __pyx_v_hmod, __pyx_v_name);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_130cuModuleGetTexRef(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod, char *__pyx_v_name) {
  CUmodule __pyx_v_chmod;
  PyObject *__pyx_v_phmod = NULL;
  struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_pTexRef = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__548)
  __Pyx_RefNannySetupContext("cuModuleGetTexRef", 1);
  __Pyx_TraceCall("cuModuleGetTexRef", __pyx_f[1], 18909, 0, __PYX_ERR(1, 18909, __pyx_L1_error));

  /* "cuda/cuda.pyx":18941
 *     """
 *     cdef ccuda.CUmodule chmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):
 */
  __pyx_t_1 = (__pyx_v_hmod == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18942
 *     cdef ccuda.CUmodule chmod
 *     if hmod is None:
 *         chmod = <ccuda.CUmodule><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)
 */
    __pyx_v_chmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":18941
 *     """
 *     cdef ccuda.CUmodule chmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18943
 *     if hmod is None:
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hmod, __pyx_ptype_4cuda_4cuda_CUmodule); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18944
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hmod); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phmod = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":18945
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)
 *         chmod = <ccuda.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     else:
 *         phmod = int(CUmodule(hmod))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18945, __pyx_L1_error)
    __pyx_v_chmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":18943
 *     if hmod is None:
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18947
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     else:
 *         phmod = int(CUmodule(hmod))             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     cdef CUtexref pTexRef = CUtexref()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmodule), __pyx_v_hmod); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18947, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18947, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phmod = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":18948
 *     else:
 *         phmod = int(CUmodule(hmod))
 *         chmod = <ccuda.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     cdef CUtexref pTexRef = CUtexref()
 *     err = ccuda.cuModuleGetTexRef(<ccuda.CUtexref*>pTexRef._ptr, chmod, name)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18948, __pyx_L1_error)
    __pyx_v_chmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":18949
 *         phmod = int(CUmodule(hmod))
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     cdef CUtexref pTexRef = CUtexref()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuModuleGetTexRef(<ccuda.CUtexref*>pTexRef._ptr, chmod, name)
 *     return (CUresult(err), pTexRef)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pTexRef = ((struct __pyx_obj_4cuda_4cuda_CUtexref *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":18950
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     cdef CUtexref pTexRef = CUtexref()
 *     err = ccuda.cuModuleGetTexRef(<ccuda.CUtexref*>pTexRef._ptr, chmod, name)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pTexRef)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuModuleGetTexRef(((CUtexref *)__pyx_v_pTexRef->_ptr), __pyx_v_chmod, __pyx_v_name); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18950, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":18951
 *     cdef CUtexref pTexRef = CUtexref()
 *     err = ccuda.cuModuleGetTexRef(<ccuda.CUtexref*>pTexRef._ptr, chmod, name)
 *     return (CUresult(err), pTexRef)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18951, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 18951, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pTexRef);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pTexRef);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pTexRef))) __PYX_ERR(1, 18951, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18909
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18953
 *     return (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_4cuda_133cuModuleGetSurfRef(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_132cuModuleGetSurfRef, "cuModuleGetSurfRef(hmod, char *name)\n Returns a handle to a surface reference.\n\n    [Deprecated]\n\n    Returns in `*pSurfRef` the handle of the surface reference of name\n    `name` in the module `hmod`. If no surface reference of that name\n    exists, :py:obj:`~.cuModuleGetSurfRef()` returns\n    :py:obj:`~.CUDA_ERROR_NOT_FOUND`.\n\n    Parameters\n    ----------\n    hmod : :py:obj:`~.CUmodule`\n        Module to retrieve surface reference from\n    name : bytes\n        Name of surface reference to retrieve\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_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\n    pSurfRef : :py:obj:`~.CUsurfref`\n        Returned surface reference\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_133cuModuleGetSurfRef = {"cuModuleGetSurfRef", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_133cuModuleGetSurfRef, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_132cuModuleGetSurfRef};
static PyObject *__pyx_pw_4cuda_4cuda_133cuModuleGetSurfRef(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hmod,&__pyx_n_s_name_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hmod)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18953, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18953, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuModuleGetSurfRef", 1, 2, 2, 1); __PYX_ERR(1, 18953, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuModuleGetSurfRef") < 0)) __PYX_ERR(1, 18953, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hmod = values[0];
    __pyx_v_name = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(1, 18954, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuModuleGetSurfRef", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 18953, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuModuleGetSurfRef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_132cuModuleGetSurfRef(__pyx_self, __pyx_v_hmod, __pyx_v_name);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_132cuModuleGetSurfRef(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hmod, char *__pyx_v_name) {
  CUmodule __pyx_v_chmod;
  PyObject *__pyx_v_phmod = NULL;
  struct __pyx_obj_4cuda_4cuda_CUsurfref *__pyx_v_pSurfRef = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__549)
  __Pyx_RefNannySetupContext("cuModuleGetSurfRef", 1);
  __Pyx_TraceCall("cuModuleGetSurfRef", __pyx_f[1], 18953, 0, __PYX_ERR(1, 18953, __pyx_L1_error));

  /* "cuda/cuda.pyx":18983
 *     """
 *     cdef ccuda.CUmodule chmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):
 */
  __pyx_t_1 = (__pyx_v_hmod == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18984
 *     cdef ccuda.CUmodule chmod
 *     if hmod is None:
 *         chmod = <ccuda.CUmodule><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)
 */
    __pyx_v_chmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":18983
 *     """
 *     cdef ccuda.CUmodule chmod
 *     if hmod is None:             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18985
 *     if hmod is None:
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hmod, __pyx_ptype_4cuda_4cuda_CUmodule); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":18986
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hmod); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phmod = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":18987
 *     elif isinstance(hmod, (CUmodule,)):
 *         phmod = int(hmod)
 *         chmod = <ccuda.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     else:
 *         phmod = int(CUmodule(hmod))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18987, __pyx_L1_error)
    __pyx_v_chmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":18985
 *     if hmod is None:
 *         chmod = <ccuda.CUmodule><void_ptr>0
 *     elif isinstance(hmod, (CUmodule,)):             # <<<<<<<<<<<<<<
 *         phmod = int(hmod)
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":18989
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     else:
 *         phmod = int(CUmodule(hmod))             # <<<<<<<<<<<<<<
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     cdef CUsurfref pSurfRef = CUsurfref()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmodule), __pyx_v_hmod); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phmod = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":18990
 *     else:
 *         phmod = int(CUmodule(hmod))
 *         chmod = <ccuda.CUmodule><void_ptr>phmod             # <<<<<<<<<<<<<<
 *     cdef CUsurfref pSurfRef = CUsurfref()
 *     err = ccuda.cuModuleGetSurfRef(<ccuda.CUsurfref*>pSurfRef._ptr, chmod, name)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phmod); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 18990, __pyx_L1_error)
    __pyx_v_chmod = ((CUmodule)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":18991
 *         phmod = int(CUmodule(hmod))
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     cdef CUsurfref pSurfRef = CUsurfref()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuModuleGetSurfRef(<ccuda.CUsurfref*>pSurfRef._ptr, chmod, name)
 *     return (CUresult(err), pSurfRef)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUsurfref)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pSurfRef = ((struct __pyx_obj_4cuda_4cuda_CUsurfref *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":18992
 *         chmod = <ccuda.CUmodule><void_ptr>phmod
 *     cdef CUsurfref pSurfRef = CUsurfref()
 *     err = ccuda.cuModuleGetSurfRef(<ccuda.CUsurfref*>pSurfRef._ptr, chmod, name)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pSurfRef)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuModuleGetSurfRef(((CUsurfref *)__pyx_v_pSurfRef->_ptr), __pyx_v_chmod, __pyx_v_name); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 18992, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":18993
 *     cdef CUsurfref pSurfRef = CUsurfref()
 *     err = ccuda.cuModuleGetSurfRef(<ccuda.CUsurfref*>pSurfRef._ptr, chmod, name)
 *     return (CUresult(err), pSurfRef)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 18993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 18993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 18993, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pSurfRef);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pSurfRef);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pSurfRef))) __PYX_ERR(1, 18993, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18953
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18995
 *     return (CUresult(err), pSurfRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadData(code, jitOptions : Optional[List[CUjit_option]], jitOptionsValues : Optional[List[Any]], unsigned int numJitOptions, libraryOptions : Optional[List[CUlibraryOption]], libraryOptionValues : Optional[List[Any]], unsigned int numLibraryOptions):
 *     """ Load a library with specified code and options.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_135cuLibraryLoadData(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_134cuLibraryLoadData, "cuLibraryLoadData(code, list jitOptions: Optional[List[CUjit_option]], list jitOptionsValues: Optional[List[Any]], unsigned int numJitOptions, list libraryOptions: Optional[List[CUlibraryOption]], list libraryOptionValues: Optional[List[Any]], unsigned int numLibraryOptions)\n Load a library with specified code and options.\n\n    Takes a pointer `code` and loads the corresponding library `library`\n    based 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\n    These environment variables are described in the CUDA programming guide\n    under the \"CUDA environment variables\" section.\n\n    The `code` may be a `cubin` or `fatbin` as output by nvcc, or a NULL-\n    terminated `PTX`, either as output by nvcc or hand-written.\n\n    Options are passed as an array via `jitOptions` and any corresponding\n    parameters are passed in `jitOptionsValues`. The number of total JIT\n    options is supplied via `numJitOptions`. Any outputs will be returned\n    via `jitOptionsValues`.\n\n    Library load options are passed as an array via `libraryOptions` and\n    any corresponding parameters are passed in `libraryOptionValues`. The\n    number of total library load options is supplied via\n    `numLibraryOptions`.\n\n    Parameters\n    ----------\n    code : Any\n        Code to load\n    jitOptions : List[:py:obj:`~.CUjit_option`]\n        Options for JIT\n    jitOptionsValues : List[Any]\n        Option values for JIT\n    numJitOptions : ""unsigned int\n        Number of options\n    libraryOptions : List[:py:obj:`~.CUlibraryOption`]\n        Options for loading\n    libraryOptionValues : List[Any]\n        Option values for loading\n    numLibraryOptions : unsigned int\n        Number of options for loading\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_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`\n    library : :py:obj:`~.CUlibrary`\n        Returned library\n\n    See Also\n    --------\n    :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_135cuLibraryLoadData = {"cuLibraryLoadData", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_135cuLibraryLoadData, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_134cuLibraryLoadData};
static PyObject *__pyx_pw_4cuda_4cuda_135cuLibraryLoadData(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_code,&__pyx_n_s_jitOptions,&__pyx_n_s_jitOptionsValues,&__pyx_n_s_numJitOptions,&__pyx_n_s_libraryOptions,&__pyx_n_s_libraryOptionValues,&__pyx_n_s_numLibraryOptions,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_code)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18995, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_jitOptions)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18995, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLibraryLoadData", 1, 7, 7, 1); __PYX_ERR(1, 18995, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_jitOptionsValues)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18995, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLibraryLoadData", 1, 7, 7, 2); __PYX_ERR(1, 18995, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numJitOptions)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18995, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLibraryLoadData", 1, 7, 7, 3); __PYX_ERR(1, 18995, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_libraryOptions)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18995, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLibraryLoadData", 1, 7, 7, 4); __PYX_ERR(1, 18995, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_libraryOptionValues)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[5]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18995, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLibraryLoadData", 1, 7, 7, 5); __PYX_ERR(1, 18995, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numLibraryOptions)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[6]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 18995, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLibraryLoadData", 1, 7, 7, 6); __PYX_ERR(1, 18995, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLibraryLoadData") < 0)) __PYX_ERR(1, 18995, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 7)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
      values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
      values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
    }
    __pyx_v_code = values[0];
    __pyx_v_jitOptions = ((PyObject*)values[1]);
    __pyx_v_jitOptionsValues = ((PyObject*)values[2]);
    __pyx_v_numJitOptions = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_numJitOptions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 18996, __pyx_L3_error)
    __pyx_v_libraryOptions = ((PyObject*)values[4]);
    __pyx_v_libraryOptionValues = ((PyObject*)values[5]);
    __pyx_v_numLibraryOptions = __Pyx_PyInt_As_unsigned_int(values[6]); if (unlikely((__pyx_v_numLibraryOptions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 18996, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryLoadData", 1, 7, 7, __pyx_nargs); __PYX_ERR(1, 18995, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLibraryLoadData", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_jitOptions), (&PyList_Type), 1, "jitOptions", 1))) __PYX_ERR(1, 18996, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_jitOptionsValues), (&PyList_Type), 1, "jitOptionsValues", 1))) __PYX_ERR(1, 18996, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_libraryOptions), (&PyList_Type), 1, "libraryOptions", 1))) __PYX_ERR(1, 18996, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_libraryOptionValues), (&PyList_Type), 1, "libraryOptionValues", 1))) __PYX_ERR(1, 18996, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_134cuLibraryLoadData(__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 */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_17cuLibraryLoadData_2generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":19058
 *     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 List[ccuda.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 */

static PyObject *__pyx_pf_4cuda_4cuda_17cuLibraryLoadData_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_5_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_5_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_5_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_5_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 19058, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_17cuLibraryLoadData_2generator5, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuLibraryLoadData_locals_genexpr, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 19058, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_17cuLibraryLoadData_2generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_5_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_5_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 19058, 0, __PYX_ERR(1, 19058, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 19058, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 19058, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 19058, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 19058, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 19058, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUlibraryOption); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 19058, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_17cuLibraryLoadData_5generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":19062
 *     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 List[ccuda.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
 */

static PyObject *__pyx_pf_4cuda_4cuda_17cuLibraryLoadData_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_6_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_6_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_6_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_6_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 19062, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_17cuLibraryLoadData_5generator6, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuLibraryLoadData_locals_genexpr, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 19062, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_17cuLibraryLoadData_5generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_6_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_6_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 19062, 0, __PYX_ERR(1, 19062, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 19062, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 19062, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 19062, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 19062, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 19062, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUjit_option); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 19062, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":18995
 *     return (CUresult(err), pSurfRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadData(code, jitOptions : Optional[List[CUjit_option]], jitOptionsValues : Optional[List[Any]], unsigned int numJitOptions, libraryOptions : Optional[List[CUlibraryOption]], libraryOptionValues : Optional[List[Any]], unsigned int numLibraryOptions):
 *     """ Load a library with specified code and options.
 */

static PyObject *__pyx_pf_4cuda_4cuda_134cuLibraryLoadData(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_4cuda_CUlibrary *__pyx_v_library = 0;
  PyObject *__pyx_v_ccode = NULL;
  void *__pyx_v_ccode_ptr;
  std::vector<CUjit_option>  __pyx_v_cjitOptions;
  PyObject *__pyx_v_pylist = NULL;
  struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *__pyx_v_voidStarHelperjitOptionsValues = 0;
  std::vector<CUlibraryOption>  __pyx_v_clibraryOptions;
  struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *__pyx_v_voidStarHelperlibraryOptionValues = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_17cuLibraryLoadData_2generator5 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_17cuLibraryLoadData_5generator6 = 0;
  PyObject *__pyx_10genexpr114__pyx_v_pyjitOptions = NULL;
  PyObject *__pyx_10genexpr115__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr115__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_10genexpr116__pyx_v_pylibraryOptions = NULL;
  PyObject *__pyx_10genexpr117__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr117__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  std::vector<CUjit_option>  __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<CUlibraryOption>  __pyx_t_14;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_15;
  CUresult __pyx_t_16;
  int __pyx_t_17;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__550)
  __Pyx_RefNannySetupContext("cuLibraryLoadData", 0);
  __Pyx_TraceCall("cuLibraryLoadData", __pyx_f[1], 18995, 0, __PYX_ERR(1, 18995, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_jitOptions);
  __Pyx_INCREF(__pyx_v_jitOptionsValues);
  __Pyx_INCREF(__pyx_v_libraryOptions);
  __Pyx_INCREF(__pyx_v_libraryOptionValues);

  /* "cuda/cuda.pyx":19056
 *     :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`
 *     """
 *     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 == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19056, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":19057
 *     """
 *     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 List[ccuda.CUlibraryOption]")
 */
  __pyx_t_2 = (__pyx_v_libraryOptions == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19057, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":19058
 *     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 List[ccuda.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_17cuLibraryLoadData_genexpr(NULL, __pyx_v_libraryOptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19058, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19058, __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(1, 19058, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":19059
 *     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 List[ccuda.CUlibraryOption]")             # <<<<<<<<<<<<<<
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 *     jitOptions = [] if jitOptions is None else jitOptions
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__551, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19059, __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(1, 19059, __pyx_L1_error)

    /* "cuda/cuda.pyx":19058
 *     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 List[ccuda.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 */
  }

  /* "cuda/cuda.pyx":19060
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected List[ccuda.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 == ((PyObject*)Py_None));
  if (__pyx_t_4) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19060, __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, ((PyObject*)__pyx_t_3));
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":19061
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected List[ccuda.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 List[ccuda.CUjit_option]")
 */
  __pyx_t_4 = (__pyx_v_jitOptions == ((PyObject*)Py_None));
  if (__pyx_t_4) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19061, __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, ((PyObject*)__pyx_t_3));
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":19062
 *     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 List[ccuda.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
 */
  __pyx_t_3 = __pyx_pf_4cuda_4cuda_17cuLibraryLoadData_3genexpr(NULL, __pyx_v_jitOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19062, __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(1, 19062, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":19063
 *     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 List[ccuda.CUjit_option]")             # <<<<<<<<<<<<<<
 *     cdef CUlibrary library = CUlibrary()
 *     ccode = utils.HelperInputVoidPtr(code)
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__552, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19063, __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, 19063, __pyx_L1_error)

    /* "cuda/cuda.pyx":19062
 *     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 List[ccuda.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
 */
  }

  /* "cuda/cuda.pyx":19064
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected List[ccuda.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()             # <<<<<<<<<<<<<<
 *     ccode = utils.HelperInputVoidPtr(code)
 *     cdef void* ccode_ptr = <void*><void_ptr>ccode.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlibrary)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_library = ((struct __pyx_obj_4cuda_4cuda_CUlibrary *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":19065
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected List[ccuda.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
 *     ccode = utils.HelperInputVoidPtr(code)             # <<<<<<<<<<<<<<
 *     cdef void* ccode_ptr = <void*><void_ptr>ccode.cptr
 *     cdef vector[ccuda.CUjit_option] cjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_ccode = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":19066
 *     cdef CUlibrary library = CUlibrary()
 *     ccode = utils.HelperInputVoidPtr(code)
 *     cdef void* ccode_ptr = <void*><void_ptr>ccode.cptr             # <<<<<<<<<<<<<<
 *     cdef vector[ccuda.CUjit_option] cjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numJitOptions, jitOptionsValues)]
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ccode, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19066, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ccode_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

  /* "cuda/cuda.pyx":19067
 *     ccode = utils.HelperInputVoidPtr(code)
 *     cdef void* ccode_ptr = <void*><void_ptr>ccode.cptr
 *     cdef vector[ccuda.CUjit_option] cjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]             # <<<<<<<<<<<<<<
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numJitOptions, jitOptionsValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = utils.InputVoidPtrPtrHelper(pylist)
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19067, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely(__pyx_v_jitOptions == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(1, 19067, __pyx_L7_error)
    }
    __pyx_t_3 = __pyx_v_jitOptions; __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 19067, __pyx_L7_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_7 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_7); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 19067, __pyx_L7_error)
      #else
      __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19067, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      #endif
      __Pyx_XDECREF_SET(__pyx_10genexpr114__pyx_v_pyjitOptions, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr114__pyx_v_pyjitOptions, __pyx_n_s_value_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19067, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(1, 19067, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_10genexpr114__pyx_v_pyjitOptions); __pyx_10genexpr114__pyx_v_pyjitOptions = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr114__pyx_v_pyjitOptions); __pyx_10genexpr114__pyx_v_pyjitOptions = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_t_8 = __pyx_convert_vector_from_py_CUjit_option(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19067, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cjitOptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_8);

  /* "cuda/cuda.pyx":19068
 *     cdef void* ccode_ptr = <void*><void_ptr>ccode.cptr
 *     cdef vector[ccuda.CUjit_option] cjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numJitOptions, jitOptionsValues)]             # <<<<<<<<<<<<<<
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = utils.InputVoidPtrPtrHelper(pylist)
 *     if numJitOptions > len(jitOptions): raise RuntimeError("List is too small: " + str(len(jitOptions)) + " < " + str(numJitOptions))
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19068, __pyx_L14_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numJitOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19068, __pyx_L14_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19068, __pyx_L14_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3)) __PYX_ERR(1, 19068, __pyx_L14_error);
    __Pyx_INCREF(__pyx_v_jitOptionsValues);
    __Pyx_GIVEREF(__pyx_v_jitOptionsValues);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_jitOptionsValues)) __PYX_ERR(1, 19068, __pyx_L14_error);
    __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19068, __pyx_L14_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
      __pyx_t_7 = __pyx_t_3; __Pyx_INCREF(__pyx_t_7);
      __pyx_t_6 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_6 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19068, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 19068, __pyx_L14_error)
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 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_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 19068, __pyx_L14_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 19068, __pyx_L14_error)
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19068, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_3);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_7);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 19068, __pyx_L14_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 19068, __pyx_L14_error)
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_7, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19068, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_3);
          #endif
        }
      } else {
        __pyx_t_3 = __pyx_t_9(__pyx_t_7);
        if (unlikely(!__pyx_t_3)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 19068, __pyx_L14_error)
          }
          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(1, 19068, __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_t_11 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_10 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_11 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_11);
        #else
        __pyx_t_10 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19068, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_11 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 19068, __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(1, 19068, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_13 = __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(1, 19068, __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(1, 19068, __pyx_L14_error)
        __pyx_L18_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr115__pyx_v_pyoptions, __pyx_t_10);
      __pyx_t_10 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr115__pyx_v_pyoptionValues, __pyx_t_11);
      __pyx_t_11 = 0;
      __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19068, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_10genexpr115__pyx_v_pyoptions);
      __Pyx_GIVEREF(__pyx_10genexpr115__pyx_v_pyoptions);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_10genexpr115__pyx_v_pyoptions)) __PYX_ERR(1, 19068, __pyx_L14_error);
      __Pyx_INCREF(__pyx_10genexpr115__pyx_v_pyoptionValues);
      __Pyx_GIVEREF(__pyx_10genexpr115__pyx_v_pyoptionValues);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_10genexpr115__pyx_v_pyoptionValues)) __PYX_ERR(1, 19068, __pyx_L14_error);
      __pyx_t_11 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUjit_option), __pyx_t_3, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 19068, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_11))) __PYX_ERR(1, 19068, __pyx_L14_error)
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_10genexpr115__pyx_v_pyoptionValues); __pyx_10genexpr115__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr115__pyx_v_pyoptions); __pyx_10genexpr115__pyx_v_pyoptions = 0;
    goto __pyx_L20_exit_scope;
    __pyx_L14_error:;
    __Pyx_XDECREF(__pyx_10genexpr115__pyx_v_pyoptionValues); __pyx_10genexpr115__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr115__pyx_v_pyoptions); __pyx_10genexpr115__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/cuda.pyx":19069
 *     cdef vector[ccuda.CUjit_option] cjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numJitOptions, jitOptionsValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = utils.InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     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_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper), __pyx_v_pylist); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_voidStarHelperjitOptionsValues = ((struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":19070
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numJitOptions, jitOptionsValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = utils.InputVoidPtrPtrHelper(pylist)
 *     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[ccuda.CUlibraryOption] clibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]
 */
  if (unlikely(__pyx_v_jitOptions == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 19070, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_jitOptions); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 19070, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numJitOptions > __pyx_t_6);
  if (unlikely(__pyx_t_2)) {
    if (unlikely(__pyx_v_jitOptions == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 19070, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_jitOptions); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 19070, __pyx_L1_error)
    __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u__535); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numJitOptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 19070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyNumber_Add(__pyx_t_7, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 19070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_11, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __PYX_ERR(1, 19070, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":19071
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = utils.InputVoidPtrPtrHelper(pylist)
 *     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[ccuda.CUlibraryOption] clibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]
 *     pylist = [utils.HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numLibraryOptions, libraryOptionValues)]
 */
  if (unlikely(__pyx_v_jitOptionsValues == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 19071, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_jitOptionsValues); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 19071, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numJitOptions > __pyx_t_6);
  if (unlikely(__pyx_t_2)) {
    if (unlikely(__pyx_v_jitOptionsValues == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 19071, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_jitOptionsValues); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 19071, __pyx_L1_error)
    __pyx_t_11 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 19071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 19071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numJitOptions); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 19071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_11); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = PyNumber_Add(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 19071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_11); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_Raise(__pyx_t_7, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __PYX_ERR(1, 19071, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":19072
 *     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[ccuda.CUlibraryOption] clibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]             # <<<<<<<<<<<<<<
 *     pylist = [utils.HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numLibraryOptions, libraryOptionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = utils.InputVoidPtrPtrHelper(pylist)
 */
  { /* enter inner scope */
    __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19072, __pyx_L25_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (unlikely(__pyx_v_libraryOptions == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(1, 19072, __pyx_L25_error)
    }
    __pyx_t_11 = __pyx_v_libraryOptions; __Pyx_INCREF(__pyx_t_11);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_11);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 19072, __pyx_L25_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_1 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 19072, __pyx_L25_error)
      #else
      __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_11, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19072, __pyx_L25_error)
      __Pyx_GOTREF(__pyx_t_1);
      #endif
      __Pyx_XDECREF_SET(__pyx_10genexpr116__pyx_v_pylibraryOptions, __pyx_t_1);
      __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr116__pyx_v_pylibraryOptions, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19072, __pyx_L25_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_1))) __PYX_ERR(1, 19072, __pyx_L25_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_XDECREF(__pyx_10genexpr116__pyx_v_pylibraryOptions); __pyx_10genexpr116__pyx_v_pylibraryOptions = 0;
    goto __pyx_L29_exit_scope;
    __pyx_L25_error:;
    __Pyx_XDECREF(__pyx_10genexpr116__pyx_v_pylibraryOptions); __pyx_10genexpr116__pyx_v_pylibraryOptions = 0;
    goto __pyx_L1_error;
    __pyx_L29_exit_scope:;
  } /* exit inner scope */
  __pyx_t_14 = __pyx_convert_vector_from_py_CUlibraryOption(__pyx_t_7); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19072, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_v_clibraryOptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_14);

  /* "cuda/cuda.pyx":19073
 *     if numJitOptions > len(jitOptionsValues): raise RuntimeError("List is too small: " + str(len(jitOptionsValues)) + " < " + str(numJitOptions))
 *     cdef vector[ccuda.CUlibraryOption] clibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]
 *     pylist = [utils.HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numLibraryOptions, libraryOptionValues)]             # <<<<<<<<<<<<<<
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     if numLibraryOptions > len(libraryOptions): raise RuntimeError("List is too small: " + str(len(libraryOptions)) + " < " + str(numLibraryOptions))
 */
  { /* enter inner scope */
    __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19073, __pyx_L32_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_11 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numLibraryOptions); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 19073, __pyx_L32_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19073, __pyx_L32_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_11)) __PYX_ERR(1, 19073, __pyx_L32_error);
    __Pyx_INCREF(__pyx_v_libraryOptionValues);
    __Pyx_GIVEREF(__pyx_v_libraryOptionValues);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_libraryOptionValues)) __PYX_ERR(1, 19073, __pyx_L32_error);
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_1, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 19073, __pyx_L32_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) {
      __pyx_t_1 = __pyx_t_11; __Pyx_INCREF(__pyx_t_1);
      __pyx_t_6 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19073, __pyx_L32_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_9 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 19073, __pyx_L32_error)
    }
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_1))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 19073, __pyx_L32_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_11 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_11); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 19073, __pyx_L32_error)
          #else
          __pyx_t_11 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 19073, __pyx_L32_error)
          __Pyx_GOTREF(__pyx_t_11);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 19073, __pyx_L32_error)
            #endif
            if (__pyx_t_6 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_11); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 19073, __pyx_L32_error)
          #else
          __pyx_t_11 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 19073, __pyx_L32_error)
          __Pyx_GOTREF(__pyx_t_11);
          #endif
        }
      } else {
        __pyx_t_11 = __pyx_t_9(__pyx_t_1);
        if (unlikely(!__pyx_t_11)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 19073, __pyx_L32_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_11);
      }
      if ((likely(PyTuple_CheckExact(__pyx_t_11))) || (PyList_CheckExact(__pyx_t_11))) {
        PyObject* sequence = __pyx_t_11;
        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, 19073, __pyx_L32_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
          __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_3 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_10 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_10);
        #else
        __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19073, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19073, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_10);
        #endif
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_12 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 19073, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __pyx_t_13 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_12);
        index = 0; __pyx_t_3 = __pyx_t_13(__pyx_t_12); if (unlikely(!__pyx_t_3)) goto __pyx_L35_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_3);
        index = 1; __pyx_t_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(1, 19073, __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(1, 19073, __pyx_L32_error)
        __pyx_L36_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr117__pyx_v_pyoptions, __pyx_t_3);
      __pyx_t_3 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr117__pyx_v_pyoptionValues, __pyx_t_10);
      __pyx_t_10 = 0;
      __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 19073, __pyx_L32_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_INCREF(__pyx_10genexpr117__pyx_v_pyoptions);
      __Pyx_GIVEREF(__pyx_10genexpr117__pyx_v_pyoptions);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_10genexpr117__pyx_v_pyoptions)) __PYX_ERR(1, 19073, __pyx_L32_error);
      __Pyx_INCREF(__pyx_10genexpr117__pyx_v_pyoptionValues);
      __Pyx_GIVEREF(__pyx_10genexpr117__pyx_v_pyoptionValues);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_10genexpr117__pyx_v_pyoptionValues)) __PYX_ERR(1, 19073, __pyx_L32_error);
      __pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUlibraryOption), __pyx_t_11, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19073, __pyx_L32_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_10))) __PYX_ERR(1, 19073, __pyx_L32_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_10genexpr117__pyx_v_pyoptionValues); __pyx_10genexpr117__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr117__pyx_v_pyoptions); __pyx_10genexpr117__pyx_v_pyoptions = 0;
    goto __pyx_L38_exit_scope;
    __pyx_L32_error:;
    __Pyx_XDECREF(__pyx_10genexpr117__pyx_v_pyoptionValues); __pyx_10genexpr117__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr117__pyx_v_pyoptions); __pyx_10genexpr117__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L38_exit_scope:;
  } /* exit inner scope */
  __Pyx_DECREF_SET(__pyx_v_pylist, ((PyObject*)__pyx_t_7));
  __pyx_t_7 = 0;

  /* "cuda/cuda.pyx":19074
 *     cdef vector[ccuda.CUlibraryOption] clibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]
 *     pylist = [utils.HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numLibraryOptions, libraryOptionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = utils.InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     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_7 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper), __pyx_v_pylist); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_v_voidStarHelperlibraryOptionValues = ((struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *)__pyx_t_7);
  __pyx_t_7 = 0;

  /* "cuda/cuda.pyx":19075
 *     pylist = [utils.HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numLibraryOptions, libraryOptionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     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))
 *     err = ccuda.cuLibraryLoadData(<ccuda.CUlibrary*>library._ptr, ccode_ptr, cjitOptions.data(), <void**><void_ptr>voidStarHelperjitOptionsValues.cptr, numJitOptions, clibraryOptions.data(), <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr, numLibraryOptions)
 */
  if (unlikely(__pyx_v_libraryOptions == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 19075, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_libraryOptions); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 19075, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numLibraryOptions > __pyx_t_6);
  if (unlikely(__pyx_t_2)) {
    if (unlikely(__pyx_v_libraryOptions == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 19075, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_libraryOptions); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 19075, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numLibraryOptions); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_10, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __PYX_ERR(1, 19075, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":19076
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     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))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLibraryLoadData(<ccuda.CUlibrary*>library._ptr, ccode_ptr, cjitOptions.data(), <void**><void_ptr>voidStarHelperjitOptionsValues.cptr, numJitOptions, clibraryOptions.data(), <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr, numLibraryOptions)
 *     return (CUresult(err), library)
 */
  if (unlikely(__pyx_v_libraryOptionValues == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 19076, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_libraryOptionValues); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 19076, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numLibraryOptions > __pyx_t_6);
  if (unlikely(__pyx_t_2)) {
    if (unlikely(__pyx_v_libraryOptionValues == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 19076, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_libraryOptionValues); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 19076, __pyx_L1_error)
    __pyx_t_10 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_kp_u__535); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numLibraryOptions); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = PyNumber_Add(__pyx_t_7, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 19076, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":19077
 *     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))
 *     err = ccuda.cuLibraryLoadData(<ccuda.CUlibrary*>library._ptr, ccode_ptr, cjitOptions.data(), <void**><void_ptr>voidStarHelperjitOptionsValues.cptr, numJitOptions, clibraryOptions.data(), <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr, numLibraryOptions)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), library)
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperjitOptionsValues), __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19077, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperlibraryOptionValues), __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_15 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_15 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19077, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_16 = __pyx_f_4cuda_5ccuda_cuLibraryLoadData(((CUlibrary *)__pyx_v_library->_ptr), __pyx_v_ccode_ptr, __pyx_v_cjitOptions.data(), ((void **)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5)), __pyx_v_numJitOptions, __pyx_v_clibraryOptions.data(), ((void **)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_15)), __pyx_v_numLibraryOptions); if (unlikely(__pyx_t_16 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19077, __pyx_L1_error)
  __pyx_v_err = __pyx_t_16;

  /* "cuda/cuda.pyx":19078
 *     if numLibraryOptions > len(libraryOptionValues): raise RuntimeError("List is too small: " + str(len(libraryOptionValues)) + " < " + str(numLibraryOptions))
 *     err = ccuda.cuLibraryLoadData(<ccuda.CUlibrary*>library._ptr, ccode_ptr, cjitOptions.data(), <void**><void_ptr>voidStarHelperjitOptionsValues.cptr, numJitOptions, clibraryOptions.data(), <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr, numLibraryOptions)
 *     return (CUresult(err), library)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_11 = NULL;
  __pyx_t_17 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_10))) {
    __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
    if (likely(__pyx_t_11)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
      __Pyx_INCREF(__pyx_t_11);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_10, function);
      __pyx_t_17 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_17, 1+__pyx_t_17);
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  }
  __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1)) __PYX_ERR(1, 19078, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_library);
  __Pyx_GIVEREF((PyObject *)__pyx_v_library);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, ((PyObject *)__pyx_v_library))) __PYX_ERR(1, 19078, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_10;
  __pyx_t_10 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":18995
 *     return (CUresult(err), pSurfRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadData(code, jitOptions : Optional[List[CUjit_option]], jitOptionsValues : Optional[List[Any]], unsigned int numJitOptions, libraryOptions : Optional[List[CUlibraryOption]], libraryOptionValues : Optional[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_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.cuLibraryLoadData", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_library);
  __Pyx_XDECREF(__pyx_v_ccode);
  __Pyx_XDECREF(__pyx_v_pylist);
  __Pyx_XDECREF((PyObject *)__pyx_v_voidStarHelperjitOptionsValues);
  __Pyx_XDECREF((PyObject *)__pyx_v_voidStarHelperlibraryOptionValues);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_17cuLibraryLoadData_2generator5);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_17cuLibraryLoadData_5generator6);
  __Pyx_XDECREF(__pyx_10genexpr114__pyx_v_pyjitOptions);
  __Pyx_XDECREF(__pyx_10genexpr115__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr115__pyx_v_pyoptionValues);
  __Pyx_XDECREF(__pyx_10genexpr116__pyx_v_pylibraryOptions);
  __Pyx_XDECREF(__pyx_10genexpr117__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr117__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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19080
 *     return (CUresult(err), library)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadFromFile(char* fileName, jitOptions : Optional[List[CUjit_option]], jitOptionsValues : Optional[List[Any]], unsigned int numJitOptions, libraryOptions : Optional[List[CUlibraryOption]], libraryOptionValues : Optional[List[Any]], unsigned int numLibraryOptions):
 *     """ Load a library with specified file and options.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_137cuLibraryLoadFromFile(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_136cuLibraryLoadFromFile, "cuLibraryLoadFromFile(char *fileName, list jitOptions: Optional[List[CUjit_option]], list jitOptionsValues: Optional[List[Any]], unsigned int numJitOptions, list libraryOptions: Optional[List[CUlibraryOption]], list libraryOptionValues: Optional[List[Any]], unsigned int numLibraryOptions)\n Load a library with specified file and options.\n\n    Takes a pointer `code` and loads the corresponding library `library`\n    based 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\n    These environment variables are described in the CUDA programming guide\n    under the \"CUDA environment variables\" section.\n\n    The file should be a `cubin` file as output by nvcc, or a `PTX` file\n    either as output by nvcc or handwritten, or a `fatbin` file as output\n    by nvcc.\n\n    Options are passed as an array via `jitOptions` and any corresponding\n    parameters are passed in `jitOptionsValues`. The number of total\n    options is supplied via `numJitOptions`. Any outputs will be returned\n    via `jitOptionsValues`.\n\n    Library load options are passed as an array via `libraryOptions` and\n    any corresponding parameters are passed in `libraryOptionValues`. The\n    number of total library load options is supplied via\n    `numLibraryOptions`.\n\n    Parameters\n    ----------\n    fileName : bytes\n        File to load from\n    jitOptions : List[:py:obj:`~.CUjit_option`]\n        Options for JIT\n    jitOptionsValues : List[Any]\n       "" Option values for JIT\n    numJitOptions : unsigned int\n        Number of options\n    libraryOptions : List[:py:obj:`~.CUlibraryOption`]\n        Options for loading\n    libraryOptionValues : List[Any]\n        Option values for loading\n    numLibraryOptions : unsigned int\n        Number of options for loading\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_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`\n    library : :py:obj:`~.CUlibrary`\n        Returned library\n\n    See Also\n    --------\n    :py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_137cuLibraryLoadFromFile = {"cuLibraryLoadFromFile", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_137cuLibraryLoadFromFile, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_136cuLibraryLoadFromFile};
static PyObject *__pyx_pw_4cuda_4cuda_137cuLibraryLoadFromFile(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fileName,&__pyx_n_s_jitOptions,&__pyx_n_s_jitOptionsValues,&__pyx_n_s_numJitOptions,&__pyx_n_s_libraryOptions,&__pyx_n_s_libraryOptionValues,&__pyx_n_s_numLibraryOptions,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fileName)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19080, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_jitOptions)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19080, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLibraryLoadFromFile", 1, 7, 7, 1); __PYX_ERR(1, 19080, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_jitOptionsValues)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19080, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLibraryLoadFromFile", 1, 7, 7, 2); __PYX_ERR(1, 19080, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numJitOptions)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19080, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLibraryLoadFromFile", 1, 7, 7, 3); __PYX_ERR(1, 19080, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_libraryOptions)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19080, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLibraryLoadFromFile", 1, 7, 7, 4); __PYX_ERR(1, 19080, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_libraryOptionValues)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[5]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19080, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLibraryLoadFromFile", 1, 7, 7, 5); __PYX_ERR(1, 19080, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numLibraryOptions)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[6]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19080, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLibraryLoadFromFile", 1, 7, 7, 6); __PYX_ERR(1, 19080, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLibraryLoadFromFile") < 0)) __PYX_ERR(1, 19080, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 7)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
      values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
      values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
    }
    __pyx_v_fileName = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_fileName) && PyErr_Occurred())) __PYX_ERR(1, 19081, __pyx_L3_error)
    __pyx_v_jitOptions = ((PyObject*)values[1]);
    __pyx_v_jitOptionsValues = ((PyObject*)values[2]);
    __pyx_v_numJitOptions = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_numJitOptions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 19081, __pyx_L3_error)
    __pyx_v_libraryOptions = ((PyObject*)values[4]);
    __pyx_v_libraryOptionValues = ((PyObject*)values[5]);
    __pyx_v_numLibraryOptions = __Pyx_PyInt_As_unsigned_int(values[6]); if (unlikely((__pyx_v_numLibraryOptions == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 19081, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryLoadFromFile", 1, 7, 7, __pyx_nargs); __PYX_ERR(1, 19080, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLibraryLoadFromFile", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_jitOptions), (&PyList_Type), 1, "jitOptions", 1))) __PYX_ERR(1, 19081, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_jitOptionsValues), (&PyList_Type), 1, "jitOptionsValues", 1))) __PYX_ERR(1, 19081, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_libraryOptions), (&PyList_Type), 1, "libraryOptions", 1))) __PYX_ERR(1, 19081, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_libraryOptionValues), (&PyList_Type), 1, "libraryOptionValues", 1))) __PYX_ERR(1, 19081, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_136cuLibraryLoadFromFile(__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 */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_21cuLibraryLoadFromFile_2generator7(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":19144
 *     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 List[ccuda.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 */

static PyObject *__pyx_pf_4cuda_4cuda_21cuLibraryLoadFromFile_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_7_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_7_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_7_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_7_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 19144, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_21cuLibraryLoadFromFile_2generator7, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuLibraryLoadFromFile_locals_gen, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 19144, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21cuLibraryLoadFromFile_2generator7(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_7_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_7_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 19144, 0, __PYX_ERR(1, 19144, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 19144, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 19144, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 19144, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 19144, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 19144, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUlibraryOption); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 19144, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_21cuLibraryLoadFromFile_5generator8(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":19148
 *     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 List[ccuda.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
 */

static PyObject *__pyx_pf_4cuda_4cuda_21cuLibraryLoadFromFile_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_8_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_8_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_8_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_8_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 19148, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_21cuLibraryLoadFromFile_5generator8, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuLibraryLoadFromFile_locals_gen, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 19148, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21cuLibraryLoadFromFile_5generator8(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_8_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_8_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 19148, 0, __PYX_ERR(1, 19148, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 19148, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 19148, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 19148, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 19148, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 19148, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUjit_option); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 19148, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19080
 *     return (CUresult(err), library)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadFromFile(char* fileName, jitOptions : Optional[List[CUjit_option]], jitOptionsValues : Optional[List[Any]], unsigned int numJitOptions, libraryOptions : Optional[List[CUlibraryOption]], libraryOptionValues : Optional[List[Any]], unsigned int numLibraryOptions):
 *     """ Load a library with specified file and options.
 */

static PyObject *__pyx_pf_4cuda_4cuda_136cuLibraryLoadFromFile(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_4cuda_CUlibrary *__pyx_v_library = 0;
  std::vector<CUjit_option>  __pyx_v_cjitOptions;
  PyObject *__pyx_v_pylist = NULL;
  struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *__pyx_v_voidStarHelperjitOptionsValues = 0;
  std::vector<CUlibraryOption>  __pyx_v_clibraryOptions;
  struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *__pyx_v_voidStarHelperlibraryOptionValues = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_21cuLibraryLoadFromFile_2generator7 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_21cuLibraryLoadFromFile_5generator8 = 0;
  PyObject *__pyx_10genexpr120__pyx_v_pyjitOptions = NULL;
  PyObject *__pyx_10genexpr121__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr121__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_10genexpr122__pyx_v_pylibraryOptions = NULL;
  PyObject *__pyx_10genexpr123__pyx_v_pyoptions = NULL;
  PyObject *__pyx_10genexpr123__pyx_v_pyoptionValues = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  std::vector<CUjit_option>  __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *(*__pyx_t_12)(PyObject *);
  std::vector<CUlibraryOption>  __pyx_t_13;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_14;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_15;
  CUresult __pyx_t_16;
  int __pyx_t_17;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__553)
  __Pyx_RefNannySetupContext("cuLibraryLoadFromFile", 0);
  __Pyx_TraceCall("cuLibraryLoadFromFile", __pyx_f[1], 19080, 0, __PYX_ERR(1, 19080, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_jitOptions);
  __Pyx_INCREF(__pyx_v_jitOptionsValues);
  __Pyx_INCREF(__pyx_v_libraryOptions);
  __Pyx_INCREF(__pyx_v_libraryOptionValues);

  /* "cuda/cuda.pyx":19142
 *     :py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuModuleLoad`, :py:obj:`~.cuModuleLoadData`, :py:obj:`~.cuModuleLoadDataEx`
 *     """
 *     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 == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19142, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":19143
 *     """
 *     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 List[ccuda.CUlibraryOption]")
 */
  __pyx_t_2 = (__pyx_v_libraryOptions == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19143, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":19144
 *     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 List[ccuda.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_21cuLibraryLoadFromFile_genexpr(NULL, __pyx_v_libraryOptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19144, __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(1, 19144, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":19145
 *     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 List[ccuda.CUlibraryOption]")             # <<<<<<<<<<<<<<
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 *     jitOptions = [] if jitOptions is None else jitOptions
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__551, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19145, __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(1, 19145, __pyx_L1_error)

    /* "cuda/cuda.pyx":19144
 *     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 List[ccuda.CUlibraryOption]")
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 */
  }

  /* "cuda/cuda.pyx":19146
 *     if not all(isinstance(_x, (CUlibraryOption)) for _x in libraryOptions):
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected List[ccuda.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 == ((PyObject*)Py_None));
  if (__pyx_t_4) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19146, __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, ((PyObject*)__pyx_t_3));
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":19147
 *         raise TypeError("Argument 'libraryOptions' is not instance of type (expected List[ccuda.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 List[ccuda.CUjit_option]")
 */
  __pyx_t_4 = (__pyx_v_jitOptions == ((PyObject*)Py_None));
  if (__pyx_t_4) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19147, __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, ((PyObject*)__pyx_t_3));
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":19148
 *     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 List[ccuda.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
 */
  __pyx_t_3 = __pyx_pf_4cuda_4cuda_21cuLibraryLoadFromFile_3genexpr(NULL, __pyx_v_jitOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19148, __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(1, 19148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":19149
 *     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 List[ccuda.CUjit_option]")             # <<<<<<<<<<<<<<
 *     cdef CUlibrary library = CUlibrary()
 *     cdef vector[ccuda.CUjit_option] cjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__552, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19149, __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, 19149, __pyx_L1_error)

    /* "cuda/cuda.pyx":19148
 *     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 List[ccuda.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
 */
  }

  /* "cuda/cuda.pyx":19150
 *     if not all(isinstance(_x, (CUjit_option)) for _x in jitOptions):
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected List[ccuda.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()             # <<<<<<<<<<<<<<
 *     cdef vector[ccuda.CUjit_option] cjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numJitOptions, jitOptionsValues)]
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlibrary)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_library = ((struct __pyx_obj_4cuda_4cuda_CUlibrary *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":19151
 *         raise TypeError("Argument 'jitOptions' is not instance of type (expected List[ccuda.CUjit_option]")
 *     cdef CUlibrary library = CUlibrary()
 *     cdef vector[ccuda.CUjit_option] cjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]             # <<<<<<<<<<<<<<
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numJitOptions, jitOptionsValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = utils.InputVoidPtrPtrHelper(pylist)
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19151, __pyx_L7_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely(__pyx_v_jitOptions == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(1, 19151, __pyx_L7_error)
    }
    __pyx_t_3 = __pyx_v_jitOptions; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_5 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 19151, __pyx_L7_error)
        #endif
        if (__pyx_t_5 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_6); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(1, 19151, __pyx_L7_error)
      #else
      __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19151, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_6);
      #endif
      __Pyx_XDECREF_SET(__pyx_10genexpr120__pyx_v_pyjitOptions, __pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr120__pyx_v_pyjitOptions, __pyx_n_s_value_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19151, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 19151, __pyx_L7_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_10genexpr120__pyx_v_pyjitOptions); __pyx_10genexpr120__pyx_v_pyjitOptions = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L7_error:;
    __Pyx_XDECREF(__pyx_10genexpr120__pyx_v_pyjitOptions); __pyx_10genexpr120__pyx_v_pyjitOptions = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_t_7 = __pyx_convert_vector_from_py_CUjit_option(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19151, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cjitOptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_7);

  /* "cuda/cuda.pyx":19152
 *     cdef CUlibrary library = CUlibrary()
 *     cdef vector[ccuda.CUjit_option] cjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numJitOptions, jitOptionsValues)]             # <<<<<<<<<<<<<<
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = utils.InputVoidPtrPtrHelper(pylist)
 *     if numJitOptions > len(jitOptions): raise RuntimeError("List is too small: " + str(len(jitOptions)) + " < " + str(numJitOptions))
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19152, __pyx_L14_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numJitOptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19152, __pyx_L14_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19152, __pyx_L14_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3)) __PYX_ERR(1, 19152, __pyx_L14_error);
    __Pyx_INCREF(__pyx_v_jitOptionsValues);
    __Pyx_GIVEREF(__pyx_v_jitOptionsValues);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_jitOptionsValues)) __PYX_ERR(1, 19152, __pyx_L14_error);
    __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19152, __pyx_L14_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
      __pyx_t_6 = __pyx_t_3; __Pyx_INCREF(__pyx_t_6);
      __pyx_t_5 = 0;
      __pyx_t_8 = NULL;
    } else {
      __pyx_t_5 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19152, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_8 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 19152, __pyx_L14_error)
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    for (;;) {
      if (likely(!__pyx_t_8)) {
        if (likely(PyList_CheckExact(__pyx_t_6))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 19152, __pyx_L14_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(1, 19152, __pyx_L14_error)
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19152, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_3);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 19152, __pyx_L14_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(1, 19152, __pyx_L14_error)
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19152, __pyx_L14_error)
          __Pyx_GOTREF(__pyx_t_3);
          #endif
        }
      } else {
        __pyx_t_3 = __pyx_t_8(__pyx_t_6);
        if (unlikely(!__pyx_t_3)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 19152, __pyx_L14_error)
          }
          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(1, 19152, __pyx_L14_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0); 
          __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_9 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_10 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_t_10);
        #else
        __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 19152, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19152, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_10);
        #endif
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_11 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 19152, __pyx_L14_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_11);
        index = 0; __pyx_t_9 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_9)) goto __pyx_L17_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_9);
        index = 1; __pyx_t_10 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_10)) goto __pyx_L17_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_11), 2) < 0) __PYX_ERR(1, 19152, __pyx_L14_error)
        __pyx_t_12 = NULL;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        goto __pyx_L18_unpacking_done;
        __pyx_L17_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __pyx_t_12 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(1, 19152, __pyx_L14_error)
        __pyx_L18_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr121__pyx_v_pyoptions, __pyx_t_9);
      __pyx_t_9 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr121__pyx_v_pyoptionValues, __pyx_t_10);
      __pyx_t_10 = 0;
      __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19152, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_INCREF(__pyx_10genexpr121__pyx_v_pyoptions);
      __Pyx_GIVEREF(__pyx_10genexpr121__pyx_v_pyoptions);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_10genexpr121__pyx_v_pyoptions)) __PYX_ERR(1, 19152, __pyx_L14_error);
      __Pyx_INCREF(__pyx_10genexpr121__pyx_v_pyoptionValues);
      __Pyx_GIVEREF(__pyx_10genexpr121__pyx_v_pyoptionValues);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_10genexpr121__pyx_v_pyoptionValues)) __PYX_ERR(1, 19152, __pyx_L14_error);
      __pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUjit_option), __pyx_t_3, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19152, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_10))) __PYX_ERR(1, 19152, __pyx_L14_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_10genexpr121__pyx_v_pyoptionValues); __pyx_10genexpr121__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr121__pyx_v_pyoptions); __pyx_10genexpr121__pyx_v_pyoptions = 0;
    goto __pyx_L20_exit_scope;
    __pyx_L14_error:;
    __Pyx_XDECREF(__pyx_10genexpr121__pyx_v_pyoptionValues); __pyx_10genexpr121__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr121__pyx_v_pyoptions); __pyx_10genexpr121__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/cuda.pyx":19153
 *     cdef vector[ccuda.CUjit_option] cjitOptions = [pyjitOptions.value for pyjitOptions in (jitOptions)]
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numJitOptions, jitOptionsValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = utils.InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     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_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper), __pyx_v_pylist); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_voidStarHelperjitOptionsValues = ((struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":19154
 *     pylist = [utils.HelperCUjit_option(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numJitOptions, jitOptionsValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = utils.InputVoidPtrPtrHelper(pylist)
 *     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[ccuda.CUlibraryOption] clibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]
 */
  if (unlikely(__pyx_v_jitOptions == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 19154, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_jitOptions); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 19154, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numJitOptions > __pyx_t_5);
  if (unlikely(__pyx_t_2)) {
    if (unlikely(__pyx_v_jitOptions == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 19154, __pyx_L1_error)
    }
    __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_jitOptions); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 19154, __pyx_L1_error)
    __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u__535); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numJitOptions); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyNumber_Add(__pyx_t_6, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_10, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __PYX_ERR(1, 19154, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":19155
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperjitOptionsValues = utils.InputVoidPtrPtrHelper(pylist)
 *     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[ccuda.CUlibraryOption] clibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]
 *     pylist = [utils.HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numLibraryOptions, libraryOptionValues)]
 */
  if (unlikely(__pyx_v_jitOptionsValues == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 19155, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_jitOptionsValues); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 19155, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numJitOptions > __pyx_t_5);
  if (unlikely(__pyx_t_2)) {
    if (unlikely(__pyx_v_jitOptionsValues == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 19155, __pyx_L1_error)
    }
    __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_jitOptionsValues); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 19155, __pyx_L1_error)
    __pyx_t_10 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numJitOptions); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = PyNumber_Add(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_Raise(__pyx_t_6, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(1, 19155, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":19156
 *     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[ccuda.CUlibraryOption] clibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]             # <<<<<<<<<<<<<<
 *     pylist = [utils.HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numLibraryOptions, libraryOptionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = utils.InputVoidPtrPtrHelper(pylist)
 */
  { /* enter inner scope */
    __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19156, __pyx_L25_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(__pyx_v_libraryOptions == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(1, 19156, __pyx_L25_error)
    }
    __pyx_t_10 = __pyx_v_libraryOptions; __Pyx_INCREF(__pyx_t_10);
    __pyx_t_5 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_10);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 19156, __pyx_L25_error)
        #endif
        if (__pyx_t_5 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_1 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(1, 19156, __pyx_L25_error)
      #else
      __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_10, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19156, __pyx_L25_error)
      __Pyx_GOTREF(__pyx_t_1);
      #endif
      __Pyx_XDECREF_SET(__pyx_10genexpr122__pyx_v_pylibraryOptions, __pyx_t_1);
      __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr122__pyx_v_pylibraryOptions, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19156, __pyx_L25_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_1))) __PYX_ERR(1, 19156, __pyx_L25_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_XDECREF(__pyx_10genexpr122__pyx_v_pylibraryOptions); __pyx_10genexpr122__pyx_v_pylibraryOptions = 0;
    goto __pyx_L29_exit_scope;
    __pyx_L25_error:;
    __Pyx_XDECREF(__pyx_10genexpr122__pyx_v_pylibraryOptions); __pyx_10genexpr122__pyx_v_pylibraryOptions = 0;
    goto __pyx_L1_error;
    __pyx_L29_exit_scope:;
  } /* exit inner scope */
  __pyx_t_13 = __pyx_convert_vector_from_py_CUlibraryOption(__pyx_t_6); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19156, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_clibraryOptions = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_13);

  /* "cuda/cuda.pyx":19157
 *     if numJitOptions > len(jitOptionsValues): raise RuntimeError("List is too small: " + str(len(jitOptionsValues)) + " < " + str(numJitOptions))
 *     cdef vector[ccuda.CUlibraryOption] clibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]
 *     pylist = [utils.HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numLibraryOptions, libraryOptionValues)]             # <<<<<<<<<<<<<<
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     if numLibraryOptions > len(libraryOptions): raise RuntimeError("List is too small: " + str(len(libraryOptions)) + " < " + str(numLibraryOptions))
 */
  { /* enter inner scope */
    __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19157, __pyx_L32_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_10 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numLibraryOptions); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19157, __pyx_L32_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19157, __pyx_L32_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_10);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_10)) __PYX_ERR(1, 19157, __pyx_L32_error);
    __Pyx_INCREF(__pyx_v_libraryOptionValues);
    __Pyx_GIVEREF(__pyx_v_libraryOptionValues);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_libraryOptionValues)) __PYX_ERR(1, 19157, __pyx_L32_error);
    __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_1, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19157, __pyx_L32_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) {
      __pyx_t_1 = __pyx_t_10; __Pyx_INCREF(__pyx_t_1);
      __pyx_t_5 = 0;
      __pyx_t_8 = NULL;
    } else {
      __pyx_t_5 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19157, __pyx_L32_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 19157, __pyx_L32_error)
    }
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    for (;;) {
      if (likely(!__pyx_t_8)) {
        if (likely(PyList_CheckExact(__pyx_t_1))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 19157, __pyx_L32_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_10); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(1, 19157, __pyx_L32_error)
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19157, __pyx_L32_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 19157, __pyx_L32_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_10); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(1, 19157, __pyx_L32_error)
          #else
          __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19157, __pyx_L32_error)
          __Pyx_GOTREF(__pyx_t_10);
          #endif
        }
      } else {
        __pyx_t_10 = __pyx_t_8(__pyx_t_1);
        if (unlikely(!__pyx_t_10)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 19157, __pyx_L32_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_10);
      }
      if ((likely(PyTuple_CheckExact(__pyx_t_10))) || (PyList_CheckExact(__pyx_t_10))) {
        PyObject* sequence = __pyx_t_10;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(1, 19157, __pyx_L32_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
          __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_3 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_9 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_9);
        #else
        __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19157, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 19157, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_9);
        #endif
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_11 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 19157, __pyx_L32_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_11);
        index = 0; __pyx_t_3 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_3)) goto __pyx_L35_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_3);
        index = 1; __pyx_t_9 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_9)) goto __pyx_L35_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_9);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_11), 2) < 0) __PYX_ERR(1, 19157, __pyx_L32_error)
        __pyx_t_12 = NULL;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        goto __pyx_L36_unpacking_done;
        __pyx_L35_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __pyx_t_12 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(1, 19157, __pyx_L32_error)
        __pyx_L36_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr123__pyx_v_pyoptions, __pyx_t_3);
      __pyx_t_3 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr123__pyx_v_pyoptionValues, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 19157, __pyx_L32_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_INCREF(__pyx_10genexpr123__pyx_v_pyoptions);
      __Pyx_GIVEREF(__pyx_10genexpr123__pyx_v_pyoptions);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_10genexpr123__pyx_v_pyoptions)) __PYX_ERR(1, 19157, __pyx_L32_error);
      __Pyx_INCREF(__pyx_10genexpr123__pyx_v_pyoptionValues);
      __Pyx_GIVEREF(__pyx_10genexpr123__pyx_v_pyoptionValues);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_10genexpr123__pyx_v_pyoptionValues)) __PYX_ERR(1, 19157, __pyx_L32_error);
      __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUlibraryOption), __pyx_t_10, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 19157, __pyx_L32_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_9))) __PYX_ERR(1, 19157, __pyx_L32_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_10genexpr123__pyx_v_pyoptionValues); __pyx_10genexpr123__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr123__pyx_v_pyoptions); __pyx_10genexpr123__pyx_v_pyoptions = 0;
    goto __pyx_L38_exit_scope;
    __pyx_L32_error:;
    __Pyx_XDECREF(__pyx_10genexpr123__pyx_v_pyoptionValues); __pyx_10genexpr123__pyx_v_pyoptionValues = 0;
    __Pyx_XDECREF(__pyx_10genexpr123__pyx_v_pyoptions); __pyx_10genexpr123__pyx_v_pyoptions = 0;
    goto __pyx_L1_error;
    __pyx_L38_exit_scope:;
  } /* exit inner scope */
  __Pyx_DECREF_SET(__pyx_v_pylist, ((PyObject*)__pyx_t_6));
  __pyx_t_6 = 0;

  /* "cuda/cuda.pyx":19158
 *     cdef vector[ccuda.CUlibraryOption] clibraryOptions = [pylibraryOptions.value for pylibraryOptions in (libraryOptions)]
 *     pylist = [utils.HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numLibraryOptions, libraryOptionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = utils.InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     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_6 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper), __pyx_v_pylist); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_voidStarHelperlibraryOptionValues = ((struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cuda.pyx":19159
 *     pylist = [utils.HelperCUlibraryOption(pyoptions, pyoptionValues) for pyoptions, pyoptionValues in zip(numLibraryOptions, libraryOptionValues)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     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))
 *     err = ccuda.cuLibraryLoadFromFile(<ccuda.CUlibrary*>library._ptr, fileName, cjitOptions.data(), <void**><void_ptr>voidStarHelperjitOptionsValues.cptr, numJitOptions, clibraryOptions.data(), <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr, numLibraryOptions)
 */
  if (unlikely(__pyx_v_libraryOptions == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 19159, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_libraryOptions); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 19159, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numLibraryOptions > __pyx_t_5);
  if (unlikely(__pyx_t_2)) {
    if (unlikely(__pyx_v_libraryOptions == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 19159, __pyx_L1_error)
    }
    __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_libraryOptions); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 19159, __pyx_L1_error)
    __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numLibraryOptions); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_9 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 19159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = PyNumber_Add(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 19159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_Raise(__pyx_t_9, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __PYX_ERR(1, 19159, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":19160
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperlibraryOptionValues = utils.InputVoidPtrPtrHelper(pylist)
 *     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))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLibraryLoadFromFile(<ccuda.CUlibrary*>library._ptr, fileName, cjitOptions.data(), <void**><void_ptr>voidStarHelperjitOptionsValues.cptr, numJitOptions, clibraryOptions.data(), <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr, numLibraryOptions)
 *     return (CUresult(err), library)
 */
  if (unlikely(__pyx_v_libraryOptionValues == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 19160, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_libraryOptionValues); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 19160, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numLibraryOptions > __pyx_t_5);
  if (unlikely(__pyx_t_2)) {
    if (unlikely(__pyx_v_libraryOptionValues == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 19160, __pyx_L1_error)
    }
    __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_libraryOptionValues); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 19160, __pyx_L1_error)
    __pyx_t_9 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 19160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 19160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_9, __pyx_kp_u__535); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numLibraryOptions); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 19160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = PyNumber_Add(__pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 19160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 19160, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":19161
 *     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))
 *     err = ccuda.cuLibraryLoadFromFile(<ccuda.CUlibrary*>library._ptr, fileName, cjitOptions.data(), <void**><void_ptr>voidStarHelperjitOptionsValues.cptr, numJitOptions, clibraryOptions.data(), <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr, numLibraryOptions)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), library)
 * 
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperjitOptionsValues), __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_14 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperlibraryOptionValues), __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_15 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_15 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_16 = __pyx_f_4cuda_5ccuda_cuLibraryLoadFromFile(((CUlibrary *)__pyx_v_library->_ptr), __pyx_v_fileName, __pyx_v_cjitOptions.data(), ((void **)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_14)), __pyx_v_numJitOptions, __pyx_v_clibraryOptions.data(), ((void **)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_15)), __pyx_v_numLibraryOptions); if (unlikely(__pyx_t_16 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19161, __pyx_L1_error)
  __pyx_v_err = __pyx_t_16;

  /* "cuda/cuda.pyx":19162
 *     if numLibraryOptions > len(libraryOptionValues): raise RuntimeError("List is too small: " + str(len(libraryOptionValues)) + " < " + str(numLibraryOptions))
 *     err = ccuda.cuLibraryLoadFromFile(<ccuda.CUlibrary*>library._ptr, fileName, cjitOptions.data(), <void**><void_ptr>voidStarHelperjitOptionsValues.cptr, numJitOptions, clibraryOptions.data(), <void**><void_ptr>voidStarHelperlibraryOptionValues.cptr, numLibraryOptions)
 *     return (CUresult(err), library)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 19162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_10 = NULL;
  __pyx_t_17 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_9))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_9, function);
      __pyx_t_17 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_17, 1+__pyx_t_17);
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  }
  __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 19162, __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)) __PYX_ERR(1, 19162, __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))) __PYX_ERR(1, 19162, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":19080
 *     return (CUresult(err), library)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadFromFile(char* fileName, jitOptions : Optional[List[CUjit_option]], jitOptionsValues : Optional[List[Any]], unsigned int numJitOptions, libraryOptions : Optional[List[CUlibraryOption]], libraryOptionValues : Optional[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_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21cuLibraryLoadFromFile_2generator7);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_21cuLibraryLoadFromFile_5generator8);
  __Pyx_XDECREF(__pyx_10genexpr120__pyx_v_pyjitOptions);
  __Pyx_XDECREF(__pyx_10genexpr121__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr121__pyx_v_pyoptionValues);
  __Pyx_XDECREF(__pyx_10genexpr122__pyx_v_pylibraryOptions);
  __Pyx_XDECREF(__pyx_10genexpr123__pyx_v_pyoptions);
  __Pyx_XDECREF(__pyx_10genexpr123__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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19164
 *     return (CUresult(err), library)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryUnload(library):
 *     """ Unloads a library.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_139cuLibraryUnload(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_138cuLibraryUnload, "cuLibraryUnload(library)\n Unloads a library.\n\n    Unloads the library specified with `library`\n\n    Parameters\n    ----------\n    library : :py:obj:`~.CUlibrary`\n        Library to unload\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuModuleUnload`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_139cuLibraryUnload = {"cuLibraryUnload", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_139cuLibraryUnload, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_138cuLibraryUnload};
static PyObject *__pyx_pw_4cuda_4cuda_139cuLibraryUnload(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_library,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_library)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19164, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLibraryUnload") < 0)) __PYX_ERR(1, 19164, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_library = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryUnload", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 19164, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLibraryUnload", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_138cuLibraryUnload(__pyx_self, __pyx_v_library);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_138cuLibraryUnload(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library) {
  CUlibrary __pyx_v_clibrary;
  PyObject *__pyx_v_plibrary = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__554)
  __Pyx_RefNannySetupContext("cuLibraryUnload", 1);
  __Pyx_TraceCall("cuLibraryUnload", __pyx_f[1], 19164, 0, __PYX_ERR(1, 19164, __pyx_L1_error));

  /* "cuda/cuda.pyx":19185
 *     """
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 */
  __pyx_t_1 = (__pyx_v_library == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19186
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
 */
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":19185
 *     """
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19187
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_library, __pyx_ptype_4cuda_4cuda_CUlibrary); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19188
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19189
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     else:
 *         plibrary = int(CUlibrary(library))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19189, __pyx_L1_error)
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":19187
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19191
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     else:
 *         plibrary = int(CUlibrary(library))             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     err = ccuda.cuLibraryUnload(clibrary)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlibrary), __pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":19192
 *     else:
 *         plibrary = int(CUlibrary(library))
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLibraryUnload(clibrary)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19192, __pyx_L1_error)
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":19193
 *         plibrary = int(CUlibrary(library))
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     err = ccuda.cuLibraryUnload(clibrary)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuLibraryUnload(__pyx_v_clibrary); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19193, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":19194
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     err = ccuda.cuLibraryUnload(clibrary)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 19194, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":19164
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuLibraryUnload", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_plibrary);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19196
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetKernel(library, char* name):
 *     """ Returns a kernel handle.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_141cuLibraryGetKernel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_140cuLibraryGetKernel, "cuLibraryGetKernel(library, char *name)\n Returns a kernel handle.\n\n    Returns in `pKernel` the handle of the kernel with name `name` located\n    in library `library`. If kernel handle is not found, the call returns\n    :py:obj:`~.CUDA_ERROR_NOT_FOUND`.\n\n    Parameters\n    ----------\n    library : :py:obj:`~.CUlibrary`\n        Library to retrieve kernel from\n    name : bytes\n        Name of kernel to retrieve\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\n    pKernel : :py:obj:`~.CUkernel`\n        Returned kernel handle\n\n    See Also\n    --------\n    :py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuKernelGetFunction`, :py:obj:`~.cuLibraryGetModule`, :py:obj:`~.cuModuleGetFunction`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_141cuLibraryGetKernel = {"cuLibraryGetKernel", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_141cuLibraryGetKernel, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_140cuLibraryGetKernel};
static PyObject *__pyx_pw_4cuda_4cuda_141cuLibraryGetKernel(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_library,&__pyx_n_s_name_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_library)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19196, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19196, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLibraryGetKernel", 1, 2, 2, 1); __PYX_ERR(1, 19196, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLibraryGetKernel") < 0)) __PYX_ERR(1, 19196, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_library = values[0];
    __pyx_v_name = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(1, 19197, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryGetKernel", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 19196, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLibraryGetKernel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_140cuLibraryGetKernel(__pyx_self, __pyx_v_library, __pyx_v_name);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_140cuLibraryGetKernel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library, char *__pyx_v_name) {
  CUlibrary __pyx_v_clibrary;
  PyObject *__pyx_v_plibrary = NULL;
  struct __pyx_obj_4cuda_4cuda_CUkernel *__pyx_v_pKernel = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__555)
  __Pyx_RefNannySetupContext("cuLibraryGetKernel", 1);
  __Pyx_TraceCall("cuLibraryGetKernel", __pyx_f[1], 19196, 0, __PYX_ERR(1, 19196, __pyx_L1_error));

  /* "cuda/cuda.pyx":19223
 *     """
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 */
  __pyx_t_1 = (__pyx_v_library == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19224
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
 */
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":19223
 *     """
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19225
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_library, __pyx_ptype_4cuda_4cuda_CUlibrary); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19226
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19227
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     else:
 *         plibrary = int(CUlibrary(library))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19227, __pyx_L1_error)
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":19225
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19229
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     else:
 *         plibrary = int(CUlibrary(library))             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     cdef CUkernel pKernel = CUkernel()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlibrary), __pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":19230
 *     else:
 *         plibrary = int(CUlibrary(library))
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     cdef CUkernel pKernel = CUkernel()
 *     err = ccuda.cuLibraryGetKernel(<ccuda.CUkernel*>pKernel._ptr, clibrary, name)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19230, __pyx_L1_error)
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":19231
 *         plibrary = int(CUlibrary(library))
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     cdef CUkernel pKernel = CUkernel()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLibraryGetKernel(<ccuda.CUkernel*>pKernel._ptr, clibrary, name)
 *     return (CUresult(err), pKernel)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUkernel)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pKernel = ((struct __pyx_obj_4cuda_4cuda_CUkernel *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":19232
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     cdef CUkernel pKernel = CUkernel()
 *     err = ccuda.cuLibraryGetKernel(<ccuda.CUkernel*>pKernel._ptr, clibrary, name)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pKernel)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuLibraryGetKernel(((CUkernel *)__pyx_v_pKernel->_ptr), __pyx_v_clibrary, __pyx_v_name); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19232, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":19233
 *     cdef CUkernel pKernel = CUkernel()
 *     err = ccuda.cuLibraryGetKernel(<ccuda.CUkernel*>pKernel._ptr, clibrary, name)
 *     return (CUresult(err), pKernel)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19233, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 19233, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pKernel);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pKernel);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pKernel))) __PYX_ERR(1, 19233, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":19196
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19235
 *     return (CUresult(err), pKernel)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetKernelCount(lib):
 *     """ Returns the number of kernels within a library.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_143cuLibraryGetKernelCount(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_142cuLibraryGetKernelCount, "cuLibraryGetKernelCount(lib)\n Returns the number of kernels within a library.\n\n    Returns in `count` the number of kernels in `lib`.\n\n    Parameters\n    ----------\n    lib : :py:obj:`~.CUlibrary`\n        Library to query\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    count : unsigned int\n        Number of kernels found within the library\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_143cuLibraryGetKernelCount = {"cuLibraryGetKernelCount", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_143cuLibraryGetKernelCount, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_142cuLibraryGetKernelCount};
static PyObject *__pyx_pw_4cuda_4cuda_143cuLibraryGetKernelCount(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lib,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lib)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19235, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLibraryGetKernelCount") < 0)) __PYX_ERR(1, 19235, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_lib = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryGetKernelCount", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 19235, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLibraryGetKernelCount", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_142cuLibraryGetKernelCount(__pyx_self, __pyx_v_lib);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_142cuLibraryGetKernelCount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_lib) {
  CUlibrary __pyx_v_clib;
  PyObject *__pyx_v_plib = NULL;
  unsigned int __pyx_v_count;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__556)
  __Pyx_RefNannySetupContext("cuLibraryGetKernelCount", 1);
  __Pyx_TraceCall("cuLibraryGetKernelCount", __pyx_f[1], 19235, 0, __PYX_ERR(1, 19235, __pyx_L1_error));

  /* "cuda/cuda.pyx":19254
 *     """
 *     cdef ccuda.CUlibrary clib
 *     if lib is None:             # <<<<<<<<<<<<<<
 *         clib = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(lib, (CUlibrary,)):
 */
  __pyx_t_1 = (__pyx_v_lib == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19255
 *     cdef ccuda.CUlibrary clib
 *     if lib is None:
 *         clib = <ccuda.CUlibrary><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(lib, (CUlibrary,)):
 *         plib = int(lib)
 */
    __pyx_v_clib = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":19254
 *     """
 *     cdef ccuda.CUlibrary clib
 *     if lib is None:             # <<<<<<<<<<<<<<
 *         clib = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(lib, (CUlibrary,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19256
 *     if lib is None:
 *         clib = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(lib, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plib = int(lib)
 *         clib = <ccuda.CUlibrary><void_ptr>plib
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_lib, __pyx_ptype_4cuda_4cuda_CUlibrary); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19257
 *         clib = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(lib, (CUlibrary,)):
 *         plib = int(lib)             # <<<<<<<<<<<<<<
 *         clib = <ccuda.CUlibrary><void_ptr>plib
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_lib); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plib = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19258
 *     elif isinstance(lib, (CUlibrary,)):
 *         plib = int(lib)
 *         clib = <ccuda.CUlibrary><void_ptr>plib             # <<<<<<<<<<<<<<
 *     else:
 *         plib = int(CUlibrary(lib))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_plib); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19258, __pyx_L1_error)
    __pyx_v_clib = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":19256
 *     if lib is None:
 *         clib = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(lib, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plib = int(lib)
 *         clib = <ccuda.CUlibrary><void_ptr>plib
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19260
 *         clib = <ccuda.CUlibrary><void_ptr>plib
 *     else:
 *         plib = int(CUlibrary(lib))             # <<<<<<<<<<<<<<
 *         clib = <ccuda.CUlibrary><void_ptr>plib
 *     cdef unsigned int count = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlibrary), __pyx_v_lib); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plib = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":19261
 *     else:
 *         plib = int(CUlibrary(lib))
 *         clib = <ccuda.CUlibrary><void_ptr>plib             # <<<<<<<<<<<<<<
 *     cdef unsigned int count = 0
 *     err = ccuda.cuLibraryGetKernelCount(&count, clib)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_plib); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19261, __pyx_L1_error)
    __pyx_v_clib = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":19262
 *         plib = int(CUlibrary(lib))
 *         clib = <ccuda.CUlibrary><void_ptr>plib
 *     cdef unsigned int count = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLibraryGetKernelCount(&count, clib)
 *     return (CUresult(err), count)
 */
  __pyx_v_count = 0;

  /* "cuda/cuda.pyx":19263
 *         clib = <ccuda.CUlibrary><void_ptr>plib
 *     cdef unsigned int count = 0
 *     err = ccuda.cuLibraryGetKernelCount(&count, clib)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), count)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuLibraryGetKernelCount((&__pyx_v_count), __pyx_v_clib); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19263, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":19264
 *     cdef unsigned int count = 0
 *     err = ccuda.cuLibraryGetKernelCount(&count, clib)
 *     return (CUresult(err), count)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19264, __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)) __PYX_ERR(1, 19264, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 19264, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":19235
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuLibraryGetKernelCount", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_plib);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19266
 *     return (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_4cuda_145cuLibraryEnumerateKernels(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_144cuLibraryEnumerateKernels, "cuLibraryEnumerateKernels(unsigned int numKernels, lib)\n Retrieve the kernel handles within a library.\n\n    Returns in `kernels` a maximum number of `numKernels` kernel handles\n    within `lib`. The returned kernel handle becomes invalid when the\n    library is unloaded.\n\n    Parameters\n    ----------\n    numKernels : unsigned int\n        Maximum number of kernel handles may be returned to the buffer\n    lib : :py:obj:`~.CUlibrary`\n        Library to query from\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    kernels : List[:py:obj:`~.CUkernel`]\n        Buffer where the kernel handles are returned to\n\n    See Also\n    --------\n    :py:obj:`~.cuLibraryGetKernelCount`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_145cuLibraryEnumerateKernels = {"cuLibraryEnumerateKernels", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_145cuLibraryEnumerateKernels, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_144cuLibraryEnumerateKernels};
static PyObject *__pyx_pw_4cuda_4cuda_145cuLibraryEnumerateKernels(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_numKernels,&__pyx_n_s_lib,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numKernels)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19266, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lib)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19266, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLibraryEnumerateKernels", 1, 2, 2, 1); __PYX_ERR(1, 19266, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLibraryEnumerateKernels") < 0)) __PYX_ERR(1, 19266, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_numKernels = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_numKernels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 19267, __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(1, 19266, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLibraryEnumerateKernels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_144cuLibraryEnumerateKernels(__pyx_self, __pyx_v_numKernels, __pyx_v_lib);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_144cuLibraryEnumerateKernels(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_numKernels, PyObject *__pyx_v_lib) {
  CUlibrary __pyx_v_clib;
  PyObject *__pyx_v_plib = NULL;
  CUkernel *__pyx_v_ckernels;
  PyObject *__pyx_v_pykernels = NULL;
  CUresult __pyx_v_err;
  unsigned int __pyx_10genexpr124__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  unsigned int __pyx_t_9;
  unsigned int __pyx_t_10;
  unsigned int __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__557)
  __Pyx_RefNannySetupContext("cuLibraryEnumerateKernels", 1);
  __Pyx_TraceCall("cuLibraryEnumerateKernels", __pyx_f[1], 19266, 0, __PYX_ERR(1, 19266, __pyx_L1_error));

  /* "cuda/cuda.pyx":19293
 *     """
 *     cdef ccuda.CUlibrary clib
 *     if lib is None:             # <<<<<<<<<<<<<<
 *         clib = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(lib, (CUlibrary,)):
 */
  __pyx_t_1 = (__pyx_v_lib == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19294
 *     cdef ccuda.CUlibrary clib
 *     if lib is None:
 *         clib = <ccuda.CUlibrary><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(lib, (CUlibrary,)):
 *         plib = int(lib)
 */
    __pyx_v_clib = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":19293
 *     """
 *     cdef ccuda.CUlibrary clib
 *     if lib is None:             # <<<<<<<<<<<<<<
 *         clib = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(lib, (CUlibrary,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19295
 *     if lib is None:
 *         clib = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(lib, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plib = int(lib)
 *         clib = <ccuda.CUlibrary><void_ptr>plib
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_lib, __pyx_ptype_4cuda_4cuda_CUlibrary); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19296
 *         clib = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(lib, (CUlibrary,)):
 *         plib = int(lib)             # <<<<<<<<<<<<<<
 *         clib = <ccuda.CUlibrary><void_ptr>plib
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_lib); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plib = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19297
 *     elif isinstance(lib, (CUlibrary,)):
 *         plib = int(lib)
 *         clib = <ccuda.CUlibrary><void_ptr>plib             # <<<<<<<<<<<<<<
 *     else:
 *         plib = int(CUlibrary(lib))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_plib); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19297, __pyx_L1_error)
    __pyx_v_clib = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":19295
 *     if lib is None:
 *         clib = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(lib, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plib = int(lib)
 *         clib = <ccuda.CUlibrary><void_ptr>plib
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19299
 *         clib = <ccuda.CUlibrary><void_ptr>plib
 *     else:
 *         plib = int(CUlibrary(lib))             # <<<<<<<<<<<<<<
 *         clib = <ccuda.CUlibrary><void_ptr>plib
 *     cdef ccuda.CUkernel* ckernels = NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlibrary), __pyx_v_lib); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19299, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19299, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plib = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":19300
 *     else:
 *         plib = int(CUlibrary(lib))
 *         clib = <ccuda.CUlibrary><void_ptr>plib             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUkernel* ckernels = NULL
 *     pykernels = []
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_plib); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19300, __pyx_L1_error)
    __pyx_v_clib = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":19301
 *         plib = int(CUlibrary(lib))
 *         clib = <ccuda.CUlibrary><void_ptr>plib
 *     cdef ccuda.CUkernel* ckernels = NULL             # <<<<<<<<<<<<<<
 *     pykernels = []
 *     if numKernels != 0:
 */
  __pyx_v_ckernels = NULL;

  /* "cuda/cuda.pyx":19302
 *         clib = <ccuda.CUlibrary><void_ptr>plib
 *     cdef ccuda.CUkernel* ckernels = NULL
 *     pykernels = []             # <<<<<<<<<<<<<<
 *     if numKernels != 0:
 *         ckernels = <ccuda.CUkernel*>calloc(numKernels, sizeof(ccuda.CUkernel))
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pykernels = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":19303
 *     cdef ccuda.CUkernel* ckernels = NULL
 *     pykernels = []
 *     if numKernels != 0:             # <<<<<<<<<<<<<<
 *         ckernels = <ccuda.CUkernel*>calloc(numKernels, sizeof(ccuda.CUkernel))
 *         if ckernels is NULL:
 */
  __pyx_t_1 = (__pyx_v_numKernels != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19304
 *     pykernels = []
 *     if numKernels != 0:
 *         ckernels = <ccuda.CUkernel*>calloc(numKernels, sizeof(ccuda.CUkernel))             # <<<<<<<<<<<<<<
 *         if ckernels is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numKernels) + 'x' + str(sizeof(ccuda.CUkernel)))
 */
    __pyx_v_ckernels = ((CUkernel *)calloc(__pyx_v_numKernels, (sizeof(CUkernel))));

    /* "cuda/cuda.pyx":19305
 *     if numKernels != 0:
 *         ckernels = <ccuda.CUkernel*>calloc(numKernels, sizeof(ccuda.CUkernel))
 *         if ckernels is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numKernels) + 'x' + str(sizeof(ccuda.CUkernel)))
 *     err = ccuda.cuLibraryEnumerateKernels(ckernels, numKernels, clib)
 */
    __pyx_t_1 = (__pyx_v_ckernels == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":19306
 *         ckernels = <ccuda.CUkernel*>calloc(numKernels, sizeof(ccuda.CUkernel))
 *         if ckernels is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numKernels) + 'x' + str(sizeof(ccuda.CUkernel)))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLibraryEnumerateKernels(ckernels, numKernels, clib)
 *     if CUresult(err) == CUresult(0):
 */
      __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numKernels); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19306, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19306, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19306, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19306, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUkernel))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19306, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 19306, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19306, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 19306, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(1, 19306, __pyx_L1_error)

      /* "cuda/cuda.pyx":19305
 *     if numKernels != 0:
 *         ckernels = <ccuda.CUkernel*>calloc(numKernels, sizeof(ccuda.CUkernel))
 *         if ckernels is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numKernels) + 'x' + str(sizeof(ccuda.CUkernel)))
 *     err = ccuda.cuLibraryEnumerateKernels(ckernels, numKernels, clib)
 */
    }

    /* "cuda/cuda.pyx":19303
 *     cdef ccuda.CUkernel* ckernels = NULL
 *     pykernels = []
 *     if numKernels != 0:             # <<<<<<<<<<<<<<
 *         ckernels = <ccuda.CUkernel*>calloc(numKernels, sizeof(ccuda.CUkernel))
 *         if ckernels is NULL:
 */
  }

  /* "cuda/cuda.pyx":19307
 *         if ckernels is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numKernels) + 'x' + str(sizeof(ccuda.CUkernel)))
 *     err = ccuda.cuLibraryEnumerateKernels(ckernels, numKernels, clib)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pykernels = [CUkernel(init_value=<void_ptr>ckernels[idx]) for idx in range(numKernels)]
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuLibraryEnumerateKernels(__pyx_v_ckernels, __pyx_v_numKernels, __pyx_v_clib); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19307, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":19308
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numKernels) + 'x' + str(sizeof(ccuda.CUkernel)))
 *     err = ccuda.cuLibraryEnumerateKernels(ckernels, numKernels, clib)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pykernels = [CUkernel(init_value=<void_ptr>ckernels[idx]) for idx in range(numKernels)]
 *     if ckernels is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 19308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19308, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 19308, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19309
 *     err = ccuda.cuLibraryEnumerateKernels(ckernels, numKernels, clib)
 *     if CUresult(err) == CUresult(0):
 *         pykernels = [CUkernel(init_value=<void_ptr>ckernels[idx]) for idx in range(numKernels)]             # <<<<<<<<<<<<<<
 *     if ckernels is not NULL:
 *         free(ckernels)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19309, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_9 = __pyx_v_numKernels;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr124__pyx_v_idx = __pyx_t_11;
        __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19309, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_ckernels[__pyx_10genexpr124__pyx_v_idx]))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 19309, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_init_value, __pyx_t_5) < 0) __PYX_ERR(1, 19309, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUkernel), __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 19309, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 19309, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pykernels, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19308
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(numKernels) + 'x' + str(sizeof(ccuda.CUkernel)))
 *     err = ccuda.cuLibraryEnumerateKernels(ckernels, numKernels, clib)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pykernels = [CUkernel(init_value=<void_ptr>ckernels[idx]) for idx in range(numKernels)]
 *     if ckernels is not NULL:
 */
  }

  /* "cuda/cuda.pyx":19310
 *     if CUresult(err) == CUresult(0):
 *         pykernels = [CUkernel(init_value=<void_ptr>ckernels[idx]) for idx in range(numKernels)]
 *     if ckernels is not NULL:             # <<<<<<<<<<<<<<
 *         free(ckernels)
 *     return (CUresult(err), pykernels)
 */
  __pyx_t_1 = (__pyx_v_ckernels != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19311
 *         pykernels = [CUkernel(init_value=<void_ptr>ckernels[idx]) for idx in range(numKernels)]
 *     if ckernels is not NULL:
 *         free(ckernels)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pykernels)
 * 
 */
    free(__pyx_v_ckernels);

    /* "cuda/cuda.pyx":19310
 *     if CUresult(err) == CUresult(0):
 *         pykernels = [CUkernel(init_value=<void_ptr>ckernels[idx]) for idx in range(numKernels)]
 *     if ckernels is not NULL:             # <<<<<<<<<<<<<<
 *         free(ckernels)
 *     return (CUresult(err), pykernels)
 */
  }

  /* "cuda/cuda.pyx":19312
 *     if ckernels is not NULL:
 *         free(ckernels)
 *     return (CUresult(err), pykernels)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 19312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 19312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 19312, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pykernels);
  __Pyx_GIVEREF(__pyx_v_pykernels);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_pykernels)) __PYX_ERR(1, 19312, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":19266
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19314
 *     return (CUresult(err), pykernels)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetModule(library):
 *     """ Returns a module handle.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_147cuLibraryGetModule(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_146cuLibraryGetModule, "cuLibraryGetModule(library)\n Returns a module handle.\n\n    Returns in `pMod` the module handle associated with the current context\n    located in library `library`. If module handle is not found, the call\n    returns :py:obj:`~.CUDA_ERROR_NOT_FOUND`.\n\n    Parameters\n    ----------\n    library : :py:obj:`~.CUlibrary`\n        Library to retrieve module from\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_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`\n    pMod : :py:obj:`~.CUmodule`\n        Returned module handle\n\n    See Also\n    --------\n    :py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuModuleGetFunction`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_147cuLibraryGetModule = {"cuLibraryGetModule", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_147cuLibraryGetModule, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_146cuLibraryGetModule};
static PyObject *__pyx_pw_4cuda_4cuda_147cuLibraryGetModule(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_library,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_library)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19314, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLibraryGetModule") < 0)) __PYX_ERR(1, 19314, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_library = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryGetModule", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 19314, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLibraryGetModule", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_146cuLibraryGetModule(__pyx_self, __pyx_v_library);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_146cuLibraryGetModule(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library) {
  CUlibrary __pyx_v_clibrary;
  PyObject *__pyx_v_plibrary = NULL;
  struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_pMod = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__558)
  __Pyx_RefNannySetupContext("cuLibraryGetModule", 1);
  __Pyx_TraceCall("cuLibraryGetModule", __pyx_f[1], 19314, 0, __PYX_ERR(1, 19314, __pyx_L1_error));

  /* "cuda/cuda.pyx":19339
 *     """
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 */
  __pyx_t_1 = (__pyx_v_library == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19340
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
 */
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":19339
 *     """
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19341
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_library, __pyx_ptype_4cuda_4cuda_CUlibrary); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19342
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19343
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     else:
 *         plibrary = int(CUlibrary(library))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19343, __pyx_L1_error)
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":19341
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19345
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     else:
 *         plibrary = int(CUlibrary(library))             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     cdef CUmodule pMod = CUmodule()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlibrary), __pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19345, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19345, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":19346
 *     else:
 *         plibrary = int(CUlibrary(library))
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     cdef CUmodule pMod = CUmodule()
 *     err = ccuda.cuLibraryGetModule(<ccuda.CUmodule*>pMod._ptr, clibrary)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19346, __pyx_L1_error)
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":19347
 *         plibrary = int(CUlibrary(library))
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     cdef CUmodule pMod = CUmodule()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLibraryGetModule(<ccuda.CUmodule*>pMod._ptr, clibrary)
 *     return (CUresult(err), pMod)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmodule)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pMod = ((struct __pyx_obj_4cuda_4cuda_CUmodule *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":19348
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     cdef CUmodule pMod = CUmodule()
 *     err = ccuda.cuLibraryGetModule(<ccuda.CUmodule*>pMod._ptr, clibrary)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pMod)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuLibraryGetModule(((CUmodule *)__pyx_v_pMod->_ptr), __pyx_v_clibrary); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19348, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":19349
 *     cdef CUmodule pMod = CUmodule()
 *     err = ccuda.cuLibraryGetModule(<ccuda.CUmodule*>pMod._ptr, clibrary)
 *     return (CUresult(err), pMod)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 19349, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pMod);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pMod);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pMod))) __PYX_ERR(1, 19349, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":19314
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19351
 *     return (CUresult(err), pMod)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetFunction(kernel):
 *     """ Returns a function handle.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_149cuKernelGetFunction(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_148cuKernelGetFunction, "cuKernelGetFunction(kernel)\n Returns a function handle.\n\n    Returns in `pFunc` the handle of the function for the requested kernel\n    `kernel` and the current context. If function handle is not found, the\n    call returns :py:obj:`~.CUDA_ERROR_NOT_FOUND`.\n\n    Parameters\n    ----------\n    kernel : :py:obj:`~.CUkernel`\n        Kernel to retrieve function for the requested context\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_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`\n    pFunc : :py:obj:`~.CUfunction`\n        Returned function handle\n\n    See Also\n    --------\n    :py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuLibraryGetKernel`, :py:obj:`~.cuLibraryGetModule`, :py:obj:`~.cuModuleGetFunction`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_149cuKernelGetFunction = {"cuKernelGetFunction", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_149cuKernelGetFunction, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_148cuKernelGetFunction};
static PyObject *__pyx_pw_4cuda_4cuda_149cuKernelGetFunction(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_kernel_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_kernel_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19351, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuKernelGetFunction") < 0)) __PYX_ERR(1, 19351, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_kernel = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuKernelGetFunction", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 19351, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuKernelGetFunction", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_148cuKernelGetFunction(__pyx_self, __pyx_v_kernel);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_148cuKernelGetFunction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kernel) {
  CUkernel __pyx_v_ckernel;
  PyObject *__pyx_v_pkernel = NULL;
  struct __pyx_obj_4cuda_4cuda_CUfunction *__pyx_v_pFunc = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__559)
  __Pyx_RefNannySetupContext("cuKernelGetFunction", 1);
  __Pyx_TraceCall("cuKernelGetFunction", __pyx_f[1], 19351, 0, __PYX_ERR(1, 19351, __pyx_L1_error));

  /* "cuda/cuda.pyx":19376
 *     """
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):
 */
  __pyx_t_1 = (__pyx_v_kernel == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19377
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:
 *         ckernel = <ccuda.CUkernel><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)
 */
    __pyx_v_ckernel = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":19376
 *     """
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19378
 *     if kernel is None:
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_kernel, __pyx_ptype_4cuda_4cuda_CUkernel); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19379
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_kernel); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19379, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pkernel = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19380
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     else:
 *         pkernel = int(CUkernel(kernel))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19380, __pyx_L1_error)
    __pyx_v_ckernel = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":19378
 *     if kernel is None:
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19382
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     else:
 *         pkernel = int(CUkernel(kernel))             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     cdef CUfunction pFunc = CUfunction()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUkernel), __pyx_v_kernel); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19382, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19382, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pkernel = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":19383
 *     else:
 *         pkernel = int(CUkernel(kernel))
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     cdef CUfunction pFunc = CUfunction()
 *     err = ccuda.cuKernelGetFunction(<ccuda.CUfunction*>pFunc._ptr, ckernel)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19383, __pyx_L1_error)
    __pyx_v_ckernel = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":19384
 *         pkernel = int(CUkernel(kernel))
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     cdef CUfunction pFunc = CUfunction()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuKernelGetFunction(<ccuda.CUfunction*>pFunc._ptr, ckernel)
 *     return (CUresult(err), pFunc)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pFunc = ((struct __pyx_obj_4cuda_4cuda_CUfunction *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":19385
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     cdef CUfunction pFunc = CUfunction()
 *     err = ccuda.cuKernelGetFunction(<ccuda.CUfunction*>pFunc._ptr, ckernel)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pFunc)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuKernelGetFunction(((CUfunction *)__pyx_v_pFunc->_ptr), __pyx_v_ckernel); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19385, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":19386
 *     cdef CUfunction pFunc = CUfunction()
 *     err = ccuda.cuKernelGetFunction(<ccuda.CUfunction*>pFunc._ptr, ckernel)
 *     return (CUresult(err), pFunc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 19386, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pFunc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pFunc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pFunc))) __PYX_ERR(1, 19386, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":19351
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19388
 *     return (CUresult(err), pFunc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetGlobal(library, char* name):
 *     """ Returns a global device pointer.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_151cuLibraryGetGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_150cuLibraryGetGlobal, "cuLibraryGetGlobal(library, char *name)\n Returns a global device pointer.\n\n    Returns in `*dptr` and `*bytes` the base pointer and size of the global\n    with name `name` for the requested library `library` and the current\n    context. If no global for the requested name `name` exists, the call\n    returns :py:obj:`~.CUDA_ERROR_NOT_FOUND`. One of the parameters `dptr`\n    or `numbytes` (not both) can be NULL in which case it is ignored.\n\n    Parameters\n    ----------\n    library : :py:obj:`~.CUlibrary`\n        Library to retrieve global from\n    name : bytes\n        Name of global to retrieve\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_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`\n    dptr : :py:obj:`~.CUdeviceptr`\n        Returned global device pointer for the requested context\n    numbytes : int\n        Returned global size in bytes\n\n    See Also\n    --------\n    :py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`, :py:obj:`~.cuLibraryGetModule`, :py:obj:`~.cuModuleGetGlobal`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_151cuLibraryGetGlobal = {"cuLibraryGetGlobal", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_151cuLibraryGetGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_150cuLibraryGetGlobal};
static PyObject *__pyx_pw_4cuda_4cuda_151cuLibraryGetGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_library,&__pyx_n_s_name_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_library)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19388, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19388, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLibraryGetGlobal", 1, 2, 2, 1); __PYX_ERR(1, 19388, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLibraryGetGlobal") < 0)) __PYX_ERR(1, 19388, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_library = values[0];
    __pyx_v_name = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(1, 19389, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryGetGlobal", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 19388, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLibraryGetGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_150cuLibraryGetGlobal(__pyx_self, __pyx_v_library, __pyx_v_name);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_150cuLibraryGetGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library, char *__pyx_v_name) {
  CUlibrary __pyx_v_clibrary;
  PyObject *__pyx_v_plibrary = NULL;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_dptr = 0;
  size_t __pyx_v_numbytes;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__560)
  __Pyx_RefNannySetupContext("cuLibraryGetGlobal", 1);
  __Pyx_TraceCall("cuLibraryGetGlobal", __pyx_f[1], 19388, 0, __PYX_ERR(1, 19388, __pyx_L1_error));

  /* "cuda/cuda.pyx":19419
 *     """
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 */
  __pyx_t_1 = (__pyx_v_library == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19420
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
 */
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":19419
 *     """
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19421
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_library, __pyx_ptype_4cuda_4cuda_CUlibrary); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19422
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19422, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19423
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     else:
 *         plibrary = int(CUlibrary(library))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19423, __pyx_L1_error)
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":19421
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19425
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     else:
 *         plibrary = int(CUlibrary(library))             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlibrary), __pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":19426
 *     else:
 *         plibrary = int(CUlibrary(library))
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19426, __pyx_L1_error)
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":19427
 *         plibrary = int(CUlibrary(library))
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     cdef CUdeviceptr dptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     cdef size_t numbytes = 0
 *     err = ccuda.cuLibraryGetGlobal(<ccuda.CUdeviceptr*>dptr._ptr, &numbytes, clibrary, name)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_dptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":19428
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLibraryGetGlobal(<ccuda.CUdeviceptr*>dptr._ptr, &numbytes, clibrary, name)
 *     return (CUresult(err), dptr, numbytes)
 */
  __pyx_v_numbytes = 0;

  /* "cuda/cuda.pyx":19429
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
 *     err = ccuda.cuLibraryGetGlobal(<ccuda.CUdeviceptr*>dptr._ptr, &numbytes, clibrary, name)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), dptr, numbytes)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuLibraryGetGlobal(((CUdeviceptr *)__pyx_v_dptr->_ptr), (&__pyx_v_numbytes), __pyx_v_clibrary, __pyx_v_name); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19429, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":19430
 *     cdef size_t numbytes = 0
 *     err = ccuda.cuLibraryGetGlobal(<ccuda.CUdeviceptr*>dptr._ptr, &numbytes, clibrary, name)
 *     return (CUresult(err), dptr, numbytes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19430, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_numbytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19430, __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)) __PYX_ERR(1, 19430, __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))) __PYX_ERR(1, 19430, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_2)) __PYX_ERR(1, 19430, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":19388
 *     return (CUresult(err), pFunc)
 * 
 * @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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19432
 *     return (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_4cuda_153cuLibraryGetManaged(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_152cuLibraryGetManaged, "cuLibraryGetManaged(library, char *name)\n Returns a pointer to managed memory.\n\n    Returns in `*dptr` and `*bytes` the base pointer and size of the\n    managed memory with name `name` for the requested library `library`. If\n    no managed memory with the requested name `name` exists, the call\n    returns :py:obj:`~.CUDA_ERROR_NOT_FOUND`. One of the parameters `dptr`\n    or `numbytes` (not both) can be NULL in which case it is ignored. Note\n    that managed memory for library `library` is shared across devices and\n    is registered when the library is loaded into atleast one context.\n\n    Parameters\n    ----------\n    library : :py:obj:`~.CUlibrary`\n        Library to retrieve managed memory from\n    name : bytes\n        Name of managed memory to retrieve\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\n    dptr : :py:obj:`~.CUdeviceptr`\n        Returned pointer to the managed memory\n    numbytes : int\n        Returned memory size in bytes\n\n    See Also\n    --------\n    :py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`\n\n    Notes\n    -----\n    The API requires a CUDA context to be present and initialized on at least one device. If no context is present, the call returns :py:obj:`~.CUDA_ERROR_NOT_FOUND`.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_153cuLibraryGetManaged = {"cuLibraryGetManaged", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_153cuLibraryGetManaged, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_152cuLibraryGetManaged};
static PyObject *__pyx_pw_4cuda_4cuda_153cuLibraryGetManaged(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_library,&__pyx_n_s_name_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_library)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19432, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19432, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLibraryGetManaged", 1, 2, 2, 1); __PYX_ERR(1, 19432, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLibraryGetManaged") < 0)) __PYX_ERR(1, 19432, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_library = values[0];
    __pyx_v_name = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) __PYX_ERR(1, 19433, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryGetManaged", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 19432, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLibraryGetManaged", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_152cuLibraryGetManaged(__pyx_self, __pyx_v_library, __pyx_v_name);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_152cuLibraryGetManaged(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library, char *__pyx_v_name) {
  CUlibrary __pyx_v_clibrary;
  PyObject *__pyx_v_plibrary = NULL;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_dptr = 0;
  size_t __pyx_v_numbytes;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__561)
  __Pyx_RefNannySetupContext("cuLibraryGetManaged", 1);
  __Pyx_TraceCall("cuLibraryGetManaged", __pyx_f[1], 19432, 0, __PYX_ERR(1, 19432, __pyx_L1_error));

  /* "cuda/cuda.pyx":19469
 *     """
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 */
  __pyx_t_1 = (__pyx_v_library == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19470
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
 */
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":19469
 *     """
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19471
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_library, __pyx_ptype_4cuda_4cuda_CUlibrary); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19472
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19473
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     else:
 *         plibrary = int(CUlibrary(library))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19473, __pyx_L1_error)
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":19471
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19475
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     else:
 *         plibrary = int(CUlibrary(library))             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlibrary), __pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":19476
 *     else:
 *         plibrary = int(CUlibrary(library))
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19476, __pyx_L1_error)
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":19477
 *         plibrary = int(CUlibrary(library))
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     cdef CUdeviceptr dptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     cdef size_t numbytes = 0
 *     err = ccuda.cuLibraryGetManaged(<ccuda.CUdeviceptr*>dptr._ptr, &numbytes, clibrary, name)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_dptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":19478
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLibraryGetManaged(<ccuda.CUdeviceptr*>dptr._ptr, &numbytes, clibrary, name)
 *     return (CUresult(err), dptr, numbytes)
 */
  __pyx_v_numbytes = 0;

  /* "cuda/cuda.pyx":19479
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t numbytes = 0
 *     err = ccuda.cuLibraryGetManaged(<ccuda.CUdeviceptr*>dptr._ptr, &numbytes, clibrary, name)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), dptr, numbytes)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuLibraryGetManaged(((CUdeviceptr *)__pyx_v_dptr->_ptr), (&__pyx_v_numbytes), __pyx_v_clibrary, __pyx_v_name); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19479, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":19480
 *     cdef size_t numbytes = 0
 *     err = ccuda.cuLibraryGetManaged(<ccuda.CUdeviceptr*>dptr._ptr, &numbytes, clibrary, name)
 *     return (CUresult(err), dptr, numbytes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_numbytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19480, __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)) __PYX_ERR(1, 19480, __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))) __PYX_ERR(1, 19480, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_2)) __PYX_ERR(1, 19480, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":19432
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19482
 *     return (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_4cuda_155cuLibraryGetUnifiedFunction(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_154cuLibraryGetUnifiedFunction, "cuLibraryGetUnifiedFunction(library, char *symbol)\n Returns a pointer to a unified function.\n\n    Returns in `*fptr` the function pointer to a unified function denoted\n    by `symbol`. If no unified function with name `symbol` exists, the call\n    returns :py:obj:`~.CUDA_ERROR_NOT_FOUND`. If there is no device with\n    attribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS`\n    present in the system, the call may return\n    :py:obj:`~.CUDA_ERROR_NOT_FOUND`.\n\n    Parameters\n    ----------\n    library : :py:obj:`~.CUlibrary`\n        Library to retrieve function pointer memory from\n    symbol : bytes\n        Name of function pointer to retrieve\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\n    fptr : Any\n        Returned pointer to a unified function\n\n    See Also\n    --------\n    :py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :py:obj:`~.cuLibraryUnload`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_155cuLibraryGetUnifiedFunction = {"cuLibraryGetUnifiedFunction", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_155cuLibraryGetUnifiedFunction, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_154cuLibraryGetUnifiedFunction};
static PyObject *__pyx_pw_4cuda_4cuda_155cuLibraryGetUnifiedFunction(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_library,&__pyx_n_s_symbol,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_library)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19482, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_symbol)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19482, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLibraryGetUnifiedFunction", 1, 2, 2, 1); __PYX_ERR(1, 19482, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLibraryGetUnifiedFunction") < 0)) __PYX_ERR(1, 19482, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_library = values[0];
    __pyx_v_symbol = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_symbol) && PyErr_Occurred())) __PYX_ERR(1, 19483, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLibraryGetUnifiedFunction", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 19482, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLibraryGetUnifiedFunction", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_154cuLibraryGetUnifiedFunction(__pyx_self, __pyx_v_library, __pyx_v_symbol);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_154cuLibraryGetUnifiedFunction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_library, char *__pyx_v_symbol) {
  CUlibrary __pyx_v_clibrary;
  PyObject *__pyx_v_plibrary = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_fptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__562)
  __Pyx_RefNannySetupContext("cuLibraryGetUnifiedFunction", 1);
  __Pyx_TraceCall("cuLibraryGetUnifiedFunction", __pyx_f[1], 19482, 0, __PYX_ERR(1, 19482, __pyx_L1_error));

  /* "cuda/cuda.pyx":19512
 *     """
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 */
  __pyx_t_1 = (__pyx_v_library == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19513
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
 */
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":19512
 *     """
 *     cdef ccuda.CUlibrary clibrary
 *     if library is None:             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19514
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_library, __pyx_ptype_4cuda_4cuda_CUlibrary); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19515
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_plibrary = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19516
 *     elif isinstance(library, (CUlibrary,)):
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     else:
 *         plibrary = int(CUlibrary(library))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19516, __pyx_L1_error)
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":19514
 *     if library is None:
 *         clibrary = <ccuda.CUlibrary><void_ptr>0
 *     elif isinstance(library, (CUlibrary,)):             # <<<<<<<<<<<<<<
 *         plibrary = int(library)
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19518
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     else:
 *         plibrary = int(CUlibrary(library))             # <<<<<<<<<<<<<<
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     cdef void_ptr fptr = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUlibrary), __pyx_v_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19518, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19518, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_plibrary = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":19519
 *     else:
 *         plibrary = int(CUlibrary(library))
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary             # <<<<<<<<<<<<<<
 *     cdef void_ptr fptr = 0
 *     err = ccuda.cuLibraryGetUnifiedFunction(<void**>&fptr, clibrary, symbol)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_plibrary); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19519, __pyx_L1_error)
    __pyx_v_clibrary = ((CUlibrary)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":19520
 *         plibrary = int(CUlibrary(library))
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     cdef void_ptr fptr = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLibraryGetUnifiedFunction(<void**>&fptr, clibrary, symbol)
 *     return (CUresult(err), fptr)
 */
  __pyx_v_fptr = 0;

  /* "cuda/cuda.pyx":19521
 *         clibrary = <ccuda.CUlibrary><void_ptr>plibrary
 *     cdef void_ptr fptr = 0
 *     err = ccuda.cuLibraryGetUnifiedFunction(<void**>&fptr, clibrary, symbol)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), fptr)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuLibraryGetUnifiedFunction(((void **)(&__pyx_v_fptr)), __pyx_v_clibrary, __pyx_v_symbol); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19521, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":19522
 *     cdef void_ptr fptr = 0
 *     err = ccuda.cuLibraryGetUnifiedFunction(<void**>&fptr, clibrary, symbol)
 *     return (CUresult(err), fptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_fptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19522, __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)) __PYX_ERR(1, 19522, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 19522, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":19482
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuLibraryGetUnifiedFunction", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_plibrary);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19524
 *     return (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_4cuda_157cuKernelGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_156cuKernelGetAttribute, "cuKernelGetAttribute(attrib: CUfunction_attribute, kernel, dev)\n Returns information about a kernel.\n\n    Returns in `*pi` the integer value of the attribute `attrib` for the\n    kernel `kernel` for the requested device `dev`. The supported\n    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 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 attri""bute 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\n    Parameters\n    ----------\n    attrib : :py:obj:`~.CUfunction_attribute`\n        Attribute requested\n    kernel : :py:obj:`~.CUkernel`\n        Kernel to query attribute of\n    dev : :py:obj:`~.CUdevice`\n        Device to query attribute of\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_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    pi : int\n        Returned attribute value\n\n    See 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\n    Notes\n    -----\n    If 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.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_157cuKernelGetAttribute = {"cuKernelGetAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_157cuKernelGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_156cuKernelGetAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_157cuKernelGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_attrib,&__pyx_n_s_kernel_2,&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attrib)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19524, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_kernel_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19524, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuKernelGetAttribute", 1, 3, 3, 1); __PYX_ERR(1, 19524, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19524, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuKernelGetAttribute", 1, 3, 3, 2); __PYX_ERR(1, 19524, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuKernelGetAttribute") < 0)) __PYX_ERR(1, 19524, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __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(1, 19524, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 19525, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_156cuKernelGetAttribute(__pyx_self, __pyx_v_attrib, __pyx_v_kernel, __pyx_v_dev);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_156cuKernelGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_kernel, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  CUkernel __pyx_v_ckernel;
  PyObject *__pyx_v_pkernel = NULL;
  int __pyx_v_pi;
  CUfunction_attribute __pyx_v_cattrib;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  CUfunction_attribute __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__563)
  __Pyx_RefNannySetupContext("cuKernelGetAttribute", 1);
  __Pyx_TraceCall("cuKernelGetAttribute", __pyx_f[1], 19524, 0, __PYX_ERR(1, 19524, __pyx_L1_error));

  /* "cuda/cuda.pyx":19633
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19634
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":19633
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19635
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19636
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19636, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19637
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 19637, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":19635
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19639
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUkernel ckernel
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":19640
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 19640, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":19642
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):
 */
  __pyx_t_1 = (__pyx_v_kernel == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19643
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:
 *         ckernel = <ccuda.CUkernel><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)
 */
    __pyx_v_ckernel = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":19642
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":19644
 *     if kernel is None:
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_kernel, __pyx_ptype_4cuda_4cuda_CUkernel); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19645
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_kernel); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pkernel = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":19646
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     else:
 *         pkernel = int(CUkernel(kernel))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19646, __pyx_L1_error)
    __pyx_v_ckernel = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":19644
 *     if kernel is None:
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":19648
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     else:
 *         pkernel = int(CUkernel(kernel))             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     cdef int pi = 0
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUkernel), __pyx_v_kernel); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19648, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19648, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pkernel = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19649
 *     else:
 *         pkernel = int(CUkernel(kernel))
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     cdef int pi = 0
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19649, __pyx_L1_error)
    __pyx_v_ckernel = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":19650
 *         pkernel = int(CUkernel(kernel))
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     cdef int pi = 0             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value
 *     err = ccuda.cuKernelGetAttribute(&pi, cattrib, ckernel, cdev)
 */
  __pyx_v_pi = 0;

  /* "cuda/cuda.pyx":19651
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     cdef int pi = 0
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuKernelGetAttribute(&pi, cattrib, ckernel, cdev)
 *     return (CUresult(err), pi)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_n_s_value_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = ((enum CUfunction_attribute_enum)__Pyx_PyInt_As_enum__CUfunction_attribute_enum(__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19651, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cattrib = __pyx_t_6;

  /* "cuda/cuda.pyx":19652
 *     cdef int pi = 0
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value
 *     err = ccuda.cuKernelGetAttribute(&pi, cattrib, ckernel, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pi)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuKernelGetAttribute((&__pyx_v_pi), __pyx_v_cattrib, __pyx_v_ckernel, __pyx_v_cdev); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19652, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":19653
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value
 *     err = ccuda.cuKernelGetAttribute(&pi, cattrib, ckernel, cdev)
 *     return (CUresult(err), pi)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 19653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  __pyx_t_10 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_10 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_8};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_pi); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 19653, __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)) __PYX_ERR(1, 19653, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_4)) __PYX_ERR(1, 19653, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":19524
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19655
 *     return (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_4cuda_159cuKernelSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_158cuKernelSetAttribute, "cuKernelSetAttribute(attrib: CUfunction_attribute, int val, kernel, dev)\n Sets information about a kernel.\n\n    This call sets the value of a specified attribute `attrib` on the\n    kernel `kernel` for the requested device `dev` to an integer value\n    specified by `val`. This function returns CUDA_SUCCESS if the new value\n    of the attribute could be successfully set. If the set fails, this call\n    will return an error. Not all attributes can have values set.\n    Attempting to set a value on a read-only attribute will result in an\n    error (CUDA_ERROR_INVALID_VALUE)\n\n    Note that attributes set using :py:obj:`~.cuFuncSetAttribute()` will\n    override the attribute set by this API irrespective of whether the call\n    to :py:obj:`~.cuFuncSetAttribute()` is made before or after this API\n    call. However, :py:obj:`~.cuKernelGetAttribute()` will always return\n    the attribute value set by this API.\n\n    Supported 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, 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_CLUSTER_SCHEDULING_POLICY_PREFERENCE`:\n      The block scheduling policy of a function. The value type is\n      CUclusterSchedulingPolicy.\n\n    Parameters\n    ----------\n    attrib : :py:obj:`~.CUfunction_attribute`\n        Attribute requested\n    val : int\n        Value to set\n    kernel : :py:obj:`~.CUkernel`\n        Kernel to set attribute of\n    dev : :py:obj:`~.CUdevice`\n        Device to set attribute of\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_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMOR""Y`\n\n    See Also\n    --------\n    :py:obj:`~.cuLibraryLoadData`, :py:obj:`~.cuLibraryLoadFromFile`, :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\n    Notes\n    -----\n    The 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.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_159cuKernelSetAttribute = {"cuKernelSetAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_159cuKernelSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_158cuKernelSetAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_159cuKernelSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_attrib,&__pyx_n_s_val_2,&__pyx_n_s_kernel_2,&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attrib)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19655, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_val_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19655, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuKernelSetAttribute", 1, 4, 4, 1); __PYX_ERR(1, 19655, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_kernel_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19655, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuKernelSetAttribute", 1, 4, 4, 2); __PYX_ERR(1, 19655, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19655, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuKernelSetAttribute", 1, 4, 4, 3); __PYX_ERR(1, 19655, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuKernelSetAttribute") < 0)) __PYX_ERR(1, 19655, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_attrib = values[0];
    __pyx_v_val = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_val == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 19656, __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(1, 19655, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 19656, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_158cuKernelSetAttribute(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_158cuKernelSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, int __pyx_v_val, PyObject *__pyx_v_kernel, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  CUkernel __pyx_v_ckernel;
  PyObject *__pyx_v_pkernel = NULL;
  CUfunction_attribute __pyx_v_cattrib;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  CUfunction_attribute __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__564)
  __Pyx_RefNannySetupContext("cuKernelSetAttribute", 1);
  __Pyx_TraceCall("cuKernelSetAttribute", __pyx_f[1], 19655, 0, __PYX_ERR(1, 19655, __pyx_L1_error));

  /* "cuda/cuda.pyx":19743
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19744
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":19743
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19745
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19746
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19747
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 19747, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":19745
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19749
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUkernel ckernel
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":19750
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 19750, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":19752
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):
 */
  __pyx_t_1 = (__pyx_v_kernel == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19753
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:
 *         ckernel = <ccuda.CUkernel><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)
 */
    __pyx_v_ckernel = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":19752
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":19754
 *     if kernel is None:
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_kernel, __pyx_ptype_4cuda_4cuda_CUkernel); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19755
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_kernel); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pkernel = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":19756
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     else:
 *         pkernel = int(CUkernel(kernel))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19756, __pyx_L1_error)
    __pyx_v_ckernel = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":19754
 *     if kernel is None:
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":19758
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     else:
 *         pkernel = int(CUkernel(kernel))             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUkernel), __pyx_v_kernel); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pkernel = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19759
 *     else:
 *         pkernel = int(CUkernel(kernel))
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value
 *     err = ccuda.cuKernelSetAttribute(cattrib, val, ckernel, cdev)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19759, __pyx_L1_error)
    __pyx_v_ckernel = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":19760
 *         pkernel = int(CUkernel(kernel))
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuKernelSetAttribute(cattrib, val, ckernel, cdev)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_n_s_value_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19760, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = ((enum CUfunction_attribute_enum)__Pyx_PyInt_As_enum__CUfunction_attribute_enum(__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19760, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cattrib = __pyx_t_6;

  /* "cuda/cuda.pyx":19761
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value
 *     err = ccuda.cuKernelSetAttribute(cattrib, val, ckernel, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuKernelSetAttribute(__pyx_v_cattrib, __pyx_v_val, __pyx_v_ckernel, __pyx_v_cdev); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19761, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":19762
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value
 *     err = ccuda.cuKernelSetAttribute(cattrib, val, ckernel, cdev)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 19762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  __pyx_t_10 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_10 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_8};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 19762, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":19655
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19764
 *     return (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_4cuda_161cuKernelSetCacheConfig(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_160cuKernelSetCacheConfig, "cuKernelSetCacheConfig(kernel, config: CUfunc_cache, dev)\n Sets the preferred cache configuration for a device kernel.\n\n    On devices where the L1 cache and shared memory use the same hardware\n    resources, this sets through `config` the preferred cache configuration\n    for the device kernel `kernel` on the requested device `dev`. This is\n    only a preference. The driver will use the requested configuration if\n    possible, but it is free to choose a different configuration if\n    required to execute `kernel`. Any context-wide preference set via\n    :py:obj:`~.cuCtxSetCacheConfig()` will be overridden by this per-kernel\n    setting.\n\n    Note that attributes set using :py:obj:`~.cuFuncSetCacheConfig()` will\n    override the attribute set by this API irrespective of whether the call\n    to :py:obj:`~.cuFuncSetCacheConfig()` is made before or after this API\n    call.\n\n    This setting does nothing on devices where the size of the L1 cache and\n    shared memory are fixed.\n\n    Launching a kernel with a different preference than the most recent\n    preference setting may insert a device-side synchronization point.\n\n    The 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\n    Parameters\n    ----------\n    kernel : :py:obj:`~.CUkernel`\n        Kernel to configure cache for\n    config : :py:obj:`~.CUfunc_cache`\n        Requested cache configuration\n    dev : :py:obj:`~.CUdevice`\n        Device to set attribute of\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ER""ROR_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\n    See 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\n    Notes\n    -----\n    The 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.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_161cuKernelSetCacheConfig = {"cuKernelSetCacheConfig", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_161cuKernelSetCacheConfig, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_160cuKernelSetCacheConfig};
static PyObject *__pyx_pw_4cuda_4cuda_161cuKernelSetCacheConfig(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_kernel_2,&__pyx_n_s_config,&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_kernel_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19764, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_config)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19764, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuKernelSetCacheConfig", 1, 3, 3, 1); __PYX_ERR(1, 19764, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19764, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuKernelSetCacheConfig", 1, 3, 3, 2); __PYX_ERR(1, 19764, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuKernelSetCacheConfig") < 0)) __PYX_ERR(1, 19764, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __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(1, 19764, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 19765, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_160cuKernelSetCacheConfig(__pyx_self, __pyx_v_kernel, __pyx_v_config, __pyx_v_dev);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_160cuKernelSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kernel, PyObject *__pyx_v_config, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  CUkernel __pyx_v_ckernel;
  PyObject *__pyx_v_pkernel = NULL;
  CUfunc_cache __pyx_v_cconfig;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  CUfunc_cache __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__565)
  __Pyx_RefNannySetupContext("cuKernelSetCacheConfig", 1);
  __Pyx_TraceCall("cuKernelSetCacheConfig", __pyx_f[1], 19764, 0, __PYX_ERR(1, 19764, __pyx_L1_error));

  /* "cuda/cuda.pyx":19825
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19826
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":19825
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19827
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19828
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19829
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 19829, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":19827
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19831
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUkernel ckernel
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19831, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":19832
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 19832, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":19834
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):
 */
  __pyx_t_1 = (__pyx_v_kernel == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19835
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:
 *         ckernel = <ccuda.CUkernel><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)
 */
    __pyx_v_ckernel = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":19834
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":19836
 *     if kernel is None:
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_kernel, __pyx_ptype_4cuda_4cuda_CUkernel); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19837
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_kernel); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pkernel = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":19838
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     else:
 *         pkernel = int(CUkernel(kernel))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19838, __pyx_L1_error)
    __pyx_v_ckernel = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":19836
 *     if kernel is None:
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":19840
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     else:
 *         pkernel = int(CUkernel(kernel))             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     cdef ccuda.CUfunc_cache cconfig = config.value
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUkernel), __pyx_v_kernel); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19840, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19840, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pkernel = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19841
 *     else:
 *         pkernel = int(CUkernel(kernel))
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfunc_cache cconfig = config.value
 *     err = ccuda.cuKernelSetCacheConfig(ckernel, cconfig, cdev)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19841, __pyx_L1_error)
    __pyx_v_ckernel = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":19842
 *         pkernel = int(CUkernel(kernel))
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     cdef ccuda.CUfunc_cache cconfig = config.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuKernelSetCacheConfig(ckernel, cconfig, cdev)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_config, __pyx_n_s_value_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = ((enum CUfunc_cache_enum)__Pyx_PyInt_As_enum__CUfunc_cache_enum(__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19842, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cconfig = __pyx_t_6;

  /* "cuda/cuda.pyx":19843
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     cdef ccuda.CUfunc_cache cconfig = config.value
 *     err = ccuda.cuKernelSetCacheConfig(ckernel, cconfig, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuKernelSetCacheConfig(__pyx_v_ckernel, __pyx_v_cconfig, __pyx_v_cdev); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19843, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":19844
 *     cdef ccuda.CUfunc_cache cconfig = config.value
 *     err = ccuda.cuKernelSetCacheConfig(ckernel, cconfig, cdev)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 19844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  __pyx_t_10 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_10 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_8};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19844, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 19844, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":19764
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19846
 *     return (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_4cuda_163cuKernelGetName(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_162cuKernelGetName, "cuKernelGetName(hfunc)\n Returns the function name for a :py:obj:`~.CUkernel` handle.\n\n    Returns in `**name` the function name associated with the kernel handle\n    `hfunc` . The function name is returned as a null-terminated string.\n    The returned name is only valid when the kernel handle is valid. If the\n    library is unloaded or reloaded, one must call the API again to get the\n    updated name. This API may return a mangled name if the function is not\n    declared as having C linkage. If either `**name` or `hfunc` is NULL,\n    :py:obj:`~.CUDA_ERROR_INVALID_VALUE` is returned.\n\n    Parameters\n    ----------\n    hfunc : :py:obj:`~.CUkernel`\n        The function handle to retrieve the name for\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    name : bytes\n        The returned name of the function\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_163cuKernelGetName = {"cuKernelGetName", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_163cuKernelGetName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_162cuKernelGetName};
static PyObject *__pyx_pw_4cuda_4cuda_163cuKernelGetName(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hfunc,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hfunc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19846, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuKernelGetName") < 0)) __PYX_ERR(1, 19846, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hfunc = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuKernelGetName", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 19846, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuKernelGetName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_162cuKernelGetName(__pyx_self, __pyx_v_hfunc);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_162cuKernelGetName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc) {
  CUkernel __pyx_v_chfunc;
  PyObject *__pyx_v_phfunc = NULL;
  char const *__pyx_v_name;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__566)
  __Pyx_RefNannySetupContext("cuKernelGetName", 1);
  __Pyx_TraceCall("cuKernelGetName", __pyx_f[1], 19846, 0, __PYX_ERR(1, 19846, __pyx_L1_error));

  /* "cuda/cuda.pyx":19871
 *     """
 *     cdef ccuda.CUkernel chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(hfunc, (CUkernel,)):
 */
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19872
 *     cdef ccuda.CUkernel chfunc
 *     if hfunc is None:
 *         chfunc = <ccuda.CUkernel><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUkernel,)):
 *         phfunc = int(hfunc)
 */
    __pyx_v_chfunc = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":19871
 *     """
 *     cdef ccuda.CUkernel chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(hfunc, (CUkernel,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19873
 *     if hfunc is None:
 *         chfunc = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(hfunc, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUkernel><void_ptr>phfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_ptype_4cuda_4cuda_CUkernel); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19874
 *         chfunc = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(hfunc, (CUkernel,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUkernel><void_ptr>phfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19875
 *     elif isinstance(hfunc, (CUkernel,)):
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUkernel><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUkernel(hfunc))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19875, __pyx_L1_error)
    __pyx_v_chfunc = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":19873
 *     if hfunc is None:
 *         chfunc = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(hfunc, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUkernel><void_ptr>phfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19877
 *         chfunc = <ccuda.CUkernel><void_ptr>phfunc
 *     else:
 *         phfunc = int(CUkernel(hfunc))             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUkernel><void_ptr>phfunc
 *     cdef const char* name = NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUkernel), __pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19877, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19877, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":19878
 *     else:
 *         phfunc = int(CUkernel(hfunc))
 *         chfunc = <ccuda.CUkernel><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef const char* name = NULL
 *     err = ccuda.cuKernelGetName(&name, chfunc)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19878, __pyx_L1_error)
    __pyx_v_chfunc = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":19879
 *         phfunc = int(CUkernel(hfunc))
 *         chfunc = <ccuda.CUkernel><void_ptr>phfunc
 *     cdef const char* name = NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuKernelGetName(&name, chfunc)
 *     return (CUresult(err), <bytes>name)
 */
  __pyx_v_name = NULL;

  /* "cuda/cuda.pyx":19880
 *         chfunc = <ccuda.CUkernel><void_ptr>phfunc
 *     cdef const char* name = NULL
 *     err = ccuda.cuKernelGetName(&name, chfunc)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), <bytes>name)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuKernelGetName((&__pyx_v_name), __pyx_v_chfunc); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19880, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":19881
 *     cdef const char* name = NULL
 *     err = ccuda.cuKernelGetName(&name, chfunc)
 *     return (CUresult(err), <bytes>name)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19881, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19881, __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)) __PYX_ERR(1, 19881, __pyx_L1_error);
  __Pyx_INCREF(((PyObject*)__pyx_t_2));
  __Pyx_GIVEREF(((PyObject*)__pyx_t_2));
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 19881, __pyx_L1_error);
  __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":19846
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuKernelGetName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19883
 *     return (CUresult(err), <bytes>name)
 * 
 * @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_4cuda_165cuKernelGetParamInfo(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_164cuKernelGetParamInfo, "cuKernelGetParamInfo(kernel, size_t paramIndex)\n Returns the offset and size of a kernel parameter in the device-side parameter layout.\n\n    Queries the kernel parameter at `paramIndex` into `kernel's` list of\n    parameters, and returns in `paramOffset` and `paramSize` the offset and\n    size, respectively, where the parameter will reside in the device-side\n    parameter layout. This information can be used to update kernel node\n    parameters from the device via\n    :py:obj:`~.cudaGraphKernelNodeSetParam()` and\n    :py:obj:`~.cudaGraphKernelNodeUpdatesApply()`. `paramIndex` must be\n    less than the number of parameters that `kernel` takes. `paramSize` can\n    be set to NULL if only the parameter offset is desired.\n\n    Parameters\n    ----------\n    kernel : :py:obj:`~.CUkernel`\n        The kernel to query\n    paramIndex : size_t\n        The parameter index to query\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n    paramOffset : int\n        Returns the offset into the device-side parameter layout at which\n        the parameter resides\n    paramSize : int\n        Optionally returns the size of the parameter in the device-side\n        parameter layout\n\n    See Also\n    --------\n    :py:obj:`~.cuFuncGetParamInfo`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_165cuKernelGetParamInfo = {"cuKernelGetParamInfo", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_165cuKernelGetParamInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_164cuKernelGetParamInfo};
static PyObject *__pyx_pw_4cuda_4cuda_165cuKernelGetParamInfo(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_kernel_2,&__pyx_n_s_paramIndex,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_kernel_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19883, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_paramIndex)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19883, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuKernelGetParamInfo", 1, 2, 2, 1); __PYX_ERR(1, 19883, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuKernelGetParamInfo") < 0)) __PYX_ERR(1, 19883, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_kernel = values[0];
    __pyx_v_paramIndex = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_paramIndex == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 19884, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuKernelGetParamInfo", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 19883, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuKernelGetParamInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_164cuKernelGetParamInfo(__pyx_self, __pyx_v_kernel, __pyx_v_paramIndex);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_164cuKernelGetParamInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kernel, size_t __pyx_v_paramIndex) {
  CUkernel __pyx_v_ckernel;
  PyObject *__pyx_v_pkernel = NULL;
  size_t __pyx_v_paramOffset;
  size_t __pyx_v_paramSize;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__567)
  __Pyx_RefNannySetupContext("cuKernelGetParamInfo", 1);
  __Pyx_TraceCall("cuKernelGetParamInfo", __pyx_f[1], 19883, 0, __PYX_ERR(1, 19883, __pyx_L1_error));

  /* "cuda/cuda.pyx":19920
 *     """
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):
 */
  __pyx_t_1 = (__pyx_v_kernel == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19921
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:
 *         ckernel = <ccuda.CUkernel><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)
 */
    __pyx_v_ckernel = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":19920
 *     """
 *     cdef ccuda.CUkernel ckernel
 *     if kernel is None:             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19922
 *     if kernel is None:
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_kernel, __pyx_ptype_4cuda_4cuda_CUkernel); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":19923
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_kernel); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19923, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pkernel = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":19924
 *     elif isinstance(kernel, (CUkernel,)):
 *         pkernel = int(kernel)
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     else:
 *         pkernel = int(CUkernel(kernel))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19924, __pyx_L1_error)
    __pyx_v_ckernel = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":19922
 *     if kernel is None:
 *         ckernel = <ccuda.CUkernel><void_ptr>0
 *     elif isinstance(kernel, (CUkernel,)):             # <<<<<<<<<<<<<<
 *         pkernel = int(kernel)
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":19926
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     else:
 *         pkernel = int(CUkernel(kernel))             # <<<<<<<<<<<<<<
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     cdef size_t paramOffset = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUkernel), __pyx_v_kernel); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19926, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19926, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pkernel = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":19927
 *     else:
 *         pkernel = int(CUkernel(kernel))
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel             # <<<<<<<<<<<<<<
 *     cdef size_t paramOffset = 0
 *     cdef size_t paramSize = 0
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pkernel); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 19927, __pyx_L1_error)
    __pyx_v_ckernel = ((CUkernel)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":19928
 *         pkernel = int(CUkernel(kernel))
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     cdef size_t paramOffset = 0             # <<<<<<<<<<<<<<
 *     cdef size_t paramSize = 0
 *     err = ccuda.cuKernelGetParamInfo(ckernel, paramIndex, &paramOffset, &paramSize)
 */
  __pyx_v_paramOffset = 0;

  /* "cuda/cuda.pyx":19929
 *         ckernel = <ccuda.CUkernel><void_ptr>pkernel
 *     cdef size_t paramOffset = 0
 *     cdef size_t paramSize = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuKernelGetParamInfo(ckernel, paramIndex, &paramOffset, &paramSize)
 *     return (CUresult(err), paramOffset, paramSize)
 */
  __pyx_v_paramSize = 0;

  /* "cuda/cuda.pyx":19930
 *     cdef size_t paramOffset = 0
 *     cdef size_t paramSize = 0
 *     err = ccuda.cuKernelGetParamInfo(ckernel, paramIndex, &paramOffset, &paramSize)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), paramOffset, paramSize)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuKernelGetParamInfo(__pyx_v_ckernel, __pyx_v_paramIndex, (&__pyx_v_paramOffset), (&__pyx_v_paramSize)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19930, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":19931
 *     cdef size_t paramSize = 0
 *     err = ccuda.cuKernelGetParamInfo(ckernel, paramIndex, &paramOffset, &paramSize)
 *     return (CUresult(err), paramOffset, paramSize)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19931, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_paramOffset); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_paramSize); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 19931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 19931, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 19931, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6)) __PYX_ERR(1, 19931, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":19883
 *     return (CUresult(err), <bytes>name)
 * 
 * @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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuKernelGetParamInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pkernel);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19933
 *     return (CUresult(err), paramOffset, paramSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetInfo():
 *     """ Gets free and total memory.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_167cuMemGetInfo(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_166cuMemGetInfo, "cuMemGetInfo()\n Gets free and total memory.\n\n    Returns in `*total` the total amount of memory available to the the\n    current context. Returns in `*free` the amount of memory on the device\n    that is free according to the OS. CUDA is not guaranteed to be able to\n    allocate all of the memory that the OS reports as free. In a multi-\n    tenet situation, free estimate returned is prone to race condition\n    where a new allocation/free done by a different process or a different\n    thread in the same process between the time when free memory was\n    estimated and reported, will result in deviation in free value reported\n    and actual free memory.\n\n    The integrated GPU on Tegra shares memory with CPU and other component\n    of the SoC. The free and total values returned by the API excludes the\n    SWAP memory space maintained by the OS on some platforms. The OS may\n    move some of the memory pages into swap area as the GPU or CPU allocate\n    or access memory. See Tegra app note on how to calculate total and free\n    memory on Tegra.\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_VALUE`\n    free : int\n        Returned free memory in bytes\n    total : int\n        Returned total memory in bytes\n\n    See 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:`~.cu""MemcpyDtoDAsync`, :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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_167cuMemGetInfo = {"cuMemGetInfo", (PyCFunction)__pyx_pw_4cuda_4cuda_167cuMemGetInfo, METH_NOARGS, __pyx_doc_4cuda_4cuda_166cuMemGetInfo};
static PyObject *__pyx_pw_4cuda_4cuda_167cuMemGetInfo(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_4cuda_166cuMemGetInfo(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_166cuMemGetInfo(CYTHON_UNUSED PyObject *__pyx_self) {
  size_t __pyx_v_free;
  size_t __pyx_v_total;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__568)
  __Pyx_RefNannySetupContext("cuMemGetInfo", 1);
  __Pyx_TraceCall("cuMemGetInfo", __pyx_f[1], 19933, 0, __PYX_ERR(1, 19933, __pyx_L1_error));

  /* "cuda/cuda.pyx":19967
 *     :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
 *     err = ccuda.cuMemGetInfo(&free, &total)
 */
  __pyx_v_free = 0;

  /* "cuda/cuda.pyx":19968
 *     """
 *     cdef size_t free = 0
 *     cdef size_t total = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemGetInfo(&free, &total)
 *     return (CUresult(err), free, total)
 */
  __pyx_v_total = 0;

  /* "cuda/cuda.pyx":19969
 *     cdef size_t free = 0
 *     cdef size_t total = 0
 *     err = ccuda.cuMemGetInfo(&free, &total)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), free, total)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_5ccuda_cuMemGetInfo((&__pyx_v_free), (&__pyx_v_total)); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19969, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cuda.pyx":19970
 *     cdef size_t total = 0
 *     err = ccuda.cuMemGetInfo(&free, &total)
 *     return (CUresult(err), free, total)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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, 19970, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_free); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v_total); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 19970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 19970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 19970, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3)) __PYX_ERR(1, 19970, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4)) __PYX_ERR(1, 19970, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":19933
 *     return (CUresult(err), paramOffset, paramSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetInfo():
 *     """ Gets free and total memory.
 */

  /* 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_AddTraceback("cuda.cuda.cuMemGetInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":19972
 *     return (CUresult(err), free, total)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAlloc(size_t bytesize):
 *     """ Allocates device memory.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_169cuMemAlloc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_168cuMemAlloc, "cuMemAlloc(size_t bytesize)\n Allocates device memory.\n\n    Allocates `bytesize` bytes of linear memory on the device and returns\n    in `*dptr` a pointer to the allocated memory. The allocated memory is\n    suitably aligned for any kind of variable. The memory is not cleared.\n    If `bytesize` is 0, :py:obj:`~.cuMemAlloc()` returns\n    :py:obj:`~.CUDA_ERROR_INVALID_VALUE`.\n\n    Parameters\n    ----------\n    bytesize : size_t\n        Requested allocation size in bytes\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_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    dptr : :py:obj:`~.CUdeviceptr`\n        Returned device pointer\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_169cuMemAlloc = {"cuMemAlloc", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_169cuMemAlloc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_168cuMemAlloc};
static PyObject *__pyx_pw_4cuda_4cuda_169cuMemAlloc(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_bytesize_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_bytesize_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 19972, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemAlloc") < 0)) __PYX_ERR(1, 19972, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_bytesize = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 19973, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAlloc", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 19972, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemAlloc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_168cuMemAlloc(__pyx_self, __pyx_v_bytesize);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_168cuMemAlloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize) {
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_dptr = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__569)
  __Pyx_RefNannySetupContext("cuMemAlloc", 1);
  __Pyx_TraceCall("cuMemAlloc", __pyx_f[1], 19972, 0, __PYX_ERR(1, 19972, __pyx_L1_error));

  /* "cuda/cuda.pyx":19998
 *     :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()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemAlloc(<ccuda.CUdeviceptr*>dptr._ptr, bytesize)
 *     return (CUresult(err), dptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 19998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_dptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":19999
 *     """
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     err = ccuda.cuMemAlloc(<ccuda.CUdeviceptr*>dptr._ptr, bytesize)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), dptr)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuMemAlloc(((CUdeviceptr *)__pyx_v_dptr->_ptr), __pyx_v_bytesize); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 19999, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":20000
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     err = ccuda.cuMemAlloc(<ccuda.CUdeviceptr*>dptr._ptr, bytesize)
 *     return (CUresult(err), dptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 20000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20000, __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)) __PYX_ERR(1, 20000, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_dptr))) __PYX_ERR(1, 20000, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":19972
 *     return (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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuMemAlloc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_dptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20002
 *     return (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_4cuda_171cuMemAllocPitch(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_170cuMemAllocPitch, "cuMemAllocPitch(size_t WidthInBytes, size_t Height, unsigned int ElementSizeBytes)\n Allocates pitched device memory.\n\n    Allocates at least `WidthInBytes` * `Height` bytes of linear memory on\n    the device and returns in `*dptr` a pointer to the allocated memory.\n    The function may pad the allocation to ensure that corresponding\n    pointers in any given row will continue to meet the alignment\n    requirements for coalescing as the address is updated from row to row.\n    `ElementSizeBytes` specifies the size of the largest reads and writes\n    that will be performed on the memory range. `ElementSizeBytes` may be\n    4, 8 or 16 (since coalesced memory transactions are not possible on\n    other data sizes). If `ElementSizeBytes` is smaller than the actual\n    read/write size of a kernel, the kernel will run correctly, but\n    possibly at reduced speed. The pitch returned in `*pPitch` by\n    :py:obj:`~.cuMemAllocPitch()` is the width in bytes of the allocation.\n    The intended usage of pitch is as a separate parameter of the\n    allocation, used to compute addresses within the 2D array. Given the\n    row and column of an array element of type T, the address is computed\n    as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    The pitch returned by :py:obj:`~.cuMemAllocPitch()` is guaranteed to\n    work with :py:obj:`~.cuMemcpy2D()` under all circumstances. For\n    allocations of 2D arrays, it is recommended that programmers consider\n    performing pitch allocations using :py:obj:`~.cuMemAllocPitch()`. Due\n    to alignment restrictions in the hardware, this is especially true if\n    the application will be performing 2D memory copies between different\n    regions of device memory (whether linear memory or CUDA arrays).\n\n    The byte alignment of the pitch returned by\n    :py:obj:`~.cuMemAllocPitch()` is guaranteed to match or exceed the\n    alignment requirement for texture binding with\n    :py:obj:`~.cuTexRefSetA""ddress2D()`.\n\n    Parameters\n    ----------\n    WidthInBytes : size_t\n        Requested allocation width in bytes\n    Height : size_t\n        Requested allocation height in rows\n    ElementSizeBytes : unsigned int\n        Size of largest reads/writes for range\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_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    dptr : :py:obj:`~.CUdeviceptr`\n        Returned device pointer\n    pPitch : int\n        Returned pitch of allocation in bytes\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_171cuMemAllocPitch = {"cuMemAllocPitch", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_171cuMemAllocPitch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_170cuMemAllocPitch};
static PyObject *__pyx_pw_4cuda_4cuda_171cuMemAllocPitch(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_WidthInBytes_2,&__pyx_n_s_Height_2,&__pyx_n_s_ElementSizeBytes,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_WidthInBytes_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20002, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Height_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20002, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemAllocPitch", 1, 3, 3, 1); __PYX_ERR(1, 20002, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ElementSizeBytes)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20002, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemAllocPitch", 1, 3, 3, 2); __PYX_ERR(1, 20002, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemAllocPitch") < 0)) __PYX_ERR(1, 20002, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_WidthInBytes = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_WidthInBytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 20003, __pyx_L3_error)
    __pyx_v_Height = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 20003, __pyx_L3_error)
    __pyx_v_ElementSizeBytes = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_ElementSizeBytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 20003, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAllocPitch", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 20002, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemAllocPitch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_170cuMemAllocPitch(__pyx_self, __pyx_v_WidthInBytes, __pyx_v_Height, __pyx_v_ElementSizeBytes);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_170cuMemAllocPitch(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_WidthInBytes, size_t __pyx_v_Height, unsigned int __pyx_v_ElementSizeBytes) {
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_dptr = 0;
  size_t __pyx_v_pPitch;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__570)
  __Pyx_RefNannySetupContext("cuMemAllocPitch", 1);
  __Pyx_TraceCall("cuMemAllocPitch", __pyx_f[1], 20002, 0, __PYX_ERR(1, 20002, __pyx_L1_error));

  /* "cuda/cuda.pyx":20060
 *     :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
 *     err = ccuda.cuMemAllocPitch(<ccuda.CUdeviceptr*>dptr._ptr, &pPitch, WidthInBytes, Height, ElementSizeBytes)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 20060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_dptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":20061
 *     """
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t pPitch = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemAllocPitch(<ccuda.CUdeviceptr*>dptr._ptr, &pPitch, WidthInBytes, Height, ElementSizeBytes)
 *     return (CUresult(err), dptr, pPitch)
 */
  __pyx_v_pPitch = 0;

  /* "cuda/cuda.pyx":20062
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     cdef size_t pPitch = 0
 *     err = ccuda.cuMemAllocPitch(<ccuda.CUdeviceptr*>dptr._ptr, &pPitch, WidthInBytes, Height, ElementSizeBytes)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), dptr, pPitch)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuMemAllocPitch(((CUdeviceptr *)__pyx_v_dptr->_ptr), (&__pyx_v_pPitch), __pyx_v_WidthInBytes, __pyx_v_Height, __pyx_v_ElementSizeBytes); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20062, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":20063
 *     cdef size_t pPitch = 0
 *     err = ccuda.cuMemAllocPitch(<ccuda.CUdeviceptr*>dptr._ptr, &pPitch, WidthInBytes, Height, ElementSizeBytes)
 *     return (CUresult(err), dptr, pPitch)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 20063, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_pPitch); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20063, __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)) __PYX_ERR(1, 20063, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_dptr))) __PYX_ERR(1, 20063, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3)) __PYX_ERR(1, 20063, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20002
 *     return (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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuMemAllocPitch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_dptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20065
 *     return (CUresult(err), dptr, pPitch)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFree(dptr):
 *     """ Frees device memory.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_173cuMemFree(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_172cuMemFree, "cuMemFree(dptr)\n Frees device memory.\n\n    Frees the memory space pointed to by `dptr`, which must have been\n    returned by a previous call to one of the following memory allocation\n    APIs - :py:obj:`~.cuMemAlloc()`, :py:obj:`~.cuMemAllocPitch()`,\n    :py:obj:`~.cuMemAllocManaged()`, :py:obj:`~.cuMemAllocAsync()`,\n    :py:obj:`~.cuMemAllocFromPoolAsync()`\n\n    Note - This API will not perform any implict synchronization when the\n    pointer was allocated with :py:obj:`~.cuMemAllocAsync` or\n    :py:obj:`~.cuMemAllocFromPoolAsync`. Callers must ensure that all\n    accesses to the pointer have completed before invoking\n    :py:obj:`~.cuMemFree`. For best performance and memory reuse, users\n    should use :py:obj:`~.cuMemFreeAsync` to free memory allocated via the\n    stream ordered memory allocator.\n\n    Parameters\n    ----------\n    dptr : :py:obj:`~.CUdeviceptr`\n        Pointer to memory to free\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_VALUE`\n\n    See 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:`~.cuMemcpyHtoDAsync`, :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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_173cuMemFree = {"cuMemFree", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_173cuMemFree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_172cuMemFree};
static PyObject *__pyx_pw_4cuda_4cuda_173cuMemFree(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dptr_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20065, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemFree") < 0)) __PYX_ERR(1, 20065, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_dptr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemFree", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 20065, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemFree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_172cuMemFree(__pyx_self, __pyx_v_dptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_172cuMemFree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr) {
  CUdeviceptr __pyx_v_cdptr;
  PyObject *__pyx_v_pdptr = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__571)
  __Pyx_RefNannySetupContext("cuMemFree", 1);
  __Pyx_TraceCall("cuMemFree", __pyx_f[1], 20065, 0, __PYX_ERR(1, 20065, __pyx_L1_error));

  /* "cuda/cuda.pyx":20098
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20099
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 */
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":20098
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":20100
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20101
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":20102
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20102, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":20100
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":20104
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     err = ccuda.cuMemFree(cdptr)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":20105
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemFree(cdptr)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20105, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":20106
 *         pdptr = int(CUdeviceptr(dptr))
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     err = ccuda.cuMemFree(cdptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemFree(__pyx_v_cdptr); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20106, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":20107
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     err = ccuda.cuMemFree(cdptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 20107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 20107, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20065
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemFree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20109
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAddressRange(dptr):
 *     """ Get information on memory allocations.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_175cuMemGetAddressRange(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_174cuMemGetAddressRange, "cuMemGetAddressRange(dptr)\n Get information on memory allocations.\n\n    Returns the base address in `*pbase` and size in `*psize` of the\n    allocation by :py:obj:`~.cuMemAlloc()` or :py:obj:`~.cuMemAllocPitch()`\n    that contains the input pointer `dptr`. Both parameters `pbase` and\n    `psize` are optional. If one of them is NULL, it is ignored.\n\n    Parameters\n    ----------\n    dptr : :py:obj:`~.CUdeviceptr`\n        Device pointer to query\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_NOT_FOUND`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    pbase : :py:obj:`~.CUdeviceptr`\n        Returned base address\n    psize : int\n        Returned size of device memory allocation\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_175cuMemGetAddressRange = {"cuMemGetAddressRange", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_175cuMemGetAddressRange, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_174cuMemGetAddressRange};
static PyObject *__pyx_pw_4cuda_4cuda_175cuMemGetAddressRange(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dptr_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20109, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemGetAddressRange") < 0)) __PYX_ERR(1, 20109, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_dptr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemGetAddressRange", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 20109, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemGetAddressRange", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_174cuMemGetAddressRange(__pyx_self, __pyx_v_dptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_174cuMemGetAddressRange(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr) {
  CUdeviceptr __pyx_v_cdptr;
  PyObject *__pyx_v_pdptr = NULL;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_pbase = 0;
  size_t __pyx_v_psize;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__572)
  __Pyx_RefNannySetupContext("cuMemGetAddressRange", 1);
  __Pyx_TraceCall("cuMemGetAddressRange", __pyx_f[1], 20109, 0, __PYX_ERR(1, 20109, __pyx_L1_error));

  /* "cuda/cuda.pyx":20137
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20138
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 */
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":20137
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":20139
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20140
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":20141
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20141, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":20139
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":20143
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef CUdeviceptr pbase = CUdeviceptr()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":20144
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr pbase = CUdeviceptr()
 *     cdef size_t psize = 0
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20144, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":20145
 *         pdptr = int(CUdeviceptr(dptr))
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef CUdeviceptr pbase = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     cdef size_t psize = 0
 *     err = ccuda.cuMemGetAddressRange(<ccuda.CUdeviceptr*>pbase._ptr, &psize, cdptr)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pbase = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":20146
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef CUdeviceptr pbase = CUdeviceptr()
 *     cdef size_t psize = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemGetAddressRange(<ccuda.CUdeviceptr*>pbase._ptr, &psize, cdptr)
 *     return (CUresult(err), pbase, psize)
 */
  __pyx_v_psize = 0;

  /* "cuda/cuda.pyx":20147
 *     cdef CUdeviceptr pbase = CUdeviceptr()
 *     cdef size_t psize = 0
 *     err = ccuda.cuMemGetAddressRange(<ccuda.CUdeviceptr*>pbase._ptr, &psize, cdptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pbase, psize)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemGetAddressRange(((CUdeviceptr *)__pyx_v_pbase->_ptr), (&__pyx_v_psize), __pyx_v_cdptr); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20147, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":20148
 *     cdef size_t psize = 0
 *     err = ccuda.cuMemGetAddressRange(<ccuda.CUdeviceptr*>pbase._ptr, &psize, cdptr)
 *     return (CUresult(err), pbase, psize)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 20148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_psize); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 20148, __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)) __PYX_ERR(1, 20148, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pbase);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pbase);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_pbase))) __PYX_ERR(1, 20148, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_2)) __PYX_ERR(1, 20148, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20109
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20150
 *     return (CUresult(err), pbase, psize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocHost(size_t bytesize):
 *     """ Allocates page-locked host memory.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_177cuMemAllocHost(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_176cuMemAllocHost, "cuMemAllocHost(size_t bytesize)\n Allocates page-locked host memory.\n\n    Allocates `bytesize` bytes of host memory that is page-locked and\n    accessible to the device. The driver tracks the virtual memory ranges\n    allocated with this function and automatically accelerates calls to\n    functions such as :py:obj:`~.cuMemcpy()`. Since the memory can be\n    accessed directly by the device, it can be read or written with much\n    higher bandwidth than pageable memory obtained with functions such as\n    :py:obj:`~.malloc()`.\n\n    On systems where\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`\n    is true, :py:obj:`~.cuMemAllocHost` may not page-lock the allocated\n    memory.\n\n    Page-locking excessive amounts of memory with\n    :py:obj:`~.cuMemAllocHost()` may degrade system performance, since it\n    reduces the amount of memory available to the system for paging. As a\n    result, this function is best used sparingly to allocate staging areas\n    for data exchange between host and device.\n\n    Note all host memory allocated using :py:obj:`~.cuMemAllocHost()` will\n    automatically be immediately accessible to all contexts on all devices\n    which support unified addressing (as may be queried using\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING`). The device pointer\n    that may be used to access this host memory from those contexts is\n    always equal to the returned host pointer `*pp`. See :py:obj:`~.Unified\n    Addressing` for additional details.\n\n    Parameters\n    ----------\n    bytesize : size_t\n        Requested allocation size in bytes\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_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    pp : Any\n        Returned pointer to host memory\n\n    See Also\n    --------\n   "" :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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_177cuMemAllocHost = {"cuMemAllocHost", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_177cuMemAllocHost, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_176cuMemAllocHost};
static PyObject *__pyx_pw_4cuda_4cuda_177cuMemAllocHost(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_bytesize_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_bytesize_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20150, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemAllocHost") < 0)) __PYX_ERR(1, 20150, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_bytesize = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 20151, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAllocHost", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 20150, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemAllocHost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_176cuMemAllocHost(__pyx_self, __pyx_v_bytesize);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_176cuMemAllocHost(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_pp;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__573)
  __Pyx_RefNannySetupContext("cuMemAllocHost", 1);
  __Pyx_TraceCall("cuMemAllocHost", __pyx_f[1], 20150, 0, __PYX_ERR(1, 20150, __pyx_L1_error));

  /* "cuda/cuda.pyx":20197
 *     :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             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemAllocHost(<void**>&pp, bytesize)
 *     return (CUresult(err), pp)
 */
  __pyx_v_pp = 0;

  /* "cuda/cuda.pyx":20198
 *     """
 *     cdef void_ptr pp = 0
 *     err = ccuda.cuMemAllocHost(<void**>&pp, bytesize)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pp)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_5ccuda_cuMemAllocHost(((void **)(&__pyx_v_pp)), __pyx_v_bytesize); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20198, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cuda.pyx":20199
 *     cdef void_ptr pp = 0
 *     err = ccuda.cuMemAllocHost(<void**>&pp, bytesize)
 *     return (CUresult(err), pp)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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, 20199, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_pp); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 20199, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(1, 20199, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20150
 *     return (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_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuMemAllocHost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20201
 *     return (CUresult(err), pp)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFreeHost(p):
 *     """ Frees page-locked host memory.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_179cuMemFreeHost(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_178cuMemFreeHost, "cuMemFreeHost(p)\n Frees page-locked host memory.\n\n    Frees the memory space pointed to by `p`, which must have been returned\n    by a previous call to :py:obj:`~.cuMemAllocHost()`.\n\n    Parameters\n    ----------\n    p : Any\n        Pointer to memory to free\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_179cuMemFreeHost = {"cuMemFreeHost", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_179cuMemFreeHost, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_178cuMemFreeHost};
static PyObject *__pyx_pw_4cuda_4cuda_179cuMemFreeHost(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_p,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_p)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20201, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemFreeHost") < 0)) __PYX_ERR(1, 20201, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_p = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemFreeHost", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 20201, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemFreeHost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_178cuMemFreeHost(__pyx_self, __pyx_v_p);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_178cuMemFreeHost(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p) {
  PyObject *__pyx_v_cp = NULL;
  void *__pyx_v_cp_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  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_TraceFrameInit(__pyx_codeobj__574)
  __Pyx_RefNannySetupContext("cuMemFreeHost", 1);
  __Pyx_TraceCall("cuMemFreeHost", __pyx_f[1], 20201, 0, __PYX_ERR(1, 20201, __pyx_L1_error));

  /* "cuda/cuda.pyx":20222
 *     :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`
 *     """
 *     cp = utils.HelperInputVoidPtr(p)             # <<<<<<<<<<<<<<
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr
 *     err = ccuda.cuMemFreeHost(cp_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_p); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 20222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cp = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":20223
 *     """
 *     cp = utils.HelperInputVoidPtr(p)
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemFreeHost(cp_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cp, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 20223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20223, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cp_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":20224
 *     cp = utils.HelperInputVoidPtr(p)
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr
 *     err = ccuda.cuMemFreeHost(cp_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_5ccuda_cuMemFreeHost(__pyx_v_cp_ptr); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20224, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cuda.pyx":20225
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr
 *     err = ccuda.cuMemFreeHost(cp_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 20225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_7 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 20225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20225, __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)) __PYX_ERR(1, 20225, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20201
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cuda.cuMemFreeHost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cp);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20227
 *     return (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_4cuda_181cuMemHostAlloc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_180cuMemHostAlloc, "cuMemHostAlloc(size_t bytesize, unsigned int Flags)\n Allocates page-locked host memory.\n\n    Allocates `bytesize` bytes of host memory that is page-locked and\n    accessible to the device. The driver tracks the virtual memory ranges\n    allocated with this function and automatically accelerates calls to\n    functions such as :py:obj:`~.cuMemcpyHtoD()`. Since the memory can be\n    accessed directly by the device, it can be read or written with much\n    higher bandwidth than pageable memory obtained with functions such as\n    :py:obj:`~.malloc()`.\n\n    On systems where\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`\n    is true, :py:obj:`~.cuMemHostAlloc` may not page-lock the allocated\n    memory.\n\n    Page-locking excessive amounts of memory may degrade system\n    performance, since it reduces the amount of memory available to the\n    system for paging. As a result, this function is best used sparingly to\n    allocate staging areas for data exchange between host and device.\n\n    The `Flags` parameter enables different options to be specified that\n    affect 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\n    All ""of these flags are orthogonal to one another: a developer may\n    allocate memory that is portable, mapped and/or write-combined with no\n    restrictions.\n\n    The :py:obj:`~.CU_MEMHOSTALLOC_DEVICEMAP` flag may be specified on CUDA\n    contexts for devices that do not support mapped pinned memory. The\n    failure is deferred to :py:obj:`~.cuMemHostGetDevicePointer()` because\n    the memory may be mapped into other CUDA contexts via the\n    :py:obj:`~.CU_MEMHOSTALLOC_PORTABLE` flag.\n\n    The memory allocated by this function must be freed with\n    :py:obj:`~.cuMemFreeHost()`.\n\n    Note all host memory allocated using :py:obj:`~.cuMemHostAlloc()` will\n    automatically be immediately accessible to all contexts on all devices\n    which 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\n    pointer that may be used to access this host memory from those contexts\n    is always equal to the returned host pointer `*pp`. If the flag\n    :py:obj:`~.CU_MEMHOSTALLOC_WRITECOMBINED` is specified, then the\n    function :py:obj:`~.cuMemHostGetDevicePointer()` must be used to query\n    the device pointer, even if the context supports unified addressing.\n    See :py:obj:`~.Unified Addressing` for additional details.\n\n    Parameters\n    ----------\n    bytesize : size_t\n        Requested allocation size in bytes\n    Flags : unsigned int\n        Flags for allocation request\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_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    pp : Any\n        Returned pointer to host memory\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_181cuMemHostAlloc = {"cuMemHostAlloc", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_181cuMemHostAlloc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_180cuMemHostAlloc};
static PyObject *__pyx_pw_4cuda_4cuda_181cuMemHostAlloc(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_bytesize_2,&__pyx_n_s_Flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_bytesize_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20227, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20227, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemHostAlloc", 1, 2, 2, 1); __PYX_ERR(1, 20227, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemHostAlloc") < 0)) __PYX_ERR(1, 20227, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_bytesize = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 20228, __pyx_L3_error)
    __pyx_v_Flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 20228, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemHostAlloc", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 20227, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemHostAlloc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_180cuMemHostAlloc(__pyx_self, __pyx_v_bytesize, __pyx_v_Flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_180cuMemHostAlloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize, unsigned int __pyx_v_Flags) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_pp;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__575)
  __Pyx_RefNannySetupContext("cuMemHostAlloc", 1);
  __Pyx_TraceCall("cuMemHostAlloc", __pyx_f[1], 20227, 0, __PYX_ERR(1, 20227, __pyx_L1_error));

  /* "cuda/cuda.pyx":20310
 *     :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             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemHostAlloc(<void**>&pp, bytesize, Flags)
 *     return (CUresult(err), pp)
 */
  __pyx_v_pp = 0;

  /* "cuda/cuda.pyx":20311
 *     """
 *     cdef void_ptr pp = 0
 *     err = ccuda.cuMemHostAlloc(<void**>&pp, bytesize, Flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pp)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_5ccuda_cuMemHostAlloc(((void **)(&__pyx_v_pp)), __pyx_v_bytesize, __pyx_v_Flags); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20311, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cuda.pyx":20312
 *     cdef void_ptr pp = 0
 *     err = ccuda.cuMemHostAlloc(<void**>&pp, bytesize, Flags)
 *     return (CUresult(err), pp)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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, 20312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_pp); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 20312, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(1, 20312, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20227
 *     return (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_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuMemHostAlloc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20314
 *     return (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_4cuda_183cuMemHostGetDevicePointer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_182cuMemHostGetDevicePointer, "cuMemHostGetDevicePointer(p, unsigned int Flags)\n Passes back device pointer of mapped pinned memory.\n\n    Passes back the device pointer `pdptr` corresponding to the mapped,\n    pinned 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\n    time the memory was allocated, or if the function is called on a GPU\n    that does not support mapped pinned memory.\n\n    For devices that have a non-zero value for the device attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM`,\n    the 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\n    original host pointer `p` and depends on the devices visible to the\n    application. If all devices visible to the application have a non-zero\n    value 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\n    device attribute, the device pointer returned by\n    :py:obj:`~.cuMemHostGetDevicePointer()` will not match the original\n    host pointer `p`, but it will be suitable for use on all devices\n    provided Unified Virtual Addressing is enabled. In such systems, it is\n    valid to access the memory using either pointer on devices that have a\n    non-zero value for the device attribute. Note however that such devices\n    should access the memory using only one of the two pointers and not\n    both.\n\n    `Flags` provides for future releases. For now, it must be set to 0.\n\n    Parameters\n    ----------\n    p : Any\n        Host pointer\n    Flags : unsigned int\n        Options (must be 0)\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_VALUE`\n    pdptr : :py:obj:`~.CUdeviceptr`\n        Returned device pointer\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_183cuMemHostGetDevicePointer = {"cuMemHostGetDevicePointer", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_183cuMemHostGetDevicePointer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_182cuMemHostGetDevicePointer};
static PyObject *__pyx_pw_4cuda_4cuda_183cuMemHostGetDevicePointer(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_p,&__pyx_n_s_Flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_p)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20314, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20314, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemHostGetDevicePointer", 1, 2, 2, 1); __PYX_ERR(1, 20314, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemHostGetDevicePointer") < 0)) __PYX_ERR(1, 20314, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_p = values[0];
    __pyx_v_Flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 20315, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemHostGetDevicePointer", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 20314, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemHostGetDevicePointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_182cuMemHostGetDevicePointer(__pyx_self, __pyx_v_p, __pyx_v_Flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_182cuMemHostGetDevicePointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p, unsigned int __pyx_v_Flags) {
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_pdptr = 0;
  PyObject *__pyx_v_cp = NULL;
  void *__pyx_v_cp_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  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_TraceFrameInit(__pyx_codeobj__576)
  __Pyx_RefNannySetupContext("cuMemHostGetDevicePointer", 1);
  __Pyx_TraceCall("cuMemHostGetDevicePointer", __pyx_f[1], 20314, 0, __PYX_ERR(1, 20314, __pyx_L1_error));

  /* "cuda/cuda.pyx":20365
 *     :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()             # <<<<<<<<<<<<<<
 *     cp = utils.HelperInputVoidPtr(p)
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 20365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pdptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":20366
 *     """
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     cp = utils.HelperInputVoidPtr(p)             # <<<<<<<<<<<<<<
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr
 *     err = ccuda.cuMemHostGetDevicePointer(<ccuda.CUdeviceptr*>pdptr._ptr, cp_ptr, Flags)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_p); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 20366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cp = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":20367
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     cp = utils.HelperInputVoidPtr(p)
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemHostGetDevicePointer(<ccuda.CUdeviceptr*>pdptr._ptr, cp_ptr, Flags)
 *     return (CUresult(err), pdptr)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cp, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 20367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20367, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cp_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":20368
 *     cp = utils.HelperInputVoidPtr(p)
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr
 *     err = ccuda.cuMemHostGetDevicePointer(<ccuda.CUdeviceptr*>pdptr._ptr, cp_ptr, Flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pdptr)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_5ccuda_cuMemHostGetDevicePointer(((CUdeviceptr *)__pyx_v_pdptr->_ptr), __pyx_v_cp_ptr, __pyx_v_Flags); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20368, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cuda.pyx":20369
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr
 *     err = ccuda.cuMemHostGetDevicePointer(<ccuda.CUdeviceptr*>pdptr._ptr, cp_ptr, Flags)
 *     return (CUresult(err), pdptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 20369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_7 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 20369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20369, __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)) __PYX_ERR(1, 20369, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pdptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pdptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_pdptr))) __PYX_ERR(1, 20369, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20314
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cuda.cuMemHostGetDevicePointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pdptr);
  __Pyx_XDECREF(__pyx_v_cp);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20371
 *     return (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_4cuda_185cuMemHostGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_184cuMemHostGetFlags, "cuMemHostGetFlags(p)\n Passes back flags that were used for a pinned allocation.\n\n    Passes back the flags `pFlags` that were specified when allocating the\n    pinned host buffer `p` allocated by :py:obj:`~.cuMemHostAlloc`.\n\n    :py:obj:`~.cuMemHostGetFlags()` will fail if the pointer does not\n    reside in an allocation performed by :py:obj:`~.cuMemAllocHost()` or\n    :py:obj:`~.cuMemHostAlloc()`.\n\n    Parameters\n    ----------\n    p : Any\n        Host pointer\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_VALUE`\n    pFlags : unsigned int\n        Returned flags word\n\n    See Also\n    --------\n    :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cudaHostGetFlags`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_185cuMemHostGetFlags = {"cuMemHostGetFlags", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_185cuMemHostGetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_184cuMemHostGetFlags};
static PyObject *__pyx_pw_4cuda_4cuda_185cuMemHostGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_p,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_p)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20371, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemHostGetFlags") < 0)) __PYX_ERR(1, 20371, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_p = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemHostGetFlags", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 20371, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemHostGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_184cuMemHostGetFlags(__pyx_self, __pyx_v_p);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_184cuMemHostGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p) {
  unsigned int __pyx_v_pFlags;
  PyObject *__pyx_v_cp = NULL;
  void *__pyx_v_cp_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  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_TraceFrameInit(__pyx_codeobj__577)
  __Pyx_RefNannySetupContext("cuMemHostGetFlags", 1);
  __Pyx_TraceCall("cuMemHostGetFlags", __pyx_f[1], 20371, 0, __PYX_ERR(1, 20371, __pyx_L1_error));

  /* "cuda/cuda.pyx":20398
 *     :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cudaHostGetFlags`
 *     """
 *     cdef unsigned int pFlags = 0             # <<<<<<<<<<<<<<
 *     cp = utils.HelperInputVoidPtr(p)
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr
 */
  __pyx_v_pFlags = 0;

  /* "cuda/cuda.pyx":20399
 *     """
 *     cdef unsigned int pFlags = 0
 *     cp = utils.HelperInputVoidPtr(p)             # <<<<<<<<<<<<<<
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr
 *     err = ccuda.cuMemHostGetFlags(&pFlags, cp_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_p); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 20399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cp = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":20400
 *     cdef unsigned int pFlags = 0
 *     cp = utils.HelperInputVoidPtr(p)
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemHostGetFlags(&pFlags, cp_ptr)
 *     return (CUresult(err), pFlags)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cp, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 20400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20400, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cp_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":20401
 *     cp = utils.HelperInputVoidPtr(p)
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr
 *     err = ccuda.cuMemHostGetFlags(&pFlags, cp_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pFlags)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_5ccuda_cuMemHostGetFlags((&__pyx_v_pFlags), __pyx_v_cp_ptr); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20401, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cuda.pyx":20402
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr
 *     err = ccuda.cuMemHostGetFlags(&pFlags, cp_ptr)
 *     return (CUresult(err), pFlags)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 20402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_7 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 20402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_pFlags); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 20402, __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)) __PYX_ERR(1, 20402, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4)) __PYX_ERR(1, 20402, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20371
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cuda.cuMemHostGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cp);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20404
 *     return (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_4cuda_187cuMemAllocManaged(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_186cuMemAllocManaged, "cuMemAllocManaged(size_t bytesize, unsigned int flags)\n Allocates memory that will be automatically managed by the Unified Memory system.\n\n    Allocates `bytesize` bytes of managed memory on the device and returns\n    in `*dptr` a pointer to the allocated memory. If the device doesn't\n    support allocating managed memory, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n    is returned. Support for managed memory can be queried using the device\n    attribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY`. The allocated\n    memory is suitably aligned for any kind of variable. The memory is not\n    cleared. If `bytesize` is 0, :py:obj:`~.cuMemAllocManaged` returns\n    :py:obj:`~.CUDA_ERROR_INVALID_VALUE`. The pointer is valid on the CPU\n    and on all GPUs in the system that support managed memory. All accesses\n    to 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\n    specified, then this memory is accessible from any stream on any\n    device. If :py:obj:`~.CU_MEM_ATTACH_HOST` is specified, then the\n    allocation should not be accessed from devices that have a zero value\n    for the device attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`; an explicit\n    call to :py:obj:`~.cuStreamAttachMemAsync` will be required to enable\n    access on such devices.\n\n    If the association is later changed via\n    :py:obj:`~.cuStreamAttachMemAsync` to a single stream, the default\n    association as specified during :py:obj:`~.cuMemAllocManaged` is\n    restored when that stream is destroyed. For managed variables, the\n    default association is always :py:obj:`~.CU_MEM_ATTACH_GLOBAL`. Note\n    that destroying a stream is an asynchronous operation, and as a result,\n    the change to default association won't happen unti""l all work in the\n    stream has completed.\n\n    Memory allocated with :py:obj:`~.cuMemAllocManaged` should be released\n    with :py:obj:`~.cuMemFree`.\n\n    Device memory oversubscription is possible for GPUs that have a non-\n    zero value for the device attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`. Managed\n    memory on such GPUs may be evicted from device memory to host memory at\n    any time by the Unified Memory driver in order to make room for other\n    allocations.\n\n    In a system where all GPUs have a non-zero value for the device\n    attribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`,\n    managed memory may not be populated when this API returns and instead\n    may be populated on access. In such systems, managed memory can migrate\n    to any processor's memory at any time. The Unified Memory driver will\n    employ heuristics to maintain data locality and prevent excessive page\n    faults to the extent possible. The application can also guide the\n    driver about memory usage patterns via :py:obj:`~.cuMemAdvise`. The\n    application can also explicitly migrate memory to a desired processor's\n    memory via :py:obj:`~.cuMemPrefetchAsync`.\n\n    In a multi-GPU system where all of the GPUs have a zero value for the\n    device attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS` and all the\n    GPUs have peer-to-peer support with each other, the physical storage\n    for managed memory is created on the GPU which is active at the time\n    :py:obj:`~.cuMemAllocManaged` is called. All other GPUs will reference\n    the data at reduced bandwidth via peer mappings over the PCIe bus. The\n    Unified Memory driver does not migrate memory among such GPUs.\n\n    In a multi-GPU system where not all GPUs have peer-to-peer support with\n    each other and where the value of the device attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS` is zero for\n    at leas""t one of those GPUs, the location chosen for physical storage of\n    managed 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 either 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\n    Parameters\n    ----------\n    bytesize : size_t\n        Requested allocation size in bytes\n    flags : unsigned int\n        Must be one of :py:obj:`~.CU_MEM_ATTACH_GLOBAL` or\n        :py:obj:`~.CU_MEM_ATTACH_HOST`\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_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    dptr : :py:obj:`~.CUdeviceptr`\n        Returned device pointer\n\n    See 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:`~.cuMems""etD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuStreamAttachMemAsync`, :py:obj:`~.cudaMallocManaged`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_187cuMemAllocManaged = {"cuMemAllocManaged", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_187cuMemAllocManaged, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_186cuMemAllocManaged};
static PyObject *__pyx_pw_4cuda_4cuda_187cuMemAllocManaged(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_bytesize_2,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_bytesize_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20404, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20404, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemAllocManaged", 1, 2, 2, 1); __PYX_ERR(1, 20404, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemAllocManaged") < 0)) __PYX_ERR(1, 20404, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_bytesize = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 20405, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 20405, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAllocManaged", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 20404, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemAllocManaged", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_186cuMemAllocManaged(__pyx_self, __pyx_v_bytesize, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_186cuMemAllocManaged(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_dptr = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__578)
  __Pyx_RefNannySetupContext("cuMemAllocManaged", 1);
  __Pyx_TraceCall("cuMemAllocManaged", __pyx_f[1], 20404, 0, __PYX_ERR(1, 20404, __pyx_L1_error));

  /* "cuda/cuda.pyx":20531
 *     :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()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemAllocManaged(<ccuda.CUdeviceptr*>dptr._ptr, bytesize, flags)
 *     return (CUresult(err), dptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 20531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_dptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":20532
 *     """
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     err = ccuda.cuMemAllocManaged(<ccuda.CUdeviceptr*>dptr._ptr, bytesize, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), dptr)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuMemAllocManaged(((CUdeviceptr *)__pyx_v_dptr->_ptr), __pyx_v_bytesize, __pyx_v_flags); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20532, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":20533
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     err = ccuda.cuMemAllocManaged(<ccuda.CUdeviceptr*>dptr._ptr, bytesize, flags)
 *     return (CUresult(err), dptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 20533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20533, __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)) __PYX_ERR(1, 20533, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_dptr))) __PYX_ERR(1, 20533, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20404
 *     return (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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuMemAllocManaged", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_dptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20535
 *     return (CUresult(err), dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceRegisterAsyncNotification(device, callbackFunc, userData):
 *     """ Registers a callback function to receive async notifications.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_189cuDeviceRegisterAsyncNotification(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_188cuDeviceRegisterAsyncNotification, "cuDeviceRegisterAsyncNotification(device, callbackFunc, userData)\n Registers a callback function to receive async notifications.\n\n    Registers `callbackFunc` to receive async notifications.\n\n    The `userData` parameter is passed to the callback function at async\n    notification time.   Likewise, `callback` is also passed to the\n    callback function to distinguish between multiple registered callbacks.\n\n    The callback function being registered should be designed to return\n    quickly (~10ms).   Any long running tasks should be queued for\n    execution on an application thread.\n\n    Callbacks may not call cuDeviceRegisterAsyncNotification or\n    cuDeviceUnregisterAsyncNotification. Doing so will result in\n    :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`. Async notification callbacks\n    execute in an undefined order and may be serialized.\n\n    Returns in `*callback` a handle representing the registered callback\n    instance.\n\n    Parameters\n    ----------\n    device : :py:obj:`~.CUdevice`\n        The device on which to register the callback\n    callbackFunc : :py:obj:`~.CUasyncCallback`\n        The function to register as a callback\n    userData : Any\n        A generic pointer to user data. This is passed into the callback\n        function.\n\n    Returns\n    -------\n    CUresult\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    callback : :py:obj:`~.CUasyncCallbackHandle`\n        A handle representing the registered callback instance\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceUnregisterAsyncNotification`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_189cuDeviceRegisterAsyncNotification = {"cuDeviceRegisterAsyncNotification", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_189cuDeviceRegisterAsyncNotification, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_188cuDeviceRegisterAsyncNotification};
static PyObject *__pyx_pw_4cuda_4cuda_189cuDeviceRegisterAsyncNotification(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_device,&__pyx_n_s_callbackFunc,&__pyx_n_s_userData_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_device)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20535, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callbackFunc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20535, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceRegisterAsyncNotification", 1, 3, 3, 1); __PYX_ERR(1, 20535, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_userData_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20535, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceRegisterAsyncNotification", 1, 3, 3, 2); __PYX_ERR(1, 20535, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceRegisterAsyncNotification") < 0)) __PYX_ERR(1, 20535, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __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(1, 20535, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceRegisterAsyncNotification", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_188cuDeviceRegisterAsyncNotification(__pyx_self, __pyx_v_device, __pyx_v_callbackFunc, __pyx_v_userData);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_188cuDeviceRegisterAsyncNotification(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_callbackFunc, PyObject *__pyx_v_userData) {
  CUasyncCallback __pyx_v_ccallbackFunc;
  PyObject *__pyx_v_pcallbackFunc = NULL;
  CUdevice __pyx_v_cdevice;
  PyObject *__pyx_v_pdevice = NULL;
  PyObject *__pyx_v_cuserData = NULL;
  void *__pyx_v_cuserData_ptr;
  struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *__pyx_v_callback = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__579)
  __Pyx_RefNannySetupContext("cuDeviceRegisterAsyncNotification", 1);
  __Pyx_TraceCall("cuDeviceRegisterAsyncNotification", __pyx_f[1], 20535, 0, __PYX_ERR(1, 20535, __pyx_L1_error));

  /* "cuda/cuda.pyx":20579
 *     """
 *     cdef ccuda.CUasyncCallback ccallbackFunc
 *     if callbackFunc is None:             # <<<<<<<<<<<<<<
 *         ccallbackFunc = <ccuda.CUasyncCallback><void_ptr>0
 *     elif isinstance(callbackFunc, (CUasyncCallback,)):
 */
  __pyx_t_1 = (__pyx_v_callbackFunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20580
 *     cdef ccuda.CUasyncCallback ccallbackFunc
 *     if callbackFunc is None:
 *         ccallbackFunc = <ccuda.CUasyncCallback><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(callbackFunc, (CUasyncCallback,)):
 *         pcallbackFunc = int(callbackFunc)
 */
    __pyx_v_ccallbackFunc = ((CUasyncCallback)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":20579
 *     """
 *     cdef ccuda.CUasyncCallback ccallbackFunc
 *     if callbackFunc is None:             # <<<<<<<<<<<<<<
 *         ccallbackFunc = <ccuda.CUasyncCallback><void_ptr>0
 *     elif isinstance(callbackFunc, (CUasyncCallback,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":20581
 *     if callbackFunc is None:
 *         ccallbackFunc = <ccuda.CUasyncCallback><void_ptr>0
 *     elif isinstance(callbackFunc, (CUasyncCallback,)):             # <<<<<<<<<<<<<<
 *         pcallbackFunc = int(callbackFunc)
 *         ccallbackFunc = <ccuda.CUasyncCallback><void_ptr>pcallbackFunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_callbackFunc, __pyx_ptype_4cuda_4cuda_CUasyncCallback); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20582
 *         ccallbackFunc = <ccuda.CUasyncCallback><void_ptr>0
 *     elif isinstance(callbackFunc, (CUasyncCallback,)):
 *         pcallbackFunc = int(callbackFunc)             # <<<<<<<<<<<<<<
 *         ccallbackFunc = <ccuda.CUasyncCallback><void_ptr>pcallbackFunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_callbackFunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pcallbackFunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":20583
 *     elif isinstance(callbackFunc, (CUasyncCallback,)):
 *         pcallbackFunc = int(callbackFunc)
 *         ccallbackFunc = <ccuda.CUasyncCallback><void_ptr>pcallbackFunc             # <<<<<<<<<<<<<<
 *     else:
 *         pcallbackFunc = int(CUasyncCallback(callbackFunc))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pcallbackFunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20583, __pyx_L1_error)
    __pyx_v_ccallbackFunc = ((CUasyncCallback)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":20581
 *     if callbackFunc is None:
 *         ccallbackFunc = <ccuda.CUasyncCallback><void_ptr>0
 *     elif isinstance(callbackFunc, (CUasyncCallback,)):             # <<<<<<<<<<<<<<
 *         pcallbackFunc = int(callbackFunc)
 *         ccallbackFunc = <ccuda.CUasyncCallback><void_ptr>pcallbackFunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":20585
 *         ccallbackFunc = <ccuda.CUasyncCallback><void_ptr>pcallbackFunc
 *     else:
 *         pcallbackFunc = int(CUasyncCallback(callbackFunc))             # <<<<<<<<<<<<<<
 *         ccallbackFunc = <ccuda.CUasyncCallback><void_ptr>pcallbackFunc
 *     cdef ccuda.CUdevice cdevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUasyncCallback), __pyx_v_callbackFunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pcallbackFunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":20586
 *     else:
 *         pcallbackFunc = int(CUasyncCallback(callbackFunc))
 *         ccallbackFunc = <ccuda.CUasyncCallback><void_ptr>pcallbackFunc             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pcallbackFunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20586, __pyx_L1_error)
    __pyx_v_ccallbackFunc = ((CUasyncCallback)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":20588
 *         ccallbackFunc = <ccuda.CUasyncCallback><void_ptr>pcallbackFunc
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20589
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 */
    __pyx_v_cdevice = ((CUdevice)0);

    /* "cuda/cuda.pyx":20588
 *         ccallbackFunc = <ccuda.CUasyncCallback><void_ptr>pcallbackFunc
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":20590
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20591
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":20592
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
 */
    __pyx_t_5 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 20592, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_5);

    /* "cuda/cuda.pyx":20590
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":20594
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cuserData = utils.HelperInputVoidPtr(userData)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_device); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":20595
 *     else:
 *         pdevice = int(CUdevice(device))
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 */
    __pyx_t_5 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 20595, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_5);
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":20596
 *         pdevice = int(CUdevice(device))
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cuserData = utils.HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     cdef CUasyncCallbackHandle callback = CUasyncCallbackHandle()
 */
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_userData); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_cuserData = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":20597
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr             # <<<<<<<<<<<<<<
 *     cdef CUasyncCallbackHandle callback = CUasyncCallbackHandle()
 *     err = ccuda.cuDeviceRegisterAsyncNotification(cdevice, ccallbackFunc, cuserData_ptr, <ccuda.CUasyncCallbackHandle*>callback._ptr)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cuserData, __pyx_n_s_cptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20597, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cuserData_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":20598
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     cdef CUasyncCallbackHandle callback = CUasyncCallbackHandle()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceRegisterAsyncNotification(cdevice, ccallbackFunc, cuserData_ptr, <ccuda.CUasyncCallbackHandle*>callback._ptr)
 *     return (CUresult(err), callback)
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20598, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_callback = ((struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":20599
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     cdef CUasyncCallbackHandle callback = CUasyncCallbackHandle()
 *     err = ccuda.cuDeviceRegisterAsyncNotification(cdevice, ccallbackFunc, cuserData_ptr, <ccuda.CUasyncCallbackHandle*>callback._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), callback)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuDeviceRegisterAsyncNotification(__pyx_v_cdevice, __pyx_v_ccallbackFunc, __pyx_v_cuserData_ptr, ((CUasyncCallbackHandle *)__pyx_v_callback->_ptr)); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20599, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":20600
 *     cdef CUasyncCallbackHandle callback = CUasyncCallbackHandle()
 *     err = ccuda.cuDeviceRegisterAsyncNotification(cdevice, ccallbackFunc, cuserData_ptr, <ccuda.CUasyncCallbackHandle*>callback._ptr)
 *     return (CUresult(err), callback)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 20600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20600, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 20600, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_callback);
  __Pyx_GIVEREF((PyObject *)__pyx_v_callback);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_callback))) __PYX_ERR(1, 20600, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20535
 *     return (CUresult(err), dptr)
 * 
 * @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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuDeviceRegisterAsyncNotification", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pcallbackFunc);
  __Pyx_XDECREF(__pyx_v_pdevice);
  __Pyx_XDECREF(__pyx_v_cuserData);
  __Pyx_XDECREF((PyObject *)__pyx_v_callback);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20602
 *     return (CUresult(err), callback)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceUnregisterAsyncNotification(device, callback):
 *     """ Unregisters an async notification callback.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_191cuDeviceUnregisterAsyncNotification(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_190cuDeviceUnregisterAsyncNotification, "cuDeviceUnregisterAsyncNotification(device, callback)\n Unregisters an async notification callback.\n\n    Unregisters `callback` so that the corresponding callback function will\n    stop receiving async notifications.\n\n    Parameters\n    ----------\n    device : :py:obj:`~.CUdevice`\n        The device from which to remove `callback`.\n    callback : :py:obj:`~.CUasyncCallbackHandle`\n        The callback instance to unregister from receiving async\n        notifications.\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuDeviceRegisterAsyncNotification`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_191cuDeviceUnregisterAsyncNotification = {"cuDeviceUnregisterAsyncNotification", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_191cuDeviceUnregisterAsyncNotification, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_190cuDeviceUnregisterAsyncNotification};
static PyObject *__pyx_pw_4cuda_4cuda_191cuDeviceUnregisterAsyncNotification(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_device,&__pyx_n_s_callback,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_device)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20602, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20602, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceUnregisterAsyncNotification", 1, 2, 2, 1); __PYX_ERR(1, 20602, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceUnregisterAsyncNotification") < 0)) __PYX_ERR(1, 20602, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 20602, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceUnregisterAsyncNotification", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_190cuDeviceUnregisterAsyncNotification(__pyx_self, __pyx_v_device, __pyx_v_callback);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_190cuDeviceUnregisterAsyncNotification(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_callback) {
  CUasyncCallbackHandle __pyx_v_ccallback;
  PyObject *__pyx_v_pcallback = NULL;
  CUdevice __pyx_v_cdevice;
  PyObject *__pyx_v_pdevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__580)
  __Pyx_RefNannySetupContext("cuDeviceUnregisterAsyncNotification", 1);
  __Pyx_TraceCall("cuDeviceUnregisterAsyncNotification", __pyx_f[1], 20602, 0, __PYX_ERR(1, 20602, __pyx_L1_error));

  /* "cuda/cuda.pyx":20627
 *     """
 *     cdef ccuda.CUasyncCallbackHandle ccallback
 *     if callback is None:             # <<<<<<<<<<<<<<
 *         ccallback = <ccuda.CUasyncCallbackHandle><void_ptr>0
 *     elif isinstance(callback, (CUasyncCallbackHandle,)):
 */
  __pyx_t_1 = (__pyx_v_callback == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20628
 *     cdef ccuda.CUasyncCallbackHandle ccallback
 *     if callback is None:
 *         ccallback = <ccuda.CUasyncCallbackHandle><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(callback, (CUasyncCallbackHandle,)):
 *         pcallback = int(callback)
 */
    __pyx_v_ccallback = ((CUasyncCallbackHandle)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":20627
 *     """
 *     cdef ccuda.CUasyncCallbackHandle ccallback
 *     if callback is None:             # <<<<<<<<<<<<<<
 *         ccallback = <ccuda.CUasyncCallbackHandle><void_ptr>0
 *     elif isinstance(callback, (CUasyncCallbackHandle,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":20629
 *     if callback is None:
 *         ccallback = <ccuda.CUasyncCallbackHandle><void_ptr>0
 *     elif isinstance(callback, (CUasyncCallbackHandle,)):             # <<<<<<<<<<<<<<
 *         pcallback = int(callback)
 *         ccallback = <ccuda.CUasyncCallbackHandle><void_ptr>pcallback
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_callback, __pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20630
 *         ccallback = <ccuda.CUasyncCallbackHandle><void_ptr>0
 *     elif isinstance(callback, (CUasyncCallbackHandle,)):
 *         pcallback = int(callback)             # <<<<<<<<<<<<<<
 *         ccallback = <ccuda.CUasyncCallbackHandle><void_ptr>pcallback
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pcallback = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":20631
 *     elif isinstance(callback, (CUasyncCallbackHandle,)):
 *         pcallback = int(callback)
 *         ccallback = <ccuda.CUasyncCallbackHandle><void_ptr>pcallback             # <<<<<<<<<<<<<<
 *     else:
 *         pcallback = int(CUasyncCallbackHandle(callback))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20631, __pyx_L1_error)
    __pyx_v_ccallback = ((CUasyncCallbackHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":20629
 *     if callback is None:
 *         ccallback = <ccuda.CUasyncCallbackHandle><void_ptr>0
 *     elif isinstance(callback, (CUasyncCallbackHandle,)):             # <<<<<<<<<<<<<<
 *         pcallback = int(callback)
 *         ccallback = <ccuda.CUasyncCallbackHandle><void_ptr>pcallback
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":20633
 *         ccallback = <ccuda.CUasyncCallbackHandle><void_ptr>pcallback
 *     else:
 *         pcallback = int(CUasyncCallbackHandle(callback))             # <<<<<<<<<<<<<<
 *         ccallback = <ccuda.CUasyncCallbackHandle><void_ptr>pcallback
 *     cdef ccuda.CUdevice cdevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle), __pyx_v_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20633, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20633, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pcallback = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":20634
 *     else:
 *         pcallback = int(CUasyncCallbackHandle(callback))
 *         ccallback = <ccuda.CUasyncCallbackHandle><void_ptr>pcallback             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20634, __pyx_L1_error)
    __pyx_v_ccallback = ((CUasyncCallbackHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":20636
 *         ccallback = <ccuda.CUasyncCallbackHandle><void_ptr>pcallback
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20637
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 */
    __pyx_v_cdevice = ((CUdevice)0);

    /* "cuda/cuda.pyx":20636
 *         ccallback = <ccuda.CUasyncCallbackHandle><void_ptr>pcallback
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":20638
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20639
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":20640
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
 */
    __pyx_t_5 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 20640, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_5);

    /* "cuda/cuda.pyx":20638
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":20642
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     err = ccuda.cuDeviceUnregisterAsyncNotification(cdevice, ccallback)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_device); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20642, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20642, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":20643
 *     else:
 *         pdevice = int(CUdevice(device))
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceUnregisterAsyncNotification(cdevice, ccallback)
 *     return (CUresult(err),)
 */
    __pyx_t_5 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 20643, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_5);
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":20644
 *         pdevice = int(CUdevice(device))
 *         cdevice = <ccuda.CUdevice>pdevice
 *     err = ccuda.cuDeviceUnregisterAsyncNotification(cdevice, ccallback)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuDeviceUnregisterAsyncNotification(__pyx_v_cdevice, __pyx_v_ccallback); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20644, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":20645
 *         cdevice = <ccuda.CUdevice>pdevice
 *     err = ccuda.cuDeviceUnregisterAsyncNotification(cdevice, ccallback)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 20645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 20645, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20602
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20647
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetByPCIBusId(char* pciBusId):
 *     """ Returns a handle to a compute device.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_193cuDeviceGetByPCIBusId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_192cuDeviceGetByPCIBusId, "cuDeviceGetByPCIBusId(char *pciBusId)\n Returns a handle to a compute device.\n\n    Returns in `*device` a device handle given a PCI bus ID string.\n\n    where `domain`, `bus`, `device`, and `function` are all hexadecimal\n    values\n\n    Parameters\n    ----------\n    pciBusId : bytes\n        String in one of the following forms:\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    dev : :py:obj:`~.CUdevice`\n        Returned device handle\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetPCIBusId`, :py:obj:`~.cudaDeviceGetByPCIBusId`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_193cuDeviceGetByPCIBusId = {"cuDeviceGetByPCIBusId", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_193cuDeviceGetByPCIBusId, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_192cuDeviceGetByPCIBusId};
static PyObject *__pyx_pw_4cuda_4cuda_193cuDeviceGetByPCIBusId(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pciBusId,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pciBusId)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20647, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGetByPCIBusId") < 0)) __PYX_ERR(1, 20647, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_pciBusId = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_pciBusId) && PyErr_Occurred())) __PYX_ERR(1, 20648, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGetByPCIBusId", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 20647, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetByPCIBusId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_192cuDeviceGetByPCIBusId(__pyx_self, __pyx_v_pciBusId);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_192cuDeviceGetByPCIBusId(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_pciBusId) {
  struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_dev = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__581)
  __Pyx_RefNannySetupContext("cuDeviceGetByPCIBusId", 1);
  __Pyx_TraceCall("cuDeviceGetByPCIBusId", __pyx_f[1], 20647, 0, __PYX_ERR(1, 20647, __pyx_L1_error));

  /* "cuda/cuda.pyx":20672
 *     :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetPCIBusId`, :py:obj:`~.cudaDeviceGetByPCIBusId`
 *     """
 *     cdef CUdevice dev = CUdevice()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGetByPCIBusId(<ccuda.CUdevice*>dev._ptr, pciBusId)
 *     return (CUresult(err), dev)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 20672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_dev = ((struct __pyx_obj_4cuda_4cuda_CUdevice *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":20673
 *     """
 *     cdef CUdevice dev = CUdevice()
 *     err = ccuda.cuDeviceGetByPCIBusId(<ccuda.CUdevice*>dev._ptr, pciBusId)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), dev)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuDeviceGetByPCIBusId(((CUdevice *)__pyx_v_dev->_ptr), __pyx_v_pciBusId); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20673, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":20674
 *     cdef CUdevice dev = CUdevice()
 *     err = ccuda.cuDeviceGetByPCIBusId(<ccuda.CUdevice*>dev._ptr, pciBusId)
 *     return (CUresult(err), dev)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 20674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20674, __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)) __PYX_ERR(1, 20674, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dev);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dev);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_dev))) __PYX_ERR(1, 20674, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20647
 *     return (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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetByPCIBusId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_dev);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20676
 *     return (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_4cuda_195cuDeviceGetPCIBusId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_194cuDeviceGetPCIBusId, "cuDeviceGetPCIBusId(int length, dev)\n Returns a PCI Bus Id string for the device.\n\n    Returns an ASCII string identifying the device `dev` in the NULL-\n    terminated string pointed to by `pciBusId`. `length` specifies the\n    maximum length of the string that may be returned.\n\n    where `domain`, `bus`, `device`, and `function` are all hexadecimal\n    values. pciBusId should be large enough to store 13 characters\n    including the NULL-terminator.\n\n    Parameters\n    ----------\n    length : int\n        Maximum length of string to store in `name`\n    dev : :py:obj:`~.CUdevice`\n        Device to get identifier string 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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    pciBusId : bytes\n        Returned identifier string for the device in the following format\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceGet`, :py:obj:`~.cuDeviceGetAttribute`, :py:obj:`~.cuDeviceGetByPCIBusId`, :py:obj:`~.cudaDeviceGetPCIBusId`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_195cuDeviceGetPCIBusId = {"cuDeviceGetPCIBusId", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_195cuDeviceGetPCIBusId, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_194cuDeviceGetPCIBusId};
static PyObject *__pyx_pw_4cuda_4cuda_195cuDeviceGetPCIBusId(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_length,&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_length)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20676, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20676, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceGetPCIBusId", 1, 2, 2, 1); __PYX_ERR(1, 20676, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGetPCIBusId") < 0)) __PYX_ERR(1, 20676, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_length = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_length == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 20677, __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(1, 20676, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetPCIBusId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_194cuDeviceGetPCIBusId(__pyx_self, __pyx_v_length, __pyx_v_dev);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_194cuDeviceGetPCIBusId(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_length, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  PyObject *__pyx_v_pypciBusId = NULL;
  char *__pyx_v_pciBusId;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  char *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__582)
  __Pyx_RefNannySetupContext("cuDeviceGetPCIBusId", 1);
  __Pyx_TraceCall("cuDeviceGetPCIBusId", __pyx_f[1], 20676, 0, __PYX_ERR(1, 20676, __pyx_L1_error));

  /* "cuda/cuda.pyx":20707
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20708
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":20707
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":20709
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20710
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":20711
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 20711, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":20709
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":20713
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     pypciBusId = b" " * length
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":20714
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     pypciBusId = b" " * length
 *     cdef char* pciBusId = pypciBusId
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 20714, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":20715
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     pypciBusId = b" " * length             # <<<<<<<<<<<<<<
 *     cdef char* pciBusId = pypciBusId
 *     err = ccuda.cuDeviceGetPCIBusId(pciBusId, length, cdev)
 */
  __pyx_t_4 = __Pyx_PySequence_Multiply(__pyx_kp_b__486, __pyx_v_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pypciBusId = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":20716
 *         cdev = <ccuda.CUdevice>pdev
 *     pypciBusId = b" " * length
 *     cdef char* pciBusId = pypciBusId             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGetPCIBusId(pciBusId, length, cdev)
 *     return (CUresult(err), pypciBusId)
 */
  __pyx_t_5 = __Pyx_PyBytes_AsWritableString(__pyx_v_pypciBusId); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(1, 20716, __pyx_L1_error)
  __pyx_v_pciBusId = __pyx_t_5;

  /* "cuda/cuda.pyx":20717
 *     pypciBusId = b" " * length
 *     cdef char* pciBusId = pypciBusId
 *     err = ccuda.cuDeviceGetPCIBusId(pciBusId, length, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pypciBusId)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuDeviceGetPCIBusId(__pyx_v_pciBusId, __pyx_v_length, __pyx_v_cdev); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20717, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":20718
 *     cdef char* pciBusId = pypciBusId
 *     err = ccuda.cuDeviceGetPCIBusId(pciBusId, length, cdev)
 *     return (CUresult(err), pypciBusId)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 20718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 20718, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pypciBusId);
  __Pyx_GIVEREF(__pyx_v_pypciBusId);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_pypciBusId)) __PYX_ERR(1, 20718, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20676
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20720
 *     return (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_4cuda_197cuIpcGetEventHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_196cuIpcGetEventHandle, "cuIpcGetEventHandle(event)\n Gets an interprocess handle for a previously allocated event.\n\n    Takes as input a previously allocated event. This event must have been\n    created with the :py:obj:`~.CU_EVENT_INTERPROCESS` and\n    :py:obj:`~.CU_EVENT_DISABLE_TIMING` flags set. This opaque handle may\n    be copied into other processes and opened with\n    :py:obj:`~.cuIpcOpenEventHandle` to allow efficient hardware\n    synchronization between GPU work in different processes.\n\n    After 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\n    in either process. Performing operations on the imported event after\n    the exported event has been freed with :py:obj:`~.cuEventDestroy` will\n    result in undefined behavior.\n\n    IPC functionality is restricted to devices with support for unified\n    addressing on Linux and Windows operating systems. IPC functionality on\n    Windows is restricted to GPUs in TCC mode Users can test their device\n    for IPC functionality by calling :py:obj:`~.cuapiDeviceGetAttribute`\n    with :py:obj:`~.CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED`\n\n    Parameters\n    ----------\n    event : :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\n    Returns\n    -------\n    CUresult\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`\n    pHandle : :py:obj:`~.CUipcEventHandle`\n        Pointer to a user allocated CUipcEventHandle in which to return the\n        opaque event handle\n\n    See Also\n    --------\n    :py:obj:`~.cuEventCreate`, :py:obj:`~.cuEventDestroy`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuEventQuery`, :py:obj:`~.cuStreamWaitEv""ent`, :py:obj:`~.cuIpcOpenEventHandle`, :py:obj:`~.cuIpcGetMemHandle`, :py:obj:`~.cuIpcOpenMemHandle`, :py:obj:`~.cuIpcCloseMemHandle`, :py:obj:`~.cudaIpcGetEventHandle`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_197cuIpcGetEventHandle = {"cuIpcGetEventHandle", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_197cuIpcGetEventHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_196cuIpcGetEventHandle};
static PyObject *__pyx_pw_4cuda_4cuda_197cuIpcGetEventHandle(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_event_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_event_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20720, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuIpcGetEventHandle") < 0)) __PYX_ERR(1, 20720, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_event = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuIpcGetEventHandle", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 20720, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuIpcGetEventHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_196cuIpcGetEventHandle(__pyx_self, __pyx_v_event);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_196cuIpcGetEventHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  struct __pyx_obj_4cuda_4cuda_CUipcEventHandle *__pyx_v_pHandle = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__583)
  __Pyx_RefNannySetupContext("cuIpcGetEventHandle", 1);
  __Pyx_TraceCall("cuIpcGetEventHandle", __pyx_f[1], 20720, 0, __PYX_ERR(1, 20720, __pyx_L1_error));

  /* "cuda/cuda.pyx":20763
 *     """
 *     cdef ccuda.CUevent cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20764
 *     cdef ccuda.CUevent cevent
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":20763
 *     """
 *     cdef ccuda.CUevent cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":20765
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20766
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20766, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":20767
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(CUevent(event))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20767, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":20765
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":20769
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     cdef CUipcEventHandle pHandle = CUipcEventHandle()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20769, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20769, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":20770
 *     else:
 *         pevent = int(CUevent(event))
 *         cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     cdef CUipcEventHandle pHandle = CUipcEventHandle()
 *     err = ccuda.cuIpcGetEventHandle(<ccuda.CUipcEventHandle*>pHandle._ptr, cevent)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20770, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":20771
 *         pevent = int(CUevent(event))
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     cdef CUipcEventHandle pHandle = CUipcEventHandle()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuIpcGetEventHandle(<ccuda.CUipcEventHandle*>pHandle._ptr, cevent)
 *     return (CUresult(err), pHandle)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUipcEventHandle)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pHandle = ((struct __pyx_obj_4cuda_4cuda_CUipcEventHandle *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":20772
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     cdef CUipcEventHandle pHandle = CUipcEventHandle()
 *     err = ccuda.cuIpcGetEventHandle(<ccuda.CUipcEventHandle*>pHandle._ptr, cevent)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pHandle)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuIpcGetEventHandle(((CUipcEventHandle *)__pyx_v_pHandle->__pyx_base.__pyx_base._ptr), __pyx_v_cevent); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20772, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":20773
 *     cdef CUipcEventHandle pHandle = CUipcEventHandle()
 *     err = ccuda.cuIpcGetEventHandle(<ccuda.CUipcEventHandle*>pHandle._ptr, cevent)
 *     return (CUresult(err), pHandle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 20773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20773, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 20773, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pHandle))) __PYX_ERR(1, 20773, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20720
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20775
 *     return (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_4cuda_199cuIpcOpenEventHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_198cuIpcOpenEventHandle, "cuIpcOpenEventHandle(CUipcEventHandle handle: CUipcEventHandle)\n Opens an interprocess event handle for use in the current process.\n\n    Opens 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\n    freed with :py:obj:`~.cuEventDestroy`.\n\n    Performing operations on the imported event after the exported event\n    has been freed with :py:obj:`~.cuEventDestroy` will result in undefined\n    behavior.\n\n    IPC functionality is restricted to devices with support for unified\n    addressing on Linux and Windows operating systems. IPC functionality on\n    Windows is restricted to GPUs in TCC mode Users can test their device\n    for IPC functionality by calling :py:obj:`~.cuapiDeviceGetAttribute`\n    with :py:obj:`~.CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED`\n\n    Parameters\n    ----------\n    handle : :py:obj:`~.CUipcEventHandle`\n        Interprocess handle to open\n\n    Returns\n    -------\n    CUresult\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`\n    phEvent : :py:obj:`~.CUevent`\n        Returns the imported event\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_199cuIpcOpenEventHandle = {"cuIpcOpenEventHandle", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_199cuIpcOpenEventHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_198cuIpcOpenEventHandle};
static PyObject *__pyx_pw_4cuda_4cuda_199cuIpcOpenEventHandle(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_handle_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_handle_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20775, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuIpcOpenEventHandle") < 0)) __PYX_ERR(1, 20775, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_handle = ((struct __pyx_obj_4cuda_4cuda_CUipcEventHandle *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuIpcOpenEventHandle", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 20775, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUipcEventHandle, 0, "handle", 0))) __PYX_ERR(1, 20776, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_198cuIpcOpenEventHandle(__pyx_self, __pyx_v_handle);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_198cuIpcOpenEventHandle(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUipcEventHandle *__pyx_v_handle) {
  struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_phEvent = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__584)
  __Pyx_RefNannySetupContext("cuIpcOpenEventHandle", 1);
  __Pyx_TraceCall("cuIpcOpenEventHandle", __pyx_f[1], 20775, 0, __PYX_ERR(1, 20775, __pyx_L1_error));

  /* "cuda/cuda.pyx":20811
 *     :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()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuIpcOpenEventHandle(<ccuda.CUevent*>phEvent._ptr, handle._ptr[0])
 *     return (CUresult(err), phEvent)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 20811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_phEvent = ((struct __pyx_obj_4cuda_4cuda_CUevent *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":20812
 *     """
 *     cdef CUevent phEvent = CUevent()
 *     err = ccuda.cuIpcOpenEventHandle(<ccuda.CUevent*>phEvent._ptr, handle._ptr[0])             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phEvent)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuIpcOpenEventHandle(((CUevent *)__pyx_v_phEvent->_ptr), (__pyx_v_handle->__pyx_base.__pyx_base._ptr[0])); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20812, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":20813
 *     cdef CUevent phEvent = CUevent()
 *     err = ccuda.cuIpcOpenEventHandle(<ccuda.CUevent*>phEvent._ptr, handle._ptr[0])
 *     return (CUresult(err), phEvent)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 20813, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20813, __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)) __PYX_ERR(1, 20813, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phEvent);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phEvent);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_phEvent))) __PYX_ERR(1, 20813, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20775
 *     return (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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuIpcOpenEventHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_phEvent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20815
 *     return (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_4cuda_201cuIpcGetMemHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_200cuIpcGetMemHandle, "cuIpcGetMemHandle(dptr)\n Gets an interprocess memory handle for an existing device memory allocation.\n\n    Takes a pointer to the base of an existing device memory allocation\n    created with :py:obj:`~.cuMemAlloc` and exports it for use in another\n    process. This is a lightweight operation and may be called multiple\n    times on an allocation without adverse effects.\n\n    If a region of memory is freed with :py:obj:`~.cuMemFree` and a\n    subsequent call to :py:obj:`~.cuMemAlloc` returns memory with the same\n    device address, :py:obj:`~.cuIpcGetMemHandle` will return a unique\n    handle for the new memory.\n\n    IPC functionality is restricted to devices with support for unified\n    addressing on Linux and Windows operating systems. IPC functionality on\n    Windows is restricted to GPUs in TCC mode Users can test their device\n    for IPC functionality by calling :py:obj:`~.cuapiDeviceGetAttribute`\n    with :py:obj:`~.CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED`\n\n    Parameters\n    ----------\n    dptr : :py:obj:`~.CUdeviceptr`\n        Base pointer to previously allocated device memory\n\n    Returns\n    -------\n    CUresult\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`\n    pHandle : :py:obj:`~.CUipcMemHandle`\n        Pointer to user allocated :py:obj:`~.CUipcMemHandle` to return the\n        handle in.\n\n    See Also\n    --------\n    :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuIpcGetEventHandle`, :py:obj:`~.cuIpcOpenEventHandle`, :py:obj:`~.cuIpcOpenMemHandle`, :py:obj:`~.cuIpcCloseMemHandle`, :py:obj:`~.cudaIpcGetMemHandle`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_201cuIpcGetMemHandle = {"cuIpcGetMemHandle", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_201cuIpcGetMemHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_200cuIpcGetMemHandle};
static PyObject *__pyx_pw_4cuda_4cuda_201cuIpcGetMemHandle(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dptr_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20815, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuIpcGetMemHandle") < 0)) __PYX_ERR(1, 20815, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_dptr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuIpcGetMemHandle", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 20815, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuIpcGetMemHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_200cuIpcGetMemHandle(__pyx_self, __pyx_v_dptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_200cuIpcGetMemHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr) {
  CUdeviceptr __pyx_v_cdptr;
  PyObject *__pyx_v_pdptr = NULL;
  struct __pyx_obj_4cuda_4cuda_CUipcMemHandle *__pyx_v_pHandle = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__585)
  __Pyx_RefNannySetupContext("cuIpcGetMemHandle", 1);
  __Pyx_TraceCall("cuIpcGetMemHandle", __pyx_f[1], 20815, 0, __PYX_ERR(1, 20815, __pyx_L1_error));

  /* "cuda/cuda.pyx":20853
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20854
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 */
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":20853
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":20855
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20856
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20856, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":20857
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20857, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":20855
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":20859
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef CUipcMemHandle pHandle = CUipcMemHandle()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":20860
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef CUipcMemHandle pHandle = CUipcMemHandle()
 *     err = ccuda.cuIpcGetMemHandle(<ccuda.CUipcMemHandle*>pHandle._ptr, cdptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20860, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":20861
 *         pdptr = int(CUdeviceptr(dptr))
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef CUipcMemHandle pHandle = CUipcMemHandle()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuIpcGetMemHandle(<ccuda.CUipcMemHandle*>pHandle._ptr, cdptr)
 *     return (CUresult(err), pHandle)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUipcMemHandle)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pHandle = ((struct __pyx_obj_4cuda_4cuda_CUipcMemHandle *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":20862
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef CUipcMemHandle pHandle = CUipcMemHandle()
 *     err = ccuda.cuIpcGetMemHandle(<ccuda.CUipcMemHandle*>pHandle._ptr, cdptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pHandle)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuIpcGetMemHandle(((CUipcMemHandle *)__pyx_v_pHandle->__pyx_base.__pyx_base._ptr), __pyx_v_cdptr); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20862, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":20863
 *     cdef CUipcMemHandle pHandle = CUipcMemHandle()
 *     err = ccuda.cuIpcGetMemHandle(<ccuda.CUipcMemHandle*>pHandle._ptr, cdptr)
 *     return (CUresult(err), pHandle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 20863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 20863, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pHandle))) __PYX_ERR(1, 20863, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20815
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20865
 *     return (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_4cuda_203cuIpcOpenMemHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_202cuIpcOpenMemHandle, "cuIpcOpenMemHandle(CUipcMemHandle handle: CUipcMemHandle, unsigned int Flags)\n Opens an interprocess memory handle exported from another process and returns a device pointer usable in the local process.\n\n    Maps memory exported from another process with\n    :py:obj:`~.cuIpcGetMemHandle` into the current device address space.\n    For contexts on different devices :py:obj:`~.cuIpcOpenMemHandle` can\n    attempt 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\n    possible.\n\n    Contexts that may open :py:obj:`~.CUipcMemHandles` are restricted in\n    the 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\n    If the memory handle has already been opened by the current context,\n    the reference count on the handle is incremented by 1 and the existing\n    device pointer is returned.\n\n    Memory returned from :py:obj:`~.cuIpcOpenMemHandle` must be freed with\n    :py:obj:`~.cuIpcCloseMemHandle`.\n\n    Calling :py:obj:`~.cuMemFree` on an exported memory region before\n    calling :py:obj:`~.cuIpcCloseMemHandle` in the importing context will\n    result in undefined behavior.\n\n    IPC functionality is restricted to devices with support for unified\n    addressing on Linux and Windows operating systems. IPC functionality on\n    Windows is restricted to GPUs in TCC mode Users can test their device\n    for IPC functionality by calling :py:obj:`~.cuapiDeviceGetAttribute`\n    with :py:obj:`~.CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED`\n\n    Parameters\n    ----------\n    handle : :py:obj:`~.CUipcMemHandle`\n        :py:obj:`~.CUipcMemHandle` to open\n    Flags : unsigned int\n        Flags for this oper""ation. Must be specified as\n        :py:obj:`~.CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS`\n\n    Returns\n    -------\n    CUresult\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`\n    pdptr : :py:obj:`~.CUdeviceptr`\n        Returned device pointer\n\n    See 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\n    Notes\n    -----\n    No guarantees are made about the address returned in `*pdptr`. In particular, multiple processes may not receive the same address for the same `handle`.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_203cuIpcOpenMemHandle = {"cuIpcOpenMemHandle", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_203cuIpcOpenMemHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_202cuIpcOpenMemHandle};
static PyObject *__pyx_pw_4cuda_4cuda_203cuIpcOpenMemHandle(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_handle_2,&__pyx_n_s_Flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_handle_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20865, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20865, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuIpcOpenMemHandle", 1, 2, 2, 1); __PYX_ERR(1, 20865, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuIpcOpenMemHandle") < 0)) __PYX_ERR(1, 20865, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_handle = ((struct __pyx_obj_4cuda_4cuda_CUipcMemHandle *)values[0]);
    __pyx_v_Flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 20866, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuIpcOpenMemHandle", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 20865, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUipcMemHandle, 0, "handle", 0))) __PYX_ERR(1, 20866, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_202cuIpcOpenMemHandle(__pyx_self, __pyx_v_handle, __pyx_v_Flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_202cuIpcOpenMemHandle(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUipcMemHandle *__pyx_v_handle, unsigned int __pyx_v_Flags) {
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_pdptr = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__586)
  __Pyx_RefNannySetupContext("cuIpcOpenMemHandle", 1);
  __Pyx_TraceCall("cuIpcOpenMemHandle", __pyx_f[1], 20865, 0, __PYX_ERR(1, 20865, __pyx_L1_error));

  /* "cuda/cuda.pyx":20923
 *     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()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuIpcOpenMemHandle(<ccuda.CUdeviceptr*>pdptr._ptr, handle._ptr[0], Flags)
 *     return (CUresult(err), pdptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 20923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pdptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":20924
 *     """
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     err = ccuda.cuIpcOpenMemHandle(<ccuda.CUdeviceptr*>pdptr._ptr, handle._ptr[0], Flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pdptr)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuIpcOpenMemHandle(((CUdeviceptr *)__pyx_v_pdptr->_ptr), (__pyx_v_handle->__pyx_base.__pyx_base._ptr[0]), __pyx_v_Flags); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20924, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":20925
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     err = ccuda.cuIpcOpenMemHandle(<ccuda.CUdeviceptr*>pdptr._ptr, handle._ptr[0], Flags)
 *     return (CUresult(err), pdptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 20925, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20925, __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)) __PYX_ERR(1, 20925, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pdptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pdptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pdptr))) __PYX_ERR(1, 20925, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20865
 *     return (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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuIpcOpenMemHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pdptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20927
 *     return (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_4cuda_205cuIpcCloseMemHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_204cuIpcCloseMemHandle, "cuIpcCloseMemHandle(dptr)\n Attempts to close memory mapped with :py:obj:`~.cuIpcOpenMemHandle`.\n\n    Decrements the reference count of the memory returned by\n    :py:obj:`~.cuIpcOpenMemHandle` by 1. When the reference count reaches\n    0, this API unmaps the memory. The original allocation in the exporting\n    process as well as imported mappings in other processes will be\n    unaffected.\n\n    Any resources used to enable peer access will be freed if this is the\n    last mapping using them.\n\n    IPC functionality is restricted to devices with support for unified\n    addressing on Linux and Windows operating systems. IPC functionality on\n    Windows is restricted to GPUs in TCC mode Users can test their device\n    for IPC functionality by calling :py:obj:`~.cuapiDeviceGetAttribute`\n    with :py:obj:`~.CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED`\n\n    Parameters\n    ----------\n    dptr : :py:obj:`~.CUdeviceptr`\n        Device pointer returned by :py:obj:`~.cuIpcOpenMemHandle`\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuIpcGetEventHandle`, :py:obj:`~.cuIpcOpenEventHandle`, :py:obj:`~.cuIpcGetMemHandle`, :py:obj:`~.cuIpcOpenMemHandle`, :py:obj:`~.cudaIpcCloseMemHandle`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_205cuIpcCloseMemHandle = {"cuIpcCloseMemHandle", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_205cuIpcCloseMemHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_204cuIpcCloseMemHandle};
static PyObject *__pyx_pw_4cuda_4cuda_205cuIpcCloseMemHandle(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dptr_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20927, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuIpcCloseMemHandle") < 0)) __PYX_ERR(1, 20927, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_dptr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuIpcCloseMemHandle", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 20927, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuIpcCloseMemHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_204cuIpcCloseMemHandle(__pyx_self, __pyx_v_dptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_204cuIpcCloseMemHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr) {
  CUdeviceptr __pyx_v_cdptr;
  PyObject *__pyx_v_pdptr = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__587)
  __Pyx_RefNannySetupContext("cuIpcCloseMemHandle", 1);
  __Pyx_TraceCall("cuIpcCloseMemHandle", __pyx_f[1], 20927, 0, __PYX_ERR(1, 20927, __pyx_L1_error));

  /* "cuda/cuda.pyx":20961
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20962
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 */
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":20961
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":20963
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":20964
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":20965
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20965, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":20963
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":20967
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     err = ccuda.cuIpcCloseMemHandle(cdptr)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20967, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20967, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":20968
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuIpcCloseMemHandle(cdptr)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 20968, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":20969
 *         pdptr = int(CUdeviceptr(dptr))
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     err = ccuda.cuIpcCloseMemHandle(cdptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuIpcCloseMemHandle(__pyx_v_cdptr); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 20969, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":20970
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     err = ccuda.cuIpcCloseMemHandle(cdptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 20970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 20970, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 20970, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20927
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuIpcCloseMemHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":20972
 *     return (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_4cuda_207cuMemHostRegister(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_206cuMemHostRegister, "cuMemHostRegister(p, size_t bytesize, unsigned int Flags)\n Registers an existing host memory range for use by CUDA.\n\n    Page-locks the memory range specified by `p` and `bytesize` and maps it\n    for the device(s) as specified by `Flags`. This memory range also is\n    added to the same tracking mechanism as :py:obj:`~.cuMemHostAlloc` to\n    automatically accelerate calls to functions such as\n    :py:obj:`~.cuMemcpyHtoD()`. Since the memory can be accessed directly\n    by the device, it can be read or written with much higher bandwidth\n    than pageable memory that has not been registered. Page-locking\n    excessive amounts of memory may degrade system performance, since it\n    reduces the amount of memory available to the system for paging. As a\n    result, this function is best used sparingly to register staging areas\n    for data exchange between host and device.\n\n    On systems where\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`\n    is true, :py:obj:`~.cuMemHostRegister` will not page-lock the memory\n    range specified by `ptr` but only populate unpopulated pages.\n\n    The `Flags` parameter enables different options to be specified that\n    affect 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\n    All of these flags are orthogonal to one another: a developer may page-\n    lock memory that is portable or mapped with no restrictions.\n\n    The :py:obj:`~.CU_MEMHOSTREGISTER_DEVICEMAP` flag may be specified on\n    CUDA contexts for devices that do not support mapped pinned memory. The\n    failure is deferred to :py:obj:`~.cuMemHostGetDevicePointer()` because\n    the memory may be mapped into other CUDA contexts via the\n    :py:obj:`~.CU_MEMHOSTREGISTER_PORTABLE` flag.\n\n    For devices that have a non-zero value for the device attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM`,\n    the 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\n    original host pointer `ptr` and depends on the devices visible to the\n    application. If all devices visible to the application have a non-zero\n    value 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\n    the device attribute, the device pointer returned by\n    :py:obj:`~.cuMemHostGetDevicePointer()` will not match the original\n    host pointer `ptr`, but it will be suitable for use on all devices\n    provided Unified Virtual Addres""sing is enabled. In such systems, it is\n    valid to access the memory using either pointer on devices that have a\n    non-zero value for the device attribute. Note however that such devices\n    should access the memory using only of the two pointers and not both.\n\n    The memory page-locked by this function must be unregistered with\n    :py:obj:`~.cuMemHostUnregister()`.\n\n    Parameters\n    ----------\n    p : Any\n        Host pointer to memory to page-lock\n    bytesize : size_t\n        Size in bytes of the address range to page-lock\n    Flags : unsigned int\n        Flags for allocation request\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_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\n    See Also\n    --------\n    :py:obj:`~.cuMemHostUnregister`, :py:obj:`~.cuMemHostGetFlags`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cudaHostRegister`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_207cuMemHostRegister = {"cuMemHostRegister", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_207cuMemHostRegister, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_206cuMemHostRegister};
static PyObject *__pyx_pw_4cuda_4cuda_207cuMemHostRegister(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_p,&__pyx_n_s_bytesize_2,&__pyx_n_s_Flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_p)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20972, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_bytesize_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20972, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemHostRegister", 1, 3, 3, 1); __PYX_ERR(1, 20972, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 20972, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemHostRegister", 1, 3, 3, 2); __PYX_ERR(1, 20972, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemHostRegister") < 0)) __PYX_ERR(1, 20972, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_p = values[0];
    __pyx_v_bytesize = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 20973, __pyx_L3_error)
    __pyx_v_Flags = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 20973, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemHostRegister", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 20972, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemHostRegister", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_206cuMemHostRegister(__pyx_self, __pyx_v_p, __pyx_v_bytesize, __pyx_v_Flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_206cuMemHostRegister(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p, size_t __pyx_v_bytesize, unsigned int __pyx_v_Flags) {
  PyObject *__pyx_v_cp = NULL;
  void *__pyx_v_cp_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  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_TraceFrameInit(__pyx_codeobj__588)
  __Pyx_RefNannySetupContext("cuMemHostRegister", 1);
  __Pyx_TraceCall("cuMemHostRegister", __pyx_f[1], 20972, 0, __PYX_ERR(1, 20972, __pyx_L1_error));

  /* "cuda/cuda.pyx":21068
 *     :py:obj:`~.cuMemHostUnregister`, :py:obj:`~.cuMemHostGetFlags`, :py:obj:`~.cuMemHostGetDevicePointer`, :py:obj:`~.cudaHostRegister`
 *     """
 *     cp = utils.HelperInputVoidPtr(p)             # <<<<<<<<<<<<<<
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr
 *     err = ccuda.cuMemHostRegister(cp_ptr, bytesize, Flags)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_p); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 21068, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cp = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":21069
 *     """
 *     cp = utils.HelperInputVoidPtr(p)
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemHostRegister(cp_ptr, bytesize, Flags)
 *     return (CUresult(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cp, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 21069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21069, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cp_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":21070
 *     cp = utils.HelperInputVoidPtr(p)
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr
 *     err = ccuda.cuMemHostRegister(cp_ptr, bytesize, Flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_5ccuda_cuMemHostRegister(__pyx_v_cp_ptr, __pyx_v_bytesize, __pyx_v_Flags); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 21070, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cuda.pyx":21071
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr
 *     err = ccuda.cuMemHostRegister(cp_ptr, bytesize, Flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21071, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 21071, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_7 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 21071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21071, __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)) __PYX_ERR(1, 21071, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":20972
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cuda.cuMemHostRegister", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cp);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":21073
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostUnregister(p):
 *     """ Unregisters a memory range that was registered with cuMemHostRegister.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_209cuMemHostUnregister(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_208cuMemHostUnregister, "cuMemHostUnregister(p)\n Unregisters a memory range that was registered with cuMemHostRegister.\n\n    Unmaps the memory range whose base address is specified by `p`, and\n    makes it pageable again.\n\n    The base address must be the same one specified to\n    :py:obj:`~.cuMemHostRegister()`.\n\n    Parameters\n    ----------\n    p : Any\n        Host pointer to memory to unregister\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_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED`,\n\n    See Also\n    --------\n    :py:obj:`~.cuMemHostRegister`, :py:obj:`~.cudaHostUnregister`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_209cuMemHostUnregister = {"cuMemHostUnregister", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_209cuMemHostUnregister, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_208cuMemHostUnregister};
static PyObject *__pyx_pw_4cuda_4cuda_209cuMemHostUnregister(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_p,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_p)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21073, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemHostUnregister") < 0)) __PYX_ERR(1, 21073, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_p = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemHostUnregister", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 21073, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemHostUnregister", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_208cuMemHostUnregister(__pyx_self, __pyx_v_p);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_208cuMemHostUnregister(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_p) {
  PyObject *__pyx_v_cp = NULL;
  void *__pyx_v_cp_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  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_TraceFrameInit(__pyx_codeobj__589)
  __Pyx_RefNannySetupContext("cuMemHostUnregister", 1);
  __Pyx_TraceCall("cuMemHostUnregister", __pyx_f[1], 21073, 0, __PYX_ERR(1, 21073, __pyx_L1_error));

  /* "cuda/cuda.pyx":21097
 *     :py:obj:`~.cuMemHostRegister`, :py:obj:`~.cudaHostUnregister`
 *     """
 *     cp = utils.HelperInputVoidPtr(p)             # <<<<<<<<<<<<<<
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr
 *     err = ccuda.cuMemHostUnregister(cp_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_p); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 21097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cp = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":21098
 *     """
 *     cp = utils.HelperInputVoidPtr(p)
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemHostUnregister(cp_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cp, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 21098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21098, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cp_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":21099
 *     cp = utils.HelperInputVoidPtr(p)
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr
 *     err = ccuda.cuMemHostUnregister(cp_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_5ccuda_cuMemHostUnregister(__pyx_v_cp_ptr); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 21099, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cuda.pyx":21100
 *     cdef void* cp_ptr = <void*><void_ptr>cp.cptr
 *     err = ccuda.cuMemHostUnregister(cp_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 21100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_7 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 21100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21100, __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)) __PYX_ERR(1, 21100, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":21073
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cuda.cuMemHostUnregister", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cp);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":21102
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy(dst, src, size_t ByteCount):
 *     """ Copies memory.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_211cuMemcpy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_210cuMemcpy, "cuMemcpy(dst, src, size_t ByteCount)\n Copies memory.\n\n    Copies data between two pointers. `dst` and `src` are base pointers of\n    the destination and source, respectively. `ByteCount` specifies the\n    number of bytes to copy. Note that this function infers the type of the\n    transfer (host to host, host to device, device to device, or device to\n    host) from the pointer values. This function is only allowed in\n    contexts which support unified addressing.\n\n    Parameters\n    ----------\n    dst : :py:obj:`~.CUdeviceptr`\n        Destination unified virtual address space pointer\n    src : :py:obj:`~.CUdeviceptr`\n        Source unified virtual address space pointer\n    ByteCount : size_t\n        Size of memory copy in bytes\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_VALUE`\n\n    See 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:`~.cuMemse""tD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemcpy`, :py:obj:`~.cudaMemcpyToSymbol`, :py:obj:`~.cudaMemcpyFromSymbol`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_211cuMemcpy = {"cuMemcpy", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_211cuMemcpy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_210cuMemcpy};
static PyObject *__pyx_pw_4cuda_4cuda_211cuMemcpy(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_src,&__pyx_n_s_ByteCount,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dst_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21102, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_src)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21102, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpy", 1, 3, 3, 1); __PYX_ERR(1, 21102, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ByteCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21102, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpy", 1, 3, 3, 2); __PYX_ERR(1, 21102, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpy") < 0)) __PYX_ERR(1, 21102, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_dst = values[0];
    __pyx_v_src = values[1];
    __pyx_v_ByteCount = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 21103, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpy", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 21102, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemcpy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_210cuMemcpy(__pyx_self, __pyx_v_dst, __pyx_v_src, __pyx_v_ByteCount);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_210cuMemcpy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src, size_t __pyx_v_ByteCount) {
  CUdeviceptr __pyx_v_csrc;
  PyObject *__pyx_v_psrc = NULL;
  CUdeviceptr __pyx_v_cdst;
  PyObject *__pyx_v_pdst = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__590)
  __Pyx_RefNannySetupContext("cuMemcpy", 1);
  __Pyx_TraceCall("cuMemcpy", __pyx_f[1], 21102, 0, __PYX_ERR(1, 21102, __pyx_L1_error));

  /* "cuda/cuda.pyx":21132
 *     """
 *     cdef ccuda.CUdeviceptr csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(src, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_src == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21133
 *     cdef ccuda.CUdeviceptr csrc
 *     if src is None:
 *         csrc = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(src, (CUdeviceptr,)):
 *         psrc = int(src)
 */
    __pyx_v_csrc = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21132
 *     """
 *     cdef ccuda.CUdeviceptr csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(src, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21134
 *     if src is None:
 *         csrc = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(src, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_src, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21135
 *         csrc = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(src, (CUdeviceptr,)):
 *         psrc = int(src)             # <<<<<<<<<<<<<<
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_src); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21136
 *     elif isinstance(src, (CUdeviceptr,)):
 *         psrc = int(src)
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     else:
 *         psrc = int(CUdeviceptr(src))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21136, __pyx_L1_error)
    __pyx_v_csrc = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21134
 *     if src is None:
 *         csrc = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(src, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21138
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc
 *     else:
 *         psrc = int(CUdeviceptr(src))             # <<<<<<<<<<<<<<
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc
 *     cdef ccuda.CUdeviceptr cdst
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_src); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21139
 *     else:
 *         psrc = int(CUdeviceptr(src))
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdst
 *     if dst is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21139, __pyx_L1_error)
    __pyx_v_csrc = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":21141
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc
 *     cdef ccuda.CUdeviceptr cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dst, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21142
 *     cdef ccuda.CUdeviceptr cdst
 *     if dst is None:
 *         cdst = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dst, (CUdeviceptr,)):
 *         pdst = int(dst)
 */
    __pyx_v_cdst = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21141
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc
 *     cdef ccuda.CUdeviceptr cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dst, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":21143
 *     if dst is None:
 *         cdst = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dst, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21144
 *         cdst = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dst, (CUdeviceptr,)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdst = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21145
 *     elif isinstance(dst, (CUdeviceptr,)):
 *         pdst = int(dst)
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(CUdeviceptr(dst))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21145, __pyx_L1_error)
    __pyx_v_cdst = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21143
 *     if dst is None:
 *         cdst = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dst, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":21147
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *     else:
 *         pdst = int(CUdeviceptr(dst))             # <<<<<<<<<<<<<<
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *     err = ccuda.cuMemcpy(cdst, csrc, ByteCount)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dst); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdst = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21148
 *     else:
 *         pdst = int(CUdeviceptr(dst))
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpy(cdst, csrc, ByteCount)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21148, __pyx_L1_error)
    __pyx_v_cdst = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":21149
 *         pdst = int(CUdeviceptr(dst))
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *     err = ccuda.cuMemcpy(cdst, csrc, ByteCount)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemcpy(__pyx_v_cdst, __pyx_v_csrc, __pyx_v_ByteCount); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 21149, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":21150
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *     err = ccuda.cuMemcpy(cdst, csrc, ByteCount)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 21150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 21150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 21150, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":21102
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":21152
 *     return (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_4cuda_213cuMemcpyPeer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_212cuMemcpyPeer, "cuMemcpyPeer(dstDevice, dstContext, srcDevice, srcContext, size_t ByteCount)\n Copies device memory between two contexts.\n\n    Copies from device memory in one context to device memory in another\n    context. `dstDevice` is the base device pointer of the destination\n    memory and `dstContext` is the destination context. `srcDevice` is the\n    base device pointer of the source memory and `srcContext` is the source\n    pointer. `ByteCount` specifies the number of bytes to copy.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    dstContext : :py:obj:`~.CUcontext`\n        Destination context\n    srcDevice : :py:obj:`~.CUdeviceptr`\n        Source device pointer\n    srcContext : :py:obj:`~.CUcontext`\n        Source context\n    ByteCount : size_t\n        Size of memory copy in bytes\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpy3DPeer`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyPeerAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cudaMemcpyPeer`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_213cuMemcpyPeer = {"cuMemcpyPeer", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_213cuMemcpyPeer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_212cuMemcpyPeer};
static PyObject *__pyx_pw_4cuda_4cuda_213cuMemcpyPeer(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_dstContext_2,&__pyx_n_s_srcDevice_2,&__pyx_n_s_srcContext_2,&__pyx_n_s_ByteCount,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21152, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstContext_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21152, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyPeer", 1, 5, 5, 1); __PYX_ERR(1, 21152, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21152, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyPeer", 1, 5, 5, 2); __PYX_ERR(1, 21152, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcContext_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21152, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyPeer", 1, 5, 5, 3); __PYX_ERR(1, 21152, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ByteCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21152, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyPeer", 1, 5, 5, 4); __PYX_ERR(1, 21152, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpyPeer") < 0)) __PYX_ERR(1, 21152, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_dstContext = values[1];
    __pyx_v_srcDevice = values[2];
    __pyx_v_srcContext = values[3];
    __pyx_v_ByteCount = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 21153, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyPeer", 1, 5, 5, __pyx_nargs); __PYX_ERR(1, 21152, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyPeer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_212cuMemcpyPeer(__pyx_self, __pyx_v_dstDevice, __pyx_v_dstContext, __pyx_v_srcDevice, __pyx_v_srcContext, __pyx_v_ByteCount);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_212cuMemcpyPeer(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_csrcContext;
  PyObject *__pyx_v_psrcContext = NULL;
  CUdeviceptr __pyx_v_csrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  CUcontext __pyx_v_cdstContext;
  PyObject *__pyx_v_pdstContext = NULL;
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__591)
  __Pyx_RefNannySetupContext("cuMemcpyPeer", 1);
  __Pyx_TraceCall("cuMemcpyPeer", __pyx_f[1], 21152, 0, __PYX_ERR(1, 21152, __pyx_L1_error));

  /* "cuda/cuda.pyx":21185
 *     """
 *     cdef ccuda.CUcontext csrcContext
 *     if srcContext is None:             # <<<<<<<<<<<<<<
 *         csrcContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(srcContext, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_srcContext == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21186
 *     cdef ccuda.CUcontext csrcContext
 *     if srcContext is None:
 *         csrcContext = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcContext, (CUcontext,)):
 *         psrcContext = int(srcContext)
 */
    __pyx_v_csrcContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21185
 *     """
 *     cdef ccuda.CUcontext csrcContext
 *     if srcContext is None:             # <<<<<<<<<<<<<<
 *         csrcContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(srcContext, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21187
 *     if srcContext is None:
 *         csrcContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(srcContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         psrcContext = int(srcContext)
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcContext, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21188
 *         csrcContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(srcContext, (CUcontext,)):
 *         psrcContext = int(srcContext)             # <<<<<<<<<<<<<<
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcContext = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21189
 *     elif isinstance(srcContext, (CUcontext,)):
 *         psrcContext = int(srcContext)
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext             # <<<<<<<<<<<<<<
 *     else:
 *         psrcContext = int(CUcontext(srcContext))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21189, __pyx_L1_error)
    __pyx_v_csrcContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21187
 *     if srcContext is None:
 *         csrcContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(srcContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         psrcContext = int(srcContext)
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21191
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 *     else:
 *         psrcContext = int(CUcontext(srcContext))             # <<<<<<<<<<<<<<
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 *     cdef ccuda.CUdeviceptr csrcDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_srcContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcContext = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21192
 *     else:
 *         psrcContext = int(CUcontext(srcContext))
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21192, __pyx_L1_error)
    __pyx_v_csrcContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":21194
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21195
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
 */
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21194
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":21196
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21197
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21197, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_psrcDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21198
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21198, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21196
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":21200
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdef ccuda.CUcontext cdstContext
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_srcDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_psrcDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21201
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUcontext cdstContext
 *     if dstContext is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21201, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":21203
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdef ccuda.CUcontext cdstContext
 *     if dstContext is None:             # <<<<<<<<<<<<<<
 *         cdstContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(dstContext, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_dstContext == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21204
 *     cdef ccuda.CUcontext cdstContext
 *     if dstContext is None:
 *         cdstContext = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstContext, (CUcontext,)):
 *         pdstContext = int(dstContext)
 */
    __pyx_v_cdstContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21203
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdef ccuda.CUcontext cdstContext
 *     if dstContext is None:             # <<<<<<<<<<<<<<
 *         cdstContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(dstContext, (CUcontext,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":21205
 *     if dstContext is None:
 *         cdstContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(dstContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pdstContext = int(dstContext)
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstContext, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21206
 *         cdstContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(dstContext, (CUcontext,)):
 *         pdstContext = int(dstContext)             # <<<<<<<<<<<<<<
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21206, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstContext = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21207
 *     elif isinstance(dstContext, (CUcontext,)):
 *         pdstContext = int(dstContext)
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext             # <<<<<<<<<<<<<<
 *     else:
 *         pdstContext = int(CUcontext(dstContext))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21207, __pyx_L1_error)
    __pyx_v_cdstContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21205
 *     if dstContext is None:
 *         cdstContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(dstContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pdstContext = int(dstContext)
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":21209
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 *     else:
 *         pdstContext = int(CUcontext(dstContext))             # <<<<<<<<<<<<<<
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 *     cdef ccuda.CUdeviceptr cdstDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_dstContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstContext = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21210
 *     else:
 *         pdstContext = int(CUcontext(dstContext))
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21210, __pyx_L1_error)
    __pyx_v_cdstContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":21212
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21213
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21212
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cuda.pyx":21214
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21215
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21216
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21216, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21214
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L6;
  }

  /* "cuda/cuda.pyx":21218
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemcpyPeer(cdstDevice, cdstContext, csrcDevice, csrcContext, ByteCount)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21218, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21218, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21219
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpyPeer(cdstDevice, cdstContext, csrcDevice, csrcContext, ByteCount)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21219, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L6:;

  /* "cuda/cuda.pyx":21220
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemcpyPeer(cdstDevice, cdstContext, csrcDevice, csrcContext, ByteCount)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemcpyPeer(__pyx_v_cdstDevice, __pyx_v_cdstContext, __pyx_v_csrcDevice, __pyx_v_csrcContext, __pyx_v_ByteCount); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 21220, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":21221
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemcpyPeer(cdstDevice, cdstContext, csrcDevice, csrcContext, ByteCount)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 21221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 21221, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 21221, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":21152
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":21223
 *     return (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_4cuda_215cuMemcpyHtoD(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_214cuMemcpyHtoD, "cuMemcpyHtoD(dstDevice, srcHost, size_t ByteCount)\n Copies memory from Host to Device.\n\n    Copies from host memory to device memory. `dstDevice` and `srcHost` are\n    the base addresses of the destination and source, respectively.\n    `ByteCount` specifies the number of bytes to copy.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    srcHost : Any\n        Source host pointer\n    ByteCount : size_t\n        Size of memory copy in bytes\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_215cuMemcpyHtoD = {"cuMemcpyHtoD", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_215cuMemcpyHtoD, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_214cuMemcpyHtoD};
static PyObject *__pyx_pw_4cuda_4cuda_215cuMemcpyHtoD(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_srcHost_2,&__pyx_n_s_ByteCount,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21223, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcHost_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21223, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoD", 1, 3, 3, 1); __PYX_ERR(1, 21223, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ByteCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21223, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoD", 1, 3, 3, 2); __PYX_ERR(1, 21223, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpyHtoD") < 0)) __PYX_ERR(1, 21223, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_srcHost = values[1];
    __pyx_v_ByteCount = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 21224, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoD", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 21223, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyHtoD", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_214cuMemcpyHtoD(__pyx_self, __pyx_v_dstDevice, __pyx_v_srcHost, __pyx_v_ByteCount);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_214cuMemcpyHtoD(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_srcHost, size_t __pyx_v_ByteCount) {
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  PyObject *__pyx_v_csrcHost = NULL;
  void *__pyx_v_csrcHost_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__592)
  __Pyx_RefNannySetupContext("cuMemcpyHtoD", 1);
  __Pyx_TraceCall("cuMemcpyHtoD", __pyx_f[1], 21223, 0, __PYX_ERR(1, 21223, __pyx_L1_error));

  /* "cuda/cuda.pyx":21250
 *     """
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21251
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21250
 *     """
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21252
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21253
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21254
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21254, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21252
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21256
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21256, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21256, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21257
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21257, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":21258
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)             # <<<<<<<<<<<<<<
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr
 *     err = ccuda.cuMemcpyHtoD(cdstDevice, csrcHost_ptr, ByteCount)
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_srcHost); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_csrcHost = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":21259
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpyHtoD(cdstDevice, csrcHost_ptr, ByteCount)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrcHost, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21259, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_csrcHost_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":21260
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr
 *     err = ccuda.cuMemcpyHtoD(cdstDevice, csrcHost_ptr, ByteCount)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemcpyHtoD(__pyx_v_cdstDevice, __pyx_v_csrcHost_ptr, __pyx_v_ByteCount); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 21260, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":21261
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr
 *     err = ccuda.cuMemcpyHtoD(cdstDevice, csrcHost_ptr, ByteCount)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 21261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21261, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 21261, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":21223
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyHtoD", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XDECREF(__pyx_v_csrcHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":21263
 *     return (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_4cuda_217cuMemcpyDtoH(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_216cuMemcpyDtoH, "cuMemcpyDtoH(dstHost, srcDevice, size_t ByteCount)\n Copies memory from Device to Host.\n\n    Copies from device to host memory. `dstHost` and `srcDevice` specify\n    the base pointers of the destination and source, respectively.\n    `ByteCount` specifies the number of bytes to copy.\n\n    Parameters\n    ----------\n    dstHost : Any\n        Destination host pointer\n    srcDevice : :py:obj:`~.CUdeviceptr`\n        Source device pointer\n    ByteCount : size_t\n        Size of memory copy in bytes\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_217cuMemcpyDtoH = {"cuMemcpyDtoH", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_217cuMemcpyDtoH, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_216cuMemcpyDtoH};
static PyObject *__pyx_pw_4cuda_4cuda_217cuMemcpyDtoH(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstHost_2,&__pyx_n_s_srcDevice_2,&__pyx_n_s_ByteCount,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstHost_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21263, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21263, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoH", 1, 3, 3, 1); __PYX_ERR(1, 21263, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ByteCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21263, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoH", 1, 3, 3, 2); __PYX_ERR(1, 21263, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpyDtoH") < 0)) __PYX_ERR(1, 21263, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_dstHost = values[0];
    __pyx_v_srcDevice = values[1];
    __pyx_v_ByteCount = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 21264, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoH", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 21263, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyDtoH", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_216cuMemcpyDtoH(__pyx_self, __pyx_v_dstHost, __pyx_v_srcDevice, __pyx_v_ByteCount);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_216cuMemcpyDtoH(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstHost, PyObject *__pyx_v_srcDevice, size_t __pyx_v_ByteCount) {
  CUdeviceptr __pyx_v_csrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  PyObject *__pyx_v_cdstHost = NULL;
  void *__pyx_v_cdstHost_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__593)
  __Pyx_RefNannySetupContext("cuMemcpyDtoH", 1);
  __Pyx_TraceCall("cuMemcpyDtoH", __pyx_f[1], 21263, 0, __PYX_ERR(1, 21263, __pyx_L1_error));

  /* "cuda/cuda.pyx":21290
 *     """
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21291
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
 */
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21290
 *     """
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21292
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21293
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21293, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21294
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21294, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21292
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21296
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21297
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21297, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":21298
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)             # <<<<<<<<<<<<<<
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr
 *     err = ccuda.cuMemcpyDtoH(cdstHost_ptr, csrcDevice, ByteCount)
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dstHost); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cdstHost = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":21299
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpyDtoH(cdstHost_ptr, csrcDevice, ByteCount)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdstHost, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21299, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cdstHost_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":21300
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr
 *     err = ccuda.cuMemcpyDtoH(cdstHost_ptr, csrcDevice, ByteCount)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemcpyDtoH(__pyx_v_cdstHost_ptr, __pyx_v_csrcDevice, __pyx_v_ByteCount); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 21300, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":21301
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr
 *     err = ccuda.cuMemcpyDtoH(cdstHost_ptr, csrcDevice, ByteCount)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 21301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21301, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 21301, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":21263
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyDtoH", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcDevice);
  __Pyx_XDECREF(__pyx_v_cdstHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":21303
 *     return (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_4cuda_219cuMemcpyDtoD(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_218cuMemcpyDtoD, "cuMemcpyDtoD(dstDevice, srcDevice, size_t ByteCount)\n Copies memory from Device to Device.\n\n    Copies from device memory to device memory. `dstDevice` and `srcDevice`\n    are the base pointers of the destination and source, respectively.\n    `ByteCount` specifies the number of bytes to copy.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    srcDevice : :py:obj:`~.CUdeviceptr`\n        Source device pointer\n    ByteCount : size_t\n        Size of memory copy in bytes\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_219cuMemcpyDtoD = {"cuMemcpyDtoD", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_219cuMemcpyDtoD, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_218cuMemcpyDtoD};
static PyObject *__pyx_pw_4cuda_4cuda_219cuMemcpyDtoD(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_srcDevice_2,&__pyx_n_s_ByteCount,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21303, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21303, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoD", 1, 3, 3, 1); __PYX_ERR(1, 21303, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ByteCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21303, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoD", 1, 3, 3, 2); __PYX_ERR(1, 21303, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpyDtoD") < 0)) __PYX_ERR(1, 21303, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_srcDevice = values[1];
    __pyx_v_ByteCount = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 21304, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoD", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 21303, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyDtoD", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_218cuMemcpyDtoD(__pyx_self, __pyx_v_dstDevice, __pyx_v_srcDevice, __pyx_v_ByteCount);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_218cuMemcpyDtoD(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_srcDevice, size_t __pyx_v_ByteCount) {
  CUdeviceptr __pyx_v_csrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__594)
  __Pyx_RefNannySetupContext("cuMemcpyDtoD", 1);
  __Pyx_TraceCall("cuMemcpyDtoD", __pyx_f[1], 21303, 0, __PYX_ERR(1, 21303, __pyx_L1_error));

  /* "cuda/cuda.pyx":21330
 *     """
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21331
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
 */
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21330
 *     """
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21332
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21333
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21334
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21334, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21332
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21336
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdef ccuda.CUdeviceptr cdstDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21337
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21337, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":21339
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21340
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21339
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":21341
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21342
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21343
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21343, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21341
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":21345
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemcpyDtoD(cdstDevice, csrcDevice, ByteCount)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21345, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21345, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21346
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpyDtoD(cdstDevice, csrcDevice, ByteCount)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21346, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":21347
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemcpyDtoD(cdstDevice, csrcDevice, ByteCount)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemcpyDtoD(__pyx_v_cdstDevice, __pyx_v_csrcDevice, __pyx_v_ByteCount); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 21347, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":21348
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemcpyDtoD(cdstDevice, csrcDevice, ByteCount)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 21348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 21348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 21348, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":21303
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":21350
 *     return (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_4cuda_221cuMemcpyDtoA(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_220cuMemcpyDtoA, "cuMemcpyDtoA(dstArray, size_t dstOffset, srcDevice, size_t ByteCount)\n Copies memory from Device to Array.\n\n    Copies from device memory to a 1D CUDA array. `dstArray` and\n    `dstOffset` specify the CUDA array handle and starting index of the\n    destination data. `srcDevice` specifies the base pointer of the source.\n    `ByteCount` specifies the number of bytes to copy.\n\n    Parameters\n    ----------\n    dstArray : :py:obj:`~.CUarray`\n        Destination array\n    dstOffset : size_t\n        Offset in bytes of destination array\n    srcDevice : :py:obj:`~.CUdeviceptr`\n        Source device pointer\n    ByteCount : size_t\n        Size of memory copy in bytes\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_221cuMemcpyDtoA = {"cuMemcpyDtoA", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_221cuMemcpyDtoA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_220cuMemcpyDtoA};
static PyObject *__pyx_pw_4cuda_4cuda_221cuMemcpyDtoA(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstArray_2,&__pyx_n_s_dstOffset,&__pyx_n_s_srcDevice_2,&__pyx_n_s_ByteCount,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21350, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstOffset)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21350, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoA", 1, 4, 4, 1); __PYX_ERR(1, 21350, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21350, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoA", 1, 4, 4, 2); __PYX_ERR(1, 21350, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ByteCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21350, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoA", 1, 4, 4, 3); __PYX_ERR(1, 21350, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpyDtoA") < 0)) __PYX_ERR(1, 21350, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_dstArray = values[0];
    __pyx_v_dstOffset = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_dstOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 21351, __pyx_L3_error)
    __pyx_v_srcDevice = values[2];
    __pyx_v_ByteCount = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 21351, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoA", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 21350, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyDtoA", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_220cuMemcpyDtoA(__pyx_self, __pyx_v_dstArray, __pyx_v_dstOffset, __pyx_v_srcDevice, __pyx_v_ByteCount);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_220cuMemcpyDtoA(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_csrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  CUarray __pyx_v_cdstArray;
  PyObject *__pyx_v_pdstArray = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__595)
  __Pyx_RefNannySetupContext("cuMemcpyDtoA", 1);
  __Pyx_TraceCall("cuMemcpyDtoA", __pyx_f[1], 21350, 0, __PYX_ERR(1, 21350, __pyx_L1_error));

  /* "cuda/cuda.pyx":21380
 *     """
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21381
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
 */
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21380
 *     """
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21382
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21383
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21384
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21384, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21382
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21386
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdef ccuda.CUarray cdstArray
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21387
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUarray cdstArray
 *     if dstArray is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21387, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":21389
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdef ccuda.CUarray cdstArray
 *     if dstArray is None:             # <<<<<<<<<<<<<<
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_dstArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21390
 *     cdef ccuda.CUarray cdstArray
 *     if dstArray is None:
 *         cdstArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)
 */
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21389
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdef ccuda.CUarray cdstArray
 *     if dstArray is None:             # <<<<<<<<<<<<<<
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":21391
 *     if dstArray is None:
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21392
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21393
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *     else:
 *         pdstArray = int(CUarray(dstArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21393, __pyx_L1_error)
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21391
 *     if dstArray is None:
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":21395
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     else:
 *         pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     err = ccuda.cuMemcpyDtoA(cdstArray, dstOffset, csrcDevice, ByteCount)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_dstArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21396
 *     else:
 *         pdstArray = int(CUarray(dstArray))
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpyDtoA(cdstArray, dstOffset, csrcDevice, ByteCount)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21396, __pyx_L1_error)
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":21397
 *         pdstArray = int(CUarray(dstArray))
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     err = ccuda.cuMemcpyDtoA(cdstArray, dstOffset, csrcDevice, ByteCount)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemcpyDtoA(__pyx_v_cdstArray, __pyx_v_dstOffset, __pyx_v_csrcDevice, __pyx_v_ByteCount); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 21397, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":21398
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     err = ccuda.cuMemcpyDtoA(cdstArray, dstOffset, csrcDevice, ByteCount)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 21398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 21398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 21398, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":21350
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":21400
 *     return (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_4cuda_223cuMemcpyAtoD(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_222cuMemcpyAtoD, "cuMemcpyAtoD(dstDevice, srcArray, size_t srcOffset, size_t ByteCount)\n Copies memory from Array to Device.\n\n    Copies from one 1D CUDA array to device memory. `dstDevice` specifies\n    the base pointer of the destination and must be naturally aligned with\n    the CUDA array elements. `srcArray` and `srcOffset` specify the CUDA\n    array handle and the offset in bytes into the array where the copy is\n    to begin. `ByteCount` specifies the number of bytes to copy and must be\n    evenly divisible by the array element size.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    srcArray : :py:obj:`~.CUarray`\n        Source array\n    srcOffset : size_t\n        Offset in bytes of source array\n    ByteCount : size_t\n        Size of memory copy in bytes\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_VALUE`\n\n    See 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:`~.cu""MemsetD2D8`, :py:obj:`~.cuMemsetD2D16`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cudaMemcpyFromArray`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_223cuMemcpyAtoD = {"cuMemcpyAtoD", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_223cuMemcpyAtoD, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_222cuMemcpyAtoD};
static PyObject *__pyx_pw_4cuda_4cuda_223cuMemcpyAtoD(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_srcArray_2,&__pyx_n_s_srcOffset,&__pyx_n_s_ByteCount,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21400, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21400, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoD", 1, 4, 4, 1); __PYX_ERR(1, 21400, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcOffset)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21400, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoD", 1, 4, 4, 2); __PYX_ERR(1, 21400, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ByteCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21400, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoD", 1, 4, 4, 3); __PYX_ERR(1, 21400, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpyAtoD") < 0)) __PYX_ERR(1, 21400, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_srcArray = values[1];
    __pyx_v_srcOffset = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_srcOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 21401, __pyx_L3_error)
    __pyx_v_ByteCount = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 21401, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoD", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 21400, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyAtoD", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_222cuMemcpyAtoD(__pyx_self, __pyx_v_dstDevice, __pyx_v_srcArray, __pyx_v_srcOffset, __pyx_v_ByteCount);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_222cuMemcpyAtoD(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_csrcArray;
  PyObject *__pyx_v_psrcArray = NULL;
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__596)
  __Pyx_RefNannySetupContext("cuMemcpyAtoD", 1);
  __Pyx_TraceCall("cuMemcpyAtoD", __pyx_f[1], 21400, 0, __PYX_ERR(1, 21400, __pyx_L1_error));

  /* "cuda/cuda.pyx":21432
 *     """
 *     cdef ccuda.CUarray csrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_srcArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21433
 *     cdef ccuda.CUarray csrcArray
 *     if srcArray is None:
 *         csrcArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)
 */
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21432
 *     """
 *     cdef ccuda.CUarray csrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21434
 *     if srcArray is None:
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21435
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)             # <<<<<<<<<<<<<<
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21436
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *     else:
 *         psrcArray = int(CUarray(srcArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21436, __pyx_L1_error)
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21434
 *     if srcArray is None:
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21438
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     else:
 *         psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     cdef ccuda.CUdeviceptr cdstDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21439
 *     else:
 *         psrcArray = int(CUarray(srcArray))
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21439, __pyx_L1_error)
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":21441
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21442
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21441
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":21443
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21444
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21445
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21445, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21443
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":21447
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemcpyAtoD(cdstDevice, csrcArray, srcOffset, ByteCount)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21448
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpyAtoD(cdstDevice, csrcArray, srcOffset, ByteCount)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21448, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":21449
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemcpyAtoD(cdstDevice, csrcArray, srcOffset, ByteCount)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemcpyAtoD(__pyx_v_cdstDevice, __pyx_v_csrcArray, __pyx_v_srcOffset, __pyx_v_ByteCount); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 21449, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":21450
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemcpyAtoD(cdstDevice, csrcArray, srcOffset, ByteCount)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 21450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 21450, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 21450, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":21400
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":21452
 *     return (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_4cuda_225cuMemcpyHtoA(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_224cuMemcpyHtoA, "cuMemcpyHtoA(dstArray, size_t dstOffset, srcHost, size_t ByteCount)\n Copies memory from Host to Array.\n\n    Copies from host memory to a 1D CUDA array. `dstArray` and `dstOffset`\n    specify the CUDA array handle and starting offset in bytes of the\n    destination data. `pSrc` specifies the base address of the source.\n    `ByteCount` specifies the number of bytes to copy.\n\n    Parameters\n    ----------\n    dstArray : :py:obj:`~.CUarray`\n        Destination array\n    dstOffset : size_t\n        Offset in bytes of destination array\n    srcHost : Any\n        Source host pointer\n    ByteCount : size_t\n        Size of memory copy in bytes\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_VALUE`\n\n    See 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`""\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_225cuMemcpyHtoA = {"cuMemcpyHtoA", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_225cuMemcpyHtoA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_224cuMemcpyHtoA};
static PyObject *__pyx_pw_4cuda_4cuda_225cuMemcpyHtoA(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstArray_2,&__pyx_n_s_dstOffset,&__pyx_n_s_srcHost_2,&__pyx_n_s_ByteCount,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21452, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstOffset)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21452, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoA", 1, 4, 4, 1); __PYX_ERR(1, 21452, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcHost_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21452, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoA", 1, 4, 4, 2); __PYX_ERR(1, 21452, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ByteCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21452, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoA", 1, 4, 4, 3); __PYX_ERR(1, 21452, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpyHtoA") < 0)) __PYX_ERR(1, 21452, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_dstArray = values[0];
    __pyx_v_dstOffset = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_dstOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 21453, __pyx_L3_error)
    __pyx_v_srcHost = values[2];
    __pyx_v_ByteCount = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 21453, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoA", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 21452, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyHtoA", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_224cuMemcpyHtoA(__pyx_self, __pyx_v_dstArray, __pyx_v_dstOffset, __pyx_v_srcHost, __pyx_v_ByteCount);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_224cuMemcpyHtoA(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_cdstArray;
  PyObject *__pyx_v_pdstArray = NULL;
  PyObject *__pyx_v_csrcHost = NULL;
  void *__pyx_v_csrcHost_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__597)
  __Pyx_RefNannySetupContext("cuMemcpyHtoA", 1);
  __Pyx_TraceCall("cuMemcpyHtoA", __pyx_f[1], 21452, 0, __PYX_ERR(1, 21452, __pyx_L1_error));

  /* "cuda/cuda.pyx":21482
 *     """
 *     cdef ccuda.CUarray cdstArray
 *     if dstArray is None:             # <<<<<<<<<<<<<<
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_dstArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21483
 *     cdef ccuda.CUarray cdstArray
 *     if dstArray is None:
 *         cdstArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)
 */
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21482
 *     """
 *     cdef ccuda.CUarray cdstArray
 *     if dstArray is None:             # <<<<<<<<<<<<<<
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21484
 *     if dstArray is None:
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21485
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21486
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *     else:
 *         pdstArray = int(CUarray(dstArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21486, __pyx_L1_error)
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21484
 *     if dstArray is None:
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21488
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     else:
 *         pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_dstArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21489
 *     else:
 *         pdstArray = int(CUarray(dstArray))
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21489, __pyx_L1_error)
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":21490
 *         pdstArray = int(CUarray(dstArray))
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)             # <<<<<<<<<<<<<<
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr
 *     err = ccuda.cuMemcpyHtoA(cdstArray, dstOffset, csrcHost_ptr, ByteCount)
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_srcHost); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_csrcHost = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":21491
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpyHtoA(cdstArray, dstOffset, csrcHost_ptr, ByteCount)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrcHost, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21491, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_csrcHost_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":21492
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr
 *     err = ccuda.cuMemcpyHtoA(cdstArray, dstOffset, csrcHost_ptr, ByteCount)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemcpyHtoA(__pyx_v_cdstArray, __pyx_v_dstOffset, __pyx_v_csrcHost_ptr, __pyx_v_ByteCount); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 21492, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":21493
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr
 *     err = ccuda.cuMemcpyHtoA(cdstArray, dstOffset, csrcHost_ptr, ByteCount)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21493, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 21493, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21493, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 21493, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":21452
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyHtoA", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstArray);
  __Pyx_XDECREF(__pyx_v_csrcHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":21495
 *     return (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_4cuda_227cuMemcpyAtoH(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_226cuMemcpyAtoH, "cuMemcpyAtoH(dstHost, srcArray, size_t srcOffset, size_t ByteCount)\n Copies memory from Array to Host.\n\n    Copies from one 1D CUDA array to host memory. `dstHost` specifies the\n    base pointer of the destination. `srcArray` and `srcOffset` specify the\n    CUDA array handle and starting offset in bytes of the source data.\n    `ByteCount` specifies the number of bytes to copy.\n\n    Parameters\n    ----------\n    dstHost : Any\n        Destination device pointer\n    srcArray : :py:obj:`~.CUarray`\n        Source array\n    srcOffset : size_t\n        Offset in bytes of source array\n    ByteCount : size_t\n        Size of memory copy in bytes\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_VALUE`\n\n    See 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`""\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_227cuMemcpyAtoH = {"cuMemcpyAtoH", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_227cuMemcpyAtoH, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_226cuMemcpyAtoH};
static PyObject *__pyx_pw_4cuda_4cuda_227cuMemcpyAtoH(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstHost_2,&__pyx_n_s_srcArray_2,&__pyx_n_s_srcOffset,&__pyx_n_s_ByteCount,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstHost_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21495, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21495, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoH", 1, 4, 4, 1); __PYX_ERR(1, 21495, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcOffset)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21495, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoH", 1, 4, 4, 2); __PYX_ERR(1, 21495, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ByteCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21495, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoH", 1, 4, 4, 3); __PYX_ERR(1, 21495, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpyAtoH") < 0)) __PYX_ERR(1, 21495, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_dstHost = values[0];
    __pyx_v_srcArray = values[1];
    __pyx_v_srcOffset = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_srcOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 21496, __pyx_L3_error)
    __pyx_v_ByteCount = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 21496, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoH", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 21495, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyAtoH", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_226cuMemcpyAtoH(__pyx_self, __pyx_v_dstHost, __pyx_v_srcArray, __pyx_v_srcOffset, __pyx_v_ByteCount);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_226cuMemcpyAtoH(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_csrcArray;
  PyObject *__pyx_v_psrcArray = NULL;
  PyObject *__pyx_v_cdstHost = NULL;
  void *__pyx_v_cdstHost_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__598)
  __Pyx_RefNannySetupContext("cuMemcpyAtoH", 1);
  __Pyx_TraceCall("cuMemcpyAtoH", __pyx_f[1], 21495, 0, __PYX_ERR(1, 21495, __pyx_L1_error));

  /* "cuda/cuda.pyx":21525
 *     """
 *     cdef ccuda.CUarray csrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_srcArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21526
 *     cdef ccuda.CUarray csrcArray
 *     if srcArray is None:
 *         csrcArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)
 */
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21525
 *     """
 *     cdef ccuda.CUarray csrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21527
 *     if srcArray is None:
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21528
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)             # <<<<<<<<<<<<<<
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21529
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *     else:
 *         psrcArray = int(CUarray(srcArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21529, __pyx_L1_error)
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21527
 *     if srcArray is None:
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21531
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     else:
 *         psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21532
 *     else:
 *         psrcArray = int(CUarray(srcArray))
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21532, __pyx_L1_error)
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":21533
 *         psrcArray = int(CUarray(srcArray))
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)             # <<<<<<<<<<<<<<
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr
 *     err = ccuda.cuMemcpyAtoH(cdstHost_ptr, csrcArray, srcOffset, ByteCount)
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dstHost); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cdstHost = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":21534
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpyAtoH(cdstHost_ptr, csrcArray, srcOffset, ByteCount)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdstHost, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21534, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21534, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cdstHost_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":21535
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr
 *     err = ccuda.cuMemcpyAtoH(cdstHost_ptr, csrcArray, srcOffset, ByteCount)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemcpyAtoH(__pyx_v_cdstHost_ptr, __pyx_v_csrcArray, __pyx_v_srcOffset, __pyx_v_ByteCount); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 21535, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":21536
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr
 *     err = ccuda.cuMemcpyAtoH(cdstHost_ptr, csrcArray, srcOffset, ByteCount)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 21536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 21536, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":21495
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyAtoH", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psrcArray);
  __Pyx_XDECREF(__pyx_v_cdstHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":21538
 *     return (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_4cuda_229cuMemcpyAtoA(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_228cuMemcpyAtoA, "cuMemcpyAtoA(dstArray, size_t dstOffset, srcArray, size_t srcOffset, size_t ByteCount)\n Copies memory from Array to Array.\n\n    Copies from one 1D CUDA array to another. `dstArray` and `srcArray`\n    specify the handles of the destination and source CUDA arrays for the\n    copy, respectively. `dstOffset` and `srcOffset` specify the destination\n    and source offsets in bytes into the CUDA arrays. `ByteCount` is the\n    number of bytes to be copied. The size of the elements in the CUDA\n    arrays need not be the same format, but the elements must be the same\n    size; and count must be evenly divisible by that size.\n\n    Parameters\n    ----------\n    dstArray : :py:obj:`~.CUarray`\n        Destination array\n    dstOffset : size_t\n        Offset in bytes of destination array\n    srcArray : :py:obj:`~.CUarray`\n        Source array\n    srcOffset : size_t\n        Offset in bytes of source array\n    ByteCount : size_t\n        Size of memory copy in bytes\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_VALUE`\n\n    See 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:`~.cuMe""mFreeHost`, :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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_229cuMemcpyAtoA = {"cuMemcpyAtoA", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_229cuMemcpyAtoA, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_228cuMemcpyAtoA};
static PyObject *__pyx_pw_4cuda_4cuda_229cuMemcpyAtoA(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstArray_2,&__pyx_n_s_dstOffset,&__pyx_n_s_srcArray_2,&__pyx_n_s_srcOffset,&__pyx_n_s_ByteCount,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21538, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstOffset)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21538, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoA", 1, 5, 5, 1); __PYX_ERR(1, 21538, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21538, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoA", 1, 5, 5, 2); __PYX_ERR(1, 21538, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcOffset)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21538, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoA", 1, 5, 5, 3); __PYX_ERR(1, 21538, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ByteCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21538, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoA", 1, 5, 5, 4); __PYX_ERR(1, 21538, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpyAtoA") < 0)) __PYX_ERR(1, 21538, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_dstArray = values[0];
    __pyx_v_dstOffset = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_dstOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 21539, __pyx_L3_error)
    __pyx_v_srcArray = values[2];
    __pyx_v_srcOffset = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_srcOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 21539, __pyx_L3_error)
    __pyx_v_ByteCount = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 21539, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoA", 1, 5, 5, __pyx_nargs); __PYX_ERR(1, 21538, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyAtoA", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_228cuMemcpyAtoA(__pyx_self, __pyx_v_dstArray, __pyx_v_dstOffset, __pyx_v_srcArray, __pyx_v_srcOffset, __pyx_v_ByteCount);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_228cuMemcpyAtoA(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_csrcArray;
  PyObject *__pyx_v_psrcArray = NULL;
  CUarray __pyx_v_cdstArray;
  PyObject *__pyx_v_pdstArray = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__599)
  __Pyx_RefNannySetupContext("cuMemcpyAtoA", 1);
  __Pyx_TraceCall("cuMemcpyAtoA", __pyx_f[1], 21538, 0, __PYX_ERR(1, 21538, __pyx_L1_error));

  /* "cuda/cuda.pyx":21573
 *     """
 *     cdef ccuda.CUarray csrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_srcArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21574
 *     cdef ccuda.CUarray csrcArray
 *     if srcArray is None:
 *         csrcArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)
 */
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21573
 *     """
 *     cdef ccuda.CUarray csrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21575
 *     if srcArray is None:
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21576
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)             # <<<<<<<<<<<<<<
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21577
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *     else:
 *         psrcArray = int(CUarray(srcArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21577, __pyx_L1_error)
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21575
 *     if srcArray is None:
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":21579
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     else:
 *         psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     cdef ccuda.CUarray cdstArray
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_srcArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21580
 *     else:
 *         psrcArray = int(CUarray(srcArray))
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUarray cdstArray
 *     if dstArray is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21580, __pyx_L1_error)
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":21582
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     cdef ccuda.CUarray cdstArray
 *     if dstArray is None:             # <<<<<<<<<<<<<<
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_dstArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21583
 *     cdef ccuda.CUarray cdstArray
 *     if dstArray is None:
 *         cdstArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)
 */
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":21582
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     cdef ccuda.CUarray cdstArray
 *     if dstArray is None:             # <<<<<<<<<<<<<<
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":21584
 *     if dstArray is None:
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":21585
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":21586
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *     else:
 *         pdstArray = int(CUarray(dstArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21586, __pyx_L1_error)
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":21584
 *     if dstArray is None:
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":21588
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     else:
 *         pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     err = ccuda.cuMemcpyAtoA(cdstArray, dstOffset, csrcArray, srcOffset, ByteCount)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_dstArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21588, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21588, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":21589
 *     else:
 *         pdstArray = int(CUarray(dstArray))
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpyAtoA(cdstArray, dstOffset, csrcArray, srcOffset, ByteCount)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 21589, __pyx_L1_error)
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":21590
 *         pdstArray = int(CUarray(dstArray))
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     err = ccuda.cuMemcpyAtoA(cdstArray, dstOffset, csrcArray, srcOffset, ByteCount)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemcpyAtoA(__pyx_v_cdstArray, __pyx_v_dstOffset, __pyx_v_csrcArray, __pyx_v_srcOffset, __pyx_v_ByteCount); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 21590, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":21591
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     err = ccuda.cuMemcpyAtoA(cdstArray, dstOffset, csrcArray, srcOffset, ByteCount)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 21591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 21591, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 21591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 21591, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":21538
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":21593
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2D(pCopy : Optional[CUDA_MEMCPY2D]):
 *     """ Copies memory for 2D arrays.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_231cuMemcpy2D(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_230cuMemcpy2D, "cuMemcpy2D(CUDA_MEMCPY2D pCopy: Optional[CUDA_MEMCPY2D])\n Copies memory for 2D arrays.\n\n    Perform 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\n    where:\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\n    If :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n    :py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` specify the (unified\n    virtual address space) base address of the source data and the bytes\n    per row to apply. :py:obj:`~.srcArray` is ignored. This value may be\n    used only if unified addressing is supported in the calling context.\n\n    If :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n    :py:obj:`~.srcHost` and :py:obj:`~.srcPitch` specify the (host) base\n    address of the source data and the bytes per row to apply.\n    :py:obj:`~.srcArray` is ignored.\n\n    If :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n    :py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` specify the (device)\n    base address of the source data and the bytes per row to apply.\n    :py:obj:`~.srcArray` is ignored.\n\n    If :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\n    ignored.\n\n    If :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n    :py:obj:`~.dstHost` and :py:obj:`~.dstPitch` specify the (host) base\n    address of the destination data and the bytes per row to apply.\n    :py:obj:`~.dstArray` is ignored.\n\n    If :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,""\n    :py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (unified\n    virtual address space) base address of the source data and the bytes\n    per row to apply. :py:obj:`~.dstArray` is ignored. This value may be\n    used only if unified addressing is supported in the calling context.\n\n    If :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n    :py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (device)\n    base address of the destination data and the bytes per row to apply.\n    :py:obj:`~.dstArray` is ignored.\n\n    If :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\n    ignored.\n\n    - :py:obj:`~.srcXInBytes` and :py:obj:`~.srcY` specify the base address\n      of the source data for the copy.\n\n    For host pointers, the starting address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For device pointers, the starting address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For CUDA arrays, :py:obj:`~.srcXInBytes` must be evenly divisible by\n    the 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\n    For host pointers, the base address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For device pointers, the starting address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For CUDA arrays, :py:obj:`~.dstXInBytes` must be evenly divisible by\n    the 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\n    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\n    device, 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\n    not have this restriction, but may run significantly slower in the\n    cases where :py:obj:`~.cuMemcpy2D()` would have returned an error code.\n\n    Parameters\n    ----------\n    pCopy : :py:obj:`~.CUDA_MEMCPY2D`\n        Parameters for the memory copy\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_VALUE`\n\n    See 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:`~.cuMemHostGetDevice""Pointer`, :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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_231cuMemcpy2D = {"cuMemcpy2D", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_231cuMemcpy2D, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_230cuMemcpy2D};
static PyObject *__pyx_pw_4cuda_4cuda_231cuMemcpy2D(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pCopy,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pCopy)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21593, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpy2D") < 0)) __PYX_ERR(1, 21593, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_pCopy = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpy2D", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 21593, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_MEMCPY2D, 1, "pCopy", 0))) __PYX_ERR(1, 21594, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_230cuMemcpy2D(__pyx_self, __pyx_v_pCopy);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_230cuMemcpy2D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D *__pyx_v_pCopy) {
  CUDA_MEMCPY2D *__pyx_v_cpCopy_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct CUDA_MEMCPY2D_st *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  CUresult __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__600)
  __Pyx_RefNannySetupContext("cuMemcpy2D", 1);
  __Pyx_TraceCall("cuMemcpy2D", __pyx_f[1], 21593, 0, __PYX_ERR(1, 21593, __pyx_L1_error));

  /* "cuda/cuda.pyx":21712
 *     :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 ccuda.CUDA_MEMCPY2D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpy2D(cpCopy_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_pCopy), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21712, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 21712, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = __pyx_v_pCopy->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cpCopy_ptr = __pyx_t_1;

  /* "cuda/cuda.pyx":21713
 *     """
 *     cdef ccuda.CUDA_MEMCPY2D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 *     err = ccuda.cuMemcpy2D(cpCopy_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_5ccuda_cuMemcpy2D(__pyx_v_cpCopy_ptr); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 21713, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cuda.pyx":21714
 *     cdef ccuda.CUDA_MEMCPY2D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 *     err = ccuda.cuMemcpy2D(cpCopy_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 21714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 21714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 21714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 21714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 21714, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":21593
 *     return (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_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemcpy2D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":21716
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2DUnaligned(pCopy : Optional[CUDA_MEMCPY2D]):
 *     """ Copies memory for 2D arrays.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_233cuMemcpy2DUnaligned(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_232cuMemcpy2DUnaligned, "cuMemcpy2DUnaligned(CUDA_MEMCPY2D pCopy: Optional[CUDA_MEMCPY2D])\n Copies memory for 2D arrays.\n\n    Perform 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\n    where:\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\n    If :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n    :py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` specify the (unified\n    virtual address space) base address of the source data and the bytes\n    per row to apply. :py:obj:`~.srcArray` is ignored. This value may be\n    used only if unified addressing is supported in the calling context.\n\n    If :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n    :py:obj:`~.srcHost` and :py:obj:`~.srcPitch` specify the (host) base\n    address of the source data and the bytes per row to apply.\n    :py:obj:`~.srcArray` is ignored.\n\n    If :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n    :py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` specify the (device)\n    base address of the source data and the bytes per row to apply.\n    :py:obj:`~.srcArray` is ignored.\n\n    If :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\n    ignored.\n\n    If :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n    :py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (unified\n    virtual address space) base address of the source data and the bytes\n    per row to apply. :py:obj:`~.dstArray` is ignored. This value may be\n    used only if unified"" addressing is supported in the calling context.\n\n    If :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n    :py:obj:`~.dstHost` and :py:obj:`~.dstPitch` specify the (host) base\n    address of the destination data and the bytes per row to apply.\n    :py:obj:`~.dstArray` is ignored.\n\n    If :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n    :py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (device)\n    base address of the destination data and the bytes per row to apply.\n    :py:obj:`~.dstArray` is ignored.\n\n    If :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\n    ignored.\n\n    - :py:obj:`~.srcXInBytes` and :py:obj:`~.srcY` specify the base address\n      of the source data for the copy.\n\n    For host pointers, the starting address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For device pointers, the starting address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For CUDA arrays, :py:obj:`~.srcXInBytes` must be evenly divisible by\n    the 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\n    For host pointers, the base address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For device pointers, the starting address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For CUDA arrays, :py:obj:`~.dstXInBytes` must be evenly divisible by\n    the 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:ob""j:`~.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\n    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\n    device, 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\n    not have this restriction, but may run significantly slower in the\n    cases where :py:obj:`~.cuMemcpy2D()` would have returned an error code.\n\n    Parameters\n    ----------\n    pCopy : :py:obj:`~.CUDA_MEMCPY2D`\n        Parameters for the memory copy\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_VALUE`\n\n    See 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:`~.cuMemHostGetDevicePoin""ter`, :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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_233cuMemcpy2DUnaligned = {"cuMemcpy2DUnaligned", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_233cuMemcpy2DUnaligned, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_232cuMemcpy2DUnaligned};
static PyObject *__pyx_pw_4cuda_4cuda_233cuMemcpy2DUnaligned(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pCopy,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pCopy)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21716, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpy2DUnaligned") < 0)) __PYX_ERR(1, 21716, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_pCopy = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpy2DUnaligned", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 21716, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_MEMCPY2D, 1, "pCopy", 0))) __PYX_ERR(1, 21717, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_232cuMemcpy2DUnaligned(__pyx_self, __pyx_v_pCopy);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_232cuMemcpy2DUnaligned(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D *__pyx_v_pCopy) {
  CUDA_MEMCPY2D *__pyx_v_cpCopy_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct CUDA_MEMCPY2D_st *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  CUresult __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__601)
  __Pyx_RefNannySetupContext("cuMemcpy2DUnaligned", 1);
  __Pyx_TraceCall("cuMemcpy2DUnaligned", __pyx_f[1], 21716, 0, __PYX_ERR(1, 21716, __pyx_L1_error));

  /* "cuda/cuda.pyx":21835
 *     :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 ccuda.CUDA_MEMCPY2D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpy2DUnaligned(cpCopy_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_pCopy), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21835, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 21835, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = __pyx_v_pCopy->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cpCopy_ptr = __pyx_t_1;

  /* "cuda/cuda.pyx":21836
 *     """
 *     cdef ccuda.CUDA_MEMCPY2D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 *     err = ccuda.cuMemcpy2DUnaligned(cpCopy_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_5ccuda_cuMemcpy2DUnaligned(__pyx_v_cpCopy_ptr); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 21836, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cuda.pyx":21837
 *     cdef ccuda.CUDA_MEMCPY2D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 *     err = ccuda.cuMemcpy2DUnaligned(cpCopy_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 21837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 21837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 21837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 21837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 21837, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":21716
 *     return (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_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemcpy2DUnaligned", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":21839
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3D(pCopy : Optional[CUDA_MEMCPY3D]):
 *     """ Copies memory for 3D arrays.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_235cuMemcpy3D(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_234cuMemcpy3D, "cuMemcpy3D(CUDA_MEMCPY3D pCopy: Optional[CUDA_MEMCPY3D])\n Copies memory for 3D arrays.\n\n    Perform 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\n    where:\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\n    If :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n    :py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` specify the (unified\n    virtual address space) base address of the source data and the bytes\n    per row to apply. :py:obj:`~.srcArray` is ignored. This value may be\n    used only if unified addressing is supported in the calling context.\n\n    If :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n    :py:obj:`~.srcHost`, :py:obj:`~.srcPitch` and :py:obj:`~.srcHeight`\n    specify the (host) base address of the source data, the bytes per row,\n    and the height of each 2D slice of the 3D array. :py:obj:`~.srcArray`\n    is ignored.\n\n    If :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n    :py:obj:`~.srcDevice`, :py:obj:`~.srcPitch` and :py:obj:`~.srcHeight`\n    specify the (device) base address of the source data, the bytes per\n    row, and the height of each 2D slice of the 3D array.\n    :py:obj:`~.srcArray` is ignored.\n\n    If :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\n    If :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n    :py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (unified\n    virtual address space) b""ase address of the source data and the bytes\n    per row to apply. :py:obj:`~.dstArray` is ignored. This value may be\n    used only if unified addressing is supported in the calling context.\n\n    If :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n    :py:obj:`~.dstHost` and :py:obj:`~.dstPitch` specify the (host) base\n    address of the destination data, the bytes per row, and the height of\n    each 2D slice of the 3D array. :py:obj:`~.dstArray` is ignored.\n\n    If :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n    :py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (device)\n    base address of the destination data, the bytes per row, and the height\n    of each 2D slice of the 3D array. :py:obj:`~.dstArray` is ignored.\n\n    If :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\n    For host pointers, the starting address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For device pointers, the starting address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For CUDA arrays, :py:obj:`~.srcXInBytes` must be evenly divisible by\n    the 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\n    For host pointers, the base address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For device pointers, the starting address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For CUDA arrays, :py:obj:`~.dstXInBytes` must be evenly divisible by\n    the array element size.\n\n    - :py:obj:`~.Widt""hInBytes`, :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\n    the maximum allowed (:py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_PITCH`).\n\n    The :py:obj:`~.srcLOD` and :py:obj:`~.dstLOD` members of the\n    :py:obj:`~.CUDA_MEMCPY3D` structure must be set to 0.\n\n    Parameters\n    ----------\n    pCopy : :py:obj:`~.CUDA_MEMCPY3D`\n        Parameters for the memory copy\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_VALUE`\n\n    See 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:`~.cudaMemcpy3D`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_235cuMemcpy3D = {"cuMemcpy3D", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_235cuMemcpy3D, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_234cuMemcpy3D};
static PyObject *__pyx_pw_4cuda_4cuda_235cuMemcpy3D(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pCopy,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pCopy)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21839, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpy3D") < 0)) __PYX_ERR(1, 21839, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_pCopy = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpy3D", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 21839, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_MEMCPY3D, 1, "pCopy", 0))) __PYX_ERR(1, 21840, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_234cuMemcpy3D(__pyx_self, __pyx_v_pCopy);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_234cuMemcpy3D(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *__pyx_v_pCopy) {
  CUDA_MEMCPY3D *__pyx_v_cpCopy_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct CUDA_MEMCPY3D_st *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  CUresult __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__602)
  __Pyx_RefNannySetupContext("cuMemcpy3D", 1);
  __Pyx_TraceCall("cuMemcpy3D", __pyx_f[1], 21839, 0, __PYX_ERR(1, 21839, __pyx_L1_error));

  /* "cuda/cuda.pyx":21961
 *     :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 ccuda.CUDA_MEMCPY3D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpy3D(cpCopy_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_pCopy), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21961, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 21961, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = __pyx_v_pCopy->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cpCopy_ptr = __pyx_t_1;

  /* "cuda/cuda.pyx":21962
 *     """
 *     cdef ccuda.CUDA_MEMCPY3D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 *     err = ccuda.cuMemcpy3D(cpCopy_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_5ccuda_cuMemcpy3D(__pyx_v_cpCopy_ptr); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 21962, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cuda.pyx":21963
 *     cdef ccuda.CUDA_MEMCPY3D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 *     err = ccuda.cuMemcpy3D(cpCopy_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 21963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 21963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 21963, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 21963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 21963, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":21839
 *     return (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_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemcpy3D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":21965
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DPeer(pCopy : Optional[CUDA_MEMCPY3D_PEER]):
 *     """ Copies memory between contexts.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_237cuMemcpy3DPeer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_236cuMemcpy3DPeer, "cuMemcpy3DPeer(CUDA_MEMCPY3D_PEER pCopy: Optional[CUDA_MEMCPY3D_PEER])\n Copies memory between contexts.\n\n    Perform a 3D memory copy according to the parameters specified in\n    `pCopy`. See the definition of the :py:obj:`~.CUDA_MEMCPY3D_PEER`\n    structure for documentation of its parameters.\n\n    Parameters\n    ----------\n    pCopy : :py:obj:`~.CUDA_MEMCPY3D_PEER`\n        Parameters for the memory copy\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyPeer`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyPeerAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cudaMemcpy3DPeer`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_237cuMemcpy3DPeer = {"cuMemcpy3DPeer", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_237cuMemcpy3DPeer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_236cuMemcpy3DPeer};
static PyObject *__pyx_pw_4cuda_4cuda_237cuMemcpy3DPeer(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pCopy,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pCopy)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21965, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpy3DPeer") < 0)) __PYX_ERR(1, 21965, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_pCopy = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemcpy3DPeer", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 21965, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER, 1, "pCopy", 0))) __PYX_ERR(1, 21966, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_236cuMemcpy3DPeer(__pyx_self, __pyx_v_pCopy);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_236cuMemcpy3DPeer(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER *__pyx_v_pCopy) {
  CUDA_MEMCPY3D_PEER *__pyx_v_cpCopy_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct CUDA_MEMCPY3D_PEER_st *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  CUresult __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__603)
  __Pyx_RefNannySetupContext("cuMemcpy3DPeer", 1);
  __Pyx_TraceCall("cuMemcpy3DPeer", __pyx_f[1], 21965, 0, __PYX_ERR(1, 21965, __pyx_L1_error));

  /* "cuda/cuda.pyx":21987
 *     :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyPeer`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyPeerAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cudaMemcpy3DPeer`
 *     """
 *     cdef ccuda.CUDA_MEMCPY3D_PEER* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpy3DPeer(cpCopy_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_pCopy), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21987, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 21987, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = __pyx_v_pCopy->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cpCopy_ptr = __pyx_t_1;

  /* "cuda/cuda.pyx":21988
 *     """
 *     cdef ccuda.CUDA_MEMCPY3D_PEER* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 *     err = ccuda.cuMemcpy3DPeer(cpCopy_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_5ccuda_cuMemcpy3DPeer(__pyx_v_cpCopy_ptr); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 21988, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cuda.pyx":21989
 *     cdef ccuda.CUDA_MEMCPY3D_PEER* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 *     err = ccuda.cuMemcpy3DPeer(cpCopy_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 21989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 21989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 21989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 21989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 21989, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":21965
 *     return (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_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemcpy3DPeer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":21991
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAsync(dst, src, size_t ByteCount, hStream):
 *     """ Copies memory asynchronously.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_239cuMemcpyAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_238cuMemcpyAsync, "cuMemcpyAsync(dst, src, size_t ByteCount, hStream)\n Copies memory asynchronously.\n\n    Copies data between two pointers. `dst` and `src` are base pointers of\n    the destination and source, respectively. `ByteCount` specifies the\n    number of bytes to copy. Note that this function infers the type of the\n    transfer (host to host, host to device, device to device, or device to\n    host) from the pointer values. This function is only allowed in\n    contexts which support unified addressing.\n\n    Parameters\n    ----------\n    dst : :py:obj:`~.CUdeviceptr`\n        Destination unified virtual address space pointer\n    src : :py:obj:`~.CUdeviceptr`\n        Source unified virtual address space pointer\n    ByteCount : size_t\n        Size of memory copy in bytes\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\n    See 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:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_239cuMemcpyAsync = {"cuMemcpyAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_239cuMemcpyAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_238cuMemcpyAsync};
static PyObject *__pyx_pw_4cuda_4cuda_239cuMemcpyAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_src,&__pyx_n_s_ByteCount,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dst_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21991, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_src)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21991, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyAsync", 1, 4, 4, 1); __PYX_ERR(1, 21991, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ByteCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21991, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyAsync", 1, 4, 4, 2); __PYX_ERR(1, 21991, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 21991, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyAsync", 1, 4, 4, 3); __PYX_ERR(1, 21991, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpyAsync") < 0)) __PYX_ERR(1, 21991, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_dst = values[0];
    __pyx_v_src = values[1];
    __pyx_v_ByteCount = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 21992, __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(1, 21991, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_238cuMemcpyAsync(__pyx_self, __pyx_v_dst, __pyx_v_src, __pyx_v_ByteCount, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_238cuMemcpyAsync(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_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_csrc;
  PyObject *__pyx_v_psrc = NULL;
  CUdeviceptr __pyx_v_cdst;
  PyObject *__pyx_v_pdst = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__604)
  __Pyx_RefNannySetupContext("cuMemcpyAsync", 1);
  __Pyx_TraceCall("cuMemcpyAsync", __pyx_f[1], 21991, 0, __PYX_ERR(1, 21991, __pyx_L1_error));

  /* "cuda/cuda.pyx":22023
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22024
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22023
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22025
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22026
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22026, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22027
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22027, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22025
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22029
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr csrc
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22029, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22029, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22030
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr csrc
 *     if src is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22030, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":22032
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(src, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_src == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22033
 *     cdef ccuda.CUdeviceptr csrc
 *     if src is None:
 *         csrc = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(src, (CUdeviceptr,)):
 *         psrc = int(src)
 */
    __pyx_v_csrc = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22032
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(src, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":22034
 *     if src is None:
 *         csrc = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(src, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_src, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22035
 *         csrc = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(src, (CUdeviceptr,)):
 *         psrc = int(src)             # <<<<<<<<<<<<<<
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_src); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_psrc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22036
 *     elif isinstance(src, (CUdeviceptr,)):
 *         psrc = int(src)
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     else:
 *         psrc = int(CUdeviceptr(src))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22036, __pyx_L1_error)
    __pyx_v_csrc = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22034
 *     if src is None:
 *         csrc = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(src, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":22038
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc
 *     else:
 *         psrc = int(CUdeviceptr(src))             # <<<<<<<<<<<<<<
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc
 *     cdef ccuda.CUdeviceptr cdst
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_src); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_psrc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22039
 *     else:
 *         psrc = int(CUdeviceptr(src))
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdst
 *     if dst is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22039, __pyx_L1_error)
    __pyx_v_csrc = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":22041
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc
 *     cdef ccuda.CUdeviceptr cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dst, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22042
 *     cdef ccuda.CUdeviceptr cdst
 *     if dst is None:
 *         cdst = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dst, (CUdeviceptr,)):
 *         pdst = int(dst)
 */
    __pyx_v_cdst = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22041
 *         csrc = <ccuda.CUdeviceptr><void_ptr>psrc
 *     cdef ccuda.CUdeviceptr cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dst, (CUdeviceptr,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":22043
 *     if dst is None:
 *         cdst = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dst, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22044
 *         cdst = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dst, (CUdeviceptr,)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdst = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22045
 *     elif isinstance(dst, (CUdeviceptr,)):
 *         pdst = int(dst)
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(CUdeviceptr(dst))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22045, __pyx_L1_error)
    __pyx_v_cdst = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22043
 *     if dst is None:
 *         cdst = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dst, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":22047
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *     else:
 *         pdst = int(CUdeviceptr(dst))             # <<<<<<<<<<<<<<
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *     err = ccuda.cuMemcpyAsync(cdst, csrc, ByteCount, chStream)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dst); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdst = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22048
 *     else:
 *         pdst = int(CUdeviceptr(dst))
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpyAsync(cdst, csrc, ByteCount, chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22048, __pyx_L1_error)
    __pyx_v_cdst = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":22049
 *         pdst = int(CUdeviceptr(dst))
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *     err = ccuda.cuMemcpyAsync(cdst, csrc, ByteCount, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemcpyAsync(__pyx_v_cdst, __pyx_v_csrc, __pyx_v_ByteCount, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 22049, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":22050
 *         cdst = <ccuda.CUdeviceptr><void_ptr>pdst
 *     err = ccuda.cuMemcpyAsync(cdst, csrc, ByteCount, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 22050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 22050, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":21991
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":22052
 *     return (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_4cuda_241cuMemcpyPeerAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_240cuMemcpyPeerAsync, "cuMemcpyPeerAsync(dstDevice, dstContext, srcDevice, srcContext, size_t ByteCount, hStream)\n Copies device memory between two contexts asynchronously.\n\n    Copies from device memory in one context to device memory in another\n    context. `dstDevice` is the base device pointer of the destination\n    memory and `dstContext` is the destination context. `srcDevice` is the\n    base device pointer of the source memory and `srcContext` is the source\n    pointer. `ByteCount` specifies the number of bytes to copy.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    dstContext : :py:obj:`~.CUcontext`\n        Destination context\n    srcDevice : :py:obj:`~.CUdeviceptr`\n        Source device pointer\n    srcContext : :py:obj:`~.CUcontext`\n        Source context\n    ByteCount : size_t\n        Size of memory copy in bytes\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyPeer`, :py:obj:`~.cuMemcpy3DPeer`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cudaMemcpyPeerAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_241cuMemcpyPeerAsync = {"cuMemcpyPeerAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_241cuMemcpyPeerAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_240cuMemcpyPeerAsync};
static PyObject *__pyx_pw_4cuda_4cuda_241cuMemcpyPeerAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_dstContext_2,&__pyx_n_s_srcDevice_2,&__pyx_n_s_srcContext_2,&__pyx_n_s_ByteCount,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22052, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstContext_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22052, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyPeerAsync", 1, 6, 6, 1); __PYX_ERR(1, 22052, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22052, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyPeerAsync", 1, 6, 6, 2); __PYX_ERR(1, 22052, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcContext_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22052, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyPeerAsync", 1, 6, 6, 3); __PYX_ERR(1, 22052, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ByteCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22052, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyPeerAsync", 1, 6, 6, 4); __PYX_ERR(1, 22052, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[5]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22052, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyPeerAsync", 1, 6, 6, 5); __PYX_ERR(1, 22052, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpyPeerAsync") < 0)) __PYX_ERR(1, 22052, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
      values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_dstContext = values[1];
    __pyx_v_srcDevice = values[2];
    __pyx_v_srcContext = values[3];
    __pyx_v_ByteCount = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22053, __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(1, 22052, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyPeerAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_240cuMemcpyPeerAsync(__pyx_self, __pyx_v_dstDevice, __pyx_v_dstContext, __pyx_v_srcDevice, __pyx_v_srcContext, __pyx_v_ByteCount, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_240cuMemcpyPeerAsync(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_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUcontext __pyx_v_csrcContext;
  PyObject *__pyx_v_psrcContext = NULL;
  CUdeviceptr __pyx_v_csrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  CUcontext __pyx_v_cdstContext;
  PyObject *__pyx_v_pdstContext = NULL;
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__605)
  __Pyx_RefNannySetupContext("cuMemcpyPeerAsync", 1);
  __Pyx_TraceCall("cuMemcpyPeerAsync", __pyx_f[1], 22052, 0, __PYX_ERR(1, 22052, __pyx_L1_error));

  /* "cuda/cuda.pyx":22087
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22088
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22087
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22089
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22090
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22090, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22091
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22091, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22089
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22093
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUcontext csrcContext
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22094
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUcontext csrcContext
 *     if srcContext is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22094, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":22096
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUcontext csrcContext
 *     if srcContext is None:             # <<<<<<<<<<<<<<
 *         csrcContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(srcContext, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_srcContext == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22097
 *     cdef ccuda.CUcontext csrcContext
 *     if srcContext is None:
 *         csrcContext = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcContext, (CUcontext,)):
 *         psrcContext = int(srcContext)
 */
    __pyx_v_csrcContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22096
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUcontext csrcContext
 *     if srcContext is None:             # <<<<<<<<<<<<<<
 *         csrcContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(srcContext, (CUcontext,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":22098
 *     if srcContext is None:
 *         csrcContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(srcContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         psrcContext = int(srcContext)
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcContext, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22099
 *         csrcContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(srcContext, (CUcontext,)):
 *         psrcContext = int(srcContext)             # <<<<<<<<<<<<<<
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_srcContext); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22099, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_psrcContext = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22100
 *     elif isinstance(srcContext, (CUcontext,)):
 *         psrcContext = int(srcContext)
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext             # <<<<<<<<<<<<<<
 *     else:
 *         psrcContext = int(CUcontext(srcContext))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22100, __pyx_L1_error)
    __pyx_v_csrcContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22098
 *     if srcContext is None:
 *         csrcContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(srcContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         psrcContext = int(srcContext)
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":22102
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 *     else:
 *         psrcContext = int(CUcontext(srcContext))             # <<<<<<<<<<<<<<
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 *     cdef ccuda.CUdeviceptr csrcDevice
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_srcContext); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_psrcContext = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22103
 *     else:
 *         psrcContext = int(CUcontext(srcContext))
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22103, __pyx_L1_error)
    __pyx_v_csrcContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":22105
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22106
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
 */
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22105
 *         csrcContext = <ccuda.CUcontext><void_ptr>psrcContext
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":22107
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22108
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrcDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22109
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22109, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22107
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":22111
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdef ccuda.CUcontext cdstContext
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_srcDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrcDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22112
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUcontext cdstContext
 *     if dstContext is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22112, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":22114
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdef ccuda.CUcontext cdstContext
 *     if dstContext is None:             # <<<<<<<<<<<<<<
 *         cdstContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(dstContext, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_dstContext == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22115
 *     cdef ccuda.CUcontext cdstContext
 *     if dstContext is None:
 *         cdstContext = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstContext, (CUcontext,)):
 *         pdstContext = int(dstContext)
 */
    __pyx_v_cdstContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22114
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdef ccuda.CUcontext cdstContext
 *     if dstContext is None:             # <<<<<<<<<<<<<<
 *         cdstContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(dstContext, (CUcontext,)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cuda.pyx":22116
 *     if dstContext is None:
 *         cdstContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(dstContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pdstContext = int(dstContext)
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstContext, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22117
 *         cdstContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(dstContext, (CUcontext,)):
 *         pdstContext = int(dstContext)             # <<<<<<<<<<<<<<
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstContext); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstContext = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22118
 *     elif isinstance(dstContext, (CUcontext,)):
 *         pdstContext = int(dstContext)
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext             # <<<<<<<<<<<<<<
 *     else:
 *         pdstContext = int(CUcontext(dstContext))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22118, __pyx_L1_error)
    __pyx_v_cdstContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22116
 *     if dstContext is None:
 *         cdstContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(dstContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pdstContext = int(dstContext)
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 */
    goto __pyx_L6;
  }

  /* "cuda/cuda.pyx":22120
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 *     else:
 *         pdstContext = int(CUcontext(dstContext))             # <<<<<<<<<<<<<<
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 *     cdef ccuda.CUdeviceptr cdstDevice
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_dstContext); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstContext = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22121
 *     else:
 *         pdstContext = int(CUcontext(dstContext))
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22121, __pyx_L1_error)
    __pyx_v_cdstContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L6:;

  /* "cuda/cuda.pyx":22123
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22124
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22123
 *         cdstContext = <ccuda.CUcontext><void_ptr>pdstContext
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L7;
  }

  /* "cuda/cuda.pyx":22125
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22126
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22127
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22127, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22125
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L7;
  }

  /* "cuda/cuda.pyx":22129
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemcpyPeerAsync(cdstDevice, cdstContext, csrcDevice, csrcContext, ByteCount, chStream)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22130
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpyPeerAsync(cdstDevice, cdstContext, csrcDevice, csrcContext, ByteCount, chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22130, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L7:;

  /* "cuda/cuda.pyx":22131
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemcpyPeerAsync(cdstDevice, cdstContext, csrcDevice, csrcContext, ByteCount, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemcpyPeerAsync(__pyx_v_cdstDevice, __pyx_v_cdstContext, __pyx_v_csrcDevice, __pyx_v_csrcContext, __pyx_v_ByteCount, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 22131, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":22132
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemcpyPeerAsync(cdstDevice, cdstContext, csrcDevice, csrcContext, ByteCount, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 22132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22132, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 22132, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":22052
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":22134
 *     return (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_4cuda_243cuMemcpyHtoDAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_242cuMemcpyHtoDAsync, "cuMemcpyHtoDAsync(dstDevice, srcHost, size_t ByteCount, hStream)\n Copies memory from Host to Device.\n\n    Copies from host memory to device memory. `dstDevice` and `srcHost` are\n    the base addresses of the destination and source, respectively.\n    `ByteCount` specifies the number of bytes to copy.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    srcHost : Any\n        Source host pointer\n    ByteCount : size_t\n        Size of memory copy in bytes\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\n    See 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:`~.cuMemse""tD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpyToSymbolAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_243cuMemcpyHtoDAsync = {"cuMemcpyHtoDAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_243cuMemcpyHtoDAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_242cuMemcpyHtoDAsync};
static PyObject *__pyx_pw_4cuda_4cuda_243cuMemcpyHtoDAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_srcHost_2,&__pyx_n_s_ByteCount,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22134, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcHost_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22134, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoDAsync", 1, 4, 4, 1); __PYX_ERR(1, 22134, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ByteCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22134, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoDAsync", 1, 4, 4, 2); __PYX_ERR(1, 22134, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22134, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoDAsync", 1, 4, 4, 3); __PYX_ERR(1, 22134, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpyHtoDAsync") < 0)) __PYX_ERR(1, 22134, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_srcHost = values[1];
    __pyx_v_ByteCount = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22135, __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(1, 22134, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyHtoDAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_242cuMemcpyHtoDAsync(__pyx_self, __pyx_v_dstDevice, __pyx_v_srcHost, __pyx_v_ByteCount, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_242cuMemcpyHtoDAsync(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_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  PyObject *__pyx_v_csrcHost = NULL;
  void *__pyx_v_csrcHost_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__606)
  __Pyx_RefNannySetupContext("cuMemcpyHtoDAsync", 1);
  __Pyx_TraceCall("cuMemcpyHtoDAsync", __pyx_f[1], 22134, 0, __PYX_ERR(1, 22134, __pyx_L1_error));

  /* "cuda/cuda.pyx":22163
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22164
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22163
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22165
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22166
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22167
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22167, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22165
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22169
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22170
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22170, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":22172
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22173
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22172
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":22174
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22175
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22176
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22176, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22174
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":22178
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22179
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22179, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":22180
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)             # <<<<<<<<<<<<<<
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr
 *     err = ccuda.cuMemcpyHtoDAsync(cdstDevice, csrcHost_ptr, ByteCount, chStream)
 */
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_srcHost); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_csrcHost = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":22181
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpyHtoDAsync(cdstDevice, csrcHost_ptr, ByteCount, chStream)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrcHost, __pyx_n_s_cptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22181, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_csrcHost_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":22182
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr
 *     err = ccuda.cuMemcpyHtoDAsync(cdstDevice, csrcHost_ptr, ByteCount, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemcpyHtoDAsync(__pyx_v_cdstDevice, __pyx_v_csrcHost_ptr, __pyx_v_ByteCount, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 22182, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":22183
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr
 *     err = ccuda.cuMemcpyHtoDAsync(cdstDevice, csrcHost_ptr, ByteCount, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 22183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 22183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 22183, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":22134
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyHtoDAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XDECREF(__pyx_v_csrcHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":22185
 *     return (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_4cuda_245cuMemcpyDtoHAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_244cuMemcpyDtoHAsync, "cuMemcpyDtoHAsync(dstHost, srcDevice, size_t ByteCount, hStream)\n Copies memory from Device to Host.\n\n    Copies from device to host memory. `dstHost` and `srcDevice` specify\n    the base pointers of the destination and source, respectively.\n    `ByteCount` specifies the number of bytes to copy.\n\n    Parameters\n    ----------\n    dstHost : Any\n        Destination host pointer\n    srcDevice : :py:obj:`~.CUdeviceptr`\n        Source device pointer\n    ByteCount : size_t\n        Size of memory copy in bytes\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\n    See 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:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemcpyAsync`, :py:obj:`~.cudaMemcpyFromSymbolAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_245cuMemcpyDtoHAsync = {"cuMemcpyDtoHAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_245cuMemcpyDtoHAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_244cuMemcpyDtoHAsync};
static PyObject *__pyx_pw_4cuda_4cuda_245cuMemcpyDtoHAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstHost_2,&__pyx_n_s_srcDevice_2,&__pyx_n_s_ByteCount,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstHost_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22185, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22185, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoHAsync", 1, 4, 4, 1); __PYX_ERR(1, 22185, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ByteCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22185, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoHAsync", 1, 4, 4, 2); __PYX_ERR(1, 22185, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22185, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoHAsync", 1, 4, 4, 3); __PYX_ERR(1, 22185, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpyDtoHAsync") < 0)) __PYX_ERR(1, 22185, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_dstHost = values[0];
    __pyx_v_srcDevice = values[1];
    __pyx_v_ByteCount = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22186, __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(1, 22185, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyDtoHAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_244cuMemcpyDtoHAsync(__pyx_self, __pyx_v_dstHost, __pyx_v_srcDevice, __pyx_v_ByteCount, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_244cuMemcpyDtoHAsync(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_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_csrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  PyObject *__pyx_v_cdstHost = NULL;
  void *__pyx_v_cdstHost_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__607)
  __Pyx_RefNannySetupContext("cuMemcpyDtoHAsync", 1);
  __Pyx_TraceCall("cuMemcpyDtoHAsync", __pyx_f[1], 22185, 0, __PYX_ERR(1, 22185, __pyx_L1_error));

  /* "cuda/cuda.pyx":22214
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22215
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22214
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22216
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22217
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22217, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22218
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22218, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22216
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22220
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr csrcDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22221
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22221, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":22223
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22224
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
 */
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22223
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":22225
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22226
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_psrcDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22227
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22227, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22225
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":22229
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_srcDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_psrcDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22230
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22230, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":22231
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)             # <<<<<<<<<<<<<<
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr
 *     err = ccuda.cuMemcpyDtoHAsync(cdstHost_ptr, csrcDevice, ByteCount, chStream)
 */
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dstHost); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_cdstHost = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":22232
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpyDtoHAsync(cdstHost_ptr, csrcDevice, ByteCount, chStream)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdstHost, __pyx_n_s_cptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22232, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cdstHost_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":22233
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr
 *     err = ccuda.cuMemcpyDtoHAsync(cdstHost_ptr, csrcDevice, ByteCount, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemcpyDtoHAsync(__pyx_v_cdstHost_ptr, __pyx_v_csrcDevice, __pyx_v_ByteCount, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 22233, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":22234
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr
 *     err = ccuda.cuMemcpyDtoHAsync(cdstHost_ptr, csrcDevice, ByteCount, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 22234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 22234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 22234, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":22185
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyDtoHAsync", __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_cdstHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":22236
 *     return (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_4cuda_247cuMemcpyDtoDAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_246cuMemcpyDtoDAsync, "cuMemcpyDtoDAsync(dstDevice, srcDevice, size_t ByteCount, hStream)\n Copies memory from Device to Device.\n\n    Copies from device memory to device memory. `dstDevice` and `srcDevice`\n    are the base pointers of the destination and source, respectively.\n    `ByteCount` specifies the number of bytes to copy.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    srcDevice : :py:obj:`~.CUdeviceptr`\n        Source device pointer\n    ByteCount : size_t\n        Size of memory copy in bytes\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\n    See 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:`~.cuMemset""D2D32Async`, :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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_247cuMemcpyDtoDAsync = {"cuMemcpyDtoDAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_247cuMemcpyDtoDAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_246cuMemcpyDtoDAsync};
static PyObject *__pyx_pw_4cuda_4cuda_247cuMemcpyDtoDAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_srcDevice_2,&__pyx_n_s_ByteCount,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22236, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22236, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoDAsync", 1, 4, 4, 1); __PYX_ERR(1, 22236, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ByteCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22236, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoDAsync", 1, 4, 4, 2); __PYX_ERR(1, 22236, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22236, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyDtoDAsync", 1, 4, 4, 3); __PYX_ERR(1, 22236, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpyDtoDAsync") < 0)) __PYX_ERR(1, 22236, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_srcDevice = values[1];
    __pyx_v_ByteCount = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22237, __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(1, 22236, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyDtoDAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_246cuMemcpyDtoDAsync(__pyx_self, __pyx_v_dstDevice, __pyx_v_srcDevice, __pyx_v_ByteCount, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_246cuMemcpyDtoDAsync(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_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_csrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__608)
  __Pyx_RefNannySetupContext("cuMemcpyDtoDAsync", 1);
  __Pyx_TraceCall("cuMemcpyDtoDAsync", __pyx_f[1], 22236, 0, __PYX_ERR(1, 22236, __pyx_L1_error));

  /* "cuda/cuda.pyx":22265
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22266
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22265
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22267
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22268
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22269
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22269, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22267
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22271
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr csrcDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22272
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22272, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":22274
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22275
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
 */
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22274
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr csrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":22276
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22277
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22277, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_psrcDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22278
 *     elif isinstance(srcDevice, (CUdeviceptr,)):
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22278, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22276
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(srcDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":22280
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdef ccuda.CUdeviceptr cdstDevice
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_srcDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_psrcDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22281
 *     else:
 *         psrcDevice = int(CUdeviceptr(srcDevice))
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22281, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":22283
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22284
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22283
 *         csrcDevice = <ccuda.CUdeviceptr><void_ptr>psrcDevice
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":22285
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22286
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22287
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22287, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22285
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":22289
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemcpyDtoDAsync(cdstDevice, csrcDevice, ByteCount, chStream)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22289, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22289, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22290
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpyDtoDAsync(cdstDevice, csrcDevice, ByteCount, chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22290, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":22291
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemcpyDtoDAsync(cdstDevice, csrcDevice, ByteCount, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemcpyDtoDAsync(__pyx_v_cdstDevice, __pyx_v_csrcDevice, __pyx_v_ByteCount, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 22291, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":22292
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemcpyDtoDAsync(cdstDevice, csrcDevice, ByteCount, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 22292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 22292, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":22236
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":22294
 *     return (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_4cuda_249cuMemcpyHtoAAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_248cuMemcpyHtoAAsync, "cuMemcpyHtoAAsync(dstArray, size_t dstOffset, srcHost, size_t ByteCount, hStream)\n Copies memory from Host to Array.\n\n    Copies from host memory to a 1D CUDA array. `dstArray` and `dstOffset`\n    specify the CUDA array handle and starting offset in bytes of the\n    destination data. `srcHost` specifies the base address of the source.\n    `ByteCount` specifies the number of bytes to copy.\n\n    Parameters\n    ----------\n    dstArray : :py:obj:`~.CUarray`\n        Destination array\n    dstOffset : size_t\n        Offset in bytes of destination array\n    srcHost : Any\n        Source host pointer\n    ByteCount : size_t\n        Size of memory copy in bytes\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\n    See 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:`~.cuMemset""D2D8Async`, :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:`~.cudaMemcpyToArrayAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_249cuMemcpyHtoAAsync = {"cuMemcpyHtoAAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_249cuMemcpyHtoAAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_248cuMemcpyHtoAAsync};
static PyObject *__pyx_pw_4cuda_4cuda_249cuMemcpyHtoAAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstArray_2,&__pyx_n_s_dstOffset,&__pyx_n_s_srcHost_2,&__pyx_n_s_ByteCount,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22294, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstOffset)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22294, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoAAsync", 1, 5, 5, 1); __PYX_ERR(1, 22294, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcHost_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22294, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoAAsync", 1, 5, 5, 2); __PYX_ERR(1, 22294, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ByteCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22294, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoAAsync", 1, 5, 5, 3); __PYX_ERR(1, 22294, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22294, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyHtoAAsync", 1, 5, 5, 4); __PYX_ERR(1, 22294, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpyHtoAAsync") < 0)) __PYX_ERR(1, 22294, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_dstArray = values[0];
    __pyx_v_dstOffset = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_dstOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22295, __pyx_L3_error)
    __pyx_v_srcHost = values[2];
    __pyx_v_ByteCount = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22295, __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(1, 22294, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyHtoAAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_248cuMemcpyHtoAAsync(__pyx_self, __pyx_v_dstArray, __pyx_v_dstOffset, __pyx_v_srcHost, __pyx_v_ByteCount, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_248cuMemcpyHtoAAsync(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_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUarray __pyx_v_cdstArray;
  PyObject *__pyx_v_pdstArray = NULL;
  PyObject *__pyx_v_csrcHost = NULL;
  void *__pyx_v_csrcHost_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__609)
  __Pyx_RefNannySetupContext("cuMemcpyHtoAAsync", 1);
  __Pyx_TraceCall("cuMemcpyHtoAAsync", __pyx_f[1], 22294, 0, __PYX_ERR(1, 22294, __pyx_L1_error));

  /* "cuda/cuda.pyx":22326
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22327
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22326
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22328
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22329
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22329, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22330
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22330, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22328
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22332
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUarray cdstArray
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22333
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUarray cdstArray
 *     if dstArray is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22333, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":22335
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUarray cdstArray
 *     if dstArray is None:             # <<<<<<<<<<<<<<
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_dstArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22336
 *     cdef ccuda.CUarray cdstArray
 *     if dstArray is None:
 *         cdstArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)
 */
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22335
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUarray cdstArray
 *     if dstArray is None:             # <<<<<<<<<<<<<<
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":22337
 *     if dstArray is None:
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22338
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)             # <<<<<<<<<<<<<<
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22339
 *     elif isinstance(dstArray, (CUarray,)):
 *         pdstArray = int(dstArray)
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *     else:
 *         pdstArray = int(CUarray(dstArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22339, __pyx_L1_error)
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22337
 *     if dstArray is None:
 *         cdstArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(dstArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         pdstArray = int(dstArray)
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":22341
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     else:
 *         pdstArray = int(CUarray(dstArray))             # <<<<<<<<<<<<<<
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_dstArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22342
 *     else:
 *         pdstArray = int(CUarray(dstArray))
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray             # <<<<<<<<<<<<<<
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22342, __pyx_L1_error)
    __pyx_v_cdstArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":22343
 *         pdstArray = int(CUarray(dstArray))
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)             # <<<<<<<<<<<<<<
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr
 *     err = ccuda.cuMemcpyHtoAAsync(cdstArray, dstOffset, csrcHost_ptr, ByteCount, chStream)
 */
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_srcHost); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_csrcHost = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":22344
 *         cdstArray = <ccuda.CUarray><void_ptr>pdstArray
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpyHtoAAsync(cdstArray, dstOffset, csrcHost_ptr, ByteCount, chStream)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_csrcHost, __pyx_n_s_cptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22344, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_csrcHost_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":22345
 *     csrcHost = utils.HelperInputVoidPtr(srcHost)
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr
 *     err = ccuda.cuMemcpyHtoAAsync(cdstArray, dstOffset, csrcHost_ptr, ByteCount, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemcpyHtoAAsync(__pyx_v_cdstArray, __pyx_v_dstOffset, __pyx_v_csrcHost_ptr, __pyx_v_ByteCount, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 22345, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":22346
 *     cdef void* csrcHost_ptr = <void*><void_ptr>csrcHost.cptr
 *     err = ccuda.cuMemcpyHtoAAsync(cdstArray, dstOffset, csrcHost_ptr, ByteCount, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 22346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 22346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 22346, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":22294
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyHtoAAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pdstArray);
  __Pyx_XDECREF(__pyx_v_csrcHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":22348
 *     return (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_4cuda_251cuMemcpyAtoHAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_250cuMemcpyAtoHAsync, "cuMemcpyAtoHAsync(dstHost, srcArray, size_t srcOffset, size_t ByteCount, hStream)\n Copies memory from Array to Host.\n\n    Copies from one 1D CUDA array to host memory. `dstHost` specifies the\n    base pointer of the destination. `srcArray` and `srcOffset` specify the\n    CUDA array handle and starting offset in bytes of the source data.\n    `ByteCount` specifies the number of bytes to copy.\n\n    Parameters\n    ----------\n    dstHost : Any\n        Destination pointer\n    srcArray : :py:obj:`~.CUarray`\n        Source array\n    srcOffset : size_t\n        Offset in bytes of source array\n    ByteCount : size_t\n        Size of memory copy in bytes\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\n    See 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:`~.cuMemsetD2D8Asyn""c`, :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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_251cuMemcpyAtoHAsync = {"cuMemcpyAtoHAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_251cuMemcpyAtoHAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_250cuMemcpyAtoHAsync};
static PyObject *__pyx_pw_4cuda_4cuda_251cuMemcpyAtoHAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstHost_2,&__pyx_n_s_srcArray_2,&__pyx_n_s_srcOffset,&__pyx_n_s_ByteCount,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstHost_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22348, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22348, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoHAsync", 1, 5, 5, 1); __PYX_ERR(1, 22348, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcOffset)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22348, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoHAsync", 1, 5, 5, 2); __PYX_ERR(1, 22348, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ByteCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22348, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoHAsync", 1, 5, 5, 3); __PYX_ERR(1, 22348, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22348, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpyAtoHAsync", 1, 5, 5, 4); __PYX_ERR(1, 22348, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpyAtoHAsync") < 0)) __PYX_ERR(1, 22348, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_dstHost = values[0];
    __pyx_v_srcArray = values[1];
    __pyx_v_srcOffset = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_srcOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22349, __pyx_L3_error)
    __pyx_v_ByteCount = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_ByteCount == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22349, __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(1, 22348, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyAtoHAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_250cuMemcpyAtoHAsync(__pyx_self, __pyx_v_dstHost, __pyx_v_srcArray, __pyx_v_srcOffset, __pyx_v_ByteCount, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_250cuMemcpyAtoHAsync(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_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUarray __pyx_v_csrcArray;
  PyObject *__pyx_v_psrcArray = NULL;
  PyObject *__pyx_v_cdstHost = NULL;
  void *__pyx_v_cdstHost_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__610)
  __Pyx_RefNannySetupContext("cuMemcpyAtoHAsync", 1);
  __Pyx_TraceCall("cuMemcpyAtoHAsync", __pyx_f[1], 22348, 0, __PYX_ERR(1, 22348, __pyx_L1_error));

  /* "cuda/cuda.pyx":22380
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22381
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22380
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22382
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22383
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22384
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22384, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22382
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22386
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUarray csrcArray
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22387
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUarray csrcArray
 *     if srcArray is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22387, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":22389
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUarray csrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_srcArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22390
 *     cdef ccuda.CUarray csrcArray
 *     if srcArray is None:
 *         csrcArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)
 */
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22389
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUarray csrcArray
 *     if srcArray is None:             # <<<<<<<<<<<<<<
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":22391
 *     if srcArray is None:
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22392
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)             # <<<<<<<<<<<<<<
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_srcArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_psrcArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22393
 *     elif isinstance(srcArray, (CUarray,)):
 *         psrcArray = int(srcArray)
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *     else:
 *         psrcArray = int(CUarray(srcArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22393, __pyx_L1_error)
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22391
 *     if srcArray is None:
 *         csrcArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(srcArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         psrcArray = int(srcArray)
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":22395
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     else:
 *         psrcArray = int(CUarray(srcArray))             # <<<<<<<<<<<<<<
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_srcArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_psrcArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22396
 *     else:
 *         psrcArray = int(CUarray(srcArray))
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray             # <<<<<<<<<<<<<<
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrcArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22396, __pyx_L1_error)
    __pyx_v_csrcArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":22397
 *         psrcArray = int(CUarray(srcArray))
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)             # <<<<<<<<<<<<<<
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr
 *     err = ccuda.cuMemcpyAtoHAsync(cdstHost_ptr, csrcArray, srcOffset, ByteCount, chStream)
 */
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_dstHost); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_cdstHost = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":22398
 *         csrcArray = <ccuda.CUarray><void_ptr>psrcArray
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpyAtoHAsync(cdstHost_ptr, csrcArray, srcOffset, ByteCount, chStream)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cdstHost, __pyx_n_s_cptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22398, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cdstHost_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":22399
 *     cdstHost = utils.HelperInputVoidPtr(dstHost)
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr
 *     err = ccuda.cuMemcpyAtoHAsync(cdstHost_ptr, csrcArray, srcOffset, ByteCount, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemcpyAtoHAsync(__pyx_v_cdstHost_ptr, __pyx_v_csrcArray, __pyx_v_srcOffset, __pyx_v_ByteCount, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 22399, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":22400
 *     cdef void* cdstHost_ptr = <void*><void_ptr>cdstHost.cptr
 *     err = ccuda.cuMemcpyAtoHAsync(cdstHost_ptr, csrcArray, srcOffset, ByteCount, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 22400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 22400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 22400, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":22348
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemcpyAtoHAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_psrcArray);
  __Pyx_XDECREF(__pyx_v_cdstHost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":22402
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2DAsync(pCopy : Optional[CUDA_MEMCPY2D], hStream):
 *     """ Copies memory for 2D arrays.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_253cuMemcpy2DAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_252cuMemcpy2DAsync, "cuMemcpy2DAsync(CUDA_MEMCPY2D pCopy: Optional[CUDA_MEMCPY2D], hStream)\n Copies memory for 2D arrays.\n\n    Perform 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\n    where:\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\n    If :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n    :py:obj:`~.srcHost` and :py:obj:`~.srcPitch` specify the (host) base\n    address of the source data and the bytes per row to apply.\n    :py:obj:`~.srcArray` is ignored.\n\n    If :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n    :py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` specify the (unified\n    virtual address space) base address of the source data and the bytes\n    per row to apply. :py:obj:`~.srcArray` is ignored. This value may be\n    used only if unified addressing is supported in the calling context.\n\n    If :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n    :py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` specify the (device)\n    base address of the source data and the bytes per row to apply.\n    :py:obj:`~.srcArray` is ignored.\n\n    If :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\n    ignored.\n\n    If :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n    :py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (unified\n    virtual address space) base address of the source data and the bytes\n    per row to apply. :py:obj:`~.dstArray` is ignored. This value may be\n    used only if un""ified addressing is supported in the calling context.\n\n    If :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n    :py:obj:`~.dstHost` and :py:obj:`~.dstPitch` specify the (host) base\n    address of the destination data and the bytes per row to apply.\n    :py:obj:`~.dstArray` is ignored.\n\n    If :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n    :py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (device)\n    base address of the destination data and the bytes per row to apply.\n    :py:obj:`~.dstArray` is ignored.\n\n    If :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\n    ignored.\n\n    - :py:obj:`~.srcXInBytes` and :py:obj:`~.srcY` specify the base address\n      of the source data for the copy.\n\n    For host pointers, the starting address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For device pointers, the starting address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For CUDA arrays, :py:obj:`~.srcXInBytes` must be evenly divisible by\n    the 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\n    For host pointers, the base address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For device pointers, the starting address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For CUDA arrays, :py:obj:`~.dstXInBytes` must be evenly divisible by\n    the 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\n    than 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\n    device, 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\n    Parameters\n    ----------\n    pCopy : :py:obj:`~.CUDA_MEMCPY2D`\n        Parameters for the memory copy\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\n    See 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:`~.cuMemcp""yAtoHAsync`, :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:`~.cudaMemcpy2DAsync`, :py:obj:`~.cudaMemcpy2DToArrayAsync`, :py:obj:`~.cudaMemcpy2DFromArrayAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_253cuMemcpy2DAsync = {"cuMemcpy2DAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_253cuMemcpy2DAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_252cuMemcpy2DAsync};
static PyObject *__pyx_pw_4cuda_4cuda_253cuMemcpy2DAsync(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pCopy,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pCopy)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22402, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22402, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpy2DAsync", 1, 2, 2, 1); __PYX_ERR(1, 22402, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpy2DAsync") < 0)) __PYX_ERR(1, 22402, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_pCopy = ((struct __pyx_obj_4cuda_4cuda_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(1, 22402, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_MEMCPY2D, 1, "pCopy", 0))) __PYX_ERR(1, 22403, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_252cuMemcpy2DAsync(__pyx_self, __pyx_v_pCopy, __pyx_v_hStream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_252cuMemcpy2DAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D *__pyx_v_pCopy, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUDA_MEMCPY2D *__pyx_v_cpCopy_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_MEMCPY2D_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__611)
  __Pyx_RefNannySetupContext("cuMemcpy2DAsync", 1);
  __Pyx_TraceCall("cuMemcpy2DAsync", __pyx_f[1], 22402, 0, __PYX_ERR(1, 22402, __pyx_L1_error));

  /* "cuda/cuda.pyx":22531
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22532
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22531
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22533
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22534
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22535
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22535, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22533
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22537
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUDA_MEMCPY2D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22537, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22537, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22538
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_MEMCPY2D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 *     err = ccuda.cuMemcpy2DAsync(cpCopy_ptr, chStream)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22538, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":22539
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUDA_MEMCPY2D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpy2DAsync(cpCopy_ptr, chStream)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_pCopy), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22539, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 22539, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_pCopy->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cpCopy_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":22540
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUDA_MEMCPY2D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 *     err = ccuda.cuMemcpy2DAsync(cpCopy_ptr, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuMemcpy2DAsync(__pyx_v_cpCopy_ptr, __pyx_v_chStream); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 22540, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":22541
 *     cdef ccuda.CUDA_MEMCPY2D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 *     err = ccuda.cuMemcpy2DAsync(cpCopy_ptr, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 22541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 22541, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":22402
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuMemcpy2DAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":22543
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DAsync(pCopy : Optional[CUDA_MEMCPY3D], hStream):
 *     """ Copies memory for 3D arrays.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_255cuMemcpy3DAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_254cuMemcpy3DAsync, "cuMemcpy3DAsync(CUDA_MEMCPY3D pCopy: Optional[CUDA_MEMCPY3D], hStream)\n Copies memory for 3D arrays.\n\n    Perform 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\n    where:\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\n    If :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n    :py:obj:`~.srcDevice` and :py:obj:`~.srcPitch` specify the (unified\n    virtual address space) base address of the source data and the bytes\n    per row to apply. :py:obj:`~.srcArray` is ignored. This value may be\n    used only if unified addressing is supported in the calling context.\n\n    If :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n    :py:obj:`~.srcHost`, :py:obj:`~.srcPitch` and :py:obj:`~.srcHeight`\n    specify the (host) base address of the source data, the bytes per row,\n    and the height of each 2D slice of the 3D array. :py:obj:`~.srcArray`\n    is ignored.\n\n    If :py:obj:`~.srcMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n    :py:obj:`~.srcDevice`, :py:obj:`~.srcPitch` and :py:obj:`~.srcHeight`\n    specify the (device) base address of the source data, the bytes per\n    row, and the height of each 2D slice of the 3D array.\n    :py:obj:`~.srcArray` is ignored.\n\n    If :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\n    If :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_UNIFIED`,\n    :py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (unified\n    virtual ad""dress space) base address of the source data and the bytes\n    per row to apply. :py:obj:`~.dstArray` is ignored. This value may be\n    used only if unified addressing is supported in the calling context.\n\n    If :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_HOST`,\n    :py:obj:`~.dstHost` and :py:obj:`~.dstPitch` specify the (host) base\n    address of the destination data, the bytes per row, and the height of\n    each 2D slice of the 3D array. :py:obj:`~.dstArray` is ignored.\n\n    If :py:obj:`~.dstMemoryType` is :py:obj:`~.CU_MEMORYTYPE_DEVICE`,\n    :py:obj:`~.dstDevice` and :py:obj:`~.dstPitch` specify the (device)\n    base address of the destination data, the bytes per row, and the height\n    of each 2D slice of the 3D array. :py:obj:`~.dstArray` is ignored.\n\n    If :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\n    For host pointers, the starting address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For device pointers, the starting address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For CUDA arrays, :py:obj:`~.srcXInBytes` must be evenly divisible by\n    the 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\n    For host pointers, the base address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For device pointers, the starting address is\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For CUDA arrays, :py:obj:`~.dstXInBytes` must be evenly divisible by\n    the 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:`~.cuMemcpy3DAsync()` returns an error if any pitch is greater\n    than the maximum allowed (:py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_PITCH`).\n\n    The :py:obj:`~.srcLOD` and :py:obj:`~.dstLOD` members of the\n    :py:obj:`~.CUDA_MEMCPY3D` structure must be set to 0.\n\n    Parameters\n    ----------\n    pCopy : :py:obj:`~.CUDA_MEMCPY3D`\n        Parameters for the memory copy\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_255cuMemcpy3DAsync = {"cuMemcpy3DAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_255cuMemcpy3DAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_254cuMemcpy3DAsync};
static PyObject *__pyx_pw_4cuda_4cuda_255cuMemcpy3DAsync(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pCopy,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pCopy)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22543, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22543, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpy3DAsync", 1, 2, 2, 1); __PYX_ERR(1, 22543, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpy3DAsync") < 0)) __PYX_ERR(1, 22543, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_pCopy = ((struct __pyx_obj_4cuda_4cuda_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(1, 22543, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_MEMCPY3D, 1, "pCopy", 0))) __PYX_ERR(1, 22544, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_254cuMemcpy3DAsync(__pyx_self, __pyx_v_pCopy, __pyx_v_hStream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_254cuMemcpy3DAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *__pyx_v_pCopy, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUDA_MEMCPY3D *__pyx_v_cpCopy_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_MEMCPY3D_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__612)
  __Pyx_RefNannySetupContext("cuMemcpy3DAsync", 1);
  __Pyx_TraceCall("cuMemcpy3DAsync", __pyx_f[1], 22543, 0, __PYX_ERR(1, 22543, __pyx_L1_error));

  /* "cuda/cuda.pyx":22668
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22669
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22668
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22670
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22671
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22671, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22672
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22672, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22670
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22674
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUDA_MEMCPY3D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22675
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_MEMCPY3D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 *     err = ccuda.cuMemcpy3DAsync(cpCopy_ptr, chStream)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22675, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":22676
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUDA_MEMCPY3D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpy3DAsync(cpCopy_ptr, chStream)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_pCopy), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22676, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 22676, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_pCopy->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cpCopy_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":22677
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUDA_MEMCPY3D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 *     err = ccuda.cuMemcpy3DAsync(cpCopy_ptr, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuMemcpy3DAsync(__pyx_v_cpCopy_ptr, __pyx_v_chStream); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 22677, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":22678
 *     cdef ccuda.CUDA_MEMCPY3D* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 *     err = ccuda.cuMemcpy3DAsync(cpCopy_ptr, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 22678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 22678, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":22543
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuMemcpy3DAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":22680
 *     return (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_4cuda_257cuMemcpy3DPeerAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_256cuMemcpy3DPeerAsync, "cuMemcpy3DPeerAsync(CUDA_MEMCPY3D_PEER pCopy: Optional[CUDA_MEMCPY3D_PEER], hStream)\n Copies memory between contexts asynchronously.\n\n    Perform a 3D memory copy according to the parameters specified in\n    `pCopy`. See the definition of the :py:obj:`~.CUDA_MEMCPY3D_PEER`\n    structure for documentation of its parameters.\n\n    Parameters\n    ----------\n    pCopy : :py:obj:`~.CUDA_MEMCPY3D_PEER`\n        Parameters for the memory copy\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemcpyDtoD`, :py:obj:`~.cuMemcpyPeer`, :py:obj:`~.cuMemcpyDtoDAsync`, :py:obj:`~.cuMemcpyPeerAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cudaMemcpy3DPeerAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_257cuMemcpy3DPeerAsync = {"cuMemcpy3DPeerAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_257cuMemcpy3DPeerAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_256cuMemcpy3DPeerAsync};
static PyObject *__pyx_pw_4cuda_4cuda_257cuMemcpy3DPeerAsync(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pCopy,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pCopy)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22680, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22680, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemcpy3DPeerAsync", 1, 2, 2, 1); __PYX_ERR(1, 22680, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemcpy3DPeerAsync") < 0)) __PYX_ERR(1, 22680, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_pCopy = ((struct __pyx_obj_4cuda_4cuda_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(1, 22680, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER, 1, "pCopy", 0))) __PYX_ERR(1, 22681, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_256cuMemcpy3DPeerAsync(__pyx_self, __pyx_v_pCopy, __pyx_v_hStream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_256cuMemcpy3DPeerAsync(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER *__pyx_v_pCopy, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUDA_MEMCPY3D_PEER *__pyx_v_cpCopy_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_MEMCPY3D_PEER_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__613)
  __Pyx_RefNannySetupContext("cuMemcpy3DPeerAsync", 1);
  __Pyx_TraceCall("cuMemcpy3DPeerAsync", __pyx_f[1], 22680, 0, __PYX_ERR(1, 22680, __pyx_L1_error));

  /* "cuda/cuda.pyx":22705
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22706
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22705
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22707
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22708
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22708, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22709
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22709, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22707
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22711
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUDA_MEMCPY3D_PEER* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22711, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22711, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22712
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_MEMCPY3D_PEER* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 *     err = ccuda.cuMemcpy3DPeerAsync(cpCopy_ptr, chStream)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22712, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":22713
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUDA_MEMCPY3D_PEER* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemcpy3DPeerAsync(cpCopy_ptr, chStream)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_pCopy), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22713, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 22713, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_pCopy->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cpCopy_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":22714
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUDA_MEMCPY3D_PEER* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 *     err = ccuda.cuMemcpy3DPeerAsync(cpCopy_ptr, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuMemcpy3DPeerAsync(__pyx_v_cpCopy_ptr, __pyx_v_chStream); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 22714, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":22715
 *     cdef ccuda.CUDA_MEMCPY3D_PEER* cpCopy_ptr = pCopy._ptr if pCopy != None else NULL
 *     err = ccuda.cuMemcpy3DPeerAsync(cpCopy_ptr, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 22715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 22715, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":22680
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuMemcpy3DPeerAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":22717
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD8(dstDevice, unsigned char uc, size_t N):
 *     """ Initializes device memory.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_259cuMemsetD8(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_258cuMemsetD8, "cuMemsetD8(dstDevice, unsigned char uc, size_t N)\n Initializes device memory.\n\n    Sets the memory range of `N` 8-bit values to the specified value `uc`.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    uc : unsigned char\n        Value to set\n    N : size_t\n        Number of elements\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_259cuMemsetD8 = {"cuMemsetD8", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_259cuMemsetD8, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_258cuMemsetD8};
static PyObject *__pyx_pw_4cuda_4cuda_259cuMemsetD8(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_uc,&__pyx_n_s_N,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22717, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_uc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22717, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD8", 1, 3, 3, 1); __PYX_ERR(1, 22717, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_N)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22717, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD8", 1, 3, 3, 2); __PYX_ERR(1, 22717, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemsetD8") < 0)) __PYX_ERR(1, 22717, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_uc = __Pyx_PyInt_As_unsigned_char(values[1]); if (unlikely((__pyx_v_uc == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 22718, __pyx_L3_error)
    __pyx_v_N = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_N == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22718, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD8", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 22717, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD8", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_258cuMemsetD8(__pyx_self, __pyx_v_dstDevice, __pyx_v_uc, __pyx_v_N);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_258cuMemsetD8(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, unsigned char __pyx_v_uc, size_t __pyx_v_N) {
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__614)
  __Pyx_RefNannySetupContext("cuMemsetD8", 1);
  __Pyx_TraceCall("cuMemsetD8", __pyx_f[1], 22717, 0, __PYX_ERR(1, 22717, __pyx_L1_error));

  /* "cuda/cuda.pyx":22742
 *     """
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22743
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22742
 *     """
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22744
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22745
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22746
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22746, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22744
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22748
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD8(cdstDevice, uc, N)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22749
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemsetD8(cdstDevice, uc, N)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22749, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":22750
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD8(cdstDevice, uc, N)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemsetD8(__pyx_v_cdstDevice, __pyx_v_uc, __pyx_v_N); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 22750, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":22751
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD8(cdstDevice, uc, N)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 22751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 22751, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":22717
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD8", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":22753
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD16(dstDevice, unsigned short us, size_t N):
 *     """ Initializes device memory.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_261cuMemsetD16(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_260cuMemsetD16, "cuMemsetD16(dstDevice, unsigned short us, size_t N)\n Initializes device memory.\n\n    Sets the memory range of `N` 16-bit values to the specified value `us`.\n    The `dstDevice` pointer must be two byte aligned.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    us : unsigned short\n        Value to set\n    N : size_t\n        Number of elements\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_261cuMemsetD16 = {"cuMemsetD16", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_261cuMemsetD16, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_260cuMemsetD16};
static PyObject *__pyx_pw_4cuda_4cuda_261cuMemsetD16(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_us,&__pyx_n_s_N,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22753, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_us)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22753, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD16", 1, 3, 3, 1); __PYX_ERR(1, 22753, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_N)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22753, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD16", 1, 3, 3, 2); __PYX_ERR(1, 22753, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemsetD16") < 0)) __PYX_ERR(1, 22753, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_us = __Pyx_PyInt_As_unsigned_short(values[1]); if (unlikely((__pyx_v_us == (unsigned short)-1) && PyErr_Occurred())) __PYX_ERR(1, 22754, __pyx_L3_error)
    __pyx_v_N = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_N == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22754, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD16", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 22753, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_260cuMemsetD16(__pyx_self, __pyx_v_dstDevice, __pyx_v_us, __pyx_v_N);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_260cuMemsetD16(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, unsigned short __pyx_v_us, size_t __pyx_v_N) {
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__615)
  __Pyx_RefNannySetupContext("cuMemsetD16", 1);
  __Pyx_TraceCall("cuMemsetD16", __pyx_f[1], 22753, 0, __PYX_ERR(1, 22753, __pyx_L1_error));

  /* "cuda/cuda.pyx":22779
 *     """
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22780
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22779
 *     """
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22781
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22782
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22783
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22783, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22781
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22785
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD16(cdstDevice, us, N)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22785, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22785, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22786
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemsetD16(cdstDevice, us, N)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22786, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":22787
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD16(cdstDevice, us, N)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemsetD16(__pyx_v_cdstDevice, __pyx_v_us, __pyx_v_N); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 22787, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":22788
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD16(cdstDevice, us, N)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 22788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 22788, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":22753
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":22790
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD32(dstDevice, unsigned int ui, size_t N):
 *     """ Initializes device memory.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_263cuMemsetD32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_262cuMemsetD32, "cuMemsetD32(dstDevice, unsigned int ui, size_t N)\n Initializes device memory.\n\n    Sets the memory range of `N` 32-bit values to the specified value `ui`.\n    The `dstDevice` pointer must be four byte aligned.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    ui : unsigned int\n        Value to set\n    N : size_t\n        Number of elements\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_263cuMemsetD32 = {"cuMemsetD32", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_263cuMemsetD32, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_262cuMemsetD32};
static PyObject *__pyx_pw_4cuda_4cuda_263cuMemsetD32(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_ui,&__pyx_n_s_N,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22790, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ui)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22790, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD32", 1, 3, 3, 1); __PYX_ERR(1, 22790, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_N)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22790, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD32", 1, 3, 3, 2); __PYX_ERR(1, 22790, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemsetD32") < 0)) __PYX_ERR(1, 22790, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_ui = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_ui == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 22791, __pyx_L3_error)
    __pyx_v_N = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_N == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22791, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD32", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 22790, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_262cuMemsetD32(__pyx_self, __pyx_v_dstDevice, __pyx_v_ui, __pyx_v_N);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_262cuMemsetD32(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dstDevice, unsigned int __pyx_v_ui, size_t __pyx_v_N) {
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__616)
  __Pyx_RefNannySetupContext("cuMemsetD32", 1);
  __Pyx_TraceCall("cuMemsetD32", __pyx_f[1], 22790, 0, __PYX_ERR(1, 22790, __pyx_L1_error));

  /* "cuda/cuda.pyx":22816
 *     """
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22817
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22816
 *     """
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22818
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22819
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22820
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22820, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22818
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22822
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD32(cdstDevice, ui, N)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22823
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemsetD32(cdstDevice, ui, N)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22823, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":22824
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD32(cdstDevice, ui, N)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemsetD32(__pyx_v_cdstDevice, __pyx_v_ui, __pyx_v_N); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 22824, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":22825
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD32(cdstDevice, ui, N)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 22825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 22825, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":22790
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":22827
 *     return (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_4cuda_265cuMemsetD2D8(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_264cuMemsetD2D8, "cuMemsetD2D8(dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height)\n Initializes device memory.\n\n    Sets 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`\n    specifies the number of bytes between each row. This function performs\n    fastest when the pitch is one that has been passed back by\n    :py:obj:`~.cuMemAllocPitch()`.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    dstPitch : size_t\n        Pitch of destination device pointer(Unused if `Height` is 1)\n    uc : unsigned char\n        Value to set\n    Width : size_t\n        Width of row\n    Height : size_t\n        Number of rows\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_VALUE`\n\n    See 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:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemset2D`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_265cuMemsetD2D8 = {"cuMemsetD2D8", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_265cuMemsetD2D8, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_264cuMemsetD2D8};
static PyObject *__pyx_pw_4cuda_4cuda_265cuMemsetD2D8(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_dstPitch_2,&__pyx_n_s_uc,&__pyx_n_s_Width_2,&__pyx_n_s_Height_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22827, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstPitch_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22827, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D8", 1, 5, 5, 1); __PYX_ERR(1, 22827, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_uc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22827, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D8", 1, 5, 5, 2); __PYX_ERR(1, 22827, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Width_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22827, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D8", 1, 5, 5, 3); __PYX_ERR(1, 22827, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Height_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22827, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D8", 1, 5, 5, 4); __PYX_ERR(1, 22827, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemsetD2D8") < 0)) __PYX_ERR(1, 22827, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_dstPitch = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22828, __pyx_L3_error)
    __pyx_v_uc = __Pyx_PyInt_As_unsigned_char(values[2]); if (unlikely((__pyx_v_uc == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 22828, __pyx_L3_error)
    __pyx_v_Width = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_Width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22828, __pyx_L3_error)
    __pyx_v_Height = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22828, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD2D8", 1, 5, 5, __pyx_nargs); __PYX_ERR(1, 22827, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD2D8", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_264cuMemsetD2D8(__pyx_self, __pyx_v_dstDevice, __pyx_v_dstPitch, __pyx_v_uc, __pyx_v_Width, __pyx_v_Height);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_264cuMemsetD2D8(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_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__617)
  __Pyx_RefNannySetupContext("cuMemsetD2D8", 1);
  __Pyx_TraceCall("cuMemsetD2D8", __pyx_f[1], 22827, 0, __PYX_ERR(1, 22827, __pyx_L1_error));

  /* "cuda/cuda.pyx":22860
 *     """
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22861
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22860
 *     """
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22862
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22863
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22864
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22864, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22862
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22866
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D8(cdstDevice, dstPitch, uc, Width, Height)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22866, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22866, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22867
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemsetD2D8(cdstDevice, dstPitch, uc, Width, Height)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22867, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":22868
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D8(cdstDevice, dstPitch, uc, Width, Height)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemsetD2D8(__pyx_v_cdstDevice, __pyx_v_dstPitch, __pyx_v_uc, __pyx_v_Width, __pyx_v_Height); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 22868, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":22869
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D8(cdstDevice, dstPitch, uc, Width, Height)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 22869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 22869, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":22827
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD2D8", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":22871
 *     return (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_4cuda_267cuMemsetD2D16(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_266cuMemsetD2D16, "cuMemsetD2D16(dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height)\n Initializes device memory.\n\n    Sets the 2D memory range of `Width` 16-bit values to the specified\n    value `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.\n    This function performs fastest when the pitch is one that has been\n    passed back by :py:obj:`~.cuMemAllocPitch()`.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    dstPitch : size_t\n        Pitch of destination device pointer(Unused if `Height` is 1)\n    us : unsigned short\n        Value to set\n    Width : size_t\n        Width of row\n    Height : size_t\n        Number of rows\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_VALUE`\n\n    See 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:`~.cuMemHostAllo""c`, :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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_267cuMemsetD2D16 = {"cuMemsetD2D16", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_267cuMemsetD2D16, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_266cuMemsetD2D16};
static PyObject *__pyx_pw_4cuda_4cuda_267cuMemsetD2D16(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_dstPitch_2,&__pyx_n_s_us,&__pyx_n_s_Width_2,&__pyx_n_s_Height_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22871, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstPitch_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22871, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D16", 1, 5, 5, 1); __PYX_ERR(1, 22871, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_us)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22871, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D16", 1, 5, 5, 2); __PYX_ERR(1, 22871, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Width_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22871, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D16", 1, 5, 5, 3); __PYX_ERR(1, 22871, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Height_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22871, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D16", 1, 5, 5, 4); __PYX_ERR(1, 22871, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemsetD2D16") < 0)) __PYX_ERR(1, 22871, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_dstPitch = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22872, __pyx_L3_error)
    __pyx_v_us = __Pyx_PyInt_As_unsigned_short(values[2]); if (unlikely((__pyx_v_us == (unsigned short)-1) && PyErr_Occurred())) __PYX_ERR(1, 22872, __pyx_L3_error)
    __pyx_v_Width = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_Width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22872, __pyx_L3_error)
    __pyx_v_Height = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22872, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD2D16", 1, 5, 5, __pyx_nargs); __PYX_ERR(1, 22871, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD2D16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_266cuMemsetD2D16(__pyx_self, __pyx_v_dstDevice, __pyx_v_dstPitch, __pyx_v_us, __pyx_v_Width, __pyx_v_Height);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_266cuMemsetD2D16(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_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__618)
  __Pyx_RefNannySetupContext("cuMemsetD2D16", 1);
  __Pyx_TraceCall("cuMemsetD2D16", __pyx_f[1], 22871, 0, __PYX_ERR(1, 22871, __pyx_L1_error));

  /* "cuda/cuda.pyx":22905
 *     """
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22906
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22905
 *     """
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22907
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22908
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22908, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22909
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22909, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22907
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22911
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D16(cdstDevice, dstPitch, us, Width, Height)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22912
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemsetD2D16(cdstDevice, dstPitch, us, Width, Height)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22912, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":22913
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D16(cdstDevice, dstPitch, us, Width, Height)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemsetD2D16(__pyx_v_cdstDevice, __pyx_v_dstPitch, __pyx_v_us, __pyx_v_Width, __pyx_v_Height); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 22913, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":22914
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D16(cdstDevice, dstPitch, us, Width, Height)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 22914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22914, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 22914, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":22871
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD2D16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":22916
 *     return (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_4cuda_269cuMemsetD2D32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_268cuMemsetD2D32, "cuMemsetD2D32(dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height)\n Initializes device memory.\n\n    Sets the 2D memory range of `Width` 32-bit values to the specified\n    value `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.\n    This function performs fastest when the pitch is one that has been\n    passed back by :py:obj:`~.cuMemAllocPitch()`.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    dstPitch : size_t\n        Pitch of destination device pointer(Unused if `Height` is 1)\n    ui : unsigned int\n        Value to set\n    Width : size_t\n        Width of row\n    Height : size_t\n        Number of rows\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_VALUE`\n\n    See 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:`~.cuMemsetD2D32Async`, :py:obj:`~.cuMemsetD8`, :py:obj:`~.cuMemsetD8Async`, :py:obj:`~.cuMemsetD16`, :py:obj:`~.cuMemsetD16Async`, :py:obj:`~.cuMemsetD32`, :py:obj:`~.cuMemsetD32Async`, :py:obj:`~.cudaMemset2D`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_269cuMemsetD2D32 = {"cuMemsetD2D32", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_269cuMemsetD2D32, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_268cuMemsetD2D32};
static PyObject *__pyx_pw_4cuda_4cuda_269cuMemsetD2D32(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_dstPitch_2,&__pyx_n_s_ui,&__pyx_n_s_Width_2,&__pyx_n_s_Height_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22916, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstPitch_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22916, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D32", 1, 5, 5, 1); __PYX_ERR(1, 22916, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ui)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22916, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D32", 1, 5, 5, 2); __PYX_ERR(1, 22916, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Width_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22916, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D32", 1, 5, 5, 3); __PYX_ERR(1, 22916, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Height_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22916, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D32", 1, 5, 5, 4); __PYX_ERR(1, 22916, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemsetD2D32") < 0)) __PYX_ERR(1, 22916, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_dstPitch = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22917, __pyx_L3_error)
    __pyx_v_ui = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_ui == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 22917, __pyx_L3_error)
    __pyx_v_Width = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_Width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22917, __pyx_L3_error)
    __pyx_v_Height = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22917, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemsetD2D32", 1, 5, 5, __pyx_nargs); __PYX_ERR(1, 22916, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD2D32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_268cuMemsetD2D32(__pyx_self, __pyx_v_dstDevice, __pyx_v_dstPitch, __pyx_v_ui, __pyx_v_Width, __pyx_v_Height);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_268cuMemsetD2D32(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_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__619)
  __Pyx_RefNannySetupContext("cuMemsetD2D32", 1);
  __Pyx_TraceCall("cuMemsetD2D32", __pyx_f[1], 22916, 0, __PYX_ERR(1, 22916, __pyx_L1_error));

  /* "cuda/cuda.pyx":22950
 *     """
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22951
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22950
 *     """
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22952
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22953
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22954
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22954, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22952
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22956
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D32(cdstDevice, dstPitch, ui, Width, Height)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22957
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemsetD2D32(cdstDevice, dstPitch, ui, Width, Height)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22957, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":22958
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D32(cdstDevice, dstPitch, ui, Width, Height)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemsetD2D32(__pyx_v_cdstDevice, __pyx_v_dstPitch, __pyx_v_ui, __pyx_v_Width, __pyx_v_Height); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 22958, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":22959
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D32(cdstDevice, dstPitch, ui, Width, Height)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22959, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 22959, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22959, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22959, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 22959, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":22916
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD2D32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":22961
 *     return (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_4cuda_271cuMemsetD8Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_270cuMemsetD8Async, "cuMemsetD8Async(dstDevice, unsigned char uc, size_t N, hStream)\n Sets device memory.\n\n    Sets the memory range of `N` 8-bit values to the specified value `uc`.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    uc : unsigned char\n        Value to set\n    N : size_t\n        Number of elements\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_271cuMemsetD8Async = {"cuMemsetD8Async", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_271cuMemsetD8Async, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_270cuMemsetD8Async};
static PyObject *__pyx_pw_4cuda_4cuda_271cuMemsetD8Async(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_uc,&__pyx_n_s_N,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22961, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_uc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22961, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD8Async", 1, 4, 4, 1); __PYX_ERR(1, 22961, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_N)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22961, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD8Async", 1, 4, 4, 2); __PYX_ERR(1, 22961, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 22961, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD8Async", 1, 4, 4, 3); __PYX_ERR(1, 22961, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemsetD8Async") < 0)) __PYX_ERR(1, 22961, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_uc = __Pyx_PyInt_As_unsigned_char(values[1]); if (unlikely((__pyx_v_uc == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 22962, __pyx_L3_error)
    __pyx_v_N = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_N == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 22962, __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(1, 22961, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD8Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_270cuMemsetD8Async(__pyx_self, __pyx_v_dstDevice, __pyx_v_uc, __pyx_v_N, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_270cuMemsetD8Async(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_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__620)
  __Pyx_RefNannySetupContext("cuMemsetD8Async", 1);
  __Pyx_TraceCall("cuMemsetD8Async", __pyx_f[1], 22961, 0, __PYX_ERR(1, 22961, __pyx_L1_error));

  /* "cuda/cuda.pyx":22988
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22989
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22988
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22990
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22991
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":22992
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22992, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22990
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":22994
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 22994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":22995
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 22995, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":22997
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":22998
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":22997
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":22999
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23000
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23001
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23001, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":22999
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":23003
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD8Async(cdstDevice, uc, N, chStream)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23003, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23003, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23004
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemsetD8Async(cdstDevice, uc, N, chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23004, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":23005
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD8Async(cdstDevice, uc, N, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemsetD8Async(__pyx_v_cdstDevice, __pyx_v_uc, __pyx_v_N, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23005, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":23006
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD8Async(cdstDevice, uc, N, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 23006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 23006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 23006, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":22961
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23008
 *     return (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_4cuda_273cuMemsetD16Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_272cuMemsetD16Async, "cuMemsetD16Async(dstDevice, unsigned short us, size_t N, hStream)\n Sets device memory.\n\n    Sets the memory range of `N` 16-bit values to the specified value `us`.\n    The `dstDevice` pointer must be two byte aligned.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    us : unsigned short\n        Value to set\n    N : size_t\n        Number of elements\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_VALUE`\n\n    See 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:`~.cuMemsetD32Asyn""c`, :py:obj:`~.cudaMemsetAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_273cuMemsetD16Async = {"cuMemsetD16Async", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_273cuMemsetD16Async, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_272cuMemsetD16Async};
static PyObject *__pyx_pw_4cuda_4cuda_273cuMemsetD16Async(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_us,&__pyx_n_s_N,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23008, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_us)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23008, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD16Async", 1, 4, 4, 1); __PYX_ERR(1, 23008, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_N)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23008, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD16Async", 1, 4, 4, 2); __PYX_ERR(1, 23008, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23008, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD16Async", 1, 4, 4, 3); __PYX_ERR(1, 23008, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemsetD16Async") < 0)) __PYX_ERR(1, 23008, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_us = __Pyx_PyInt_As_unsigned_short(values[1]); if (unlikely((__pyx_v_us == (unsigned short)-1) && PyErr_Occurred())) __PYX_ERR(1, 23009, __pyx_L3_error)
    __pyx_v_N = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_N == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 23009, __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(1, 23008, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD16Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_272cuMemsetD16Async(__pyx_self, __pyx_v_dstDevice, __pyx_v_us, __pyx_v_N, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_272cuMemsetD16Async(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_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__621)
  __Pyx_RefNannySetupContext("cuMemsetD16Async", 1);
  __Pyx_TraceCall("cuMemsetD16Async", __pyx_f[1], 23008, 0, __PYX_ERR(1, 23008, __pyx_L1_error));

  /* "cuda/cuda.pyx":23036
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23037
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23036
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23038
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23039
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23040
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23040, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":23038
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23042
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23042, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23043
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23043, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":23045
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23046
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23045
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":23047
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23048
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23048, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23049
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23049, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":23047
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":23051
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD16Async(cdstDevice, us, N, chStream)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23052
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemsetD16Async(cdstDevice, us, N, chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23052, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":23053
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD16Async(cdstDevice, us, N, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemsetD16Async(__pyx_v_cdstDevice, __pyx_v_us, __pyx_v_N, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23053, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":23054
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD16Async(cdstDevice, us, N, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 23054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 23054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 23054, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23008
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23056
 *     return (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_4cuda_275cuMemsetD32Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_274cuMemsetD32Async, "cuMemsetD32Async(dstDevice, unsigned int ui, size_t N, hStream)\n Sets device memory.\n\n    Sets the memory range of `N` 32-bit values to the specified value `ui`.\n    The `dstDevice` pointer must be four byte aligned.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    ui : unsigned int\n        Value to set\n    N : size_t\n        Number of elements\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_275cuMemsetD32Async = {"cuMemsetD32Async", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_275cuMemsetD32Async, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_274cuMemsetD32Async};
static PyObject *__pyx_pw_4cuda_4cuda_275cuMemsetD32Async(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_ui,&__pyx_n_s_N,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23056, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ui)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23056, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD32Async", 1, 4, 4, 1); __PYX_ERR(1, 23056, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_N)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23056, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD32Async", 1, 4, 4, 2); __PYX_ERR(1, 23056, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23056, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD32Async", 1, 4, 4, 3); __PYX_ERR(1, 23056, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemsetD32Async") < 0)) __PYX_ERR(1, 23056, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_ui = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_ui == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 23057, __pyx_L3_error)
    __pyx_v_N = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_N == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 23057, __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(1, 23056, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD32Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_274cuMemsetD32Async(__pyx_self, __pyx_v_dstDevice, __pyx_v_ui, __pyx_v_N, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_274cuMemsetD32Async(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_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__622)
  __Pyx_RefNannySetupContext("cuMemsetD32Async", 1);
  __Pyx_TraceCall("cuMemsetD32Async", __pyx_f[1], 23056, 0, __PYX_ERR(1, 23056, __pyx_L1_error));

  /* "cuda/cuda.pyx":23084
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23085
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23084
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23086
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23087
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23087, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23088
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23088, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":23086
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23090
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23090, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23090, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23091
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23091, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":23093
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23094
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23093
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":23095
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23096
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23097
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23097, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":23095
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":23099
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD32Async(cdstDevice, ui, N, chStream)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23099, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23099, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23100
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemsetD32Async(cdstDevice, ui, N, chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23100, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":23101
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD32Async(cdstDevice, ui, N, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemsetD32Async(__pyx_v_cdstDevice, __pyx_v_ui, __pyx_v_N, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23101, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":23102
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD32Async(cdstDevice, ui, N, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 23102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 23102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 23102, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23056
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23104
 *     return (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_4cuda_277cuMemsetD2D8Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_276cuMemsetD2D8Async, "cuMemsetD2D8Async(dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height, hStream)\n Sets device memory.\n\n    Sets 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`\n    specifies the number of bytes between each row. This function performs\n    fastest when the pitch is one that has been passed back by\n    :py:obj:`~.cuMemAllocPitch()`.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    dstPitch : size_t\n        Pitch of destination device pointer(Unused if `Height` is 1)\n    uc : unsigned char\n        Value to set\n    Width : size_t\n        Width of row\n    Height : size_t\n        Number of rows\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_VALUE`\n\n    See 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:`~.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:`~.cudaMemset2DAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_277cuMemsetD2D8Async = {"cuMemsetD2D8Async", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_277cuMemsetD2D8Async, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_276cuMemsetD2D8Async};
static PyObject *__pyx_pw_4cuda_4cuda_277cuMemsetD2D8Async(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_dstPitch_2,&__pyx_n_s_uc,&__pyx_n_s_Width_2,&__pyx_n_s_Height_2,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23104, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstPitch_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23104, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D8Async", 1, 6, 6, 1); __PYX_ERR(1, 23104, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_uc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23104, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D8Async", 1, 6, 6, 2); __PYX_ERR(1, 23104, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Width_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23104, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D8Async", 1, 6, 6, 3); __PYX_ERR(1, 23104, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Height_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23104, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D8Async", 1, 6, 6, 4); __PYX_ERR(1, 23104, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[5]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23104, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D8Async", 1, 6, 6, 5); __PYX_ERR(1, 23104, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemsetD2D8Async") < 0)) __PYX_ERR(1, 23104, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
      values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_dstPitch = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 23105, __pyx_L3_error)
    __pyx_v_uc = __Pyx_PyInt_As_unsigned_char(values[2]); if (unlikely((__pyx_v_uc == (unsigned char)-1) && PyErr_Occurred())) __PYX_ERR(1, 23105, __pyx_L3_error)
    __pyx_v_Width = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_Width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 23105, __pyx_L3_error)
    __pyx_v_Height = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 23105, __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(1, 23104, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD2D8Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_276cuMemsetD2D8Async(__pyx_self, __pyx_v_dstDevice, __pyx_v_dstPitch, __pyx_v_uc, __pyx_v_Width, __pyx_v_Height, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_276cuMemsetD2D8Async(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_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__623)
  __Pyx_RefNannySetupContext("cuMemsetD2D8Async", 1);
  __Pyx_TraceCall("cuMemsetD2D8Async", __pyx_f[1], 23104, 0, __PYX_ERR(1, 23104, __pyx_L1_error));

  /* "cuda/cuda.pyx":23139
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23140
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23139
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23141
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23142
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23143
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23143, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":23141
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23145
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23146
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23146, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":23148
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23149
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23148
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":23150
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23151
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23151, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23152
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23152, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":23150
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":23154
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D8Async(cdstDevice, dstPitch, uc, Width, Height, chStream)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23155
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemsetD2D8Async(cdstDevice, dstPitch, uc, Width, Height, chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23155, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":23156
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D8Async(cdstDevice, dstPitch, uc, Width, Height, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemsetD2D8Async(__pyx_v_cdstDevice, __pyx_v_dstPitch, __pyx_v_uc, __pyx_v_Width, __pyx_v_Height, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23156, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":23157
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D8Async(cdstDevice, dstPitch, uc, Width, Height, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 23157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 23157, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 23157, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23104
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23159
 *     return (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_4cuda_279cuMemsetD2D16Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_278cuMemsetD2D16Async, "cuMemsetD2D16Async(dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height, hStream)\n Sets device memory.\n\n    Sets the 2D memory range of `Width` 16-bit values to the specified\n    value `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.\n    This function performs fastest when the pitch is one that has been\n    passed back by :py:obj:`~.cuMemAllocPitch()`.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    dstPitch : size_t\n        Pitch of destination device pointer(Unused if `Height` is 1)\n    us : unsigned short\n        Value to set\n    Width : size_t\n        Width of row\n    Height : size_t\n        Number of rows\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_VALUE`\n\n    See 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:`~.cu""MemFreeHost`, :py:obj:`~.cuMemGetAddressRange`, :py:obj:`~.cuMemGetInfo`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_279cuMemsetD2D16Async = {"cuMemsetD2D16Async", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_279cuMemsetD2D16Async, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_278cuMemsetD2D16Async};
static PyObject *__pyx_pw_4cuda_4cuda_279cuMemsetD2D16Async(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_dstPitch_2,&__pyx_n_s_us,&__pyx_n_s_Width_2,&__pyx_n_s_Height_2,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23159, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstPitch_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23159, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D16Async", 1, 6, 6, 1); __PYX_ERR(1, 23159, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_us)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23159, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D16Async", 1, 6, 6, 2); __PYX_ERR(1, 23159, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Width_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23159, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D16Async", 1, 6, 6, 3); __PYX_ERR(1, 23159, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Height_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23159, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D16Async", 1, 6, 6, 4); __PYX_ERR(1, 23159, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[5]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23159, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D16Async", 1, 6, 6, 5); __PYX_ERR(1, 23159, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemsetD2D16Async") < 0)) __PYX_ERR(1, 23159, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
      values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_dstPitch = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 23160, __pyx_L3_error)
    __pyx_v_us = __Pyx_PyInt_As_unsigned_short(values[2]); if (unlikely((__pyx_v_us == (unsigned short)-1) && PyErr_Occurred())) __PYX_ERR(1, 23160, __pyx_L3_error)
    __pyx_v_Width = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_Width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 23160, __pyx_L3_error)
    __pyx_v_Height = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 23160, __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(1, 23159, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD2D16Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_278cuMemsetD2D16Async(__pyx_self, __pyx_v_dstDevice, __pyx_v_dstPitch, __pyx_v_us, __pyx_v_Width, __pyx_v_Height, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_278cuMemsetD2D16Async(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_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__624)
  __Pyx_RefNannySetupContext("cuMemsetD2D16Async", 1);
  __Pyx_TraceCall("cuMemsetD2D16Async", __pyx_f[1], 23159, 0, __PYX_ERR(1, 23159, __pyx_L1_error));

  /* "cuda/cuda.pyx":23195
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23196
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23195
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23197
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23198
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23198, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23199
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23199, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":23197
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23201
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23201, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23201, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23202
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23202, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":23204
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23205
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23204
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":23206
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23207
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23208
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23208, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":23206
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":23210
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D16Async(cdstDevice, dstPitch, us, Width, Height, chStream)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23211
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemsetD2D16Async(cdstDevice, dstPitch, us, Width, Height, chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23211, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":23212
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D16Async(cdstDevice, dstPitch, us, Width, Height, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemsetD2D16Async(__pyx_v_cdstDevice, __pyx_v_dstPitch, __pyx_v_us, __pyx_v_Width, __pyx_v_Height, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23212, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":23213
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D16Async(cdstDevice, dstPitch, us, Width, Height, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 23213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 23213, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 23213, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23159
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23215
 *     return (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_4cuda_281cuMemsetD2D32Async(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_280cuMemsetD2D32Async, "cuMemsetD2D32Async(dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height, hStream)\n Sets device memory.\n\n    Sets the 2D memory range of `Width` 32-bit values to the specified\n    value `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.\n    This function performs fastest when the pitch is one that has been\n    passed back by :py:obj:`~.cuMemAllocPitch()`.\n\n    Parameters\n    ----------\n    dstDevice : :py:obj:`~.CUdeviceptr`\n        Destination device pointer\n    dstPitch : size_t\n        Pitch of destination device pointer(Unused if `Height` is 1)\n    ui : unsigned int\n        Value to set\n    Width : size_t\n        Width of row\n    Height : size_t\n        Number of rows\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_VALUE`\n\n    See 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:`~.cuMem""FreeHost`, :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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_281cuMemsetD2D32Async = {"cuMemsetD2D32Async", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_281cuMemsetD2D32Async, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_280cuMemsetD2D32Async};
static PyObject *__pyx_pw_4cuda_4cuda_281cuMemsetD2D32Async(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dstDevice_2,&__pyx_n_s_dstPitch_2,&__pyx_n_s_ui,&__pyx_n_s_Width_2,&__pyx_n_s_Height_2,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23215, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstPitch_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23215, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D32Async", 1, 6, 6, 1); __PYX_ERR(1, 23215, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ui)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23215, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D32Async", 1, 6, 6, 2); __PYX_ERR(1, 23215, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Width_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23215, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D32Async", 1, 6, 6, 3); __PYX_ERR(1, 23215, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Height_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23215, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D32Async", 1, 6, 6, 4); __PYX_ERR(1, 23215, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[5]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23215, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemsetD2D32Async", 1, 6, 6, 5); __PYX_ERR(1, 23215, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemsetD2D32Async") < 0)) __PYX_ERR(1, 23215, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
      values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
    }
    __pyx_v_dstDevice = values[0];
    __pyx_v_dstPitch = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_dstPitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 23216, __pyx_L3_error)
    __pyx_v_ui = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_ui == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 23216, __pyx_L3_error)
    __pyx_v_Width = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_Width == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 23216, __pyx_L3_error)
    __pyx_v_Height = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_Height == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 23216, __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(1, 23215, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemsetD2D32Async", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_280cuMemsetD2D32Async(__pyx_self, __pyx_v_dstDevice, __pyx_v_dstPitch, __pyx_v_ui, __pyx_v_Width, __pyx_v_Height, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_280cuMemsetD2D32Async(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_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__625)
  __Pyx_RefNannySetupContext("cuMemsetD2D32Async", 1);
  __Pyx_TraceCall("cuMemsetD2D32Async", __pyx_f[1], 23215, 0, __PYX_ERR(1, 23215, __pyx_L1_error));

  /* "cuda/cuda.pyx":23251
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23252
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23251
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23253
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23254
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23255
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23255, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":23253
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23257
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23258
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23258, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":23260
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23261
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23260
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":23262
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23263
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23263, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23264
 *     elif isinstance(dstDevice, (CUdeviceptr,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23264, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":23262
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dstDevice, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":23266
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D32Async(cdstDevice, dstPitch, ui, Width, Height, chStream)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23267
 *     else:
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemsetD2D32Async(cdstDevice, dstPitch, ui, Width, Height, chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23267, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":23268
 *         pdstDevice = int(CUdeviceptr(dstDevice))
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D32Async(cdstDevice, dstPitch, ui, Width, Height, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemsetD2D32Async(__pyx_v_cdstDevice, __pyx_v_dstPitch, __pyx_v_ui, __pyx_v_Width, __pyx_v_Height, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23268, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":23269
 *         cdstDevice = <ccuda.CUdeviceptr><void_ptr>pdstDevice
 *     err = ccuda.cuMemsetD2D32Async(cdstDevice, dstPitch, ui, Width, Height, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 23269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 23269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 23269, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23215
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23271
 *     return (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_4cuda_283cuArrayCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_282cuArrayCreate, "cuArrayCreate(CUDA_ARRAY_DESCRIPTOR pAllocateArray: Optional[CUDA_ARRAY_DESCRIPTOR])\n Creates a 1D or 2D CUDA array.\n\n    Creates a CUDA array according to the :py:obj:`~.CUDA_ARRAY_DESCRIPTOR`\n    structure `pAllocateArray` and returns a handle to the new CUDA array\n    in `*pHandle`. The :py:obj:`~.CUDA_ARRAY_DESCRIPTOR` is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where:\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\n    Here are examples of CUDA array descriptions:\n\n    Description for a CUDA array of 2048 floats:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    Description for a 64 x 64 CUDA array of floats:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    Description for a `width` x `height` CUDA array of 64-bit, 4x16-bit\n    float16's:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    Description for a `width` x `height` CUDA array of 16-bit elements,\n    each of which is two 8-bit unsigned chars:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    Parameters\n    ----------\n    pAllocateArray : :py:obj:`~.CUDA_ARRAY_DESCRIPTOR`\n        Array descriptor\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_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n    pHandle : :py:obj:`~.CUarray`""\n        Returned array\n\n    See Also\n    --------\n    :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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_283cuArrayCreate = {"cuArrayCreate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_283cuArrayCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_282cuArrayCreate};
static PyObject *__pyx_pw_4cuda_4cuda_283cuArrayCreate(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pAllocateArray,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pAllocateArray)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23271, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuArrayCreate") < 0)) __PYX_ERR(1, 23271, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_pAllocateArray = ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuArrayCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 23271, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR, 1, "pAllocateArray", 0))) __PYX_ERR(1, 23272, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_282cuArrayCreate(__pyx_self, __pyx_v_pAllocateArray);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_282cuArrayCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR *__pyx_v_pAllocateArray) {
  struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_pHandle = 0;
  CUDA_ARRAY_DESCRIPTOR *__pyx_v_cpAllocateArray_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct CUDA_ARRAY_DESCRIPTOR_st *__pyx_t_2;
  int __pyx_t_3;
  CUresult __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__626)
  __Pyx_RefNannySetupContext("cuArrayCreate", 1);
  __Pyx_TraceCall("cuArrayCreate", __pyx_f[1], 23271, 0, __PYX_ERR(1, 23271, __pyx_L1_error));

  /* "cuda/cuda.pyx":23331
 *     :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 ccuda.CUDA_ARRAY_DESCRIPTOR* cpAllocateArray_ptr = pAllocateArray._ptr if pAllocateArray != None else NULL
 *     err = ccuda.cuArrayCreate(<ccuda.CUarray*>pHandle._ptr, cpAllocateArray_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 23331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pHandle = ((struct __pyx_obj_4cuda_4cuda_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":23332
 *     """
 *     cdef CUarray pHandle = CUarray()
 *     cdef ccuda.CUDA_ARRAY_DESCRIPTOR* cpAllocateArray_ptr = pAllocateArray._ptr if pAllocateArray != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuArrayCreate(<ccuda.CUarray*>pHandle._ptr, cpAllocateArray_ptr)
 *     return (CUresult(err), pHandle)
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_pAllocateArray), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 23332, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 23332, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_pAllocateArray->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cpAllocateArray_ptr = __pyx_t_2;

  /* "cuda/cuda.pyx":23333
 *     cdef CUarray pHandle = CUarray()
 *     cdef ccuda.CUDA_ARRAY_DESCRIPTOR* cpAllocateArray_ptr = pAllocateArray._ptr if pAllocateArray != None else NULL
 *     err = ccuda.cuArrayCreate(<ccuda.CUarray*>pHandle._ptr, cpAllocateArray_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pHandle)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_5ccuda_cuArrayCreate(((CUarray *)__pyx_v_pHandle->_ptr), __pyx_v_cpAllocateArray_ptr); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23333, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cuda.pyx":23334
 *     cdef ccuda.CUDA_ARRAY_DESCRIPTOR* cpAllocateArray_ptr = pAllocateArray._ptr if pAllocateArray != None else NULL
 *     err = ccuda.cuArrayCreate(<ccuda.CUarray*>pHandle._ptr, cpAllocateArray_ptr)
 *     return (CUresult(err), pHandle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 23334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 23334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 23334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 23334, __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)) __PYX_ERR(1, 23334, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_pHandle))) __PYX_ERR(1, 23334, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23271
 *     return (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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuArrayCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23336
 *     return (CUresult(err), pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetDescriptor(hArray):
 *     """ Get a 1D or 2D CUDA array descriptor.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_285cuArrayGetDescriptor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_284cuArrayGetDescriptor, "cuArrayGetDescriptor(hArray)\n Get a 1D or 2D CUDA array descriptor.\n\n    Returns in `*pArrayDescriptor` a descriptor containing information on\n    the format and dimensions of the CUDA array `hArray`. It is useful for\n    subroutines that have been passed a CUDA array, but need to know the\n    CUDA array parameters for validation or other purposes.\n\n    Parameters\n    ----------\n    hArray : :py:obj:`~.CUarray`\n        Array to get descriptor of\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n    pArrayDescriptor : :py:obj:`~.CUDA_ARRAY_DESCRIPTOR`\n        Returned array descriptor\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_285cuArrayGetDescriptor = {"cuArrayGetDescriptor", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_285cuArrayGetDescriptor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_284cuArrayGetDescriptor};
static PyObject *__pyx_pw_4cuda_4cuda_285cuArrayGetDescriptor(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hArray_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23336, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuArrayGetDescriptor") < 0)) __PYX_ERR(1, 23336, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hArray = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuArrayGetDescriptor", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 23336, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuArrayGetDescriptor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_284cuArrayGetDescriptor(__pyx_self, __pyx_v_hArray);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_284cuArrayGetDescriptor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray) {
  CUarray __pyx_v_chArray;
  PyObject *__pyx_v_phArray = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR *__pyx_v_pArrayDescriptor = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__627)
  __Pyx_RefNannySetupContext("cuArrayGetDescriptor", 1);
  __Pyx_TraceCall("cuArrayGetDescriptor", __pyx_f[1], 23336, 0, __PYX_ERR(1, 23336, __pyx_L1_error));

  /* "cuda/cuda.pyx":23362
 *     """
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_hArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23363
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
 */
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23362
 *     """
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23364
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23365
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23366
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     else:
 *         phArray = int(CUarray(hArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23366, __pyx_L1_error)
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":23364
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23368
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     else:
 *         phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     cdef CUDA_ARRAY_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY_DESCRIPTOR()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23369
 *     else:
 *         phArray = int(CUarray(hArray))
 *         chArray = <ccuda.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     cdef CUDA_ARRAY_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY_DESCRIPTOR()
 *     err = ccuda.cuArrayGetDescriptor(<ccuda.CUDA_ARRAY_DESCRIPTOR*>pArrayDescriptor._ptr, chArray)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23369, __pyx_L1_error)
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":23370
 *         phArray = int(CUarray(hArray))
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     cdef CUDA_ARRAY_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY_DESCRIPTOR()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuArrayGetDescriptor(<ccuda.CUDA_ARRAY_DESCRIPTOR*>pArrayDescriptor._ptr, chArray)
 *     return (CUresult(err), pArrayDescriptor)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pArrayDescriptor = ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":23371
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     cdef CUDA_ARRAY_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY_DESCRIPTOR()
 *     err = ccuda.cuArrayGetDescriptor(<ccuda.CUDA_ARRAY_DESCRIPTOR*>pArrayDescriptor._ptr, chArray)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pArrayDescriptor)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuArrayGetDescriptor(((CUDA_ARRAY_DESCRIPTOR *)__pyx_v_pArrayDescriptor->__pyx_base.__pyx_base._ptr), __pyx_v_chArray); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23371, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":23372
 *     cdef CUDA_ARRAY_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY_DESCRIPTOR()
 *     err = ccuda.cuArrayGetDescriptor(<ccuda.CUDA_ARRAY_DESCRIPTOR*>pArrayDescriptor._ptr, chArray)
 *     return (CUresult(err), pArrayDescriptor)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 23372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 23372, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pArrayDescriptor);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pArrayDescriptor);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pArrayDescriptor))) __PYX_ERR(1, 23372, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23336
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23374
 *     return (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_4cuda_287cuArrayGetSparseProperties(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_286cuArrayGetSparseProperties, "cuArrayGetSparseProperties(array)\n Returns the layout properties of a sparse CUDA array.\n\n    Returns 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`\n    will be returned.\n\n    If the returned value in :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES.flags`\n    contains :py:obj:`~.CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL`, then\n    :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES.miptailSize` represents the\n    total size of the array. Otherwise, it will be zero. Also, the returned\n    value in :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES.miptailFirstLevel` is\n    always zero. Note that the `array` must have been allocated using\n    :py:obj:`~.cuArrayCreate` or :py:obj:`~.cuArray3DCreate`. For CUDA\n    arrays 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\n    the sparse properties of the entire CUDA mipmapped array to which\n    `array` belongs to.\n\n    Parameters\n    ----------\n    array : :py:obj:`~.CUarray`\n        CUDA array to get the sparse properties of\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    sparseProperties : :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES`\n        Pointer to :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES`\n\n    See Also\n    --------\n    :py:obj:`~.cuMipmappedArrayGetSparseProperties`, :py:obj:`~.cuMemMapArrayAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_287cuArrayGetSparseProperties = {"cuArrayGetSparseProperties", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_287cuArrayGetSparseProperties, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_286cuArrayGetSparseProperties};
static PyObject *__pyx_pw_4cuda_4cuda_287cuArrayGetSparseProperties(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_array_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_array_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23374, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuArrayGetSparseProperties") < 0)) __PYX_ERR(1, 23374, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_array = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuArrayGetSparseProperties", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 23374, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuArrayGetSparseProperties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_286cuArrayGetSparseProperties(__pyx_self, __pyx_v_array);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_286cuArrayGetSparseProperties(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array) {
  CUarray __pyx_v_carray;
  PyObject *__pyx_v_parray = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES *__pyx_v_sparseProperties = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__628)
  __Pyx_RefNannySetupContext("cuArrayGetSparseProperties", 1);
  __Pyx_TraceCall("cuArrayGetSparseProperties", __pyx_f[1], 23374, 0, __PYX_ERR(1, 23374, __pyx_L1_error));

  /* "cuda/cuda.pyx":23413
 *     """
 *     cdef ccuda.CUarray carray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         carray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(array, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_array == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23414
 *     cdef ccuda.CUarray carray
 *     if array is None:
 *         carray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(array, (CUarray,)):
 *         parray = int(array)
 */
    __pyx_v_carray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23413
 *     """
 *     cdef ccuda.CUarray carray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         carray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(array, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23415
 *     if array is None:
 *         carray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(array, (CUarray,)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *         carray = <ccuda.CUarray><void_ptr>parray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_array, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23416
 *         carray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(array, (CUarray,)):
 *         parray = int(array)             # <<<<<<<<<<<<<<
 *         carray = <ccuda.CUarray><void_ptr>parray
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_parray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23417
 *     elif isinstance(array, (CUarray,)):
 *         parray = int(array)
 *         carray = <ccuda.CUarray><void_ptr>parray             # <<<<<<<<<<<<<<
 *     else:
 *         parray = int(CUarray(array))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23417, __pyx_L1_error)
    __pyx_v_carray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":23415
 *     if array is None:
 *         carray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(array, (CUarray,)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *         carray = <ccuda.CUarray><void_ptr>parray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23419
 *         carray = <ccuda.CUarray><void_ptr>parray
 *     else:
 *         parray = int(CUarray(array))             # <<<<<<<<<<<<<<
 *         carray = <ccuda.CUarray><void_ptr>parray
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_parray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23420
 *     else:
 *         parray = int(CUarray(array))
 *         carray = <ccuda.CUarray><void_ptr>parray             # <<<<<<<<<<<<<<
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
 *     err = ccuda.cuArrayGetSparseProperties(<ccuda.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._ptr, carray)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23420, __pyx_L1_error)
    __pyx_v_carray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":23421
 *         parray = int(CUarray(array))
 *         carray = <ccuda.CUarray><void_ptr>parray
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuArrayGetSparseProperties(<ccuda.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._ptr, carray)
 *     return (CUresult(err), sparseProperties)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_sparseProperties = ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":23422
 *         carray = <ccuda.CUarray><void_ptr>parray
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
 *     err = ccuda.cuArrayGetSparseProperties(<ccuda.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._ptr, carray)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), sparseProperties)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuArrayGetSparseProperties(((CUDA_ARRAY_SPARSE_PROPERTIES *)__pyx_v_sparseProperties->__pyx_base.__pyx_base._ptr), __pyx_v_carray); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23422, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":23423
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
 *     err = ccuda.cuArrayGetSparseProperties(<ccuda.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._ptr, carray)
 *     return (CUresult(err), sparseProperties)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 23423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23423, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 23423, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_sparseProperties);
  __Pyx_GIVEREF((PyObject *)__pyx_v_sparseProperties);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_sparseProperties))) __PYX_ERR(1, 23423, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23374
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23425
 *     return (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_4cuda_289cuMipmappedArrayGetSparseProperties(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_288cuMipmappedArrayGetSparseProperties, "cuMipmappedArrayGetSparseProperties(mipmap)\n Returns the layout properties of a sparse CUDA mipmapped array.\n\n    Returns the sparse array layout properties in `sparseProperties` If the\n    CUDA mipmapped array is not allocated with flag\n    :py:obj:`~.CUDA_ARRAY3D_SPARSE` :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    will be returned.\n\n    For non-layered CUDA mipmapped arrays,\n    :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES.miptailSize` returns the size\n    of the mip tail region. The mip tail region includes all mip levels\n    whose width, height or depth is less than that of the tile. For layered\n    CUDA 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\n    of the mip tail of all layers combined. Otherwise,\n    :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES.miptailSize` specifies mip tail\n    size per layer. The returned value of\n    :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES.miptailFirstLevel` is valid\n    only if :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES.miptailSize` is non-\n    zero.\n\n    Parameters\n    ----------\n    mipmap : :py:obj:`~.CUmipmappedArray`\n        CUDA mipmapped array to get the sparse properties of\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    sparseProperties : :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES`\n        Pointer to :py:obj:`~.CUDA_ARRAY_SPARSE_PROPERTIES`\n\n    See Also\n    --------\n    :py:obj:`~.cuArrayGetSparseProperties`, :py:obj:`~.cuMemMapArrayAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_289cuMipmappedArrayGetSparseProperties = {"cuMipmappedArrayGetSparseProperties", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_289cuMipmappedArrayGetSparseProperties, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_288cuMipmappedArrayGetSparseProperties};
static PyObject *__pyx_pw_4cuda_4cuda_289cuMipmappedArrayGetSparseProperties(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_mipmap_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mipmap_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23425, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMipmappedArrayGetSparseProperties") < 0)) __PYX_ERR(1, 23425, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_mipmap = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayGetSparseProperties", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 23425, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMipmappedArrayGetSparseProperties", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_288cuMipmappedArrayGetSparseProperties(__pyx_self, __pyx_v_mipmap);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_288cuMipmappedArrayGetSparseProperties(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mipmap) {
  CUmipmappedArray __pyx_v_cmipmap;
  PyObject *__pyx_v_pmipmap = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES *__pyx_v_sparseProperties = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__629)
  __Pyx_RefNannySetupContext("cuMipmappedArrayGetSparseProperties", 1);
  __Pyx_TraceCall("cuMipmappedArrayGetSparseProperties", __pyx_f[1], 23425, 0, __PYX_ERR(1, 23425, __pyx_L1_error));

  /* "cuda/cuda.pyx":23466
 *     """
 *     cdef ccuda.CUmipmappedArray cmipmap
 *     if mipmap is None:             # <<<<<<<<<<<<<<
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
 */
  __pyx_t_1 = (__pyx_v_mipmap == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23467
 *     cdef ccuda.CUmipmappedArray cmipmap
 *     if mipmap is None:
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
 *         pmipmap = int(mipmap)
 */
    __pyx_v_cmipmap = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23466
 *     """
 *     cdef ccuda.CUmipmappedArray cmipmap
 *     if mipmap is None:             # <<<<<<<<<<<<<<
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23468
 *     if mipmap is None:
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         pmipmap = int(mipmap)
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mipmap, __pyx_ptype_4cuda_4cuda_CUmipmappedArray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23469
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
 *         pmipmap = int(mipmap)             # <<<<<<<<<<<<<<
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_mipmap); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmipmap = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23470
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
 *         pmipmap = int(mipmap)
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap             # <<<<<<<<<<<<<<
 *     else:
 *         pmipmap = int(CUmipmappedArray(mipmap))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmap); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23470, __pyx_L1_error)
    __pyx_v_cmipmap = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":23468
 *     if mipmap is None:
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         pmipmap = int(mipmap)
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23472
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 *     else:
 *         pmipmap = int(CUmipmappedArray(mipmap))             # <<<<<<<<<<<<<<
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmipmappedArray), __pyx_v_mipmap); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmipmap = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23473
 *     else:
 *         pmipmap = int(CUmipmappedArray(mipmap))
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap             # <<<<<<<<<<<<<<
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
 *     err = ccuda.cuMipmappedArrayGetSparseProperties(<ccuda.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._ptr, cmipmap)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmap); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23473, __pyx_L1_error)
    __pyx_v_cmipmap = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":23474
 *         pmipmap = int(CUmipmappedArray(mipmap))
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMipmappedArrayGetSparseProperties(<ccuda.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._ptr, cmipmap)
 *     return (CUresult(err), sparseProperties)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_sparseProperties = ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":23475
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
 *     err = ccuda.cuMipmappedArrayGetSparseProperties(<ccuda.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._ptr, cmipmap)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), sparseProperties)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMipmappedArrayGetSparseProperties(((CUDA_ARRAY_SPARSE_PROPERTIES *)__pyx_v_sparseProperties->__pyx_base.__pyx_base._ptr), __pyx_v_cmipmap); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23475, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":23476
 *     cdef CUDA_ARRAY_SPARSE_PROPERTIES sparseProperties = CUDA_ARRAY_SPARSE_PROPERTIES()
 *     err = ccuda.cuMipmappedArrayGetSparseProperties(<ccuda.CUDA_ARRAY_SPARSE_PROPERTIES*>sparseProperties._ptr, cmipmap)
 *     return (CUresult(err), sparseProperties)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 23476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23476, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 23476, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_sparseProperties);
  __Pyx_GIVEREF((PyObject *)__pyx_v_sparseProperties);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_sparseProperties))) __PYX_ERR(1, 23476, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23425
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23478
 *     return (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_4cuda_291cuArrayGetMemoryRequirements(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_290cuArrayGetMemoryRequirements, "cuArrayGetMemoryRequirements(array, device)\n Returns the memory requirements of a CUDA array.\n\n    Returns the memory requirements of a CUDA array in `memoryRequirements`\n    If 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\n    The returned value in :py:obj:`~.CUDA_ARRAY_MEMORY_REQUIREMENTS.size`\n    represents the total size of the CUDA array. The returned value in\n    :py:obj:`~.CUDA_ARRAY_MEMORY_REQUIREMENTS.alignment` represents the\n    alignment necessary for mapping the CUDA array.\n\n    Parameters\n    ----------\n    array : :py:obj:`~.CUarray`\n        CUDA array to get the memory requirements of\n    device : :py:obj:`~.CUdevice`\n        Device to get the memory requirements for\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    memoryRequirements : :py:obj:`~.CUDA_ARRAY_MEMORY_REQUIREMENTS`\n        Pointer to :py:obj:`~.CUDA_ARRAY_MEMORY_REQUIREMENTS`\n\n    See Also\n    --------\n    :py:obj:`~.cuMipmappedArrayGetMemoryRequirements`, :py:obj:`~.cuMemMapArrayAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_291cuArrayGetMemoryRequirements = {"cuArrayGetMemoryRequirements", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_291cuArrayGetMemoryRequirements, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_290cuArrayGetMemoryRequirements};
static PyObject *__pyx_pw_4cuda_4cuda_291cuArrayGetMemoryRequirements(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_array_2,&__pyx_n_s_device,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_array_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23478, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_device)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23478, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuArrayGetMemoryRequirements", 1, 2, 2, 1); __PYX_ERR(1, 23478, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuArrayGetMemoryRequirements") < 0)) __PYX_ERR(1, 23478, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 23478, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuArrayGetMemoryRequirements", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_290cuArrayGetMemoryRequirements(__pyx_self, __pyx_v_array, __pyx_v_device);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_290cuArrayGetMemoryRequirements(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_array, PyObject *__pyx_v_device) {
  CUdevice __pyx_v_cdevice;
  PyObject *__pyx_v_pdevice = NULL;
  CUarray __pyx_v_carray;
  PyObject *__pyx_v_parray = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS *__pyx_v_memoryRequirements = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__630)
  __Pyx_RefNannySetupContext("cuArrayGetMemoryRequirements", 1);
  __Pyx_TraceCall("cuArrayGetMemoryRequirements", __pyx_f[1], 23478, 0, __PYX_ERR(1, 23478, __pyx_L1_error));

  /* "cuda/cuda.pyx":23511
 *     """
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23512
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 */
    __pyx_v_cdevice = ((CUdevice)0);

    /* "cuda/cuda.pyx":23511
 *     """
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23513
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23514
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23515
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 23515, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":23513
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23517
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef ccuda.CUarray carray
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23518
 *     else:
 *         pdevice = int(CUdevice(device))
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUarray carray
 *     if array is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 23518, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":23520
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef ccuda.CUarray carray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         carray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(array, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_array == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23521
 *     cdef ccuda.CUarray carray
 *     if array is None:
 *         carray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(array, (CUarray,)):
 *         parray = int(array)
 */
    __pyx_v_carray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23520
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef ccuda.CUarray carray
 *     if array is None:             # <<<<<<<<<<<<<<
 *         carray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(array, (CUarray,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":23522
 *     if array is None:
 *         carray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(array, (CUarray,)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *         carray = <ccuda.CUarray><void_ptr>parray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_array, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23523
 *         carray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(array, (CUarray,)):
 *         parray = int(array)             # <<<<<<<<<<<<<<
 *         carray = <ccuda.CUarray><void_ptr>parray
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_parray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23524
 *     elif isinstance(array, (CUarray,)):
 *         parray = int(array)
 *         carray = <ccuda.CUarray><void_ptr>parray             # <<<<<<<<<<<<<<
 *     else:
 *         parray = int(CUarray(array))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23524, __pyx_L1_error)
    __pyx_v_carray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":23522
 *     if array is None:
 *         carray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(array, (CUarray,)):             # <<<<<<<<<<<<<<
 *         parray = int(array)
 *         carray = <ccuda.CUarray><void_ptr>parray
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":23526
 *         carray = <ccuda.CUarray><void_ptr>parray
 *     else:
 *         parray = int(CUarray(array))             # <<<<<<<<<<<<<<
 *         carray = <ccuda.CUarray><void_ptr>parray
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_parray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23527
 *     else:
 *         parray = int(CUarray(array))
 *         carray = <ccuda.CUarray><void_ptr>parray             # <<<<<<<<<<<<<<
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
 *     err = ccuda.cuArrayGetMemoryRequirements(<ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._ptr, carray, cdevice)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_parray); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23527, __pyx_L1_error)
    __pyx_v_carray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":23528
 *         parray = int(CUarray(array))
 *         carray = <ccuda.CUarray><void_ptr>parray
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuArrayGetMemoryRequirements(<ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._ptr, carray, cdevice)
 *     return (CUresult(err), memoryRequirements)
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_memoryRequirements = ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":23529
 *         carray = <ccuda.CUarray><void_ptr>parray
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
 *     err = ccuda.cuArrayGetMemoryRequirements(<ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._ptr, carray, cdevice)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), memoryRequirements)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuArrayGetMemoryRequirements(((CUDA_ARRAY_MEMORY_REQUIREMENTS *)__pyx_v_memoryRequirements->__pyx_base.__pyx_base._ptr), __pyx_v_carray, __pyx_v_cdevice); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23529, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":23530
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
 *     err = ccuda.cuArrayGetMemoryRequirements(<ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._ptr, carray, cdevice)
 *     return (CUresult(err), memoryRequirements)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 23530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 23530, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_memoryRequirements);
  __Pyx_GIVEREF((PyObject *)__pyx_v_memoryRequirements);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_memoryRequirements))) __PYX_ERR(1, 23530, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23478
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23532
 *     return (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_4cuda_293cuMipmappedArrayGetMemoryRequirements(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_292cuMipmappedArrayGetMemoryRequirements, "cuMipmappedArrayGetMemoryRequirements(mipmap, device)\n Returns the memory requirements of a CUDA mipmapped array.\n\n    Returns the memory requirements of a CUDA mipmapped array in\n    `memoryRequirements` If the CUDA mipmapped array is not allocated with\n    flag :py:obj:`~.CUDA_ARRAY3D_DEFERRED_MAPPING`\n    :py:obj:`~.CUDA_ERROR_INVALID_VALUE` will be returned.\n\n    The returned value in :py:obj:`~.CUDA_ARRAY_MEMORY_REQUIREMENTS.size`\n    represents the total size of the CUDA mipmapped array. The returned\n    value in :py:obj:`~.CUDA_ARRAY_MEMORY_REQUIREMENTS.alignment`\n    represents the alignment necessary for mapping the CUDA mipmapped\n    array.\n\n    Parameters\n    ----------\n    mipmap : :py:obj:`~.CUmipmappedArray`\n        CUDA mipmapped array to get the memory requirements of\n    device : :py:obj:`~.CUdevice`\n        Device to get the memory requirements for\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS` :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    memoryRequirements : :py:obj:`~.CUDA_ARRAY_MEMORY_REQUIREMENTS`\n        Pointer to :py:obj:`~.CUDA_ARRAY_MEMORY_REQUIREMENTS`\n\n    See Also\n    --------\n    :py:obj:`~.cuArrayGetMemoryRequirements`, :py:obj:`~.cuMemMapArrayAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_293cuMipmappedArrayGetMemoryRequirements = {"cuMipmappedArrayGetMemoryRequirements", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_293cuMipmappedArrayGetMemoryRequirements, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_292cuMipmappedArrayGetMemoryRequirements};
static PyObject *__pyx_pw_4cuda_4cuda_293cuMipmappedArrayGetMemoryRequirements(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_mipmap_2,&__pyx_n_s_device,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mipmap_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23532, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_device)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23532, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayGetMemoryRequirements", 1, 2, 2, 1); __PYX_ERR(1, 23532, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMipmappedArrayGetMemoryRequirements") < 0)) __PYX_ERR(1, 23532, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 23532, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMipmappedArrayGetMemoryRequirements", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_292cuMipmappedArrayGetMemoryRequirements(__pyx_self, __pyx_v_mipmap, __pyx_v_device);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_292cuMipmappedArrayGetMemoryRequirements(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mipmap, PyObject *__pyx_v_device) {
  CUdevice __pyx_v_cdevice;
  PyObject *__pyx_v_pdevice = NULL;
  CUmipmappedArray __pyx_v_cmipmap;
  PyObject *__pyx_v_pmipmap = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS *__pyx_v_memoryRequirements = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__631)
  __Pyx_RefNannySetupContext("cuMipmappedArrayGetMemoryRequirements", 1);
  __Pyx_TraceCall("cuMipmappedArrayGetMemoryRequirements", __pyx_f[1], 23532, 0, __PYX_ERR(1, 23532, __pyx_L1_error));

  /* "cuda/cuda.pyx":23566
 *     """
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23567
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 */
    __pyx_v_cdevice = ((CUdevice)0);

    /* "cuda/cuda.pyx":23566
 *     """
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23568
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23569
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23569, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23570
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 23570, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":23568
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23572
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef ccuda.CUmipmappedArray cmipmap
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23573
 *     else:
 *         pdevice = int(CUdevice(device))
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmipmappedArray cmipmap
 *     if mipmap is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 23573, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":23575
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef ccuda.CUmipmappedArray cmipmap
 *     if mipmap is None:             # <<<<<<<<<<<<<<
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
 */
  __pyx_t_1 = (__pyx_v_mipmap == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23576
 *     cdef ccuda.CUmipmappedArray cmipmap
 *     if mipmap is None:
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
 *         pmipmap = int(mipmap)
 */
    __pyx_v_cmipmap = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23575
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef ccuda.CUmipmappedArray cmipmap
 *     if mipmap is None:             # <<<<<<<<<<<<<<
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":23577
 *     if mipmap is None:
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         pmipmap = int(mipmap)
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mipmap, __pyx_ptype_4cuda_4cuda_CUmipmappedArray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23578
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
 *         pmipmap = int(mipmap)             # <<<<<<<<<<<<<<
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_mipmap); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmipmap = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23579
 *     elif isinstance(mipmap, (CUmipmappedArray,)):
 *         pmipmap = int(mipmap)
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap             # <<<<<<<<<<<<<<
 *     else:
 *         pmipmap = int(CUmipmappedArray(mipmap))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmap); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23579, __pyx_L1_error)
    __pyx_v_cmipmap = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":23577
 *     if mipmap is None:
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(mipmap, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         pmipmap = int(mipmap)
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":23581
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 *     else:
 *         pmipmap = int(CUmipmappedArray(mipmap))             # <<<<<<<<<<<<<<
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmipmappedArray), __pyx_v_mipmap); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23581, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23581, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmipmap = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23582
 *     else:
 *         pmipmap = int(CUmipmappedArray(mipmap))
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap             # <<<<<<<<<<<<<<
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
 *     err = ccuda.cuMipmappedArrayGetMemoryRequirements(<ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._ptr, cmipmap, cdevice)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmipmap); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23582, __pyx_L1_error)
    __pyx_v_cmipmap = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":23583
 *         pmipmap = int(CUmipmappedArray(mipmap))
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMipmappedArrayGetMemoryRequirements(<ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._ptr, cmipmap, cdevice)
 *     return (CUresult(err), memoryRequirements)
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_memoryRequirements = ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":23584
 *         cmipmap = <ccuda.CUmipmappedArray><void_ptr>pmipmap
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
 *     err = ccuda.cuMipmappedArrayGetMemoryRequirements(<ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._ptr, cmipmap, cdevice)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), memoryRequirements)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuMipmappedArrayGetMemoryRequirements(((CUDA_ARRAY_MEMORY_REQUIREMENTS *)__pyx_v_memoryRequirements->__pyx_base.__pyx_base._ptr), __pyx_v_cmipmap, __pyx_v_cdevice); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23584, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":23585
 *     cdef CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements = CUDA_ARRAY_MEMORY_REQUIREMENTS()
 *     err = ccuda.cuMipmappedArrayGetMemoryRequirements(<ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS*>memoryRequirements._ptr, cmipmap, cdevice)
 *     return (CUresult(err), memoryRequirements)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 23585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 23585, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_memoryRequirements);
  __Pyx_GIVEREF((PyObject *)__pyx_v_memoryRequirements);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_memoryRequirements))) __PYX_ERR(1, 23585, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23532
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23587
 *     return (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_4cuda_295cuArrayGetPlane(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_294cuArrayGetPlane, "cuArrayGetPlane(hArray, unsigned int planeIdx)\n Gets a CUDA array plane from a CUDA array.\n\n    Returns in `pPlaneArray` a CUDA array that represents a single format\n    plane of the CUDA array `hArray`.\n\n    If `planeIdx` is greater than the maximum number of planes in this\n    array 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\n    Note that if the `hArray` has format :py:obj:`~.CU_AD_FORMAT_NV12`,\n    then passing in 0 for `planeIdx` returns a CUDA array of the same size\n    as `hArray` but with one channel and\n    :py:obj:`~.CU_AD_FORMAT_UNSIGNED_INT8` as its format. If 1 is passed\n    for `planeIdx`, then the returned CUDA array has half the height and\n    width of `hArray` with two channels and\n    :py:obj:`~.CU_AD_FORMAT_UNSIGNED_INT8` as its format.\n\n    Parameters\n    ----------\n    hArray : :py:obj:`~.CUarray`\n        Multiplanar CUDA array\n    planeIdx : unsigned int\n        Plane index\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n    pPlaneArray : :py:obj:`~.CUarray`\n        Returned CUDA array referenced by the `planeIdx`\n\n    See Also\n    --------\n    :py:obj:`~.cuArrayCreate`, :py:obj:`~.cudaArrayGetPlane`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_295cuArrayGetPlane = {"cuArrayGetPlane", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_295cuArrayGetPlane, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_294cuArrayGetPlane};
static PyObject *__pyx_pw_4cuda_4cuda_295cuArrayGetPlane(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hArray_2,&__pyx_n_s_planeIdx,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23587, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_planeIdx)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23587, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuArrayGetPlane", 1, 2, 2, 1); __PYX_ERR(1, 23587, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuArrayGetPlane") < 0)) __PYX_ERR(1, 23587, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hArray = values[0];
    __pyx_v_planeIdx = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_planeIdx == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 23588, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuArrayGetPlane", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 23587, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuArrayGetPlane", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_294cuArrayGetPlane(__pyx_self, __pyx_v_hArray, __pyx_v_planeIdx);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_294cuArrayGetPlane(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray, unsigned int __pyx_v_planeIdx) {
  CUarray __pyx_v_chArray;
  PyObject *__pyx_v_phArray = NULL;
  struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_pPlaneArray = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__632)
  __Pyx_RefNannySetupContext("cuArrayGetPlane", 1);
  __Pyx_TraceCall("cuArrayGetPlane", __pyx_f[1], 23587, 0, __PYX_ERR(1, 23587, __pyx_L1_error));

  /* "cuda/cuda.pyx":23626
 *     """
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_hArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23627
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
 */
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23626
 *     """
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23628
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23629
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23630
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     else:
 *         phArray = int(CUarray(hArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23630, __pyx_L1_error)
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":23628
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23632
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     else:
 *         phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     cdef CUarray pPlaneArray = CUarray()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23633
 *     else:
 *         phArray = int(CUarray(hArray))
 *         chArray = <ccuda.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     cdef CUarray pPlaneArray = CUarray()
 *     err = ccuda.cuArrayGetPlane(<ccuda.CUarray*>pPlaneArray._ptr, chArray, planeIdx)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23633, __pyx_L1_error)
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":23634
 *         phArray = int(CUarray(hArray))
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     cdef CUarray pPlaneArray = CUarray()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuArrayGetPlane(<ccuda.CUarray*>pPlaneArray._ptr, chArray, planeIdx)
 *     return (CUresult(err), pPlaneArray)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pPlaneArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":23635
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     cdef CUarray pPlaneArray = CUarray()
 *     err = ccuda.cuArrayGetPlane(<ccuda.CUarray*>pPlaneArray._ptr, chArray, planeIdx)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pPlaneArray)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuArrayGetPlane(((CUarray *)__pyx_v_pPlaneArray->_ptr), __pyx_v_chArray, __pyx_v_planeIdx); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23635, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":23636
 *     cdef CUarray pPlaneArray = CUarray()
 *     err = ccuda.cuArrayGetPlane(<ccuda.CUarray*>pPlaneArray._ptr, chArray, planeIdx)
 *     return (CUresult(err), pPlaneArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 23636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23636, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 23636, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pPlaneArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pPlaneArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pPlaneArray))) __PYX_ERR(1, 23636, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23587
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23638
 *     return (CUresult(err), pPlaneArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayDestroy(hArray):
 *     """ Destroys a CUDA array.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_297cuArrayDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_296cuArrayDestroy, "cuArrayDestroy(hArray)\n Destroys a CUDA array.\n\n    Destroys the CUDA array `hArray`.\n\n    Parameters\n    ----------\n    hArray : :py:obj:`~.CUarray`\n        Array to destroy\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_ARRAY_IS_MAPPED`, :py:obj:`~.CUDA_ERROR_CONTEXT_IS_DESTROYED`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_297cuArrayDestroy = {"cuArrayDestroy", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_297cuArrayDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_296cuArrayDestroy};
static PyObject *__pyx_pw_4cuda_4cuda_297cuArrayDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hArray_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23638, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuArrayDestroy") < 0)) __PYX_ERR(1, 23638, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hArray = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuArrayDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 23638, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuArrayDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_296cuArrayDestroy(__pyx_self, __pyx_v_hArray);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_296cuArrayDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray) {
  CUarray __pyx_v_chArray;
  PyObject *__pyx_v_phArray = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__633)
  __Pyx_RefNannySetupContext("cuArrayDestroy", 1);
  __Pyx_TraceCall("cuArrayDestroy", __pyx_f[1], 23638, 0, __PYX_ERR(1, 23638, __pyx_L1_error));

  /* "cuda/cuda.pyx":23659
 *     """
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_hArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23660
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
 */
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23659
 *     """
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23661
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23662
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23663
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     else:
 *         phArray = int(CUarray(hArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23663, __pyx_L1_error)
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":23661
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23665
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     else:
 *         phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     err = ccuda.cuArrayDestroy(chArray)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23665, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23665, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23666
 *     else:
 *         phArray = int(CUarray(hArray))
 *         chArray = <ccuda.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     err = ccuda.cuArrayDestroy(chArray)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23666, __pyx_L1_error)
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":23667
 *         phArray = int(CUarray(hArray))
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     err = ccuda.cuArrayDestroy(chArray)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuArrayDestroy(__pyx_v_chArray); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23667, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":23668
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     err = ccuda.cuArrayDestroy(chArray)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 23668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 23668, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23638
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuArrayDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23670
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArray3DCreate(pAllocateArray : Optional[CUDA_ARRAY3D_DESCRIPTOR]):
 *     """ Creates a 3D CUDA array.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_299cuArray3DCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_298cuArray3DCreate, "cuArray3DCreate(CUDA_ARRAY3D_DESCRIPTOR pAllocateArray: Optional[CUDA_ARRAY3D_DESCRIPTOR])\n Creates a 3D CUDA array.\n\n    Creates a CUDA array according to the\n    :py:obj:`~.CUDA_ARRAY3D_DESCRIPTOR` structure `pAllocateArray` and\n    returns 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\n    where:\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 t""o `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        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\n    listed in the following table. All values are specified in elements.\n    Note that for brevity's sake, the full name of the device attribute is\n    not specified. For ex., TEXTURE1D_WIDTH refers to the device attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH`.\n\n    Note that 2D CUDA arrays have different size req""uirements 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`\n    respectively, in that case.\n\n    **View CUDA Toolkit Documentation for a table example**\n\n    Here are examples of CUDA array descriptions:\n\n    Description for a CUDA array of 2048 floats:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    Description for a 64 x 64 CUDA array of floats:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    Description for a `width` x `height` x `depth` CUDA array of 64-bit,\n    4x16-bit float16's:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    Parameters\n    ----------\n    pAllocateArray : :py:obj:`~.CUDA_ARRAY3D_DESCRIPTOR`\n        3D array descriptor\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_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n    pHandle : :py:obj:`~.CUarray`\n        Returned array\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_299cuArray3DCreate = {"cuArray3DCreate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_299cuArray3DCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_298cuArray3DCreate};
static PyObject *__pyx_pw_4cuda_4cuda_299cuArray3DCreate(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pAllocateArray,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pAllocateArray)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23670, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuArray3DCreate") < 0)) __PYX_ERR(1, 23670, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_pAllocateArray = ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuArray3DCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 23670, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR, 1, "pAllocateArray", 0))) __PYX_ERR(1, 23671, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_298cuArray3DCreate(__pyx_self, __pyx_v_pAllocateArray);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_298cuArray3DCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_pAllocateArray) {
  struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_pHandle = 0;
  CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_cpAllocateArray_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_t_2;
  int __pyx_t_3;
  CUresult __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__634)
  __Pyx_RefNannySetupContext("cuArray3DCreate", 1);
  __Pyx_TraceCall("cuArray3DCreate", __pyx_f[1], 23670, 0, __PYX_ERR(1, 23670, __pyx_L1_error));

  /* "cuda/cuda.pyx":23794
 *     :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 ccuda.CUDA_ARRAY3D_DESCRIPTOR* cpAllocateArray_ptr = pAllocateArray._ptr if pAllocateArray != None else NULL
 *     err = ccuda.cuArray3DCreate(<ccuda.CUarray*>pHandle._ptr, cpAllocateArray_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 23794, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pHandle = ((struct __pyx_obj_4cuda_4cuda_CUarray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":23795
 *     """
 *     cdef CUarray pHandle = CUarray()
 *     cdef ccuda.CUDA_ARRAY3D_DESCRIPTOR* cpAllocateArray_ptr = pAllocateArray._ptr if pAllocateArray != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuArray3DCreate(<ccuda.CUarray*>pHandle._ptr, cpAllocateArray_ptr)
 *     return (CUresult(err), pHandle)
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_pAllocateArray), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 23795, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 23795, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_pAllocateArray->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cpAllocateArray_ptr = __pyx_t_2;

  /* "cuda/cuda.pyx":23796
 *     cdef CUarray pHandle = CUarray()
 *     cdef ccuda.CUDA_ARRAY3D_DESCRIPTOR* cpAllocateArray_ptr = pAllocateArray._ptr if pAllocateArray != None else NULL
 *     err = ccuda.cuArray3DCreate(<ccuda.CUarray*>pHandle._ptr, cpAllocateArray_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pHandle)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_5ccuda_cuArray3DCreate(((CUarray *)__pyx_v_pHandle->_ptr), __pyx_v_cpAllocateArray_ptr); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23796, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cuda.pyx":23797
 *     cdef ccuda.CUDA_ARRAY3D_DESCRIPTOR* cpAllocateArray_ptr = pAllocateArray._ptr if pAllocateArray != None else NULL
 *     err = ccuda.cuArray3DCreate(<ccuda.CUarray*>pHandle._ptr, cpAllocateArray_ptr)
 *     return (CUresult(err), pHandle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 23797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 23797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 23797, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 23797, __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)) __PYX_ERR(1, 23797, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_pHandle))) __PYX_ERR(1, 23797, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23670
 *     return (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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuArray3DCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23799
 *     return (CUresult(err), pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArray3DGetDescriptor(hArray):
 *     """ Get a 3D CUDA array descriptor.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_301cuArray3DGetDescriptor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_300cuArray3DGetDescriptor, "cuArray3DGetDescriptor(hArray)\n Get a 3D CUDA array descriptor.\n\n    Returns in `*pArrayDescriptor` a descriptor containing information on\n    the format and dimensions of the CUDA array `hArray`. It is useful for\n    subroutines that have been passed a CUDA array, but need to know the\n    CUDA array parameters for validation or other purposes.\n\n    This 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\n    0.\n\n    Parameters\n    ----------\n    hArray : :py:obj:`~.CUarray`\n        3D array to get descriptor of\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_CONTEXT_IS_DESTROYED`\n    pArrayDescriptor : :py:obj:`~.CUDA_ARRAY3D_DESCRIPTOR`\n        Returned 3D array descriptor\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_301cuArray3DGetDescriptor = {"cuArray3DGetDescriptor", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_301cuArray3DGetDescriptor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_300cuArray3DGetDescriptor};
static PyObject *__pyx_pw_4cuda_4cuda_301cuArray3DGetDescriptor(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hArray_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23799, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuArray3DGetDescriptor") < 0)) __PYX_ERR(1, 23799, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hArray = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuArray3DGetDescriptor", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 23799, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuArray3DGetDescriptor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_300cuArray3DGetDescriptor(__pyx_self, __pyx_v_hArray);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_300cuArray3DGetDescriptor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hArray) {
  CUarray __pyx_v_chArray;
  PyObject *__pyx_v_phArray = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_pArrayDescriptor = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__635)
  __Pyx_RefNannySetupContext("cuArray3DGetDescriptor", 1);
  __Pyx_TraceCall("cuArray3DGetDescriptor", __pyx_f[1], 23799, 0, __PYX_ERR(1, 23799, __pyx_L1_error));

  /* "cuda/cuda.pyx":23829
 *     """
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_hArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23830
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
 */
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23829
 *     """
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23831
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23832
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23833
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     else:
 *         phArray = int(CUarray(hArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23833, __pyx_L1_error)
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":23831
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23835
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     else:
 *         phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     cdef CUDA_ARRAY3D_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY3D_DESCRIPTOR()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23835, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23835, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23836
 *     else:
 *         phArray = int(CUarray(hArray))
 *         chArray = <ccuda.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     cdef CUDA_ARRAY3D_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY3D_DESCRIPTOR()
 *     err = ccuda.cuArray3DGetDescriptor(<ccuda.CUDA_ARRAY3D_DESCRIPTOR*>pArrayDescriptor._ptr, chArray)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23836, __pyx_L1_error)
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":23837
 *         phArray = int(CUarray(hArray))
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     cdef CUDA_ARRAY3D_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY3D_DESCRIPTOR()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuArray3DGetDescriptor(<ccuda.CUDA_ARRAY3D_DESCRIPTOR*>pArrayDescriptor._ptr, chArray)
 *     return (CUresult(err), pArrayDescriptor)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pArrayDescriptor = ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":23838
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     cdef CUDA_ARRAY3D_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY3D_DESCRIPTOR()
 *     err = ccuda.cuArray3DGetDescriptor(<ccuda.CUDA_ARRAY3D_DESCRIPTOR*>pArrayDescriptor._ptr, chArray)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pArrayDescriptor)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuArray3DGetDescriptor(((CUDA_ARRAY3D_DESCRIPTOR *)__pyx_v_pArrayDescriptor->__pyx_base.__pyx_base._ptr), __pyx_v_chArray); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23838, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":23839
 *     cdef CUDA_ARRAY3D_DESCRIPTOR pArrayDescriptor = CUDA_ARRAY3D_DESCRIPTOR()
 *     err = ccuda.cuArray3DGetDescriptor(<ccuda.CUDA_ARRAY3D_DESCRIPTOR*>pArrayDescriptor._ptr, chArray)
 *     return (CUresult(err), pArrayDescriptor)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 23839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23839, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 23839, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pArrayDescriptor);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pArrayDescriptor);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pArrayDescriptor))) __PYX_ERR(1, 23839, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23799
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23841
 *     return (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_4cuda_303cuMipmappedArrayCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_302cuMipmappedArrayCreate, "cuMipmappedArrayCreate(CUDA_ARRAY3D_DESCRIPTOR pMipmappedArrayDesc: Optional[CUDA_ARRAY3D_DESCRIPTOR], unsigned int numMipmapLevels)\n Creates a CUDA mipmapped array.\n\n    Creates a CUDA mipmapped array according to the\n    :py:obj:`~.CUDA_ARRAY3D_DESCRIPTOR` structure `pMipmappedArrayDesc` and\n    returns a handle to the new CUDA mipmapped array in `*pHandle`.\n    `numMipmapLevels` specifies the number of mipmap levels to be\n    allocated. This value is clamped to the range [1, 1 +\n    floor(log2(max(width, height, depth)))].\n\n    The :py:obj:`~.CUDA_ARRAY3D_DESCRIPTOR` is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where:\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 mipmapped 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\n    cubemaps. 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\n    also 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\n    listed in the following table. All values are specified in elements.\n    Note that for brevity's sake, the full name of the device attribute is\n    not specified. For ex., TEXTURE1D_MIPMAPPED_WIDTH refers to the device\n    attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH`.\n\n    **View CUDA Toolkit Documentation for a table example**\n\n    Parameters\n    ----------\n    pMipmappedArrayDesc : :py:obj:`~.CUDA_ARRAY3D_DESCRIPTOR`\n        mipmapped array descriptor\n    numMipmapLevels : unsigned int\n        Number of mipmap levels\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_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n    pHandle : :py:obj:`~.CUmipmappedArray`\n        Returned mipmapped array\n\n    See Also\n    --------\n    :py:obj:`~.cuMipmappedArrayDestroy`, :py:obj:`~.cuMipmappedArrayGetLevel`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cudaMallocMipmappedArray`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_303cuMipmappedArrayCreate = {"cuMipmappedArrayCreate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_303cuMipmappedArrayCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_302cuMipmappedArrayCreate};
static PyObject *__pyx_pw_4cuda_4cuda_303cuMipmappedArrayCreate(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pMipmappedArrayDesc,&__pyx_n_s_numMipmapLevels,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pMipmappedArrayDesc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23841, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numMipmapLevels)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23841, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayCreate", 1, 2, 2, 1); __PYX_ERR(1, 23841, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMipmappedArrayCreate") < 0)) __PYX_ERR(1, 23841, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_pMipmappedArrayDesc = ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR *)values[0]);
    __pyx_v_numMipmapLevels = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_numMipmapLevels == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 23842, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayCreate", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 23841, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR, 1, "pMipmappedArrayDesc", 0))) __PYX_ERR(1, 23842, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_302cuMipmappedArrayCreate(__pyx_self, __pyx_v_pMipmappedArrayDesc, __pyx_v_numMipmapLevels);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_302cuMipmappedArrayCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_pMipmappedArrayDesc, unsigned int __pyx_v_numMipmapLevels) {
  struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_pHandle = 0;
  CUDA_ARRAY3D_DESCRIPTOR *__pyx_v_cpMipmappedArrayDesc_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct CUDA_ARRAY3D_DESCRIPTOR_st *__pyx_t_2;
  int __pyx_t_3;
  CUresult __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__636)
  __Pyx_RefNannySetupContext("cuMipmappedArrayCreate", 1);
  __Pyx_TraceCall("cuMipmappedArrayCreate", __pyx_f[1], 23841, 0, __PYX_ERR(1, 23841, __pyx_L1_error));

  /* "cuda/cuda.pyx":23953
 *     :py:obj:`~.cuMipmappedArrayDestroy`, :py:obj:`~.cuMipmappedArrayGetLevel`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cudaMallocMipmappedArray`
 *     """
 *     cdef CUmipmappedArray pHandle = CUmipmappedArray()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_ARRAY3D_DESCRIPTOR* cpMipmappedArrayDesc_ptr = pMipmappedArrayDesc._ptr if pMipmappedArrayDesc != None else NULL
 *     err = ccuda.cuMipmappedArrayCreate(<ccuda.CUmipmappedArray*>pHandle._ptr, cpMipmappedArrayDesc_ptr, numMipmapLevels)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmipmappedArray)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 23953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pHandle = ((struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":23954
 *     """
 *     cdef CUmipmappedArray pHandle = CUmipmappedArray()
 *     cdef ccuda.CUDA_ARRAY3D_DESCRIPTOR* cpMipmappedArrayDesc_ptr = pMipmappedArrayDesc._ptr if pMipmappedArrayDesc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMipmappedArrayCreate(<ccuda.CUmipmappedArray*>pHandle._ptr, cpMipmappedArrayDesc_ptr, numMipmapLevels)
 *     return (CUresult(err), pHandle)
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_pMipmappedArrayDesc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 23954, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 23954, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_pMipmappedArrayDesc->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cpMipmappedArrayDesc_ptr = __pyx_t_2;

  /* "cuda/cuda.pyx":23955
 *     cdef CUmipmappedArray pHandle = CUmipmappedArray()
 *     cdef ccuda.CUDA_ARRAY3D_DESCRIPTOR* cpMipmappedArrayDesc_ptr = pMipmappedArrayDesc._ptr if pMipmappedArrayDesc != None else NULL
 *     err = ccuda.cuMipmappedArrayCreate(<ccuda.CUmipmappedArray*>pHandle._ptr, cpMipmappedArrayDesc_ptr, numMipmapLevels)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pHandle)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_5ccuda_cuMipmappedArrayCreate(((CUmipmappedArray *)__pyx_v_pHandle->_ptr), __pyx_v_cpMipmappedArrayDesc_ptr, __pyx_v_numMipmapLevels); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23955, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cuda.pyx":23956
 *     cdef ccuda.CUDA_ARRAY3D_DESCRIPTOR* cpMipmappedArrayDesc_ptr = pMipmappedArrayDesc._ptr if pMipmappedArrayDesc != None else NULL
 *     err = ccuda.cuMipmappedArrayCreate(<ccuda.CUmipmappedArray*>pHandle._ptr, cpMipmappedArrayDesc_ptr, numMipmapLevels)
 *     return (CUresult(err), pHandle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 23956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 23956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 23956, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 23956, __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)) __PYX_ERR(1, 23956, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_pHandle))) __PYX_ERR(1, 23956, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23841
 *     return (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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMipmappedArrayCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23958
 *     return (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_4cuda_305cuMipmappedArrayGetLevel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_304cuMipmappedArrayGetLevel, "cuMipmappedArrayGetLevel(hMipmappedArray, unsigned int level)\n Gets a mipmap level of a CUDA mipmapped array.\n\n    Returns in `*pLevelArray` a CUDA array that represents a single mipmap\n    level of the CUDA mipmapped array `hMipmappedArray`.\n\n    If `level` is greater than the maximum number of levels in this\n    mipmapped array, :py:obj:`~.CUDA_ERROR_INVALID_VALUE` is returned.\n\n    Parameters\n    ----------\n    hMipmappedArray : :py:obj:`~.CUmipmappedArray`\n        CUDA mipmapped array\n    level : unsigned int\n        Mipmap level\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n    pLevelArray : :py:obj:`~.CUarray`\n        Returned mipmap level CUDA array\n\n    See Also\n    --------\n    :py:obj:`~.cuMipmappedArrayCreate`, :py:obj:`~.cuMipmappedArrayDestroy`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cudaGetMipmappedArrayLevel`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_305cuMipmappedArrayGetLevel = {"cuMipmappedArrayGetLevel", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_305cuMipmappedArrayGetLevel, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_304cuMipmappedArrayGetLevel};
static PyObject *__pyx_pw_4cuda_4cuda_305cuMipmappedArrayGetLevel(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hMipmappedArray_2,&__pyx_n_s_level_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hMipmappedArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23958, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_level_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23958, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayGetLevel", 1, 2, 2, 1); __PYX_ERR(1, 23958, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMipmappedArrayGetLevel") < 0)) __PYX_ERR(1, 23958, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hMipmappedArray = values[0];
    __pyx_v_level = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_level == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 23959, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayGetLevel", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 23958, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMipmappedArrayGetLevel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_304cuMipmappedArrayGetLevel(__pyx_self, __pyx_v_hMipmappedArray, __pyx_v_level);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_304cuMipmappedArrayGetLevel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hMipmappedArray, unsigned int __pyx_v_level) {
  CUmipmappedArray __pyx_v_chMipmappedArray;
  PyObject *__pyx_v_phMipmappedArray = NULL;
  struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_pLevelArray = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__637)
  __Pyx_RefNannySetupContext("cuMipmappedArrayGetLevel", 1);
  __Pyx_TraceCall("cuMipmappedArrayGetLevel", __pyx_f[1], 23958, 0, __PYX_ERR(1, 23958, __pyx_L1_error));

  /* "cuda/cuda.pyx":23987
 *     """
 *     cdef ccuda.CUmipmappedArray chMipmappedArray
 *     if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 */
  __pyx_t_1 = (__pyx_v_hMipmappedArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23988
 *     cdef ccuda.CUmipmappedArray chMipmappedArray
 *     if hMipmappedArray is None:
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *         phMipmappedArray = int(hMipmappedArray)
 */
    __pyx_v_chMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":23987
 *     """
 *     cdef ccuda.CUmipmappedArray chMipmappedArray
 *     if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23989
 *     if hMipmappedArray is None:
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         phMipmappedArray = int(hMipmappedArray)
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hMipmappedArray, __pyx_ptype_4cuda_4cuda_CUmipmappedArray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":23990
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *         phMipmappedArray = int(hMipmappedArray)             # <<<<<<<<<<<<<<
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hMipmappedArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23990, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phMipmappedArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":23991
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *         phMipmappedArray = int(hMipmappedArray)
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray             # <<<<<<<<<<<<<<
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phMipmappedArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23991, __pyx_L1_error)
    __pyx_v_chMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":23989
 *     if hMipmappedArray is None:
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         phMipmappedArray = int(hMipmappedArray)
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":23993
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))             # <<<<<<<<<<<<<<
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *     cdef CUarray pLevelArray = CUarray()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmipmappedArray), __pyx_v_hMipmappedArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phMipmappedArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":23994
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray             # <<<<<<<<<<<<<<
 *     cdef CUarray pLevelArray = CUarray()
 *     err = ccuda.cuMipmappedArrayGetLevel(<ccuda.CUarray*>pLevelArray._ptr, chMipmappedArray, level)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phMipmappedArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 23994, __pyx_L1_error)
    __pyx_v_chMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":23995
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *     cdef CUarray pLevelArray = CUarray()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMipmappedArrayGetLevel(<ccuda.CUarray*>pLevelArray._ptr, chMipmappedArray, level)
 *     return (CUresult(err), pLevelArray)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pLevelArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":23996
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *     cdef CUarray pLevelArray = CUarray()
 *     err = ccuda.cuMipmappedArrayGetLevel(<ccuda.CUarray*>pLevelArray._ptr, chMipmappedArray, level)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pLevelArray)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMipmappedArrayGetLevel(((CUarray *)__pyx_v_pLevelArray->_ptr), __pyx_v_chMipmappedArray, __pyx_v_level); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 23996, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":23997
 *     cdef CUarray pLevelArray = CUarray()
 *     err = ccuda.cuMipmappedArrayGetLevel(<ccuda.CUarray*>pLevelArray._ptr, chMipmappedArray, level)
 *     return (CUresult(err), pLevelArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 23997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 23997, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 23997, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pLevelArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pLevelArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pLevelArray))) __PYX_ERR(1, 23997, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23958
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":23999
 *     return (CUresult(err), pLevelArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayDestroy(hMipmappedArray):
 *     """ Destroys a CUDA mipmapped array.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_307cuMipmappedArrayDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_306cuMipmappedArrayDestroy, "cuMipmappedArrayDestroy(hMipmappedArray)\n Destroys a CUDA mipmapped array.\n\n    Destroys the CUDA mipmapped array `hMipmappedArray`.\n\n    Parameters\n    ----------\n    hMipmappedArray : :py:obj:`~.CUmipmappedArray`\n        Mipmapped array to destroy\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_ARRAY_IS_MAPPED`, :py:obj:`~.CUDA_ERROR_CONTEXT_IS_DESTROYED`\n\n    See Also\n    --------\n    :py:obj:`~.cuMipmappedArrayCreate`, :py:obj:`~.cuMipmappedArrayGetLevel`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cudaFreeMipmappedArray`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_307cuMipmappedArrayDestroy = {"cuMipmappedArrayDestroy", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_307cuMipmappedArrayDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_306cuMipmappedArrayDestroy};
static PyObject *__pyx_pw_4cuda_4cuda_307cuMipmappedArrayDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hMipmappedArray_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hMipmappedArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 23999, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMipmappedArrayDestroy") < 0)) __PYX_ERR(1, 23999, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hMipmappedArray = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMipmappedArrayDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 23999, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMipmappedArrayDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_306cuMipmappedArrayDestroy(__pyx_self, __pyx_v_hMipmappedArray);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_306cuMipmappedArrayDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hMipmappedArray) {
  CUmipmappedArray __pyx_v_chMipmappedArray;
  PyObject *__pyx_v_phMipmappedArray = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__638)
  __Pyx_RefNannySetupContext("cuMipmappedArrayDestroy", 1);
  __Pyx_TraceCall("cuMipmappedArrayDestroy", __pyx_f[1], 23999, 0, __PYX_ERR(1, 23999, __pyx_L1_error));

  /* "cuda/cuda.pyx":24020
 *     """
 *     cdef ccuda.CUmipmappedArray chMipmappedArray
 *     if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 */
  __pyx_t_1 = (__pyx_v_hMipmappedArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24021
 *     cdef ccuda.CUmipmappedArray chMipmappedArray
 *     if hMipmappedArray is None:
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *         phMipmappedArray = int(hMipmappedArray)
 */
    __pyx_v_chMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":24020
 *     """
 *     cdef ccuda.CUmipmappedArray chMipmappedArray
 *     if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24022
 *     if hMipmappedArray is None:
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         phMipmappedArray = int(hMipmappedArray)
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hMipmappedArray, __pyx_ptype_4cuda_4cuda_CUmipmappedArray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24023
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *         phMipmappedArray = int(hMipmappedArray)             # <<<<<<<<<<<<<<
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hMipmappedArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phMipmappedArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":24024
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *         phMipmappedArray = int(hMipmappedArray)
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray             # <<<<<<<<<<<<<<
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phMipmappedArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24024, __pyx_L1_error)
    __pyx_v_chMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":24022
 *     if hMipmappedArray is None:
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         phMipmappedArray = int(hMipmappedArray)
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24026
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))             # <<<<<<<<<<<<<<
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *     err = ccuda.cuMipmappedArrayDestroy(chMipmappedArray)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmipmappedArray), __pyx_v_hMipmappedArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24026, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24026, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phMipmappedArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":24027
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMipmappedArrayDestroy(chMipmappedArray)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phMipmappedArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24027, __pyx_L1_error)
    __pyx_v_chMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":24028
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *     err = ccuda.cuMipmappedArrayDestroy(chMipmappedArray)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMipmappedArrayDestroy(__pyx_v_chMipmappedArray); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24028, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":24029
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *     err = ccuda.cuMipmappedArrayDestroy(chMipmappedArray)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 24029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24029, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 24029, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":23999
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMipmappedArrayDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phMipmappedArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24031
 *     return (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_4cuda_309cuMemGetHandleForAddressRange(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_308cuMemGetHandleForAddressRange, "cuMemGetHandleForAddressRange(dptr, size_t size, handleType: CUmemRangeHandleType, unsigned long long flags)\n Retrieve handle for an address range.\n\n    Get a handle of the specified type to an address range. The address\n    range must have been obtained by a prior call to either\n    :py:obj:`~.cuMemAlloc` or :py:obj:`~.cuMemAddressReserve`. If the\n    address range was obtained via :py:obj:`~.cuMemAddressReserve`, it must\n    also be fully mapped via :py:obj:`~.cuMemMap`. The address range must\n    have been obtained by a prior call to either :py:obj:`~.cuMemAllocHost`\n    or :py:obj:`~.cuMemHostAlloc` on Tegra.\n\n    Users must ensure the `dptr` and `size` are aligned to the host page\n    size.\n\n    When requesting\n    CUmemRangeHandleType::CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD, users are\n    expected to query for dma_buf support for the platform by using\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED` device attribute\n    before calling this API. The `handle` will be interpreted as a pointer\n    to an integer to store the dma_buf file descriptor. Users must ensure\n    the entire address range is backed and mapped when the address range is\n    allocated by :py:obj:`~.cuMemAddressReserve`. All the physical\n    allocations backing the address range must be resident on the same\n    device and have identical allocation properties. Users are also\n    expected to retrieve a new handle every time the underlying physical\n    allocation(s) corresponding to a previously queried VA range are\n    changed.\n\n    Parameters\n    ----------\n    dptr : :py:obj:`~.CUdeviceptr`\n        Pointer to a valid CUDA device allocation. Must be aligned to host\n        page size.\n    size : size_t\n        Length of the address range. Must be aligned to host page size.\n    handleType : :py:obj:`~.CUmemRangeHandleType`\n        Type of handle requested (defines type and size of the `handle`\n        output parameter)\n    flags : unsigned long long\n        ""Reserved, must be zero\n\n    Returns\n    -------\n    CUresult\n        CUDA_SUCCESS CUDA_ERROR_INVALID_VALUE CUDA_ERROR_NOT_SUPPORTED\n    handle : Any\n        Pointer to the location where the returned handle will be stored.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_309cuMemGetHandleForAddressRange = {"cuMemGetHandleForAddressRange", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_309cuMemGetHandleForAddressRange, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_308cuMemGetHandleForAddressRange};
static PyObject *__pyx_pw_4cuda_4cuda_309cuMemGetHandleForAddressRange(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dptr_2,&__pyx_n_s_size_2,&__pyx_n_s_handleType,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24031, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24031, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemGetHandleForAddressRange", 1, 4, 4, 1); __PYX_ERR(1, 24031, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_handleType)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24031, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemGetHandleForAddressRange", 1, 4, 4, 2); __PYX_ERR(1, 24031, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24031, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemGetHandleForAddressRange", 1, 4, 4, 3); __PYX_ERR(1, 24031, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemGetHandleForAddressRange") < 0)) __PYX_ERR(1, 24031, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_dptr = values[0];
    __pyx_v_size = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 24032, __pyx_L3_error)
    __pyx_v_handleType = values[2];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[3]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24032, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemGetHandleForAddressRange", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 24031, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 24032, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_308cuMemGetHandleForAddressRange(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_308cuMemGetHandleForAddressRange(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_cdptr;
  PyObject *__pyx_v_pdptr = NULL;
  int __pyx_v_handle;
  void *__pyx_v_chandle_ptr;
  CUmemRangeHandleType __pyx_v_chandleType;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUmemRangeHandleType __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__639)
  __Pyx_RefNannySetupContext("cuMemGetHandleForAddressRange", 1);
  __Pyx_TraceCall("cuMemGetHandleForAddressRange", __pyx_f[1], 24031, 0, __PYX_ERR(1, 24031, __pyx_L1_error));

  /* "cuda/cuda.pyx":24081
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24082
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 */
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":24081
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24083
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24084
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":24085
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24085, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":24083
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24087
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef int handle = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24087, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24087, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":24088
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef int handle = 0
 *     cdef void* chandle_ptr = <void*>&handle
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24088, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":24089
 *         pdptr = int(CUdeviceptr(dptr))
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef int handle = 0             # <<<<<<<<<<<<<<
 *     cdef void* chandle_ptr = <void*>&handle
 *     cdef ccuda.CUmemRangeHandleType chandleType = handleType.value
 */
  __pyx_v_handle = 0;

  /* "cuda/cuda.pyx":24090
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef int handle = 0
 *     cdef void* chandle_ptr = <void*>&handle             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemRangeHandleType chandleType = handleType.value
 *     err = ccuda.cuMemGetHandleForAddressRange(chandle_ptr, cdptr, size, chandleType, flags)
 */
  __pyx_v_chandle_ptr = ((void *)(&__pyx_v_handle));

  /* "cuda/cuda.pyx":24091
 *     cdef int handle = 0
 *     cdef void* chandle_ptr = <void*>&handle
 *     cdef ccuda.CUmemRangeHandleType chandleType = handleType.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemGetHandleForAddressRange(chandle_ptr, cdptr, size, chandleType, flags)
 *     return (CUresult(err), handle)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_handleType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUmemRangeHandleType_enum)__Pyx_PyInt_As_enum__CUmemRangeHandleType_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24091, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_chandleType = __pyx_t_5;

  /* "cuda/cuda.pyx":24092
 *     cdef void* chandle_ptr = <void*>&handle
 *     cdef ccuda.CUmemRangeHandleType chandleType = handleType.value
 *     err = ccuda.cuMemGetHandleForAddressRange(chandle_ptr, cdptr, size, chandleType, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), handle)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuMemGetHandleForAddressRange(__pyx_v_chandle_ptr, __pyx_v_cdptr, __pyx_v_size, __pyx_v_chandleType, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24092, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":24093
 *     cdef ccuda.CUmemRangeHandleType chandleType = handleType.value
 *     err = ccuda.cuMemGetHandleForAddressRange(chandle_ptr, cdptr, size, chandleType, flags)
 *     return (CUresult(err), handle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 24093, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 24093, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24031
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuMemGetHandleForAddressRange", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24095
 *     return (CUresult(err), handle)
 * 
 * @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_4cuda_311cuMemAddressReserve(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_310cuMemAddressReserve, "cuMemAddressReserve(size_t size, size_t alignment, addr, unsigned long long flags)\n Allocate an address range reservation.\n\n    Reserves a virtual address range based on the given parameters, giving\n    the starting address of the range in `ptr`. This API requires a system\n    that supports UVA. The size and address parameters must be a multiple\n    of the host page size and the alignment must be a power of two or zero\n    for default alignment.\n\n    Parameters\n    ----------\n    size : size_t\n        Size of the reserved virtual address range requested\n    alignment : size_t\n        Alignment of the reserved virtual address range requested\n    addr : :py:obj:`~.CUdeviceptr`\n        Fixed starting address range requested\n    flags : unsigned long long\n        Currently unused, must be zero\n\n    Returns\n    -------\n    CUresult\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`\n    ptr : :py:obj:`~.CUdeviceptr`\n        Resulting pointer to start of virtual address range allocated\n\n    See Also\n    --------\n    :py:obj:`~.cuMemAddressFree`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_311cuMemAddressReserve = {"cuMemAddressReserve", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_311cuMemAddressReserve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_310cuMemAddressReserve};
static PyObject *__pyx_pw_4cuda_4cuda_311cuMemAddressReserve(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size_2,&__pyx_n_s_alignment_2,&__pyx_n_s_addr,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24095, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_alignment_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24095, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemAddressReserve", 1, 4, 4, 1); __PYX_ERR(1, 24095, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_addr)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24095, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemAddressReserve", 1, 4, 4, 2); __PYX_ERR(1, 24095, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24095, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemAddressReserve", 1, 4, 4, 3); __PYX_ERR(1, 24095, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemAddressReserve") < 0)) __PYX_ERR(1, 24095, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_size = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 24096, __pyx_L3_error)
    __pyx_v_alignment = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_alignment == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 24096, __pyx_L3_error)
    __pyx_v_addr = values[2];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[3]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24096, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAddressReserve", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 24095, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemAddressReserve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_310cuMemAddressReserve(__pyx_self, __pyx_v_size, __pyx_v_alignment, __pyx_v_addr, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_310cuMemAddressReserve(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_caddr;
  PyObject *__pyx_v_paddr = NULL;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_ptr = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__640)
  __Pyx_RefNannySetupContext("cuMemAddressReserve", 1);
  __Pyx_TraceCall("cuMemAddressReserve", __pyx_f[1], 24095, 0, __PYX_ERR(1, 24095, __pyx_L1_error));

  /* "cuda/cuda.pyx":24128
 *     """
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_addr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24129
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)
 */
    __pyx_v_caddr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":24128
 *     """
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24130
 *     if addr is None:
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_addr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24131
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_addr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_paddr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":24132
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24132, __pyx_L1_error)
    __pyx_v_caddr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":24130
 *     if addr is None:
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24134
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     else:
 *         paddr = int(CUdeviceptr(addr))             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     cdef CUdeviceptr ptr = CUdeviceptr()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_addr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_paddr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":24135
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr ptr = CUdeviceptr()
 *     err = ccuda.cuMemAddressReserve(<ccuda.CUdeviceptr*>ptr._ptr, size, alignment, caddr, flags)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24135, __pyx_L1_error)
    __pyx_v_caddr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":24136
 *         paddr = int(CUdeviceptr(addr))
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     cdef CUdeviceptr ptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemAddressReserve(<ccuda.CUdeviceptr*>ptr._ptr, size, alignment, caddr, flags)
 *     return (CUresult(err), ptr)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_ptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":24137
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     cdef CUdeviceptr ptr = CUdeviceptr()
 *     err = ccuda.cuMemAddressReserve(<ccuda.CUdeviceptr*>ptr._ptr, size, alignment, caddr, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), ptr)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemAddressReserve(((CUdeviceptr *)__pyx_v_ptr->_ptr), __pyx_v_size, __pyx_v_alignment, __pyx_v_caddr, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24137, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":24138
 *     cdef CUdeviceptr ptr = CUdeviceptr()
 *     err = ccuda.cuMemAddressReserve(<ccuda.CUdeviceptr*>ptr._ptr, size, alignment, caddr, flags)
 *     return (CUresult(err), ptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 24138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 24138, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_ptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_ptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_ptr))) __PYX_ERR(1, 24138, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24095
 *     return (CUresult(err), handle)
 * 
 * @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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24140
 *     return (CUresult(err), ptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAddressFree(ptr, size_t size):
 *     """ Free an address range reservation.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_313cuMemAddressFree(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_312cuMemAddressFree, "cuMemAddressFree(ptr, size_t size)\n Free an address range reservation.\n\n    Frees a virtual address range reserved by cuMemAddressReserve. The size\n    must match what was given to memAddressReserve and the ptr given must\n    match what was returned from memAddressReserve.\n\n    Parameters\n    ----------\n    ptr : :py:obj:`~.CUdeviceptr`\n        Starting address of the virtual address range to free\n    size : size_t\n        Size of the virtual address region to free\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuMemAddressReserve`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_313cuMemAddressFree = {"cuMemAddressFree", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_313cuMemAddressFree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_312cuMemAddressFree};
static PyObject *__pyx_pw_4cuda_4cuda_313cuMemAddressFree(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr_2,&__pyx_n_s_size_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24140, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24140, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemAddressFree", 1, 2, 2, 1); __PYX_ERR(1, 24140, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemAddressFree") < 0)) __PYX_ERR(1, 24140, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_ptr = values[0];
    __pyx_v_size = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 24141, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAddressFree", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 24140, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemAddressFree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_312cuMemAddressFree(__pyx_self, __pyx_v_ptr, __pyx_v_size);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_312cuMemAddressFree(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, size_t __pyx_v_size) {
  CUdeviceptr __pyx_v_cptr;
  PyObject *__pyx_v_pptr = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__641)
  __Pyx_RefNannySetupContext("cuMemAddressFree", 1);
  __Pyx_TraceCall("cuMemAddressFree", __pyx_f[1], 24140, 0, __PYX_ERR(1, 24140, __pyx_L1_error));

  /* "cuda/cuda.pyx":24165
 *     """
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24166
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 */
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":24165
 *     """
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24167
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24168
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":24169
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24169, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":24167
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24171
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     err = ccuda.cuMemAddressFree(cptr, size)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":24172
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemAddressFree(cptr, size)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24172, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":24173
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     err = ccuda.cuMemAddressFree(cptr, size)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemAddressFree(__pyx_v_cptr, __pyx_v_size); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24173, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":24174
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     err = ccuda.cuMemAddressFree(cptr, size)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 24174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 24174, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24140
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemAddressFree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24176
 *     return (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_4cuda_315cuMemCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_314cuMemCreate, "cuMemCreate(size_t size, CUmemAllocationProp prop: Optional[CUmemAllocationProp], unsigned long long flags)\n Create a CUDA memory handle representing a memory allocation of a given size described by the given properties.\n\n    This creates a memory allocation on the target device specified through\n    the `prop` structure. The created allocation will not have any device\n    or host mappings. The generic memory `handle` for the allocation can be\n    mapped to the address space of calling process via\n    :py:obj:`~.cuMemMap`. This handle cannot be transmitted directly to\n    other processes (see :py:obj:`~.cuMemExportToShareableHandle`). On\n    Windows, the caller must also pass an LPSECURITYATTRIBUTE in `prop` to\n    be associated with this handle which limits or allows access to this\n    handle 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\n    allocation targeting a specific host NUMA node, applications must set\n    :py:obj:`~.CUmemAllocationProp`::CUmemLocation::type to\n    :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA` and\n    :py:obj:`~.CUmemAllocationProp`::CUmemLocation::id must specify the\n    NUMA ID of the CPU. On systems where NUMA is not available\n    :py:obj:`~.CUmemAllocationProp`::CUmemLocation::id must be set to 0. If\n    :py:obj:`~.CUmemAllocationProp`::allocFlags::usage contains\n    :py:obj:`~.CU_MEM_CREATE_USAGE_TILE_POOL` flag then the memory\n    allocation is intended only to be used as backing tile pool for sparse\n    CUDA arrays and sparse CUDA mipmapped arrays. (see\n    :py:obj:`~.cuMemMapArrayAsync`).\n\n    Parameters\n    ----------\n    size : size_t\n        Size of the allocation requested\n    prop : :py:obj:`~.CUmemAllocationProp`\n        Properties of the allocat""ion to create.\n    flags : unsigned long long\n        flags for future use, must be zero now.\n\n    Returns\n    -------\n    CUresult\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    handle : :py:obj:`~.CUmemGenericAllocationHandle`\n        Value of handle returned. All operations on this allocation are to\n        be performed using this handle.\n\n    See Also\n    --------\n    :py:obj:`~.cuMemRelease`, :py:obj:`~.cuMemExportToShareableHandle`, :py:obj:`~.cuMemImportFromShareableHandle`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_315cuMemCreate = {"cuMemCreate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_315cuMemCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_314cuMemCreate};
static PyObject *__pyx_pw_4cuda_4cuda_315cuMemCreate(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size_2,&__pyx_n_s_prop,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24176, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_prop)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24176, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemCreate", 1, 3, 3, 1); __PYX_ERR(1, 24176, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24176, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemCreate", 1, 3, 3, 2); __PYX_ERR(1, 24176, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemCreate") < 0)) __PYX_ERR(1, 24176, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_size = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 24177, __pyx_L3_error)
    __pyx_v_prop = ((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp *)values[1]);
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[2]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24177, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemCreate", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 24176, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUmemAllocationProp, 1, "prop", 0))) __PYX_ERR(1, 24177, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_314cuMemCreate(__pyx_self, __pyx_v_size, __pyx_v_prop, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_314cuMemCreate(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size, struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp *__pyx_v_prop, unsigned PY_LONG_LONG __pyx_v_flags) {
  struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_handle = 0;
  CUmemAllocationProp *__pyx_v_cprop_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct CUmemAllocationProp_st *__pyx_t_2;
  int __pyx_t_3;
  CUresult __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__642)
  __Pyx_RefNannySetupContext("cuMemCreate", 1);
  __Pyx_TraceCall("cuMemCreate", __pyx_f[1], 24176, 0, __PYX_ERR(1, 24176, __pyx_L1_error));

  /* "cuda/cuda.pyx":24226
 *     :py:obj:`~.cuMemRelease`, :py:obj:`~.cuMemExportToShareableHandle`, :py:obj:`~.cuMemImportFromShareableHandle`
 *     """
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemAllocationProp* cprop_ptr = prop._ptr if prop != None else NULL
 *     err = ccuda.cuMemCreate(<ccuda.CUmemGenericAllocationHandle*>handle._ptr, size, cprop_ptr, flags)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_handle = ((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":24227
 *     """
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()
 *     cdef ccuda.CUmemAllocationProp* cprop_ptr = prop._ptr if prop != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemCreate(<ccuda.CUmemGenericAllocationHandle*>handle._ptr, size, cprop_ptr, flags)
 *     return (CUresult(err), handle)
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_prop), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24227, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 24227, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_prop->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cprop_ptr = __pyx_t_2;

  /* "cuda/cuda.pyx":24228
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()
 *     cdef ccuda.CUmemAllocationProp* cprop_ptr = prop._ptr if prop != None else NULL
 *     err = ccuda.cuMemCreate(<ccuda.CUmemGenericAllocationHandle*>handle._ptr, size, cprop_ptr, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), handle)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_5ccuda_cuMemCreate(((CUmemGenericAllocationHandle *)__pyx_v_handle->_ptr), __pyx_v_size, __pyx_v_cprop_ptr, __pyx_v_flags); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24228, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cuda.pyx":24229
 *     cdef ccuda.CUmemAllocationProp* cprop_ptr = prop._ptr if prop != None else NULL
 *     err = ccuda.cuMemCreate(<ccuda.CUmemGenericAllocationHandle*>handle._ptr, size, cprop_ptr, flags)
 *     return (CUresult(err), handle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 24229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 24229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 24229, __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)) __PYX_ERR(1, 24229, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_handle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_handle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_handle))) __PYX_ERR(1, 24229, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24176
 *     return (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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_handle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24231
 *     return (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_4cuda_317cuMemRelease(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_316cuMemRelease, "cuMemRelease(handle)\n Release a memory handle representing a memory allocation which was previously allocated through cuMemCreate.\n\n    Frees the memory that was allocated on a device through cuMemCreate.\n\n    The memory allocation will be freed when all outstanding mappings to\n    the memory are unmapped and when all outstanding references to the\n    handle (including it's shareable counterparts) are also released. The\n    generic memory handle can be freed when there are still outstanding\n    mappings made with this handle. Each time a recipient process imports a\n    shareable handle, it needs to pair it with :py:obj:`~.cuMemRelease` for\n    the handle to be freed. If `handle` is not a valid handle the behavior\n    is undefined.\n\n    Parameters\n    ----------\n    handle : :py:obj:`~.CUmemGenericAllocationHandle`\n        Value of handle which was returned previously by cuMemCreate.\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuMemCreate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_317cuMemRelease = {"cuMemRelease", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_317cuMemRelease, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_316cuMemRelease};
static PyObject *__pyx_pw_4cuda_4cuda_317cuMemRelease(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_handle_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_handle_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24231, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemRelease") < 0)) __PYX_ERR(1, 24231, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_handle = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemRelease", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 24231, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemRelease", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_316cuMemRelease(__pyx_self, __pyx_v_handle);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_316cuMemRelease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_handle) {
  CUmemGenericAllocationHandle __pyx_v_chandle;
  PyObject *__pyx_v_phandle = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__643)
  __Pyx_RefNannySetupContext("cuMemRelease", 1);
  __Pyx_TraceCall("cuMemRelease", __pyx_f[1], 24231, 0, __PYX_ERR(1, 24231, __pyx_L1_error));

  /* "cuda/cuda.pyx":24261
 *     """
 *     cdef ccuda.CUmemGenericAllocationHandle chandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 */
  __pyx_t_1 = (__pyx_v_handle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24262
 *     cdef ccuda.CUmemGenericAllocationHandle chandle
 *     if handle is None:
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)
 */
    __pyx_v_chandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":24261
 *     """
 *     cdef ccuda.CUmemGenericAllocationHandle chandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24263
 *     if handle is None:
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_handle, __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24264
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)             # <<<<<<<<<<<<<<
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phandle = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":24265
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24265, __pyx_L1_error)
    __pyx_v_chandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":24263
 *     if handle is None:
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24267
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))             # <<<<<<<<<<<<<<
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     err = ccuda.cuMemRelease(chandle)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle), __pyx_v_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phandle = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":24268
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemRelease(chandle)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24268, __pyx_L1_error)
    __pyx_v_chandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":24269
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     err = ccuda.cuMemRelease(chandle)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemRelease(__pyx_v_chandle); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24269, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":24270
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     err = ccuda.cuMemRelease(chandle)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 24270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 24270, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24231
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemRelease", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24272
 *     return (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_4cuda_319cuMemMap(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_318cuMemMap, "cuMemMap(ptr, size_t size, size_t offset, handle, unsigned long long flags)\n Maps an allocation handle to a reserved virtual address range.\n\n    Maps bytes of memory represented by `handle` starting from byte\n    `offset` to `size` to address range [`addr`, `addr` + `size`]. This\n    range must be an address reservation previously reserved with\n    :py:obj:`~.cuMemAddressReserve`, and `offset` + `size` must be less\n    than 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`\n    represents a multicast object, `ptr`, `size` and `offset` must be\n    aligned to the value returned by :py:obj:`~.cuMulticastGetGranularity`\n    with the flag :py:obj:`~.CU_MULTICAST_MINIMUM_GRANULARITY`. For best\n    performance however, it is recommended that `ptr`, `size` and `offset`\n    be aligned to the value returned by\n    :py:obj:`~.cuMulticastGetGranularity` with the flag\n    :py:obj:`~.CU_MULTICAST_RECOMMENDED_GRANULARITY`.\n\n    Please note calling :py:obj:`~.cuMemMap` does not make the address\n    accessible, the caller needs to update accessibility of a contiguous\n    mapped VA range by calling :py:obj:`~.cuMemSetAccess`.\n\n    Once 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\n    setting accessibility with :py:obj:`~.cuMemSetAccess`.\n\n    :py:obj:`~.cuMemMap` can only create mappings on VA range reservations\n    that are not currently mapped.\n\n    Parameters\n    ----------\n    ptr : :py:obj:`~.CUdeviceptr`\n        Address where memory will be mapped.\n    size : size_t\n        Size of the memory mapping.\n    offset : size_t\n        Offset into the memory represented by\n    handle : :py:obj:`~.CUmemGenericAl""locationHandle`\n        Handle to a shareable memory\n    flags : unsigned long long\n        flags for future use, must be zero now.\n\n    Returns\n    -------\n    CUresult\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`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemUnmap`, :py:obj:`~.cuMemSetAccess`, :py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemAddressReserve`, :py:obj:`~.cuMemImportFromShareableHandle`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_319cuMemMap = {"cuMemMap", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_319cuMemMap, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_318cuMemMap};
static PyObject *__pyx_pw_4cuda_4cuda_319cuMemMap(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr_2,&__pyx_n_s_size_2,&__pyx_n_s_offset_2,&__pyx_n_s_handle_2,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24272, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24272, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemMap", 1, 5, 5, 1); __PYX_ERR(1, 24272, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_offset_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24272, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemMap", 1, 5, 5, 2); __PYX_ERR(1, 24272, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_handle_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24272, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemMap", 1, 5, 5, 3); __PYX_ERR(1, 24272, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24272, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemMap", 1, 5, 5, 4); __PYX_ERR(1, 24272, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemMap") < 0)) __PYX_ERR(1, 24272, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_ptr = values[0];
    __pyx_v_size = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 24273, __pyx_L3_error)
    __pyx_v_offset = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_offset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 24273, __pyx_L3_error)
    __pyx_v_handle = values[3];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[4]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24273, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemMap", 1, 5, 5, __pyx_nargs); __PYX_ERR(1, 24272, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemMap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_318cuMemMap(__pyx_self, __pyx_v_ptr, __pyx_v_size, __pyx_v_offset, __pyx_v_handle, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_318cuMemMap(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_chandle;
  PyObject *__pyx_v_phandle = NULL;
  CUdeviceptr __pyx_v_cptr;
  PyObject *__pyx_v_pptr = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__644)
  __Pyx_RefNannySetupContext("cuMemMap", 1);
  __Pyx_TraceCall("cuMemMap", __pyx_f[1], 24272, 0, __PYX_ERR(1, 24272, __pyx_L1_error));

  /* "cuda/cuda.pyx":24327
 *     """
 *     cdef ccuda.CUmemGenericAllocationHandle chandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 */
  __pyx_t_1 = (__pyx_v_handle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24328
 *     cdef ccuda.CUmemGenericAllocationHandle chandle
 *     if handle is None:
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)
 */
    __pyx_v_chandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":24327
 *     """
 *     cdef ccuda.CUmemGenericAllocationHandle chandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24329
 *     if handle is None:
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_handle, __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24330
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)             # <<<<<<<<<<<<<<
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phandle = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":24331
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24331, __pyx_L1_error)
    __pyx_v_chandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":24329
 *     if handle is None:
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24333
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))             # <<<<<<<<<<<<<<
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef ccuda.CUdeviceptr cptr
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle), __pyx_v_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phandle = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":24334
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24334, __pyx_L1_error)
    __pyx_v_chandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":24336
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24337
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 */
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":24336
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":24338
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24339
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":24340
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24340, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":24338
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":24342
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     err = ccuda.cuMemMap(cptr, size, offset, chandle, flags)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_ptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":24343
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemMap(cptr, size, offset, chandle, flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24343, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":24344
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     err = ccuda.cuMemMap(cptr, size, offset, chandle, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemMap(__pyx_v_cptr, __pyx_v_size, __pyx_v_offset, __pyx_v_chandle, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24344, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":24345
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     err = ccuda.cuMemMap(cptr, size, offset, chandle, flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 24345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 24345, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 24345, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24272
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24347
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemMapArrayAsync(mapInfoList : Optional[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_4cuda_321cuMemMapArrayAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_320cuMemMapArrayAsync, "cuMemMapArrayAsync(list mapInfoList: Optional[List[CUarrayMapInfo]], unsigned int count, hStream)\n Maps or unmaps subregions of sparse CUDA arrays and sparse CUDA mipmapped arrays.\n\n    Performs map or unmap operations on subregions of sparse CUDA arrays\n    and 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\n    where :py:obj:`~.CUarrayMapInfo.resourceType` specifies the type of\n    resource to be operated on. If :py:obj:`~.CUarrayMapInfo.resourceType`\n    is set to :py:obj:`~.CUresourcetype`::CU_RESOURCE_TYPE_ARRAY then\n    :py:obj:`~.CUarrayMapInfo`::resource::array must be set to a valid\n    sparse CUDA array handle. The CUDA array must be either a 2D, 2D\n    layered 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\n    using :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\n    sparse CUDA mipmapped array handle. The CUDA mipmapped array must be\n    either a 2D, 2D layered or 3D CUDA mipmapped array and must have been\n    allocated 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\n    subresource within the resource.\n    :py:obj:`~.CUarraySparseSubresourceType_enum` is defined as:\n\n    **View CUDA Toolkit Documentation f""or a C++ code example**\n\n    where\n    :py:obj:`~.CUarraySparseSubresourceType`::CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL\n    indicates a sparse-miplevel which spans at least one tile in every\n    dimension. The remaining miplevels which are too small to span at least\n    one tile in any dimension constitute the mip tail region as indicated\n    by\n    :py:obj:`~.CUarraySparseSubresourceType`::CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL\n    subresource type.\n\n    If :py:obj:`~.CUarrayMapInfo.subresourceType` is set to\n    :py:obj:`~.CUarraySparseSubresourceType`::CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL\n    then :py:obj:`~.CUarrayMapInfo`::subresource::sparseLevel struct must\n    contain 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\n    specify 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\n    specify valid width, height and depth extents respectively. These\n    offsets and extents must be aligned to the corresponding tile\n    dimension. For CUDA mipmapped arrays\n    :py:obj:`~.CUarrayMapInfo`::subresource::sparseLevel::level must\n    specify a valid mip level index. Otherwise, must be zero. For layered\n    CUDA arrays and layered CUDA mipmapped arrays\n    :py:obj:`~.CUarrayMapInfo`::subresource::sparseLevel::layer must\n    specify a valid layer index. Otherwise, must be zero.\n    :py:obj:`~.CUarrayMapInfo`::subresource::sparseLevel::offsetZ must be\n    zero and\n    :py:obj:`~.CUarrayMapInfo`::subresource::sparseLevel::extentDepth must\n    be set to 1 for 2D and 2D layered CUDA arrays and CUDA mipmapped\n    ""arrays. Tile extents can be obtained by calling\n    :py:obj:`~.cuArrayGetSparseProperties` and\n    :py:obj:`~.cuMipmappedArrayGetSparseProperties`\n\n    If :py:obj:`~.CUarrayMapInfo.subresourceType` is set to\n    :py:obj:`~.CUarraySparseSubresourceType`::CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL\n    then :py:obj:`~.CUarrayMapInfo`::subresource::miptail struct must\n    contain 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\n    offset and mip tail size must be aligned to the tile size. For layered\n    CUDA 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\n    valid layer index. Otherwise, must be zero.\n\n    If :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\n    operation. :py:obj:`~.CUmemOperationType` is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    If :py:obj:`~.CUarrayMapInfo.memOperationType` is set to\n    :py:obj:`~.CUmemOperationType`::CU_MEM_OPERATION_TYPE_MAP then the\n    subresource 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\n    created by specifying the :py:obj:`~.CU_MEM_CREATE_USAGE_TILE_POOL`\n    flag when calling :py:obj:`~.cuMemCreate`. Also,\n    :py:obj:`~.CUarray""MapInfo.memHandleType` must be set to\n    :py:obj:`~.CUmemHandleType`::CU_MEM_HANDLE_TYPE_GENERIC.\n\n    If :py:obj:`~.CUarrayMapInfo.memOperationType` is set to\n    :py:obj:`~.CUmemOperationType`::CU_MEM_OPERATION_TYPE_UNMAP then an\n    unmapping operation is performed. :py:obj:`~.CUarrayMapInfo`::memHandle\n    must be NULL.\n\n    :py:obj:`~.CUarrayMapInfo.deviceBitMask` specifies the list of devices\n    that must map or unmap physical memory. Currently, this mask must have\n    exactly one bit set, and the corresponding device must match the device\n    associated with the stream. If\n    :py:obj:`~.CUarrayMapInfo.memOperationType` is set to\n    :py:obj:`~.CUmemOperationType`::CU_MEM_OPERATION_TYPE_MAP, the device\n    must also match the device associated with the tile pool memory\n    allocation 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\n    zero.\n\n    Parameters\n    ----------\n    mapInfoList : List[:py:obj:`~.CUarrayMapInfo`]\n        List of :py:obj:`~.CUarrayMapInfo`\n    count : unsigned int\n        Count of :py:obj:`~.CUarrayMapInfo` in `mapInfoList`\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier for the stream to use for map or unmap operations\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\n    See Also\n    --------\n    :py:obj:`~.cuMipmappedArrayCreate`, :py:obj:`~.cuArrayCreate`, :py:obj:`~.cuArray3DCreate`, :py:obj:`~.cuMemCreate`, :py:obj:`~.cuArrayGetSparseProperties`, :py:obj:`~.cuMipmappedArrayGetSparseProperties`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_321cuMemMapArrayAsync = {"cuMemMapArrayAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_321cuMemMapArrayAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_320cuMemMapArrayAsync};
static PyObject *__pyx_pw_4cuda_4cuda_321cuMemMapArrayAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_mapInfoList,&__pyx_n_s_count_2,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mapInfoList)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24347, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_count_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24347, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemMapArrayAsync", 1, 3, 3, 1); __PYX_ERR(1, 24347, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24347, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemMapArrayAsync", 1, 3, 3, 2); __PYX_ERR(1, 24347, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemMapArrayAsync") < 0)) __PYX_ERR(1, 24347, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_mapInfoList = ((PyObject*)values[0]);
    __pyx_v_count = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 24348, __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(1, 24347, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemMapArrayAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mapInfoList), (&PyList_Type), 1, "mapInfoList", 1))) __PYX_ERR(1, 24348, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_320cuMemMapArrayAsync(__pyx_self, __pyx_v_mapInfoList, __pyx_v_count, __pyx_v_hStream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_18cuMemMapArrayAsync_2generator9(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":24501
 *         chStream = <ccuda.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 List[ccuda.CUarrayMapInfo,]")
 *     cdef ccuda.CUarrayMapInfo* cmapInfoList = NULL
 */

static PyObject *__pyx_pf_4cuda_4cuda_18cuMemMapArrayAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_9_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_9_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_9_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_9_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 24501, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_18cuMemMapArrayAsync_2generator9, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuMemMapArrayAsync_locals_genexp, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 24501, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_18cuMemMapArrayAsync_2generator9(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_9_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_9_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 24501, 0, __PYX_ERR(1, 24501, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 24501, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 24501, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 24501, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 24501, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 24501, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24501, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUarrayMapInfo); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24347
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemMapArrayAsync(mapInfoList : Optional[List[CUarrayMapInfo]], unsigned int count, hStream):
 *     """ Maps or unmaps subregions of sparse CUDA arrays and sparse CUDA mipmapped arrays.
 */

static PyObject *__pyx_pf_4cuda_4cuda_320cuMemMapArrayAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mapInfoList, unsigned int __pyx_v_count, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUarrayMapInfo *__pyx_v_cmapInfoList;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_18cuMemMapArrayAsync_2generator9 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct CUarrayMapInfo_st *__pyx_t_10;
  CUresult __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__645)
  __Pyx_RefNannySetupContext("cuMemMapArrayAsync", 0);
  __Pyx_TraceCall("cuMemMapArrayAsync", __pyx_f[1], 24347, 0, __PYX_ERR(1, 24347, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_mapInfoList);

  /* "cuda/cuda.pyx":24492
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24493
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":24492
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24494
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24495
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":24496
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24496, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":24494
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24498
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     mapInfoList = [] if mapInfoList is None else mapInfoList
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":24499
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     mapInfoList = [] if mapInfoList is None else mapInfoList
 *     if not all(isinstance(_x, (CUarrayMapInfo,)) for _x in mapInfoList):
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24499, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":24500
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.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 List[ccuda.CUarrayMapInfo,]")
 */
  __pyx_t_1 = (__pyx_v_mapInfoList == ((PyObject*)Py_None));
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24500, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_mapInfoList);
    __pyx_t_4 = __pyx_v_mapInfoList;
  }
  __Pyx_DECREF_SET(__pyx_v_mapInfoList, ((PyObject*)__pyx_t_4));
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":24501
 *         chStream = <ccuda.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 List[ccuda.CUarrayMapInfo,]")
 *     cdef ccuda.CUarrayMapInfo* cmapInfoList = NULL
 */
  __pyx_t_4 = __pyx_pf_4cuda_4cuda_18cuMemMapArrayAsync_genexpr(NULL, __pyx_v_mapInfoList); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24501, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 24501, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = (!__pyx_t_1);
  if (unlikely(__pyx_t_5)) {

    /* "cuda/cuda.pyx":24502
 *     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 List[ccuda.CUarrayMapInfo,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUarrayMapInfo* cmapInfoList = NULL
 *     if len(mapInfoList) > 0:
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__646, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24502, __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, 24502, __pyx_L1_error)

    /* "cuda/cuda.pyx":24501
 *         chStream = <ccuda.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 List[ccuda.CUarrayMapInfo,]")
 *     cdef ccuda.CUarrayMapInfo* cmapInfoList = NULL
 */
  }

  /* "cuda/cuda.pyx":24503
 *     if not all(isinstance(_x, (CUarrayMapInfo,)) for _x in mapInfoList):
 *         raise TypeError("Argument 'mapInfoList' is not instance of type (expected List[ccuda.CUarrayMapInfo,]")
 *     cdef ccuda.CUarrayMapInfo* cmapInfoList = NULL             # <<<<<<<<<<<<<<
 *     if len(mapInfoList) > 0:
 *         cmapInfoList = <ccuda.CUarrayMapInfo*> calloc(len(mapInfoList), sizeof(ccuda.CUarrayMapInfo))
 */
  __pyx_v_cmapInfoList = NULL;

  /* "cuda/cuda.pyx":24504
 *         raise TypeError("Argument 'mapInfoList' is not instance of type (expected List[ccuda.CUarrayMapInfo,]")
 *     cdef ccuda.CUarrayMapInfo* cmapInfoList = NULL
 *     if len(mapInfoList) > 0:             # <<<<<<<<<<<<<<
 *         cmapInfoList = <ccuda.CUarrayMapInfo*> calloc(len(mapInfoList), sizeof(ccuda.CUarrayMapInfo))
 *         if cmapInfoList is NULL:
 */
  if (unlikely(__pyx_v_mapInfoList == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 24504, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_mapInfoList); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 24504, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_6 > 0);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":24505
 *     cdef ccuda.CUarrayMapInfo* cmapInfoList = NULL
 *     if len(mapInfoList) > 0:
 *         cmapInfoList = <ccuda.CUarrayMapInfo*> calloc(len(mapInfoList), sizeof(ccuda.CUarrayMapInfo))             # <<<<<<<<<<<<<<
 *         if cmapInfoList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(mapInfoList)) + 'x' + str(sizeof(ccuda.CUarrayMapInfo)))
 */
    if (unlikely(__pyx_v_mapInfoList == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 24505, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_mapInfoList); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 24505, __pyx_L1_error)
    __pyx_v_cmapInfoList = ((CUarrayMapInfo *)calloc(__pyx_t_6, (sizeof(CUarrayMapInfo))));

    /* "cuda/cuda.pyx":24506
 *     if len(mapInfoList) > 0:
 *         cmapInfoList = <ccuda.CUarrayMapInfo*> calloc(len(mapInfoList), sizeof(ccuda.CUarrayMapInfo))
 *         if cmapInfoList is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(mapInfoList)) + 'x' + str(sizeof(ccuda.CUarrayMapInfo)))
 *         for idx in range(len(mapInfoList)):
 */
    __pyx_t_5 = (__pyx_v_cmapInfoList == NULL);
    if (unlikely(__pyx_t_5)) {

      /* "cuda/cuda.pyx":24507
 *         cmapInfoList = <ccuda.CUarrayMapInfo*> calloc(len(mapInfoList), sizeof(ccuda.CUarrayMapInfo))
 *         if cmapInfoList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(mapInfoList)) + 'x' + str(sizeof(ccuda.CUarrayMapInfo)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(mapInfoList)):
 *             string.memcpy(&cmapInfoList[idx], (<CUarrayMapInfo>mapInfoList[idx])._ptr, sizeof(ccuda.CUarrayMapInfo))
 */
      if (unlikely(__pyx_v_mapInfoList == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 24507, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_mapInfoList); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 24507, __pyx_L1_error)
      __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24507, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24507, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24507, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24507, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(CUarrayMapInfo))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24507, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24507, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = PyNumber_Add(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24507, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24507, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 24507, __pyx_L1_error)

      /* "cuda/cuda.pyx":24506
 *     if len(mapInfoList) > 0:
 *         cmapInfoList = <ccuda.CUarrayMapInfo*> calloc(len(mapInfoList), sizeof(ccuda.CUarrayMapInfo))
 *         if cmapInfoList is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(mapInfoList)) + 'x' + str(sizeof(ccuda.CUarrayMapInfo)))
 *         for idx in range(len(mapInfoList)):
 */
    }

    /* "cuda/cuda.pyx":24508
 *         if cmapInfoList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(mapInfoList)) + 'x' + str(sizeof(ccuda.CUarrayMapInfo)))
 *         for idx in range(len(mapInfoList)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cmapInfoList[idx], (<CUarrayMapInfo>mapInfoList[idx])._ptr, sizeof(ccuda.CUarrayMapInfo))
 *     if count > len(mapInfoList): raise RuntimeError("List is too small: " + str(len(mapInfoList)) + " < " + str(count))
 */
    if (unlikely(__pyx_v_mapInfoList == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 24508, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_mapInfoList); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 24508, __pyx_L1_error)
    __pyx_t_8 = __pyx_t_6;
    for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
      __pyx_v_idx = __pyx_t_9;

      /* "cuda/cuda.pyx":24509
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(mapInfoList)) + 'x' + str(sizeof(ccuda.CUarrayMapInfo)))
 *         for idx in range(len(mapInfoList)):
 *             string.memcpy(&cmapInfoList[idx], (<CUarrayMapInfo>mapInfoList[idx])._ptr, sizeof(ccuda.CUarrayMapInfo))             # <<<<<<<<<<<<<<
 *     if count > len(mapInfoList): raise RuntimeError("List is too small: " + str(len(mapInfoList)) + " < " + str(count))
 *     err = ccuda.cuMemMapArrayAsync((<CUarrayMapInfo>mapInfoList[0])._ptr if len(mapInfoList) == 1 else cmapInfoList, count, chStream)
 */
      if (unlikely(__pyx_v_mapInfoList == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(1, 24509, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_mapInfoList, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24509, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      (void)(memcpy((&(__pyx_v_cmapInfoList[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo *)__pyx_t_7)->__pyx_base.__pyx_base._ptr, (sizeof(CUarrayMapInfo))));
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }

    /* "cuda/cuda.pyx":24504
 *         raise TypeError("Argument 'mapInfoList' is not instance of type (expected List[ccuda.CUarrayMapInfo,]")
 *     cdef ccuda.CUarrayMapInfo* cmapInfoList = NULL
 *     if len(mapInfoList) > 0:             # <<<<<<<<<<<<<<
 *         cmapInfoList = <ccuda.CUarrayMapInfo*> calloc(len(mapInfoList), sizeof(ccuda.CUarrayMapInfo))
 *         if cmapInfoList is NULL:
 */
  }

  /* "cuda/cuda.pyx":24510
 *         for idx in range(len(mapInfoList)):
 *             string.memcpy(&cmapInfoList[idx], (<CUarrayMapInfo>mapInfoList[idx])._ptr, sizeof(ccuda.CUarrayMapInfo))
 *     if count > len(mapInfoList): raise RuntimeError("List is too small: " + str(len(mapInfoList)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemMapArrayAsync((<CUarrayMapInfo>mapInfoList[0])._ptr if len(mapInfoList) == 1 else cmapInfoList, count, chStream)
 *     if cmapInfoList is not NULL:
 */
  if (unlikely(__pyx_v_mapInfoList == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 24510, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_mapInfoList); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 24510, __pyx_L1_error)
  __pyx_t_5 = (__pyx_v_count > __pyx_t_6);
  if (unlikely(__pyx_t_5)) {
    if (unlikely(__pyx_v_mapInfoList == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 24510, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_mapInfoList); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 24510, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_From_unsigned_int(__pyx_v_count); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 24510, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":24511
 *             string.memcpy(&cmapInfoList[idx], (<CUarrayMapInfo>mapInfoList[idx])._ptr, sizeof(ccuda.CUarrayMapInfo))
 *     if count > len(mapInfoList): raise RuntimeError("List is too small: " + str(len(mapInfoList)) + " < " + str(count))
 *     err = ccuda.cuMemMapArrayAsync((<CUarrayMapInfo>mapInfoList[0])._ptr if len(mapInfoList) == 1 else cmapInfoList, count, chStream)             # <<<<<<<<<<<<<<
 *     if cmapInfoList is not NULL:
 *         free(cmapInfoList)
 */
  if (unlikely(__pyx_v_mapInfoList == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 24511, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_mapInfoList); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 24511, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_6 == 1);
  if (__pyx_t_5) {
    if (unlikely(__pyx_v_mapInfoList == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 24511, __pyx_L1_error)
    }
    __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_mapInfoList, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24511, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = ((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo *)__pyx_t_4)->__pyx_base.__pyx_base._ptr;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cmapInfoList;
  }
  __pyx_t_11 = __pyx_f_4cuda_5ccuda_cuMemMapArrayAsync(__pyx_t_10, __pyx_v_count, __pyx_v_chStream); if (unlikely(__pyx_t_11 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24511, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cuda.pyx":24512
 *     if count > len(mapInfoList): raise RuntimeError("List is too small: " + str(len(mapInfoList)) + " < " + str(count))
 *     err = ccuda.cuMemMapArrayAsync((<CUarrayMapInfo>mapInfoList[0])._ptr if len(mapInfoList) == 1 else cmapInfoList, count, chStream)
 *     if cmapInfoList is not NULL:             # <<<<<<<<<<<<<<
 *         free(cmapInfoList)
 *     return (CUresult(err),)
 */
  __pyx_t_5 = (__pyx_v_cmapInfoList != NULL);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":24513
 *     err = ccuda.cuMemMapArrayAsync((<CUarrayMapInfo>mapInfoList[0])._ptr if len(mapInfoList) == 1 else cmapInfoList, count, chStream)
 *     if cmapInfoList is not NULL:
 *         free(cmapInfoList)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
    free(__pyx_v_cmapInfoList);

    /* "cuda/cuda.pyx":24512
 *     if count > len(mapInfoList): raise RuntimeError("List is too small: " + str(len(mapInfoList)) + " < " + str(count))
 *     err = ccuda.cuMemMapArrayAsync((<CUarrayMapInfo>mapInfoList[0])._ptr if len(mapInfoList) == 1 else cmapInfoList, count, chStream)
 *     if cmapInfoList is not NULL:             # <<<<<<<<<<<<<<
 *         free(cmapInfoList)
 *     return (CUresult(err),)
 */
  }

  /* "cuda/cuda.pyx":24514
 *     if cmapInfoList is not NULL:
 *         free(cmapInfoList)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_12 = NULL;
  __pyx_t_13 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_13 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_2};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_13, 1+__pyx_t_13);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 24514, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24347
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemMapArrayAsync(mapInfoList : Optional[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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.cuMemMapArrayAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_18cuMemMapArrayAsync_2generator9);
  __Pyx_XDECREF(__pyx_v_mapInfoList);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24516
 *     return (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_4cuda_323cuMemUnmap(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_322cuMemUnmap, "cuMemUnmap(ptr, size_t size)\n Unmap the backing memory of a given address range.\n\n    The range must be the entire contiguous address range that was mapped\n    to. In other words, :py:obj:`~.cuMemUnmap` cannot unmap a sub-range of\n    an address range mapped by :py:obj:`~.cuMemCreate` /\n    :py:obj:`~.cuMemMap`. Any backing memory allocations will be freed if\n    there are no existing mappings and there are no unreleased memory\n    handles.\n\n    When :py:obj:`~.cuMemUnmap` returns successfully the address range is\n    converted to an address reservation and can be used for a future calls\n    to :py:obj:`~.cuMemMap`. Any new mapping to this virtual address will\n    need to have access granted through :py:obj:`~.cuMemSetAccess`, as all\n    mappings start with no accessibility setup.\n\n    Parameters\n    ----------\n    ptr : :py:obj:`~.CUdeviceptr`\n        Starting address for the virtual address range to unmap\n    size : size_t\n        Size of the virtual address range to unmap\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemAddressReserve`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_323cuMemUnmap = {"cuMemUnmap", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_323cuMemUnmap, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_322cuMemUnmap};
static PyObject *__pyx_pw_4cuda_4cuda_323cuMemUnmap(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr_2,&__pyx_n_s_size_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24516, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24516, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemUnmap", 1, 2, 2, 1); __PYX_ERR(1, 24516, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemUnmap") < 0)) __PYX_ERR(1, 24516, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_ptr = values[0];
    __pyx_v_size = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 24517, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemUnmap", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 24516, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemUnmap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_322cuMemUnmap(__pyx_self, __pyx_v_ptr, __pyx_v_size);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_322cuMemUnmap(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr, size_t __pyx_v_size) {
  CUdeviceptr __pyx_v_cptr;
  PyObject *__pyx_v_pptr = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__647)
  __Pyx_RefNannySetupContext("cuMemUnmap", 1);
  __Pyx_TraceCall("cuMemUnmap", __pyx_f[1], 24516, 0, __PYX_ERR(1, 24516, __pyx_L1_error));

  /* "cuda/cuda.pyx":24550
 *     """
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24551
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 */
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":24550
 *     """
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24552
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24553
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24553, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":24554
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24554, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":24552
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24556
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     err = ccuda.cuMemUnmap(cptr, size)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":24557
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemUnmap(cptr, size)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24557, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":24558
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     err = ccuda.cuMemUnmap(cptr, size)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemUnmap(__pyx_v_cptr, __pyx_v_size); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24558, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":24559
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     err = ccuda.cuMemUnmap(cptr, size)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 24559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 24559, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24516
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemUnmap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24561
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemSetAccess(ptr, size_t size, desc : Optional[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_4cuda_325cuMemSetAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_324cuMemSetAccess, "cuMemSetAccess(ptr, size_t size, list desc: Optional[List[CUmemAccessDesc]], size_t count)\n Set the access flags for each location specified in `desc` for the given virtual address range.\n\n    Given the virtual address range via `ptr` and `size`, and the locations\n    in the array given by `desc` and `count`, set the access flags for the\n    target locations. The range must be a fully mapped address range\n    containing 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\n    allocations 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\n    the access flags for a virtual address range mapping a multicast\n    object, `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\n    however, it is recommended that `ptr` and `size` be aligned to the\n    value returned by :py:obj:`~.cuMulticastGetGranularity` with the flag\n    :py:obj:`~.CU_MULTICAST_RECOMMENDED_GRANULARITY`.\n\n    Parameters\n    ----------\n    ptr : :py:obj:`~.CUdeviceptr`\n        Starting address for the virtual address range\n    size : size_t\n        Length of the virtual address range\n    desc : List[:py:obj:`~.CUmemAccessDesc`]\n        Array of :py:obj:`~.CUmemAccessDesc` that describe how to change\n        the\n    count : size_t\n        Number of :py:obj:`~.CUmemAccessDesc` in `desc`\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemSetAccess`, :py:obj:`~.cuMemCreate`, :py:""obj:`~.py`:obj:`~.cuMemMap`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_325cuMemSetAccess = {"cuMemSetAccess", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_325cuMemSetAccess, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_324cuMemSetAccess};
static PyObject *__pyx_pw_4cuda_4cuda_325cuMemSetAccess(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr_2,&__pyx_n_s_size_2,&__pyx_n_s_desc,&__pyx_n_s_count_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24561, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24561, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemSetAccess", 1, 4, 4, 1); __PYX_ERR(1, 24561, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_desc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24561, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemSetAccess", 1, 4, 4, 2); __PYX_ERR(1, 24561, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_count_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24561, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemSetAccess", 1, 4, 4, 3); __PYX_ERR(1, 24561, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemSetAccess") < 0)) __PYX_ERR(1, 24561, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_ptr = values[0];
    __pyx_v_size = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 24562, __pyx_L3_error)
    __pyx_v_desc = ((PyObject*)values[2]);
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 24562, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemSetAccess", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 24561, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemSetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_desc), (&PyList_Type), 1, "desc", 1))) __PYX_ERR(1, 24562, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_324cuMemSetAccess(__pyx_self, __pyx_v_ptr, __pyx_v_size, __pyx_v_desc, __pyx_v_count);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_14cuMemSetAccess_2generator10(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":24605
 *     """
 *     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 List[ccuda.CUmemAccessDesc,]")
 *     cdef ccuda.CUdeviceptr cptr
 */

static PyObject *__pyx_pf_4cuda_4cuda_14cuMemSetAccess_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_10_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_10_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_10_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_10_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 24605, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_14cuMemSetAccess_2generator10, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuMemSetAccess_locals_genexpr, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 24605, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_14cuMemSetAccess_2generator10(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_10_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_10_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 24605, 0, __PYX_ERR(1, 24605, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 24605, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 24605, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 24605, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 24605, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 24605, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24605, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUmemAccessDesc); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24561
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemSetAccess(ptr, size_t size, desc : Optional[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_4cuda_324cuMemSetAccess(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_cptr;
  PyObject *__pyx_v_pptr = NULL;
  CUmemAccessDesc *__pyx_v_cdesc;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_14cuMemSetAccess_2generator10 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct CUmemAccessDesc_st *__pyx_t_10;
  CUresult __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__648)
  __Pyx_RefNannySetupContext("cuMemSetAccess", 0);
  __Pyx_TraceCall("cuMemSetAccess", __pyx_f[1], 24561, 0, __PYX_ERR(1, 24561, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_desc);

  /* "cuda/cuda.pyx":24604
 *     :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 List[ccuda.CUmemAccessDesc,]")
 */
  __pyx_t_2 = (__pyx_v_desc == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24604, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":24605
 *     """
 *     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 List[ccuda.CUmemAccessDesc,]")
 *     cdef ccuda.CUdeviceptr cptr
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_14cuMemSetAccess_genexpr(NULL, __pyx_v_desc); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24605, __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(1, 24605, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":24606
 *     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 List[ccuda.CUmemAccessDesc,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__649, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24606, __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(1, 24606, __pyx_L1_error)

    /* "cuda/cuda.pyx":24605
 *     """
 *     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 List[ccuda.CUmemAccessDesc,]")
 *     cdef ccuda.CUdeviceptr cptr
 */
  }

  /* "cuda/cuda.pyx":24608
 *         raise TypeError("Argument 'desc' is not instance of type (expected List[ccuda.CUmemAccessDesc,]")
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
  __pyx_t_4 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":24609
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 */
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":24608
 *         raise TypeError("Argument 'desc' is not instance of type (expected List[ccuda.CUmemAccessDesc,]")
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":24610
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":24611
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pptr = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":24612
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24612, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":24610
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":24614
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     cdef ccuda.CUmemAccessDesc* cdesc = NULL
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_ptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24614, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24614, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pptr = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":24615
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemAccessDesc* cdesc = NULL
 *     if len(desc) > 0:
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24615, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":24616
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     cdef ccuda.CUmemAccessDesc* cdesc = NULL             # <<<<<<<<<<<<<<
 *     if len(desc) > 0:
 *         cdesc = <ccuda.CUmemAccessDesc*> calloc(len(desc), sizeof(ccuda.CUmemAccessDesc))
 */
  __pyx_v_cdesc = NULL;

  /* "cuda/cuda.pyx":24617
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     cdef ccuda.CUmemAccessDesc* cdesc = NULL
 *     if len(desc) > 0:             # <<<<<<<<<<<<<<
 *         cdesc = <ccuda.CUmemAccessDesc*> calloc(len(desc), sizeof(ccuda.CUmemAccessDesc))
 *         if cdesc is NULL:
 */
  if (unlikely(__pyx_v_desc == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 24617, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_desc); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 24617, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":24618
 *     cdef ccuda.CUmemAccessDesc* cdesc = NULL
 *     if len(desc) > 0:
 *         cdesc = <ccuda.CUmemAccessDesc*> calloc(len(desc), sizeof(ccuda.CUmemAccessDesc))             # <<<<<<<<<<<<<<
 *         if cdesc is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(desc)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 */
    if (unlikely(__pyx_v_desc == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 24618, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_desc); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 24618, __pyx_L1_error)
    __pyx_v_cdesc = ((CUmemAccessDesc *)calloc(__pyx_t_6, (sizeof(CUmemAccessDesc))));

    /* "cuda/cuda.pyx":24619
 *     if len(desc) > 0:
 *         cdesc = <ccuda.CUmemAccessDesc*> calloc(len(desc), sizeof(ccuda.CUmemAccessDesc))
 *         if cdesc is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(desc)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 *         for idx in range(len(desc)):
 */
    __pyx_t_4 = (__pyx_v_cdesc == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":24620
 *         cdesc = <ccuda.CUmemAccessDesc*> calloc(len(desc), sizeof(ccuda.CUmemAccessDesc))
 *         if cdesc is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(desc)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(desc)):
 *             string.memcpy(&cdesc[idx], (<CUmemAccessDesc>desc[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))
 */
      if (unlikely(__pyx_v_desc == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 24620, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_desc); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 24620, __pyx_L1_error)
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24620, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24620, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24620, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24620, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmemAccessDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24620, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24620, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24620, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24620, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 24620, __pyx_L1_error)

      /* "cuda/cuda.pyx":24619
 *     if len(desc) > 0:
 *         cdesc = <ccuda.CUmemAccessDesc*> calloc(len(desc), sizeof(ccuda.CUmemAccessDesc))
 *         if cdesc is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(desc)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 *         for idx in range(len(desc)):
 */
    }

    /* "cuda/cuda.pyx":24621
 *         if cdesc is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(desc)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 *         for idx in range(len(desc)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cdesc[idx], (<CUmemAccessDesc>desc[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))
 *     if count > <size_t>len(desc): raise RuntimeError("List is too small: " + str(len(desc)) + " < " + str(count))
 */
    if (unlikely(__pyx_v_desc == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 24621, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_desc); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 24621, __pyx_L1_error)
    __pyx_t_8 = __pyx_t_6;
    for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
      __pyx_v_idx = __pyx_t_9;

      /* "cuda/cuda.pyx":24622
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(desc)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 *         for idx in range(len(desc)):
 *             string.memcpy(&cdesc[idx], (<CUmemAccessDesc>desc[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))             # <<<<<<<<<<<<<<
 *     if count > <size_t>len(desc): raise RuntimeError("List is too small: " + str(len(desc)) + " < " + str(count))
 *     err = ccuda.cuMemSetAccess(cptr, size, (<CUmemAccessDesc>desc[0])._ptr if len(desc) == 1 else cdesc, count)
 */
      if (unlikely(__pyx_v_desc == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(1, 24622, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_desc, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24622, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      (void)(memcpy((&(__pyx_v_cdesc[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc *)__pyx_t_7)->__pyx_base.__pyx_base._ptr, (sizeof(CUmemAccessDesc))));
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }

    /* "cuda/cuda.pyx":24617
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     cdef ccuda.CUmemAccessDesc* cdesc = NULL
 *     if len(desc) > 0:             # <<<<<<<<<<<<<<
 *         cdesc = <ccuda.CUmemAccessDesc*> calloc(len(desc), sizeof(ccuda.CUmemAccessDesc))
 *         if cdesc is NULL:
 */
  }

  /* "cuda/cuda.pyx":24623
 *         for idx in range(len(desc)):
 *             string.memcpy(&cdesc[idx], (<CUmemAccessDesc>desc[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))
 *     if count > <size_t>len(desc): raise RuntimeError("List is too small: " + str(len(desc)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemSetAccess(cptr, size, (<CUmemAccessDesc>desc[0])._ptr if len(desc) == 1 else cdesc, count)
 *     if cdesc is not NULL:
 */
  if (unlikely(__pyx_v_desc == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 24623, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_desc); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 24623, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_count > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_desc == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 24623, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_desc); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 24623, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_count); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 24623, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":24624
 *             string.memcpy(&cdesc[idx], (<CUmemAccessDesc>desc[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))
 *     if count > <size_t>len(desc): raise RuntimeError("List is too small: " + str(len(desc)) + " < " + str(count))
 *     err = ccuda.cuMemSetAccess(cptr, size, (<CUmemAccessDesc>desc[0])._ptr if len(desc) == 1 else cdesc, count)             # <<<<<<<<<<<<<<
 *     if cdesc is not NULL:
 *         free(cdesc)
 */
  if (unlikely(__pyx_v_desc == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 24624, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_desc); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 24624, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_desc == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 24624, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_desc, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24624, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_10 = ((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc *)__pyx_t_3)->__pyx_base.__pyx_base._ptr;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cdesc;
  }
  __pyx_t_11 = __pyx_f_4cuda_5ccuda_cuMemSetAccess(__pyx_v_cptr, __pyx_v_size, __pyx_t_10, __pyx_v_count); if (unlikely(__pyx_t_11 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24624, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cuda.pyx":24625
 *     if count > <size_t>len(desc): raise RuntimeError("List is too small: " + str(len(desc)) + " < " + str(count))
 *     err = ccuda.cuMemSetAccess(cptr, size, (<CUmemAccessDesc>desc[0])._ptr if len(desc) == 1 else cdesc, count)
 *     if cdesc is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdesc)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = (__pyx_v_cdesc != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":24626
 *     err = ccuda.cuMemSetAccess(cptr, size, (<CUmemAccessDesc>desc[0])._ptr if len(desc) == 1 else cdesc, count)
 *     if cdesc is not NULL:
 *         free(cdesc)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
    free(__pyx_v_cdesc);

    /* "cuda/cuda.pyx":24625
 *     if count > <size_t>len(desc): raise RuntimeError("List is too small: " + str(len(desc)) + " < " + str(count))
 *     err = ccuda.cuMemSetAccess(cptr, size, (<CUmemAccessDesc>desc[0])._ptr if len(desc) == 1 else cdesc, count)
 *     if cdesc is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdesc)
 *     return (CUresult(err),)
 */
  }

  /* "cuda/cuda.pyx":24627
 *     if cdesc is not NULL:
 *         free(cdesc)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_12 = NULL;
  __pyx_t_13 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_13 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_1};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_13, 1+__pyx_t_13);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24627, __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)) __PYX_ERR(1, 24627, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24561
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemSetAccess(ptr, size_t size, desc : Optional[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_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.cuMemSetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pptr);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_14cuMemSetAccess_2generator10);
  __Pyx_XDECREF(__pyx_v_desc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24629
 *     return (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_4cuda_327cuMemGetAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_326cuMemGetAccess, "cuMemGetAccess(CUmemLocation location: Optional[CUmemLocation], ptr)\n Get the access `flags` set for the given `location` and `ptr`.\n\n    Parameters\n    ----------\n    location : :py:obj:`~.CUmemLocation`\n        Location in which to check the flags for\n    ptr : :py:obj:`~.CUdeviceptr`\n        Address in which to check the access flags for\n\n    Returns\n    -------\n    CUresult\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    flags : unsigned long long\n        Flags set for this location\n\n    See Also\n    --------\n    :py:obj:`~.cuMemSetAccess`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_327cuMemGetAccess = {"cuMemGetAccess", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_327cuMemGetAccess, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_326cuMemGetAccess};
static PyObject *__pyx_pw_4cuda_4cuda_327cuMemGetAccess(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_location_2,&__pyx_n_s_ptr_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_location_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24629, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24629, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemGetAccess", 1, 2, 2, 1); __PYX_ERR(1, 24629, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemGetAccess") < 0)) __PYX_ERR(1, 24629, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_location = ((struct __pyx_obj_4cuda_4cuda_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(1, 24629, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUmemLocation, 1, "location", 0))) __PYX_ERR(1, 24630, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_326cuMemGetAccess(__pyx_self, __pyx_v_location, __pyx_v_ptr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_326cuMemGetAccess(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUmemLocation *__pyx_v_location, PyObject *__pyx_v_ptr) {
  CUdeviceptr __pyx_v_cptr;
  PyObject *__pyx_v_pptr = NULL;
  unsigned PY_LONG_LONG __pyx_v_flags;
  CUmemLocation *__pyx_v_clocation_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUmemLocation_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__650)
  __Pyx_RefNannySetupContext("cuMemGetAccess", 1);
  __Pyx_TraceCall("cuMemGetAccess", __pyx_f[1], 24629, 0, __PYX_ERR(1, 24629, __pyx_L1_error));

  /* "cuda/cuda.pyx":24652
 *     """
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24653
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 */
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":24652
 *     """
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24654
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24655
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24655, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":24656
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24656, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":24654
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24658
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     cdef unsigned long long flags = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24658, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24658, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":24659
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     cdef unsigned long long flags = 0
 *     cdef ccuda.CUmemLocation* clocation_ptr = location._ptr if location != None else NULL
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24659, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":24660
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     cdef unsigned long long flags = 0             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemLocation* clocation_ptr = location._ptr if location != None else NULL
 *     err = ccuda.cuMemGetAccess(&flags, clocation_ptr, cptr)
 */
  __pyx_v_flags = 0;

  /* "cuda/cuda.pyx":24661
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     cdef unsigned long long flags = 0
 *     cdef ccuda.CUmemLocation* clocation_ptr = location._ptr if location != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemGetAccess(&flags, clocation_ptr, cptr)
 *     return (CUresult(err), flags)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_location), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24661, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 24661, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_location->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_clocation_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":24662
 *     cdef unsigned long long flags = 0
 *     cdef ccuda.CUmemLocation* clocation_ptr = location._ptr if location != None else NULL
 *     err = ccuda.cuMemGetAccess(&flags, clocation_ptr, cptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), flags)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuMemGetAccess((&__pyx_v_flags), __pyx_v_clocation_ptr, __pyx_v_cptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24662, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":24663
 *     cdef ccuda.CUmemLocation* clocation_ptr = location._ptr if location != None else NULL
 *     err = ccuda.cuMemGetAccess(&flags, clocation_ptr, cptr)
 *     return (CUresult(err), flags)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 24663, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 24663, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24629
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuMemGetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24665
 *     return (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_4cuda_329cuMemExportToShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_328cuMemExportToShareableHandle, "cuMemExportToShareableHandle(handle, handleType: CUmemAllocationHandleType, unsigned long long flags)\n Exports an allocation to a requested shareable handle type.\n\n    Given a CUDA memory handle, create a shareable memory allocation handle\n    that can be used to share the memory with other processes. The\n    recipient process can convert the shareable handle back into a CUDA\n    memory handle using :py:obj:`~.cuMemImportFromShareableHandle` and map\n    it with :py:obj:`~.cuMemMap`. The implementation of what this handle is\n    and how it can be transferred is defined by the requested handle type\n    in `handleType`\n\n    Once all shareable handles are closed and the allocation is released,\n    the allocated memory referenced will be released back to the OS and\n    uses of the CUDA handle afterward will lead to undefined behavior.\n\n    This API can also be used in conjunction with other APIs (e.g. Vulkan,\n    OpenGL) that support importing memory from the shareable type\n\n    Parameters\n    ----------\n    handle : :py:obj:`~.CUmemGenericAllocationHandle`\n        CUDA handle for the memory allocation\n    handleType : :py:obj:`~.CUmemAllocationHandleType`\n        Type of shareable handle requested (defines type and size of the\n        `shareableHandle` output parameter)\n    flags : unsigned long long\n        Reserved, must be zero\n\n    Returns\n    -------\n    CUresult\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    shareableHandle : Any\n        Pointer to the location in which to store the requested handle type\n\n    See Also\n    --------\n    :py:obj:`~.cuMemImportFromShareableHandle`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_329cuMemExportToShareableHandle = {"cuMemExportToShareableHandle", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_329cuMemExportToShareableHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_328cuMemExportToShareableHandle};
static PyObject *__pyx_pw_4cuda_4cuda_329cuMemExportToShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_handle_2,&__pyx_n_s_handleType,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_handle_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24665, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_handleType)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24665, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemExportToShareableHandle", 1, 3, 3, 1); __PYX_ERR(1, 24665, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24665, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemExportToShareableHandle", 1, 3, 3, 2); __PYX_ERR(1, 24665, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemExportToShareableHandle") < 0)) __PYX_ERR(1, 24665, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_handle = values[0];
    __pyx_v_handleType = values[1];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[2]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24666, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemExportToShareableHandle", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 24665, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 24666, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_328cuMemExportToShareableHandle(__pyx_self, __pyx_v_handle, __pyx_v_handleType, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_328cuMemExportToShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_handle, PyObject *__pyx_v_handleType, unsigned PY_LONG_LONG __pyx_v_flags) {
  CUmemGenericAllocationHandle __pyx_v_chandle;
  PyObject *__pyx_v_phandle = NULL;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemAllocationHandleType *__pyx_v_cshareableHandle = 0;
  void *__pyx_v_cshareableHandle_ptr;
  CUmemAllocationHandleType __pyx_v_chandleType;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUmemAllocationHandleType __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__651)
  __Pyx_RefNannySetupContext("cuMemExportToShareableHandle", 1);
  __Pyx_TraceCall("cuMemExportToShareableHandle", __pyx_f[1], 24665, 0, __PYX_ERR(1, 24665, __pyx_L1_error));

  /* "cuda/cuda.pyx":24706
 *     """
 *     cdef ccuda.CUmemGenericAllocationHandle chandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 */
  __pyx_t_1 = (__pyx_v_handle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24707
 *     cdef ccuda.CUmemGenericAllocationHandle chandle
 *     if handle is None:
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)
 */
    __pyx_v_chandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":24706
 *     """
 *     cdef ccuda.CUmemGenericAllocationHandle chandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24708
 *     if handle is None:
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_handle, __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24709
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)             # <<<<<<<<<<<<<<
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24709, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phandle = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":24710
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24710, __pyx_L1_error)
    __pyx_v_chandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":24708
 *     if handle is None:
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24712
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))             # <<<<<<<<<<<<<<
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef utils.HelperCUmemAllocationHandleType cshareableHandle = utils.HelperCUmemAllocationHandleType(handleType)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle), __pyx_v_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phandle = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":24713
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *     cdef utils.HelperCUmemAllocationHandleType cshareableHandle = utils.HelperCUmemAllocationHandleType(handleType)
 *     cdef void* cshareableHandle_ptr = <void*><void_ptr>cshareableHandle.cptr
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24713, __pyx_L1_error)
    __pyx_v_chandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":24714
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef utils.HelperCUmemAllocationHandleType cshareableHandle = utils.HelperCUmemAllocationHandleType(handleType)             # <<<<<<<<<<<<<<
 *     cdef void* cshareableHandle_ptr = <void*><void_ptr>cshareableHandle.cptr
 *     cdef ccuda.CUmemAllocationHandleType chandleType = handleType.value
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemAllocationHandleType), __pyx_v_handleType); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cshareableHandle = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemAllocationHandleType *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":24715
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef utils.HelperCUmemAllocationHandleType cshareableHandle = utils.HelperCUmemAllocationHandleType(handleType)
 *     cdef void* cshareableHandle_ptr = <void*><void_ptr>cshareableHandle.cptr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemAllocationHandleType chandleType = handleType.value
 *     err = ccuda.cuMemExportToShareableHandle(cshareableHandle_ptr, chandle, chandleType, flags)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cshareableHandle), __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24715, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cshareableHandle_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":24716
 *     cdef utils.HelperCUmemAllocationHandleType cshareableHandle = utils.HelperCUmemAllocationHandleType(handleType)
 *     cdef void* cshareableHandle_ptr = <void*><void_ptr>cshareableHandle.cptr
 *     cdef ccuda.CUmemAllocationHandleType chandleType = handleType.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemExportToShareableHandle(cshareableHandle_ptr, chandle, chandleType, flags)
 *     return (CUresult(err), cshareableHandle.pyObj())
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_handleType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUmemAllocationHandleType_enum)__Pyx_PyInt_As_enum__CUmemAllocationHandleType_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24716, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_chandleType = __pyx_t_5;

  /* "cuda/cuda.pyx":24717
 *     cdef void* cshareableHandle_ptr = <void*><void_ptr>cshareableHandle.cptr
 *     cdef ccuda.CUmemAllocationHandleType chandleType = handleType.value
 *     err = ccuda.cuMemExportToShareableHandle(cshareableHandle_ptr, chandle, chandleType, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), cshareableHandle.pyObj())
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuMemExportToShareableHandle(__pyx_v_cshareableHandle_ptr, __pyx_v_chandle, __pyx_v_chandleType, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24717, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":24718
 *     cdef ccuda.CUmemAllocationHandleType chandleType = handleType.value
 *     err = ccuda.cuMemExportToShareableHandle(cshareableHandle_ptr, chandle, chandleType, flags)
 *     return (CUresult(err), cshareableHandle.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cshareableHandle), __pyx_n_s_pyObj); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24718, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 24718, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 24718, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24665
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuMemExportToShareableHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phandle);
  __Pyx_XDECREF((PyObject *)__pyx_v_cshareableHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24720
 *     return (CUresult(err), cshareableHandle.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_4cuda_331cuMemImportFromShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_330cuMemImportFromShareableHandle, "cuMemImportFromShareableHandle(osHandle, shHandleType: CUmemAllocationHandleType)\n Imports an allocation from a requested shareable handle type.\n\n    If the current process cannot support the memory described by this\n    shareable handle, this API will error as CUDA_ERROR_NOT_SUPPORTED.\n\n    Parameters\n    ----------\n    osHandle : Any\n        Shareable Handle representing the memory allocation that is to be\n        imported.\n    shHandleType : :py:obj:`~.CUmemAllocationHandleType`\n        handle type of the exported handle\n        :py:obj:`~.CUmemAllocationHandleType`.\n\n    Returns\n    -------\n    CUresult\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    handle : :py:obj:`~.CUmemGenericAllocationHandle`\n        CUDA Memory handle for the memory allocation.\n\n    See Also\n    --------\n    :py:obj:`~.cuMemExportToShareableHandle`, :py:obj:`~.cuMemMap`, :py:obj:`~.cuMemRelease`\n\n    Notes\n    -----\n    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.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_331cuMemImportFromShareableHandle = {"cuMemImportFromShareableHandle", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_331cuMemImportFromShareableHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_330cuMemImportFromShareableHandle};
static PyObject *__pyx_pw_4cuda_4cuda_331cuMemImportFromShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_osHandle,&__pyx_n_s_shHandleType,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_osHandle)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24720, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_shHandleType)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24720, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemImportFromShareableHandle", 1, 2, 2, 1); __PYX_ERR(1, 24720, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemImportFromShareableHandle") < 0)) __PYX_ERR(1, 24720, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 24720, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 24721, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_330cuMemImportFromShareableHandle(__pyx_self, __pyx_v_osHandle, __pyx_v_shHandleType);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_330cuMemImportFromShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_osHandle, PyObject *__pyx_v_shHandleType) {
  struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_handle = 0;
  PyObject *__pyx_v_cosHandle = NULL;
  void *__pyx_v_cosHandle_ptr;
  CUmemAllocationHandleType __pyx_v_cshHandleType;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  CUmemAllocationHandleType __pyx_t_3;
  CUresult __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__652)
  __Pyx_RefNannySetupContext("cuMemImportFromShareableHandle", 1);
  __Pyx_TraceCall("cuMemImportFromShareableHandle", __pyx_f[1], 24720, 0, __PYX_ERR(1, 24720, __pyx_L1_error));

  /* "cuda/cuda.pyx":24751
 *     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()             # <<<<<<<<<<<<<<
 *     cosHandle = utils.HelperInputVoidPtr(osHandle)
 *     cdef void* cosHandle_ptr = <void*><void_ptr>cosHandle.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_handle = ((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":24752
 *     """
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()
 *     cosHandle = utils.HelperInputVoidPtr(osHandle)             # <<<<<<<<<<<<<<
 *     cdef void* cosHandle_ptr = <void*><void_ptr>cosHandle.cptr
 *     cdef ccuda.CUmemAllocationHandleType cshHandleType = shHandleType.value
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_osHandle); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cosHandle = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":24753
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()
 *     cosHandle = utils.HelperInputVoidPtr(osHandle)
 *     cdef void* cosHandle_ptr = <void*><void_ptr>cosHandle.cptr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemAllocationHandleType cshHandleType = shHandleType.value
 *     err = ccuda.cuMemImportFromShareableHandle(<ccuda.CUmemGenericAllocationHandle*>handle._ptr, cosHandle_ptr, cshHandleType)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cosHandle, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24753, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cosHandle_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":24754
 *     cosHandle = utils.HelperInputVoidPtr(osHandle)
 *     cdef void* cosHandle_ptr = <void*><void_ptr>cosHandle.cptr
 *     cdef ccuda.CUmemAllocationHandleType cshHandleType = shHandleType.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemImportFromShareableHandle(<ccuda.CUmemGenericAllocationHandle*>handle._ptr, cosHandle_ptr, cshHandleType)
 *     return (CUresult(err), handle)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_shHandleType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum CUmemAllocationHandleType_enum)__Pyx_PyInt_As_enum__CUmemAllocationHandleType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24754, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cshHandleType = __pyx_t_3;

  /* "cuda/cuda.pyx":24755
 *     cdef void* cosHandle_ptr = <void*><void_ptr>cosHandle.cptr
 *     cdef ccuda.CUmemAllocationHandleType cshHandleType = shHandleType.value
 *     err = ccuda.cuMemImportFromShareableHandle(<ccuda.CUmemGenericAllocationHandle*>handle._ptr, cosHandle_ptr, cshHandleType)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), handle)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_5ccuda_cuMemImportFromShareableHandle(((CUmemGenericAllocationHandle *)__pyx_v_handle->_ptr), __pyx_v_cosHandle_ptr, __pyx_v_cshHandleType); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24755, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cuda.pyx":24756
 *     cdef ccuda.CUmemAllocationHandleType cshHandleType = shHandleType.value
 *     err = ccuda.cuMemImportFromShareableHandle(<ccuda.CUmemGenericAllocationHandle*>handle._ptr, cosHandle_ptr, cshHandleType)
 *     return (CUresult(err), handle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 24756, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 24756, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24756, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 24756, __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)) __PYX_ERR(1, 24756, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_handle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_handle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_handle))) __PYX_ERR(1, 24756, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24720
 *     return (CUresult(err), cshareableHandle.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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemImportFromShareableHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_handle);
  __Pyx_XDECREF(__pyx_v_cosHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24758
 *     return (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_4cuda_333cuMemGetAllocationGranularity(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_332cuMemGetAllocationGranularity, "cuMemGetAllocationGranularity(CUmemAllocationProp prop: Optional[CUmemAllocationProp], option: CUmemAllocationGranularity_flags)\n Calculates either the minimal or recommended granularity.\n\n    Calculates either the minimal or recommended granularity for a given\n    allocation specification and returns it in granularity. This\n    granularity can be used as a multiple for alignment, size, or address\n    mapping.\n\n    Parameters\n    ----------\n    prop : :py:obj:`~.CUmemAllocationProp`\n        Property for which to determine the granularity for\n    option : :py:obj:`~.CUmemAllocationGranularity_flags`\n        Determines which granularity to return\n\n    Returns\n    -------\n    CUresult\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    granularity : int\n        Returned granularity.\n\n    See Also\n    --------\n    :py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemMap`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_333cuMemGetAllocationGranularity = {"cuMemGetAllocationGranularity", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_333cuMemGetAllocationGranularity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_332cuMemGetAllocationGranularity};
static PyObject *__pyx_pw_4cuda_4cuda_333cuMemGetAllocationGranularity(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_prop,&__pyx_n_s_option,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_prop)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24758, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_option)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24758, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemGetAllocationGranularity", 1, 2, 2, 1); __PYX_ERR(1, 24758, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemGetAllocationGranularity") < 0)) __PYX_ERR(1, 24758, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_prop = ((struct __pyx_obj_4cuda_4cuda_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(1, 24758, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUmemAllocationProp, 1, "prop", 0))) __PYX_ERR(1, 24759, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_option) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "option"); __PYX_ERR(1, 24759, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_332cuMemGetAllocationGranularity(__pyx_self, __pyx_v_prop, __pyx_v_option);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_332cuMemGetAllocationGranularity(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp *__pyx_v_prop, PyObject *__pyx_v_option) {
  size_t __pyx_v_granularity;
  CUmemAllocationProp *__pyx_v_cprop_ptr;
  CUmemAllocationGranularity_flags __pyx_v_coption;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct CUmemAllocationProp_st *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  CUmemAllocationGranularity_flags __pyx_t_4;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__653)
  __Pyx_RefNannySetupContext("cuMemGetAllocationGranularity", 1);
  __Pyx_TraceCall("cuMemGetAllocationGranularity", __pyx_f[1], 24758, 0, __PYX_ERR(1, 24758, __pyx_L1_error));

  /* "cuda/cuda.pyx":24785
 *     :py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemMap`
 *     """
 *     cdef size_t granularity = 0             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemAllocationProp* cprop_ptr = prop._ptr if prop != None else NULL
 *     cdef ccuda.CUmemAllocationGranularity_flags coption = option.value
 */
  __pyx_v_granularity = 0;

  /* "cuda/cuda.pyx":24786
 *     """
 *     cdef size_t granularity = 0
 *     cdef ccuda.CUmemAllocationProp* cprop_ptr = prop._ptr if prop != None else NULL             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemAllocationGranularity_flags coption = option.value
 *     err = ccuda.cuMemGetAllocationGranularity(&granularity, cprop_ptr, coption)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_prop), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24786, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 24786, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = __pyx_v_prop->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cprop_ptr = __pyx_t_1;

  /* "cuda/cuda.pyx":24787
 *     cdef size_t granularity = 0
 *     cdef ccuda.CUmemAllocationProp* cprop_ptr = prop._ptr if prop != None else NULL
 *     cdef ccuda.CUmemAllocationGranularity_flags coption = option.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemGetAllocationGranularity(&granularity, cprop_ptr, coption)
 *     return (CUresult(err), granularity)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_option, __pyx_n_s_value_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = ((enum CUmemAllocationGranularity_flags_enum)__Pyx_PyInt_As_enum__CUmemAllocationGranularity_flags_enum(__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_coption = __pyx_t_4;

  /* "cuda/cuda.pyx":24788
 *     cdef ccuda.CUmemAllocationProp* cprop_ptr = prop._ptr if prop != None else NULL
 *     cdef ccuda.CUmemAllocationGranularity_flags coption = option.value
 *     err = ccuda.cuMemGetAllocationGranularity(&granularity, cprop_ptr, coption)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), granularity)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemGetAllocationGranularity((&__pyx_v_granularity), __pyx_v_cprop_ptr, __pyx_v_coption); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24788, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":24789
 *     cdef ccuda.CUmemAllocationGranularity_flags coption = option.value
 *     err = ccuda.cuMemGetAllocationGranularity(&granularity, cprop_ptr, coption)
 *     return (CUresult(err), granularity)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 24789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24789, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_granularity); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 24789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 24789, __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)) __PYX_ERR(1, 24789, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6)) __PYX_ERR(1, 24789, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24758
 *     return (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_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuMemGetAllocationGranularity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24791
 *     return (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_4cuda_335cuMemGetAllocationPropertiesFromHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_334cuMemGetAllocationPropertiesFromHandle, "cuMemGetAllocationPropertiesFromHandle(handle)\n Retrieve the contents of the property structure defining properties for this handle.\n\n    Parameters\n    ----------\n    handle : :py:obj:`~.CUmemGenericAllocationHandle`\n        Handle which to perform the query on\n\n    Returns\n    -------\n    CUresult\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    prop : :py:obj:`~.CUmemAllocationProp`\n        Pointer to a properties structure which will hold the information\n        about this handle\n\n    See Also\n    --------\n    :py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemImportFromShareableHandle`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_335cuMemGetAllocationPropertiesFromHandle = {"cuMemGetAllocationPropertiesFromHandle", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_335cuMemGetAllocationPropertiesFromHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_334cuMemGetAllocationPropertiesFromHandle};
static PyObject *__pyx_pw_4cuda_4cuda_335cuMemGetAllocationPropertiesFromHandle(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_handle_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_handle_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24791, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemGetAllocationPropertiesFromHandle") < 0)) __PYX_ERR(1, 24791, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_handle = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemGetAllocationPropertiesFromHandle", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 24791, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemGetAllocationPropertiesFromHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_334cuMemGetAllocationPropertiesFromHandle(__pyx_self, __pyx_v_handle);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_334cuMemGetAllocationPropertiesFromHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_handle) {
  CUmemGenericAllocationHandle __pyx_v_chandle;
  PyObject *__pyx_v_phandle = NULL;
  struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp *__pyx_v_prop = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__654)
  __Pyx_RefNannySetupContext("cuMemGetAllocationPropertiesFromHandle", 1);
  __Pyx_TraceCall("cuMemGetAllocationPropertiesFromHandle", __pyx_f[1], 24791, 0, __PYX_ERR(1, 24791, __pyx_L1_error));

  /* "cuda/cuda.pyx":24813
 *     """
 *     cdef ccuda.CUmemGenericAllocationHandle chandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 */
  __pyx_t_1 = (__pyx_v_handle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24814
 *     cdef ccuda.CUmemGenericAllocationHandle chandle
 *     if handle is None:
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)
 */
    __pyx_v_chandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":24813
 *     """
 *     cdef ccuda.CUmemGenericAllocationHandle chandle
 *     if handle is None:             # <<<<<<<<<<<<<<
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24815
 *     if handle is None:
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_handle, __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24816
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)             # <<<<<<<<<<<<<<
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phandle = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":24817
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):
 *         phandle = int(handle)
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24817, __pyx_L1_error)
    __pyx_v_chandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":24815
 *     if handle is None:
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(handle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         phandle = int(handle)
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24819
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))             # <<<<<<<<<<<<<<
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef CUmemAllocationProp prop = CUmemAllocationProp()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle), __pyx_v_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phandle = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":24820
 *     else:
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle             # <<<<<<<<<<<<<<
 *     cdef CUmemAllocationProp prop = CUmemAllocationProp()
 *     err = ccuda.cuMemGetAllocationPropertiesFromHandle(<ccuda.CUmemAllocationProp*>prop._ptr, chandle)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24820, __pyx_L1_error)
    __pyx_v_chandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":24821
 *         phandle = int(CUmemGenericAllocationHandle(handle))
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef CUmemAllocationProp prop = CUmemAllocationProp()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemGetAllocationPropertiesFromHandle(<ccuda.CUmemAllocationProp*>prop._ptr, chandle)
 *     return (CUresult(err), prop)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemAllocationProp)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_prop = ((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":24822
 *         chandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>phandle
 *     cdef CUmemAllocationProp prop = CUmemAllocationProp()
 *     err = ccuda.cuMemGetAllocationPropertiesFromHandle(<ccuda.CUmemAllocationProp*>prop._ptr, chandle)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), prop)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemGetAllocationPropertiesFromHandle(((CUmemAllocationProp *)__pyx_v_prop->__pyx_base.__pyx_base._ptr), __pyx_v_chandle); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24822, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":24823
 *     cdef CUmemAllocationProp prop = CUmemAllocationProp()
 *     err = ccuda.cuMemGetAllocationPropertiesFromHandle(<ccuda.CUmemAllocationProp*>prop._ptr, chandle)
 *     return (CUresult(err), prop)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 24823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 24823, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_prop);
  __Pyx_GIVEREF((PyObject *)__pyx_v_prop);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_prop))) __PYX_ERR(1, 24823, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24791
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24825
 *     return (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_4cuda_337cuMemRetainAllocationHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_336cuMemRetainAllocationHandle, "cuMemRetainAllocationHandle(addr)\n Given an address `addr`, returns the allocation handle of the backing memory allocation.\n\n    The handle is guaranteed to be the same handle value used to map the\n    memory. If the address requested is not mapped, the function will fail.\n    The returned handle must be released with corresponding number of calls\n    to :py:obj:`~.cuMemRelease`.\n\n    Parameters\n    ----------\n    addr : Any\n        Memory address to query, that has been mapped previously.\n\n    Returns\n    -------\n    CUresult\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    handle : :py:obj:`~.CUmemGenericAllocationHandle`\n        CUDA Memory handle for the backing memory allocation.\n\n    See Also\n    --------\n    :py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemRelease`, :py:obj:`~.cuMemMap`\n\n    Notes\n    -----\n    The address `addr`, can be any address in a range previously mapped by :py:obj:`~.cuMemMap`, and not necessarily the start address.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_337cuMemRetainAllocationHandle = {"cuMemRetainAllocationHandle", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_337cuMemRetainAllocationHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_336cuMemRetainAllocationHandle};
static PyObject *__pyx_pw_4cuda_4cuda_337cuMemRetainAllocationHandle(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_addr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_addr)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24825, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemRetainAllocationHandle") < 0)) __PYX_ERR(1, 24825, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_addr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemRetainAllocationHandle", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 24825, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemRetainAllocationHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_336cuMemRetainAllocationHandle(__pyx_self, __pyx_v_addr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_336cuMemRetainAllocationHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_addr) {
  struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_handle = 0;
  PyObject *__pyx_v_caddr = NULL;
  void *__pyx_v_caddr_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  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_TraceFrameInit(__pyx_codeobj__655)
  __Pyx_RefNannySetupContext("cuMemRetainAllocationHandle", 1);
  __Pyx_TraceCall("cuMemRetainAllocationHandle", __pyx_f[1], 24825, 0, __PYX_ERR(1, 24825, __pyx_L1_error));

  /* "cuda/cuda.pyx":24854
 *     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()             # <<<<<<<<<<<<<<
 *     caddr = utils.HelperInputVoidPtr(addr)
 *     cdef void* caddr_ptr = <void*><void_ptr>caddr.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24854, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_handle = ((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":24855
 *     """
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()
 *     caddr = utils.HelperInputVoidPtr(addr)             # <<<<<<<<<<<<<<
 *     cdef void* caddr_ptr = <void*><void_ptr>caddr.cptr
 *     err = ccuda.cuMemRetainAllocationHandle(<ccuda.CUmemGenericAllocationHandle*>handle._ptr, caddr_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_addr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_caddr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":24856
 *     cdef CUmemGenericAllocationHandle handle = CUmemGenericAllocationHandle()
 *     caddr = utils.HelperInputVoidPtr(addr)
 *     cdef void* caddr_ptr = <void*><void_ptr>caddr.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemRetainAllocationHandle(<ccuda.CUmemGenericAllocationHandle*>handle._ptr, caddr_ptr)
 *     return (CUresult(err), handle)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_caddr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24856, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_caddr_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":24857
 *     caddr = utils.HelperInputVoidPtr(addr)
 *     cdef void* caddr_ptr = <void*><void_ptr>caddr.cptr
 *     err = ccuda.cuMemRetainAllocationHandle(<ccuda.CUmemGenericAllocationHandle*>handle._ptr, caddr_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), handle)
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_5ccuda_cuMemRetainAllocationHandle(((CUmemGenericAllocationHandle *)__pyx_v_handle->_ptr), __pyx_v_caddr_ptr); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24857, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cuda.pyx":24858
 *     cdef void* caddr_ptr = <void*><void_ptr>caddr.cptr
 *     err = ccuda.cuMemRetainAllocationHandle(<ccuda.CUmemGenericAllocationHandle*>handle._ptr, caddr_ptr)
 *     return (CUresult(err), handle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 24858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_7 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 24858, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24858, __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)) __PYX_ERR(1, 24858, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_handle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_handle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_handle))) __PYX_ERR(1, 24858, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24825
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cuda.cuda.cuMemRetainAllocationHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_handle);
  __Pyx_XDECREF(__pyx_v_caddr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24860
 *     return (CUresult(err), handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFreeAsync(dptr, hStream):
 *     """ Frees memory with stream ordered semantics.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_339cuMemFreeAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_338cuMemFreeAsync, "cuMemFreeAsync(dptr, hStream)\n Frees memory with stream ordered semantics.\n\n    Inserts a free operation into `hStream`. The allocation must not be\n    accessed after stream execution reaches the free. After this API\n    returns, accessing the memory from any subsequent work launched on the\n    GPU or querying its pointer attributes results in undefined behavior.\n\n    Parameters\n    ----------\n    dptr : :py:obj:`~.CUdeviceptr`\n        memory to free\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        The stream establishing the stream ordering contract.\n\n    Returns\n    -------\n    CUresult\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\n    Notes\n    -----\n    During stream capture, this function results in the creation of a free node and must therefore be passed the address of a graph allocation.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_339cuMemFreeAsync = {"cuMemFreeAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_339cuMemFreeAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_338cuMemFreeAsync};
static PyObject *__pyx_pw_4cuda_4cuda_339cuMemFreeAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dptr_2,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24860, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24860, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemFreeAsync", 1, 2, 2, 1); __PYX_ERR(1, 24860, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemFreeAsync") < 0)) __PYX_ERR(1, 24860, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 24860, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemFreeAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_338cuMemFreeAsync(__pyx_self, __pyx_v_dptr, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_338cuMemFreeAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dptr, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cdptr;
  PyObject *__pyx_v_pdptr = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__656)
  __Pyx_RefNannySetupContext("cuMemFreeAsync", 1);
  __Pyx_TraceCall("cuMemFreeAsync", __pyx_f[1], 24860, 0, __PYX_ERR(1, 24860, __pyx_L1_error));

  /* "cuda/cuda.pyx":24886
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24887
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":24886
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24888
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24889
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24889, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":24890
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24890, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":24888
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24892
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdptr
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24892, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24892, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":24893
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24893, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":24895
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24896
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 */
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":24895
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":24897
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24898
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":24899
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24899, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":24897
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":24901
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     err = ccuda.cuMemFreeAsync(cdptr, chStream)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":24902
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemFreeAsync(cdptr, chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24902, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":24903
 *         pdptr = int(CUdeviceptr(dptr))
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     err = ccuda.cuMemFreeAsync(cdptr, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemFreeAsync(__pyx_v_cdptr, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24903, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":24904
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     err = ccuda.cuMemFreeAsync(cdptr, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 24904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 24904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 24904, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24860
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24906
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocAsync(size_t bytesize, hStream):
 *     """ Allocates memory with stream ordered semantics.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_341cuMemAllocAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_340cuMemAllocAsync, "cuMemAllocAsync(size_t bytesize, hStream)\n Allocates memory with stream ordered semantics.\n\n    Inserts an allocation operation into `hStream`. A pointer to the\n    allocated memory is returned immediately in *dptr. The allocation must\n    not be accessed until the the allocation operation completes. The\n    allocation comes from the memory pool current to the stream's device.\n\n    Parameters\n    ----------\n    bytesize : size_t\n        Number of bytes to allocate\n    hStream : :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\n    Returns\n    -------\n    CUresult\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`\n    dptr : :py:obj:`~.CUdeviceptr`\n        Returned device pointer\n\n    See 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\n    Notes\n    -----\n    The default memory pool of a device contains device memory from that device.\n\n    Basic 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\n    During 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.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_341cuMemAllocAsync = {"cuMemAllocAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_341cuMemAllocAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_340cuMemAllocAsync};
static PyObject *__pyx_pw_4cuda_4cuda_341cuMemAllocAsync(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_bytesize_2,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_bytesize_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24906, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24906, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemAllocAsync", 1, 2, 2, 1); __PYX_ERR(1, 24906, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemAllocAsync") < 0)) __PYX_ERR(1, 24906, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_bytesize = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 24907, __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(1, 24906, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemAllocAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_340cuMemAllocAsync(__pyx_self, __pyx_v_bytesize, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_340cuMemAllocAsync(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_dptr = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__657)
  __Pyx_RefNannySetupContext("cuMemAllocAsync", 1);
  __Pyx_TraceCall("cuMemAllocAsync", __pyx_f[1], 24906, 0, __PYX_ERR(1, 24906, __pyx_L1_error));

  /* "cuda/cuda.pyx":24943
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24944
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":24943
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24945
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24946
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":24947
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24947, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":24945
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24949
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":24950
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     err = ccuda.cuMemAllocAsync(<ccuda.CUdeviceptr*>dptr._ptr, bytesize, chStream)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24950, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":24951
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef CUdeviceptr dptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemAllocAsync(<ccuda.CUdeviceptr*>dptr._ptr, bytesize, chStream)
 *     return (CUresult(err), dptr)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_dptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":24952
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     err = ccuda.cuMemAllocAsync(<ccuda.CUdeviceptr*>dptr._ptr, bytesize, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), dptr)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemAllocAsync(((CUdeviceptr *)__pyx_v_dptr->_ptr), __pyx_v_bytesize, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24952, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":24953
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     err = ccuda.cuMemAllocAsync(<ccuda.CUdeviceptr*>dptr._ptr, bytesize, chStream)
 *     return (CUresult(err), dptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 24953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 24953, __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))) __PYX_ERR(1, 24953, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24906
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":24955
 *     return (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_4cuda_343cuMemPoolTrimTo(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_342cuMemPoolTrimTo, "cuMemPoolTrimTo(pool, size_t minBytesToKeep)\n Tries to release memory back to the OS.\n\n    Releases memory back to the OS until the pool contains fewer than\n    minBytesToKeep reserved bytes, or there is no more memory that the\n    allocator can safely release. The allocator cannot release OS\n    allocations that back outstanding asynchronous allocations. The OS\n    allocations may happen at different granularity from the user\n    allocations.\n\n    Parameters\n    ----------\n    pool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n        The memory pool to trim\n    minBytesToKeep : 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\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`\n\n    Notes\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.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_343cuMemPoolTrimTo = {"cuMemPoolTrimTo", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_343cuMemPoolTrimTo, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_342cuMemPoolTrimTo};
static PyObject *__pyx_pw_4cuda_4cuda_343cuMemPoolTrimTo(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pool,&__pyx_n_s_minBytesToKeep,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pool)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24955, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_minBytesToKeep)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 24955, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPoolTrimTo", 1, 2, 2, 1); __PYX_ERR(1, 24955, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemPoolTrimTo") < 0)) __PYX_ERR(1, 24955, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_pool = values[0];
    __pyx_v_minBytesToKeep = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_minBytesToKeep == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 24956, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolTrimTo", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 24955, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemPoolTrimTo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_342cuMemPoolTrimTo(__pyx_self, __pyx_v_pool, __pyx_v_minBytesToKeep);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_342cuMemPoolTrimTo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, size_t __pyx_v_minBytesToKeep) {
  CUmemoryPool __pyx_v_cpool;
  PyObject *__pyx_v_ppool = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__658)
  __Pyx_RefNannySetupContext("cuMemPoolTrimTo", 1);
  __Pyx_TraceCall("cuMemPoolTrimTo", __pyx_f[1], 24955, 0, __PYX_ERR(1, 24955, __pyx_L1_error));

  /* "cuda/cuda.pyx":24991
 *     """
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
  __pyx_t_1 = (__pyx_v_pool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24992
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 */
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":24991
 *     """
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24993
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":24994
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":24995
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24995, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":24993
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":24997
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     err = ccuda.cuMemPoolTrimTo(cpool, minBytesToKeep)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemoryPool), __pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24997, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 24997, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":24998
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemPoolTrimTo(cpool, minBytesToKeep)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 24998, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":24999
 *         ppool = int(CUmemoryPool(pool))
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     err = ccuda.cuMemPoolTrimTo(cpool, minBytesToKeep)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemPoolTrimTo(__pyx_v_cpool, __pyx_v_minBytesToKeep); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 24999, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":25000
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     err = ccuda.cuMemPoolTrimTo(cpool, minBytesToKeep)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 25000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 25000, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":24955
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemPoolTrimTo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppool);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25002
 *     return (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_4cuda_345cuMemPoolSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_344cuMemPoolSetAttribute, "cuMemPoolSetAttribute(pool, attr: CUmemPool_attribute, value)\n Sets attributes of a memory pool.\n\n    Supported 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\n    Parameters\n    ----------""\n    pool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n        The memory pool to modify\n    attr : :py:obj:`~.CUmemPool_attribute`\n        The attribute to modify\n    value : Any\n        Pointer to the value to assign\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_345cuMemPoolSetAttribute = {"cuMemPoolSetAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_345cuMemPoolSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_344cuMemPoolSetAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_345cuMemPoolSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pool,&__pyx_n_s_attr,&__pyx_n_s_value_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pool)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25002, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attr)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25002, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPoolSetAttribute", 1, 3, 3, 1); __PYX_ERR(1, 25002, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25002, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPoolSetAttribute", 1, 3, 3, 2); __PYX_ERR(1, 25002, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemPoolSetAttribute") < 0)) __PYX_ERR(1, 25002, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __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(1, 25002, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 25003, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_344cuMemPoolSetAttribute(__pyx_self, __pyx_v_pool, __pyx_v_attr, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_344cuMemPoolSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, PyObject *__pyx_v_attr, PyObject *__pyx_v_value) {
  CUmemoryPool __pyx_v_cpool;
  PyObject *__pyx_v_ppool = NULL;
  CUmemPool_attribute __pyx_v_cattr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemPool_attribute *__pyx_v_cvalue = 0;
  void *__pyx_v_cvalue_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUmemPool_attribute __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__659)
  __Pyx_RefNannySetupContext("cuMemPoolSetAttribute", 1);
  __Pyx_TraceCall("cuMemPoolSetAttribute", __pyx_f[1], 25002, 0, __PYX_ERR(1, 25002, __pyx_L1_error));

  /* "cuda/cuda.pyx":25060
 *     """
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
  __pyx_t_1 = (__pyx_v_pool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25061
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 */
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":25060
 *     """
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25062
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25063
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25063, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":25064
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25064, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":25062
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25066
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef ccuda.CUmemPool_attribute cattr = attr.value
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemoryPool), __pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25066, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25066, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":25067
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemPool_attribute cattr = attr.value
 *     cdef utils.HelperCUmemPool_attribute cvalue = utils.HelperCUmemPool_attribute(attr, value, is_getter=False)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25067, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":25068
 *         ppool = int(CUmemoryPool(pool))
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef ccuda.CUmemPool_attribute cattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef utils.HelperCUmemPool_attribute cvalue = utils.HelperCUmemPool_attribute(attr, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25068, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUmemPool_attribute_enum)__Pyx_PyInt_As_enum__CUmemPool_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25068, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattr = __pyx_t_5;

  /* "cuda/cuda.pyx":25069
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef ccuda.CUmemPool_attribute cattr = attr.value
 *     cdef utils.HelperCUmemPool_attribute cvalue = utils.HelperCUmemPool_attribute(attr, value, is_getter=False)             # <<<<<<<<<<<<<<
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     err = ccuda.cuMemPoolSetAttribute(cpool, cattr, cvalue_ptr)
 */
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_attr);
  __Pyx_GIVEREF(__pyx_v_attr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_attr)) __PYX_ERR(1, 25069, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_value)) __PYX_ERR(1, 25069, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_is_getter, Py_False) < 0) __PYX_ERR(1, 25069, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemPool_attribute), __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 25069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cvalue = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemPool_attribute *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cuda.pyx":25070
 *     cdef ccuda.CUmemPool_attribute cattr = attr.value
 *     cdef utils.HelperCUmemPool_attribute cvalue = utils.HelperCUmemPool_attribute(attr, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemPoolSetAttribute(cpool, cattr, cvalue_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_cptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 25070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_6); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25070, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cvalue_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":25071
 *     cdef utils.HelperCUmemPool_attribute cvalue = utils.HelperCUmemPool_attribute(attr, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     err = ccuda.cuMemPoolSetAttribute(cpool, cattr, cvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuMemPoolSetAttribute(__pyx_v_cpool, __pyx_v_cattr, __pyx_v_cvalue_ptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 25071, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":25072
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     err = ccuda.cuMemPoolSetAttribute(cpool, cattr, cvalue_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_4};
    __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 25072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25072, __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)) __PYX_ERR(1, 25072, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25002
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuMemPoolSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppool);
  __Pyx_XDECREF((PyObject *)__pyx_v_cvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25074
 *     return (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_4cuda_347cuMemPoolGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_346cuMemPoolGetAttribute, "cuMemPoolGetAttribute(pool, attr: CUmemPool_attribute)\n Gets attributes of a memory pool.\n\n    Supported 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 amount of memory from the pool that was in use\n      by the application.\n\n    Parameters\n    ----------\n    pool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n        The memory pool to get attributes of\n    attr : :py:obj:`~.CUmemPool_attribute`\n        The attribute to get\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    value : Any\n        Retrieved value\n\n    See Also\n    --------\n    :py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_347cuMemPoolGetAttribute = {"cuMemPoolGetAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_347cuMemPoolGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_346cuMemPoolGetAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_347cuMemPoolGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pool,&__pyx_n_s_attr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pool)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25074, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attr)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25074, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPoolGetAttribute", 1, 2, 2, 1); __PYX_ERR(1, 25074, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemPoolGetAttribute") < 0)) __PYX_ERR(1, 25074, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 25074, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 25075, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_346cuMemPoolGetAttribute(__pyx_self, __pyx_v_pool, __pyx_v_attr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_346cuMemPoolGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, PyObject *__pyx_v_attr) {
  CUmemoryPool __pyx_v_cpool;
  PyObject *__pyx_v_ppool = NULL;
  CUmemPool_attribute __pyx_v_cattr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemPool_attribute *__pyx_v_cvalue = 0;
  void *__pyx_v_cvalue_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUmemPool_attribute __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__660)
  __Pyx_RefNannySetupContext("cuMemPoolGetAttribute", 1);
  __Pyx_TraceCall("cuMemPoolGetAttribute", __pyx_f[1], 25074, 0, __PYX_ERR(1, 25074, __pyx_L1_error));

  /* "cuda/cuda.pyx":25139
 *     """
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
  __pyx_t_1 = (__pyx_v_pool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25140
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 */
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":25139
 *     """
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25141
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25142
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":25143
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25143, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":25141
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25145
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef ccuda.CUmemPool_attribute cattr = attr.value
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemoryPool), __pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":25146
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemPool_attribute cattr = attr.value
 *     cdef utils.HelperCUmemPool_attribute cvalue = utils.HelperCUmemPool_attribute(attr, 0, is_getter=True)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25146, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":25147
 *         ppool = int(CUmemoryPool(pool))
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef ccuda.CUmemPool_attribute cattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef utils.HelperCUmemPool_attribute cvalue = utils.HelperCUmemPool_attribute(attr, 0, is_getter=True)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUmemPool_attribute_enum)__Pyx_PyInt_As_enum__CUmemPool_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25147, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattr = __pyx_t_5;

  /* "cuda/cuda.pyx":25148
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef ccuda.CUmemPool_attribute cattr = attr.value
 *     cdef utils.HelperCUmemPool_attribute cvalue = utils.HelperCUmemPool_attribute(attr, 0, is_getter=True)             # <<<<<<<<<<<<<<
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     err = ccuda.cuMemPoolGetAttribute(cpool, cattr, cvalue_ptr)
 */
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_attr);
  __Pyx_GIVEREF(__pyx_v_attr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_attr)) __PYX_ERR(1, 25148, __pyx_L1_error);
  __Pyx_INCREF(__pyx_int_0);
  __Pyx_GIVEREF(__pyx_int_0);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_0)) __PYX_ERR(1, 25148, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_is_getter, Py_True) < 0) __PYX_ERR(1, 25148, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemPool_attribute), __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 25148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cvalue = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemPool_attribute *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cuda.pyx":25149
 *     cdef ccuda.CUmemPool_attribute cattr = attr.value
 *     cdef utils.HelperCUmemPool_attribute cvalue = utils.HelperCUmemPool_attribute(attr, 0, is_getter=True)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemPoolGetAttribute(cpool, cattr, cvalue_ptr)
 *     return (CUresult(err), cvalue.pyObj())
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_cptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 25149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_6); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cvalue_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":25150
 *     cdef utils.HelperCUmemPool_attribute cvalue = utils.HelperCUmemPool_attribute(attr, 0, is_getter=True)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     err = ccuda.cuMemPoolGetAttribute(cpool, cattr, cvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), cvalue.pyObj())
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuMemPoolGetAttribute(__pyx_v_cpool, __pyx_v_cattr, __pyx_v_cvalue_ptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 25150, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":25151
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     err = ccuda.cuMemPoolGetAttribute(cpool, cattr, cvalue_ptr)
 *     return (CUresult(err), cvalue.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_4};
    __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 25151, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_pyObj); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25151, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6)) __PYX_ERR(1, 25151, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2)) __PYX_ERR(1, 25151, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25074
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuMemPoolGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppool);
  __Pyx_XDECREF((PyObject *)__pyx_v_cvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25153
 *     return (CUresult(err), cvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolSetAccess(pool, map : Optional[List[CUmemAccessDesc]], size_t count):
 *     """ Controls visibility of pools between devices.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_349cuMemPoolSetAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_348cuMemPoolSetAccess, "cuMemPoolSetAccess(pool, list map: Optional[List[CUmemAccessDesc]], size_t count)\n Controls visibility of pools between devices.\n\n    Parameters\n    ----------\n    pool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n        The pool being modified\n    map : List[:py:obj:`~.CUmemAccessDesc`]\n        Array of access descriptors. Each descriptor instructs the access\n        to enable for a single gpu.\n    count : size_t\n        Number of descriptors in the map array.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_349cuMemPoolSetAccess = {"cuMemPoolSetAccess", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_349cuMemPoolSetAccess, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_348cuMemPoolSetAccess};
static PyObject *__pyx_pw_4cuda_4cuda_349cuMemPoolSetAccess(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pool,&__pyx_n_s_map,&__pyx_n_s_count_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pool)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25153, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_map)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25153, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPoolSetAccess", 1, 3, 3, 1); __PYX_ERR(1, 25153, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_count_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25153, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPoolSetAccess", 1, 3, 3, 2); __PYX_ERR(1, 25153, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemPoolSetAccess") < 0)) __PYX_ERR(1, 25153, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_pool = values[0];
    __pyx_v_map = ((PyObject*)values[1]);
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 25154, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolSetAccess", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 25153, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemPoolSetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_map), (&PyList_Type), 1, "map", 1))) __PYX_ERR(1, 25154, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_348cuMemPoolSetAccess(__pyx_self, __pyx_v_pool, __pyx_v_map, __pyx_v_count);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_18cuMemPoolSetAccess_2generator11(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":25177
 *     """
 *     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 List[ccuda.CUmemAccessDesc,]")
 *     cdef ccuda.CUmemoryPool cpool
 */

static PyObject *__pyx_pf_4cuda_4cuda_18cuMemPoolSetAccess_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_11_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_11_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_11_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_11_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 25177, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_18cuMemPoolSetAccess_2generator11, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuMemPoolSetAccess_locals_genexp, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 25177, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_18cuMemPoolSetAccess_2generator11(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_11_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_11_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 25177, 0, __PYX_ERR(1, 25177, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 25177, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 25177, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 25177, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 25177, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 25177, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUmemAccessDesc); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25153
 *     return (CUresult(err), cvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolSetAccess(pool, map : Optional[List[CUmemAccessDesc]], size_t count):
 *     """ Controls visibility of pools between devices.
 */

static PyObject *__pyx_pf_4cuda_4cuda_348cuMemPoolSetAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, PyObject *__pyx_v_map, size_t __pyx_v_count) {
  CUmemoryPool __pyx_v_cpool;
  PyObject *__pyx_v_ppool = NULL;
  CUmemAccessDesc *__pyx_v_cmap;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_18cuMemPoolSetAccess_2generator11 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct CUmemAccessDesc_st *__pyx_t_10;
  CUresult __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__661)
  __Pyx_RefNannySetupContext("cuMemPoolSetAccess", 0);
  __Pyx_TraceCall("cuMemPoolSetAccess", __pyx_f[1], 25153, 0, __PYX_ERR(1, 25153, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_map);

  /* "cuda/cuda.pyx":25176
 *     :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 List[ccuda.CUmemAccessDesc,]")
 */
  __pyx_t_2 = (__pyx_v_map == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25176, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":25177
 *     """
 *     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 List[ccuda.CUmemAccessDesc,]")
 *     cdef ccuda.CUmemoryPool cpool
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_18cuMemPoolSetAccess_genexpr(NULL, __pyx_v_map); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25177, __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(1, 25177, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":25178
 *     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 List[ccuda.CUmemAccessDesc,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__662, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25178, __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(1, 25178, __pyx_L1_error)

    /* "cuda/cuda.pyx":25177
 *     """
 *     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 List[ccuda.CUmemAccessDesc,]")
 *     cdef ccuda.CUmemoryPool cpool
 */
  }

  /* "cuda/cuda.pyx":25180
 *         raise TypeError("Argument 'map' is not instance of type (expected List[ccuda.CUmemAccessDesc,]")
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
  __pyx_t_4 = (__pyx_v_pool == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":25181
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 */
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":25180
 *         raise TypeError("Argument 'map' is not instance of type (expected List[ccuda.CUmemAccessDesc,]")
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":25182
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":25183
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ppool = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":25184
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25184, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":25182
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":25186
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef ccuda.CUmemAccessDesc* cmap = NULL
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemoryPool), __pyx_v_pool); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_ppool = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":25187
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemAccessDesc* cmap = NULL
 *     if len(map) > 0:
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25187, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":25188
 *         ppool = int(CUmemoryPool(pool))
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef ccuda.CUmemAccessDesc* cmap = NULL             # <<<<<<<<<<<<<<
 *     if len(map) > 0:
 *         cmap = <ccuda.CUmemAccessDesc*> calloc(len(map), sizeof(ccuda.CUmemAccessDesc))
 */
  __pyx_v_cmap = NULL;

  /* "cuda/cuda.pyx":25189
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef ccuda.CUmemAccessDesc* cmap = NULL
 *     if len(map) > 0:             # <<<<<<<<<<<<<<
 *         cmap = <ccuda.CUmemAccessDesc*> calloc(len(map), sizeof(ccuda.CUmemAccessDesc))
 *         if cmap is NULL:
 */
  if (unlikely(__pyx_v_map == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 25189, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_map); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 25189, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":25190
 *     cdef ccuda.CUmemAccessDesc* cmap = NULL
 *     if len(map) > 0:
 *         cmap = <ccuda.CUmemAccessDesc*> calloc(len(map), sizeof(ccuda.CUmemAccessDesc))             # <<<<<<<<<<<<<<
 *         if cmap is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(map)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 */
    if (unlikely(__pyx_v_map == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 25190, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_map); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 25190, __pyx_L1_error)
    __pyx_v_cmap = ((CUmemAccessDesc *)calloc(__pyx_t_6, (sizeof(CUmemAccessDesc))));

    /* "cuda/cuda.pyx":25191
 *     if len(map) > 0:
 *         cmap = <ccuda.CUmemAccessDesc*> calloc(len(map), sizeof(ccuda.CUmemAccessDesc))
 *         if cmap is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(map)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 *         for idx in range(len(map)):
 */
    __pyx_t_4 = (__pyx_v_cmap == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":25192
 *         cmap = <ccuda.CUmemAccessDesc*> calloc(len(map), sizeof(ccuda.CUmemAccessDesc))
 *         if cmap is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(map)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(map)):
 *             string.memcpy(&cmap[idx], (<CUmemAccessDesc>map[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))
 */
      if (unlikely(__pyx_v_map == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 25192, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_map); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 25192, __pyx_L1_error)
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25192, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25192, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25192, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25192, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmemAccessDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25192, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25192, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25192, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25192, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 25192, __pyx_L1_error)

      /* "cuda/cuda.pyx":25191
 *     if len(map) > 0:
 *         cmap = <ccuda.CUmemAccessDesc*> calloc(len(map), sizeof(ccuda.CUmemAccessDesc))
 *         if cmap is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(map)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 *         for idx in range(len(map)):
 */
    }

    /* "cuda/cuda.pyx":25193
 *         if cmap is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(map)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 *         for idx in range(len(map)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cmap[idx], (<CUmemAccessDesc>map[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))
 *     if count > <size_t>len(map): raise RuntimeError("List is too small: " + str(len(map)) + " < " + str(count))
 */
    if (unlikely(__pyx_v_map == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 25193, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_map); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 25193, __pyx_L1_error)
    __pyx_t_8 = __pyx_t_6;
    for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
      __pyx_v_idx = __pyx_t_9;

      /* "cuda/cuda.pyx":25194
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(map)) + 'x' + str(sizeof(ccuda.CUmemAccessDesc)))
 *         for idx in range(len(map)):
 *             string.memcpy(&cmap[idx], (<CUmemAccessDesc>map[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))             # <<<<<<<<<<<<<<
 *     if count > <size_t>len(map): raise RuntimeError("List is too small: " + str(len(map)) + " < " + str(count))
 *     err = ccuda.cuMemPoolSetAccess(cpool, (<CUmemAccessDesc>map[0])._ptr if len(map) == 1 else cmap, count)
 */
      if (unlikely(__pyx_v_map == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(1, 25194, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_map, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25194, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      (void)(memcpy((&(__pyx_v_cmap[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc *)__pyx_t_7)->__pyx_base.__pyx_base._ptr, (sizeof(CUmemAccessDesc))));
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }

    /* "cuda/cuda.pyx":25189
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef ccuda.CUmemAccessDesc* cmap = NULL
 *     if len(map) > 0:             # <<<<<<<<<<<<<<
 *         cmap = <ccuda.CUmemAccessDesc*> calloc(len(map), sizeof(ccuda.CUmemAccessDesc))
 *         if cmap is NULL:
 */
  }

  /* "cuda/cuda.pyx":25195
 *         for idx in range(len(map)):
 *             string.memcpy(&cmap[idx], (<CUmemAccessDesc>map[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))
 *     if count > <size_t>len(map): raise RuntimeError("List is too small: " + str(len(map)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemPoolSetAccess(cpool, (<CUmemAccessDesc>map[0])._ptr if len(map) == 1 else cmap, count)
 *     if cmap is not NULL:
 */
  if (unlikely(__pyx_v_map == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 25195, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_map); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 25195, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_count > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_map == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 25195, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_map); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 25195, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_count); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 25195, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":25196
 *             string.memcpy(&cmap[idx], (<CUmemAccessDesc>map[idx])._ptr, sizeof(ccuda.CUmemAccessDesc))
 *     if count > <size_t>len(map): raise RuntimeError("List is too small: " + str(len(map)) + " < " + str(count))
 *     err = ccuda.cuMemPoolSetAccess(cpool, (<CUmemAccessDesc>map[0])._ptr if len(map) == 1 else cmap, count)             # <<<<<<<<<<<<<<
 *     if cmap is not NULL:
 *         free(cmap)
 */
  if (unlikely(__pyx_v_map == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 25196, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_map); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 25196, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_map == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 25196, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_map, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25196, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_10 = ((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc *)__pyx_t_3)->__pyx_base.__pyx_base._ptr;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cmap;
  }
  __pyx_t_11 = __pyx_f_4cuda_5ccuda_cuMemPoolSetAccess(__pyx_v_cpool, __pyx_t_10, __pyx_v_count); if (unlikely(__pyx_t_11 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 25196, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cuda.pyx":25197
 *     if count > <size_t>len(map): raise RuntimeError("List is too small: " + str(len(map)) + " < " + str(count))
 *     err = ccuda.cuMemPoolSetAccess(cpool, (<CUmemAccessDesc>map[0])._ptr if len(map) == 1 else cmap, count)
 *     if cmap is not NULL:             # <<<<<<<<<<<<<<
 *         free(cmap)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = (__pyx_v_cmap != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":25198
 *     err = ccuda.cuMemPoolSetAccess(cpool, (<CUmemAccessDesc>map[0])._ptr if len(map) == 1 else cmap, count)
 *     if cmap is not NULL:
 *         free(cmap)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
    free(__pyx_v_cmap);

    /* "cuda/cuda.pyx":25197
 *     if count > <size_t>len(map): raise RuntimeError("List is too small: " + str(len(map)) + " < " + str(count))
 *     err = ccuda.cuMemPoolSetAccess(cpool, (<CUmemAccessDesc>map[0])._ptr if len(map) == 1 else cmap, count)
 *     if cmap is not NULL:             # <<<<<<<<<<<<<<
 *         free(cmap)
 *     return (CUresult(err),)
 */
  }

  /* "cuda/cuda.pyx":25199
 *     if cmap is not NULL:
 *         free(cmap)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_12 = NULL;
  __pyx_t_13 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_13 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_1};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_13, 1+__pyx_t_13);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25199, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25199, __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)) __PYX_ERR(1, 25199, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25153
 *     return (CUresult(err), cvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolSetAccess(pool, map : Optional[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_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.cuMemPoolSetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppool);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_18cuMemPoolSetAccess_2generator11);
  __Pyx_XDECREF(__pyx_v_map);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25201
 *     return (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_4cuda_351cuMemPoolGetAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_350cuMemPoolGetAccess, "cuMemPoolGetAccess(memPool, CUmemLocation location: Optional[CUmemLocation])\n Returns the accessibility of a pool from a device.\n\n    Returns the accessibility of the pool's memory from the specified\n    location.\n\n    Parameters\n    ----------\n    memPool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n        the pool being queried\n    location : :py:obj:`~.CUmemLocation`\n        the location accessing the pool\n\n    Returns\n    -------\n    CUresult\n\n    flags : :py:obj:`~.CUmemAccess_flags`\n        the accessibility of the pool from the specified location\n\n    See Also\n    --------\n    :py:obj:`~.cuMemAllocAsync`, :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuMemPoolCreate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_351cuMemPoolGetAccess = {"cuMemPoolGetAccess", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_351cuMemPoolGetAccess, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_350cuMemPoolGetAccess};
static PyObject *__pyx_pw_4cuda_4cuda_351cuMemPoolGetAccess(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_memPool,&__pyx_n_s_location_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_memPool)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25201, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_location_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25201, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPoolGetAccess", 1, 2, 2, 1); __PYX_ERR(1, 25201, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemPoolGetAccess") < 0)) __PYX_ERR(1, 25201, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_memPool = values[0];
    __pyx_v_location = ((struct __pyx_obj_4cuda_4cuda_CUmemLocation *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolGetAccess", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 25201, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUmemLocation, 1, "location", 0))) __PYX_ERR(1, 25202, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_350cuMemPoolGetAccess(__pyx_self, __pyx_v_memPool, __pyx_v_location);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_350cuMemPoolGetAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_memPool, struct __pyx_obj_4cuda_4cuda_CUmemLocation *__pyx_v_location) {
  CUmemoryPool __pyx_v_cmemPool;
  PyObject *__pyx_v_pmemPool = NULL;
  CUmemAccess_flags __pyx_v_flags;
  CUmemLocation *__pyx_v_clocation_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUmemLocation_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__663)
  __Pyx_RefNannySetupContext("cuMemPoolGetAccess", 1);
  __Pyx_TraceCall("cuMemPoolGetAccess", __pyx_f[1], 25201, 0, __PYX_ERR(1, 25201, __pyx_L1_error));

  /* "cuda/cuda.pyx":25227
 *     """
 *     cdef ccuda.CUmemoryPool cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(memPool, (CUmemoryPool,)):
 */
  __pyx_t_1 = (__pyx_v_memPool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25228
 *     cdef ccuda.CUmemoryPool cmemPool
 *     if memPool is None:
 *         cmemPool = <ccuda.CUmemoryPool><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(memPool, (CUmemoryPool,)):
 *         pmemPool = int(memPool)
 */
    __pyx_v_cmemPool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":25227
 *     """
 *     cdef ccuda.CUmemoryPool cmemPool
 *     if memPool is None:             # <<<<<<<<<<<<<<
 *         cmemPool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(memPool, (CUmemoryPool,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25229
 *     if memPool is None:
 *         cmemPool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(memPool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccuda.CUmemoryPool><void_ptr>pmemPool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_memPool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25230
 *         cmemPool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(memPool, (CUmemoryPool,)):
 *         pmemPool = int(memPool)             # <<<<<<<<<<<<<<
 *         cmemPool = <ccuda.CUmemoryPool><void_ptr>pmemPool
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_memPool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25230, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmemPool = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":25231
 *     elif isinstance(memPool, (CUmemoryPool,)):
 *         pmemPool = int(memPool)
 *         cmemPool = <ccuda.CUmemoryPool><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 *     else:
 *         pmemPool = int(CUmemoryPool(memPool))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25231, __pyx_L1_error)
    __pyx_v_cmemPool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":25229
 *     if memPool is None:
 *         cmemPool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(memPool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         pmemPool = int(memPool)
 *         cmemPool = <ccuda.CUmemoryPool><void_ptr>pmemPool
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25233
 *         cmemPool = <ccuda.CUmemoryPool><void_ptr>pmemPool
 *     else:
 *         pmemPool = int(CUmemoryPool(memPool))             # <<<<<<<<<<<<<<
 *         cmemPool = <ccuda.CUmemoryPool><void_ptr>pmemPool
 *     cdef ccuda.CUmemAccess_flags flags
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemoryPool), __pyx_v_memPool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25233, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25233, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmemPool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":25234
 *     else:
 *         pmemPool = int(CUmemoryPool(memPool))
 *         cmemPool = <ccuda.CUmemoryPool><void_ptr>pmemPool             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemAccess_flags flags
 *     cdef ccuda.CUmemLocation* clocation_ptr = location._ptr if location != None else NULL
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemPool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25234, __pyx_L1_error)
    __pyx_v_cmemPool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":25236
 *         cmemPool = <ccuda.CUmemoryPool><void_ptr>pmemPool
 *     cdef ccuda.CUmemAccess_flags flags
 *     cdef ccuda.CUmemLocation* clocation_ptr = location._ptr if location != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemPoolGetAccess(&flags, cmemPool, clocation_ptr)
 *     return (CUresult(err), CUmemAccess_flags(flags))
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_location), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25236, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 25236, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_location->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_clocation_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":25237
 *     cdef ccuda.CUmemAccess_flags flags
 *     cdef ccuda.CUmemLocation* clocation_ptr = location._ptr if location != None else NULL
 *     err = ccuda.cuMemPoolGetAccess(&flags, cmemPool, clocation_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), CUmemAccess_flags(flags))
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuMemPoolGetAccess((&__pyx_v_flags), __pyx_v_cmemPool, __pyx_v_clocation_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 25237, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":25238
 *     cdef ccuda.CUmemLocation* clocation_ptr = location._ptr if location != None else NULL
 *     err = ccuda.cuMemPoolGetAccess(&flags, cmemPool, clocation_ptr)
 *     return (CUresult(err), CUmemAccess_flags(flags))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUmemAccess_flags); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyInt_From_enum__CUmemAccess_flags_enum(__pyx_v_flags); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 25238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_10 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_8};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 25238, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 25238, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25201
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cuda.cuMemPoolGetAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pmemPool);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25240
 *     return (CUresult(err), CUmemAccess_flags(flags))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolCreate(poolProps : Optional[CUmemPoolProps]):
 *     """ Creates a memory pool.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_353cuMemPoolCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_352cuMemPoolCreate, "cuMemPoolCreate(CUmemPoolProps poolProps: Optional[CUmemPoolProps])\n Creates a memory pool.\n\n    Creates a CUDA memory pool and returns the handle in `pool`. The\n    `poolProps` determines the properties of the pool such as the backing\n    device and IPC capabilities.\n\n    To create a memory pool targeting a specific host NUMA node,\n    applications must set :py:obj:`~.CUmemPoolProps`::CUmemLocation::type\n    to :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA` and\n    :py:obj:`~.CUmemPoolProps`::CUmemLocation::id must specify the NUMA ID\n    of the host memory node. By default, the pool's memory will be\n    accessible from the device it is allocated on. In the case of pools\n    created with :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA`, their default\n    accessibility will be from the host CPU. Applications can control the\n    maximum size of the pool by specifying a non-zero value for\n    :py:obj:`~.CUmemPoolProps.maxSize`. If set to 0, the maximum size of\n    the pool will default to a system dependent value.\n\n    Parameters\n    ----------\n    poolProps : :py:obj:`~.CUmemPoolProps`\n        None\n\n    Returns\n    -------\n    CUresult\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_SUPPORTED`\n    pool : :py:obj:`~.CUmemoryPool`\n        None\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceSetMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuMemAllocFromPoolAsync`, :py:obj:`~.cuMemPoolExportToShareableHandle`\n\n    Notes\n    -----\n    Specifying CU_MEM_HANDLE_TYPE_NONE creates a memory pool that will not support IPC.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_353cuMemPoolCreate = {"cuMemPoolCreate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_353cuMemPoolCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_352cuMemPoolCreate};
static PyObject *__pyx_pw_4cuda_4cuda_353cuMemPoolCreate(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_poolProps_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_poolProps_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25240, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemPoolCreate") < 0)) __PYX_ERR(1, 25240, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_poolProps = ((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 25240, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUmemPoolProps, 1, "poolProps", 0))) __PYX_ERR(1, 25241, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_352cuMemPoolCreate(__pyx_self, __pyx_v_poolProps);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_352cuMemPoolCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *__pyx_v_poolProps) {
  struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_pool = 0;
  CUmemPoolProps *__pyx_v_cpoolProps_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct CUmemPoolProps_st *__pyx_t_2;
  int __pyx_t_3;
  CUresult __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__664)
  __Pyx_RefNannySetupContext("cuMemPoolCreate", 1);
  __Pyx_TraceCall("cuMemPoolCreate", __pyx_f[1], 25240, 0, __PYX_ERR(1, 25240, __pyx_L1_error));

  /* "cuda/cuda.pyx":25280
 *     Specifying CU_MEM_HANDLE_TYPE_NONE creates a memory pool that will not support IPC.
 *     """
 *     cdef CUmemoryPool pool = CUmemoryPool()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemPoolProps* cpoolProps_ptr = poolProps._ptr if poolProps != None else NULL
 *     err = ccuda.cuMemPoolCreate(<ccuda.CUmemoryPool*>pool._ptr, cpoolProps_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemoryPool)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pool = ((struct __pyx_obj_4cuda_4cuda_CUmemoryPool *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":25281
 *     """
 *     cdef CUmemoryPool pool = CUmemoryPool()
 *     cdef ccuda.CUmemPoolProps* cpoolProps_ptr = poolProps._ptr if poolProps != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemPoolCreate(<ccuda.CUmemoryPool*>pool._ptr, cpoolProps_ptr)
 *     return (CUresult(err), pool)
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_poolProps), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25281, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 25281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_poolProps->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cpoolProps_ptr = __pyx_t_2;

  /* "cuda/cuda.pyx":25282
 *     cdef CUmemoryPool pool = CUmemoryPool()
 *     cdef ccuda.CUmemPoolProps* cpoolProps_ptr = poolProps._ptr if poolProps != None else NULL
 *     err = ccuda.cuMemPoolCreate(<ccuda.CUmemoryPool*>pool._ptr, cpoolProps_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pool)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_5ccuda_cuMemPoolCreate(((CUmemoryPool *)__pyx_v_pool->_ptr), __pyx_v_cpoolProps_ptr); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 25282, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cuda.pyx":25283
 *     cdef ccuda.CUmemPoolProps* cpoolProps_ptr = poolProps._ptr if poolProps != None else NULL
 *     err = ccuda.cuMemPoolCreate(<ccuda.CUmemoryPool*>pool._ptr, cpoolProps_ptr)
 *     return (CUresult(err), pool)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 25283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 25283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 25283, __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)) __PYX_ERR(1, 25283, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pool);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pool);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_pool))) __PYX_ERR(1, 25283, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25240
 *     return (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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemPoolCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pool);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25285
 *     return (CUresult(err), pool)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolDestroy(pool):
 *     """ Destroys the specified memory pool.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_355cuMemPoolDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_354cuMemPoolDestroy, "cuMemPoolDestroy(pool)\n Destroys the specified memory pool.\n\n    If any pointers obtained from this pool haven't been freed or the pool\n    has free operations that haven't completed when\n    :py:obj:`~.cuMemPoolDestroy` is invoked, the function will return\n    immediately and the resources associated with the pool will be released\n    automatically once there are no more outstanding allocations.\n\n    Destroying the current mempool of a device sets the default mempool of\n    that device as the current mempool for that device.\n\n    Parameters\n    ----------\n    pool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n        None\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemFreeAsync`, :py:obj:`~.cuDeviceSetMemPool`, :py:obj:`~.cuDeviceGetMemPool`, :py:obj:`~.cuDeviceGetDefaultMemPool`, :py:obj:`~.cuMemPoolCreate`\n\n    Notes\n    -----\n    A device's default memory pool cannot be destroyed.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_355cuMemPoolDestroy = {"cuMemPoolDestroy", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_355cuMemPoolDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_354cuMemPoolDestroy};
static PyObject *__pyx_pw_4cuda_4cuda_355cuMemPoolDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pool,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pool)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25285, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemPoolDestroy") < 0)) __PYX_ERR(1, 25285, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_pool = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 25285, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemPoolDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_354cuMemPoolDestroy(__pyx_self, __pyx_v_pool);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_354cuMemPoolDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool) {
  CUmemoryPool __pyx_v_cpool;
  PyObject *__pyx_v_ppool = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__665)
  __Pyx_RefNannySetupContext("cuMemPoolDestroy", 1);
  __Pyx_TraceCall("cuMemPoolDestroy", __pyx_f[1], 25285, 0, __PYX_ERR(1, 25285, __pyx_L1_error));

  /* "cuda/cuda.pyx":25317
 *     """
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
  __pyx_t_1 = (__pyx_v_pool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25318
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 */
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":25317
 *     """
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25319
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25320
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":25321
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25321, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":25319
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25323
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     err = ccuda.cuMemPoolDestroy(cpool)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemoryPool), __pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":25324
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemPoolDestroy(cpool)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25324, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":25325
 *         ppool = int(CUmemoryPool(pool))
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     err = ccuda.cuMemPoolDestroy(cpool)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemPoolDestroy(__pyx_v_cpool); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 25325, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":25326
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     err = ccuda.cuMemPoolDestroy(cpool)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 25326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 25326, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25285
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemPoolDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppool);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25328
 *     return (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_4cuda_357cuMemAllocFromPoolAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_356cuMemAllocFromPoolAsync, "cuMemAllocFromPoolAsync(size_t bytesize, pool, hStream)\n Allocates memory from a specified pool with stream ordered semantics.\n\n    Inserts an allocation operation into `hStream`. A pointer to the\n    allocated memory is returned immediately in *dptr. The allocation must\n    not be accessed until the the allocation operation completes. The\n    allocation comes from the specified memory pool.\n\n    Parameters\n    ----------\n    bytesize : size_t\n        Number of bytes to allocate\n    pool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n        The pool to allocate from\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        The stream establishing the stream ordering semantic\n\n    Returns\n    -------\n    CUresult\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`\n    dptr : :py:obj:`~.CUdeviceptr`\n        Returned device pointer\n\n    See 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\n    Notes\n    -----\n    During 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.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_357cuMemAllocFromPoolAsync = {"cuMemAllocFromPoolAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_357cuMemAllocFromPoolAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_356cuMemAllocFromPoolAsync};
static PyObject *__pyx_pw_4cuda_4cuda_357cuMemAllocFromPoolAsync(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_bytesize_2,&__pyx_n_s_pool,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_bytesize_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25328, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pool)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25328, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemAllocFromPoolAsync", 1, 3, 3, 1); __PYX_ERR(1, 25328, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25328, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemAllocFromPoolAsync", 1, 3, 3, 2); __PYX_ERR(1, 25328, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemAllocFromPoolAsync") < 0)) __PYX_ERR(1, 25328, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_bytesize = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_bytesize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 25329, __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(1, 25328, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemAllocFromPoolAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_356cuMemAllocFromPoolAsync(__pyx_self, __pyx_v_bytesize, __pyx_v_pool, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_356cuMemAllocFromPoolAsync(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_bytesize, PyObject *__pyx_v_pool, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUmemoryPool __pyx_v_cpool;
  PyObject *__pyx_v_ppool = NULL;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_dptr = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__666)
  __Pyx_RefNannySetupContext("cuMemAllocFromPoolAsync", 1);
  __Pyx_TraceCall("cuMemAllocFromPoolAsync", __pyx_f[1], 25328, 0, __PYX_ERR(1, 25328, __pyx_L1_error));

  /* "cuda/cuda.pyx":25362
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25363
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":25362
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25364
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25365
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":25366
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25366, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":25364
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25368
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUmemoryPool cpool
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":25369
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25369, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":25371
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
  __pyx_t_1 = (__pyx_v_pool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25372
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 */
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":25371
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":25373
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25374
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25374, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_ppool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":25375
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25375, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":25373
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":25377
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemoryPool), __pyx_v_pool); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25377, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25377, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_ppool = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":25378
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     err = ccuda.cuMemAllocFromPoolAsync(<ccuda.CUdeviceptr*>dptr._ptr, bytesize, cpool, chStream)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25378, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":25379
 *         ppool = int(CUmemoryPool(pool))
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef CUdeviceptr dptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemAllocFromPoolAsync(<ccuda.CUdeviceptr*>dptr._ptr, bytesize, cpool, chStream)
 *     return (CUresult(err), dptr)
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_dptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":25380
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     err = ccuda.cuMemAllocFromPoolAsync(<ccuda.CUdeviceptr*>dptr._ptr, bytesize, cpool, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), dptr)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemAllocFromPoolAsync(((CUdeviceptr *)__pyx_v_dptr->_ptr), __pyx_v_bytesize, __pyx_v_cpool, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 25380, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":25381
 *     cdef CUdeviceptr dptr = CUdeviceptr()
 *     err = ccuda.cuMemAllocFromPoolAsync(<ccuda.CUdeviceptr*>dptr._ptr, bytesize, cpool, chStream)
 *     return (CUresult(err), dptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 25381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 25381, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 25381, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_dptr))) __PYX_ERR(1, 25381, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25328
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25383
 *     return (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_4cuda_359cuMemPoolExportToShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_358cuMemPoolExportToShareableHandle, "cuMemPoolExportToShareableHandle(pool, handleType: CUmemAllocationHandleType, unsigned long long flags)\n Exports a memory pool to the requested handle type.\n\n    Given an IPC capable mempool, create an OS handle to share the pool\n    with another process. A recipient process can convert the shareable\n    handle into a mempool with\n    :py:obj:`~.cuMemPoolImportFromShareableHandle`. Individual pointers can\n    then be shared with the :py:obj:`~.cuMemPoolExportPointer` and\n    :py:obj:`~.cuMemPoolImportPointer` APIs. The implementation of what the\n    shareable handle is and how it can be transferred is defined by the\n    requested handle type.\n\n    Parameters\n    ----------\n    pool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n        pool to export\n    handleType : :py:obj:`~.CUmemAllocationHandleType`\n        the type of handle to create\n    flags : unsigned long long\n        must be 0\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    handle_out : Any\n        Returned OS handle\n\n    See 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\n    Notes\n    -----\n    : To create an IPC capable mempool, create a mempool with a CUmemAllocationHandleType other than CU_MEM_HANDLE_TYPE_NONE.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_359cuMemPoolExportToShareableHandle = {"cuMemPoolExportToShareableHandle", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_359cuMemPoolExportToShareableHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_358cuMemPoolExportToShareableHandle};
static PyObject *__pyx_pw_4cuda_4cuda_359cuMemPoolExportToShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pool,&__pyx_n_s_handleType,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pool)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25383, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_handleType)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25383, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPoolExportToShareableHandle", 1, 3, 3, 1); __PYX_ERR(1, 25383, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25383, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPoolExportToShareableHandle", 1, 3, 3, 2); __PYX_ERR(1, 25383, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemPoolExportToShareableHandle") < 0)) __PYX_ERR(1, 25383, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_pool = values[0];
    __pyx_v_handleType = values[1];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[2]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25384, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolExportToShareableHandle", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 25383, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 25384, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_358cuMemPoolExportToShareableHandle(__pyx_self, __pyx_v_pool, __pyx_v_handleType, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_358cuMemPoolExportToShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, PyObject *__pyx_v_handleType, unsigned PY_LONG_LONG __pyx_v_flags) {
  CUmemoryPool __pyx_v_cpool;
  PyObject *__pyx_v_ppool = NULL;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemAllocationHandleType *__pyx_v_chandle_out = 0;
  void *__pyx_v_chandle_out_ptr;
  CUmemAllocationHandleType __pyx_v_chandleType;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUmemAllocationHandleType __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__667)
  __Pyx_RefNannySetupContext("cuMemPoolExportToShareableHandle", 1);
  __Pyx_TraceCall("cuMemPoolExportToShareableHandle", __pyx_f[1], 25383, 0, __PYX_ERR(1, 25383, __pyx_L1_error));

  /* "cuda/cuda.pyx":25421
 *     """
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
  __pyx_t_1 = (__pyx_v_pool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25422
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 */
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":25421
 *     """
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25423
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25424
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":25425
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25425, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":25423
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25427
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef utils.HelperCUmemAllocationHandleType chandle_out = utils.HelperCUmemAllocationHandleType(handleType)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemoryPool), __pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":25428
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef utils.HelperCUmemAllocationHandleType chandle_out = utils.HelperCUmemAllocationHandleType(handleType)
 *     cdef void* chandle_out_ptr = <void*><void_ptr>chandle_out.cptr
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25428, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":25429
 *         ppool = int(CUmemoryPool(pool))
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef utils.HelperCUmemAllocationHandleType chandle_out = utils.HelperCUmemAllocationHandleType(handleType)             # <<<<<<<<<<<<<<
 *     cdef void* chandle_out_ptr = <void*><void_ptr>chandle_out.cptr
 *     cdef ccuda.CUmemAllocationHandleType chandleType = handleType.value
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemAllocationHandleType), __pyx_v_handleType); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_chandle_out = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemAllocationHandleType *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":25430
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef utils.HelperCUmemAllocationHandleType chandle_out = utils.HelperCUmemAllocationHandleType(handleType)
 *     cdef void* chandle_out_ptr = <void*><void_ptr>chandle_out.cptr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemAllocationHandleType chandleType = handleType.value
 *     err = ccuda.cuMemPoolExportToShareableHandle(chandle_out_ptr, cpool, chandleType, flags)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_chandle_out), __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25430, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_chandle_out_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":25431
 *     cdef utils.HelperCUmemAllocationHandleType chandle_out = utils.HelperCUmemAllocationHandleType(handleType)
 *     cdef void* chandle_out_ptr = <void*><void_ptr>chandle_out.cptr
 *     cdef ccuda.CUmemAllocationHandleType chandleType = handleType.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemPoolExportToShareableHandle(chandle_out_ptr, cpool, chandleType, flags)
 *     return (CUresult(err), chandle_out.pyObj())
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_handleType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUmemAllocationHandleType_enum)__Pyx_PyInt_As_enum__CUmemAllocationHandleType_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25431, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_chandleType = __pyx_t_5;

  /* "cuda/cuda.pyx":25432
 *     cdef void* chandle_out_ptr = <void*><void_ptr>chandle_out.cptr
 *     cdef ccuda.CUmemAllocationHandleType chandleType = handleType.value
 *     err = ccuda.cuMemPoolExportToShareableHandle(chandle_out_ptr, cpool, chandleType, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), chandle_out.pyObj())
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuMemPoolExportToShareableHandle(__pyx_v_chandle_out_ptr, __pyx_v_cpool, __pyx_v_chandleType, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 25432, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":25433
 *     cdef ccuda.CUmemAllocationHandleType chandleType = handleType.value
 *     err = ccuda.cuMemPoolExportToShareableHandle(chandle_out_ptr, cpool, chandleType, flags)
 *     return (CUresult(err), chandle_out.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25433, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_chandle_out), __pyx_n_s_pyObj); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25433, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 25433, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 25433, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25383
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuMemPoolExportToShareableHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppool);
  __Pyx_XDECREF((PyObject *)__pyx_v_chandle_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25435
 *     return (CUresult(err), chandle_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_4cuda_361cuMemPoolImportFromShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_360cuMemPoolImportFromShareableHandle, "cuMemPoolImportFromShareableHandle(handle, handleType: CUmemAllocationHandleType, unsigned long long flags)\n imports a memory pool from a shared handle.\n\n    Specific allocations can be imported from the imported pool with\n    cuMemPoolImportPointer.\n\n    Parameters\n    ----------\n    handle : Any\n        OS handle of the pool to open\n    handleType : :py:obj:`~.CUmemAllocationHandleType`\n        The type of handle being imported\n    flags : unsigned long long\n        must be 0\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    pool_out : :py:obj:`~.CUmemoryPool`\n        Returned memory pool\n\n    See Also\n    --------\n    :py:obj:`~.cuMemPoolExportToShareableHandle`, :py:obj:`~.cuMemPoolExportPointer`, :py:obj:`~.cuMemPoolImportPointer`\n\n    Notes\n    -----\n    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.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_361cuMemPoolImportFromShareableHandle = {"cuMemPoolImportFromShareableHandle", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_361cuMemPoolImportFromShareableHandle, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_360cuMemPoolImportFromShareableHandle};
static PyObject *__pyx_pw_4cuda_4cuda_361cuMemPoolImportFromShareableHandle(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_handle_2,&__pyx_n_s_handleType,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_handle_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25435, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_handleType)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25435, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPoolImportFromShareableHandle", 1, 3, 3, 1); __PYX_ERR(1, 25435, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25435, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPoolImportFromShareableHandle", 1, 3, 3, 2); __PYX_ERR(1, 25435, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemPoolImportFromShareableHandle") < 0)) __PYX_ERR(1, 25435, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_handle = values[0];
    __pyx_v_handleType = values[1];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[2]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25436, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolImportFromShareableHandle", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 25435, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 25436, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_360cuMemPoolImportFromShareableHandle(__pyx_self, __pyx_v_handle, __pyx_v_handleType, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_360cuMemPoolImportFromShareableHandle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_handle, PyObject *__pyx_v_handleType, unsigned PY_LONG_LONG __pyx_v_flags) {
  struct __pyx_obj_4cuda_4cuda_CUmemoryPool *__pyx_v_pool_out = 0;
  PyObject *__pyx_v_chandle = NULL;
  void *__pyx_v_chandle_ptr;
  CUmemAllocationHandleType __pyx_v_chandleType;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_2;
  CUmemAllocationHandleType __pyx_t_3;
  CUresult __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__668)
  __Pyx_RefNannySetupContext("cuMemPoolImportFromShareableHandle", 1);
  __Pyx_TraceCall("cuMemPoolImportFromShareableHandle", __pyx_f[1], 25435, 0, __PYX_ERR(1, 25435, __pyx_L1_error));

  /* "cuda/cuda.pyx":25466
 *     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()             # <<<<<<<<<<<<<<
 *     chandle = utils.HelperInputVoidPtr(handle)
 *     cdef void* chandle_ptr = <void*><void_ptr>chandle.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemoryPool)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pool_out = ((struct __pyx_obj_4cuda_4cuda_CUmemoryPool *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":25467
 *     """
 *     cdef CUmemoryPool pool_out = CUmemoryPool()
 *     chandle = utils.HelperInputVoidPtr(handle)             # <<<<<<<<<<<<<<
 *     cdef void* chandle_ptr = <void*><void_ptr>chandle.cptr
 *     cdef ccuda.CUmemAllocationHandleType chandleType = handleType.value
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_handle); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_chandle = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":25468
 *     cdef CUmemoryPool pool_out = CUmemoryPool()
 *     chandle = utils.HelperInputVoidPtr(handle)
 *     cdef void* chandle_ptr = <void*><void_ptr>chandle.cptr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemAllocationHandleType chandleType = handleType.value
 *     err = ccuda.cuMemPoolImportFromShareableHandle(<ccuda.CUmemoryPool*>pool_out._ptr, chandle_ptr, chandleType, flags)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_chandle, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_2 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25468, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_chandle_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_2));

  /* "cuda/cuda.pyx":25469
 *     chandle = utils.HelperInputVoidPtr(handle)
 *     cdef void* chandle_ptr = <void*><void_ptr>chandle.cptr
 *     cdef ccuda.CUmemAllocationHandleType chandleType = handleType.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemPoolImportFromShareableHandle(<ccuda.CUmemoryPool*>pool_out._ptr, chandle_ptr, chandleType, flags)
 *     return (CUresult(err), pool_out)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_handleType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = ((enum CUmemAllocationHandleType_enum)__Pyx_PyInt_As_enum__CUmemAllocationHandleType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_chandleType = __pyx_t_3;

  /* "cuda/cuda.pyx":25470
 *     cdef void* chandle_ptr = <void*><void_ptr>chandle.cptr
 *     cdef ccuda.CUmemAllocationHandleType chandleType = handleType.value
 *     err = ccuda.cuMemPoolImportFromShareableHandle(<ccuda.CUmemoryPool*>pool_out._ptr, chandle_ptr, chandleType, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pool_out)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_5ccuda_cuMemPoolImportFromShareableHandle(((CUmemoryPool *)__pyx_v_pool_out->_ptr), __pyx_v_chandle_ptr, __pyx_v_chandleType, __pyx_v_flags); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 25470, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cuda.pyx":25471
 *     cdef ccuda.CUmemAllocationHandleType chandleType = handleType.value
 *     err = ccuda.cuMemPoolImportFromShareableHandle(<ccuda.CUmemoryPool*>pool_out._ptr, chandle_ptr, chandleType, flags)
 *     return (CUresult(err), pool_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 25471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 25471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 25471, __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)) __PYX_ERR(1, 25471, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pool_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pool_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_pool_out))) __PYX_ERR(1, 25471, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25435
 *     return (CUresult(err), chandle_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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemPoolImportFromShareableHandle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pool_out);
  __Pyx_XDECREF(__pyx_v_chandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25473
 *     return (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_4cuda_363cuMemPoolExportPointer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_362cuMemPoolExportPointer, "cuMemPoolExportPointer(ptr)\n Export data to share a memory pool allocation between processes.\n\n    Constructs `shareData_out` for sharing a specific allocation from an\n    already shared memory pool. The recipient process can import the\n    allocation with the :py:obj:`~.cuMemPoolImportPointer` api. The data is\n    not a handle and may be shared through any IPC mechanism.\n\n    Parameters\n    ----------\n    ptr : :py:obj:`~.CUdeviceptr`\n        pointer to memory being exported\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    shareData_out : :py:obj:`~.CUmemPoolPtrExportData`\n        Returned export data\n\n    See Also\n    --------\n    :py:obj:`~.cuMemPoolExportToShareableHandle`, :py:obj:`~.cuMemPoolImportFromShareableHandle`, :py:obj:`~.cuMemPoolImportPointer`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_363cuMemPoolExportPointer = {"cuMemPoolExportPointer", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_363cuMemPoolExportPointer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_362cuMemPoolExportPointer};
static PyObject *__pyx_pw_4cuda_4cuda_363cuMemPoolExportPointer(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25473, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemPoolExportPointer") < 0)) __PYX_ERR(1, 25473, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_ptr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolExportPointer", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 25473, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemPoolExportPointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_362cuMemPoolExportPointer(__pyx_self, __pyx_v_ptr);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_362cuMemPoolExportPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ptr) {
  CUdeviceptr __pyx_v_cptr;
  PyObject *__pyx_v_pptr = NULL;
  struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData *__pyx_v_shareData_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__669)
  __Pyx_RefNannySetupContext("cuMemPoolExportPointer", 1);
  __Pyx_TraceCall("cuMemPoolExportPointer", __pyx_f[1], 25473, 0, __PYX_ERR(1, 25473, __pyx_L1_error));

  /* "cuda/cuda.pyx":25499
 *     """
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25500
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 */
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":25499
 *     """
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25501
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25502
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":25503
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25503, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":25501
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25505
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     cdef CUmemPoolPtrExportData shareData_out = CUmemPoolPtrExportData()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25505, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25505, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":25506
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     cdef CUmemPoolPtrExportData shareData_out = CUmemPoolPtrExportData()
 *     err = ccuda.cuMemPoolExportPointer(<ccuda.CUmemPoolPtrExportData*>shareData_out._ptr, cptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25506, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":25507
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     cdef CUmemPoolPtrExportData shareData_out = CUmemPoolPtrExportData()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemPoolExportPointer(<ccuda.CUmemPoolPtrExportData*>shareData_out._ptr, cptr)
 *     return (CUresult(err), shareData_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_shareData_out = ((struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":25508
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     cdef CUmemPoolPtrExportData shareData_out = CUmemPoolPtrExportData()
 *     err = ccuda.cuMemPoolExportPointer(<ccuda.CUmemPoolPtrExportData*>shareData_out._ptr, cptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), shareData_out)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemPoolExportPointer(((CUmemPoolPtrExportData *)__pyx_v_shareData_out->__pyx_base.__pyx_base._ptr), __pyx_v_cptr); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 25508, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":25509
 *     cdef CUmemPoolPtrExportData shareData_out = CUmemPoolPtrExportData()
 *     err = ccuda.cuMemPoolExportPointer(<ccuda.CUmemPoolPtrExportData*>shareData_out._ptr, cptr)
 *     return (CUresult(err), shareData_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 25509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 25509, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_shareData_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_shareData_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_shareData_out))) __PYX_ERR(1, 25509, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25473
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25511
 *     return (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_4cuda_365cuMemPoolImportPointer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_364cuMemPoolImportPointer, "cuMemPoolImportPointer(pool, CUmemPoolPtrExportData shareData: Optional[CUmemPoolPtrExportData])\n Import a memory pool allocation from another process.\n\n    Returns in `ptr_out` a pointer to the imported memory. The imported\n    memory must not be accessed before the allocation operation completes\n    in the exporting process. The imported memory must be freed from all\n    importing processes before being freed in the exporting process. The\n    pointer may be freed with cuMemFree or cuMemFreeAsync. If\n    cuMemFreeAsync is used, the free must be completed on the importing\n    process before the free operation on the exporting process.\n\n    Parameters\n    ----------\n    pool : :py:obj:`~.CUmemoryPool` or :py:obj:`~.cudaMemPool_t`\n        pool from which to import\n    shareData : :py:obj:`~.CUmemPoolPtrExportData`\n        data specifying the memory to import\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    ptr_out : :py:obj:`~.CUdeviceptr`\n        pointer to imported memory\n\n    See Also\n    --------\n    :py:obj:`~.cuMemPoolExportToShareableHandle`, :py:obj:`~.cuMemPoolImportFromShareableHandle`, :py:obj:`~.cuMemPoolExportPointer`\n\n    Notes\n    -----\n    The 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.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_365cuMemPoolImportPointer = {"cuMemPoolImportPointer", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_365cuMemPoolImportPointer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_364cuMemPoolImportPointer};
static PyObject *__pyx_pw_4cuda_4cuda_365cuMemPoolImportPointer(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pool,&__pyx_n_s_shareData,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pool)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25511, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_shareData)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25511, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPoolImportPointer", 1, 2, 2, 1); __PYX_ERR(1, 25511, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemPoolImportPointer") < 0)) __PYX_ERR(1, 25511, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_pool = values[0];
    __pyx_v_shareData = ((struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPoolImportPointer", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 25511, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUmemPoolPtrExportData, 1, "shareData", 0))) __PYX_ERR(1, 25512, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_364cuMemPoolImportPointer(__pyx_self, __pyx_v_pool, __pyx_v_shareData);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_364cuMemPoolImportPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pool, struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData *__pyx_v_shareData) {
  CUmemoryPool __pyx_v_cpool;
  PyObject *__pyx_v_ppool = NULL;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_ptr_out = 0;
  CUmemPoolPtrExportData *__pyx_v_cshareData_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUmemPoolPtrExportData_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__670)
  __Pyx_RefNannySetupContext("cuMemPoolImportPointer", 1);
  __Pyx_TraceCall("cuMemPoolImportPointer", __pyx_f[1], 25511, 0, __PYX_ERR(1, 25511, __pyx_L1_error));

  /* "cuda/cuda.pyx":25546
 *     """
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
  __pyx_t_1 = (__pyx_v_pool == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25547
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 */
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":25546
 *     """
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25548
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pool, __pyx_ptype_4cuda_4cuda_CUmemoryPool); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25549
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25549, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppool = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":25550
 *     elif isinstance(pool, (CUmemoryPool,)):
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25550, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":25548
 *     if pool is None:
 *         cpool = <ccuda.CUmemoryPool><void_ptr>0
 *     elif isinstance(pool, (CUmemoryPool,)):             # <<<<<<<<<<<<<<
 *         ppool = int(pool)
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25552
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     else:
 *         ppool = int(CUmemoryPool(pool))             # <<<<<<<<<<<<<<
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef CUdeviceptr ptr_out = CUdeviceptr()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemoryPool), __pyx_v_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppool = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":25553
 *     else:
 *         ppool = int(CUmemoryPool(pool))
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr ptr_out = CUdeviceptr()
 *     cdef ccuda.CUmemPoolPtrExportData* cshareData_ptr = shareData._ptr if shareData != None else NULL
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppool); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25553, __pyx_L1_error)
    __pyx_v_cpool = ((CUmemoryPool)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":25554
 *         ppool = int(CUmemoryPool(pool))
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef CUdeviceptr ptr_out = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemPoolPtrExportData* cshareData_ptr = shareData._ptr if shareData != None else NULL
 *     err = ccuda.cuMemPoolImportPointer(<ccuda.CUdeviceptr*>ptr_out._ptr, cpool, cshareData_ptr)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_ptr_out = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":25555
 *         cpool = <ccuda.CUmemoryPool><void_ptr>ppool
 *     cdef CUdeviceptr ptr_out = CUdeviceptr()
 *     cdef ccuda.CUmemPoolPtrExportData* cshareData_ptr = shareData._ptr if shareData != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemPoolImportPointer(<ccuda.CUdeviceptr*>ptr_out._ptr, cpool, cshareData_ptr)
 *     return (CUresult(err), ptr_out)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_shareData), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25555, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 25555, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_shareData->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cshareData_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":25556
 *     cdef CUdeviceptr ptr_out = CUdeviceptr()
 *     cdef ccuda.CUmemPoolPtrExportData* cshareData_ptr = shareData._ptr if shareData != None else NULL
 *     err = ccuda.cuMemPoolImportPointer(<ccuda.CUdeviceptr*>ptr_out._ptr, cpool, cshareData_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), ptr_out)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuMemPoolImportPointer(((CUdeviceptr *)__pyx_v_ptr_out->_ptr), __pyx_v_cpool, __pyx_v_cshareData_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 25556, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":25557
 *     cdef ccuda.CUmemPoolPtrExportData* cshareData_ptr = shareData._ptr if shareData != None else NULL
 *     err = ccuda.cuMemPoolImportPointer(<ccuda.CUdeviceptr*>ptr_out._ptr, cpool, cshareData_ptr)
 *     return (CUresult(err), ptr_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 25557, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_ptr_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_ptr_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_ptr_out))) __PYX_ERR(1, 25557, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25511
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25559
 *     return (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_4cuda_367cuMulticastCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_366cuMulticastCreate, "cuMulticastCreate(CUmulticastObjectProp prop: Optional[CUmulticastObjectProp])\n Create a generic allocation handle representing a multicast object described by the given properties.\n\n    This creates a multicast object as described by `prop`. The number of\n    participating devices is specified by\n    :py:obj:`~.CUmulticastObjectProp.numDevices`. Devices can be added to\n    the multicast object via :py:obj:`~.cuMulticastAddDevice`. All\n    participating devices must be added to the multicast object before\n    memory can be bound to it. Memory is bound to the multicast object via\n    either :py:obj:`~.cuMulticastBindMem` or\n    :py:obj:`~.cuMulticastBindAddr`, and can be unbound via\n    :py:obj:`~.cuMulticastUnbind`. The total amount of memory that can be\n    bound per device is specified by\n    :py:obj:`~.py`:obj:`~.CUmulticastObjectProp.size`. This size must be a\n    multiple of the value returned by :py:obj:`~.cuMulticastGetGranularity`\n    with the flag :py:obj:`~.CU_MULTICAST_GRANULARITY_MINIMUM`. For best\n    performance however, the size should be aligned to the value returned\n    by :py:obj:`~.cuMulticastGetGranularity` with the flag\n    :py:obj:`~.CU_MULTICAST_GRANULARITY_RECOMMENDED`.\n\n    After all participating devices have been added, multicast objects can\n    also be mapped to a device's virtual address space using the virtual\n    memory management APIs (see :py:obj:`~.cuMemMap` and\n    :py:obj:`~.cuMemSetAccess`). Multicast objects can also be shared with\n    other processes by requesting a shareable handle via\n    :py:obj:`~.cuMemExportToShareableHandle`. Note that the desired types\n    of shareable handles must be specified in the bitmask\n    :py:obj:`~.CUmulticastObjectProp.handleTypes`. Multicast objects can be\n    released using the virtual memory management API\n    :py:obj:`~.cuMemRelease`.\n\n    Parameters\n    ----------\n    prop : :py:obj:`~.CUmulticastObjectProp`\n        Properties of the multicast object to cr""eate.\n\n    Returns\n    -------\n    CUresult\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    mcHandle : :py:obj:`~.CUmemGenericAllocationHandle`\n        Value of handle returned.\n\n    See 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    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_367cuMulticastCreate = {"cuMulticastCreate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_367cuMulticastCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_366cuMulticastCreate};
static PyObject *__pyx_pw_4cuda_4cuda_367cuMulticastCreate(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_prop,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_prop)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25559, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMulticastCreate") < 0)) __PYX_ERR(1, 25559, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_prop = ((struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMulticastCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 25559, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUmulticastObjectProp, 1, "prop", 0))) __PYX_ERR(1, 25560, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_366cuMulticastCreate(__pyx_self, __pyx_v_prop);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_366cuMulticastCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp *__pyx_v_prop) {
  struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *__pyx_v_mcHandle = 0;
  CUmulticastObjectProp *__pyx_v_cprop_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct CUmulticastObjectProp_st *__pyx_t_2;
  int __pyx_t_3;
  CUresult __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__671)
  __Pyx_RefNannySetupContext("cuMulticastCreate", 1);
  __Pyx_TraceCall("cuMulticastCreate", __pyx_f[1], 25559, 0, __PYX_ERR(1, 25559, __pyx_L1_error));

  /* "cuda/cuda.pyx":25609
 *     :py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemRelease`, :py:obj:`~.cuMemExportToShareableHandle`, :py:obj:`~.cuMemImportFromShareableHandle`
 *     """
 *     cdef CUmemGenericAllocationHandle mcHandle = CUmemGenericAllocationHandle()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmulticastObjectProp* cprop_ptr = prop._ptr if prop != None else NULL
 *     err = ccuda.cuMulticastCreate(<ccuda.CUmemGenericAllocationHandle*>mcHandle._ptr, cprop_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_mcHandle = ((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":25610
 *     """
 *     cdef CUmemGenericAllocationHandle mcHandle = CUmemGenericAllocationHandle()
 *     cdef ccuda.CUmulticastObjectProp* cprop_ptr = prop._ptr if prop != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMulticastCreate(<ccuda.CUmemGenericAllocationHandle*>mcHandle._ptr, cprop_ptr)
 *     return (CUresult(err), mcHandle)
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_prop), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25610, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 25610, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_prop->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cprop_ptr = __pyx_t_2;

  /* "cuda/cuda.pyx":25611
 *     cdef CUmemGenericAllocationHandle mcHandle = CUmemGenericAllocationHandle()
 *     cdef ccuda.CUmulticastObjectProp* cprop_ptr = prop._ptr if prop != None else NULL
 *     err = ccuda.cuMulticastCreate(<ccuda.CUmemGenericAllocationHandle*>mcHandle._ptr, cprop_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), mcHandle)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_5ccuda_cuMulticastCreate(((CUmemGenericAllocationHandle *)__pyx_v_mcHandle->_ptr), __pyx_v_cprop_ptr); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 25611, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cuda.pyx":25612
 *     cdef ccuda.CUmulticastObjectProp* cprop_ptr = prop._ptr if prop != None else NULL
 *     err = ccuda.cuMulticastCreate(<ccuda.CUmemGenericAllocationHandle*>mcHandle._ptr, cprop_ptr)
 *     return (CUresult(err), mcHandle)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 25612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 25612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 25612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 25612, __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)) __PYX_ERR(1, 25612, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_mcHandle);
  __Pyx_GIVEREF((PyObject *)__pyx_v_mcHandle);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_mcHandle))) __PYX_ERR(1, 25612, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25559
 *     return (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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMulticastCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_mcHandle);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25614
 *     return (CUresult(err), mcHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastAddDevice(mcHandle, dev):
 *     """ Associate a device to a multicast object.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_369cuMulticastAddDevice(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_368cuMulticastAddDevice, "cuMulticastAddDevice(mcHandle, dev)\n Associate a device to a multicast object.\n\n    Associates a device to a multicast object. The added device will be a\n    part 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\n    multicast object is permanent during the life time of the multicast\n    object. All devices must be added to the multicast team before any\n    memory can be bound to any device in the team. Any calls to\n    :py:obj:`~.cuMulticastBindMem` or :py:obj:`~.cuMulticastBindAddr` will\n    block until all devices have been added. Similarly all devices must be\n    added to the multicast team before a virtual address range can be\n    mapped to the multicast object. A call to :py:obj:`~.cuMemMap` will\n    block until all devices have been added.\n\n    Parameters\n    ----------\n    mcHandle : :py:obj:`~.CUmemGenericAllocationHandle`\n        Handle representing a multicast object.\n    dev : :py:obj:`~.CUdevice`\n        Device that will be associated to the multicast object.\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuMulticastCreate`, :py:obj:`~.cuMulticastBindMem`, :py:obj:`~.cuMulticastBindAddr`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_369cuMulticastAddDevice = {"cuMulticastAddDevice", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_369cuMulticastAddDevice, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_368cuMulticastAddDevice};
static PyObject *__pyx_pw_4cuda_4cuda_369cuMulticastAddDevice(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_mcHandle,&__pyx_n_s_dev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mcHandle)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25614, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25614, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMulticastAddDevice", 1, 2, 2, 1); __PYX_ERR(1, 25614, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMulticastAddDevice") < 0)) __PYX_ERR(1, 25614, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 25614, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMulticastAddDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_368cuMulticastAddDevice(__pyx_self, __pyx_v_mcHandle, __pyx_v_dev);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_368cuMulticastAddDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mcHandle, PyObject *__pyx_v_dev) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  CUmemGenericAllocationHandle __pyx_v_cmcHandle;
  PyObject *__pyx_v_pmcHandle = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__672)
  __Pyx_RefNannySetupContext("cuMulticastAddDevice", 1);
  __Pyx_TraceCall("cuMulticastAddDevice", __pyx_f[1], 25614, 0, __PYX_ERR(1, 25614, __pyx_L1_error));

  /* "cuda/cuda.pyx":25648
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25649
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":25648
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25650
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25651
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25651, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":25652
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 25652, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":25650
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25654
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25654, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25654, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":25655
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 *     if mcHandle is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 25655, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":25657
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 */
  __pyx_t_1 = (__pyx_v_mcHandle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25658
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 *     if mcHandle is None:
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)
 */
    __pyx_v_cmcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":25657
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":25659
 *     if mcHandle is None:
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mcHandle, __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25660
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)             # <<<<<<<<<<<<<<
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_mcHandle); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25660, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmcHandle = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":25661
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmcHandle); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25661, __pyx_L1_error)
    __pyx_v_cmcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":25659
 *     if mcHandle is None:
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":25663
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))             # <<<<<<<<<<<<<<
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     err = ccuda.cuMulticastAddDevice(cmcHandle, cdev)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle), __pyx_v_mcHandle); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmcHandle = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":25664
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMulticastAddDevice(cmcHandle, cdev)
 *     return (CUresult(err),)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmcHandle); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25664, __pyx_L1_error)
    __pyx_v_cmcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":25665
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     err = ccuda.cuMulticastAddDevice(cmcHandle, cdev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuMulticastAddDevice(__pyx_v_cmcHandle, __pyx_v_cdev); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 25665, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":25666
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     err = ccuda.cuMulticastAddDevice(cmcHandle, cdev)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 25666, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25614
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25668
 *     return (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_4cuda_371cuMulticastBindMem(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_370cuMulticastBindMem, "cuMulticastBindMem(mcHandle, size_t mcOffset, memHandle, size_t memOffset, size_t size, unsigned long long flags)\n Bind a memory allocation represented by a handle to a multicast object.\n\n    Binds a memory allocation specified by `memHandle` and created via\n    :py:obj:`~.cuMemCreate` to a multicast object represented by `mcHandle`\n    and created via :py:obj:`~.cuMulticastCreate`. The intended `size` of\n    the bind, the offset in the multicast range `mcOffset` as well as the\n    offset in the memory `memOffset` must be a multiple of the value\n    returned by :py:obj:`~.cuMulticastGetGranularity` with the flag\n    :py:obj:`~.CU_MULTICAST_GRANULARITY_MINIMUM`. For best performance\n    however, `size`, `mcOffset` and `memOffset` should be aligned to the\n    granularity 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\n    The `size` + `memOffset` must be smaller than the size of the allocated\n    memory. Similarly the `size` + `mcOffset` must be smaller than the size\n    of the multicast object. The memory allocation must have beeen created\n    on one of the devices that was added to the multicast team via\n    :py:obj:`~.cuMulticastAddDevice`. Externally shareable as well as\n    imported multicast objects can be bound only to externally shareable\n    memory. Note that this call will return CUDA_ERROR_OUT_OF_MEMORY if\n    there are insufficient resources required to perform the bind. This\n    call may also return CUDA_ERROR_SYSTEM_NOT_READY if the necessary\n    system software is not initialized or running.\n\n    Parameters\n    ----------\n    mcHandle : :py:obj:`~.CUmemGenericAllocationHandle`\n        Handle representing a multicast object.\n    mcOffset : size_t\n        Offset into the multicast object for attachment.\n    memHandle : :py:obj:`~.CUmemGenericAllocationHandle`""\n        Handle representing a memory allocation.\n    memOffset : size_t\n        Offset into the memory for attachment.\n    size : size_t\n        Size of the memory that will be bound to the multicast object.\n    flags : unsigned long long\n        Flags for future use, must be zero for now.\n\n    Returns\n    -------\n    CUresult\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`\n\n    See Also\n    --------\n    :py:obj:`~.cuMulticastCreate`, :py:obj:`~.cuMulticastAddDevice`, :py:obj:`~.cuMemCreate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_371cuMulticastBindMem = {"cuMulticastBindMem", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_371cuMulticastBindMem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_370cuMulticastBindMem};
static PyObject *__pyx_pw_4cuda_4cuda_371cuMulticastBindMem(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_mcHandle,&__pyx_n_s_mcOffset,&__pyx_n_s_memHandle_2,&__pyx_n_s_memOffset,&__pyx_n_s_size_2,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mcHandle)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25668, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mcOffset)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25668, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMulticastBindMem", 1, 6, 6, 1); __PYX_ERR(1, 25668, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_memHandle_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25668, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMulticastBindMem", 1, 6, 6, 2); __PYX_ERR(1, 25668, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_memOffset)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25668, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMulticastBindMem", 1, 6, 6, 3); __PYX_ERR(1, 25668, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25668, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMulticastBindMem", 1, 6, 6, 4); __PYX_ERR(1, 25668, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[5]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25668, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMulticastBindMem", 1, 6, 6, 5); __PYX_ERR(1, 25668, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMulticastBindMem") < 0)) __PYX_ERR(1, 25668, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
      values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
    }
    __pyx_v_mcHandle = values[0];
    __pyx_v_mcOffset = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_mcOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 25669, __pyx_L3_error)
    __pyx_v_memHandle = values[2];
    __pyx_v_memOffset = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_memOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 25669, __pyx_L3_error)
    __pyx_v_size = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 25669, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[5]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25669, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMulticastBindMem", 1, 6, 6, __pyx_nargs); __PYX_ERR(1, 25668, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMulticastBindMem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_370cuMulticastBindMem(__pyx_self, __pyx_v_mcHandle, __pyx_v_mcOffset, __pyx_v_memHandle, __pyx_v_memOffset, __pyx_v_size, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_370cuMulticastBindMem(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_cmemHandle;
  PyObject *__pyx_v_pmemHandle = NULL;
  CUmemGenericAllocationHandle __pyx_v_cmcHandle;
  PyObject *__pyx_v_pmcHandle = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__673)
  __Pyx_RefNannySetupContext("cuMulticastBindMem", 1);
  __Pyx_TraceCall("cuMulticastBindMem", __pyx_f[1], 25668, 0, __PYX_ERR(1, 25668, __pyx_L1_error));

  /* "cuda/cuda.pyx":25721
 *     """
 *     cdef ccuda.CUmemGenericAllocationHandle cmemHandle
 *     if memHandle is None:             # <<<<<<<<<<<<<<
 *         cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(memHandle, (CUmemGenericAllocationHandle,)):
 */
  __pyx_t_1 = (__pyx_v_memHandle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25722
 *     cdef ccuda.CUmemGenericAllocationHandle cmemHandle
 *     if memHandle is None:
 *         cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(memHandle, (CUmemGenericAllocationHandle,)):
 *         pmemHandle = int(memHandle)
 */
    __pyx_v_cmemHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":25721
 *     """
 *     cdef ccuda.CUmemGenericAllocationHandle cmemHandle
 *     if memHandle is None:             # <<<<<<<<<<<<<<
 *         cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(memHandle, (CUmemGenericAllocationHandle,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25723
 *     if memHandle is None:
 *         cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(memHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmemHandle = int(memHandle)
 *         cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_memHandle, __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25724
 *         cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(memHandle, (CUmemGenericAllocationHandle,)):
 *         pmemHandle = int(memHandle)             # <<<<<<<<<<<<<<
 *         cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_memHandle); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmemHandle = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":25725
 *     elif isinstance(memHandle, (CUmemGenericAllocationHandle,)):
 *         pmemHandle = int(memHandle)
 *         cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmemHandle             # <<<<<<<<<<<<<<
 *     else:
 *         pmemHandle = int(CUmemGenericAllocationHandle(memHandle))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemHandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25725, __pyx_L1_error)
    __pyx_v_cmemHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":25723
 *     if memHandle is None:
 *         cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(memHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmemHandle = int(memHandle)
 *         cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25727
 *         cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *     else:
 *         pmemHandle = int(CUmemGenericAllocationHandle(memHandle))             # <<<<<<<<<<<<<<
 *         cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle), __pyx_v_memHandle); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmemHandle = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":25728
 *     else:
 *         pmemHandle = int(CUmemGenericAllocationHandle(memHandle))
 *         cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmemHandle             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 *     if mcHandle is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemHandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25728, __pyx_L1_error)
    __pyx_v_cmemHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":25730
 *         cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 */
  __pyx_t_1 = (__pyx_v_mcHandle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25731
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 *     if mcHandle is None:
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)
 */
    __pyx_v_cmcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":25730
 *         cmemHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmemHandle
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":25732
 *     if mcHandle is None:
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mcHandle, __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25733
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)             # <<<<<<<<<<<<<<
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_mcHandle); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmcHandle = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":25734
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmcHandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25734, __pyx_L1_error)
    __pyx_v_cmcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":25732
 *     if mcHandle is None:
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":25736
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))             # <<<<<<<<<<<<<<
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     err = ccuda.cuMulticastBindMem(cmcHandle, mcOffset, cmemHandle, memOffset, size, flags)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle), __pyx_v_mcHandle); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25736, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25736, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmcHandle = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":25737
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMulticastBindMem(cmcHandle, mcOffset, cmemHandle, memOffset, size, flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmcHandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25737, __pyx_L1_error)
    __pyx_v_cmcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":25738
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     err = ccuda.cuMulticastBindMem(cmcHandle, mcOffset, cmemHandle, memOffset, size, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMulticastBindMem(__pyx_v_cmcHandle, __pyx_v_mcOffset, __pyx_v_cmemHandle, __pyx_v_memOffset, __pyx_v_size, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 25738, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":25739
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     err = ccuda.cuMulticastBindMem(cmcHandle, mcOffset, cmemHandle, memOffset, size, flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 25739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 25739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 25739, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25668
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25741
 *     return (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_4cuda_373cuMulticastBindAddr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_372cuMulticastBindAddr, "cuMulticastBindAddr(mcHandle, size_t mcOffset, memptr, size_t size, unsigned long long flags)\n Bind a memory allocation represented by a virtual address to a multicast object.\n\n    Binds a memory allocation specified by its mapped address `memptr` to a\n    multicast object represented by `mcHandle`. The memory must have been\n    allocated via :py:obj:`~.cuMemCreate` or :py:obj:`~.cudaMallocAsync`.\n    The 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\n    however, `size`, `mcOffset` and `memptr` should be aligned to the value\n    returned by :py:obj:`~.cuMulticastGetGranularity` with the flag\n    :py:obj:`~.CU_MULTICAST_GRANULARITY_RECOMMENDED`.\n\n    The `size` must be smaller than the size of the allocated memory.\n    Similarly the `size` + `mcOffset` must be smaller than the total size\n    of the multicast object. The memory allocation must have beeen created\n    on one of the devices that was added to the multicast team via\n    :py:obj:`~.cuMulticastAddDevice`. Externally shareable as well as\n    imported multicast objects can be bound only to externally shareable\n    memory. Note that this call will return CUDA_ERROR_OUT_OF_MEMORY if\n    there are insufficient resources required to perform the bind. This\n    call may also return CUDA_ERROR_SYSTEM_NOT_READY if the necessary\n    system software is not initialized or running.\n\n    Parameters\n    ----------\n    mcHandle : :py:obj:`~.CUmemGenericAllocationHandle`\n        Handle representing a multicast object.\n    mcOffset : size_t\n        Offset into multicast va range for attachment.\n    memptr : :py:obj:`~.CUdeviceptr`\n        Virtual address of the memory allocation.\n    size : size_t\n        Size of memory that will be bound to the multicast object.\n    flags : unsig""ned long long\n        Flags for future use, must be zero now.\n\n    Returns\n    -------\n    CUresult\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`\n\n    See Also\n    --------\n    :py:obj:`~.cuMulticastCreate`, :py:obj:`~.cuMulticastAddDevice`, :py:obj:`~.cuMemCreate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_373cuMulticastBindAddr = {"cuMulticastBindAddr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_373cuMulticastBindAddr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_372cuMulticastBindAddr};
static PyObject *__pyx_pw_4cuda_4cuda_373cuMulticastBindAddr(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_mcHandle,&__pyx_n_s_mcOffset,&__pyx_n_s_memptr,&__pyx_n_s_size_2,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mcHandle)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25741, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mcOffset)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25741, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMulticastBindAddr", 1, 5, 5, 1); __PYX_ERR(1, 25741, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_memptr)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25741, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMulticastBindAddr", 1, 5, 5, 2); __PYX_ERR(1, 25741, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25741, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMulticastBindAddr", 1, 5, 5, 3); __PYX_ERR(1, 25741, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25741, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMulticastBindAddr", 1, 5, 5, 4); __PYX_ERR(1, 25741, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMulticastBindAddr") < 0)) __PYX_ERR(1, 25741, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_mcHandle = values[0];
    __pyx_v_mcOffset = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_mcOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 25742, __pyx_L3_error)
    __pyx_v_memptr = values[2];
    __pyx_v_size = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 25742, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[4]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25742, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMulticastBindAddr", 1, 5, 5, __pyx_nargs); __PYX_ERR(1, 25741, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMulticastBindAddr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_372cuMulticastBindAddr(__pyx_self, __pyx_v_mcHandle, __pyx_v_mcOffset, __pyx_v_memptr, __pyx_v_size, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_372cuMulticastBindAddr(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_cmemptr;
  PyObject *__pyx_v_pmemptr = NULL;
  CUmemGenericAllocationHandle __pyx_v_cmcHandle;
  PyObject *__pyx_v_pmcHandle = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__674)
  __Pyx_RefNannySetupContext("cuMulticastBindAddr", 1);
  __Pyx_TraceCall("cuMulticastBindAddr", __pyx_f[1], 25741, 0, __PYX_ERR(1, 25741, __pyx_L1_error));

  /* "cuda/cuda.pyx":25790
 *     """
 *     cdef ccuda.CUdeviceptr cmemptr
 *     if memptr is None:             # <<<<<<<<<<<<<<
 *         cmemptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(memptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_memptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25791
 *     cdef ccuda.CUdeviceptr cmemptr
 *     if memptr is None:
 *         cmemptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(memptr, (CUdeviceptr,)):
 *         pmemptr = int(memptr)
 */
    __pyx_v_cmemptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":25790
 *     """
 *     cdef ccuda.CUdeviceptr cmemptr
 *     if memptr is None:             # <<<<<<<<<<<<<<
 *         cmemptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(memptr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25792
 *     if memptr is None:
 *         cmemptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(memptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pmemptr = int(memptr)
 *         cmemptr = <ccuda.CUdeviceptr><void_ptr>pmemptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_memptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25793
 *         cmemptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(memptr, (CUdeviceptr,)):
 *         pmemptr = int(memptr)             # <<<<<<<<<<<<<<
 *         cmemptr = <ccuda.CUdeviceptr><void_ptr>pmemptr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_memptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25793, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pmemptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":25794
 *     elif isinstance(memptr, (CUdeviceptr,)):
 *         pmemptr = int(memptr)
 *         cmemptr = <ccuda.CUdeviceptr><void_ptr>pmemptr             # <<<<<<<<<<<<<<
 *     else:
 *         pmemptr = int(CUdeviceptr(memptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25794, __pyx_L1_error)
    __pyx_v_cmemptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":25792
 *     if memptr is None:
 *         cmemptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(memptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pmemptr = int(memptr)
 *         cmemptr = <ccuda.CUdeviceptr><void_ptr>pmemptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25796
 *         cmemptr = <ccuda.CUdeviceptr><void_ptr>pmemptr
 *     else:
 *         pmemptr = int(CUdeviceptr(memptr))             # <<<<<<<<<<<<<<
 *         cmemptr = <ccuda.CUdeviceptr><void_ptr>pmemptr
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_memptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pmemptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":25797
 *     else:
 *         pmemptr = int(CUdeviceptr(memptr))
 *         cmemptr = <ccuda.CUdeviceptr><void_ptr>pmemptr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 *     if mcHandle is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmemptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25797, __pyx_L1_error)
    __pyx_v_cmemptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":25799
 *         cmemptr = <ccuda.CUdeviceptr><void_ptr>pmemptr
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 */
  __pyx_t_1 = (__pyx_v_mcHandle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25800
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 *     if mcHandle is None:
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)
 */
    __pyx_v_cmcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":25799
 *         cmemptr = <ccuda.CUdeviceptr><void_ptr>pmemptr
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":25801
 *     if mcHandle is None:
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mcHandle, __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25802
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)             # <<<<<<<<<<<<<<
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_mcHandle); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmcHandle = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":25803
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmcHandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25803, __pyx_L1_error)
    __pyx_v_cmcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":25801
 *     if mcHandle is None:
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":25805
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))             # <<<<<<<<<<<<<<
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     err = ccuda.cuMulticastBindAddr(cmcHandle, mcOffset, cmemptr, size, flags)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle), __pyx_v_mcHandle); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25805, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25805, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmcHandle = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":25806
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMulticastBindAddr(cmcHandle, mcOffset, cmemptr, size, flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmcHandle); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25806, __pyx_L1_error)
    __pyx_v_cmcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":25807
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     err = ccuda.cuMulticastBindAddr(cmcHandle, mcOffset, cmemptr, size, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMulticastBindAddr(__pyx_v_cmcHandle, __pyx_v_mcOffset, __pyx_v_cmemptr, __pyx_v_size, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 25807, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":25808
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     err = ccuda.cuMulticastBindAddr(cmcHandle, mcOffset, cmemptr, size, flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25808, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 25808, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 25808, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25808, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 25808, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25741
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25810
 *     return (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_4cuda_375cuMulticastUnbind(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_374cuMulticastUnbind, "cuMulticastUnbind(mcHandle, dev, size_t mcOffset, size_t size)\n Unbind any memory allocations bound to a multicast object at a given offset and upto a given size.\n\n    Unbinds any memory allocations hosted on `dev` and bound to a multicast\n    object at `mcOffset` and upto a given `size`. The intended `size` of\n    the unbind and the offset in the multicast range ( `mcOffset` ) must be\n    a multiple of the value returned by\n    :py:obj:`~.cuMulticastGetGranularity` flag\n    :py:obj:`~.CU_MULTICAST_GRANULARITY_MINIMUM`. The `size` + `mcOffset`\n    must be smaller than the total size of the multicast object.\n\n    Parameters\n    ----------\n    mcHandle : :py:obj:`~.CUmemGenericAllocationHandle`\n        Handle representing a multicast object.\n    dev : :py:obj:`~.CUdevice`\n        Device that hosts the memory allocation.\n    mcOffset : size_t\n        Offset into the multicast object.\n    size : size_t\n        Desired size to unbind.\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuMulticastBindMem`, :py:obj:`~.cuMulticastBindAddr`\n\n    Notes\n    -----\n    Warning: The `mcOffset` and the `size` must match the corresponding values specified during the bind call. Any other values may result in undefined behavior.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_375cuMulticastUnbind = {"cuMulticastUnbind", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_375cuMulticastUnbind, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_374cuMulticastUnbind};
static PyObject *__pyx_pw_4cuda_4cuda_375cuMulticastUnbind(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_mcHandle,&__pyx_n_s_dev,&__pyx_n_s_mcOffset,&__pyx_n_s_size_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mcHandle)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25810, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25810, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMulticastUnbind", 1, 4, 4, 1); __PYX_ERR(1, 25810, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mcOffset)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25810, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMulticastUnbind", 1, 4, 4, 2); __PYX_ERR(1, 25810, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_size_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25810, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMulticastUnbind", 1, 4, 4, 3); __PYX_ERR(1, 25810, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMulticastUnbind") < 0)) __PYX_ERR(1, 25810, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_mcHandle = values[0];
    __pyx_v_dev = values[1];
    __pyx_v_mcOffset = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_mcOffset == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 25811, __pyx_L3_error)
    __pyx_v_size = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 25811, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMulticastUnbind", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 25810, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMulticastUnbind", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_374cuMulticastUnbind(__pyx_self, __pyx_v_mcHandle, __pyx_v_dev, __pyx_v_mcOffset, __pyx_v_size);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_374cuMulticastUnbind(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_cdev;
  PyObject *__pyx_v_pdev = NULL;
  CUmemGenericAllocationHandle __pyx_v_cmcHandle;
  PyObject *__pyx_v_pmcHandle = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__675)
  __Pyx_RefNannySetupContext("cuMulticastUnbind", 1);
  __Pyx_TraceCall("cuMulticastUnbind", __pyx_f[1], 25810, 0, __PYX_ERR(1, 25810, __pyx_L1_error));

  /* "cuda/cuda.pyx":25847
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25848
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":25847
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25849
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25850
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":25851
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 25851, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":25849
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":25853
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":25854
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 *     if mcHandle is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 25854, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":25856
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 */
  __pyx_t_1 = (__pyx_v_mcHandle == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25857
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 *     if mcHandle is None:
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)
 */
    __pyx_v_cmcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":25856
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUmemGenericAllocationHandle cmcHandle
 *     if mcHandle is None:             # <<<<<<<<<<<<<<
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":25858
 *     if mcHandle is None:
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_mcHandle, __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":25859
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)             # <<<<<<<<<<<<<<
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_mcHandle); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pmcHandle = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":25860
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):
 *         pmcHandle = int(mcHandle)
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmcHandle); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25860, __pyx_L1_error)
    __pyx_v_cmcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":25858
 *     if mcHandle is None:
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>0
 *     elif isinstance(mcHandle, (CUmemGenericAllocationHandle,)):             # <<<<<<<<<<<<<<
 *         pmcHandle = int(mcHandle)
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":25862
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))             # <<<<<<<<<<<<<<
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     err = ccuda.cuMulticastUnbind(cmcHandle, cdev, mcOffset, size)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle), __pyx_v_mcHandle); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25862, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25862, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pmcHandle = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":25863
 *     else:
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMulticastUnbind(cmcHandle, cdev, mcOffset, size)
 *     return (CUresult(err),)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pmcHandle); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 25863, __pyx_L1_error)
    __pyx_v_cmcHandle = ((CUmemGenericAllocationHandle)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":25864
 *         pmcHandle = int(CUmemGenericAllocationHandle(mcHandle))
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     err = ccuda.cuMulticastUnbind(cmcHandle, cdev, mcOffset, size)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuMulticastUnbind(__pyx_v_cmcHandle, __pyx_v_cdev, __pyx_v_mcOffset, __pyx_v_size); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 25864, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":25865
 *         cmcHandle = <ccuda.CUmemGenericAllocationHandle><void_ptr>pmcHandle
 *     err = ccuda.cuMulticastUnbind(cmcHandle, cdev, mcOffset, size)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 25865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 25865, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25810
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25867
 *     return (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_4cuda_377cuMulticastGetGranularity(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_376cuMulticastGetGranularity, "cuMulticastGetGranularity(CUmulticastObjectProp prop: Optional[CUmulticastObjectProp], option: CUmulticastGranularity_flags)\n Calculates either the minimal or recommended granularity for multicast object.\n\n    Calculates either the minimal or recommended granularity for a given\n    set of multicast object properties and returns it in granularity. This\n    granularity can be used as a multiple for size, bind offsets and\n    address mappings of the multicast object.\n\n    Parameters\n    ----------\n    prop : :py:obj:`~.CUmulticastObjectProp`\n        Properties of the multicast object.\n    option : :py:obj:`~.CUmulticastGranularity_flags`\n        Determines which granularity to return.\n\n    Returns\n    -------\n    CUresult\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    granularity : int\n        Returned granularity.\n\n    See Also\n    --------\n    :py:obj:`~.cuMulticastCreate`, :py:obj:`~.cuMulticastBindMem`, :py:obj:`~.cuMulticastBindAddr`, :py:obj:`~.cuMulticastUnbind`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_377cuMulticastGetGranularity = {"cuMulticastGetGranularity", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_377cuMulticastGetGranularity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_376cuMulticastGetGranularity};
static PyObject *__pyx_pw_4cuda_4cuda_377cuMulticastGetGranularity(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_prop,&__pyx_n_s_option,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_prop)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25867, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_option)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25867, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMulticastGetGranularity", 1, 2, 2, 1); __PYX_ERR(1, 25867, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMulticastGetGranularity") < 0)) __PYX_ERR(1, 25867, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_prop = ((struct __pyx_obj_4cuda_4cuda_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(1, 25867, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUmulticastObjectProp, 1, "prop", 0))) __PYX_ERR(1, 25868, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_option) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "option"); __PYX_ERR(1, 25868, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_376cuMulticastGetGranularity(__pyx_self, __pyx_v_prop, __pyx_v_option);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_376cuMulticastGetGranularity(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp *__pyx_v_prop, PyObject *__pyx_v_option) {
  size_t __pyx_v_granularity;
  CUmulticastObjectProp *__pyx_v_cprop_ptr;
  CUmulticastGranularity_flags __pyx_v_coption;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct CUmulticastObjectProp_st *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  CUmulticastGranularity_flags __pyx_t_4;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__676)
  __Pyx_RefNannySetupContext("cuMulticastGetGranularity", 1);
  __Pyx_TraceCall("cuMulticastGetGranularity", __pyx_f[1], 25867, 0, __PYX_ERR(1, 25867, __pyx_L1_error));

  /* "cuda/cuda.pyx":25894
 *     :py:obj:`~.cuMulticastCreate`, :py:obj:`~.cuMulticastBindMem`, :py:obj:`~.cuMulticastBindAddr`, :py:obj:`~.cuMulticastUnbind`
 *     """
 *     cdef size_t granularity = 0             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmulticastObjectProp* cprop_ptr = prop._ptr if prop != None else NULL
 *     cdef ccuda.CUmulticastGranularity_flags coption = option.value
 */
  __pyx_v_granularity = 0;

  /* "cuda/cuda.pyx":25895
 *     """
 *     cdef size_t granularity = 0
 *     cdef ccuda.CUmulticastObjectProp* cprop_ptr = prop._ptr if prop != None else NULL             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmulticastGranularity_flags coption = option.value
 *     err = ccuda.cuMulticastGetGranularity(&granularity, cprop_ptr, coption)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_prop), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25895, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 25895, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = __pyx_v_prop->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cprop_ptr = __pyx_t_1;

  /* "cuda/cuda.pyx":25896
 *     cdef size_t granularity = 0
 *     cdef ccuda.CUmulticastObjectProp* cprop_ptr = prop._ptr if prop != None else NULL
 *     cdef ccuda.CUmulticastGranularity_flags coption = option.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMulticastGetGranularity(&granularity, cprop_ptr, coption)
 *     return (CUresult(err), granularity)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_option, __pyx_n_s_value_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25896, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = ((enum CUmulticastGranularity_flags_enum)__Pyx_PyInt_As_enum__CUmulticastGranularity_flags_enum(__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25896, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_coption = __pyx_t_4;

  /* "cuda/cuda.pyx":25897
 *     cdef ccuda.CUmulticastObjectProp* cprop_ptr = prop._ptr if prop != None else NULL
 *     cdef ccuda.CUmulticastGranularity_flags coption = option.value
 *     err = ccuda.cuMulticastGetGranularity(&granularity, cprop_ptr, coption)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), granularity)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMulticastGetGranularity((&__pyx_v_granularity), __pyx_v_cprop_ptr, __pyx_v_coption); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 25897, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":25898
 *     cdef ccuda.CUmulticastGranularity_flags coption = option.value
 *     err = ccuda.cuMulticastGetGranularity(&granularity, cprop_ptr, coption)
 *     return (CUresult(err), granularity)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 25898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_granularity); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 25898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 25898, __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)) __PYX_ERR(1, 25898, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6)) __PYX_ERR(1, 25898, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25867
 *     return (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_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuMulticastGetGranularity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":25900
 *     return (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_4cuda_379cuPointerGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_378cuPointerGetAttribute, "cuPointerGetAttribute(attribute: CUpointer_attribute, ptr)\n Returns information about a pointer.\n\n    The 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_INVALID_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. Every 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:`~.cuMemGetAddressRa""nge`\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:`~.cuMemExportToShareableHandle`.\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    Note that for most allocations in the unified virtual address space the\n    host and device pointer for accessing the allocation will be the same.\n    The 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\n    Parameters\n    ----------\n    attribute : :py:obj:`~.CUpointer_attribute`\n        Pointer attribute to query\n    ptr : :py:obj:`~.CUdeviceptr`\n        Pointer\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_INVAL""ID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    data : Any\n        Returned pointer attribute value\n\n    See Also\n    --------\n    :py:obj:`~.cuPointerSetAttribute`, :py:obj:`~.cuMemAlloc`, :py:obj:`~.cuMemFree`, :py:obj:`~.cuMemAllocHost`, :py:obj:`~.cuMemFreeHost`, :py:obj:`~.cuMemHostAlloc`, :py:obj:`~.cuMemHostRegister`, :py:obj:`~.cuMemHostUnregister`, :py:obj:`~.cudaPointerGetAttributes`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_379cuPointerGetAttribute = {"cuPointerGetAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_379cuPointerGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_378cuPointerGetAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_379cuPointerGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_attribute,&__pyx_n_s_ptr_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attribute)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25900, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 25900, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuPointerGetAttribute", 1, 2, 2, 1); __PYX_ERR(1, 25900, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuPointerGetAttribute") < 0)) __PYX_ERR(1, 25900, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 25900, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 25901, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_378cuPointerGetAttribute(__pyx_self, __pyx_v_attribute, __pyx_v_ptr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_378cuPointerGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attribute, PyObject *__pyx_v_ptr) {
  CUdeviceptr __pyx_v_cptr;
  PyObject *__pyx_v_pptr = NULL;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUpointer_attribute *__pyx_v_cdata = 0;
  void *__pyx_v_cdata_ptr;
  CUpointer_attribute __pyx_v_cattribute;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  CUpointer_attribute __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__677)
  __Pyx_RefNannySetupContext("cuPointerGetAttribute", 1);
  __Pyx_TraceCall("cuPointerGetAttribute", __pyx_f[1], 25900, 0, __PYX_ERR(1, 25900, __pyx_L1_error));

  /* "cuda/cuda.pyx":26088
 *     """
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26089
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 */
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":26088
 *     """
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":26090
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26091
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26091, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":26092
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26092, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":26090
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":26094
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     cdef utils.HelperCUpointer_attribute cdata = utils.HelperCUpointer_attribute(attribute, 0, is_getter=True)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26094, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26094, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":26095
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     cdef utils.HelperCUpointer_attribute cdata = utils.HelperCUpointer_attribute(attribute, 0, is_getter=True)
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.cptr
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26095, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":26096
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     cdef utils.HelperCUpointer_attribute cdata = utils.HelperCUpointer_attribute(attribute, 0, is_getter=True)             # <<<<<<<<<<<<<<
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.cptr
 *     cdef ccuda.CUpointer_attribute cattribute = attribute.value
 */
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26096, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_attribute);
  __Pyx_GIVEREF(__pyx_v_attribute);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_attribute)) __PYX_ERR(1, 26096, __pyx_L1_error);
  __Pyx_INCREF(__pyx_int_0);
  __Pyx_GIVEREF(__pyx_int_0);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_0)) __PYX_ERR(1, 26096, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26096, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_is_getter, Py_True) < 0) __PYX_ERR(1, 26096, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUpointer_attribute), __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 26096, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cdata = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUpointer_attribute *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":26097
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     cdef utils.HelperCUpointer_attribute cdata = utils.HelperCUpointer_attribute(attribute, 0, is_getter=True)
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.cptr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUpointer_attribute cattribute = attribute.value
 *     err = ccuda.cuPointerGetAttribute(cdata_ptr, cattribute, cptr)
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cdata), __pyx_n_s_cptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 26097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_5); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26097, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cdata_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":26098
 *     cdef utils.HelperCUpointer_attribute cdata = utils.HelperCUpointer_attribute(attribute, 0, is_getter=True)
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.cptr
 *     cdef ccuda.CUpointer_attribute cattribute = attribute.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuPointerGetAttribute(cdata_ptr, cattribute, cptr)
 *     return (CUresult(err), cdata.pyObj())
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_attribute, __pyx_n_s_value_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 26098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = ((enum CUpointer_attribute_enum)__Pyx_PyInt_As_enum__CUpointer_attribute_enum(__pyx_t_5)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26098, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cattribute = __pyx_t_6;

  /* "cuda/cuda.pyx":26099
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.cptr
 *     cdef ccuda.CUpointer_attribute cattribute = attribute.value
 *     err = ccuda.cuPointerGetAttribute(cdata_ptr, cattribute, cptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), cdata.pyObj())
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuPointerGetAttribute(__pyx_v_cdata_ptr, __pyx_v_cattribute, __pyx_v_cptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 26099, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":26100
 *     cdef ccuda.CUpointer_attribute cattribute = attribute.value
 *     err = ccuda.cuPointerGetAttribute(cdata_ptr, cattribute, cptr)
 *     return (CUresult(err), cdata.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_4};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 26100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cdata), __pyx_n_s_pyObj); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26100, __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)) __PYX_ERR(1, 26100, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2)) __PYX_ERR(1, 26100, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":25900
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuPointerGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pptr);
  __Pyx_XDECREF((PyObject *)__pyx_v_cdata);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":26102
 *     return (CUresult(err), cdata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchAsync(devPtr, size_t count, dstDevice, hStream):
 *     """ Prefetches memory to the specified destination device.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_381cuMemPrefetchAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_380cuMemPrefetchAsync, "cuMemPrefetchAsync(devPtr, size_t count, dstDevice, hStream)\n Prefetches memory to the specified destination device.\n\n    Note there is a later version of this API,\n    :py:obj:`~.cuMemPrefetchAsync_v2`. It will supplant this version in\n    13.0, which is retained for minor version compatibility.\n\n    Prefetches memory to the specified destination device. `devPtr` is the\n    base device pointer of the memory to be prefetched and `dstDevice` is\n    the destination device. `count` specifies the number of bytes to copy.\n    `hStream` is the stream in which the operation is enqueued. The memory\n    range must refer to managed memory allocated via\n    :py:obj:`~.cuMemAllocManaged` or declared via managed variables.\n\n    Passing in CU_DEVICE_CPU for `dstDevice` will prefetch the data to host\n    memory. If `dstDevice` is a GPU, then the device attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS` must be non-\n    zero. Additionally, `hStream` must be associated with a device that has\n    a non-zero value for the device attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`.\n\n    The start address and end address of the memory range will be rounded\n    down and rounded up respectively to be aligned to CPU page size before\n    the prefetch operation is enqueued in the stream.\n\n    If no physical memory has been allocated for this region, then this\n    memory region will be populated and mapped on the destination device.\n    If there's insufficient memory to prefetch the desired region, the\n    Unified Memory driver may evict pages from other\n    :py:obj:`~.cuMemAllocManaged` allocations to host memory in order to\n    make room. Device memory allocated using :py:obj:`~.cuMemAlloc` or\n    :py:obj:`~.cuArrayCreate` will not be evicted.\n\n    By default, any mappings to the previous location of the migrated pages\n    are removed and mappings for the new location are only setup on\n    `dstDevice`. The exact beh""avior however also depends on the settings\n    applied to this memory range via :py:obj:`~.cuMemAdvise` as described\n    below:\n\n    If :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY` was set on any subset of\n    this memory range, then that subset will create a read-only copy of the\n    pages on `dstDevice`.\n\n    If :py:obj:`~.CU_MEM_ADVISE_SET_PREFERRED_LOCATION` was called on any\n    subset of this memory range, then the pages will be migrated to\n    `dstDevice` even if `dstDevice` is not the preferred location of any\n    pages in the memory range.\n\n    If :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY` was called on any subset\n    of this memory range, then mappings to those pages from all the\n    appropriate processors are updated to refer to the new location if\n    establishing such a mapping is possible. Otherwise, those mappings are\n    cleared.\n\n    Note that this API is not required for functionality and only serves to\n    improve performance by allowing the application to migrate data to a\n    suitable location before it is accessed. Memory accesses to this range\n    are always coherent and are allowed even when the data is actively\n    being migrated.\n\n    Note that this function is asynchronous with respect to the host and\n    all work on other devices.\n\n    Parameters\n    ----------\n    devPtr : :py:obj:`~.CUdeviceptr`\n        Pointer to be prefetched\n    count : size_t\n        Size in bytes\n    dstDevice : :py:obj:`~.CUdevice`\n        Destination device to prefetch to\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to enqueue prefetch operation\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemcpy`, :py:obj:`~.cuMemcpyPeer`, :py:obj:`~.cuMemcpyAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cuMemAdvise`, :py:obj:`~.cuMemPrefetchAsync` :py:obj"":`~.cudaMemPrefetchAsync_v2`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_381cuMemPrefetchAsync = {"cuMemPrefetchAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_381cuMemPrefetchAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_380cuMemPrefetchAsync};
static PyObject *__pyx_pw_4cuda_4cuda_381cuMemPrefetchAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_devPtr = 0;
  size_t __pyx_v_count;
  PyObject *__pyx_v_dstDevice = 0;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemPrefetchAsync (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_devPtr_2,&__pyx_n_s_count_2,&__pyx_n_s_dstDevice_2,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_devPtr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26102, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_count_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26102, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPrefetchAsync", 1, 4, 4, 1); __PYX_ERR(1, 26102, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26102, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPrefetchAsync", 1, 4, 4, 2); __PYX_ERR(1, 26102, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26102, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPrefetchAsync", 1, 4, 4, 3); __PYX_ERR(1, 26102, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemPrefetchAsync") < 0)) __PYX_ERR(1, 26102, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_devPtr = values[0];
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 26103, __pyx_L3_error)
    __pyx_v_dstDevice = values[2];
    __pyx_v_hStream = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPrefetchAsync", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 26102, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemPrefetchAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_380cuMemPrefetchAsync(__pyx_self, __pyx_v_devPtr, __pyx_v_count, __pyx_v_dstDevice, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_380cuMemPrefetchAsync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, PyObject *__pyx_v_dstDevice, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdevice __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUdeviceptr __pyx_v_cdevPtr;
  PyObject *__pyx_v_pdevPtr = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUdevice __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__678)
  __Pyx_RefNannySetupContext("cuMemPrefetchAsync", 1);
  __Pyx_TraceCall("cuMemPrefetchAsync", __pyx_f[1], 26102, 0, __PYX_ERR(1, 26102, __pyx_L1_error));

  /* "cuda/cuda.pyx":26187
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26188
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":26187
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":26189
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26190
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26190, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":26191
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26191, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":26189
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":26193
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdevice cdstDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":26194
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdevice cdstDevice
 *     if dstDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26194, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":26196
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdevice cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdevice>0
 *     elif isinstance(dstDevice, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26197
 *     cdef ccuda.CUdevice cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdevice,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdevice)0);

    /* "cuda/cuda.pyx":26196
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdevice cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdevice>0
 *     elif isinstance(dstDevice, (CUdevice,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":26198
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdevice>0
 *     elif isinstance(dstDevice, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdevice>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26199
 *         cdstDevice = <ccuda.CUdevice>0
 *     elif isinstance(dstDevice, (CUdevice,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdevice>pdstDevice
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26199, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":26200
 *     elif isinstance(dstDevice, (CUdevice,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdevice>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdevice(dstDevice))
 */
    __pyx_t_5 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 26200, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdevice)__pyx_t_5);

    /* "cuda/cuda.pyx":26198
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdevice>0
 *     elif isinstance(dstDevice, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdevice>pdstDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":26202
 *         cdstDevice = <ccuda.CUdevice>pdstDevice
 *     else:
 *         pdstDevice = int(CUdevice(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdevice>pdstDevice
 *     cdef ccuda.CUdeviceptr cdevPtr
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dstDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":26203
 *     else:
 *         pdstDevice = int(CUdevice(dstDevice))
 *         cdstDevice = <ccuda.CUdevice>pdstDevice             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:
 */
    __pyx_t_5 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdstDevice); if (unlikely((__pyx_t_5 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 26203, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdevice)__pyx_t_5);
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":26205
 *         cdstDevice = <ccuda.CUdevice>pdstDevice
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_devPtr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26206
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
 */
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":26205
 *         cdstDevice = <ccuda.CUdevice>pdstDevice
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":26207
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devPtr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26208
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_devPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26208, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevPtr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":26209
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26209, __pyx_L1_error)
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":26207
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":26211
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     err = ccuda.cuMemPrefetchAsync(cdevPtr, count, cdstDevice, chStream)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_devPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevPtr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":26212
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemPrefetchAsync(cdevPtr, count, cdstDevice, chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26212, __pyx_L1_error)
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":26213
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     err = ccuda.cuMemPrefetchAsync(cdevPtr, count, cdstDevice, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuMemPrefetchAsync(__pyx_v_cdevPtr, __pyx_v_count, __pyx_v_cdstDevice, __pyx_v_chStream); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 26213, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":26214
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     err = ccuda.cuMemPrefetchAsync(cdevPtr, count, cdstDevice, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 26214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 26214, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":26102
 *     return (CUresult(err), cdata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchAsync(devPtr, size_t count, dstDevice, hStream):
 *     """ Prefetches memory to the specified destination device.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuMemPrefetchAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pdstDevice);
  __Pyx_XDECREF(__pyx_v_pdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":26216
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchAsync_v2(devPtr, size_t count, location not None : CUmemLocation, unsigned int flags, hStream):
 *     """ Prefetches memory to the specified destination location.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_383cuMemPrefetchAsync_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_4cuda_382cuMemPrefetchAsync_v2, "cuMemPrefetchAsync_v2(devPtr, size_t count, CUmemLocation location: CUmemLocation, unsigned int flags, hStream)\n Prefetches memory to the specified destination location.\n\n    Prefetches memory to the specified destination location. `devPtr` is\n    the base device pointer of the memory to be prefetched and `location`\n    specifies the destination location. `count` specifies the number of\n    bytes to copy. `hStream` is the stream in which the operation is\n    enqueued. The memory range must refer to managed memory allocated via\n    :py:obj:`~.cuMemAllocManaged` or declared via managed variables.\n\n    Specifying :py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE` for\n    :py:obj:`~.CUmemLocation.type` will prefetch memory to GPU specified by\n    device ordinal :py:obj:`~.CUmemLocation.id` which must have non-zero\n    value for the device attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`.\n    Additionally, `hStream` must be associated with a device that has a\n    non-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`\n    will prefetch data to host memory. Applications can request prefetching\n    memory 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\n    to 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\n    The start address and end address of the memory range will be rounded\n    down and rou""nded up respectively to be aligned to CPU page size before\n    the prefetch operation is enqueued in the stream.\n\n    If no physical memory has been allocated for this region, then this\n    memory region will be populated and mapped on the destination device.\n    If there's insufficient memory to prefetch the desired region, the\n    Unified Memory driver may evict pages from other\n    :py:obj:`~.cuMemAllocManaged` allocations to host memory in order to\n    make room. Device memory allocated using :py:obj:`~.cuMemAlloc` or\n    :py:obj:`~.cuArrayCreate` will not be evicted.\n\n    By default, any mappings to the previous location of the migrated pages\n    are removed and mappings for the new location are only setup on the\n    destination location. The exact behavior however also depends on the\n    settings applied to this memory range via :py:obj:`~.cuMemAdvise` as\n    described below:\n\n    If :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY` was set on any subset of\n    this memory range, then that subset will create a read-only copy of the\n    pages on destination location. If however the destination location is a\n    host NUMA node, then any pages of that subset that are already in\n    another host NUMA node will be transferred to the destination.\n\n    If :py:obj:`~.CU_MEM_ADVISE_SET_PREFERRED_LOCATION` was called on any\n    subset of this memory range, then the pages will be migrated to\n    `location` even if `location` is not the preferred location of any\n    pages in the memory range.\n\n    If :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY` was called on any subset\n    of this memory range, then mappings to those pages from all the\n    appropriate processors are updated to refer to the new location if\n    establishing such a mapping is possible. Otherwise, those mappings are\n    cleared.\n\n    Note that this API is not required for functionality and only serves to\n    improve performance by allowing the application to migrate data to a\n    suit""able location before it is accessed. Memory accesses to this range\n    are always coherent and are allowed even when the data is actively\n    being migrated.\n\n    Note that this function is asynchronous with respect to the host and\n    all work on other devices.\n\n    Parameters\n    ----------\n    devPtr : :py:obj:`~.CUdeviceptr`\n        Pointer to be prefetched\n    count : size_t\n        Size in bytes\n    dstDevice : :py:obj:`~.CUmemLocation`\n        Destination device to prefetch to\n    flags : unsigned int\n        flags for future use, must be zero now.\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to enqueue prefetch operation\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemcpy`, :py:obj:`~.cuMemcpyPeer`, :py:obj:`~.cuMemcpyAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cuMemAdvise`, :py:obj:`~.cuMemPrefetchAsync` :py:obj:`~.cudaMemPrefetchAsync_v2`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_383cuMemPrefetchAsync_v2 = {"cuMemPrefetchAsync_v2", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_383cuMemPrefetchAsync_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_382cuMemPrefetchAsync_v2};
static PyObject *__pyx_pw_4cuda_4cuda_383cuMemPrefetchAsync_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_devPtr = 0;
  size_t __pyx_v_count;
  struct __pyx_obj_4cuda_4cuda_CUmemLocation *__pyx_v_location = 0;
  unsigned int __pyx_v_flags;
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemPrefetchAsync_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_devPtr_2,&__pyx_n_s_count_2,&__pyx_n_s_location_2,&__pyx_n_s_flags_2,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_devPtr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26216, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_count_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26216, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPrefetchAsync_v2", 1, 5, 5, 1); __PYX_ERR(1, 26216, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_location_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26216, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPrefetchAsync_v2", 1, 5, 5, 2); __PYX_ERR(1, 26216, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26216, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPrefetchAsync_v2", 1, 5, 5, 3); __PYX_ERR(1, 26216, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26216, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemPrefetchAsync_v2", 1, 5, 5, 4); __PYX_ERR(1, 26216, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemPrefetchAsync_v2") < 0)) __PYX_ERR(1, 26216, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_devPtr = values[0];
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 26217, __pyx_L3_error)
    __pyx_v_location = ((struct __pyx_obj_4cuda_4cuda_CUmemLocation *)values[2]);
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 26217, __pyx_L3_error)
    __pyx_v_hStream = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemPrefetchAsync_v2", 1, 5, 5, __pyx_nargs); __PYX_ERR(1, 26216, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemPrefetchAsync_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_location), __pyx_ptype_4cuda_4cuda_CUmemLocation, 0, "location", 0))) __PYX_ERR(1, 26217, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_382cuMemPrefetchAsync_v2(__pyx_self, __pyx_v_devPtr, __pyx_v_count, __pyx_v_location, __pyx_v_flags, __pyx_v_hStream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_382cuMemPrefetchAsync_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, struct __pyx_obj_4cuda_4cuda_CUmemLocation *__pyx_v_location, unsigned int __pyx_v_flags, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUdeviceptr __pyx_v_cdevPtr;
  PyObject *__pyx_v_pdevPtr = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__679)
  __Pyx_RefNannySetupContext("cuMemPrefetchAsync_v2", 1);
  __Pyx_TraceCall("cuMemPrefetchAsync_v2", __pyx_f[1], 26216, 0, __PYX_ERR(1, 26216, __pyx_L1_error));

  /* "cuda/cuda.pyx":26316
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26317
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":26316
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":26318
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26319
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26319, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":26320
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26320, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":26318
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":26322
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdevPtr
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26322, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26322, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":26323
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26323, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":26325
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_devPtr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26326
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
 */
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":26325
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":26327
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devPtr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26328
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_devPtr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26328, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdevPtr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":26329
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26329, __pyx_L1_error)
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":26327
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":26331
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     err = ccuda.cuMemPrefetchAsync_v2(cdevPtr, count, location._ptr[0], flags, chStream)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_devPtr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdevPtr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":26332
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemPrefetchAsync_v2(cdevPtr, count, location._ptr[0], flags, chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26332, __pyx_L1_error)
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":26333
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     err = ccuda.cuMemPrefetchAsync_v2(cdevPtr, count, location._ptr[0], flags, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuMemPrefetchAsync_v2(__pyx_v_cdevPtr, __pyx_v_count, (__pyx_v_location->__pyx_base.__pyx_base._ptr[0]), __pyx_v_flags, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 26333, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":26334
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     err = ccuda.cuMemPrefetchAsync_v2(cdevPtr, count, location._ptr[0], flags, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 26334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 26334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 26334, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":26216
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchAsync_v2(devPtr, size_t count, location not None : CUmemLocation, unsigned int flags, hStream):
 *     """ Prefetches memory to the specified destination location.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuMemPrefetchAsync_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":26336
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAdvise(devPtr, size_t count, advice not None : CUmem_advise, device):
 *     """ Advise about the usage of a given memory range.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_385cuMemAdvise(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_384cuMemAdvise, "cuMemAdvise(devPtr, size_t count, advice: CUmem_advise, device)\n Advise about the usage of a given memory range.\n\n    Note there is a later version of this API, :py:obj:`~.cuMemAdvise_v2`.\n    It will supplant this version in 13.0, which is retained for minor\n    version compatibility.\n\n    Advise the Unified Memory subsystem about the usage pattern for the\n    memory range starting at `devPtr` with a size of `count` bytes. The\n    start address and end address of the memory range will be rounded down\n    and rounded up respectively to be aligned to CPU page size before the\n    advice is applied. The memory range must refer to managed memory\n    allocated via :py:obj:`~.cuMemAllocManaged` or declared via managed\n    variables. The memory range could also refer to system-allocated\n    pageable memory provided it represents a valid, host-accessible region\n    of memory and all additional constraints imposed by `advice` as\n    outlined below are also satisfied. Specifying an invalid system-\n    allocated pageable memory range results in an error being returned.\n\n    The `advice` parameter can take the following values:\n\n    - :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY`: This implies that the data\n      is mostly going to be read from and only occasionally written to. Any\n      read accesses from any processor to this region will create a read-\n      only copy of at least the accessed pages in that processor's memory.\n      Additionally, if :py:obj:`~.cuMemPrefetchAsync` is called on this\n      region, it will create a read-only copy of the data on the\n      destination processor. If any processor writes to this region, all\n      copies of the corresponding page will be invalidated except for the\n      one where the write occurred. The `device` argument is ignored for\n      this advice. Note that for a page to be read-duplicated, the\n      accessing processor must either be the CPU or a GPU that has a non-\n      zero value for the device at""tribute\n      :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`. Also, if a\n      context is created on a device that does not have the device\n      attribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`\n      set, then read-duplication will not occur until all such contexts are\n      destroyed. If the memory region refers to valid system-allocated\n      pageable memory, then the accessing device must have a non-zero value\n      for the device attribute\n      :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS` for a read-\n      only copy to be created on that device. Note however that if the\n      accessing device also has a non-zero value for the device attribute\n      :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`,\n      then setting this advice will not create a read-only copy when that\n      device accesses this memory region.\n\n    - :py:obj:`~.CU_MEM_ADVISE_UNSET_READ_MOSTLY`: Undoes the effect of\n      :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY` and also prevents the\n      Unified Memory driver from attempting heuristic read-duplication on\n      the memory range. Any read-duplicated copies of the data will be\n      collapsed into a single copy. The location for the collapsed copy\n      will be the preferred location if the page has a preferred location\n      and one of the read-duplicated copies was resident at that location.\n      Otherwise, the location chosen is arbitrary.\n\n    - :py:obj:`~.CU_MEM_ADVISE_SET_PREFERRED_LOCATION`: This advice sets\n      the preferred location for the data to be the memory belonging to\n      `device`. Passing in CU_DEVICE_CPU for `device` sets the preferred\n      location as host memory. If `device` is a GPU, then it must have a\n      non-zero value for the device attribute\n      :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`. Setting\n      the preferred location does not cause data to migrate to that\n      location immediately. Inste""ad, 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 policies of this advice, unless read\n      accesses from `device` will not result in a read-only copy being\n      created on that device as outlined in description for the advice\n      :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY`. If the memory region\n      refers to valid system-allocated pageable memory, then `device` must\n      have a non-zero value for the device attribute\n      :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`.\n\n    - :py:obj:`~.CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION`: Undoes the effect\n      of :py:obj:`~.CU_MEM_ADVISE_SET_PREFERRED_LOCATION` and changes the\n      preferred location to none.\n\n    - :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY`: This advice implies that\n      the data will be accessed by `d""evice`. Passing in\n      :py:obj:`~.CU_DEVICE_CPU` for `device` will set the advice for the\n      CPU. If `device` is a GPU, then the device attribute\n      :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS` must be\n      non-zero. This advice does not cause data migration and has no impact\n      on the location of the data per se. Instead, it causes the data to\n      always be mapped in the specified processor's page tables, as long as\n      the location of the data permits a mapping to be established. If the\n      data gets migrated for any reason, the mappings are updated\n      accordingly. This advice is recommended in scenarios where data\n      locality is not important, but avoiding faults is. Consider for\n      example a system containing multiple GPUs with peer-to-peer access\n      enabled, where the data located on one GPU is occasionally accessed\n      by peer GPUs. In such scenarios, migrating data over to the other\n      GPUs is not as important because the accesses are infrequent and the\n      overhead of migration may be too high. But preventing faults can\n      still help improve performance, and so having a mapping set up in\n      advance is useful. Note that on CPU access of this data, the data may\n      be migrated to host memory because the CPU typically cannot access\n      device memory directly. Any GPU that had the\n      :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY` flag set for this data will\n      now have its mapping updated to point to the page in host memory. If\n      :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY` is also set on this memory\n      region or any subset of it, then the policies associated with that\n      advice will override the policies of this advice. Additionally, if\n      the preferred location of this memory region or any subset of it is\n      also `device`, then the policies associated with\n      :py:obj:`~.CU_MEM_ADVISE_SET_PREFERRED_LOCATION` will override the\n      policies of this advice. I""f the memory region refers to valid system-\n      allocated pageable memory, then `device` must have a non-zero value\n      for the device attribute\n      :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`. Additionally,\n      if `device` has a non-zero value for the device attribute\n      :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`,\n      then this call has no effect.\n\n    - :py:obj:`~.CU_MEM_ADVISE_UNSET_ACCESSED_BY`: Undoes the effect of\n      :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY`. Any mappings to the data\n      from `device` may be removed at any time causing accesses to result\n      in non-fatal page faults. If the memory region refers to valid\n      system-allocated pageable memory, then `device` must have a non-zero\n      value for the device attribute\n      :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`. Additionally,\n      if `device` has a non-zero value for the device attribute\n      :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`,\n      then this call has no effect.\n\n    Parameters\n    ----------\n    devPtr : :py:obj:`~.CUdeviceptr`\n        Pointer to memory to set the advice for\n    count : size_t\n        Size in bytes of the memory range\n    advice : :py:obj:`~.CUmem_advise`\n        Advice to be applied for the specified memory range\n    device : :py:obj:`~.CUdevice`\n        Device to apply the advice for\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemcpy`, :py:obj:`~.cuMemcpyPeer`, :py:obj:`~.cuMemcpyAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cuMemPrefetchAsync`, :py:obj:`~.cuMemAdvise_v2` :py:obj:`~.cudaMemAdvise`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_385cuMemAdvise = {"cuMemAdvise", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_385cuMemAdvise, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_384cuMemAdvise};
static PyObject *__pyx_pw_4cuda_4cuda_385cuMemAdvise(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_devPtr = 0;
  size_t __pyx_v_count;
  PyObject *__pyx_v_advice = 0;
  PyObject *__pyx_v_device = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemAdvise (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_devPtr_2,&__pyx_n_s_count_2,&__pyx_n_s_advice,&__pyx_n_s_device,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_devPtr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26336, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_count_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26336, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemAdvise", 1, 4, 4, 1); __PYX_ERR(1, 26336, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_advice)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26336, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemAdvise", 1, 4, 4, 2); __PYX_ERR(1, 26336, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_device)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26336, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemAdvise", 1, 4, 4, 3); __PYX_ERR(1, 26336, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemAdvise") < 0)) __PYX_ERR(1, 26336, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_devPtr = values[0];
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 26337, __pyx_L3_error)
    __pyx_v_advice = values[2];
    __pyx_v_device = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAdvise", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 26336, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 26337, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_384cuMemAdvise(__pyx_self, __pyx_v_devPtr, __pyx_v_count, __pyx_v_advice, __pyx_v_device);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_384cuMemAdvise(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, PyObject *__pyx_v_advice, PyObject *__pyx_v_device) {
  CUdevice __pyx_v_cdevice;
  PyObject *__pyx_v_pdevice = NULL;
  CUdeviceptr __pyx_v_cdevPtr;
  PyObject *__pyx_v_pdevPtr = NULL;
  CUmem_advise __pyx_v_cadvice;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  CUmem_advise __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__680)
  __Pyx_RefNannySetupContext("cuMemAdvise", 1);
  __Pyx_TraceCall("cuMemAdvise", __pyx_f[1], 26336, 0, __PYX_ERR(1, 26336, __pyx_L1_error));

  /* "cuda/cuda.pyx":26498
 *     """
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26499
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 */
    __pyx_v_cdevice = ((CUdevice)0);

    /* "cuda/cuda.pyx":26498
 *     """
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":26500
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26501
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26501, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":26502
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 26502, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":26500
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":26504
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef ccuda.CUdeviceptr cdevPtr
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26504, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26504, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":26505
 *     else:
 *         pdevice = int(CUdevice(device))
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 26505, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":26507
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_devPtr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26508
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
 */
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":26507
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":26509
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devPtr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26510
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_devPtr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdevPtr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":26511
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26511, __pyx_L1_error)
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":26509
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":26513
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     cdef ccuda.CUmem_advise cadvice = advice.value
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_devPtr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26513, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26513, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdevPtr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":26514
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmem_advise cadvice = advice.value
 *     err = ccuda.cuMemAdvise(cdevPtr, count, cadvice, cdevice)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26514, __pyx_L1_error)
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":26515
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     cdef ccuda.CUmem_advise cadvice = advice.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemAdvise(cdevPtr, count, cadvice, cdevice)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_advice, __pyx_n_s_value_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = ((enum CUmem_advise_enum)__Pyx_PyInt_As_enum__CUmem_advise_enum(__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26515, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cadvice = __pyx_t_6;

  /* "cuda/cuda.pyx":26516
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     cdef ccuda.CUmem_advise cadvice = advice.value
 *     err = ccuda.cuMemAdvise(cdevPtr, count, cadvice, cdevice)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuMemAdvise(__pyx_v_cdevPtr, __pyx_v_count, __pyx_v_cadvice, __pyx_v_cdevice); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 26516, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":26517
 *     cdef ccuda.CUmem_advise cadvice = advice.value
 *     err = ccuda.cuMemAdvise(cdevPtr, count, cadvice, cdevice)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 26517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  __pyx_t_10 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_10 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_8};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 26517, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":26336
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAdvise(devPtr, size_t count, advice not None : CUmem_advise, device):
 *     """ Advise about the usage of a given memory range.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.cuMemAdvise", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevice);
  __Pyx_XDECREF(__pyx_v_pdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":26519
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAdvise_v2(devPtr, size_t count, advice not None : CUmem_advise, location not None : CUmemLocation):
 *     """ Advise about the usage of a given memory range.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_387cuMemAdvise_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_4cuda_386cuMemAdvise_v2, "cuMemAdvise_v2(devPtr, size_t count, advice: CUmem_advise, CUmemLocation location: CUmemLocation)\n Advise about the usage of a given memory range.\n\n    Advise the Unified Memory subsystem about the usage pattern for the\n    memory range starting at `devPtr` with a size of `count` bytes. The\n    start address and end address of the memory range will be rounded down\n    and rounded up respectively to be aligned to CPU page size before the\n    advice is applied. The memory range must refer to managed memory\n    allocated via :py:obj:`~.cuMemAllocManaged` or declared via managed\n    variables. The memory range could also refer to system-allocated\n    pageable memory provided it represents a valid, host-accessible region\n    of memory and all additional constraints imposed by `advice` as\n    outlined below are also satisfied. Specifying an invalid system-\n    allocated pageable memory range results in an error being returned.\n\n    The `advice` parameter can take the following values:\n\n    - :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY`: This implies that the data\n      is mostly going to be read from and only occasionally written to. Any\n      read accesses from any processor to this region will create a read-\n      only copy of at least the accessed pages in that processor's memory.\n      Additionally, if :py:obj:`~.cuMemPrefetchAsync` or\n      :py:obj:`~.cuMemPrefetchAsync_v2` is called on this region, it will\n      create a read-only copy of the data on the destination processor. If\n      the target location for :py:obj:`~.cuMemPrefetchAsync_v2` is a host\n      NUMA node and a read-only copy already exists on another host NUMA\n      node, that copy will be migrated to the targeted host NUMA node. If\n      any processor writes to this region, all copies of the corresponding\n      page will be invalidated except for the one where the write occurred.\n      If the writing processor is the CPU and the preferred location of the\n      page is a host"" NUMA node, then the page will also be migrated to that\n      host NUMA node. The `location` argument is ignored for this advice.\n      Note that for a page to be read-duplicated, the accessing processor\n      must either be the CPU or a GPU that has a non-zero value for the\n      device attribute\n      :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`. Also, if a\n      context is created on a device that does not have the device\n      attribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`\n      set, then read-duplication will not occur until all such contexts are\n      destroyed. If the memory region refers to valid system-allocated\n      pageable memory, then the accessing device must have a non-zero value\n      for the device attribute\n      :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS` for a read-\n      only copy to be created on that device. Note however that if the\n      accessing device also has a non-zero value for the device attribute\n      :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`,\n      then setting this advice will not create a read-only copy when that\n      device accesses this memory region.\n\n    - :py:obj:`~.CU_MEM_ADVISE_UNSET_READ_MOSTLY`: Undoes the effect of\n      :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY` and also prevents the\n      Unified Memory driver from attempting heuristic read-duplication on\n      the memory range. Any read-duplicated copies of the data will be\n      collapsed into a single copy. The location for the collapsed copy\n      will be the preferred location if the page has a preferred location\n      and one of the read-duplicated copies was resident at that location.\n      Otherwise, the location chosen is arbitrary. Note: The `location`\n      argument is ignored for this advice.\n\n    - :py:obj:`~.CU_MEM_ADVISE_SET_PREFERRED_LOCATION`: This advice sets\n      the preferred location for the data to be the memory belonging to\n      `loca""tion`. When :py:obj:`~.CUmemLocation.type` is\n      :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST`, :py:obj:`~.CUmemLocation.id`\n      is ignored and the preferred location is set to be host memory. To\n      set the preferred location to a specific host NUMA node, applications\n      must set :py:obj:`~.CUmemLocation.type` to\n      :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA` and\n      :py:obj:`~.CUmemLocation.id` must specify the NUMA ID of the host\n      NUMA node. If :py:obj:`~.CUmemLocation.type` is set to\n      :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT`,\n      :py:obj:`~.CUmemLocation.id` will be ignored and the the host NUMA\n      node closest to the calling thread's CPU will be used as the\n      preferred location. If :py:obj:`~.CUmemLocation.type` is a\n      :py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE`, then\n      :py:obj:`~.CUmemLocation.id` must be a valid device ordinal and the\n      device must have a non-zero value for the device attribute\n      :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`. Setting\n      the preferred location does not cause data to migrate to that\n      location immediately. Instead, it guides the migration policy when a\n      fault occurs on that memory region. If the data is already in its\n      preferred location and the faulting processor can establish a mapping\n      without requiring the data to be migrated, then data migration will\n      be avoided. On the other hand, if the data is not in its preferred\n      location or if a direct mapping cannot be established, then it will\n      be migrated to the processor accessing it. It is important to note\n      that setting the preferred location does not prevent data prefetching\n      done using :py:obj:`~.cuMemPrefetchAsync`. Having a preferred\n      location can override the page thrash detection and resolution logic\n      in the Unified Memory driver. Normally, if a page is detected to be\n      constantly thrashing between for example host and device ""memory, the\n      page may eventually be pinned to host memory by the Unified Memory\n      driver. But if the preferred location is set as device memory, then\n      the page will continue to thrash indefinitely. If\n      :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY` is also set on this memory\n      region or any subset of it, then the policies associated with that\n      advice will override the policies of this advice, unless read\n      accesses from `location` will not result in a read-only copy being\n      created on that procesor as outlined in description for the advice\n      :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY`. If the memory region\n      refers to valid system-allocated pageable memory, and\n      :py:obj:`~.CUmemLocation.type` is CU_MEM_LOCATION_TYPE_DEVICE then\n      :py:obj:`~.CUmemLocation.id` must be a valid device that has a non-\n      zero alue for the device attribute\n      :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS`.\n\n    - :py:obj:`~.CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION`: Undoes the effect\n      of :py:obj:`~.CU_MEM_ADVISE_SET_PREFERRED_LOCATION` and changes the\n      preferred location to none. The `location` argument is ignored for\n      this advice.\n\n    - :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY`: This advice implies that\n      the data will be accessed by processor `location`. The\n      :py:obj:`~.CUmemLocation.type` must be either\n      :py:obj:`~.CU_MEM_LOCATION_TYPE_DEVICE` with\n      :py:obj:`~.CUmemLocation.id` representing a valid device ordinal or\n      :py:obj:`~.CU_MEM_LOCATION_TYPE_HOST` and\n      :py:obj:`~.CUmemLocation.id` will be ignored. All other location\n      types are invalid. If :py:obj:`~.CUmemLocation.id` is a GPU, then the\n      device attribute\n      :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS` must be\n      non-zero. This advice does not cause data migration and has no impact\n      on the location of the data per se. Instead, it causes the data to\n      always be"" mapped in the specified processor's page tables, as long as\n      the location of the data permits a mapping to be established. If the\n      data gets migrated for any reason, the mappings are updated\n      accordingly. This advice is recommended in scenarios where data\n      locality is not important, but avoiding faults is. Consider for\n      example a system containing multiple GPUs with peer-to-peer access\n      enabled, where the data located on one GPU is occasionally accessed\n      by peer GPUs. In such scenarios, migrating data over to the other\n      GPUs is not as important because the accesses are infrequent and the\n      overhead of migration may be too high. But preventing faults can\n      still help improve performance, and so having a mapping set up in\n      advance is useful. Note that on CPU access of this data, the data may\n      be migrated to host memory because the CPU typically cannot access\n      device memory directly. Any GPU that had the\n      :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY` flag set for this data will\n      now have its mapping updated to point to the page in host memory. If\n      :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY` is also set on this memory\n      region or any subset of it, then the policies associated with that\n      advice will override the policies of this advice. Additionally, if\n      the preferred location of this memory region or any subset of it is\n      also `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` ha""s 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 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    Parameters\n    ----------\n    devPtr : :py:obj:`~.CUdeviceptr`\n        Pointer to memory to set the advice for\n    count : size_t\n        Size in bytes of the memory range\n    advice : :py:obj:`~.CUmem_advise`\n        Advice to be applied for the specified memory range\n    location : :py:obj:`~.CUmemLocation`\n        location to apply the advice for\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n\n    See Also\n    --------\n    :py:obj:`~.cuMemcpy`, :py:obj:`~.cuMemcpyPeer`, :py:obj:`~.cuMemcpyAsync`, :py:obj:`~.cuMemcpy3DPeerAsync`, :py:obj:`~.cuMemPrefetchAsync`, :py:obj:`~.cuMemAdvise` :py:obj:`~.cudaMemAdvise`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_387cuMemAdvise_v2 = {"cuMemAdvise_v2", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_387cuMemAdvise_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_386cuMemAdvise_v2};
static PyObject *__pyx_pw_4cuda_4cuda_387cuMemAdvise_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_devPtr = 0;
  size_t __pyx_v_count;
  PyObject *__pyx_v_advice = 0;
  struct __pyx_obj_4cuda_4cuda_CUmemLocation *__pyx_v_location = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuMemAdvise_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_devPtr_2,&__pyx_n_s_count_2,&__pyx_n_s_advice,&__pyx_n_s_location_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_devPtr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26519, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_count_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26519, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemAdvise_v2", 1, 4, 4, 1); __PYX_ERR(1, 26519, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_advice)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26519, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemAdvise_v2", 1, 4, 4, 2); __PYX_ERR(1, 26519, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_location_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26519, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemAdvise_v2", 1, 4, 4, 3); __PYX_ERR(1, 26519, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemAdvise_v2") < 0)) __PYX_ERR(1, 26519, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_devPtr = values[0];
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 26520, __pyx_L3_error)
    __pyx_v_advice = values[2];
    __pyx_v_location = ((struct __pyx_obj_4cuda_4cuda_CUmemLocation *)values[3]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemAdvise_v2", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 26519, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemAdvise_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(((PyObject *)__pyx_v_advice) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "advice"); __PYX_ERR(1, 26520, __pyx_L1_error)
  }
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_location), __pyx_ptype_4cuda_4cuda_CUmemLocation, 0, "location", 0))) __PYX_ERR(1, 26520, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_386cuMemAdvise_v2(__pyx_self, __pyx_v_devPtr, __pyx_v_count, __pyx_v_advice, __pyx_v_location);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_386cuMemAdvise_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_devPtr, size_t __pyx_v_count, PyObject *__pyx_v_advice, struct __pyx_obj_4cuda_4cuda_CUmemLocation *__pyx_v_location) {
  CUdeviceptr __pyx_v_cdevPtr;
  PyObject *__pyx_v_pdevPtr = NULL;
  CUmem_advise __pyx_v_cadvice;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUmem_advise __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__681)
  __Pyx_RefNannySetupContext("cuMemAdvise_v2", 1);
  __Pyx_TraceCall("cuMemAdvise_v2", __pyx_f[1], 26519, 0, __PYX_ERR(1, 26519, __pyx_L1_error));

  /* "cuda/cuda.pyx":26710
 *     """
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_devPtr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26711
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
 */
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":26710
 *     """
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":26712
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devPtr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26713
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_devPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevPtr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":26714
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26714, __pyx_L1_error)
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":26712
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":26716
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     cdef ccuda.CUmem_advise cadvice = advice.value
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_devPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26716, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26716, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevPtr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":26717
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmem_advise cadvice = advice.value
 *     err = ccuda.cuMemAdvise_v2(cdevPtr, count, cadvice, location._ptr[0])
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26717, __pyx_L1_error)
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":26718
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     cdef ccuda.CUmem_advise cadvice = advice.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemAdvise_v2(cdevPtr, count, cadvice, location._ptr[0])
 *     return (CUresult(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_advice, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUmem_advise_enum)__Pyx_PyInt_As_enum__CUmem_advise_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26718, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cadvice = __pyx_t_5;

  /* "cuda/cuda.pyx":26719
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     cdef ccuda.CUmem_advise cadvice = advice.value
 *     err = ccuda.cuMemAdvise_v2(cdevPtr, count, cadvice, location._ptr[0])             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuMemAdvise_v2(__pyx_v_cdevPtr, __pyx_v_count, __pyx_v_cadvice, (__pyx_v_location->__pyx_base.__pyx_base._ptr[0])); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 26719, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":26720
 *     cdef ccuda.CUmem_advise cadvice = advice.value
 *     err = ccuda.cuMemAdvise_v2(cdevPtr, count, cadvice, location._ptr[0])
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 26720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 26720, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":26519
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAdvise_v2(devPtr, size_t count, advice not None : CUmem_advise, location not None : CUmemLocation):
 *     """ Advise about the usage of a given memory range.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuMemAdvise_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevPtr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":26722
 *     return (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_4cuda_389cuMemRangeGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_388cuMemRangeGetAttribute, "cuMemRangeGetAttribute(size_t dataSize, attribute: CUmem_range_attribute, devPtr, size_t count)\n Query an attribute of a given memory range.\n\n    Query an attribute about the memory range starting at `devPtr` with a\n    size of `count` bytes. The memory range must refer to managed memory\n    allocated via :py:obj:`~.cuMemAllocManaged` or declared via managed\n    variables.\n\n    The `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 node 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      r""ange 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      the 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\n    Parameters\n    ----------\n    dataSize : size_t\n        Array containing the size of data\n    attribute : :py:obj:`~.CUmem_range_attribute`\n        The attribute to query\n    devPtr : :py:obj:`~.CUdeviceptr`\n        Start of the range to query\n    count : size_t\n        Size of the range to query\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    data : Any\n        A pointers to a memory location where the result of each attribute\n        query will be written to.\n\n    See Also\n    --------\n    :py:obj:`~.cuMemRangeGetAttributes`, :py:obj:`~.cuMemPrefetchAsync`, :py:obj:`~.cuMemAdvise`, :py:obj:`~.cudaMemRangeGetAttribute`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_389cuMemRangeGetAttribute = {"cuMemRangeGetAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_389cuMemRangeGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_388cuMemRangeGetAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_389cuMemRangeGetAttribute(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dataSize,&__pyx_n_s_attribute,&__pyx_n_s_devPtr_2,&__pyx_n_s_count_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dataSize)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26722, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attribute)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26722, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemRangeGetAttribute", 1, 4, 4, 1); __PYX_ERR(1, 26722, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_devPtr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26722, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemRangeGetAttribute", 1, 4, 4, 2); __PYX_ERR(1, 26722, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_count_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26722, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemRangeGetAttribute", 1, 4, 4, 3); __PYX_ERR(1, 26722, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemRangeGetAttribute") < 0)) __PYX_ERR(1, 26722, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_dataSize = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_dataSize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 26723, __pyx_L3_error)
    __pyx_v_attribute = values[1];
    __pyx_v_devPtr = values[2];
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 26723, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemRangeGetAttribute", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 26722, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 26723, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_388cuMemRangeGetAttribute(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_388cuMemRangeGetAttribute(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_cdevPtr;
  PyObject *__pyx_v_pdevPtr = NULL;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmem_range_attribute *__pyx_v_cdata = 0;
  void *__pyx_v_cdata_ptr;
  CUmem_range_attribute __pyx_v_cattribute;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUmem_range_attribute __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__682)
  __Pyx_RefNannySetupContext("cuMemRangeGetAttribute", 1);
  __Pyx_TraceCall("cuMemRangeGetAttribute", __pyx_f[1], 26722, 0, __PYX_ERR(1, 26722, __pyx_L1_error));

  /* "cuda/cuda.pyx":26861
 *     """
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_devPtr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26862
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
 */
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":26861
 *     """
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":26863
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devPtr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26864
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_devPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26864, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevPtr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":26865
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26865, __pyx_L1_error)
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":26863
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":26867
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     cdef utils.HelperCUmem_range_attribute cdata = utils.HelperCUmem_range_attribute(attribute, dataSize)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_devPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevPtr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":26868
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     cdef utils.HelperCUmem_range_attribute cdata = utils.HelperCUmem_range_attribute(attribute, dataSize)
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.cptr
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26868, __pyx_L1_error)
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":26869
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     cdef utils.HelperCUmem_range_attribute cdata = utils.HelperCUmem_range_attribute(attribute, dataSize)             # <<<<<<<<<<<<<<
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.cptr
 *     cdef ccuda.CUmem_range_attribute cattribute = attribute.value
 */
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v_dataSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_attribute);
  __Pyx_GIVEREF(__pyx_v_attribute);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_attribute)) __PYX_ERR(1, 26869, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4)) __PYX_ERR(1, 26869, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUmem_range_attribute), __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cdata = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmem_range_attribute *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":26870
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     cdef utils.HelperCUmem_range_attribute cdata = utils.HelperCUmem_range_attribute(attribute, dataSize)
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.cptr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmem_range_attribute cattribute = attribute.value
 *     err = ccuda.cuMemRangeGetAttribute(cdata_ptr, dataSize, cattribute, cdevPtr, count)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cdata), __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26870, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cdata_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":26871
 *     cdef utils.HelperCUmem_range_attribute cdata = utils.HelperCUmem_range_attribute(attribute, dataSize)
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.cptr
 *     cdef ccuda.CUmem_range_attribute cattribute = attribute.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemRangeGetAttribute(cdata_ptr, dataSize, cattribute, cdevPtr, count)
 *     return (CUresult(err), cdata.pyObj())
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attribute, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUmem_range_attribute_enum)__Pyx_PyInt_As_enum__CUmem_range_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26871, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattribute = __pyx_t_5;

  /* "cuda/cuda.pyx":26872
 *     cdef void* cdata_ptr = <void*><void_ptr>cdata.cptr
 *     cdef ccuda.CUmem_range_attribute cattribute = attribute.value
 *     err = ccuda.cuMemRangeGetAttribute(cdata_ptr, dataSize, cattribute, cdevPtr, count)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), cdata.pyObj())
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuMemRangeGetAttribute(__pyx_v_cdata_ptr, __pyx_v_dataSize, __pyx_v_cattribute, __pyx_v_cdevPtr, __pyx_v_count); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 26872, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":26873
 *     cdef ccuda.CUmem_range_attribute cattribute = attribute.value
 *     err = ccuda.cuMemRangeGetAttribute(cdata_ptr, dataSize, cattribute, cdevPtr, count)
 *     return (CUresult(err), cdata.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 26873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cdata), __pyx_n_s_pyObj); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 26873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 26873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 26873, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 26873, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":26722
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuMemRangeGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevPtr);
  __Pyx_XDECREF((PyObject *)__pyx_v_cdata);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":26875
 *     return (CUresult(err), cdata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRangeGetAttributes(dataSizes : List[int], attributes : Optional[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_4cuda_391cuMemRangeGetAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_390cuMemRangeGetAttributes, "cuMemRangeGetAttributes(list dataSizes: List[int], list attributes: Optional[List[CUmem_range_attribute]], size_t numAttributes, devPtr, size_t count)\n Query attributes of a given memory range.\n\n    Query attributes of the memory range starting at `devPtr` with a size\n    of `count` bytes. The memory range must refer to managed memory\n    allocated via :py:obj:`~.cuMemAllocManaged` or declared via managed\n    variables. The `attributes` array will be interpreted to have\n    `numAttributes` entries. The `dataSizes` array will also be interpreted\n    to have `numAttributes` entries. The results of the query will be\n    stored in `data`.\n\n    The list of supported attributes are given below. Please refer to\n    :py:obj:`~.cuMemRangeGetAttribute` for attribute descriptions and\n    restrictions.\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\n    Parameters\n    ----------\n    dataSizes : List[int]\n        Array containing the sizes of each result\n    attributes : 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)\n    numAttributes : size_t\n        Number of attributes to query\n    devPtr : :py:obj:`~.CUdeviceptr`\n        Start of the range to query\n    count : size_t\n        Size of the range to query\n\n    Returns\n    -------\n    CUresult\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`\n    data : 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\n    See Also\n    --------\n    :py:obj:`~.cuMemRangeGetAttribute`, :py:obj:`~.cuMemAdvise`, :py:obj:`~.cuMemPrefetchAsync`, :py:obj:`~.cudaMemRangeGetAttributes`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_391cuMemRangeGetAttributes = {"cuMemRangeGetAttributes", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_391cuMemRangeGetAttributes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_390cuMemRangeGetAttributes};
static PyObject *__pyx_pw_4cuda_4cuda_391cuMemRangeGetAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dataSizes,&__pyx_n_s_attributes,&__pyx_n_s_numAttributes,&__pyx_n_s_devPtr_2,&__pyx_n_s_count_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dataSizes)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26875, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attributes)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26875, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemRangeGetAttributes", 1, 5, 5, 1); __PYX_ERR(1, 26875, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numAttributes)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26875, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemRangeGetAttributes", 1, 5, 5, 2); __PYX_ERR(1, 26875, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_devPtr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26875, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemRangeGetAttributes", 1, 5, 5, 3); __PYX_ERR(1, 26875, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_count_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26875, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuMemRangeGetAttributes", 1, 5, 5, 4); __PYX_ERR(1, 26875, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuMemRangeGetAttributes") < 0)) __PYX_ERR(1, 26875, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_dataSizes = ((PyObject*)values[0]);
    __pyx_v_attributes = ((PyObject*)values[1]);
    __pyx_v_numAttributes = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numAttributes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 26876, __pyx_L3_error)
    __pyx_v_devPtr = values[3];
    __pyx_v_count = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_count == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 26876, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuMemRangeGetAttributes", 1, 5, 5, __pyx_nargs); __PYX_ERR(1, 26875, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuMemRangeGetAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dataSizes), (&PyList_Type), 0, "dataSizes", 1))) __PYX_ERR(1, 26876, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_attributes), (&PyList_Type), 1, "attributes", 1))) __PYX_ERR(1, 26876, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_390cuMemRangeGetAttributes(__pyx_self, __pyx_v_dataSizes, __pyx_v_attributes, __pyx_v_numAttributes, __pyx_v_devPtr, __pyx_v_count);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_23cuMemRangeGetAttributes_2generator12(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":26943
 *         cdevPtr = <ccuda.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 List[ccuda.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
 */

static PyObject *__pyx_pf_4cuda_4cuda_23cuMemRangeGetAttributes_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_12_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_12_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_12_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_12_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 26943, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_23cuMemRangeGetAttributes_2generator12, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuMemRangeGetAttributes_locals_g, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 26943, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_23cuMemRangeGetAttributes_2generator12(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_12_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_12_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 26943, 0, __PYX_ERR(1, 26943, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 26943, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 26943, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 26943, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 26943, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 26943, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 26943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUmem_range_attribute); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 26943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 26943, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_23cuMemRangeGetAttributes_5generator13(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":26945
 *     if not all(isinstance(_x, (CUmem_range_attribute)) for _x in attributes):
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccuda.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 *     pylist = [utils.HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 */

static PyObject *__pyx_pf_4cuda_4cuda_23cuMemRangeGetAttributes_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_13_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_13_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_13_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_13_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 26945, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_23cuMemRangeGetAttributes_5generator13, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuMemRangeGetAttributes_locals_g, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 26945, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_23cuMemRangeGetAttributes_5generator13(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_13_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_13_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 26945, 0, __PYX_ERR(1, 26945, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 26945, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 26945, __pyx_L1_error) }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 26945, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 26945, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 26945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = PyInt_Check(__pyx_cur_scope->__pyx_v__x); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":26875
 *     return (CUresult(err), cdata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRangeGetAttributes(dataSizes : List[int], attributes : Optional[List[CUmem_range_attribute]], size_t numAttributes, devPtr, size_t count):
 *     """ Query attributes of a given memory range.
 */

static PyObject *__pyx_pf_4cuda_4cuda_390cuMemRangeGetAttributes(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_cdevPtr;
  PyObject *__pyx_v_pdevPtr = NULL;
  PyObject *__pyx_v_pylist = NULL;
  struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *__pyx_v_voidStarHelperdata = 0;
  void **__pyx_v_cvoidStarHelper_ptr;
  std::vector<size_t>  __pyx_v_cdataSizes;
  std::vector<CUmem_range_attribute>  __pyx_v_cattributes;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_23cuMemRangeGetAttributes_2generator12 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_23cuMemRangeGetAttributes_5generator13 = 0;
  PyObject *__pyx_10genexpr130__pyx_v_pyattributes = NULL;
  PyObject *__pyx_10genexpr130__pyx_v_pydataSizes = NULL;
  PyObject *__pyx_10genexpr131__pyx_v_pyattributes = NULL;
  PyObject *__pyx_10genexpr132__pyx_v_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *(*__pyx_t_12)(PyObject *);
  std::vector<size_t>  __pyx_t_13;
  std::vector<CUmem_range_attribute>  __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_TraceFrameInit(__pyx_codeobj__683)
  __Pyx_RefNannySetupContext("cuMemRangeGetAttributes", 0);
  __Pyx_TraceCall("cuMemRangeGetAttributes", __pyx_f[1], 26875, 0, __PYX_ERR(1, 26875, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_attributes);

  /* "cuda/cuda.pyx":26934
 *     """
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_devPtr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26935
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
 */
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":26934
 *     """
 *     cdef ccuda.CUdeviceptr cdevPtr
 *     if devPtr is None:             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":26936
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_devPtr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26937
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_devPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26937, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevPtr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":26938
 *     elif isinstance(devPtr, (CUdeviceptr,)):
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr             # <<<<<<<<<<<<<<
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26938, __pyx_L1_error)
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":26936
 *     if devPtr is None:
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(devPtr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdevPtr = int(devPtr)
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":26940
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))             # <<<<<<<<<<<<<<
 *         cdevPtr = <ccuda.CUdeviceptr><void_ptr>pdevPtr
 *     attributes = [] if attributes is None else attributes
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_devPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevPtr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":26941
 *     else:
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *         cdevPtr = <ccuda.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_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdevPtr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26941, __pyx_L1_error)
    __pyx_v_cdevPtr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":26942
 *         pdevPtr = int(CUdeviceptr(devPtr))
 *         cdevPtr = <ccuda.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 List[ccuda.CUmem_range_attribute]")
 */
  __pyx_t_1 = (__pyx_v_attributes == ((PyObject*)Py_None));
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_attributes);
    __pyx_t_4 = __pyx_v_attributes;
  }
  __Pyx_DECREF_SET(__pyx_v_attributes, ((PyObject*)__pyx_t_4));
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":26943
 *         cdevPtr = <ccuda.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 List[ccuda.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
 */
  __pyx_t_4 = __pyx_pf_4cuda_4cuda_23cuMemRangeGetAttributes_genexpr(NULL, __pyx_v_attributes); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 26943, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = (!__pyx_t_1);
  if (unlikely(__pyx_t_5)) {

    /* "cuda/cuda.pyx":26944
 *     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 List[ccuda.CUmem_range_attribute]")             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__684, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26944, __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, 26944, __pyx_L1_error)

    /* "cuda/cuda.pyx":26943
 *         cdevPtr = <ccuda.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 List[ccuda.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
 */
  }

  /* "cuda/cuda.pyx":26945
 *     if not all(isinstance(_x, (CUmem_range_attribute)) for _x in attributes):
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccuda.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 *     pylist = [utils.HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 */
  __pyx_t_2 = __pyx_pf_4cuda_4cuda_23cuMemRangeGetAttributes_3genexpr(NULL, __pyx_v_dataSizes); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_Generator_Next(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(1, 26945, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = (!__pyx_t_5);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":26946
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccuda.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")             # <<<<<<<<<<<<<<
 *     pylist = [utils.HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperdata = utils.InputVoidPtrPtrHelper(pylist)
 */
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__685, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26946, __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, 26946, __pyx_L1_error)

    /* "cuda/cuda.pyx":26945
 *     if not all(isinstance(_x, (CUmem_range_attribute)) for _x in attributes):
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccuda.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):             # <<<<<<<<<<<<<<
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 *     pylist = [utils.HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 */
  }

  /* "cuda/cuda.pyx":26947
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 *     pylist = [utils.HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]             # <<<<<<<<<<<<<<
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperdata = utils.InputVoidPtrPtrHelper(pylist)
 *     cdef void** cvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr
 */
  { /* enter inner scope */
    __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26947, __pyx_L8_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26947, __pyx_L8_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_v_attributes);
    __Pyx_GIVEREF(__pyx_v_attributes);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_attributes)) __PYX_ERR(1, 26947, __pyx_L8_error);
    __Pyx_INCREF(__pyx_v_dataSizes);
    __Pyx_GIVEREF(__pyx_v_dataSizes);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_dataSizes)) __PYX_ERR(1, 26947, __pyx_L8_error);
    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_2, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 26947, __pyx_L8_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
      __pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2);
      __pyx_t_7 = 0;
      __pyx_t_8 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26947, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_8 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 26947, __pyx_L8_error)
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    for (;;) {
      if (likely(!__pyx_t_8)) {
        if (likely(PyList_CheckExact(__pyx_t_2))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 26947, __pyx_L8_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(1, 26947, __pyx_L8_error)
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 26947, __pyx_L8_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
            #if !CYTHON_ASSUME_SAFE_MACROS
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 26947, __pyx_L8_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(1, 26947, __pyx_L8_error)
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 26947, __pyx_L8_error)
          __Pyx_GOTREF(__pyx_t_6);
          #endif
        }
      } else {
        __pyx_t_6 = __pyx_t_8(__pyx_t_2);
        if (unlikely(!__pyx_t_6)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
            else __PYX_ERR(1, 26947, __pyx_L8_error)
          }
          break;
        }
        __Pyx_GOTREF(__pyx_t_6);
      }
      if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) {
        PyObject* sequence = __pyx_t_6;
        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, 26947, __pyx_L8_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0); 
          __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1); 
        } else {
          __pyx_t_9 = PyList_GET_ITEM(sequence, 0); 
          __pyx_t_10 = PyList_GET_ITEM(sequence, 1); 
        }
        __Pyx_INCREF(__pyx_t_9);
        __Pyx_INCREF(__pyx_t_10);
        #else
        __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 26947, __pyx_L8_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 26947, __pyx_L8_error)
        __Pyx_GOTREF(__pyx_t_10);
        #endif
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_11 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 26947, __pyx_L8_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_12 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_11);
        index = 0; __pyx_t_9 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_9)) goto __pyx_L11_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_9);
        index = 1; __pyx_t_10 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_10)) goto __pyx_L11_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_10);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_11), 2) < 0) __PYX_ERR(1, 26947, __pyx_L8_error)
        __pyx_t_12 = NULL;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        goto __pyx_L12_unpacking_done;
        __pyx_L11_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __pyx_t_12 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(1, 26947, __pyx_L8_error)
        __pyx_L12_unpacking_done:;
      }
      __Pyx_XDECREF_SET(__pyx_10genexpr130__pyx_v_pyattributes, __pyx_t_9);
      __pyx_t_9 = 0;
      __Pyx_XDECREF_SET(__pyx_10genexpr130__pyx_v_pydataSizes, __pyx_t_10);
      __pyx_t_10 = 0;
      __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 26947, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_10genexpr130__pyx_v_pyattributes);
      __Pyx_GIVEREF(__pyx_10genexpr130__pyx_v_pyattributes);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_10genexpr130__pyx_v_pyattributes)) __PYX_ERR(1, 26947, __pyx_L8_error);
      __Pyx_INCREF(__pyx_10genexpr130__pyx_v_pydataSizes);
      __Pyx_GIVEREF(__pyx_10genexpr130__pyx_v_pydataSizes);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_10genexpr130__pyx_v_pydataSizes)) __PYX_ERR(1, 26947, __pyx_L8_error);
      __pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUmem_range_attribute), __pyx_t_6, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 26947, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_10))) __PYX_ERR(1, 26947, __pyx_L8_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_10genexpr130__pyx_v_pyattributes); __pyx_10genexpr130__pyx_v_pyattributes = 0;
    __Pyx_XDECREF(__pyx_10genexpr130__pyx_v_pydataSizes); __pyx_10genexpr130__pyx_v_pydataSizes = 0;
    goto __pyx_L14_exit_scope;
    __pyx_L8_error:;
    __Pyx_XDECREF(__pyx_10genexpr130__pyx_v_pyattributes); __pyx_10genexpr130__pyx_v_pyattributes = 0;
    __Pyx_XDECREF(__pyx_10genexpr130__pyx_v_pydataSizes); __pyx_10genexpr130__pyx_v_pydataSizes = 0;
    goto __pyx_L1_error;
    __pyx_L14_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":26948
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 *     pylist = [utils.HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperdata = utils.InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     cdef void** cvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr
 *     cdef vector[size_t] cdataSizes = dataSizes
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper), __pyx_v_pylist); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_voidStarHelperdata = ((struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":26949
 *     pylist = [utils.HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperdata = utils.InputVoidPtrPtrHelper(pylist)
 *     cdef void** cvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr             # <<<<<<<<<<<<<<
 *     cdef vector[size_t] cdataSizes = dataSizes
 *     cdef vector[ccuda.CUmem_range_attribute] cattributes = [pyattributes.value for pyattributes in (attributes)]
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperdata), __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 26949, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cvoidStarHelper_ptr = ((void **)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":26950
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperdata = utils.InputVoidPtrPtrHelper(pylist)
 *     cdef void** cvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr
 *     cdef vector[size_t] cdataSizes = dataSizes             # <<<<<<<<<<<<<<
 *     cdef vector[ccuda.CUmem_range_attribute] cattributes = [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_13 = __pyx_convert_vector_from_py_size_t(__pyx_v_dataSizes); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26950, __pyx_L1_error)
  __pyx_v_cdataSizes = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_13);

  /* "cuda/cuda.pyx":26951
 *     cdef void** cvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr
 *     cdef vector[size_t] cdataSizes = dataSizes
 *     cdef vector[ccuda.CUmem_range_attribute] cattributes = [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_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26951, __pyx_L17_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (unlikely(__pyx_v_attributes == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(1, 26951, __pyx_L17_error)
    }
    __pyx_t_2 = __pyx_v_attributes; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_7 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 26951, __pyx_L17_error)
        #endif
        if (__pyx_t_7 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_10 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_10); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(1, 26951, __pyx_L17_error)
      #else
      __pyx_t_10 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 26951, __pyx_L17_error)
      __Pyx_GOTREF(__pyx_t_10);
      #endif
      __Pyx_XDECREF_SET(__pyx_10genexpr131__pyx_v_pyattributes, __pyx_t_10);
      __pyx_t_10 = 0;
      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr131__pyx_v_pyattributes, __pyx_n_s_value_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 26951, __pyx_L17_error)
      __Pyx_GOTREF(__pyx_t_10);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_10))) __PYX_ERR(1, 26951, __pyx_L17_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_10genexpr131__pyx_v_pyattributes); __pyx_10genexpr131__pyx_v_pyattributes = 0;
    goto __pyx_L21_exit_scope;
    __pyx_L17_error:;
    __Pyx_XDECREF(__pyx_10genexpr131__pyx_v_pyattributes); __pyx_10genexpr131__pyx_v_pyattributes = 0;
    goto __pyx_L1_error;
    __pyx_L21_exit_scope:;
  } /* exit inner scope */
  __pyx_t_14 = __pyx_convert_vector_from_py_CUmem_range_attribute(__pyx_t_4); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26951, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattributes = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_14);

  /* "cuda/cuda.pyx":26952
 *     cdef vector[size_t] cdataSizes = dataSizes
 *     cdef vector[ccuda.CUmem_range_attribute] cattributes = [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))
 *     err = ccuda.cuMemRangeGetAttributes(cvoidStarHelper_ptr, cdataSizes.data(), cattributes.data(), numAttributes, cdevPtr, count)
 */
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_dataSizes); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 26952, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numAttributes > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_1)) {
    __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_dataSizes); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 26952, __pyx_L1_error)
    __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_kp_u__535); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v_numAttributes); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 26952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 26952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_Raise(__pyx_t_10, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __PYX_ERR(1, 26952, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":26953
 *     cdef vector[ccuda.CUmem_range_attribute] cattributes = [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))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuMemRangeGetAttributes(cvoidStarHelper_ptr, cdataSizes.data(), cattributes.data(), numAttributes, cdevPtr, count)
 *     return (CUresult(err), [obj.pyObj() for obj in pylist])
 */
  if (unlikely(__pyx_v_attributes == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 26953, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_attributes); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 26953, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numAttributes > ((size_t)__pyx_t_7));
  if (unlikely(__pyx_t_1)) {
    if (unlikely(__pyx_v_attributes == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 26953, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_attributes); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 26953, __pyx_L1_error)
    __pyx_t_10 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 26953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 26953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_10, __pyx_kp_u__535); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = __Pyx_PyInt_FromSize_t(__pyx_v_numAttributes); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 26953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 26953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 26953, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":26954
 *     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))
 *     err = ccuda.cuMemRangeGetAttributes(cvoidStarHelper_ptr, cdataSizes.data(), cattributes.data(), numAttributes, cdevPtr, count)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), [obj.pyObj() for obj in pylist])
 * 
 */
  __pyx_t_15 = __pyx_f_4cuda_5ccuda_cuMemRangeGetAttributes(__pyx_v_cvoidStarHelper_ptr, __pyx_v_cdataSizes.data(), __pyx_v_cattributes.data(), __pyx_v_numAttributes, __pyx_v_cdevPtr, __pyx_v_count); if (unlikely(__pyx_t_15 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 26954, __pyx_L1_error)
  __pyx_v_err = __pyx_t_15;

  /* "cuda/cuda.pyx":26955
 *     if numAttributes > <size_t>len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 *     err = ccuda.cuMemRangeGetAttributes(cvoidStarHelper_ptr, cdataSizes.data(), cattributes.data(), numAttributes, cdevPtr, count)
 *     return (CUresult(err), [obj.pyObj() for obj in pylist])             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 26955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = NULL;
  __pyx_t_16 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_10))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_10);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_10, function);
      __pyx_t_16 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_16, 1+__pyx_t_16);
    __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, 26955, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  }
  { /* enter inner scope */
    __pyx_t_10 = PyList_New(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 26955, __pyx_L26_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_4 = __pyx_v_pylist; __Pyx_INCREF(__pyx_t_4);
    __pyx_t_7 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 26955, __pyx_L26_error)
        #endif
        if (__pyx_t_7 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_6 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(1, 26955, __pyx_L26_error)
      #else
      __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 26955, __pyx_L26_error)
      __Pyx_GOTREF(__pyx_t_6);
      #endif
      __Pyx_XDECREF_SET(__pyx_10genexpr132__pyx_v_obj, __pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr132__pyx_v_obj, __pyx_n_s_pyObj); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 26955, __pyx_L26_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_11 = NULL;
      __pyx_t_16 = 0;
      #if CYTHON_UNPACK_METHODS
      if (likely(PyMethod_Check(__pyx_t_9))) {
        __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_9);
        if (likely(__pyx_t_11)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
          __Pyx_INCREF(__pyx_t_11);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_9, function);
          __pyx_t_16 = 1;
        }
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
        __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_16, 0+__pyx_t_16);
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 26955, __pyx_L26_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_10, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 26955, __pyx_L26_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_10genexpr132__pyx_v_obj); __pyx_10genexpr132__pyx_v_obj = 0;
    goto __pyx_L30_exit_scope;
    __pyx_L26_error:;
    __Pyx_XDECREF(__pyx_10genexpr132__pyx_v_obj); __pyx_10genexpr132__pyx_v_obj = 0;
    goto __pyx_L1_error;
    __pyx_L30_exit_scope:;
  } /* exit inner scope */
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 26955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 26955, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_10);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_10)) __PYX_ERR(1, 26955, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_10 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":26875
 *     return (CUresult(err), cdata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRangeGetAttributes(dataSizes : List[int], attributes : Optional[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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_23cuMemRangeGetAttributes_2generator12);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_23cuMemRangeGetAttributes_5generator13);
  __Pyx_XDECREF(__pyx_10genexpr130__pyx_v_pyattributes);
  __Pyx_XDECREF(__pyx_10genexpr130__pyx_v_pydataSizes);
  __Pyx_XDECREF(__pyx_10genexpr131__pyx_v_pyattributes);
  __Pyx_XDECREF(__pyx_10genexpr132__pyx_v_obj);
  __Pyx_XDECREF(__pyx_v_attributes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":26957
 *     return (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_4cuda_393cuPointerSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_392cuPointerSetAttribute, "cuPointerSetAttribute(value, attribute: CUpointer_attribute, ptr)\n Set attributes on a previously allocated memory region.\n\n    The 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\n    Parameters\n    ----------\n    value : Any\n        Pointer to memory containing the value to be set\n    attribute : :py:obj:`~.CUpointer_attribute`\n        Pointer attribute to set\n    ptr : :py:obj:`~.CUdeviceptr`\n        Pointer to a memory region allocated using CUDA memory allocation\n        APIs\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_393cuPointerSetAttribute = {"cuPointerSetAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_393cuPointerSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_392cuPointerSetAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_393cuPointerSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_value_2,&__pyx_n_s_attribute,&__pyx_n_s_ptr_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26957, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attribute)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26957, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuPointerSetAttribute", 1, 3, 3, 1); __PYX_ERR(1, 26957, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 26957, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuPointerSetAttribute", 1, 3, 3, 2); __PYX_ERR(1, 26957, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuPointerSetAttribute") < 0)) __PYX_ERR(1, 26957, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __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(1, 26957, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 26958, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_392cuPointerSetAttribute(__pyx_self, __pyx_v_value, __pyx_v_attribute, __pyx_v_ptr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_392cuPointerSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_value, PyObject *__pyx_v_attribute, PyObject *__pyx_v_ptr) {
  CUdeviceptr __pyx_v_cptr;
  PyObject *__pyx_v_pptr = NULL;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUpointer_attribute *__pyx_v_cvalue = 0;
  void *__pyx_v_cvalue_ptr;
  CUpointer_attribute __pyx_v_cattribute;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  CUpointer_attribute __pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__686)
  __Pyx_RefNannySetupContext("cuPointerSetAttribute", 1);
  __Pyx_TraceCall("cuPointerSetAttribute", __pyx_f[1], 26957, 0, __PYX_ERR(1, 26957, __pyx_L1_error));

  /* "cuda/cuda.pyx":26996
 *     """
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26997
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 */
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":26996
 *     """
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":26998
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":26999
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":27000
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27000, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":26998
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27002
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     cdef utils.HelperCUpointer_attribute cvalue = utils.HelperCUpointer_attribute(attribute, value, is_getter=False)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27002, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27002, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":27003
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     cdef utils.HelperCUpointer_attribute cvalue = utils.HelperCUpointer_attribute(attribute, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27003, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":27004
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     cdef utils.HelperCUpointer_attribute cvalue = utils.HelperCUpointer_attribute(attribute, value, is_getter=False)             # <<<<<<<<<<<<<<
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     cdef ccuda.CUpointer_attribute cattribute = attribute.value
 */
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_attribute);
  __Pyx_GIVEREF(__pyx_v_attribute);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_attribute)) __PYX_ERR(1, 27004, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_value)) __PYX_ERR(1, 27004, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_is_getter, Py_False) < 0) __PYX_ERR(1, 27004, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUpointer_attribute), __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 27004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cvalue = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUpointer_attribute *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":27005
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     cdef utils.HelperCUpointer_attribute cvalue = utils.HelperCUpointer_attribute(attribute, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUpointer_attribute cattribute = attribute.value
 *     err = ccuda.cuPointerSetAttribute(cvalue_ptr, cattribute, cptr)
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_cptr); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 27005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_5); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27005, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cvalue_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":27006
 *     cdef utils.HelperCUpointer_attribute cvalue = utils.HelperCUpointer_attribute(attribute, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     cdef ccuda.CUpointer_attribute cattribute = attribute.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuPointerSetAttribute(cvalue_ptr, cattribute, cptr)
 *     return (CUresult(err),)
 */
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_attribute, __pyx_n_s_value_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 27006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = ((enum CUpointer_attribute_enum)__Pyx_PyInt_As_enum__CUpointer_attribute_enum(__pyx_t_5)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27006, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_v_cattribute = __pyx_t_6;

  /* "cuda/cuda.pyx":27007
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     cdef ccuda.CUpointer_attribute cattribute = attribute.value
 *     err = ccuda.cuPointerSetAttribute(cvalue_ptr, cattribute, cptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuPointerSetAttribute(__pyx_v_cvalue_ptr, __pyx_v_cattribute, __pyx_v_cptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 27007, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":27008
 *     cdef ccuda.CUpointer_attribute cattribute = attribute.value
 *     err = ccuda.cuPointerSetAttribute(cvalue_ptr, cattribute, cptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_4};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 27008, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5)) __PYX_ERR(1, 27008, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":26957
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuPointerSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pptr);
  __Pyx_XDECREF((PyObject *)__pyx_v_cvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27010
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerGetAttributes(unsigned int numAttributes, attributes : Optional[List[CUpointer_attribute]], ptr):
 *     """ Returns information about a pointer.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_395cuPointerGetAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_394cuPointerGetAttributes, "cuPointerGetAttributes(unsigned int numAttributes, list attributes: Optional[List[CUpointer_attribute]], ptr)\n Returns information about a pointer.\n\n    The supported attributes are (refer to\n    :py:obj:`~.cuPointerGetAttribute` for attribute descriptions and\n    restrictions):\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    Unlike :py:obj:`~.cuPointerGetAttribute`, this function will not return\n    an error when the `ptr` encountered is not a valid CUDA pointer.\n    Instead, the attributes are assigned default NULL values and\n    CUDA_SUCCESS is returned.\n\n    If `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\n    Parameters\n    ----------\n    numAttributes : unsigned int\n        Number of attributes to query\n    attributes : List[:py:obj:`~.CUpointer_attribute`]\n        An array of attributes to query (numAttributes and the number of\n        attributes in this array should match)\n    ptr : :py:obj:`~.CUdeviceptr`\n        Pointer to query\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_DEINITIALIZED`, :py:obj:`~.CUDA_ERROR_INVAL""ID_CONTEXT`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    data : 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\n    See Also\n    --------\n    :py:obj:`~.cuPointerGetAttribute`, :py:obj:`~.cuPointerSetAttribute`, :py:obj:`~.cudaPointerGetAttributes`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_395cuPointerGetAttributes = {"cuPointerGetAttributes", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_395cuPointerGetAttributes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_394cuPointerGetAttributes};
static PyObject *__pyx_pw_4cuda_4cuda_395cuPointerGetAttributes(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_numAttributes,&__pyx_n_s_attributes,&__pyx_n_s_ptr_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numAttributes)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27010, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attributes)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27010, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuPointerGetAttributes", 1, 3, 3, 1); __PYX_ERR(1, 27010, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27010, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuPointerGetAttributes", 1, 3, 3, 2); __PYX_ERR(1, 27010, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuPointerGetAttributes") < 0)) __PYX_ERR(1, 27010, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_numAttributes = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_numAttributes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 27011, __pyx_L3_error)
    __pyx_v_attributes = ((PyObject*)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(1, 27010, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuPointerGetAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_attributes), (&PyList_Type), 1, "attributes", 1))) __PYX_ERR(1, 27011, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_394cuPointerGetAttributes(__pyx_self, __pyx_v_numAttributes, __pyx_v_attributes, __pyx_v_ptr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_22cuPointerGetAttributes_2generator14(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":27087
 *         cptr = <ccuda.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 List[ccuda.CUpointer_attribute]")
 *     if numAttributes > len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 */

static PyObject *__pyx_pf_4cuda_4cuda_22cuPointerGetAttributes_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_14_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_14_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_14_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_14_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 27087, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_22cuPointerGetAttributes_2generator14, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuPointerGetAttributes_locals_ge, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 27087, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_22cuPointerGetAttributes_2generator14(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_14_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_14_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 27087, 0, __PYX_ERR(1, 27087, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 27087, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 27087, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 27087, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 27087, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 27087, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27087, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUpointer_attribute); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27087, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v__x, __pyx_t_3); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 27087, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27010
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerGetAttributes(unsigned int numAttributes, attributes : Optional[List[CUpointer_attribute]], ptr):
 *     """ Returns information about a pointer.
 */

static PyObject *__pyx_pf_4cuda_4cuda_394cuPointerGetAttributes(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_numAttributes, PyObject *__pyx_v_attributes, PyObject *__pyx_v_ptr) {
  CUdeviceptr __pyx_v_cptr;
  PyObject *__pyx_v_pptr = NULL;
  std::vector<CUpointer_attribute>  __pyx_v_cattributes;
  PyObject *__pyx_v_pylist = NULL;
  struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *__pyx_v_voidStarHelperdata = 0;
  void **__pyx_v_cvoidStarHelper_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_22cuPointerGetAttributes_2generator14 = 0;
  PyObject *__pyx_10genexpr134__pyx_v_pyattributes = NULL;
  PyObject *__pyx_10genexpr135__pyx_v_pyattributes = NULL;
  PyObject *__pyx_10genexpr136__pyx_v_obj = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  std::vector<CUpointer_attribute>  __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  CUresult __pyx_t_11;
  int __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__687)
  __Pyx_RefNannySetupContext("cuPointerGetAttributes", 0);
  __Pyx_TraceCall("cuPointerGetAttributes", __pyx_f[1], 27010, 0, __PYX_ERR(1, 27010, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_attributes);

  /* "cuda/cuda.pyx":27078
 *     """
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_ptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27079
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 */
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":27078
 *     """
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27080
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27081
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":27082
 *     elif isinstance(ptr, (CUdeviceptr,)):
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27082, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":27080
 *     if ptr is None:
 *         cptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(ptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pptr = int(ptr)
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27084
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     else:
 *         pptr = int(CUdeviceptr(ptr))             # <<<<<<<<<<<<<<
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr
 *     attributes = [] if attributes is None else attributes
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_ptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":27085
 *     else:
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.CUdeviceptr><void_ptr>pptr             # <<<<<<<<<<<<<<
 *     attributes = [] if attributes is None else attributes
 *     if not all(isinstance(_x, (CUpointer_attribute)) for _x in attributes):
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27085, __pyx_L1_error)
    __pyx_v_cptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":27086
 *         pptr = int(CUdeviceptr(ptr))
 *         cptr = <ccuda.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 List[ccuda.CUpointer_attribute]")
 */
  __pyx_t_1 = (__pyx_v_attributes == ((PyObject*)Py_None));
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27086, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_attributes);
    __pyx_t_4 = __pyx_v_attributes;
  }
  __Pyx_DECREF_SET(__pyx_v_attributes, ((PyObject*)__pyx_t_4));
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":27087
 *         cptr = <ccuda.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 List[ccuda.CUpointer_attribute]")
 *     if numAttributes > len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 */
  __pyx_t_4 = __pyx_pf_4cuda_4cuda_22cuPointerGetAttributes_genexpr(NULL, __pyx_v_attributes); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 27087, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = (!__pyx_t_1);
  if (unlikely(__pyx_t_5)) {

    /* "cuda/cuda.pyx":27088
 *     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 List[ccuda.CUpointer_attribute]")             # <<<<<<<<<<<<<<
 *     if numAttributes > len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 *     cdef vector[ccuda.CUpointer_attribute] cattributes = [pyattributes.value for pyattributes in (attributes)]
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__688, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27088, __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, 27088, __pyx_L1_error)

    /* "cuda/cuda.pyx":27087
 *         cptr = <ccuda.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 List[ccuda.CUpointer_attribute]")
 *     if numAttributes > len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 */
  }

  /* "cuda/cuda.pyx":27089
 *     if not all(isinstance(_x, (CUpointer_attribute)) for _x in attributes):
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccuda.CUpointer_attribute]")
 *     if numAttributes > len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))             # <<<<<<<<<<<<<<
 *     cdef vector[ccuda.CUpointer_attribute] cattributes = [pyattributes.value for pyattributes in (attributes)]
 *     pylist = [utils.HelperCUpointer_attribute(pyattributes, 0, is_getter=True) for pyattributes in attributes]
 */
  if (unlikely(__pyx_v_attributes == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 27089, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_attributes); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 27089, __pyx_L1_error)
  __pyx_t_5 = (__pyx_v_numAttributes > __pyx_t_6);
  if (unlikely(__pyx_t_5)) {
    if (unlikely(__pyx_v_attributes == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 27089, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_attributes); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 27089, __pyx_L1_error)
    __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27089, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27089, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27089, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u__535); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27089, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numAttributes); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27089, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27089, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27089, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27089, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_7, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __PYX_ERR(1, 27089, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":27090
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccuda.CUpointer_attribute]")
 *     if numAttributes > len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 *     cdef vector[ccuda.CUpointer_attribute] cattributes = [pyattributes.value for pyattributes in (attributes)]             # <<<<<<<<<<<<<<
 *     pylist = [utils.HelperCUpointer_attribute(pyattributes, 0, is_getter=True) for pyattributes in attributes]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperdata = utils.InputVoidPtrPtrHelper(pylist)
 */
  { /* enter inner scope */
    __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27090, __pyx_L8_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (unlikely(__pyx_v_attributes == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(1, 27090, __pyx_L8_error)
    }
    __pyx_t_2 = __pyx_v_attributes; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 27090, __pyx_L8_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 27090, __pyx_L8_error)
      #else
      __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27090, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_4);
      #endif
      __Pyx_XDECREF_SET(__pyx_10genexpr134__pyx_v_pyattributes, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr134__pyx_v_pyattributes, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27090, __pyx_L8_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_4))) __PYX_ERR(1, 27090, __pyx_L8_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_10genexpr134__pyx_v_pyattributes); __pyx_10genexpr134__pyx_v_pyattributes = 0;
    goto __pyx_L12_exit_scope;
    __pyx_L8_error:;
    __Pyx_XDECREF(__pyx_10genexpr134__pyx_v_pyattributes); __pyx_10genexpr134__pyx_v_pyattributes = 0;
    goto __pyx_L1_error;
    __pyx_L12_exit_scope:;
  } /* exit inner scope */
  __pyx_t_8 = __pyx_convert_vector_from_py_CUpointer_attribute(__pyx_t_7); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27090, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_v_cattributes = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_8);

  /* "cuda/cuda.pyx":27091
 *     if numAttributes > len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 *     cdef vector[ccuda.CUpointer_attribute] cattributes = [pyattributes.value for pyattributes in (attributes)]
 *     pylist = [utils.HelperCUpointer_attribute(pyattributes, 0, is_getter=True) for pyattributes in attributes]             # <<<<<<<<<<<<<<
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperdata = utils.InputVoidPtrPtrHelper(pylist)
 *     cdef void** cvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr
 */
  { /* enter inner scope */
    __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27091, __pyx_L15_error)
    __Pyx_GOTREF(__pyx_t_7);
    if (unlikely(__pyx_v_attributes == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(1, 27091, __pyx_L15_error)
    }
    __pyx_t_2 = __pyx_v_attributes; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 27091, __pyx_L15_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 27091, __pyx_L15_error)
      #else
      __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27091, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_4);
      #endif
      __Pyx_XDECREF_SET(__pyx_10genexpr135__pyx_v_pyattributes, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27091, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_INCREF(__pyx_10genexpr135__pyx_v_pyattributes);
      __Pyx_GIVEREF(__pyx_10genexpr135__pyx_v_pyattributes);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_10genexpr135__pyx_v_pyattributes)) __PYX_ERR(1, 27091, __pyx_L15_error);
      __Pyx_INCREF(__pyx_int_0);
      __Pyx_GIVEREF(__pyx_int_0);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_0)) __PYX_ERR(1, 27091, __pyx_L15_error);
      __pyx_t_9 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 27091, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_9);
      if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_is_getter, Py_True) < 0) __PYX_ERR(1, 27091, __pyx_L15_error)
      __pyx_t_10 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUpointer_attribute), __pyx_t_4, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 27091, __pyx_L15_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_10))) __PYX_ERR(1, 27091, __pyx_L15_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_10genexpr135__pyx_v_pyattributes); __pyx_10genexpr135__pyx_v_pyattributes = 0;
    goto __pyx_L19_exit_scope;
    __pyx_L15_error:;
    __Pyx_XDECREF(__pyx_10genexpr135__pyx_v_pyattributes); __pyx_10genexpr135__pyx_v_pyattributes = 0;
    goto __pyx_L1_error;
    __pyx_L19_exit_scope:;
  } /* exit inner scope */
  __pyx_v_pylist = ((PyObject*)__pyx_t_7);
  __pyx_t_7 = 0;

  /* "cuda/cuda.pyx":27092
 *     cdef vector[ccuda.CUpointer_attribute] cattributes = [pyattributes.value for pyattributes in (attributes)]
 *     pylist = [utils.HelperCUpointer_attribute(pyattributes, 0, is_getter=True) for pyattributes in attributes]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperdata = utils.InputVoidPtrPtrHelper(pylist)             # <<<<<<<<<<<<<<
 *     cdef void** cvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr
 *     err = ccuda.cuPointerGetAttributes(numAttributes, cattributes.data(), cvoidStarHelper_ptr, cptr)
 */
  __pyx_t_7 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper), __pyx_v_pylist); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_v_voidStarHelperdata = ((struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper *)__pyx_t_7);
  __pyx_t_7 = 0;

  /* "cuda/cuda.pyx":27093
 *     pylist = [utils.HelperCUpointer_attribute(pyattributes, 0, is_getter=True) for pyattributes in attributes]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperdata = utils.InputVoidPtrPtrHelper(pylist)
 *     cdef void** cvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuPointerGetAttributes(numAttributes, cattributes.data(), cvoidStarHelper_ptr, cptr)
 *     return (CUresult(err), [obj.pyObj() for obj in pylist])
 */
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_voidStarHelperdata), __pyx_n_s_cptr); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_7); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27093, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_v_cvoidStarHelper_ptr = ((void **)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":27094
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperdata = utils.InputVoidPtrPtrHelper(pylist)
 *     cdef void** cvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr
 *     err = ccuda.cuPointerGetAttributes(numAttributes, cattributes.data(), cvoidStarHelper_ptr, cptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), [obj.pyObj() for obj in pylist])
 * 
 */
  __pyx_t_11 = __pyx_f_4cuda_5ccuda_cuPointerGetAttributes(__pyx_v_numAttributes, __pyx_v_cattributes.data(), __pyx_v_cvoidStarHelper_ptr, __pyx_v_cptr); if (unlikely(__pyx_t_11 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 27094, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cuda.pyx":27095
 *     cdef void** cvoidStarHelper_ptr = <void**><void_ptr>voidStarHelperdata.cptr
 *     err = ccuda.cuPointerGetAttributes(numAttributes, cattributes.data(), cvoidStarHelper_ptr, cptr)
 *     return (CUresult(err), [obj.pyObj() for obj in pylist])             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_10 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 27095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_9 = NULL;
  __pyx_t_12 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_12 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_10};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_12, 1+__pyx_t_12);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27095, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __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(1, 27095, __pyx_L22_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_10 = __pyx_v_pylist; __Pyx_INCREF(__pyx_t_10);
    __pyx_t_6 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_10);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 27095, __pyx_L22_error)
        #endif
        if (__pyx_t_6 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_9 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 27095, __pyx_L22_error)
      #else
      __pyx_t_9 = __Pyx_PySequence_ITEM(__pyx_t_10, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 27095, __pyx_L22_error)
      __Pyx_GOTREF(__pyx_t_9);
      #endif
      __Pyx_XDECREF_SET(__pyx_10genexpr136__pyx_v_obj, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_10genexpr136__pyx_v_obj, __pyx_n_s_pyObj); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27095, __pyx_L22_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_13 = NULL;
      __pyx_t_12 = 0;
      #if CYTHON_UNPACK_METHODS
      if (likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_13)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_13);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
          __pyx_t_12 = 1;
        }
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_13, NULL};
        __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_12, 0+__pyx_t_12);
        __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
        if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 27095, __pyx_L22_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_9))) __PYX_ERR(1, 27095, __pyx_L22_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_XDECREF(__pyx_10genexpr136__pyx_v_obj); __pyx_10genexpr136__pyx_v_obj = 0;
    goto __pyx_L26_exit_scope;
    __pyx_L22_error:;
    __Pyx_XDECREF(__pyx_10genexpr136__pyx_v_obj); __pyx_10genexpr136__pyx_v_obj = 0;
    goto __pyx_L1_error;
    __pyx_L26_exit_scope:;
  } /* exit inner scope */
  __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 27095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_7)) __PYX_ERR(1, 27095, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_2)) __PYX_ERR(1, 27095, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_10;
  __pyx_t_10 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":27010
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerGetAttributes(unsigned int numAttributes, attributes : Optional[List[CUpointer_attribute]], ptr):
 *     """ Returns information about a pointer.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_22cuPointerGetAttributes_2generator14);
  __Pyx_XDECREF(__pyx_10genexpr134__pyx_v_pyattributes);
  __Pyx_XDECREF(__pyx_10genexpr135__pyx_v_pyattributes);
  __Pyx_XDECREF(__pyx_10genexpr136__pyx_v_obj);
  __Pyx_XDECREF(__pyx_v_attributes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27097
 *     return (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_4cuda_397cuStreamCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_396cuStreamCreate, "cuStreamCreate(unsigned int Flags)\n Create a stream.\n\n    Creates a stream and returns a handle in `phStream`. The `Flags`\n    argument determines behaviors of the stream.\n\n    Valid 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\n    Parameters\n    ----------\n    Flags : unsigned int\n        Parameters for stream creation\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_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    phStream : :py:obj:`~.CUstream`\n        Returned newly created stream\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamCreateWithPriority`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cuStreamGetFlags`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamCreateWithFlags`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_397cuStreamCreate = {"cuStreamCreate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_397cuStreamCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_396cuStreamCreate};
static PyObject *__pyx_pw_4cuda_4cuda_397cuStreamCreate(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_Flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27097, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamCreate") < 0)) __PYX_ERR(1, 27097, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_Flags = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 27098, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 27097, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_396cuStreamCreate(__pyx_self, __pyx_v_Flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_396cuStreamCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_Flags) {
  struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_phStream = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__689)
  __Pyx_RefNannySetupContext("cuStreamCreate", 1);
  __Pyx_TraceCall("cuStreamCreate", __pyx_f[1], 27097, 0, __PYX_ERR(1, 27097, __pyx_L1_error));

  /* "cuda/cuda.pyx":27129
 *     :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamCreateWithPriority`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cuStreamGetFlags`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamCreateWithFlags`
 *     """
 *     cdef CUstream phStream = CUstream()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamCreate(<ccuda.CUstream*>phStream._ptr, Flags)
 *     return (CUresult(err), phStream)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_phStream = ((struct __pyx_obj_4cuda_4cuda_CUstream *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":27130
 *     """
 *     cdef CUstream phStream = CUstream()
 *     err = ccuda.cuStreamCreate(<ccuda.CUstream*>phStream._ptr, Flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phStream)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuStreamCreate(((CUstream *)__pyx_v_phStream->_ptr), __pyx_v_Flags); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 27130, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":27131
 *     cdef CUstream phStream = CUstream()
 *     err = ccuda.cuStreamCreate(<ccuda.CUstream*>phStream._ptr, Flags)
 *     return (CUresult(err), phStream)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 27131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27131, __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)) __PYX_ERR(1, 27131, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phStream);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phStream);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_phStream))) __PYX_ERR(1, 27131, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":27097
 *     return (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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuStreamCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27133
 *     return (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_4cuda_399cuStreamCreateWithPriority(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_398cuStreamCreateWithPriority, "cuStreamCreateWithPriority(unsigned int flags, int priority)\n Create a stream with the given priority.\n\n    Creates a stream with the specified priority and returns a handle in\n    `phStream`. This affects the scheduling priority of work in the stream.\n    Priorities provide a hint to preferentially run work with higher\n    priority when possible, but do not preempt already-running work or\n    provide any other functional guarantee on execution order.\n\n    `priority` follows a convention where lower numbers represent higher\n    priorities. '0' represents default priority. The range of meaningful\n    numerical priorities can be queried using\n    :py:obj:`~.cuCtxGetStreamPriorityRange`. If the specified priority is\n    outside the numerical range returned by\n    :py:obj:`~.cuCtxGetStreamPriorityRange`, it will automatically be\n    clamped to the lowest or the highest number in the range.\n\n    Parameters\n    ----------\n    flags : unsigned int\n        Flags for stream creation. See :py:obj:`~.cuStreamCreate` for a\n        list of valid flags\n    priority : 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\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_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    phStream : :py:obj:`~.CUstream`\n        Returned newly created stream\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cuCtxGetStreamPriorityRange`, :py:obj:`~.cuStreamGetFlags`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.cudaStreamCreateWith""Priority`\n\n    Notes\n    -----\n    Stream priorities are supported only on GPUs with compute capability 3.5 or higher.\n\n    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.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_399cuStreamCreateWithPriority = {"cuStreamCreateWithPriority", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_399cuStreamCreateWithPriority, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_398cuStreamCreateWithPriority};
static PyObject *__pyx_pw_4cuda_4cuda_399cuStreamCreateWithPriority(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_flags_2,&__pyx_n_s_priority_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27133, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_priority_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27133, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamCreateWithPriority", 1, 2, 2, 1); __PYX_ERR(1, 27133, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamCreateWithPriority") < 0)) __PYX_ERR(1, 27133, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 27134, __pyx_L3_error)
    __pyx_v_priority = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_priority == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 27134, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamCreateWithPriority", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 27133, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamCreateWithPriority", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_398cuStreamCreateWithPriority(__pyx_self, __pyx_v_flags, __pyx_v_priority);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_398cuStreamCreateWithPriority(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags, int __pyx_v_priority) {
  struct __pyx_obj_4cuda_4cuda_CUstream *__pyx_v_phStream = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__690)
  __Pyx_RefNannySetupContext("cuStreamCreateWithPriority", 1);
  __Pyx_TraceCall("cuStreamCreateWithPriority", __pyx_f[1], 27133, 0, __PYX_ERR(1, 27133, __pyx_L1_error));

  /* "cuda/cuda.pyx":27178
 *     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()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamCreateWithPriority(<ccuda.CUstream*>phStream._ptr, flags, priority)
 *     return (CUresult(err), phStream)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_phStream = ((struct __pyx_obj_4cuda_4cuda_CUstream *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":27179
 *     """
 *     cdef CUstream phStream = CUstream()
 *     err = ccuda.cuStreamCreateWithPriority(<ccuda.CUstream*>phStream._ptr, flags, priority)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phStream)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuStreamCreateWithPriority(((CUstream *)__pyx_v_phStream->_ptr), __pyx_v_flags, __pyx_v_priority); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 27179, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":27180
 *     cdef CUstream phStream = CUstream()
 *     err = ccuda.cuStreamCreateWithPriority(<ccuda.CUstream*>phStream._ptr, flags, priority)
 *     return (CUresult(err), phStream)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 27180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27180, __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)) __PYX_ERR(1, 27180, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phStream);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phStream);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_phStream))) __PYX_ERR(1, 27180, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":27133
 *     return (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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuStreamCreateWithPriority", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27182
 *     return (CUresult(err), phStream)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetPriority(hStream):
 *     """ Query the priority of a given stream.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_401cuStreamGetPriority(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_400cuStreamGetPriority, "cuStreamGetPriority(hStream)\n Query the priority of a given stream.\n\n    Query the priority of a stream created using :py:obj:`~.cuStreamCreate`\n    or :py:obj:`~.cuStreamCreateWithPriority` and return the priority in\n    `priority`. Note that if the stream was created with a priority outside\n    the numerical range returned by\n    :py:obj:`~.cuCtxGetStreamPriorityRange`, this function returns the\n    clamped priority. See :py:obj:`~.cuStreamCreateWithPriority` for\n    details about priority clamping.\n\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Handle to the stream to be queried\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    priority : int\n        Pointer to a signed integer in which the stream's priority is\n        returned\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamCreateWithPriority`, :py:obj:`~.cuCtxGetStreamPriorityRange`, :py:obj:`~.cuStreamGetFlags`, :py:obj:`~.cudaStreamGetPriority`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_401cuStreamGetPriority = {"cuStreamGetPriority", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_401cuStreamGetPriority, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_400cuStreamGetPriority};
static PyObject *__pyx_pw_4cuda_4cuda_401cuStreamGetPriority(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27182, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamGetPriority") < 0)) __PYX_ERR(1, 27182, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetPriority", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 27182, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamGetPriority", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_400cuStreamGetPriority(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_400cuStreamGetPriority(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  int __pyx_v_priority;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__691)
  __Pyx_RefNannySetupContext("cuStreamGetPriority", 1);
  __Pyx_TraceCall("cuStreamGetPriority", __pyx_f[1], 27182, 0, __PYX_ERR(1, 27182, __pyx_L1_error));

  /* "cuda/cuda.pyx":27212
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27213
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":27212
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27214
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27215
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":27216
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27216, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":27214
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27218
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef int priority = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27218, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27218, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":27219
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef int priority = 0
 *     err = ccuda.cuStreamGetPriority(chStream, &priority)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27219, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":27220
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef int priority = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamGetPriority(chStream, &priority)
 *     return (CUresult(err), priority)
 */
  __pyx_v_priority = 0;

  /* "cuda/cuda.pyx":27221
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef int priority = 0
 *     err = ccuda.cuStreamGetPriority(chStream, &priority)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), priority)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamGetPriority(__pyx_v_chStream, (&__pyx_v_priority)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 27221, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":27222
 *     cdef int priority = 0
 *     err = ccuda.cuStreamGetPriority(chStream, &priority)
 *     return (CUresult(err), priority)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27222, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_priority); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27222, __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)) __PYX_ERR(1, 27222, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 27222, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":27182
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuStreamGetPriority", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27224
 *     return (CUresult(err), priority)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetFlags(hStream):
 *     """ Query the flags of a given stream.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_403cuStreamGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_402cuStreamGetFlags, "cuStreamGetFlags(hStream)\n Query the flags of a given stream.\n\n    Query the flags of a stream created using :py:obj:`~.cuStreamCreate` or\n    :py:obj:`~.cuStreamCreateWithPriority` and return the flags in `flags`.\n\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Handle to the stream to be queried\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    flags : 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\n    See Also\n    --------\n    :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cudaStreamGetFlags`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_403cuStreamGetFlags = {"cuStreamGetFlags", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_403cuStreamGetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_402cuStreamGetFlags};
static PyObject *__pyx_pw_4cuda_4cuda_403cuStreamGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27224, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamGetFlags") < 0)) __PYX_ERR(1, 27224, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetFlags", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 27224, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_402cuStreamGetFlags(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_402cuStreamGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  unsigned int __pyx_v_flags;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__692)
  __Pyx_RefNannySetupContext("cuStreamGetFlags", 1);
  __Pyx_TraceCall("cuStreamGetFlags", __pyx_f[1], 27224, 0, __PYX_ERR(1, 27224, __pyx_L1_error));

  /* "cuda/cuda.pyx":27251
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27252
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":27251
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27253
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27254
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":27255
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27255, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":27253
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27257
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef unsigned int flags = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":27258
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef unsigned int flags = 0
 *     err = ccuda.cuStreamGetFlags(chStream, &flags)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27258, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":27259
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef unsigned int flags = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamGetFlags(chStream, &flags)
 *     return (CUresult(err), flags)
 */
  __pyx_v_flags = 0;

  /* "cuda/cuda.pyx":27260
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef unsigned int flags = 0
 *     err = ccuda.cuStreamGetFlags(chStream, &flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), flags)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamGetFlags(__pyx_v_chStream, (&__pyx_v_flags)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 27260, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":27261
 *     cdef unsigned int flags = 0
 *     err = ccuda.cuStreamGetFlags(chStream, &flags)
 *     return (CUresult(err), flags)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27261, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27261, __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)) __PYX_ERR(1, 27261, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 27261, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":27224
 *     return (CUresult(err), priority)
 * 
 * @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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuStreamGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27263
 *     return (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_4cuda_405cuStreamGetId(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_404cuStreamGetId, "cuStreamGetId(hStream)\n Returns the unique Id associated with the stream handle supplied.\n\n    Returns in `streamId` the unique Id which is associated with the given\n    stream handle. The Id is unique for the life of the program.\n\n    The 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\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Handle to the stream to be queried\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n    streamId : unsigned long long\n        Pointer to store the Id of the stream\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cudaStreamGetId`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_405cuStreamGetId = {"cuStreamGetId", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_405cuStreamGetId, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_404cuStreamGetId};
static PyObject *__pyx_pw_4cuda_4cuda_405cuStreamGetId(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27263, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamGetId") < 0)) __PYX_ERR(1, 27263, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetId", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 27263, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamGetId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_404cuStreamGetId(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_404cuStreamGetId(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  unsigned PY_LONG_LONG __pyx_v_streamId;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__693)
  __Pyx_RefNannySetupContext("cuStreamGetId", 1);
  __Pyx_TraceCall("cuStreamGetId", __pyx_f[1], 27263, 0, __PYX_ERR(1, 27263, __pyx_L1_error));

  /* "cuda/cuda.pyx":27303
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27304
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":27303
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27305
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27306
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27306, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":27307
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27307, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":27305
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27309
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef unsigned long long streamId = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":27310
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef unsigned long long streamId = 0
 *     err = ccuda.cuStreamGetId(chStream, &streamId)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27310, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":27311
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef unsigned long long streamId = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamGetId(chStream, &streamId)
 *     return (CUresult(err), streamId)
 */
  __pyx_v_streamId = 0;

  /* "cuda/cuda.pyx":27312
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef unsigned long long streamId = 0
 *     err = ccuda.cuStreamGetId(chStream, &streamId)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), streamId)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamGetId(__pyx_v_chStream, (&__pyx_v_streamId)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 27312, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":27313
 *     cdef unsigned long long streamId = 0
 *     err = ccuda.cuStreamGetId(chStream, &streamId)
 *     return (CUresult(err), streamId)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27313, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_streamId); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27313, __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)) __PYX_ERR(1, 27313, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 27313, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":27263
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuStreamGetId", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27315
 *     return (CUresult(err), streamId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCtx(hStream):
 *     """ Query the context associated with a stream.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_407cuStreamGetCtx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_406cuStreamGetCtx, "cuStreamGetCtx(hStream)\n Query the context associated with a stream.\n\n    Returns the CUDA context that the stream is associated with.\n\n    The 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\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Handle to the stream to be queried\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    pctx : :py:obj:`~.CUcontext`\n        Returned context associated with the stream\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamCreateWithPriority`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cuStreamGetFlags`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.c""udaStreamCreate`, :py:obj:`~.cudaStreamCreateWithFlags`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_407cuStreamGetCtx = {"cuStreamGetCtx", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_407cuStreamGetCtx, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_406cuStreamGetCtx};
static PyObject *__pyx_pw_4cuda_4cuda_407cuStreamGetCtx(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27315, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamGetCtx") < 0)) __PYX_ERR(1, 27315, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetCtx", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 27315, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamGetCtx", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_406cuStreamGetCtx(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_406cuStreamGetCtx(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_pctx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__694)
  __Pyx_RefNannySetupContext("cuStreamGetCtx", 1);
  __Pyx_TraceCall("cuStreamGetCtx", __pyx_f[1], 27315, 0, __PYX_ERR(1, 27315, __pyx_L1_error));

  /* "cuda/cuda.pyx":27358
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27359
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":27358
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27360
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27361
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":27362
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27362, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":27360
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27364
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef CUcontext pctx = CUcontext()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":27365
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef CUcontext pctx = CUcontext()
 *     err = ccuda.cuStreamGetCtx(chStream, <ccuda.CUcontext*>pctx._ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27365, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":27366
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef CUcontext pctx = CUcontext()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamGetCtx(chStream, <ccuda.CUcontext*>pctx._ptr)
 *     return (CUresult(err), pctx)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":27367
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef CUcontext pctx = CUcontext()
 *     err = ccuda.cuStreamGetCtx(chStream, <ccuda.CUcontext*>pctx._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pctx)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamGetCtx(__pyx_v_chStream, ((CUcontext *)__pyx_v_pctx->_ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 27367, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":27368
 *     cdef CUcontext pctx = CUcontext()
 *     err = ccuda.cuStreamGetCtx(chStream, <ccuda.CUcontext*>pctx._ptr)
 *     return (CUresult(err), pctx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 27368, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pctx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pctx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pctx))) __PYX_ERR(1, 27368, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":27315
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27370
 *     return (CUresult(err), pctx)
 * 
 * @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_4cuda_409cuStreamWaitEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_408cuStreamWaitEvent, "cuStreamWaitEvent(hStream, hEvent, unsigned int Flags)\n Make a compute stream wait on an event.\n\n    Makes all future work submitted to `hStream` wait for all work captured\n    in `hEvent`. See :py:obj:`~.cuEventRecord()` for details on what is\n    captured by an event. The synchronization will be performed efficiently\n    on the device when applicable. `hEvent` may be from a different context\n    or device than `hStream`.\n\n    flags 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\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to wait\n    hEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event to wait on (may not be NULL)\n    Flags : unsigned int\n        See :py:obj:`~.CUevent_capture_flags`\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:`~.cuEventRecord`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cudaStreamWaitEvent`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_409cuStreamWaitEvent = {"cuStreamWaitEvent", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_409cuStreamWaitEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_408cuStreamWaitEvent};
static PyObject *__pyx_pw_4cuda_4cuda_409cuStreamWaitEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,&__pyx_n_s_hEvent,&__pyx_n_s_Flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27370, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hEvent)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27370, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamWaitEvent", 1, 3, 3, 1); __PYX_ERR(1, 27370, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27370, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamWaitEvent", 1, 3, 3, 2); __PYX_ERR(1, 27370, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamWaitEvent") < 0)) __PYX_ERR(1, 27370, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hStream = values[0];
    __pyx_v_hEvent = values[1];
    __pyx_v_Flags = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 27371, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamWaitEvent", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 27370, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamWaitEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_408cuStreamWaitEvent(__pyx_self, __pyx_v_hStream, __pyx_v_hEvent, __pyx_v_Flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_408cuStreamWaitEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_hEvent, unsigned int __pyx_v_Flags) {
  CUevent __pyx_v_chEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__695)
  __Pyx_RefNannySetupContext("cuStreamWaitEvent", 1);
  __Pyx_TraceCall("cuStreamWaitEvent", __pyx_f[1], 27370, 0, __PYX_ERR(1, 27370, __pyx_L1_error));

  /* "cuda/cuda.pyx":27407
 *     """
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27408
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
 */
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":27407
 *     """
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27409
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27410
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":27411
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27411, __pyx_L1_error)
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":27409
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27413
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     cdef ccuda.CUstream chStream
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27413, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27413, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":27414
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27414, __pyx_L1_error)
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":27416
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27417
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":27416
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":27418
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27419
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":27420
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27420, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":27418
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":27422
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     err = ccuda.cuStreamWaitEvent(chStream, chEvent, Flags)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27422, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27422, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":27423
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamWaitEvent(chStream, chEvent, Flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27423, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":27424
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     err = ccuda.cuStreamWaitEvent(chStream, chEvent, Flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamWaitEvent(__pyx_v_chStream, __pyx_v_chEvent, __pyx_v_Flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 27424, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":27425
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     err = ccuda.cuStreamWaitEvent(chStream, chEvent, Flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 27425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 27425, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":27370
 *     return (CUresult(err), pctx)
 * 
 * @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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27427
 *     return (CUresult(err),)
 * 
 * @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_4cuda_411cuStreamAddCallback(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_410cuStreamAddCallback, "cuStreamAddCallback(hStream, callback, userData, unsigned int flags)\n Add a callback to a compute stream.\n\n    Adds a callback to be called on the host after all currently enqueued\n    items in the stream have completed. For each cuStreamAddCallback call,\n    the callback will be executed exactly once. The callback will block\n    later work in the stream until it is finished.\n\n    The callback may be passed :py:obj:`~.CUDA_SUCCESS` or an error code.\n    In the event of a device error, all subsequently executed callbacks\n    will receive an appropriate :py:obj:`~.CUresult`.\n\n    Callbacks must not make any CUDA API calls. Attempting to use a CUDA\n    API will result in :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`. Callbacks must\n    not perform any synchronization that may depend on outstanding device\n    work or other callbacks that are not mandated to run earlier. Callbacks\n    without a mandated order (in independent streams) execute in undefined\n    order and may be serialized.\n\n    For the purposes of Unified Memory, callback execution makes a number\n    of 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 de""scribed 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\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to add callback to\n    callback : :py:obj:`~.CUstreamCallback`\n        The function to call once preceding stream operations are complete\n    userData : Any\n        User specified data to be passed to the callback function\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_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\n    See 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\n    Notes\n    -----\n    This 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`.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_411cuStreamAddCallback = {"cuStreamAddCallback", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_411cuStreamAddCallback, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_410cuStreamAddCallback};
static PyObject *__pyx_pw_4cuda_4cuda_411cuStreamAddCallback(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,&__pyx_n_s_callback,&__pyx_n_s_userData_2,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27427, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27427, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamAddCallback", 1, 4, 4, 1); __PYX_ERR(1, 27427, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_userData_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27427, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamAddCallback", 1, 4, 4, 2); __PYX_ERR(1, 27427, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27427, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamAddCallback", 1, 4, 4, 3); __PYX_ERR(1, 27427, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamAddCallback") < 0)) __PYX_ERR(1, 27427, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hStream = values[0];
    __pyx_v_callback = values[1];
    __pyx_v_userData = values[2];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 27428, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamAddCallback", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 27427, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamAddCallback", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_410cuStreamAddCallback(__pyx_self, __pyx_v_hStream, __pyx_v_callback, __pyx_v_userData, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_410cuStreamAddCallback(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_ccallback;
  PyObject *__pyx_v_pcallback = NULL;
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  PyObject *__pyx_v_cuserData = NULL;
  void *__pyx_v_cuserData_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__696)
  __Pyx_RefNannySetupContext("cuStreamAddCallback", 1);
  __Pyx_TraceCall("cuStreamAddCallback", __pyx_f[1], 27427, 0, __PYX_ERR(1, 27427, __pyx_L1_error));

  /* "cuda/cuda.pyx":27497
 *     """
 *     cdef ccuda.CUstreamCallback ccallback
 *     if callback is None:             # <<<<<<<<<<<<<<
 *         ccallback = <ccuda.CUstreamCallback><void_ptr>0
 *     elif isinstance(callback, (CUstreamCallback,)):
 */
  __pyx_t_1 = (__pyx_v_callback == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27498
 *     cdef ccuda.CUstreamCallback ccallback
 *     if callback is None:
 *         ccallback = <ccuda.CUstreamCallback><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(callback, (CUstreamCallback,)):
 *         pcallback = int(callback)
 */
    __pyx_v_ccallback = ((CUstreamCallback)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":27497
 *     """
 *     cdef ccuda.CUstreamCallback ccallback
 *     if callback is None:             # <<<<<<<<<<<<<<
 *         ccallback = <ccuda.CUstreamCallback><void_ptr>0
 *     elif isinstance(callback, (CUstreamCallback,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27499
 *     if callback is None:
 *         ccallback = <ccuda.CUstreamCallback><void_ptr>0
 *     elif isinstance(callback, (CUstreamCallback,)):             # <<<<<<<<<<<<<<
 *         pcallback = int(callback)
 *         ccallback = <ccuda.CUstreamCallback><void_ptr>pcallback
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_callback, __pyx_ptype_4cuda_4cuda_CUstreamCallback); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27500
 *         ccallback = <ccuda.CUstreamCallback><void_ptr>0
 *     elif isinstance(callback, (CUstreamCallback,)):
 *         pcallback = int(callback)             # <<<<<<<<<<<<<<
 *         ccallback = <ccuda.CUstreamCallback><void_ptr>pcallback
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27500, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pcallback = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":27501
 *     elif isinstance(callback, (CUstreamCallback,)):
 *         pcallback = int(callback)
 *         ccallback = <ccuda.CUstreamCallback><void_ptr>pcallback             # <<<<<<<<<<<<<<
 *     else:
 *         pcallback = int(CUstreamCallback(callback))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27501, __pyx_L1_error)
    __pyx_v_ccallback = ((CUstreamCallback)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":27499
 *     if callback is None:
 *         ccallback = <ccuda.CUstreamCallback><void_ptr>0
 *     elif isinstance(callback, (CUstreamCallback,)):             # <<<<<<<<<<<<<<
 *         pcallback = int(callback)
 *         ccallback = <ccuda.CUstreamCallback><void_ptr>pcallback
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27503
 *         ccallback = <ccuda.CUstreamCallback><void_ptr>pcallback
 *     else:
 *         pcallback = int(CUstreamCallback(callback))             # <<<<<<<<<<<<<<
 *         ccallback = <ccuda.CUstreamCallback><void_ptr>pcallback
 *     cdef ccuda.CUstream chStream
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamCallback), __pyx_v_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27503, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27503, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pcallback = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":27504
 *     else:
 *         pcallback = int(CUstreamCallback(callback))
 *         ccallback = <ccuda.CUstreamCallback><void_ptr>pcallback             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pcallback); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27504, __pyx_L1_error)
    __pyx_v_ccallback = ((CUstreamCallback)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":27506
 *         ccallback = <ccuda.CUstreamCallback><void_ptr>pcallback
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27507
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":27506
 *         ccallback = <ccuda.CUstreamCallback><void_ptr>pcallback
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":27508
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27509
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":27510
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27510, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":27508
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":27512
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cuserData = utils.HelperInputVoidPtr(userData)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":27513
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27513, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":27514
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cuserData = utils.HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     err = ccuda.cuStreamAddCallback(chStream, ccallback, cuserData_ptr, flags)
 */
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_userData); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_cuserData = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":27515
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamAddCallback(chStream, ccallback, cuserData_ptr, flags)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cuserData, __pyx_n_s_cptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27515, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cuserData_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":27516
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     err = ccuda.cuStreamAddCallback(chStream, ccallback, cuserData_ptr, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamAddCallback(__pyx_v_chStream, __pyx_v_ccallback, __pyx_v_cuserData_ptr, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 27516, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":27517
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     err = ccuda.cuStreamAddCallback(chStream, ccallback, cuserData_ptr, flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 27517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 27517, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":27427
 *     return (CUresult(err),)
 * 
 * @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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuStreamAddCallback", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pcallback);
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_cuserData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27519
 *     return (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_4cuda_413cuStreamBeginCapture(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_412cuStreamBeginCapture, "cuStreamBeginCapture(hStream, mode: CUstreamCaptureMode)\n Begins graph capture on a stream.\n\n    Begin graph capture on `hStream`. When a stream is in capture mode, all\n    operations pushed into the stream will not be executed, but will\n    instead 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\n    in which it was initiated, and it may only be initiated if the stream\n    is not already in capture mode. The capture mode may be queried via\n    :py:obj:`~.cuStreamIsCapturing`. A unique id representing the capture\n    sequence may be queried via :py:obj:`~.cuStreamGetCaptureInfo`.\n\n    If `mode` is not :py:obj:`~.CU_STREAM_CAPTURE_MODE_RELAXED`,\n    :py:obj:`~.cuStreamEndCapture` must be called on this stream from the\n    same thread.\n\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream in which to initiate capture\n    mode : :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\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamIsCapturing`, :py:obj:`~.cuStreamEndCapture`, :py:obj:`~.cuThreadExchangeStreamCaptureMode`\n\n    Notes\n    -----\n    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.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_413cuStreamBeginCapture = {"cuStreamBeginCapture", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_413cuStreamBeginCapture, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_412cuStreamBeginCapture};
static PyObject *__pyx_pw_4cuda_4cuda_413cuStreamBeginCapture(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,&__pyx_n_s_mode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27519, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27519, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamBeginCapture", 1, 2, 2, 1); __PYX_ERR(1, 27519, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamBeginCapture") < 0)) __PYX_ERR(1, 27519, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 27519, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 27520, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_412cuStreamBeginCapture(__pyx_self, __pyx_v_hStream, __pyx_v_mode);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_412cuStreamBeginCapture(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_mode) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUstreamCaptureMode __pyx_v_cmode;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUstreamCaptureMode __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__697)
  __Pyx_RefNannySetupContext("cuStreamBeginCapture", 1);
  __Pyx_TraceCall("cuStreamBeginCapture", __pyx_f[1], 27519, 0, __PYX_ERR(1, 27519, __pyx_L1_error));

  /* "cuda/cuda.pyx":27560
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27561
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":27560
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27562
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27563
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":27564
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27564, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":27562
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27566
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUstreamCaptureMode cmode = mode.value
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":27567
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstreamCaptureMode cmode = mode.value
 *     err = ccuda.cuStreamBeginCapture(chStream, cmode)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27567, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":27568
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUstreamCaptureMode cmode = mode.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamBeginCapture(chStream, cmode)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_mode, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUstreamCaptureMode_enum)__Pyx_PyInt_As_enum__CUstreamCaptureMode_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27568, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cmode = __pyx_t_5;

  /* "cuda/cuda.pyx":27569
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUstreamCaptureMode cmode = mode.value
 *     err = ccuda.cuStreamBeginCapture(chStream, cmode)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuStreamBeginCapture(__pyx_v_chStream, __pyx_v_cmode); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 27569, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":27570
 *     cdef ccuda.CUstreamCaptureMode cmode = mode.value
 *     err = ccuda.cuStreamBeginCapture(chStream, cmode)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 27570, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":27519
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuStreamBeginCapture", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27572
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBeginCaptureToGraph(hStream, hGraph, dependencies : Optional[List[CUgraphNode]], dependencyData : Optional[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_4cuda_415cuStreamBeginCaptureToGraph(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_414cuStreamBeginCaptureToGraph, "cuStreamBeginCaptureToGraph(hStream, hGraph, list dependencies: Optional[List[CUgraphNode]], list dependencyData: Optional[List[CUgraphEdgeData]], size_t numDependencies, mode: CUstreamCaptureMode)\n Begins graph capture on a stream to an existing graph.\n\n    Begin graph capture on `hStream`, placing new nodes into an existing\n    graph. When a stream is in capture mode, all operations pushed into the\n    stream 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\n    Capture may not be initiated if `stream` is CU_STREAM_LEGACY. Capture\n    must be ended on the same stream in which it was initiated, and it may\n    only be initiated if the stream is not already in capture mode. The\n    capture mode may be queried via :py:obj:`~.cuStreamIsCapturing`. A\n    unique id representing the capture sequence may be queried via\n    :py:obj:`~.cuStreamGetCaptureInfo`.\n\n    If `mode` is not :py:obj:`~.CU_STREAM_CAPTURE_MODE_RELAXED`,\n    :py:obj:`~.cuStreamEndCapture` must be called on this stream from the\n    same thread.\n\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream in which to initiate capture.\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to capture into.\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Dependencies of the first node captured in the stream. Can be NULL\n        if numDependencies is 0.\n    dependencyData : List[:py:obj:`~.CUgraphEdgeData`]\n        Optional array of data associated with each dependency.\n    numDependencies : size_t\n        Number of dependencies.\n    mode : :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\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamIsCapturing`, :py:obj:`~.cuStreamEndCapture`, :py:obj:`~.cuThreadExchangeStreamCaptureMode`, :py:obj:`~.cuGraphAddNode`,\n\n    Notes\n    -----\n    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.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_415cuStreamBeginCaptureToGraph = {"cuStreamBeginCaptureToGraph", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_415cuStreamBeginCaptureToGraph, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_414cuStreamBeginCaptureToGraph};
static PyObject *__pyx_pw_4cuda_4cuda_415cuStreamBeginCaptureToGraph(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,&__pyx_n_s_hGraph,&__pyx_n_s_dependencies,&__pyx_n_s_dependencyData,&__pyx_n_s_numDependencies,&__pyx_n_s_mode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27572, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27572, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamBeginCaptureToGraph", 1, 6, 6, 1); __PYX_ERR(1, 27572, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27572, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamBeginCaptureToGraph", 1, 6, 6, 2); __PYX_ERR(1, 27572, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencyData)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27572, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamBeginCaptureToGraph", 1, 6, 6, 3); __PYX_ERR(1, 27572, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27572, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamBeginCaptureToGraph", 1, 6, 6, 4); __PYX_ERR(1, 27572, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[5]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27572, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamBeginCaptureToGraph", 1, 6, 6, 5); __PYX_ERR(1, 27572, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamBeginCaptureToGraph") < 0)) __PYX_ERR(1, 27572, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
      values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
    }
    __pyx_v_hStream = values[0];
    __pyx_v_hGraph = values[1];
    __pyx_v_dependencies = ((PyObject*)values[2]);
    __pyx_v_dependencyData = ((PyObject*)values[3]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 27573, __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(1, 27572, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamBeginCaptureToGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 27573, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencyData), (&PyList_Type), 1, "dependencyData", 1))) __PYX_ERR(1, 27573, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_mode) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "mode"); __PYX_ERR(1, 27573, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_414cuStreamBeginCaptureToGraph(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_27cuStreamBeginCaptureToGraph_2generator15(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":27625
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 */

static PyObject *__pyx_pf_4cuda_4cuda_27cuStreamBeginCaptureToGraph_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_15_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_15_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_15_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_15_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 27625, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_27cuStreamBeginCaptureToGraph_2generator15, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuStreamBeginCaptureToGraph_loca, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 27625, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_27cuStreamBeginCaptureToGraph_2generator15(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_15_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_15_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 27625, 0, __PYX_ERR(1, 27625, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 27625, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 27625, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 27625, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 27625, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 27625, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27625, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphEdgeData); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_27cuStreamBeginCaptureToGraph_5generator16(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":27628
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_27cuStreamBeginCaptureToGraph_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_16_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_16_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_16_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_16_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 27628, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_27cuStreamBeginCaptureToGraph_5generator16, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuStreamBeginCaptureToGraph_loca, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 27628, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_27cuStreamBeginCaptureToGraph_5generator16(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_16_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_16_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 27628, 0, __PYX_ERR(1, 27628, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 27628, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 27628, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 27628, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 27628, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 27628, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27628, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27572
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBeginCaptureToGraph(hStream, hGraph, dependencies : Optional[List[CUgraphNode]], dependencyData : Optional[List[CUgraphEdgeData]], size_t numDependencies, mode not None : CUstreamCaptureMode):
 *     """ Begins graph capture on a stream to an existing graph.
 */

static PyObject *__pyx_pf_4cuda_4cuda_414cuStreamBeginCaptureToGraph(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_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUgraphEdgeData *__pyx_v_cdependencyData;
  CUstreamCaptureMode __pyx_v_cmode;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_27cuStreamBeginCaptureToGraph_2generator15 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_27cuStreamBeginCaptureToGraph_5generator16 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  CUstreamCaptureMode __pyx_t_10;
  CUgraphNode *__pyx_t_11;
  struct CUgraphEdgeData_st *__pyx_t_12;
  CUresult __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__698)
  __Pyx_RefNannySetupContext("cuStreamBeginCaptureToGraph", 0);
  __Pyx_TraceCall("cuStreamBeginCaptureToGraph", __pyx_f[1], 27572, 0, __PYX_ERR(1, 27572, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);
  __Pyx_INCREF(__pyx_v_dependencyData);

  /* "cuda/cuda.pyx":27624
 *     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 List[ccuda.CUgraphEdgeData,]")
 */
  __pyx_t_2 = (__pyx_v_dependencyData == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27624, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":27625
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_27cuStreamBeginCaptureToGraph_genexpr(NULL, __pyx_v_dependencyData); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27625, __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(1, 27625, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":27626
 *     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 List[ccuda.CUgraphEdgeData,]")             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__699, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27626, __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(1, 27626, __pyx_L1_error)

    /* "cuda/cuda.pyx":27625
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 */
  }

  /* "cuda/cuda.pyx":27627
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_4 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_4) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27627, __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, ((PyObject*)__pyx_t_3));
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":27628
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_3 = __pyx_pf_4cuda_4cuda_27cuStreamBeginCaptureToGraph_3genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27628, __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(1, 27628, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":27629
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27629, __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, 27629, __pyx_L1_error)

    /* "cuda/cuda.pyx":27628
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":27631
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_2 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":27632
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":27631
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":27633
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":27634
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27634, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_phGraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":27635
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27635, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":27633
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":27637
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUstream chStream
 */
  /*else*/ {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_phGraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":27638
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27638, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":27640
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_2 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":27641
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":27640
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cuda.pyx":27642
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":27643
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phStream = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":27644
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27644, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":27642
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L6;
  }

  /* "cuda/cuda.pyx":27646
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27646, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phStream = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":27647
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27647, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cuda.pyx":27648
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":27649
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 27649, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 27649, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 > 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":27650
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 27650, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 27650, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":27651
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_2 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cuda.pyx":27652
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 27652, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 27652, __pyx_L1_error)
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27652, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27652, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27652, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27652, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27652, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27652, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27652, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27652, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 27652, __pyx_L1_error)

      /* "cuda/cuda.pyx":27651
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":27654
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 27654, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 27654, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":27655
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL
 *     if len(dependencyData) > 0:
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 27655, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27655, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":27649
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":27656
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencyData) > 0:
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 */
  __pyx_v_cdependencyData = NULL;

  /* "cuda/cuda.pyx":27657
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL
 *     if len(dependencyData) > 0:             # <<<<<<<<<<<<<<
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 *         if cdependencyData is NULL:
 */
  if (unlikely(__pyx_v_dependencyData == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 27657, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 27657, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 > 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":27658
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL
 *     if len(dependencyData) > 0:
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *         if cdependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 */
    if (unlikely(__pyx_v_dependencyData == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 27658, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 27658, __pyx_L1_error)
    __pyx_v_cdependencyData = ((CUgraphEdgeData *)calloc(__pyx_t_6, (sizeof(CUgraphEdgeData))));

    /* "cuda/cuda.pyx":27659
 *     if len(dependencyData) > 0:
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 *         if cdependencyData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
 */
    __pyx_t_2 = (__pyx_v_cdependencyData == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cuda.pyx":27660
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 *         if cdependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cdependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 */
      if (unlikely(__pyx_v_dependencyData == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 27660, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 27660, __pyx_L1_error)
      __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27660, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27660, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27660, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_n_u_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27660, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27660, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27660, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27660, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27660, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(1, 27660, __pyx_L1_error)

      /* "cuda/cuda.pyx":27659
 *     if len(dependencyData) > 0:
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 *         if cdependencyData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
 */
    }

    /* "cuda/cuda.pyx":27661
 *         if cdependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cdependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
    if (unlikely(__pyx_v_dependencyData == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 27661, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 27661, __pyx_L1_error)
    __pyx_t_8 = __pyx_t_6;
    for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
      __pyx_v_idx = __pyx_t_9;

      /* "cuda/cuda.pyx":27662
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cdependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
 */
      if (unlikely(__pyx_v_dependencyData == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(1, 27662, __pyx_L1_error)
      }
      __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_dependencyData, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27662, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_cdependencyData[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData *)__pyx_t_3)->__pyx_base._ptr, (sizeof(CUgraphEdgeData))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }

    /* "cuda/cuda.pyx":27657
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL
 *     if len(dependencyData) > 0:             # <<<<<<<<<<<<<<
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 *         if cdependencyData is NULL:
 */
  }

  /* "cuda/cuda.pyx":27663
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cdependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
 *     cdef ccuda.CUstreamCaptureMode cmode = mode.value
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 27663, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 27663, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_2)) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 27663, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 27663, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_kp_u__535); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_t_7, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27663, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 27663, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":27664
 *             string.memcpy(&cdependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstreamCaptureMode cmode = mode.value
 *     err = ccuda.cuStreamBeginCaptureToGraph(chStream, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, cmode)
 */
  if (unlikely(__pyx_v_dependencyData == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 27664, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 27664, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_2)) {
    if (unlikely(__pyx_v_dependencyData == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 27664, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 27664, __pyx_L1_error)
    __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u__535); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27664, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_7, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __PYX_ERR(1, 27664, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":27665
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
 *     cdef ccuda.CUstreamCaptureMode cmode = mode.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamBeginCaptureToGraph(chStream, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, cmode)
 *     if cdependencies is not NULL:
 */
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_mode, __pyx_n_s_value_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_10 = ((enum CUstreamCaptureMode_enum)__Pyx_PyInt_As_enum__CUstreamCaptureMode_enum(__pyx_t_7)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_v_cmode = __pyx_t_10;

  /* "cuda/cuda.pyx":27666
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
 *     cdef ccuda.CUstreamCaptureMode cmode = mode.value
 *     err = ccuda.cuStreamBeginCaptureToGraph(chStream, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, cmode)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 27666, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 27666, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 == 1);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 27666, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_11 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cdependencies;
  }
  if (unlikely(__pyx_v_dependencyData == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 27666, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 27666, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 == 1);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_dependencyData == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 27666, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencyData, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_12 = ((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData *)__pyx_t_7)->__pyx_base._ptr;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_12 = __pyx_v_cdependencyData;
  }
  __pyx_t_13 = __pyx_f_4cuda_5ccuda_cuStreamBeginCaptureToGraph(__pyx_v_chStream, __pyx_v_chGraph, __pyx_t_11, __pyx_t_12, __pyx_v_numDependencies, __pyx_v_cmode); if (unlikely(__pyx_t_13 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 27666, __pyx_L1_error)
  __pyx_v_err = __pyx_t_13;

  /* "cuda/cuda.pyx":27667
 *     cdef ccuda.CUstreamCaptureMode cmode = mode.value
 *     err = ccuda.cuStreamBeginCaptureToGraph(chStream, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, cmode)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     if cdependencyData is not NULL:
 */
  __pyx_t_2 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":27668
 *     err = ccuda.cuStreamBeginCaptureToGraph(chStream, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, cmode)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     if cdependencyData is not NULL:
 *         free(cdependencyData)
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":27667
 *     cdef ccuda.CUstreamCaptureMode cmode = mode.value
 *     err = ccuda.cuStreamBeginCaptureToGraph(chStream, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, cmode)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     if cdependencyData is not NULL:
 */
  }

  /* "cuda/cuda.pyx":27669
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     if cdependencyData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencyData)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = (__pyx_v_cdependencyData != NULL);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":27670
 *         free(cdependencies)
 *     if cdependencyData is not NULL:
 *         free(cdependencyData)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
    free(__pyx_v_cdependencyData);

    /* "cuda/cuda.pyx":27669
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     if cdependencyData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencyData)
 *     return (CUresult(err),)
 */
  }

  /* "cuda/cuda.pyx":27671
 *     if cdependencyData is not NULL:
 *         free(cdependencyData)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27671, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_14 = NULL;
  __pyx_t_15 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_14)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_14);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
      __pyx_t_15 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_t_3};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_15, 1+__pyx_t_15);
    __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27671, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27671, __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)) __PYX_ERR(1, 27671, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":27572
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBeginCaptureToGraph(hStream, hGraph, dependencies : Optional[List[CUgraphNode]], dependencyData : Optional[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_7);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_27cuStreamBeginCaptureToGraph_2generator15);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_27cuStreamBeginCaptureToGraph_5generator16);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XDECREF(__pyx_v_dependencyData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27673
 *     return (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_4cuda_417cuThreadExchangeStreamCaptureMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_416cuThreadExchangeStreamCaptureMode, "cuThreadExchangeStreamCaptureMode(mode: CUstreamCaptureMode)\n Swaps the stream capture interaction mode for a thread.\n\n    Sets the calling thread's stream capture interaction mode to the value\n    contained in `*mode`, and overwrites `*mode` with the previous mode for\n    the thread. To facilitate deterministic behavior across function or\n    module boundaries, callers are encouraged to use this API in a push-pop\n    fashion:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    During stream capture (see :py:obj:`~.cuStreamBeginCapture`), some\n    actions, such as a call to :py:obj:`~.cudaMalloc`, may be unsafe. In\n    the case of :py:obj:`~.cudaMalloc`, the operation is not enqueued\n    asynchronously to a stream, and is not observed by stream capture.\n    Therefore, if the sequence of operations captured via\n    :py:obj:`~.cuStreamBeginCapture` depended on the allocation being\n    replayed whenever the graph is launched, the captured graph would be\n    invalid.\n\n    Therefore, stream capture places restrictions on API calls that can be\n    made within or concurrently to a\n    :py:obj:`~.cuStreamBeginCapture`-:py:obj:`~.cuStreamEndCapture`\n    sequence. This behavior can be controlled via this API and flags to\n    :py:obj:`~.cuStreamBeginCapture`.\n\n    A 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. Concurr""ent capture sequences in other threads are\n      ignored.\n\n    - `CU_STREAM_CAPTURE_MODE_RELAXED:` The local thread is not prohibited\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\n    Parameters\n    ----------\n    mode : :py:obj:`~.CUstreamCaptureMode`\n        Pointer to mode value to swap with the current mode\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_VALUE`\n    mode : :py:obj:`~.CUstreamCaptureMode`\n        Pointer to mode value to swap with the current mode\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamBeginCapture`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_417cuThreadExchangeStreamCaptureMode = {"cuThreadExchangeStreamCaptureMode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_417cuThreadExchangeStreamCaptureMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_416cuThreadExchangeStreamCaptureMode};
static PyObject *__pyx_pw_4cuda_4cuda_417cuThreadExchangeStreamCaptureMode(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_mode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27673, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuThreadExchangeStreamCaptureMode") < 0)) __PYX_ERR(1, 27673, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_mode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuThreadExchangeStreamCaptureMode", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 27673, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 27674, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_416cuThreadExchangeStreamCaptureMode(__pyx_self, __pyx_v_mode);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_416cuThreadExchangeStreamCaptureMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_mode) {
  CUstreamCaptureMode __pyx_v_cmode;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUstreamCaptureMode __pyx_t_2;
  CUresult __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__701)
  __Pyx_RefNannySetupContext("cuThreadExchangeStreamCaptureMode", 1);
  __Pyx_TraceCall("cuThreadExchangeStreamCaptureMode", __pyx_f[1], 27673, 0, __PYX_ERR(1, 27673, __pyx_L1_error));

  /* "cuda/cuda.pyx":27737
 *     :py:obj:`~.cuStreamBeginCapture`
 *     """
 *     cdef ccuda.CUstreamCaptureMode cmode = mode.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuThreadExchangeStreamCaptureMode(&cmode)
 *     return (CUresult(err), CUstreamCaptureMode(cmode))
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_mode, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUstreamCaptureMode_enum)__Pyx_PyInt_As_enum__CUstreamCaptureMode_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27737, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cmode = __pyx_t_2;

  /* "cuda/cuda.pyx":27738
 *     """
 *     cdef ccuda.CUstreamCaptureMode cmode = mode.value
 *     err = ccuda.cuThreadExchangeStreamCaptureMode(&cmode)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), CUstreamCaptureMode(cmode))
 * 
 */
  __pyx_t_3 = __pyx_f_4cuda_5ccuda_cuThreadExchangeStreamCaptureMode((&__pyx_v_cmode)); if (unlikely(__pyx_t_3 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 27738, __pyx_L1_error)
  __pyx_v_err = __pyx_t_3;

  /* "cuda/cuda.pyx":27739
 *     cdef ccuda.CUstreamCaptureMode cmode = mode.value
 *     err = ccuda.cuThreadExchangeStreamCaptureMode(&cmode)
 *     return (CUresult(err), CUstreamCaptureMode(cmode))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 27739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = NULL;
  __pyx_t_7 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_6)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_7 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 27739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUstreamCaptureMode); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 27739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__CUstreamCaptureMode_enum(__pyx_v_cmode); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = NULL;
  __pyx_t_7 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_7 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 27739, __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)) __PYX_ERR(1, 27739, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4)) __PYX_ERR(1, 27739, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":27673
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuThreadExchangeStreamCaptureMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27741
 *     return (CUresult(err), CUstreamCaptureMode(cmode))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamEndCapture(hStream):
 *     """ Ends capture on a stream, returning the captured graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_419cuStreamEndCapture(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_418cuStreamEndCapture, "cuStreamEndCapture(hStream)\n Ends capture on a stream, returning the captured graph.\n\n    End capture on `hStream`, returning the captured graph via `phGraph`.\n    Capture must have been initiated on `hStream` via a call to\n    :py:obj:`~.cuStreamBeginCapture`. If capture was invalidated, due to a\n    violation of the rules of stream capture, then a NULL graph will be\n    returned.\n\n    If the `mode` argument to :py:obj:`~.cuStreamBeginCapture` was not\n    :py:obj:`~.CU_STREAM_CAPTURE_MODE_RELAXED`, this call must be from the\n    same thread as :py:obj:`~.cuStreamBeginCapture`.\n\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to query\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_VALUE`, :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD`\n    phGraph : :py:obj:`~.CUgraph`\n        The captured graph\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamIsCapturing`, :py:obj:`~.cuGraphDestroy`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_419cuStreamEndCapture = {"cuStreamEndCapture", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_419cuStreamEndCapture, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_418cuStreamEndCapture};
static PyObject *__pyx_pw_4cuda_4cuda_419cuStreamEndCapture(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27741, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamEndCapture") < 0)) __PYX_ERR(1, 27741, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamEndCapture", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 27741, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamEndCapture", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_418cuStreamEndCapture(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_418cuStreamEndCapture(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_phGraph = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__702)
  __Pyx_RefNannySetupContext("cuStreamEndCapture", 1);
  __Pyx_TraceCall("cuStreamEndCapture", __pyx_f[1], 27741, 0, __PYX_ERR(1, 27741, __pyx_L1_error));

  /* "cuda/cuda.pyx":27772
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27773
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":27772
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27774
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27775
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":27776
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27776, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":27774
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27778
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef CUgraph phGraph = CUgraph()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":27779
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef CUgraph phGraph = CUgraph()
 *     err = ccuda.cuStreamEndCapture(chStream, <ccuda.CUgraph*>phGraph._ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27779, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":27780
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef CUgraph phGraph = CUgraph()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamEndCapture(chStream, <ccuda.CUgraph*>phGraph._ptr)
 *     return (CUresult(err), phGraph)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_phGraph = ((struct __pyx_obj_4cuda_4cuda_CUgraph *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":27781
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef CUgraph phGraph = CUgraph()
 *     err = ccuda.cuStreamEndCapture(chStream, <ccuda.CUgraph*>phGraph._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraph)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamEndCapture(__pyx_v_chStream, ((CUgraph *)__pyx_v_phGraph->_ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 27781, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":27782
 *     cdef CUgraph phGraph = CUgraph()
 *     err = ccuda.cuStreamEndCapture(chStream, <ccuda.CUgraph*>phGraph._ptr)
 *     return (CUresult(err), phGraph)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 27782, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraph);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraph);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phGraph))) __PYX_ERR(1, 27782, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":27741
 *     return (CUresult(err), CUstreamCaptureMode(cmode))
 * 
 * @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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27784
 *     return (CUresult(err), phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamIsCapturing(hStream):
 *     """ Returns a stream's capture status.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_421cuStreamIsCapturing(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_420cuStreamIsCapturing, "cuStreamIsCapturing(hStream)\n Returns a stream's capture status.\n\n    Return the capture status of `hStream` via `captureStatus`. After a\n    successful 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\n    Note that, if this is called on :py:obj:`~.CU_STREAM_LEGACY` (the \"null\n    stream\") while a blocking stream in the same context is capturing, it\n    will return :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_IMPLICIT` and\n    `*captureStatus` is unspecified after the call. The blocking stream\n    capture is not invalidated.\n\n    When a blocking stream is capturing, the legacy stream is in an\n    unusable state until the blocking stream capture is terminated. The\n    legacy stream is not supported for stream capture, but attempted use\n    would have an implicit dependency on the capturing stream(s).\n\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to query\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_VALUE`, :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_IMPLICIT`\n    captureStatus : :py:obj:`~.CUstreamCaptureStatus`\n        Returns the stream's capture status\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamEndCapture`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_421cuStreamIsCapturing = {"cuStreamIsCapturing", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_421cuStreamIsCapturing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_420cuStreamIsCapturing};
static PyObject *__pyx_pw_4cuda_4cuda_421cuStreamIsCapturing(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27784, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamIsCapturing") < 0)) __PYX_ERR(1, 27784, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamIsCapturing", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 27784, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamIsCapturing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_420cuStreamIsCapturing(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_420cuStreamIsCapturing(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUstreamCaptureStatus __pyx_v_captureStatus;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__703)
  __Pyx_RefNannySetupContext("cuStreamIsCapturing", 1);
  __Pyx_TraceCall("cuStreamIsCapturing", __pyx_f[1], 27784, 0, __PYX_ERR(1, 27784, __pyx_L1_error));

  /* "cuda/cuda.pyx":27830
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27831
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":27830
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27832
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27833
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27833, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":27834
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27834, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":27832
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27836
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUstreamCaptureStatus captureStatus
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27836, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27836, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":27837
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstreamCaptureStatus captureStatus
 *     err = ccuda.cuStreamIsCapturing(chStream, &captureStatus)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27837, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":27839
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUstreamCaptureStatus captureStatus
 *     err = ccuda.cuStreamIsCapturing(chStream, &captureStatus)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus))
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamIsCapturing(__pyx_v_chStream, (&__pyx_v_captureStatus)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 27839, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":27840
 *     cdef ccuda.CUstreamCaptureStatus captureStatus
 *     err = ccuda.cuStreamIsCapturing(chStream, &captureStatus)
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27840, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_CUstreamCaptureStatus); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyInt_From_enum__CUstreamCaptureStatus_enum(__pyx_v_captureStatus); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_9 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27840, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27840, __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)) __PYX_ERR(1, 27840, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 27840, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":27784
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.cuStreamIsCapturing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27842
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCaptureInfo(hStream):
 *     """ Query a stream's capture state.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_423cuStreamGetCaptureInfo(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_422cuStreamGetCaptureInfo, "cuStreamGetCaptureInfo(hStream)\n Query a stream's capture state.\n\n    Query stream state related to stream capture.\n\n    If called on :py:obj:`~.CU_STREAM_LEGACY` (the \"null stream\") while a\n    stream not created with :py:obj:`~.CU_STREAM_NON_BLOCKING` is\n    capturing, returns :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_IMPLICIT`.\n\n    Valid data (other than capture status) is returned only if both of the\n    following 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\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        The stream to query\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_IMPLICIT`\n    captureStatus_out : :py:obj:`~.CUstreamCaptureStatus`\n        Location to return the capture status of the stream; required\n    id_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\n    graph_out : :py:obj:`~.CUgraph`\n        Optional location to return the graph being captured into. All\n        operations other than destroy and node removal are permitted on the\n        graph while the capture sequence is in progress. This API does not\n        transfer ownership of the graph, which is transferred or destroyed\n        at :py:obj:`~.cuStreamEndCapture`. Note that the graph handle may\n        be invalidated before end of capture for certain errors. Nodes that\n        are or become unreachable from the original stream at\n        :py:obj:`~.cuStreamEndCapture` due to direct actions on the graph\n        do not trigger :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNJOINED`.\n    dependencies_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.\n    numDependencies_out : int\n        Optional location to store the size of the array returned in\n        dependencies_out.\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamGetCaptureInfo_v3` :py:obj:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamIsCapturing`, :py:obj:`~.cuStreamUpdateCaptureDependencies`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_423cuStreamGetCaptureInfo = {"cuStreamGetCaptureInfo", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_423cuStreamGetCaptureInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_422cuStreamGetCaptureInfo};
static PyObject *__pyx_pw_4cuda_4cuda_423cuStreamGetCaptureInfo(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27842, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamGetCaptureInfo") < 0)) __PYX_ERR(1, 27842, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetCaptureInfo", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 27842, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamGetCaptureInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_422cuStreamGetCaptureInfo(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_422cuStreamGetCaptureInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUstreamCaptureStatus __pyx_v_captureStatus_out;
  struct __pyx_obj_4cuda_4cuda_cuuint64_t *__pyx_v_id_out = 0;
  struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_graph_out = 0;
  CUgraphNode const *__pyx_v_cdependencies_out;
  PyObject *__pyx_v_pydependencies_out = NULL;
  size_t __pyx_v_numDependencies_out;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr139__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  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_TraceFrameInit(__pyx_codeobj__704)
  __Pyx_RefNannySetupContext("cuStreamGetCaptureInfo", 1);
  __Pyx_TraceCall("cuStreamGetCaptureInfo", __pyx_f[1], 27842, 0, __PYX_ERR(1, 27842, __pyx_L1_error));

  /* "cuda/cuda.pyx":27902
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27903
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":27902
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27904
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27905
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":27906
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27906, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":27904
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27908
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUstreamCaptureStatus captureStatus_out
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27908, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27908, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":27909
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstreamCaptureStatus captureStatus_out
 *     cdef cuuint64_t id_out = cuuint64_t()
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27909, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":27911
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUstreamCaptureStatus captureStatus_out
 *     cdef cuuint64_t id_out = cuuint64_t()             # <<<<<<<<<<<<<<
 *     cdef CUgraph graph_out = CUgraph()
 *     cdef const ccuda.CUgraphNode* cdependencies_out = NULL
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint64_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_id_out = ((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":27912
 *     cdef ccuda.CUstreamCaptureStatus captureStatus_out
 *     cdef cuuint64_t id_out = cuuint64_t()
 *     cdef CUgraph graph_out = CUgraph()             # <<<<<<<<<<<<<<
 *     cdef const ccuda.CUgraphNode* cdependencies_out = NULL
 *     pydependencies_out = []
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_graph_out = ((struct __pyx_obj_4cuda_4cuda_CUgraph *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":27913
 *     cdef cuuint64_t id_out = cuuint64_t()
 *     cdef CUgraph graph_out = CUgraph()
 *     cdef const ccuda.CUgraphNode* cdependencies_out = NULL             # <<<<<<<<<<<<<<
 *     pydependencies_out = []
 *     cdef size_t numDependencies_out = 0
 */
  __pyx_v_cdependencies_out = NULL;

  /* "cuda/cuda.pyx":27914
 *     cdef CUgraph graph_out = CUgraph()
 *     cdef const ccuda.CUgraphNode* cdependencies_out = NULL
 *     pydependencies_out = []             # <<<<<<<<<<<<<<
 *     cdef size_t numDependencies_out = 0
 *     err = ccuda.cuStreamGetCaptureInfo(chStream, &captureStatus_out, <ccuda.cuuint64_t*>id_out._ptr, <ccuda.CUgraph*>graph_out._ptr, &cdependencies_out, &numDependencies_out)
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pydependencies_out = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":27915
 *     cdef const ccuda.CUgraphNode* cdependencies_out = NULL
 *     pydependencies_out = []
 *     cdef size_t numDependencies_out = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamGetCaptureInfo(chStream, &captureStatus_out, <ccuda.cuuint64_t*>id_out._ptr, <ccuda.CUgraph*>graph_out._ptr, &cdependencies_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):
 */
  __pyx_v_numDependencies_out = 0;

  /* "cuda/cuda.pyx":27916
 *     pydependencies_out = []
 *     cdef size_t numDependencies_out = 0
 *     err = ccuda.cuStreamGetCaptureInfo(chStream, &captureStatus_out, <ccuda.cuuint64_t*>id_out._ptr, <ccuda.CUgraph*>graph_out._ptr, &cdependencies_out, &numDependencies_out)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cdependencies_out[idx]) for idx in range(numDependencies_out)]
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamGetCaptureInfo(__pyx_v_chStream, (&__pyx_v_captureStatus_out), ((cuuint64_t *)__pyx_v_id_out->_ptr), ((CUgraph *)__pyx_v_graph_out->_ptr), (&__pyx_v_cdependencies_out), (&__pyx_v_numDependencies_out)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 27916, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":27917
 *     cdef size_t numDependencies_out = 0
 *     err = ccuda.cuStreamGetCaptureInfo(chStream, &captureStatus_out, <ccuda.cuuint64_t*>id_out._ptr, <ccuda.CUgraph*>graph_out._ptr, &cdependencies_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cdependencies_out[idx]) for idx in range(numDependencies_out)]
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27917, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_4, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27917, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 27917, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27918
 *     err = ccuda.cuStreamGetCaptureInfo(chStream, &captureStatus_out, <ccuda.cuuint64_t*>id_out._ptr, <ccuda.CUgraph*>graph_out._ptr, &cdependencies_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cdependencies_out[idx]) for idx in range(numDependencies_out)]             # <<<<<<<<<<<<<<
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)
 * 
 */
    { /* enter inner scope */
      __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 27918, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = __pyx_v_numDependencies_out;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr139__pyx_v_idx = __pyx_t_11;
        __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27918, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_4 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_cdependencies_out[__pyx_10genexpr139__pyx_v_idx]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27918, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_init_value, __pyx_t_4) < 0) __PYX_ERR(1, 27918, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27918, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_4))) __PYX_ERR(1, 27918, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pydependencies_out, ((PyObject*)__pyx_t_6));
    __pyx_t_6 = 0;

    /* "cuda/cuda.pyx":27917
 *     cdef size_t numDependencies_out = 0
 *     err = ccuda.cuStreamGetCaptureInfo(chStream, &captureStatus_out, <ccuda.cuuint64_t*>id_out._ptr, <ccuda.CUgraph*>graph_out._ptr, &cdependencies_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cdependencies_out[idx]) for idx in range(numDependencies_out)]
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)
 */
  }

  /* "cuda/cuda.pyx":27919
 *     if CUresult(err) == CUresult(0):
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cdependencies_out[idx]) for idx in range(numDependencies_out)]
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
    __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 27919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUstreamCaptureStatus); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__CUstreamCaptureStatus_enum(__pyx_v_captureStatus_out); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_12 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies_out); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = PyTuple_New(6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 27919, __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)) __PYX_ERR(1, 27919, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4)) __PYX_ERR(1, 27919, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_id_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_id_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, ((PyObject *)__pyx_v_id_out))) __PYX_ERR(1, 27919, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_graph_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_graph_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 3, ((PyObject *)__pyx_v_graph_out))) __PYX_ERR(1, 27919, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pydependencies_out);
  __Pyx_GIVEREF(__pyx_v_pydependencies_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 4, __pyx_v_pydependencies_out)) __PYX_ERR(1, 27919, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 5, __pyx_t_2)) __PYX_ERR(1, 27919, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":27842
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.cuStreamGetCaptureInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF((PyObject *)__pyx_v_id_out);
  __Pyx_XDECREF((PyObject *)__pyx_v_graph_out);
  __Pyx_XDECREF(__pyx_v_pydependencies_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":27921
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCaptureInfo_v3(hStream):
 *     """ Query a stream's capture state (12.3+)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_425cuStreamGetCaptureInfo_v3(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_424cuStreamGetCaptureInfo_v3, "cuStreamGetCaptureInfo_v3(hStream)\n Query a stream's capture state (12.3+)\n\n    Query stream state related to stream capture.\n\n    If called on :py:obj:`~.CU_STREAM_LEGACY` (the \"null stream\") while a\n    stream not created with :py:obj:`~.CU_STREAM_NON_BLOCKING` is\n    capturing, returns :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_IMPLICIT`.\n\n    Valid data (other than capture status) is returned only if both of the\n    following 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\n    If `edgeData_out` is non-NULL then `dependencies_out` must be as well.\n    If `dependencies_out` is non-NULL and `edgeData_out` is NULL, but there\n    is non-zero edge data for one or more of the current stream\n    dependencies, the call will return :py:obj:`~.CUDA_ERROR_LOSSY_QUERY`.\n\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        The stream to query\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_IMPLICIT`, :py:obj:`~.CUDA_ERROR_LOSSY_QUERY`\n    captureStatus_out : :py:obj:`~.CUstreamCaptureStatus`\n        Location to return the capture status of the stream; required\n    id_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\n    graph_out : :py:obj:`~.CUgraph`\n        Optional location to return the graph being captured into. All\n        operations other than destroy and node removal are permitted on the\n        graph while the capture sequence is in progress. This API does not\n        transfer ownership of the graph, which is transferred or destroyed\n        at :py:obj:`~.cuStreamEndCapture`. Note that the graph handle may\n        be invalidated before end of capture for certain errors. Nodes that\n        are or"" become unreachable from the original stream at\n        :py:obj:`~.cuStreamEndCapture` due to direct actions on the graph\n        do not trigger :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNJOINED`.\n    dependencies_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.\n    edgeData_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.\n    numDependencies_out : int\n        Optional location to store the size of the array returned in\n        dependencies_out.\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamGetCaptureInfo` :py:obj:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamIsCapturing`, :py:obj:`~.cuStreamUpdateCaptureDependencies`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_425cuStreamGetCaptureInfo_v3 = {"cuStreamGetCaptureInfo_v3", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_425cuStreamGetCaptureInfo_v3, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_424cuStreamGetCaptureInfo_v3};
static PyObject *__pyx_pw_4cuda_4cuda_425cuStreamGetCaptureInfo_v3(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamGetCaptureInfo_v3 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 27921, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamGetCaptureInfo_v3") < 0)) __PYX_ERR(1, 27921, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetCaptureInfo_v3", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 27921, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamGetCaptureInfo_v3", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_424cuStreamGetCaptureInfo_v3(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_424cuStreamGetCaptureInfo_v3(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUstreamCaptureStatus __pyx_v_captureStatus_out;
  struct __pyx_obj_4cuda_4cuda_cuuint64_t *__pyx_v_id_out = 0;
  struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_graph_out = 0;
  CUgraphNode const *__pyx_v_cdependencies_out;
  PyObject *__pyx_v_pydependencies_out = NULL;
  CUgraphEdgeData const *__pyx_v_cedgeData_out;
  PyObject *__pyx_v_pyedgeData_out = NULL;
  size_t __pyx_v_numDependencies_out;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr140__pyx_v_idx;
  size_t __pyx_10genexpr141__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  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_TraceFrameInit(__pyx_codeobj__705)
  __Pyx_RefNannySetupContext("cuStreamGetCaptureInfo_v3", 1);
  __Pyx_TraceCall("cuStreamGetCaptureInfo_v3", __pyx_f[1], 27921, 0, __PYX_ERR(1, 27921, __pyx_L1_error));

  /* "cuda/cuda.pyx":27993
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27994
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":27993
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27995
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":27996
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":27997
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 27997, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":27995
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":27999
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUstreamCaptureStatus captureStatus_out
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 27999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28000
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstreamCaptureStatus captureStatus_out
 *     cdef cuuint64_t id_out = cuuint64_t()
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28000, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":28002
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUstreamCaptureStatus captureStatus_out
 *     cdef cuuint64_t id_out = cuuint64_t()             # <<<<<<<<<<<<<<
 *     cdef CUgraph graph_out = CUgraph()
 *     cdef const ccuda.CUgraphNode* cdependencies_out = NULL
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint64_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_id_out = ((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":28003
 *     cdef ccuda.CUstreamCaptureStatus captureStatus_out
 *     cdef cuuint64_t id_out = cuuint64_t()
 *     cdef CUgraph graph_out = CUgraph()             # <<<<<<<<<<<<<<
 *     cdef const ccuda.CUgraphNode* cdependencies_out = NULL
 *     pydependencies_out = []
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_graph_out = ((struct __pyx_obj_4cuda_4cuda_CUgraph *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":28004
 *     cdef cuuint64_t id_out = cuuint64_t()
 *     cdef CUgraph graph_out = CUgraph()
 *     cdef const ccuda.CUgraphNode* cdependencies_out = NULL             # <<<<<<<<<<<<<<
 *     pydependencies_out = []
 *     cdef const ccuda.CUgraphEdgeData* cedgeData_out = NULL
 */
  __pyx_v_cdependencies_out = NULL;

  /* "cuda/cuda.pyx":28005
 *     cdef CUgraph graph_out = CUgraph()
 *     cdef const ccuda.CUgraphNode* cdependencies_out = NULL
 *     pydependencies_out = []             # <<<<<<<<<<<<<<
 *     cdef const ccuda.CUgraphEdgeData* cedgeData_out = NULL
 *     pyedgeData_out = []
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pydependencies_out = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":28006
 *     cdef const ccuda.CUgraphNode* cdependencies_out = NULL
 *     pydependencies_out = []
 *     cdef const ccuda.CUgraphEdgeData* cedgeData_out = NULL             # <<<<<<<<<<<<<<
 *     pyedgeData_out = []
 *     cdef size_t numDependencies_out = 0
 */
  __pyx_v_cedgeData_out = NULL;

  /* "cuda/cuda.pyx":28007
 *     pydependencies_out = []
 *     cdef const ccuda.CUgraphEdgeData* cedgeData_out = NULL
 *     pyedgeData_out = []             # <<<<<<<<<<<<<<
 *     cdef size_t numDependencies_out = 0
 *     err = ccuda.cuStreamGetCaptureInfo_v3(chStream, &captureStatus_out, <ccuda.cuuint64_t*>id_out._ptr, <ccuda.CUgraph*>graph_out._ptr, &cdependencies_out, &cedgeData_out, &numDependencies_out)
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyedgeData_out = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":28008
 *     cdef const ccuda.CUgraphEdgeData* cedgeData_out = NULL
 *     pyedgeData_out = []
 *     cdef size_t numDependencies_out = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamGetCaptureInfo_v3(chStream, &captureStatus_out, <ccuda.cuuint64_t*>id_out._ptr, <ccuda.CUgraph*>graph_out._ptr, &cdependencies_out, &cedgeData_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):
 */
  __pyx_v_numDependencies_out = 0;

  /* "cuda/cuda.pyx":28009
 *     pyedgeData_out = []
 *     cdef size_t numDependencies_out = 0
 *     err = ccuda.cuStreamGetCaptureInfo_v3(chStream, &captureStatus_out, <ccuda.cuuint64_t*>id_out._ptr, <ccuda.CUgraph*>graph_out._ptr, &cdependencies_out, &cedgeData_out, &numDependencies_out)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cdependencies_out[idx]) for idx in range(numDependencies_out)]
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamGetCaptureInfo_v3(__pyx_v_chStream, (&__pyx_v_captureStatus_out), ((cuuint64_t *)__pyx_v_id_out->_ptr), ((CUgraph *)__pyx_v_graph_out->_ptr), (&__pyx_v_cdependencies_out), (&__pyx_v_cedgeData_out), (&__pyx_v_numDependencies_out)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 28009, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":28010
 *     cdef size_t numDependencies_out = 0
 *     err = ccuda.cuStreamGetCaptureInfo_v3(chStream, &captureStatus_out, <ccuda.cuuint64_t*>id_out._ptr, <ccuda.CUgraph*>graph_out._ptr, &cdependencies_out, &cedgeData_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cdependencies_out[idx]) for idx in range(numDependencies_out)]
 *     if CUresult(err) == CUresult(0):
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28010, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28010, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_4, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28010, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 28010, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28011
 *     err = ccuda.cuStreamGetCaptureInfo_v3(chStream, &captureStatus_out, <ccuda.cuuint64_t*>id_out._ptr, <ccuda.CUgraph*>graph_out._ptr, &cdependencies_out, &cedgeData_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cdependencies_out[idx]) for idx in range(numDependencies_out)]             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData_out = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData_out[idx]) for idx in range(numDependencies_out)]
 */
    { /* enter inner scope */
      __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28011, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = __pyx_v_numDependencies_out;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr140__pyx_v_idx = __pyx_t_11;
        __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28011, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_4 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_cdependencies_out[__pyx_10genexpr140__pyx_v_idx]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28011, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_init_value, __pyx_t_4) < 0) __PYX_ERR(1, 28011, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28011, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_4))) __PYX_ERR(1, 28011, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pydependencies_out, ((PyObject*)__pyx_t_6));
    __pyx_t_6 = 0;

    /* "cuda/cuda.pyx":28010
 *     cdef size_t numDependencies_out = 0
 *     err = ccuda.cuStreamGetCaptureInfo_v3(chStream, &captureStatus_out, <ccuda.cuuint64_t*>id_out._ptr, <ccuda.CUgraph*>graph_out._ptr, &cdependencies_out, &cedgeData_out, &numDependencies_out)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cdependencies_out[idx]) for idx in range(numDependencies_out)]
 *     if CUresult(err) == CUresult(0):
 */
  }

  /* "cuda/cuda.pyx":28012
 *     if CUresult(err) == CUresult(0):
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cdependencies_out[idx]) for idx in range(numDependencies_out)]
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyedgeData_out = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData_out[idx]) for idx in range(numDependencies_out)]
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, pyedgeData_out, numDependencies_out)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
    __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 28012, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28012, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_6, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28012, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 28012, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28013
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cdependencies_out[idx]) for idx in range(numDependencies_out)]
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData_out = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData_out[idx]) for idx in range(numDependencies_out)]             # <<<<<<<<<<<<<<
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, pyedgeData_out, numDependencies_out)
 * 
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28013, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_9 = __pyx_v_numDependencies_out;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr141__pyx_v_idx = __pyx_t_11;
        __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28013, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_6 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_cedgeData_out[__pyx_10genexpr141__pyx_v_idx])))); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28013, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_ptr, __pyx_t_6) < 0) __PYX_ERR(1, 28013, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphEdgeData), __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28013, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 28013, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyedgeData_out, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28012
 *     if CUresult(err) == CUresult(0):
 *         pydependencies_out = [CUgraphNode(init_value=<void_ptr>cdependencies_out[idx]) for idx in range(numDependencies_out)]
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyedgeData_out = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData_out[idx]) for idx in range(numDependencies_out)]
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, pyedgeData_out, numDependencies_out)
 */
  }

  /* "cuda/cuda.pyx":28014
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData_out = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData_out[idx]) for idx in range(numDependencies_out)]
 *     return (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_6, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28014, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUstreamCaptureStatus); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__CUstreamCaptureStatus_enum(__pyx_v_captureStatus_out); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_12 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_7};
    __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28014, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies_out); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = PyTuple_New(7); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28014, __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)) __PYX_ERR(1, 28014, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6)) __PYX_ERR(1, 28014, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_id_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_id_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, ((PyObject *)__pyx_v_id_out))) __PYX_ERR(1, 28014, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_graph_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_graph_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 3, ((PyObject *)__pyx_v_graph_out))) __PYX_ERR(1, 28014, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pydependencies_out);
  __Pyx_GIVEREF(__pyx_v_pydependencies_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 4, __pyx_v_pydependencies_out)) __PYX_ERR(1, 28014, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyedgeData_out);
  __Pyx_GIVEREF(__pyx_v_pyedgeData_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 5, __pyx_v_pyedgeData_out)) __PYX_ERR(1, 28014, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 6, __pyx_t_4)) __PYX_ERR(1, 28014, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_6 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":27921
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCaptureInfo_v3(hStream):
 *     """ Query a stream's capture state (12.3+)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.cuStreamGetCaptureInfo_v3", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF((PyObject *)__pyx_v_id_out);
  __Pyx_XDECREF((PyObject *)__pyx_v_graph_out);
  __Pyx_XDECREF(__pyx_v_pydependencies_out);
  __Pyx_XDECREF(__pyx_v_pyedgeData_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28016
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, pyedgeData_out, numDependencies_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies(hStream, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (11.3+)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_427cuStreamUpdateCaptureDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_426cuStreamUpdateCaptureDependencies, "cuStreamUpdateCaptureDependencies(hStream, list dependencies: Optional[List[CUgraphNode]], size_t numDependencies, unsigned int flags)\n Update the set of dependencies in a capturing stream (11.3+)\n\n    Modifies the dependency set of a capturing stream. The dependency set\n    is the set of nodes that the next captured node in the stream will\n    depend on.\n\n    Valid flags are :py:obj:`~.CU_STREAM_ADD_CAPTURE_DEPENDENCIES` and\n    :py:obj:`~.CU_STREAM_SET_CAPTURE_DEPENDENCIES`. These control whether\n    the set passed to the API is added to the existing set or replaces it.\n    A flags value of 0 defaults to\n    :py:obj:`~.CU_STREAM_ADD_CAPTURE_DEPENDENCIES`.\n\n    Nodes that are removed from the dependency set via this API do not\n    result in :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNJOINED` if they are\n    unreachable from the stream at :py:obj:`~.cuStreamEndCapture`.\n\n    Returns :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE` if the stream is not\n    capturing.\n\n    This API is new in CUDA 11.3. Developers requiring compatibility across\n    minor versions to CUDA 11.0 should not use this API or provide a\n    fallback.\n\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        The stream to update\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        The set of dependencies to add\n    numDependencies : size_t\n        The size of the dependencies array\n    flags : unsigned int\n        See above\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE`\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamGetCaptureInfo`,\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_427cuStreamUpdateCaptureDependencies = {"cuStreamUpdateCaptureDependencies", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_427cuStreamUpdateCaptureDependencies, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_426cuStreamUpdateCaptureDependencies};
static PyObject *__pyx_pw_4cuda_4cuda_427cuStreamUpdateCaptureDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  PyObject *__pyx_v_dependencies = 0;
  size_t __pyx_v_numDependencies;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamUpdateCaptureDependencies (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,&__pyx_n_s_dependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28016, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28016, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamUpdateCaptureDependencies", 1, 4, 4, 1); __PYX_ERR(1, 28016, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28016, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamUpdateCaptureDependencies", 1, 4, 4, 2); __PYX_ERR(1, 28016, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28016, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamUpdateCaptureDependencies", 1, 4, 4, 3); __PYX_ERR(1, 28016, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamUpdateCaptureDependencies") < 0)) __PYX_ERR(1, 28016, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hStream = values[0];
    __pyx_v_dependencies = ((PyObject*)values[1]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 28017, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 28017, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamUpdateCaptureDependencies", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 28016, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamUpdateCaptureDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 28017, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_426cuStreamUpdateCaptureDependencies(__pyx_self, __pyx_v_hStream, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_33cuStreamUpdateCaptureDependencies_2generator17(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":28062
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUstream chStream
 */

static PyObject *__pyx_pf_4cuda_4cuda_33cuStreamUpdateCaptureDependencies_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_17_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_17_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_17_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_17_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 28062, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_33cuStreamUpdateCaptureDependencies_2generator17, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuStreamUpdateCaptureDependencie, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 28062, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_33cuStreamUpdateCaptureDependencies_2generator17(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_17_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_17_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 28062, 0, __PYX_ERR(1, 28062, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 28062, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 28062, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 28062, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 28062, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 28062, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28016
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, pyedgeData_out, numDependencies_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies(hStream, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (11.3+)
 */

static PyObject *__pyx_pf_4cuda_4cuda_426cuStreamUpdateCaptureDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, unsigned int __pyx_v_flags) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_33cuStreamUpdateCaptureDependencies_2generator17 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  CUgraphNode *__pyx_t_10;
  CUresult __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__706)
  __Pyx_RefNannySetupContext("cuStreamUpdateCaptureDependencies", 0);
  __Pyx_TraceCall("cuStreamUpdateCaptureDependencies", __pyx_f[1], 28016, 0, __PYX_ERR(1, 28016, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/cuda.pyx":28061
 *     :py:obj:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamGetCaptureInfo`,
 *     """
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 */
  __pyx_t_2 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28061, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":28062
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUstream chStream
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_33cuStreamUpdateCaptureDependencies_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28062, __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(1, 28062, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":28063
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28063, __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(1, 28063, __pyx_L1_error)

    /* "cuda/cuda.pyx":28062
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUstream chStream
 */
  }

  /* "cuda/cuda.pyx":28065
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_4 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":28066
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28065
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":28067
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":28068
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28068, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phStream = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":28069
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28069, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":28067
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":28071
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phStream = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":28072
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28072, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":28073
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":28074
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 28074, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 28074, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":28075
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 28075, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 28075, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":28076
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_4 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":28077
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 28077, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 28077, __pyx_L1_error)
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28077, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28077, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28077, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28077, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28077, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28077, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28077, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28077, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 28077, __pyx_L1_error)

      /* "cuda/cuda.pyx":28076
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":28079
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 28079, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 28079, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":28080
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuStreamUpdateCaptureDependencies(chStream, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, flags)
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 28080, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28080, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":28074
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":28081
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamUpdateCaptureDependencies(chStream, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, flags)
 *     if cdependencies is not NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 28081, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 28081, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 28081, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 28081, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 28081, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":28082
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuStreamUpdateCaptureDependencies(chStream, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, flags)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 28082, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 28082, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 28082, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28082, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_10 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_3)->_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cdependencies;
  }
  __pyx_t_11 = __pyx_f_4cuda_5ccuda_cuStreamUpdateCaptureDependencies(__pyx_v_chStream, __pyx_t_10, __pyx_v_numDependencies, __pyx_v_flags); if (unlikely(__pyx_t_11 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 28082, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cuda.pyx":28083
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuStreamUpdateCaptureDependencies(chStream, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, flags)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":28084
 *     err = ccuda.cuStreamUpdateCaptureDependencies(chStream, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, flags)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":28083
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuStreamUpdateCaptureDependencies(chStream, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, flags)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err),)
 */
  }

  /* "cuda/cuda.pyx":28085
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28085, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28085, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_12 = NULL;
  __pyx_t_13 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_13 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_1};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_13, 1+__pyx_t_13);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28085, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28085, __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)) __PYX_ERR(1, 28085, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":28016
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, pyedgeData_out, numDependencies_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies(hStream, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (11.3+)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.cuStreamUpdateCaptureDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_33cuStreamUpdateCaptureDependencies_2generator17);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28087
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies_v2(hStream, dependencies : Optional[List[CUgraphNode]], dependencyData : Optional[List[CUgraphEdgeData]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (12.3+)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_429cuStreamUpdateCaptureDependencies_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_4cuda_428cuStreamUpdateCaptureDependencies_v2, "cuStreamUpdateCaptureDependencies_v2(hStream, list dependencies: Optional[List[CUgraphNode]], list dependencyData: Optional[List[CUgraphEdgeData]], size_t numDependencies, unsigned int flags)\n Update the set of dependencies in a capturing stream (12.3+)\n\n    Modifies the dependency set of a capturing stream. The dependency set\n    is the set of nodes that the next captured node in the stream will\n    depend on along with the edge data for those dependencies.\n\n    Valid flags are :py:obj:`~.CU_STREAM_ADD_CAPTURE_DEPENDENCIES` and\n    :py:obj:`~.CU_STREAM_SET_CAPTURE_DEPENDENCIES`. These control whether\n    the set passed to the API is added to the existing set or replaces it.\n    A flags value of 0 defaults to\n    :py:obj:`~.CU_STREAM_ADD_CAPTURE_DEPENDENCIES`.\n\n    Nodes that are removed from the dependency set via this API do not\n    result in :py:obj:`~.CUDA_ERROR_STREAM_CAPTURE_UNJOINED` if they are\n    unreachable from the stream at :py:obj:`~.cuStreamEndCapture`.\n\n    Returns :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE` if the stream is not\n    capturing.\n\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        The stream to update\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        The set of dependencies to add\n    dependencyData : List[:py:obj:`~.CUgraphEdgeData`]\n        Optional array of data associated with each dependency.\n    numDependencies : size_t\n        The size of the dependencies array\n    flags : unsigned int\n        See above\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_ILLEGAL_STATE`\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamBeginCapture`, :py:obj:`~.cuStreamGetCaptureInfo`,\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_429cuStreamUpdateCaptureDependencies_v2 = {"cuStreamUpdateCaptureDependencies_v2", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_429cuStreamUpdateCaptureDependencies_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_428cuStreamUpdateCaptureDependencies_v2};
static PyObject *__pyx_pw_4cuda_4cuda_429cuStreamUpdateCaptureDependencies_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hStream = 0;
  PyObject *__pyx_v_dependencies = 0;
  PyObject *__pyx_v_dependencyData = 0;
  size_t __pyx_v_numDependencies;
  unsigned int __pyx_v_flags;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuStreamUpdateCaptureDependencies_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,&__pyx_n_s_dependencies,&__pyx_n_s_dependencyData,&__pyx_n_s_numDependencies,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28087, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28087, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamUpdateCaptureDependencies_v2", 1, 5, 5, 1); __PYX_ERR(1, 28087, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencyData)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28087, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamUpdateCaptureDependencies_v2", 1, 5, 5, 2); __PYX_ERR(1, 28087, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28087, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamUpdateCaptureDependencies_v2", 1, 5, 5, 3); __PYX_ERR(1, 28087, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28087, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamUpdateCaptureDependencies_v2", 1, 5, 5, 4); __PYX_ERR(1, 28087, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamUpdateCaptureDependencies_v2") < 0)) __PYX_ERR(1, 28087, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_hStream = values[0];
    __pyx_v_dependencies = ((PyObject*)values[1]);
    __pyx_v_dependencyData = ((PyObject*)values[2]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 28088, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[4]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 28088, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamUpdateCaptureDependencies_v2", 1, 5, 5, __pyx_nargs); __PYX_ERR(1, 28087, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamUpdateCaptureDependencies_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 28088, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencyData), (&PyList_Type), 1, "dependencyData", 1))) __PYX_ERR(1, 28088, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_428cuStreamUpdateCaptureDependencies_v2(__pyx_self, __pyx_v_hStream, __pyx_v_dependencies, __pyx_v_dependencyData, __pyx_v_numDependencies, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_36cuStreamUpdateCaptureDependencies_v2_2generator18(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":28131
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 */

static PyObject *__pyx_pf_4cuda_4cuda_36cuStreamUpdateCaptureDependencies_v2_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_18_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_18_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_18_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_18_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 28131, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_36cuStreamUpdateCaptureDependencies_v2_2generator18, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuStreamUpdateCaptureDependencie_2, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 28131, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.cuStreamUpdateCaptureDependencies_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_4cuda_36cuStreamUpdateCaptureDependencies_v2_2generator18(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_18_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_18_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 28131, 0, __PYX_ERR(1, 28131, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 28131, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 28131, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 28131, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 28131, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 28131, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphEdgeData); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_36cuStreamUpdateCaptureDependencies_v2_5generator19(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":28134
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUstream chStream
 */

static PyObject *__pyx_pf_4cuda_4cuda_36cuStreamUpdateCaptureDependencies_v2_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_19_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_19_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_19_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_19_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 28134, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_36cuStreamUpdateCaptureDependencies_v2_5generator19, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuStreamUpdateCaptureDependencie_2, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 28134, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.cuStreamUpdateCaptureDependencies_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_4cuda_36cuStreamUpdateCaptureDependencies_v2_5generator19(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_19_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_19_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 28134, 0, __PYX_ERR(1, 28134, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 28134, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 28134, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 28134, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 28134, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 28134, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28087
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies_v2(hStream, dependencies : Optional[List[CUgraphNode]], dependencyData : Optional[List[CUgraphEdgeData]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (12.3+)
 */

static PyObject *__pyx_pf_4cuda_4cuda_428cuStreamUpdateCaptureDependencies_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_dependencies, PyObject *__pyx_v_dependencyData, size_t __pyx_v_numDependencies, unsigned int __pyx_v_flags) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUgraphEdgeData *__pyx_v_cdependencyData;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_36cuStreamUpdateCaptureDependencies_v2_2generator18 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_36cuStreamUpdateCaptureDependencies_v2_5generator19 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  CUgraphNode *__pyx_t_10;
  struct CUgraphEdgeData_st *__pyx_t_11;
  CUresult __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__707)
  __Pyx_RefNannySetupContext("cuStreamUpdateCaptureDependencies_v2", 0);
  __Pyx_TraceCall("cuStreamUpdateCaptureDependencies_v2", __pyx_f[1], 28087, 0, __PYX_ERR(1, 28087, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);
  __Pyx_INCREF(__pyx_v_dependencyData);

  /* "cuda/cuda.pyx":28130
 *     :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 List[ccuda.CUgraphEdgeData,]")
 */
  __pyx_t_2 = (__pyx_v_dependencyData == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28130, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":28131
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_36cuStreamUpdateCaptureDependencies_v2_genexpr(NULL, __pyx_v_dependencyData); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28131, __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(1, 28131, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":28132
 *     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 List[ccuda.CUgraphEdgeData,]")             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__699, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28132, __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(1, 28132, __pyx_L1_error)

    /* "cuda/cuda.pyx":28131
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 */
  }

  /* "cuda/cuda.pyx":28133
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_4 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_4) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28133, __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, ((PyObject*)__pyx_t_3));
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":28134
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUstream chStream
 */
  __pyx_t_3 = __pyx_pf_4cuda_4cuda_36cuStreamUpdateCaptureDependencies_v2_3genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28134, __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(1, 28134, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":28135
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28135, __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, 28135, __pyx_L1_error)

    /* "cuda/cuda.pyx":28134
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUstream chStream
 */
  }

  /* "cuda/cuda.pyx":28137
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_2 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":28138
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28137
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":28139
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":28140
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_phStream = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":28141
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28141, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":28139
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":28143
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
  /*else*/ {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_phStream = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":28144
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28144, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":28145
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":28146
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 28146, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 28146, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 > 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":28147
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 28147, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 28147, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":28148
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_2 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cuda.pyx":28149
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 28149, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 28149, __pyx_L1_error)
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28149, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28149, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 28149, __pyx_L1_error)

      /* "cuda/cuda.pyx":28148
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":28151
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 28151, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 28151, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":28152
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL
 *     if len(dependencyData) > 0:
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 28152, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28152, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":28146
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":28153
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencyData) > 0:
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 */
  __pyx_v_cdependencyData = NULL;

  /* "cuda/cuda.pyx":28154
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL
 *     if len(dependencyData) > 0:             # <<<<<<<<<<<<<<
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 *         if cdependencyData is NULL:
 */
  if (unlikely(__pyx_v_dependencyData == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 28154, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 28154, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 > 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":28155
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL
 *     if len(dependencyData) > 0:
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *         if cdependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 */
    if (unlikely(__pyx_v_dependencyData == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 28155, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 28155, __pyx_L1_error)
    __pyx_v_cdependencyData = ((CUgraphEdgeData *)calloc(__pyx_t_6, (sizeof(CUgraphEdgeData))));

    /* "cuda/cuda.pyx":28156
 *     if len(dependencyData) > 0:
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 *         if cdependencyData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
 */
    __pyx_t_2 = (__pyx_v_cdependencyData == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cuda.pyx":28157
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 *         if cdependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cdependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 */
      if (unlikely(__pyx_v_dependencyData == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 28157, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 28157, __pyx_L1_error)
      __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28157, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28157, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28157, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28157, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28157, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28157, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28157, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28157, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(1, 28157, __pyx_L1_error)

      /* "cuda/cuda.pyx":28156
 *     if len(dependencyData) > 0:
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 *         if cdependencyData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
 */
    }

    /* "cuda/cuda.pyx":28158
 *         if cdependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cdependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     err = ccuda.cuStreamUpdateCaptureDependencies_v2(chStream, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, flags)
 */
    if (unlikely(__pyx_v_dependencyData == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 28158, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 28158, __pyx_L1_error)
    __pyx_t_8 = __pyx_t_6;
    for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
      __pyx_v_idx = __pyx_t_9;

      /* "cuda/cuda.pyx":28159
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cdependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamUpdateCaptureDependencies_v2(chStream, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, flags)
 *     if cdependencies is not NULL:
 */
      if (unlikely(__pyx_v_dependencyData == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(1, 28159, __pyx_L1_error)
      }
      __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_dependencyData, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28159, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      (void)(memcpy((&(__pyx_v_cdependencyData[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData *)__pyx_t_1)->__pyx_base._ptr, (sizeof(CUgraphEdgeData))));
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }

    /* "cuda/cuda.pyx":28154
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL
 *     if len(dependencyData) > 0:             # <<<<<<<<<<<<<<
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 *         if cdependencyData is NULL:
 */
  }

  /* "cuda/cuda.pyx":28160
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cdependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     err = ccuda.cuStreamUpdateCaptureDependencies_v2(chStream, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, flags)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 28160, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 28160, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 == 1);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 28160, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_10 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1)->_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cdependencies;
  }
  if (unlikely(__pyx_v_dependencyData == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 28160, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 28160, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 == 1);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_dependencyData == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 28160, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_dependencyData, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = ((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData *)__pyx_t_1)->__pyx_base._ptr;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cdependencyData;
  }
  __pyx_t_12 = __pyx_f_4cuda_5ccuda_cuStreamUpdateCaptureDependencies_v2(__pyx_v_chStream, __pyx_t_10, __pyx_t_11, __pyx_v_numDependencies, __pyx_v_flags); if (unlikely(__pyx_t_12 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 28160, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cuda.pyx":28161
 *             string.memcpy(&cdependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     err = ccuda.cuStreamUpdateCaptureDependencies_v2(chStream, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, flags)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     if cdependencyData is not NULL:
 */
  __pyx_t_2 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":28162
 *     err = ccuda.cuStreamUpdateCaptureDependencies_v2(chStream, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, flags)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     if cdependencyData is not NULL:
 *         free(cdependencyData)
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":28161
 *             string.memcpy(&cdependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     err = ccuda.cuStreamUpdateCaptureDependencies_v2(chStream, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, flags)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     if cdependencyData is not NULL:
 */
  }

  /* "cuda/cuda.pyx":28163
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     if cdependencyData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencyData)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = (__pyx_v_cdependencyData != NULL);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":28164
 *         free(cdependencies)
 *     if cdependencyData is not NULL:
 *         free(cdependencyData)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
    free(__pyx_v_cdependencyData);

    /* "cuda/cuda.pyx":28163
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     if cdependencyData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencyData)
 *     return (CUresult(err),)
 */
  }

  /* "cuda/cuda.pyx":28165
 *     if cdependencyData is not NULL:
 *         free(cdependencyData)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_13 = NULL;
  __pyx_t_14 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_14 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_14, 1+__pyx_t_14);
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28165, __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)) __PYX_ERR(1, 28165, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":28087
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies_v2(hStream, dependencies : Optional[List[CUgraphNode]], dependencyData : Optional[List[CUgraphEdgeData]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (12.3+)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cuda.cuStreamUpdateCaptureDependencies_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_36cuStreamUpdateCaptureDependencies_v2_2generator18);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_36cuStreamUpdateCaptureDependencies_v2_5generator19);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XDECREF(__pyx_v_dependencyData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28167
 *     return (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_4cuda_431cuStreamAttachMemAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_430cuStreamAttachMemAsync, "cuStreamAttachMemAsync(hStream, dptr, size_t length, unsigned int flags)\n Attach memory to a stream asynchronously.\n\n    Enqueues an operation in `hStream` to specify stream association of\n    `length` bytes of memory starting from `dptr`. This function is a\n    stream-ordered operation, meaning that it is dependent on, and will\n    only take effect when, previous work in stream has completed. Any\n    previous 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\n    For managed allocations, `length` must be either zero or the entire\n    allocation's size. Both indicate that the entire allocation's stream\n    association is being changed. Currently, it is not possible to change\n    stream association for a portion of a managed allocation.\n\n    For pageable host allocations, `length` must be non-zero.\n\n    The stream association is specified using `flags` which must be one of\n    :py:obj:`~.CUmemAttach_flags`. If the :py:obj:`~.CU_MEM_ATTACH_GLOBAL`\n    flag is specified, the memory can be accessed by any stream on any\n    device. If the :py:obj:`~.CU_MEM_ATTACH_HOST` flag is specified, the\n    program makes a guarantee that it won't access the memory on the device\n    from any stream on a device that has a zero value for the device\n    attribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`. If\n    the :py:obj:`~.CU_MEM_ATTACH_SINGLE` flag is specified and `hStream` is\n    associated with a device that has a zero value for the device attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONC""URRENT_MANAGED_ACCESS`, the program\n    makes a guarantee that it will only access the memory on the device\n    from `hStream`. It is illegal to attach singly to the NULL stream,\n    because the NULL stream is a virtual global stream and not a specific\n    stream. An error will be returned in this case.\n\n    When memory is associated with a single stream, the Unified Memory\n    system will allow CPU access to this memory region so long as all\n    operations in `hStream` have completed, regardless of whether other\n    streams are active. In effect, this constrains exclusive ownership of\n    the managed memory region by an active GPU to per-stream activity\n    instead of whole-GPU activity.\n\n    Accessing memory on the device from streams that are not associated\n    with it will produce undefined results. No error checking is performed\n    by the Unified Memory system to ensure that kernels launched into other\n    streams do not access this region.\n\n    It is a program's responsibility to order calls to\n    :py:obj:`~.cuStreamAttachMemAsync` via events, synchronization or other\n    means to ensure legal access to memory at all times. Data visibility\n    and coherency will be changed appropriately for all kernels which\n    follow a stream-association change.\n\n    If `hStream` is destroyed while data is associated with it, the\n    association is removed and the association reverts to the default\n    visibility of the allocation as specified at\n    :py:obj:`~.cuMemAllocManaged`. For managed variables, the default\n    association is always :py:obj:`~.CU_MEM_ATTACH_GLOBAL`. Note that\n    destroying a stream is an asynchronous operation, and as a result, the\n    change to default association won't happen until all work in the stream\n    has completed.\n\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream in which to enqueue the attach operation\n    dptr : :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)\n    length : size_t\n        Length of memory\n    flags : unsigned int\n        Must be one of :py:obj:`~.CUmemAttach_flags`\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_NOT_SUPPORTED`\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuMemAllocManaged`, :py:obj:`~.cudaStreamAttachMemAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_431cuStreamAttachMemAsync = {"cuStreamAttachMemAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_431cuStreamAttachMemAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_430cuStreamAttachMemAsync};
static PyObject *__pyx_pw_4cuda_4cuda_431cuStreamAttachMemAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,&__pyx_n_s_dptr_2,&__pyx_n_s_length,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28167, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28167, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamAttachMemAsync", 1, 4, 4, 1); __PYX_ERR(1, 28167, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_length)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28167, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamAttachMemAsync", 1, 4, 4, 2); __PYX_ERR(1, 28167, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28167, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamAttachMemAsync", 1, 4, 4, 3); __PYX_ERR(1, 28167, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamAttachMemAsync") < 0)) __PYX_ERR(1, 28167, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hStream = values[0];
    __pyx_v_dptr = values[1];
    __pyx_v_length = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_length == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 28168, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 28168, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamAttachMemAsync", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 28167, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamAttachMemAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_430cuStreamAttachMemAsync(__pyx_self, __pyx_v_hStream, __pyx_v_dptr, __pyx_v_length, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_430cuStreamAttachMemAsync(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_cdptr;
  PyObject *__pyx_v_pdptr = NULL;
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__708)
  __Pyx_RefNannySetupContext("cuStreamAttachMemAsync", 1);
  __Pyx_TraceCall("cuStreamAttachMemAsync", __pyx_f[1], 28167, 0, __PYX_ERR(1, 28167, __pyx_L1_error));

  /* "cuda/cuda.pyx":28258
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28259
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 */
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28258
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28260
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28261
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28261, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28262
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28262, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28260
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28264
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef ccuda.CUstream chStream
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28265
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28265, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":28267
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28268
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28267
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":28269
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28270
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28271
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28271, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28269
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":28273
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     err = ccuda.cuStreamAttachMemAsync(chStream, cdptr, length, flags)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28274
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamAttachMemAsync(chStream, cdptr, length, flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28274, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":28275
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     err = ccuda.cuStreamAttachMemAsync(chStream, cdptr, length, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamAttachMemAsync(__pyx_v_chStream, __pyx_v_cdptr, __pyx_v_length, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 28275, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":28276
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     err = ccuda.cuStreamAttachMemAsync(chStream, cdptr, length, flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 28276, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 28276, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":28167
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28278
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamQuery(hStream):
 *     """ Determine status of a compute stream.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_433cuStreamQuery(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_432cuStreamQuery, "cuStreamQuery(hStream)\n Determine status of a compute stream.\n\n    Returns :py:obj:`~.CUDA_SUCCESS` if all operations in the stream\n    specified by `hStream` have completed, or\n    :py:obj:`~.CUDA_ERROR_NOT_READY` if not.\n\n    For the purposes of Unified Memory, a return value of\n    :py:obj:`~.CUDA_SUCCESS` is equivalent to having called\n    :py:obj:`~.cuStreamSynchronize()`.\n\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to query status of\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_NOT_READY`\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.cudaStreamQuery`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_433cuStreamQuery = {"cuStreamQuery", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_433cuStreamQuery, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_432cuStreamQuery};
static PyObject *__pyx_pw_4cuda_4cuda_433cuStreamQuery(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28278, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamQuery") < 0)) __PYX_ERR(1, 28278, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamQuery", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 28278, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamQuery", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_432cuStreamQuery(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_432cuStreamQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__709)
  __Pyx_RefNannySetupContext("cuStreamQuery", 1);
  __Pyx_TraceCall("cuStreamQuery", __pyx_f[1], 28278, 0, __PYX_ERR(1, 28278, __pyx_L1_error));

  /* "cuda/cuda.pyx":28305
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28306
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28305
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28307
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28308
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28309
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28309, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28307
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28311
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     err = ccuda.cuStreamQuery(chStream)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28312
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamQuery(chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28312, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":28313
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     err = ccuda.cuStreamQuery(chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamQuery(__pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 28313, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":28314
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     err = ccuda.cuStreamQuery(chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 28314, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":28278
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuStreamQuery", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28316
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamSynchronize(hStream):
 *     """ Wait until a stream's tasks are completed.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_435cuStreamSynchronize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_434cuStreamSynchronize, "cuStreamSynchronize(hStream)\n Wait 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_4cuda_435cuStreamSynchronize = {"cuStreamSynchronize", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_435cuStreamSynchronize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_434cuStreamSynchronize};
static PyObject *__pyx_pw_4cuda_4cuda_435cuStreamSynchronize(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28316, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamSynchronize") < 0)) __PYX_ERR(1, 28316, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamSynchronize", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 28316, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamSynchronize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_434cuStreamSynchronize(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_434cuStreamSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__710)
  __Pyx_RefNannySetupContext("cuStreamSynchronize", 1);
  __Pyx_TraceCall("cuStreamSynchronize", __pyx_f[1], 28316, 0, __PYX_ERR(1, 28316, __pyx_L1_error));

  /* "cuda/cuda.pyx":28342
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28343
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28342
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28344
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28345
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28345, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28346
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28346, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28344
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28348
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     err = ccuda.cuStreamSynchronize(chStream)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28349
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamSynchronize(chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28349, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":28350
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     err = ccuda.cuStreamSynchronize(chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamSynchronize(__pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 28350, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":28351
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     err = ccuda.cuStreamSynchronize(chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28351, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 28351, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":28316
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuStreamSynchronize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28353
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamDestroy(hStream):
 *     """ Destroys a stream.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_437cuStreamDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_436cuStreamDestroy, "cuStreamDestroy(hStream)\n Destroys a stream.\n\n    Destroys the stream specified by `hStream`.\n\n    In case the device is still doing work in the stream `hStream` when\n    :py:obj:`~.cuStreamDestroy()` is called, the function will return\n    immediately and the resources associated with `hStream` will be\n    released automatically once the device has completed all work in\n    `hStream`.\n\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to destroy\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamCreate`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.cudaStreamDestroy`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_437cuStreamDestroy = {"cuStreamDestroy", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_437cuStreamDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_436cuStreamDestroy};
static PyObject *__pyx_pw_4cuda_4cuda_437cuStreamDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28353, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamDestroy") < 0)) __PYX_ERR(1, 28353, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 28353, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_436cuStreamDestroy(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_436cuStreamDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__711)
  __Pyx_RefNannySetupContext("cuStreamDestroy", 1);
  __Pyx_TraceCall("cuStreamDestroy", __pyx_f[1], 28353, 0, __PYX_ERR(1, 28353, __pyx_L1_error));

  /* "cuda/cuda.pyx":28380
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28381
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28380
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28382
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28383
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28384
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28384, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28382
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28386
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     err = ccuda.cuStreamDestroy(chStream)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28387
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamDestroy(chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28387, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":28388
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     err = ccuda.cuStreamDestroy(chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamDestroy(__pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 28388, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":28389
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     err = ccuda.cuStreamDestroy(chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28389, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 28389, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":28353
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuStreamDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28391
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamCopyAttributes(dst, src):
 *     """ Copies attributes from source stream to destination stream.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_439cuStreamCopyAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_438cuStreamCopyAttributes, "cuStreamCopyAttributes(dst, src)\n Copies attributes from source stream to destination stream.\n\n    Copies attributes from source stream `src` to destination stream `dst`.\n    Both streams must have the same context.\n\n    Parameters\n    ----------\n    dst : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Destination stream\n    src : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Source stream For list of attributes see :py:obj:`~.CUstreamAttrID`\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.CUaccessPolicyWindow`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_439cuStreamCopyAttributes = {"cuStreamCopyAttributes", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_439cuStreamCopyAttributes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_438cuStreamCopyAttributes};
static PyObject *__pyx_pw_4cuda_4cuda_439cuStreamCopyAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_src,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dst_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28391, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_src)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28391, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamCopyAttributes", 1, 2, 2, 1); __PYX_ERR(1, 28391, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamCopyAttributes") < 0)) __PYX_ERR(1, 28391, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 28391, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamCopyAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_438cuStreamCopyAttributes(__pyx_self, __pyx_v_dst, __pyx_v_src);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_438cuStreamCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src) {
  CUstream __pyx_v_csrc;
  PyObject *__pyx_v_psrc = NULL;
  CUstream __pyx_v_cdst;
  PyObject *__pyx_v_pdst = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__712)
  __Pyx_RefNannySetupContext("cuStreamCopyAttributes", 1);
  __Pyx_TraceCall("cuStreamCopyAttributes", __pyx_f[1], 28391, 0, __PYX_ERR(1, 28391, __pyx_L1_error));

  /* "cuda/cuda.pyx":28415
 *     """
 *     cdef ccuda.CUstream csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(src, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_src == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28416
 *     cdef ccuda.CUstream csrc
 *     if src is None:
 *         csrc = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(src, (CUstream,)):
 *         psrc = int(src)
 */
    __pyx_v_csrc = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28415
 *     """
 *     cdef ccuda.CUstream csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(src, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28417
 *     if src is None:
 *         csrc = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(src, (CUstream,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccuda.CUstream><void_ptr>psrc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_src, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28418
 *         csrc = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(src, (CUstream,)):
 *         psrc = int(src)             # <<<<<<<<<<<<<<
 *         csrc = <ccuda.CUstream><void_ptr>psrc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_src); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28419
 *     elif isinstance(src, (CUstream,)):
 *         psrc = int(src)
 *         csrc = <ccuda.CUstream><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     else:
 *         psrc = int(CUstream(src))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28419, __pyx_L1_error)
    __pyx_v_csrc = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28417
 *     if src is None:
 *         csrc = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(src, (CUstream,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccuda.CUstream><void_ptr>psrc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28421
 *         csrc = <ccuda.CUstream><void_ptr>psrc
 *     else:
 *         psrc = int(CUstream(src))             # <<<<<<<<<<<<<<
 *         csrc = <ccuda.CUstream><void_ptr>psrc
 *     cdef ccuda.CUstream cdst
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_src); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28421, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28421, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28422
 *     else:
 *         psrc = int(CUstream(src))
 *         csrc = <ccuda.CUstream><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstream cdst
 *     if dst is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28422, __pyx_L1_error)
    __pyx_v_csrc = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":28424
 *         csrc = <ccuda.CUstream><void_ptr>psrc
 *     cdef ccuda.CUstream cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(dst, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28425
 *     cdef ccuda.CUstream cdst
 *     if dst is None:
 *         cdst = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dst, (CUstream,)):
 *         pdst = int(dst)
 */
    __pyx_v_cdst = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28424
 *         csrc = <ccuda.CUstream><void_ptr>psrc
 *     cdef ccuda.CUstream cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(dst, (CUstream,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":28426
 *     if dst is None:
 *         cdst = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(dst, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccuda.CUstream><void_ptr>pdst
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28427
 *         cdst = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(dst, (CUstream,)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *         cdst = <ccuda.CUstream><void_ptr>pdst
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdst = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28428
 *     elif isinstance(dst, (CUstream,)):
 *         pdst = int(dst)
 *         cdst = <ccuda.CUstream><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(CUstream(dst))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28428, __pyx_L1_error)
    __pyx_v_cdst = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28426
 *     if dst is None:
 *         cdst = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(dst, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccuda.CUstream><void_ptr>pdst
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":28430
 *         cdst = <ccuda.CUstream><void_ptr>pdst
 *     else:
 *         pdst = int(CUstream(dst))             # <<<<<<<<<<<<<<
 *         cdst = <ccuda.CUstream><void_ptr>pdst
 *     err = ccuda.cuStreamCopyAttributes(cdst, csrc)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_dst); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28430, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28430, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdst = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28431
 *     else:
 *         pdst = int(CUstream(dst))
 *         cdst = <ccuda.CUstream><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamCopyAttributes(cdst, csrc)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28431, __pyx_L1_error)
    __pyx_v_cdst = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":28432
 *         pdst = int(CUstream(dst))
 *         cdst = <ccuda.CUstream><void_ptr>pdst
 *     err = ccuda.cuStreamCopyAttributes(cdst, csrc)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamCopyAttributes(__pyx_v_cdst, __pyx_v_csrc); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 28432, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":28433
 *         cdst = <ccuda.CUstream><void_ptr>pdst
 *     err = ccuda.cuStreamCopyAttributes(cdst, csrc)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 28433, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 28433, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":28391
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28435
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetAttribute(hStream, attr not None : CUstreamAttrID):
 *     """ Queries stream attribute.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_441cuStreamGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_440cuStreamGetAttribute, "cuStreamGetAttribute(hStream, attr: CUstreamAttrID)\n Queries stream attribute.\n\n    Queries attribute `attr` from `hStream` and stores it in corresponding\n    member of `value_out`.\n\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n\n    attr : :py:obj:`~.CUstreamAttrID`\n\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n    value_out : :py:obj:`~.CUstreamAttrValue`\n\n\n    See Also\n    --------\n    :py:obj:`~.CUaccessPolicyWindow`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_441cuStreamGetAttribute = {"cuStreamGetAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_441cuStreamGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_440cuStreamGetAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_441cuStreamGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,&__pyx_n_s_attr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28435, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attr)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28435, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamGetAttribute", 1, 2, 2, 1); __PYX_ERR(1, 28435, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamGetAttribute") < 0)) __PYX_ERR(1, 28435, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 28435, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 28436, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_440cuStreamGetAttribute(__pyx_self, __pyx_v_hStream, __pyx_v_attr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_440cuStreamGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_attr) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUstreamAttrID __pyx_v_cattr;
  struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue *__pyx_v_value_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUstreamAttrID __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__713)
  __Pyx_RefNannySetupContext("cuStreamGetAttribute", 1);
  __Pyx_TraceCall("cuStreamGetAttribute", __pyx_f[1], 28435, 0, __PYX_ERR(1, 28435, __pyx_L1_error));

  /* "cuda/cuda.pyx":28461
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28462
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28461
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28463
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28464
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28465
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28465, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28463
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28467
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUstreamAttrID cattr = attr.value
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28468
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstreamAttrID cattr = attr.value
 *     cdef CUstreamAttrValue value_out = CUstreamAttrValue()
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28468, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":28469
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUstreamAttrID cattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef CUstreamAttrValue value_out = CUstreamAttrValue()
 *     err = ccuda.cuStreamGetAttribute(chStream, cattr, <ccuda.CUstreamAttrValue*>value_out._ptr)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUlaunchAttributeID_enum)__Pyx_PyInt_As_enum__CUlaunchAttributeID_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattr = __pyx_t_5;

  /* "cuda/cuda.pyx":28470
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUstreamAttrID cattr = attr.value
 *     cdef CUstreamAttrValue value_out = CUstreamAttrValue()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamGetAttribute(chStream, cattr, <ccuda.CUstreamAttrValue*>value_out._ptr)
 *     return (CUresult(err), value_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamAttrValue)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_value_out = ((struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":28471
 *     cdef ccuda.CUstreamAttrID cattr = attr.value
 *     cdef CUstreamAttrValue value_out = CUstreamAttrValue()
 *     err = ccuda.cuStreamGetAttribute(chStream, cattr, <ccuda.CUstreamAttrValue*>value_out._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), value_out)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuStreamGetAttribute(__pyx_v_chStream, __pyx_v_cattr, ((CUstreamAttrValue *)__pyx_v_value_out->__pyx_base.__pyx_base.__pyx_base._ptr)); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 28471, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":28472
 *     cdef CUstreamAttrValue value_out = CUstreamAttrValue()
 *     err = ccuda.cuStreamGetAttribute(chStream, cattr, <ccuda.CUstreamAttrValue*>value_out._ptr)
 *     return (CUresult(err), value_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 28472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 28472, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_value_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_value_out))) __PYX_ERR(1, 28472, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":28435
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28474
 *     return (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_4cuda_443cuStreamSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_442cuStreamSetAttribute, "cuStreamSetAttribute(hStream, attr: CUstreamAttrID, CUstreamAttrValue value: Optional[CUstreamAttrValue])\n Sets stream attribute.\n\n    Sets attribute `attr` on `hStream` from corresponding attribute of\n    `value`. The updated attribute will be applied to subsequent work\n    submitted to the stream. It will not affect previously submitted work.\n\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n\n    attr : :py:obj:`~.CUstreamAttrID`\n\n    value : :py:obj:`~.CUstreamAttrValue`\n\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\n    See Also\n    --------\n    :py:obj:`~.CUaccessPolicyWindow`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_443cuStreamSetAttribute = {"cuStreamSetAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_443cuStreamSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_442cuStreamSetAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_443cuStreamSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,&__pyx_n_s_attr,&__pyx_n_s_value_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28474, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attr)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28474, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamSetAttribute", 1, 3, 3, 1); __PYX_ERR(1, 28474, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28474, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamSetAttribute", 1, 3, 3, 2); __PYX_ERR(1, 28474, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamSetAttribute") < 0)) __PYX_ERR(1, 28474, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hStream = values[0];
    __pyx_v_attr = values[1];
    __pyx_v_value = ((struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamSetAttribute", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 28474, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 28475, __pyx_L1_error)
  }
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_4cuda_4cuda_CUstreamAttrValue, 1, "value", 0))) __PYX_ERR(1, 28475, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_442cuStreamSetAttribute(__pyx_self, __pyx_v_hStream, __pyx_v_attr, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_442cuStreamSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_attr, struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue *__pyx_v_value) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUstreamAttrID __pyx_v_cattr;
  CUstreamAttrValue *__pyx_v_cvalue_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUstreamAttrID __pyx_t_5;
  union CUlaunchAttributeValue_union *__pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__714)
  __Pyx_RefNannySetupContext("cuStreamSetAttribute", 1);
  __Pyx_TraceCall("cuStreamSetAttribute", __pyx_f[1], 28474, 0, __PYX_ERR(1, 28474, __pyx_L1_error));

  /* "cuda/cuda.pyx":28501
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28502
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28501
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28503
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28504
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28504, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28505
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28505, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28503
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28507
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUstreamAttrID cattr = attr.value
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28507, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28507, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28508
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstreamAttrID cattr = attr.value
 *     cdef ccuda.CUstreamAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28508, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":28509
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUstreamAttrID cattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstreamAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccuda.cuStreamSetAttribute(chStream, cattr, cvalue_ptr)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUlaunchAttributeID_enum)__Pyx_PyInt_As_enum__CUlaunchAttributeID_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28509, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattr = __pyx_t_5;

  /* "cuda/cuda.pyx":28510
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUstreamAttrID cattr = attr.value
 *     cdef ccuda.CUstreamAttrValue* cvalue_ptr = value._ptr if value != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamSetAttribute(chStream, cattr, cvalue_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_value), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28510, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 28510, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_6 = __pyx_v_value->__pyx_base.__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cvalue_ptr = __pyx_t_6;

  /* "cuda/cuda.pyx":28511
 *     cdef ccuda.CUstreamAttrID cattr = attr.value
 *     cdef ccuda.CUstreamAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccuda.cuStreamSetAttribute(chStream, cattr, cvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuStreamSetAttribute(__pyx_v_chStream, __pyx_v_cattr, __pyx_v_cvalue_ptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 28511, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":28512
 *     cdef ccuda.CUstreamAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccuda.cuStreamSetAttribute(chStream, cattr, cvalue_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 28512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  __pyx_t_10 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_10 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_8};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 28512, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":28474
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.cuStreamSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28514
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventCreate(unsigned int Flags):
 *     """ Creates an event.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_445cuEventCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_444cuEventCreate, "cuEventCreate(unsigned int Flags)\n Creates an event.\n\n    Creates an event *phEvent for the current context with the flags\n    specified 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\n    Parameters\n    ----------\n    Flags : unsigned int\n        Event creation flags\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_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    phEvent : :py:obj:`~.CUevent`\n        Returns newly created event\n\n    See Also\n    --------\n    :py:obj:`~.cuEventRecord`, :py:obj:`~.cuEventQuery`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuEventDestroy`, :py:obj:`~.cuEventElapsedTime`, :py:obj:`~.cudaEventCreate`, :py:obj:`~.cudaEventCreateWithFlags`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_445cuEventCreate = {"cuEventCreate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_445cuEventCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_444cuEventCreate};
static PyObject *__pyx_pw_4cuda_4cuda_445cuEventCreate(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_Flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28514, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuEventCreate") < 0)) __PYX_ERR(1, 28514, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_Flags = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 28515, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 28514, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuEventCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_444cuEventCreate(__pyx_self, __pyx_v_Flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_444cuEventCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_Flags) {
  struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_phEvent = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__715)
  __Pyx_RefNannySetupContext("cuEventCreate", 1);
  __Pyx_TraceCall("cuEventCreate", __pyx_f[1], 28514, 0, __PYX_ERR(1, 28514, __pyx_L1_error));

  /* "cuda/cuda.pyx":28555
 *     :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()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuEventCreate(<ccuda.CUevent*>phEvent._ptr, Flags)
 *     return (CUresult(err), phEvent)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 28555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_phEvent = ((struct __pyx_obj_4cuda_4cuda_CUevent *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":28556
 *     """
 *     cdef CUevent phEvent = CUevent()
 *     err = ccuda.cuEventCreate(<ccuda.CUevent*>phEvent._ptr, Flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phEvent)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuEventCreate(((CUevent *)__pyx_v_phEvent->_ptr), __pyx_v_Flags); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 28556, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":28557
 *     cdef CUevent phEvent = CUevent()
 *     err = ccuda.cuEventCreate(<ccuda.CUevent*>phEvent._ptr, Flags)
 *     return (CUresult(err), phEvent)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 28557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28557, __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)) __PYX_ERR(1, 28557, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phEvent);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phEvent);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_phEvent))) __PYX_ERR(1, 28557, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":28514
 *     return (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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuEventCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_phEvent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28559
 *     return (CUresult(err), phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventRecord(hEvent, hStream):
 *     """ Records an event.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_447cuEventRecord(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_446cuEventRecord, "cuEventRecord(hEvent, hStream)\n Records an event.\n\n    Captures in `hEvent` the contents of `hStream` at the time of this\n    call. `hEvent` and `hStream` must be from the same context. Calls such\n    as :py:obj:`~.cuEventQuery()` or :py:obj:`~.cuStreamWaitEvent()` will\n    then examine or wait for completion of the work that was captured. Uses\n    of `hStream` after this call do not modify `hEvent`. See note on\n    default stream behavior for what is captured in the default case.\n\n    :py:obj:`~.cuEventRecord()` can be called multiple times on the same\n    event and will overwrite the previously captured state. Other APIs such\n    as :py:obj:`~.cuStreamWaitEvent()` use the most recently captured state\n    at 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,\n    so for example :py:obj:`~.cuEventQuery()` would return\n    :py:obj:`~.CUDA_SUCCESS`.\n\n    Parameters\n    ----------\n    hEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event to record\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to record event 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`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_447cuEventRecord = {"cuEventRecord", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_447cuEventRecord, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_446cuEventRecord};
static PyObject *__pyx_pw_4cuda_4cuda_447cuEventRecord(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hEvent,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hEvent)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28559, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28559, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuEventRecord", 1, 2, 2, 1); __PYX_ERR(1, 28559, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuEventRecord") < 0)) __PYX_ERR(1, 28559, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 28559, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuEventRecord", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_446cuEventRecord(__pyx_self, __pyx_v_hEvent, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_446cuEventRecord(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUevent __pyx_v_chEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__716)
  __Pyx_RefNannySetupContext("cuEventRecord", 1);
  __Pyx_TraceCall("cuEventRecord", __pyx_f[1], 28559, 0, __PYX_ERR(1, 28559, __pyx_L1_error));

  /* "cuda/cuda.pyx":28596
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28597
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28596
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28598
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28599
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28599, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28600
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28600, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28598
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28602
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUevent chEvent
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28602, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28602, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28603
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28603, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":28605
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28606
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
 */
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28605
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":28607
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28608
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28608, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phEvent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28609
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28609, __pyx_L1_error)
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28607
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":28611
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     err = ccuda.cuEventRecord(chEvent, chStream)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_hEvent); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phEvent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28612
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     err = ccuda.cuEventRecord(chEvent, chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28612, __pyx_L1_error)
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":28613
 *         phEvent = int(CUevent(hEvent))
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     err = ccuda.cuEventRecord(chEvent, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuEventRecord(__pyx_v_chEvent, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 28613, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":28614
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     err = ccuda.cuEventRecord(chEvent, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 28614, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 28614, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":28559
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28616
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventRecordWithFlags(hEvent, hStream, unsigned int flags):
 *     """ Records an event.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_449cuEventRecordWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_448cuEventRecordWithFlags, "cuEventRecordWithFlags(hEvent, hStream, unsigned int flags)\n Records an event.\n\n    Captures in `hEvent` the contents of `hStream` at the time of this\n    call. `hEvent` and `hStream` must be from the same context. Calls such\n    as :py:obj:`~.cuEventQuery()` or :py:obj:`~.cuStreamWaitEvent()` will\n    then examine or wait for completion of the work that was captured. Uses\n    of `hStream` after this call do not modify `hEvent`. See note on\n    default stream behavior for what is captured in the default case.\n\n    :py:obj:`~.cuEventRecordWithFlags()` can be called multiple times on\n    the same event and will overwrite the previously captured state. Other\n    APIs such as :py:obj:`~.cuStreamWaitEvent()` use the most recently\n    captured state at the time of the API call, and are not affected by\n    later calls to :py:obj:`~.cuEventRecordWithFlags()`. Before the first\n    call to :py:obj:`~.cuEventRecordWithFlags()`, an event represents an\n    empty set of work, so for example :py:obj:`~.cuEventQuery()` would\n    return :py:obj:`~.CUDA_SUCCESS`.\n\n    flags 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\n    Parameters\n    ----------\n    hEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event to record\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to record event for\n    flags : unsigned int\n        See :py:obj:`~.CUevent_capture_flags`\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`\n\n    See Also\n    --------\n    :py:obj:`~.cuEventCreate`, "":py:obj:`~.cuEventQuery`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuEventDestroy`, :py:obj:`~.cuEventElapsedTime`, :py:obj:`~.cuEventRecord`, :py:obj:`~.cudaEventRecord`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_449cuEventRecordWithFlags = {"cuEventRecordWithFlags", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_449cuEventRecordWithFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_448cuEventRecordWithFlags};
static PyObject *__pyx_pw_4cuda_4cuda_449cuEventRecordWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hEvent,&__pyx_n_s_hStream_2,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hEvent)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28616, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28616, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuEventRecordWithFlags", 1, 3, 3, 1); __PYX_ERR(1, 28616, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28616, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuEventRecordWithFlags", 1, 3, 3, 2); __PYX_ERR(1, 28616, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuEventRecordWithFlags") < 0)) __PYX_ERR(1, 28616, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hEvent = values[0];
    __pyx_v_hStream = values[1];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 28617, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventRecordWithFlags", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 28616, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuEventRecordWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_448cuEventRecordWithFlags(__pyx_self, __pyx_v_hEvent, __pyx_v_hStream, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_448cuEventRecordWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent, PyObject *__pyx_v_hStream, unsigned int __pyx_v_flags) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUevent __pyx_v_chEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__717)
  __Pyx_RefNannySetupContext("cuEventRecordWithFlags", 1);
  __Pyx_TraceCall("cuEventRecordWithFlags", __pyx_f[1], 28616, 0, __PYX_ERR(1, 28616, __pyx_L1_error));

  /* "cuda/cuda.pyx":28663
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28664
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28663
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28665
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28666
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28667
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28667, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28665
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28669
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUevent chEvent
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28670
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28670, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":28672
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28673
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
 */
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28672
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":28674
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28675
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phEvent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28676
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28676, __pyx_L1_error)
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28674
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":28678
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     err = ccuda.cuEventRecordWithFlags(chEvent, chStream, flags)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_hEvent); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phEvent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28679
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     err = ccuda.cuEventRecordWithFlags(chEvent, chStream, flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28679, __pyx_L1_error)
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":28680
 *         phEvent = int(CUevent(hEvent))
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     err = ccuda.cuEventRecordWithFlags(chEvent, chStream, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuEventRecordWithFlags(__pyx_v_chEvent, __pyx_v_chStream, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 28680, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":28681
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     err = ccuda.cuEventRecordWithFlags(chEvent, chStream, flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 28681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 28681, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":28616
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28683
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventQuery(hEvent):
 *     """ Queries an event's status.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_451cuEventQuery(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_450cuEventQuery, "cuEventQuery(hEvent)\n Queries an event's status.\n\n    Queries the status of all work currently captured by `hEvent`. See\n    :py:obj:`~.cuEventRecord()` for details on what is captured by an\n    event.\n\n    Returns :py:obj:`~.CUDA_SUCCESS` if all captured work has been\n    completed, or :py:obj:`~.CUDA_ERROR_NOT_READY` if any captured work is\n    incomplete.\n\n    For the purposes of Unified Memory, a return value of\n    :py:obj:`~.CUDA_SUCCESS` is equivalent to having called\n    :py:obj:`~.cuEventSynchronize()`.\n\n    Parameters\n    ----------\n    hEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event to query\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_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_READY`\n\n    See Also\n    --------\n    :py:obj:`~.cuEventCreate`, :py:obj:`~.cuEventRecord`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuEventDestroy`, :py:obj:`~.cuEventElapsedTime`, :py:obj:`~.cudaEventQuery`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_451cuEventQuery = {"cuEventQuery", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_451cuEventQuery, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_450cuEventQuery};
static PyObject *__pyx_pw_4cuda_4cuda_451cuEventQuery(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hEvent,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hEvent)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28683, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuEventQuery") < 0)) __PYX_ERR(1, 28683, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hEvent = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventQuery", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 28683, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuEventQuery", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_450cuEventQuery(__pyx_self, __pyx_v_hEvent);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_450cuEventQuery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent) {
  CUevent __pyx_v_chEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__718)
  __Pyx_RefNannySetupContext("cuEventQuery", 1);
  __Pyx_TraceCall("cuEventQuery", __pyx_f[1], 28683, 0, __PYX_ERR(1, 28683, __pyx_L1_error));

  /* "cuda/cuda.pyx":28714
 *     """
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28715
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
 */
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28714
 *     """
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28716
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28717
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28718
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28718, __pyx_L1_error)
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28716
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28720
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     err = ccuda.cuEventQuery(chEvent)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28721
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     err = ccuda.cuEventQuery(chEvent)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28721, __pyx_L1_error)
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":28722
 *         phEvent = int(CUevent(hEvent))
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     err = ccuda.cuEventQuery(chEvent)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuEventQuery(__pyx_v_chEvent); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 28722, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":28723
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     err = ccuda.cuEventQuery(chEvent)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 28723, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":28683
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuEventQuery", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phEvent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28725
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventSynchronize(hEvent):
 *     """ Waits for an event to complete.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_453cuEventSynchronize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_452cuEventSynchronize, "cuEventSynchronize(hEvent)\n Waits for an event to complete.\n\n    Waits until the completion of all work currently captured in `hEvent`.\n    See :py:obj:`~.cuEventRecord()` for details on what is captured by an\n    event.\n\n    Waiting for an event that was created with the\n    :py:obj:`~.CU_EVENT_BLOCKING_SYNC` flag will cause the calling CPU\n    thread to block until the event has been completed by the device. If\n    the :py:obj:`~.CU_EVENT_BLOCKING_SYNC` flag has not been set, then the\n    CPU thread will busy-wait until the event has been completed by the\n    device.\n\n    Parameters\n    ----------\n    hEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event 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:`~.cuEventCreate`, :py:obj:`~.cuEventRecord`, :py:obj:`~.cuEventQuery`, :py:obj:`~.cuEventDestroy`, :py:obj:`~.cuEventElapsedTime`, :py:obj:`~.cudaEventSynchronize`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_453cuEventSynchronize = {"cuEventSynchronize", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_453cuEventSynchronize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_452cuEventSynchronize};
static PyObject *__pyx_pw_4cuda_4cuda_453cuEventSynchronize(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hEvent,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hEvent)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28725, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuEventSynchronize") < 0)) __PYX_ERR(1, 28725, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hEvent = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventSynchronize", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 28725, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuEventSynchronize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_452cuEventSynchronize(__pyx_self, __pyx_v_hEvent);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_452cuEventSynchronize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent) {
  CUevent __pyx_v_chEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__719)
  __Pyx_RefNannySetupContext("cuEventSynchronize", 1);
  __Pyx_TraceCall("cuEventSynchronize", __pyx_f[1], 28725, 0, __PYX_ERR(1, 28725, __pyx_L1_error));

  /* "cuda/cuda.pyx":28755
 *     """
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28756
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
 */
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28755
 *     """
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28757
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28758
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28759
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28759, __pyx_L1_error)
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28757
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28761
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     err = ccuda.cuEventSynchronize(chEvent)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28762
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     err = ccuda.cuEventSynchronize(chEvent)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28762, __pyx_L1_error)
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":28763
 *         phEvent = int(CUevent(hEvent))
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     err = ccuda.cuEventSynchronize(chEvent)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuEventSynchronize(__pyx_v_chEvent); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 28763, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":28764
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     err = ccuda.cuEventSynchronize(chEvent)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 28764, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":28725
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuEventSynchronize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phEvent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28766
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventDestroy(hEvent):
 *     """ Destroys an event.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_455cuEventDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_454cuEventDestroy, "cuEventDestroy(hEvent)\n Destroys an event.\n\n    Destroys the event specified by `hEvent`.\n\n    An 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\n    block on completion of the event, and any associated resources will\n    automatically be released asynchronously at completion.\n\n    Parameters\n    ----------\n    hEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event to destroy\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:`~.cuEventCreate`, :py:obj:`~.cuEventRecord`, :py:obj:`~.cuEventQuery`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuEventElapsedTime`, :py:obj:`~.cudaEventDestroy`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_455cuEventDestroy = {"cuEventDestroy", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_455cuEventDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_454cuEventDestroy};
static PyObject *__pyx_pw_4cuda_4cuda_455cuEventDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hEvent,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hEvent)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28766, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuEventDestroy") < 0)) __PYX_ERR(1, 28766, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hEvent = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 28766, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuEventDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_454cuEventDestroy(__pyx_self, __pyx_v_hEvent);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_454cuEventDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hEvent) {
  CUevent __pyx_v_chEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__720)
  __Pyx_RefNannySetupContext("cuEventDestroy", 1);
  __Pyx_TraceCall("cuEventDestroy", __pyx_f[1], 28766, 0, __PYX_ERR(1, 28766, __pyx_L1_error));

  /* "cuda/cuda.pyx":28793
 *     """
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28794
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
 */
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28793
 *     """
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28795
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28796
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28797
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28797, __pyx_L1_error)
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28795
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28799
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     err = ccuda.cuEventDestroy(chEvent)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28799, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28799, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28800
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     err = ccuda.cuEventDestroy(chEvent)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28800, __pyx_L1_error)
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":28801
 *         phEvent = int(CUevent(hEvent))
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     err = ccuda.cuEventDestroy(chEvent)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuEventDestroy(__pyx_v_chEvent); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 28801, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":28802
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     err = ccuda.cuEventDestroy(chEvent)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 28802, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":28766
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuEventDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phEvent);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28804
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventElapsedTime(hStart, hEnd):
 *     """ Computes the elapsed time between two events.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_457cuEventElapsedTime(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_456cuEventElapsedTime, "cuEventElapsedTime(hStart, hEnd)\n Computes the elapsed time between two events.\n\n    Computes the elapsed time between two events (in milliseconds with a\n    resolution of around 0.5 microseconds).\n\n    If either event was last recorded in a non-NULL stream, the resulting\n    time may be greater than expected (even if both used the same stream\n    handle). This happens because the :py:obj:`~.cuEventRecord()` operation\n    takes place asynchronously and there is no guarantee that the measured\n    latency is actually just between the two events. Any number of other\n    different stream operations could execute in between the two measured\n    events, thus altering the timing in a significant way.\n\n    If :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\n    both 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\n    created with the :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag, then this\n    function will return :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`.\n\n    Parameters\n    ----------\n    hStart : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Starting event\n    hEnd : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Ending event\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_NOT_READY`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n    pMilliseconds : float\n        Time between `hStart` and `hEnd` in ms\n\n    See Also\n    --------\n    :py:obj:`~.cuEventCreate`, :py:obj:`~.cuEventRecord`, :py:obj:`~.cuEventQuery`, :py"":obj:`~.cuEventSynchronize`, :py:obj:`~.cuEventDestroy`, :py:obj:`~.cudaEventElapsedTime`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_457cuEventElapsedTime = {"cuEventElapsedTime", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_457cuEventElapsedTime, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_456cuEventElapsedTime};
static PyObject *__pyx_pw_4cuda_4cuda_457cuEventElapsedTime(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStart,&__pyx_n_s_hEnd,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStart)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28804, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hEnd)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28804, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuEventElapsedTime", 1, 2, 2, 1); __PYX_ERR(1, 28804, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuEventElapsedTime") < 0)) __PYX_ERR(1, 28804, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 28804, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuEventElapsedTime", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_456cuEventElapsedTime(__pyx_self, __pyx_v_hStart, __pyx_v_hEnd);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_456cuEventElapsedTime(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStart, PyObject *__pyx_v_hEnd) {
  CUevent __pyx_v_chEnd;
  PyObject *__pyx_v_phEnd = NULL;
  CUevent __pyx_v_chStart;
  PyObject *__pyx_v_phStart = NULL;
  float __pyx_v_pMilliseconds;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__721)
  __Pyx_RefNannySetupContext("cuEventElapsedTime", 1);
  __Pyx_TraceCall("cuEventElapsedTime", __pyx_f[1], 28804, 0, __PYX_ERR(1, 28804, __pyx_L1_error));

  /* "cuda/cuda.pyx":28848
 *     """
 *     cdef ccuda.CUevent chEnd
 *     if hEnd is None:             # <<<<<<<<<<<<<<
 *         chEnd = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEnd, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_hEnd == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28849
 *     cdef ccuda.CUevent chEnd
 *     if hEnd is None:
 *         chEnd = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEnd, (CUevent,)):
 *         phEnd = int(hEnd)
 */
    __pyx_v_chEnd = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28848
 *     """
 *     cdef ccuda.CUevent chEnd
 *     if hEnd is None:             # <<<<<<<<<<<<<<
 *         chEnd = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEnd, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28850
 *     if hEnd is None:
 *         chEnd = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEnd, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEnd = int(hEnd)
 *         chEnd = <ccuda.CUevent><void_ptr>phEnd
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEnd, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28851
 *         chEnd = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEnd, (CUevent,)):
 *         phEnd = int(hEnd)             # <<<<<<<<<<<<<<
 *         chEnd = <ccuda.CUevent><void_ptr>phEnd
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hEnd); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28851, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEnd = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28852
 *     elif isinstance(hEnd, (CUevent,)):
 *         phEnd = int(hEnd)
 *         chEnd = <ccuda.CUevent><void_ptr>phEnd             # <<<<<<<<<<<<<<
 *     else:
 *         phEnd = int(CUevent(hEnd))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEnd); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28852, __pyx_L1_error)
    __pyx_v_chEnd = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28850
 *     if hEnd is None:
 *         chEnd = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEnd, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEnd = int(hEnd)
 *         chEnd = <ccuda.CUevent><void_ptr>phEnd
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":28854
 *         chEnd = <ccuda.CUevent><void_ptr>phEnd
 *     else:
 *         phEnd = int(CUevent(hEnd))             # <<<<<<<<<<<<<<
 *         chEnd = <ccuda.CUevent><void_ptr>phEnd
 *     cdef ccuda.CUevent chStart
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_hEnd); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28854, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28854, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEnd = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28855
 *     else:
 *         phEnd = int(CUevent(hEnd))
 *         chEnd = <ccuda.CUevent><void_ptr>phEnd             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUevent chStart
 *     if hStart is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEnd); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28855, __pyx_L1_error)
    __pyx_v_chEnd = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":28857
 *         chEnd = <ccuda.CUevent><void_ptr>phEnd
 *     cdef ccuda.CUevent chStart
 *     if hStart is None:             # <<<<<<<<<<<<<<
 *         chStart = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hStart, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_hStart == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28858
 *     cdef ccuda.CUevent chStart
 *     if hStart is None:
 *         chStart = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStart, (CUevent,)):
 *         phStart = int(hStart)
 */
    __pyx_v_chStart = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":28857
 *         chEnd = <ccuda.CUevent><void_ptr>phEnd
 *     cdef ccuda.CUevent chStart
 *     if hStart is None:             # <<<<<<<<<<<<<<
 *         chStart = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hStart, (CUevent,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":28859
 *     if hStart is None:
 *         chStart = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hStart, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phStart = int(hStart)
 *         chStart = <ccuda.CUevent><void_ptr>phStart
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStart, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":28860
 *         chStart = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hStart, (CUevent,)):
 *         phStart = int(hStart)             # <<<<<<<<<<<<<<
 *         chStart = <ccuda.CUevent><void_ptr>phStart
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hStart); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28860, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phStart = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":28861
 *     elif isinstance(hStart, (CUevent,)):
 *         phStart = int(hStart)
 *         chStart = <ccuda.CUevent><void_ptr>phStart             # <<<<<<<<<<<<<<
 *     else:
 *         phStart = int(CUevent(hStart))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStart); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28861, __pyx_L1_error)
    __pyx_v_chStart = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":28859
 *     if hStart is None:
 *         chStart = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hStart, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phStart = int(hStart)
 *         chStart = <ccuda.CUevent><void_ptr>phStart
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":28863
 *         chStart = <ccuda.CUevent><void_ptr>phStart
 *     else:
 *         phStart = int(CUevent(hStart))             # <<<<<<<<<<<<<<
 *         chStart = <ccuda.CUevent><void_ptr>phStart
 *     cdef float pMilliseconds = 0
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_hStart); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phStart = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":28864
 *     else:
 *         phStart = int(CUevent(hStart))
 *         chStart = <ccuda.CUevent><void_ptr>phStart             # <<<<<<<<<<<<<<
 *     cdef float pMilliseconds = 0
 *     err = ccuda.cuEventElapsedTime(&pMilliseconds, chStart, chEnd)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStart); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 28864, __pyx_L1_error)
    __pyx_v_chStart = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":28865
 *         phStart = int(CUevent(hStart))
 *         chStart = <ccuda.CUevent><void_ptr>phStart
 *     cdef float pMilliseconds = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuEventElapsedTime(&pMilliseconds, chStart, chEnd)
 *     return (CUresult(err), pMilliseconds)
 */
  __pyx_v_pMilliseconds = 0.0;

  /* "cuda/cuda.pyx":28866
 *         chStart = <ccuda.CUevent><void_ptr>phStart
 *     cdef float pMilliseconds = 0
 *     err = ccuda.cuEventElapsedTime(&pMilliseconds, chStart, chEnd)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pMilliseconds)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuEventElapsedTime((&__pyx_v_pMilliseconds), __pyx_v_chStart, __pyx_v_chEnd); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 28866, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":28867
 *     cdef float pMilliseconds = 0
 *     err = ccuda.cuEventElapsedTime(&pMilliseconds, chStart, chEnd)
 *     return (CUresult(err), pMilliseconds)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 28867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_pMilliseconds); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 28867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 28867, __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)) __PYX_ERR(1, 28867, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4)) __PYX_ERR(1, 28867, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":28804
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":28869
 *     return (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_4cuda_459cuImportExternalMemory(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_458cuImportExternalMemory, "cuImportExternalMemory(CUDA_EXTERNAL_MEMORY_HANDLE_DESC memHandleDesc: Optional[CUDA_EXTERNAL_MEMORY_HANDLE_DESC])\n Imports an external memory object.\n\n    Imports an externally allocated memory object and returns a handle to\n    that in `extMem_out`.\n\n    The properties of the handle being imported must be described in\n    `memHandleDesc`. The :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`\n    structure is defined as follows:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.type` specifies the\n    type of handle being imported. :py:obj:`~.CUexternalMemoryHandleType`\n    is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    If :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\n    valid file descriptor referencing a memory object. Ownership of the\n    file descriptor is transferred to the CUDA driver when the handle is\n    imported successfully. Performing any operations on the file descriptor\n    after it is imported results in undefined behavior.\n\n    If :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.type` is\n    :py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32`, then exactly\n    one 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\n    not be NULL. If\n    :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::handle is\n    not NULL, then it must represent a valid shared NT handle that\n    references a memory object. Ownership of this handle is not transferred\n    to CUDA after the import operation, so the application must release the\n    handle using the appropriate system call. If\n    :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::name is\n    not NULL, then it must point"" to a NULL-terminated array of UTF-16\n    characters that refers to a memory object.\n\n    If :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\n    must be non-NULL and\n    :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::name must\n    be NULL. The handle specified must be a globally shared KMT handle.\n    This handle does not hold a reference to the underlying object, and\n    thus will be invalid when all references to the memory object are\n    destroyed.\n\n    If :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.type` is\n    :py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP`, then exactly one\n    of :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::handle\n    and :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::name\n    must not be NULL. If\n    :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::handle is\n    not NULL, then it must represent a valid shared NT handle that is\n    returned by ID3D12Device::CreateSharedHandle when referring to a\n    ID3D12Heap object. This handle holds a reference to the underlying\n    object. If\n    :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::name is\n    not NULL, then it must point to a NULL-terminated array of UTF-16\n    characters that refers to a ID3D12Heap object.\n\n    If :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.type` is\n    :py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE`, then exactly\n    one 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\n    not be NULL. If\n    :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::handle is\n    not NULL, then it must represent a valid shared NT handle that is\n    returned by ID3D12Device::CreateSharedHandle when referring to a\n    ID3D1""2Resource object. This handle holds a reference to the underlying\n    object. If\n    :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::name is\n    not NULL, then it must point to a NULL-terminated array of UTF-16\n    characters that refers to a ID3D12Resource object.\n\n    If :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\n    must represent a valid shared NT handle that is returned by\n    IDXGIResource1::CreateSharedHandle when referring to a ID3D11Resource\n    object. If\n    :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::name is\n    not NULL, then it must point to a NULL-terminated array of UTF-16\n    characters that refers to a ID3D11Resource object.\n\n    If :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\n    must represent a valid shared KMT handle that is returned by\n    IDXGIResource::GetSharedHandle when referring to a ID3D11Resource\n    object and\n    :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`::handle::win32::name must\n    be NULL.\n\n    If :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\n    must be non-NULL and reference a valid NvSciBuf object. If the NvSciBuf\n    object imported into CUDA is also mapped by other drivers, then the\n    application must use :py:obj:`~.cuWaitExternalSemaphoresAsync` or\n    :py:obj:`~.cuSignalExternalSemaphoresAsync` as appropriate barriers to\n    maintain 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\n    memory synchronization.\n\n    The size of the memory object must be specified in\n    :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.size`.\n\n    Specifying the flag :py:obj:`~.CUDA_EXTERNAL_MEMORY_DEDICATED` in\n    :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.flags` indicates that the\n    resource is a dedicated resource. The definition of what a dedicated\n    resource is outside the scope of this extension. This flag must be set\n    if :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC.type` is one of the\n    following: :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\n    Parameters\n    ----------\n    memHandleDesc : :py:obj:`~.CUDA_EXTERNAL_MEMORY_HANDLE_DESC`\n        Memory import handle descriptor\n\n    Returns\n    -------\n    CUresult\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`\n    extMem_out : :py:obj:`~.CUexternalMemory`\n        Returned handle to an external memory object\n\n    See Also\n    --------\n    :py:obj:`~.cuDestroyExternalMemory`, :py:obj:`~.cuExternalMemoryGetMappedBuffer`, :py:obj:`~.cuExternalMemoryGetMappedMipmappedArray`\n\n    Notes\n    -----\n    If 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\n    and Cache Control\" chapter from Vulkan specification.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_459cuImportExternalMemory = {"cuImportExternalMemory", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_459cuImportExternalMemory, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_458cuImportExternalMemory};
static PyObject *__pyx_pw_4cuda_4cuda_459cuImportExternalMemory(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_memHandleDesc,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_memHandleDesc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 28869, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuImportExternalMemory") < 0)) __PYX_ERR(1, 28869, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_memHandleDesc = ((struct __pyx_obj_4cuda_4cuda_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(1, 28869, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC, 1, "memHandleDesc", 0))) __PYX_ERR(1, 28870, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_458cuImportExternalMemory(__pyx_self, __pyx_v_memHandleDesc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_458cuImportExternalMemory(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC *__pyx_v_memHandleDesc) {
  struct __pyx_obj_4cuda_4cuda_CUexternalMemory *__pyx_v_extMem_out = 0;
  CUDA_EXTERNAL_MEMORY_HANDLE_DESC *__pyx_v_cmemHandleDesc_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *__pyx_t_2;
  int __pyx_t_3;
  CUresult __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__722)
  __Pyx_RefNannySetupContext("cuImportExternalMemory", 1);
  __Pyx_TraceCall("cuImportExternalMemory", __pyx_f[1], 28869, 0, __PYX_ERR(1, 28869, __pyx_L1_error));

  /* "cuda/cuda.pyx":29014
 *     and Cache Control" chapter from Vulkan specification.
 *     """
 *     cdef CUexternalMemory extMem_out = CUexternalMemory()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC* cmemHandleDesc_ptr = memHandleDesc._ptr if memHandleDesc != None else NULL
 *     err = ccuda.cuImportExternalMemory(<ccuda.CUexternalMemory*>extMem_out._ptr, cmemHandleDesc_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUexternalMemory)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_extMem_out = ((struct __pyx_obj_4cuda_4cuda_CUexternalMemory *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":29015
 *     """
 *     cdef CUexternalMemory extMem_out = CUexternalMemory()
 *     cdef ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC* cmemHandleDesc_ptr = memHandleDesc._ptr if memHandleDesc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuImportExternalMemory(<ccuda.CUexternalMemory*>extMem_out._ptr, cmemHandleDesc_ptr)
 *     return (CUresult(err), extMem_out)
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_memHandleDesc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29015, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 29015, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_memHandleDesc->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cmemHandleDesc_ptr = __pyx_t_2;

  /* "cuda/cuda.pyx":29016
 *     cdef CUexternalMemory extMem_out = CUexternalMemory()
 *     cdef ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC* cmemHandleDesc_ptr = memHandleDesc._ptr if memHandleDesc != None else NULL
 *     err = ccuda.cuImportExternalMemory(<ccuda.CUexternalMemory*>extMem_out._ptr, cmemHandleDesc_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), extMem_out)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_5ccuda_cuImportExternalMemory(((CUexternalMemory *)__pyx_v_extMem_out->_ptr), __pyx_v_cmemHandleDesc_ptr); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 29016, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cuda.pyx":29017
 *     cdef ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC* cmemHandleDesc_ptr = memHandleDesc._ptr if memHandleDesc != None else NULL
 *     err = ccuda.cuImportExternalMemory(<ccuda.CUexternalMemory*>extMem_out._ptr, cmemHandleDesc_ptr)
 *     return (CUresult(err), extMem_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 29017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 29017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29017, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 29017, __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)) __PYX_ERR(1, 29017, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_extMem_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_extMem_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_extMem_out))) __PYX_ERR(1, 29017, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":28869
 *     return (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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuImportExternalMemory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_extMem_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":29019
 *     return (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_4cuda_461cuExternalMemoryGetMappedBuffer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_460cuExternalMemoryGetMappedBuffer, "cuExternalMemoryGetMappedBuffer(extMem, CUDA_EXTERNAL_MEMORY_BUFFER_DESC bufferDesc: Optional[CUDA_EXTERNAL_MEMORY_BUFFER_DESC])\n Maps a buffer onto an imported memory object.\n\n    Maps a buffer onto an imported memory object and returns a device\n    pointer in `devPtr`.\n\n    The properties of the buffer being mapped must be described in\n    `bufferDesc`. The :py:obj:`~.CUDA_EXTERNAL_MEMORY_BUFFER_DESC`\n    structure is defined as follows:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where :py:obj:`~.CUDA_EXTERNAL_MEMORY_BUFFER_DESC.offset` is the offset\n    in the memory object where the buffer's base address is.\n    :py:obj:`~.CUDA_EXTERNAL_MEMORY_BUFFER_DESC.size` is the size of the\n    buffer. :py:obj:`~.CUDA_EXTERNAL_MEMORY_BUFFER_DESC.flags` must be\n    zero.\n\n    The offset and size have to be suitably aligned to match the\n    requirements of the external API. Mapping two buffers whose ranges\n    overlap may or may not result in the same virtual address being\n    returned for the overlapped portion. In such cases, the application\n    must ensure that all accesses to that region from the GPU are volatile.\n    Otherwise writes made via one address are not guaranteed to be visible\n    via the other address, even if they're issued by the same thread. It is\n    recommended that applications map the combined range instead of mapping\n    separate buffers and then apply the appropriate offsets to the returned\n    pointer to derive the individual buffers.\n\n    The returned pointer `devPtr` must be freed using\n    :py:obj:`~.cuMemFree`.\n\n    Parameters\n    ----------\n    extMem : :py:obj:`~.CUexternalMemory`\n        Handle to external memory object\n    bufferDesc : :py:obj:`~.CUDA_EXTERNAL_MEMORY_BUFFER_DESC`\n        Buffer descriptor\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_""INVALID_HANDLE`\n    devPtr : :py:obj:`~.CUdeviceptr`\n        Returned device pointer to buffer\n\n    See Also\n    --------\n    :py:obj:`~.cuImportExternalMemory`, :py:obj:`~.cuDestroyExternalMemory`, :py:obj:`~.cuExternalMemoryGetMappedMipmappedArray`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_461cuExternalMemoryGetMappedBuffer = {"cuExternalMemoryGetMappedBuffer", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_461cuExternalMemoryGetMappedBuffer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_460cuExternalMemoryGetMappedBuffer};
static PyObject *__pyx_pw_4cuda_4cuda_461cuExternalMemoryGetMappedBuffer(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_extMem,&__pyx_n_s_bufferDesc,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_extMem)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29019, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_bufferDesc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29019, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuExternalMemoryGetMappedBuffer", 1, 2, 2, 1); __PYX_ERR(1, 29019, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuExternalMemoryGetMappedBuffer") < 0)) __PYX_ERR(1, 29019, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_extMem = values[0];
    __pyx_v_bufferDesc = ((struct __pyx_obj_4cuda_4cuda_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(1, 29019, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC, 1, "bufferDesc", 0))) __PYX_ERR(1, 29020, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_460cuExternalMemoryGetMappedBuffer(__pyx_self, __pyx_v_extMem, __pyx_v_bufferDesc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_460cuExternalMemoryGetMappedBuffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem, struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC *__pyx_v_bufferDesc) {
  CUexternalMemory __pyx_v_cextMem;
  PyObject *__pyx_v_pextMem = NULL;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_devPtr = 0;
  CUDA_EXTERNAL_MEMORY_BUFFER_DESC *__pyx_v_cbufferDesc_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__723)
  __Pyx_RefNannySetupContext("cuExternalMemoryGetMappedBuffer", 1);
  __Pyx_TraceCall("cuExternalMemoryGetMappedBuffer", __pyx_f[1], 29019, 0, __PYX_ERR(1, 29019, __pyx_L1_error));

  /* "cuda/cuda.pyx":29071
 *     """
 *     cdef ccuda.CUexternalMemory cextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0
 *     elif isinstance(extMem, (CUexternalMemory,)):
 */
  __pyx_t_1 = (__pyx_v_extMem == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29072
 *     cdef ccuda.CUexternalMemory cextMem
 *     if extMem is None:
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(extMem, (CUexternalMemory,)):
 *         pextMem = int(extMem)
 */
    __pyx_v_cextMem = ((CUexternalMemory)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29071
 *     """
 *     cdef ccuda.CUexternalMemory cextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0
 *     elif isinstance(extMem, (CUexternalMemory,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29073
 *     if extMem is None:
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0
 *     elif isinstance(extMem, (CUexternalMemory,)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_extMem, __pyx_ptype_4cuda_4cuda_CUexternalMemory); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29074
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0
 *     elif isinstance(extMem, (CUexternalMemory,)):
 *         pextMem = int(extMem)             # <<<<<<<<<<<<<<
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_extMem); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pextMem = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29075
 *     elif isinstance(extMem, (CUexternalMemory,)):
 *         pextMem = int(extMem)
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem             # <<<<<<<<<<<<<<
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29075, __pyx_L1_error)
    __pyx_v_cextMem = ((CUexternalMemory)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29073
 *     if extMem is None:
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0
 *     elif isinstance(extMem, (CUexternalMemory,)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29077
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))             # <<<<<<<<<<<<<<
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 *     cdef CUdeviceptr devPtr = CUdeviceptr()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUexternalMemory), __pyx_v_extMem); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pextMem = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29078
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr devPtr = CUdeviceptr()
 *     cdef ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC* cbufferDesc_ptr = bufferDesc._ptr if bufferDesc != None else NULL
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29078, __pyx_L1_error)
    __pyx_v_cextMem = ((CUexternalMemory)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":29079
 *         pextMem = int(CUexternalMemory(extMem))
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 *     cdef CUdeviceptr devPtr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC* cbufferDesc_ptr = bufferDesc._ptr if bufferDesc != None else NULL
 *     err = ccuda.cuExternalMemoryGetMappedBuffer(<ccuda.CUdeviceptr*>devPtr._ptr, cextMem, cbufferDesc_ptr)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_devPtr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":29080
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 *     cdef CUdeviceptr devPtr = CUdeviceptr()
 *     cdef ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC* cbufferDesc_ptr = bufferDesc._ptr if bufferDesc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuExternalMemoryGetMappedBuffer(<ccuda.CUdeviceptr*>devPtr._ptr, cextMem, cbufferDesc_ptr)
 *     return (CUresult(err), devPtr)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_bufferDesc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29080, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 29080, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_bufferDesc->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cbufferDesc_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":29081
 *     cdef CUdeviceptr devPtr = CUdeviceptr()
 *     cdef ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC* cbufferDesc_ptr = bufferDesc._ptr if bufferDesc != None else NULL
 *     err = ccuda.cuExternalMemoryGetMappedBuffer(<ccuda.CUdeviceptr*>devPtr._ptr, cextMem, cbufferDesc_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), devPtr)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuExternalMemoryGetMappedBuffer(((CUdeviceptr *)__pyx_v_devPtr->_ptr), __pyx_v_cextMem, __pyx_v_cbufferDesc_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 29081, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":29082
 *     cdef ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC* cbufferDesc_ptr = bufferDesc._ptr if bufferDesc != None else NULL
 *     err = ccuda.cuExternalMemoryGetMappedBuffer(<ccuda.CUdeviceptr*>devPtr._ptr, cextMem, cbufferDesc_ptr)
 *     return (CUresult(err), devPtr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29082, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 29082, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_devPtr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_devPtr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_devPtr))) __PYX_ERR(1, 29082, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":29019
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":29084
 *     return (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_4cuda_463cuExternalMemoryGetMappedMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_462cuExternalMemoryGetMappedMipmappedArray, "cuExternalMemoryGetMappedMipmappedArray(extMem, CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC mipmapDesc: Optional[CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC])\n Maps a CUDA mipmapped array onto an external memory object.\n\n    Maps a CUDA mipmapped array onto an external object and returns a\n    handle to it in `mipmap`.\n\n    The properties of the CUDA mipmapped array being mapped must be\n    described in `mipmapDesc`. The structure\n    :py:obj:`~.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC` is defined as\n    follows:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where :py:obj:`~.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC.offset` is\n    the offset in the memory object where the base level of the mipmap\n    chain is.\n    :py:obj:`~.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC.arrayDesc`\n    describes the format, dimensions and type of the base level of the\n    mipmap chain. For further details on these parameters, please refer to\n    the documentation for :py:obj:`~.cuMipmappedArrayCreate`. Note that if\n    the mipmapped array is bound as a color target in the graphics API,\n    then the flag :py:obj:`~.CUDA_ARRAY3D_COLOR_ATTACHMENT` must be\n    specified in\n    :py:obj:`~.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC`::arrayDesc::Flags.\n    :py:obj:`~.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC.numLevels`\n    specifies the total number of levels in the mipmap chain.\n\n    If `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\n    equal to 1.\n\n    The returned CUDA mipmapped array must be freed using\n    :py:obj:`~.cuMipmappedArrayDestroy`.\n\n    Parameters\n    ----------\n    extMem : :py:obj:`~.CUexternalMemory`\n        Handle to external memory object\n    mipmapDesc : :py:obj:`~.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC`\n        CUDA array descriptor\n\n    Returns\n    -------\n    CUresult\n   ""     :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n    mipmap : :py:obj:`~.CUmipmappedArray`\n        Returned CUDA mipmapped array\n\n    See Also\n    --------\n    :py:obj:`~.cuImportExternalMemory`, :py:obj:`~.cuDestroyExternalMemory`, :py:obj:`~.cuExternalMemoryGetMappedBuffer`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_463cuExternalMemoryGetMappedMipmappedArray = {"cuExternalMemoryGetMappedMipmappedArray", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_463cuExternalMemoryGetMappedMipmappedArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_462cuExternalMemoryGetMappedMipmappedArray};
static PyObject *__pyx_pw_4cuda_4cuda_463cuExternalMemoryGetMappedMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_extMem,&__pyx_n_s_mipmapDesc,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_extMem)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29084, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mipmapDesc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29084, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuExternalMemoryGetMappedMipmappedArray", 1, 2, 2, 1); __PYX_ERR(1, 29084, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuExternalMemoryGetMappedMipmappedArray") < 0)) __PYX_ERR(1, 29084, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_extMem = values[0];
    __pyx_v_mipmapDesc = ((struct __pyx_obj_4cuda_4cuda_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(1, 29084, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC, 1, "mipmapDesc", 0))) __PYX_ERR(1, 29085, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_462cuExternalMemoryGetMappedMipmappedArray(__pyx_self, __pyx_v_extMem, __pyx_v_mipmapDesc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_462cuExternalMemoryGetMappedMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem, struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC *__pyx_v_mipmapDesc) {
  CUexternalMemory __pyx_v_cextMem;
  PyObject *__pyx_v_pextMem = NULL;
  struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_mipmap = 0;
  CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC *__pyx_v_cmipmapDesc_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__724)
  __Pyx_RefNannySetupContext("cuExternalMemoryGetMappedMipmappedArray", 1);
  __Pyx_TraceCall("cuExternalMemoryGetMappedMipmappedArray", __pyx_f[1], 29084, 0, __PYX_ERR(1, 29084, __pyx_L1_error));

  /* "cuda/cuda.pyx":29139
 *     """
 *     cdef ccuda.CUexternalMemory cextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0
 *     elif isinstance(extMem, (CUexternalMemory,)):
 */
  __pyx_t_1 = (__pyx_v_extMem == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29140
 *     cdef ccuda.CUexternalMemory cextMem
 *     if extMem is None:
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(extMem, (CUexternalMemory,)):
 *         pextMem = int(extMem)
 */
    __pyx_v_cextMem = ((CUexternalMemory)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29139
 *     """
 *     cdef ccuda.CUexternalMemory cextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0
 *     elif isinstance(extMem, (CUexternalMemory,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29141
 *     if extMem is None:
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0
 *     elif isinstance(extMem, (CUexternalMemory,)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_extMem, __pyx_ptype_4cuda_4cuda_CUexternalMemory); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29142
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0
 *     elif isinstance(extMem, (CUexternalMemory,)):
 *         pextMem = int(extMem)             # <<<<<<<<<<<<<<
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_extMem); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pextMem = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29143
 *     elif isinstance(extMem, (CUexternalMemory,)):
 *         pextMem = int(extMem)
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem             # <<<<<<<<<<<<<<
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29143, __pyx_L1_error)
    __pyx_v_cextMem = ((CUexternalMemory)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29141
 *     if extMem is None:
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0
 *     elif isinstance(extMem, (CUexternalMemory,)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29145
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))             # <<<<<<<<<<<<<<
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 *     cdef CUmipmappedArray mipmap = CUmipmappedArray()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUexternalMemory), __pyx_v_extMem); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pextMem = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29146
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem             # <<<<<<<<<<<<<<
 *     cdef CUmipmappedArray mipmap = CUmipmappedArray()
 *     cdef ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC* cmipmapDesc_ptr = mipmapDesc._ptr if mipmapDesc != None else NULL
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29146, __pyx_L1_error)
    __pyx_v_cextMem = ((CUexternalMemory)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":29147
 *         pextMem = int(CUexternalMemory(extMem))
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 *     cdef CUmipmappedArray mipmap = CUmipmappedArray()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC* cmipmapDesc_ptr = mipmapDesc._ptr if mipmapDesc != None else NULL
 *     err = ccuda.cuExternalMemoryGetMappedMipmappedArray(<ccuda.CUmipmappedArray*>mipmap._ptr, cextMem, cmipmapDesc_ptr)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmipmappedArray)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_mipmap = ((struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":29148
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 *     cdef CUmipmappedArray mipmap = CUmipmappedArray()
 *     cdef ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC* cmipmapDesc_ptr = mipmapDesc._ptr if mipmapDesc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuExternalMemoryGetMappedMipmappedArray(<ccuda.CUmipmappedArray*>mipmap._ptr, cextMem, cmipmapDesc_ptr)
 *     return (CUresult(err), mipmap)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_mipmapDesc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29148, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 29148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_mipmapDesc->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cmipmapDesc_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":29149
 *     cdef CUmipmappedArray mipmap = CUmipmappedArray()
 *     cdef ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC* cmipmapDesc_ptr = mipmapDesc._ptr if mipmapDesc != None else NULL
 *     err = ccuda.cuExternalMemoryGetMappedMipmappedArray(<ccuda.CUmipmappedArray*>mipmap._ptr, cextMem, cmipmapDesc_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), mipmap)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuExternalMemoryGetMappedMipmappedArray(((CUmipmappedArray *)__pyx_v_mipmap->_ptr), __pyx_v_cextMem, __pyx_v_cmipmapDesc_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 29149, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":29150
 *     cdef ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC* cmipmapDesc_ptr = mipmapDesc._ptr if mipmapDesc != None else NULL
 *     err = ccuda.cuExternalMemoryGetMappedMipmappedArray(<ccuda.CUmipmappedArray*>mipmap._ptr, cextMem, cmipmapDesc_ptr)
 *     return (CUresult(err), mipmap)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 29150, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_mipmap);
  __Pyx_GIVEREF((PyObject *)__pyx_v_mipmap);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_mipmap))) __PYX_ERR(1, 29150, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":29084
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":29152
 *     return (CUresult(err), mipmap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDestroyExternalMemory(extMem):
 *     """ Destroys an external memory object.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_465cuDestroyExternalMemory(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_464cuDestroyExternalMemory, "cuDestroyExternalMemory(extMem)\n Destroys an external memory object.\n\n    Destroys the specified external memory object. Any existing buffers and\n    CUDA mipmapped arrays mapped onto this object must no longer be used\n    and must be explicitly freed using :py:obj:`~.cuMemFree` and\n    :py:obj:`~.cuMipmappedArrayDestroy` respectively.\n\n    Parameters\n    ----------\n    extMem : :py:obj:`~.CUexternalMemory`\n        External memory object to be destroyed\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\n    See Also\n    --------\n    :py:obj:`~.cuImportExternalMemory`, :py:obj:`~.cuExternalMemoryGetMappedBuffer`, :py:obj:`~.cuExternalMemoryGetMappedMipmappedArray`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_465cuDestroyExternalMemory = {"cuDestroyExternalMemory", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_465cuDestroyExternalMemory, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_464cuDestroyExternalMemory};
static PyObject *__pyx_pw_4cuda_4cuda_465cuDestroyExternalMemory(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_extMem,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_extMem)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29152, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDestroyExternalMemory") < 0)) __PYX_ERR(1, 29152, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_extMem = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDestroyExternalMemory", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 29152, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDestroyExternalMemory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_464cuDestroyExternalMemory(__pyx_self, __pyx_v_extMem);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_464cuDestroyExternalMemory(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extMem) {
  CUexternalMemory __pyx_v_cextMem;
  PyObject *__pyx_v_pextMem = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__725)
  __Pyx_RefNannySetupContext("cuDestroyExternalMemory", 1);
  __Pyx_TraceCall("cuDestroyExternalMemory", __pyx_f[1], 29152, 0, __PYX_ERR(1, 29152, __pyx_L1_error));

  /* "cuda/cuda.pyx":29176
 *     """
 *     cdef ccuda.CUexternalMemory cextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0
 *     elif isinstance(extMem, (CUexternalMemory,)):
 */
  __pyx_t_1 = (__pyx_v_extMem == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29177
 *     cdef ccuda.CUexternalMemory cextMem
 *     if extMem is None:
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(extMem, (CUexternalMemory,)):
 *         pextMem = int(extMem)
 */
    __pyx_v_cextMem = ((CUexternalMemory)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29176
 *     """
 *     cdef ccuda.CUexternalMemory cextMem
 *     if extMem is None:             # <<<<<<<<<<<<<<
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0
 *     elif isinstance(extMem, (CUexternalMemory,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29178
 *     if extMem is None:
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0
 *     elif isinstance(extMem, (CUexternalMemory,)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_extMem, __pyx_ptype_4cuda_4cuda_CUexternalMemory); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29179
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0
 *     elif isinstance(extMem, (CUexternalMemory,)):
 *         pextMem = int(extMem)             # <<<<<<<<<<<<<<
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_extMem); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pextMem = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29180
 *     elif isinstance(extMem, (CUexternalMemory,)):
 *         pextMem = int(extMem)
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem             # <<<<<<<<<<<<<<
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29180, __pyx_L1_error)
    __pyx_v_cextMem = ((CUexternalMemory)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29178
 *     if extMem is None:
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>0
 *     elif isinstance(extMem, (CUexternalMemory,)):             # <<<<<<<<<<<<<<
 *         pextMem = int(extMem)
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29182
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))             # <<<<<<<<<<<<<<
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 *     err = ccuda.cuDestroyExternalMemory(cextMem)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUexternalMemory), __pyx_v_extMem); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pextMem = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29183
 *     else:
 *         pextMem = int(CUexternalMemory(extMem))
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDestroyExternalMemory(cextMem)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pextMem); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29183, __pyx_L1_error)
    __pyx_v_cextMem = ((CUexternalMemory)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":29184
 *         pextMem = int(CUexternalMemory(extMem))
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 *     err = ccuda.cuDestroyExternalMemory(cextMem)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuDestroyExternalMemory(__pyx_v_cextMem); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 29184, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":29185
 *         cextMem = <ccuda.CUexternalMemory><void_ptr>pextMem
 *     err = ccuda.cuDestroyExternalMemory(cextMem)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 29185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 29185, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":29152
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuDestroyExternalMemory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pextMem);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":29187
 *     return (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_4cuda_467cuImportExternalSemaphore(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_466cuImportExternalSemaphore, "cuImportExternalSemaphore(CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC semHandleDesc: Optional[CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC])\n Imports an external semaphore.\n\n    Imports an externally allocated synchronization object and returns a\n    handle to that in `extSem_out`.\n\n    The properties of the handle being imported must be described in\n    `semHandleDesc`. The :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC` is\n    defined as follows:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC.type` specifies\n    the type of handle being imported.\n    :py:obj:`~.CUexternalSemaphoreHandleType` is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    If :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\n    valid file descriptor referencing a synchronization object. Ownership\n    of the file descriptor is transferred to the CUDA driver when the\n    handle is imported successfully. Performing any operations on the file\n    descriptor after it is imported results in undefined behavior.\n\n    If :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC.type` is\n    :py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32`, then\n    exactly one of\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\n    and\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name\n    must not be NULL. If\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\n    is not NULL, then it must represent a valid shared NT handle that\n    references a synchronization object. Ownership of this handle is not\n    transferred to CUDA after the import operation, so the application must\n    release the handle using the appropriate system call. If\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_""DESC`::handle::win32::name is\n    not NULL, then it must name a valid synchronization object.\n\n    If :py:obj:`~.CUDA_EXTERNAL_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\n    must be non-NULL and\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name\n    must be NULL. The handle specified must be a globally shared KMT\n    handle. This handle does not hold a reference to the underlying object,\n    and thus will be invalid when all references to the synchronization\n    object are destroyed.\n\n    If :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC.type` is\n    :py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE`, then exactly\n    one of\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\n    and\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name\n    must not be NULL. If\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\n    is not NULL, then it must represent a valid shared NT handle that is\n    returned by ID3D12Device::CreateSharedHandle when referring to a\n    ID3D12Fence object. This handle holds a reference to the underlying\n    object. If\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name is\n    not NULL, then it must name a valid synchronization object that refers\n    to a valid ID3D12Fence object.\n\n    If :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\n    represents a valid shared NT handle that is returned by\n    ID3D11Fence::CreateSharedHandle. If\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name is\n    not NULL, then it must name a valid synchronization object that refers\n    to a valid ID3D11Fence object.""\n\n    If :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\n    represents a valid NvSciSyncObj.\n\n    :py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX`, then\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\n    represents a valid shared NT handle that is returned by\n    IDXGIResource1::CreateSharedHandle when referring to a IDXGIKeyedMutex\n    object. If\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name is\n    not NULL, then it must name a valid synchronization object that refers\n    to a valid IDXGIKeyedMutex object.\n\n    If :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC.type` is\n    :py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT`,\n    then\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\n    represents a valid shared KMT handle that is returned by\n    IDXGIResource::GetSharedHandle when referring to a IDXGIKeyedMutex\n    object and\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name\n    must be NULL.\n\n    If :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC.type` is\n    :py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD`,\n    then :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::fd must\n    be a valid file descriptor referencing a synchronization object.\n    Ownership of the file descriptor is transferred to the CUDA driver when\n    the handle is imported successfully. Performing any operations on the\n    file descriptor after it is imported results in undefined behavior.\n\n    If :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC.type` is\n    :py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32`,\n    then exactly one of\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\n    and\n    :py:obj:`~.CUDA_E""XTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name\n    must not be NULL. If\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::handle\n    is not NULL, then it must represent a valid shared NT handle that\n    references a synchronization object. Ownership of this handle is not\n    transferred to CUDA after the import operation, so the application must\n    release the handle using the appropriate system call. If\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`::handle::win32::name is\n    not NULL, then it must name a valid synchronization object.\n\n    Parameters\n    ----------\n    semHandleDesc : :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC`\n        Semaphore import handle descriptor\n\n    Returns\n    -------\n    CUresult\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`\n    extSem_out : :py:obj:`~.CUexternalSemaphore`\n        Returned handle to an external semaphore\n\n    See Also\n    --------\n    :py:obj:`~.cuDestroyExternalSemaphore`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_467cuImportExternalSemaphore = {"cuImportExternalSemaphore", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_467cuImportExternalSemaphore, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_466cuImportExternalSemaphore};
static PyObject *__pyx_pw_4cuda_4cuda_467cuImportExternalSemaphore(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_semHandleDesc,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_semHandleDesc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29187, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuImportExternalSemaphore") < 0)) __PYX_ERR(1, 29187, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_semHandleDesc = ((struct __pyx_obj_4cuda_4cuda_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(1, 29187, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC, 1, "semHandleDesc", 0))) __PYX_ERR(1, 29188, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_466cuImportExternalSemaphore(__pyx_self, __pyx_v_semHandleDesc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_466cuImportExternalSemaphore(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC *__pyx_v_semHandleDesc) {
  struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *__pyx_v_extSem_out = 0;
  CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC *__pyx_v_csemHandleDesc_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *__pyx_t_2;
  int __pyx_t_3;
  CUresult __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__726)
  __Pyx_RefNannySetupContext("cuImportExternalSemaphore", 1);
  __Pyx_TraceCall("cuImportExternalSemaphore", __pyx_f[1], 29187, 0, __PYX_ERR(1, 29187, __pyx_L1_error));

  /* "cuda/cuda.pyx":29327
 *     :py:obj:`~.cuDestroyExternalSemaphore`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`
 *     """
 *     cdef CUexternalSemaphore extSem_out = CUexternalSemaphore()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC* csemHandleDesc_ptr = semHandleDesc._ptr if semHandleDesc != None else NULL
 *     err = ccuda.cuImportExternalSemaphore(<ccuda.CUexternalSemaphore*>extSem_out._ptr, csemHandleDesc_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUexternalSemaphore)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_extSem_out = ((struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":29328
 *     """
 *     cdef CUexternalSemaphore extSem_out = CUexternalSemaphore()
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC* csemHandleDesc_ptr = semHandleDesc._ptr if semHandleDesc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuImportExternalSemaphore(<ccuda.CUexternalSemaphore*>extSem_out._ptr, csemHandleDesc_ptr)
 *     return (CUresult(err), extSem_out)
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_semHandleDesc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29328, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 29328, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_semHandleDesc->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_csemHandleDesc_ptr = __pyx_t_2;

  /* "cuda/cuda.pyx":29329
 *     cdef CUexternalSemaphore extSem_out = CUexternalSemaphore()
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC* csemHandleDesc_ptr = semHandleDesc._ptr if semHandleDesc != None else NULL
 *     err = ccuda.cuImportExternalSemaphore(<ccuda.CUexternalSemaphore*>extSem_out._ptr, csemHandleDesc_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), extSem_out)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_5ccuda_cuImportExternalSemaphore(((CUexternalSemaphore *)__pyx_v_extSem_out->_ptr), __pyx_v_csemHandleDesc_ptr); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 29329, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cuda.pyx":29330
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC* csemHandleDesc_ptr = semHandleDesc._ptr if semHandleDesc != None else NULL
 *     err = ccuda.cuImportExternalSemaphore(<ccuda.CUexternalSemaphore*>extSem_out._ptr, csemHandleDesc_ptr)
 *     return (CUresult(err), extSem_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 29330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 29330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 29330, __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)) __PYX_ERR(1, 29330, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_extSem_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_extSem_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_extSem_out))) __PYX_ERR(1, 29330, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":29187
 *     return (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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuImportExternalSemaphore", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_extSem_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":29332
 *     return (CUresult(err), extSem_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSignalExternalSemaphoresAsync(extSemArray : Optional[List[CUexternalSemaphore]], paramsArray : Optional[List[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS]], unsigned int numExtSems, stream):
 *     """ Signals a set of external semaphore objects.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_469cuSignalExternalSemaphoresAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_468cuSignalExternalSemaphoresAsync, "cuSignalExternalSemaphoresAsync(list extSemArray: Optional[List[CUexternalSemaphore]], list paramsArray: Optional[List[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS]], unsigned int numExtSems, stream)\n Signals a set of external semaphore objects.\n\n    Enqueues a signal operation on a set of externally allocated semaphore\n    object in the specified stream. The operations will be executed when\n    all prior operations in the stream complete.\n\n    The exact semantics of signaling a semaphore depends on the type of the\n    object.\n\n    If 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\n    signaling the semaphore will set it to the signaled state.\n\n    If 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`\n    then the semaphore will be set to the value specified in\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS`::params::fence::value.\n\n    If 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\n    to a value that can be used by subsequent waiters of the same NvSciSync\n    object to order operations with those currently submitted in `stream`.\n    Such an update will overwrite previous contents of\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS`::params::nvSciSync::fence.\n    By default, signaling such an external semaphore object causes\n    appropriate memory synchronization operations to be performed over all\n    external m""emory objects that are imported as\n    :py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF`. This ensures that\n    any subsequent accesses made by other importers of the same set of\n    NvSciBuf memory object(s) are coherent. These operations can be skipped\n    by specifying the flag\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC`, which\n    can be used as a performance optimization when data coherency is not\n    required. But specifying this flag in scenarios where data coherency is\n    required results in undefined behavior. Also, for semaphore object of\n    the type :py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC`, if\n    the NvSciSyncAttrList used to create the NvSciSyncObj had not set the\n    flags in :py:obj:`~.cuDeviceGetNvSciSyncAttributes` to\n    CUDA_NVSCISYNC_ATTR_SIGNAL, this API will return\n    CUDA_ERROR_NOT_SUPPORTED. NvSciSyncFence associated with semaphore\n    object of the type\n    :py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC` can be\n    deterministic. For this the NvSciSyncAttrList used to create the\n    semaphore object must have value of\n    NvSciSyncAttrKey_RequireDeterministicFences key set to true.\n    Deterministic fences allow users to enqueue a wait over the semaphore\n    object even before corresponding signal is enqueued. For such a\n    semaphore object, CUDA guarantees that each signal operation will\n    increment the fence value by '1'. Users are expected to track count of\n    signals enqueued on the semaphore object and insert waits accordingly.\n    When such a semaphore object is signaled from multiple streams, due to\n    concurrent stream execution, it is possible that the order in which the\n    semaphore gets signaled is indeterministic. This could lead to waiters\n    of the semaphore getting unblocked incorrectly. Users are expected to\n    handle such situations, either by not using the same semaphore object\n    with deterministic fence support enabled in different ""streams or by\n    adding explicit dependency amongst such streams so that the semaphore\n    is signaled in order.\n\n    If 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`\n    then the keyed mutex will be released with the key specified in\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_PARAMS`::params::keyedmutex::key.\n\n    Parameters\n    ----------\n    extSemArray : List[:py:obj:`~.CUexternalSemaphore`]\n        Set of external semaphores to be signaled\n    paramsArray : List[:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS`]\n        Array of semaphore parameters\n    numExtSems : unsigned int\n        Number of semaphores to signal\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to enqueue the signal operations in\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\n    See Also\n    --------\n    :py:obj:`~.cuImportExternalSemaphore`, :py:obj:`~.cuDestroyExternalSemaphore`, :py:obj:`~.cuWaitExternalSemaphoresAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_469cuSignalExternalSemaphoresAsync = {"cuSignalExternalSemaphoresAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_469cuSignalExternalSemaphoresAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_468cuSignalExternalSemaphoresAsync};
static PyObject *__pyx_pw_4cuda_4cuda_469cuSignalExternalSemaphoresAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_extSemArray_2,&__pyx_n_s_paramsArray_2,&__pyx_n_s_numExtSems_2,&__pyx_n_s_stream,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_extSemArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29332, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_paramsArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29332, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuSignalExternalSemaphoresAsync", 1, 4, 4, 1); __PYX_ERR(1, 29332, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numExtSems_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29332, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuSignalExternalSemaphoresAsync", 1, 4, 4, 2); __PYX_ERR(1, 29332, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_stream)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29332, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuSignalExternalSemaphoresAsync", 1, 4, 4, 3); __PYX_ERR(1, 29332, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuSignalExternalSemaphoresAsync") < 0)) __PYX_ERR(1, 29332, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_extSemArray = ((PyObject*)values[0]);
    __pyx_v_paramsArray = ((PyObject*)values[1]);
    __pyx_v_numExtSems = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_numExtSems == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 29333, __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(1, 29332, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuSignalExternalSemaphoresAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extSemArray), (&PyList_Type), 1, "extSemArray", 1))) __PYX_ERR(1, 29333, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_paramsArray), (&PyList_Type), 1, "paramsArray", 1))) __PYX_ERR(1, 29333, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_468cuSignalExternalSemaphoresAsync(__pyx_self, __pyx_v_extSemArray, __pyx_v_paramsArray, __pyx_v_numExtSems, __pyx_v_stream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_31cuSignalExternalSemaphoresAsync_2generator20(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":29435
 *         cstream = <ccuda.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 List[ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
 */

static PyObject *__pyx_pf_4cuda_4cuda_31cuSignalExternalSemaphoresAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_20_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_20_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_20_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_20_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 29435, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_31cuSignalExternalSemaphoresAsync_2generator20, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuSignalExternalSemaphoresAsync, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 29435, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_31cuSignalExternalSemaphoresAsync_2generator20(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_20_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_20_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 29435, 0, __PYX_ERR(1, 29435, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 29435, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 29435, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 29435, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 29435, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 29435, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_31cuSignalExternalSemaphoresAsync_5generator21(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":29438
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.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 List[ccuda.CUexternalSemaphore,]")
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL
 */

static PyObject *__pyx_pf_4cuda_4cuda_31cuSignalExternalSemaphoresAsync_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_21_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_21_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_21_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_21_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 29438, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_31cuSignalExternalSemaphoresAsync_5generator21, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuSignalExternalSemaphoresAsync, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 29438, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_31cuSignalExternalSemaphoresAsync_5generator21(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_21_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_21_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 29438, 0, __PYX_ERR(1, 29438, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 29438, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 29438, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 29438, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 29438, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 29438, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUexternalSemaphore); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":29332
 *     return (CUresult(err), extSem_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSignalExternalSemaphoresAsync(extSemArray : Optional[List[CUexternalSemaphore]], paramsArray : Optional[List[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS]], unsigned int numExtSems, stream):
 *     """ Signals a set of external semaphore objects.
 */

static PyObject *__pyx_pf_4cuda_4cuda_468cuSignalExternalSemaphoresAsync(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_cstream;
  PyObject *__pyx_v_pstream = NULL;
  CUexternalSemaphore *__pyx_v_cextSemArray;
  Py_ssize_t __pyx_v_idx;
  CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *__pyx_v_cparamsArray;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_31cuSignalExternalSemaphoresAsync_2generator20 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_31cuSignalExternalSemaphoresAsync_5generator21 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  CUexternalSemaphore *__pyx_t_10;
  struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *__pyx_t_11;
  CUresult __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__727)
  __Pyx_RefNannySetupContext("cuSignalExternalSemaphoresAsync", 0);
  __Pyx_TraceCall("cuSignalExternalSemaphoresAsync", __pyx_f[1], 29332, 0, __PYX_ERR(1, 29332, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_extSemArray);
  __Pyx_INCREF(__pyx_v_paramsArray);

  /* "cuda/cuda.pyx":29426
 *     """
 *     cdef ccuda.CUstream cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29427
 *     cdef ccuda.CUstream cstream
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29426
 *     """
 *     cdef ccuda.CUstream cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29428
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29429
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29429, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29430
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(CUstream(stream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29430, __pyx_L1_error)
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29428
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29432
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     paramsArray = [] if paramsArray is None else paramsArray
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29433
 *     else:
 *         pstream = int(CUstream(stream))
 *         cstream = <ccuda.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_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29433, __pyx_L1_error)
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":29434
 *         pstream = int(CUstream(stream))
 *         cstream = <ccuda.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 List[ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")
 */
  __pyx_t_1 = (__pyx_v_paramsArray == ((PyObject*)Py_None));
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_paramsArray);
    __pyx_t_4 = __pyx_v_paramsArray;
  }
  __Pyx_DECREF_SET(__pyx_v_paramsArray, ((PyObject*)__pyx_t_4));
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":29435
 *         cstream = <ccuda.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 List[ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
 */
  __pyx_t_4 = __pyx_pf_4cuda_4cuda_31cuSignalExternalSemaphoresAsync_genexpr(NULL, __pyx_v_paramsArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 29435, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = (!__pyx_t_1);
  if (unlikely(__pyx_t_5)) {

    /* "cuda/cuda.pyx":29436
 *     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 List[ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")             # <<<<<<<<<<<<<<
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__728, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29436, __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, 29436, __pyx_L1_error)

    /* "cuda/cuda.pyx":29435
 *         cstream = <ccuda.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 List[ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
 */
  }

  /* "cuda/cuda.pyx":29437
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.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 List[ccuda.CUexternalSemaphore,]")
 */
  __pyx_t_5 = (__pyx_v_extSemArray == ((PyObject*)Py_None));
  if (__pyx_t_5) {
    __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29437, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __pyx_t_4;
    __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_extSemArray);
    __pyx_t_2 = __pyx_v_extSemArray;
  }
  __Pyx_DECREF_SET(__pyx_v_extSemArray, ((PyObject*)__pyx_t_2));
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":29438
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.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 List[ccuda.CUexternalSemaphore,]")
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL
 */
  __pyx_t_2 = __pyx_pf_4cuda_4cuda_31cuSignalExternalSemaphoresAsync_3genexpr(NULL, __pyx_v_extSemArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_Generator_Next(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(1, 29438, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = (!__pyx_t_5);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":29439
 *     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 List[ccuda.CUexternalSemaphore,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL
 *     if len(extSemArray) > 0:
 */
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__729, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29439, __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, 29439, __pyx_L1_error)

    /* "cuda/cuda.pyx":29438
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.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 List[ccuda.CUexternalSemaphore,]")
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL
 */
  }

  /* "cuda/cuda.pyx":29440
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccuda.CUexternalSemaphore,]")
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL             # <<<<<<<<<<<<<<
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccuda.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(ccuda.CUexternalSemaphore))
 */
  __pyx_v_cextSemArray = NULL;

  /* "cuda/cuda.pyx":29441
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccuda.CUexternalSemaphore,]")
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL
 *     if len(extSemArray) > 0:             # <<<<<<<<<<<<<<
 *         cextSemArray = <ccuda.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(ccuda.CUexternalSemaphore))
 *         if cextSemArray is NULL:
 */
  if (unlikely(__pyx_v_extSemArray == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 29441, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_extSemArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29441, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_6 > 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29442
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccuda.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(ccuda.CUexternalSemaphore))             # <<<<<<<<<<<<<<
 *         if cextSemArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 */
    if (unlikely(__pyx_v_extSemArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 29442, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_extSemArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29442, __pyx_L1_error)
    __pyx_v_cextSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_6, (sizeof(CUexternalSemaphore))));

    /* "cuda/cuda.pyx":29443
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccuda.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(ccuda.CUexternalSemaphore))
 *         if cextSemArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *         else:
 */
    __pyx_t_1 = (__pyx_v_cextSemArray == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":29444
 *         cextSemArray = <ccuda.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(ccuda.CUexternalSemaphore))
 *         if cextSemArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(extSemArray)):
 */
      if (unlikely(__pyx_v_extSemArray == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 29444, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_extSemArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29444, __pyx_L1_error)
      __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29444, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29444, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29444, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29444, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUexternalSemaphore))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29444, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29444, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29444, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29444, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 29444, __pyx_L1_error)

      /* "cuda/cuda.pyx":29443
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccuda.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(ccuda.CUexternalSemaphore))
 *         if cextSemArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":29446
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *         else:
 *             for idx in range(len(extSemArray)):             # <<<<<<<<<<<<<<
 *                 cextSemArray[idx] = <ccuda.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._ptr[0]
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* cparamsArray = NULL
 */
    /*else*/ {
      if (unlikely(__pyx_v_extSemArray == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 29446, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_extSemArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29446, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":29447
 *         else:
 *             for idx in range(len(extSemArray)):
 *                 cextSemArray[idx] = <ccuda.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* cparamsArray = NULL
 *     if len(paramsArray) > 0:
 */
        if (unlikely(__pyx_v_extSemArray == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 29447, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_extSemArray, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29447, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cextSemArray[__pyx_v_idx]) = ((CUexternalSemaphore)(((struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":29441
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccuda.CUexternalSemaphore,]")
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL
 *     if len(extSemArray) > 0:             # <<<<<<<<<<<<<<
 *         cextSemArray = <ccuda.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(ccuda.CUexternalSemaphore))
 *         if cextSemArray is NULL:
 */
  }

  /* "cuda/cuda.pyx":29448
 *             for idx in range(len(extSemArray)):
 *                 cextSemArray[idx] = <ccuda.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._ptr[0]
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* cparamsArray = NULL             # <<<<<<<<<<<<<<
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(paramsArray), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 */
  __pyx_v_cparamsArray = NULL;

  /* "cuda/cuda.pyx":29449
 *                 cextSemArray[idx] = <ccuda.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._ptr[0]
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* cparamsArray = NULL
 *     if len(paramsArray) > 0:             # <<<<<<<<<<<<<<
 *         cparamsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(paramsArray), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *         if cparamsArray is NULL:
 */
  if (unlikely(__pyx_v_paramsArray == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 29449, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29449, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_6 > 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29450
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* cparamsArray = NULL
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(paramsArray), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))             # <<<<<<<<<<<<<<
 *         if cparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 */
    if (unlikely(__pyx_v_paramsArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 29450, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29450, __pyx_L1_error)
    __pyx_v_cparamsArray = ((CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *)calloc(__pyx_t_6, (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))));

    /* "cuda/cuda.pyx":29451
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(paramsArray), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *         if cparamsArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *         for idx in range(len(paramsArray)):
 */
    __pyx_t_1 = (__pyx_v_cparamsArray == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":29452
 *         cparamsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(paramsArray), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *         if cparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 */
      if (unlikely(__pyx_v_paramsArray == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 29452, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29452, __pyx_L1_error)
      __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29452, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29452, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29452, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29452, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29452, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29452, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29452, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29452, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(1, 29452, __pyx_L1_error)

      /* "cuda/cuda.pyx":29451
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(paramsArray), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *         if cparamsArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *         for idx in range(len(paramsArray)):
 */
    }

    /* "cuda/cuda.pyx":29453
 *         if cparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *         for idx in range(len(paramsArray)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))
 */
    if (unlikely(__pyx_v_paramsArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 29453, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29453, __pyx_L1_error)
    __pyx_t_8 = __pyx_t_6;
    for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
      __pyx_v_idx = __pyx_t_9;

      /* "cuda/cuda.pyx":29454
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)))
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))             # <<<<<<<<<<<<<<
 *     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))
 */
      if (unlikely(__pyx_v_paramsArray == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(1, 29454, __pyx_L1_error)
      }
      __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_paramsArray, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29454, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      (void)(memcpy((&(__pyx_v_cparamsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *)__pyx_t_2)->__pyx_base.__pyx_base._ptr, (sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))));
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }

    /* "cuda/cuda.pyx":29449
 *                 cextSemArray[idx] = <ccuda.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._ptr[0]
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS* cparamsArray = NULL
 *     if len(paramsArray) > 0:             # <<<<<<<<<<<<<<
 *         cparamsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS*> calloc(len(paramsArray), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *         if cparamsArray is NULL:
 */
  }

  /* "cuda/cuda.pyx":29455
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *     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))
 *     err = ccuda.cuSignalExternalSemaphoresAsync(<ccuda.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)
 */
  if (unlikely(__pyx_v_extSemArray == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 29455, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_extSemArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29455, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numExtSems > __pyx_t_6);
  if (unlikely(__pyx_t_1)) {
    if (unlikely(__pyx_v_extSemArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 29455, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_extSemArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29455, __pyx_L1_error)
    __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u__535); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numExtSems); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 29455, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":29456
 *             string.memcpy(&cparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))
 *     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))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuSignalExternalSemaphoresAsync(<ccuda.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)
 *     if cextSemArray is not NULL:
 */
  if (unlikely(__pyx_v_paramsArray == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 29456, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29456, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numExtSems > __pyx_t_6);
  if (unlikely(__pyx_t_1)) {
    if (unlikely(__pyx_v_paramsArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 29456, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29456, __pyx_L1_error)
    __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_kp_u__535); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numExtSems); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_Raise(__pyx_t_7, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __PYX_ERR(1, 29456, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":29457
 *     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))
 *     err = ccuda.cuSignalExternalSemaphoresAsync(<ccuda.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)             # <<<<<<<<<<<<<<
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 */
  if (unlikely(__pyx_v_extSemArray == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 29457, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_extSemArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29457, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_6 == 1);
  if (__pyx_t_1) {
    if (unlikely(__pyx_v_extSemArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 29457, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_extSemArray, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_10 = ((CUexternalSemaphore *)((struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *)__pyx_t_7)->_ptr);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cextSemArray;
  }
  if (unlikely(__pyx_v_paramsArray == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 29457, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29457, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_6 == 1);
  if (__pyx_t_1) {
    if (unlikely(__pyx_v_paramsArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 29457, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_paramsArray, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_11 = ((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS *)__pyx_t_7)->__pyx_base.__pyx_base._ptr;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cparamsArray;
  }
  __pyx_t_12 = __pyx_f_4cuda_5ccuda_cuSignalExternalSemaphoresAsync(__pyx_t_10, __pyx_t_11, __pyx_v_numExtSems, __pyx_v_cstream); if (unlikely(__pyx_t_12 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 29457, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cuda.pyx":29458
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
 *     err = ccuda.cuSignalExternalSemaphoresAsync(<ccuda.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)
 *     if cextSemArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:
 */
  __pyx_t_1 = (__pyx_v_cextSemArray != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29459
 *     err = ccuda.cuSignalExternalSemaphoresAsync(<ccuda.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)             # <<<<<<<<<<<<<<
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)
 */
    free(__pyx_v_cextSemArray);

    /* "cuda/cuda.pyx":29458
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
 *     err = ccuda.cuSignalExternalSemaphoresAsync(<ccuda.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)
 *     if cextSemArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:
 */
  }

  /* "cuda/cuda.pyx":29460
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cparamsArray)
 *     return (CUresult(err),)
 */
  __pyx_t_1 = (__pyx_v_cparamsArray != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29461
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
    free(__pyx_v_cparamsArray);

    /* "cuda/cuda.pyx":29460
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cparamsArray)
 *     return (CUresult(err),)
 */
  }

  /* "cuda/cuda.pyx":29462
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_13 = NULL;
  __pyx_t_14 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_14 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_2};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_14, 1+__pyx_t_14);
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29462, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7)) __PYX_ERR(1, 29462, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":29332
 *     return (CUresult(err), extSem_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSignalExternalSemaphoresAsync(extSemArray : Optional[List[CUexternalSemaphore]], paramsArray : Optional[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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cuda.cuSignalExternalSemaphoresAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_31cuSignalExternalSemaphoresAsync_2generator20);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_31cuSignalExternalSemaphoresAsync_5generator21);
  __Pyx_XDECREF(__pyx_v_extSemArray);
  __Pyx_XDECREF(__pyx_v_paramsArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":29464
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuWaitExternalSemaphoresAsync(extSemArray : Optional[List[CUexternalSemaphore]], paramsArray : Optional[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_4cuda_471cuWaitExternalSemaphoresAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_470cuWaitExternalSemaphoresAsync, "cuWaitExternalSemaphoresAsync(list extSemArray: Optional[List[CUexternalSemaphore]], list paramsArray: Optional[List[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS]], unsigned int numExtSems, stream)\n Waits on a set of external semaphore objects.\n\n    Enqueues a wait operation on a set of externally allocated semaphore\n    object in the specified stream. The operations will be executed when\n    all prior operations in the stream complete.\n\n    The exact semantics of waiting on a semaphore depends on the type of\n    the object.\n\n    If 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\n    waiting on the semaphore will wait until the semaphore reaches the\n    signaled state. The semaphore will then be reset to the unsignaled\n    state. Therefore for every signal operation, there can only be one wait\n    operation.\n\n    If 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`\n    then waiting on the semaphore will wait until the value of the\n    semaphore is greater than or equal to\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS`::params::fence::value.\n\n    If the semaphore object is of the type\n    :py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC` then, waiting\n    on the semaphore will wait until the\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS`::params::nvSciSync::fence\n    is signaled by the signaler of the NvSciSyncObj that was associated\n    with this semaphore object. By default, waiting on such an external\n    semaphore object causes appropriate memor""y synchronization operations\n    to be performed over all external memory objects that are imported as\n    :py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF`. This ensures that\n    any subsequent accesses made by other importers of the same set of\n    NvSciBuf memory object(s) are coherent. These operations can be skipped\n    by specifying the flag\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC`, which\n    can be used as a performance optimization when data coherency is not\n    required. But specifying this flag in scenarios where data coherency is\n    required results in undefined behavior. Also, for semaphore object of\n    the type :py:obj:`~.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC`, if\n    the NvSciSyncAttrList used to create the NvSciSyncObj had not set the\n    flags in :py:obj:`~.cuDeviceGetNvSciSyncAttributes` to\n    CUDA_NVSCISYNC_ATTR_WAIT, this API will return\n    CUDA_ERROR_NOT_SUPPORTED.\n\n    If 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`\n    then the keyed mutex will be acquired when it is released with the key\n    specified in\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS`::params::keyedmutex::key\n    or until the timeout specified by\n    :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS`::params::keyedmutex::timeoutMs\n    has lapsed. The timeout interval can either be a finite value specified\n    in milliseconds or an infinite value. In case an infinite value is\n    specified the timeout never elapses. The windows INFINITE macro must be\n    used to specify infinite timeout.\n\n    Parameters\n    ----------\n    extSemArray : List[:py:obj:`~.CUexternalSemaphore`]\n        External semaphores to be waited on\n    paramsArray : List[:py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS`]\n        Array of semaphore parameters\n    numExtSems : unsigned int""\n        Number of semaphores to wait on\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to enqueue the wait operations in\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuImportExternalSemaphore`, :py:obj:`~.cuDestroyExternalSemaphore`, :py:obj:`~.cuSignalExternalSemaphoresAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_471cuWaitExternalSemaphoresAsync = {"cuWaitExternalSemaphoresAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_471cuWaitExternalSemaphoresAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_470cuWaitExternalSemaphoresAsync};
static PyObject *__pyx_pw_4cuda_4cuda_471cuWaitExternalSemaphoresAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_extSemArray_2,&__pyx_n_s_paramsArray_2,&__pyx_n_s_numExtSems_2,&__pyx_n_s_stream,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_extSemArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29464, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_paramsArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29464, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuWaitExternalSemaphoresAsync", 1, 4, 4, 1); __PYX_ERR(1, 29464, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numExtSems_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29464, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuWaitExternalSemaphoresAsync", 1, 4, 4, 2); __PYX_ERR(1, 29464, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_stream)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29464, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuWaitExternalSemaphoresAsync", 1, 4, 4, 3); __PYX_ERR(1, 29464, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuWaitExternalSemaphoresAsync") < 0)) __PYX_ERR(1, 29464, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_extSemArray = ((PyObject*)values[0]);
    __pyx_v_paramsArray = ((PyObject*)values[1]);
    __pyx_v_numExtSems = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_numExtSems == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 29465, __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(1, 29464, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuWaitExternalSemaphoresAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_extSemArray), (&PyList_Type), 1, "extSemArray", 1))) __PYX_ERR(1, 29465, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_paramsArray), (&PyList_Type), 1, "paramsArray", 1))) __PYX_ERR(1, 29465, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_470cuWaitExternalSemaphoresAsync(__pyx_self, __pyx_v_extSemArray, __pyx_v_paramsArray, __pyx_v_numExtSems, __pyx_v_stream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_29cuWaitExternalSemaphoresAsync_2generator22(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":29558
 *         cstream = <ccuda.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 List[ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
 */

static PyObject *__pyx_pf_4cuda_4cuda_29cuWaitExternalSemaphoresAsync_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_22_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_22_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_22_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_22_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 29558, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_29cuWaitExternalSemaphoresAsync_2generator22, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuWaitExternalSemaphoresAsync_lo, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 29558, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29cuWaitExternalSemaphoresAsync_2generator22(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_22_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_22_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 29558, 0, __PYX_ERR(1, 29558, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 29558, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 29558, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 29558, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 29558, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 29558, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_29cuWaitExternalSemaphoresAsync_5generator23(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":29561
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.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 List[ccuda.CUexternalSemaphore,]")
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL
 */

static PyObject *__pyx_pf_4cuda_4cuda_29cuWaitExternalSemaphoresAsync_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_23_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_23_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_23_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_23_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 29561, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_29cuWaitExternalSemaphoresAsync_5generator23, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuWaitExternalSemaphoresAsync_lo, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 29561, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_29cuWaitExternalSemaphoresAsync_5generator23(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_23_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_23_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 29561, 0, __PYX_ERR(1, 29561, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 29561, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 29561, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 29561, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 29561, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 29561, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUexternalSemaphore); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":29464
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuWaitExternalSemaphoresAsync(extSemArray : Optional[List[CUexternalSemaphore]], paramsArray : Optional[List[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS]], unsigned int numExtSems, stream):
 *     """ Waits on a set of external semaphore objects.
 */

static PyObject *__pyx_pf_4cuda_4cuda_470cuWaitExternalSemaphoresAsync(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_cstream;
  PyObject *__pyx_v_pstream = NULL;
  CUexternalSemaphore *__pyx_v_cextSemArray;
  Py_ssize_t __pyx_v_idx;
  CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *__pyx_v_cparamsArray;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_29cuWaitExternalSemaphoresAsync_2generator22 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_29cuWaitExternalSemaphoresAsync_5generator23 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  CUexternalSemaphore *__pyx_t_10;
  struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *__pyx_t_11;
  CUresult __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__730)
  __Pyx_RefNannySetupContext("cuWaitExternalSemaphoresAsync", 0);
  __Pyx_TraceCall("cuWaitExternalSemaphoresAsync", __pyx_f[1], 29464, 0, __PYX_ERR(1, 29464, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_extSemArray);
  __Pyx_INCREF(__pyx_v_paramsArray);

  /* "cuda/cuda.pyx":29549
 *     """
 *     cdef ccuda.CUstream cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29550
 *     cdef ccuda.CUstream cstream
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29549
 *     """
 *     cdef ccuda.CUstream cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29551
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29552
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29553
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(CUstream(stream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29553, __pyx_L1_error)
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29551
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29555
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     paramsArray = [] if paramsArray is None else paramsArray
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29555, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29555, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29556
 *     else:
 *         pstream = int(CUstream(stream))
 *         cstream = <ccuda.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_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29556, __pyx_L1_error)
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":29557
 *         pstream = int(CUstream(stream))
 *         cstream = <ccuda.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 List[ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")
 */
  __pyx_t_1 = (__pyx_v_paramsArray == ((PyObject*)Py_None));
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_paramsArray);
    __pyx_t_4 = __pyx_v_paramsArray;
  }
  __Pyx_DECREF_SET(__pyx_v_paramsArray, ((PyObject*)__pyx_t_4));
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":29558
 *         cstream = <ccuda.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 List[ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
 */
  __pyx_t_4 = __pyx_pf_4cuda_4cuda_29cuWaitExternalSemaphoresAsync_genexpr(NULL, __pyx_v_paramsArray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 29558, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = (!__pyx_t_1);
  if (unlikely(__pyx_t_5)) {

    /* "cuda/cuda.pyx":29559
 *     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 List[ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")             # <<<<<<<<<<<<<<
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__731, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29559, __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, 29559, __pyx_L1_error)

    /* "cuda/cuda.pyx":29558
 *         cstream = <ccuda.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 List[ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")
 *     extSemArray = [] if extSemArray is None else extSemArray
 */
  }

  /* "cuda/cuda.pyx":29560
 *     if not all(isinstance(_x, (CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.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 List[ccuda.CUexternalSemaphore,]")
 */
  __pyx_t_5 = (__pyx_v_extSemArray == ((PyObject*)Py_None));
  if (__pyx_t_5) {
    __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __pyx_t_4;
    __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_extSemArray);
    __pyx_t_2 = __pyx_v_extSemArray;
  }
  __Pyx_DECREF_SET(__pyx_v_extSemArray, ((PyObject*)__pyx_t_2));
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":29561
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.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 List[ccuda.CUexternalSemaphore,]")
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL
 */
  __pyx_t_2 = __pyx_pf_4cuda_4cuda_29cuWaitExternalSemaphoresAsync_3genexpr(NULL, __pyx_v_extSemArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_Generator_Next(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(1, 29561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = (!__pyx_t_5);
  if (unlikely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":29562
 *     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 List[ccuda.CUexternalSemaphore,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL
 *     if len(extSemArray) > 0:
 */
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__729, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29562, __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, 29562, __pyx_L1_error)

    /* "cuda/cuda.pyx":29561
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.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 List[ccuda.CUexternalSemaphore,]")
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL
 */
  }

  /* "cuda/cuda.pyx":29563
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccuda.CUexternalSemaphore,]")
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL             # <<<<<<<<<<<<<<
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccuda.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(ccuda.CUexternalSemaphore))
 */
  __pyx_v_cextSemArray = NULL;

  /* "cuda/cuda.pyx":29564
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccuda.CUexternalSemaphore,]")
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL
 *     if len(extSemArray) > 0:             # <<<<<<<<<<<<<<
 *         cextSemArray = <ccuda.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(ccuda.CUexternalSemaphore))
 *         if cextSemArray is NULL:
 */
  if (unlikely(__pyx_v_extSemArray == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 29564, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_extSemArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29564, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_6 > 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29565
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccuda.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(ccuda.CUexternalSemaphore))             # <<<<<<<<<<<<<<
 *         if cextSemArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 */
    if (unlikely(__pyx_v_extSemArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 29565, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_extSemArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29565, __pyx_L1_error)
    __pyx_v_cextSemArray = ((CUexternalSemaphore *)calloc(__pyx_t_6, (sizeof(CUexternalSemaphore))));

    /* "cuda/cuda.pyx":29566
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccuda.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(ccuda.CUexternalSemaphore))
 *         if cextSemArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *         else:
 */
    __pyx_t_1 = (__pyx_v_cextSemArray == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":29567
 *         cextSemArray = <ccuda.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(ccuda.CUexternalSemaphore))
 *         if cextSemArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(extSemArray)):
 */
      if (unlikely(__pyx_v_extSemArray == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 29567, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_extSemArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29567, __pyx_L1_error)
      __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29567, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29567, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29567, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29567, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUexternalSemaphore))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29567, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29567, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29567, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29567, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 29567, __pyx_L1_error)

      /* "cuda/cuda.pyx":29566
 *     if len(extSemArray) > 0:
 *         cextSemArray = <ccuda.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(ccuda.CUexternalSemaphore))
 *         if cextSemArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":29569
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(extSemArray)) + 'x' + str(sizeof(ccuda.CUexternalSemaphore)))
 *         else:
 *             for idx in range(len(extSemArray)):             # <<<<<<<<<<<<<<
 *                 cextSemArray[idx] = <ccuda.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._ptr[0]
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* cparamsArray = NULL
 */
    /*else*/ {
      if (unlikely(__pyx_v_extSemArray == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 29569, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_extSemArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29569, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":29570
 *         else:
 *             for idx in range(len(extSemArray)):
 *                 cextSemArray[idx] = <ccuda.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* cparamsArray = NULL
 *     if len(paramsArray) > 0:
 */
        if (unlikely(__pyx_v_extSemArray == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 29570, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_extSemArray, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29570, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cextSemArray[__pyx_v_idx]) = ((CUexternalSemaphore)(((struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":29564
 *         raise TypeError("Argument 'extSemArray' is not instance of type (expected List[ccuda.CUexternalSemaphore,]")
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL
 *     if len(extSemArray) > 0:             # <<<<<<<<<<<<<<
 *         cextSemArray = <ccuda.CUexternalSemaphore*> calloc(len(extSemArray), sizeof(ccuda.CUexternalSemaphore))
 *         if cextSemArray is NULL:
 */
  }

  /* "cuda/cuda.pyx":29571
 *             for idx in range(len(extSemArray)):
 *                 cextSemArray[idx] = <ccuda.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._ptr[0]
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* cparamsArray = NULL             # <<<<<<<<<<<<<<
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(paramsArray), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 */
  __pyx_v_cparamsArray = NULL;

  /* "cuda/cuda.pyx":29572
 *                 cextSemArray[idx] = <ccuda.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._ptr[0]
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* cparamsArray = NULL
 *     if len(paramsArray) > 0:             # <<<<<<<<<<<<<<
 *         cparamsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(paramsArray), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *         if cparamsArray is NULL:
 */
  if (unlikely(__pyx_v_paramsArray == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 29572, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29572, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_6 > 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29573
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* cparamsArray = NULL
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(paramsArray), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))             # <<<<<<<<<<<<<<
 *         if cparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 */
    if (unlikely(__pyx_v_paramsArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 29573, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29573, __pyx_L1_error)
    __pyx_v_cparamsArray = ((CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *)calloc(__pyx_t_6, (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))));

    /* "cuda/cuda.pyx":29574
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(paramsArray), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *         if cparamsArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *         for idx in range(len(paramsArray)):
 */
    __pyx_t_1 = (__pyx_v_cparamsArray == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":29575
 *         cparamsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(paramsArray), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *         if cparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 */
      if (unlikely(__pyx_v_paramsArray == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 29575, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29575, __pyx_L1_error)
      __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29575, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29575, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29575, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29575, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29575, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29575, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29575, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29575, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(1, 29575, __pyx_L1_error)

      /* "cuda/cuda.pyx":29574
 *     if len(paramsArray) > 0:
 *         cparamsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(paramsArray), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *         if cparamsArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *         for idx in range(len(paramsArray)):
 */
    }

    /* "cuda/cuda.pyx":29576
 *         if cparamsArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *         for idx in range(len(paramsArray)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *     if numExtSems > len(extSemArray): raise RuntimeError("List is too small: " + str(len(extSemArray)) + " < " + str(numExtSems))
 */
    if (unlikely(__pyx_v_paramsArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 29576, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29576, __pyx_L1_error)
    __pyx_t_8 = __pyx_t_6;
    for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
      __pyx_v_idx = __pyx_t_9;

      /* "cuda/cuda.pyx":29577
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramsArray)) + 'x' + str(sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)))
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))             # <<<<<<<<<<<<<<
 *     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))
 */
      if (unlikely(__pyx_v_paramsArray == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(1, 29577, __pyx_L1_error)
      }
      __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_paramsArray, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29577, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      (void)(memcpy((&(__pyx_v_cparamsArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *)__pyx_t_2)->__pyx_base.__pyx_base._ptr, (sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))));
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }

    /* "cuda/cuda.pyx":29572
 *                 cextSemArray[idx] = <ccuda.CUexternalSemaphore>(<CUexternalSemaphore>extSemArray[idx])._ptr[0]
 *     cdef ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS* cparamsArray = NULL
 *     if len(paramsArray) > 0:             # <<<<<<<<<<<<<<
 *         cparamsArray = <ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS*> calloc(len(paramsArray), sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *         if cparamsArray is NULL:
 */
  }

  /* "cuda/cuda.pyx":29578
 *         for idx in range(len(paramsArray)):
 *             string.memcpy(&cparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *     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))
 *     err = ccuda.cuWaitExternalSemaphoresAsync(<ccuda.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)
 */
  if (unlikely(__pyx_v_extSemArray == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 29578, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_extSemArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29578, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numExtSems > __pyx_t_6);
  if (unlikely(__pyx_t_1)) {
    if (unlikely(__pyx_v_extSemArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 29578, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_extSemArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29578, __pyx_L1_error)
    __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_kp_u__535); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numExtSems); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyNumber_Add(__pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 29578, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":29579
 *             string.memcpy(&cparamsArray[idx], (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[idx])._ptr, sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))
 *     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))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuWaitExternalSemaphoresAsync(<ccuda.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)
 *     if cextSemArray is not NULL:
 */
  if (unlikely(__pyx_v_paramsArray == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 29579, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29579, __pyx_L1_error)
  __pyx_t_1 = (__pyx_v_numExtSems > __pyx_t_6);
  if (unlikely(__pyx_t_1)) {
    if (unlikely(__pyx_v_paramsArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 29579, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29579, __pyx_L1_error)
    __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_kp_u__535); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numExtSems); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_Raise(__pyx_t_7, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __PYX_ERR(1, 29579, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":29580
 *     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))
 *     err = ccuda.cuWaitExternalSemaphoresAsync(<ccuda.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)             # <<<<<<<<<<<<<<
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 */
  if (unlikely(__pyx_v_extSemArray == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 29580, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_extSemArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29580, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_6 == 1);
  if (__pyx_t_1) {
    if (unlikely(__pyx_v_extSemArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 29580, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_extSemArray, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_10 = ((CUexternalSemaphore *)((struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore *)__pyx_t_7)->_ptr);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cextSemArray;
  }
  if (unlikely(__pyx_v_paramsArray == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 29580, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramsArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29580, __pyx_L1_error)
  __pyx_t_1 = (__pyx_t_6 == 1);
  if (__pyx_t_1) {
    if (unlikely(__pyx_v_paramsArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 29580, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_paramsArray, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_11 = ((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS *)__pyx_t_7)->__pyx_base.__pyx_base._ptr;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cparamsArray;
  }
  __pyx_t_12 = __pyx_f_4cuda_5ccuda_cuWaitExternalSemaphoresAsync(__pyx_t_10, __pyx_t_11, __pyx_v_numExtSems, __pyx_v_cstream); if (unlikely(__pyx_t_12 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 29580, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cuda.pyx":29581
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
 *     err = ccuda.cuWaitExternalSemaphoresAsync(<ccuda.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)
 *     if cextSemArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:
 */
  __pyx_t_1 = (__pyx_v_cextSemArray != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29582
 *     err = ccuda.cuWaitExternalSemaphoresAsync(<ccuda.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)             # <<<<<<<<<<<<<<
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)
 */
    free(__pyx_v_cextSemArray);

    /* "cuda/cuda.pyx":29581
 *     if numExtSems > len(paramsArray): raise RuntimeError("List is too small: " + str(len(paramsArray)) + " < " + str(numExtSems))
 *     err = ccuda.cuWaitExternalSemaphoresAsync(<ccuda.CUexternalSemaphore*>(<CUexternalSemaphore>extSemArray[0])._ptr if len(extSemArray) == 1 else cextSemArray, (<CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS>paramsArray[0])._ptr if len(paramsArray) == 1 else cparamsArray, numExtSems, cstream)
 *     if cextSemArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:
 */
  }

  /* "cuda/cuda.pyx":29583
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cparamsArray)
 *     return (CUresult(err),)
 */
  __pyx_t_1 = (__pyx_v_cparamsArray != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29584
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
    free(__pyx_v_cparamsArray);

    /* "cuda/cuda.pyx":29583
 *     if cextSemArray is not NULL:
 *         free(cextSemArray)
 *     if cparamsArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cparamsArray)
 *     return (CUresult(err),)
 */
  }

  /* "cuda/cuda.pyx":29585
 *     if cparamsArray is not NULL:
 *         free(cparamsArray)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_13 = NULL;
  __pyx_t_14 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_14 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_2};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_14, 1+__pyx_t_14);
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7)) __PYX_ERR(1, 29585, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":29464
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuWaitExternalSemaphoresAsync(extSemArray : Optional[List[CUexternalSemaphore]], paramsArray : Optional[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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cuda.cuWaitExternalSemaphoresAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_29cuWaitExternalSemaphoresAsync_2generator22);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_29cuWaitExternalSemaphoresAsync_5generator23);
  __Pyx_XDECREF(__pyx_v_extSemArray);
  __Pyx_XDECREF(__pyx_v_paramsArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":29587
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDestroyExternalSemaphore(extSem):
 *     """ Destroys an external semaphore.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_473cuDestroyExternalSemaphore(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_472cuDestroyExternalSemaphore, "cuDestroyExternalSemaphore(extSem)\n Destroys an external semaphore.\n\n    Destroys an external semaphore object and releases any references to\n    the underlying resource. Any outstanding signals or waits must have\n    completed before the semaphore is destroyed.\n\n    Parameters\n    ----------\n    extSem : :py:obj:`~.CUexternalSemaphore`\n        External semaphore to be destroyed\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\n    See Also\n    --------\n    :py:obj:`~.cuImportExternalSemaphore`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_473cuDestroyExternalSemaphore = {"cuDestroyExternalSemaphore", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_473cuDestroyExternalSemaphore, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_472cuDestroyExternalSemaphore};
static PyObject *__pyx_pw_4cuda_4cuda_473cuDestroyExternalSemaphore(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_extSem,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_extSem)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29587, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDestroyExternalSemaphore") < 0)) __PYX_ERR(1, 29587, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_extSem = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDestroyExternalSemaphore", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 29587, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDestroyExternalSemaphore", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_472cuDestroyExternalSemaphore(__pyx_self, __pyx_v_extSem);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_472cuDestroyExternalSemaphore(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_extSem) {
  CUexternalSemaphore __pyx_v_cextSem;
  PyObject *__pyx_v_pextSem = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__732)
  __Pyx_RefNannySetupContext("cuDestroyExternalSemaphore", 1);
  __Pyx_TraceCall("cuDestroyExternalSemaphore", __pyx_f[1], 29587, 0, __PYX_ERR(1, 29587, __pyx_L1_error));

  /* "cuda/cuda.pyx":29610
 *     """
 *     cdef ccuda.CUexternalSemaphore cextSem
 *     if extSem is None:             # <<<<<<<<<<<<<<
 *         cextSem = <ccuda.CUexternalSemaphore><void_ptr>0
 *     elif isinstance(extSem, (CUexternalSemaphore,)):
 */
  __pyx_t_1 = (__pyx_v_extSem == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29611
 *     cdef ccuda.CUexternalSemaphore cextSem
 *     if extSem is None:
 *         cextSem = <ccuda.CUexternalSemaphore><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(extSem, (CUexternalSemaphore,)):
 *         pextSem = int(extSem)
 */
    __pyx_v_cextSem = ((CUexternalSemaphore)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29610
 *     """
 *     cdef ccuda.CUexternalSemaphore cextSem
 *     if extSem is None:             # <<<<<<<<<<<<<<
 *         cextSem = <ccuda.CUexternalSemaphore><void_ptr>0
 *     elif isinstance(extSem, (CUexternalSemaphore,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29612
 *     if extSem is None:
 *         cextSem = <ccuda.CUexternalSemaphore><void_ptr>0
 *     elif isinstance(extSem, (CUexternalSemaphore,)):             # <<<<<<<<<<<<<<
 *         pextSem = int(extSem)
 *         cextSem = <ccuda.CUexternalSemaphore><void_ptr>pextSem
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_extSem, __pyx_ptype_4cuda_4cuda_CUexternalSemaphore); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29613
 *         cextSem = <ccuda.CUexternalSemaphore><void_ptr>0
 *     elif isinstance(extSem, (CUexternalSemaphore,)):
 *         pextSem = int(extSem)             # <<<<<<<<<<<<<<
 *         cextSem = <ccuda.CUexternalSemaphore><void_ptr>pextSem
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_extSem); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pextSem = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29614
 *     elif isinstance(extSem, (CUexternalSemaphore,)):
 *         pextSem = int(extSem)
 *         cextSem = <ccuda.CUexternalSemaphore><void_ptr>pextSem             # <<<<<<<<<<<<<<
 *     else:
 *         pextSem = int(CUexternalSemaphore(extSem))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pextSem); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29614, __pyx_L1_error)
    __pyx_v_cextSem = ((CUexternalSemaphore)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29612
 *     if extSem is None:
 *         cextSem = <ccuda.CUexternalSemaphore><void_ptr>0
 *     elif isinstance(extSem, (CUexternalSemaphore,)):             # <<<<<<<<<<<<<<
 *         pextSem = int(extSem)
 *         cextSem = <ccuda.CUexternalSemaphore><void_ptr>pextSem
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29616
 *         cextSem = <ccuda.CUexternalSemaphore><void_ptr>pextSem
 *     else:
 *         pextSem = int(CUexternalSemaphore(extSem))             # <<<<<<<<<<<<<<
 *         cextSem = <ccuda.CUexternalSemaphore><void_ptr>pextSem
 *     err = ccuda.cuDestroyExternalSemaphore(cextSem)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUexternalSemaphore), __pyx_v_extSem); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pextSem = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29617
 *     else:
 *         pextSem = int(CUexternalSemaphore(extSem))
 *         cextSem = <ccuda.CUexternalSemaphore><void_ptr>pextSem             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDestroyExternalSemaphore(cextSem)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pextSem); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29617, __pyx_L1_error)
    __pyx_v_cextSem = ((CUexternalSemaphore)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":29618
 *         pextSem = int(CUexternalSemaphore(extSem))
 *         cextSem = <ccuda.CUexternalSemaphore><void_ptr>pextSem
 *     err = ccuda.cuDestroyExternalSemaphore(cextSem)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuDestroyExternalSemaphore(__pyx_v_cextSem); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 29618, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":29619
 *         cextSem = <ccuda.CUexternalSemaphore><void_ptr>pextSem
 *     err = ccuda.cuDestroyExternalSemaphore(cextSem)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 29619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29619, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 29619, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":29587
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuDestroyExternalSemaphore", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pextSem);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":29621
 *     return (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_4cuda_475cuStreamWaitValue32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_474cuStreamWaitValue32, "cuStreamWaitValue32(stream, addr, value, unsigned int flags)\n Wait on a memory location.\n\n    Enqueues a synchronization of the stream on the given memory location.\n    Work ordered after the operation will block until the given condition\n    on the memory is satisfied. By default, the condition is to wait for\n    (int32_t)(*addr - value) >= 0, a cyclic greater-or-equal. Other\n    condition types can be specified via `flags`.\n\n    If the memory was registered via :py:obj:`~.cuMemHostRegister()`, the\n    device pointer should be obtained with\n    :py:obj:`~.cuMemHostGetDevicePointer()`. This function cannot be used\n    with managed memory (:py:obj:`~.cuMemAllocManaged`).\n\n    Support 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\n    Parameters\n    ----------\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        The stream to synchronize on the memory location.\n    addr : :py:obj:`~.CUdeviceptr`\n        The memory location to wait on.\n    value : Any\n        The value to compare with the memory location.\n    flags : unsigned int\n        See :py:obj:`~.CUstreamWaitValue_flags`.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamWaitValue64`, :py:obj:`~.cuStreamWriteValue32`, :py:obj:`~.cuStreamWriteValue64`, :py:obj:`~.cuStreamBatchMemOp`, :py:obj:`~.cuMemHostRegister`, :py:obj:`~.cuStreamWaitEvent`\n\n    Notes\n    -----\n    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 th""em in an improper order.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_475cuStreamWaitValue32 = {"cuStreamWaitValue32", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_475cuStreamWaitValue32, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_474cuStreamWaitValue32};
static PyObject *__pyx_pw_4cuda_4cuda_475cuStreamWaitValue32(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_stream,&__pyx_n_s_addr,&__pyx_n_s_value_2,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_stream)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29621, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_addr)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29621, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamWaitValue32", 1, 4, 4, 1); __PYX_ERR(1, 29621, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29621, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamWaitValue32", 1, 4, 4, 2); __PYX_ERR(1, 29621, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29621, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamWaitValue32", 1, 4, 4, 3); __PYX_ERR(1, 29621, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamWaitValue32") < 0)) __PYX_ERR(1, 29621, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_stream = values[0];
    __pyx_v_addr = values[1];
    __pyx_v_value = values[2];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 29622, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamWaitValue32", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 29621, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamWaitValue32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_474cuStreamWaitValue32(__pyx_self, __pyx_v_stream, __pyx_v_addr, __pyx_v_value, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_474cuStreamWaitValue32(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_cvalue;
  PyObject *__pyx_v_pvalue = NULL;
  CUdeviceptr __pyx_v_caddr;
  PyObject *__pyx_v_paddr = NULL;
  CUstream __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__733)
  __Pyx_RefNannySetupContext("cuStreamWaitValue32", 1);
  __Pyx_TraceCall("cuStreamWaitValue32", __pyx_f[1], 29621, 0, __PYX_ERR(1, 29621, __pyx_L1_error));

  /* "cuda/cuda.pyx":29665
 *     """
 *     cdef ccuda.cuuint32_t cvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         cvalue = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(value, (cuuint32_t,)):
 */
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29666
 *     cdef ccuda.cuuint32_t cvalue
 *     if value is None:
 *         cvalue = <ccuda.cuuint32_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(value, (cuuint32_t,)):
 *         pvalue = int(value)
 */
    __pyx_v_cvalue = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29665
 *     """
 *     cdef ccuda.cuuint32_t cvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         cvalue = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(value, (cuuint32_t,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29667
 *     if value is None:
 *         cvalue = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(value, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value, __pyx_ptype_4cuda_4cuda_cuuint32_t); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29668
 *         cvalue = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(value, (cuuint32_t,)):
 *         pvalue = int(value)             # <<<<<<<<<<<<<<
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29669
 *     elif isinstance(value, (cuuint32_t,)):
 *         pvalue = int(value)
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *     else:
 *         pvalue = int(cuuint32_t(value))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29669, __pyx_L1_error)
    __pyx_v_cvalue = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29667
 *     if value is None:
 *         cvalue = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(value, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29671
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *     else:
 *         pvalue = int(cuuint32_t(value))             # <<<<<<<<<<<<<<
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *     cdef ccuda.CUdeviceptr caddr
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint32_t), __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29671, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29671, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29672
 *     else:
 *         pvalue = int(cuuint32_t(value))
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29672, __pyx_L1_error)
    __pyx_v_cvalue = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":29674
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_addr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29675
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)
 */
    __pyx_v_caddr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29674
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":29676
 *     if addr is None:
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_addr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29677
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_addr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_paddr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29678
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29678, __pyx_L1_error)
    __pyx_v_caddr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29676
 *     if addr is None:
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":29680
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     else:
 *         paddr = int(CUdeviceptr(addr))             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     cdef ccuda.CUstream cstream
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_addr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29680, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29680, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_paddr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29681
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstream cstream
 *     if stream is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29681, __pyx_L1_error)
    __pyx_v_caddr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":29683
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     cdef ccuda.CUstream cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29684
 *     cdef ccuda.CUstream cstream
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29683
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     cdef ccuda.CUstream cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":29685
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29686
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29687
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(CUstream(stream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29687, __pyx_L1_error)
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29685
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":29689
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     err = ccuda.cuStreamWaitValue32(cstream, caddr, cvalue, flags)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29690
 *     else:
 *         pstream = int(CUstream(stream))
 *         cstream = <ccuda.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamWaitValue32(cstream, caddr, cvalue, flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29690, __pyx_L1_error)
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":29691
 *         pstream = int(CUstream(stream))
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     err = ccuda.cuStreamWaitValue32(cstream, caddr, cvalue, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamWaitValue32(__pyx_v_cstream, __pyx_v_caddr, __pyx_v_cvalue, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 29691, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":29692
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     err = ccuda.cuStreamWaitValue32(cstream, caddr, cvalue, flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 29692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29692, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 29692, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":29621
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":29694
 *     return (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_4cuda_477cuStreamWaitValue64(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_476cuStreamWaitValue64, "cuStreamWaitValue64(stream, addr, value, unsigned int flags)\n Wait on a memory location.\n\n    Enqueues a synchronization of the stream on the given memory location.\n    Work ordered after the operation will block until the given condition\n    on the memory is satisfied. By default, the condition is to wait for\n    (int64_t)(*addr - value) >= 0, a cyclic greater-or-equal. Other\n    condition types can be specified via `flags`.\n\n    If the memory was registered via :py:obj:`~.cuMemHostRegister()`, the\n    device pointer should be obtained with\n    :py:obj:`~.cuMemHostGetDevicePointer()`.\n\n    Support for this can be queried with :py:obj:`~.cuDeviceGetAttribute()`\n    and :py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS`.\n\n    Parameters\n    ----------\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        The stream to synchronize on the memory location.\n    addr : :py:obj:`~.CUdeviceptr`\n        The memory location to wait on.\n    value : Any\n        The value to compare with the memory location.\n    flags : unsigned int\n        See :py:obj:`~.CUstreamWaitValue_flags`.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamWaitValue32`, :py:obj:`~.cuStreamWriteValue32`, :py:obj:`~.cuStreamWriteValue64`, :py:obj:`~.cuStreamBatchMemOp`, :py:obj:`~.cuMemHostRegister`, :py:obj:`~.cuStreamWaitEvent`\n\n    Notes\n    -----\n    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.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_477cuStreamWaitValue64 = {"cuStreamWaitValue64", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_477cuStreamWaitValue64, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_476cuStreamWaitValue64};
static PyObject *__pyx_pw_4cuda_4cuda_477cuStreamWaitValue64(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_stream,&__pyx_n_s_addr,&__pyx_n_s_value_2,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_stream)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29694, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_addr)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29694, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamWaitValue64", 1, 4, 4, 1); __PYX_ERR(1, 29694, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29694, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamWaitValue64", 1, 4, 4, 2); __PYX_ERR(1, 29694, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29694, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamWaitValue64", 1, 4, 4, 3); __PYX_ERR(1, 29694, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamWaitValue64") < 0)) __PYX_ERR(1, 29694, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_stream = values[0];
    __pyx_v_addr = values[1];
    __pyx_v_value = values[2];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 29695, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamWaitValue64", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 29694, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamWaitValue64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_476cuStreamWaitValue64(__pyx_self, __pyx_v_stream, __pyx_v_addr, __pyx_v_value, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_476cuStreamWaitValue64(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_cvalue;
  PyObject *__pyx_v_pvalue = NULL;
  CUdeviceptr __pyx_v_caddr;
  PyObject *__pyx_v_paddr = NULL;
  CUstream __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__734)
  __Pyx_RefNannySetupContext("cuStreamWaitValue64", 1);
  __Pyx_TraceCall("cuStreamWaitValue64", __pyx_f[1], 29694, 0, __PYX_ERR(1, 29694, __pyx_L1_error));

  /* "cuda/cuda.pyx":29736
 *     """
 *     cdef ccuda.cuuint64_t cvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         cvalue = <ccuda.cuuint64_t><void_ptr>0
 *     elif isinstance(value, (cuuint64_t,)):
 */
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29737
 *     cdef ccuda.cuuint64_t cvalue
 *     if value is None:
 *         cvalue = <ccuda.cuuint64_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(value, (cuuint64_t,)):
 *         pvalue = int(value)
 */
    __pyx_v_cvalue = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29736
 *     """
 *     cdef ccuda.cuuint64_t cvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         cvalue = <ccuda.cuuint64_t><void_ptr>0
 *     elif isinstance(value, (cuuint64_t,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29738
 *     if value is None:
 *         cvalue = <ccuda.cuuint64_t><void_ptr>0
 *     elif isinstance(value, (cuuint64_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value, __pyx_ptype_4cuda_4cuda_cuuint64_t); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29739
 *         cvalue = <ccuda.cuuint64_t><void_ptr>0
 *     elif isinstance(value, (cuuint64_t,)):
 *         pvalue = int(value)             # <<<<<<<<<<<<<<
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29740
 *     elif isinstance(value, (cuuint64_t,)):
 *         pvalue = int(value)
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *     else:
 *         pvalue = int(cuuint64_t(value))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29740, __pyx_L1_error)
    __pyx_v_cvalue = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29738
 *     if value is None:
 *         cvalue = <ccuda.cuuint64_t><void_ptr>0
 *     elif isinstance(value, (cuuint64_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29742
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue
 *     else:
 *         pvalue = int(cuuint64_t(value))             # <<<<<<<<<<<<<<
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue
 *     cdef ccuda.CUdeviceptr caddr
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint64_t), __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29742, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29742, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29743
 *     else:
 *         pvalue = int(cuuint64_t(value))
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29743, __pyx_L1_error)
    __pyx_v_cvalue = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":29745
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_addr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29746
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)
 */
    __pyx_v_caddr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29745
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":29747
 *     if addr is None:
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_addr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29748
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_addr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_paddr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29749
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29749, __pyx_L1_error)
    __pyx_v_caddr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29747
 *     if addr is None:
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":29751
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     else:
 *         paddr = int(CUdeviceptr(addr))             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     cdef ccuda.CUstream cstream
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_addr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29751, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_paddr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29752
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstream cstream
 *     if stream is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29752, __pyx_L1_error)
    __pyx_v_caddr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":29754
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     cdef ccuda.CUstream cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29755
 *     cdef ccuda.CUstream cstream
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29754
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     cdef ccuda.CUstream cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":29756
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29757
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29758
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(CUstream(stream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29758, __pyx_L1_error)
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29756
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":29760
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     err = ccuda.cuStreamWaitValue64(cstream, caddr, cvalue, flags)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29761
 *     else:
 *         pstream = int(CUstream(stream))
 *         cstream = <ccuda.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamWaitValue64(cstream, caddr, cvalue, flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29761, __pyx_L1_error)
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":29762
 *         pstream = int(CUstream(stream))
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     err = ccuda.cuStreamWaitValue64(cstream, caddr, cvalue, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamWaitValue64(__pyx_v_cstream, __pyx_v_caddr, __pyx_v_cvalue, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 29762, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":29763
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     err = ccuda.cuStreamWaitValue64(cstream, caddr, cvalue, flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 29763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29763, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 29763, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":29694
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":29765
 *     return (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_4cuda_479cuStreamWriteValue32(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_478cuStreamWriteValue32, "cuStreamWriteValue32(stream, addr, value, unsigned int flags)\n Write a value to memory.\n\n    Write a value to memory.\n\n    If the memory was registered via :py:obj:`~.cuMemHostRegister()`, the\n    device pointer should be obtained with\n    :py:obj:`~.cuMemHostGetDevicePointer()`. This function cannot be used\n    with managed memory (:py:obj:`~.cuMemAllocManaged`).\n\n    Parameters\n    ----------\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        The stream to do the write in.\n    addr : :py:obj:`~.CUdeviceptr`\n        The device address to write to.\n    value : Any\n        The value to write.\n    flags : unsigned int\n        See :py:obj:`~.CUstreamWriteValue_flags`.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamWriteValue64`, :py:obj:`~.cuStreamWaitValue32`, :py:obj:`~.cuStreamWaitValue64`, :py:obj:`~.cuStreamBatchMemOp`, :py:obj:`~.cuMemHostRegister`, :py:obj:`~.cuEventRecord`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_479cuStreamWriteValue32 = {"cuStreamWriteValue32", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_479cuStreamWriteValue32, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_478cuStreamWriteValue32};
static PyObject *__pyx_pw_4cuda_4cuda_479cuStreamWriteValue32(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_stream,&__pyx_n_s_addr,&__pyx_n_s_value_2,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_stream)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29765, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_addr)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29765, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamWriteValue32", 1, 4, 4, 1); __PYX_ERR(1, 29765, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29765, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamWriteValue32", 1, 4, 4, 2); __PYX_ERR(1, 29765, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29765, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamWriteValue32", 1, 4, 4, 3); __PYX_ERR(1, 29765, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamWriteValue32") < 0)) __PYX_ERR(1, 29765, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_stream = values[0];
    __pyx_v_addr = values[1];
    __pyx_v_value = values[2];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 29766, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamWriteValue32", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 29765, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamWriteValue32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_478cuStreamWriteValue32(__pyx_self, __pyx_v_stream, __pyx_v_addr, __pyx_v_value, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_478cuStreamWriteValue32(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_cvalue;
  PyObject *__pyx_v_pvalue = NULL;
  CUdeviceptr __pyx_v_caddr;
  PyObject *__pyx_v_paddr = NULL;
  CUstream __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__735)
  __Pyx_RefNannySetupContext("cuStreamWriteValue32", 1);
  __Pyx_TraceCall("cuStreamWriteValue32", __pyx_f[1], 29765, 0, __PYX_ERR(1, 29765, __pyx_L1_error));

  /* "cuda/cuda.pyx":29797
 *     """
 *     cdef ccuda.cuuint32_t cvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         cvalue = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(value, (cuuint32_t,)):
 */
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29798
 *     cdef ccuda.cuuint32_t cvalue
 *     if value is None:
 *         cvalue = <ccuda.cuuint32_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(value, (cuuint32_t,)):
 *         pvalue = int(value)
 */
    __pyx_v_cvalue = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29797
 *     """
 *     cdef ccuda.cuuint32_t cvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         cvalue = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(value, (cuuint32_t,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29799
 *     if value is None:
 *         cvalue = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(value, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value, __pyx_ptype_4cuda_4cuda_cuuint32_t); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29800
 *         cvalue = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(value, (cuuint32_t,)):
 *         pvalue = int(value)             # <<<<<<<<<<<<<<
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29801
 *     elif isinstance(value, (cuuint32_t,)):
 *         pvalue = int(value)
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *     else:
 *         pvalue = int(cuuint32_t(value))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29801, __pyx_L1_error)
    __pyx_v_cvalue = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29799
 *     if value is None:
 *         cvalue = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(value, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29803
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *     else:
 *         pvalue = int(cuuint32_t(value))             # <<<<<<<<<<<<<<
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *     cdef ccuda.CUdeviceptr caddr
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint32_t), __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29803, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29803, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29804
 *     else:
 *         pvalue = int(cuuint32_t(value))
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29804, __pyx_L1_error)
    __pyx_v_cvalue = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":29806
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_addr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29807
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)
 */
    __pyx_v_caddr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29806
 *         cvalue = <ccuda.cuuint32_t><void_ptr>pvalue
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":29808
 *     if addr is None:
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_addr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29809
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_addr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29809, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_paddr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29810
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29810, __pyx_L1_error)
    __pyx_v_caddr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29808
 *     if addr is None:
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":29812
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     else:
 *         paddr = int(CUdeviceptr(addr))             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     cdef ccuda.CUstream cstream
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_addr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29812, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29812, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_paddr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29813
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstream cstream
 *     if stream is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29813, __pyx_L1_error)
    __pyx_v_caddr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":29815
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     cdef ccuda.CUstream cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29816
 *     cdef ccuda.CUstream cstream
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29815
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     cdef ccuda.CUstream cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":29817
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29818
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29819
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(CUstream(stream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29819, __pyx_L1_error)
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29817
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":29821
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     err = ccuda.cuStreamWriteValue32(cstream, caddr, cvalue, flags)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29822
 *     else:
 *         pstream = int(CUstream(stream))
 *         cstream = <ccuda.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamWriteValue32(cstream, caddr, cvalue, flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29822, __pyx_L1_error)
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":29823
 *         pstream = int(CUstream(stream))
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     err = ccuda.cuStreamWriteValue32(cstream, caddr, cvalue, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamWriteValue32(__pyx_v_cstream, __pyx_v_caddr, __pyx_v_cvalue, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 29823, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":29824
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     err = ccuda.cuStreamWriteValue32(cstream, caddr, cvalue, flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 29824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 29824, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":29765
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":29826
 *     return (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_4cuda_481cuStreamWriteValue64(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_480cuStreamWriteValue64, "cuStreamWriteValue64(stream, addr, value, unsigned int flags)\n Write a value to memory.\n\n    Write a value to memory.\n\n    If the memory was registered via :py:obj:`~.cuMemHostRegister()`, the\n    device pointer should be obtained with\n    :py:obj:`~.cuMemHostGetDevicePointer()`.\n\n    Support for this can be queried with :py:obj:`~.cuDeviceGetAttribute()`\n    and :py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS`.\n\n    Parameters\n    ----------\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        The stream to do the write in.\n    addr : :py:obj:`~.CUdeviceptr`\n        The device address to write to.\n    value : Any\n        The value to write.\n    flags : unsigned int\n        See :py:obj:`~.CUstreamWriteValue_flags`.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamWriteValue32`, :py:obj:`~.cuStreamWaitValue32`, :py:obj:`~.cuStreamWaitValue64`, :py:obj:`~.cuStreamBatchMemOp`, :py:obj:`~.cuMemHostRegister`, :py:obj:`~.cuEventRecord`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_481cuStreamWriteValue64 = {"cuStreamWriteValue64", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_481cuStreamWriteValue64, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_480cuStreamWriteValue64};
static PyObject *__pyx_pw_4cuda_4cuda_481cuStreamWriteValue64(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_stream,&__pyx_n_s_addr,&__pyx_n_s_value_2,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_stream)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29826, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_addr)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29826, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamWriteValue64", 1, 4, 4, 1); __PYX_ERR(1, 29826, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29826, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamWriteValue64", 1, 4, 4, 2); __PYX_ERR(1, 29826, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29826, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamWriteValue64", 1, 4, 4, 3); __PYX_ERR(1, 29826, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamWriteValue64") < 0)) __PYX_ERR(1, 29826, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_stream = values[0];
    __pyx_v_addr = values[1];
    __pyx_v_value = values[2];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 29827, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamWriteValue64", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 29826, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamWriteValue64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_480cuStreamWriteValue64(__pyx_self, __pyx_v_stream, __pyx_v_addr, __pyx_v_value, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_480cuStreamWriteValue64(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_cvalue;
  PyObject *__pyx_v_pvalue = NULL;
  CUdeviceptr __pyx_v_caddr;
  PyObject *__pyx_v_paddr = NULL;
  CUstream __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__736)
  __Pyx_RefNannySetupContext("cuStreamWriteValue64", 1);
  __Pyx_TraceCall("cuStreamWriteValue64", __pyx_f[1], 29826, 0, __PYX_ERR(1, 29826, __pyx_L1_error));

  /* "cuda/cuda.pyx":29860
 *     """
 *     cdef ccuda.cuuint64_t cvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         cvalue = <ccuda.cuuint64_t><void_ptr>0
 *     elif isinstance(value, (cuuint64_t,)):
 */
  __pyx_t_1 = (__pyx_v_value == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29861
 *     cdef ccuda.cuuint64_t cvalue
 *     if value is None:
 *         cvalue = <ccuda.cuuint64_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(value, (cuuint64_t,)):
 *         pvalue = int(value)
 */
    __pyx_v_cvalue = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29860
 *     """
 *     cdef ccuda.cuuint64_t cvalue
 *     if value is None:             # <<<<<<<<<<<<<<
 *         cvalue = <ccuda.cuuint64_t><void_ptr>0
 *     elif isinstance(value, (cuuint64_t,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29862
 *     if value is None:
 *         cvalue = <ccuda.cuuint64_t><void_ptr>0
 *     elif isinstance(value, (cuuint64_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_value, __pyx_ptype_4cuda_4cuda_cuuint64_t); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29863
 *         cvalue = <ccuda.cuuint64_t><void_ptr>0
 *     elif isinstance(value, (cuuint64_t,)):
 *         pvalue = int(value)             # <<<<<<<<<<<<<<
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvalue = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29864
 *     elif isinstance(value, (cuuint64_t,)):
 *         pvalue = int(value)
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *     else:
 *         pvalue = int(cuuint64_t(value))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29864, __pyx_L1_error)
    __pyx_v_cvalue = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29862
 *     if value is None:
 *         cvalue = <ccuda.cuuint64_t><void_ptr>0
 *     elif isinstance(value, (cuuint64_t,)):             # <<<<<<<<<<<<<<
 *         pvalue = int(value)
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":29866
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue
 *     else:
 *         pvalue = int(cuuint64_t(value))             # <<<<<<<<<<<<<<
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue
 *     cdef ccuda.CUdeviceptr caddr
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint64_t), __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29866, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29866, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvalue = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29867
 *     else:
 *         pvalue = int(cuuint64_t(value))
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvalue); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29867, __pyx_L1_error)
    __pyx_v_cvalue = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":29869
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_addr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29870
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)
 */
    __pyx_v_caddr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29869
 *         cvalue = <ccuda.cuuint64_t><void_ptr>pvalue
 *     cdef ccuda.CUdeviceptr caddr
 *     if addr is None:             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":29871
 *     if addr is None:
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_addr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29872
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_addr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29872, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_paddr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29873
 *     elif isinstance(addr, (CUdeviceptr,)):
 *         paddr = int(addr)
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29873, __pyx_L1_error)
    __pyx_v_caddr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29871
 *     if addr is None:
 *         caddr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(addr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         paddr = int(addr)
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":29875
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     else:
 *         paddr = int(CUdeviceptr(addr))             # <<<<<<<<<<<<<<
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     cdef ccuda.CUstream cstream
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_addr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_paddr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29876
 *     else:
 *         paddr = int(CUdeviceptr(addr))
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstream cstream
 *     if stream is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_paddr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29876, __pyx_L1_error)
    __pyx_v_caddr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":29878
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     cdef ccuda.CUstream cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29879
 *     cdef ccuda.CUstream cstream
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29878
 *         caddr = <ccuda.CUdeviceptr><void_ptr>paddr
 *     cdef ccuda.CUstream cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":29880
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":29881
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29881, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":29882
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(CUstream(stream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29882, __pyx_L1_error)
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":29880
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":29884
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     err = ccuda.cuStreamWriteValue64(cstream, caddr, cvalue, flags)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29884, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29884, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":29885
 *     else:
 *         pstream = int(CUstream(stream))
 *         cstream = <ccuda.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamWriteValue64(cstream, caddr, cvalue, flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29885, __pyx_L1_error)
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":29886
 *         pstream = int(CUstream(stream))
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     err = ccuda.cuStreamWriteValue64(cstream, caddr, cvalue, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamWriteValue64(__pyx_v_cstream, __pyx_v_caddr, __pyx_v_cvalue, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 29886, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":29887
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     err = ccuda.cuStreamWriteValue64(cstream, caddr, cvalue, flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 29887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 29887, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 29887, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":29826
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":29889
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBatchMemOp(stream, unsigned int count, paramArray : Optional[List[CUstreamBatchMemOpParams]], unsigned int flags):
 *     """ Batch operations to synchronize the stream via memory operations.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_483cuStreamBatchMemOp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_482cuStreamBatchMemOp, "cuStreamBatchMemOp(stream, unsigned int count, list paramArray: Optional[List[CUstreamBatchMemOpParams]], unsigned int flags)\n Batch operations to synchronize the stream via memory operations.\n\n    This is a batch version of :py:obj:`~.cuStreamWaitValue32()` and\n    :py:obj:`~.cuStreamWriteValue32()`. Batching operations may avoid some\n    performance overhead in both the API call and the device execution\n    versus adding them to the stream in separate API calls. The operations\n    are enqueued in the order they appear in the array.\n\n    See :py:obj:`~.CUstreamBatchMemOpType` for the full set of supported\n    operations, and :py:obj:`~.cuStreamWaitValue32()`,\n    :py:obj:`~.cuStreamWaitValue64()`, :py:obj:`~.cuStreamWriteValue32()`,\n    and :py:obj:`~.cuStreamWriteValue64()` for details of specific\n    operations.\n\n    See related APIs for details on querying support for specific\n    operations.\n\n    Parameters\n    ----------\n    stream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        The stream to enqueue the operations in.\n    count : unsigned int\n        The number of operations in the array. Must be less than 256.\n    paramArray : List[:py:obj:`~.CUstreamBatchMemOpParams`]\n        The types and parameters of the individual operations.\n    flags : unsigned int\n        Reserved for future expansion; must be 0.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamWaitValue32`, :py:obj:`~.cuStreamWaitValue64`, :py:obj:`~.cuStreamWriteValue32`, :py:obj:`~.cuStreamWriteValue64`, :py:obj:`~.cuMemHostRegister`\n\n    Notes\n    -----\n    Warning: Improper use of this API may deadlock the application. Synchronization ordering established through this API is not visible to CUDA. CUDA tasks that are (even indirectly) ordered by this API should also have that order expressed with CUDA-""visible dependencies such as events. This ensures that the scheduler does not serialize them in an improper order. For more information, see the Stream Memory Operations section in the programming guide(https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html).\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_483cuStreamBatchMemOp = {"cuStreamBatchMemOp", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_483cuStreamBatchMemOp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_482cuStreamBatchMemOp};
static PyObject *__pyx_pw_4cuda_4cuda_483cuStreamBatchMemOp(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_stream,&__pyx_n_s_count_2,&__pyx_n_s_paramArray_2,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_stream)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29889, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_count_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29889, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamBatchMemOp", 1, 4, 4, 1); __PYX_ERR(1, 29889, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_paramArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29889, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamBatchMemOp", 1, 4, 4, 2); __PYX_ERR(1, 29889, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29889, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuStreamBatchMemOp", 1, 4, 4, 3); __PYX_ERR(1, 29889, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamBatchMemOp") < 0)) __PYX_ERR(1, 29889, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_stream = values[0];
    __pyx_v_count = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 29890, __pyx_L3_error)
    __pyx_v_paramArray = ((PyObject*)values[2]);
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 29890, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamBatchMemOp", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 29889, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamBatchMemOp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_paramArray), (&PyList_Type), 1, "paramArray", 1))) __PYX_ERR(1, 29890, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_482cuStreamBatchMemOp(__pyx_self, __pyx_v_stream, __pyx_v_count, __pyx_v_paramArray, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_18cuStreamBatchMemOp_2generator24(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":29933
 *     """
 *     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 List[ccuda.CUstreamBatchMemOpParams,]")
 *     cdef ccuda.CUstream cstream
 */

static PyObject *__pyx_pf_4cuda_4cuda_18cuStreamBatchMemOp_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_24_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_24_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_24_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_24_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 29933, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_18cuStreamBatchMemOp_2generator24, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuStreamBatchMemOp_locals_genexp, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 29933, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_18cuStreamBatchMemOp_2generator24(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_24_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_24_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 29933, 0, __PYX_ERR(1, 29933, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 29933, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 29933, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 29933, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 29933, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 29933, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29933, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":29889
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBatchMemOp(stream, unsigned int count, paramArray : Optional[List[CUstreamBatchMemOpParams]], unsigned int flags):
 *     """ Batch operations to synchronize the stream via memory operations.
 */

static PyObject *__pyx_pf_4cuda_4cuda_482cuStreamBatchMemOp(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_cstream;
  PyObject *__pyx_v_pstream = NULL;
  CUstreamBatchMemOpParams *__pyx_v_cparamArray;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_18cuStreamBatchMemOp_2generator24 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  union CUstreamBatchMemOpParams_union *__pyx_t_10;
  CUresult __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__737)
  __Pyx_RefNannySetupContext("cuStreamBatchMemOp", 0);
  __Pyx_TraceCall("cuStreamBatchMemOp", __pyx_f[1], 29889, 0, __PYX_ERR(1, 29889, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_paramArray);

  /* "cuda/cuda.pyx":29932
 *     Warning: Improper use of this API may deadlock the application. Synchronization ordering established through this API is not visible to CUDA. CUDA tasks that are (even indirectly) ordered by this API should also have that order expressed with CUDA-visible dependencies such as events. This ensures that the scheduler does not serialize them in an improper order. For more information, see the Stream Memory Operations section in the programming guide(https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html).
 *     """
 *     paramArray = [] if paramArray is None else paramArray             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUstreamBatchMemOpParams,)) for _x in paramArray):
 *         raise TypeError("Argument 'paramArray' is not instance of type (expected List[ccuda.CUstreamBatchMemOpParams,]")
 */
  __pyx_t_2 = (__pyx_v_paramArray == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29932, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":29933
 *     """
 *     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 List[ccuda.CUstreamBatchMemOpParams,]")
 *     cdef ccuda.CUstream cstream
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_18cuStreamBatchMemOp_genexpr(NULL, __pyx_v_paramArray); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29933, __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(1, 29933, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":29934
 *     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 List[ccuda.CUstreamBatchMemOpParams,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstream cstream
 *     if stream is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__738, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29934, __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(1, 29934, __pyx_L1_error)

    /* "cuda/cuda.pyx":29933
 *     """
 *     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 List[ccuda.CUstreamBatchMemOpParams,]")
 *     cdef ccuda.CUstream cstream
 */
  }

  /* "cuda/cuda.pyx":29936
 *         raise TypeError("Argument 'paramArray' is not instance of type (expected List[ccuda.CUstreamBatchMemOpParams,]")
 *     cdef ccuda.CUstream cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 */
  __pyx_t_4 = (__pyx_v_stream == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":29937
 *     cdef ccuda.CUstream cstream
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":29936
 *         raise TypeError("Argument 'paramArray' is not instance of type (expected List[ccuda.CUstreamBatchMemOpParams,]")
 *     cdef ccuda.CUstream cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":29938
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":29939
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pstream = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":29940
 *     elif isinstance(stream, (CUstream,)):
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(CUstream(stream))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29940, __pyx_L1_error)
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":29938
 *     if stream is None:
 *         cstream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(stream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":29942
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     else:
 *         pstream = int(CUstream(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     if count > len(paramArray): raise RuntimeError("List is too small: " + str(len(paramArray)) + " < " + str(count))
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_stream); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pstream = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":29943
 *     else:
 *         pstream = int(CUstream(stream))
 *         cstream = <ccuda.CUstream><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     if count > len(paramArray): raise RuntimeError("List is too small: " + str(len(paramArray)) + " < " + str(count))
 *     cdef ccuda.CUstreamBatchMemOpParams* cparamArray = NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 29943, __pyx_L1_error)
    __pyx_v_cstream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":29944
 *         pstream = int(CUstream(stream))
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     if count > len(paramArray): raise RuntimeError("List is too small: " + str(len(paramArray)) + " < " + str(count))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstreamBatchMemOpParams* cparamArray = NULL
 *     if len(paramArray) > 0:
 */
  if (unlikely(__pyx_v_paramArray == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 29944, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29944, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_count > __pyx_t_6);
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_paramArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 29944, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29944, __pyx_L1_error)
    __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u__535); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_count); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29944, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_7, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __PYX_ERR(1, 29944, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":29945
 *         cstream = <ccuda.CUstream><void_ptr>pstream
 *     if count > len(paramArray): raise RuntimeError("List is too small: " + str(len(paramArray)) + " < " + str(count))
 *     cdef ccuda.CUstreamBatchMemOpParams* cparamArray = NULL             # <<<<<<<<<<<<<<
 *     if len(paramArray) > 0:
 *         cparamArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(paramArray), sizeof(ccuda.CUstreamBatchMemOpParams))
 */
  __pyx_v_cparamArray = NULL;

  /* "cuda/cuda.pyx":29946
 *     if count > len(paramArray): raise RuntimeError("List is too small: " + str(len(paramArray)) + " < " + str(count))
 *     cdef ccuda.CUstreamBatchMemOpParams* cparamArray = NULL
 *     if len(paramArray) > 0:             # <<<<<<<<<<<<<<
 *         cparamArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(paramArray), sizeof(ccuda.CUstreamBatchMemOpParams))
 *         if cparamArray is NULL:
 */
  if (unlikely(__pyx_v_paramArray == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 29946, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29946, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":29947
 *     cdef ccuda.CUstreamBatchMemOpParams* cparamArray = NULL
 *     if len(paramArray) > 0:
 *         cparamArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(paramArray), sizeof(ccuda.CUstreamBatchMemOpParams))             # <<<<<<<<<<<<<<
 *         if cparamArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramArray)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))
 */
    if (unlikely(__pyx_v_paramArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 29947, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29947, __pyx_L1_error)
    __pyx_v_cparamArray = ((CUstreamBatchMemOpParams *)calloc(__pyx_t_6, (sizeof(CUstreamBatchMemOpParams))));

    /* "cuda/cuda.pyx":29948
 *     if len(paramArray) > 0:
 *         cparamArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(paramArray), sizeof(ccuda.CUstreamBatchMemOpParams))
 *         if cparamArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramArray)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))
 *         for idx in range(len(paramArray)):
 */
    __pyx_t_4 = (__pyx_v_cparamArray == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":29949
 *         cparamArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(paramArray), sizeof(ccuda.CUstreamBatchMemOpParams))
 *         if cparamArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramArray)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(paramArray)):
 *             string.memcpy(&cparamArray[idx], (<CUstreamBatchMemOpParams>paramArray[idx])._ptr, sizeof(ccuda.CUstreamBatchMemOpParams))
 */
      if (unlikely(__pyx_v_paramArray == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 29949, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29949, __pyx_L1_error)
      __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29949, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29949, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29949, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_n_u_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29949, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyInt_FromSize_t((sizeof(CUstreamBatchMemOpParams))); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29949, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29949, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29949, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29949, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(1, 29949, __pyx_L1_error)

      /* "cuda/cuda.pyx":29948
 *     if len(paramArray) > 0:
 *         cparamArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(paramArray), sizeof(ccuda.CUstreamBatchMemOpParams))
 *         if cparamArray is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramArray)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))
 *         for idx in range(len(paramArray)):
 */
    }

    /* "cuda/cuda.pyx":29950
 *         if cparamArray is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramArray)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))
 *         for idx in range(len(paramArray)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cparamArray[idx], (<CUstreamBatchMemOpParams>paramArray[idx])._ptr, sizeof(ccuda.CUstreamBatchMemOpParams))
 *     err = ccuda.cuStreamBatchMemOp(cstream, count, (<CUstreamBatchMemOpParams>paramArray[0])._ptr if len(paramArray) == 1 else cparamArray, flags)
 */
    if (unlikely(__pyx_v_paramArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 29950, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29950, __pyx_L1_error)
    __pyx_t_8 = __pyx_t_6;
    for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
      __pyx_v_idx = __pyx_t_9;

      /* "cuda/cuda.pyx":29951
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(paramArray)) + 'x' + str(sizeof(ccuda.CUstreamBatchMemOpParams)))
 *         for idx in range(len(paramArray)):
 *             string.memcpy(&cparamArray[idx], (<CUstreamBatchMemOpParams>paramArray[idx])._ptr, sizeof(ccuda.CUstreamBatchMemOpParams))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamBatchMemOp(cstream, count, (<CUstreamBatchMemOpParams>paramArray[0])._ptr if len(paramArray) == 1 else cparamArray, flags)
 *     if cparamArray is not NULL:
 */
      if (unlikely(__pyx_v_paramArray == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(1, 29951, __pyx_L1_error)
      }
      __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_paramArray, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29951, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      (void)(memcpy((&(__pyx_v_cparamArray[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams *)__pyx_t_3)->__pyx_base.__pyx_base._ptr, (sizeof(CUstreamBatchMemOpParams))));
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }

    /* "cuda/cuda.pyx":29946
 *     if count > len(paramArray): raise RuntimeError("List is too small: " + str(len(paramArray)) + " < " + str(count))
 *     cdef ccuda.CUstreamBatchMemOpParams* cparamArray = NULL
 *     if len(paramArray) > 0:             # <<<<<<<<<<<<<<
 *         cparamArray = <ccuda.CUstreamBatchMemOpParams*> calloc(len(paramArray), sizeof(ccuda.CUstreamBatchMemOpParams))
 *         if cparamArray is NULL:
 */
  }

  /* "cuda/cuda.pyx":29952
 *         for idx in range(len(paramArray)):
 *             string.memcpy(&cparamArray[idx], (<CUstreamBatchMemOpParams>paramArray[idx])._ptr, sizeof(ccuda.CUstreamBatchMemOpParams))
 *     err = ccuda.cuStreamBatchMemOp(cstream, count, (<CUstreamBatchMemOpParams>paramArray[0])._ptr if len(paramArray) == 1 else cparamArray, flags)             # <<<<<<<<<<<<<<
 *     if cparamArray is not NULL:
 *         free(cparamArray)
 */
  if (unlikely(__pyx_v_paramArray == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 29952, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_paramArray); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 29952, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_paramArray == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 29952, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_paramArray, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_10 = ((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams *)__pyx_t_3)->__pyx_base.__pyx_base._ptr;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cparamArray;
  }
  __pyx_t_11 = __pyx_f_4cuda_5ccuda_cuStreamBatchMemOp(__pyx_v_cstream, __pyx_v_count, __pyx_t_10, __pyx_v_flags); if (unlikely(__pyx_t_11 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 29952, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cuda.pyx":29953
 *             string.memcpy(&cparamArray[idx], (<CUstreamBatchMemOpParams>paramArray[idx])._ptr, sizeof(ccuda.CUstreamBatchMemOpParams))
 *     err = ccuda.cuStreamBatchMemOp(cstream, count, (<CUstreamBatchMemOpParams>paramArray[0])._ptr if len(paramArray) == 1 else cparamArray, flags)
 *     if cparamArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cparamArray)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = (__pyx_v_cparamArray != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":29954
 *     err = ccuda.cuStreamBatchMemOp(cstream, count, (<CUstreamBatchMemOpParams>paramArray[0])._ptr if len(paramArray) == 1 else cparamArray, flags)
 *     if cparamArray is not NULL:
 *         free(cparamArray)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
    free(__pyx_v_cparamArray);

    /* "cuda/cuda.pyx":29953
 *             string.memcpy(&cparamArray[idx], (<CUstreamBatchMemOpParams>paramArray[idx])._ptr, sizeof(ccuda.CUstreamBatchMemOpParams))
 *     err = ccuda.cuStreamBatchMemOp(cstream, count, (<CUstreamBatchMemOpParams>paramArray[0])._ptr if len(paramArray) == 1 else cparamArray, flags)
 *     if cparamArray is not NULL:             # <<<<<<<<<<<<<<
 *         free(cparamArray)
 *     return (CUresult(err),)
 */
  }

  /* "cuda/cuda.pyx":29955
 *     if cparamArray is not NULL:
 *         free(cparamArray)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 29955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_12 = NULL;
  __pyx_t_13 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_13 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_1};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_13, 1+__pyx_t_13);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29955, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 29955, __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)) __PYX_ERR(1, 29955, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":29889
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBatchMemOp(stream, unsigned int count, paramArray : Optional[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_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.cuStreamBatchMemOp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pstream);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_18cuStreamBatchMemOp_2generator24);
  __Pyx_XDECREF(__pyx_v_paramArray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":29957
 *     return (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_4cuda_485cuFuncGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_484cuFuncGetAttribute, "cuFuncGetAttribute(attrib: CUfunction_attribute, hfunc)\n Returns information about a function.\n\n    Returns in `*pi` the integer value of the attribute `attrib` on the\n    kernel 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_C""A`: The attribute to indicate whether\n      the function 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 v""alue type is\n      CUclusterSchedulingPolicy.\n\n    With a few execeptions, function attributes may also be queried on\n    unloaded function handles returned from\n    :py:obj:`~.cuModuleEnumerateFunctions`.\n    :py:obj:`~.CUDA_ERROR_FUNCTION_NOT_LOADED` is returned if the attribute\n    requires a fully loaded function but the function is not loaded. The\n    loading state of a function may be queried using\n    :py:obj:`~.cuFuncIsloaded`. :py:obj:`~.cuFuncLoad` may be called to\n    explicitly load a function before querying the following attributes\n    that 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\n    Parameters\n    ----------\n    attrib : :py:obj:`~.CUfunction_attribute`\n        Attribute requested\n    hfunc : :py:obj:`~.CUfunction`\n        Function to query attribute of\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_FUNCTION_NOT_LOADED`\n    pi : int\n        Returned attribute value\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_485cuFuncGetAttribute = {"cuFuncGetAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_485cuFuncGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_484cuFuncGetAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_485cuFuncGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_attrib,&__pyx_n_s_hfunc,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attrib)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29957, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hfunc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 29957, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuFuncGetAttribute", 1, 2, 2, 1); __PYX_ERR(1, 29957, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuFuncGetAttribute") < 0)) __PYX_ERR(1, 29957, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 29957, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 29958, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_484cuFuncGetAttribute(__pyx_self, __pyx_v_attrib, __pyx_v_hfunc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_484cuFuncGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_hfunc) {
  CUfunction __pyx_v_chfunc;
  PyObject *__pyx_v_phfunc = NULL;
  int __pyx_v_pi;
  CUfunction_attribute __pyx_v_cattrib;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUfunction_attribute __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__739)
  __Pyx_RefNannySetupContext("cuFuncGetAttribute", 1);
  __Pyx_TraceCall("cuFuncGetAttribute", __pyx_f[1], 29957, 0, __PYX_ERR(1, 29957, __pyx_L1_error));

  /* "cuda/cuda.pyx":30075
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30076
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 */
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":30075
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30077
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30078
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":30079
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30079, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":30077
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30081
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef int pi = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":30082
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef int pi = 0
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30082, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":30083
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef int pi = 0             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value
 *     err = ccuda.cuFuncGetAttribute(&pi, cattrib, chfunc)
 */
  __pyx_v_pi = 0;

  /* "cuda/cuda.pyx":30084
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef int pi = 0
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuFuncGetAttribute(&pi, cattrib, chfunc)
 *     return (CUresult(err), pi)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUfunction_attribute_enum)__Pyx_PyInt_As_enum__CUfunction_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30084, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattrib = __pyx_t_5;

  /* "cuda/cuda.pyx":30085
 *     cdef int pi = 0
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value
 *     err = ccuda.cuFuncGetAttribute(&pi, cattrib, chfunc)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pi)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuFuncGetAttribute((&__pyx_v_pi), __pyx_v_cattrib, __pyx_v_chfunc); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 30085, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":30086
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value
 *     err = ccuda.cuFuncGetAttribute(&pi, cattrib, chfunc)
 *     return (CUresult(err), pi)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 30086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30086, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_pi); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 30086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 30086, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 30086, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":29957
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuFuncGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":30088
 *     return (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_4cuda_487cuFuncSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_486cuFuncSetAttribute, "cuFuncSetAttribute(hfunc, attrib: CUfunction_attribute, int value)\n Sets information about a function.\n\n    This call sets the value of a specified attribute `attrib` on the\n    kernel given by `hfunc` to an integer value specified by `val` This\n    function returns CUDA_SUCCESS if the new value of the attribute could\n    be successfully set. If the set fails, this call will return an error.\n    Not all attributes can have values set. Attempting to set a value on a\n    read-only attribute will result in an error (CUDA_ERROR_INVALID_VALUE)\n\n    Supported 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_CLUSTER_SCHEDULING_POLICY_PREFERENCE`:\n      The block scheduling policy of a function. The value type is\n      CUclusterSchedulingPolicy.\n\n    Parameters\n    ----------\n    hfunc : :py:obj:`~.CUfunction`\n        Function to query attribute of\n    attrib : :py:obj:`~.CUfunction_attribute`\n        Attribute requested\n    value : int\n        The value to set\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`\n\n    See Also\n    --------\n    :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuFuncSetCacheConfig`, :py:obj:`~.cuLaunchKernel`, :py:obj:`~.cudaFuncGetAttributes`, :py:obj:`~.cudaFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_487cuFuncSetAttribute = {"cuFuncSetAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_487cuFuncSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_486cuFuncSetAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_487cuFuncSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hfunc,&__pyx_n_s_attrib,&__pyx_n_s_value_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hfunc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30088, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attrib)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30088, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuFuncSetAttribute", 1, 3, 3, 1); __PYX_ERR(1, 30088, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30088, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuFuncSetAttribute", 1, 3, 3, 2); __PYX_ERR(1, 30088, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuFuncSetAttribute") < 0)) __PYX_ERR(1, 30088, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_attrib = values[1];
    __pyx_v_value = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_value == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30089, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncSetAttribute", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 30088, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 30089, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_486cuFuncSetAttribute(__pyx_self, __pyx_v_hfunc, __pyx_v_attrib, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_486cuFuncSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, PyObject *__pyx_v_attrib, int __pyx_v_value) {
  CUfunction __pyx_v_chfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUfunction_attribute __pyx_v_cattrib;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUfunction_attribute __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__740)
  __Pyx_RefNannySetupContext("cuFuncSetAttribute", 1);
  __Pyx_TraceCall("cuFuncSetAttribute", __pyx_f[1], 30088, 0, __PYX_ERR(1, 30088, __pyx_L1_error));

  /* "cuda/cuda.pyx":30163
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30164
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 */
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":30163
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30165
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30166
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":30167
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30167, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":30165
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30169
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":30170
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value
 *     err = ccuda.cuFuncSetAttribute(chfunc, cattrib, value)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30170, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":30171
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuFuncSetAttribute(chfunc, cattrib, value)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUfunction_attribute_enum)__Pyx_PyInt_As_enum__CUfunction_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30171, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattrib = __pyx_t_5;

  /* "cuda/cuda.pyx":30172
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value
 *     err = ccuda.cuFuncSetAttribute(chfunc, cattrib, value)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuFuncSetAttribute(__pyx_v_chfunc, __pyx_v_cattrib, __pyx_v_value); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 30172, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":30173
 *     cdef ccuda.CUfunction_attribute cattrib = attrib.value
 *     err = ccuda.cuFuncSetAttribute(chfunc, cattrib, value)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 30173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30173, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 30173, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":30088
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuFuncSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":30175
 *     return (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_4cuda_489cuFuncSetCacheConfig(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_488cuFuncSetCacheConfig, "cuFuncSetCacheConfig(hfunc, config: CUfunc_cache)\n Sets the preferred cache configuration for a device function.\n\n    On devices where the L1 cache and shared memory use the same hardware\n    resources, this sets through `config` the preferred cache configuration\n    for the device function `hfunc`. This is only a preference. The driver\n    will use the requested configuration if possible, but it is free to\n    choose a different configuration if required to execute `hfunc`. Any\n    context-wide preference set via :py:obj:`~.cuCtxSetCacheConfig()` will\n    be overridden by this per-function setting unless the per-function\n    setting is :py:obj:`~.CU_FUNC_CACHE_PREFER_NONE`. In that case, the\n    current context-wide setting will be used.\n\n    This setting does nothing on devices where the size of the L1 cache and\n    shared memory are fixed.\n\n    Launching a kernel with a different preference than the most recent\n    preference setting may insert a device-side synchronization point.\n\n    The 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\n    Parameters\n    ----------\n    hfunc : :py:obj:`~.CUfunction`\n        Kernel to configure cache for\n    config : :py:obj:`~.CUfunc_cache`\n        Requested cache configuration\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxSetCacheConfig`, :py:""obj:`~.cuFuncGetAttribute`, :py:obj:`~.cuLaunchKernel`, :py:obj:`~.cudaFuncSetCacheConfig`, :py:obj:`~.cuKernelSetCacheConfig`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_489cuFuncSetCacheConfig = {"cuFuncSetCacheConfig", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_489cuFuncSetCacheConfig, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_488cuFuncSetCacheConfig};
static PyObject *__pyx_pw_4cuda_4cuda_489cuFuncSetCacheConfig(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hfunc,&__pyx_n_s_config,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hfunc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30175, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_config)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30175, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuFuncSetCacheConfig", 1, 2, 2, 1); __PYX_ERR(1, 30175, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuFuncSetCacheConfig") < 0)) __PYX_ERR(1, 30175, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 30175, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 30176, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_488cuFuncSetCacheConfig(__pyx_self, __pyx_v_hfunc, __pyx_v_config);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_488cuFuncSetCacheConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, PyObject *__pyx_v_config) {
  CUfunction __pyx_v_chfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUfunc_cache __pyx_v_cconfig;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUfunc_cache __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__741)
  __Pyx_RefNannySetupContext("cuFuncSetCacheConfig", 1);
  __Pyx_TraceCall("cuFuncSetCacheConfig", __pyx_f[1], 30175, 0, __PYX_ERR(1, 30175, __pyx_L1_error));

  /* "cuda/cuda.pyx":30226
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30227
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 */
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":30226
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30228
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30229
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":30230
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30230, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":30228
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30232
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef ccuda.CUfunc_cache cconfig = config.value
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":30233
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfunc_cache cconfig = config.value
 *     err = ccuda.cuFuncSetCacheConfig(chfunc, cconfig)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30233, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":30234
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef ccuda.CUfunc_cache cconfig = config.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuFuncSetCacheConfig(chfunc, cconfig)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_config, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUfunc_cache_enum)__Pyx_PyInt_As_enum__CUfunc_cache_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30234, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cconfig = __pyx_t_5;

  /* "cuda/cuda.pyx":30235
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef ccuda.CUfunc_cache cconfig = config.value
 *     err = ccuda.cuFuncSetCacheConfig(chfunc, cconfig)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuFuncSetCacheConfig(__pyx_v_chfunc, __pyx_v_cconfig); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 30235, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":30236
 *     cdef ccuda.CUfunc_cache cconfig = config.value
 *     err = ccuda.cuFuncSetCacheConfig(chfunc, cconfig)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 30236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30236, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 30236, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":30175
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuFuncSetCacheConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":30238
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetModule(hfunc):
 *     """ Returns a module handle.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_491cuFuncGetModule(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_490cuFuncGetModule, "cuFuncGetModule(hfunc)\n Returns a module handle.\n\n    Returns in `*hmod` the handle of the module that function `hfunc` is\n    located in. The lifetime of the module corresponds to the lifetime of\n    the context it was loaded in or until the module is explicitly\n    unloaded.\n\n    The CUDA runtime manages its own modules loaded into the primary\n    context. If the handle returned by this API refers to a module loaded\n    by the CUDA runtime, calling :py:obj:`~.cuModuleUnload()` on that\n    module will result in undefined behavior.\n\n    Parameters\n    ----------\n    hfunc : :py:obj:`~.CUfunction`\n        Function to retrieve module 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_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\n    hmod : :py:obj:`~.CUmodule`\n        Returned module handle\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_491cuFuncGetModule = {"cuFuncGetModule", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_491cuFuncGetModule, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_490cuFuncGetModule};
static PyObject *__pyx_pw_4cuda_4cuda_491cuFuncGetModule(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hfunc,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hfunc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30238, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuFuncGetModule") < 0)) __PYX_ERR(1, 30238, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hfunc = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncGetModule", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 30238, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuFuncGetModule", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_490cuFuncGetModule(__pyx_self, __pyx_v_hfunc);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_490cuFuncGetModule(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc) {
  CUfunction __pyx_v_chfunc;
  PyObject *__pyx_v_phfunc = NULL;
  struct __pyx_obj_4cuda_4cuda_CUmodule *__pyx_v_hmod = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__742)
  __Pyx_RefNannySetupContext("cuFuncGetModule", 1);
  __Pyx_TraceCall("cuFuncGetModule", __pyx_f[1], 30238, 0, __PYX_ERR(1, 30238, __pyx_L1_error));

  /* "cuda/cuda.pyx":30265
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30266
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 */
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":30265
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30267
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30268
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":30269
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30269, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":30267
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30271
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef CUmodule hmod = CUmodule()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":30272
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef CUmodule hmod = CUmodule()
 *     err = ccuda.cuFuncGetModule(<ccuda.CUmodule*>hmod._ptr, chfunc)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30272, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":30273
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef CUmodule hmod = CUmodule()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuFuncGetModule(<ccuda.CUmodule*>hmod._ptr, chfunc)
 *     return (CUresult(err), hmod)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmodule)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_hmod = ((struct __pyx_obj_4cuda_4cuda_CUmodule *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":30274
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef CUmodule hmod = CUmodule()
 *     err = ccuda.cuFuncGetModule(<ccuda.CUmodule*>hmod._ptr, chfunc)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), hmod)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuFuncGetModule(((CUmodule *)__pyx_v_hmod->_ptr), __pyx_v_chfunc); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 30274, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":30275
 *     cdef CUmodule hmod = CUmodule()
 *     err = ccuda.cuFuncGetModule(<ccuda.CUmodule*>hmod._ptr, chfunc)
 *     return (CUresult(err), hmod)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 30275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 30275, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_hmod);
  __Pyx_GIVEREF((PyObject *)__pyx_v_hmod);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_hmod))) __PYX_ERR(1, 30275, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":30238
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":30277
 *     return (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_4cuda_493cuFuncGetName(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_492cuFuncGetName, "cuFuncGetName(hfunc)\n Returns the function name for a :py:obj:`~.CUfunction` handle.\n\n    Returns in `**name` the function name associated with the function\n    handle `hfunc` . The function name is returned as a null-terminated\n    string. The returned name is only valid when the function handle is\n    valid. If the module is unloaded or reloaded, one must call the API\n    again to get the updated name. This API may return a mangled name if\n    the 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\n    Parameters\n    ----------\n    hfunc : :py:obj:`~.CUfunction`\n        The function handle to retrieve the name for\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n    name : bytes\n        The returned name of the function\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_493cuFuncGetName = {"cuFuncGetName", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_493cuFuncGetName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_492cuFuncGetName};
static PyObject *__pyx_pw_4cuda_4cuda_493cuFuncGetName(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hfunc,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hfunc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30277, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuFuncGetName") < 0)) __PYX_ERR(1, 30277, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hfunc = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncGetName", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 30277, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuFuncGetName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_492cuFuncGetName(__pyx_self, __pyx_v_hfunc);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_492cuFuncGetName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc) {
  CUfunction __pyx_v_chfunc;
  PyObject *__pyx_v_phfunc = NULL;
  char const *__pyx_v_name;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__743)
  __Pyx_RefNannySetupContext("cuFuncGetName", 1);
  __Pyx_TraceCall("cuFuncGetName", __pyx_f[1], 30277, 0, __PYX_ERR(1, 30277, __pyx_L1_error));

  /* "cuda/cuda.pyx":30302
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30303
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 */
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":30302
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30304
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30305
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30305, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":30306
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30306, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":30304
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30308
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef const char* name = NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":30309
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef const char* name = NULL
 *     err = ccuda.cuFuncGetName(&name, chfunc)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30309, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":30310
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef const char* name = NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuFuncGetName(&name, chfunc)
 *     return (CUresult(err), <bytes>name)
 */
  __pyx_v_name = NULL;

  /* "cuda/cuda.pyx":30311
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef const char* name = NULL
 *     err = ccuda.cuFuncGetName(&name, chfunc)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), <bytes>name)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuFuncGetName((&__pyx_v_name), __pyx_v_chfunc); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 30311, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":30312
 *     cdef const char* name = NULL
 *     err = ccuda.cuFuncGetName(&name, chfunc)
 *     return (CUresult(err), <bytes>name)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 30312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 30312, __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)) __PYX_ERR(1, 30312, __pyx_L1_error);
  __Pyx_INCREF(((PyObject*)__pyx_t_2));
  __Pyx_GIVEREF(((PyObject*)__pyx_t_2));
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 30312, __pyx_L1_error);
  __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":30277
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuFuncGetName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":30314
 *     return (CUresult(err), <bytes>name)
 * 
 * @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_4cuda_495cuFuncGetParamInfo(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_494cuFuncGetParamInfo, "cuFuncGetParamInfo(func, size_t paramIndex)\n Returns the offset and size of a kernel parameter in the device-side parameter layout.\n\n    Queries the kernel parameter at `paramIndex` into `func's` list of\n    parameters, and returns in `paramOffset` and `paramSize` the offset and\n    size, respectively, where the parameter will reside in the device-side\n    parameter layout. This information can be used to update kernel node\n    parameters from the device via\n    :py:obj:`~.cudaGraphKernelNodeSetParam()` and\n    :py:obj:`~.cudaGraphKernelNodeUpdatesApply()`. `paramIndex` must be\n    less than the number of parameters that `func` takes. `paramSize` can\n    be set to NULL if only the parameter offset is desired.\n\n    Parameters\n    ----------\n    func : :py:obj:`~.CUfunction`\n        The function to query\n    paramIndex : size_t\n        The parameter index to query\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n    paramOffset : int\n        Returns the offset into the device-side parameter layout at which\n        the parameter resides\n    paramSize : int\n        Optionally returns the size of the parameter in the device-side\n        parameter layout\n\n    See Also\n    --------\n    :py:obj:`~.cuKernelGetParamInfo`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_495cuFuncGetParamInfo = {"cuFuncGetParamInfo", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_495cuFuncGetParamInfo, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_494cuFuncGetParamInfo};
static PyObject *__pyx_pw_4cuda_4cuda_495cuFuncGetParamInfo(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func_2,&__pyx_n_s_paramIndex,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_func_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30314, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_paramIndex)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30314, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuFuncGetParamInfo", 1, 2, 2, 1); __PYX_ERR(1, 30314, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuFuncGetParamInfo") < 0)) __PYX_ERR(1, 30314, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_func = values[0];
    __pyx_v_paramIndex = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_paramIndex == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 30315, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncGetParamInfo", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 30314, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuFuncGetParamInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_494cuFuncGetParamInfo(__pyx_self, __pyx_v_func, __pyx_v_paramIndex);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_494cuFuncGetParamInfo(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, size_t __pyx_v_paramIndex) {
  CUfunction __pyx_v_cfunc;
  PyObject *__pyx_v_pfunc = NULL;
  size_t __pyx_v_paramOffset;
  size_t __pyx_v_paramSize;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__744)
  __Pyx_RefNannySetupContext("cuFuncGetParamInfo", 1);
  __Pyx_TraceCall("cuFuncGetParamInfo", __pyx_f[1], 30314, 0, __PYX_ERR(1, 30314, __pyx_L1_error));

  /* "cuda/cuda.pyx":30351
 *     """
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30352
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
 */
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":30351
 *     """
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30353
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30354
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30354, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":30355
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30355, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":30353
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30357
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef size_t paramOffset = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":30358
 *     else:
 *         pfunc = int(CUfunction(func))
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef size_t paramOffset = 0
 *     cdef size_t paramSize = 0
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30358, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":30359
 *         pfunc = int(CUfunction(func))
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef size_t paramOffset = 0             # <<<<<<<<<<<<<<
 *     cdef size_t paramSize = 0
 *     err = ccuda.cuFuncGetParamInfo(cfunc, paramIndex, &paramOffset, &paramSize)
 */
  __pyx_v_paramOffset = 0;

  /* "cuda/cuda.pyx":30360
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef size_t paramOffset = 0
 *     cdef size_t paramSize = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuFuncGetParamInfo(cfunc, paramIndex, &paramOffset, &paramSize)
 *     return (CUresult(err), paramOffset, paramSize)
 */
  __pyx_v_paramSize = 0;

  /* "cuda/cuda.pyx":30361
 *     cdef size_t paramOffset = 0
 *     cdef size_t paramSize = 0
 *     err = ccuda.cuFuncGetParamInfo(cfunc, paramIndex, &paramOffset, &paramSize)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), paramOffset, paramSize)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuFuncGetParamInfo(__pyx_v_cfunc, __pyx_v_paramIndex, (&__pyx_v_paramOffset), (&__pyx_v_paramSize)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 30361, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":30362
 *     cdef size_t paramSize = 0
 *     err = ccuda.cuFuncGetParamInfo(cfunc, paramIndex, &paramOffset, &paramSize)
 *     return (CUresult(err), paramOffset, paramSize)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 30362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_paramOffset); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_paramSize); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 30362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 30362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 30362, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 30362, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6)) __PYX_ERR(1, 30362, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":30314
 *     return (CUresult(err), <bytes>name)
 * 
 * @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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuFuncGetParamInfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":30364
 *     return (CUresult(err), paramOffset, paramSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncIsLoaded(function):
 *     """ Returns if the function is loaded.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_497cuFuncIsLoaded(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_496cuFuncIsLoaded, "cuFuncIsLoaded(function)\n Returns if the function is loaded.\n\n    Returns in `state` the loading state of `function`.\n\n    Parameters\n    ----------\n    function : :py:obj:`~.CUfunction`\n        the function to check\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    state : :py:obj:`~.CUfunctionLoadingState`\n        returned loading state\n\n    See Also\n    --------\n    :py:obj:`~.cuFuncLoad`, :py:obj:`~.cuModuleEnumerateFunctions`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_497cuFuncIsLoaded = {"cuFuncIsLoaded", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_497cuFuncIsLoaded, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_496cuFuncIsLoaded};
static PyObject *__pyx_pw_4cuda_4cuda_497cuFuncIsLoaded(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_function_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_function_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30364, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuFuncIsLoaded") < 0)) __PYX_ERR(1, 30364, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_function = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncIsLoaded", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 30364, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuFuncIsLoaded", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_496cuFuncIsLoaded(__pyx_self, __pyx_v_function);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_496cuFuncIsLoaded(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_function) {
  CUfunction __pyx_v_cfunction;
  PyObject *__pyx_v_pfunction = NULL;
  CUfunctionLoadingState __pyx_v_state;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__745)
  __Pyx_RefNannySetupContext("cuFuncIsLoaded", 1);
  __Pyx_TraceCall("cuFuncIsLoaded", __pyx_f[1], 30364, 0, __PYX_ERR(1, 30364, __pyx_L1_error));

  /* "cuda/cuda.pyx":30387
 *     """
 *     cdef ccuda.CUfunction cfunction
 *     if function is None:             # <<<<<<<<<<<<<<
 *         cfunction = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(function, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_function == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30388
 *     cdef ccuda.CUfunction cfunction
 *     if function is None:
 *         cfunction = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(function, (CUfunction,)):
 *         pfunction = int(function)
 */
    __pyx_v_cfunction = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":30387
 *     """
 *     cdef ccuda.CUfunction cfunction
 *     if function is None:             # <<<<<<<<<<<<<<
 *         cfunction = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(function, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30389
 *     if function is None:
 *         cfunction = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(function, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunction = int(function)
 *         cfunction = <ccuda.CUfunction><void_ptr>pfunction
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_function, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30390
 *         cfunction = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(function, (CUfunction,)):
 *         pfunction = int(function)             # <<<<<<<<<<<<<<
 *         cfunction = <ccuda.CUfunction><void_ptr>pfunction
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_function); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunction = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":30391
 *     elif isinstance(function, (CUfunction,)):
 *         pfunction = int(function)
 *         cfunction = <ccuda.CUfunction><void_ptr>pfunction             # <<<<<<<<<<<<<<
 *     else:
 *         pfunction = int(CUfunction(function))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunction); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30391, __pyx_L1_error)
    __pyx_v_cfunction = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":30389
 *     if function is None:
 *         cfunction = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(function, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunction = int(function)
 *         cfunction = <ccuda.CUfunction><void_ptr>pfunction
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30393
 *         cfunction = <ccuda.CUfunction><void_ptr>pfunction
 *     else:
 *         pfunction = int(CUfunction(function))             # <<<<<<<<<<<<<<
 *         cfunction = <ccuda.CUfunction><void_ptr>pfunction
 *     cdef ccuda.CUfunctionLoadingState state
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_function); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunction = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":30394
 *     else:
 *         pfunction = int(CUfunction(function))
 *         cfunction = <ccuda.CUfunction><void_ptr>pfunction             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfunctionLoadingState state
 *     err = ccuda.cuFuncIsLoaded(&state, cfunction)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunction); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30394, __pyx_L1_error)
    __pyx_v_cfunction = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":30396
 *         cfunction = <ccuda.CUfunction><void_ptr>pfunction
 *     cdef ccuda.CUfunctionLoadingState state
 *     err = ccuda.cuFuncIsLoaded(&state, cfunction)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), CUfunctionLoadingState(state))
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuFuncIsLoaded((&__pyx_v_state), __pyx_v_cfunction); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 30396, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":30397
 *     cdef ccuda.CUfunctionLoadingState state
 *     err = ccuda.cuFuncIsLoaded(&state, cfunction)
 *     return (CUresult(err), CUfunctionLoadingState(state))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 30397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_CUfunctionLoadingState); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 30397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyInt_From_enum__CUfunctionLoadingState_enum(__pyx_v_state); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 30397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_9 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 30397, __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)) __PYX_ERR(1, 30397, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 30397, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":30364
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.cuFuncIsLoaded", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunction);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":30399
 *     return (CUresult(err), CUfunctionLoadingState(state))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncLoad(function):
 *     """ Loads a function.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_499cuFuncLoad(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_498cuFuncLoad, "cuFuncLoad(function)\n Loads a function.\n\n    Finalizes function loading for `function`. Calling this API with a\n    fully loaded function has no effect.\n\n    Parameters\n    ----------\n    function : :py:obj:`~.CUfunction`\n        the function to load\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuModuleEnumerateFunctions`, :py:obj:`~.cuFuncIsLoaded`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_499cuFuncLoad = {"cuFuncLoad", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_499cuFuncLoad, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_498cuFuncLoad};
static PyObject *__pyx_pw_4cuda_4cuda_499cuFuncLoad(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_function_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_function_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30399, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuFuncLoad") < 0)) __PYX_ERR(1, 30399, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_function = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncLoad", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 30399, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuFuncLoad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_498cuFuncLoad(__pyx_self, __pyx_v_function);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_498cuFuncLoad(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_function) {
  CUfunction __pyx_v_cfunction;
  PyObject *__pyx_v_pfunction = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__746)
  __Pyx_RefNannySetupContext("cuFuncLoad", 1);
  __Pyx_TraceCall("cuFuncLoad", __pyx_f[1], 30399, 0, __PYX_ERR(1, 30399, __pyx_L1_error));

  /* "cuda/cuda.pyx":30421
 *     """
 *     cdef ccuda.CUfunction cfunction
 *     if function is None:             # <<<<<<<<<<<<<<
 *         cfunction = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(function, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_function == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30422
 *     cdef ccuda.CUfunction cfunction
 *     if function is None:
 *         cfunction = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(function, (CUfunction,)):
 *         pfunction = int(function)
 */
    __pyx_v_cfunction = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":30421
 *     """
 *     cdef ccuda.CUfunction cfunction
 *     if function is None:             # <<<<<<<<<<<<<<
 *         cfunction = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(function, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30423
 *     if function is None:
 *         cfunction = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(function, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunction = int(function)
 *         cfunction = <ccuda.CUfunction><void_ptr>pfunction
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_function, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30424
 *         cfunction = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(function, (CUfunction,)):
 *         pfunction = int(function)             # <<<<<<<<<<<<<<
 *         cfunction = <ccuda.CUfunction><void_ptr>pfunction
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_function); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunction = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":30425
 *     elif isinstance(function, (CUfunction,)):
 *         pfunction = int(function)
 *         cfunction = <ccuda.CUfunction><void_ptr>pfunction             # <<<<<<<<<<<<<<
 *     else:
 *         pfunction = int(CUfunction(function))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunction); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30425, __pyx_L1_error)
    __pyx_v_cfunction = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":30423
 *     if function is None:
 *         cfunction = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(function, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunction = int(function)
 *         cfunction = <ccuda.CUfunction><void_ptr>pfunction
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30427
 *         cfunction = <ccuda.CUfunction><void_ptr>pfunction
 *     else:
 *         pfunction = int(CUfunction(function))             # <<<<<<<<<<<<<<
 *         cfunction = <ccuda.CUfunction><void_ptr>pfunction
 *     err = ccuda.cuFuncLoad(cfunction)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_function); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunction = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":30428
 *     else:
 *         pfunction = int(CUfunction(function))
 *         cfunction = <ccuda.CUfunction><void_ptr>pfunction             # <<<<<<<<<<<<<<
 *     err = ccuda.cuFuncLoad(cfunction)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunction); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30428, __pyx_L1_error)
    __pyx_v_cfunction = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":30429
 *         pfunction = int(CUfunction(function))
 *         cfunction = <ccuda.CUfunction><void_ptr>pfunction
 *     err = ccuda.cuFuncLoad(cfunction)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuFuncLoad(__pyx_v_cfunction); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 30429, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":30430
 *         cfunction = <ccuda.CUfunction><void_ptr>pfunction
 *     err = ccuda.cuFuncLoad(cfunction)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 30430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30430, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 30430, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":30399
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuFuncLoad", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunction);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":30432
 *     return (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_4cuda_501cuLaunchKernel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_500cuLaunchKernel, "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 Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel`.\n\n    Invokes the function :py:obj:`~.CUfunction` or the kernel\n    :py:obj:`~.CUkernel` `f` on a `gridDimX` x `gridDimY` x `gridDimZ` grid\n    of blocks. Each block contains `blockDimX` x `blockDimY` x `blockDimZ`\n    threads.\n\n    `sharedMemBytes` sets the amount of dynamic shared memory that will be\n    available to each thread block.\n\n    Kernel parameters to `f` can be specified in one of two ways:\n\n    1) Kernel parameters can be specified via `kernelParams`. If `f` has N\n    parameters, then `kernelParams` needs to be an array of N pointers.\n    Each of `kernelParams`[0] through `kernelParams`[N-1] must point to a\n    region of memory from which the actual kernel parameter will be copied.\n    The number of kernel parameters and their offsets and sizes do not need\n    to be specified as that information is retrieved directly from the\n    kernel's image.\n\n    2) Kernel parameters can also be packaged by the application into a\n    single buffer that is passed in via the `extra` parameter. This places\n    the burden on the application of knowing each kernel parameter's size\n    and alignment/padding within the buffer. Here is an example of using\n    the `extra` parameter in this manner:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    The `extra` parameter exists to allow :py:obj:`~.cuLaunchKernel` to\n    take additional less commonly used arguments. `extra` specifies a list\n    of names of extra settings and their corresponding values. Each extra\n    setting name is immediately followed by the corresponding value. The\n    list 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\n    The error :py:obj:`~.CUDA_ERROR_INVALID_VALUE` will be returned if\n    kernel parameters are specified with both `kernelParams` and `extra`\n    (i.e. both `kernelParams` and `extra` are non-NULL).\n\n    Calling :py:obj:`~.cuLaunchKernel()` invalidates the persistent\n    function 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\n    Note that to use :py:obj:`~.cuLaunchKernel()`, the kernel `f` must\n    either have been compiled with toolchain version 3.2 or later so that\n    it will contain kernel parameter information, or have no kernel\n    parameters. If either of these conditions is not met, then\n    :py:obj:`~.cuLaunchKernel()` will return\n    :py:obj:`~.CUDA_ERROR_INVALID_IMAGE`.\n\n    Note 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\n    casting to :py:obj:`~.CUfunction`. Here, the context to launch the\n    kernel on will either be taken from the specified stream `hStream` or\n    the current context in case of NULL stream.\n\n    Parameters\n    ----------\n    f : :py:obj:`~.CUfunction`\n        Function :py:obj:`~.CUfunction` or Kernel :py:obj:`~.CUkernel` to\n        laun""ch\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 : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n    kernelParams : Any\n        Array of pointers to kernel parameters\n    extra : List[Any]\n        Extra options\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_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\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_501cuLaunchKernel = {"cuLaunchKernel", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_501cuLaunchKernel, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_500cuLaunchKernel};
static PyObject *__pyx_pw_4cuda_4cuda_501cuLaunchKernel(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_f,&__pyx_n_s_gridDimX_2,&__pyx_n_s_gridDimY_2,&__pyx_n_s_gridDimZ_2,&__pyx_n_s_blockDimX_2,&__pyx_n_s_blockDimY_2,&__pyx_n_s_blockDimZ_2,&__pyx_n_s_sharedMemBytes_2,&__pyx_n_s_hStream_2,&__pyx_n_s_kernelParams_2,&__pyx_n_s_extra_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case 11: values[10] = __Pyx_Arg_FASTCALL(__pyx_args, 10);
        CYTHON_FALLTHROUGH;
        case 10: values[9] = __Pyx_Arg_FASTCALL(__pyx_args, 9);
        CYTHON_FALLTHROUGH;
        case  9: values[8] = __Pyx_Arg_FASTCALL(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_f)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30432, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gridDimX_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30432, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchKernel", 1, 11, 11, 1); __PYX_ERR(1, 30432, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gridDimY_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30432, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchKernel", 1, 11, 11, 2); __PYX_ERR(1, 30432, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gridDimZ_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30432, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchKernel", 1, 11, 11, 3); __PYX_ERR(1, 30432, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_blockDimX_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30432, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchKernel", 1, 11, 11, 4); __PYX_ERR(1, 30432, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_blockDimY_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[5]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30432, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchKernel", 1, 11, 11, 5); __PYX_ERR(1, 30432, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_blockDimZ_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[6]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30432, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchKernel", 1, 11, 11, 6); __PYX_ERR(1, 30432, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_sharedMemBytes_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[7]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30432, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchKernel", 1, 11, 11, 7); __PYX_ERR(1, 30432, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[8]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30432, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchKernel", 1, 11, 11, 8); __PYX_ERR(1, 30432, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  9:
        if (likely((values[9] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_kernelParams_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[9]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30432, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchKernel", 1, 11, 11, 9); __PYX_ERR(1, 30432, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case 10:
        if (likely((values[10] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_extra_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[10]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30432, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchKernel", 1, 11, 11, 10); __PYX_ERR(1, 30432, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLaunchKernel") < 0)) __PYX_ERR(1, 30432, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 11)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
      values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
      values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
      values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7);
      values[8] = __Pyx_Arg_FASTCALL(__pyx_args, 8);
      values[9] = __Pyx_Arg_FASTCALL(__pyx_args, 9);
      values[10] = __Pyx_Arg_FASTCALL(__pyx_args, 10);
    }
    __pyx_v_f = values[0];
    __pyx_v_gridDimX = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_gridDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30433, __pyx_L3_error)
    __pyx_v_gridDimY = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_gridDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30433, __pyx_L3_error)
    __pyx_v_gridDimZ = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_gridDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30433, __pyx_L3_error)
    __pyx_v_blockDimX = __Pyx_PyInt_As_unsigned_int(values[4]); if (unlikely((__pyx_v_blockDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30433, __pyx_L3_error)
    __pyx_v_blockDimY = __Pyx_PyInt_As_unsigned_int(values[5]); if (unlikely((__pyx_v_blockDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30433, __pyx_L3_error)
    __pyx_v_blockDimZ = __Pyx_PyInt_As_unsigned_int(values[6]); if (unlikely((__pyx_v_blockDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30433, __pyx_L3_error)
    __pyx_v_sharedMemBytes = __Pyx_PyInt_As_unsigned_int(values[7]); if (unlikely((__pyx_v_sharedMemBytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30433, __pyx_L3_error)
    __pyx_v_hStream = values[8];
    __pyx_v_kernelParams = values[9];
    __pyx_v_extra = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[10]); if (unlikely((__pyx_v_extra == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30433, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLaunchKernel", 1, 11, 11, __pyx_nargs); __PYX_ERR(1, 30432, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLaunchKernel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_500cuLaunchKernel(__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 */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_500cuLaunchKernel(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_4cuda_void_ptr __pyx_v_extra) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUfunction __pyx_v_cf;
  PyObject *__pyx_v_pf = NULL;
  PyObject *__pyx_v_ckernelParams = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__747)
  __Pyx_RefNannySetupContext("cuLaunchKernel", 1);
  __Pyx_TraceCall("cuLaunchKernel", __pyx_f[1], 30432, 0, __PYX_ERR(1, 30432, __pyx_L1_error));

  /* "cuda/cuda.pyx":30541
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30542
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":30541
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30543
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30544
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":30545
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30545, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":30543
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30547
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUfunction cf
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":30548
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfunction cf
 *     if f is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30548, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":30550
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUfunction cf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_f == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30551
 *     cdef ccuda.CUfunction cf
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
 */
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":30550
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUfunction cf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":30552
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_f, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30553
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_f); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30553, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pf = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":30554
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     else:
 *         pf = int(CUfunction(f))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30554, __pyx_L1_error)
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":30552
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":30556
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     else:
 *         pf = int(CUfunction(f))             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     ckernelParams = utils.HelperKernelParams(kernelParams)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_f); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pf = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":30557
 *     else:
 *         pf = int(CUfunction(f))
 *         cf = <ccuda.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     ckernelParams = utils.HelperKernelParams(kernelParams)
 *     err = ccuda.cuLaunchKernel(cf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, chStream, <void**><void_ptr>ckernelParams.ckernelParams, <void**>extra)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30557, __pyx_L1_error)
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":30558
 *         pf = int(CUfunction(f))
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     ckernelParams = utils.HelperKernelParams(kernelParams)             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLaunchKernel(cf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, chStream, <void**><void_ptr>ckernelParams.ckernelParams, <void**>extra)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperKernelParams), __pyx_v_kernelParams); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_ckernelParams = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":30559
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     ckernelParams = utils.HelperKernelParams(kernelParams)
 *     err = ccuda.cuLaunchKernel(cf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, chStream, <void**><void_ptr>ckernelParams.ckernelParams, <void**>extra)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_ckernelParams, __pyx_n_s_ckernelParams); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30559, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuLaunchKernel(__pyx_v_cf, __pyx_v_gridDimX, __pyx_v_gridDimY, __pyx_v_gridDimZ, __pyx_v_blockDimX, __pyx_v_blockDimY, __pyx_v_blockDimZ, __pyx_v_sharedMemBytes, __pyx_v_chStream, ((void **)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3)), ((void **)__pyx_v_extra)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 30559, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":30560
 *     ckernelParams = utils.HelperKernelParams(kernelParams)
 *     err = ccuda.cuLaunchKernel(cf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, chStream, <void**><void_ptr>ckernelParams.ckernelParams, <void**>extra)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 30560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 30560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 30560, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":30432
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuLaunchKernel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pf);
  __Pyx_XDECREF(__pyx_v_ckernelParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":30562
 *     return (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_4cuda_503cuLaunchKernelEx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_502cuLaunchKernelEx, "cuLaunchKernelEx(CUlaunchConfig config: Optional[CUlaunchConfig], f, kernelParams, void_ptr extra)\n Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel` with launch-time configuration.\n\n    Invokes the function :py:obj:`~.CUfunction` or the kernel\n    :py:obj:`~.CUkernel` `f` with the specified launch-time configuration\n    `config`.\n\n    The :py:obj:`~.CUlaunchConfig` structure is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where:\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\n    Launch-time configuration is specified by adding entries to\n    :py:obj:""`~.CUlaunchConfig.attrs`. Each entry is an attribute ID and a\n    corresponding attribute value.\n\n    The :py:obj:`~.CUlaunchAttribute` structure is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where:\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\n    An example of using the `config` parameter:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    The :py:obj:`~.CUlaunchAttributeID` enum is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    and the corresponding :py:obj:`~.CUlaunchAttributeValue` union as :\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    Setting :py:obj:`~.CU_LAUNCH_ATTRIBUTE_COOPERATIVE` to a non-zero value\n    causes the kernel launch to be a cooperative launch, with exactly the\n    same usage and semantics of :py:obj:`~.cuLaunchCooperativeKernel`.\n\n    Setting\n    :py:obj:`~.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION` to a\n    non-zero values causes the kernel to use programmatic means to resolve\n    its stream dependency -- enabling the CUDA runtime to opportunistically\n    allow the grid's execution to overlap with the previous kernel in the\n    stream, if that kernel requests the overlap.\n\n    :py:obj:`~.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT` records an event\n    along with the kernel launch. Event recorded through this launch\n    attribute is guaranteed to only trigger after all block in the\n    associated kernel trigger the event. A block can trigger the event\n    through PTX launchdep.release or CUDA builtin function\n    cudaTriggerProgrammaticLaunchCompletion(). A trigger can also be\n    inserted at the beginning of each block's execution if\n    triggerAtBlockStart is set to non-0. Note that dependents (including\n    the CPU thread calling :py:obj:`~"".cuEventSynchronize()`) are not\n    guaranteed to observe the release precisely when it is released. For\n    example, :py:obj:`~.cuEventSynchronize()` may only observe the event\n    trigger long after the associated kernel has completed. This recording\n    type is primarily meant for establishing programmatic dependency\n    between device tasks. The event supplied must not be an interprocess or\n    interop 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\n    event along with the kernel launch. Nominally, the event is triggered\n    once all blocks of the kernel have begun execution. Currently this is a\n    best effort. If a kernel B has a launch completion dependency on a\n    kernel A, B may wait until A is complete. Alternatively, blocks of B\n    may begin before all blocks of A have begun, for example:\n\n    - If B can claim execution resources unavaiable to A, for example if\n      they run on different GPUs.\n\n    - If B is a higher priority than A.\n\n    Exercise caution if such an ordering inversion could lead to deadlock.\n    The event supplied must not be an interprocess or interop event. The\n    event must disable timing (i.e. must be created with the\n    :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag set).\n\n    Setting :py:obj:`~.CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE` to\n    1 on a captured launch causes the resulting kernel node to be device-\n    updatable. This attribute is specific to graphs, and passing it to a\n    launch in a non-capturing stream results in an error. Passing a value\n    other than 0 or 1 is not allowed.\n\n    On success, a handle will be returned via\n    :py:obj:`~.CUlaunchAttributeValue`::deviceUpdatableKernelNode::devNode\n    which can be passed to the various device-side update functions to\n    update the node's kernel parameters from within another kernel. For\n    more"" information on the types of device updates that can be made, as\n    well as the relevant limitations thereof, see\n    :py:obj:`~.cudaGraphKernelNodeUpdatesApply`.\n\n    Kernel nodes which are device-updatable have additional restrictions\n    compared to regular kernel nodes. Firstly, device-updatable nodes\n    cannot be removed from their graph via :py:obj:`~.cuGraphDestroyNode`.\n    Additionally, once opted-in to this functionality, a node cannot opt\n    out, and any attempt to set the attribute to 0 will result in an error.\n    Graphs containing one or more device-updatable node also do not allow\n    multiple instantiation.\n\n    The effect of other attributes is consistent with their effect when set\n    via persistent APIs.\n\n    See :py:obj:`~.cuStreamSetAttribute` for\n\n    - :py:obj:`~.CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW`\n\n    - :py:obj:`~.CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY`\n\n    See :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\n    Kernel parameters to `f` can be specified in the same ways that they\n    can be using :py:obj:`~.cuLaunchKernel`.\n\n    Note 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\n    casting to :py:obj:`~.CUfunction`. Here, the context to launch the\n    kernel on will either be taken from the specified stream\n    :py:obj:`~.CUlaunchConfig.hStream` or the current context in case of\n    NULL stream.\n\n    Parameters\n    ----------\n    config : :py:obj:`~.CUlaunchConfig`\n        Config to launch\n    f : :py:obj:`~.CUfunction`\n        Function :py:obj:`~.CUfunction` or Kernel :py:obj:`~.CUkernel` to\n        launch\n    kernelParams : Any\n        Array of pointers to kernel parameters\n    extra : List[Any]\n        Extra options\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_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`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_503cuLaunchKernelEx = {"cuLaunchKernelEx", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_503cuLaunchKernelEx, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_502cuLaunchKernelEx};
static PyObject *__pyx_pw_4cuda_4cuda_503cuLaunchKernelEx(PyObject *__pyx_self, 
#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_4cuda_CUlaunchConfig *__pyx_v_config = 0;
  PyObject *__pyx_v_f = 0;
  PyObject *__pyx_v_kernelParams = 0;
  __pyx_t_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_config,&__pyx_n_s_f,&__pyx_n_s_kernelParams_2,&__pyx_n_s_extra_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_config)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30562, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_f)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30562, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchKernelEx", 1, 4, 4, 1); __PYX_ERR(1, 30562, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_kernelParams_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30562, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchKernelEx", 1, 4, 4, 2); __PYX_ERR(1, 30562, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_extra_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30562, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchKernelEx", 1, 4, 4, 3); __PYX_ERR(1, 30562, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLaunchKernelEx") < 0)) __PYX_ERR(1, 30562, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_config = ((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig *)values[0]);
    __pyx_v_f = values[1];
    __pyx_v_kernelParams = values[2];
    __pyx_v_extra = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[3]); if (unlikely((__pyx_v_extra == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30563, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLaunchKernelEx", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 30562, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUlaunchConfig, 1, "config", 0))) __PYX_ERR(1, 30563, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_502cuLaunchKernelEx(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_502cuLaunchKernelEx(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUlaunchConfig *__pyx_v_config, PyObject *__pyx_v_f, PyObject *__pyx_v_kernelParams, __pyx_t_4cuda_4cuda_void_ptr __pyx_v_extra) {
  CUfunction __pyx_v_cf;
  PyObject *__pyx_v_pf = NULL;
  CUlaunchConfig *__pyx_v_cconfig_ptr;
  PyObject *__pyx_v_ckernelParams = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUlaunchConfig_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__748)
  __Pyx_RefNannySetupContext("cuLaunchKernelEx", 1);
  __Pyx_TraceCall("cuLaunchKernelEx", __pyx_f[1], 30562, 0, __PYX_ERR(1, 30562, __pyx_L1_error));

  /* "cuda/cuda.pyx":30754
 *     """
 *     cdef ccuda.CUfunction cf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_f == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30755
 *     cdef ccuda.CUfunction cf
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
 */
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":30754
 *     """
 *     cdef ccuda.CUfunction cf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30756
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_f, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30757
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_f); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pf = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":30758
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     else:
 *         pf = int(CUfunction(f))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30758, __pyx_L1_error)
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":30756
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30760
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     else:
 *         pf = int(CUfunction(f))             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     cdef ccuda.CUlaunchConfig* cconfig_ptr = config._ptr if config != None else NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_f); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pf = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":30761
 *     else:
 *         pf = int(CUfunction(f))
 *         cf = <ccuda.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUlaunchConfig* cconfig_ptr = config._ptr if config != None else NULL
 *     ckernelParams = utils.HelperKernelParams(kernelParams)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30761, __pyx_L1_error)
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":30762
 *         pf = int(CUfunction(f))
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     cdef ccuda.CUlaunchConfig* cconfig_ptr = config._ptr if config != None else NULL             # <<<<<<<<<<<<<<
 *     ckernelParams = utils.HelperKernelParams(kernelParams)
 *     err = ccuda.cuLaunchKernelEx(cconfig_ptr, cf, <void**><void_ptr>ckernelParams.ckernelParams, <void**>extra)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_config), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30762, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 30762, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_config->__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cconfig_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":30763
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     cdef ccuda.CUlaunchConfig* cconfig_ptr = config._ptr if config != None else NULL
 *     ckernelParams = utils.HelperKernelParams(kernelParams)             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLaunchKernelEx(cconfig_ptr, cf, <void**><void_ptr>ckernelParams.ckernelParams, <void**>extra)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperKernelParams), __pyx_v_kernelParams); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_ckernelParams = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":30764
 *     cdef ccuda.CUlaunchConfig* cconfig_ptr = config._ptr if config != None else NULL
 *     ckernelParams = utils.HelperKernelParams(kernelParams)
 *     err = ccuda.cuLaunchKernelEx(cconfig_ptr, cf, <void**><void_ptr>ckernelParams.ckernelParams, <void**>extra)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ckernelParams, __pyx_n_s_ckernelParams); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30764, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuLaunchKernelEx(__pyx_v_cconfig_ptr, __pyx_v_cf, ((void **)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3)), ((void **)__pyx_v_extra)); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 30764, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":30765
 *     ckernelParams = utils.HelperKernelParams(kernelParams)
 *     err = ccuda.cuLaunchKernelEx(cconfig_ptr, cf, <void**><void_ptr>ckernelParams.ckernelParams, <void**>extra)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 30765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 30765, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":30562
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuLaunchKernelEx", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pf);
  __Pyx_XDECREF(__pyx_v_ckernelParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":30767
 *     return (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_4cuda_505cuLaunchCooperativeKernel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_504cuLaunchCooperativeKernel, "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 Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel` where thread blocks can cooperate and synchronize as they execute.\n\n    Invokes the function :py:obj:`~.CUfunction` or the kernel\n    :py:obj:`~.CUkernel` `f` on a `gridDimX` x `gridDimY` x `gridDimZ` grid\n    of blocks. Each block contains `blockDimX` x `blockDimY` x `blockDimZ`\n    threads.\n\n    Note 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\n    casting to :py:obj:`~.CUfunction`. Here, the context to launch the\n    kernel on will either be taken from the specified stream `hStream` or\n    the current context in case of NULL stream.\n\n    `sharedMemBytes` sets the amount of dynamic shared memory that will be\n    available to each thread block.\n\n    The device on which this kernel is invoked must have a non-zero value\n    for the device attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH`.\n\n    The total number of blocks launched cannot exceed the maximum number of\n    blocks per multiprocessor as returned by\n    :py:obj:`~.cuOccupancyMaxActiveBlocksPerMultiprocessor` (or\n    :py:obj:`~.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags`) times\n    the number of multiprocessors as specified by the device attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT`.\n\n    The kernel cannot make use of CUDA dynamic parallelism.\n\n    Kernel parameters must be specified via `kernelParams`. If `f` has N\n    parameters, then `kernelParams` needs to be an array of N pointers.\n    Each of `kernelParams`[0] through `kernelParams`[N-1] must point to a\n    region of memory from which"" the actual kernel parameter will be copied.\n    The number of kernel parameters and their offsets and sizes do not need\n    to be specified as that information is retrieved directly from the\n    kernel's image.\n\n    Calling :py:obj:`~.cuLaunchCooperativeKernel()` sets persistent\n    function state that is the same as function state set through\n    :py:obj:`~.cuLaunchKernel` API\n\n    When the kernel `f` is launched via\n    :py:obj:`~.cuLaunchCooperativeKernel()`, the previous block shape,\n    shared size and parameter info associated with `f` is overwritten.\n\n    Note that to use :py:obj:`~.cuLaunchCooperativeKernel()`, the kernel\n    `f` must either have been compiled with toolchain version 3.2 or later\n    so that it will contain kernel parameter information, or have no kernel\n    parameters. If either of these conditions is not met, then\n    :py:obj:`~.cuLaunchCooperativeKernel()` will return\n    :py:obj:`~.CUDA_ERROR_INVALID_IMAGE`.\n\n    Note 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\n    casting to :py:obj:`~.CUfunction`. Here, the context to launch the\n    kernel on will either be taken from the specified stream `hStream` or\n    the current context in case of NULL stream.\n\n    Parameters\n    ----------\n    f : :py:obj:`~.CUfunction`\n        Function :py:obj:`~.CUfunction` or Kernel :py:obj:`~.CUkernel` to\n        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 t""hread block in bytes\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream identifier\n    kernelParams : Any\n        Array of pointers to kernel parameters\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_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`, :py:obj:`~.CUDA_ERROR_NOT_FOUND`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_505cuLaunchCooperativeKernel = {"cuLaunchCooperativeKernel", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_505cuLaunchCooperativeKernel, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_504cuLaunchCooperativeKernel};
static PyObject *__pyx_pw_4cuda_4cuda_505cuLaunchCooperativeKernel(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_f,&__pyx_n_s_gridDimX_2,&__pyx_n_s_gridDimY_2,&__pyx_n_s_gridDimZ_2,&__pyx_n_s_blockDimX_2,&__pyx_n_s_blockDimY_2,&__pyx_n_s_blockDimZ_2,&__pyx_n_s_sharedMemBytes_2,&__pyx_n_s_hStream_2,&__pyx_n_s_kernelParams_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case 10: values[9] = __Pyx_Arg_FASTCALL(__pyx_args, 9);
        CYTHON_FALLTHROUGH;
        case  9: values[8] = __Pyx_Arg_FASTCALL(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_f)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30767, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gridDimX_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30767, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchCooperativeKernel", 1, 10, 10, 1); __PYX_ERR(1, 30767, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gridDimY_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30767, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchCooperativeKernel", 1, 10, 10, 2); __PYX_ERR(1, 30767, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_gridDimZ_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30767, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchCooperativeKernel", 1, 10, 10, 3); __PYX_ERR(1, 30767, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_blockDimX_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30767, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchCooperativeKernel", 1, 10, 10, 4); __PYX_ERR(1, 30767, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_blockDimY_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[5]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30767, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchCooperativeKernel", 1, 10, 10, 5); __PYX_ERR(1, 30767, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_blockDimZ_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[6]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30767, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchCooperativeKernel", 1, 10, 10, 6); __PYX_ERR(1, 30767, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_sharedMemBytes_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[7]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30767, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchCooperativeKernel", 1, 10, 10, 7); __PYX_ERR(1, 30767, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[8]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30767, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchCooperativeKernel", 1, 10, 10, 8); __PYX_ERR(1, 30767, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  9:
        if (likely((values[9] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_kernelParams_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[9]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30767, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchCooperativeKernel", 1, 10, 10, 9); __PYX_ERR(1, 30767, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLaunchCooperativeKernel") < 0)) __PYX_ERR(1, 30767, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 10)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
      values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
      values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
      values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7);
      values[8] = __Pyx_Arg_FASTCALL(__pyx_args, 8);
      values[9] = __Pyx_Arg_FASTCALL(__pyx_args, 9);
    }
    __pyx_v_f = values[0];
    __pyx_v_gridDimX = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_gridDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30768, __pyx_L3_error)
    __pyx_v_gridDimY = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_gridDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30768, __pyx_L3_error)
    __pyx_v_gridDimZ = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_gridDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30768, __pyx_L3_error)
    __pyx_v_blockDimX = __Pyx_PyInt_As_unsigned_int(values[4]); if (unlikely((__pyx_v_blockDimX == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30768, __pyx_L3_error)
    __pyx_v_blockDimY = __Pyx_PyInt_As_unsigned_int(values[5]); if (unlikely((__pyx_v_blockDimY == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30768, __pyx_L3_error)
    __pyx_v_blockDimZ = __Pyx_PyInt_As_unsigned_int(values[6]); if (unlikely((__pyx_v_blockDimZ == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30768, __pyx_L3_error)
    __pyx_v_sharedMemBytes = __Pyx_PyInt_As_unsigned_int(values[7]); if (unlikely((__pyx_v_sharedMemBytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30768, __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(1, 30767, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLaunchCooperativeKernel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_504cuLaunchCooperativeKernel(__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 */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_504cuLaunchCooperativeKernel(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_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUfunction __pyx_v_cf;
  PyObject *__pyx_v_pf = NULL;
  PyObject *__pyx_v_ckernelParams = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__749)
  __Pyx_RefNannySetupContext("cuLaunchCooperativeKernel", 1);
  __Pyx_TraceCall("cuLaunchCooperativeKernel", __pyx_f[1], 30767, 0, __PYX_ERR(1, 30767, __pyx_L1_error));

  /* "cuda/cuda.pyx":30863
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30864
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":30863
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30865
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30866
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30866, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":30867
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30867, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":30865
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":30869
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUfunction cf
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":30870
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfunction cf
 *     if f is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30870, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":30872
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUfunction cf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_f == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30873
 *     cdef ccuda.CUfunction cf
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
 */
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":30872
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUfunction cf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":30874
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_f, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":30875
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_f); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pf = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":30876
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     else:
 *         pf = int(CUfunction(f))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30876, __pyx_L1_error)
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":30874
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":30878
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     else:
 *         pf = int(CUfunction(f))             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     ckernelParams = utils.HelperKernelParams(kernelParams)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_f); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30878, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30878, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pf = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":30879
 *     else:
 *         pf = int(CUfunction(f))
 *         cf = <ccuda.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     ckernelParams = utils.HelperKernelParams(kernelParams)
 *     err = ccuda.cuLaunchCooperativeKernel(cf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, chStream, <void**><void_ptr>ckernelParams.ckernelParams)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30879, __pyx_L1_error)
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":30880
 *         pf = int(CUfunction(f))
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     ckernelParams = utils.HelperKernelParams(kernelParams)             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLaunchCooperativeKernel(cf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, chStream, <void**><void_ptr>ckernelParams.ckernelParams)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperKernelParams), __pyx_v_kernelParams); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_ckernelParams = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":30881
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     ckernelParams = utils.HelperKernelParams(kernelParams)
 *     err = ccuda.cuLaunchCooperativeKernel(cf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, chStream, <void**><void_ptr>ckernelParams.ckernelParams)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_ckernelParams, __pyx_n_s_ckernelParams); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 30881, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuLaunchCooperativeKernel(__pyx_v_cf, __pyx_v_gridDimX, __pyx_v_gridDimY, __pyx_v_gridDimZ, __pyx_v_blockDimX, __pyx_v_blockDimY, __pyx_v_blockDimZ, __pyx_v_sharedMemBytes, __pyx_v_chStream, ((void **)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3))); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 30881, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":30882
 *     ckernelParams = utils.HelperKernelParams(kernelParams)
 *     err = ccuda.cuLaunchCooperativeKernel(cf, gridDimX, gridDimY, gridDimZ, blockDimX, blockDimY, blockDimZ, sharedMemBytes, chStream, <void**><void_ptr>ckernelParams.ckernelParams)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 30882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 30882, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 30882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 30882, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":30767
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuLaunchCooperativeKernel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_pf);
  __Pyx_XDECREF(__pyx_v_ckernelParams);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":30884
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchCooperativeKernelMultiDevice(launchParamsList : Optional[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_4cuda_507cuLaunchCooperativeKernelMultiDevice(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_506cuLaunchCooperativeKernelMultiDevice, "cuLaunchCooperativeKernelMultiDevice(list launchParamsList: Optional[List[CUDA_LAUNCH_PARAMS]], unsigned int numDevices, unsigned int flags)\n Launches CUDA functions on multiple devices where thread blocks can cooperate and synchronize as they execute.\n\n    [Deprecated]\n\n    Invokes kernels as specified in the `launchParamsList` array where each\n    element of the array specifies all the parameters required to perform a\n    single kernel launch. These kernels can cooperate and synchronize as\n    they execute. The size of the array is specified by `numDevices`.\n\n    No two kernels can be launched on the same device. All the devices\n    targeted by this multi-device launch must be identical. All devices\n    must have a non-zero value for the device attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH`.\n\n    All kernels launched must be identical with respect to the compiled\n    code. Note that any device, constant or managed variables present in\n    the module that owns the kernel launched on each device, are\n    independently instantiated on every device. It is the application's\n    responsibility to ensure these variables are initialized and used\n    appropriately.\n\n    The size of the grids as specified in blocks, the size of the blocks\n    themselves and the amount of shared memory used by each thread block\n    must also match across all launched kernels.\n\n    The streams used to launch these kernels must have been created via\n    either :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\n    be used.\n\n    The total number of blocks launched per kernel cannot exceed the\n    maximum number of blocks per multiprocessor as returned by\n    :py:obj:`~.cuOccupancyMaxActiveBlocksPerMultiprocessor` (or\n    :py:obj:`~.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags`) times\n    the number of mul""tiprocessors as specified by the device attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT`. Since the total\n    number of blocks launched per device has to match across all devices,\n    the maximum number of blocks that can be launched per device will be\n    limited by the device with the least number of multiprocessors.\n\n    The kernels cannot make use of CUDA dynamic parallelism.\n\n    The :py:obj:`~.CUDA_LAUNCH_PARAMS` structure is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where:\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\n    By default, the kernel won't begin execution on any GPU until all prior\n    work in all the specified streams has completed. This behavior can be\n    overridden by specifying the flag\n    :py:obj:`~.CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC`.\n    When this flag is specified, each kernel will only wait for prior work\n    in the stream corresponding to that GPU to complete before it begins\n    execution.\n\n    Similarly, by default, any subsequent work pushed in any of the\n    specified streams will not begin execution until the kernels on all\n    GPUs have completed. This behavior can be overridden by specifying the\n    flag\n    :py:obj:`~.CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC`.\n    When this flag is specified, any subsequent work pushed in any of the\n    specified streams will only wait for the kernel launched on the GPU\n    corresponding to that ""stream to complete before it begins execution.\n\n    Calling :py:obj:`~.cuLaunchCooperativeKernelMultiDevice()` sets\n    persistent function state that is the same as function state set\n    through :py:obj:`~.cuLaunchKernel` API when called individually for\n    each element in `launchParamsList`.\n\n    When kernels are launched via\n    :py:obj:`~.cuLaunchCooperativeKernelMultiDevice()`, the previous block\n    shape, shared size and parameter info associated with each\n    :py:obj:`~.CUDA_LAUNCH_PARAMS.function` in `launchParamsList` is\n    overwritten.\n\n    Note that to use :py:obj:`~.cuLaunchCooperativeKernelMultiDevice()`,\n    the kernels must either have been compiled with toolchain version 3.2\n    or later so that it will contain kernel parameter information, or have\n    no 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\n    Parameters\n    ----------\n    launchParamsList : List[:py:obj:`~.CUDA_LAUNCH_PARAMS`]\n        List of launch parameters, one per device\n    numDevices : unsigned int\n        Size of the `launchParamsList` array\n    flags : unsigned int\n        Flags to control launch behavior\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_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\n    See Also\n    --------\n    :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuFuncSetCacheConfig`, :py:""obj:`~.cuFuncGetAttribute`, :py:obj:`~.cuLaunchCooperativeKernel`, :py:obj:`~.cudaLaunchCooperativeKernelMultiDevice`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_507cuLaunchCooperativeKernelMultiDevice = {"cuLaunchCooperativeKernelMultiDevice", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_507cuLaunchCooperativeKernelMultiDevice, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_506cuLaunchCooperativeKernelMultiDevice};
static PyObject *__pyx_pw_4cuda_4cuda_507cuLaunchCooperativeKernelMultiDevice(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_launchParamsList,&__pyx_n_s_numDevices_2,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_launchParamsList)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30884, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDevices_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30884, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchCooperativeKernelMultiDevice", 1, 3, 3, 1); __PYX_ERR(1, 30884, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 30884, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchCooperativeKernelMultiDevice", 1, 3, 3, 2); __PYX_ERR(1, 30884, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLaunchCooperativeKernelMultiDevice") < 0)) __PYX_ERR(1, 30884, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_launchParamsList = ((PyObject*)values[0]);
    __pyx_v_numDevices = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_numDevices == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30885, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 30885, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLaunchCooperativeKernelMultiDevice", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 30884, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLaunchCooperativeKernelMultiDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_launchParamsList), (&PyList_Type), 1, "launchParamsList", 1))) __PYX_ERR(1, 30885, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_506cuLaunchCooperativeKernelMultiDevice(__pyx_self, __pyx_v_launchParamsList, __pyx_v_numDevices, __pyx_v_flags);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_36cuLaunchCooperativeKernelMultiDevice_2generator25(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":31037
 *     """
 *     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 List[ccuda.CUDA_LAUNCH_PARAMS,]")
 *     cdef ccuda.CUDA_LAUNCH_PARAMS* claunchParamsList = NULL
 */

static PyObject *__pyx_pf_4cuda_4cuda_36cuLaunchCooperativeKernelMultiDevice_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_25_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_25_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_25_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_25_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 31037, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_36cuLaunchCooperativeKernelMultiDevice_2generator25, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuLaunchCooperativeKernelMultiDe, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 31037, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_36cuLaunchCooperativeKernelMultiDevice_2generator25(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_25_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_25_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 31037, 0, __PYX_ERR(1, 31037, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 31037, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 31037, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 31037, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 31037, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 31037, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31037, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":30884
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchCooperativeKernelMultiDevice(launchParamsList : Optional[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_4cuda_506cuLaunchCooperativeKernelMultiDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_launchParamsList, unsigned int __pyx_v_numDevices, unsigned int __pyx_v_flags) {
  CUDA_LAUNCH_PARAMS *__pyx_v_claunchParamsList;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_36cuLaunchCooperativeKernelMultiDevice_2generator25 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  struct CUDA_LAUNCH_PARAMS_st *__pyx_t_9;
  CUresult __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__750)
  __Pyx_RefNannySetupContext("cuLaunchCooperativeKernelMultiDevice", 0);
  __Pyx_TraceCall("cuLaunchCooperativeKernelMultiDevice", __pyx_f[1], 30884, 0, __PYX_ERR(1, 30884, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_launchParamsList);

  /* "cuda/cuda.pyx":31036
 *     :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 List[ccuda.CUDA_LAUNCH_PARAMS,]")
 */
  __pyx_t_2 = (__pyx_v_launchParamsList == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31036, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":31037
 *     """
 *     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 List[ccuda.CUDA_LAUNCH_PARAMS,]")
 *     cdef ccuda.CUDA_LAUNCH_PARAMS* claunchParamsList = NULL
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_36cuLaunchCooperativeKernelMultiDevice_genexpr(NULL, __pyx_v_launchParamsList); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31037, __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(1, 31037, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":31038
 *     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 List[ccuda.CUDA_LAUNCH_PARAMS,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_LAUNCH_PARAMS* claunchParamsList = NULL
 *     if len(launchParamsList) > 0:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__751, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31038, __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(1, 31038, __pyx_L1_error)

    /* "cuda/cuda.pyx":31037
 *     """
 *     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 List[ccuda.CUDA_LAUNCH_PARAMS,]")
 *     cdef ccuda.CUDA_LAUNCH_PARAMS* claunchParamsList = NULL
 */
  }

  /* "cuda/cuda.pyx":31039
 *     if not all(isinstance(_x, (CUDA_LAUNCH_PARAMS,)) for _x in launchParamsList):
 *         raise TypeError("Argument 'launchParamsList' is not instance of type (expected List[ccuda.CUDA_LAUNCH_PARAMS,]")
 *     cdef ccuda.CUDA_LAUNCH_PARAMS* claunchParamsList = NULL             # <<<<<<<<<<<<<<
 *     if len(launchParamsList) > 0:
 *         claunchParamsList = <ccuda.CUDA_LAUNCH_PARAMS*> calloc(len(launchParamsList), sizeof(ccuda.CUDA_LAUNCH_PARAMS))
 */
  __pyx_v_claunchParamsList = NULL;

  /* "cuda/cuda.pyx":31040
 *         raise TypeError("Argument 'launchParamsList' is not instance of type (expected List[ccuda.CUDA_LAUNCH_PARAMS,]")
 *     cdef ccuda.CUDA_LAUNCH_PARAMS* claunchParamsList = NULL
 *     if len(launchParamsList) > 0:             # <<<<<<<<<<<<<<
 *         claunchParamsList = <ccuda.CUDA_LAUNCH_PARAMS*> calloc(len(launchParamsList), sizeof(ccuda.CUDA_LAUNCH_PARAMS))
 *         if claunchParamsList is NULL:
 */
  if (unlikely(__pyx_v_launchParamsList == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 31040, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_launchParamsList); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31040, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_5 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":31041
 *     cdef ccuda.CUDA_LAUNCH_PARAMS* claunchParamsList = NULL
 *     if len(launchParamsList) > 0:
 *         claunchParamsList = <ccuda.CUDA_LAUNCH_PARAMS*> calloc(len(launchParamsList), sizeof(ccuda.CUDA_LAUNCH_PARAMS))             # <<<<<<<<<<<<<<
 *         if claunchParamsList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(launchParamsList)) + 'x' + str(sizeof(ccuda.CUDA_LAUNCH_PARAMS)))
 */
    if (unlikely(__pyx_v_launchParamsList == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 31041, __pyx_L1_error)
    }
    __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_launchParamsList); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31041, __pyx_L1_error)
    __pyx_v_claunchParamsList = ((CUDA_LAUNCH_PARAMS *)calloc(__pyx_t_5, (sizeof(CUDA_LAUNCH_PARAMS))));

    /* "cuda/cuda.pyx":31042
 *     if len(launchParamsList) > 0:
 *         claunchParamsList = <ccuda.CUDA_LAUNCH_PARAMS*> calloc(len(launchParamsList), sizeof(ccuda.CUDA_LAUNCH_PARAMS))
 *         if claunchParamsList is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(launchParamsList)) + 'x' + str(sizeof(ccuda.CUDA_LAUNCH_PARAMS)))
 *         for idx in range(len(launchParamsList)):
 */
    __pyx_t_4 = (__pyx_v_claunchParamsList == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":31043
 *         claunchParamsList = <ccuda.CUDA_LAUNCH_PARAMS*> calloc(len(launchParamsList), sizeof(ccuda.CUDA_LAUNCH_PARAMS))
 *         if claunchParamsList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(launchParamsList)) + 'x' + str(sizeof(ccuda.CUDA_LAUNCH_PARAMS)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(launchParamsList)):
 *             string.memcpy(&claunchParamsList[idx], (<CUDA_LAUNCH_PARAMS>launchParamsList[idx])._ptr, sizeof(ccuda.CUDA_LAUNCH_PARAMS))
 */
      if (unlikely(__pyx_v_launchParamsList == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 31043, __pyx_L1_error)
      }
      __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_launchParamsList); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31043, __pyx_L1_error)
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31043, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31043, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31043, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31043, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_LAUNCH_PARAMS))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31043, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31043, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31043, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31043, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_6, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __PYX_ERR(1, 31043, __pyx_L1_error)

      /* "cuda/cuda.pyx":31042
 *     if len(launchParamsList) > 0:
 *         claunchParamsList = <ccuda.CUDA_LAUNCH_PARAMS*> calloc(len(launchParamsList), sizeof(ccuda.CUDA_LAUNCH_PARAMS))
 *         if claunchParamsList is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(launchParamsList)) + 'x' + str(sizeof(ccuda.CUDA_LAUNCH_PARAMS)))
 *         for idx in range(len(launchParamsList)):
 */
    }

    /* "cuda/cuda.pyx":31044
 *         if claunchParamsList is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(launchParamsList)) + 'x' + str(sizeof(ccuda.CUDA_LAUNCH_PARAMS)))
 *         for idx in range(len(launchParamsList)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&claunchParamsList[idx], (<CUDA_LAUNCH_PARAMS>launchParamsList[idx])._ptr, sizeof(ccuda.CUDA_LAUNCH_PARAMS))
 *     if numDevices > len(launchParamsList): raise RuntimeError("List is too small: " + str(len(launchParamsList)) + " < " + str(numDevices))
 */
    if (unlikely(__pyx_v_launchParamsList == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 31044, __pyx_L1_error)
    }
    __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_launchParamsList); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31044, __pyx_L1_error)
    __pyx_t_7 = __pyx_t_5;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_v_idx = __pyx_t_8;

      /* "cuda/cuda.pyx":31045
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(launchParamsList)) + 'x' + str(sizeof(ccuda.CUDA_LAUNCH_PARAMS)))
 *         for idx in range(len(launchParamsList)):
 *             string.memcpy(&claunchParamsList[idx], (<CUDA_LAUNCH_PARAMS>launchParamsList[idx])._ptr, sizeof(ccuda.CUDA_LAUNCH_PARAMS))             # <<<<<<<<<<<<<<
 *     if numDevices > len(launchParamsList): raise RuntimeError("List is too small: " + str(len(launchParamsList)) + " < " + str(numDevices))
 *     err = ccuda.cuLaunchCooperativeKernelMultiDevice((<CUDA_LAUNCH_PARAMS>launchParamsList[0])._ptr if len(launchParamsList) == 1 else claunchParamsList, numDevices, flags)
 */
      if (unlikely(__pyx_v_launchParamsList == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(1, 31045, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_launchParamsList, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31045, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      (void)(memcpy((&(__pyx_v_claunchParamsList[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS *)__pyx_t_6)->__pyx_base.__pyx_base._ptr, (sizeof(CUDA_LAUNCH_PARAMS))));
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }

    /* "cuda/cuda.pyx":31040
 *         raise TypeError("Argument 'launchParamsList' is not instance of type (expected List[ccuda.CUDA_LAUNCH_PARAMS,]")
 *     cdef ccuda.CUDA_LAUNCH_PARAMS* claunchParamsList = NULL
 *     if len(launchParamsList) > 0:             # <<<<<<<<<<<<<<
 *         claunchParamsList = <ccuda.CUDA_LAUNCH_PARAMS*> calloc(len(launchParamsList), sizeof(ccuda.CUDA_LAUNCH_PARAMS))
 *         if claunchParamsList is NULL:
 */
  }

  /* "cuda/cuda.pyx":31046
 *         for idx in range(len(launchParamsList)):
 *             string.memcpy(&claunchParamsList[idx], (<CUDA_LAUNCH_PARAMS>launchParamsList[idx])._ptr, sizeof(ccuda.CUDA_LAUNCH_PARAMS))
 *     if numDevices > len(launchParamsList): raise RuntimeError("List is too small: " + str(len(launchParamsList)) + " < " + str(numDevices))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLaunchCooperativeKernelMultiDevice((<CUDA_LAUNCH_PARAMS>launchParamsList[0])._ptr if len(launchParamsList) == 1 else claunchParamsList, numDevices, flags)
 *     if claunchParamsList is not NULL:
 */
  if (unlikely(__pyx_v_launchParamsList == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 31046, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_launchParamsList); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31046, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDevices > __pyx_t_5);
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_launchParamsList == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 31046, __pyx_L1_error)
    }
    __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_launchParamsList); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31046, __pyx_L1_error)
    __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_kp_u__535); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_numDevices); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 31046, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":31047
 *             string.memcpy(&claunchParamsList[idx], (<CUDA_LAUNCH_PARAMS>launchParamsList[idx])._ptr, sizeof(ccuda.CUDA_LAUNCH_PARAMS))
 *     if numDevices > len(launchParamsList): raise RuntimeError("List is too small: " + str(len(launchParamsList)) + " < " + str(numDevices))
 *     err = ccuda.cuLaunchCooperativeKernelMultiDevice((<CUDA_LAUNCH_PARAMS>launchParamsList[0])._ptr if len(launchParamsList) == 1 else claunchParamsList, numDevices, flags)             # <<<<<<<<<<<<<<
 *     if claunchParamsList is not NULL:
 *         free(claunchParamsList)
 */
  if (unlikely(__pyx_v_launchParamsList == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 31047, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_launchParamsList); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31047, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_5 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_launchParamsList == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 31047, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_launchParamsList, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = ((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS *)__pyx_t_1)->__pyx_base.__pyx_base._ptr;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_9 = __pyx_v_claunchParamsList;
  }
  __pyx_t_10 = __pyx_f_4cuda_5ccuda_cuLaunchCooperativeKernelMultiDevice(__pyx_t_9, __pyx_v_numDevices, __pyx_v_flags); if (unlikely(__pyx_t_10 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31047, __pyx_L1_error)
  __pyx_v_err = __pyx_t_10;

  /* "cuda/cuda.pyx":31048
 *     if numDevices > len(launchParamsList): raise RuntimeError("List is too small: " + str(len(launchParamsList)) + " < " + str(numDevices))
 *     err = ccuda.cuLaunchCooperativeKernelMultiDevice((<CUDA_LAUNCH_PARAMS>launchParamsList[0])._ptr if len(launchParamsList) == 1 else claunchParamsList, numDevices, flags)
 *     if claunchParamsList is not NULL:             # <<<<<<<<<<<<<<
 *         free(claunchParamsList)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = (__pyx_v_claunchParamsList != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":31049
 *     err = ccuda.cuLaunchCooperativeKernelMultiDevice((<CUDA_LAUNCH_PARAMS>launchParamsList[0])._ptr if len(launchParamsList) == 1 else claunchParamsList, numDevices, flags)
 *     if claunchParamsList is not NULL:
 *         free(claunchParamsList)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
    free(__pyx_v_claunchParamsList);

    /* "cuda/cuda.pyx":31048
 *     if numDevices > len(launchParamsList): raise RuntimeError("List is too small: " + str(len(launchParamsList)) + " < " + str(numDevices))
 *     err = ccuda.cuLaunchCooperativeKernelMultiDevice((<CUDA_LAUNCH_PARAMS>launchParamsList[0])._ptr if len(launchParamsList) == 1 else claunchParamsList, numDevices, flags)
 *     if claunchParamsList is not NULL:             # <<<<<<<<<<<<<<
 *         free(claunchParamsList)
 *     return (CUresult(err),)
 */
  }

  /* "cuda/cuda.pyx":31050
 *     if claunchParamsList is not NULL:
 *         free(claunchParamsList)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_11 = NULL;
  __pyx_t_12 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_11)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_11);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_12 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_12, 1+__pyx_t_12);
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31050, __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)) __PYX_ERR(1, 31050, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":30884
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchCooperativeKernelMultiDevice(launchParamsList : Optional[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_6);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.cuda.cuLaunchCooperativeKernelMultiDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_36cuLaunchCooperativeKernelMultiDevice_2generator25);
  __Pyx_XDECREF(__pyx_v_launchParamsList);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31052
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchHostFunc(hStream, fn, userData):
 *     """ Enqueues a host function call in a stream.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_509cuLaunchHostFunc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_508cuLaunchHostFunc, "cuLaunchHostFunc(hStream, fn, userData)\n Enqueues a host function call in a stream.\n\n    Enqueues a host function to run in a stream. The function will be\n    called after currently enqueued work and will block work added after\n    it.\n\n    The host function must not make any CUDA API calls. Attempting to use a\n    CUDA API may result in :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`, but this\n    is not required. The host function must not perform any synchronization\n    that may depend on outstanding CUDA work not mandated to run earlier.\n    Host functions without a mandated order (such as in independent\n    streams) execute in undefined order and may be serialized.\n\n    For the purposes of Unified Memory, execution makes a number of\n    guarantees:\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 t""he end of the stream.\n\n    Note that, in contrast to :py:obj:`~.cuStreamAddCallback`, the function\n    will not be called in the event of an error in the CUDA context.\n\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream to enqueue function call in\n    fn : :py:obj:`~.CUhostFn`\n        The function to call once preceding stream operations are complete\n    userData : Any\n        User-specified data to be passed to the function\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_NOT_SUPPORTED`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_509cuLaunchHostFunc = {"cuLaunchHostFunc", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_509cuLaunchHostFunc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_508cuLaunchHostFunc};
static PyObject *__pyx_pw_4cuda_4cuda_509cuLaunchHostFunc(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,&__pyx_n_s_fn_2,&__pyx_n_s_userData_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31052, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fn_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31052, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchHostFunc", 1, 3, 3, 1); __PYX_ERR(1, 31052, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_userData_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31052, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchHostFunc", 1, 3, 3, 2); __PYX_ERR(1, 31052, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLaunchHostFunc") < 0)) __PYX_ERR(1, 31052, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __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(1, 31052, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLaunchHostFunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_508cuLaunchHostFunc(__pyx_self, __pyx_v_hStream, __pyx_v_fn, __pyx_v_userData);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_508cuLaunchHostFunc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream, PyObject *__pyx_v_fn, PyObject *__pyx_v_userData) {
  CUhostFn __pyx_v_cfn;
  PyObject *__pyx_v_pfn = NULL;
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  PyObject *__pyx_v_cuserData = NULL;
  void *__pyx_v_cuserData_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__752)
  __Pyx_RefNannySetupContext("cuLaunchHostFunc", 1);
  __Pyx_TraceCall("cuLaunchHostFunc", __pyx_f[1], 31052, 0, __PYX_ERR(1, 31052, __pyx_L1_error));

  /* "cuda/cuda.pyx":31114
 *     """
 *     cdef ccuda.CUhostFn cfn
 *     if fn is None:             # <<<<<<<<<<<<<<
 *         cfn = <ccuda.CUhostFn><void_ptr>0
 *     elif isinstance(fn, (CUhostFn,)):
 */
  __pyx_t_1 = (__pyx_v_fn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31115
 *     cdef ccuda.CUhostFn cfn
 *     if fn is None:
 *         cfn = <ccuda.CUhostFn><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(fn, (CUhostFn,)):
 *         pfn = int(fn)
 */
    __pyx_v_cfn = ((CUhostFn)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31114
 *     """
 *     cdef ccuda.CUhostFn cfn
 *     if fn is None:             # <<<<<<<<<<<<<<
 *         cfn = <ccuda.CUhostFn><void_ptr>0
 *     elif isinstance(fn, (CUhostFn,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31116
 *     if fn is None:
 *         cfn = <ccuda.CUhostFn><void_ptr>0
 *     elif isinstance(fn, (CUhostFn,)):             # <<<<<<<<<<<<<<
 *         pfn = int(fn)
 *         cfn = <ccuda.CUhostFn><void_ptr>pfn
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_fn, __pyx_ptype_4cuda_4cuda_CUhostFn); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31117
 *         cfn = <ccuda.CUhostFn><void_ptr>0
 *     elif isinstance(fn, (CUhostFn,)):
 *         pfn = int(fn)             # <<<<<<<<<<<<<<
 *         cfn = <ccuda.CUhostFn><void_ptr>pfn
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_fn); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31117, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31118
 *     elif isinstance(fn, (CUhostFn,)):
 *         pfn = int(fn)
 *         cfn = <ccuda.CUhostFn><void_ptr>pfn             # <<<<<<<<<<<<<<
 *     else:
 *         pfn = int(CUhostFn(fn))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31118, __pyx_L1_error)
    __pyx_v_cfn = ((CUhostFn)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31116
 *     if fn is None:
 *         cfn = <ccuda.CUhostFn><void_ptr>0
 *     elif isinstance(fn, (CUhostFn,)):             # <<<<<<<<<<<<<<
 *         pfn = int(fn)
 *         cfn = <ccuda.CUhostFn><void_ptr>pfn
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31120
 *         cfn = <ccuda.CUhostFn><void_ptr>pfn
 *     else:
 *         pfn = int(CUhostFn(fn))             # <<<<<<<<<<<<<<
 *         cfn = <ccuda.CUhostFn><void_ptr>pfn
 *     cdef ccuda.CUstream chStream
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUhostFn), __pyx_v_fn); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31120, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfn = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31121
 *     else:
 *         pfn = int(CUhostFn(fn))
 *         cfn = <ccuda.CUhostFn><void_ptr>pfn             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31121, __pyx_L1_error)
    __pyx_v_cfn = ((CUhostFn)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":31123
 *         cfn = <ccuda.CUhostFn><void_ptr>pfn
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31124
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31123
 *         cfn = <ccuda.CUhostFn><void_ptr>pfn
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":31125
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31126
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31127
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31127, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31125
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":31129
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cuserData = utils.HelperInputVoidPtr(userData)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31130
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31130, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":31131
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cuserData = utils.HelperInputVoidPtr(userData)             # <<<<<<<<<<<<<<
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     err = ccuda.cuLaunchHostFunc(chStream, cfn, cuserData_ptr)
 */
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_userData); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_cuserData = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":31132
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLaunchHostFunc(chStream, cfn, cuserData_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cuserData, __pyx_n_s_cptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31132, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cuserData_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":31133
 *     cuserData = utils.HelperInputVoidPtr(userData)
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     err = ccuda.cuLaunchHostFunc(chStream, cfn, cuserData_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuLaunchHostFunc(__pyx_v_chStream, __pyx_v_cfn, __pyx_v_cuserData_ptr); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31133, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":31134
 *     cdef void* cuserData_ptr = <void*><void_ptr>cuserData.cptr
 *     err = ccuda.cuLaunchHostFunc(chStream, cfn, cuserData_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 31134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 31134, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31052
 *     return (CUresult(err),)
 * 
 * @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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuLaunchHostFunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfn);
  __Pyx_XDECREF(__pyx_v_phStream);
  __Pyx_XDECREF(__pyx_v_cuserData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31136
 *     return (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_4cuda_511cuFuncSetBlockShape(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_510cuFuncSetBlockShape, "cuFuncSetBlockShape(hfunc, int x, int y, int z)\n Sets the block-dimensions for the function.\n\n    [Deprecated]\n\n    Specifies the `x`, `y`, and `z` dimensions of the thread blocks that\n    are created when the kernel given by `hfunc` is launched.\n\n    Parameters\n    ----------\n    hfunc : :py:obj:`~.CUfunction`\n        Kernel to specify dimensions of\n    x : int\n        X dimension\n    y : int\n        Y dimension\n    z : int\n        Z dimension\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`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_511cuFuncSetBlockShape = {"cuFuncSetBlockShape", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_511cuFuncSetBlockShape, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_510cuFuncSetBlockShape};
static PyObject *__pyx_pw_4cuda_4cuda_511cuFuncSetBlockShape(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hfunc,&__pyx_n_s_x,&__pyx_n_s_y_2,&__pyx_n_s_z_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hfunc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31136, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31136, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuFuncSetBlockShape", 1, 4, 4, 1); __PYX_ERR(1, 31136, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_y_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31136, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuFuncSetBlockShape", 1, 4, 4, 2); __PYX_ERR(1, 31136, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_z_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31136, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuFuncSetBlockShape", 1, 4, 4, 3); __PYX_ERR(1, 31136, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuFuncSetBlockShape") < 0)) __PYX_ERR(1, 31136, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_x = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 31137, __pyx_L3_error)
    __pyx_v_y = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 31137, __pyx_L3_error)
    __pyx_v_z = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_z == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 31137, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncSetBlockShape", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 31136, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuFuncSetBlockShape", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_510cuFuncSetBlockShape(__pyx_self, __pyx_v_hfunc, __pyx_v_x, __pyx_v_y, __pyx_v_z);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_510cuFuncSetBlockShape(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, int __pyx_v_x, int __pyx_v_y, int __pyx_v_z) {
  CUfunction __pyx_v_chfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__753)
  __Pyx_RefNannySetupContext("cuFuncSetBlockShape", 1);
  __Pyx_TraceCall("cuFuncSetBlockShape", __pyx_f[1], 31136, 0, __PYX_ERR(1, 31136, __pyx_L1_error));

  /* "cuda/cuda.pyx":31166
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31167
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 */
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31166
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31168
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31169
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31170
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31170, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31168
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31172
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuFuncSetBlockShape(chfunc, x, y, z)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31173
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     err = ccuda.cuFuncSetBlockShape(chfunc, x, y, z)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31173, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":31174
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuFuncSetBlockShape(chfunc, x, y, z)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuFuncSetBlockShape(__pyx_v_chfunc, __pyx_v_x, __pyx_v_y, __pyx_v_z); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31174, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":31175
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuFuncSetBlockShape(chfunc, x, y, z)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 31175, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31136
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuFuncSetBlockShape", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31177
 *     return (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_4cuda_513cuFuncSetSharedSize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_512cuFuncSetSharedSize, "cuFuncSetSharedSize(hfunc, unsigned int numbytes)\n Sets the dynamic shared-memory size for the function.\n\n    [Deprecated]\n\n    Sets through `numbytes` the amount of dynamic shared memory that will\n    be available to each thread block when the kernel given by `hfunc` is\n    launched.\n\n    Parameters\n    ----------\n    hfunc : :py:obj:`~.CUfunction`\n        Kernel to specify dynamic shared-memory size for\n    numbytes : unsigned int\n        Dynamic shared-memory size per thread in bytes\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`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_513cuFuncSetSharedSize = {"cuFuncSetSharedSize", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_513cuFuncSetSharedSize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_512cuFuncSetSharedSize};
static PyObject *__pyx_pw_4cuda_4cuda_513cuFuncSetSharedSize(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hfunc,&__pyx_n_s_numbytes,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hfunc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31177, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numbytes)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31177, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuFuncSetSharedSize", 1, 2, 2, 1); __PYX_ERR(1, 31177, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuFuncSetSharedSize") < 0)) __PYX_ERR(1, 31177, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_numbytes = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_numbytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 31178, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuFuncSetSharedSize", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 31177, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuFuncSetSharedSize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_512cuFuncSetSharedSize(__pyx_self, __pyx_v_hfunc, __pyx_v_numbytes);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_512cuFuncSetSharedSize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, unsigned int __pyx_v_numbytes) {
  CUfunction __pyx_v_chfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__754)
  __Pyx_RefNannySetupContext("cuFuncSetSharedSize", 1);
  __Pyx_TraceCall("cuFuncSetSharedSize", __pyx_f[1], 31177, 0, __PYX_ERR(1, 31177, __pyx_L1_error));

  /* "cuda/cuda.pyx":31204
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31205
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 */
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31204
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31206
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31207
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31208
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31208, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31206
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31210
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuFuncSetSharedSize(chfunc, numbytes)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31211
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     err = ccuda.cuFuncSetSharedSize(chfunc, numbytes)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31211, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":31212
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuFuncSetSharedSize(chfunc, numbytes)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuFuncSetSharedSize(__pyx_v_chfunc, __pyx_v_numbytes); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31212, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":31213
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuFuncSetSharedSize(chfunc, numbytes)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31213, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 31213, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31177
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuFuncSetSharedSize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31215
 *     return (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_4cuda_515cuParamSetSize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_514cuParamSetSize, "cuParamSetSize(hfunc, unsigned int numbytes)\n Sets the parameter size for the function.\n\n    [Deprecated]\n\n    Sets through `numbytes` the total size in bytes needed by the function\n    parameters of the kernel corresponding to `hfunc`.\n\n    Parameters\n    ----------\n    hfunc : :py:obj:`~.CUfunction`\n        Kernel to set parameter size for\n    numbytes : unsigned int\n        Size of parameter list in bytes\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_515cuParamSetSize = {"cuParamSetSize", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_515cuParamSetSize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_514cuParamSetSize};
static PyObject *__pyx_pw_4cuda_4cuda_515cuParamSetSize(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hfunc,&__pyx_n_s_numbytes,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hfunc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31215, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numbytes)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31215, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuParamSetSize", 1, 2, 2, 1); __PYX_ERR(1, 31215, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuParamSetSize") < 0)) __PYX_ERR(1, 31215, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_numbytes = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_numbytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 31216, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuParamSetSize", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 31215, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuParamSetSize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_514cuParamSetSize(__pyx_self, __pyx_v_hfunc, __pyx_v_numbytes);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_514cuParamSetSize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, unsigned int __pyx_v_numbytes) {
  CUfunction __pyx_v_chfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__755)
  __Pyx_RefNannySetupContext("cuParamSetSize", 1);
  __Pyx_TraceCall("cuParamSetSize", __pyx_f[1], 31215, 0, __PYX_ERR(1, 31215, __pyx_L1_error));

  /* "cuda/cuda.pyx":31241
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31242
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 */
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31241
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31243
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31244
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31245
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31245, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31243
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31247
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuParamSetSize(chfunc, numbytes)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31248
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     err = ccuda.cuParamSetSize(chfunc, numbytes)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31248, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":31249
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuParamSetSize(chfunc, numbytes)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuParamSetSize(__pyx_v_chfunc, __pyx_v_numbytes); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31249, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":31250
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuParamSetSize(chfunc, numbytes)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31250, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 31250, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31215
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuParamSetSize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31252
 *     return (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_4cuda_517cuParamSeti(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_516cuParamSeti, "cuParamSeti(hfunc, int offset, unsigned int value)\n Adds an integer parameter to the function's argument list.\n\n    [Deprecated]\n\n    Sets an integer parameter that will be specified the next time the\n    kernel corresponding to `hfunc` will be invoked. `offset` is a byte\n    offset.\n\n    Parameters\n    ----------\n    hfunc : :py:obj:`~.CUfunction`\n        Kernel to add parameter to\n    offset : int\n        Offset to add parameter to argument list\n    value : unsigned int\n        Value of parameter\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_517cuParamSeti = {"cuParamSeti", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_517cuParamSeti, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_516cuParamSeti};
static PyObject *__pyx_pw_4cuda_4cuda_517cuParamSeti(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hfunc,&__pyx_n_s_offset_2,&__pyx_n_s_value_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hfunc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31252, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_offset_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31252, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuParamSeti", 1, 3, 3, 1); __PYX_ERR(1, 31252, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31252, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuParamSeti", 1, 3, 3, 2); __PYX_ERR(1, 31252, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuParamSeti") < 0)) __PYX_ERR(1, 31252, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_offset = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_offset == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 31253, __pyx_L3_error)
    __pyx_v_value = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_value == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 31253, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuParamSeti", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 31252, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuParamSeti", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_516cuParamSeti(__pyx_self, __pyx_v_hfunc, __pyx_v_offset, __pyx_v_value);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_516cuParamSeti(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, int __pyx_v_offset, unsigned int __pyx_v_value) {
  CUfunction __pyx_v_chfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__756)
  __Pyx_RefNannySetupContext("cuParamSeti", 1);
  __Pyx_TraceCall("cuParamSeti", __pyx_f[1], 31252, 0, __PYX_ERR(1, 31252, __pyx_L1_error));

  /* "cuda/cuda.pyx":31281
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31282
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 */
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31281
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31283
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31284
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31284, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31285
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31285, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31283
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31287
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuParamSeti(chfunc, offset, value)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31287, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31287, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31288
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     err = ccuda.cuParamSeti(chfunc, offset, value)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31288, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":31289
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuParamSeti(chfunc, offset, value)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuParamSeti(__pyx_v_chfunc, __pyx_v_offset, __pyx_v_value); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31289, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":31290
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuParamSeti(chfunc, offset, value)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 31290, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31252
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuParamSeti", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31292
 *     return (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_4cuda_519cuParamSetf(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_518cuParamSetf, "cuParamSetf(hfunc, int offset, float value)\n Adds a floating-point parameter to the function's argument list.\n\n    [Deprecated]\n\n    Sets a floating-point parameter that will be specified the next time\n    the kernel corresponding to `hfunc` will be invoked. `offset` is a byte\n    offset.\n\n    Parameters\n    ----------\n    hfunc : :py:obj:`~.CUfunction`\n        Kernel to add parameter to\n    offset : int\n        Offset to add parameter to argument list\n    value : float\n        Value of parameter\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_519cuParamSetf = {"cuParamSetf", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_519cuParamSetf, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_518cuParamSetf};
static PyObject *__pyx_pw_4cuda_4cuda_519cuParamSetf(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hfunc,&__pyx_n_s_offset_2,&__pyx_n_s_value_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hfunc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31292, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_offset_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31292, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuParamSetf", 1, 3, 3, 1); __PYX_ERR(1, 31292, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31292, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuParamSetf", 1, 3, 3, 2); __PYX_ERR(1, 31292, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuParamSetf") < 0)) __PYX_ERR(1, 31292, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_offset = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_offset == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 31293, __pyx_L3_error)
    __pyx_v_value = __pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 31293, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuParamSetf", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 31292, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuParamSetf", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_518cuParamSetf(__pyx_self, __pyx_v_hfunc, __pyx_v_offset, __pyx_v_value);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_518cuParamSetf(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, int __pyx_v_offset, float __pyx_v_value) {
  CUfunction __pyx_v_chfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__757)
  __Pyx_RefNannySetupContext("cuParamSetf", 1);
  __Pyx_TraceCall("cuParamSetf", __pyx_f[1], 31292, 0, __PYX_ERR(1, 31292, __pyx_L1_error));

  /* "cuda/cuda.pyx":31321
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31322
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 */
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31321
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31323
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31324
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31325
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31325, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31323
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31327
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuParamSetf(chfunc, offset, value)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31327, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31327, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31328
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     err = ccuda.cuParamSetf(chfunc, offset, value)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31328, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":31329
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuParamSetf(chfunc, offset, value)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuParamSetf(__pyx_v_chfunc, __pyx_v_offset, __pyx_v_value); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31329, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":31330
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuParamSetf(chfunc, offset, value)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 31330, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31292
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuParamSetf", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31332
 *     return (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_4cuda_521cuParamSetv(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_520cuParamSetv, "cuParamSetv(hfunc, int offset, ptr, unsigned int numbytes)\n Adds arbitrary data to the function's argument list.\n\n    [Deprecated]\n\n    Copies an arbitrary amount of data (specified in `numbytes`) from `ptr`\n    into the parameter space of the kernel corresponding to `hfunc`.\n    `offset` is a byte offset.\n\n    Parameters\n    ----------\n    hfunc : :py:obj:`~.CUfunction`\n        Kernel to add data to\n    offset : int\n        Offset to add data to argument list\n    ptr : Any\n        Pointer to arbitrary data\n    numbytes : unsigned int\n        Size of data to copy in bytes\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_VALUE`\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:`~.cuLaunch`, :py:obj:`~.cuLaunchGrid`, :py:obj:`~.cuLaunchGridAsync`, :py:obj:`~.cuLaunchKernel`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_521cuParamSetv = {"cuParamSetv", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_521cuParamSetv, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_520cuParamSetv};
static PyObject *__pyx_pw_4cuda_4cuda_521cuParamSetv(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hfunc,&__pyx_n_s_offset_2,&__pyx_n_s_ptr_2,&__pyx_n_s_numbytes,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hfunc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31332, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_offset_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31332, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuParamSetv", 1, 4, 4, 1); __PYX_ERR(1, 31332, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31332, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuParamSetv", 1, 4, 4, 2); __PYX_ERR(1, 31332, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numbytes)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31332, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuParamSetv", 1, 4, 4, 3); __PYX_ERR(1, 31332, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuParamSetv") < 0)) __PYX_ERR(1, 31332, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_offset = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_offset == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 31333, __pyx_L3_error)
    __pyx_v_ptr = values[2];
    __pyx_v_numbytes = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_numbytes == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 31333, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuParamSetv", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 31332, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuParamSetv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_520cuParamSetv(__pyx_self, __pyx_v_hfunc, __pyx_v_offset, __pyx_v_ptr, __pyx_v_numbytes);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_520cuParamSetv(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_chfunc;
  PyObject *__pyx_v_phfunc = NULL;
  PyObject *__pyx_v_cptr = NULL;
  void *__pyx_v_cptr_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__758)
  __Pyx_RefNannySetupContext("cuParamSetv", 1);
  __Pyx_TraceCall("cuParamSetv", __pyx_f[1], 31332, 0, __PYX_ERR(1, 31332, __pyx_L1_error));

  /* "cuda/cuda.pyx":31363
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31364
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 */
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31363
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31365
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31366
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31366, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31367
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31367, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31365
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31369
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cptr = utils.HelperInputVoidPtr(ptr)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31369, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31370
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31370, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":31371
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cptr = utils.HelperInputVoidPtr(ptr)             # <<<<<<<<<<<<<<
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     err = ccuda.cuParamSetv(chfunc, offset, cptr_ptr, numbytes)
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_ptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cptr = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":31372
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuParamSetv(chfunc, offset, cptr_ptr, numbytes)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cptr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31372, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cptr_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":31373
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     err = ccuda.cuParamSetv(chfunc, offset, cptr_ptr, numbytes)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuParamSetv(__pyx_v_chfunc, __pyx_v_offset, __pyx_v_cptr_ptr, __pyx_v_numbytes); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31373, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":31374
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     err = ccuda.cuParamSetv(chfunc, offset, cptr_ptr, numbytes)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31374, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 31374, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31332
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuParamSetv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XDECREF(__pyx_v_cptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31376
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunch(f):
 *     """ Launches a CUDA function.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_523cuLaunch(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_522cuLaunch, "cuLaunch(f)\n Launches a CUDA function.\n\n    [Deprecated]\n\n    Invokes the kernel `f` on a 1 x 1 x 1 grid of blocks. The block\n    contains the number of threads specified by a previous call to\n    :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    Parameters\n    ----------\n    f : :py:obj:`~.CUfunction`\n        Kernel to launch\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_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:`~.cuLaunchGrid`, :py:obj:`~.cuLaunchGridAsync`, :py:obj:`~.cuLaunchKernel`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_523cuLaunch = {"cuLaunch", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_523cuLaunch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_522cuLaunch};
static PyObject *__pyx_pw_4cuda_4cuda_523cuLaunch(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_f,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_f)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31376, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLaunch") < 0)) __PYX_ERR(1, 31376, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_f = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLaunch", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 31376, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLaunch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_522cuLaunch(__pyx_self, __pyx_v_f);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_522cuLaunch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_f) {
  CUfunction __pyx_v_cf;
  PyObject *__pyx_v_pf = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__759)
  __Pyx_RefNannySetupContext("cuLaunch", 1);
  __Pyx_TraceCall("cuLaunch", __pyx_f[1], 31376, 0, __PYX_ERR(1, 31376, __pyx_L1_error));

  /* "cuda/cuda.pyx":31413
 *     """
 *     cdef ccuda.CUfunction cf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_f == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31414
 *     cdef ccuda.CUfunction cf
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
 */
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31413
 *     """
 *     cdef ccuda.CUfunction cf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31415
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_f, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31416
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_f); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pf = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31417
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     else:
 *         pf = int(CUfunction(f))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31417, __pyx_L1_error)
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31415
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31419
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     else:
 *         pf = int(CUfunction(f))             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     err = ccuda.cuLaunch(cf)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_f); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pf = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31420
 *     else:
 *         pf = int(CUfunction(f))
 *         cf = <ccuda.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLaunch(cf)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31420, __pyx_L1_error)
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":31421
 *         pf = int(CUfunction(f))
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     err = ccuda.cuLaunch(cf)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuLaunch(__pyx_v_cf); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31421, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":31422
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     err = ccuda.cuLaunch(cf)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31422, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 31422, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31376
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuLaunch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pf);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31424
 *     return (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_4cuda_525cuLaunchGrid(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_524cuLaunchGrid, "cuLaunchGrid(f, int grid_width, int grid_height)\n Launches 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    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\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_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:`~.cuLaunchGridAsync`, :py:obj:`~.cuLaunchKernel`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_525cuLaunchGrid = {"cuLaunchGrid", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_525cuLaunchGrid, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_524cuLaunchGrid};
static PyObject *__pyx_pw_4cuda_4cuda_525cuLaunchGrid(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_f,&__pyx_n_s_grid_width,&__pyx_n_s_grid_height,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_f)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31424, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_grid_width)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31424, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchGrid", 1, 3, 3, 1); __PYX_ERR(1, 31424, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_grid_height)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31424, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchGrid", 1, 3, 3, 2); __PYX_ERR(1, 31424, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLaunchGrid") < 0)) __PYX_ERR(1, 31424, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_f = values[0];
    __pyx_v_grid_width = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_grid_width == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 31425, __pyx_L3_error)
    __pyx_v_grid_height = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_grid_height == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 31425, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuLaunchGrid", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 31424, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLaunchGrid", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_524cuLaunchGrid(__pyx_self, __pyx_v_f, __pyx_v_grid_width, __pyx_v_grid_height);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_524cuLaunchGrid(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_f, int __pyx_v_grid_width, int __pyx_v_grid_height) {
  CUfunction __pyx_v_cf;
  PyObject *__pyx_v_pf = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__760)
  __Pyx_RefNannySetupContext("cuLaunchGrid", 1);
  __Pyx_TraceCall("cuLaunchGrid", __pyx_f[1], 31424, 0, __PYX_ERR(1, 31424, __pyx_L1_error));

  /* "cuda/cuda.pyx":31465
 *     """
 *     cdef ccuda.CUfunction cf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_f == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31466
 *     cdef ccuda.CUfunction cf
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
 */
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31465
 *     """
 *     cdef ccuda.CUfunction cf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31467
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_f, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31468
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_f); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pf = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31469
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     else:
 *         pf = int(CUfunction(f))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31469, __pyx_L1_error)
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31467
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31471
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     else:
 *         pf = int(CUfunction(f))             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     err = ccuda.cuLaunchGrid(cf, grid_width, grid_height)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_f); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pf = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31472
 *     else:
 *         pf = int(CUfunction(f))
 *         cf = <ccuda.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLaunchGrid(cf, grid_width, grid_height)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31472, __pyx_L1_error)
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":31473
 *         pf = int(CUfunction(f))
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     err = ccuda.cuLaunchGrid(cf, grid_width, grid_height)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuLaunchGrid(__pyx_v_cf, __pyx_v_grid_width, __pyx_v_grid_height); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31473, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":31474
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     err = ccuda.cuLaunchGrid(cf, grid_width, grid_height)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31474, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 31474, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31424
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuLaunchGrid", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pf);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31476
 *     return (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_4cuda_527cuLaunchGridAsync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_526cuLaunchGridAsync, "cuLaunchGridAsync(f, int grid_width, int grid_height, hStream)\n Launches 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_4cuda_527cuLaunchGridAsync = {"cuLaunchGridAsync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_527cuLaunchGridAsync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_526cuLaunchGridAsync};
static PyObject *__pyx_pw_4cuda_4cuda_527cuLaunchGridAsync(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_f,&__pyx_n_s_grid_width,&__pyx_n_s_grid_height,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_f)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31476, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_grid_width)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31476, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchGridAsync", 1, 4, 4, 1); __PYX_ERR(1, 31476, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_grid_height)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31476, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchGridAsync", 1, 4, 4, 2); __PYX_ERR(1, 31476, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31476, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuLaunchGridAsync", 1, 4, 4, 3); __PYX_ERR(1, 31476, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuLaunchGridAsync") < 0)) __PYX_ERR(1, 31476, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_f = values[0];
    __pyx_v_grid_width = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_grid_width == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 31477, __pyx_L3_error)
    __pyx_v_grid_height = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_grid_height == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 31477, __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(1, 31476, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuLaunchGridAsync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_526cuLaunchGridAsync(__pyx_self, __pyx_v_f, __pyx_v_grid_width, __pyx_v_grid_height, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_526cuLaunchGridAsync(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_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUfunction __pyx_v_cf;
  PyObject *__pyx_v_pf = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__761)
  __Pyx_RefNannySetupContext("cuLaunchGridAsync", 1);
  __Pyx_TraceCall("cuLaunchGridAsync", __pyx_f[1], 31476, 0, __PYX_ERR(1, 31476, __pyx_L1_error));

  /* "cuda/cuda.pyx":31525
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31526
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31525
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31527
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31528
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31529
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31529, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31527
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31531
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUfunction cf
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31532
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfunction cf
 *     if f is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31532, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":31534
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUfunction cf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_f == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31535
 *     cdef ccuda.CUfunction cf
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
 */
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31534
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUfunction cf
 *     if f is None:             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":31536
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_f, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31537
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_f); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31537, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pf = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31538
 *     elif isinstance(f, (CUfunction,)):
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     else:
 *         pf = int(CUfunction(f))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31538, __pyx_L1_error)
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31536
 *     if f is None:
 *         cf = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(f, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pf = int(f)
 *         cf = <ccuda.CUfunction><void_ptr>pf
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":31540
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     else:
 *         pf = int(CUfunction(f))             # <<<<<<<<<<<<<<
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     err = ccuda.cuLaunchGridAsync(cf, grid_width, grid_height, chStream)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_f); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pf = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31541
 *     else:
 *         pf = int(CUfunction(f))
 *         cf = <ccuda.CUfunction><void_ptr>pf             # <<<<<<<<<<<<<<
 *     err = ccuda.cuLaunchGridAsync(cf, grid_width, grid_height, chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pf); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31541, __pyx_L1_error)
    __pyx_v_cf = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":31542
 *         pf = int(CUfunction(f))
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     err = ccuda.cuLaunchGridAsync(cf, grid_width, grid_height, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuLaunchGridAsync(__pyx_v_cf, __pyx_v_grid_width, __pyx_v_grid_height, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31542, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":31543
 *         cf = <ccuda.CUfunction><void_ptr>pf
 *     err = ccuda.cuLaunchGridAsync(cf, grid_width, grid_height, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 31543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 31543, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31476
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31545
 *     return (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_4cuda_529cuParamSetTexRef(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_528cuParamSetTexRef, "cuParamSetTexRef(hfunc, int texunit, hTexRef)\n Adds a texture-reference to the function's argument list.\n\n    [Deprecated]\n\n    Makes the CUDA array or linear memory bound to the texture reference\n    `hTexRef` available to a device program as a texture. In this version\n    of CUDA, the texture-reference must be obtained via\n    :py:obj:`~.cuModuleGetTexRef()` and the `texunit` parameter must be set\n    to :py:obj:`~.CU_PARAM_TR_DEFAULT`.\n\n    Parameters\n    ----------\n    hfunc : :py:obj:`~.CUfunction`\n        Kernel to add texture-reference to\n    texunit : int\n        Texture unit (must be :py:obj:`~.CU_PARAM_TR_DEFAULT`)\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture-reference to add to argument list\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_VALUE`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_529cuParamSetTexRef = {"cuParamSetTexRef", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_529cuParamSetTexRef, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_528cuParamSetTexRef};
static PyObject *__pyx_pw_4cuda_4cuda_529cuParamSetTexRef(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hfunc,&__pyx_n_s_texunit,&__pyx_n_s_hTexRef,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hfunc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31545, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_texunit)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31545, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuParamSetTexRef", 1, 3, 3, 1); __PYX_ERR(1, 31545, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31545, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuParamSetTexRef", 1, 3, 3, 2); __PYX_ERR(1, 31545, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuParamSetTexRef") < 0)) __PYX_ERR(1, 31545, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hfunc = values[0];
    __pyx_v_texunit = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_texunit == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 31546, __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(1, 31545, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuParamSetTexRef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_528cuParamSetTexRef(__pyx_self, __pyx_v_hfunc, __pyx_v_texunit, __pyx_v_hTexRef);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_528cuParamSetTexRef(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, int __pyx_v_texunit, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUfunction __pyx_v_chfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__762)
  __Pyx_RefNannySetupContext("cuParamSetTexRef", 1);
  __Pyx_TraceCall("cuParamSetTexRef", __pyx_f[1], 31545, 0, __PYX_ERR(1, 31545, __pyx_L1_error));

  /* "cuda/cuda.pyx":31572
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31573
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31572
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31574
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31575
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31576
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31576, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31574
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31578
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUfunction chfunc
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31579
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31579, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":31581
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31582
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 */
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31581
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":31583
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31584
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31585
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31585, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31583
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":31587
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuParamSetTexRef(chfunc, texunit, chTexRef)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_hfunc); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31587, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31587, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31588
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     err = ccuda.cuParamSetTexRef(chfunc, texunit, chTexRef)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31588, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":31589
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuParamSetTexRef(chfunc, texunit, chTexRef)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuParamSetTexRef(__pyx_v_chfunc, __pyx_v_texunit, __pyx_v_chTexRef); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31589, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":31590
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     err = ccuda.cuParamSetTexRef(chfunc, texunit, chTexRef)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 31590, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 31590, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31545
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31592
 *     return (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_4cuda_531cuFuncSetSharedMemConfig(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_530cuFuncSetSharedMemConfig, "cuFuncSetSharedMemConfig(hfunc, config: CUsharedconfig)\n Sets the shared memory configuration for a device function.\n\n    [Deprecated]\n\n    On devices with configurable shared memory banks, this function will\n    force all subsequent launches of the specified device function to have\n    the given shared memory bank size configuration. On any given launch of\n    the function, the shared memory configuration of the device will be\n    temporarily changed if needed to suit the function's preferred\n    configuration. Changes in shared memory configuration between\n    subsequent launches of functions, may introduce a device side\n    synchronization point.\n\n    Any per-function setting of shared memory bank size set via\n    :py:obj:`~.cuFuncSetSharedMemConfig` will override the context wide\n    setting set with :py:obj:`~.cuCtxSetSharedMemConfig`.\n\n    Changing the shared memory bank size will not increase shared memory\n    usage or affect occupancy of kernels, but may have major effects on\n    performance. Larger bank sizes will allow for greater potential\n    bandwidth to shared memory, but will change what kinds of accesses to\n    shared memory will result in bank conflicts.\n\n    This function will do nothing on devices with fixed shared memory bank\n    size.\n\n    The 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\n    Parameters\n    ----------\n    hfunc : :py:obj:`~.CUfunction`\n        kernel to be given a shared memory config\n    config : :py:obj:`~.CUsharedconfig`\n        requested sh""ared memory configuration\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuCtxGetCacheConfig`, :py:obj:`~.cuCtxSetCacheConfig`, :py:obj:`~.cuCtxGetSharedMemConfig`, :py:obj:`~.cuCtxSetSharedMemConfig`, :py:obj:`~.cuFuncGetAttribute`, :py:obj:`~.cuLaunchKernel`, :py:obj:`~.cudaFuncSetSharedMemConfig`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_531cuFuncSetSharedMemConfig = {"cuFuncSetSharedMemConfig", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_531cuFuncSetSharedMemConfig, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_530cuFuncSetSharedMemConfig};
static PyObject *__pyx_pw_4cuda_4cuda_531cuFuncSetSharedMemConfig(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hfunc,&__pyx_n_s_config,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hfunc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31592, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_config)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31592, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuFuncSetSharedMemConfig", 1, 2, 2, 1); __PYX_ERR(1, 31592, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuFuncSetSharedMemConfig") < 0)) __PYX_ERR(1, 31592, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 31592, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 31593, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_530cuFuncSetSharedMemConfig(__pyx_self, __pyx_v_hfunc, __pyx_v_config);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_530cuFuncSetSharedMemConfig(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hfunc, PyObject *__pyx_v_config) {
  CUfunction __pyx_v_chfunc;
  PyObject *__pyx_v_phfunc = NULL;
  CUsharedconfig __pyx_v_cconfig;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUsharedconfig __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__763)
  __Pyx_RefNannySetupContext("cuFuncSetSharedMemConfig", 1);
  __Pyx_TraceCall("cuFuncSetSharedMemConfig", __pyx_f[1], 31592, 0, __PYX_ERR(1, 31592, __pyx_L1_error));

  /* "cuda/cuda.pyx":31650
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_hfunc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31651
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 */
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31650
 *     """
 *     cdef ccuda.CUfunction chfunc
 *     if hfunc is None:             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31652
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hfunc, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31653
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31654
 *     elif isinstance(hfunc, (CUfunction,)):
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31654, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31652
 *     if hfunc is None:
 *         chfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(hfunc, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         phfunc = int(hfunc)
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31656
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     else:
 *         phfunc = int(CUfunction(hfunc))             # <<<<<<<<<<<<<<
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef ccuda.CUsharedconfig cconfig = config.value
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_hfunc); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31656, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31656, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31657
 *     else:
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUsharedconfig cconfig = config.value
 *     err = ccuda.cuFuncSetSharedMemConfig(chfunc, cconfig)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31657, __pyx_L1_error)
    __pyx_v_chfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":31658
 *         phfunc = int(CUfunction(hfunc))
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef ccuda.CUsharedconfig cconfig = config.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuFuncSetSharedMemConfig(chfunc, cconfig)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_config, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUsharedconfig_enum)__Pyx_PyInt_As_enum__CUsharedconfig_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31658, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cconfig = __pyx_t_5;

  /* "cuda/cuda.pyx":31659
 *         chfunc = <ccuda.CUfunction><void_ptr>phfunc
 *     cdef ccuda.CUsharedconfig cconfig = config.value
 *     err = ccuda.cuFuncSetSharedMemConfig(chfunc, cconfig)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuFuncSetSharedMemConfig(__pyx_v_chfunc, __pyx_v_cconfig); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31659, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":31660
 *     cdef ccuda.CUsharedconfig cconfig = config.value
 *     err = ccuda.cuFuncSetSharedMemConfig(chfunc, cconfig)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31660, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 31660, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31592
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuFuncSetSharedMemConfig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31662
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphCreate(unsigned int flags):
 *     """ Creates a graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_533cuGraphCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_532cuGraphCreate, "cuGraphCreate(unsigned int flags)\n Creates a graph.\n\n    Creates an empty graph, which is returned via `phGraph`.\n\n    Parameters\n    ----------\n    flags : unsigned int\n        Graph creation flags, must be 0\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_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    phGraph : :py:obj:`~.CUgraph`\n        Returns newly created graph\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_533cuGraphCreate = {"cuGraphCreate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_533cuGraphCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_532cuGraphCreate};
static PyObject *__pyx_pw_4cuda_4cuda_533cuGraphCreate(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31662, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphCreate") < 0)) __PYX_ERR(1, 31662, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 31663, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 31662, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_532cuGraphCreate(__pyx_self, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_532cuGraphCreate(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_flags) {
  struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_phGraph = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__764)
  __Pyx_RefNannySetupContext("cuGraphCreate", 1);
  __Pyx_TraceCall("cuGraphCreate", __pyx_f[1], 31662, 0, __PYX_ERR(1, 31662, __pyx_L1_error));

  /* "cuda/cuda.pyx":31684
 *     :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()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphCreate(<ccuda.CUgraph*>phGraph._ptr, flags)
 *     return (CUresult(err), phGraph)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_phGraph = ((struct __pyx_obj_4cuda_4cuda_CUgraph *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":31685
 *     """
 *     cdef CUgraph phGraph = CUgraph()
 *     err = ccuda.cuGraphCreate(<ccuda.CUgraph*>phGraph._ptr, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraph)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuGraphCreate(((CUgraph *)__pyx_v_phGraph->_ptr), __pyx_v_flags); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31685, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":31686
 *     cdef CUgraph phGraph = CUgraph()
 *     err = ccuda.cuGraphCreate(<ccuda.CUgraph*>phGraph._ptr, flags)
 *     return (CUresult(err), phGraph)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 31686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31686, __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)) __PYX_ERR(1, 31686, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraph);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraph);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_phGraph))) __PYX_ERR(1, 31686, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31662
 *     return (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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuGraphCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraph);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31688
 *     return (CUresult(err), phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddKernelNode(hGraph, dependencies : Optional[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_4cuda_535cuGraphAddKernelNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_534cuGraphAddKernelNode, "cuGraphAddKernelNode(hGraph, list dependencies: Optional[List[CUgraphNode]], size_t numDependencies, CUDA_KERNEL_NODE_PARAMS nodeParams: Optional[CUDA_KERNEL_NODE_PARAMS])\n Creates a kernel execution node and adds it to a graph.\n\n    Creates a new kernel execution node and adds it to `hGraph` with\n    `numDependencies` dependencies specified via `dependencies` and\n    arguments specified in `nodeParams`. It is possible for\n    `numDependencies` to be 0, in which case the node will be placed at the\n    root of the graph. `dependencies` may not have any duplicate entries. A\n    handle to the new node will be returned in `phGraphNode`.\n\n    The CUDA_KERNEL_NODE_PARAMS structure is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    When the graph is launched, the node will invoke kernel `func` on a\n    (`gridDimX` x `gridDimY` x `gridDimZ`) grid of blocks. Each block\n    contains (`blockDimX` x `blockDimY` x `blockDimZ`) threads.\n\n    `sharedMemBytes` sets the amount of dynamic shared memory that will be\n    available to each thread block.\n\n    Kernel parameters to `func` can be specified in one of two ways:\n\n    1) Kernel parameters can be specified via `kernelParams`. If the kernel\n    has N parameters, then `kernelParams` needs to be an array of N\n    pointers. Each pointer, from `kernelParams`[0] to `kernelParams`[N-1],\n    points to the region of memory from which the actual parameter will be\n    copied. The number of kernel parameters and their offsets and sizes do\n    not need to be specified as that information is retrieved directly from\n    the kernel's image.\n\n    2) Kernel parameters for non-cooperative kernels can also be packaged\n    by the application into a single buffer that is passed in via `extra`.\n    This places the burden on the application of knowing each kernel\n    parameter's size and alignment/padding within the buffer. The `extra`\n    parameter exists to allow this function to tak""e additional less\n    commonly used arguments. `extra` specifies a list of names of extra\n    settings and their corresponding values. Each extra setting name is\n    immediately followed by the corresponding value. The list must be\n    terminated 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\n    The error :py:obj:`~.CUDA_ERROR_INVALID_VALUE` will be returned if\n    kernel 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\n    used for a cooperative kernel.\n\n    The `kernelParams` or `extra` array, as well as the argument values it\n    points to, are copied during this call.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    nodeParams : :py:obj:`~.CUDA_KERNEL_NODE_PARAMS`\n        Parameters for the GPU execution node\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_VALUE`\n    phGraphNode : :py:obj:`~.CUgraphNode`\n        Returns newly created node\n\n    See 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:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddHostNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`\n\n    Notes\n    -----\n    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.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_535cuGraphAddKernelNode = {"cuGraphAddKernelNode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_535cuGraphAddKernelNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_534cuGraphAddKernelNode};
static PyObject *__pyx_pw_4cuda_4cuda_535cuGraphAddKernelNode(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_dependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31688, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31688, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddKernelNode", 1, 4, 4, 1); __PYX_ERR(1, 31688, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31688, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddKernelNode", 1, 4, 4, 2); __PYX_ERR(1, 31688, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31688, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddKernelNode", 1, 4, 4, 3); __PYX_ERR(1, 31688, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphAddKernelNode") < 0)) __PYX_ERR(1, 31688, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = ((PyObject*)values[1]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 31689, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS *)values[3]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddKernelNode", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 31688, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddKernelNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 31689, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(1, 31689, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_534cuGraphAddKernelNode(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_20cuGraphAddKernelNode_2generator26(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":31778
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_20cuGraphAddKernelNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_26_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_26_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_26_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_26_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 31778, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_20cuGraphAddKernelNode_2generator26, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddKernelNode_locals_gene, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 31778, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_20cuGraphAddKernelNode_2generator26(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_26_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_26_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 31778, 0, __PYX_ERR(1, 31778, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 31778, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 31778, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 31778, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 31778, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 31778, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31688
 *     return (CUresult(err), phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddKernelNode(hGraph, dependencies : Optional[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_4cuda_534cuGraphAddKernelNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUDA_KERNEL_NODE_PARAMS *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_20cuGraphAddKernelNode_2generator26 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_t_10;
  CUgraphNode *__pyx_t_11;
  CUresult __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__765)
  __Pyx_RefNannySetupContext("cuGraphAddKernelNode", 0);
  __Pyx_TraceCall("cuGraphAddKernelNode", __pyx_f[1], 31688, 0, __PYX_ERR(1, 31688, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/cuda.pyx":31777
 *     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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_2 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31777, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":31778
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_20cuGraphAddKernelNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31778, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31778, __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(1, 31778, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":31779
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31779, __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(1, 31779, __pyx_L1_error)

    /* "cuda/cuda.pyx":31778
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":31781
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":31782
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31781
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":31783
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":31784
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":31785
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31785, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":31783
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":31787
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":31788
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31788, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":31789
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":31790
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":31791
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 31791, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31791, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":31792
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 31792, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31792, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":31793
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_4 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":31794
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 31794, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31794, __pyx_L1_error)
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31794, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31794, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31794, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31794, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31794, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31794, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31794, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31794, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 31794, __pyx_L1_error)

      /* "cuda/cuda.pyx":31793
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":31796
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 31796, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31796, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":31797
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_KERNEL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 31797, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31797, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":31791
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":31798
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_KERNEL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddKernelNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 31798, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31798, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 31798, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31798, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 31798, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":31799
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_KERNEL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphAddKernelNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:
 */
  __pyx_t_3 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31799, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(1, 31799, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_4) {
    __pyx_t_10 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_10 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_10;

  /* "cuda/cuda.pyx":31800
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_KERNEL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddKernelNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 31800, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31800, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 31800, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31800, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_3)->_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cdependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_5ccuda_cuGraphAddKernelNode(((CUgraphNode *)__pyx_v_phGraphNode->_ptr), __pyx_v_chGraph, __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_12 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31800, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cuda.pyx":31801
 *     cdef ccuda.CUDA_KERNEL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddKernelNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  __pyx_t_4 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":31802
 *     err = ccuda.cuGraphAddKernelNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphNode)
 * 
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":31801
 *     cdef ccuda.CUDA_KERNEL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddKernelNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  }

  /* "cuda/cuda.pyx":31803
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 31803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_13 = NULL;
  __pyx_t_14 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_14 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_1};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_14, 1+__pyx_t_14);
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31803, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31803, __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)) __PYX_ERR(1, 31803, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraphNode))) __PYX_ERR(1, 31803, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31688
 *     return (CUresult(err), phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddKernelNode(hGraph, dependencies : Optional[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_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_20cuGraphAddKernelNode_2generator26);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31805
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeGetParams(hNode):
 *     """ Returns a kernel node's parameters.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_537cuGraphKernelNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_536cuGraphKernelNodeGetParams, "cuGraphKernelNodeGetParams(hNode)\n Returns a kernel node's parameters.\n\n    Returns the parameters of kernel node `hNode` in `nodeParams`. The\n    `kernelParams` or `extra` array returned in `nodeParams`, as well as\n    the argument values it points to, are owned by the node. This memory\n    remains valid until the node is destroyed or its parameters are\n    modified, and should not be modified directly. Use\n    :py:obj:`~.cuGraphKernelNodeSetParams` to update the parameters of this\n    node.\n\n    The params will contain either `kernelParams` or `extra`, according to\n    which of these was most recently set on the node.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the parameters 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_VALUE`\n    nodeParams : :py:obj:`~.CUDA_KERNEL_NODE_PARAMS`\n        Pointer to return the parameters\n\n    See Also\n    --------\n    :py:obj:`~.cuLaunchKernel`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphKernelNodeSetParams`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_537cuGraphKernelNodeGetParams = {"cuGraphKernelNodeGetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_537cuGraphKernelNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_536cuGraphKernelNodeGetParams};
static PyObject *__pyx_pw_4cuda_4cuda_537cuGraphKernelNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31805, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphKernelNodeGetParams") < 0)) __PYX_ERR(1, 31805, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 31805, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphKernelNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_536cuGraphKernelNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_536cuGraphKernelNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS *__pyx_v_nodeParams = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__766)
  __Pyx_RefNannySetupContext("cuGraphKernelNodeGetParams", 1);
  __Pyx_TraceCall("cuGraphKernelNodeGetParams", __pyx_f[1], 31805, 0, __PYX_ERR(1, 31805, __pyx_L1_error));

  /* "cuda/cuda.pyx":31837
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31838
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31837
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31839
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31840
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31840, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31841
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31841, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31839
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31843
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_KERNEL_NODE_PARAMS nodeParams = CUDA_KERNEL_NODE_PARAMS()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31844
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUDA_KERNEL_NODE_PARAMS nodeParams = CUDA_KERNEL_NODE_PARAMS()
 *     err = ccuda.cuGraphKernelNodeGetParams(chNode, <ccuda.CUDA_KERNEL_NODE_PARAMS*>nodeParams._ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31844, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":31845
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_KERNEL_NODE_PARAMS nodeParams = CUDA_KERNEL_NODE_PARAMS()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphKernelNodeGetParams(chNode, <ccuda.CUDA_KERNEL_NODE_PARAMS*>nodeParams._ptr)
 *     return (CUresult(err), nodeParams)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":31846
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_KERNEL_NODE_PARAMS nodeParams = CUDA_KERNEL_NODE_PARAMS()
 *     err = ccuda.cuGraphKernelNodeGetParams(chNode, <ccuda.CUDA_KERNEL_NODE_PARAMS*>nodeParams._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), nodeParams)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphKernelNodeGetParams(__pyx_v_chNode, ((CUDA_KERNEL_NODE_PARAMS *)__pyx_v_nodeParams->__pyx_base.__pyx_base._ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31846, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":31847
 *     cdef CUDA_KERNEL_NODE_PARAMS nodeParams = CUDA_KERNEL_NODE_PARAMS()
 *     err = ccuda.cuGraphKernelNodeGetParams(chNode, <ccuda.CUDA_KERNEL_NODE_PARAMS*>nodeParams._ptr)
 *     return (CUresult(err), nodeParams)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31847, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 31847, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31847, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 31847, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_nodeParams);
  __Pyx_GIVEREF((PyObject *)__pyx_v_nodeParams);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_nodeParams))) __PYX_ERR(1, 31847, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31805
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31849
 *     return (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_4cuda_539cuGraphKernelNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_538cuGraphKernelNodeSetParams, "cuGraphKernelNodeSetParams(hNode, CUDA_KERNEL_NODE_PARAMS nodeParams: Optional[CUDA_KERNEL_NODE_PARAMS])\n Sets a kernel node's parameters.\n\n    Sets the parameters of kernel node `hNode` to `nodeParams`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to set the parameters for\n    nodeParams : :py:obj:`~.CUDA_KERNEL_NODE_PARAMS`\n        Parameters to copy\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuLaunchKernel`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphKernelNodeGetParams`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_539cuGraphKernelNodeSetParams = {"cuGraphKernelNodeSetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_539cuGraphKernelNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_538cuGraphKernelNodeSetParams};
static PyObject *__pyx_pw_4cuda_4cuda_539cuGraphKernelNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31849, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31849, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeSetParams", 1, 2, 2, 1); __PYX_ERR(1, 31849, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphKernelNodeSetParams") < 0)) __PYX_ERR(1, 31849, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeSetParams", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 31849, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(1, 31850, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_538cuGraphKernelNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_538cuGraphKernelNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUDA_KERNEL_NODE_PARAMS *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__767)
  __Pyx_RefNannySetupContext("cuGraphKernelNodeSetParams", 1);
  __Pyx_TraceCall("cuGraphKernelNodeSetParams", __pyx_f[1], 31849, 0, __PYX_ERR(1, 31849, __pyx_L1_error));

  /* "cuda/cuda.pyx":31872
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31873
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31872
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31874
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31875
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31876
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31876, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31874
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31878
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_KERNEL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31878, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31878, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31879
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_KERNEL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphKernelNodeSetParams(chNode, cnodeParams_ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31879, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":31880
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_KERNEL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphKernelNodeSetParams(chNode, cnodeParams_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31880, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 31880, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":31881
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_KERNEL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphKernelNodeSetParams(chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphKernelNodeSetParams(__pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31881, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":31882
 *     cdef ccuda.CUDA_KERNEL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphKernelNodeSetParams(chNode, cnodeParams_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31882, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 31882, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31849
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuGraphKernelNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31884
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemcpyNode(hGraph, dependencies : Optional[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_4cuda_541cuGraphAddMemcpyNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_540cuGraphAddMemcpyNode, "cuGraphAddMemcpyNode(hGraph, list dependencies: Optional[List[CUgraphNode]], size_t numDependencies, CUDA_MEMCPY3D copyParams: Optional[CUDA_MEMCPY3D], ctx)\n Creates a memcpy node and adds it to a graph.\n\n    Creates a new memcpy node and adds it to `hGraph` with\n    `numDependencies` dependencies specified via `dependencies`. It is\n    possible for `numDependencies` to be 0, in which case the node will be\n    placed at the root of the graph. `dependencies` may not have any\n    duplicate entries. A handle to the new node will be returned in\n    `phGraphNode`.\n\n    When the graph is launched, the node will perform the memcpy described\n    by `copyParams`. See :py:obj:`~.cuMemcpy3D()` for a description of the\n    structure and its restrictions.\n\n    Memcpy nodes have some additional restrictions with regards to managed\n    memory, if the system contains at least one device which has a zero\n    value for the device attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS`. If one or\n    more of the operands refer to managed memory, then using the memory\n    type :py:obj:`~.CU_MEMORYTYPE_UNIFIED` is disallowed for those\n    operand(s). The managed memory will be treated as residing on either\n    the host or the device, depending on which memory type is specified.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    copyParams : :py:obj:`~.CUDA_MEMCPY3D`\n        Parameters for the memory copy\n    ctx : :py:obj:`~.CUcontext`\n        Context on which to run the node\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_VALUE`\n    phGraphNode : :py:obj:`~.CUgraphNode`\n        R""eturns newly created node\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuGraphMemcpyNodeGetParams`, :py:obj:`~.cuGraphMemcpyNodeSetParams`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphDestroyNode`, :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddHostNode`, :py:obj:`~.cuGraphAddMemsetNode`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_541cuGraphAddMemcpyNode = {"cuGraphAddMemcpyNode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_541cuGraphAddMemcpyNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_540cuGraphAddMemcpyNode};
static PyObject *__pyx_pw_4cuda_4cuda_541cuGraphAddMemcpyNode(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_dependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_copyParams_2,&__pyx_n_s_ctx_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31884, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31884, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddMemcpyNode", 1, 5, 5, 1); __PYX_ERR(1, 31884, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31884, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddMemcpyNode", 1, 5, 5, 2); __PYX_ERR(1, 31884, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_copyParams_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31884, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddMemcpyNode", 1, 5, 5, 3); __PYX_ERR(1, 31884, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ctx_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31884, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddMemcpyNode", 1, 5, 5, 4); __PYX_ERR(1, 31884, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphAddMemcpyNode") < 0)) __PYX_ERR(1, 31884, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = ((PyObject*)values[1]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 31885, __pyx_L3_error)
    __pyx_v_copyParams = ((struct __pyx_obj_4cuda_4cuda_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(1, 31884, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddMemcpyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 31885, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_copyParams), __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D, 1, "copyParams", 0))) __PYX_ERR(1, 31885, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_540cuGraphAddMemcpyNode(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_20cuGraphAddMemcpyNode_2generator27(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":31942
 *         cctx = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_20cuGraphAddMemcpyNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_27_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_27_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_27_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_27_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 31942, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_20cuGraphAddMemcpyNode_2generator27, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddMemcpyNode_locals_gene, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 31942, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_20cuGraphAddMemcpyNode_2generator27(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_27_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_27_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 31942, 0, __PYX_ERR(1, 31942, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 31942, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 31942, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 31942, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 31942, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 31942, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31884
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemcpyNode(hGraph, dependencies : Optional[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_4cuda_540cuGraphAddMemcpyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *__pyx_v_copyParams, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cctx;
  PyObject *__pyx_v_pctx = NULL;
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUDA_MEMCPY3D *__pyx_v_ccopyParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_20cuGraphAddMemcpyNode_2generator27 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct CUDA_MEMCPY3D_st *__pyx_t_10;
  CUgraphNode *__pyx_t_11;
  CUresult __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__768)
  __Pyx_RefNannySetupContext("cuGraphAddMemcpyNode", 0);
  __Pyx_TraceCall("cuGraphAddMemcpyNode", __pyx_f[1], 31884, 0, __PYX_ERR(1, 31884, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/cuda.pyx":31933
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31934
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 */
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31933
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31935
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31936
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31936, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31937
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31937, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31935
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31939
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     dependencies = [] if dependencies is None else dependencies
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31940
 *     else:
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31940, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":31941
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_1 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31941, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_4 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, ((PyObject*)__pyx_t_4));
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":31942
 *         cctx = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_4 = __pyx_pf_4cuda_4cuda_20cuGraphAddMemcpyNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 31942, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = (!__pyx_t_1);
  if (unlikely(__pyx_t_5)) {

    /* "cuda/cuda.pyx":31943
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31943, __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, 31943, __pyx_L1_error)

    /* "cuda/cuda.pyx":31942
 *         cctx = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":31945
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_5 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":31946
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31945
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":31947
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":31948
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31949
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31949, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31947
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":31951
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31951, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31951, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31952
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31952, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":31953
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":31954
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":31955
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 31955, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31955, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_6 > 0);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":31956
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 31956, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31956, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":31957
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_5 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_5)) {

      /* "cuda/cuda.pyx":31958
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 31958, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31958, __pyx_L1_error)
      __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31958, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31958, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31958, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31958, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31958, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31958, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31958, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31958, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 31958, __pyx_L1_error)

      /* "cuda/cuda.pyx":31957
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":31960
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 31960, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31960, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":31961
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_MEMCPY3D* ccopyParams_ptr = copyParams._ptr if copyParams != None else NULL
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 31961, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31961, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":31955
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":31962
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_MEMCPY3D* ccopyParams_ptr = copyParams._ptr if copyParams != None else NULL
 *     err = ccuda.cuGraphAddMemcpyNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, ccopyParams_ptr, cctx)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 31962, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31962, __pyx_L1_error)
  __pyx_t_5 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_5)) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 31962, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31962, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31962, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31962, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31962, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31962, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31962, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31962, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31962, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31962, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 31962, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":31963
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_MEMCPY3D* ccopyParams_ptr = copyParams._ptr if copyParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphAddMemcpyNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, ccopyParams_ptr, cctx)
 *     if cdependencies is not NULL:
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_copyParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31963, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(1, 31963, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_5) {
    __pyx_t_10 = __pyx_v_copyParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_10 = NULL;
  }
  __pyx_v_ccopyParams_ptr = __pyx_t_10;

  /* "cuda/cuda.pyx":31964
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_MEMCPY3D* ccopyParams_ptr = copyParams._ptr if copyParams != None else NULL
 *     err = ccuda.cuGraphAddMemcpyNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, ccopyParams_ptr, cctx)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 31964, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 31964, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_6 == 1);
  if (__pyx_t_5) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 31964, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_11 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_2)->_ptr);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cdependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_5ccuda_cuGraphAddMemcpyNode(((CUgraphNode *)__pyx_v_phGraphNode->_ptr), __pyx_v_chGraph, __pyx_t_11, __pyx_v_numDependencies, __pyx_v_ccopyParams_ptr, __pyx_v_cctx); if (unlikely(__pyx_t_12 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 31964, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cuda.pyx":31965
 *     cdef ccuda.CUDA_MEMCPY3D* ccopyParams_ptr = copyParams._ptr if copyParams != None else NULL
 *     err = ccuda.cuGraphAddMemcpyNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, ccopyParams_ptr, cctx)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  __pyx_t_5 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":31966
 *     err = ccuda.cuGraphAddMemcpyNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, ccopyParams_ptr, cctx)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphNode)
 * 
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":31965
 *     cdef ccuda.CUDA_MEMCPY3D* ccopyParams_ptr = copyParams._ptr if copyParams != None else NULL
 *     err = ccuda.cuGraphAddMemcpyNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, ccopyParams_ptr, cctx)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  }

  /* "cuda/cuda.pyx":31967
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31967, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31967, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_13 = NULL;
  __pyx_t_14 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_14 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_14, 1+__pyx_t_14);
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31967, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 31967, __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)) __PYX_ERR(1, 31967, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraphNode))) __PYX_ERR(1, 31967, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31884
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemcpyNode(hGraph, dependencies : Optional[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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_20cuGraphAddMemcpyNode_2generator27);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":31969
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemcpyNodeGetParams(hNode):
 *     """ Returns a memcpy node's parameters.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_543cuGraphMemcpyNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_542cuGraphMemcpyNodeGetParams, "cuGraphMemcpyNodeGetParams(hNode)\n Returns a memcpy node's parameters.\n\n    Returns the parameters of memcpy node `hNode` in `nodeParams`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the parameters 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_VALUE`\n    nodeParams : :py:obj:`~.CUDA_MEMCPY3D`\n        Pointer to return the parameters\n\n    See Also\n    --------\n    :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphMemcpyNodeSetParams`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_543cuGraphMemcpyNodeGetParams = {"cuGraphMemcpyNodeGetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_543cuGraphMemcpyNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_542cuGraphMemcpyNodeGetParams};
static PyObject *__pyx_pw_4cuda_4cuda_543cuGraphMemcpyNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 31969, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphMemcpyNodeGetParams") < 0)) __PYX_ERR(1, 31969, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphMemcpyNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 31969, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphMemcpyNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_542cuGraphMemcpyNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_542cuGraphMemcpyNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *__pyx_v_nodeParams = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__769)
  __Pyx_RefNannySetupContext("cuGraphMemcpyNodeGetParams", 1);
  __Pyx_TraceCall("cuGraphMemcpyNodeGetParams", __pyx_f[1], 31969, 0, __PYX_ERR(1, 31969, __pyx_L1_error));

  /* "cuda/cuda.pyx":31992
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31993
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":31992
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31994
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":31995
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31995, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":31996
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31996, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":31994
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":31998
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEMCPY3D nodeParams = CUDA_MEMCPY3D()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31998, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 31998, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":31999
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUDA_MEMCPY3D nodeParams = CUDA_MEMCPY3D()
 *     err = ccuda.cuGraphMemcpyNodeGetParams(chNode, <ccuda.CUDA_MEMCPY3D*>nodeParams._ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 31999, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":32000
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEMCPY3D nodeParams = CUDA_MEMCPY3D()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphMemcpyNodeGetParams(chNode, <ccuda.CUDA_MEMCPY3D*>nodeParams._ptr)
 *     return (CUresult(err), nodeParams)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":32001
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEMCPY3D nodeParams = CUDA_MEMCPY3D()
 *     err = ccuda.cuGraphMemcpyNodeGetParams(chNode, <ccuda.CUDA_MEMCPY3D*>nodeParams._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), nodeParams)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphMemcpyNodeGetParams(__pyx_v_chNode, ((CUDA_MEMCPY3D *)__pyx_v_nodeParams->__pyx_base.__pyx_base._ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32001, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":32002
 *     cdef CUDA_MEMCPY3D nodeParams = CUDA_MEMCPY3D()
 *     err = ccuda.cuGraphMemcpyNodeGetParams(chNode, <ccuda.CUDA_MEMCPY3D*>nodeParams._ptr)
 *     return (CUresult(err), nodeParams)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 32002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32002, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 32002, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_nodeParams);
  __Pyx_GIVEREF((PyObject *)__pyx_v_nodeParams);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_nodeParams))) __PYX_ERR(1, 32002, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":31969
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32004
 *     return (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_4cuda_545cuGraphMemcpyNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_544cuGraphMemcpyNodeSetParams, "cuGraphMemcpyNodeSetParams(hNode, CUDA_MEMCPY3D nodeParams: Optional[CUDA_MEMCPY3D])\n Sets a memcpy node's parameters.\n\n    Sets the parameters of memcpy node `hNode` to `nodeParams`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to set the parameters for\n    nodeParams : :py:obj:`~.CUDA_MEMCPY3D`\n        Parameters to copy\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_VALUE`,\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuMemcpy3D`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphMemcpyNodeGetParams`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_545cuGraphMemcpyNodeSetParams = {"cuGraphMemcpyNodeSetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_545cuGraphMemcpyNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_544cuGraphMemcpyNodeSetParams};
static PyObject *__pyx_pw_4cuda_4cuda_545cuGraphMemcpyNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32004, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32004, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphMemcpyNodeSetParams", 1, 2, 2, 1); __PYX_ERR(1, 32004, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphMemcpyNodeSetParams") < 0)) __PYX_ERR(1, 32004, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphMemcpyNodeSetParams", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 32004, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_MEMCPY3D, 1, "nodeParams", 0))) __PYX_ERR(1, 32005, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_544cuGraphMemcpyNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_544cuGraphMemcpyNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUDA_MEMCPY3D *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_MEMCPY3D_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__770)
  __Pyx_RefNannySetupContext("cuGraphMemcpyNodeSetParams", 1);
  __Pyx_TraceCall("cuGraphMemcpyNodeSetParams", __pyx_f[1], 32004, 0, __PYX_ERR(1, 32004, __pyx_L1_error));

  /* "cuda/cuda.pyx":32027
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32028
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32027
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32029
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32030
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32030, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32031
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32031, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32029
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32033
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_MEMCPY3D* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32033, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32034
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_MEMCPY3D* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphMemcpyNodeSetParams(chNode, cnodeParams_ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32034, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":32035
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_MEMCPY3D* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphMemcpyNodeSetParams(chNode, cnodeParams_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32035, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 32035, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":32036
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_MEMCPY3D* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphMemcpyNodeSetParams(chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphMemcpyNodeSetParams(__pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32036, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":32037
 *     cdef ccuda.CUDA_MEMCPY3D* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphMemcpyNodeSetParams(chNode, cnodeParams_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32037, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 32037, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32004
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuGraphMemcpyNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32039
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemsetNode(hGraph, dependencies : Optional[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_4cuda_547cuGraphAddMemsetNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_546cuGraphAddMemsetNode, "cuGraphAddMemsetNode(hGraph, list dependencies: Optional[List[CUgraphNode]], size_t numDependencies, CUDA_MEMSET_NODE_PARAMS memsetParams: Optional[CUDA_MEMSET_NODE_PARAMS], ctx)\n Creates a memset node and adds it to a graph.\n\n    Creates a new memset node and adds it to `hGraph` with\n    `numDependencies` dependencies specified via `dependencies`. It is\n    possible for `numDependencies` to be 0, in which case the node will be\n    placed at the root of the graph. `dependencies` may not have any\n    duplicate entries. A handle to the new node will be returned in\n    `phGraphNode`.\n\n    The element size must be 1, 2, or 4 bytes. When the graph is launched,\n    the node will perform the memset described by `memsetParams`.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    memsetParams : :py:obj:`~.CUDA_MEMSET_NODE_PARAMS`\n        Parameters for the memory set\n    ctx : :py:obj:`~.CUcontext`\n        Context on which to run the node\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`\n    phGraphNode : :py:obj:`~.CUgraphNode`\n        Returns newly created node\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_547cuGraphAddMemsetNode = {"cuGraphAddMemsetNode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_547cuGraphAddMemsetNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_546cuGraphAddMemsetNode};
static PyObject *__pyx_pw_4cuda_4cuda_547cuGraphAddMemsetNode(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_dependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_memsetParams,&__pyx_n_s_ctx_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32039, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32039, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddMemsetNode", 1, 5, 5, 1); __PYX_ERR(1, 32039, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32039, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddMemsetNode", 1, 5, 5, 2); __PYX_ERR(1, 32039, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_memsetParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32039, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddMemsetNode", 1, 5, 5, 3); __PYX_ERR(1, 32039, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ctx_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32039, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddMemsetNode", 1, 5, 5, 4); __PYX_ERR(1, 32039, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphAddMemsetNode") < 0)) __PYX_ERR(1, 32039, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = ((PyObject*)values[1]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 32040, __pyx_L3_error)
    __pyx_v_memsetParams = ((struct __pyx_obj_4cuda_4cuda_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(1, 32039, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddMemsetNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 32040, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memsetParams), __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS, 1, "memsetParams", 0))) __PYX_ERR(1, 32040, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_546cuGraphAddMemsetNode(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_20cuGraphAddMemsetNode_2generator28(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":32087
 *         cctx = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_20cuGraphAddMemsetNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_28_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_28_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_28_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_28_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 32087, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_20cuGraphAddMemsetNode_2generator28, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddMemsetNode_locals_gene, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 32087, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_20cuGraphAddMemsetNode_2generator28(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_28_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_28_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 32087, 0, __PYX_ERR(1, 32087, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 32087, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 32087, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 32087, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 32087, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 32087, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32087, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32039
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemsetNode(hGraph, dependencies : Optional[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_4cuda_546cuGraphAddMemsetNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS *__pyx_v_memsetParams, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cctx;
  PyObject *__pyx_v_pctx = NULL;
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUDA_MEMSET_NODE_PARAMS *__pyx_v_cmemsetParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_20cuGraphAddMemsetNode_2generator28 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct CUDA_MEMSET_NODE_PARAMS_st *__pyx_t_10;
  CUgraphNode *__pyx_t_11;
  CUresult __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__771)
  __Pyx_RefNannySetupContext("cuGraphAddMemsetNode", 0);
  __Pyx_TraceCall("cuGraphAddMemsetNode", __pyx_f[1], 32039, 0, __PYX_ERR(1, 32039, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/cuda.pyx":32078
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32079
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 */
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32078
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32080
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32081
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32082
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32082, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32080
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32084
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     dependencies = [] if dependencies is None else dependencies
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32084, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32085
 *     else:
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32085, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":32086
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_1 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32086, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_4 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, ((PyObject*)__pyx_t_4));
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":32087
 *         cctx = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_4 = __pyx_pf_4cuda_4cuda_20cuGraphAddMemsetNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 32087, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = (!__pyx_t_1);
  if (unlikely(__pyx_t_5)) {

    /* "cuda/cuda.pyx":32088
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32088, __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, 32088, __pyx_L1_error)

    /* "cuda/cuda.pyx":32087
 *         cctx = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":32090
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_5 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":32091
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32090
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":32092
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":32093
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32094
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32094, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32092
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":32096
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32097
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32097, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":32098
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":32099
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":32100
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32100, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32100, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_6 > 0);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":32101
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 32101, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32101, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":32102
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_5 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_5)) {

      /* "cuda/cuda.pyx":32103
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 32103, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32103, __pyx_L1_error)
      __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32103, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32103, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32103, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32103, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32103, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32103, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32103, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32103, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 32103, __pyx_L1_error)

      /* "cuda/cuda.pyx":32102
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":32105
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 32105, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32105, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":32106
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_MEMSET_NODE_PARAMS* cmemsetParams_ptr = memsetParams._ptr if memsetParams != None else NULL
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 32106, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32106, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":32100
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":32107
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_MEMSET_NODE_PARAMS* cmemsetParams_ptr = memsetParams._ptr if memsetParams != None else NULL
 *     err = ccuda.cuGraphAddMemsetNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cmemsetParams_ptr, cctx)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32107, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32107, __pyx_L1_error)
  __pyx_t_5 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_5)) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 32107, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32107, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 32107, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":32108
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_MEMSET_NODE_PARAMS* cmemsetParams_ptr = memsetParams._ptr if memsetParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphAddMemsetNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cmemsetParams_ptr, cctx)
 *     if cdependencies is not NULL:
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_memsetParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32108, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(1, 32108, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_5) {
    __pyx_t_10 = __pyx_v_memsetParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_10 = NULL;
  }
  __pyx_v_cmemsetParams_ptr = __pyx_t_10;

  /* "cuda/cuda.pyx":32109
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_MEMSET_NODE_PARAMS* cmemsetParams_ptr = memsetParams._ptr if memsetParams != None else NULL
 *     err = ccuda.cuGraphAddMemsetNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cmemsetParams_ptr, cctx)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32109, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32109, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_6 == 1);
  if (__pyx_t_5) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 32109, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_11 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_2)->_ptr);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cdependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_5ccuda_cuGraphAddMemsetNode(((CUgraphNode *)__pyx_v_phGraphNode->_ptr), __pyx_v_chGraph, __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cmemsetParams_ptr, __pyx_v_cctx); if (unlikely(__pyx_t_12 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32109, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cuda.pyx":32110
 *     cdef ccuda.CUDA_MEMSET_NODE_PARAMS* cmemsetParams_ptr = memsetParams._ptr if memsetParams != None else NULL
 *     err = ccuda.cuGraphAddMemsetNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cmemsetParams_ptr, cctx)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  __pyx_t_5 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":32111
 *     err = ccuda.cuGraphAddMemsetNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cmemsetParams_ptr, cctx)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphNode)
 * 
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":32110
 *     cdef ccuda.CUDA_MEMSET_NODE_PARAMS* cmemsetParams_ptr = memsetParams._ptr if memsetParams != None else NULL
 *     err = ccuda.cuGraphAddMemsetNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cmemsetParams_ptr, cctx)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  }

  /* "cuda/cuda.pyx":32112
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_13 = NULL;
  __pyx_t_14 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_14 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_14, 1+__pyx_t_14);
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32112, __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)) __PYX_ERR(1, 32112, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraphNode))) __PYX_ERR(1, 32112, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32039
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemsetNode(hGraph, dependencies : Optional[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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_20cuGraphAddMemsetNode_2generator28);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32114
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemsetNodeGetParams(hNode):
 *     """ Returns a memset node's parameters.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_549cuGraphMemsetNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_548cuGraphMemsetNodeGetParams, "cuGraphMemsetNodeGetParams(hNode)\n Returns a memset node's parameters.\n\n    Returns the parameters of memset node `hNode` in `nodeParams`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the parameters 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_VALUE`\n    nodeParams : :py:obj:`~.CUDA_MEMSET_NODE_PARAMS`\n        Pointer to return the parameters\n\n    See Also\n    --------\n    :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuGraphAddMemsetNode`, :py:obj:`~.cuGraphMemsetNodeSetParams`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_549cuGraphMemsetNodeGetParams = {"cuGraphMemsetNodeGetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_549cuGraphMemsetNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_548cuGraphMemsetNodeGetParams};
static PyObject *__pyx_pw_4cuda_4cuda_549cuGraphMemsetNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32114, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphMemsetNodeGetParams") < 0)) __PYX_ERR(1, 32114, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphMemsetNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 32114, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphMemsetNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_548cuGraphMemsetNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_548cuGraphMemsetNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS *__pyx_v_nodeParams = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__772)
  __Pyx_RefNannySetupContext("cuGraphMemsetNodeGetParams", 1);
  __Pyx_TraceCall("cuGraphMemsetNodeGetParams", __pyx_f[1], 32114, 0, __PYX_ERR(1, 32114, __pyx_L1_error));

  /* "cuda/cuda.pyx":32137
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32138
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32137
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32139
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32140
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32141
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32141, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32139
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32143
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEMSET_NODE_PARAMS nodeParams = CUDA_MEMSET_NODE_PARAMS()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32143, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32144
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUDA_MEMSET_NODE_PARAMS nodeParams = CUDA_MEMSET_NODE_PARAMS()
 *     err = ccuda.cuGraphMemsetNodeGetParams(chNode, <ccuda.CUDA_MEMSET_NODE_PARAMS*>nodeParams._ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32144, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":32145
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEMSET_NODE_PARAMS nodeParams = CUDA_MEMSET_NODE_PARAMS()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphMemsetNodeGetParams(chNode, <ccuda.CUDA_MEMSET_NODE_PARAMS*>nodeParams._ptr)
 *     return (CUresult(err), nodeParams)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":32146
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEMSET_NODE_PARAMS nodeParams = CUDA_MEMSET_NODE_PARAMS()
 *     err = ccuda.cuGraphMemsetNodeGetParams(chNode, <ccuda.CUDA_MEMSET_NODE_PARAMS*>nodeParams._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), nodeParams)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphMemsetNodeGetParams(__pyx_v_chNode, ((CUDA_MEMSET_NODE_PARAMS *)__pyx_v_nodeParams->__pyx_base.__pyx_base._ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32146, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":32147
 *     cdef CUDA_MEMSET_NODE_PARAMS nodeParams = CUDA_MEMSET_NODE_PARAMS()
 *     err = ccuda.cuGraphMemsetNodeGetParams(chNode, <ccuda.CUDA_MEMSET_NODE_PARAMS*>nodeParams._ptr)
 *     return (CUresult(err), nodeParams)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 32147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 32147, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_nodeParams);
  __Pyx_GIVEREF((PyObject *)__pyx_v_nodeParams);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_nodeParams))) __PYX_ERR(1, 32147, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32114
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32149
 *     return (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_4cuda_551cuGraphMemsetNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_550cuGraphMemsetNodeSetParams, "cuGraphMemsetNodeSetParams(hNode, CUDA_MEMSET_NODE_PARAMS nodeParams: Optional[CUDA_MEMSET_NODE_PARAMS])\n Sets a memset node's parameters.\n\n    Sets the parameters of memset node `hNode` to `nodeParams`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to set the parameters for\n    nodeParams : :py:obj:`~.CUDA_MEMSET_NODE_PARAMS`\n        Parameters to copy\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuMemsetD2D32`, :py:obj:`~.cuGraphAddMemsetNode`, :py:obj:`~.cuGraphMemsetNodeGetParams`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_551cuGraphMemsetNodeSetParams = {"cuGraphMemsetNodeSetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_551cuGraphMemsetNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_550cuGraphMemsetNodeSetParams};
static PyObject *__pyx_pw_4cuda_4cuda_551cuGraphMemsetNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32149, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32149, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphMemsetNodeSetParams", 1, 2, 2, 1); __PYX_ERR(1, 32149, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphMemsetNodeSetParams") < 0)) __PYX_ERR(1, 32149, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphMemsetNodeSetParams", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 32149, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(1, 32150, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_550cuGraphMemsetNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_550cuGraphMemsetNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUDA_MEMSET_NODE_PARAMS *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_MEMSET_NODE_PARAMS_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__773)
  __Pyx_RefNannySetupContext("cuGraphMemsetNodeSetParams", 1);
  __Pyx_TraceCall("cuGraphMemsetNodeSetParams", __pyx_f[1], 32149, 0, __PYX_ERR(1, 32149, __pyx_L1_error));

  /* "cuda/cuda.pyx":32172
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32173
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32172
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32174
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32175
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32176
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32176, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32174
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32178
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_MEMSET_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32179
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_MEMSET_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphMemsetNodeSetParams(chNode, cnodeParams_ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32179, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":32180
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_MEMSET_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphMemsetNodeSetParams(chNode, cnodeParams_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32180, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 32180, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":32181
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_MEMSET_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphMemsetNodeSetParams(chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphMemsetNodeSetParams(__pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32181, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":32182
 *     cdef ccuda.CUDA_MEMSET_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphMemsetNodeSetParams(chNode, cnodeParams_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 32182, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32149
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuGraphMemsetNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32184
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddHostNode(hGraph, dependencies : Optional[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_4cuda_553cuGraphAddHostNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_552cuGraphAddHostNode, "cuGraphAddHostNode(hGraph, list dependencies: Optional[List[CUgraphNode]], size_t numDependencies, CUDA_HOST_NODE_PARAMS nodeParams: Optional[CUDA_HOST_NODE_PARAMS])\n Creates a host execution node and adds it to a graph.\n\n    Creates a new CPU execution node and adds it to `hGraph` with\n    `numDependencies` dependencies specified via `dependencies` and\n    arguments specified in `nodeParams`. It is possible for\n    `numDependencies` to be 0, in which case the node will be placed at the\n    root of the graph. `dependencies` may not have any duplicate entries. A\n    handle to the new node will be returned in `phGraphNode`.\n\n    When the graph is launched, the node will invoke the specified CPU\n    function. Host nodes are not supported under MPS with pre-Volta GPUs.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    nodeParams : :py:obj:`~.CUDA_HOST_NODE_PARAMS`\n        Parameters for the host node\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_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    phGraphNode : :py:obj:`~.CUgraphNode`\n        Returns newly created node\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_553cuGraphAddHostNode = {"cuGraphAddHostNode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_553cuGraphAddHostNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_552cuGraphAddHostNode};
static PyObject *__pyx_pw_4cuda_4cuda_553cuGraphAddHostNode(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_dependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32184, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32184, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddHostNode", 1, 4, 4, 1); __PYX_ERR(1, 32184, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32184, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddHostNode", 1, 4, 4, 2); __PYX_ERR(1, 32184, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32184, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddHostNode", 1, 4, 4, 3); __PYX_ERR(1, 32184, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphAddHostNode") < 0)) __PYX_ERR(1, 32184, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = ((PyObject*)values[1]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 32185, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS *)values[3]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddHostNode", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 32184, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddHostNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 32185, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(1, 32185, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_552cuGraphAddHostNode(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_18cuGraphAddHostNode_2generator29(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":32221
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_18cuGraphAddHostNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_29_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_29_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_29_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_29_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 32221, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_18cuGraphAddHostNode_2generator29, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddHostNode_locals_genexp, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 32221, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_18cuGraphAddHostNode_2generator29(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_29_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_29_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 32221, 0, __PYX_ERR(1, 32221, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 32221, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 32221, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 32221, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 32221, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 32221, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32221, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32184
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddHostNode(hGraph, dependencies : Optional[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_4cuda_552cuGraphAddHostNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUDA_HOST_NODE_PARAMS *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_18cuGraphAddHostNode_2generator29 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct CUDA_HOST_NODE_PARAMS_st *__pyx_t_10;
  CUgraphNode *__pyx_t_11;
  CUresult __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__774)
  __Pyx_RefNannySetupContext("cuGraphAddHostNode", 0);
  __Pyx_TraceCall("cuGraphAddHostNode", __pyx_f[1], 32184, 0, __PYX_ERR(1, 32184, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/cuda.pyx":32220
 *     :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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_2 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32220, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":32221
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_18cuGraphAddHostNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32221, __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(1, 32221, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":32222
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32222, __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(1, 32222, __pyx_L1_error)

    /* "cuda/cuda.pyx":32221
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":32224
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":32225
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32224
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":32226
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":32227
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":32228
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32228, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":32226
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":32230
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32230, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32230, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":32231
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32231, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":32232
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":32233
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":32234
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32234, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32234, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":32235
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 32235, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32235, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":32236
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_4 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":32237
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 32237, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32237, __pyx_L1_error)
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32237, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32237, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32237, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32237, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32237, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32237, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32237, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32237, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 32237, __pyx_L1_error)

      /* "cuda/cuda.pyx":32236
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":32239
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 32239, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32239, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":32240
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_HOST_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 32240, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32240, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":32234
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":32241
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_HOST_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddHostNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32241, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32241, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 32241, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32241, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 32241, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":32242
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_HOST_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphAddHostNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:
 */
  __pyx_t_3 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32242, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(1, 32242, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_4) {
    __pyx_t_10 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_10 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_10;

  /* "cuda/cuda.pyx":32243
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_HOST_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddHostNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32243, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32243, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 32243, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32243, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_3)->_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cdependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_5ccuda_cuGraphAddHostNode(((CUgraphNode *)__pyx_v_phGraphNode->_ptr), __pyx_v_chGraph, __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_12 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32243, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cuda.pyx":32244
 *     cdef ccuda.CUDA_HOST_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddHostNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  __pyx_t_4 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":32245
 *     err = ccuda.cuGraphAddHostNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphNode)
 * 
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":32244
 *     cdef ccuda.CUDA_HOST_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddHostNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  }

  /* "cuda/cuda.pyx":32246
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_13 = NULL;
  __pyx_t_14 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_14 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_1};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_14, 1+__pyx_t_14);
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32246, __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)) __PYX_ERR(1, 32246, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraphNode))) __PYX_ERR(1, 32246, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32184
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddHostNode(hGraph, dependencies : Optional[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_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_18cuGraphAddHostNode_2generator29);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32248
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphHostNodeGetParams(hNode):
 *     """ Returns a host node's parameters.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_555cuGraphHostNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_554cuGraphHostNodeGetParams, "cuGraphHostNodeGetParams(hNode)\n Returns a host node's parameters.\n\n    Returns the parameters of host node `hNode` in `nodeParams`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the parameters 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_VALUE`\n    nodeParams : :py:obj:`~.CUDA_HOST_NODE_PARAMS`\n        Pointer to return the parameters\n\n    See Also\n    --------\n    :py:obj:`~.cuLaunchHostFunc`, :py:obj:`~.cuGraphAddHostNode`, :py:obj:`~.cuGraphHostNodeSetParams`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_555cuGraphHostNodeGetParams = {"cuGraphHostNodeGetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_555cuGraphHostNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_554cuGraphHostNodeGetParams};
static PyObject *__pyx_pw_4cuda_4cuda_555cuGraphHostNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32248, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphHostNodeGetParams") < 0)) __PYX_ERR(1, 32248, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphHostNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 32248, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphHostNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_554cuGraphHostNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_554cuGraphHostNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS *__pyx_v_nodeParams = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__775)
  __Pyx_RefNannySetupContext("cuGraphHostNodeGetParams", 1);
  __Pyx_TraceCall("cuGraphHostNodeGetParams", __pyx_f[1], 32248, 0, __PYX_ERR(1, 32248, __pyx_L1_error));

  /* "cuda/cuda.pyx":32271
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32272
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32271
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32273
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32274
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32275
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32275, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32273
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32277
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_HOST_NODE_PARAMS nodeParams = CUDA_HOST_NODE_PARAMS()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32277, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32277, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32278
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUDA_HOST_NODE_PARAMS nodeParams = CUDA_HOST_NODE_PARAMS()
 *     err = ccuda.cuGraphHostNodeGetParams(chNode, <ccuda.CUDA_HOST_NODE_PARAMS*>nodeParams._ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32278, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":32279
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_HOST_NODE_PARAMS nodeParams = CUDA_HOST_NODE_PARAMS()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphHostNodeGetParams(chNode, <ccuda.CUDA_HOST_NODE_PARAMS*>nodeParams._ptr)
 *     return (CUresult(err), nodeParams)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":32280
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_HOST_NODE_PARAMS nodeParams = CUDA_HOST_NODE_PARAMS()
 *     err = ccuda.cuGraphHostNodeGetParams(chNode, <ccuda.CUDA_HOST_NODE_PARAMS*>nodeParams._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), nodeParams)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphHostNodeGetParams(__pyx_v_chNode, ((CUDA_HOST_NODE_PARAMS *)__pyx_v_nodeParams->__pyx_base.__pyx_base._ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32280, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":32281
 *     cdef CUDA_HOST_NODE_PARAMS nodeParams = CUDA_HOST_NODE_PARAMS()
 *     err = ccuda.cuGraphHostNodeGetParams(chNode, <ccuda.CUDA_HOST_NODE_PARAMS*>nodeParams._ptr)
 *     return (CUresult(err), nodeParams)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 32281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32281, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 32281, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_nodeParams);
  __Pyx_GIVEREF((PyObject *)__pyx_v_nodeParams);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_nodeParams))) __PYX_ERR(1, 32281, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32248
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32283
 *     return (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_4cuda_557cuGraphHostNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_556cuGraphHostNodeSetParams, "cuGraphHostNodeSetParams(hNode, CUDA_HOST_NODE_PARAMS nodeParams: Optional[CUDA_HOST_NODE_PARAMS])\n Sets a host node's parameters.\n\n    Sets the parameters of host node `hNode` to `nodeParams`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to set the parameters for\n    nodeParams : :py:obj:`~.CUDA_HOST_NODE_PARAMS`\n        Parameters to copy\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuLaunchHostFunc`, :py:obj:`~.cuGraphAddHostNode`, :py:obj:`~.cuGraphHostNodeGetParams`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_557cuGraphHostNodeSetParams = {"cuGraphHostNodeSetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_557cuGraphHostNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_556cuGraphHostNodeSetParams};
static PyObject *__pyx_pw_4cuda_4cuda_557cuGraphHostNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32283, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32283, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphHostNodeSetParams", 1, 2, 2, 1); __PYX_ERR(1, 32283, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphHostNodeSetParams") < 0)) __PYX_ERR(1, 32283, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphHostNodeSetParams", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 32283, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(1, 32284, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_556cuGraphHostNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_556cuGraphHostNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUDA_HOST_NODE_PARAMS *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_HOST_NODE_PARAMS_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__776)
  __Pyx_RefNannySetupContext("cuGraphHostNodeSetParams", 1);
  __Pyx_TraceCall("cuGraphHostNodeSetParams", __pyx_f[1], 32283, 0, __PYX_ERR(1, 32283, __pyx_L1_error));

  /* "cuda/cuda.pyx":32306
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32307
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32306
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32308
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32309
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32310
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32310, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32308
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32312
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_HOST_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32313
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_HOST_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphHostNodeSetParams(chNode, cnodeParams_ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32313, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":32314
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_HOST_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphHostNodeSetParams(chNode, cnodeParams_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32314, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 32314, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":32315
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_HOST_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphHostNodeSetParams(chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphHostNodeSetParams(__pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32315, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":32316
 *     cdef ccuda.CUDA_HOST_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphHostNodeSetParams(chNode, cnodeParams_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32316, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 32316, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32283
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuGraphHostNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32318
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddChildGraphNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, childGraph):
 *     """ Creates a child graph node and adds it to a graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_559cuGraphAddChildGraphNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_558cuGraphAddChildGraphNode, "cuGraphAddChildGraphNode(hGraph, list dependencies: Optional[List[CUgraphNode]], size_t numDependencies, childGraph)\n Creates a child graph node and adds it to a graph.\n\n    Creates 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\n    case the node will be placed at the root of the graph. `dependencies`\n    may not have any duplicate entries. A handle to the new node will be\n    returned in `phGraphNode`.\n\n    If `hGraph` contains allocation or free nodes, this call will return an\n    error.\n\n    The node executes an embedded child graph. The child graph is cloned in\n    this call.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    childGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        The graph to clone into this node\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_VALUE`,\n    phGraphNode : :py:obj:`~.CUgraphNode`\n        Returns newly created node\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_559cuGraphAddChildGraphNode = {"cuGraphAddChildGraphNode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_559cuGraphAddChildGraphNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_558cuGraphAddChildGraphNode};
static PyObject *__pyx_pw_4cuda_4cuda_559cuGraphAddChildGraphNode(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_dependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_childGraph,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32318, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32318, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddChildGraphNode", 1, 4, 4, 1); __PYX_ERR(1, 32318, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32318, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddChildGraphNode", 1, 4, 4, 2); __PYX_ERR(1, 32318, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_childGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32318, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddChildGraphNode", 1, 4, 4, 3); __PYX_ERR(1, 32318, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphAddChildGraphNode") < 0)) __PYX_ERR(1, 32318, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = ((PyObject*)values[1]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 32319, __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(1, 32318, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddChildGraphNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 32319, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_558cuGraphAddChildGraphNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_childGraph);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_24cuGraphAddChildGraphNode_2generator30(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":32367
 *         cchildGraph = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_24cuGraphAddChildGraphNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_30_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_30_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_30_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_30_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 32367, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_24cuGraphAddChildGraphNode_2generator30, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddChildGraphNode_locals, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 32367, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_24cuGraphAddChildGraphNode_2generator30(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_30_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_30_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 32367, 0, __PYX_ERR(1, 32367, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 32367, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 32367, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 32367, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 32367, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 32367, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32367, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32318
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddChildGraphNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, childGraph):
 *     """ Creates a child graph node and adds it to a graph.
 */

static PyObject *__pyx_pf_4cuda_4cuda_558cuGraphAddChildGraphNode(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_cchildGraph;
  PyObject *__pyx_v_pchildGraph = NULL;
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_24cuGraphAddChildGraphNode_2generator30 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  CUgraphNode *__pyx_t_10;
  CUresult __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__777)
  __Pyx_RefNannySetupContext("cuGraphAddChildGraphNode", 0);
  __Pyx_TraceCall("cuGraphAddChildGraphNode", __pyx_f[1], 32318, 0, __PYX_ERR(1, 32318, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/cuda.pyx":32358
 *     """
 *     cdef ccuda.CUgraph cchildGraph
 *     if childGraph is None:             # <<<<<<<<<<<<<<
 *         cchildGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(childGraph, (CUgraph,)):
 */
  __pyx_t_1 = (__pyx_v_childGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32359
 *     cdef ccuda.CUgraph cchildGraph
 *     if childGraph is None:
 *         cchildGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(childGraph, (CUgraph,)):
 *         pchildGraph = int(childGraph)
 */
    __pyx_v_cchildGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32358
 *     """
 *     cdef ccuda.CUgraph cchildGraph
 *     if childGraph is None:             # <<<<<<<<<<<<<<
 *         cchildGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(childGraph, (CUgraph,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32360
 *     if childGraph is None:
 *         cchildGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(childGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pchildGraph = int(childGraph)
 *         cchildGraph = <ccuda.CUgraph><void_ptr>pchildGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_childGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32361
 *         cchildGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(childGraph, (CUgraph,)):
 *         pchildGraph = int(childGraph)             # <<<<<<<<<<<<<<
 *         cchildGraph = <ccuda.CUgraph><void_ptr>pchildGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_childGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pchildGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32362
 *     elif isinstance(childGraph, (CUgraph,)):
 *         pchildGraph = int(childGraph)
 *         cchildGraph = <ccuda.CUgraph><void_ptr>pchildGraph             # <<<<<<<<<<<<<<
 *     else:
 *         pchildGraph = int(CUgraph(childGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pchildGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32362, __pyx_L1_error)
    __pyx_v_cchildGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32360
 *     if childGraph is None:
 *         cchildGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(childGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pchildGraph = int(childGraph)
 *         cchildGraph = <ccuda.CUgraph><void_ptr>pchildGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32364
 *         cchildGraph = <ccuda.CUgraph><void_ptr>pchildGraph
 *     else:
 *         pchildGraph = int(CUgraph(childGraph))             # <<<<<<<<<<<<<<
 *         cchildGraph = <ccuda.CUgraph><void_ptr>pchildGraph
 *     dependencies = [] if dependencies is None else dependencies
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_childGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pchildGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32365
 *     else:
 *         pchildGraph = int(CUgraph(childGraph))
 *         cchildGraph = <ccuda.CUgraph><void_ptr>pchildGraph             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pchildGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32365, __pyx_L1_error)
    __pyx_v_cchildGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":32366
 *         pchildGraph = int(CUgraph(childGraph))
 *         cchildGraph = <ccuda.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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_1 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32366, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_4 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, ((PyObject*)__pyx_t_4));
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":32367
 *         cchildGraph = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_4 = __pyx_pf_4cuda_4cuda_24cuGraphAddChildGraphNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 32367, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = (!__pyx_t_1);
  if (unlikely(__pyx_t_5)) {

    /* "cuda/cuda.pyx":32368
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32368, __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, 32368, __pyx_L1_error)

    /* "cuda/cuda.pyx":32367
 *         cchildGraph = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":32370
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_5 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":32371
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32370
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":32372
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":32373
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32374
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32374, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32372
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":32376
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32377
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32377, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":32378
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":32379
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":32380
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32380, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32380, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_6 > 0);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":32381
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 32381, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32381, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":32382
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_5 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_5)) {

      /* "cuda/cuda.pyx":32383
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 32383, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32383, __pyx_L1_error)
      __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32383, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32383, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32383, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32383, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32383, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32383, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32383, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32383, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 32383, __pyx_L1_error)

      /* "cuda/cuda.pyx":32382
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":32385
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 32385, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32385, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":32386
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddChildGraphNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cchildGraph)
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 32386, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32386, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":32380
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":32387
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphAddChildGraphNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cchildGraph)
 *     if cdependencies is not NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32387, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32387, __pyx_L1_error)
  __pyx_t_5 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_5)) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 32387, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32387, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 32387, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":32388
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddChildGraphNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cchildGraph)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32388, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32388, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_6 == 1);
  if (__pyx_t_5) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 32388, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_10 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_2)->_ptr);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cdependencies;
  }
  __pyx_t_11 = __pyx_f_4cuda_5ccuda_cuGraphAddChildGraphNode(((CUgraphNode *)__pyx_v_phGraphNode->_ptr), __pyx_v_chGraph, __pyx_t_10, __pyx_v_numDependencies, __pyx_v_cchildGraph); if (unlikely(__pyx_t_11 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32388, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cuda.pyx":32389
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddChildGraphNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cchildGraph)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  __pyx_t_5 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":32390
 *     err = ccuda.cuGraphAddChildGraphNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cchildGraph)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphNode)
 * 
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":32389
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddChildGraphNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cchildGraph)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  }

  /* "cuda/cuda.pyx":32391
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_12 = NULL;
  __pyx_t_13 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_13 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_13, 1+__pyx_t_13);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32391, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32391, __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)) __PYX_ERR(1, 32391, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraphNode))) __PYX_ERR(1, 32391, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32318
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddChildGraphNode(hGraph, dependencies : Optional[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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_24cuGraphAddChildGraphNode_2generator30);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32393
 *     return (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_4cuda_561cuGraphChildGraphNodeGetGraph(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_560cuGraphChildGraphNodeGetGraph, "cuGraphChildGraphNodeGetGraph(hNode)\n Gets a handle to the embedded graph of a child graph node.\n\n    Gets a handle to the embedded graph in a child graph node. This call\n    does not clone the graph. Changes to the graph will be reflected in the\n    node, and the node retains ownership of the graph.\n\n    Allocation and free nodes cannot be added to the returned graph.\n    Attempting to do so will return an error.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the embedded graph 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_VALUE`,\n    phGraph : :py:obj:`~.CUgraph`\n        Location to store a handle to the graph\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphNodeFindInClone`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_561cuGraphChildGraphNodeGetGraph = {"cuGraphChildGraphNodeGetGraph", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_561cuGraphChildGraphNodeGetGraph, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_560cuGraphChildGraphNodeGetGraph};
static PyObject *__pyx_pw_4cuda_4cuda_561cuGraphChildGraphNodeGetGraph(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32393, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphChildGraphNodeGetGraph") < 0)) __PYX_ERR(1, 32393, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphChildGraphNodeGetGraph", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 32393, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphChildGraphNodeGetGraph", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_560cuGraphChildGraphNodeGetGraph(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_560cuGraphChildGraphNodeGetGraph(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_phGraph = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__778)
  __Pyx_RefNannySetupContext("cuGraphChildGraphNodeGetGraph", 1);
  __Pyx_TraceCall("cuGraphChildGraphNodeGetGraph", __pyx_f[1], 32393, 0, __PYX_ERR(1, 32393, __pyx_L1_error));

  /* "cuda/cuda.pyx":32421
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32422
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32421
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32423
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32424
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32425
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32425, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32423
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32427
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUgraph phGraph = CUgraph()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32427, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32428
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUgraph phGraph = CUgraph()
 *     err = ccuda.cuGraphChildGraphNodeGetGraph(chNode, <ccuda.CUgraph*>phGraph._ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32428, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":32429
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUgraph phGraph = CUgraph()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphChildGraphNodeGetGraph(chNode, <ccuda.CUgraph*>phGraph._ptr)
 *     return (CUresult(err), phGraph)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_phGraph = ((struct __pyx_obj_4cuda_4cuda_CUgraph *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":32430
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUgraph phGraph = CUgraph()
 *     err = ccuda.cuGraphChildGraphNodeGetGraph(chNode, <ccuda.CUgraph*>phGraph._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraph)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphChildGraphNodeGetGraph(__pyx_v_chNode, ((CUgraph *)__pyx_v_phGraph->_ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32430, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":32431
 *     cdef CUgraph phGraph = CUgraph()
 *     err = ccuda.cuGraphChildGraphNodeGetGraph(chNode, <ccuda.CUgraph*>phGraph._ptr)
 *     return (CUresult(err), phGraph)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 32431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32431, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 32431, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraph);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraph);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phGraph))) __PYX_ERR(1, 32431, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32393
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32433
 *     return (CUresult(err), phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEmptyNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies):
 *     """ Creates an empty node and adds it to a graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_563cuGraphAddEmptyNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_562cuGraphAddEmptyNode, "cuGraphAddEmptyNode(hGraph, list dependencies: Optional[List[CUgraphNode]], size_t numDependencies)\n Creates an empty node and adds it to a graph.\n\n    Creates a new node which performs no operation, and adds it to `hGraph`\n    with `numDependencies` dependencies specified via `dependencies`. It is\n    possible for `numDependencies` to be 0, in which case the node will be\n    placed at the root of the graph. `dependencies` may not have any\n    duplicate entries. A handle to the new node will be returned in\n    `phGraphNode`.\n\n    An empty node performs no operation during execution, but can be used\n    for transitive ordering. For example, a phased execution graph with 2\n    groups of n nodes with a barrier between them can be represented using\n    an empty node and 2*n dependency edges, rather than no empty node and\n    n^2 dependency edges.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\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_VALUE`,\n    phGraphNode : :py:obj:`~.CUgraphNode`\n        Returns newly created node\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_563cuGraphAddEmptyNode = {"cuGraphAddEmptyNode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_563cuGraphAddEmptyNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_562cuGraphAddEmptyNode};
static PyObject *__pyx_pw_4cuda_4cuda_563cuGraphAddEmptyNode(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_dependencies,&__pyx_n_s_numDependencies,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32433, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32433, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddEmptyNode", 1, 3, 3, 1); __PYX_ERR(1, 32433, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32433, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddEmptyNode", 1, 3, 3, 2); __PYX_ERR(1, 32433, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphAddEmptyNode") < 0)) __PYX_ERR(1, 32433, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = ((PyObject*)values[1]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 32434, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddEmptyNode", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 32433, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddEmptyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 32434, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_562cuGraphAddEmptyNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_19cuGraphAddEmptyNode_2generator31(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":32471
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_19cuGraphAddEmptyNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_31_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_31_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_31_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_31_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 32471, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_19cuGraphAddEmptyNode_2generator31, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddEmptyNode_locals_genex, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 32471, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_19cuGraphAddEmptyNode_2generator31(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_31_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_31_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 32471, 0, __PYX_ERR(1, 32471, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 32471, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 32471, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 32471, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 32471, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 32471, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32433
 *     return (CUresult(err), phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEmptyNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies):
 *     """ Creates an empty node and adds it to a graph.
 */

static PyObject *__pyx_pf_4cuda_4cuda_562cuGraphAddEmptyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_19cuGraphAddEmptyNode_2generator31 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  CUgraphNode *__pyx_t_10;
  CUresult __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__779)
  __Pyx_RefNannySetupContext("cuGraphAddEmptyNode", 0);
  __Pyx_TraceCall("cuGraphAddEmptyNode", __pyx_f[1], 32433, 0, __PYX_ERR(1, 32433, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/cuda.pyx":32470
 *     :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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_2 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32470, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":32471
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_19cuGraphAddEmptyNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32471, __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(1, 32471, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":32472
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32472, __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(1, 32472, __pyx_L1_error)

    /* "cuda/cuda.pyx":32471
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":32474
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":32475
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32474
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":32476
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":32477
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32477, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":32478
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32478, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":32476
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":32480
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":32481
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32481, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":32482
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":32483
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":32484
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32484, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32484, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":32485
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 32485, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32485, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":32486
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_4 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":32487
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 32487, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32487, __pyx_L1_error)
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32487, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 32487, __pyx_L1_error)

      /* "cuda/cuda.pyx":32486
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":32489
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 32489, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32489, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":32490
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddEmptyNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies)
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 32490, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32490, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":32484
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":32491
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphAddEmptyNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies)
 *     if cdependencies is not NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32491, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32491, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 32491, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32491, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 32491, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":32492
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddEmptyNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32492, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32492, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 32492, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32492, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_10 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_3)->_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cdependencies;
  }
  __pyx_t_11 = __pyx_f_4cuda_5ccuda_cuGraphAddEmptyNode(((CUgraphNode *)__pyx_v_phGraphNode->_ptr), __pyx_v_chGraph, __pyx_t_10, __pyx_v_numDependencies); if (unlikely(__pyx_t_11 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32492, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cuda.pyx":32493
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddEmptyNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  __pyx_t_4 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":32494
 *     err = ccuda.cuGraphAddEmptyNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphNode)
 * 
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":32493
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddEmptyNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  }

  /* "cuda/cuda.pyx":32495
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_12 = NULL;
  __pyx_t_13 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_13 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_1};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_13, 1+__pyx_t_13);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32495, __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)) __PYX_ERR(1, 32495, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraphNode))) __PYX_ERR(1, 32495, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32433
 *     return (CUresult(err), phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEmptyNode(hGraph, dependencies : Optional[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_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_19cuGraphAddEmptyNode_2generator31);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32497
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventRecordNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, event):
 *     """ Creates an event record node and adds it to a graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_565cuGraphAddEventRecordNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_564cuGraphAddEventRecordNode, "cuGraphAddEventRecordNode(hGraph, list dependencies: Optional[List[CUgraphNode]], size_t numDependencies, event)\n Creates an event record node and adds it to a graph.\n\n    Creates a new event record node and adds it to `hGraph` with\n    `numDependencies` dependencies specified via `dependencies` and event\n    specified in `event`. It is possible for `numDependencies` to be 0, in\n    which 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\n    node will be returned in `phGraphNode`.\n\n    Each launch of the graph will record `event` to capture execution of\n    the node's dependencies.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    event : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event for the node\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_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    phGraphNode : :py:obj:`~.CUgraphNode`\n        Returns newly created node\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_565cuGraphAddEventRecordNode = {"cuGraphAddEventRecordNode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_565cuGraphAddEventRecordNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_564cuGraphAddEventRecordNode};
static PyObject *__pyx_pw_4cuda_4cuda_565cuGraphAddEventRecordNode(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_dependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_event_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32497, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32497, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddEventRecordNode", 1, 4, 4, 1); __PYX_ERR(1, 32497, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32497, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddEventRecordNode", 1, 4, 4, 2); __PYX_ERR(1, 32497, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_event_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32497, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddEventRecordNode", 1, 4, 4, 3); __PYX_ERR(1, 32497, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphAddEventRecordNode") < 0)) __PYX_ERR(1, 32497, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = ((PyObject*)values[1]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 32498, __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(1, 32497, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddEventRecordNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 32498, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_564cuGraphAddEventRecordNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_event);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_25cuGraphAddEventRecordNode_2generator32(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":32543
 *         cevent = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_25cuGraphAddEventRecordNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_32_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_32_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_32_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_32_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 32543, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_25cuGraphAddEventRecordNode_2generator32, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddEventRecordNode_locals, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 32543, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_25cuGraphAddEventRecordNode_2generator32(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_32_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_32_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 32543, 0, __PYX_ERR(1, 32543, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 32543, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 32543, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 32543, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 32543, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 32543, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32543, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32497
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventRecordNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, event):
 *     """ Creates an event record node and adds it to a graph.
 */

static PyObject *__pyx_pf_4cuda_4cuda_564cuGraphAddEventRecordNode(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_cevent;
  PyObject *__pyx_v_pevent = NULL;
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_25cuGraphAddEventRecordNode_2generator32 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  CUgraphNode *__pyx_t_10;
  CUresult __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__780)
  __Pyx_RefNannySetupContext("cuGraphAddEventRecordNode", 0);
  __Pyx_TraceCall("cuGraphAddEventRecordNode", __pyx_f[1], 32497, 0, __PYX_ERR(1, 32497, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/cuda.pyx":32534
 *     """
 *     cdef ccuda.CUevent cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32535
 *     cdef ccuda.CUevent cevent
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32534
 *     """
 *     cdef ccuda.CUevent cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32536
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32537
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32537, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32538
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(CUevent(event))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32538, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32536
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32540
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     dependencies = [] if dependencies is None else dependencies
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32541
 *     else:
 *         pevent = int(CUevent(event))
 *         cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32541, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":32542
 *         pevent = int(CUevent(event))
 *         cevent = <ccuda.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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_1 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_4 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, ((PyObject*)__pyx_t_4));
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":32543
 *         cevent = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_4 = __pyx_pf_4cuda_4cuda_25cuGraphAddEventRecordNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 32543, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = (!__pyx_t_1);
  if (unlikely(__pyx_t_5)) {

    /* "cuda/cuda.pyx":32544
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32544, __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, 32544, __pyx_L1_error)

    /* "cuda/cuda.pyx":32543
 *         cevent = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":32546
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_5 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":32547
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32546
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":32548
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":32549
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32549, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32550
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32550, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32548
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":32552
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32553
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32553, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":32554
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":32555
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":32556
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32556, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32556, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_6 > 0);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":32557
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 32557, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32557, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":32558
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_5 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_5)) {

      /* "cuda/cuda.pyx":32559
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 32559, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32559, __pyx_L1_error)
      __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 32559, __pyx_L1_error)

      /* "cuda/cuda.pyx":32558
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":32561
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 32561, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32561, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":32562
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddEventRecordNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cevent)
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 32562, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32562, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":32556
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":32563
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphAddEventRecordNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cevent)
 *     if cdependencies is not NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32563, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32563, __pyx_L1_error)
  __pyx_t_5 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_5)) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 32563, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32563, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 32563, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":32564
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddEventRecordNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cevent)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32564, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32564, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_6 == 1);
  if (__pyx_t_5) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 32564, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_10 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_2)->_ptr);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cdependencies;
  }
  __pyx_t_11 = __pyx_f_4cuda_5ccuda_cuGraphAddEventRecordNode(((CUgraphNode *)__pyx_v_phGraphNode->_ptr), __pyx_v_chGraph, __pyx_t_10, __pyx_v_numDependencies, __pyx_v_cevent); if (unlikely(__pyx_t_11 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32564, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cuda.pyx":32565
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddEventRecordNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cevent)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  __pyx_t_5 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":32566
 *     err = ccuda.cuGraphAddEventRecordNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cevent)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphNode)
 * 
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":32565
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddEventRecordNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cevent)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  }

  /* "cuda/cuda.pyx":32567
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_12 = NULL;
  __pyx_t_13 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_13 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_13, 1+__pyx_t_13);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32567, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32567, __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)) __PYX_ERR(1, 32567, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraphNode))) __PYX_ERR(1, 32567, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32497
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventRecordNode(hGraph, dependencies : Optional[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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_25cuGraphAddEventRecordNode_2generator32);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32569
 *     return (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_4cuda_567cuGraphEventRecordNodeGetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_566cuGraphEventRecordNodeGetEvent, "cuGraphEventRecordNodeGetEvent(hNode)\n Returns the event associated with an event record node.\n\n    Returns the event of event record node `hNode` in `event_out`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the event 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_VALUE`\n    event_out : :py:obj:`~.CUevent`\n        Pointer to return the event\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphAddEventRecordNode`, :py:obj:`~.cuGraphEventRecordNodeSetEvent`, :py:obj:`~.cuGraphEventWaitNodeGetEvent`, :py:obj:`~.cuEventRecordWithFlags`, :py:obj:`~.cuStreamWaitEvent`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_567cuGraphEventRecordNodeGetEvent = {"cuGraphEventRecordNodeGetEvent", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_567cuGraphEventRecordNodeGetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_566cuGraphEventRecordNodeGetEvent};
static PyObject *__pyx_pw_4cuda_4cuda_567cuGraphEventRecordNodeGetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32569, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphEventRecordNodeGetEvent") < 0)) __PYX_ERR(1, 32569, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphEventRecordNodeGetEvent", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 32569, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphEventRecordNodeGetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_566cuGraphEventRecordNodeGetEvent(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_566cuGraphEventRecordNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_event_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__781)
  __Pyx_RefNannySetupContext("cuGraphEventRecordNodeGetEvent", 1);
  __Pyx_TraceCall("cuGraphEventRecordNodeGetEvent", __pyx_f[1], 32569, 0, __PYX_ERR(1, 32569, __pyx_L1_error));

  /* "cuda/cuda.pyx":32592
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32593
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32592
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32594
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32595
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32595, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32596
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32596, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32594
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32598
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUevent event_out = CUevent()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32598, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32598, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32599
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUevent event_out = CUevent()
 *     err = ccuda.cuGraphEventRecordNodeGetEvent(chNode, <ccuda.CUevent*>event_out._ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32599, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":32600
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUevent event_out = CUevent()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphEventRecordNodeGetEvent(chNode, <ccuda.CUevent*>event_out._ptr)
 *     return (CUresult(err), event_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_event_out = ((struct __pyx_obj_4cuda_4cuda_CUevent *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":32601
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUevent event_out = CUevent()
 *     err = ccuda.cuGraphEventRecordNodeGetEvent(chNode, <ccuda.CUevent*>event_out._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), event_out)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphEventRecordNodeGetEvent(__pyx_v_chNode, ((CUevent *)__pyx_v_event_out->_ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32601, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":32602
 *     cdef CUevent event_out = CUevent()
 *     err = ccuda.cuGraphEventRecordNodeGetEvent(chNode, <ccuda.CUevent*>event_out._ptr)
 *     return (CUresult(err), event_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 32602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32602, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 32602, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_event_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_event_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_event_out))) __PYX_ERR(1, 32602, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32569
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32604
 *     return (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_4cuda_569cuGraphEventRecordNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_568cuGraphEventRecordNodeSetEvent, "cuGraphEventRecordNodeSetEvent(hNode, event)\n Sets an event record node's event.\n\n    Sets the event of event record node `hNode` to `event`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to set the event for\n    event : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event to use\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuGraphAddEventRecordNode`, :py:obj:`~.cuGraphEventRecordNodeGetEvent`, :py:obj:`~.cuGraphEventWaitNodeSetEvent`, :py:obj:`~.cuEventRecordWithFlags`, :py:obj:`~.cuStreamWaitEvent`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_569cuGraphEventRecordNodeSetEvent = {"cuGraphEventRecordNodeSetEvent", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_569cuGraphEventRecordNodeSetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_568cuGraphEventRecordNodeSetEvent};
static PyObject *__pyx_pw_4cuda_4cuda_569cuGraphEventRecordNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_event_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32604, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_event_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32604, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphEventRecordNodeSetEvent", 1, 2, 2, 1); __PYX_ERR(1, 32604, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphEventRecordNodeSetEvent") < 0)) __PYX_ERR(1, 32604, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 32604, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphEventRecordNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_568cuGraphEventRecordNodeSetEvent(__pyx_self, __pyx_v_hNode, __pyx_v_event);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_568cuGraphEventRecordNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__782)
  __Pyx_RefNannySetupContext("cuGraphEventRecordNodeSetEvent", 1);
  __Pyx_TraceCall("cuGraphEventRecordNodeSetEvent", __pyx_f[1], 32604, 0, __PYX_ERR(1, 32604, __pyx_L1_error));

  /* "cuda/cuda.pyx":32627
 *     """
 *     cdef ccuda.CUevent cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32628
 *     cdef ccuda.CUevent cevent
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32627
 *     """
 *     cdef ccuda.CUevent cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32629
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32630
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32630, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32631
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(CUevent(event))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32631, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32629
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32633
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     cdef ccuda.CUgraphNode chNode
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32633, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32633, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32634
 *     else:
 *         pevent = int(CUevent(event))
 *         cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32634, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":32636
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32637
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32636
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":32638
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32639
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32640
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32640, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32638
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":32642
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     err = ccuda.cuGraphEventRecordNodeSetEvent(chNode, cevent)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32642, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32642, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32643
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphEventRecordNodeSetEvent(chNode, cevent)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32643, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":32644
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     err = ccuda.cuGraphEventRecordNodeSetEvent(chNode, cevent)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphEventRecordNodeSetEvent(__pyx_v_chNode, __pyx_v_cevent); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32644, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":32645
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     err = ccuda.cuGraphEventRecordNodeSetEvent(chNode, cevent)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 32645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 32645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 32645, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32604
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32647
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventWaitNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, event):
 *     """ Creates an event wait node and adds it to a graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_571cuGraphAddEventWaitNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_570cuGraphAddEventWaitNode, "cuGraphAddEventWaitNode(hGraph, list dependencies: Optional[List[CUgraphNode]], size_t numDependencies, event)\n Creates an event wait node and adds it to a graph.\n\n    Creates a new event wait node and adds it to `hGraph` with\n    `numDependencies` dependencies specified via `dependencies` and event\n    specified in `event`. It is possible for `numDependencies` to be 0, in\n    which 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\n    node will be returned in `phGraphNode`.\n\n    The graph node will wait for all work captured in `event`. See\n    :py:obj:`~.cuEventRecord()` for details on what is captured by an\n    event. `event` may be from a different context or device than the\n    launch stream.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    event : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event for the node\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_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    phGraphNode : :py:obj:`~.CUgraphNode`\n        Returns newly created node\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_571cuGraphAddEventWaitNode = {"cuGraphAddEventWaitNode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_571cuGraphAddEventWaitNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_570cuGraphAddEventWaitNode};
static PyObject *__pyx_pw_4cuda_4cuda_571cuGraphAddEventWaitNode(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_dependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_event_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32647, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32647, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddEventWaitNode", 1, 4, 4, 1); __PYX_ERR(1, 32647, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32647, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddEventWaitNode", 1, 4, 4, 2); __PYX_ERR(1, 32647, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_event_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32647, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddEventWaitNode", 1, 4, 4, 3); __PYX_ERR(1, 32647, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphAddEventWaitNode") < 0)) __PYX_ERR(1, 32647, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = ((PyObject*)values[1]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 32648, __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(1, 32647, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddEventWaitNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 32648, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_570cuGraphAddEventWaitNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_event);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_23cuGraphAddEventWaitNode_2generator33(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":32695
 *         cevent = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_23cuGraphAddEventWaitNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_33_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_33_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_33_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_33_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 32695, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_23cuGraphAddEventWaitNode_2generator33, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddEventWaitNode_locals_g, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 32695, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_23cuGraphAddEventWaitNode_2generator33(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_33_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_33_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 32695, 0, __PYX_ERR(1, 32695, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 32695, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 32695, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 32695, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 32695, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 32695, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32695, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32647
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventWaitNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, event):
 *     """ Creates an event wait node and adds it to a graph.
 */

static PyObject *__pyx_pf_4cuda_4cuda_570cuGraphAddEventWaitNode(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_cevent;
  PyObject *__pyx_v_pevent = NULL;
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_23cuGraphAddEventWaitNode_2generator33 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  CUgraphNode *__pyx_t_10;
  CUresult __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__783)
  __Pyx_RefNannySetupContext("cuGraphAddEventWaitNode", 0);
  __Pyx_TraceCall("cuGraphAddEventWaitNode", __pyx_f[1], 32647, 0, __PYX_ERR(1, 32647, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/cuda.pyx":32686
 *     """
 *     cdef ccuda.CUevent cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32687
 *     cdef ccuda.CUevent cevent
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32686
 *     """
 *     cdef ccuda.CUevent cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32688
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32689
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32690
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(CUevent(event))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32690, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32688
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32692
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     dependencies = [] if dependencies is None else dependencies
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32692, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32692, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32693
 *     else:
 *         pevent = int(CUevent(event))
 *         cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32693, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":32694
 *         pevent = int(CUevent(event))
 *         cevent = <ccuda.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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_1 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32694, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_4 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, ((PyObject*)__pyx_t_4));
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":32695
 *         cevent = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_4 = __pyx_pf_4cuda_4cuda_23cuGraphAddEventWaitNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 32695, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = (!__pyx_t_1);
  if (unlikely(__pyx_t_5)) {

    /* "cuda/cuda.pyx":32696
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32696, __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, 32696, __pyx_L1_error)

    /* "cuda/cuda.pyx":32695
 *         cevent = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":32698
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_5 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":32699
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32698
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":32700
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":32701
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32701, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32702
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32702, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32700
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":32704
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32704, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32704, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32705
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32705, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":32706
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":32707
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":32708
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32708, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32708, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_6 > 0);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":32709
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 32709, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32709, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":32710
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_5 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_5)) {

      /* "cuda/cuda.pyx":32711
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 32711, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32711, __pyx_L1_error)
      __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32711, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32711, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32711, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32711, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32711, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32711, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32711, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32711, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 32711, __pyx_L1_error)

      /* "cuda/cuda.pyx":32710
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":32713
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 32713, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32713, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":32714
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddEventWaitNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cevent)
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 32714, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32714, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":32708
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":32715
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphAddEventWaitNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cevent)
 *     if cdependencies is not NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32715, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32715, __pyx_L1_error)
  __pyx_t_5 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_5)) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 32715, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32715, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32715, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 32715, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":32716
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddEventWaitNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cevent)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32716, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32716, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_6 == 1);
  if (__pyx_t_5) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 32716, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32716, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_10 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_2)->_ptr);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cdependencies;
  }
  __pyx_t_11 = __pyx_f_4cuda_5ccuda_cuGraphAddEventWaitNode(((CUgraphNode *)__pyx_v_phGraphNode->_ptr), __pyx_v_chGraph, __pyx_t_10, __pyx_v_numDependencies, __pyx_v_cevent); if (unlikely(__pyx_t_11 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32716, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cuda.pyx":32717
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddEventWaitNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cevent)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  __pyx_t_5 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":32718
 *     err = ccuda.cuGraphAddEventWaitNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cevent)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphNode)
 * 
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":32717
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddEventWaitNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cevent)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  }

  /* "cuda/cuda.pyx":32719
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_12 = NULL;
  __pyx_t_13 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_13 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_13, 1+__pyx_t_13);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32719, __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)) __PYX_ERR(1, 32719, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraphNode))) __PYX_ERR(1, 32719, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32647
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventWaitNode(hGraph, dependencies : Optional[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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_23cuGraphAddEventWaitNode_2generator33);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32721
 *     return (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_4cuda_573cuGraphEventWaitNodeGetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_572cuGraphEventWaitNodeGetEvent, "cuGraphEventWaitNodeGetEvent(hNode)\n Returns the event associated with an event wait node.\n\n    Returns the event of event wait node `hNode` in `event_out`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the event 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_VALUE`\n    event_out : :py:obj:`~.CUevent`\n        Pointer to return the event\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphAddEventWaitNode`, :py:obj:`~.cuGraphEventWaitNodeSetEvent`, :py:obj:`~.cuGraphEventRecordNodeGetEvent`, :py:obj:`~.cuEventRecordWithFlags`, :py:obj:`~.cuStreamWaitEvent`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_573cuGraphEventWaitNodeGetEvent = {"cuGraphEventWaitNodeGetEvent", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_573cuGraphEventWaitNodeGetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_572cuGraphEventWaitNodeGetEvent};
static PyObject *__pyx_pw_4cuda_4cuda_573cuGraphEventWaitNodeGetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32721, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphEventWaitNodeGetEvent") < 0)) __PYX_ERR(1, 32721, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphEventWaitNodeGetEvent", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 32721, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphEventWaitNodeGetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_572cuGraphEventWaitNodeGetEvent(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_572cuGraphEventWaitNodeGetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_event_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__784)
  __Pyx_RefNannySetupContext("cuGraphEventWaitNodeGetEvent", 1);
  __Pyx_TraceCall("cuGraphEventWaitNodeGetEvent", __pyx_f[1], 32721, 0, __PYX_ERR(1, 32721, __pyx_L1_error));

  /* "cuda/cuda.pyx":32744
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32745
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32744
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32746
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32747
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32747, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32748
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32748, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32746
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32750
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUevent event_out = CUevent()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32751
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUevent event_out = CUevent()
 *     err = ccuda.cuGraphEventWaitNodeGetEvent(chNode, <ccuda.CUevent*>event_out._ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32751, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":32752
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUevent event_out = CUevent()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphEventWaitNodeGetEvent(chNode, <ccuda.CUevent*>event_out._ptr)
 *     return (CUresult(err), event_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_event_out = ((struct __pyx_obj_4cuda_4cuda_CUevent *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":32753
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUevent event_out = CUevent()
 *     err = ccuda.cuGraphEventWaitNodeGetEvent(chNode, <ccuda.CUevent*>event_out._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), event_out)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphEventWaitNodeGetEvent(__pyx_v_chNode, ((CUevent *)__pyx_v_event_out->_ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32753, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":32754
 *     cdef CUevent event_out = CUevent()
 *     err = ccuda.cuGraphEventWaitNodeGetEvent(chNode, <ccuda.CUevent*>event_out._ptr)
 *     return (CUresult(err), event_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 32754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32754, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 32754, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_event_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_event_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_event_out))) __PYX_ERR(1, 32754, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32721
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32756
 *     return (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_4cuda_575cuGraphEventWaitNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_574cuGraphEventWaitNodeSetEvent, "cuGraphEventWaitNodeSetEvent(hNode, event)\n Sets an event wait node's event.\n\n    Sets the event of event wait node `hNode` to `event`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to set the event for\n    event : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event to use\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuGraphAddEventWaitNode`, :py:obj:`~.cuGraphEventWaitNodeGetEvent`, :py:obj:`~.cuGraphEventRecordNodeSetEvent`, :py:obj:`~.cuEventRecordWithFlags`, :py:obj:`~.cuStreamWaitEvent`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_575cuGraphEventWaitNodeSetEvent = {"cuGraphEventWaitNodeSetEvent", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_575cuGraphEventWaitNodeSetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_574cuGraphEventWaitNodeSetEvent};
static PyObject *__pyx_pw_4cuda_4cuda_575cuGraphEventWaitNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_event_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32756, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_event_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32756, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphEventWaitNodeSetEvent", 1, 2, 2, 1); __PYX_ERR(1, 32756, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphEventWaitNodeSetEvent") < 0)) __PYX_ERR(1, 32756, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 32756, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphEventWaitNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_574cuGraphEventWaitNodeSetEvent(__pyx_self, __pyx_v_hNode, __pyx_v_event);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_574cuGraphEventWaitNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__785)
  __Pyx_RefNannySetupContext("cuGraphEventWaitNodeSetEvent", 1);
  __Pyx_TraceCall("cuGraphEventWaitNodeSetEvent", __pyx_f[1], 32756, 0, __PYX_ERR(1, 32756, __pyx_L1_error));

  /* "cuda/cuda.pyx":32779
 *     """
 *     cdef ccuda.CUevent cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32780
 *     cdef ccuda.CUevent cevent
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32779
 *     """
 *     cdef ccuda.CUevent cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32781
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32782
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32783
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(CUevent(event))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32783, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32781
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32785
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     cdef ccuda.CUgraphNode chNode
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32785, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32785, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32786
 *     else:
 *         pevent = int(CUevent(event))
 *         cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32786, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":32788
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32789
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32788
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":32790
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32791
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32791, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32792
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32792, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32790
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":32794
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     err = ccuda.cuGraphEventWaitNodeSetEvent(chNode, cevent)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32794, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32794, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32795
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphEventWaitNodeSetEvent(chNode, cevent)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32795, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":32796
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     err = ccuda.cuGraphEventWaitNodeSetEvent(chNode, cevent)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphEventWaitNodeSetEvent(__pyx_v_chNode, __pyx_v_cevent); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32796, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":32797
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     err = ccuda.cuGraphEventWaitNodeSetEvent(chNode, cevent)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 32797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 32797, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 32797, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32756
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32799
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresSignalNode(hGraph, dependencies : Optional[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_4cuda_577cuGraphAddExternalSemaphoresSignalNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_576cuGraphAddExternalSemaphoresSignalNode, "cuGraphAddExternalSemaphoresSignalNode(hGraph, list dependencies: Optional[List[CUgraphNode]], size_t numDependencies, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS nodeParams: Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS])\n Creates an external semaphore signal node and adds it to a graph.\n\n    Creates a new external semaphore signal node and adds it to `hGraph`\n    with `numDependencies` dependencies specified via `dependencies` and\n    arguments specified in `nodeParams`. It is possible for\n    `numDependencies` to be 0, in which case the node will be placed at the\n    root of the graph. `dependencies` may not have any duplicate entries. A\n    handle to the new node will be returned in `phGraphNode`.\n\n    Performs a signal operation on a set of externally allocated semaphore\n    objects when the node is launched. The operation(s) will occur after\n    all of the node's dependencies have completed.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    nodeParams : :py:obj:`~.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS`\n        Parameters for the node\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_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    phGraphNode : :py:obj:`~.CUgraphNode`\n        Returns newly created node\n\n    See 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:`~.cuWaitExternalSemaphore""sAsync`, :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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_577cuGraphAddExternalSemaphoresSignalNode = {"cuGraphAddExternalSemaphoresSignalNode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_577cuGraphAddExternalSemaphoresSignalNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_576cuGraphAddExternalSemaphoresSignalNode};
static PyObject *__pyx_pw_4cuda_4cuda_577cuGraphAddExternalSemaphoresSignalNode(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_dependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32799, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32799, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddExternalSemaphoresSignalNode", 1, 4, 4, 1); __PYX_ERR(1, 32799, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32799, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddExternalSemaphoresSignalNode", 1, 4, 4, 2); __PYX_ERR(1, 32799, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32799, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddExternalSemaphoresSignalNode", 1, 4, 4, 3); __PYX_ERR(1, 32799, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphAddExternalSemaphoresSignalNode") < 0)) __PYX_ERR(1, 32799, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = ((PyObject*)values[1]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 32800, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_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(1, 32799, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddExternalSemaphoresSignalNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 32800, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(1, 32800, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_576cuGraphAddExternalSemaphoresSignalNode(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_38cuGraphAddExternalSemaphoresSignalNode_2generator34(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":32837
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_38cuGraphAddExternalSemaphoresSignalNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_34_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_34_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_34_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_34_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 32837, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_38cuGraphAddExternalSemaphoresSignalNode_2generator34, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddExternalSemaphoresSign, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 32837, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_38cuGraphAddExternalSemaphoresSignalNode_2generator34(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_34_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_34_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 32837, 0, __PYX_ERR(1, 32837, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 32837, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 32837, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 32837, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 32837, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 32837, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32799
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresSignalNode(hGraph, dependencies : Optional[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_4cuda_576cuGraphAddExternalSemaphoresSignalNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_38cuGraphAddExternalSemaphoresSignalNode_2generator34 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_t_10;
  CUgraphNode *__pyx_t_11;
  CUresult __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__786)
  __Pyx_RefNannySetupContext("cuGraphAddExternalSemaphoresSignalNode", 0);
  __Pyx_TraceCall("cuGraphAddExternalSemaphoresSignalNode", __pyx_f[1], 32799, 0, __PYX_ERR(1, 32799, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/cuda.pyx":32836
 *     :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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_2 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32836, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":32837
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_38cuGraphAddExternalSemaphoresSignalNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32837, __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(1, 32837, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":32838
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32838, __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(1, 32838, __pyx_L1_error)

    /* "cuda/cuda.pyx":32837
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":32840
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":32841
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32840
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":32842
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":32843
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":32844
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32844, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":32842
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":32846
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":32847
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32847, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":32848
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":32849
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":32850
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32850, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32850, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":32851
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 32851, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32851, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":32852
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_4 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":32853
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 32853, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32853, __pyx_L1_error)
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32853, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 32853, __pyx_L1_error)

      /* "cuda/cuda.pyx":32852
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":32855
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 32855, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32855, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":32856
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 32856, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32856, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":32850
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":32857
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddExternalSemaphoresSignalNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32857, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32857, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 32857, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32857, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 32857, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":32858
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphAddExternalSemaphoresSignalNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:
 */
  __pyx_t_3 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32858, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(1, 32858, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_4) {
    __pyx_t_10 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_10 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_10;

  /* "cuda/cuda.pyx":32859
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddExternalSemaphoresSignalNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32859, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32859, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 32859, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_3)->_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cdependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_5ccuda_cuGraphAddExternalSemaphoresSignalNode(((CUgraphNode *)__pyx_v_phGraphNode->_ptr), __pyx_v_chGraph, __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_12 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32859, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cuda.pyx":32860
 *     cdef ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddExternalSemaphoresSignalNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  __pyx_t_4 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":32861
 *     err = ccuda.cuGraphAddExternalSemaphoresSignalNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphNode)
 * 
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":32860
 *     cdef ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddExternalSemaphoresSignalNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  }

  /* "cuda/cuda.pyx":32862
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_13 = NULL;
  __pyx_t_14 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_14 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_1};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_14, 1+__pyx_t_14);
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32862, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32862, __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)) __PYX_ERR(1, 32862, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraphNode))) __PYX_ERR(1, 32862, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32799
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresSignalNode(hGraph, dependencies : Optional[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_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_38cuGraphAddExternalSemaphoresSignalNode_2generator34);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32864
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresSignalNodeGetParams(hNode):
 *     """ Returns an external semaphore signal node's parameters.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_579cuGraphExternalSemaphoresSignalNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_578cuGraphExternalSemaphoresSignalNodeGetParams, "cuGraphExternalSemaphoresSignalNodeGetParams(hNode)\n Returns an external semaphore signal node's parameters.\n\n    Returns 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\n    the node is destroyed or its parameters are modified, and should not be\n    modified directly. Use\n    :py:obj:`~.cuGraphExternalSemaphoresSignalNodeSetParams` to update the\n    parameters of this node.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the parameters 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_VALUE`\n    params_out : :py:obj:`~.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS`\n        Pointer to return the parameters\n\n    See Also\n    --------\n    :py:obj:`~.cuLaunchKernel`, :py:obj:`~.cuGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cuGraphExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_579cuGraphExternalSemaphoresSignalNodeGetParams = {"cuGraphExternalSemaphoresSignalNodeGetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_579cuGraphExternalSemaphoresSignalNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_578cuGraphExternalSemaphoresSignalNodeGetParams};
static PyObject *__pyx_pw_4cuda_4cuda_579cuGraphExternalSemaphoresSignalNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32864, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExternalSemaphoresSignalNodeGetParams") < 0)) __PYX_ERR(1, 32864, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExternalSemaphoresSignalNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 32864, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphExternalSemaphoresSignalNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_578cuGraphExternalSemaphoresSignalNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_578cuGraphExternalSemaphoresSignalNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_params_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__787)
  __Pyx_RefNannySetupContext("cuGraphExternalSemaphoresSignalNodeGetParams", 1);
  __Pyx_TraceCall("cuGraphExternalSemaphoresSignalNodeGetParams", __pyx_f[1], 32864, 0, __PYX_ERR(1, 32864, __pyx_L1_error));

  /* "cuda/cuda.pyx":32893
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32894
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32893
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32895
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32896
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32897
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32897, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32895
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32899
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_EXT_SEM_SIGNAL_NODE_PARAMS params_out = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32900
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUDA_EXT_SEM_SIGNAL_NODE_PARAMS params_out = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS()
 *     err = ccuda.cuGraphExternalSemaphoresSignalNodeGetParams(chNode, <ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS*>params_out._ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32900, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":32901
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_EXT_SEM_SIGNAL_NODE_PARAMS params_out = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExternalSemaphoresSignalNodeGetParams(chNode, <ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS*>params_out._ptr)
 *     return (CUresult(err), params_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_params_out = ((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":32902
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_EXT_SEM_SIGNAL_NODE_PARAMS params_out = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS()
 *     err = ccuda.cuGraphExternalSemaphoresSignalNodeGetParams(chNode, <ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS*>params_out._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), params_out)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphExternalSemaphoresSignalNodeGetParams(__pyx_v_chNode, ((CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *)__pyx_v_params_out->__pyx_base.__pyx_base._ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32902, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":32903
 *     cdef CUDA_EXT_SEM_SIGNAL_NODE_PARAMS params_out = CUDA_EXT_SEM_SIGNAL_NODE_PARAMS()
 *     err = ccuda.cuGraphExternalSemaphoresSignalNodeGetParams(chNode, <ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS*>params_out._ptr)
 *     return (CUresult(err), params_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 32903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 32903, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_params_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_params_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_params_out))) __PYX_ERR(1, 32903, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32864
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32905
 *     return (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_4cuda_581cuGraphExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_580cuGraphExternalSemaphoresSignalNodeSetParams, "cuGraphExternalSemaphoresSignalNodeSetParams(hNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS nodeParams: Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS])\n Sets an external semaphore signal node's parameters.\n\n    Sets the parameters of an external semaphore signal node `hNode` to\n    `nodeParams`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to set the parameters for\n    nodeParams : :py:obj:`~.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS`\n        Parameters to copy\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresSignalNode`, :py:obj:`~.cuGraphExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_581cuGraphExternalSemaphoresSignalNodeSetParams = {"cuGraphExternalSemaphoresSignalNodeSetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_581cuGraphExternalSemaphoresSignalNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_580cuGraphExternalSemaphoresSignalNodeSetParams};
static PyObject *__pyx_pw_4cuda_4cuda_581cuGraphExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32905, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32905, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExternalSemaphoresSignalNodeSetParams", 1, 2, 2, 1); __PYX_ERR(1, 32905, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExternalSemaphoresSignalNodeSetParams") < 0)) __PYX_ERR(1, 32905, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_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(1, 32905, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(1, 32906, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_580cuGraphExternalSemaphoresSignalNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_580cuGraphExternalSemaphoresSignalNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__788)
  __Pyx_RefNannySetupContext("cuGraphExternalSemaphoresSignalNodeSetParams", 1);
  __Pyx_TraceCall("cuGraphExternalSemaphoresSignalNodeSetParams", __pyx_f[1], 32905, 0, __PYX_ERR(1, 32905, __pyx_L1_error));

  /* "cuda/cuda.pyx":32929
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32930
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32929
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32931
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":32932
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32932, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":32933
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32933, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":32931
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":32935
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32935, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32935, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":32936
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExternalSemaphoresSignalNodeSetParams(chNode, cnodeParams_ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32936, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":32937
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExternalSemaphoresSignalNodeSetParams(chNode, cnodeParams_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32937, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 32937, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":32938
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExternalSemaphoresSignalNodeSetParams(chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphExternalSemaphoresSignalNodeSetParams(__pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 32938, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":32939
 *     cdef ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExternalSemaphoresSignalNodeSetParams(chNode, cnodeParams_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 32939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32939, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 32939, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32905
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuGraphExternalSemaphoresSignalNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32941
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresWaitNode(hGraph, dependencies : Optional[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_4cuda_583cuGraphAddExternalSemaphoresWaitNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_582cuGraphAddExternalSemaphoresWaitNode, "cuGraphAddExternalSemaphoresWaitNode(hGraph, list dependencies: Optional[List[CUgraphNode]], size_t numDependencies, CUDA_EXT_SEM_WAIT_NODE_PARAMS nodeParams: Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS])\n Creates an external semaphore wait node and adds it to a graph.\n\n    Creates a new external semaphore wait node and adds it to `hGraph` with\n    `numDependencies` dependencies specified via `dependencies` and\n    arguments specified in `nodeParams`. It is possible for\n    `numDependencies` to be 0, in which case the node will be placed at the\n    root of the graph. `dependencies` may not have any duplicate entries. A\n    handle to the new node will be returned in `phGraphNode`.\n\n    Performs a wait operation on a set of externally allocated semaphore\n    objects when the node is launched. The node's dependencies will not be\n    launched until the wait operation has completed.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    nodeParams : :py:obj:`~.CUDA_EXT_SEM_WAIT_NODE_PARAMS`\n        Parameters for the node\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_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    phGraphNode : :py:obj:`~.CUgraphNode`\n        Returns newly created node\n\n    See 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:o""bj:`~.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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_583cuGraphAddExternalSemaphoresWaitNode = {"cuGraphAddExternalSemaphoresWaitNode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_583cuGraphAddExternalSemaphoresWaitNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_582cuGraphAddExternalSemaphoresWaitNode};
static PyObject *__pyx_pw_4cuda_4cuda_583cuGraphAddExternalSemaphoresWaitNode(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_dependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32941, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32941, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddExternalSemaphoresWaitNode", 1, 4, 4, 1); __PYX_ERR(1, 32941, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32941, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddExternalSemaphoresWaitNode", 1, 4, 4, 2); __PYX_ERR(1, 32941, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 32941, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddExternalSemaphoresWaitNode", 1, 4, 4, 3); __PYX_ERR(1, 32941, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphAddExternalSemaphoresWaitNode") < 0)) __PYX_ERR(1, 32941, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = ((PyObject*)values[1]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 32942, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_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(1, 32941, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddExternalSemaphoresWaitNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 32942, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(1, 32942, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_582cuGraphAddExternalSemaphoresWaitNode(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_36cuGraphAddExternalSemaphoresWaitNode_2generator35(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":32979
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_36cuGraphAddExternalSemaphoresWaitNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_35_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_35_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_35_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_35_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 32979, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_36cuGraphAddExternalSemaphoresWaitNode_2generator35, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddExternalSemaphoresWait, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 32979, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_36cuGraphAddExternalSemaphoresWaitNode_2generator35(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_35_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_35_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 32979, 0, __PYX_ERR(1, 32979, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 32979, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 32979, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 32979, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 32979, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 32979, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32979, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":32941
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresWaitNode(hGraph, dependencies : Optional[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_4cuda_582cuGraphAddExternalSemaphoresWaitNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_36cuGraphAddExternalSemaphoresWaitNode_2generator35 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_t_10;
  CUgraphNode *__pyx_t_11;
  CUresult __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__789)
  __Pyx_RefNannySetupContext("cuGraphAddExternalSemaphoresWaitNode", 0);
  __Pyx_TraceCall("cuGraphAddExternalSemaphoresWaitNode", __pyx_f[1], 32941, 0, __PYX_ERR(1, 32941, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/cuda.pyx":32978
 *     :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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_2 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32978, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":32979
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_36cuGraphAddExternalSemaphoresWaitNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32979, __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(1, 32979, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":32980
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32980, __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(1, 32980, __pyx_L1_error)

    /* "cuda/cuda.pyx":32979
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":32982
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":32983
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":32982
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":32984
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":32985
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32985, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":32986
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32986, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":32984
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":32988
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32988, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32988, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":32989
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 32989, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":32990
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":32991
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":32992
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32992, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32992, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":32993
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 32993, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32993, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":32994
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_4 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":32995
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 32995, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32995, __pyx_L1_error)
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32995, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32995, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32995, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32995, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32995, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32995, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32995, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32995, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 32995, __pyx_L1_error)

      /* "cuda/cuda.pyx":32994
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":32997
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 32997, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32997, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":32998
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 32998, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32998, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":32992
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":32999
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddExternalSemaphoresWaitNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 32999, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32999, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 32999, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 32999, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 32999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 32999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 32999, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":33000
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphAddExternalSemaphoresWaitNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:
 */
  __pyx_t_3 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33000, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(1, 33000, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_4) {
    __pyx_t_10 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_10 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_10;

  /* "cuda/cuda.pyx":33001
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddExternalSemaphoresWaitNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 33001, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33001, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 33001, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_3)->_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cdependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_5ccuda_cuGraphAddExternalSemaphoresWaitNode(((CUgraphNode *)__pyx_v_phGraphNode->_ptr), __pyx_v_chGraph, __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_12 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33001, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cuda.pyx":33002
 *     cdef ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddExternalSemaphoresWaitNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  __pyx_t_4 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":33003
 *     err = ccuda.cuGraphAddExternalSemaphoresWaitNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphNode)
 * 
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":33002
 *     cdef ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddExternalSemaphoresWaitNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  }

  /* "cuda/cuda.pyx":33004
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_13 = NULL;
  __pyx_t_14 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_14 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_1};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_14, 1+__pyx_t_14);
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33004, __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)) __PYX_ERR(1, 33004, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraphNode))) __PYX_ERR(1, 33004, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":32941
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresWaitNode(hGraph, dependencies : Optional[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_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_36cuGraphAddExternalSemaphoresWaitNode_2generator35);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33006
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresWaitNodeGetParams(hNode):
 *     """ Returns an external semaphore wait node's parameters.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_585cuGraphExternalSemaphoresWaitNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_584cuGraphExternalSemaphoresWaitNodeGetParams, "cuGraphExternalSemaphoresWaitNodeGetParams(hNode)\n Returns an external semaphore wait node's parameters.\n\n    Returns 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\n    the node is destroyed or its parameters are modified, and should not be\n    modified directly. Use\n    :py:obj:`~.cuGraphExternalSemaphoresSignalNodeSetParams` to update the\n    parameters of this node.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the parameters 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_VALUE`\n    params_out : :py:obj:`~.CUDA_EXT_SEM_WAIT_NODE_PARAMS`\n        Pointer to return the parameters\n\n    See Also\n    --------\n    :py:obj:`~.cuLaunchKernel`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuGraphExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_585cuGraphExternalSemaphoresWaitNodeGetParams = {"cuGraphExternalSemaphoresWaitNodeGetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_585cuGraphExternalSemaphoresWaitNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_584cuGraphExternalSemaphoresWaitNodeGetParams};
static PyObject *__pyx_pw_4cuda_4cuda_585cuGraphExternalSemaphoresWaitNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33006, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExternalSemaphoresWaitNodeGetParams") < 0)) __PYX_ERR(1, 33006, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExternalSemaphoresWaitNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 33006, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphExternalSemaphoresWaitNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_584cuGraphExternalSemaphoresWaitNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_584cuGraphExternalSemaphoresWaitNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_params_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__790)
  __Pyx_RefNannySetupContext("cuGraphExternalSemaphoresWaitNodeGetParams", 1);
  __Pyx_TraceCall("cuGraphExternalSemaphoresWaitNodeGetParams", __pyx_f[1], 33006, 0, __PYX_ERR(1, 33006, __pyx_L1_error));

  /* "cuda/cuda.pyx":33035
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33036
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33035
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33037
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33038
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33039
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33039, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":33037
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33041
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_EXT_SEM_WAIT_NODE_PARAMS params_out = CUDA_EXT_SEM_WAIT_NODE_PARAMS()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33041, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33041, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33042
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUDA_EXT_SEM_WAIT_NODE_PARAMS params_out = CUDA_EXT_SEM_WAIT_NODE_PARAMS()
 *     err = ccuda.cuGraphExternalSemaphoresWaitNodeGetParams(chNode, <ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS*>params_out._ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33042, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":33043
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_EXT_SEM_WAIT_NODE_PARAMS params_out = CUDA_EXT_SEM_WAIT_NODE_PARAMS()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExternalSemaphoresWaitNodeGetParams(chNode, <ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS*>params_out._ptr)
 *     return (CUresult(err), params_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_params_out = ((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":33044
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_EXT_SEM_WAIT_NODE_PARAMS params_out = CUDA_EXT_SEM_WAIT_NODE_PARAMS()
 *     err = ccuda.cuGraphExternalSemaphoresWaitNodeGetParams(chNode, <ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS*>params_out._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), params_out)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphExternalSemaphoresWaitNodeGetParams(__pyx_v_chNode, ((CUDA_EXT_SEM_WAIT_NODE_PARAMS *)__pyx_v_params_out->__pyx_base.__pyx_base._ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33044, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":33045
 *     cdef CUDA_EXT_SEM_WAIT_NODE_PARAMS params_out = CUDA_EXT_SEM_WAIT_NODE_PARAMS()
 *     err = ccuda.cuGraphExternalSemaphoresWaitNodeGetParams(chNode, <ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS*>params_out._ptr)
 *     return (CUresult(err), params_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 33045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33045, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 33045, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_params_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_params_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_params_out))) __PYX_ERR(1, 33045, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33006
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33047
 *     return (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_4cuda_587cuGraphExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_586cuGraphExternalSemaphoresWaitNodeSetParams, "cuGraphExternalSemaphoresWaitNodeSetParams(hNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS nodeParams: Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS])\n Sets an external semaphore wait node's parameters.\n\n    Sets the parameters of an external semaphore wait node `hNode` to\n    `nodeParams`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to set the parameters for\n    nodeParams : :py:obj:`~.CUDA_EXT_SEM_WAIT_NODE_PARAMS`\n        Parameters to copy\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuGraphExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cuGraphAddExternalSemaphoresWaitNode`, :py:obj:`~.cuSignalExternalSemaphoresAsync`, :py:obj:`~.cuWaitExternalSemaphoresAsync`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_587cuGraphExternalSemaphoresWaitNodeSetParams = {"cuGraphExternalSemaphoresWaitNodeSetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_587cuGraphExternalSemaphoresWaitNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_586cuGraphExternalSemaphoresWaitNodeSetParams};
static PyObject *__pyx_pw_4cuda_4cuda_587cuGraphExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33047, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33047, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExternalSemaphoresWaitNodeSetParams", 1, 2, 2, 1); __PYX_ERR(1, 33047, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExternalSemaphoresWaitNodeSetParams") < 0)) __PYX_ERR(1, 33047, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_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(1, 33047, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(1, 33048, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_586cuGraphExternalSemaphoresWaitNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_586cuGraphExternalSemaphoresWaitNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__791)
  __Pyx_RefNannySetupContext("cuGraphExternalSemaphoresWaitNodeSetParams", 1);
  __Pyx_TraceCall("cuGraphExternalSemaphoresWaitNodeSetParams", __pyx_f[1], 33047, 0, __PYX_ERR(1, 33047, __pyx_L1_error));

  /* "cuda/cuda.pyx":33071
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33072
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33071
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33073
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33074
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33074, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33075
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33075, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":33073
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33077
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33077, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33078
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExternalSemaphoresWaitNodeSetParams(chNode, cnodeParams_ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33078, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":33079
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExternalSemaphoresWaitNodeSetParams(chNode, cnodeParams_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33079, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 33079, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":33080
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExternalSemaphoresWaitNodeSetParams(chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphExternalSemaphoresWaitNodeSetParams(__pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33080, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":33081
 *     cdef ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExternalSemaphoresWaitNodeSetParams(chNode, cnodeParams_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 33081, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33047
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuGraphExternalSemaphoresWaitNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33083
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddBatchMemOpNode(hGraph, dependencies : Optional[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_4cuda_589cuGraphAddBatchMemOpNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_588cuGraphAddBatchMemOpNode, "cuGraphAddBatchMemOpNode(hGraph, list dependencies: Optional[List[CUgraphNode]], size_t numDependencies, CUDA_BATCH_MEM_OP_NODE_PARAMS nodeParams: Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS])\n Creates a batch memory operation node and adds it to a graph.\n\n    Creates a new batch memory operation node and adds it to `hGraph` with\n    `numDependencies` dependencies specified via `dependencies` and\n    arguments specified in `nodeParams`. It is possible for\n    `numDependencies` to be 0, in which case the node will be placed at the\n    root of the graph. `dependencies` may not have any duplicate entries. A\n    handle to the new node will be returned in `phGraphNode`.\n\n    When the node is added, the paramArray inside `nodeParams` is copied\n    and therefore it can be freed after the call returns.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    nodeParams : :py:obj:`~.CUDA_BATCH_MEM_OP_NODE_PARAMS`\n        Parameters for the node\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_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    phGraphNode : :py:obj:`~.CUgraphNode`\n        Returns newly created node\n\n    See 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:`~.cuGraphAddMem""cpyNode`, :py:obj:`~.cuGraphAddMemsetNode`\n\n    Notes\n    -----\n    Warning: Improper use of this API may deadlock the application. Synchronization ordering established through this API is not visible to CUDA. CUDA tasks that are (even indirectly) ordered by this API should also have that order expressed with CUDA-visible dependencies such as events. This ensures that the scheduler does not serialize them in an improper order. For more information, see the Stream Memory Operations section in the programming guide(https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html).\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_589cuGraphAddBatchMemOpNode = {"cuGraphAddBatchMemOpNode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_589cuGraphAddBatchMemOpNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_588cuGraphAddBatchMemOpNode};
static PyObject *__pyx_pw_4cuda_4cuda_589cuGraphAddBatchMemOpNode(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_dependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33083, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33083, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddBatchMemOpNode", 1, 4, 4, 1); __PYX_ERR(1, 33083, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33083, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddBatchMemOpNode", 1, 4, 4, 2); __PYX_ERR(1, 33083, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33083, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddBatchMemOpNode", 1, 4, 4, 3); __PYX_ERR(1, 33083, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphAddBatchMemOpNode") < 0)) __PYX_ERR(1, 33083, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = ((PyObject*)values[1]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 33084, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_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(1, 33083, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddBatchMemOpNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 33084, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(1, 33084, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_588cuGraphAddBatchMemOpNode(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_24cuGraphAddBatchMemOpNode_2generator36(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":33124
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_24cuGraphAddBatchMemOpNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_36_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_36_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_36_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_36_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 33124, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_24cuGraphAddBatchMemOpNode_2generator36, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddBatchMemOpNode_locals, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 33124, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_24cuGraphAddBatchMemOpNode_2generator36(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_36_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_36_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 33124, 0, __PYX_ERR(1, 33124, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 33124, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 33124, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 33124, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 33124, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 33124, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33083
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddBatchMemOpNode(hGraph, dependencies : Optional[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_4cuda_588cuGraphAddBatchMemOpNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_24cuGraphAddBatchMemOpNode_2generator36 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_t_10;
  CUgraphNode *__pyx_t_11;
  CUresult __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__792)
  __Pyx_RefNannySetupContext("cuGraphAddBatchMemOpNode", 0);
  __Pyx_TraceCall("cuGraphAddBatchMemOpNode", __pyx_f[1], 33083, 0, __PYX_ERR(1, 33083, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/cuda.pyx":33123
 *     Warning: Improper use of this API may deadlock the application. Synchronization ordering established through this API is not visible to CUDA. CUDA tasks that are (even indirectly) ordered by this API should also have that order expressed with CUDA-visible dependencies such as events. This ensures that the scheduler does not serialize them in an improper order. For more information, see the Stream Memory Operations section in the programming guide(https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html).
 *     """
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 */
  __pyx_t_2 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33123, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":33124
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_24cuGraphAddBatchMemOpNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33124, __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(1, 33124, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":33125
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33125, __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(1, 33125, __pyx_L1_error)

    /* "cuda/cuda.pyx":33124
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":33127
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":33128
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33127
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":33129
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":33130
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":33131
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33131, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":33129
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":33133
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":33134
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33134, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":33135
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":33136
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":33137
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 33137, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33137, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":33138
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 33138, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33138, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":33139
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_4 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":33140
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 33140, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33140, __pyx_L1_error)
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33140, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33140, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33140, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33140, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33140, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33140, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33140, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33140, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 33140, __pyx_L1_error)

      /* "cuda/cuda.pyx":33139
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":33142
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 33142, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33142, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":33143
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 33143, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33143, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":33137
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":33144
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddBatchMemOpNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 33144, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33144, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 33144, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33144, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 33144, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":33145
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphAddBatchMemOpNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:
 */
  __pyx_t_3 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33145, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(1, 33145, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_4) {
    __pyx_t_10 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_10 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_10;

  /* "cuda/cuda.pyx":33146
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddBatchMemOpNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 33146, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33146, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 33146, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_3)->_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cdependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_5ccuda_cuGraphAddBatchMemOpNode(((CUgraphNode *)__pyx_v_phGraphNode->_ptr), __pyx_v_chGraph, __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_12 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33146, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cuda.pyx":33147
 *     cdef ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddBatchMemOpNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  __pyx_t_4 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":33148
 *     err = ccuda.cuGraphAddBatchMemOpNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphNode)
 * 
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":33147
 *     cdef ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddBatchMemOpNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  }

  /* "cuda/cuda.pyx":33149
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_13 = NULL;
  __pyx_t_14 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_14 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_1};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_14, 1+__pyx_t_14);
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33149, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33149, __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)) __PYX_ERR(1, 33149, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraphNode))) __PYX_ERR(1, 33149, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33083
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddBatchMemOpNode(hGraph, dependencies : Optional[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_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_24cuGraphAddBatchMemOpNode_2generator36);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33151
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphBatchMemOpNodeGetParams(hNode):
 *     """ Returns a batch mem op node's parameters.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_591cuGraphBatchMemOpNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_590cuGraphBatchMemOpNodeGetParams, "cuGraphBatchMemOpNodeGetParams(hNode)\n Returns a batch mem op node's parameters.\n\n    Returns the parameters of batch mem op node `hNode` in\n    `nodeParams_out`. The `paramArray` returned in `nodeParams_out` is\n    owned by the node. This memory remains valid until the node is\n    destroyed or its parameters are modified, and should not be modified\n    directly. Use :py:obj:`~.cuGraphBatchMemOpNodeSetParams` to update the\n    parameters of this node.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the parameters 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_VALUE`\n    nodeParams_out : :py:obj:`~.CUDA_BATCH_MEM_OP_NODE_PARAMS`\n        Pointer to return the parameters\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamBatchMemOp`, :py:obj:`~.cuGraphAddBatchMemOpNode`, :py:obj:`~.cuGraphBatchMemOpNodeSetParams`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_591cuGraphBatchMemOpNodeGetParams = {"cuGraphBatchMemOpNodeGetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_591cuGraphBatchMemOpNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_590cuGraphBatchMemOpNodeGetParams};
static PyObject *__pyx_pw_4cuda_4cuda_591cuGraphBatchMemOpNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33151, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphBatchMemOpNodeGetParams") < 0)) __PYX_ERR(1, 33151, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphBatchMemOpNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 33151, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphBatchMemOpNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_590cuGraphBatchMemOpNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_590cuGraphBatchMemOpNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_nodeParams_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__793)
  __Pyx_RefNannySetupContext("cuGraphBatchMemOpNodeGetParams", 1);
  __Pyx_TraceCall("cuGraphBatchMemOpNodeGetParams", __pyx_f[1], 33151, 0, __PYX_ERR(1, 33151, __pyx_L1_error));

  /* "cuda/cuda.pyx":33179
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33180
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33179
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33181
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33182
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33183
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33183, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":33181
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33185
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_BATCH_MEM_OP_NODE_PARAMS nodeParams_out = CUDA_BATCH_MEM_OP_NODE_PARAMS()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33186
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUDA_BATCH_MEM_OP_NODE_PARAMS nodeParams_out = CUDA_BATCH_MEM_OP_NODE_PARAMS()
 *     err = ccuda.cuGraphBatchMemOpNodeGetParams(chNode, <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS*>nodeParams_out._ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33186, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":33187
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_BATCH_MEM_OP_NODE_PARAMS nodeParams_out = CUDA_BATCH_MEM_OP_NODE_PARAMS()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphBatchMemOpNodeGetParams(chNode, <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS*>nodeParams_out._ptr)
 *     return (CUresult(err), nodeParams_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_nodeParams_out = ((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":33188
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_BATCH_MEM_OP_NODE_PARAMS nodeParams_out = CUDA_BATCH_MEM_OP_NODE_PARAMS()
 *     err = ccuda.cuGraphBatchMemOpNodeGetParams(chNode, <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS*>nodeParams_out._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), nodeParams_out)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphBatchMemOpNodeGetParams(__pyx_v_chNode, ((CUDA_BATCH_MEM_OP_NODE_PARAMS *)__pyx_v_nodeParams_out->__pyx_base.__pyx_base._ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33188, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":33189
 *     cdef CUDA_BATCH_MEM_OP_NODE_PARAMS nodeParams_out = CUDA_BATCH_MEM_OP_NODE_PARAMS()
 *     err = ccuda.cuGraphBatchMemOpNodeGetParams(chNode, <ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS*>nodeParams_out._ptr)
 *     return (CUresult(err), nodeParams_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 33189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 33189, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_nodeParams_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_nodeParams_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_nodeParams_out))) __PYX_ERR(1, 33189, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33151
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33191
 *     return (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_4cuda_593cuGraphBatchMemOpNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_592cuGraphBatchMemOpNodeSetParams, "cuGraphBatchMemOpNodeSetParams(hNode, CUDA_BATCH_MEM_OP_NODE_PARAMS nodeParams: Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS])\n Sets a batch mem op node's parameters.\n\n    Sets the parameters of batch mem op node `hNode` to `nodeParams`.\n\n    The paramArray inside `nodeParams` is copied and therefore it can be\n    freed after the call returns.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to set the parameters for\n    nodeParams : :py:obj:`~.CUDA_BATCH_MEM_OP_NODE_PARAMS`\n        Parameters to copy\n\n    Returns\n    -------\n    CUresult\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\n    See Also\n    --------\n    :py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuStreamBatchMemOp`, :py:obj:`~.cuGraphAddBatchMemOpNode`, :py:obj:`~.cuGraphBatchMemOpNodeGetParams`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_593cuGraphBatchMemOpNodeSetParams = {"cuGraphBatchMemOpNodeSetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_593cuGraphBatchMemOpNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_592cuGraphBatchMemOpNodeSetParams};
static PyObject *__pyx_pw_4cuda_4cuda_593cuGraphBatchMemOpNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33191, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33191, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphBatchMemOpNodeSetParams", 1, 2, 2, 1); __PYX_ERR(1, 33191, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphBatchMemOpNodeSetParams") < 0)) __PYX_ERR(1, 33191, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_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(1, 33191, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(1, 33192, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_592cuGraphBatchMemOpNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_592cuGraphBatchMemOpNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__794)
  __Pyx_RefNannySetupContext("cuGraphBatchMemOpNodeSetParams", 1);
  __Pyx_TraceCall("cuGraphBatchMemOpNodeSetParams", __pyx_f[1], 33191, 0, __PYX_ERR(1, 33191, __pyx_L1_error));

  /* "cuda/cuda.pyx":33217
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33218
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33217
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33219
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33220
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33221
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33221, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":33219
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33223
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33223, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33223, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33224
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphBatchMemOpNodeSetParams(chNode, cnodeParams_ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33224, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":33225
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphBatchMemOpNodeSetParams(chNode, cnodeParams_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33225, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 33225, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":33226
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphBatchMemOpNodeSetParams(chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphBatchMemOpNodeSetParams(__pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33226, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":33227
 *     cdef ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphBatchMemOpNodeSetParams(chNode, cnodeParams_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33227, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 33227, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33191
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuGraphBatchMemOpNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33229
 *     return (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_4cuda_595cuGraphExecBatchMemOpNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_594cuGraphExecBatchMemOpNodeSetParams, "cuGraphExecBatchMemOpNodeSetParams(hGraphExec, hNode, CUDA_BATCH_MEM_OP_NODE_PARAMS nodeParams: Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS])\n Sets the parameters for a batch mem op node in the given graphExec.\n\n    Sets the parameters of a batch mem op node in an executable graph\n    `hGraphExec`. The node is identified by the corresponding node `hNode`\n    in the non-executable graph, from which the executable graph was\n    instantiated.\n\n    The following fields on operations may be modified on an executable\n    graph:\n\n    op.waitValue.address op.waitValue.value[64] op.waitValue.flags bits\n    corresponding to wait type (i.e. CU_STREAM_WAIT_VALUE_FLUSH bit cannot\n    be modified) op.writeValue.address op.writeValue.value[64]\n\n    Other fields, such as the context, count or type of operations, and\n    other types of operations such as membars, may not be modified.\n\n    `hNode` must not have been removed from the original graph.\n\n    The modifications only affect future launches of `hGraphExec`. Already\n    enqueued or running launches of `hGraphExec` are not affected by this\n    call. `hNode` is also not modified by this call.\n\n    The paramArray inside `nodeParams` is copied and therefore it can be\n    freed after the call returns.\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        The executable graph in which to set the specified node\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Batch mem op node from the graph from which graphExec was\n        instantiated\n    nodeParams : :py:obj:`~.CUDA_BATCH_MEM_OP_NODE_PARAMS`\n        Updated Parameters to set\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphExecNodeSetParams`, :py:obj:`~.cuStreamBatchMemOp`, :py:obj:`~.cuGraphAddBatchMemOpNode`, :py:obj:`~.cuGraphBatchMemOpNodeGetParams`"", :py:obj:`~.cuGraphBatchMemOpNodeSetParams`, :py:obj:`~.cuGraphInstantiate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_595cuGraphExecBatchMemOpNodeSetParams = {"cuGraphExecBatchMemOpNodeSetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_595cuGraphExecBatchMemOpNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_594cuGraphExecBatchMemOpNodeSetParams};
static PyObject *__pyx_pw_4cuda_4cuda_595cuGraphExecBatchMemOpNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33229, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33229, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecBatchMemOpNodeSetParams", 1, 3, 3, 1); __PYX_ERR(1, 33229, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33229, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecBatchMemOpNodeSetParams", 1, 3, 3, 2); __PYX_ERR(1, 33229, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExecBatchMemOpNodeSetParams") < 0)) __PYX_ERR(1, 33229, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_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(1, 33229, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(1, 33230, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_594cuGraphExecBatchMemOpNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_594cuGraphExecBatchMemOpNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUDA_BATCH_MEM_OP_NODE_PARAMS *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__795)
  __Pyx_RefNannySetupContext("cuGraphExecBatchMemOpNodeSetParams", 1);
  __Pyx_TraceCall("cuGraphExecBatchMemOpNodeSetParams", __pyx_f[1], 33229, 0, __PYX_ERR(1, 33229, __pyx_L1_error));

  /* "cuda/cuda.pyx":33277
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33278
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33277
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33279
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33280
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33281
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33281, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":33279
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33283
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33284
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33284, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":33286
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33287
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33286
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":33288
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33289
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33289, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33290
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33290, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":33288
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":33292
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33293
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecBatchMemOpNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33293, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":33294
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExecBatchMemOpNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33294, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 33294, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":33295
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecBatchMemOpNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphExecBatchMemOpNodeSetParams(__pyx_v_chGraphExec, __pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33295, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":33296
 *     cdef ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecBatchMemOpNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 33296, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33229
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33298
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemAllocNode(hGraph, dependencies : Optional[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_4cuda_597cuGraphAddMemAllocNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_596cuGraphAddMemAllocNode, "cuGraphAddMemAllocNode(hGraph, list dependencies: Optional[List[CUgraphNode]], size_t numDependencies, CUDA_MEM_ALLOC_NODE_PARAMS nodeParams: Optional[CUDA_MEM_ALLOC_NODE_PARAMS])\n Creates an allocation node and adds it to a graph.\n\n    Creates a new allocation node and adds it to `hGraph` with\n    `numDependencies` dependencies specified via `dependencies` and\n    arguments specified in `nodeParams`. It is possible for\n    `numDependencies` to be 0, in which case the node will be placed at the\n    root of the graph. `dependencies` may not have any duplicate entries. A\n    handle to the new node will be returned in `phGraphNode`.\n\n    When :py:obj:`~.cuGraphAddMemAllocNode` creates an allocation node, it\n    returns the address of the allocation in `nodeParams.dptr`. The\n    allocation's address remains fixed across instantiations and launches.\n\n    If the allocation is freed in the same graph, by creating a free node\n    using :py:obj:`~.cuGraphAddMemFreeNode`, the allocation can be accessed\n    by nodes ordered after the allocation node but before the free node.\n    These allocations cannot be freed outside the owning graph, and they\n    can only be freed once in the owning graph.\n\n    If the allocation is not freed in the same graph, then it can be\n    accessed not only by nodes in the graph which are ordered after the\n    allocation node, but also by stream operations ordered after the\n    graph's execution but before the allocation is freed.\n\n    Allocations 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\n    It is not possible to free an a""llocation in both the owning graph and\n    another graph. If the allocation is freed in the same graph, a free\n    node cannot be added to another graph. If the allocation is freed in\n    another graph, a free node can no longer be added to the owning graph.\n\n    The following restrictions apply to graphs which contain allocation\n    and/or memory free nodes:\n\n    - Nodes and edges of the graph cannot be deleted.\n\n    - The graph cannot be used in a child node.\n\n    - Only one instantiation of the graph may exist at any point in time.\n\n    - The graph cannot be cloned.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    nodeParams : :py:obj:`~.CUDA_MEM_ALLOC_NODE_PARAMS`\n        Parameters for the node\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_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    phGraphNode : :py:obj:`~.CUgraphNode`\n        Returns newly created node\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_597cuGraphAddMemAllocNode = {"cuGraphAddMemAllocNode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_597cuGraphAddMemAllocNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_596cuGraphAddMemAllocNode};
static PyObject *__pyx_pw_4cuda_4cuda_597cuGraphAddMemAllocNode(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_dependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33298, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33298, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddMemAllocNode", 1, 4, 4, 1); __PYX_ERR(1, 33298, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33298, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddMemAllocNode", 1, 4, 4, 2); __PYX_ERR(1, 33298, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33298, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddMemAllocNode", 1, 4, 4, 3); __PYX_ERR(1, 33298, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphAddMemAllocNode") < 0)) __PYX_ERR(1, 33298, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = ((PyObject*)values[1]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 33299, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_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(1, 33298, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddMemAllocNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 33299, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(1, 33299, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_596cuGraphAddMemAllocNode(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_22cuGraphAddMemAllocNode_2generator37(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":33375
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_22cuGraphAddMemAllocNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_37_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_37_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_37_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_37_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 33375, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_22cuGraphAddMemAllocNode_2generator37, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddMemAllocNode_locals_ge, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 33375, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_22cuGraphAddMemAllocNode_2generator37(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_37_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_37_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 33375, 0, __PYX_ERR(1, 33375, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 33375, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 33375, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 33375, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 33375, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 33375, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33298
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemAllocNode(hGraph, dependencies : Optional[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_4cuda_596cuGraphAddMemAllocNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUDA_MEM_ALLOC_NODE_PARAMS *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_22cuGraphAddMemAllocNode_2generator37 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *__pyx_t_10;
  CUgraphNode *__pyx_t_11;
  CUresult __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__796)
  __Pyx_RefNannySetupContext("cuGraphAddMemAllocNode", 0);
  __Pyx_TraceCall("cuGraphAddMemAllocNode", __pyx_f[1], 33298, 0, __PYX_ERR(1, 33298, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/cuda.pyx":33374
 *     :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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_2 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33374, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":33375
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_22cuGraphAddMemAllocNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33375, __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(1, 33375, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":33376
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33376, __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(1, 33376, __pyx_L1_error)

    /* "cuda/cuda.pyx":33375
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":33378
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":33379
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33378
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":33380
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":33381
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33381, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":33382
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33382, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":33380
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":33384
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":33385
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33385, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":33386
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":33387
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":33388
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 33388, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33388, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":33389
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 33389, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33389, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":33390
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_4 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":33391
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 33391, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33391, __pyx_L1_error)
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33391, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33391, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33391, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33391, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33391, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33391, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33391, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33391, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 33391, __pyx_L1_error)

      /* "cuda/cuda.pyx":33390
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":33393
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 33393, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33393, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":33394
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_MEM_ALLOC_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 33394, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33394, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":33388
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":33395
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_MEM_ALLOC_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddMemAllocNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 33395, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33395, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 33395, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33395, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 33395, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":33396
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_MEM_ALLOC_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphAddMemAllocNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:
 */
  __pyx_t_3 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33396, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(1, 33396, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_4) {
    __pyx_t_10 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_10 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_10;

  /* "cuda/cuda.pyx":33397
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUDA_MEM_ALLOC_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddMemAllocNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 33397, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33397, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 33397, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_3)->_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cdependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_5ccuda_cuGraphAddMemAllocNode(((CUgraphNode *)__pyx_v_phGraphNode->_ptr), __pyx_v_chGraph, __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_12 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33397, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cuda.pyx":33398
 *     cdef ccuda.CUDA_MEM_ALLOC_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddMemAllocNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  __pyx_t_4 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":33399
 *     err = ccuda.cuGraphAddMemAllocNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphNode)
 * 
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":33398
 *     cdef ccuda.CUDA_MEM_ALLOC_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddMemAllocNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  }

  /* "cuda/cuda.pyx":33400
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 33400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_13 = NULL;
  __pyx_t_14 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_14 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_1};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_14, 1+__pyx_t_14);
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33400, __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)) __PYX_ERR(1, 33400, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraphNode))) __PYX_ERR(1, 33400, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33298
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemAllocNode(hGraph, dependencies : Optional[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_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_22cuGraphAddMemAllocNode_2generator37);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33402
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemAllocNodeGetParams(hNode):
 *     """ Returns a memory alloc node's parameters.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_599cuGraphMemAllocNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_598cuGraphMemAllocNodeGetParams, "cuGraphMemAllocNodeGetParams(hNode)\n Returns a memory alloc node's parameters.\n\n    Returns the parameters of a memory alloc node `hNode` in `params_out`.\n    The `poolProps` and `accessDescs` returned in `params_out`, are owned\n    by the node. This memory remains valid until the node is destroyed. The\n    returned parameters must not be modified.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the parameters 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_VALUE`\n    params_out : :py:obj:`~.CUDA_MEM_ALLOC_NODE_PARAMS`\n        Pointer to return the parameters\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphAddMemAllocNode`, :py:obj:`~.cuGraphMemFreeNodeGetParams`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_599cuGraphMemAllocNodeGetParams = {"cuGraphMemAllocNodeGetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_599cuGraphMemAllocNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_598cuGraphMemAllocNodeGetParams};
static PyObject *__pyx_pw_4cuda_4cuda_599cuGraphMemAllocNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33402, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphMemAllocNodeGetParams") < 0)) __PYX_ERR(1, 33402, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphMemAllocNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 33402, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphMemAllocNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_598cuGraphMemAllocNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_598cuGraphMemAllocNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS *__pyx_v_params_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__797)
  __Pyx_RefNannySetupContext("cuGraphMemAllocNodeGetParams", 1);
  __Pyx_TraceCall("cuGraphMemAllocNodeGetParams", __pyx_f[1], 33402, 0, __PYX_ERR(1, 33402, __pyx_L1_error));

  /* "cuda/cuda.pyx":33428
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33429
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33428
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33430
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33431
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33431, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33432
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33432, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":33430
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33434
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEM_ALLOC_NODE_PARAMS params_out = CUDA_MEM_ALLOC_NODE_PARAMS()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33435
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUDA_MEM_ALLOC_NODE_PARAMS params_out = CUDA_MEM_ALLOC_NODE_PARAMS()
 *     err = ccuda.cuGraphMemAllocNodeGetParams(chNode, <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS*>params_out._ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33435, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":33436
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEM_ALLOC_NODE_PARAMS params_out = CUDA_MEM_ALLOC_NODE_PARAMS()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphMemAllocNodeGetParams(chNode, <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS*>params_out._ptr)
 *     return (CUresult(err), params_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33436, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_params_out = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":33437
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUDA_MEM_ALLOC_NODE_PARAMS params_out = CUDA_MEM_ALLOC_NODE_PARAMS()
 *     err = ccuda.cuGraphMemAllocNodeGetParams(chNode, <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS*>params_out._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), params_out)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphMemAllocNodeGetParams(__pyx_v_chNode, ((CUDA_MEM_ALLOC_NODE_PARAMS *)__pyx_v_params_out->__pyx_base.__pyx_base._ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33437, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":33438
 *     cdef CUDA_MEM_ALLOC_NODE_PARAMS params_out = CUDA_MEM_ALLOC_NODE_PARAMS()
 *     err = ccuda.cuGraphMemAllocNodeGetParams(chNode, <ccuda.CUDA_MEM_ALLOC_NODE_PARAMS*>params_out._ptr)
 *     return (CUresult(err), params_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 33438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 33438, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_params_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_params_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_params_out))) __PYX_ERR(1, 33438, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33402
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33440
 *     return (CUresult(err), params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemFreeNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, dptr):
 *     """ Creates a memory free node and adds it to a graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_601cuGraphAddMemFreeNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_600cuGraphAddMemFreeNode, "cuGraphAddMemFreeNode(hGraph, list dependencies: Optional[List[CUgraphNode]], size_t numDependencies, dptr)\n Creates a memory free node and adds it to a graph.\n\n    Creates a new memory free node and adds it to `hGraph` with\n    `numDependencies` dependencies specified via `dependencies` and\n    arguments specified in `nodeParams`. It is possible for\n    `numDependencies` to be 0, in which case the node will be placed at the\n    root of the graph. `dependencies` may not have any duplicate entries. A\n    handle 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\n    The following restrictions apply to graphs which contain allocation\n    and/or memory free nodes:\n\n    - Nodes and edges of the graph cannot be deleted.\n\n    - The graph cannot be used in a child node.\n\n    - Only one instantiation of the graph may exist at any point in time.\n\n    - The graph cannot be cloned.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    dptr : :py:obj:`~.CUdeviceptr`\n        Address of memory to free\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_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    phGraphNode : :py:obj:`~.CUgraphNode`\n        Returns newly created node\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuGraphAddMemAllocNode`, :py:obj:`~.cuGraphMemFreeNodeGetParams`, :py:obj:`~.cuDeviceGraphMemTr""im`, :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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_601cuGraphAddMemFreeNode = {"cuGraphAddMemFreeNode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_601cuGraphAddMemFreeNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_600cuGraphAddMemFreeNode};
static PyObject *__pyx_pw_4cuda_4cuda_601cuGraphAddMemFreeNode(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_dependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_dptr_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33440, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33440, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddMemFreeNode", 1, 4, 4, 1); __PYX_ERR(1, 33440, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33440, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddMemFreeNode", 1, 4, 4, 2); __PYX_ERR(1, 33440, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33440, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddMemFreeNode", 1, 4, 4, 3); __PYX_ERR(1, 33440, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphAddMemFreeNode") < 0)) __PYX_ERR(1, 33440, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = ((PyObject*)values[1]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 33441, __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(1, 33440, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddMemFreeNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 33441, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_600cuGraphAddMemFreeNode(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_numDependencies, __pyx_v_dptr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_21cuGraphAddMemFreeNode_2generator38(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":33503
 *         cdptr = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_21cuGraphAddMemFreeNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_38_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_38_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_38_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_38_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 33503, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_21cuGraphAddMemFreeNode_2generator38, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddMemFreeNode_locals_gen, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 33503, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21cuGraphAddMemFreeNode_2generator38(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_38_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_38_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 33503, 0, __PYX_ERR(1, 33503, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 33503, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 33503, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 33503, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 33503, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 33503, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33503, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33440
 *     return (CUresult(err), params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemFreeNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, dptr):
 *     """ Creates a memory free node and adds it to a graph.
 */

static PyObject *__pyx_pf_4cuda_4cuda_600cuGraphAddMemFreeNode(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_cdptr;
  PyObject *__pyx_v_pdptr = NULL;
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_21cuGraphAddMemFreeNode_2generator38 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  CUgraphNode *__pyx_t_10;
  CUresult __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__798)
  __Pyx_RefNannySetupContext("cuGraphAddMemFreeNode", 0);
  __Pyx_TraceCall("cuGraphAddMemFreeNode", __pyx_f[1], 33440, 0, __PYX_ERR(1, 33440, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/cuda.pyx":33494
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33495
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 */
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33494
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33496
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33497
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33497, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33498
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33498, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":33496
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33500
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     dependencies = [] if dependencies is None else dependencies
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33500, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33500, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33501
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33501, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":33502
 *         pdptr = int(CUdeviceptr(dptr))
 *         cdptr = <ccuda.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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_1 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_1) {
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_dependencies);
    __pyx_t_4 = __pyx_v_dependencies;
  }
  __Pyx_DECREF_SET(__pyx_v_dependencies, ((PyObject*)__pyx_t_4));
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":33503
 *         cdptr = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_4 = __pyx_pf_4cuda_4cuda_21cuGraphAddMemFreeNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_Generator_Next(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 33503, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = (!__pyx_t_1);
  if (unlikely(__pyx_t_5)) {

    /* "cuda/cuda.pyx":33504
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33504, __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, 33504, __pyx_L1_error)

    /* "cuda/cuda.pyx":33503
 *         cdptr = <ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":33506
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_5 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":33507
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33506
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":33508
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":33509
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33510
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33510, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":33508
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":33512
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33513
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33513, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":33514
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":33515
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":33516
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 33516, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33516, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_6 > 0);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":33517
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 33517, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33517, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":33518
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_5 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_5)) {

      /* "cuda/cuda.pyx":33519
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 33519, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33519, __pyx_L1_error)
      __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33519, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33519, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33519, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33519, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33519, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33519, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33519, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33519, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 33519, __pyx_L1_error)

      /* "cuda/cuda.pyx":33518
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":33521
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 33521, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33521, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":33522
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddMemFreeNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cdptr)
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 33522, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33522, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":33516
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":33523
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphAddMemFreeNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cdptr)
 *     if cdependencies is not NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 33523, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33523, __pyx_L1_error)
  __pyx_t_5 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_5)) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 33523, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33523, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 33523, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":33524
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddMemFreeNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cdptr)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 33524, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 33524, __pyx_L1_error)
  __pyx_t_5 = (__pyx_t_6 == 1);
  if (__pyx_t_5) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 33524, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33524, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_10 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_2)->_ptr);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cdependencies;
  }
  __pyx_t_11 = __pyx_f_4cuda_5ccuda_cuGraphAddMemFreeNode(((CUgraphNode *)__pyx_v_phGraphNode->_ptr), __pyx_v_chGraph, __pyx_t_10, __pyx_v_numDependencies, __pyx_v_cdptr); if (unlikely(__pyx_t_11 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33524, __pyx_L1_error)
  __pyx_v_err = __pyx_t_11;

  /* "cuda/cuda.pyx":33525
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddMemFreeNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cdptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  __pyx_t_5 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_5) {

    /* "cuda/cuda.pyx":33526
 *     err = ccuda.cuGraphAddMemFreeNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cdptr)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphNode)
 * 
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":33525
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     err = ccuda.cuGraphAddMemFreeNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cdptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  }

  /* "cuda/cuda.pyx":33527
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_12 = NULL;
  __pyx_t_13 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_12)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_12);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_13 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_13, 1+__pyx_t_13);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33527, __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)) __PYX_ERR(1, 33527, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraphNode))) __PYX_ERR(1, 33527, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33440
 *     return (CUresult(err), params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemFreeNode(hGraph, dependencies : Optional[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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_21cuGraphAddMemFreeNode_2generator38);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33529
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemFreeNodeGetParams(hNode):
 *     """ Returns a memory free node's parameters.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_603cuGraphMemFreeNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_602cuGraphMemFreeNodeGetParams, "cuGraphMemFreeNodeGetParams(hNode)\n Returns a memory free node's parameters.\n\n    Returns the address of a memory free node `hNode` in `dptr_out`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to get the parameters 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_VALUE`\n    dptr_out : :py:obj:`~.CUdeviceptr`\n        Pointer to return the device address\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphAddMemFreeNode`, :py:obj:`~.cuGraphMemAllocNodeGetParams`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_603cuGraphMemFreeNodeGetParams = {"cuGraphMemFreeNodeGetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_603cuGraphMemFreeNodeGetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_602cuGraphMemFreeNodeGetParams};
static PyObject *__pyx_pw_4cuda_4cuda_603cuGraphMemFreeNodeGetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33529, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphMemFreeNodeGetParams") < 0)) __PYX_ERR(1, 33529, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphMemFreeNodeGetParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 33529, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphMemFreeNodeGetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_602cuGraphMemFreeNodeGetParams(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_602cuGraphMemFreeNodeGetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_dptr_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__799)
  __Pyx_RefNannySetupContext("cuGraphMemFreeNodeGetParams", 1);
  __Pyx_TraceCall("cuGraphMemFreeNodeGetParams", __pyx_f[1], 33529, 0, __PYX_ERR(1, 33529, __pyx_L1_error));

  /* "cuda/cuda.pyx":33552
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33553
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33552
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33554
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33555
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33555, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33556
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33556, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":33554
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33558
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUdeviceptr dptr_out = CUdeviceptr()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33559
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr dptr_out = CUdeviceptr()
 *     err = ccuda.cuGraphMemFreeNodeGetParams(chNode, <ccuda.CUdeviceptr*>dptr_out._ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33559, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":33560
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUdeviceptr dptr_out = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphMemFreeNodeGetParams(chNode, <ccuda.CUdeviceptr*>dptr_out._ptr)
 *     return (CUresult(err), dptr_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_dptr_out = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":33561
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef CUdeviceptr dptr_out = CUdeviceptr()
 *     err = ccuda.cuGraphMemFreeNodeGetParams(chNode, <ccuda.CUdeviceptr*>dptr_out._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), dptr_out)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphMemFreeNodeGetParams(__pyx_v_chNode, ((CUdeviceptr *)__pyx_v_dptr_out->_ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33561, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":33562
 *     cdef CUdeviceptr dptr_out = CUdeviceptr()
 *     err = ccuda.cuGraphMemFreeNodeGetParams(chNode, <ccuda.CUdeviceptr*>dptr_out._ptr)
 *     return (CUresult(err), dptr_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 33562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 33562, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_dptr_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_dptr_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_dptr_out))) __PYX_ERR(1, 33562, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33529
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33564
 *     return (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_4cuda_605cuDeviceGraphMemTrim(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_604cuDeviceGraphMemTrim, "cuDeviceGraphMemTrim(device)\n Free unused memory that was cached on the specified device for use with graphs back to the OS.\n\n    Blocks which are not in use by a graph that is either currently\n    executing or scheduled to execute are freed back to the operating\n    system.\n\n    Parameters\n    ----------\n    device : :py:obj:`~.CUdevice`\n        The device for which cached memory should be freed.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphAddMemAllocNode`, :py:obj:`~.cuGraphAddMemFreeNode`, :py:obj:`~.cuDeviceSetGraphMemAttribute`, :py:obj:`~.cuDeviceGetGraphMemAttribute`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_605cuDeviceGraphMemTrim = {"cuDeviceGraphMemTrim", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_605cuDeviceGraphMemTrim, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_604cuDeviceGraphMemTrim};
static PyObject *__pyx_pw_4cuda_4cuda_605cuDeviceGraphMemTrim(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_device,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_device)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33564, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGraphMemTrim") < 0)) __PYX_ERR(1, 33564, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_device = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDeviceGraphMemTrim", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 33564, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGraphMemTrim", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_604cuDeviceGraphMemTrim(__pyx_self, __pyx_v_device);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_604cuDeviceGraphMemTrim(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device) {
  CUdevice __pyx_v_cdevice;
  PyObject *__pyx_v_pdevice = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__800)
  __Pyx_RefNannySetupContext("cuDeviceGraphMemTrim", 1);
  __Pyx_TraceCall("cuDeviceGraphMemTrim", __pyx_f[1], 33564, 0, __PYX_ERR(1, 33564, __pyx_L1_error));

  /* "cuda/cuda.pyx":33587
 *     """
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33588
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 */
    __pyx_v_cdevice = ((CUdevice)0);

    /* "cuda/cuda.pyx":33587
 *     """
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33589
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33590
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33590, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33591
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 33591, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":33589
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33593
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     err = ccuda.cuDeviceGraphMemTrim(cdevice)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33593, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33593, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33594
 *     else:
 *         pdevice = int(CUdevice(device))
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGraphMemTrim(cdevice)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 33594, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":33595
 *         pdevice = int(CUdevice(device))
 *         cdevice = <ccuda.CUdevice>pdevice
 *     err = ccuda.cuDeviceGraphMemTrim(cdevice)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuDeviceGraphMemTrim(__pyx_v_cdevice); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33595, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":33596
 *         cdevice = <ccuda.CUdevice>pdevice
 *     err = ccuda.cuDeviceGraphMemTrim(cdevice)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 33596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33596, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 33596, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33564
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGraphMemTrim", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevice);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33598
 *     return (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_4cuda_607cuDeviceGetGraphMemAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_606cuDeviceGetGraphMemAttribute, "cuDeviceGetGraphMemAttribute(device, attr: CUgraphMem_attribute)\n Query asynchronous allocation attributes related to graphs.\n\n    Valid 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\n    Parameters\n    ----------\n    device : :py:obj:`~.CUdevice`\n        Specifies the scope of the query\n    attr : :py:obj:`~.CUgraphMem_attribute`\n        attribute to get\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    value : Any\n        retrieved value\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceSetGraphMemAttribute`, :py:obj:`~.cuGraphAddMemAllocNode`, :py:obj:`~.cuGraphAddMemFreeNode`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_607cuDeviceGetGraphMemAttribute = {"cuDeviceGetGraphMemAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_607cuDeviceGetGraphMemAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_606cuDeviceGetGraphMemAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_607cuDeviceGetGraphMemAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_device,&__pyx_n_s_attr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_device)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33598, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attr)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33598, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceGetGraphMemAttribute", 1, 2, 2, 1); __PYX_ERR(1, 33598, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGetGraphMemAttribute") < 0)) __PYX_ERR(1, 33598, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 33598, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 33599, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_606cuDeviceGetGraphMemAttribute(__pyx_self, __pyx_v_device, __pyx_v_attr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_606cuDeviceGetGraphMemAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_attr) {
  CUdevice __pyx_v_cdevice;
  PyObject *__pyx_v_pdevice = NULL;
  CUgraphMem_attribute __pyx_v_cattr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUgraphMem_attribute *__pyx_v_cvalue = 0;
  void *__pyx_v_cvalue_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUgraphMem_attribute __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_7;
  CUresult __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__801)
  __Pyx_RefNannySetupContext("cuDeviceGetGraphMemAttribute", 1);
  __Pyx_TraceCall("cuDeviceGetGraphMemAttribute", __pyx_f[1], 33598, 0, __PYX_ERR(1, 33598, __pyx_L1_error));

  /* "cuda/cuda.pyx":33638
 *     """
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33639
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 */
    __pyx_v_cdevice = ((CUdevice)0);

    /* "cuda/cuda.pyx":33638
 *     """
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33640
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33641
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33641, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33642
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 33642, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":33640
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33644
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef ccuda.CUgraphMem_attribute cattr = attr.value
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33645
 *     else:
 *         pdevice = int(CUdevice(device))
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphMem_attribute cattr = attr.value
 *     cdef utils.HelperCUgraphMem_attribute cvalue = utils.HelperCUgraphMem_attribute(attr, 0, is_getter=True)
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 33645, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":33646
 *         pdevice = int(CUdevice(device))
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef ccuda.CUgraphMem_attribute cattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef utils.HelperCUgraphMem_attribute cvalue = utils.HelperCUgraphMem_attribute(attr, 0, is_getter=True)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUgraphMem_attribute_enum)__Pyx_PyInt_As_enum__CUgraphMem_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33646, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattr = __pyx_t_5;

  /* "cuda/cuda.pyx":33647
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef ccuda.CUgraphMem_attribute cattr = attr.value
 *     cdef utils.HelperCUgraphMem_attribute cvalue = utils.HelperCUgraphMem_attribute(attr, 0, is_getter=True)             # <<<<<<<<<<<<<<
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     err = ccuda.cuDeviceGetGraphMemAttribute(cdevice, cattr, cvalue_ptr)
 */
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_attr);
  __Pyx_GIVEREF(__pyx_v_attr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_attr)) __PYX_ERR(1, 33647, __pyx_L1_error);
  __Pyx_INCREF(__pyx_int_0);
  __Pyx_GIVEREF(__pyx_int_0);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_0)) __PYX_ERR(1, 33647, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_is_getter, Py_True) < 0) __PYX_ERR(1, 33647, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUgraphMem_attribute), __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 33647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cvalue = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUgraphMem_attribute *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cuda.pyx":33648
 *     cdef ccuda.CUgraphMem_attribute cattr = attr.value
 *     cdef utils.HelperCUgraphMem_attribute cvalue = utils.HelperCUgraphMem_attribute(attr, 0, is_getter=True)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGetGraphMemAttribute(cdevice, cattr, cvalue_ptr)
 *     return (CUresult(err), cvalue.pyObj())
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_cptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 33648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_6); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33648, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cvalue_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_7));

  /* "cuda/cuda.pyx":33649
 *     cdef utils.HelperCUgraphMem_attribute cvalue = utils.HelperCUgraphMem_attribute(attr, 0, is_getter=True)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     err = ccuda.cuDeviceGetGraphMemAttribute(cdevice, cattr, cvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), cvalue.pyObj())
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_5ccuda_cuDeviceGetGraphMemAttribute(__pyx_v_cdevice, __pyx_v_cattr, __pyx_v_cvalue_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33649, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cuda.pyx":33650
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     err = ccuda.cuDeviceGetGraphMemAttribute(cdevice, cattr, cvalue_ptr)
 *     return (CUresult(err), cvalue.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = NULL;
  __pyx_t_10 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_10 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_4};
    __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 33650, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_pyObj); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = NULL;
  __pyx_t_10 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_10 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_10, 0+__pyx_t_10);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33650, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6)) __PYX_ERR(1, 33650, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2)) __PYX_ERR(1, 33650, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33598
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.cuDeviceGetGraphMemAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevice);
  __Pyx_XDECREF((PyObject *)__pyx_v_cvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33652
 *     return (CUresult(err), cvalue.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_4cuda_609cuDeviceSetGraphMemAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_608cuDeviceSetGraphMemAttribute, "cuDeviceSetGraphMemAttribute(device, attr: CUgraphMem_attribute, value)\n Set asynchronous allocation attributes related to graphs.\n\n    Valid 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\n    Parameters\n    ----------\n    device : :py:obj:`~.CUdevice`\n        Specifies the scope of the query\n    attr : :py:obj:`~.CUgraphMem_attribute`\n        attribute to get\n    value : Any\n        pointer to value to set\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceGetGraphMemAttribute`, :py:obj:`~.cuGraphAddMemAllocNode`, :py:obj:`~.cuGraphAddMemFreeNode`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_609cuDeviceSetGraphMemAttribute = {"cuDeviceSetGraphMemAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_609cuDeviceSetGraphMemAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_608cuDeviceSetGraphMemAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_609cuDeviceSetGraphMemAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_device,&__pyx_n_s_attr,&__pyx_n_s_value_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_device)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33652, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attr)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33652, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceSetGraphMemAttribute", 1, 3, 3, 1); __PYX_ERR(1, 33652, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33652, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceSetGraphMemAttribute", 1, 3, 3, 2); __PYX_ERR(1, 33652, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceSetGraphMemAttribute") < 0)) __PYX_ERR(1, 33652, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __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(1, 33652, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 33653, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_608cuDeviceSetGraphMemAttribute(__pyx_self, __pyx_v_device, __pyx_v_attr, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_608cuDeviceSetGraphMemAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_attr, PyObject *__pyx_v_value) {
  CUdevice __pyx_v_cdevice;
  PyObject *__pyx_v_pdevice = NULL;
  CUgraphMem_attribute __pyx_v_cattr;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUgraphMem_attribute *__pyx_v_cvalue = 0;
  void *__pyx_v_cvalue_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUgraphMem_attribute __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_7;
  CUresult __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__802)
  __Pyx_RefNannySetupContext("cuDeviceSetGraphMemAttribute", 1);
  __Pyx_TraceCall("cuDeviceSetGraphMemAttribute", __pyx_f[1], 33652, 0, __PYX_ERR(1, 33652, __pyx_L1_error));

  /* "cuda/cuda.pyx":33685
 *     """
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33686
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 */
    __pyx_v_cdevice = ((CUdevice)0);

    /* "cuda/cuda.pyx":33685
 *     """
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33687
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33688
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33689
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 33689, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":33687
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33691
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef ccuda.CUgraphMem_attribute cattr = attr.value
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33691, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33691, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33692
 *     else:
 *         pdevice = int(CUdevice(device))
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphMem_attribute cattr = attr.value
 *     cdef utils.HelperCUgraphMem_attribute cvalue = utils.HelperCUgraphMem_attribute(attr, value, is_getter=False)
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 33692, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":33693
 *         pdevice = int(CUdevice(device))
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef ccuda.CUgraphMem_attribute cattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef utils.HelperCUgraphMem_attribute cvalue = utils.HelperCUgraphMem_attribute(attr, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUgraphMem_attribute_enum)__Pyx_PyInt_As_enum__CUgraphMem_attribute_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33693, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattr = __pyx_t_5;

  /* "cuda/cuda.pyx":33694
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef ccuda.CUgraphMem_attribute cattr = attr.value
 *     cdef utils.HelperCUgraphMem_attribute cvalue = utils.HelperCUgraphMem_attribute(attr, value, is_getter=False)             # <<<<<<<<<<<<<<
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     err = ccuda.cuDeviceSetGraphMemAttribute(cdevice, cattr, cvalue_ptr)
 */
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_attr);
  __Pyx_GIVEREF(__pyx_v_attr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_attr)) __PYX_ERR(1, 33694, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_value)) __PYX_ERR(1, 33694, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_is_getter, Py_False) < 0) __PYX_ERR(1, 33694, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUgraphMem_attribute), __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 33694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cvalue = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUgraphMem_attribute *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "cuda/cuda.pyx":33695
 *     cdef ccuda.CUgraphMem_attribute cattr = attr.value
 *     cdef utils.HelperCUgraphMem_attribute cvalue = utils.HelperCUgraphMem_attribute(attr, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceSetGraphMemAttribute(cdevice, cattr, cvalue_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_cptr); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 33695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_6); if (unlikely((__pyx_t_7 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33695, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_v_cvalue_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_7));

  /* "cuda/cuda.pyx":33696
 *     cdef utils.HelperCUgraphMem_attribute cvalue = utils.HelperCUgraphMem_attribute(attr, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     err = ccuda.cuDeviceSetGraphMemAttribute(cdevice, cattr, cvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_5ccuda_cuDeviceSetGraphMemAttribute(__pyx_v_cdevice, __pyx_v_cattr, __pyx_v_cvalue_ptr); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33696, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cuda.pyx":33697
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     err = ccuda.cuDeviceSetGraphMemAttribute(cdevice, cattr, cvalue_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = NULL;
  __pyx_t_10 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_10 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_4};
    __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 33697, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33697, __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)) __PYX_ERR(1, 33697, __pyx_L1_error);
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33652
 *     return (CUresult(err), cvalue.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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.cuDeviceSetGraphMemAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pdevice);
  __Pyx_XDECREF((PyObject *)__pyx_v_cvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33699
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphClone(originalGraph):
 *     """ Clones a graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_611cuGraphClone(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_610cuGraphClone, "cuGraphClone(originalGraph)\n Clones a graph.\n\n    This function creates a copy of `originalGraph` and returns it in\n    `phGraphClone`. All parameters are copied into the cloned graph. The\n    original graph may be modified after this call without affecting the\n    clone.\n\n    Child graph nodes in the original graph are recursively copied into the\n    clone.\n\n    Parameters\n    ----------\n    originalGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to clone\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    phGraphClone : :py:obj:`~.CUgraph`\n        Returns newly created cloned graph\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphNodeFindInClone`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_611cuGraphClone = {"cuGraphClone", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_611cuGraphClone, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_610cuGraphClone};
static PyObject *__pyx_pw_4cuda_4cuda_611cuGraphClone(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_originalGraph,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_originalGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33699, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphClone") < 0)) __PYX_ERR(1, 33699, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_originalGraph = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphClone", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 33699, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphClone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_610cuGraphClone(__pyx_self, __pyx_v_originalGraph);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_610cuGraphClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_originalGraph) {
  CUgraph __pyx_v_coriginalGraph;
  PyObject *__pyx_v_poriginalGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraph *__pyx_v_phGraphClone = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__803)
  __Pyx_RefNannySetupContext("cuGraphClone", 1);
  __Pyx_TraceCall("cuGraphClone", __pyx_f[1], 33699, 0, __PYX_ERR(1, 33699, __pyx_L1_error));

  /* "cuda/cuda.pyx":33728
 *     """
 *     cdef ccuda.CUgraph coriginalGraph
 *     if originalGraph is None:             # <<<<<<<<<<<<<<
 *         coriginalGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(originalGraph, (CUgraph,)):
 */
  __pyx_t_1 = (__pyx_v_originalGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33729
 *     cdef ccuda.CUgraph coriginalGraph
 *     if originalGraph is None:
 *         coriginalGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(originalGraph, (CUgraph,)):
 *         poriginalGraph = int(originalGraph)
 */
    __pyx_v_coriginalGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33728
 *     """
 *     cdef ccuda.CUgraph coriginalGraph
 *     if originalGraph is None:             # <<<<<<<<<<<<<<
 *         coriginalGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(originalGraph, (CUgraph,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33730
 *     if originalGraph is None:
 *         coriginalGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(originalGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         poriginalGraph = int(originalGraph)
 *         coriginalGraph = <ccuda.CUgraph><void_ptr>poriginalGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_originalGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33731
 *         coriginalGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(originalGraph, (CUgraph,)):
 *         poriginalGraph = int(originalGraph)             # <<<<<<<<<<<<<<
 *         coriginalGraph = <ccuda.CUgraph><void_ptr>poriginalGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_originalGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33731, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_poriginalGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33732
 *     elif isinstance(originalGraph, (CUgraph,)):
 *         poriginalGraph = int(originalGraph)
 *         coriginalGraph = <ccuda.CUgraph><void_ptr>poriginalGraph             # <<<<<<<<<<<<<<
 *     else:
 *         poriginalGraph = int(CUgraph(originalGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_poriginalGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33732, __pyx_L1_error)
    __pyx_v_coriginalGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":33730
 *     if originalGraph is None:
 *         coriginalGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(originalGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         poriginalGraph = int(originalGraph)
 *         coriginalGraph = <ccuda.CUgraph><void_ptr>poriginalGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33734
 *         coriginalGraph = <ccuda.CUgraph><void_ptr>poriginalGraph
 *     else:
 *         poriginalGraph = int(CUgraph(originalGraph))             # <<<<<<<<<<<<<<
 *         coriginalGraph = <ccuda.CUgraph><void_ptr>poriginalGraph
 *     cdef CUgraph phGraphClone = CUgraph()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_originalGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_poriginalGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33735
 *     else:
 *         poriginalGraph = int(CUgraph(originalGraph))
 *         coriginalGraph = <ccuda.CUgraph><void_ptr>poriginalGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraph phGraphClone = CUgraph()
 *     err = ccuda.cuGraphClone(<ccuda.CUgraph*>phGraphClone._ptr, coriginalGraph)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_poriginalGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33735, __pyx_L1_error)
    __pyx_v_coriginalGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":33736
 *         poriginalGraph = int(CUgraph(originalGraph))
 *         coriginalGraph = <ccuda.CUgraph><void_ptr>poriginalGraph
 *     cdef CUgraph phGraphClone = CUgraph()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphClone(<ccuda.CUgraph*>phGraphClone._ptr, coriginalGraph)
 *     return (CUresult(err), phGraphClone)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33736, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_phGraphClone = ((struct __pyx_obj_4cuda_4cuda_CUgraph *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":33737
 *         coriginalGraph = <ccuda.CUgraph><void_ptr>poriginalGraph
 *     cdef CUgraph phGraphClone = CUgraph()
 *     err = ccuda.cuGraphClone(<ccuda.CUgraph*>phGraphClone._ptr, coriginalGraph)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphClone)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphClone(((CUgraph *)__pyx_v_phGraphClone->_ptr), __pyx_v_coriginalGraph); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33737, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":33738
 *     cdef CUgraph phGraphClone = CUgraph()
 *     err = ccuda.cuGraphClone(<ccuda.CUgraph*>phGraphClone._ptr, coriginalGraph)
 *     return (CUresult(err), phGraphClone)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 33738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33738, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 33738, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphClone);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphClone);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phGraphClone))) __PYX_ERR(1, 33738, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33699
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33740
 *     return (CUresult(err), phGraphClone)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeFindInClone(hOriginalNode, hClonedGraph):
 *     """ Finds a cloned version of a node.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_613cuGraphNodeFindInClone(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_612cuGraphNodeFindInClone, "cuGraphNodeFindInClone(hOriginalNode, hClonedGraph)\n Finds a cloned version of a node.\n\n    This 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`,\n    and the corresponding cloned node in `hClonedGraph` must not have been\n    removed. The cloned node is then returned via `phClonedNode`.\n\n    Parameters\n    ----------\n    hOriginalNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Handle to the original node\n    hClonedGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Cloned graph to query\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n    phNode : :py:obj:`~.CUgraphNode`\n        Returns handle to the cloned node\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphClone`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_613cuGraphNodeFindInClone = {"cuGraphNodeFindInClone", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_613cuGraphNodeFindInClone, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_612cuGraphNodeFindInClone};
static PyObject *__pyx_pw_4cuda_4cuda_613cuGraphNodeFindInClone(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hOriginalNode,&__pyx_n_s_hClonedGraph,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hOriginalNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33740, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hClonedGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33740, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphNodeFindInClone", 1, 2, 2, 1); __PYX_ERR(1, 33740, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphNodeFindInClone") < 0)) __PYX_ERR(1, 33740, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 33740, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphNodeFindInClone", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_612cuGraphNodeFindInClone(__pyx_self, __pyx_v_hOriginalNode, __pyx_v_hClonedGraph);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_612cuGraphNodeFindInClone(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hOriginalNode, PyObject *__pyx_v_hClonedGraph) {
  CUgraph __pyx_v_chClonedGraph;
  PyObject *__pyx_v_phClonedGraph = NULL;
  CUgraphNode __pyx_v_chOriginalNode;
  PyObject *__pyx_v_phOriginalNode = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_phNode = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__804)
  __Pyx_RefNannySetupContext("cuGraphNodeFindInClone", 1);
  __Pyx_TraceCall("cuGraphNodeFindInClone", __pyx_f[1], 33740, 0, __PYX_ERR(1, 33740, __pyx_L1_error));

  /* "cuda/cuda.pyx":33772
 *     """
 *     cdef ccuda.CUgraph chClonedGraph
 *     if hClonedGraph is None:             # <<<<<<<<<<<<<<
 *         chClonedGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hClonedGraph, (CUgraph,)):
 */
  __pyx_t_1 = (__pyx_v_hClonedGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33773
 *     cdef ccuda.CUgraph chClonedGraph
 *     if hClonedGraph is None:
 *         chClonedGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hClonedGraph, (CUgraph,)):
 *         phClonedGraph = int(hClonedGraph)
 */
    __pyx_v_chClonedGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33772
 *     """
 *     cdef ccuda.CUgraph chClonedGraph
 *     if hClonedGraph is None:             # <<<<<<<<<<<<<<
 *         chClonedGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hClonedGraph, (CUgraph,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33774
 *     if hClonedGraph is None:
 *         chClonedGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hClonedGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phClonedGraph = int(hClonedGraph)
 *         chClonedGraph = <ccuda.CUgraph><void_ptr>phClonedGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hClonedGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33775
 *         chClonedGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hClonedGraph, (CUgraph,)):
 *         phClonedGraph = int(hClonedGraph)             # <<<<<<<<<<<<<<
 *         chClonedGraph = <ccuda.CUgraph><void_ptr>phClonedGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hClonedGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33775, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phClonedGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33776
 *     elif isinstance(hClonedGraph, (CUgraph,)):
 *         phClonedGraph = int(hClonedGraph)
 *         chClonedGraph = <ccuda.CUgraph><void_ptr>phClonedGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phClonedGraph = int(CUgraph(hClonedGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phClonedGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33776, __pyx_L1_error)
    __pyx_v_chClonedGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":33774
 *     if hClonedGraph is None:
 *         chClonedGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hClonedGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phClonedGraph = int(hClonedGraph)
 *         chClonedGraph = <ccuda.CUgraph><void_ptr>phClonedGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33778
 *         chClonedGraph = <ccuda.CUgraph><void_ptr>phClonedGraph
 *     else:
 *         phClonedGraph = int(CUgraph(hClonedGraph))             # <<<<<<<<<<<<<<
 *         chClonedGraph = <ccuda.CUgraph><void_ptr>phClonedGraph
 *     cdef ccuda.CUgraphNode chOriginalNode
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hClonedGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phClonedGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33779
 *     else:
 *         phClonedGraph = int(CUgraph(hClonedGraph))
 *         chClonedGraph = <ccuda.CUgraph><void_ptr>phClonedGraph             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode chOriginalNode
 *     if hOriginalNode is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phClonedGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33779, __pyx_L1_error)
    __pyx_v_chClonedGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":33781
 *         chClonedGraph = <ccuda.CUgraph><void_ptr>phClonedGraph
 *     cdef ccuda.CUgraphNode chOriginalNode
 *     if hOriginalNode is None:             # <<<<<<<<<<<<<<
 *         chOriginalNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hOriginalNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hOriginalNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33782
 *     cdef ccuda.CUgraphNode chOriginalNode
 *     if hOriginalNode is None:
 *         chOriginalNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hOriginalNode, (CUgraphNode,)):
 *         phOriginalNode = int(hOriginalNode)
 */
    __pyx_v_chOriginalNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33781
 *         chClonedGraph = <ccuda.CUgraph><void_ptr>phClonedGraph
 *     cdef ccuda.CUgraphNode chOriginalNode
 *     if hOriginalNode is None:             # <<<<<<<<<<<<<<
 *         chOriginalNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hOriginalNode, (CUgraphNode,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":33783
 *     if hOriginalNode is None:
 *         chOriginalNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hOriginalNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phOriginalNode = int(hOriginalNode)
 *         chOriginalNode = <ccuda.CUgraphNode><void_ptr>phOriginalNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hOriginalNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33784
 *         chOriginalNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hOriginalNode, (CUgraphNode,)):
 *         phOriginalNode = int(hOriginalNode)             # <<<<<<<<<<<<<<
 *         chOriginalNode = <ccuda.CUgraphNode><void_ptr>phOriginalNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hOriginalNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phOriginalNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33785
 *     elif isinstance(hOriginalNode, (CUgraphNode,)):
 *         phOriginalNode = int(hOriginalNode)
 *         chOriginalNode = <ccuda.CUgraphNode><void_ptr>phOriginalNode             # <<<<<<<<<<<<<<
 *     else:
 *         phOriginalNode = int(CUgraphNode(hOriginalNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phOriginalNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33785, __pyx_L1_error)
    __pyx_v_chOriginalNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":33783
 *     if hOriginalNode is None:
 *         chOriginalNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hOriginalNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phOriginalNode = int(hOriginalNode)
 *         chOriginalNode = <ccuda.CUgraphNode><void_ptr>phOriginalNode
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":33787
 *         chOriginalNode = <ccuda.CUgraphNode><void_ptr>phOriginalNode
 *     else:
 *         phOriginalNode = int(CUgraphNode(hOriginalNode))             # <<<<<<<<<<<<<<
 *         chOriginalNode = <ccuda.CUgraphNode><void_ptr>phOriginalNode
 *     cdef CUgraphNode phNode = CUgraphNode()
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hOriginalNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phOriginalNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33788
 *     else:
 *         phOriginalNode = int(CUgraphNode(hOriginalNode))
 *         chOriginalNode = <ccuda.CUgraphNode><void_ptr>phOriginalNode             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phNode = CUgraphNode()
 *     err = ccuda.cuGraphNodeFindInClone(<ccuda.CUgraphNode*>phNode._ptr, chOriginalNode, chClonedGraph)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phOriginalNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33788, __pyx_L1_error)
    __pyx_v_chOriginalNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":33789
 *         phOriginalNode = int(CUgraphNode(hOriginalNode))
 *         chOriginalNode = <ccuda.CUgraphNode><void_ptr>phOriginalNode
 *     cdef CUgraphNode phNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphNodeFindInClone(<ccuda.CUgraphNode*>phNode._ptr, chOriginalNode, chClonedGraph)
 *     return (CUresult(err), phNode)
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_phNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":33790
 *         chOriginalNode = <ccuda.CUgraphNode><void_ptr>phOriginalNode
 *     cdef CUgraphNode phNode = CUgraphNode()
 *     err = ccuda.cuGraphNodeFindInClone(<ccuda.CUgraphNode*>phNode._ptr, chOriginalNode, chClonedGraph)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phNode)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphNodeFindInClone(((CUgraphNode *)__pyx_v_phNode->_ptr), __pyx_v_chOriginalNode, __pyx_v_chClonedGraph); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33790, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":33791
 *     cdef CUgraphNode phNode = CUgraphNode()
 *     err = ccuda.cuGraphNodeFindInClone(<ccuda.CUgraphNode*>phNode._ptr, chOriginalNode, chClonedGraph)
 *     return (CUresult(err), phNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 33791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 33791, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 33791, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_phNode))) __PYX_ERR(1, 33791, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33740
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33793
 *     return (CUresult(err), phNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetType(hNode):
 *     """ Returns a node's type.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_615cuGraphNodeGetType(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_614cuGraphNodeGetType, "cuGraphNodeGetType(hNode)\n Returns a node's type.\n\n    Returns the node type of `hNode` in `typename`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to query\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_VALUE`\n    typename : :py:obj:`~.CUgraphNodeType`\n        Pointer to return the node type\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_615cuGraphNodeGetType = {"cuGraphNodeGetType", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_615cuGraphNodeGetType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_614cuGraphNodeGetType};
static PyObject *__pyx_pw_4cuda_4cuda_615cuGraphNodeGetType(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33793, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphNodeGetType") < 0)) __PYX_ERR(1, 33793, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetType", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 33793, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphNodeGetType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_614cuGraphNodeGetType(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_614cuGraphNodeGetType(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphNodeType __pyx_v_typename;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__805)
  __Pyx_RefNannySetupContext("cuGraphNodeGetType", 1);
  __Pyx_TraceCall("cuGraphNodeGetType", __pyx_f[1], 33793, 0, __PYX_ERR(1, 33793, __pyx_L1_error));

  /* "cuda/cuda.pyx":33816
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33817
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33816
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33818
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33819
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33820
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33820, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":33818
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33822
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphNodeType typename
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33823
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNodeType typename
 *     err = ccuda.cuGraphNodeGetType(chNode, &typename)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33823, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":33825
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphNodeType typename
 *     err = ccuda.cuGraphNodeGetType(chNode, &typename)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), CUgraphNodeType(typename))
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphNodeGetType(__pyx_v_chNode, (&__pyx_v_typename)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33825, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":33826
 *     cdef ccuda.CUgraphNodeType typename
 *     err = ccuda.cuGraphNodeGetType(chNode, &typename)
 *     return (CUresult(err), CUgraphNodeType(typename))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 33826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_CUgraphNodeType); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 33826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyInt_From_enum__CUgraphNodeType_enum(__pyx_v_typename); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 33826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_9 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 33826, __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)) __PYX_ERR(1, 33826, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 33826, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33793
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.cuGraphNodeGetType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33828
 *     return (CUresult(err), CUgraphNodeType(typename))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetNodes(hGraph, size_t numNodes = 0):
 *     """ Returns a graph's nodes.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_617cuGraphGetNodes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_616cuGraphGetNodes, "cuGraphGetNodes(hGraph, size_t numNodes=0)\n Returns a graph's nodes.\n\n    Returns a list of `hGraph's` nodes. `nodes` may be NULL, in which case\n    this function will return the number of nodes in `numNodes`. Otherwise,\n    `numNodes` entries will be filled in. If `numNodes` is higher than the\n    actual number of nodes, the remaining entries in `nodes` will be set to\n    NULL, and the number of nodes actually obtained will be returned in\n    `numNodes`.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to query\n    numNodes : int\n        See description\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_VALUE`\n    nodes : List[:py:obj:`~.CUgraphNode`]\n        Pointer to return the nodes\n    numNodes : int\n        See description\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetType`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_617cuGraphGetNodes = {"cuGraphGetNodes", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_617cuGraphGetNodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_616cuGraphGetNodes};
static PyObject *__pyx_pw_4cuda_4cuda_617cuGraphGetNodes(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_numNodes,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33828, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numNodes);
          if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33828, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphGetNodes") < 0)) __PYX_ERR(1, 33828, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_hGraph = values[0];
    if (values[1]) {
      __pyx_v_numNodes = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_numNodes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 33829, __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(1, 33828, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphGetNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_616cuGraphGetNodes(__pyx_self, __pyx_v_hGraph, __pyx_v_numNodes);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_616cuGraphGetNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numNodes) {
  size_t __pyx_v__graph_length;
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphNode *__pyx_v_cnodes;
  PyObject *__pyx_v_pynodes = NULL;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr164__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  size_t __pyx_t_9;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__806)
  __Pyx_RefNannySetupContext("cuGraphGetNodes", 1);
  __Pyx_TraceCall("cuGraphGetNodes", __pyx_f[1], 33828, 0, __PYX_ERR(1, 33828, __pyx_L1_error));

  /* "cuda/cuda.pyx":33859
 *     :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 ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
  __pyx_v__graph_length = __pyx_v_numNodes;

  /* "cuda/cuda.pyx":33861
 *     cdef size_t _graph_length = numNodes
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33862
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33861
 *     cdef size_t _graph_length = numNodes
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33863
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33864
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33864, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33865
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33865, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":33863
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33867
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cnodes = NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33868
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cnodes = NULL
 *     pynodes = []
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33868, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":33869
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cnodes = NULL             # <<<<<<<<<<<<<<
 *     pynodes = []
 *     if _graph_length != 0:
 */
  __pyx_v_cnodes = NULL;

  /* "cuda/cuda.pyx":33870
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cnodes = NULL
 *     pynodes = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cnodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pynodes = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":33871
 *     cdef ccuda.CUgraphNode* cnodes = NULL
 *     pynodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cnodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cnodes is NULL:
 */
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33872
 *     pynodes = []
 *     if _graph_length != 0:
 *         cnodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cnodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    __pyx_v_cnodes = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":33873
 *     if _graph_length != 0:
 *         cnodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cnodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphGetNodes(chGraph, cnodes, &numNodes)
 */
    __pyx_t_1 = (__pyx_v_cnodes == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":33874
 *         cnodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cnodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphGetNodes(chGraph, cnodes, &numNodes)
 *     if CUresult(err) == CUresult(0):
 */
      __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33874, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33874, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33874, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33874, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33874, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33874, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33874, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33874, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(1, 33874, __pyx_L1_error)

      /* "cuda/cuda.pyx":33873
 *     if _graph_length != 0:
 *         cnodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cnodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphGetNodes(chGraph, cnodes, &numNodes)
 */
    }

    /* "cuda/cuda.pyx":33871
 *     cdef ccuda.CUgraphNode* cnodes = NULL
 *     pynodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cnodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cnodes is NULL:
 */
  }

  /* "cuda/cuda.pyx":33875
 *         if cnodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphGetNodes(chGraph, cnodes, &numNodes)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pynodes = [CUgraphNode(init_value=<void_ptr>cnodes[idx]) for idx in range(_graph_length)]
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphGetNodes(__pyx_v_chGraph, __pyx_v_cnodes, (&__pyx_v_numNodes)); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33875, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":33876
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphGetNodes(chGraph, cnodes, &numNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pynodes = [CUgraphNode(init_value=<void_ptr>cnodes[idx]) for idx in range(_graph_length)]
 *     if cnodes is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33876, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33876, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33876, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 33876, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33877
 *     err = ccuda.cuGraphGetNodes(chGraph, cnodes, &numNodes)
 *     if CUresult(err) == CUresult(0):
 *         pynodes = [CUgraphNode(init_value=<void_ptr>cnodes[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cnodes is not NULL:
 *         free(cnodes)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33877, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr164__pyx_v_idx = __pyx_t_11;
        __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33877, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_cnodes[__pyx_10genexpr164__pyx_v_idx]))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33877, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_init_value, __pyx_t_5) < 0) __PYX_ERR(1, 33877, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33877, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 33877, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pynodes, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33876
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphGetNodes(chGraph, cnodes, &numNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pynodes = [CUgraphNode(init_value=<void_ptr>cnodes[idx]) for idx in range(_graph_length)]
 *     if cnodes is not NULL:
 */
  }

  /* "cuda/cuda.pyx":33878
 *     if CUresult(err) == CUresult(0):
 *         pynodes = [CUgraphNode(init_value=<void_ptr>cnodes[idx]) for idx in range(_graph_length)]
 *     if cnodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cnodes)
 *     return (CUresult(err), pynodes, numNodes)
 */
  __pyx_t_1 = (__pyx_v_cnodes != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33879
 *         pynodes = [CUgraphNode(init_value=<void_ptr>cnodes[idx]) for idx in range(_graph_length)]
 *     if cnodes is not NULL:
 *         free(cnodes)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pynodes, numNodes)
 * 
 */
    free(__pyx_v_cnodes);

    /* "cuda/cuda.pyx":33878
 *     if CUresult(err) == CUresult(0):
 *         pynodes = [CUgraphNode(init_value=<void_ptr>cnodes[idx]) for idx in range(_graph_length)]
 *     if cnodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cnodes)
 *     return (CUresult(err), pynodes, numNodes)
 */
  }

  /* "cuda/cuda.pyx":33880
 *     if cnodes is not NULL:
 *         free(cnodes)
 *     return (CUresult(err), pynodes, numNodes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33880, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_FromSize_t(__pyx_v_numNodes); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 33880, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pynodes);
  __Pyx_GIVEREF(__pyx_v_pynodes);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_pynodes)) __PYX_ERR(1, 33880, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_5)) __PYX_ERR(1, 33880, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33828
 *     return (CUresult(err), CUgraphNodeType(typename))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetNodes(hGraph, size_t numNodes = 0):
 *     """ Returns a graph's nodes.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33882
 *     return (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_4cuda_619cuGraphGetRootNodes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_618cuGraphGetRootNodes, "cuGraphGetRootNodes(hGraph, size_t numRootNodes=0)\n Returns a graph's root nodes.\n\n    Returns a list of `hGraph's` root nodes. `rootNodes` may be NULL, in\n    which 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\n    remaining entries in `rootNodes` will be set to NULL, and the number of\n    nodes actually obtained will be returned in `numRootNodes`.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to query\n    numRootNodes : int\n        See description\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_VALUE`\n    rootNodes : List[:py:obj:`~.CUgraphNode`]\n        Pointer to return the root nodes\n    numRootNodes : int\n        See description\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetType`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_619cuGraphGetRootNodes = {"cuGraphGetRootNodes", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_619cuGraphGetRootNodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_618cuGraphGetRootNodes};
static PyObject *__pyx_pw_4cuda_4cuda_619cuGraphGetRootNodes(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_numRootNodes,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33882, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numRootNodes);
          if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33882, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphGetRootNodes") < 0)) __PYX_ERR(1, 33882, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_hGraph = values[0];
    if (values[1]) {
      __pyx_v_numRootNodes = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_numRootNodes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 33883, __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(1, 33882, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphGetRootNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_618cuGraphGetRootNodes(__pyx_self, __pyx_v_hGraph, __pyx_v_numRootNodes);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_618cuGraphGetRootNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numRootNodes) {
  size_t __pyx_v__graph_length;
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphNode *__pyx_v_crootNodes;
  PyObject *__pyx_v_pyrootNodes = NULL;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr165__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  size_t __pyx_t_9;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__807)
  __Pyx_RefNannySetupContext("cuGraphGetRootNodes", 1);
  __Pyx_TraceCall("cuGraphGetRootNodes", __pyx_f[1], 33882, 0, __PYX_ERR(1, 33882, __pyx_L1_error));

  /* "cuda/cuda.pyx":33913
 *     :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 ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
  __pyx_v__graph_length = __pyx_v_numRootNodes;

  /* "cuda/cuda.pyx":33915
 *     cdef size_t _graph_length = numRootNodes
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33916
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33915
 *     cdef size_t _graph_length = numRootNodes
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33917
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33918
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33919
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33919, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":33917
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33921
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* crootNodes = NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33921, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33921, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33922
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* crootNodes = NULL
 *     pyrootNodes = []
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33922, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":33923
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* crootNodes = NULL             # <<<<<<<<<<<<<<
 *     pyrootNodes = []
 *     if _graph_length != 0:
 */
  __pyx_v_crootNodes = NULL;

  /* "cuda/cuda.pyx":33924
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* crootNodes = NULL
 *     pyrootNodes = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         crootNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyrootNodes = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":33925
 *     cdef ccuda.CUgraphNode* crootNodes = NULL
 *     pyrootNodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         crootNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if crootNodes is NULL:
 */
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33926
 *     pyrootNodes = []
 *     if _graph_length != 0:
 *         crootNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if crootNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    __pyx_v_crootNodes = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":33927
 *     if _graph_length != 0:
 *         crootNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if crootNodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphGetRootNodes(chGraph, crootNodes, &numRootNodes)
 */
    __pyx_t_1 = (__pyx_v_crootNodes == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":33928
 *         crootNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if crootNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphGetRootNodes(chGraph, crootNodes, &numRootNodes)
 *     if CUresult(err) == CUresult(0):
 */
      __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33928, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33928, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33928, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33928, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33928, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33928, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33928, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33928, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(1, 33928, __pyx_L1_error)

      /* "cuda/cuda.pyx":33927
 *     if _graph_length != 0:
 *         crootNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if crootNodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphGetRootNodes(chGraph, crootNodes, &numRootNodes)
 */
    }

    /* "cuda/cuda.pyx":33925
 *     cdef ccuda.CUgraphNode* crootNodes = NULL
 *     pyrootNodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         crootNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if crootNodes is NULL:
 */
  }

  /* "cuda/cuda.pyx":33929
 *         if crootNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphGetRootNodes(chGraph, crootNodes, &numRootNodes)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyrootNodes = [CUgraphNode(init_value=<void_ptr>crootNodes[idx]) for idx in range(_graph_length)]
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphGetRootNodes(__pyx_v_chGraph, __pyx_v_crootNodes, (&__pyx_v_numRootNodes)); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33929, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":33930
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphGetRootNodes(chGraph, crootNodes, &numRootNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyrootNodes = [CUgraphNode(init_value=<void_ptr>crootNodes[idx]) for idx in range(_graph_length)]
 *     if crootNodes is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33930, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33930, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33930, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 33930, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33931
 *     err = ccuda.cuGraphGetRootNodes(chGraph, crootNodes, &numRootNodes)
 *     if CUresult(err) == CUresult(0):
 *         pyrootNodes = [CUgraphNode(init_value=<void_ptr>crootNodes[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if crootNodes is not NULL:
 *         free(crootNodes)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33931, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr165__pyx_v_idx = __pyx_t_11;
        __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33931, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_crootNodes[__pyx_10genexpr165__pyx_v_idx]))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33931, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_init_value, __pyx_t_5) < 0) __PYX_ERR(1, 33931, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33931, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 33931, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyrootNodes, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33930
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphGetRootNodes(chGraph, crootNodes, &numRootNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyrootNodes = [CUgraphNode(init_value=<void_ptr>crootNodes[idx]) for idx in range(_graph_length)]
 *     if crootNodes is not NULL:
 */
  }

  /* "cuda/cuda.pyx":33932
 *     if CUresult(err) == CUresult(0):
 *         pyrootNodes = [CUgraphNode(init_value=<void_ptr>crootNodes[idx]) for idx in range(_graph_length)]
 *     if crootNodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(crootNodes)
 *     return (CUresult(err), pyrootNodes, numRootNodes)
 */
  __pyx_t_1 = (__pyx_v_crootNodes != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33933
 *         pyrootNodes = [CUgraphNode(init_value=<void_ptr>crootNodes[idx]) for idx in range(_graph_length)]
 *     if crootNodes is not NULL:
 *         free(crootNodes)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pyrootNodes, numRootNodes)
 * 
 */
    free(__pyx_v_crootNodes);

    /* "cuda/cuda.pyx":33932
 *     if CUresult(err) == CUresult(0):
 *         pyrootNodes = [CUgraphNode(init_value=<void_ptr>crootNodes[idx]) for idx in range(_graph_length)]
 *     if crootNodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(crootNodes)
 *     return (CUresult(err), pyrootNodes, numRootNodes)
 */
  }

  /* "cuda/cuda.pyx":33934
 *     if crootNodes is not NULL:
 *         free(crootNodes)
 *     return (CUresult(err), pyrootNodes, numRootNodes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33934, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_FromSize_t(__pyx_v_numRootNodes); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 33934, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyrootNodes);
  __Pyx_GIVEREF(__pyx_v_pyrootNodes);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_pyrootNodes)) __PYX_ERR(1, 33934, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_5)) __PYX_ERR(1, 33934, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33882
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":33936
 *     return (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_4cuda_621cuGraphGetEdges(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_620cuGraphGetEdges, "cuGraphGetEdges(hGraph, size_t numEdges=0)\n Returns a graph's dependency edges.\n\n    Returns a list of `hGraph's` dependency edges. Edges are returned via\n    corresponding indices in `from` and `to`; that is, the node in `to`[i]\n    has a dependency on the node in `from`[i]. `from` and `to` may both be\n    NULL, in which case this function only returns the number of edges in\n    `numEdges`. Otherwise, `numEdges` entries will be filled in. If\n    `numEdges` is higher than the actual number of edges, the remaining\n    entries in `from` and `to` will be set to NULL, and the number of edges\n    actually returned will be written to `numEdges`.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to get the edges from\n    numEdges : int\n        See description\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_VALUE`\n    from : List[:py:obj:`~.CUgraphNode`]\n        Location to return edge endpoints\n    to : List[:py:obj:`~.CUgraphNode`]\n        Location to return edge endpoints\n    numEdges : int\n        See description\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_621cuGraphGetEdges = {"cuGraphGetEdges", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_621cuGraphGetEdges, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_620cuGraphGetEdges};
static PyObject *__pyx_pw_4cuda_4cuda_621cuGraphGetEdges(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_numEdges,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33936, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numEdges);
          if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 33936, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphGetEdges") < 0)) __PYX_ERR(1, 33936, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_hGraph = values[0];
    if (values[1]) {
      __pyx_v_numEdges = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_numEdges == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 33937, __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(1, 33936, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphGetEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_620cuGraphGetEdges(__pyx_self, __pyx_v_hGraph, __pyx_v_numEdges);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_620cuGraphGetEdges(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numEdges) {
  size_t __pyx_v__graph_length;
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphNode *__pyx_v_cfrom_;
  PyObject *__pyx_v_pyfrom_ = NULL;
  CUgraphNode *__pyx_v_cto;
  PyObject *__pyx_v_pyto = NULL;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr166__pyx_v_idx;
  size_t __pyx_10genexpr167__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  size_t __pyx_t_9;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__808)
  __Pyx_RefNannySetupContext("cuGraphGetEdges", 1);
  __Pyx_TraceCall("cuGraphGetEdges", __pyx_f[1], 33936, 0, __PYX_ERR(1, 33936, __pyx_L1_error));

  /* "cuda/cuda.pyx":33971
 *     :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 ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
  __pyx_v__graph_length = __pyx_v_numEdges;

  /* "cuda/cuda.pyx":33973
 *     cdef size_t _graph_length = numEdges
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33974
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":33973
 *     cdef size_t _graph_length = numEdges
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33975
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33976
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33976, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":33977
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33977, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":33975
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":33979
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33979, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33979, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33980
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     pyfrom_ = []
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 33980, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":33981
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL             # <<<<<<<<<<<<<<
 *     pyfrom_ = []
 *     if _graph_length != 0:
 */
  __pyx_v_cfrom_ = NULL;

  /* "cuda/cuda.pyx":33982
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     pyfrom_ = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cfrom_ = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyfrom_ = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":33983
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     pyfrom_ = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 */
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33984
 *     pyfrom_ = []
 *     if _graph_length != 0:
 *         cfrom_ = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    __pyx_v_cfrom_ = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":33985
 *     if _graph_length != 0:
 *         cfrom_ = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphNode* cto = NULL
 */
    __pyx_t_1 = (__pyx_v_cfrom_ == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":33986
 *         cfrom_ = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     pyto = []
 */
      __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33986, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33986, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33986, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33986, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33986, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33986, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33986, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33986, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(1, 33986, __pyx_L1_error)

      /* "cuda/cuda.pyx":33985
 *     if _graph_length != 0:
 *         cfrom_ = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphNode* cto = NULL
 */
    }

    /* "cuda/cuda.pyx":33983
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     pyfrom_ = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 */
  }

  /* "cuda/cuda.pyx":33987
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphNode* cto = NULL             # <<<<<<<<<<<<<<
 *     pyto = []
 *     if _graph_length != 0:
 */
  __pyx_v_cto = NULL;

  /* "cuda/cuda.pyx":33988
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     pyto = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cto = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 */
  __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_pyto = ((PyObject*)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":33989
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     pyto = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cto = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 */
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33990
 *     pyto = []
 *     if _graph_length != 0:
 *         cto = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    __pyx_v_cto = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":33991
 *     if _graph_length != 0:
 *         cto = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphGetEdges(chGraph, cfrom_, cto, &numEdges)
 */
    __pyx_t_1 = (__pyx_v_cto == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":33992
 *         cto = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphGetEdges(chGraph, cfrom_, cto, &numEdges)
 *     if CUresult(err) == CUresult(0):
 */
      __pyx_t_5 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33992, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33992, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33992, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33992, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33992, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33992, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33992, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33992, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(1, 33992, __pyx_L1_error)

      /* "cuda/cuda.pyx":33991
 *     if _graph_length != 0:
 *         cto = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphGetEdges(chGraph, cfrom_, cto, &numEdges)
 */
    }

    /* "cuda/cuda.pyx":33989
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     pyto = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cto = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 */
  }

  /* "cuda/cuda.pyx":33993
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphGetEdges(chGraph, cfrom_, cto, &numEdges)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphGetEdges(__pyx_v_chGraph, __pyx_v_cfrom_, __pyx_v_cto, (&__pyx_v_numEdges)); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 33993, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":33994
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphGetEdges(chGraph, cfrom_, cto, &numEdges)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 *     if cfrom_ is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33994, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 33994, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33995
 *     err = ccuda.cuGraphGetEdges(chGraph, cfrom_, cto, &numEdges)
 *     if CUresult(err) == CUresult(0):
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 */
    { /* enter inner scope */
      __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33995, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr166__pyx_v_idx = __pyx_t_11;
        __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33995, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_cfrom_[__pyx_10genexpr166__pyx_v_idx]))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33995, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_init_value, __pyx_t_2) < 0) __PYX_ERR(1, 33995, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33995, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_2))) __PYX_ERR(1, 33995, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyfrom_, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":33994
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphGetEdges(chGraph, cfrom_, cto, &numEdges)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 *     if cfrom_ is not NULL:
 */
  }

  /* "cuda/cuda.pyx":33996
 *     if CUresult(err) == CUresult(0):
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 *     if cfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfrom_)
 *     if CUresult(err) == CUresult(0):
 */
  __pyx_t_1 = (__pyx_v_cfrom_ != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33997
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 *     if cfrom_ is not NULL:
 *         free(cfrom_)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyto = [CUgraphNode(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]
 */
    free(__pyx_v_cfrom_);

    /* "cuda/cuda.pyx":33996
 *     if CUresult(err) == CUresult(0):
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 *     if cfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfrom_)
 *     if CUresult(err) == CUresult(0):
 */
  }

  /* "cuda/cuda.pyx":33998
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyto = [CUgraphNode(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]
 *     if cto is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33998, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33998, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33998, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 33998, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":33999
 *         free(cfrom_)
 *     if CUresult(err) == CUresult(0):
 *         pyto = [CUgraphNode(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cto is not NULL:
 *         free(cto)
 */
    { /* enter inner scope */
      __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 33999, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr167__pyx_v_idx = __pyx_t_11;
        __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33999, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_4 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_cto[__pyx_10genexpr167__pyx_v_idx]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33999, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_init_value, __pyx_t_4) < 0) __PYX_ERR(1, 33999, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 33999, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_4))) __PYX_ERR(1, 33999, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyto, ((PyObject*)__pyx_t_5));
    __pyx_t_5 = 0;

    /* "cuda/cuda.pyx":33998
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyto = [CUgraphNode(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]
 *     if cto is not NULL:
 */
  }

  /* "cuda/cuda.pyx":34000
 *     if CUresult(err) == CUresult(0):
 *         pyto = [CUgraphNode(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     return (CUresult(err), pyfrom_, pyto, numEdges)
 */
  __pyx_t_1 = (__pyx_v_cto != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34001
 *         pyto = [CUgraphNode(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]
 *     if cto is not NULL:
 *         free(cto)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pyfrom_, pyto, numEdges)
 * 
 */
    free(__pyx_v_cto);

    /* "cuda/cuda.pyx":34000
 *     if CUresult(err) == CUresult(0):
 *         pyto = [CUgraphNode(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     return (CUresult(err), pyfrom_, pyto, numEdges)
 */
  }

  /* "cuda/cuda.pyx":34002
 *     if cto is not NULL:
 *         free(cto)
 *     return (CUresult(err), pyfrom_, pyto, numEdges)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34002, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v_numEdges); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5)) __PYX_ERR(1, 34002, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyfrom_);
  __Pyx_GIVEREF(__pyx_v_pyfrom_);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_pyfrom_)) __PYX_ERR(1, 34002, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyto);
  __Pyx_GIVEREF(__pyx_v_pyto);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_pyto)) __PYX_ERR(1, 34002, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_4)) __PYX_ERR(1, 34002, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":33936
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuGraphGetEdges", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF(__pyx_v_pyfrom_);
  __Pyx_XDECREF(__pyx_v_pyto);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34004
 *     return (CUresult(err), pyfrom_, pyto, numEdges)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetEdges_v2(hGraph, size_t numEdges = 0):
 *     """ Returns a graph's dependency edges (12.3+)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_623cuGraphGetEdges_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_4cuda_622cuGraphGetEdges_v2, "cuGraphGetEdges_v2(hGraph, size_t numEdges=0)\n Returns a graph's dependency edges (12.3+)\n\n    Returns a list of `hGraph's` dependency edges. Edges are returned via\n    corresponding indices in `from`, `to` and `edgeData`; that is, the node\n    in `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\n    function only returns the number of edges in `numEdges`. Otherwise,\n    `numEdges` entries will be filled in. If `numEdges` is higher than the\n    actual number of edges, the remaining entries in `from` and `to` will\n    be set to NULL, and the number of edges actually returned will be\n    written to `numEdges`. `edgeData` may alone be NULL, in which case the\n    edges must all have default (zeroed) edge data. Attempting a lossy\n    query 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\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to get the edges from\n    numEdges : int\n        See description\n\n    Returns\n    -------\n    CUresult\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`\n    from : List[:py:obj:`~.CUgraphNode`]\n        Location to return edge endpoints\n    to : List[:py:obj:`~.CUgraphNode`]\n        Location to return edge endpoints\n    edgeData : List[:py:obj:`~.CUgraphEdgeData`]\n        Optional location to return edge data\n    numEdges : int\n        See description\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_623cuGraphGetEdges_v2 = {"cuGraphGetEdges_v2", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_623cuGraphGetEdges_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_622cuGraphGetEdges_v2};
static PyObject *__pyx_pw_4cuda_4cuda_623cuGraphGetEdges_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  size_t __pyx_v_numEdges;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphGetEdges_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_numEdges,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34004, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numEdges);
          if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34004, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphGetEdges_v2") < 0)) __PYX_ERR(1, 34004, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_hGraph = values[0];
    if (values[1]) {
      __pyx_v_numEdges = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_numEdges == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 34005, __pyx_L3_error)
    } else {
      __pyx_v_numEdges = ((size_t)((size_t)0));
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphGetEdges_v2", 0, 1, 2, __pyx_nargs); __PYX_ERR(1, 34004, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphGetEdges_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_622cuGraphGetEdges_v2(__pyx_self, __pyx_v_hGraph, __pyx_v_numEdges);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_622cuGraphGetEdges_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, size_t __pyx_v_numEdges) {
  size_t __pyx_v__graph_length;
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphNode *__pyx_v_cfrom_;
  PyObject *__pyx_v_pyfrom_ = NULL;
  CUgraphNode *__pyx_v_cto;
  PyObject *__pyx_v_pyto = NULL;
  CUgraphEdgeData *__pyx_v_cedgeData;
  PyObject *__pyx_v_pyedgeData = NULL;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr168__pyx_v_idx;
  size_t __pyx_10genexpr169__pyx_v_idx;
  size_t __pyx_10genexpr170__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  size_t __pyx_t_9;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__809)
  __Pyx_RefNannySetupContext("cuGraphGetEdges_v2", 1);
  __Pyx_TraceCall("cuGraphGetEdges_v2", __pyx_f[1], 34004, 0, __PYX_ERR(1, 34004, __pyx_L1_error));

  /* "cuda/cuda.pyx":34046
 *     :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 ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
  __pyx_v__graph_length = __pyx_v_numEdges;

  /* "cuda/cuda.pyx":34048
 *     cdef size_t _graph_length = numEdges
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34049
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":34048
 *     cdef size_t _graph_length = numEdges
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34050
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34051
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":34052
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34052, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":34050
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34054
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":34055
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     pyfrom_ = []
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34055, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":34056
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL             # <<<<<<<<<<<<<<
 *     pyfrom_ = []
 *     if _graph_length != 0:
 */
  __pyx_v_cfrom_ = NULL;

  /* "cuda/cuda.pyx":34057
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     pyfrom_ = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cfrom_ = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pyfrom_ = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":34058
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     pyfrom_ = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 */
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34059
 *     pyfrom_ = []
 *     if _graph_length != 0:
 *         cfrom_ = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    __pyx_v_cfrom_ = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":34060
 *     if _graph_length != 0:
 *         cfrom_ = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphNode* cto = NULL
 */
    __pyx_t_1 = (__pyx_v_cfrom_ == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":34061
 *         cfrom_ = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     pyto = []
 */
      __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34061, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34061, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34061, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34061, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34061, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34061, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34061, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34061, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(1, 34061, __pyx_L1_error)

      /* "cuda/cuda.pyx":34060
 *     if _graph_length != 0:
 *         cfrom_ = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphNode* cto = NULL
 */
    }

    /* "cuda/cuda.pyx":34058
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     pyfrom_ = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 */
  }

  /* "cuda/cuda.pyx":34062
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphNode* cto = NULL             # <<<<<<<<<<<<<<
 *     pyto = []
 *     if _graph_length != 0:
 */
  __pyx_v_cto = NULL;

  /* "cuda/cuda.pyx":34063
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     pyto = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cto = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 */
  __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_pyto = ((PyObject*)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":34064
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     pyto = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cto = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 */
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34065
 *     pyto = []
 *     if _graph_length != 0:
 *         cto = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    __pyx_v_cto = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":34066
 *     if _graph_length != 0:
 *         cto = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 */
    __pyx_t_1 = (__pyx_v_cto == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":34067
 *         cto = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     pyedgeData = []
 */
      __pyx_t_5 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34067, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34067, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34067, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34067, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34067, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34067, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34067, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34067, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(1, 34067, __pyx_L1_error)

      /* "cuda/cuda.pyx":34066
 *     if _graph_length != 0:
 *         cto = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 */
    }

    /* "cuda/cuda.pyx":34064
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     pyto = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cto = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 */
  }

  /* "cuda/cuda.pyx":34068
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL             # <<<<<<<<<<<<<<
 *     pyedgeData = []
 *     if _graph_length != 0:
 */
  __pyx_v_cedgeData = NULL;

  /* "cuda/cuda.pyx":34069
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     pyedgeData = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 */
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_pyedgeData = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":34070
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     pyedgeData = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:
 */
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34071
 *     pyedgeData = []
 *     if _graph_length != 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *         if cedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 */
    __pyx_v_cedgeData = ((CUgraphEdgeData *)calloc(__pyx_v__graph_length, (sizeof(CUgraphEdgeData))));

    /* "cuda/cuda.pyx":34072
 *     if _graph_length != 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *     err = ccuda.cuGraphGetEdges_v2(chGraph, cfrom_, cto, cedgeData, &numEdges)
 */
    __pyx_t_1 = (__pyx_v_cedgeData == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":34073
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphGetEdges_v2(chGraph, cfrom_, cto, cedgeData, &numEdges)
 *     if CUresult(err) == CUresult(0):
 */
      __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34073, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34073, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34073, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_2, __pyx_n_u_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34073, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34073, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34073, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = PyNumber_Add(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34073, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34073, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(1, 34073, __pyx_L1_error)

      /* "cuda/cuda.pyx":34072
 *     if _graph_length != 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *     err = ccuda.cuGraphGetEdges_v2(chGraph, cfrom_, cto, cedgeData, &numEdges)
 */
    }

    /* "cuda/cuda.pyx":34070
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     pyedgeData = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:
 */
  }

  /* "cuda/cuda.pyx":34074
 *         if cedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *     err = ccuda.cuGraphGetEdges_v2(chGraph, cfrom_, cto, cedgeData, &numEdges)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphGetEdges_v2(__pyx_v_chGraph, __pyx_v_cfrom_, __pyx_v_cto, __pyx_v_cedgeData, (&__pyx_v_numEdges)); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 34074, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":34075
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *     err = ccuda.cuGraphGetEdges_v2(chGraph, cfrom_, cto, cedgeData, &numEdges)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 *     if cfrom_ is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34075, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34075, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 34075, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34076
 *     err = ccuda.cuGraphGetEdges_v2(chGraph, cfrom_, cto, cedgeData, &numEdges)
 *     if CUresult(err) == CUresult(0):
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 */
    { /* enter inner scope */
      __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34076, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr168__pyx_v_idx = __pyx_t_11;
        __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34076, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_4 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_cfrom_[__pyx_10genexpr168__pyx_v_idx]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34076, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_init_value, __pyx_t_4) < 0) __PYX_ERR(1, 34076, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34076, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_4))) __PYX_ERR(1, 34076, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyfrom_, ((PyObject*)__pyx_t_5));
    __pyx_t_5 = 0;

    /* "cuda/cuda.pyx":34075
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *     err = ccuda.cuGraphGetEdges_v2(chGraph, cfrom_, cto, cedgeData, &numEdges)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 *     if cfrom_ is not NULL:
 */
  }

  /* "cuda/cuda.pyx":34077
 *     if CUresult(err) == CUresult(0):
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 *     if cfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfrom_)
 *     if CUresult(err) == CUresult(0):
 */
  __pyx_t_1 = (__pyx_v_cfrom_ != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34078
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 *     if cfrom_ is not NULL:
 *         free(cfrom_)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyto = [CUgraphNode(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]
 */
    free(__pyx_v_cfrom_);

    /* "cuda/cuda.pyx":34077
 *     if CUresult(err) == CUresult(0):
 *         pyfrom_ = [CUgraphNode(init_value=<void_ptr>cfrom_[idx]) for idx in range(_graph_length)]
 *     if cfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfrom_)
 *     if CUresult(err) == CUresult(0):
 */
  }

  /* "cuda/cuda.pyx":34079
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyto = [CUgraphNode(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]
 *     if cto is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34079, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34079, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34079, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 34079, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34080
 *         free(cfrom_)
 *     if CUresult(err) == CUresult(0):
 *         pyto = [CUgraphNode(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cto is not NULL:
 *         free(cto)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34080, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr169__pyx_v_idx = __pyx_t_11;
        __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34080, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_cto[__pyx_10genexpr169__pyx_v_idx]))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34080, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_init_value, __pyx_t_5) < 0) __PYX_ERR(1, 34080, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34080, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 34080, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyto, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":34079
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyto = [CUgraphNode(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]
 *     if cto is not NULL:
 */
  }

  /* "cuda/cuda.pyx":34081
 *     if CUresult(err) == CUresult(0):
 *         pyto = [CUgraphNode(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     if CUresult(err) == CUresult(0):
 */
  __pyx_t_1 = (__pyx_v_cto != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34082
 *         pyto = [CUgraphNode(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]
 *     if cto is not NULL:
 *         free(cto)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 */
    free(__pyx_v_cto);

    /* "cuda/cuda.pyx":34081
 *     if CUresult(err) == CUresult(0):
 *         pyto = [CUgraphNode(init_value=<void_ptr>cto[idx]) for idx in range(_graph_length)]
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     if CUresult(err) == CUresult(0):
 */
  }

  /* "cuda/cuda.pyx":34083
 *     if cto is not NULL:
 *         free(cto)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 *     if cedgeData is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 34083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34084
 *         free(cto)
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cedgeData is not NULL:
 *         free(cedgeData)
 */
    { /* enter inner scope */
      __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34084, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr170__pyx_v_idx = __pyx_t_11;
        __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34084, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_cedgeData[__pyx_10genexpr170__pyx_v_idx])))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34084, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_ptr, __pyx_t_2) < 0) __PYX_ERR(1, 34084, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphEdgeData), __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34084, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_2))) __PYX_ERR(1, 34084, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyedgeData, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":34083
 *     if cto is not NULL:
 *         free(cto)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 *     if cedgeData is not NULL:
 */
  }

  /* "cuda/cuda.pyx":34085
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 *     if cedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cedgeData)
 *     return (CUresult(err), pyfrom_, pyto, pyedgeData, numEdges)
 */
  __pyx_t_1 = (__pyx_v_cedgeData != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34086
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 *     if cedgeData is not NULL:
 *         free(cedgeData)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pyfrom_, pyto, pyedgeData, numEdges)
 * 
 */
    free(__pyx_v_cedgeData);

    /* "cuda/cuda.pyx":34085
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 *     if cedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cedgeData)
 *     return (CUresult(err), pyfrom_, pyto, pyedgeData, numEdges)
 */
  }

  /* "cuda/cuda.pyx":34087
 *     if cedgeData is not NULL:
 *         free(cedgeData)
 *     return (CUresult(err), pyfrom_, pyto, pyedgeData, numEdges)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34087, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_numEdges); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(5); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34087, __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)) __PYX_ERR(1, 34087, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyfrom_);
  __Pyx_GIVEREF(__pyx_v_pyfrom_);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_pyfrom_)) __PYX_ERR(1, 34087, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyto);
  __Pyx_GIVEREF(__pyx_v_pyto);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_pyto)) __PYX_ERR(1, 34087, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyedgeData);
  __Pyx_GIVEREF(__pyx_v_pyedgeData);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_v_pyedgeData)) __PYX_ERR(1, 34087, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 4, __pyx_t_2)) __PYX_ERR(1, 34087, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":34004
 *     return (CUresult(err), pyfrom_, pyto, numEdges)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetEdges_v2(hGraph, size_t numEdges = 0):
 *     """ Returns a graph's dependency edges (12.3+)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuGraphGetEdges_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF(__pyx_v_pyfrom_);
  __Pyx_XDECREF(__pyx_v_pyto);
  __Pyx_XDECREF(__pyx_v_pyedgeData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34089
 *     return (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_4cuda_625cuGraphNodeGetDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_624cuGraphNodeGetDependencies, "cuGraphNodeGetDependencies(hNode, size_t numDependencies=0)\n Returns a node's dependencies.\n\n    Returns a list of `node's` dependencies. `dependencies` may be NULL, in\n    which case this function will return the number of dependencies in\n    `numDependencies`. Otherwise, `numDependencies` entries will be filled\n    in. If `numDependencies` is higher than the actual number of\n    dependencies, the remaining entries in `dependencies` will be set to\n    NULL, and the number of nodes actually obtained will be returned in\n    `numDependencies`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to query\n    numDependencies : int\n        See description\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_VALUE`\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Pointer to return the dependencies\n    numDependencies : int\n        See description\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphNodeGetDependentNodes`, :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_625cuGraphNodeGetDependencies = {"cuGraphNodeGetDependencies", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_625cuGraphNodeGetDependencies, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_624cuGraphNodeGetDependencies};
static PyObject *__pyx_pw_4cuda_4cuda_625cuGraphNodeGetDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_numDependencies,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34089, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies);
          if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34089, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphNodeGetDependencies") < 0)) __PYX_ERR(1, 34089, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_hNode = values[0];
    if (values[1]) {
      __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 34090, __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(1, 34089, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphNodeGetDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_624cuGraphNodeGetDependencies(__pyx_self, __pyx_v_hNode, __pyx_v_numDependencies);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_624cuGraphNodeGetDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, size_t __pyx_v_numDependencies) {
  size_t __pyx_v__graph_length;
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphNode *__pyx_v_cdependencies;
  PyObject *__pyx_v_pydependencies = NULL;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr171__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  size_t __pyx_t_9;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__810)
  __Pyx_RefNannySetupContext("cuGraphNodeGetDependencies", 1);
  __Pyx_TraceCall("cuGraphNodeGetDependencies", __pyx_f[1], 34089, 0, __PYX_ERR(1, 34089, __pyx_L1_error));

  /* "cuda/cuda.pyx":34121
 *     :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 ccuda.CUgraphNode chNode
 *     if hNode is None:
 */
  __pyx_v__graph_length = __pyx_v_numDependencies;

  /* "cuda/cuda.pyx":34123
 *     cdef size_t _graph_length = numDependencies
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34124
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":34123
 *     cdef size_t _graph_length = numDependencies
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34125
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34126
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":34127
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34127, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":34125
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34129
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34129, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":34130
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     pydependencies = []
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34130, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":34131
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     pydependencies = []
 *     if _graph_length != 0:
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":34132
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     pydependencies = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cdependencies = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pydependencies = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":34133
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     pydependencies = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34134
 *     pydependencies = []
 *     if _graph_length != 0:
 *         cdependencies = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":34135
 *     if _graph_length != 0:
 *         cdependencies = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphNodeGetDependencies(chNode, cdependencies, &numDependencies)
 */
    __pyx_t_1 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":34136
 *         cdependencies = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphNodeGetDependencies(chNode, cdependencies, &numDependencies)
 *     if CUresult(err) == CUresult(0):
 */
      __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34136, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34136, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34136, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34136, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34136, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34136, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34136, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34136, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(1, 34136, __pyx_L1_error)

      /* "cuda/cuda.pyx":34135
 *     if _graph_length != 0:
 *         cdependencies = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphNodeGetDependencies(chNode, cdependencies, &numDependencies)
 */
    }

    /* "cuda/cuda.pyx":34133
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     pydependencies = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":34137
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphNodeGetDependencies(chNode, cdependencies, &numDependencies)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cdependencies[idx]) for idx in range(_graph_length)]
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphNodeGetDependencies(__pyx_v_chNode, __pyx_v_cdependencies, (&__pyx_v_numDependencies)); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 34137, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":34138
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphNodeGetDependencies(chNode, cdependencies, &numDependencies)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cdependencies[idx]) for idx in range(_graph_length)]
 *     if cdependencies is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34138, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 34138, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34139
 *     err = ccuda.cuGraphNodeGetDependencies(chNode, cdependencies, &numDependencies)
 *     if CUresult(err) == CUresult(0):
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cdependencies[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34139, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr171__pyx_v_idx = __pyx_t_11;
        __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34139, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_cdependencies[__pyx_10genexpr171__pyx_v_idx]))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34139, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_init_value, __pyx_t_5) < 0) __PYX_ERR(1, 34139, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34139, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 34139, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pydependencies, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":34138
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphNodeGetDependencies(chNode, cdependencies, &numDependencies)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cdependencies[idx]) for idx in range(_graph_length)]
 *     if cdependencies is not NULL:
 */
  }

  /* "cuda/cuda.pyx":34140
 *     if CUresult(err) == CUresult(0):
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cdependencies[idx]) for idx in range(_graph_length)]
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), pydependencies, numDependencies)
 */
  __pyx_t_1 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34141
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cdependencies[idx]) for idx in range(_graph_length)]
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pydependencies, numDependencies)
 * 
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":34140
 *     if CUresult(err) == CUresult(0):
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cdependencies[idx]) for idx in range(_graph_length)]
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), pydependencies, numDependencies)
 */
  }

  /* "cuda/cuda.pyx":34142
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (CUresult(err), pydependencies, numDependencies)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 34142, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pydependencies);
  __Pyx_GIVEREF(__pyx_v_pydependencies);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_pydependencies)) __PYX_ERR(1, 34142, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_5)) __PYX_ERR(1, 34142, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":34089
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuGraphNodeGetDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_pydependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34144
 *     return (CUresult(err), pydependencies, numDependencies)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependencies_v2(hNode, size_t numDependencies = 0):
 *     """ Returns a node's dependencies (12.3+)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_627cuGraphNodeGetDependencies_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_4cuda_626cuGraphNodeGetDependencies_v2, "cuGraphNodeGetDependencies_v2(hNode, size_t numDependencies=0)\n Returns a node's dependencies (12.3+)\n\n    Returns a list of `node's` dependencies. `dependencies` may be NULL, in\n    which case this function will return the number of dependencies in\n    `numDependencies`. Otherwise, `numDependencies` entries will be filled\n    in. If `numDependencies` is higher than the actual number of\n    dependencies, the remaining entries in `dependencies` will be set to\n    NULL, and the number of nodes actually obtained will be returned in\n    `numDependencies`.\n\n    Note 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\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to query\n    numDependencies : int\n        See description\n\n    Returns\n    -------\n    CUresult\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`\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Pointer to return the dependencies\n    edgeData : List[:py:obj:`~.CUgraphEdgeData`]\n        Optional array to return edge data for each dependency\n    numDependencies : int\n        See description\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphNodeGetDependentNodes`, :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_627cuGraphNodeGetDependencies_v2 = {"cuGraphNodeGetDependencies_v2", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_627cuGraphNodeGetDependencies_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_626cuGraphNodeGetDependencies_v2};
static PyObject *__pyx_pw_4cuda_4cuda_627cuGraphNodeGetDependencies_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  size_t __pyx_v_numDependencies;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphNodeGetDependencies_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_numDependencies,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34144, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies);
          if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34144, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphNodeGetDependencies_v2") < 0)) __PYX_ERR(1, 34144, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_hNode = values[0];
    if (values[1]) {
      __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 34145, __pyx_L3_error)
    } else {
      __pyx_v_numDependencies = ((size_t)((size_t)0));
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetDependencies_v2", 0, 1, 2, __pyx_nargs); __PYX_ERR(1, 34144, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphNodeGetDependencies_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_626cuGraphNodeGetDependencies_v2(__pyx_self, __pyx_v_hNode, __pyx_v_numDependencies);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_626cuGraphNodeGetDependencies_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, size_t __pyx_v_numDependencies) {
  size_t __pyx_v__graph_length;
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphNode *__pyx_v_cdependencies;
  PyObject *__pyx_v_pydependencies = NULL;
  CUgraphEdgeData *__pyx_v_cedgeData;
  PyObject *__pyx_v_pyedgeData = NULL;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr172__pyx_v_idx;
  size_t __pyx_10genexpr173__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  size_t __pyx_t_9;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__811)
  __Pyx_RefNannySetupContext("cuGraphNodeGetDependencies_v2", 1);
  __Pyx_TraceCall("cuGraphNodeGetDependencies_v2", __pyx_f[1], 34144, 0, __PYX_ERR(1, 34144, __pyx_L1_error));

  /* "cuda/cuda.pyx":34183
 *     :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 ccuda.CUgraphNode chNode
 *     if hNode is None:
 */
  __pyx_v__graph_length = __pyx_v_numDependencies;

  /* "cuda/cuda.pyx":34185
 *     cdef size_t _graph_length = numDependencies
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34186
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":34185
 *     cdef size_t _graph_length = numDependencies
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34187
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34188
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":34189
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34189, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":34187
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34191
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34191, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":34192
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     pydependencies = []
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34192, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":34193
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     pydependencies = []
 *     if _graph_length != 0:
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":34194
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     pydependencies = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cdependencies = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pydependencies = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":34195
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     pydependencies = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34196
 *     pydependencies = []
 *     if _graph_length != 0:
 *         cdependencies = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":34197
 *     if _graph_length != 0:
 *         cdependencies = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 */
    __pyx_t_1 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":34198
 *         cdependencies = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     pyedgeData = []
 */
      __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(1, 34198, __pyx_L1_error)

      /* "cuda/cuda.pyx":34197
 *     if _graph_length != 0:
 *         cdependencies = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 */
    }

    /* "cuda/cuda.pyx":34195
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     pydependencies = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":34199
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL             # <<<<<<<<<<<<<<
 *     pyedgeData = []
 *     if _graph_length != 0:
 */
  __pyx_v_cedgeData = NULL;

  /* "cuda/cuda.pyx":34200
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     pyedgeData = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 */
  __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_pyedgeData = ((PyObject*)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":34201
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     pyedgeData = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:
 */
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34202
 *     pyedgeData = []
 *     if _graph_length != 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *         if cedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 */
    __pyx_v_cedgeData = ((CUgraphEdgeData *)calloc(__pyx_v__graph_length, (sizeof(CUgraphEdgeData))));

    /* "cuda/cuda.pyx":34203
 *     if _graph_length != 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *     err = ccuda.cuGraphNodeGetDependencies_v2(chNode, cdependencies, cedgeData, &numDependencies)
 */
    __pyx_t_1 = (__pyx_v_cedgeData == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":34204
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphNodeGetDependencies_v2(chNode, cdependencies, cedgeData, &numDependencies)
 *     if CUresult(err) == CUresult(0):
 */
      __pyx_t_5 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34204, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34204, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34204, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34204, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34204, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34204, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34204, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34204, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(1, 34204, __pyx_L1_error)

      /* "cuda/cuda.pyx":34203
 *     if _graph_length != 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *     err = ccuda.cuGraphNodeGetDependencies_v2(chNode, cdependencies, cedgeData, &numDependencies)
 */
    }

    /* "cuda/cuda.pyx":34201
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     pyedgeData = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:
 */
  }

  /* "cuda/cuda.pyx":34205
 *         if cedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *     err = ccuda.cuGraphNodeGetDependencies_v2(chNode, cdependencies, cedgeData, &numDependencies)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cdependencies[idx]) for idx in range(_graph_length)]
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphNodeGetDependencies_v2(__pyx_v_chNode, __pyx_v_cdependencies, __pyx_v_cedgeData, (&__pyx_v_numDependencies)); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 34205, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":34206
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *     err = ccuda.cuGraphNodeGetDependencies_v2(chNode, cdependencies, cedgeData, &numDependencies)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cdependencies[idx]) for idx in range(_graph_length)]
 *     if cdependencies is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34206, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34206, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34206, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 34206, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34207
 *     err = ccuda.cuGraphNodeGetDependencies_v2(chNode, cdependencies, cedgeData, &numDependencies)
 *     if CUresult(err) == CUresult(0):
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cdependencies[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
    { /* enter inner scope */
      __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34207, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr172__pyx_v_idx = __pyx_t_11;
        __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34207, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_cdependencies[__pyx_10genexpr172__pyx_v_idx]))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34207, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_init_value, __pyx_t_2) < 0) __PYX_ERR(1, 34207, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34207, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_2))) __PYX_ERR(1, 34207, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pydependencies, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":34206
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *     err = ccuda.cuGraphNodeGetDependencies_v2(chNode, cdependencies, cedgeData, &numDependencies)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cdependencies[idx]) for idx in range(_graph_length)]
 *     if cdependencies is not NULL:
 */
  }

  /* "cuda/cuda.pyx":34208
 *     if CUresult(err) == CUresult(0):
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cdependencies[idx]) for idx in range(_graph_length)]
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     if CUresult(err) == CUresult(0):
 */
  __pyx_t_1 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34209
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cdependencies[idx]) for idx in range(_graph_length)]
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":34208
 *     if CUresult(err) == CUresult(0):
 *         pydependencies = [CUgraphNode(init_value=<void_ptr>cdependencies[idx]) for idx in range(_graph_length)]
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     if CUresult(err) == CUresult(0):
 */
  }

  /* "cuda/cuda.pyx":34210
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 *     if cedgeData is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34210, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 34210, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34211
 *         free(cdependencies)
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cedgeData is not NULL:
 *         free(cedgeData)
 */
    { /* enter inner scope */
      __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34211, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr173__pyx_v_idx = __pyx_t_11;
        __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34211, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_4 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_cedgeData[__pyx_10genexpr173__pyx_v_idx])))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34211, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_4) < 0) __PYX_ERR(1, 34211, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphEdgeData), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34211, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_4))) __PYX_ERR(1, 34211, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyedgeData, ((PyObject*)__pyx_t_5));
    __pyx_t_5 = 0;

    /* "cuda/cuda.pyx":34210
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 *     if cedgeData is not NULL:
 */
  }

  /* "cuda/cuda.pyx":34212
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 *     if cedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cedgeData)
 *     return (CUresult(err), pydependencies, pyedgeData, numDependencies)
 */
  __pyx_t_1 = (__pyx_v_cedgeData != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34213
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 *     if cedgeData is not NULL:
 *         free(cedgeData)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pydependencies, pyedgeData, numDependencies)
 * 
 */
    free(__pyx_v_cedgeData);

    /* "cuda/cuda.pyx":34212
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 *     if cedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cedgeData)
 *     return (CUresult(err), pydependencies, pyedgeData, numDependencies)
 */
  }

  /* "cuda/cuda.pyx":34214
 *     if cedgeData is not NULL:
 *         free(cedgeData)
 *     return (CUresult(err), pydependencies, pyedgeData, numDependencies)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5)) __PYX_ERR(1, 34214, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pydependencies);
  __Pyx_GIVEREF(__pyx_v_pydependencies);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_pydependencies)) __PYX_ERR(1, 34214, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyedgeData);
  __Pyx_GIVEREF(__pyx_v_pyedgeData);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_pyedgeData)) __PYX_ERR(1, 34214, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_4)) __PYX_ERR(1, 34214, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":34144
 *     return (CUresult(err), pydependencies, numDependencies)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependencies_v2(hNode, size_t numDependencies = 0):
 *     """ Returns a node's dependencies (12.3+)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuGraphNodeGetDependencies_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_pydependencies);
  __Pyx_XDECREF(__pyx_v_pyedgeData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34216
 *     return (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_4cuda_629cuGraphNodeGetDependentNodes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_628cuGraphNodeGetDependentNodes, "cuGraphNodeGetDependentNodes(hNode, size_t numDependentNodes=0)\n Returns a node's dependent nodes.\n\n    Returns a list of `node's` dependent nodes. `dependentNodes` may be\n    NULL, in which case this function will return the number of dependent\n    nodes in `numDependentNodes`. Otherwise, `numDependentNodes` entries\n    will be filled in. If `numDependentNodes` is higher than the actual\n    number of dependent nodes, the remaining entries in `dependentNodes`\n    will be set to NULL, and the number of nodes actually obtained will be\n    returned in `numDependentNodes`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to query\n    numDependentNodes : int\n        See description\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_VALUE`\n    dependentNodes : List[:py:obj:`~.CUgraphNode`]\n        Pointer to return the dependent nodes\n    numDependentNodes : int\n        See description\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_629cuGraphNodeGetDependentNodes = {"cuGraphNodeGetDependentNodes", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_629cuGraphNodeGetDependentNodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_628cuGraphNodeGetDependentNodes};
static PyObject *__pyx_pw_4cuda_4cuda_629cuGraphNodeGetDependentNodes(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_numDependentNodes,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34216, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependentNodes);
          if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34216, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphNodeGetDependentNodes") < 0)) __PYX_ERR(1, 34216, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_hNode = values[0];
    if (values[1]) {
      __pyx_v_numDependentNodes = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_numDependentNodes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 34217, __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(1, 34216, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphNodeGetDependentNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_628cuGraphNodeGetDependentNodes(__pyx_self, __pyx_v_hNode, __pyx_v_numDependentNodes);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_628cuGraphNodeGetDependentNodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, size_t __pyx_v_numDependentNodes) {
  size_t __pyx_v__graph_length;
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphNode *__pyx_v_cdependentNodes;
  PyObject *__pyx_v_pydependentNodes = NULL;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr174__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  size_t __pyx_t_9;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__812)
  __Pyx_RefNannySetupContext("cuGraphNodeGetDependentNodes", 1);
  __Pyx_TraceCall("cuGraphNodeGetDependentNodes", __pyx_f[1], 34216, 0, __PYX_ERR(1, 34216, __pyx_L1_error));

  /* "cuda/cuda.pyx":34248
 *     :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 ccuda.CUgraphNode chNode
 *     if hNode is None:
 */
  __pyx_v__graph_length = __pyx_v_numDependentNodes;

  /* "cuda/cuda.pyx":34250
 *     cdef size_t _graph_length = numDependentNodes
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34251
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":34250
 *     cdef size_t _graph_length = numDependentNodes
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34252
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34253
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":34254
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34254, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":34252
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34256
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphNode* cdependentNodes = NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34256, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34256, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":34257
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependentNodes = NULL
 *     pydependentNodes = []
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34257, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":34258
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphNode* cdependentNodes = NULL             # <<<<<<<<<<<<<<
 *     pydependentNodes = []
 *     if _graph_length != 0:
 */
  __pyx_v_cdependentNodes = NULL;

  /* "cuda/cuda.pyx":34259
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphNode* cdependentNodes = NULL
 *     pydependentNodes = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cdependentNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pydependentNodes = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":34260
 *     cdef ccuda.CUgraphNode* cdependentNodes = NULL
 *     pydependentNodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cdependentNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependentNodes is NULL:
 */
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34261
 *     pydependentNodes = []
 *     if _graph_length != 0:
 *         cdependentNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependentNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    __pyx_v_cdependentNodes = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":34262
 *     if _graph_length != 0:
 *         cdependentNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependentNodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphNodeGetDependentNodes(chNode, cdependentNodes, &numDependentNodes)
 */
    __pyx_t_1 = (__pyx_v_cdependentNodes == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":34263
 *         cdependentNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependentNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphNodeGetDependentNodes(chNode, cdependentNodes, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):
 */
      __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34263, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34263, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34263, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34263, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34263, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34263, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34263, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34263, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(1, 34263, __pyx_L1_error)

      /* "cuda/cuda.pyx":34262
 *     if _graph_length != 0:
 *         cdependentNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependentNodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphNodeGetDependentNodes(chNode, cdependentNodes, &numDependentNodes)
 */
    }

    /* "cuda/cuda.pyx":34260
 *     cdef ccuda.CUgraphNode* cdependentNodes = NULL
 *     pydependentNodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cdependentNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependentNodes is NULL:
 */
  }

  /* "cuda/cuda.pyx":34264
 *         if cdependentNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphNodeGetDependentNodes(chNode, cdependentNodes, &numDependentNodes)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cdependentNodes[idx]) for idx in range(_graph_length)]
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphNodeGetDependentNodes(__pyx_v_chNode, __pyx_v_cdependentNodes, (&__pyx_v_numDependentNodes)); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 34264, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":34265
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphNodeGetDependentNodes(chNode, cdependentNodes, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cdependentNodes[idx]) for idx in range(_graph_length)]
 *     if cdependentNodes is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34265, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34265, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34265, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 34265, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34266
 *     err = ccuda.cuGraphNodeGetDependentNodes(chNode, cdependentNodes, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cdependentNodes[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cdependentNodes is not NULL:
 *         free(cdependentNodes)
 */
    { /* enter inner scope */
      __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34266, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr174__pyx_v_idx = __pyx_t_11;
        __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34266, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_cdependentNodes[__pyx_10genexpr174__pyx_v_idx]))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34266, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_init_value, __pyx_t_5) < 0) __PYX_ERR(1, 34266, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34266, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 34266, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pydependentNodes, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":34265
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     err = ccuda.cuGraphNodeGetDependentNodes(chNode, cdependentNodes, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cdependentNodes[idx]) for idx in range(_graph_length)]
 *     if cdependentNodes is not NULL:
 */
  }

  /* "cuda/cuda.pyx":34267
 *     if CUresult(err) == CUresult(0):
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cdependentNodes[idx]) for idx in range(_graph_length)]
 *     if cdependentNodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependentNodes)
 *     return (CUresult(err), pydependentNodes, numDependentNodes)
 */
  __pyx_t_1 = (__pyx_v_cdependentNodes != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34268
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cdependentNodes[idx]) for idx in range(_graph_length)]
 *     if cdependentNodes is not NULL:
 *         free(cdependentNodes)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pydependentNodes, numDependentNodes)
 * 
 */
    free(__pyx_v_cdependentNodes);

    /* "cuda/cuda.pyx":34267
 *     if CUresult(err) == CUresult(0):
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cdependentNodes[idx]) for idx in range(_graph_length)]
 *     if cdependentNodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependentNodes)
 *     return (CUresult(err), pydependentNodes, numDependentNodes)
 */
  }

  /* "cuda/cuda.pyx":34269
 *     if cdependentNodes is not NULL:
 *         free(cdependentNodes)
 *     return (CUresult(err), pydependentNodes, numDependentNodes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependentNodes); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 34269, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pydependentNodes);
  __Pyx_GIVEREF(__pyx_v_pydependentNodes);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_pydependentNodes)) __PYX_ERR(1, 34269, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_5)) __PYX_ERR(1, 34269, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":34216
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuGraphNodeGetDependentNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_pydependentNodes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34271
 *     return (CUresult(err), pydependentNodes, numDependentNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependentNodes_v2(hNode, size_t numDependentNodes = 0):
 *     """ Returns a node's dependent nodes (12.3+)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_631cuGraphNodeGetDependentNodes_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_4cuda_630cuGraphNodeGetDependentNodes_v2, "cuGraphNodeGetDependentNodes_v2(hNode, size_t numDependentNodes=0)\n Returns a node's dependent nodes (12.3+)\n\n    Returns a list of `node's` dependent nodes. `dependentNodes` may be\n    NULL, in which case this function will return the number of dependent\n    nodes in `numDependentNodes`. Otherwise, `numDependentNodes` entries\n    will be filled in. If `numDependentNodes` is higher than the actual\n    number of dependent nodes, the remaining entries in `dependentNodes`\n    will be set to NULL, and the number of nodes actually obtained will be\n    returned in `numDependentNodes`.\n\n    Note 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\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to query\n    numDependentNodes : int\n        See description\n\n    Returns\n    -------\n    CUresult\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`\n    dependentNodes : List[:py:obj:`~.CUgraphNode`]\n        Pointer to return the dependent nodes\n    edgeData : List[:py:obj:`~.CUgraphEdgeData`]\n        Optional pointer to return edge data for dependent nodes\n    numDependentNodes : int\n        See description\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphGetNodes`, :py:obj:`~.cuGraphGetRootNodes`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphRemoveDependencies`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_631cuGraphNodeGetDependentNodes_v2 = {"cuGraphNodeGetDependentNodes_v2", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_631cuGraphNodeGetDependentNodes_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_630cuGraphNodeGetDependentNodes_v2};
static PyObject *__pyx_pw_4cuda_4cuda_631cuGraphNodeGetDependentNodes_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hNode = 0;
  size_t __pyx_v_numDependentNodes;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphNodeGetDependentNodes_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_numDependentNodes,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34271, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependentNodes);
          if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
          else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34271, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphNodeGetDependentNodes_v2") < 0)) __PYX_ERR(1, 34271, __pyx_L3_error)
      }
    } else {
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_hNode = values[0];
    if (values[1]) {
      __pyx_v_numDependentNodes = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_numDependentNodes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 34272, __pyx_L3_error)
    } else {
      __pyx_v_numDependentNodes = ((size_t)((size_t)0));
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetDependentNodes_v2", 0, 1, 2, __pyx_nargs); __PYX_ERR(1, 34271, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphNodeGetDependentNodes_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_630cuGraphNodeGetDependentNodes_v2(__pyx_self, __pyx_v_hNode, __pyx_v_numDependentNodes);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_630cuGraphNodeGetDependentNodes_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, size_t __pyx_v_numDependentNodes) {
  size_t __pyx_v__graph_length;
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphNode *__pyx_v_cdependentNodes;
  PyObject *__pyx_v_pydependentNodes = NULL;
  CUgraphEdgeData *__pyx_v_cedgeData;
  PyObject *__pyx_v_pyedgeData = NULL;
  CUresult __pyx_v_err;
  size_t __pyx_10genexpr175__pyx_v_idx;
  size_t __pyx_10genexpr176__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  size_t __pyx_t_9;
  size_t __pyx_t_10;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__813)
  __Pyx_RefNannySetupContext("cuGraphNodeGetDependentNodes_v2", 1);
  __Pyx_TraceCall("cuGraphNodeGetDependentNodes_v2", __pyx_f[1], 34271, 0, __PYX_ERR(1, 34271, __pyx_L1_error));

  /* "cuda/cuda.pyx":34310
 *     :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 ccuda.CUgraphNode chNode
 *     if hNode is None:
 */
  __pyx_v__graph_length = __pyx_v_numDependentNodes;

  /* "cuda/cuda.pyx":34312
 *     cdef size_t _graph_length = numDependentNodes
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34313
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":34312
 *     cdef size_t _graph_length = numDependentNodes
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34314
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34315
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34315, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":34316
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34316, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":34314
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34318
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphNode* cdependentNodes = NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":34319
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependentNodes = NULL
 *     pydependentNodes = []
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34319, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":34320
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphNode* cdependentNodes = NULL             # <<<<<<<<<<<<<<
 *     pydependentNodes = []
 *     if _graph_length != 0:
 */
  __pyx_v_cdependentNodes = NULL;

  /* "cuda/cuda.pyx":34321
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphNode* cdependentNodes = NULL
 *     pydependentNodes = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cdependentNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 */
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pydependentNodes = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":34322
 *     cdef ccuda.CUgraphNode* cdependentNodes = NULL
 *     pydependentNodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cdependentNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependentNodes is NULL:
 */
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34323
 *     pydependentNodes = []
 *     if _graph_length != 0:
 *         cdependentNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependentNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    __pyx_v_cdependentNodes = ((CUgraphNode *)calloc(__pyx_v__graph_length, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":34324
 *     if _graph_length != 0:
 *         cdependentNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependentNodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 */
    __pyx_t_1 = (__pyx_v_cdependentNodes == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":34325
 *         cdependentNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependentNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     pyedgeData = []
 */
      __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34325, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34325, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34325, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_4, __pyx_n_u_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34325, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34325, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34325, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34325, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34325, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(1, 34325, __pyx_L1_error)

      /* "cuda/cuda.pyx":34324
 *     if _graph_length != 0:
 *         cdependentNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependentNodes is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 */
    }

    /* "cuda/cuda.pyx":34322
 *     cdef ccuda.CUgraphNode* cdependentNodes = NULL
 *     pydependentNodes = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cdependentNodes = <ccuda.CUgraphNode*>calloc(_graph_length, sizeof(ccuda.CUgraphNode))
 *         if cdependentNodes is NULL:
 */
  }

  /* "cuda/cuda.pyx":34326
 *         if cdependentNodes is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL             # <<<<<<<<<<<<<<
 *     pyedgeData = []
 *     if _graph_length != 0:
 */
  __pyx_v_cedgeData = NULL;

  /* "cuda/cuda.pyx":34327
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     pyedgeData = []             # <<<<<<<<<<<<<<
 *     if _graph_length != 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 */
  __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_pyedgeData = ((PyObject*)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":34328
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     pyedgeData = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:
 */
  __pyx_t_1 = (__pyx_v__graph_length != 0);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34329
 *     pyedgeData = []
 *     if _graph_length != 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *         if cedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 */
    __pyx_v_cedgeData = ((CUgraphEdgeData *)calloc(__pyx_v__graph_length, (sizeof(CUgraphEdgeData))));

    /* "cuda/cuda.pyx":34330
 *     if _graph_length != 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *     err = ccuda.cuGraphNodeGetDependentNodes_v2(chNode, cdependentNodes, cedgeData, &numDependentNodes)
 */
    __pyx_t_1 = (__pyx_v_cedgeData == NULL);
    if (unlikely(__pyx_t_1)) {

      /* "cuda/cuda.pyx":34331
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphNodeGetDependentNodes_v2(chNode, cdependentNodes, cedgeData, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):
 */
      __pyx_t_5 = __Pyx_PyInt_FromSize_t(__pyx_v__graph_length); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34331, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34331, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34331, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_n_u_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34331, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34331, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_2 = __Pyx_PyObject_Str(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34331, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34331, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34331, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(1, 34331, __pyx_L1_error)

      /* "cuda/cuda.pyx":34330
 *     if _graph_length != 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *     err = ccuda.cuGraphNodeGetDependentNodes_v2(chNode, cdependentNodes, cedgeData, &numDependentNodes)
 */
    }

    /* "cuda/cuda.pyx":34328
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     pyedgeData = []
 *     if _graph_length != 0:             # <<<<<<<<<<<<<<
 *         cedgeData = <ccuda.CUgraphEdgeData*>calloc(_graph_length, sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:
 */
  }

  /* "cuda/cuda.pyx":34332
 *         if cedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *     err = ccuda.cuGraphNodeGetDependentNodes_v2(chNode, cdependentNodes, cedgeData, &numDependentNodes)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cdependentNodes[idx]) for idx in range(_graph_length)]
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphNodeGetDependentNodes_v2(__pyx_v_chNode, __pyx_v_cdependentNodes, __pyx_v_cedgeData, (&__pyx_v_numDependentNodes)); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 34332, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":34333
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *     err = ccuda.cuGraphNodeGetDependentNodes_v2(chNode, cdependentNodes, cedgeData, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cdependentNodes[idx]) for idx in range(_graph_length)]
 *     if cdependentNodes is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34333, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 34333, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34334
 *     err = ccuda.cuGraphNodeGetDependentNodes_v2(chNode, cdependentNodes, cedgeData, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cdependentNodes[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cdependentNodes is not NULL:
 *         free(cdependentNodes)
 */
    { /* enter inner scope */
      __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34334, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr175__pyx_v_idx = __pyx_t_11;
        __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34334, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_cdependentNodes[__pyx_10genexpr175__pyx_v_idx]))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34334, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_init_value, __pyx_t_2) < 0) __PYX_ERR(1, 34334, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34334, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_2))) __PYX_ERR(1, 34334, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pydependentNodes, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":34333
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(_graph_length) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *     err = ccuda.cuGraphNodeGetDependentNodes_v2(chNode, cdependentNodes, cedgeData, &numDependentNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cdependentNodes[idx]) for idx in range(_graph_length)]
 *     if cdependentNodes is not NULL:
 */
  }

  /* "cuda/cuda.pyx":34335
 *     if CUresult(err) == CUresult(0):
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cdependentNodes[idx]) for idx in range(_graph_length)]
 *     if cdependentNodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependentNodes)
 *     if CUresult(err) == CUresult(0):
 */
  __pyx_t_1 = (__pyx_v_cdependentNodes != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34336
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cdependentNodes[idx]) for idx in range(_graph_length)]
 *     if cdependentNodes is not NULL:
 *         free(cdependentNodes)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 */
    free(__pyx_v_cdependentNodes);

    /* "cuda/cuda.pyx":34335
 *     if CUresult(err) == CUresult(0):
 *         pydependentNodes = [CUgraphNode(init_value=<void_ptr>cdependentNodes[idx]) for idx in range(_graph_length)]
 *     if cdependentNodes is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependentNodes)
 *     if CUresult(err) == CUresult(0):
 */
  }

  /* "cuda/cuda.pyx":34337
 *     if cdependentNodes is not NULL:
 *         free(cdependentNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 *     if cedgeData is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34337, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 34337, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34338
 *         free(cdependentNodes)
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]             # <<<<<<<<<<<<<<
 *     if cedgeData is not NULL:
 *         free(cedgeData)
 */
    { /* enter inner scope */
      __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34338, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = __pyx_v__graph_length;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr176__pyx_v_idx = __pyx_t_11;
        __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34338, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_4 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(&(__pyx_v_cedgeData[__pyx_10genexpr176__pyx_v_idx])))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34338, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ptr, __pyx_t_4) < 0) __PYX_ERR(1, 34338, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphEdgeData), __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34338, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_4))) __PYX_ERR(1, 34338, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pyedgeData, ((PyObject*)__pyx_t_5));
    __pyx_t_5 = 0;

    /* "cuda/cuda.pyx":34337
 *     if cdependentNodes is not NULL:
 *         free(cdependentNodes)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 *     if cedgeData is not NULL:
 */
  }

  /* "cuda/cuda.pyx":34339
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 *     if cedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cedgeData)
 *     return (CUresult(err), pydependentNodes, pyedgeData, numDependentNodes)
 */
  __pyx_t_1 = (__pyx_v_cedgeData != NULL);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34340
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 *     if cedgeData is not NULL:
 *         free(cedgeData)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pydependentNodes, pyedgeData, numDependentNodes)
 * 
 */
    free(__pyx_v_cedgeData);

    /* "cuda/cuda.pyx":34339
 *     if CUresult(err) == CUresult(0):
 *         pyedgeData = [CUgraphEdgeData(_ptr=<void_ptr>&cedgeData[idx]) for idx in range(_graph_length)]
 *     if cedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cedgeData)
 *     return (CUresult(err), pydependentNodes, pyedgeData, numDependentNodes)
 */
  }

  /* "cuda/cuda.pyx":34341
 *     if cedgeData is not NULL:
 *         free(cedgeData)
 *     return (CUresult(err), pydependentNodes, pyedgeData, numDependentNodes)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 34341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependentNodes); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5)) __PYX_ERR(1, 34341, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pydependentNodes);
  __Pyx_GIVEREF(__pyx_v_pydependentNodes);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_pydependentNodes)) __PYX_ERR(1, 34341, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyedgeData);
  __Pyx_GIVEREF(__pyx_v_pyedgeData);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_pyedgeData)) __PYX_ERR(1, 34341, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_4)) __PYX_ERR(1, 34341, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":34271
 *     return (CUresult(err), pydependentNodes, numDependentNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependentNodes_v2(hNode, size_t numDependentNodes = 0):
 *     """ Returns a node's dependent nodes (12.3+)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuGraphNodeGetDependentNodes_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XDECREF(__pyx_v_pydependentNodes);
  __Pyx_XDECREF(__pyx_v_pyedgeData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34343
 *     return (CUresult(err), pydependentNodes, pyedgeData, numDependentNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], size_t numDependencies):
 *     """ Adds dependency edges to a graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_633cuGraphAddDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_632cuGraphAddDependencies, "cuGraphAddDependencies(hGraph, list from_: Optional[List[CUgraphNode]], list to: Optional[List[CUgraphNode]], size_t numDependencies)\n Adds dependency edges to a graph.\n\n    The number of dependencies to be added is defined by `numDependencies`\n    Elements in `from` and `to` at corresponding indices define a\n    dependency. Each node in `from` and `to` must belong to `hGraph`.\n\n    If `numDependencies` is 0, elements in `from` and `to` will be ignored.\n    Specifying an existing dependency will return an error.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which dependencies are added\n    from : List[:py:obj:`~.CUgraphNode`]\n        Array of nodes that provide the dependencies\n    to : List[:py:obj:`~.CUgraphNode`]\n        Array of dependent nodes\n    numDependencies : size_t\n        Number of dependencies to be added\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphRemoveDependencies`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_633cuGraphAddDependencies = {"cuGraphAddDependencies", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_633cuGraphAddDependencies, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_632cuGraphAddDependencies};
static PyObject *__pyx_pw_4cuda_4cuda_633cuGraphAddDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_from_ = 0;
  PyObject *__pyx_v_to = 0;
  size_t __pyx_v_numDependencies;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddDependencies (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_from,&__pyx_n_s_to,&__pyx_n_s_numDependencies,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34343, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_from)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34343, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddDependencies", 1, 4, 4, 1); __PYX_ERR(1, 34343, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_to)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34343, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddDependencies", 1, 4, 4, 2); __PYX_ERR(1, 34343, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34343, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddDependencies", 1, 4, 4, 3); __PYX_ERR(1, 34343, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphAddDependencies") < 0)) __PYX_ERR(1, 34343, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_from_ = ((PyObject*)values[1]);
    __pyx_v_to = ((PyObject*)values[2]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 34344, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddDependencies", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 34343, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_from_), (&PyList_Type), 1, "from_", 1))) __PYX_ERR(1, 34344, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_to), (&PyList_Type), 1, "to", 1))) __PYX_ERR(1, 34344, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_632cuGraphAddDependencies(__pyx_self, __pyx_v_hGraph, __pyx_v_from_, __pyx_v_to, __pyx_v_numDependencies);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_22cuGraphAddDependencies_2generator39(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":34375
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 */

static PyObject *__pyx_pf_4cuda_4cuda_22cuGraphAddDependencies_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_39_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_39_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_39_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_39_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 34375, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_22cuGraphAddDependencies_2generator39, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddDependencies_locals_ge, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 34375, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_22cuGraphAddDependencies_2generator39(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_39_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_39_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 34375, 0, __PYX_ERR(1, 34375, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 34375, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 34375, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 34375, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 34375, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 34375, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34375, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_22cuGraphAddDependencies_5generator40(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":34378
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_22cuGraphAddDependencies_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_40_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_40_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_40_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_40_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 34378, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_22cuGraphAddDependencies_5generator40, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddDependencies_locals_ge, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 34378, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_22cuGraphAddDependencies_5generator40(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_40_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_40_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 34378, 0, __PYX_ERR(1, 34378, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 34378, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 34378, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 34378, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 34378, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 34378, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34343
 *     return (CUresult(err), pydependentNodes, pyedgeData, numDependentNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], size_t numDependencies):
 *     """ Adds dependency edges to a graph.
 */

static PyObject *__pyx_pf_4cuda_4cuda_632cuGraphAddDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, size_t __pyx_v_numDependencies) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphNode *__pyx_v_cfrom_;
  Py_ssize_t __pyx_v_idx;
  CUgraphNode *__pyx_v_cto;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_22cuGraphAddDependencies_2generator39 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_22cuGraphAddDependencies_5generator40 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  CUgraphNode *__pyx_t_10;
  CUgraphNode *__pyx_t_11;
  CUresult __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__814)
  __Pyx_RefNannySetupContext("cuGraphAddDependencies", 0);
  __Pyx_TraceCall("cuGraphAddDependencies", __pyx_f[1], 34343, 0, __PYX_ERR(1, 34343, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_from_);
  __Pyx_INCREF(__pyx_v_to);

  /* "cuda/cuda.pyx":34374
 *     :py:obj:`~.cuGraphRemoveDependencies`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`
 *     """
 *     to = [] if to is None else to             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.CUgraphNode,]")
 */
  __pyx_t_2 = (__pyx_v_to == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34374, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_to);
    __pyx_t_1 = __pyx_v_to;
  }
  __Pyx_DECREF_SET(__pyx_v_to, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":34375
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_22cuGraphAddDependencies_genexpr(NULL, __pyx_v_to); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34375, __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(1, 34375, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":34376
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__815, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34376, __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(1, 34376, __pyx_L1_error)

    /* "cuda/cuda.pyx":34375
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 */
  }

  /* "cuda/cuda.pyx":34377
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_4 = (__pyx_v_from_ == ((PyObject*)Py_None));
  if (__pyx_t_4) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34377, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_from_);
    __pyx_t_3 = __pyx_v_from_;
  }
  __Pyx_DECREF_SET(__pyx_v_from_, ((PyObject*)__pyx_t_3));
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":34378
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_3 = __pyx_pf_4cuda_4cuda_22cuGraphAddDependencies_3genexpr(NULL, __pyx_v_from_); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34378, __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(1, 34378, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":34379
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__816, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34379, __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, 34379, __pyx_L1_error)

    /* "cuda/cuda.pyx":34378
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":34381
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_2 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":34382
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":34381
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":34383
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":34384
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_phGraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":34385
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34385, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":34383
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":34387
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 */
  /*else*/ {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_phGraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":34388
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     if len(from_) > 0:
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34388, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":34389
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL             # <<<<<<<<<<<<<<
 *     if len(from_) > 0:
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cfrom_ = NULL;

  /* "cuda/cuda.pyx":34390
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     if len(from_) > 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 */
  if (unlikely(__pyx_v_from_ == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34390, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34390, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 > 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":34391
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     if len(from_) > 0:
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_from_ == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 34391, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34391, __pyx_L1_error)
    __pyx_v_cfrom_ = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":34392
 *     if len(from_) > 0:
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_2 = (__pyx_v_cfrom_ == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cuda.pyx":34393
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(from_)):
 */
      if (unlikely(__pyx_v_from_ == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34393, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34393, __pyx_L1_error)
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34393, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34393, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34393, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34393, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34393, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34393, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34393, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34393, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 34393, __pyx_L1_error)

      /* "cuda/cuda.pyx":34392
 *     if len(from_) > 0:
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":34395
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(from_)):             # <<<<<<<<<<<<<<
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]
 *     cdef ccuda.CUgraphNode* cto = NULL
 */
    /*else*/ {
      if (unlikely(__pyx_v_from_ == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34395, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34395, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":34396
 *         else:
 *             for idx in range(len(from_)):
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     if len(to) > 0:
 */
        if (unlikely(__pyx_v_from_ == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 34396, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_from_, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34396, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cfrom_[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":34390
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     if len(from_) > 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 */
  }

  /* "cuda/cuda.pyx":34397
 *             for idx in range(len(from_)):
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]
 *     cdef ccuda.CUgraphNode* cto = NULL             # <<<<<<<<<<<<<<
 *     if len(to) > 0:
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cto = NULL;

  /* "cuda/cuda.pyx":34398
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     if len(to) > 0:             # <<<<<<<<<<<<<<
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 */
  if (unlikely(__pyx_v_to == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34398, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34398, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 > 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":34399
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     if len(to) > 0:
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_to == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 34399, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34399, __pyx_L1_error)
    __pyx_v_cto = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":34400
 *     if len(to) > 0:
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_2 = (__pyx_v_cto == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cuda.pyx":34401
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(to)):
 */
      if (unlikely(__pyx_v_to == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34401, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34401, __pyx_L1_error)
      __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34401, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34401, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34401, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34401, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34401, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34401, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34401, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34401, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(1, 34401, __pyx_L1_error)

      /* "cuda/cuda.pyx":34400
 *     if len(to) > 0:
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":34403
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(to)):             # <<<<<<<<<<<<<<
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]
 *     err = ccuda.cuGraphAddDependencies(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, numDependencies)
 */
    /*else*/ {
      if (unlikely(__pyx_v_to == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34403, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34403, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":34404
 *         else:
 *             for idx in range(len(to)):
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphAddDependencies(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, numDependencies)
 *     if cfrom_ is not NULL:
 */
        if (unlikely(__pyx_v_to == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 34404, __pyx_L1_error)
        }
        __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_to, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34404, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cto[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/cuda.pyx":34398
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     if len(to) > 0:             # <<<<<<<<<<<<<<
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 */
  }

  /* "cuda/cuda.pyx":34405
 *             for idx in range(len(to)):
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]
 *     err = ccuda.cuGraphAddDependencies(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, numDependencies)             # <<<<<<<<<<<<<<
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 */
  if (unlikely(__pyx_v_from_ == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34405, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34405, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 == 1);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_from_ == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 34405, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_from_, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_10 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1)->_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cfrom_;
  }
  if (unlikely(__pyx_v_to == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34405, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34405, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 == 1);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_to == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 34405, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_to, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1)->_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cto;
  }
  __pyx_t_12 = __pyx_f_4cuda_5ccuda_cuGraphAddDependencies(__pyx_v_chGraph, __pyx_t_10, __pyx_t_11, __pyx_v_numDependencies); if (unlikely(__pyx_t_12 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 34405, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cuda.pyx":34406
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]
 *     err = ccuda.cuGraphAddDependencies(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, numDependencies)
 *     if cfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfrom_)
 *     if cto is not NULL:
 */
  __pyx_t_2 = (__pyx_v_cfrom_ != NULL);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":34407
 *     err = ccuda.cuGraphAddDependencies(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, numDependencies)
 *     if cfrom_ is not NULL:
 *         free(cfrom_)             # <<<<<<<<<<<<<<
 *     if cto is not NULL:
 *         free(cto)
 */
    free(__pyx_v_cfrom_);

    /* "cuda/cuda.pyx":34406
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]
 *     err = ccuda.cuGraphAddDependencies(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, numDependencies)
 *     if cfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfrom_)
 *     if cto is not NULL:
 */
  }

  /* "cuda/cuda.pyx":34408
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = (__pyx_v_cto != NULL);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":34409
 *         free(cfrom_)
 *     if cto is not NULL:
 *         free(cto)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
    free(__pyx_v_cto);

    /* "cuda/cuda.pyx":34408
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     return (CUresult(err),)
 */
  }

  /* "cuda/cuda.pyx":34410
 *     if cto is not NULL:
 *         free(cto)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_13 = NULL;
  __pyx_t_14 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_14 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_14, 1+__pyx_t_14);
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34410, __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)) __PYX_ERR(1, 34410, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":34343
 *     return (CUresult(err), pydependentNodes, pyedgeData, numDependentNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], size_t numDependencies):
 *     """ Adds dependency edges to a graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_22cuGraphAddDependencies_2generator39);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_22cuGraphAddDependencies_5generator40);
  __Pyx_XDECREF(__pyx_v_from_);
  __Pyx_XDECREF(__pyx_v_to);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34412
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies_v2(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], edgeData : Optional[List[CUgraphEdgeData]], size_t numDependencies):
 *     """ Adds dependency edges to a graph (12.3+)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_635cuGraphAddDependencies_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_4cuda_634cuGraphAddDependencies_v2, "cuGraphAddDependencies_v2(hGraph, list from_: Optional[List[CUgraphNode]], list to: Optional[List[CUgraphNode]], list edgeData: Optional[List[CUgraphEdgeData]], size_t numDependencies)\n Adds dependency edges to a graph (12.3+)\n\n    The number of dependencies to be added is defined by `numDependencies`\n    Elements in `from` and `to` at corresponding indices define a\n    dependency. Each node in `from` and `to` must belong to `hGraph`.\n\n    If `numDependencies` is 0, elements in `from` and `to` will be ignored.\n    Specifying an existing dependency will return an error.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which dependencies are added\n    from : List[:py:obj:`~.CUgraphNode`]\n        Array of nodes that provide the dependencies\n    to : List[:py:obj:`~.CUgraphNode`]\n        Array of dependent nodes\n    edgeData : List[:py:obj:`~.CUgraphEdgeData`]\n        Optional array of edge data. If NULL, default (zeroed) edge data is\n        assumed.\n    numDependencies : size_t\n        Number of dependencies to be added\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphRemoveDependencies`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_635cuGraphAddDependencies_v2 = {"cuGraphAddDependencies_v2", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_635cuGraphAddDependencies_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_634cuGraphAddDependencies_v2};
static PyObject *__pyx_pw_4cuda_4cuda_635cuGraphAddDependencies_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_from_ = 0;
  PyObject *__pyx_v_to = 0;
  PyObject *__pyx_v_edgeData = 0;
  size_t __pyx_v_numDependencies;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddDependencies_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_from,&__pyx_n_s_to,&__pyx_n_s_edgeData,&__pyx_n_s_numDependencies,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34412, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_from)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34412, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddDependencies_v2", 1, 5, 5, 1); __PYX_ERR(1, 34412, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_to)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34412, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddDependencies_v2", 1, 5, 5, 2); __PYX_ERR(1, 34412, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_edgeData)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34412, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddDependencies_v2", 1, 5, 5, 3); __PYX_ERR(1, 34412, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34412, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddDependencies_v2", 1, 5, 5, 4); __PYX_ERR(1, 34412, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphAddDependencies_v2") < 0)) __PYX_ERR(1, 34412, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_from_ = ((PyObject*)values[1]);
    __pyx_v_to = ((PyObject*)values[2]);
    __pyx_v_edgeData = ((PyObject*)values[3]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 34413, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddDependencies_v2", 1, 5, 5, __pyx_nargs); __PYX_ERR(1, 34412, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddDependencies_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_from_), (&PyList_Type), 1, "from_", 1))) __PYX_ERR(1, 34413, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_to), (&PyList_Type), 1, "to", 1))) __PYX_ERR(1, 34413, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_edgeData), (&PyList_Type), 1, "edgeData", 1))) __PYX_ERR(1, 34413, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_634cuGraphAddDependencies_v2(__pyx_self, __pyx_v_hGraph, __pyx_v_from_, __pyx_v_to, __pyx_v_edgeData, __pyx_v_numDependencies);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_25cuGraphAddDependencies_v2_2generator41(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":34447
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     to = [] if to is None else to
 */

static PyObject *__pyx_pf_4cuda_4cuda_25cuGraphAddDependencies_v2_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_41_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_41_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_41_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_41_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 34447, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_25cuGraphAddDependencies_v2_2generator41, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddDependencies_v2_locals, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 34447, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddDependencies_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_4cuda_25cuGraphAddDependencies_v2_2generator41(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_41_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_41_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 34447, 0, __PYX_ERR(1, 34447, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 34447, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 34447, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 34447, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 34447, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 34447, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphEdgeData); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_25cuGraphAddDependencies_v2_5generator42(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":34450
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 */

static PyObject *__pyx_pf_4cuda_4cuda_25cuGraphAddDependencies_v2_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_42_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_42_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_42_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_42_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 34450, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_25cuGraphAddDependencies_v2_5generator42, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddDependencies_v2_locals, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 34450, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddDependencies_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_4cuda_25cuGraphAddDependencies_v2_5generator42(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_42_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_42_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 34450, 0, __PYX_ERR(1, 34450, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 34450, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 34450, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 34450, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 34450, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 34450, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34450, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_25cuGraphAddDependencies_v2_8generator43(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":34453
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_25cuGraphAddDependencies_v2_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_43_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_43_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_43_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_43_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 34453, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_25cuGraphAddDependencies_v2_8generator43, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddDependencies_v2_locals, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 34453, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddDependencies_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_4cuda_25cuGraphAddDependencies_v2_8generator43(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_43_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_43_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 34453, 0, __PYX_ERR(1, 34453, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 34453, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 34453, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 34453, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 34453, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 34453, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34453, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34412
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies_v2(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], edgeData : Optional[List[CUgraphEdgeData]], size_t numDependencies):
 *     """ Adds dependency edges to a graph (12.3+)
 */

static PyObject *__pyx_pf_4cuda_4cuda_634cuGraphAddDependencies_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, PyObject *__pyx_v_edgeData, size_t __pyx_v_numDependencies) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphNode *__pyx_v_cfrom_;
  Py_ssize_t __pyx_v_idx;
  CUgraphNode *__pyx_v_cto;
  CUgraphEdgeData *__pyx_v_cedgeData;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_25cuGraphAddDependencies_v2_2generator41 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_25cuGraphAddDependencies_v2_5generator42 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_25cuGraphAddDependencies_v2_8generator43 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  CUgraphNode *__pyx_t_10;
  CUgraphNode *__pyx_t_11;
  struct CUgraphEdgeData_st *__pyx_t_12;
  CUresult __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__817)
  __Pyx_RefNannySetupContext("cuGraphAddDependencies_v2", 0);
  __Pyx_TraceCall("cuGraphAddDependencies_v2", __pyx_f[1], 34412, 0, __PYX_ERR(1, 34412, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_from_);
  __Pyx_INCREF(__pyx_v_to);
  __Pyx_INCREF(__pyx_v_edgeData);

  /* "cuda/cuda.pyx":34446
 *     :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 List[ccuda.CUgraphEdgeData,]")
 */
  __pyx_t_2 = (__pyx_v_edgeData == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34446, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":34447
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     to = [] if to is None else to
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_25cuGraphAddDependencies_v2_genexpr(NULL, __pyx_v_edgeData); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34447, __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(1, 34447, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":34448
 *     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 List[ccuda.CUgraphEdgeData,]")             # <<<<<<<<<<<<<<
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__818, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34448, __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(1, 34448, __pyx_L1_error)

    /* "cuda/cuda.pyx":34447
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     to = [] if to is None else to
 */
  }

  /* "cuda/cuda.pyx":34449
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in edgeData):
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_4 = (__pyx_v_to == ((PyObject*)Py_None));
  if (__pyx_t_4) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34449, __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, ((PyObject*)__pyx_t_3));
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":34450
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 */
  __pyx_t_3 = __pyx_pf_4cuda_4cuda_25cuGraphAddDependencies_v2_3genexpr(NULL, __pyx_v_to); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34450, __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(1, 34450, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":34451
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__815, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34451, __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, 34451, __pyx_L1_error)

    /* "cuda/cuda.pyx":34450
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 */
  }

  /* "cuda/cuda.pyx":34452
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_2 = (__pyx_v_from_ == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34452, __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_, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":34453
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_25cuGraphAddDependencies_v2_6genexpr(NULL, __pyx_v_from_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34453, __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(1, 34453, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":34454
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__816, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34454, __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(1, 34454, __pyx_L1_error)

    /* "cuda/cuda.pyx":34453
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":34456
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":34457
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":34456
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cuda.pyx":34458
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":34459
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34459, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":34460
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34460, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":34458
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L6;
  }

  /* "cuda/cuda.pyx":34462
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34462, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34462, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":34463
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     if len(from_) > 0:
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34463, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cuda.pyx":34464
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL             # <<<<<<<<<<<<<<
 *     if len(from_) > 0:
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cfrom_ = NULL;

  /* "cuda/cuda.pyx":34465
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     if len(from_) > 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 */
  if (unlikely(__pyx_v_from_ == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34465, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34465, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":34466
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     if len(from_) > 0:
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_from_ == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 34466, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34466, __pyx_L1_error)
    __pyx_v_cfrom_ = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":34467
 *     if len(from_) > 0:
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_4 = (__pyx_v_cfrom_ == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":34468
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(from_)):
 */
      if (unlikely(__pyx_v_from_ == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34468, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34468, __pyx_L1_error)
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34468, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34468, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34468, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34468, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34468, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34468, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34468, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34468, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 34468, __pyx_L1_error)

      /* "cuda/cuda.pyx":34467
 *     if len(from_) > 0:
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":34470
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(from_)):             # <<<<<<<<<<<<<<
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]
 *     cdef ccuda.CUgraphNode* cto = NULL
 */
    /*else*/ {
      if (unlikely(__pyx_v_from_ == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34470, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34470, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":34471
 *         else:
 *             for idx in range(len(from_)):
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     if len(to) > 0:
 */
        if (unlikely(__pyx_v_from_ == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 34471, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_from_, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34471, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cfrom_[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":34465
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     if len(from_) > 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 */
  }

  /* "cuda/cuda.pyx":34472
 *             for idx in range(len(from_)):
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]
 *     cdef ccuda.CUgraphNode* cto = NULL             # <<<<<<<<<<<<<<
 *     if len(to) > 0:
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cto = NULL;

  /* "cuda/cuda.pyx":34473
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     if len(to) > 0:             # <<<<<<<<<<<<<<
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 */
  if (unlikely(__pyx_v_to == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34473, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34473, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":34474
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     if len(to) > 0:
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_to == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 34474, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34474, __pyx_L1_error)
    __pyx_v_cto = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":34475
 *     if len(to) > 0:
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_4 = (__pyx_v_cto == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":34476
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(to)):
 */
      if (unlikely(__pyx_v_to == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34476, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34476, __pyx_L1_error)
      __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34476, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34476, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34476, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_n_u_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34476, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34476, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34476, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34476, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34476, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(1, 34476, __pyx_L1_error)

      /* "cuda/cuda.pyx":34475
 *     if len(to) > 0:
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":34478
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(to)):             # <<<<<<<<<<<<<<
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 */
    /*else*/ {
      if (unlikely(__pyx_v_to == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34478, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34478, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":34479
 *         else:
 *             for idx in range(len(to)):
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     if len(edgeData) > 0:
 */
        if (unlikely(__pyx_v_to == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 34479, __pyx_L1_error)
        }
        __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_to, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34479, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cto[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_3)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/cuda.pyx":34473
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     if len(to) > 0:             # <<<<<<<<<<<<<<
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 */
  }

  /* "cuda/cuda.pyx":34480
 *             for idx in range(len(to)):
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL             # <<<<<<<<<<<<<<
 *     if len(edgeData) > 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*> calloc(len(edgeData), sizeof(ccuda.CUgraphEdgeData))
 */
  __pyx_v_cedgeData = NULL;

  /* "cuda/cuda.pyx":34481
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     if len(edgeData) > 0:             # <<<<<<<<<<<<<<
 *         cedgeData = <ccuda.CUgraphEdgeData*> calloc(len(edgeData), sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:
 */
  if (unlikely(__pyx_v_edgeData == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34481, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_edgeData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34481, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":34482
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     if len(edgeData) > 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*> calloc(len(edgeData), sizeof(ccuda.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *         if cedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 */
    if (unlikely(__pyx_v_edgeData == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 34482, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_edgeData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34482, __pyx_L1_error)
    __pyx_v_cedgeData = ((CUgraphEdgeData *)calloc(__pyx_t_6, (sizeof(CUgraphEdgeData))));

    /* "cuda/cuda.pyx":34483
 *     if len(edgeData) > 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*> calloc(len(edgeData), sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(edgeData)):
 */
    __pyx_t_4 = (__pyx_v_cedgeData == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":34484
 *         cedgeData = <ccuda.CUgraphEdgeData*> calloc(len(edgeData), sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(edgeData)):
 *             string.memcpy(&cedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 */
      if (unlikely(__pyx_v_edgeData == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34484, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_edgeData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34484, __pyx_L1_error)
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34484, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34484, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34484, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34484, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34484, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34484, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_t_7, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34484, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34484, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(1, 34484, __pyx_L1_error)

      /* "cuda/cuda.pyx":34483
 *     if len(edgeData) > 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*> calloc(len(edgeData), sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(edgeData)):
 */
    }

    /* "cuda/cuda.pyx":34485
 *         if cedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(edgeData)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     err = ccuda.cuGraphAddDependencies_v2(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, (<CUgraphEdgeData>edgeData[0])._ptr if len(edgeData) == 1 else cedgeData, numDependencies)
 */
    if (unlikely(__pyx_v_edgeData == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 34485, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_edgeData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34485, __pyx_L1_error)
    __pyx_t_8 = __pyx_t_6;
    for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
      __pyx_v_idx = __pyx_t_9;

      /* "cuda/cuda.pyx":34486
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(edgeData)):
 *             string.memcpy(&cedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphAddDependencies_v2(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, (<CUgraphEdgeData>edgeData[0])._ptr if len(edgeData) == 1 else cedgeData, numDependencies)
 *     if cfrom_ is not NULL:
 */
      if (unlikely(__pyx_v_edgeData == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(1, 34486, __pyx_L1_error)
      }
      __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_edgeData, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34486, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      (void)(memcpy((&(__pyx_v_cedgeData[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData *)__pyx_t_1)->__pyx_base._ptr, (sizeof(CUgraphEdgeData))));
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }

    /* "cuda/cuda.pyx":34481
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     if len(edgeData) > 0:             # <<<<<<<<<<<<<<
 *         cedgeData = <ccuda.CUgraphEdgeData*> calloc(len(edgeData), sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:
 */
  }

  /* "cuda/cuda.pyx":34487
 *         for idx in range(len(edgeData)):
 *             string.memcpy(&cedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     err = ccuda.cuGraphAddDependencies_v2(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, (<CUgraphEdgeData>edgeData[0])._ptr if len(edgeData) == 1 else cedgeData, numDependencies)             # <<<<<<<<<<<<<<
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 */
  if (unlikely(__pyx_v_from_ == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34487, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34487, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_from_ == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 34487, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_from_, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_10 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1)->_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cfrom_;
  }
  if (unlikely(__pyx_v_to == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34487, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34487, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_to == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 34487, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_to, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1)->_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cto;
  }
  if (unlikely(__pyx_v_edgeData == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34487, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_edgeData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34487, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_edgeData == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 34487, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_edgeData, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_12 = ((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData *)__pyx_t_1)->__pyx_base._ptr;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_12 = __pyx_v_cedgeData;
  }
  __pyx_t_13 = __pyx_f_4cuda_5ccuda_cuGraphAddDependencies_v2(__pyx_v_chGraph, __pyx_t_10, __pyx_t_11, __pyx_t_12, __pyx_v_numDependencies); if (unlikely(__pyx_t_13 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 34487, __pyx_L1_error)
  __pyx_v_err = __pyx_t_13;

  /* "cuda/cuda.pyx":34488
 *             string.memcpy(&cedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     err = ccuda.cuGraphAddDependencies_v2(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, (<CUgraphEdgeData>edgeData[0])._ptr if len(edgeData) == 1 else cedgeData, numDependencies)
 *     if cfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfrom_)
 *     if cto is not NULL:
 */
  __pyx_t_4 = (__pyx_v_cfrom_ != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":34489
 *     err = ccuda.cuGraphAddDependencies_v2(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, (<CUgraphEdgeData>edgeData[0])._ptr if len(edgeData) == 1 else cedgeData, numDependencies)
 *     if cfrom_ is not NULL:
 *         free(cfrom_)             # <<<<<<<<<<<<<<
 *     if cto is not NULL:
 *         free(cto)
 */
    free(__pyx_v_cfrom_);

    /* "cuda/cuda.pyx":34488
 *             string.memcpy(&cedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     err = ccuda.cuGraphAddDependencies_v2(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, (<CUgraphEdgeData>edgeData[0])._ptr if len(edgeData) == 1 else cedgeData, numDependencies)
 *     if cfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfrom_)
 *     if cto is not NULL:
 */
  }

  /* "cuda/cuda.pyx":34490
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     if cedgeData is not NULL:
 */
  __pyx_t_4 = (__pyx_v_cto != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":34491
 *         free(cfrom_)
 *     if cto is not NULL:
 *         free(cto)             # <<<<<<<<<<<<<<
 *     if cedgeData is not NULL:
 *         free(cedgeData)
 */
    free(__pyx_v_cto);

    /* "cuda/cuda.pyx":34490
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     if cedgeData is not NULL:
 */
  }

  /* "cuda/cuda.pyx":34492
 *     if cto is not NULL:
 *         free(cto)
 *     if cedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cedgeData)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = (__pyx_v_cedgeData != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":34493
 *         free(cto)
 *     if cedgeData is not NULL:
 *         free(cedgeData)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
    free(__pyx_v_cedgeData);

    /* "cuda/cuda.pyx":34492
 *     if cto is not NULL:
 *         free(cto)
 *     if cedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cedgeData)
 *     return (CUresult(err),)
 */
  }

  /* "cuda/cuda.pyx":34494
 *     if cedgeData is not NULL:
 *         free(cedgeData)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_14 = NULL;
  __pyx_t_15 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_14)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_14);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_15 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_15, 1+__pyx_t_15);
    __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34494, __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)) __PYX_ERR(1, 34494, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":34412
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies_v2(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], edgeData : Optional[List[CUgraphEdgeData]], size_t numDependencies):
 *     """ Adds dependency edges to a graph (12.3+)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddDependencies_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_25cuGraphAddDependencies_v2_2generator41);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_25cuGraphAddDependencies_v2_5generator42);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_25cuGraphAddDependencies_v2_8generator43);
  __Pyx_XDECREF(__pyx_v_from_);
  __Pyx_XDECREF(__pyx_v_to);
  __Pyx_XDECREF(__pyx_v_edgeData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34496
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], size_t numDependencies):
 *     """ Removes dependency edges from a graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_637cuGraphRemoveDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_636cuGraphRemoveDependencies, "cuGraphRemoveDependencies(hGraph, list from_: Optional[List[CUgraphNode]], list to: Optional[List[CUgraphNode]], size_t numDependencies)\n Removes dependency edges from a graph.\n\n    The number of `dependencies` to be removed is defined by\n    `numDependencies`. Elements in `from` and `to` at corresponding indices\n    define a dependency. Each node in `from` and `to` must belong to\n    `hGraph`.\n\n    If `numDependencies` is 0, elements in `from` and `to` will be ignored.\n    Specifying a non-existing dependency will return an error.\n\n    Dependencies cannot be removed from graphs which contain allocation or\n    free nodes. Any attempt to do so will return an error.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph from which to remove dependencies\n    from : List[:py:obj:`~.CUgraphNode`]\n        Array of nodes that provide the dependencies\n    to : List[:py:obj:`~.CUgraphNode`]\n        Array of dependent nodes\n    numDependencies : size_t\n        Number of dependencies to be removed\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_637cuGraphRemoveDependencies = {"cuGraphRemoveDependencies", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_637cuGraphRemoveDependencies, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_636cuGraphRemoveDependencies};
static PyObject *__pyx_pw_4cuda_4cuda_637cuGraphRemoveDependencies(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_from_ = 0;
  PyObject *__pyx_v_to = 0;
  size_t __pyx_v_numDependencies;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphRemoveDependencies (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_from,&__pyx_n_s_to,&__pyx_n_s_numDependencies,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34496, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_from)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34496, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphRemoveDependencies", 1, 4, 4, 1); __PYX_ERR(1, 34496, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_to)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34496, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphRemoveDependencies", 1, 4, 4, 2); __PYX_ERR(1, 34496, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34496, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphRemoveDependencies", 1, 4, 4, 3); __PYX_ERR(1, 34496, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphRemoveDependencies") < 0)) __PYX_ERR(1, 34496, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_from_ = ((PyObject*)values[1]);
    __pyx_v_to = ((PyObject*)values[2]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 34497, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphRemoveDependencies", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 34496, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphRemoveDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_from_), (&PyList_Type), 1, "from_", 1))) __PYX_ERR(1, 34497, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_to), (&PyList_Type), 1, "to", 1))) __PYX_ERR(1, 34497, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_636cuGraphRemoveDependencies(__pyx_self, __pyx_v_hGraph, __pyx_v_from_, __pyx_v_to, __pyx_v_numDependencies);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_25cuGraphRemoveDependencies_2generator44(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":34532
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 */

static PyObject *__pyx_pf_4cuda_4cuda_25cuGraphRemoveDependencies_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_44_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_44_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_44_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_44_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 34532, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_25cuGraphRemoveDependencies_2generator44, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphRemoveDependencies_locals, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 34532, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_25cuGraphRemoveDependencies_2generator44(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_44_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_44_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 34532, 0, __PYX_ERR(1, 34532, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 34532, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 34532, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 34532, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 34532, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 34532, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34532, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_25cuGraphRemoveDependencies_5generator45(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":34535
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_25cuGraphRemoveDependencies_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_45_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_45_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_45_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_45_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 34535, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_25cuGraphRemoveDependencies_5generator45, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphRemoveDependencies_locals, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 34535, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_25cuGraphRemoveDependencies_5generator45(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_45_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_45_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 34535, 0, __PYX_ERR(1, 34535, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 34535, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 34535, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 34535, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 34535, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 34535, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34535, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34496
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], size_t numDependencies):
 *     """ Removes dependency edges from a graph.
 */

static PyObject *__pyx_pf_4cuda_4cuda_636cuGraphRemoveDependencies(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, size_t __pyx_v_numDependencies) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphNode *__pyx_v_cfrom_;
  Py_ssize_t __pyx_v_idx;
  CUgraphNode *__pyx_v_cto;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_25cuGraphRemoveDependencies_2generator44 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_25cuGraphRemoveDependencies_5generator45 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  CUgraphNode *__pyx_t_10;
  CUgraphNode *__pyx_t_11;
  CUresult __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__819)
  __Pyx_RefNannySetupContext("cuGraphRemoveDependencies", 0);
  __Pyx_TraceCall("cuGraphRemoveDependencies", __pyx_f[1], 34496, 0, __PYX_ERR(1, 34496, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_from_);
  __Pyx_INCREF(__pyx_v_to);

  /* "cuda/cuda.pyx":34531
 *     :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`
 *     """
 *     to = [] if to is None else to             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.CUgraphNode,]")
 */
  __pyx_t_2 = (__pyx_v_to == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34531, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_to);
    __pyx_t_1 = __pyx_v_to;
  }
  __Pyx_DECREF_SET(__pyx_v_to, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":34532
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_25cuGraphRemoveDependencies_genexpr(NULL, __pyx_v_to); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34532, __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(1, 34532, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":34533
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__815, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34533, __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(1, 34533, __pyx_L1_error)

    /* "cuda/cuda.pyx":34532
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 */
  }

  /* "cuda/cuda.pyx":34534
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_4 = (__pyx_v_from_ == ((PyObject*)Py_None));
  if (__pyx_t_4) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __pyx_t_1;
    __pyx_t_1 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_from_);
    __pyx_t_3 = __pyx_v_from_;
  }
  __Pyx_DECREF_SET(__pyx_v_from_, ((PyObject*)__pyx_t_3));
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":34535
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_3 = __pyx_pf_4cuda_4cuda_25cuGraphRemoveDependencies_3genexpr(NULL, __pyx_v_from_); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34535, __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(1, 34535, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":34536
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__816, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34536, __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, 34536, __pyx_L1_error)

    /* "cuda/cuda.pyx":34535
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":34538
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_2 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":34539
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":34538
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":34540
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":34541
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_phGraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":34542
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34542, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":34540
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":34544
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 */
  /*else*/ {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_phGraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":34545
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     if len(from_) > 0:
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34545, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":34546
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL             # <<<<<<<<<<<<<<
 *     if len(from_) > 0:
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cfrom_ = NULL;

  /* "cuda/cuda.pyx":34547
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     if len(from_) > 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 */
  if (unlikely(__pyx_v_from_ == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34547, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34547, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 > 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":34548
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     if len(from_) > 0:
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_from_ == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 34548, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34548, __pyx_L1_error)
    __pyx_v_cfrom_ = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":34549
 *     if len(from_) > 0:
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_2 = (__pyx_v_cfrom_ == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cuda.pyx":34550
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(from_)):
 */
      if (unlikely(__pyx_v_from_ == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34550, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34550, __pyx_L1_error)
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34550, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34550, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34550, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34550, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34550, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34550, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34550, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34550, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 34550, __pyx_L1_error)

      /* "cuda/cuda.pyx":34549
 *     if len(from_) > 0:
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":34552
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(from_)):             # <<<<<<<<<<<<<<
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]
 *     cdef ccuda.CUgraphNode* cto = NULL
 */
    /*else*/ {
      if (unlikely(__pyx_v_from_ == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34552, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34552, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":34553
 *         else:
 *             for idx in range(len(from_)):
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     if len(to) > 0:
 */
        if (unlikely(__pyx_v_from_ == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 34553, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_from_, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34553, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cfrom_[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":34547
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     if len(from_) > 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 */
  }

  /* "cuda/cuda.pyx":34554
 *             for idx in range(len(from_)):
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]
 *     cdef ccuda.CUgraphNode* cto = NULL             # <<<<<<<<<<<<<<
 *     if len(to) > 0:
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cto = NULL;

  /* "cuda/cuda.pyx":34555
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     if len(to) > 0:             # <<<<<<<<<<<<<<
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 */
  if (unlikely(__pyx_v_to == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34555, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34555, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 > 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":34556
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     if len(to) > 0:
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_to == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 34556, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34556, __pyx_L1_error)
    __pyx_v_cto = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":34557
 *     if len(to) > 0:
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_2 = (__pyx_v_cto == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cuda.pyx":34558
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(to)):
 */
      if (unlikely(__pyx_v_to == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34558, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34558, __pyx_L1_error)
      __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34558, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34558, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34558, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34558, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34558, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34558, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34558, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34558, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(1, 34558, __pyx_L1_error)

      /* "cuda/cuda.pyx":34557
 *     if len(to) > 0:
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":34560
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(to)):             # <<<<<<<<<<<<<<
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]
 *     err = ccuda.cuGraphRemoveDependencies(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, numDependencies)
 */
    /*else*/ {
      if (unlikely(__pyx_v_to == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34560, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34560, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":34561
 *         else:
 *             for idx in range(len(to)):
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphRemoveDependencies(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, numDependencies)
 *     if cfrom_ is not NULL:
 */
        if (unlikely(__pyx_v_to == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 34561, __pyx_L1_error)
        }
        __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_to, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34561, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cto[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/cuda.pyx":34555
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     if len(to) > 0:             # <<<<<<<<<<<<<<
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 */
  }

  /* "cuda/cuda.pyx":34562
 *             for idx in range(len(to)):
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]
 *     err = ccuda.cuGraphRemoveDependencies(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, numDependencies)             # <<<<<<<<<<<<<<
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 */
  if (unlikely(__pyx_v_from_ == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34562, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34562, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 == 1);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_from_ == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 34562, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_from_, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_10 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1)->_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cfrom_;
  }
  if (unlikely(__pyx_v_to == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34562, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34562, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 == 1);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_to == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 34562, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_to, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1)->_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cto;
  }
  __pyx_t_12 = __pyx_f_4cuda_5ccuda_cuGraphRemoveDependencies(__pyx_v_chGraph, __pyx_t_10, __pyx_t_11, __pyx_v_numDependencies); if (unlikely(__pyx_t_12 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 34562, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cuda.pyx":34563
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]
 *     err = ccuda.cuGraphRemoveDependencies(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, numDependencies)
 *     if cfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfrom_)
 *     if cto is not NULL:
 */
  __pyx_t_2 = (__pyx_v_cfrom_ != NULL);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":34564
 *     err = ccuda.cuGraphRemoveDependencies(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, numDependencies)
 *     if cfrom_ is not NULL:
 *         free(cfrom_)             # <<<<<<<<<<<<<<
 *     if cto is not NULL:
 *         free(cto)
 */
    free(__pyx_v_cfrom_);

    /* "cuda/cuda.pyx":34563
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]
 *     err = ccuda.cuGraphRemoveDependencies(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, numDependencies)
 *     if cfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfrom_)
 *     if cto is not NULL:
 */
  }

  /* "cuda/cuda.pyx":34565
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = (__pyx_v_cto != NULL);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":34566
 *         free(cfrom_)
 *     if cto is not NULL:
 *         free(cto)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
    free(__pyx_v_cto);

    /* "cuda/cuda.pyx":34565
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     return (CUresult(err),)
 */
  }

  /* "cuda/cuda.pyx":34567
 *     if cto is not NULL:
 *         free(cto)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_13 = NULL;
  __pyx_t_14 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_14 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_14, 1+__pyx_t_14);
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34567, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34567, __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)) __PYX_ERR(1, 34567, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":34496
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], size_t numDependencies):
 *     """ Removes dependency edges from a graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cuda.cuGraphRemoveDependencies", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_25cuGraphRemoveDependencies_2generator44);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_25cuGraphRemoveDependencies_5generator45);
  __Pyx_XDECREF(__pyx_v_from_);
  __Pyx_XDECREF(__pyx_v_to);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34569
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies_v2(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], edgeData : Optional[List[CUgraphEdgeData]], size_t numDependencies):
 *     """ Removes dependency edges from a graph (12.3+)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_639cuGraphRemoveDependencies_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_4cuda_638cuGraphRemoveDependencies_v2, "cuGraphRemoveDependencies_v2(hGraph, list from_: Optional[List[CUgraphNode]], list to: Optional[List[CUgraphNode]], list edgeData: Optional[List[CUgraphEdgeData]], size_t numDependencies)\n Removes dependency edges from a graph (12.3+)\n\n    The number of `dependencies` to be removed is defined by\n    `numDependencies`. Elements in `from` and `to` at corresponding indices\n    define a dependency. Each node in `from` and `to` must belong to\n    `hGraph`.\n\n    If `numDependencies` is 0, elements in `from` and `to` will be ignored.\n    Specifying an edge that does not exist in the graph, with data matching\n    `edgeData`, results in an error. `edgeData` is nullable, which is\n    equivalent to passing default (zeroed) data for each edge.\n\n    Dependencies cannot be removed from graphs which contain allocation or\n    free nodes. Any attempt to do so will return an error.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph from which to remove dependencies\n    from : List[:py:obj:`~.CUgraphNode`]\n        Array of nodes that provide the dependencies\n    to : List[:py:obj:`~.CUgraphNode`]\n        Array of dependent nodes\n    edgeData : List[:py:obj:`~.CUgraphEdgeData`]\n        Optional array of edge data. If NULL, edge data is assumed to be\n        default (zeroed).\n    numDependencies : size_t\n        Number of dependencies to be removed\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphAddDependencies`, :py:obj:`~.cuGraphGetEdges`, :py:obj:`~.cuGraphNodeGetDependencies`, :py:obj:`~.cuGraphNodeGetDependentNodes`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_639cuGraphRemoveDependencies_v2 = {"cuGraphRemoveDependencies_v2", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_639cuGraphRemoveDependencies_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_638cuGraphRemoveDependencies_v2};
static PyObject *__pyx_pw_4cuda_4cuda_639cuGraphRemoveDependencies_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_from_ = 0;
  PyObject *__pyx_v_to = 0;
  PyObject *__pyx_v_edgeData = 0;
  size_t __pyx_v_numDependencies;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphRemoveDependencies_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_from,&__pyx_n_s_to,&__pyx_n_s_edgeData,&__pyx_n_s_numDependencies,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34569, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_from)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34569, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphRemoveDependencies_v2", 1, 5, 5, 1); __PYX_ERR(1, 34569, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_to)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34569, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphRemoveDependencies_v2", 1, 5, 5, 2); __PYX_ERR(1, 34569, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_edgeData)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34569, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphRemoveDependencies_v2", 1, 5, 5, 3); __PYX_ERR(1, 34569, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34569, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphRemoveDependencies_v2", 1, 5, 5, 4); __PYX_ERR(1, 34569, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphRemoveDependencies_v2") < 0)) __PYX_ERR(1, 34569, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_from_ = ((PyObject*)values[1]);
    __pyx_v_to = ((PyObject*)values[2]);
    __pyx_v_edgeData = ((PyObject*)values[3]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[4]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 34570, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphRemoveDependencies_v2", 1, 5, 5, __pyx_nargs); __PYX_ERR(1, 34569, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphRemoveDependencies_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_from_), (&PyList_Type), 1, "from_", 1))) __PYX_ERR(1, 34570, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_to), (&PyList_Type), 1, "to", 1))) __PYX_ERR(1, 34570, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_edgeData), (&PyList_Type), 1, "edgeData", 1))) __PYX_ERR(1, 34570, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_638cuGraphRemoveDependencies_v2(__pyx_self, __pyx_v_hGraph, __pyx_v_from_, __pyx_v_to, __pyx_v_edgeData, __pyx_v_numDependencies);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_28cuGraphRemoveDependencies_v2_2generator46(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":34610
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     to = [] if to is None else to
 */

static PyObject *__pyx_pf_4cuda_4cuda_28cuGraphRemoveDependencies_v2_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_46_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_46_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_46_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_46_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 34610, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_28cuGraphRemoveDependencies_v2_2generator46, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphRemoveDependencies_v2_loc, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 34610, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.cuGraphRemoveDependencies_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_4cuda_28cuGraphRemoveDependencies_v2_2generator46(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_46_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_46_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 34610, 0, __PYX_ERR(1, 34610, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 34610, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 34610, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 34610, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 34610, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 34610, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34610, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphEdgeData); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_28cuGraphRemoveDependencies_v2_5generator47(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":34613
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 */

static PyObject *__pyx_pf_4cuda_4cuda_28cuGraphRemoveDependencies_v2_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_47_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_47_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_47_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_47_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 34613, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_28cuGraphRemoveDependencies_v2_5generator47, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphRemoveDependencies_v2_loc, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 34613, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.cuGraphRemoveDependencies_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_4cuda_28cuGraphRemoveDependencies_v2_5generator47(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_47_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_47_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 34613, 0, __PYX_ERR(1, 34613, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 34613, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 34613, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 34613, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 34613, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 34613, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_28cuGraphRemoveDependencies_v2_8generator48(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":34616
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_28cuGraphRemoveDependencies_v2_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_48_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_48_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_48_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_48_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 34616, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_28cuGraphRemoveDependencies_v2_8generator48, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphRemoveDependencies_v2_loc, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 34616, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.cuGraphRemoveDependencies_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_4cuda_28cuGraphRemoveDependencies_v2_8generator48(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_48_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_48_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 34616, 0, __PYX_ERR(1, 34616, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 34616, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 34616, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 34616, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 34616, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 34616, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34569
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies_v2(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], edgeData : Optional[List[CUgraphEdgeData]], size_t numDependencies):
 *     """ Removes dependency edges from a graph (12.3+)
 */

static PyObject *__pyx_pf_4cuda_4cuda_638cuGraphRemoveDependencies_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_from_, PyObject *__pyx_v_to, PyObject *__pyx_v_edgeData, size_t __pyx_v_numDependencies) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphNode *__pyx_v_cfrom_;
  Py_ssize_t __pyx_v_idx;
  CUgraphNode *__pyx_v_cto;
  CUgraphEdgeData *__pyx_v_cedgeData;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_28cuGraphRemoveDependencies_v2_2generator46 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_28cuGraphRemoveDependencies_v2_5generator47 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_28cuGraphRemoveDependencies_v2_8generator48 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  CUgraphNode *__pyx_t_10;
  CUgraphNode *__pyx_t_11;
  struct CUgraphEdgeData_st *__pyx_t_12;
  CUresult __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__820)
  __Pyx_RefNannySetupContext("cuGraphRemoveDependencies_v2", 0);
  __Pyx_TraceCall("cuGraphRemoveDependencies_v2", __pyx_f[1], 34569, 0, __PYX_ERR(1, 34569, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_from_);
  __Pyx_INCREF(__pyx_v_to);
  __Pyx_INCREF(__pyx_v_edgeData);

  /* "cuda/cuda.pyx":34609
 *     :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 List[ccuda.CUgraphEdgeData,]")
 */
  __pyx_t_2 = (__pyx_v_edgeData == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34609, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":34610
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     to = [] if to is None else to
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_28cuGraphRemoveDependencies_v2_genexpr(NULL, __pyx_v_edgeData); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34610, __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(1, 34610, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":34611
 *     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 List[ccuda.CUgraphEdgeData,]")             # <<<<<<<<<<<<<<
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__818, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34611, __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(1, 34611, __pyx_L1_error)

    /* "cuda/cuda.pyx":34610
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     to = [] if to is None else to
 */
  }

  /* "cuda/cuda.pyx":34612
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in edgeData):
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_4 = (__pyx_v_to == ((PyObject*)Py_None));
  if (__pyx_t_4) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34612, __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, ((PyObject*)__pyx_t_3));
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":34613
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 */
  __pyx_t_3 = __pyx_pf_4cuda_4cuda_28cuGraphRemoveDependencies_v2_3genexpr(NULL, __pyx_v_to); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34613, __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(1, 34613, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":34614
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__815, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34614, __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, 34614, __pyx_L1_error)

    /* "cuda/cuda.pyx":34613
 *         raise TypeError("Argument 'edgeData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     from_ = [] if from_ is None else from_
 */
  }

  /* "cuda/cuda.pyx":34615
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_2 = (__pyx_v_from_ == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34615, __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_, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":34616
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_28cuGraphRemoveDependencies_v2_6genexpr(NULL, __pyx_v_from_); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34616, __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(1, 34616, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":34617
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__816, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34617, __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(1, 34617, __pyx_L1_error)

    /* "cuda/cuda.pyx":34616
 *         raise TypeError("Argument 'to' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":34619
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":34620
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":34619
 *         raise TypeError("Argument 'from_' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L6;
  }

  /* "cuda/cuda.pyx":34621
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":34622
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34622, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":34623
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34623, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":34621
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L6;
  }

  /* "cuda/cuda.pyx":34625
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34625, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34625, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":34626
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     if len(from_) > 0:
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34626, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L6:;

  /* "cuda/cuda.pyx":34627
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL             # <<<<<<<<<<<<<<
 *     if len(from_) > 0:
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cfrom_ = NULL;

  /* "cuda/cuda.pyx":34628
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     if len(from_) > 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 */
  if (unlikely(__pyx_v_from_ == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34628, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34628, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":34629
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     if len(from_) > 0:
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_from_ == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 34629, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34629, __pyx_L1_error)
    __pyx_v_cfrom_ = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":34630
 *     if len(from_) > 0:
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_4 = (__pyx_v_cfrom_ == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":34631
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(from_)):
 */
      if (unlikely(__pyx_v_from_ == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34631, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34631, __pyx_L1_error)
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34631, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34631, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34631, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34631, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34631, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34631, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34631, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34631, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 34631, __pyx_L1_error)

      /* "cuda/cuda.pyx":34630
 *     if len(from_) > 0:
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":34633
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(from_)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(from_)):             # <<<<<<<<<<<<<<
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]
 *     cdef ccuda.CUgraphNode* cto = NULL
 */
    /*else*/ {
      if (unlikely(__pyx_v_from_ == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34633, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34633, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":34634
 *         else:
 *             for idx in range(len(from_)):
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     if len(to) > 0:
 */
        if (unlikely(__pyx_v_from_ == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 34634, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_from_, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34634, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cfrom_[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":34628
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphNode* cfrom_ = NULL
 *     if len(from_) > 0:             # <<<<<<<<<<<<<<
 *         cfrom_ = <ccuda.CUgraphNode*> calloc(len(from_), sizeof(ccuda.CUgraphNode))
 *         if cfrom_ is NULL:
 */
  }

  /* "cuda/cuda.pyx":34635
 *             for idx in range(len(from_)):
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]
 *     cdef ccuda.CUgraphNode* cto = NULL             # <<<<<<<<<<<<<<
 *     if len(to) > 0:
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cto = NULL;

  /* "cuda/cuda.pyx":34636
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     if len(to) > 0:             # <<<<<<<<<<<<<<
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 */
  if (unlikely(__pyx_v_to == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34636, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34636, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":34637
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     if len(to) > 0:
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_to == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 34637, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34637, __pyx_L1_error)
    __pyx_v_cto = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":34638
 *     if len(to) > 0:
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_4 = (__pyx_v_cto == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":34639
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(to)):
 */
      if (unlikely(__pyx_v_to == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34639, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34639, __pyx_L1_error)
      __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34639, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34639, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34639, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_n_u_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34639, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34639, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34639, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34639, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34639, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(1, 34639, __pyx_L1_error)

      /* "cuda/cuda.pyx":34638
 *     if len(to) > 0:
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":34641
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(to)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(to)):             # <<<<<<<<<<<<<<
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 */
    /*else*/ {
      if (unlikely(__pyx_v_to == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34641, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34641, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":34642
 *         else:
 *             for idx in range(len(to)):
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     if len(edgeData) > 0:
 */
        if (unlikely(__pyx_v_to == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 34642, __pyx_L1_error)
        }
        __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_to, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34642, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cto[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_3)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/cuda.pyx":34636
 *                 cfrom_[idx] = <ccuda.CUgraphNode>(<CUgraphNode>from_[idx])._ptr[0]
 *     cdef ccuda.CUgraphNode* cto = NULL
 *     if len(to) > 0:             # <<<<<<<<<<<<<<
 *         cto = <ccuda.CUgraphNode*> calloc(len(to), sizeof(ccuda.CUgraphNode))
 *         if cto is NULL:
 */
  }

  /* "cuda/cuda.pyx":34643
 *             for idx in range(len(to)):
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL             # <<<<<<<<<<<<<<
 *     if len(edgeData) > 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*> calloc(len(edgeData), sizeof(ccuda.CUgraphEdgeData))
 */
  __pyx_v_cedgeData = NULL;

  /* "cuda/cuda.pyx":34644
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     if len(edgeData) > 0:             # <<<<<<<<<<<<<<
 *         cedgeData = <ccuda.CUgraphEdgeData*> calloc(len(edgeData), sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:
 */
  if (unlikely(__pyx_v_edgeData == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34644, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_edgeData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34644, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":34645
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     if len(edgeData) > 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*> calloc(len(edgeData), sizeof(ccuda.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *         if cedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 */
    if (unlikely(__pyx_v_edgeData == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 34645, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_edgeData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34645, __pyx_L1_error)
    __pyx_v_cedgeData = ((CUgraphEdgeData *)calloc(__pyx_t_6, (sizeof(CUgraphEdgeData))));

    /* "cuda/cuda.pyx":34646
 *     if len(edgeData) > 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*> calloc(len(edgeData), sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(edgeData)):
 */
    __pyx_t_4 = (__pyx_v_cedgeData == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":34647
 *         cedgeData = <ccuda.CUgraphEdgeData*> calloc(len(edgeData), sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(edgeData)):
 *             string.memcpy(&cedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 */
      if (unlikely(__pyx_v_edgeData == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 34647, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_edgeData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34647, __pyx_L1_error)
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34647, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34647, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34647, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34647, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34647, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34647, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_t_7, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34647, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34647, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(1, 34647, __pyx_L1_error)

      /* "cuda/cuda.pyx":34646
 *     if len(edgeData) > 0:
 *         cedgeData = <ccuda.CUgraphEdgeData*> calloc(len(edgeData), sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(edgeData)):
 */
    }

    /* "cuda/cuda.pyx":34648
 *         if cedgeData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(edgeData)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     err = ccuda.cuGraphRemoveDependencies_v2(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, (<CUgraphEdgeData>edgeData[0])._ptr if len(edgeData) == 1 else cedgeData, numDependencies)
 */
    if (unlikely(__pyx_v_edgeData == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 34648, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_edgeData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34648, __pyx_L1_error)
    __pyx_t_8 = __pyx_t_6;
    for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
      __pyx_v_idx = __pyx_t_9;

      /* "cuda/cuda.pyx":34649
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(edgeData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(edgeData)):
 *             string.memcpy(&cedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphRemoveDependencies_v2(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, (<CUgraphEdgeData>edgeData[0])._ptr if len(edgeData) == 1 else cedgeData, numDependencies)
 *     if cfrom_ is not NULL:
 */
      if (unlikely(__pyx_v_edgeData == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(1, 34649, __pyx_L1_error)
      }
      __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_edgeData, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34649, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      (void)(memcpy((&(__pyx_v_cedgeData[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData *)__pyx_t_1)->__pyx_base._ptr, (sizeof(CUgraphEdgeData))));
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }

    /* "cuda/cuda.pyx":34644
 *                 cto[idx] = <ccuda.CUgraphNode>(<CUgraphNode>to[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cedgeData = NULL
 *     if len(edgeData) > 0:             # <<<<<<<<<<<<<<
 *         cedgeData = <ccuda.CUgraphEdgeData*> calloc(len(edgeData), sizeof(ccuda.CUgraphEdgeData))
 *         if cedgeData is NULL:
 */
  }

  /* "cuda/cuda.pyx":34650
 *         for idx in range(len(edgeData)):
 *             string.memcpy(&cedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     err = ccuda.cuGraphRemoveDependencies_v2(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, (<CUgraphEdgeData>edgeData[0])._ptr if len(edgeData) == 1 else cedgeData, numDependencies)             # <<<<<<<<<<<<<<
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 */
  if (unlikely(__pyx_v_from_ == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34650, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_from_); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34650, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_from_ == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 34650, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_from_, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34650, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_10 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1)->_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_10 = __pyx_v_cfrom_;
  }
  if (unlikely(__pyx_v_to == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34650, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_to); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34650, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_to == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 34650, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_to, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34650, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1)->_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cto;
  }
  if (unlikely(__pyx_v_edgeData == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 34650, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_edgeData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 34650, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_edgeData == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 34650, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_edgeData, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34650, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_12 = ((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData *)__pyx_t_1)->__pyx_base._ptr;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_12 = __pyx_v_cedgeData;
  }
  __pyx_t_13 = __pyx_f_4cuda_5ccuda_cuGraphRemoveDependencies_v2(__pyx_v_chGraph, __pyx_t_10, __pyx_t_11, __pyx_t_12, __pyx_v_numDependencies); if (unlikely(__pyx_t_13 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 34650, __pyx_L1_error)
  __pyx_v_err = __pyx_t_13;

  /* "cuda/cuda.pyx":34651
 *             string.memcpy(&cedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     err = ccuda.cuGraphRemoveDependencies_v2(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, (<CUgraphEdgeData>edgeData[0])._ptr if len(edgeData) == 1 else cedgeData, numDependencies)
 *     if cfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfrom_)
 *     if cto is not NULL:
 */
  __pyx_t_4 = (__pyx_v_cfrom_ != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":34652
 *     err = ccuda.cuGraphRemoveDependencies_v2(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, (<CUgraphEdgeData>edgeData[0])._ptr if len(edgeData) == 1 else cedgeData, numDependencies)
 *     if cfrom_ is not NULL:
 *         free(cfrom_)             # <<<<<<<<<<<<<<
 *     if cto is not NULL:
 *         free(cto)
 */
    free(__pyx_v_cfrom_);

    /* "cuda/cuda.pyx":34651
 *             string.memcpy(&cedgeData[idx], (<CUgraphEdgeData>edgeData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     err = ccuda.cuGraphRemoveDependencies_v2(chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>from_[0])._ptr if len(from_) == 1 else cfrom_, <ccuda.CUgraphNode*>(<CUgraphNode>to[0])._ptr if len(to) == 1 else cto, (<CUgraphEdgeData>edgeData[0])._ptr if len(edgeData) == 1 else cedgeData, numDependencies)
 *     if cfrom_ is not NULL:             # <<<<<<<<<<<<<<
 *         free(cfrom_)
 *     if cto is not NULL:
 */
  }

  /* "cuda/cuda.pyx":34653
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     if cedgeData is not NULL:
 */
  __pyx_t_4 = (__pyx_v_cto != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":34654
 *         free(cfrom_)
 *     if cto is not NULL:
 *         free(cto)             # <<<<<<<<<<<<<<
 *     if cedgeData is not NULL:
 *         free(cedgeData)
 */
    free(__pyx_v_cto);

    /* "cuda/cuda.pyx":34653
 *     if cfrom_ is not NULL:
 *         free(cfrom_)
 *     if cto is not NULL:             # <<<<<<<<<<<<<<
 *         free(cto)
 *     if cedgeData is not NULL:
 */
  }

  /* "cuda/cuda.pyx":34655
 *     if cto is not NULL:
 *         free(cto)
 *     if cedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cedgeData)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = (__pyx_v_cedgeData != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":34656
 *         free(cto)
 *     if cedgeData is not NULL:
 *         free(cedgeData)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
    free(__pyx_v_cedgeData);

    /* "cuda/cuda.pyx":34655
 *     if cto is not NULL:
 *         free(cto)
 *     if cedgeData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cedgeData)
 *     return (CUresult(err),)
 */
  }

  /* "cuda/cuda.pyx":34657
 *     if cedgeData is not NULL:
 *         free(cedgeData)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_14 = NULL;
  __pyx_t_15 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_14)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_14);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_15 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_15, 1+__pyx_t_15);
    __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 34657, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34657, __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)) __PYX_ERR(1, 34657, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":34569
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies_v2(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], edgeData : Optional[List[CUgraphEdgeData]], size_t numDependencies):
 *     """ Removes dependency edges from a graph (12.3+)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("cuda.cuda.cuGraphRemoveDependencies_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_28cuGraphRemoveDependencies_v2_2generator46);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_28cuGraphRemoveDependencies_v2_5generator47);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_28cuGraphRemoveDependencies_v2_8generator48);
  __Pyx_XDECREF(__pyx_v_from_);
  __Pyx_XDECREF(__pyx_v_to);
  __Pyx_XDECREF(__pyx_v_edgeData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34659
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDestroyNode(hNode):
 *     """ Remove a node from the graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_641cuGraphDestroyNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_640cuGraphDestroyNode, "cuGraphDestroyNode(hNode)\n Remove a node from the graph.\n\n    Removes `hNode` from its graph. This operation also severs any\n    dependencies of other nodes on `hNode` and vice versa.\n\n    Nodes which belong to a graph which contains allocation or free nodes\n    cannot be destroyed. Any attempt to do so will return an error.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to remove\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphAddChildGraphNode`, :py:obj:`~.cuGraphAddEmptyNode`, :py:obj:`~.cuGraphAddKernelNode`, :py:obj:`~.cuGraphAddHostNode`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphAddMemsetNode`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_641cuGraphDestroyNode = {"cuGraphDestroyNode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_641cuGraphDestroyNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_640cuGraphDestroyNode};
static PyObject *__pyx_pw_4cuda_4cuda_641cuGraphDestroyNode(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34659, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphDestroyNode") < 0)) __PYX_ERR(1, 34659, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hNode = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphDestroyNode", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 34659, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphDestroyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_640cuGraphDestroyNode(__pyx_self, __pyx_v_hNode);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_640cuGraphDestroyNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__821)
  __Pyx_RefNannySetupContext("cuGraphDestroyNode", 1);
  __Pyx_TraceCall("cuGraphDestroyNode", __pyx_f[1], 34659, 0, __PYX_ERR(1, 34659, __pyx_L1_error));

  /* "cuda/cuda.pyx":34684
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34685
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":34684
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34686
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34687
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":34688
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34688, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":34686
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34690
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     err = ccuda.cuGraphDestroyNode(chNode)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34690, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":34691
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphDestroyNode(chNode)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34691, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":34692
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     err = ccuda.cuGraphDestroyNode(chNode)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphDestroyNode(__pyx_v_chNode); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 34692, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":34693
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     err = ccuda.cuGraphDestroyNode(chNode)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 34693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34693, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 34693, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":34659
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuGraphDestroyNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34695
 *     return (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_4cuda_643cuGraphInstantiate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_642cuGraphInstantiate, "cuGraphInstantiate(hGraph, unsigned long long flags)\n Creates an executable graph from a graph.\n\n    Instantiates `hGraph` as an executable graph. The graph is validated\n    for any structural constraints or intra-node constraints which were not\n    previously validated. If instantiation is successful, a handle to the\n    instantiated graph is returned in `phGraphExec`.\n\n    The `flags` parameter controls the behavior of instantiation and\n    subsequent 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\n    If `hGraph` contains any allocation or free nodes, there can be at most\n    one executable graph in existence for that graph at a time. An attempt\n    to instantiate a second executable graph before destroying the first\n    with :py:obj:`~.cuGraphExecDestroy` will result in an error. The same\n    also applies if `hGraph` contains any device-updatable kernel nodes.\n\n    If `hGraph` contains kernels which call device-side cudaGraphLau""nch()\n    from multiple contexts, this will result in an error.\n\n    Graphs instantiated for launch on the device have additional\n    restrictions 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\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to instantiate\n    flags : unsigned long long\n        Flags to control instantiation. See\n        :py:obj:`~.CUgraphInstantiate_flags`.\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_VALUE`\n    phGraphExec : :py:obj:`~.CUgraphExec`\n        Returns instantiated graph\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphInstantiate`, :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphUpload`, :py:obj:`~.cuGraphLaunch`, :py:obj:`~.cuGraphExecDestroy`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_643cuGraphInstantiate = {"cuGraphInstantiate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_643cuGraphInstantiate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_642cuGraphInstantiate};
static PyObject *__pyx_pw_4cuda_4cuda_643cuGraphInstantiate(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34695, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34695, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphInstantiate", 1, 2, 2, 1); __PYX_ERR(1, 34695, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphInstantiate") < 0)) __PYX_ERR(1, 34695, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[1]); if (unlikely((__pyx_v_flags == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34696, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphInstantiate", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 34695, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphInstantiate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_642cuGraphInstantiate(__pyx_self, __pyx_v_hGraph, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_642cuGraphInstantiate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, unsigned PY_LONG_LONG __pyx_v_flags) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_phGraphExec = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__822)
  __Pyx_RefNannySetupContext("cuGraphInstantiate", 1);
  __Pyx_TraceCall("cuGraphInstantiate", __pyx_f[1], 34695, 0, __PYX_ERR(1, 34695, __pyx_L1_error));

  /* "cuda/cuda.pyx":34783
 *     """
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34784
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":34783
 *     """
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34785
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34786
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34786, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":34787
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34787, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":34785
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34789
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34789, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34789, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":34790
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
 *     err = ccuda.cuGraphInstantiate(<ccuda.CUgraphExec*>phGraphExec._ptr, chGraph, flags)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34790, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":34791
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphExec phGraphExec = CUgraphExec()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphInstantiate(<ccuda.CUgraphExec*>phGraphExec._ptr, chGraph, flags)
 *     return (CUresult(err), phGraphExec)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_phGraphExec = ((struct __pyx_obj_4cuda_4cuda_CUgraphExec *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":34792
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
 *     err = ccuda.cuGraphInstantiate(<ccuda.CUgraphExec*>phGraphExec._ptr, chGraph, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphExec)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphInstantiate(((CUgraphExec *)__pyx_v_phGraphExec->_ptr), __pyx_v_chGraph, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 34792, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":34793
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
 *     err = ccuda.cuGraphInstantiate(<ccuda.CUgraphExec*>phGraphExec._ptr, chGraph, flags)
 *     return (CUresult(err), phGraphExec)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 34793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34793, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 34793, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphExec);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphExec);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phGraphExec))) __PYX_ERR(1, 34793, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":34695
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34795
 *     return (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_4cuda_645cuGraphInstantiateWithParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_644cuGraphInstantiateWithParams, "cuGraphInstantiateWithParams(hGraph, CUDA_GRAPH_INSTANTIATE_PARAMS instantiateParams: Optional[CUDA_GRAPH_INSTANTIATE_PARAMS])\n Creates an executable graph from a graph.\n\n    Instantiates `hGraph` as an executable graph according to the\n    `instantiateParams` structure. The graph is validated for any\n    structural constraints or intra-node constraints which were not\n    previously validated. If instantiation is successful, a handle to the\n    instantiated graph is returned in `phGraphExec`.\n\n    `instantiateParams` controls the behavior of instantiation and\n    subsequent graph launches, as well as returning more detailed\n    information 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\n    The `flags` field controls the behavior of instantiation and subsequent\n    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_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 st""ream during execution. Note\n      that priorities are only available on kernel nodes, and are copied\n      from stream priority during stream capture.\n\n    If `hGraph` contains any allocation or free nodes, there can be at most\n    one executable graph in existence for that graph at a time. An attempt\n    to instantiate a second executable graph before destroying the first\n    with :py:obj:`~.cuGraphExecDestroy` will result in an error. The same\n    also applies if `hGraph` contains any device-updatable kernel nodes.\n\n    If `hGraph` contains kernels which call device-side cudaGraphLaunch()\n    from multiple contexts, this will result in an error.\n\n    Graphs instantiated for launch on the device have additional\n    restrictions 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\n    In the event of an error, the `result_out` and `hErrNode_out` fields\n    will contain more information about the nature of the error. Possible\n    error 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. `hErrNod""e_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\n    If instantiation is successful, `result_out` will be set to\n    :py:obj:`~.CUDA_GRAPH_INSTANTIATE_SUCCESS`, and `hErrNode_out` will be\n    set to NULL.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to instantiate\n    instantiateParams : :py:obj:`~.CUDA_GRAPH_INSTANTIATE_PARAMS`\n        Instantiation parameters\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n    phGraphExec : :py:obj:`~.CUgraphExec`\n        Returns instantiated graph\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphInstantiate`, :py:obj:`~.cuGraphExecDestroy`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_645cuGraphInstantiateWithParams = {"cuGraphInstantiateWithParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_645cuGraphInstantiateWithParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_644cuGraphInstantiateWithParams};
static PyObject *__pyx_pw_4cuda_4cuda_645cuGraphInstantiateWithParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_instantiateParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34795, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_instantiateParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34795, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphInstantiateWithParams", 1, 2, 2, 1); __PYX_ERR(1, 34795, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphInstantiateWithParams") < 0)) __PYX_ERR(1, 34795, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_instantiateParams = ((struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphInstantiateWithParams", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 34795, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS, 1, "instantiateParams", 0))) __PYX_ERR(1, 34796, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_644cuGraphInstantiateWithParams(__pyx_self, __pyx_v_hGraph, __pyx_v_instantiateParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_644cuGraphInstantiateWithParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS *__pyx_v_instantiateParams) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphExec *__pyx_v_phGraphExec = 0;
  CUDA_GRAPH_INSTANTIATE_PARAMS *__pyx_v_cinstantiateParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_GRAPH_INSTANTIATE_PARAMS_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__823)
  __Pyx_RefNannySetupContext("cuGraphInstantiateWithParams", 1);
  __Pyx_TraceCall("cuGraphInstantiateWithParams", __pyx_f[1], 34795, 0, __PYX_ERR(1, 34795, __pyx_L1_error));

  /* "cuda/cuda.pyx":34923
 *     """
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34924
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":34923
 *     """
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34925
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34926
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34926, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":34927
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34927, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":34925
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34929
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":34930
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
 *     cdef ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS* cinstantiateParams_ptr = instantiateParams._ptr if instantiateParams != None else NULL
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34930, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":34931
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphExec phGraphExec = CUgraphExec()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS* cinstantiateParams_ptr = instantiateParams._ptr if instantiateParams != None else NULL
 *     err = ccuda.cuGraphInstantiateWithParams(<ccuda.CUgraphExec*>phGraphExec._ptr, chGraph, cinstantiateParams_ptr)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_phGraphExec = ((struct __pyx_obj_4cuda_4cuda_CUgraphExec *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":34932
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
 *     cdef ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS* cinstantiateParams_ptr = instantiateParams._ptr if instantiateParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphInstantiateWithParams(<ccuda.CUgraphExec*>phGraphExec._ptr, chGraph, cinstantiateParams_ptr)
 *     return (CUresult(err), phGraphExec)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_instantiateParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34932, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 34932, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_instantiateParams->__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cinstantiateParams_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":34933
 *     cdef CUgraphExec phGraphExec = CUgraphExec()
 *     cdef ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS* cinstantiateParams_ptr = instantiateParams._ptr if instantiateParams != None else NULL
 *     err = ccuda.cuGraphInstantiateWithParams(<ccuda.CUgraphExec*>phGraphExec._ptr, chGraph, cinstantiateParams_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphExec)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphInstantiateWithParams(((CUgraphExec *)__pyx_v_phGraphExec->_ptr), __pyx_v_chGraph, __pyx_v_cinstantiateParams_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 34933, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":34934
 *     cdef ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS* cinstantiateParams_ptr = instantiateParams._ptr if instantiateParams != None else NULL
 *     err = ccuda.cuGraphInstantiateWithParams(<ccuda.CUgraphExec*>phGraphExec._ptr, chGraph, cinstantiateParams_ptr)
 *     return (CUresult(err), phGraphExec)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 34934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34934, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 34934, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphExec);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphExec);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phGraphExec))) __PYX_ERR(1, 34934, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":34795
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34936
 *     return (CUresult(err), phGraphExec)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecGetFlags(hGraphExec):
 *     """ Query the instantiation flags of an executable graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_647cuGraphExecGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_646cuGraphExecGetFlags, "cuGraphExecGetFlags(hGraphExec)\n Query the instantiation flags of an executable graph.\n\n    Returns the flags that were passed to instantiation for the given\n    executable graph. :py:obj:`~.CUDA_GRAPH_INSTANTIATE_FLAG_UPLOAD` will\n    not be returned by this API as it does not affect the resulting\n    executable graph.\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        The executable graph to query\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n    flags : :py:obj:`~.cuuint64_t`\n        Returns the instantiation flags\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphInstantiate`, :py:obj:`~.cuGraphInstantiateWithParams`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_647cuGraphExecGetFlags = {"cuGraphExecGetFlags", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_647cuGraphExecGetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_646cuGraphExecGetFlags};
static PyObject *__pyx_pw_4cuda_4cuda_647cuGraphExecGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34936, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExecGetFlags") < 0)) __PYX_ERR(1, 34936, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hGraphExec = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecGetFlags", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 34936, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphExecGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_646cuGraphExecGetFlags(__pyx_self, __pyx_v_hGraphExec);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_646cuGraphExecGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec) {
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  struct __pyx_obj_4cuda_4cuda_cuuint64_t *__pyx_v_flags = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__824)
  __Pyx_RefNannySetupContext("cuGraphExecGetFlags", 1);
  __Pyx_TraceCall("cuGraphExecGetFlags", __pyx_f[1], 34936, 0, __PYX_ERR(1, 34936, __pyx_L1_error));

  /* "cuda/cuda.pyx":34962
 *     """
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34963
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":34962
 *     """
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34964
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":34965
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34965, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":34966
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34966, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":34964
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":34968
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef cuuint64_t flags = cuuint64_t()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34968, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":34969
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef cuuint64_t flags = cuuint64_t()
 *     err = ccuda.cuGraphExecGetFlags(chGraphExec, <ccuda.cuuint64_t*>flags._ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 34969, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":34970
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef cuuint64_t flags = cuuint64_t()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExecGetFlags(chGraphExec, <ccuda.cuuint64_t*>flags._ptr)
 *     return (CUresult(err), flags)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint64_t)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_flags = ((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":34971
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef cuuint64_t flags = cuuint64_t()
 *     err = ccuda.cuGraphExecGetFlags(chGraphExec, <ccuda.cuuint64_t*>flags._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), flags)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphExecGetFlags(__pyx_v_chGraphExec, ((cuuint64_t *)__pyx_v_flags->_ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 34971, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":34972
 *     cdef cuuint64_t flags = cuuint64_t()
 *     err = ccuda.cuGraphExecGetFlags(chGraphExec, <ccuda.cuuint64_t*>flags._ptr)
 *     return (CUresult(err), flags)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 34972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 34972, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 34972, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_flags);
  __Pyx_GIVEREF((PyObject *)__pyx_v_flags);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_flags))) __PYX_ERR(1, 34972, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":34936
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":34974
 *     return (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_4cuda_649cuGraphExecKernelNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_648cuGraphExecKernelNodeSetParams, "cuGraphExecKernelNodeSetParams(hGraphExec, hNode, CUDA_KERNEL_NODE_PARAMS nodeParams: Optional[CUDA_KERNEL_NODE_PARAMS])\n Sets the parameters for a kernel node in the given graphExec.\n\n    Sets the parameters of a kernel node in an executable graph\n    `hGraphExec`. The node is identified by the corresponding node `hNode`\n    in the non-executable graph, from which the executable graph was\n    instantiated.\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\n    The modifications only affect future launches of `hGraphExec`. Already\n    enqueued or running launches of `hGraphExec` are not affected by this\n    call. `hNode` is also not modified by this call.\n\n    If `hNode` is a device-updatable kernel node, the next upload/launch of\n    `hGraphExec` will overwrite any previous device-side updates.\n    Additionally, applying host updates to a device-updatable kernel node\n    while it is being updated from the device will result in undefined\n    behavior.\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_""t`\n        The executable graph in which to set the specified node\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        kernel node from the graph from which graphExec was instantiated\n    nodeParams : :py:obj:`~.CUDA_KERNEL_NODE_PARAMS`\n        Updated Parameters to set\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_649cuGraphExecKernelNodeSetParams = {"cuGraphExecKernelNodeSetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_649cuGraphExecKernelNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_648cuGraphExecKernelNodeSetParams};
static PyObject *__pyx_pw_4cuda_4cuda_649cuGraphExecKernelNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34974, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34974, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecKernelNodeSetParams", 1, 3, 3, 1); __PYX_ERR(1, 34974, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 34974, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecKernelNodeSetParams", 1, 3, 3, 2); __PYX_ERR(1, 34974, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExecKernelNodeSetParams") < 0)) __PYX_ERR(1, 34974, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecKernelNodeSetParams", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 34974, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(1, 34975, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_648cuGraphExecKernelNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_648cuGraphExecKernelNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUDA_KERNEL_NODE_PARAMS *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_KERNEL_NODE_PARAMS_v2_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__825)
  __Pyx_RefNannySetupContext("cuGraphExecKernelNodeSetParams", 1);
  __Pyx_TraceCall("cuGraphExecKernelNodeSetParams", __pyx_f[1], 34974, 0, __PYX_ERR(1, 34974, __pyx_L1_error));

  /* "cuda/cuda.pyx":35032
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35033
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35032
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35034
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35035
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35036
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35036, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35034
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35038
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35039
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35039, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":35041
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35042
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35041
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35043
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35044
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35045
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35045, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35043
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35047
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_KERNEL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35047, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35048
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_KERNEL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecKernelNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35048, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":35049
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_KERNEL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExecKernelNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35049, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 35049, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":35050
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_KERNEL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecKernelNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphExecKernelNodeSetParams(__pyx_v_chGraphExec, __pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 35050, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":35051
 *     cdef ccuda.CUDA_KERNEL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecKernelNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 35051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35051, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 35051, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":34974
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":35053
 *     return (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_4cuda_651cuGraphExecMemcpyNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_650cuGraphExecMemcpyNodeSetParams, "cuGraphExecMemcpyNodeSetParams(hGraphExec, hNode, CUDA_MEMCPY3D copyParams: Optional[CUDA_MEMCPY3D], ctx)\n Sets the parameters for a memcpy node in the given graphExec.\n\n    Updates the work represented by `hNode` in `hGraphExec` as though\n    `hNode` had contained `copyParams` at instantiation. hNode must remain\n    in the graph which was used to instantiate `hGraphExec`. Changed edges\n    to and from hNode are ignored.\n\n    The source and destination memory in `copyParams` must be allocated\n    from the same contexts as the original source and destination memory.\n    Both the instantiation-time memory operands and the memory operands in\n    `copyParams` must be 1-dimensional. Zero-length operations are not\n    supported.\n\n    The modifications only affect future launches of `hGraphExec`. Already\n    enqueued or running launches of `hGraphExec` are not affected by this\n    call. hNode is also not modified by this call.\n\n    Returns CUDA_ERROR_INVALID_VALUE if the memory operands' mappings\n    changed or either the original or new memory operands are\n    multidimensional.\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        The executable graph in which to set the specified node\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Memcpy node from the graph which was used to instantiate graphExec\n    copyParams : :py:obj:`~.CUDA_MEMCPY3D`\n        The updated parameters to set\n    ctx : :py:obj:`~.CUcontext`\n        Context on which to run the node\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphExecNodeSetParams`, :py:obj:`~.cuGraphAddMemcpyNode`, :py:obj:`~.cuGraphMemcpyNodeSetParams`, :py:obj:`~.cuGraphExecKernelNodeSetParams`, :py:obj:`~.cuGraphExecMemsetNodeSetParams`, :py:obj:`~.cuGraphExecHostNodeSetParams`, :py:obj:`~.cuGraphExecChi""ldGraphNodeSetParams`, :py:obj:`~.cuGraphExecEventRecordNodeSetEvent`, :py:obj:`~.cuGraphExecEventWaitNodeSetEvent`, :py:obj:`~.cuGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cuGraphExecUpdate`, :py:obj:`~.cuGraphInstantiate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_651cuGraphExecMemcpyNodeSetParams = {"cuGraphExecMemcpyNodeSetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_651cuGraphExecMemcpyNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_650cuGraphExecMemcpyNodeSetParams};
static PyObject *__pyx_pw_4cuda_4cuda_651cuGraphExecMemcpyNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,&__pyx_n_s_copyParams_2,&__pyx_n_s_ctx_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35053, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35053, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecMemcpyNodeSetParams", 1, 4, 4, 1); __PYX_ERR(1, 35053, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_copyParams_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35053, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecMemcpyNodeSetParams", 1, 4, 4, 2); __PYX_ERR(1, 35053, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ctx_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35053, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecMemcpyNodeSetParams", 1, 4, 4, 3); __PYX_ERR(1, 35053, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExecMemcpyNodeSetParams") < 0)) __PYX_ERR(1, 35053, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_copyParams = ((struct __pyx_obj_4cuda_4cuda_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(1, 35053, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_MEMCPY3D, 1, "copyParams", 0))) __PYX_ERR(1, 35054, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_650cuGraphExecMemcpyNodeSetParams(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_650cuGraphExecMemcpyNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *__pyx_v_copyParams, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cctx;
  PyObject *__pyx_v_pctx = NULL;
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUDA_MEMCPY3D *__pyx_v_ccopyParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_MEMCPY3D_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__826)
  __Pyx_RefNannySetupContext("cuGraphExecMemcpyNodeSetParams", 1);
  __Pyx_TraceCall("cuGraphExecMemcpyNodeSetParams", __pyx_f[1], 35053, 0, __PYX_ERR(1, 35053, __pyx_L1_error));

  /* "cuda/cuda.pyx":35097
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35098
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 */
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35097
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35099
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35100
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35101
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35101, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35099
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35103
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     cdef ccuda.CUgraphNode chNode
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35103, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35104
 *     else:
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35104, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":35106
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35107
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35106
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35108
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35109
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35110
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35110, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35108
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35112
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35113
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35113, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":35115
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35116
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35115
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":35117
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35118
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35119
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35119, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35117
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":35121
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_MEMCPY3D* ccopyParams_ptr = copyParams._ptr if copyParams != None else NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35122
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_MEMCPY3D* ccopyParams_ptr = copyParams._ptr if copyParams != None else NULL
 *     err = ccuda.cuGraphExecMemcpyNodeSetParams(chGraphExec, chNode, ccopyParams_ptr, cctx)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35122, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":35123
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_MEMCPY3D* ccopyParams_ptr = copyParams._ptr if copyParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExecMemcpyNodeSetParams(chGraphExec, chNode, ccopyParams_ptr, cctx)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_copyParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35123, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 35123, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_copyParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_ccopyParams_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":35124
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_MEMCPY3D* ccopyParams_ptr = copyParams._ptr if copyParams != None else NULL
 *     err = ccuda.cuGraphExecMemcpyNodeSetParams(chGraphExec, chNode, ccopyParams_ptr, cctx)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphExecMemcpyNodeSetParams(__pyx_v_chGraphExec, __pyx_v_chNode, __pyx_v_ccopyParams_ptr, __pyx_v_cctx); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 35124, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":35125
 *     cdef ccuda.CUDA_MEMCPY3D* ccopyParams_ptr = copyParams._ptr if copyParams != None else NULL
 *     err = ccuda.cuGraphExecMemcpyNodeSetParams(chGraphExec, chNode, ccopyParams_ptr, cctx)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 35125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 35125, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":35053
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":35127
 *     return (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_4cuda_653cuGraphExecMemsetNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_652cuGraphExecMemsetNodeSetParams, "cuGraphExecMemsetNodeSetParams(hGraphExec, hNode, CUDA_MEMSET_NODE_PARAMS memsetParams: Optional[CUDA_MEMSET_NODE_PARAMS], ctx)\n Sets the parameters for a memset node in the given graphExec.\n\n    Updates the work represented by `hNode` in `hGraphExec` as though\n    `hNode` had contained `memsetParams` at instantiation. hNode must\n    remain in the graph which was used to instantiate `hGraphExec`. Changed\n    edges to and from hNode are ignored.\n\n    The destination memory in `memsetParams` must be allocated from the\n    same contexts as the original destination memory. Both the\n    instantiation-time memory operand and the memory operand in\n    `memsetParams` must be 1-dimensional. Zero-length operations are not\n    supported.\n\n    The modifications only affect future launches of `hGraphExec`. Already\n    enqueued or running launches of `hGraphExec` are not affected by this\n    call. hNode is also not modified by this call.\n\n    Returns CUDA_ERROR_INVALID_VALUE if the memory operand's mappings\n    changed or either the original or new memory operand are\n    multidimensional.\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        The executable graph in which to set the specified node\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Memset node from the graph which was used to instantiate graphExec\n    memsetParams : :py:obj:`~.CUDA_MEMSET_NODE_PARAMS`\n        The updated parameters to set\n    ctx : :py:obj:`~.CUcontext`\n        Context on which to run the node\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphExecNodeSetParams`, :py:obj:`~.cuGraphAddMemsetNode`, :py:obj:`~.cuGraphMemsetNodeSetParams`, :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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_653cuGraphExecMemsetNodeSetParams = {"cuGraphExecMemsetNodeSetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_653cuGraphExecMemsetNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_652cuGraphExecMemsetNodeSetParams};
static PyObject *__pyx_pw_4cuda_4cuda_653cuGraphExecMemsetNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,&__pyx_n_s_memsetParams,&__pyx_n_s_ctx_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35127, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35127, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecMemsetNodeSetParams", 1, 4, 4, 1); __PYX_ERR(1, 35127, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_memsetParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35127, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecMemsetNodeSetParams", 1, 4, 4, 2); __PYX_ERR(1, 35127, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ctx_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35127, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecMemsetNodeSetParams", 1, 4, 4, 3); __PYX_ERR(1, 35127, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExecMemsetNodeSetParams") < 0)) __PYX_ERR(1, 35127, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_memsetParams = ((struct __pyx_obj_4cuda_4cuda_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(1, 35127, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS, 1, "memsetParams", 0))) __PYX_ERR(1, 35128, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_652cuGraphExecMemsetNodeSetParams(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_652cuGraphExecMemsetNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS *__pyx_v_memsetParams, PyObject *__pyx_v_ctx) {
  CUcontext __pyx_v_cctx;
  PyObject *__pyx_v_pctx = NULL;
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUDA_MEMSET_NODE_PARAMS *__pyx_v_cmemsetParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_MEMSET_NODE_PARAMS_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__827)
  __Pyx_RefNannySetupContext("cuGraphExecMemsetNodeSetParams", 1);
  __Pyx_TraceCall("cuGraphExecMemsetNodeSetParams", __pyx_f[1], 35127, 0, __PYX_ERR(1, 35127, __pyx_L1_error));

  /* "cuda/cuda.pyx":35171
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35172
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 */
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35171
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35173
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35174
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35175
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35175, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35173
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35177
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     cdef ccuda.CUgraphNode chNode
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35178
 *     else:
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35178, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":35180
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35181
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35180
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35182
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35183
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35184
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35184, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35182
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35186
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35187
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35187, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":35189
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35190
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35189
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":35191
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35192
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35192, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35193
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35193, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35191
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":35195
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_MEMSET_NODE_PARAMS* cmemsetParams_ptr = memsetParams._ptr if memsetParams != None else NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35196
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_MEMSET_NODE_PARAMS* cmemsetParams_ptr = memsetParams._ptr if memsetParams != None else NULL
 *     err = ccuda.cuGraphExecMemsetNodeSetParams(chGraphExec, chNode, cmemsetParams_ptr, cctx)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35196, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":35197
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_MEMSET_NODE_PARAMS* cmemsetParams_ptr = memsetParams._ptr if memsetParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExecMemsetNodeSetParams(chGraphExec, chNode, cmemsetParams_ptr, cctx)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_memsetParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35197, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 35197, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_memsetParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cmemsetParams_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":35198
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_MEMSET_NODE_PARAMS* cmemsetParams_ptr = memsetParams._ptr if memsetParams != None else NULL
 *     err = ccuda.cuGraphExecMemsetNodeSetParams(chGraphExec, chNode, cmemsetParams_ptr, cctx)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphExecMemsetNodeSetParams(__pyx_v_chGraphExec, __pyx_v_chNode, __pyx_v_cmemsetParams_ptr, __pyx_v_cctx); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 35198, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":35199
 *     cdef ccuda.CUDA_MEMSET_NODE_PARAMS* cmemsetParams_ptr = memsetParams._ptr if memsetParams != None else NULL
 *     err = ccuda.cuGraphExecMemsetNodeSetParams(chGraphExec, chNode, cmemsetParams_ptr, cctx)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 35199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35199, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 35199, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":35127
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":35201
 *     return (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_4cuda_655cuGraphExecHostNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_654cuGraphExecHostNodeSetParams, "cuGraphExecHostNodeSetParams(hGraphExec, hNode, CUDA_HOST_NODE_PARAMS nodeParams: Optional[CUDA_HOST_NODE_PARAMS])\n Sets the parameters for a host node in the given graphExec.\n\n    Updates the work represented by `hNode` in `hGraphExec` as though\n    `hNode` had contained `nodeParams` at instantiation. hNode must remain\n    in the graph which was used to instantiate `hGraphExec`. Changed edges\n    to and from hNode are ignored.\n\n    The modifications only affect future launches of `hGraphExec`. Already\n    enqueued or running launches of `hGraphExec` are not affected by this\n    call. hNode is also not modified by this call.\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        The executable graph in which to set the specified node\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Host node from the graph which was used to instantiate graphExec\n    nodeParams : :py:obj:`~.CUDA_HOST_NODE_PARAMS`\n        The updated parameters to set\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_655cuGraphExecHostNodeSetParams = {"cuGraphExecHostNodeSetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_655cuGraphExecHostNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_654cuGraphExecHostNodeSetParams};
static PyObject *__pyx_pw_4cuda_4cuda_655cuGraphExecHostNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35201, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35201, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecHostNodeSetParams", 1, 3, 3, 1); __PYX_ERR(1, 35201, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35201, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecHostNodeSetParams", 1, 3, 3, 2); __PYX_ERR(1, 35201, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExecHostNodeSetParams") < 0)) __PYX_ERR(1, 35201, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecHostNodeSetParams", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 35201, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(1, 35202, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_654cuGraphExecHostNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_654cuGraphExecHostNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUDA_HOST_NODE_PARAMS *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_HOST_NODE_PARAMS_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__828)
  __Pyx_RefNannySetupContext("cuGraphExecHostNodeSetParams", 1);
  __Pyx_TraceCall("cuGraphExecHostNodeSetParams", __pyx_f[1], 35201, 0, __PYX_ERR(1, 35201, __pyx_L1_error));

  /* "cuda/cuda.pyx":35233
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35234
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35233
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35235
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35236
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35236, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35237
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35237, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35235
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35239
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35239, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35239, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35240
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35240, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":35242
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35243
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35242
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35244
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35245
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35245, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35246
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35246, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35244
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35248
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_HOST_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35248, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35248, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35249
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_HOST_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecHostNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35249, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":35250
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_HOST_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExecHostNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35250, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 35250, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":35251
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_HOST_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecHostNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphExecHostNodeSetParams(__pyx_v_chGraphExec, __pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 35251, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":35252
 *     cdef ccuda.CUDA_HOST_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecHostNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 35252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35252, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 35252, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":35201
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":35254
 *     return (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_4cuda_657cuGraphExecChildGraphNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_656cuGraphExecChildGraphNodeSetParams, "cuGraphExecChildGraphNodeSetParams(hGraphExec, hNode, childGraph)\n Updates node parameters in the child graph node in the given graphExec.\n\n    Updates the work represented by `hNode` in `hGraphExec` as though the\n    nodes contained in `hNode's` graph had the parameters contained in\n    `childGraph's` nodes at instantiation. `hNode` must remain in the graph\n    which was used to instantiate `hGraphExec`. Changed edges to and from\n    `hNode` are ignored.\n\n    The modifications only affect future launches of `hGraphExec`. Already\n    enqueued or running launches of `hGraphExec` are not affected by this\n    call. `hNode` is also not modified by this call.\n\n    The topology of `childGraph`, as well as the node insertion order, must\n    match that of the graph contained in `hNode`. See\n    :py:obj:`~.cuGraphExecUpdate()` for a list of restrictions on what can\n    be updated in an instantiated graph. The update is recursive, so child\n    graph nodes contained within the top level child graph will also be\n    updated.\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        The executable graph in which to set the specified node\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Host node from the graph which was used to instantiate graphExec\n    childGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        The graph supplying the updated parameters\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\n    See 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:`~.cuGraphExecEventWait""NodeSetEvent`, :py:obj:`~.cuGraphExecExternalSemaphoresSignalNodeSetParams`, :py:obj:`~.cuGraphExecExternalSemaphoresWaitNodeSetParams`, :py:obj:`~.cuGraphExecUpdate`, :py:obj:`~.cuGraphInstantiate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_657cuGraphExecChildGraphNodeSetParams = {"cuGraphExecChildGraphNodeSetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_657cuGraphExecChildGraphNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_656cuGraphExecChildGraphNodeSetParams};
static PyObject *__pyx_pw_4cuda_4cuda_657cuGraphExecChildGraphNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,&__pyx_n_s_childGraph,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35254, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35254, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecChildGraphNodeSetParams", 1, 3, 3, 1); __PYX_ERR(1, 35254, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_childGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35254, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecChildGraphNodeSetParams", 1, 3, 3, 2); __PYX_ERR(1, 35254, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExecChildGraphNodeSetParams") < 0)) __PYX_ERR(1, 35254, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __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(1, 35254, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphExecChildGraphNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_656cuGraphExecChildGraphNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_childGraph);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_656cuGraphExecChildGraphNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_childGraph) {
  CUgraph __pyx_v_cchildGraph;
  PyObject *__pyx_v_pchildGraph = NULL;
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__829)
  __Pyx_RefNannySetupContext("cuGraphExecChildGraphNodeSetParams", 1);
  __Pyx_TraceCall("cuGraphExecChildGraphNodeSetParams", __pyx_f[1], 35254, 0, __PYX_ERR(1, 35254, __pyx_L1_error));

  /* "cuda/cuda.pyx":35294
 *     """
 *     cdef ccuda.CUgraph cchildGraph
 *     if childGraph is None:             # <<<<<<<<<<<<<<
 *         cchildGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(childGraph, (CUgraph,)):
 */
  __pyx_t_1 = (__pyx_v_childGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35295
 *     cdef ccuda.CUgraph cchildGraph
 *     if childGraph is None:
 *         cchildGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(childGraph, (CUgraph,)):
 *         pchildGraph = int(childGraph)
 */
    __pyx_v_cchildGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35294
 *     """
 *     cdef ccuda.CUgraph cchildGraph
 *     if childGraph is None:             # <<<<<<<<<<<<<<
 *         cchildGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(childGraph, (CUgraph,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35296
 *     if childGraph is None:
 *         cchildGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(childGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pchildGraph = int(childGraph)
 *         cchildGraph = <ccuda.CUgraph><void_ptr>pchildGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_childGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35297
 *         cchildGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(childGraph, (CUgraph,)):
 *         pchildGraph = int(childGraph)             # <<<<<<<<<<<<<<
 *         cchildGraph = <ccuda.CUgraph><void_ptr>pchildGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_childGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pchildGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35298
 *     elif isinstance(childGraph, (CUgraph,)):
 *         pchildGraph = int(childGraph)
 *         cchildGraph = <ccuda.CUgraph><void_ptr>pchildGraph             # <<<<<<<<<<<<<<
 *     else:
 *         pchildGraph = int(CUgraph(childGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pchildGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35298, __pyx_L1_error)
    __pyx_v_cchildGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35296
 *     if childGraph is None:
 *         cchildGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(childGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pchildGraph = int(childGraph)
 *         cchildGraph = <ccuda.CUgraph><void_ptr>pchildGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35300
 *         cchildGraph = <ccuda.CUgraph><void_ptr>pchildGraph
 *     else:
 *         pchildGraph = int(CUgraph(childGraph))             # <<<<<<<<<<<<<<
 *         cchildGraph = <ccuda.CUgraph><void_ptr>pchildGraph
 *     cdef ccuda.CUgraphNode chNode
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_childGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pchildGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35301
 *     else:
 *         pchildGraph = int(CUgraph(childGraph))
 *         cchildGraph = <ccuda.CUgraph><void_ptr>pchildGraph             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pchildGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35301, __pyx_L1_error)
    __pyx_v_cchildGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":35303
 *         cchildGraph = <ccuda.CUgraph><void_ptr>pchildGraph
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35304
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35303
 *         cchildGraph = <ccuda.CUgraph><void_ptr>pchildGraph
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35305
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35306
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35306, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35307
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35307, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35305
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35309
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35310
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35310, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":35312
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35313
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35312
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":35314
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35315
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35315, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35316
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35316, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35314
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":35318
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphExecChildGraphNodeSetParams(chGraphExec, chNode, cchildGraph)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35319
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExecChildGraphNodeSetParams(chGraphExec, chNode, cchildGraph)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35319, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":35320
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphExecChildGraphNodeSetParams(chGraphExec, chNode, cchildGraph)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphExecChildGraphNodeSetParams(__pyx_v_chGraphExec, __pyx_v_chNode, __pyx_v_cchildGraph); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 35320, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":35321
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphExecChildGraphNodeSetParams(chGraphExec, chNode, cchildGraph)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 35321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35321, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 35321, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":35254
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":35323
 *     return (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_4cuda_659cuGraphExecEventRecordNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_658cuGraphExecEventRecordNodeSetEvent, "cuGraphExecEventRecordNodeSetEvent(hGraphExec, hNode, event)\n Sets the event for an event record node in the given graphExec.\n\n    Sets the event of an event record node in an executable graph\n    `hGraphExec`. The node is identified by the corresponding node `hNode`\n    in the non-executable graph, from which the executable graph was\n    instantiated.\n\n    The modifications only affect future launches of `hGraphExec`. Already\n    enqueued or running launches of `hGraphExec` are not affected by this\n    call. `hNode` is also not modified by this call.\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        The executable graph in which to set the specified node\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        event record node from the graph from which graphExec was\n        instantiated\n    event : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Updated event to use\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_659cuGraphExecEventRecordNodeSetEvent = {"cuGraphExecEventRecordNodeSetEvent", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_659cuGraphExecEventRecordNodeSetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_658cuGraphExecEventRecordNodeSetEvent};
static PyObject *__pyx_pw_4cuda_4cuda_659cuGraphExecEventRecordNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,&__pyx_n_s_event_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35323, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35323, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecEventRecordNodeSetEvent", 1, 3, 3, 1); __PYX_ERR(1, 35323, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_event_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35323, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecEventRecordNodeSetEvent", 1, 3, 3, 2); __PYX_ERR(1, 35323, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExecEventRecordNodeSetEvent") < 0)) __PYX_ERR(1, 35323, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __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(1, 35323, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphExecEventRecordNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_658cuGraphExecEventRecordNodeSetEvent(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_event);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_658cuGraphExecEventRecordNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__830)
  __Pyx_RefNannySetupContext("cuGraphExecEventRecordNodeSetEvent", 1);
  __Pyx_TraceCall("cuGraphExecEventRecordNodeSetEvent", __pyx_f[1], 35323, 0, __PYX_ERR(1, 35323, __pyx_L1_error));

  /* "cuda/cuda.pyx":35356
 *     """
 *     cdef ccuda.CUevent cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35357
 *     cdef ccuda.CUevent cevent
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35356
 *     """
 *     cdef ccuda.CUevent cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35358
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35359
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35360
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(CUevent(event))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35360, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35358
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35362
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     cdef ccuda.CUgraphNode chNode
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35363
 *     else:
 *         pevent = int(CUevent(event))
 *         cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35363, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":35365
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35366
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35365
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35367
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35368
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35369
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35369, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35367
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35371
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35372
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35372, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":35374
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35375
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35374
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":35376
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35377
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35377, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35378
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35378, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35376
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":35380
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphExecEventRecordNodeSetEvent(chGraphExec, chNode, cevent)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35380, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35380, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35381
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExecEventRecordNodeSetEvent(chGraphExec, chNode, cevent)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35381, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":35382
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphExecEventRecordNodeSetEvent(chGraphExec, chNode, cevent)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphExecEventRecordNodeSetEvent(__pyx_v_chGraphExec, __pyx_v_chNode, __pyx_v_cevent); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 35382, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":35383
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphExecEventRecordNodeSetEvent(chGraphExec, chNode, cevent)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 35383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 35383, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":35323
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":35385
 *     return (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_4cuda_661cuGraphExecEventWaitNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_660cuGraphExecEventWaitNodeSetEvent, "cuGraphExecEventWaitNodeSetEvent(hGraphExec, hNode, event)\n Sets the event for an event wait node in the given graphExec.\n\n    Sets the event of an event wait node in an executable graph\n    `hGraphExec`. The node is identified by the corresponding node `hNode`\n    in the non-executable graph, from which the executable graph was\n    instantiated.\n\n    The modifications only affect future launches of `hGraphExec`. Already\n    enqueued or running launches of `hGraphExec` are not affected by this\n    call. `hNode` is also not modified by this call.\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        The executable graph in which to set the specified node\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        event wait node from the graph from which graphExec was\n        instantiated\n    event : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Updated event to use\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_661cuGraphExecEventWaitNodeSetEvent = {"cuGraphExecEventWaitNodeSetEvent", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_661cuGraphExecEventWaitNodeSetEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_660cuGraphExecEventWaitNodeSetEvent};
static PyObject *__pyx_pw_4cuda_4cuda_661cuGraphExecEventWaitNodeSetEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,&__pyx_n_s_event_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35385, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35385, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecEventWaitNodeSetEvent", 1, 3, 3, 1); __PYX_ERR(1, 35385, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_event_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35385, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecEventWaitNodeSetEvent", 1, 3, 3, 2); __PYX_ERR(1, 35385, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExecEventWaitNodeSetEvent") < 0)) __PYX_ERR(1, 35385, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __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(1, 35385, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphExecEventWaitNodeSetEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_660cuGraphExecEventWaitNodeSetEvent(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_event);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_660cuGraphExecEventWaitNodeSetEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, PyObject *__pyx_v_event) {
  CUevent __pyx_v_cevent;
  PyObject *__pyx_v_pevent = NULL;
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__831)
  __Pyx_RefNannySetupContext("cuGraphExecEventWaitNodeSetEvent", 1);
  __Pyx_TraceCall("cuGraphExecEventWaitNodeSetEvent", __pyx_f[1], 35385, 0, __PYX_ERR(1, 35385, __pyx_L1_error));

  /* "cuda/cuda.pyx":35418
 *     """
 *     cdef ccuda.CUevent cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_event == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35419
 *     cdef ccuda.CUevent cevent
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
 */
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35418
 *     """
 *     cdef ccuda.CUevent cevent
 *     if event is None:             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35420
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_event, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35421
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35421, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pevent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35422
 *     elif isinstance(event, (CUevent,)):
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     else:
 *         pevent = int(CUevent(event))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35422, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35420
 *     if event is None:
 *         cevent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(event, (CUevent,)):             # <<<<<<<<<<<<<<
 *         pevent = int(event)
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35424
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     else:
 *         pevent = int(CUevent(event))             # <<<<<<<<<<<<<<
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     cdef ccuda.CUgraphNode chNode
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_event); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pevent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35425
 *     else:
 *         pevent = int(CUevent(event))
 *         cevent = <ccuda.CUevent><void_ptr>pevent             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pevent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35425, __pyx_L1_error)
    __pyx_v_cevent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":35427
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35428
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35427
 *         cevent = <ccuda.CUevent><void_ptr>pevent
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35429
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35430
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35430, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35431
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35431, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35429
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35433
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35433, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35433, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35434
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35434, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":35436
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35437
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35436
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":35438
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35439
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35440
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35440, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35438
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":35442
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphExecEventWaitNodeSetEvent(chGraphExec, chNode, cevent)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35443
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExecEventWaitNodeSetEvent(chGraphExec, chNode, cevent)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35443, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":35444
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphExecEventWaitNodeSetEvent(chGraphExec, chNode, cevent)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphExecEventWaitNodeSetEvent(__pyx_v_chGraphExec, __pyx_v_chNode, __pyx_v_cevent); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 35444, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":35445
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphExecEventWaitNodeSetEvent(chGraphExec, chNode, cevent)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 35445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35445, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 35445, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":35385
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":35447
 *     return (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_4cuda_663cuGraphExecExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_662cuGraphExecExternalSemaphoresSignalNodeSetParams, "cuGraphExecExternalSemaphoresSignalNodeSetParams(hGraphExec, hNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS nodeParams: Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS])\n Sets the parameters for an external semaphore signal node in the given graphExec.\n\n    Sets the parameters of an external semaphore signal node in an\n    executable graph `hGraphExec`. The node is identified by the\n    corresponding node `hNode` in the non-executable graph, from which the\n    executable graph was instantiated.\n\n    `hNode` must not have been removed from the original graph.\n\n    The modifications only affect future launches of `hGraphExec`. Already\n    enqueued or running launches of `hGraphExec` are not affected by this\n    call. `hNode` is also not modified by this call.\n\n    Changing `nodeParams->numExtSems` is not supported.\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        The executable graph in which to set the specified node\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        semaphore signal node from the graph from which graphExec was\n        instantiated\n    nodeParams : :py:obj:`~.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS`\n        Updated Parameters to set\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_663cuGraphExecExternalSemaphoresSignalNodeSetParams = {"cuGraphExecExternalSemaphoresSignalNodeSetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_663cuGraphExecExternalSemaphoresSignalNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_662cuGraphExecExternalSemaphoresSignalNodeSetParams};
static PyObject *__pyx_pw_4cuda_4cuda_663cuGraphExecExternalSemaphoresSignalNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35447, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35447, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecExternalSemaphoresSignalNodeSetParams", 1, 3, 3, 1); __PYX_ERR(1, 35447, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35447, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecExternalSemaphoresSignalNodeSetParams", 1, 3, 3, 2); __PYX_ERR(1, 35447, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExecExternalSemaphoresSignalNodeSetParams") < 0)) __PYX_ERR(1, 35447, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_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(1, 35447, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(1, 35448, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_662cuGraphExecExternalSemaphoresSignalNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_662cuGraphExecExternalSemaphoresSignalNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__832)
  __Pyx_RefNannySetupContext("cuGraphExecExternalSemaphoresSignalNodeSetParams", 1);
  __Pyx_TraceCall("cuGraphExecExternalSemaphoresSignalNodeSetParams", __pyx_f[1], 35447, 0, __PYX_ERR(1, 35447, __pyx_L1_error));

  /* "cuda/cuda.pyx":35484
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35485
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35484
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35486
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35487
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35488
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35488, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35486
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35490
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35490, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35490, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35491
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35491, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":35493
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35494
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35493
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35495
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35496
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35497
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35497, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35495
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35499
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35499, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35500
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecExternalSemaphoresSignalNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35500, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":35501
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExecExternalSemaphoresSignalNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35501, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 35501, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":35502
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecExternalSemaphoresSignalNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphExecExternalSemaphoresSignalNodeSetParams(__pyx_v_chGraphExec, __pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 35502, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":35503
 *     cdef ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecExternalSemaphoresSignalNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 35503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35503, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 35503, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":35447
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":35505
 *     return (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_4cuda_665cuGraphExecExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_664cuGraphExecExternalSemaphoresWaitNodeSetParams, "cuGraphExecExternalSemaphoresWaitNodeSetParams(hGraphExec, hNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS nodeParams: Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS])\n Sets the parameters for an external semaphore wait node in the given graphExec.\n\n    Sets the parameters of an external semaphore wait node in an executable\n    graph `hGraphExec`. The node is identified by the corresponding node\n    `hNode` in the non-executable graph, from which the executable graph\n    was instantiated.\n\n    `hNode` must not have been removed from the original graph.\n\n    The modifications only affect future launches of `hGraphExec`. Already\n    enqueued or running launches of `hGraphExec` are not affected by this\n    call. `hNode` is also not modified by this call.\n\n    Changing `nodeParams->numExtSems` is not supported.\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        The executable graph in which to set the specified node\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        semaphore wait node from the graph from which graphExec was\n        instantiated\n    nodeParams : :py:obj:`~.CUDA_EXT_SEM_WAIT_NODE_PARAMS`\n        Updated Parameters to set\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\n    See 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:`~.cuGrap""hExecUpdate`, :py:obj:`~.cuGraphInstantiate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_665cuGraphExecExternalSemaphoresWaitNodeSetParams = {"cuGraphExecExternalSemaphoresWaitNodeSetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_665cuGraphExecExternalSemaphoresWaitNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_664cuGraphExecExternalSemaphoresWaitNodeSetParams};
static PyObject *__pyx_pw_4cuda_4cuda_665cuGraphExecExternalSemaphoresWaitNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35505, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35505, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecExternalSemaphoresWaitNodeSetParams", 1, 3, 3, 1); __PYX_ERR(1, 35505, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35505, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecExternalSemaphoresWaitNodeSetParams", 1, 3, 3, 2); __PYX_ERR(1, 35505, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExecExternalSemaphoresWaitNodeSetParams") < 0)) __PYX_ERR(1, 35505, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_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(1, 35505, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS, 1, "nodeParams", 0))) __PYX_ERR(1, 35506, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_664cuGraphExecExternalSemaphoresWaitNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_664cuGraphExecExternalSemaphoresWaitNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUDA_EXT_SEM_WAIT_NODE_PARAMS *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__833)
  __Pyx_RefNannySetupContext("cuGraphExecExternalSemaphoresWaitNodeSetParams", 1);
  __Pyx_TraceCall("cuGraphExecExternalSemaphoresWaitNodeSetParams", __pyx_f[1], 35505, 0, __PYX_ERR(1, 35505, __pyx_L1_error));

  /* "cuda/cuda.pyx":35542
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35543
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35542
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35544
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35545
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35545, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35546
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35546, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35544
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35548
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35548, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35548, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35549
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35549, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":35551
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35552
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35551
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35553
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35554
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35554, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35555
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35555, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35553
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35557
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35558
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecExternalSemaphoresWaitNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35558, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":35559
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExecExternalSemaphoresWaitNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35559, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 35559, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_nodeParams->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":35560
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecExternalSemaphoresWaitNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphExecExternalSemaphoresWaitNodeSetParams(__pyx_v_chGraphExec, __pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 35560, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":35561
 *     cdef ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecExternalSemaphoresWaitNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 35561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 35561, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":35505
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":35563
 *     return (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_4cuda_667cuGraphNodeSetEnabled(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_666cuGraphNodeSetEnabled, "cuGraphNodeSetEnabled(hGraphExec, hNode, unsigned int isEnabled)\n Enables or disables the specified node in the given graphExec.\n\n    Sets `hNode` to be either enabled or disabled. Disabled nodes are\n    functionally equivalent to empty nodes until they are reenabled.\n    Existing node parameters are not affected by disabling/enabling the\n    node.\n\n    The node is identified by the corresponding node `hNode` in the non-\n    executable graph, from which the executable graph was instantiated.\n\n    `hNode` must not have been removed from the original graph.\n\n    The modifications only affect future launches of `hGraphExec`. Already\n    enqueued or running launches of `hGraphExec` are not affected by this\n    call. `hNode` is also not modified by this call.\n\n    If `hNode` is a device-updatable kernel node, the next upload/launch of\n    `hGraphExec` will overwrite any previous device-side updates.\n    Additionally, applying host updates to a device-updatable kernel node\n    while it is being updated from the device will result in undefined\n    behavior.\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        The executable graph in which to set the specified node\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node from the graph from which graphExec was instantiated\n    isEnabled : unsigned int\n        Node is enabled if != 0, otherwise the node is disabled\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphNodeGetEnabled`, :py:obj:`~.cuGraphExecUpdate`, :py:obj:`~.cuGraphInstantiate` :py:obj:`~.cuGraphLaunch`\n\n    Notes\n    -----\n    Currently only kernel, memset and memcpy nodes are supported.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_667cuGraphNodeSetEnabled = {"cuGraphNodeSetEnabled", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_667cuGraphNodeSetEnabled, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_666cuGraphNodeSetEnabled};
static PyObject *__pyx_pw_4cuda_4cuda_667cuGraphNodeSetEnabled(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,&__pyx_n_s_isEnabled,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35563, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35563, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphNodeSetEnabled", 1, 3, 3, 1); __PYX_ERR(1, 35563, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_isEnabled)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35563, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphNodeSetEnabled", 1, 3, 3, 2); __PYX_ERR(1, 35563, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphNodeSetEnabled") < 0)) __PYX_ERR(1, 35563, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_isEnabled = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_isEnabled == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 35564, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeSetEnabled", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 35563, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphNodeSetEnabled", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_666cuGraphNodeSetEnabled(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_isEnabled);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_666cuGraphNodeSetEnabled(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, unsigned int __pyx_v_isEnabled) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__834)
  __Pyx_RefNannySetupContext("cuGraphNodeSetEnabled", 1);
  __Pyx_TraceCall("cuGraphNodeSetEnabled", __pyx_f[1], 35563, 0, __PYX_ERR(1, 35563, __pyx_L1_error));

  /* "cuda/cuda.pyx":35610
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35611
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35610
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35612
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35613
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35614
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35614, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35612
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35616
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35617
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35617, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":35619
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35620
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35619
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35621
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35622
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35622, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35623
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35623, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35621
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35625
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphNodeSetEnabled(chGraphExec, chNode, isEnabled)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35625, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35625, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35626
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphNodeSetEnabled(chGraphExec, chNode, isEnabled)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35626, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":35627
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphNodeSetEnabled(chGraphExec, chNode, isEnabled)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphNodeSetEnabled(__pyx_v_chGraphExec, __pyx_v_chNode, __pyx_v_isEnabled); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 35627, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":35628
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphNodeSetEnabled(chGraphExec, chNode, isEnabled)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 35628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 35628, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 35628, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":35563
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":35630
 *     return (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_4cuda_669cuGraphNodeGetEnabled(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_668cuGraphNodeGetEnabled, "cuGraphNodeGetEnabled(hGraphExec, hNode)\n Query whether a node in the given graphExec is enabled.\n\n    Sets isEnabled to 1 if `hNode` is enabled, or 0 if `hNode` is disabled.\n\n    The node is identified by the corresponding node `hNode` in the non-\n    executable graph, from which the executable graph was instantiated.\n\n    `hNode` must not have been removed from the original graph.\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        The executable graph in which to set the specified node\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node from the graph from which graphExec was instantiated\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`,\n    isEnabled : unsigned int\n        Location to return the enabled status of the node\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphNodeSetEnabled`, :py:obj:`~.cuGraphExecUpdate`, :py:obj:`~.cuGraphInstantiate` :py:obj:`~.cuGraphLaunch`\n\n    Notes\n    -----\n    Currently only kernel, memset and memcpy nodes are supported.\n\n    This function will not reflect device-side updates for device-updatable kernel nodes.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_669cuGraphNodeGetEnabled = {"cuGraphNodeGetEnabled", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_669cuGraphNodeGetEnabled, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_668cuGraphNodeGetEnabled};
static PyObject *__pyx_pw_4cuda_4cuda_669cuGraphNodeGetEnabled(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35630, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35630, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphNodeGetEnabled", 1, 2, 2, 1); __PYX_ERR(1, 35630, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphNodeGetEnabled") < 0)) __PYX_ERR(1, 35630, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 35630, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphNodeGetEnabled", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_668cuGraphNodeGetEnabled(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_668cuGraphNodeGetEnabled(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  unsigned int __pyx_v_isEnabled;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__835)
  __Pyx_RefNannySetupContext("cuGraphNodeGetEnabled", 1);
  __Pyx_TraceCall("cuGraphNodeGetEnabled", __pyx_f[1], 35630, 0, __PYX_ERR(1, 35630, __pyx_L1_error));

  /* "cuda/cuda.pyx":35666
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35667
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35666
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35668
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35669
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35670
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35670, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35668
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35672
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35673
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35673, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":35675
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35676
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35675
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35677
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35678
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35679
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35679, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35677
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35681
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef unsigned int isEnabled = 0
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35682
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef unsigned int isEnabled = 0
 *     err = ccuda.cuGraphNodeGetEnabled(chGraphExec, chNode, &isEnabled)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35682, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":35683
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef unsigned int isEnabled = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphNodeGetEnabled(chGraphExec, chNode, &isEnabled)
 *     return (CUresult(err), isEnabled)
 */
  __pyx_v_isEnabled = 0;

  /* "cuda/cuda.pyx":35684
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef unsigned int isEnabled = 0
 *     err = ccuda.cuGraphNodeGetEnabled(chGraphExec, chNode, &isEnabled)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), isEnabled)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphNodeGetEnabled(__pyx_v_chGraphExec, __pyx_v_chNode, (&__pyx_v_isEnabled)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 35684, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":35685
 *     cdef unsigned int isEnabled = 0
 *     err = ccuda.cuGraphNodeGetEnabled(chGraphExec, chNode, &isEnabled)
 *     return (CUresult(err), isEnabled)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 35685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 35685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_isEnabled); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 35685, __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)) __PYX_ERR(1, 35685, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4)) __PYX_ERR(1, 35685, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":35630
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":35687
 *     return (CUresult(err), isEnabled)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphUpload(hGraphExec, hStream):
 *     """ Uploads an executable graph in a stream.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_671cuGraphUpload(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_670cuGraphUpload, "cuGraphUpload(hGraphExec, hStream)\n Uploads an executable graph in a stream.\n\n    Uploads `hGraphExec` to the device in `hStream` without executing it.\n    Uploads of the same `hGraphExec` will be serialized. Each upload is\n    ordered behind both any previous work in `hStream` and any previous\n    launches of `hGraphExec`. Uses memory cached by `stream` to back the\n    allocations owned by `hGraphExec`.\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        Executable graph to upload\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream in which to upload the graph\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphInstantiate`, :py:obj:`~.cuGraphLaunch`, :py:obj:`~.cuGraphExecDestroy`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_671cuGraphUpload = {"cuGraphUpload", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_671cuGraphUpload, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_670cuGraphUpload};
static PyObject *__pyx_pw_4cuda_4cuda_671cuGraphUpload(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35687, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35687, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphUpload", 1, 2, 2, 1); __PYX_ERR(1, 35687, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphUpload") < 0)) __PYX_ERR(1, 35687, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 35687, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphUpload", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_670cuGraphUpload(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_670cuGraphUpload(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__836)
  __Pyx_RefNannySetupContext("cuGraphUpload", 1);
  __Pyx_TraceCall("cuGraphUpload", __pyx_f[1], 35687, 0, __PYX_ERR(1, 35687, __pyx_L1_error));

  /* "cuda/cuda.pyx":35714
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35715
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35714
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35716
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35717
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35718
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35718, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35716
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35720
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphExec chGraphExec
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35721
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35721, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":35723
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35724
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35723
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35725
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35726
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35726, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35727
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35727, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35725
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35729
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphUpload(chGraphExec, chStream)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35730
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphUpload(chGraphExec, chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35730, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":35731
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphUpload(chGraphExec, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphUpload(__pyx_v_chGraphExec, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 35731, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":35732
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphUpload(chGraphExec, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 35732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 35732, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 35732, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":35687
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":35734
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphLaunch(hGraphExec, hStream):
 *     """ Launches an executable graph in a stream.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_673cuGraphLaunch(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_672cuGraphLaunch, "cuGraphLaunch(hGraphExec, hStream)\n Launches an executable graph in a stream.\n\n    Executes `hGraphExec` in `hStream`. Only one instance of `hGraphExec`\n    may be executing at a time. Each launch is ordered behind both any\n    previous work in `hStream` and any previous launches of `hGraphExec`.\n    To execute a graph concurrently, it must be instantiated multiple times\n    into multiple executable graphs.\n\n    If any allocations created by `hGraphExec` remain unfreed (from a\n    previous launch) and `hGraphExec` was not instantiated with\n    :py:obj:`~.CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH`, the launch\n    will fail with :py:obj:`~.CUDA_ERROR_INVALID_VALUE`.\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        Executable graph to launch\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream in which to launch the graph\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphInstantiate`, :py:obj:`~.cuGraphUpload`, :py:obj:`~.cuGraphExecDestroy`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_673cuGraphLaunch = {"cuGraphLaunch", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_673cuGraphLaunch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_672cuGraphLaunch};
static PyObject *__pyx_pw_4cuda_4cuda_673cuGraphLaunch(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35734, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35734, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphLaunch", 1, 2, 2, 1); __PYX_ERR(1, 35734, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphLaunch") < 0)) __PYX_ERR(1, 35734, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 35734, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphLaunch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_672cuGraphLaunch(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_672cuGraphLaunch(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__837)
  __Pyx_RefNannySetupContext("cuGraphLaunch", 1);
  __Pyx_TraceCall("cuGraphLaunch", __pyx_f[1], 35734, 0, __PYX_ERR(1, 35734, __pyx_L1_error));

  /* "cuda/cuda.pyx":35766
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35767
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35766
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35768
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35769
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35769, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35770
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35770, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35768
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35772
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphExec chGraphExec
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35773
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35773, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":35775
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35776
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35775
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35777
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35778
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35778, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35779
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35779, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35777
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":35781
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphLaunch(chGraphExec, chStream)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35781, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35781, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35782
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphLaunch(chGraphExec, chStream)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35782, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":35783
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphLaunch(chGraphExec, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphLaunch(__pyx_v_chGraphExec, __pyx_v_chStream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 35783, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":35784
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphLaunch(chGraphExec, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 35784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 35784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 35784, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":35734
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":35786
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecDestroy(hGraphExec):
 *     """ Destroys an executable graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_675cuGraphExecDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_674cuGraphExecDestroy, "cuGraphExecDestroy(hGraphExec)\n Destroys an executable graph.\n\n    Destroys the executable graph specified by `hGraphExec`, as well as all\n    of its executable nodes. If the executable graph is in-flight, it will\n    not be terminated, but rather freed asynchronously on completion.\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        Executable graph to destroy\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphInstantiate`, :py:obj:`~.cuGraphUpload`, :py:obj:`~.cuGraphLaunch`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_675cuGraphExecDestroy = {"cuGraphExecDestroy", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_675cuGraphExecDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_674cuGraphExecDestroy};
static PyObject *__pyx_pw_4cuda_4cuda_675cuGraphExecDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35786, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExecDestroy") < 0)) __PYX_ERR(1, 35786, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hGraphExec = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 35786, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphExecDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_674cuGraphExecDestroy(__pyx_self, __pyx_v_hGraphExec);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_674cuGraphExecDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec) {
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__838)
  __Pyx_RefNannySetupContext("cuGraphExecDestroy", 1);
  __Pyx_TraceCall("cuGraphExecDestroy", __pyx_f[1], 35786, 0, __PYX_ERR(1, 35786, __pyx_L1_error));

  /* "cuda/cuda.pyx":35809
 *     """
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35810
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35809
 *     """
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35811
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35812
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35812, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35813
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35813, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35811
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35815
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphExecDestroy(chGraphExec)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35816
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExecDestroy(chGraphExec)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35816, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":35817
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphExecDestroy(chGraphExec)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphExecDestroy(__pyx_v_chGraphExec); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 35817, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":35818
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     err = ccuda.cuGraphExecDestroy(chGraphExec)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 35818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 35818, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":35786
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuGraphExecDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraphExec);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":35820
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDestroy(hGraph):
 *     """ Destroys a graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_677cuGraphDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_676cuGraphDestroy, "cuGraphDestroy(hGraph)\n Destroys a graph.\n\n    Destroys the graph specified by `hGraph`, as well as all of its nodes.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to destroy\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphCreate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_677cuGraphDestroy = {"cuGraphDestroy", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_677cuGraphDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_676cuGraphDestroy};
static PyObject *__pyx_pw_4cuda_4cuda_677cuGraphDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35820, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphDestroy") < 0)) __PYX_ERR(1, 35820, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hGraph = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 35820, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_676cuGraphDestroy(__pyx_self, __pyx_v_hGraph);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_676cuGraphDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__839)
  __Pyx_RefNannySetupContext("cuGraphDestroy", 1);
  __Pyx_TraceCall("cuGraphDestroy", __pyx_f[1], 35820, 0, __PYX_ERR(1, 35820, __pyx_L1_error));

  /* "cuda/cuda.pyx":35841
 *     """
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35842
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":35841
 *     """
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35843
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":35844
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35844, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":35845
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35845, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":35843
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":35847
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     err = ccuda.cuGraphDestroy(chGraph)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":35848
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphDestroy(chGraph)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 35848, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":35849
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     err = ccuda.cuGraphDestroy(chGraph)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphDestroy(__pyx_v_chGraph); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 35849, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":35850
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     err = ccuda.cuGraphDestroy(chGraph)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 35850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 35850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 35850, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":35820
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuGraphDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":35852
 *     return (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_4cuda_679cuGraphExecUpdate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_678cuGraphExecUpdate, "cuGraphExecUpdate(hGraphExec, hGraph)\n Check whether an executable graph can be updated with a graph and perform the update if possible.\n\n    Updates the node parameters in the instantiated graph specified by\n    `hGraphExec` with the node parameters in a topologically identical\n    graph specified by `hGraph`.\n\n    Limitations:\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      - Only 1D memsets can be changed.\n\n    - Addit""ional 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      - Changeing 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\n    Note: The API may add further restrictions in future releases. The\n    return code should always be checked.\n\n    cuGraphExecUpdate sets the result member of `resultInfo` to\n    CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED under the following\n    conditions:\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\n    cuGraphExecUpdate 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 th""e 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\n    If 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\n    succeeds, the result member will be set to\n    CU_GRAPH_EXEC_UPDATE_SUCCESS.\n\n    cuGraphExecUpdate returns CUDA_SUCCESS when the updated was performed\n    successfully. It returns CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE if the\n    graph update was not performed because it included changes which\n    violated constraints specific to instantiated graph update.\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        The instantiated graph to be updated\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        The graph containing the updated parameters\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE`,\n    resultInfo : :py:obj:`~.CUgraphExecUpdateResultInfo`\n        th""e error info structure\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphInstantiate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_679cuGraphExecUpdate = {"cuGraphExecUpdate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_679cuGraphExecUpdate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_678cuGraphExecUpdate};
static PyObject *__pyx_pw_4cuda_4cuda_679cuGraphExecUpdate(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hGraph,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35852, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 35852, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecUpdate", 1, 2, 2, 1); __PYX_ERR(1, 35852, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExecUpdate") < 0)) __PYX_ERR(1, 35852, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 35852, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphExecUpdate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_678cuGraphExecUpdate(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hGraph);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_678cuGraphExecUpdate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hGraph) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo *__pyx_v_resultInfo = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__840)
  __Pyx_RefNannySetupContext("cuGraphExecUpdate", 1);
  __Pyx_TraceCall("cuGraphExecUpdate", __pyx_f[1], 35852, 0, __PYX_ERR(1, 35852, __pyx_L1_error));

  /* "cuda/cuda.pyx":36003
 *     """
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36004
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36003
 *     """
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36005
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36006
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36007
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36007, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36005
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36009
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphExec chGraphExec
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36009, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36009, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36010
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36010, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":36012
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36013
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36012
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36014
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36015
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36015, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36016
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36016, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36014
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36018
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef CUgraphExecUpdateResultInfo resultInfo = CUgraphExecUpdateResultInfo()
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36018, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36019
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef CUgraphExecUpdateResultInfo resultInfo = CUgraphExecUpdateResultInfo()
 *     err = ccuda.cuGraphExecUpdate(chGraphExec, chGraph, <ccuda.CUgraphExecUpdateResultInfo*>resultInfo._ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36019, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":36020
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef CUgraphExecUpdateResultInfo resultInfo = CUgraphExecUpdateResultInfo()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExecUpdate(chGraphExec, chGraph, <ccuda.CUgraphExecUpdateResultInfo*>resultInfo._ptr)
 *     return (CUresult(err), resultInfo)
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_resultInfo = ((struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":36021
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef CUgraphExecUpdateResultInfo resultInfo = CUgraphExecUpdateResultInfo()
 *     err = ccuda.cuGraphExecUpdate(chGraphExec, chGraph, <ccuda.CUgraphExecUpdateResultInfo*>resultInfo._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), resultInfo)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphExecUpdate(__pyx_v_chGraphExec, __pyx_v_chGraph, ((CUgraphExecUpdateResultInfo *)__pyx_v_resultInfo->__pyx_base.__pyx_base._ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36021, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":36022
 *     cdef CUgraphExecUpdateResultInfo resultInfo = CUgraphExecUpdateResultInfo()
 *     err = ccuda.cuGraphExecUpdate(chGraphExec, chGraph, <ccuda.CUgraphExecUpdateResultInfo*>resultInfo._ptr)
 *     return (CUresult(err), resultInfo)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 36022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 36022, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 36022, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_resultInfo);
  __Pyx_GIVEREF((PyObject *)__pyx_v_resultInfo);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_resultInfo))) __PYX_ERR(1, 36022, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":35852
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36024
 *     return (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_4cuda_681cuGraphKernelNodeCopyAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_680cuGraphKernelNodeCopyAttributes, "cuGraphKernelNodeCopyAttributes(dst, src)\n Copies attributes from source node to destination node.\n\n    Copies attributes from source node `src` to destination node `dst`.\n    Both node must have the same context.\n\n    Parameters\n    ----------\n    dst : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Destination node\n    src : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Source node For list of attributes see\n        :py:obj:`~.CUkernelNodeAttrID`\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.CUaccessPolicyWindow`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_681cuGraphKernelNodeCopyAttributes = {"cuGraphKernelNodeCopyAttributes", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_681cuGraphKernelNodeCopyAttributes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_680cuGraphKernelNodeCopyAttributes};
static PyObject *__pyx_pw_4cuda_4cuda_681cuGraphKernelNodeCopyAttributes(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dst_2,&__pyx_n_s_src,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dst_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36024, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_src)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36024, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeCopyAttributes", 1, 2, 2, 1); __PYX_ERR(1, 36024, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphKernelNodeCopyAttributes") < 0)) __PYX_ERR(1, 36024, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 36024, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphKernelNodeCopyAttributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_680cuGraphKernelNodeCopyAttributes(__pyx_self, __pyx_v_dst, __pyx_v_src);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_680cuGraphKernelNodeCopyAttributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src) {
  CUgraphNode __pyx_v_csrc;
  PyObject *__pyx_v_psrc = NULL;
  CUgraphNode __pyx_v_cdst;
  PyObject *__pyx_v_pdst = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__841)
  __Pyx_RefNannySetupContext("cuGraphKernelNodeCopyAttributes", 1);
  __Pyx_TraceCall("cuGraphKernelNodeCopyAttributes", __pyx_f[1], 36024, 0, __PYX_ERR(1, 36024, __pyx_L1_error));

  /* "cuda/cuda.pyx":36049
 *     """
 *     cdef ccuda.CUgraphNode csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(src, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_src == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36050
 *     cdef ccuda.CUgraphNode csrc
 *     if src is None:
 *         csrc = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(src, (CUgraphNode,)):
 *         psrc = int(src)
 */
    __pyx_v_csrc = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36049
 *     """
 *     cdef ccuda.CUgraphNode csrc
 *     if src is None:             # <<<<<<<<<<<<<<
 *         csrc = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(src, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36051
 *     if src is None:
 *         csrc = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(src, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccuda.CUgraphNode><void_ptr>psrc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_src, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36052
 *         csrc = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(src, (CUgraphNode,)):
 *         psrc = int(src)             # <<<<<<<<<<<<<<
 *         csrc = <ccuda.CUgraphNode><void_ptr>psrc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_src); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36052, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psrc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36053
 *     elif isinstance(src, (CUgraphNode,)):
 *         psrc = int(src)
 *         csrc = <ccuda.CUgraphNode><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     else:
 *         psrc = int(CUgraphNode(src))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36053, __pyx_L1_error)
    __pyx_v_csrc = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36051
 *     if src is None:
 *         csrc = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(src, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         psrc = int(src)
 *         csrc = <ccuda.CUgraphNode><void_ptr>psrc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36055
 *         csrc = <ccuda.CUgraphNode><void_ptr>psrc
 *     else:
 *         psrc = int(CUgraphNode(src))             # <<<<<<<<<<<<<<
 *         csrc = <ccuda.CUgraphNode><void_ptr>psrc
 *     cdef ccuda.CUgraphNode cdst
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_src); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36055, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psrc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36056
 *     else:
 *         psrc = int(CUgraphNode(src))
 *         csrc = <ccuda.CUgraphNode><void_ptr>psrc             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode cdst
 *     if dst is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psrc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36056, __pyx_L1_error)
    __pyx_v_csrc = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":36058
 *         csrc = <ccuda.CUgraphNode><void_ptr>psrc
 *     cdef ccuda.CUgraphNode cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(dst, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_dst == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36059
 *     cdef ccuda.CUgraphNode cdst
 *     if dst is None:
 *         cdst = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dst, (CUgraphNode,)):
 *         pdst = int(dst)
 */
    __pyx_v_cdst = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36058
 *         csrc = <ccuda.CUgraphNode><void_ptr>psrc
 *     cdef ccuda.CUgraphNode cdst
 *     if dst is None:             # <<<<<<<<<<<<<<
 *         cdst = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(dst, (CUgraphNode,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36060
 *     if dst is None:
 *         cdst = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(dst, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccuda.CUgraphNode><void_ptr>pdst
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dst, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36061
 *         cdst = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(dst, (CUgraphNode,)):
 *         pdst = int(dst)             # <<<<<<<<<<<<<<
 *         cdst = <ccuda.CUgraphNode><void_ptr>pdst
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dst); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36061, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdst = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36062
 *     elif isinstance(dst, (CUgraphNode,)):
 *         pdst = int(dst)
 *         cdst = <ccuda.CUgraphNode><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     else:
 *         pdst = int(CUgraphNode(dst))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36062, __pyx_L1_error)
    __pyx_v_cdst = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36060
 *     if dst is None:
 *         cdst = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(dst, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         pdst = int(dst)
 *         cdst = <ccuda.CUgraphNode><void_ptr>pdst
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36064
 *         cdst = <ccuda.CUgraphNode><void_ptr>pdst
 *     else:
 *         pdst = int(CUgraphNode(dst))             # <<<<<<<<<<<<<<
 *         cdst = <ccuda.CUgraphNode><void_ptr>pdst
 *     err = ccuda.cuGraphKernelNodeCopyAttributes(cdst, csrc)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_dst); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36064, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36064, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdst = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36065
 *     else:
 *         pdst = int(CUgraphNode(dst))
 *         cdst = <ccuda.CUgraphNode><void_ptr>pdst             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphKernelNodeCopyAttributes(cdst, csrc)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdst); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36065, __pyx_L1_error)
    __pyx_v_cdst = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":36066
 *         pdst = int(CUgraphNode(dst))
 *         cdst = <ccuda.CUgraphNode><void_ptr>pdst
 *     err = ccuda.cuGraphKernelNodeCopyAttributes(cdst, csrc)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphKernelNodeCopyAttributes(__pyx_v_cdst, __pyx_v_csrc); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36066, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":36067
 *         cdst = <ccuda.CUgraphNode><void_ptr>pdst
 *     err = ccuda.cuGraphKernelNodeCopyAttributes(cdst, csrc)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 36067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 36067, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 36067, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36024
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36069
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeGetAttribute(hNode, attr not None : CUkernelNodeAttrID):
 *     """ Queries node attribute.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_683cuGraphKernelNodeGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_682cuGraphKernelNodeGetAttribute, "cuGraphKernelNodeGetAttribute(hNode, attr: CUkernelNodeAttrID)\n Queries node attribute.\n\n    Queries attribute `attr` from node `hNode` and stores it in\n    corresponding member of `value_out`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n\n    attr : :py:obj:`~.CUkernelNodeAttrID`\n\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n    value_out : :py:obj:`~.CUkernelNodeAttrValue`\n\n\n    See Also\n    --------\n    :py:obj:`~.CUaccessPolicyWindow`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_683cuGraphKernelNodeGetAttribute = {"cuGraphKernelNodeGetAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_683cuGraphKernelNodeGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_682cuGraphKernelNodeGetAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_683cuGraphKernelNodeGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_attr,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36069, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attr)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36069, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeGetAttribute", 1, 2, 2, 1); __PYX_ERR(1, 36069, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphKernelNodeGetAttribute") < 0)) __PYX_ERR(1, 36069, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 36069, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 36070, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_682cuGraphKernelNodeGetAttribute(__pyx_self, __pyx_v_hNode, __pyx_v_attr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_682cuGraphKernelNodeGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_attr) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUkernelNodeAttrID __pyx_v_cattr;
  struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue *__pyx_v_value_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUkernelNodeAttrID __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__842)
  __Pyx_RefNannySetupContext("cuGraphKernelNodeGetAttribute", 1);
  __Pyx_TraceCall("cuGraphKernelNodeGetAttribute", __pyx_f[1], 36069, 0, __PYX_ERR(1, 36069, __pyx_L1_error));

  /* "cuda/cuda.pyx":36095
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36096
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36095
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36097
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36098
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36098, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36099
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36099, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36097
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36101
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUkernelNodeAttrID cattr = attr.value
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36102
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUkernelNodeAttrID cattr = attr.value
 *     cdef CUkernelNodeAttrValue value_out = CUkernelNodeAttrValue()
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36102, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":36103
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUkernelNodeAttrID cattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef CUkernelNodeAttrValue value_out = CUkernelNodeAttrValue()
 *     err = ccuda.cuGraphKernelNodeGetAttribute(chNode, cattr, <ccuda.CUkernelNodeAttrValue*>value_out._ptr)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUlaunchAttributeID_enum)__Pyx_PyInt_As_enum__CUlaunchAttributeID_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36103, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattr = __pyx_t_5;

  /* "cuda/cuda.pyx":36104
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUkernelNodeAttrID cattr = attr.value
 *     cdef CUkernelNodeAttrValue value_out = CUkernelNodeAttrValue()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphKernelNodeGetAttribute(chNode, cattr, <ccuda.CUkernelNodeAttrValue*>value_out._ptr)
 *     return (CUresult(err), value_out)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_value_out = ((struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":36105
 *     cdef ccuda.CUkernelNodeAttrID cattr = attr.value
 *     cdef CUkernelNodeAttrValue value_out = CUkernelNodeAttrValue()
 *     err = ccuda.cuGraphKernelNodeGetAttribute(chNode, cattr, <ccuda.CUkernelNodeAttrValue*>value_out._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), value_out)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphKernelNodeGetAttribute(__pyx_v_chNode, __pyx_v_cattr, ((CUkernelNodeAttrValue *)__pyx_v_value_out->__pyx_base.__pyx_base.__pyx_base._ptr)); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36105, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":36106
 *     cdef CUkernelNodeAttrValue value_out = CUkernelNodeAttrValue()
 *     err = ccuda.cuGraphKernelNodeGetAttribute(chNode, cattr, <ccuda.CUkernelNodeAttrValue*>value_out._ptr)
 *     return (CUresult(err), value_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 36106, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_value_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_value_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_value_out))) __PYX_ERR(1, 36106, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36069
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36108
 *     return (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_4cuda_685cuGraphKernelNodeSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_684cuGraphKernelNodeSetAttribute, "cuGraphKernelNodeSetAttribute(hNode, attr: CUkernelNodeAttrID, CUkernelNodeAttrValue value: Optional[CUkernelNodeAttrValue])\n Sets node attribute.\n\n    Sets attribute `attr` on node `hNode` from corresponding attribute of\n    `value`.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n\n    attr : :py:obj:`~.CUkernelNodeAttrID`\n\n    value : :py:obj:`~.CUkernelNodeAttrValue`\n\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`\n\n    See Also\n    --------\n    :py:obj:`~.CUaccessPolicyWindow`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_685cuGraphKernelNodeSetAttribute = {"cuGraphKernelNodeSetAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_685cuGraphKernelNodeSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_684cuGraphKernelNodeSetAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_685cuGraphKernelNodeSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_attr,&__pyx_n_s_value_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36108, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attr)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36108, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeSetAttribute", 1, 3, 3, 1); __PYX_ERR(1, 36108, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36108, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeSetAttribute", 1, 3, 3, 2); __PYX_ERR(1, 36108, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphKernelNodeSetAttribute") < 0)) __PYX_ERR(1, 36108, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hNode = values[0];
    __pyx_v_attr = values[1];
    __pyx_v_value = ((struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphKernelNodeSetAttribute", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 36108, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 36109, __pyx_L1_error)
  }
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue, 1, "value", 0))) __PYX_ERR(1, 36109, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_684cuGraphKernelNodeSetAttribute(__pyx_self, __pyx_v_hNode, __pyx_v_attr, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_684cuGraphKernelNodeSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, PyObject *__pyx_v_attr, struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue *__pyx_v_value) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUkernelNodeAttrID __pyx_v_cattr;
  CUkernelNodeAttrValue *__pyx_v_cvalue_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUkernelNodeAttrID __pyx_t_5;
  union CUlaunchAttributeValue_union *__pyx_t_6;
  CUresult __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__843)
  __Pyx_RefNannySetupContext("cuGraphKernelNodeSetAttribute", 1);
  __Pyx_TraceCall("cuGraphKernelNodeSetAttribute", __pyx_f[1], 36108, 0, __PYX_ERR(1, 36108, __pyx_L1_error));

  /* "cuda/cuda.pyx":36134
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36135
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36134
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36136
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36137
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36138
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36138, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36136
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36140
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUkernelNodeAttrID cattr = attr.value
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36141
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUkernelNodeAttrID cattr = attr.value
 *     cdef ccuda.CUkernelNodeAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36141, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":36142
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUkernelNodeAttrID cattr = attr.value             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUkernelNodeAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccuda.cuGraphKernelNodeSetAttribute(chNode, cattr, cvalue_ptr)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUlaunchAttributeID_enum)__Pyx_PyInt_As_enum__CUlaunchAttributeID_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36142, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cattr = __pyx_t_5;

  /* "cuda/cuda.pyx":36143
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUkernelNodeAttrID cattr = attr.value
 *     cdef ccuda.CUkernelNodeAttrValue* cvalue_ptr = value._ptr if value != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphKernelNodeSetAttribute(chNode, cattr, cvalue_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_value), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36143, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 36143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_6 = __pyx_v_value->__pyx_base.__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_6 = NULL;
  }
  __pyx_v_cvalue_ptr = __pyx_t_6;

  /* "cuda/cuda.pyx":36144
 *     cdef ccuda.CUkernelNodeAttrID cattr = attr.value
 *     cdef ccuda.CUkernelNodeAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccuda.cuGraphKernelNodeSetAttribute(chNode, cattr, cvalue_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuGraphKernelNodeSetAttribute(__pyx_v_chNode, __pyx_v_cattr, __pyx_v_cvalue_ptr); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36144, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":36145
 *     cdef ccuda.CUkernelNodeAttrValue* cvalue_ptr = value._ptr if value != None else NULL
 *     err = ccuda.cuGraphKernelNodeSetAttribute(chNode, cattr, cvalue_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 36145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  __pyx_t_10 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_10 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_8};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 36145, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36108
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.cuGraphKernelNodeSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36147
 *     return (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_4cuda_687cuGraphDebugDotPrint(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_686cuGraphDebugDotPrint, "cuGraphDebugDotPrint(hGraph, char *path, unsigned int flags)\n Write a DOT file describing graph structure.\n\n    Using the provided `hGraph`, write to `path` a DOT formatted\n    description of the graph. By default this includes the graph topology,\n    node types, node id, kernel names and memcpy direction. `flags` can be\n    specified to write more detailed information about each node type such\n    as parameter values, kernel attributes, node and function handles.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        The graph to create a DOT file from\n    path : bytes\n        The path to write the DOT file to\n    flags : unsigned int\n        Flags from CUgraphDebugDot_flags for specifying which additional\n        node information to write\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_OPERATING_SYSTEM`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_687cuGraphDebugDotPrint = {"cuGraphDebugDotPrint", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_687cuGraphDebugDotPrint, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_686cuGraphDebugDotPrint};
static PyObject *__pyx_pw_4cuda_4cuda_687cuGraphDebugDotPrint(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_path,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36147, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_path)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36147, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphDebugDotPrint", 1, 3, 3, 1); __PYX_ERR(1, 36147, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36147, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphDebugDotPrint", 1, 3, 3, 2); __PYX_ERR(1, 36147, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphDebugDotPrint") < 0)) __PYX_ERR(1, 36147, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_path = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_path) && PyErr_Occurred())) __PYX_ERR(1, 36148, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36148, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphDebugDotPrint", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 36147, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphDebugDotPrint", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_686cuGraphDebugDotPrint(__pyx_self, __pyx_v_hGraph, __pyx_v_path, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_686cuGraphDebugDotPrint(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, char *__pyx_v_path, unsigned int __pyx_v_flags) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__844)
  __Pyx_RefNannySetupContext("cuGraphDebugDotPrint", 1);
  __Pyx_TraceCall("cuGraphDebugDotPrint", __pyx_f[1], 36147, 0, __PYX_ERR(1, 36147, __pyx_L1_error));

  /* "cuda/cuda.pyx":36173
 *     """
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36174
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36173
 *     """
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36175
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36176
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36176, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36177
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36177, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36175
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36179
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     err = ccuda.cuGraphDebugDotPrint(chGraph, path, flags)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36180
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphDebugDotPrint(chGraph, path, flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36180, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":36181
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     err = ccuda.cuGraphDebugDotPrint(chGraph, path, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphDebugDotPrint(__pyx_v_chGraph, __pyx_v_path, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36181, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":36182
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     err = ccuda.cuGraphDebugDotPrint(chGraph, path, flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 36182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 36182, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36147
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuGraphDebugDotPrint", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36184
 *     return (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_4cuda_689cuUserObjectCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_688cuUserObjectCreate, "cuUserObjectCreate(ptr, destroy, unsigned int initialRefcount, unsigned int flags)\n Create a user object.\n\n    Create a user object with the specified destructor callback and initial\n    reference count. The initial references are owned by the caller.\n\n    Destructor callbacks cannot make CUDA API calls and should avoid\n    blocking behavior, as they are executed by a shared internal thread.\n    Another thread may be signaled to perform such actions, if it does not\n    block forward progress of tasks scheduled through CUDA.\n\n    See CUDA User Objects in the CUDA C++ Programming Guide for more\n    information on user objects.\n\n    Parameters\n    ----------\n    ptr : Any\n        The pointer to pass to the destroy function\n    destroy : :py:obj:`~.CUhostFn`\n        Callback to free the user object when it is no longer in use\n    initialRefcount : unsigned int\n        The initial refcount to create the object with, typically 1. The\n        initial references are owned by the calling thread.\n    flags : 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\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    object_out : :py:obj:`~.CUuserObject`\n        Location to return the user object handle\n\n    See Also\n    --------\n    :py:obj:`~.cuUserObjectRetain`, :py:obj:`~.cuUserObjectRelease`, :py:obj:`~.cuGraphRetainUserObject`, :py:obj:`~.cuGraphReleaseUserObject`, :py:obj:`~.cuGraphCreate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_689cuUserObjectCreate = {"cuUserObjectCreate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_689cuUserObjectCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_688cuUserObjectCreate};
static PyObject *__pyx_pw_4cuda_4cuda_689cuUserObjectCreate(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ptr_2,&__pyx_n_s_destroy,&__pyx_n_s_initialRefcount,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36184, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_destroy)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36184, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuUserObjectCreate", 1, 4, 4, 1); __PYX_ERR(1, 36184, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initialRefcount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36184, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuUserObjectCreate", 1, 4, 4, 2); __PYX_ERR(1, 36184, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36184, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuUserObjectCreate", 1, 4, 4, 3); __PYX_ERR(1, 36184, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuUserObjectCreate") < 0)) __PYX_ERR(1, 36184, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_ptr = values[0];
    __pyx_v_destroy = values[1];
    __pyx_v_initialRefcount = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_initialRefcount == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36185, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36185, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuUserObjectCreate", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 36184, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuUserObjectCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_688cuUserObjectCreate(__pyx_self, __pyx_v_ptr, __pyx_v_destroy, __pyx_v_initialRefcount, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_688cuUserObjectCreate(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_cdestroy;
  PyObject *__pyx_v_pdestroy = NULL;
  struct __pyx_obj_4cuda_4cuda_CUuserObject *__pyx_v_object_out = 0;
  PyObject *__pyx_v_cptr = NULL;
  void *__pyx_v_cptr_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__845)
  __Pyx_RefNannySetupContext("cuUserObjectCreate", 1);
  __Pyx_TraceCall("cuUserObjectCreate", __pyx_f[1], 36184, 0, __PYX_ERR(1, 36184, __pyx_L1_error));

  /* "cuda/cuda.pyx":36227
 *     """
 *     cdef ccuda.CUhostFn cdestroy
 *     if destroy is None:             # <<<<<<<<<<<<<<
 *         cdestroy = <ccuda.CUhostFn><void_ptr>0
 *     elif isinstance(destroy, (CUhostFn,)):
 */
  __pyx_t_1 = (__pyx_v_destroy == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36228
 *     cdef ccuda.CUhostFn cdestroy
 *     if destroy is None:
 *         cdestroy = <ccuda.CUhostFn><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(destroy, (CUhostFn,)):
 *         pdestroy = int(destroy)
 */
    __pyx_v_cdestroy = ((CUhostFn)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36227
 *     """
 *     cdef ccuda.CUhostFn cdestroy
 *     if destroy is None:             # <<<<<<<<<<<<<<
 *         cdestroy = <ccuda.CUhostFn><void_ptr>0
 *     elif isinstance(destroy, (CUhostFn,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36229
 *     if destroy is None:
 *         cdestroy = <ccuda.CUhostFn><void_ptr>0
 *     elif isinstance(destroy, (CUhostFn,)):             # <<<<<<<<<<<<<<
 *         pdestroy = int(destroy)
 *         cdestroy = <ccuda.CUhostFn><void_ptr>pdestroy
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_destroy, __pyx_ptype_4cuda_4cuda_CUhostFn); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36230
 *         cdestroy = <ccuda.CUhostFn><void_ptr>0
 *     elif isinstance(destroy, (CUhostFn,)):
 *         pdestroy = int(destroy)             # <<<<<<<<<<<<<<
 *         cdestroy = <ccuda.CUhostFn><void_ptr>pdestroy
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_destroy); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36230, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdestroy = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36231
 *     elif isinstance(destroy, (CUhostFn,)):
 *         pdestroy = int(destroy)
 *         cdestroy = <ccuda.CUhostFn><void_ptr>pdestroy             # <<<<<<<<<<<<<<
 *     else:
 *         pdestroy = int(CUhostFn(destroy))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdestroy); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36231, __pyx_L1_error)
    __pyx_v_cdestroy = ((CUhostFn)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36229
 *     if destroy is None:
 *         cdestroy = <ccuda.CUhostFn><void_ptr>0
 *     elif isinstance(destroy, (CUhostFn,)):             # <<<<<<<<<<<<<<
 *         pdestroy = int(destroy)
 *         cdestroy = <ccuda.CUhostFn><void_ptr>pdestroy
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36233
 *         cdestroy = <ccuda.CUhostFn><void_ptr>pdestroy
 *     else:
 *         pdestroy = int(CUhostFn(destroy))             # <<<<<<<<<<<<<<
 *         cdestroy = <ccuda.CUhostFn><void_ptr>pdestroy
 *     cdef CUuserObject object_out = CUuserObject()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUhostFn), __pyx_v_destroy); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36233, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36233, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdestroy = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36234
 *     else:
 *         pdestroy = int(CUhostFn(destroy))
 *         cdestroy = <ccuda.CUhostFn><void_ptr>pdestroy             # <<<<<<<<<<<<<<
 *     cdef CUuserObject object_out = CUuserObject()
 *     cptr = utils.HelperInputVoidPtr(ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdestroy); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36234, __pyx_L1_error)
    __pyx_v_cdestroy = ((CUhostFn)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":36235
 *         pdestroy = int(CUhostFn(destroy))
 *         cdestroy = <ccuda.CUhostFn><void_ptr>pdestroy
 *     cdef CUuserObject object_out = CUuserObject()             # <<<<<<<<<<<<<<
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUuserObject)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_object_out = ((struct __pyx_obj_4cuda_4cuda_CUuserObject *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":36236
 *         cdestroy = <ccuda.CUhostFn><void_ptr>pdestroy
 *     cdef CUuserObject object_out = CUuserObject()
 *     cptr = utils.HelperInputVoidPtr(ptr)             # <<<<<<<<<<<<<<
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     err = ccuda.cuUserObjectCreate(<ccuda.CUuserObject*>object_out._ptr, cptr_ptr, cdestroy, initialRefcount, flags)
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_ptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_cptr = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":36237
 *     cdef CUuserObject object_out = CUuserObject()
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuUserObjectCreate(<ccuda.CUuserObject*>object_out._ptr, cptr_ptr, cdestroy, initialRefcount, flags)
 *     return (CUresult(err), object_out)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cptr, __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36237, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cptr_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

  /* "cuda/cuda.pyx":36238
 *     cptr = utils.HelperInputVoidPtr(ptr)
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     err = ccuda.cuUserObjectCreate(<ccuda.CUuserObject*>object_out._ptr, cptr_ptr, cdestroy, initialRefcount, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), object_out)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuUserObjectCreate(((CUuserObject *)__pyx_v_object_out->_ptr), __pyx_v_cptr_ptr, __pyx_v_cdestroy, __pyx_v_initialRefcount, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36238, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":36239
 *     cdef void* cptr_ptr = <void*><void_ptr>cptr.cptr
 *     err = ccuda.cuUserObjectCreate(<ccuda.CUuserObject*>object_out._ptr, cptr_ptr, cdestroy, initialRefcount, flags)
 *     return (CUresult(err), object_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 36239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36239, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 36239, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_object_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_object_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_object_out))) __PYX_ERR(1, 36239, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36184
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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(__pyx_v_cptr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36241
 *     return (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_4cuda_691cuUserObjectRetain(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_690cuUserObjectRetain, "cuUserObjectRetain(object, unsigned int count)\n Retain a reference to a user object.\n\n    Retains new references to a user object. The new references are owned\n    by the caller.\n\n    See CUDA User Objects in the CUDA C++ Programming Guide for more\n    information on user objects.\n\n    Parameters\n    ----------\n    object : :py:obj:`~.CUuserObject`\n        The object to retain\n    count : unsigned int\n        The number of references to retain, typically 1. Must be nonzero\n        and not larger than INT_MAX.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuUserObjectCreate`, :py:obj:`~.cuUserObjectRelease`, :py:obj:`~.cuGraphRetainUserObject`, :py:obj:`~.cuGraphReleaseUserObject`, :py:obj:`~.cuGraphCreate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_691cuUserObjectRetain = {"cuUserObjectRetain", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_691cuUserObjectRetain, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_690cuUserObjectRetain};
static PyObject *__pyx_pw_4cuda_4cuda_691cuUserObjectRetain(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_object,&__pyx_n_s_count_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_object)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36241, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_count_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36241, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuUserObjectRetain", 1, 2, 2, 1); __PYX_ERR(1, 36241, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuUserObjectRetain") < 0)) __PYX_ERR(1, 36241, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_object = values[0];
    __pyx_v_count = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36242, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuUserObjectRetain", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 36241, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuUserObjectRetain", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_690cuUserObjectRetain(__pyx_self, __pyx_v_object, __pyx_v_count);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_690cuUserObjectRetain(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count) {
  CUuserObject __pyx_v_cobject;
  PyObject *__pyx_v_pobject = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__846)
  __Pyx_RefNannySetupContext("cuUserObjectRetain", 1);
  __Pyx_TraceCall("cuUserObjectRetain", __pyx_f[1], 36241, 0, __PYX_ERR(1, 36241, __pyx_L1_error));

  /* "cuda/cuda.pyx":36269
 *     """
 *     cdef ccuda.CUuserObject cobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):
 */
  __pyx_t_1 = (__pyx_v_object == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36270
 *     cdef ccuda.CUuserObject cobject
 *     if object is None:
 *         cobject = <ccuda.CUuserObject><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)
 */
    __pyx_v_cobject = ((CUuserObject)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36269
 *     """
 *     cdef ccuda.CUuserObject cobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36271
 *     if object is None:
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_4cuda_CUuserObject); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36272
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)             # <<<<<<<<<<<<<<
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pobject = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36273
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     else:
 *         pobject = int(CUuserObject(object))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36273, __pyx_L1_error)
    __pyx_v_cobject = ((CUuserObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36271
 *     if object is None:
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36275
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     else:
 *         pobject = int(CUuserObject(object))             # <<<<<<<<<<<<<<
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     err = ccuda.cuUserObjectRetain(cobject, count)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUuserObject), __pyx_v_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pobject = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36276
 *     else:
 *         pobject = int(CUuserObject(object))
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     err = ccuda.cuUserObjectRetain(cobject, count)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36276, __pyx_L1_error)
    __pyx_v_cobject = ((CUuserObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":36277
 *         pobject = int(CUuserObject(object))
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     err = ccuda.cuUserObjectRetain(cobject, count)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuUserObjectRetain(__pyx_v_cobject, __pyx_v_count); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36277, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":36278
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     err = ccuda.cuUserObjectRetain(cobject, count)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 36278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 36278, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36241
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuUserObjectRetain", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pobject);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36280
 *     return (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_4cuda_693cuUserObjectRelease(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_692cuUserObjectRelease, "cuUserObjectRelease(object, unsigned int count)\n Release a reference to a user object.\n\n    Releases user object references owned by the caller. The object's\n    destructor is invoked if the reference count reaches zero.\n\n    It is undefined behavior to release references not owned by the caller,\n    or to use a user object handle after all references are released.\n\n    See CUDA User Objects in the CUDA C++ Programming Guide for more\n    information on user objects.\n\n    Parameters\n    ----------\n    object : :py:obj:`~.CUuserObject`\n        The object to release\n    count : unsigned int\n        The number of references to release, typically 1. Must be nonzero\n        and not larger than INT_MAX.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuUserObjectCreate`, :py:obj:`~.cuUserObjectRetain`, :py:obj:`~.cuGraphRetainUserObject`, :py:obj:`~.cuGraphReleaseUserObject`, :py:obj:`~.cuGraphCreate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_693cuUserObjectRelease = {"cuUserObjectRelease", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_693cuUserObjectRelease, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_692cuUserObjectRelease};
static PyObject *__pyx_pw_4cuda_4cuda_693cuUserObjectRelease(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_object,&__pyx_n_s_count_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_object)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36280, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_count_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36280, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuUserObjectRelease", 1, 2, 2, 1); __PYX_ERR(1, 36280, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuUserObjectRelease") < 0)) __PYX_ERR(1, 36280, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_object = values[0];
    __pyx_v_count = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36281, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuUserObjectRelease", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 36280, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuUserObjectRelease", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_692cuUserObjectRelease(__pyx_self, __pyx_v_object, __pyx_v_count);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_692cuUserObjectRelease(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_object, unsigned int __pyx_v_count) {
  CUuserObject __pyx_v_cobject;
  PyObject *__pyx_v_pobject = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__847)
  __Pyx_RefNannySetupContext("cuUserObjectRelease", 1);
  __Pyx_TraceCall("cuUserObjectRelease", __pyx_f[1], 36280, 0, __PYX_ERR(1, 36280, __pyx_L1_error));

  /* "cuda/cuda.pyx":36311
 *     """
 *     cdef ccuda.CUuserObject cobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):
 */
  __pyx_t_1 = (__pyx_v_object == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36312
 *     cdef ccuda.CUuserObject cobject
 *     if object is None:
 *         cobject = <ccuda.CUuserObject><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)
 */
    __pyx_v_cobject = ((CUuserObject)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36311
 *     """
 *     cdef ccuda.CUuserObject cobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36313
 *     if object is None:
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_4cuda_CUuserObject); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36314
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)             # <<<<<<<<<<<<<<
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pobject = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36315
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     else:
 *         pobject = int(CUuserObject(object))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36315, __pyx_L1_error)
    __pyx_v_cobject = ((CUuserObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36313
 *     if object is None:
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36317
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     else:
 *         pobject = int(CUuserObject(object))             # <<<<<<<<<<<<<<
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     err = ccuda.cuUserObjectRelease(cobject, count)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUuserObject), __pyx_v_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36317, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36317, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pobject = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36318
 *     else:
 *         pobject = int(CUuserObject(object))
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     err = ccuda.cuUserObjectRelease(cobject, count)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36318, __pyx_L1_error)
    __pyx_v_cobject = ((CUuserObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":36319
 *         pobject = int(CUuserObject(object))
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     err = ccuda.cuUserObjectRelease(cobject, count)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuUserObjectRelease(__pyx_v_cobject, __pyx_v_count); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36319, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":36320
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     err = ccuda.cuUserObjectRelease(cobject, count)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 36320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 36320, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36280
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuUserObjectRelease", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pobject);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36322
 *     return (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_4cuda_695cuGraphRetainUserObject(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_694cuGraphRetainUserObject, "cuGraphRetainUserObject(graph, object, unsigned int count, unsigned int flags)\n Retain a reference to a user object from a graph.\n\n    Creates or moves user object references that will be owned by a CUDA\n    graph.\n\n    See CUDA User Objects in the CUDA C++ Programming Guide for more\n    information on user objects.\n\n    Parameters\n    ----------\n    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        The graph to associate the reference with\n    object : :py:obj:`~.CUuserObject`\n        The user object to retain a reference for\n    count : unsigned int\n        The number of references to add to the graph, typically 1. Must be\n        nonzero and not larger than INT_MAX.\n    flags : 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\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuUserObjectCreate`, :py:obj:`~.cuUserObjectRetain`, :py:obj:`~.cuUserObjectRelease`, :py:obj:`~.cuGraphReleaseUserObject`, :py:obj:`~.cuGraphCreate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_695cuGraphRetainUserObject = {"cuGraphRetainUserObject", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_695cuGraphRetainUserObject, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_694cuGraphRetainUserObject};
static PyObject *__pyx_pw_4cuda_4cuda_695cuGraphRetainUserObject(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph_2,&__pyx_n_s_object,&__pyx_n_s_count_2,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_graph_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36322, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_object)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36322, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphRetainUserObject", 1, 4, 4, 1); __PYX_ERR(1, 36322, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_count_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36322, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphRetainUserObject", 1, 4, 4, 2); __PYX_ERR(1, 36322, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36322, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphRetainUserObject", 1, 4, 4, 3); __PYX_ERR(1, 36322, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphRetainUserObject") < 0)) __PYX_ERR(1, 36322, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_graph = values[0];
    __pyx_v_object = values[1];
    __pyx_v_count = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36323, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36323, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphRetainUserObject", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 36322, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphRetainUserObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_694cuGraphRetainUserObject(__pyx_self, __pyx_v_graph, __pyx_v_object, __pyx_v_count, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_694cuGraphRetainUserObject(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_cobject;
  PyObject *__pyx_v_pobject = NULL;
  CUgraph __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__848)
  __Pyx_RefNannySetupContext("cuGraphRetainUserObject", 1);
  __Pyx_TraceCall("cuGraphRetainUserObject", __pyx_f[1], 36322, 0, __PYX_ERR(1, 36322, __pyx_L1_error));

  /* "cuda/cuda.pyx":36356
 *     """
 *     cdef ccuda.CUuserObject cobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):
 */
  __pyx_t_1 = (__pyx_v_object == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36357
 *     cdef ccuda.CUuserObject cobject
 *     if object is None:
 *         cobject = <ccuda.CUuserObject><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)
 */
    __pyx_v_cobject = ((CUuserObject)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36356
 *     """
 *     cdef ccuda.CUuserObject cobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36358
 *     if object is None:
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_4cuda_CUuserObject); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36359
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)             # <<<<<<<<<<<<<<
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pobject = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36360
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     else:
 *         pobject = int(CUuserObject(object))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36360, __pyx_L1_error)
    __pyx_v_cobject = ((CUuserObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36358
 *     if object is None:
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36362
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     else:
 *         pobject = int(CUuserObject(object))             # <<<<<<<<<<<<<<
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     cdef ccuda.CUgraph cgraph
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUuserObject), __pyx_v_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pobject = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36363
 *     else:
 *         pobject = int(CUuserObject(object))
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph cgraph
 *     if graph is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36363, __pyx_L1_error)
    __pyx_v_cobject = ((CUuserObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":36365
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     cdef ccuda.CUgraph cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(graph, (CUgraph,)):
 */
  __pyx_t_1 = (__pyx_v_graph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36366
 *     cdef ccuda.CUgraph cgraph
 *     if graph is None:
 *         cgraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (CUgraph,)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36365
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     cdef ccuda.CUgraph cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(graph, (CUgraph,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36367
 *     if graph is None:
 *         cgraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(graph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36368
 *         cgraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(graph, (CUgraph,)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pgraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36369
 *     elif isinstance(graph, (CUgraph,)):
 *         pgraph = int(graph)
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(CUgraph(graph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36369, __pyx_L1_error)
    __pyx_v_cgraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36367
 *     if graph is None:
 *         cgraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(graph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36371
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph
 *     else:
 *         pgraph = int(CUgraph(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph
 *     err = ccuda.cuGraphRetainUserObject(cgraph, cobject, count, flags)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pgraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36372
 *     else:
 *         pgraph = int(CUgraph(graph))
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphRetainUserObject(cgraph, cobject, count, flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36372, __pyx_L1_error)
    __pyx_v_cgraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":36373
 *         pgraph = int(CUgraph(graph))
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph
 *     err = ccuda.cuGraphRetainUserObject(cgraph, cobject, count, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphRetainUserObject(__pyx_v_cgraph, __pyx_v_cobject, __pyx_v_count, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36373, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":36374
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph
 *     err = ccuda.cuGraphRetainUserObject(cgraph, cobject, count, flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 36374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 36374, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 36374, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36322
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36376
 *     return (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_4cuda_697cuGraphReleaseUserObject(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_696cuGraphReleaseUserObject, "cuGraphReleaseUserObject(graph, object, unsigned int count)\n Release a user object reference from a graph.\n\n    Releases user object references owned by a graph.\n\n    See CUDA User Objects in the CUDA C++ Programming Guide for more\n    information on user objects.\n\n    Parameters\n    ----------\n    graph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        The graph that will release the reference\n    object : :py:obj:`~.CUuserObject`\n        The user object to release a reference for\n    count : unsigned int\n        The number of references to release, typically 1. Must be nonzero\n        and not larger than INT_MAX.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuUserObjectCreate`, :py:obj:`~.cuUserObjectRetain`, :py:obj:`~.cuUserObjectRelease`, :py:obj:`~.cuGraphRetainUserObject`, :py:obj:`~.cuGraphCreate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_697cuGraphReleaseUserObject = {"cuGraphReleaseUserObject", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_697cuGraphReleaseUserObject, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_696cuGraphReleaseUserObject};
static PyObject *__pyx_pw_4cuda_4cuda_697cuGraphReleaseUserObject(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_graph_2,&__pyx_n_s_object,&__pyx_n_s_count_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_graph_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36376, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_object)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36376, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphReleaseUserObject", 1, 3, 3, 1); __PYX_ERR(1, 36376, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_count_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36376, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphReleaseUserObject", 1, 3, 3, 2); __PYX_ERR(1, 36376, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphReleaseUserObject") < 0)) __PYX_ERR(1, 36376, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_graph = values[0];
    __pyx_v_object = values[1];
    __pyx_v_count = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36377, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphReleaseUserObject", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 36376, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphReleaseUserObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_696cuGraphReleaseUserObject(__pyx_self, __pyx_v_graph, __pyx_v_object, __pyx_v_count);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_696cuGraphReleaseUserObject(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_graph, PyObject *__pyx_v_object, unsigned int __pyx_v_count) {
  CUuserObject __pyx_v_cobject;
  PyObject *__pyx_v_pobject = NULL;
  CUgraph __pyx_v_cgraph;
  PyObject *__pyx_v_pgraph = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__849)
  __Pyx_RefNannySetupContext("cuGraphReleaseUserObject", 1);
  __Pyx_TraceCall("cuGraphReleaseUserObject", __pyx_f[1], 36376, 0, __PYX_ERR(1, 36376, __pyx_L1_error));

  /* "cuda/cuda.pyx":36405
 *     """
 *     cdef ccuda.CUuserObject cobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):
 */
  __pyx_t_1 = (__pyx_v_object == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36406
 *     cdef ccuda.CUuserObject cobject
 *     if object is None:
 *         cobject = <ccuda.CUuserObject><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)
 */
    __pyx_v_cobject = ((CUuserObject)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36405
 *     """
 *     cdef ccuda.CUuserObject cobject
 *     if object is None:             # <<<<<<<<<<<<<<
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36407
 *     if object is None:
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_object, __pyx_ptype_4cuda_4cuda_CUuserObject); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36408
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)             # <<<<<<<<<<<<<<
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pobject = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36409
 *     elif isinstance(object, (CUuserObject,)):
 *         pobject = int(object)
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     else:
 *         pobject = int(CUuserObject(object))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36409, __pyx_L1_error)
    __pyx_v_cobject = ((CUuserObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36407
 *     if object is None:
 *         cobject = <ccuda.CUuserObject><void_ptr>0
 *     elif isinstance(object, (CUuserObject,)):             # <<<<<<<<<<<<<<
 *         pobject = int(object)
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36411
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     else:
 *         pobject = int(CUuserObject(object))             # <<<<<<<<<<<<<<
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     cdef ccuda.CUgraph cgraph
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUuserObject), __pyx_v_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pobject = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36412
 *     else:
 *         pobject = int(CUuserObject(object))
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph cgraph
 *     if graph is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pobject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36412, __pyx_L1_error)
    __pyx_v_cobject = ((CUuserObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":36414
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     cdef ccuda.CUgraph cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(graph, (CUgraph,)):
 */
  __pyx_t_1 = (__pyx_v_graph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36415
 *     cdef ccuda.CUgraph cgraph
 *     if graph is None:
 *         cgraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(graph, (CUgraph,)):
 *         pgraph = int(graph)
 */
    __pyx_v_cgraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36414
 *         cobject = <ccuda.CUuserObject><void_ptr>pobject
 *     cdef ccuda.CUgraph cgraph
 *     if graph is None:             # <<<<<<<<<<<<<<
 *         cgraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(graph, (CUgraph,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36416
 *     if graph is None:
 *         cgraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(graph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_graph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36417
 *         cgraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(graph, (CUgraph,)):
 *         pgraph = int(graph)             # <<<<<<<<<<<<<<
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36417, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pgraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36418
 *     elif isinstance(graph, (CUgraph,)):
 *         pgraph = int(graph)
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     else:
 *         pgraph = int(CUgraph(graph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36418, __pyx_L1_error)
    __pyx_v_cgraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36416
 *     if graph is None:
 *         cgraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(graph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         pgraph = int(graph)
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36420
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph
 *     else:
 *         pgraph = int(CUgraph(graph))             # <<<<<<<<<<<<<<
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph
 *     err = ccuda.cuGraphReleaseUserObject(cgraph, cobject, count)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pgraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36421
 *     else:
 *         pgraph = int(CUgraph(graph))
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphReleaseUserObject(cgraph, cobject, count)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pgraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36421, __pyx_L1_error)
    __pyx_v_cgraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":36422
 *         pgraph = int(CUgraph(graph))
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph
 *     err = ccuda.cuGraphReleaseUserObject(cgraph, cobject, count)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphReleaseUserObject(__pyx_v_cgraph, __pyx_v_cobject, __pyx_v_count); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36422, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":36423
 *         cgraph = <ccuda.CUgraph><void_ptr>pgraph
 *     err = ccuda.cuGraphReleaseUserObject(cgraph, cobject, count)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 36423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 36423, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 36423, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36376
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36425
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_699cuGraphAddNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_698cuGraphAddNode, "cuGraphAddNode(hGraph, list dependencies: Optional[List[CUgraphNode]], size_t numDependencies, CUgraphNodeParams nodeParams: Optional[CUgraphNodeParams])\n Adds a node of arbitrary type to a graph.\n\n    Creates 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\n    entries.\n\n    `nodeParams` is a tagged union. The node type should be specified in\n    the `typename` field, and type-specific parameters in the corresponding\n    union member. All unused bytes - that is, `reserved0` and all bytes\n    past the utilized union member - must be set to zero. It is recommended\n    to use brace initialization or memset to ensure all bytes are\n    initialized.\n\n    Note that for some node types, `nodeParams` may contain \"out\n    parameters\" which are modified during the call, such as\n    `nodeParams->alloc.dptr`.\n\n    A handle to the new node will be returned in `phGraphNode`.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Dependencies of the node\n    numDependencies : size_t\n        Number of dependencies\n    nodeParams : :py:obj:`~.CUgraphNodeParams`\n        Specification of the node\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n    phGraphNode : :py:obj:`~.CUgraphNode`\n        Returns newly created node\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuGraphExecNodeSetParams`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_699cuGraphAddNode = {"cuGraphAddNode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_699cuGraphAddNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_698cuGraphAddNode};
static PyObject *__pyx_pw_4cuda_4cuda_699cuGraphAddNode(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_CUgraphNodeParams *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_dependencies,&__pyx_n_s_numDependencies,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36425, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36425, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddNode", 1, 4, 4, 1); __PYX_ERR(1, 36425, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36425, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddNode", 1, 4, 4, 2); __PYX_ERR(1, 36425, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36425, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddNode", 1, 4, 4, 3); __PYX_ERR(1, 36425, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphAddNode") < 0)) __PYX_ERR(1, 36425, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = ((PyObject*)values[1]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 36426, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams *)values[3]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddNode", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 36425, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 36426, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_ptype_4cuda_4cuda_CUgraphNodeParams, 1, "nodeParams", 0))) __PYX_ERR(1, 36426, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_698cuGraphAddNode(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_14cuGraphAddNode_2generator49(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":36471
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_14cuGraphAddNode_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_49_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_49_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_49_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_49_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 36471, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_14cuGraphAddNode_2generator49, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddNode_locals_genexpr, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 36471, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_14cuGraphAddNode_2generator49(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_49_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_49_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 36471, 0, __PYX_ERR(1, 36471, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 36471, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 36471, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 36471, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 36471, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 36471, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36425
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph.
 */

static PyObject *__pyx_pf_4cuda_4cuda_698cuGraphAddNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams *__pyx_v_nodeParams) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUgraphNodeParams *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_14cuGraphAddNode_2generator49 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct CUgraphNodeParams_st *__pyx_t_10;
  CUgraphNode *__pyx_t_11;
  CUresult __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__850)
  __Pyx_RefNannySetupContext("cuGraphAddNode", 0);
  __Pyx_TraceCall("cuGraphAddNode", __pyx_f[1], 36425, 0, __PYX_ERR(1, 36425, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);

  /* "cuda/cuda.pyx":36470
 *     :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuGraphExecNodeSetParams`
 *     """
 *     dependencies = [] if dependencies is None else dependencies             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 */
  __pyx_t_2 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36470, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":36471
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_14cuGraphAddNode_genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36471, __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(1, 36471, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":36472
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36472, __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(1, 36472, __pyx_L1_error)

    /* "cuda/cuda.pyx":36471
 *     """
 *     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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":36474
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_4 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":36475
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36474
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36476
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":36477
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36477, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_phGraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":36478
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36478, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":36476
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36480
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_phGraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":36481
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36481, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":36482
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":36483
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":36484
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 36484, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36484, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":36485
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 36485, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36485, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":36486
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_4 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":36487
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 36487, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36487, __pyx_L1_error)
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36487, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36487, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 36487, __pyx_L1_error)

      /* "cuda/cuda.pyx":36486
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":36489
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 36489, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36489, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":36490
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 36490, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36490, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":36484
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":36491
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 36491, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36491, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 36491, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36491, __pyx_L1_error)
    __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 36491, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":36492
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphAddNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:
 */
  __pyx_t_3 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36492, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(1, 36492, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_4) {
    __pyx_t_10 = __pyx_v_nodeParams->__pyx_base._ptr;
  } else {
    __pyx_t_10 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_10;

  /* "cuda/cuda.pyx":36493
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 36493, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36493, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_6 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 36493, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_3)->_ptr);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cdependencies;
  }
  __pyx_t_12 = __pyx_f_4cuda_5ccuda_cuGraphAddNode(((CUgraphNode *)__pyx_v_phGraphNode->_ptr), __pyx_v_chGraph, __pyx_t_11, __pyx_v_numDependencies, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_12 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36493, __pyx_L1_error)
  __pyx_v_err = __pyx_t_12;

  /* "cuda/cuda.pyx":36494
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  __pyx_t_4 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":36495
 *     err = ccuda.cuGraphAddNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphNode)
 * 
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":36494
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddNode(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)
 */
  }

  /* "cuda/cuda.pyx":36496
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     return (CUresult(err), phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_13 = NULL;
  __pyx_t_14 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_13)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_13);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_14 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_1};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_14, 1+__pyx_t_14);
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36496, __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)) __PYX_ERR(1, 36496, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_phGraphNode))) __PYX_ERR(1, 36496, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36425
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_14cuGraphAddNode_2generator49);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36498
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode_v2(hGraph, dependencies : Optional[List[CUgraphNode]], dependencyData : Optional[List[CUgraphEdgeData]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph (12.3+)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_701cuGraphAddNode_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_4cuda_700cuGraphAddNode_v2, "cuGraphAddNode_v2(hGraph, list dependencies: Optional[List[CUgraphNode]], list dependencyData: Optional[List[CUgraphEdgeData]], size_t numDependencies, CUgraphNodeParams nodeParams: Optional[CUgraphNodeParams])\n Adds a node of arbitrary type to a graph (12.3+)\n\n    Creates 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\n    entries.\n\n    `nodeParams` is a tagged union. The node type should be specified in\n    the `typename` field, and type-specific parameters in the corresponding\n    union member. All unused bytes - that is, `reserved0` and all bytes\n    past the utilized union member - must be set to zero. It is recommended\n    to use brace initialization or memset to ensure all bytes are\n    initialized.\n\n    Note that for some node types, `nodeParams` may contain \"out\n    parameters\" which are modified during the call, such as\n    `nodeParams->alloc.dptr`.\n\n    A handle to the new node will be returned in `phGraphNode`.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph to which to add the node\n    dependencies : List[:py:obj:`~.CUgraphNode`]\n        Dependencies of the node\n    dependencyData : 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.\n    numDependencies : size_t\n        Number of dependencies\n    nodeParams : :py:obj:`~.CUgraphNodeParams`\n        Specification of the node\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n    phGraphNode : :py:obj:`~.CUgraphNode`\n        Returns newly created node\n\n    See Als""o\n    --------\n    :py:obj:`~.cuGraphCreate`, :py:obj:`~.cuGraphNodeSetParams`, :py:obj:`~.cuGraphExecNodeSetParams`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_701cuGraphAddNode_v2 = {"cuGraphAddNode_v2", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_701cuGraphAddNode_v2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_700cuGraphAddNode_v2};
static PyObject *__pyx_pw_4cuda_4cuda_701cuGraphAddNode_v2(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_hGraph = 0;
  PyObject *__pyx_v_dependencies = 0;
  PyObject *__pyx_v_dependencyData = 0;
  size_t __pyx_v_numDependencies;
  struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams *__pyx_v_nodeParams = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuGraphAddNode_v2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_dependencies,&__pyx_n_s_dependencyData,&__pyx_n_s_numDependencies,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36498, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36498, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddNode_v2", 1, 5, 5, 1); __PYX_ERR(1, 36498, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dependencyData)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36498, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddNode_v2", 1, 5, 5, 2); __PYX_ERR(1, 36498, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numDependencies)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36498, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddNode_v2", 1, 5, 5, 3); __PYX_ERR(1, 36498, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36498, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphAddNode_v2", 1, 5, 5, 4); __PYX_ERR(1, 36498, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphAddNode_v2") < 0)) __PYX_ERR(1, 36498, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_dependencies = ((PyObject*)values[1]);
    __pyx_v_dependencyData = ((PyObject*)values[2]);
    __pyx_v_numDependencies = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_numDependencies == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 36499, __pyx_L3_error)
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams *)values[4]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphAddNode_v2", 1, 5, 5, __pyx_nargs); __PYX_ERR(1, 36498, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddNode_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencies), (&PyList_Type), 1, "dependencies", 1))) __PYX_ERR(1, 36499, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dependencyData), (&PyList_Type), 1, "dependencyData", 1))) __PYX_ERR(1, 36499, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodeParams), __pyx_ptype_4cuda_4cuda_CUgraphNodeParams, 1, "nodeParams", 0))) __PYX_ERR(1, 36499, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_700cuGraphAddNode_v2(__pyx_self, __pyx_v_hGraph, __pyx_v_dependencies, __pyx_v_dependencyData, __pyx_v_numDependencies, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_17cuGraphAddNode_v2_2generator50(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":36547
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 */

static PyObject *__pyx_pf_4cuda_4cuda_17cuGraphAddNode_v2_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_50_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_50_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_50_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_50_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 36547, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_17cuGraphAddNode_v2_2generator50, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddNode_v2_locals_genexpr, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 36547, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddNode_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_4cuda_17cuGraphAddNode_v2_2generator50(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_50_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_50_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 36547, 0, __PYX_ERR(1, 36547, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 36547, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 36547, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 36547, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 36547, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 36547, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36547, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphEdgeData); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_17cuGraphAddNode_v2_5generator51(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":36550
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */

static PyObject *__pyx_pf_4cuda_4cuda_17cuGraphAddNode_v2_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_51_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_51_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_51_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_51_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 36550, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_17cuGraphAddNode_v2_5generator51, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuGraphAddNode_v2_locals_genexpr, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 36550, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddNode_v2.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_4cuda_4cuda_17cuGraphAddNode_v2_5generator51(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_51_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_51_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 36550, 0, __PYX_ERR(1, 36550, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 36550, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 36550, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 36550, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 36550, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 36550, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36498
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode_v2(hGraph, dependencies : Optional[List[CUgraphNode]], dependencyData : Optional[List[CUgraphEdgeData]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph (12.3+)
 */

static PyObject *__pyx_pf_4cuda_4cuda_700cuGraphAddNode_v2(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraph, PyObject *__pyx_v_dependencies, PyObject *__pyx_v_dependencyData, size_t __pyx_v_numDependencies, struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams *__pyx_v_nodeParams) {
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphNode *__pyx_v_phGraphNode = 0;
  CUgraphNode *__pyx_v_cdependencies;
  Py_ssize_t __pyx_v_idx;
  CUgraphEdgeData *__pyx_v_cdependencyData;
  CUgraphNodeParams *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_17cuGraphAddNode_v2_2generator50 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_17cuGraphAddNode_v2_5generator51 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  struct CUgraphNodeParams_st *__pyx_t_10;
  CUgraphNode *__pyx_t_11;
  struct CUgraphEdgeData_st *__pyx_t_12;
  CUresult __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__851)
  __Pyx_RefNannySetupContext("cuGraphAddNode_v2", 0);
  __Pyx_TraceCall("cuGraphAddNode_v2", __pyx_f[1], 36498, 0, __PYX_ERR(1, 36498, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_dependencies);
  __Pyx_INCREF(__pyx_v_dependencyData);

  /* "cuda/cuda.pyx":36546
 *     :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 List[ccuda.CUgraphEdgeData,]")
 */
  __pyx_t_2 = (__pyx_v_dependencyData == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36546, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":36547
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_17cuGraphAddNode_v2_genexpr(NULL, __pyx_v_dependencyData); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36547, __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(1, 36547, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":36548
 *     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 List[ccuda.CUgraphEdgeData,]")             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__699, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36548, __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(1, 36548, __pyx_L1_error)

    /* "cuda/cuda.pyx":36547
 *     """
 *     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 List[ccuda.CUgraphEdgeData,]")
 *     dependencies = [] if dependencies is None else dependencies
 */
  }

  /* "cuda/cuda.pyx":36549
 *     if not all(isinstance(_x, (CUgraphEdgeData,)) for _x in dependencyData):
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 */
  __pyx_t_4 = (__pyx_v_dependencies == ((PyObject*)Py_None));
  if (__pyx_t_4) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36549, __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, ((PyObject*)__pyx_t_3));
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36550
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  __pyx_t_3 = __pyx_pf_4cuda_4cuda_17cuGraphAddNode_v2_3genexpr(NULL, __pyx_v_dependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36550, __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(1, 36550, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":36551
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__700, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36551, __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, 36551, __pyx_L1_error)

    /* "cuda/cuda.pyx":36550
 *         raise TypeError("Argument 'dependencyData' is not instance of type (expected List[ccuda.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 List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 */
  }

  /* "cuda/cuda.pyx":36553
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_2 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":36554
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36553
 *         raise TypeError("Argument 'dependencies' is not instance of type (expected List[ccuda.CUgraphNode,]")
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":36555
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":36556
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_phGraph = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":36557
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36557, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":36555
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":36559
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 */
  /*else*/ {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_phGraph = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":36560
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36560, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":36561
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 */
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_phGraphNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36562
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 */
  __pyx_v_cdependencies = NULL;

  /* "cuda/cuda.pyx":36563
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 36563, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36563, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 > 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":36564
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))             # <<<<<<<<<<<<<<
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 */
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 36564, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36564, __pyx_L1_error)
    __pyx_v_cdependencies = ((CUgraphNode *)calloc(__pyx_t_6, (sizeof(CUgraphNode))));

    /* "cuda/cuda.pyx":36565
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    __pyx_t_2 = (__pyx_v_cdependencies == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cuda.pyx":36566
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(dependencies)):
 */
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 36566, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36566, __pyx_L1_error)
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36566, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 36566, __pyx_L1_error)

      /* "cuda/cuda.pyx":36565
 *     if len(dependencies) > 0:
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":36568
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencies)) + 'x' + str(sizeof(ccuda.CUgraphNode)))
 *         else:
 *             for idx in range(len(dependencies)):             # <<<<<<<<<<<<<<
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL
 */
    /*else*/ {
      if (unlikely(__pyx_v_dependencies == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 36568, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36568, __pyx_L1_error)
      __pyx_t_8 = __pyx_t_6;
      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
        __pyx_v_idx = __pyx_t_9;

        /* "cuda/cuda.pyx":36569
 *         else:
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL
 *     if len(dependencyData) > 0:
 */
        if (unlikely(__pyx_v_dependencies == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 36569, __pyx_L1_error)
        }
        __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36569, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        (__pyx_v_cdependencies[__pyx_v_idx]) = ((CUgraphNode)(((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      }
    }

    /* "cuda/cuda.pyx":36563
 *     cdef CUgraphNode phGraphNode = CUgraphNode()
 *     cdef ccuda.CUgraphNode* cdependencies = NULL
 *     if len(dependencies) > 0:             # <<<<<<<<<<<<<<
 *         cdependencies = <ccuda.CUgraphNode*> calloc(len(dependencies), sizeof(ccuda.CUgraphNode))
 *         if cdependencies is NULL:
 */
  }

  /* "cuda/cuda.pyx":36570
 *             for idx in range(len(dependencies)):
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL             # <<<<<<<<<<<<<<
 *     if len(dependencyData) > 0:
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 */
  __pyx_v_cdependencyData = NULL;

  /* "cuda/cuda.pyx":36571
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL
 *     if len(dependencyData) > 0:             # <<<<<<<<<<<<<<
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 *         if cdependencyData is NULL:
 */
  if (unlikely(__pyx_v_dependencyData == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 36571, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36571, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 > 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":36572
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL
 *     if len(dependencyData) > 0:
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *         if cdependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 */
    if (unlikely(__pyx_v_dependencyData == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 36572, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36572, __pyx_L1_error)
    __pyx_v_cdependencyData = ((CUgraphEdgeData *)calloc(__pyx_t_6, (sizeof(CUgraphEdgeData))));

    /* "cuda/cuda.pyx":36573
 *     if len(dependencyData) > 0:
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 *         if cdependencyData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
 */
    __pyx_t_2 = (__pyx_v_cdependencyData == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cuda.pyx":36574
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 *         if cdependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cdependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 */
      if (unlikely(__pyx_v_dependencyData == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 36574, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36574, __pyx_L1_error)
      __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36574, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36574, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36574, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_7, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36574, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36574, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36574, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36574, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36574, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(1, 36574, __pyx_L1_error)

      /* "cuda/cuda.pyx":36573
 *     if len(dependencyData) > 0:
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 *         if cdependencyData is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
 */
    }

    /* "cuda/cuda.pyx":36575
 *         if cdependencyData is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cdependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 */
    if (unlikely(__pyx_v_dependencyData == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 36575, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36575, __pyx_L1_error)
    __pyx_t_8 = __pyx_t_6;
    for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
      __pyx_v_idx = __pyx_t_9;

      /* "cuda/cuda.pyx":36576
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(dependencyData)) + 'x' + str(sizeof(ccuda.CUgraphEdgeData)))
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cdependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
 */
      if (unlikely(__pyx_v_dependencyData == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(1, 36576, __pyx_L1_error)
      }
      __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_dependencyData, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36576, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      (void)(memcpy((&(__pyx_v_cdependencyData[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData *)__pyx_t_1)->__pyx_base._ptr, (sizeof(CUgraphEdgeData))));
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }

    /* "cuda/cuda.pyx":36571
 *                 cdependencies[idx] = <ccuda.CUgraphNode>(<CUgraphNode>dependencies[idx])._ptr[0]
 *     cdef ccuda.CUgraphEdgeData* cdependencyData = NULL
 *     if len(dependencyData) > 0:             # <<<<<<<<<<<<<<
 *         cdependencyData = <ccuda.CUgraphEdgeData*> calloc(len(dependencyData), sizeof(ccuda.CUgraphEdgeData))
 *         if cdependencyData is NULL:
 */
  }

  /* "cuda/cuda.pyx":36577
 *         for idx in range(len(dependencyData)):
 *             string.memcpy(&cdependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 36577, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36577, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_2)) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 36577, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36577, __pyx_L1_error)
    __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_kp_u__535); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyNumber_Add(__pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 36577, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":36578
 *             string.memcpy(&cdependencyData[idx], (<CUgraphEdgeData>dependencyData[idx])._ptr, sizeof(ccuda.CUgraphEdgeData))
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddNode_v2(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, cnodeParams_ptr)
 */
  if (unlikely(__pyx_v_dependencyData == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 36578, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36578, __pyx_L1_error)
  __pyx_t_2 = (__pyx_v_numDependencies > ((size_t)__pyx_t_6));
  if (unlikely(__pyx_t_2)) {
    if (unlikely(__pyx_v_dependencyData == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 36578, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36578, __pyx_L1_error)
    __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_kp_u__535); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_numDependencies); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36578, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_7, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __PYX_ERR(1, 36578, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":36579
 *     if numDependencies > <size_t>len(dependencies): raise RuntimeError("List is too small: " + str(len(dependencies)) + " < " + str(numDependencies))
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphAddNode_v2(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:
 */
  __pyx_t_7 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36579, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 36579, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (__pyx_t_2) {
    __pyx_t_10 = __pyx_v_nodeParams->__pyx_base._ptr;
  } else {
    __pyx_t_10 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_10;

  /* "cuda/cuda.pyx":36580
 *     if numDependencies > <size_t>len(dependencyData): raise RuntimeError("List is too small: " + str(len(dependencyData)) + " < " + str(numDependencies))
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddNode_v2(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 */
  if (unlikely(__pyx_v_dependencies == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 36580, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencies); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36580, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 == 1);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_dependencies == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 36580, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencies, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_11 = ((CUgraphNode *)((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)__pyx_t_7)->_ptr);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_11 = __pyx_v_cdependencies;
  }
  if (unlikely(__pyx_v_dependencyData == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 36580, __pyx_L1_error)
  }
  __pyx_t_6 = __Pyx_PyList_GET_SIZE(__pyx_v_dependencyData); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 36580, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_6 == 1);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_dependencyData == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 36580, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_GetItemInt_List(__pyx_v_dependencyData, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_12 = ((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData *)__pyx_t_7)->__pyx_base._ptr;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  } else {
    __pyx_t_12 = __pyx_v_cdependencyData;
  }
  __pyx_t_13 = __pyx_f_4cuda_5ccuda_cuGraphAddNode_v2(((CUgraphNode *)__pyx_v_phGraphNode->_ptr), __pyx_v_chGraph, __pyx_t_11, __pyx_t_12, __pyx_v_numDependencies, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_13 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36580, __pyx_L1_error)
  __pyx_v_err = __pyx_t_13;

  /* "cuda/cuda.pyx":36581
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddNode_v2(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     if cdependencyData is not NULL:
 */
  __pyx_t_2 = (__pyx_v_cdependencies != NULL);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":36582
 *     err = ccuda.cuGraphAddNode_v2(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:
 *         free(cdependencies)             # <<<<<<<<<<<<<<
 *     if cdependencyData is not NULL:
 *         free(cdependencyData)
 */
    free(__pyx_v_cdependencies);

    /* "cuda/cuda.pyx":36581
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphAddNode_v2(<ccuda.CUgraphNode*>phGraphNode._ptr, chGraph, <ccuda.CUgraphNode*>(<CUgraphNode>dependencies[0])._ptr if len(dependencies) == 1 else cdependencies, (<CUgraphEdgeData>dependencyData[0])._ptr if len(dependencyData) == 1 else cdependencyData, numDependencies, cnodeParams_ptr)
 *     if cdependencies is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencies)
 *     if cdependencyData is not NULL:
 */
  }

  /* "cuda/cuda.pyx":36583
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     if cdependencyData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencyData)
 *     return (CUresult(err), phGraphNode)
 */
  __pyx_t_2 = (__pyx_v_cdependencyData != NULL);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":36584
 *         free(cdependencies)
 *     if cdependencyData is not NULL:
 *         free(cdependencyData)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phGraphNode)
 * 
 */
    free(__pyx_v_cdependencyData);

    /* "cuda/cuda.pyx":36583
 *     if cdependencies is not NULL:
 *         free(cdependencies)
 *     if cdependencyData is not NULL:             # <<<<<<<<<<<<<<
 *         free(cdependencyData)
 *     return (CUresult(err), phGraphNode)
 */
  }

  /* "cuda/cuda.pyx":36585
 *     if cdependencyData is not NULL:
 *         free(cdependencyData)
 *     return (CUresult(err), phGraphNode)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 36585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = NULL;
  __pyx_t_15 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_14)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_14);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_15 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_t_1};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_15, 1+__pyx_t_15);
    __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36585, __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)) __PYX_ERR(1, 36585, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phGraphNode);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_phGraphNode))) __PYX_ERR(1, 36585, __pyx_L1_error);
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36498
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode_v2(hGraph, dependencies : Optional[List[CUgraphNode]], dependencyData : Optional[List[CUgraphEdgeData]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph (12.3+)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("cuda.cuda.cuGraphAddNode_v2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phGraph);
  __Pyx_XDECREF((PyObject *)__pyx_v_phGraphNode);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_17cuGraphAddNode_v2_2generator50);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_17cuGraphAddNode_v2_5generator51);
  __Pyx_XDECREF(__pyx_v_dependencies);
  __Pyx_XDECREF(__pyx_v_dependencyData);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36587
 *     return (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_4cuda_703cuGraphNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_702cuGraphNodeSetParams, "cuGraphNodeSetParams(hNode, CUgraphNodeParams nodeParams: Optional[CUgraphNodeParams])\n Update's a graph node's parameters.\n\n    Sets the parameters of graph node `hNode` to `nodeParams`. The node\n    type specified by `nodeParams->type` must match the type of `hNode`.\n    `nodeParams` must be fully initialized and all unused bytes (reserved,\n    padding) zeroed.\n\n    Modifying parameters is not supported for node types\n    CU_GRAPH_NODE_TYPE_MEM_ALLOC and CU_GRAPH_NODE_TYPE_MEM_FREE.\n\n    Parameters\n    ----------\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Node to set the parameters for\n    nodeParams : :py:obj:`~.CUgraphNodeParams`\n        Parameters to copy\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuGraphExecNodeSetParams`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_703cuGraphNodeSetParams = {"cuGraphNodeSetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_703cuGraphNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_702cuGraphNodeSetParams};
static PyObject *__pyx_pw_4cuda_4cuda_703cuGraphNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36587, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36587, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphNodeSetParams", 1, 2, 2, 1); __PYX_ERR(1, 36587, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphNodeSetParams") < 0)) __PYX_ERR(1, 36587, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hNode = values[0];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphNodeSetParams", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 36587, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUgraphNodeParams, 1, "nodeParams", 0))) __PYX_ERR(1, 36588, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_702cuGraphNodeSetParams(__pyx_self, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_702cuGraphNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphNodeParams *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUgraphNodeParams_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__852)
  __Pyx_RefNannySetupContext("cuGraphNodeSetParams", 1);
  __Pyx_TraceCall("cuGraphNodeSetParams", __pyx_f[1], 36587, 0, __PYX_ERR(1, 36587, __pyx_L1_error));

  /* "cuda/cuda.pyx":36616
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36617
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36616
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36618
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36619
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36619, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36620
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36620, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36618
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36622
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36622, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36622, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36623
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphNodeSetParams(chNode, cnodeParams_ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36623, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":36624
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphNodeSetParams(chNode, cnodeParams_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36624, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 36624, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_nodeParams->__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":36625
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphNodeSetParams(chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphNodeSetParams(__pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36625, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":36626
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphNodeSetParams(chNode, cnodeParams_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 36626, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36587
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuGraphNodeSetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phNode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36628
 *     return (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_4cuda_705cuGraphExecNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_704cuGraphExecNodeSetParams, "cuGraphExecNodeSetParams(hGraphExec, hNode, CUgraphNodeParams nodeParams: Optional[CUgraphNodeParams])\n Update's a graph node's parameters in an instantiated graph.\n\n    Sets the parameters of a node in an executable graph `hGraphExec`. The\n    node is identified by the corresponding node `hNode` in the non-\n    executable graph from which the executable graph was instantiated.\n    `hNode` must not have been removed from the original graph.\n\n    The modifications only affect future launches of `hGraphExec`. Already\n    enqueued or running launches of `hGraphExec` are not affected by this\n    call. `hNode` is also not modified by this call.\n\n    Allowed changes to parameters on executable graphs are as follows:\n\n    **View CUDA Toolkit Documentation for a table example**\n\n    Parameters\n    ----------\n    hGraphExec : :py:obj:`~.CUgraphExec` or :py:obj:`~.cudaGraphExec_t`\n        The executable graph in which to update the specified node\n    hNode : :py:obj:`~.CUgraphNode` or :py:obj:`~.cudaGraphNode_t`\n        Corresponding node from the graph from which graphExec was\n        instantiated\n    nodeParams : :py:obj:`~.CUgraphNodeParams`\n        Updated Parameters to set\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphAddNode`, :py:obj:`~.cuGraphNodeSetParams` :py:obj:`~.cuGraphExecUpdate`, :py:obj:`~.cuGraphInstantiate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_705cuGraphExecNodeSetParams = {"cuGraphExecNodeSetParams", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_705cuGraphExecNodeSetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_704cuGraphExecNodeSetParams};
static PyObject *__pyx_pw_4cuda_4cuda_705cuGraphExecNodeSetParams(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraphExec,&__pyx_n_s_hNode,&__pyx_n_s_nodeParams,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraphExec)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36628, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hNode)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36628, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecNodeSetParams", 1, 3, 3, 1); __PYX_ERR(1, 36628, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodeParams)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36628, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphExecNodeSetParams", 1, 3, 3, 2); __PYX_ERR(1, 36628, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphExecNodeSetParams") < 0)) __PYX_ERR(1, 36628, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hGraphExec = values[0];
    __pyx_v_hNode = values[1];
    __pyx_v_nodeParams = ((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphExecNodeSetParams", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 36628, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUgraphNodeParams, 1, "nodeParams", 0))) __PYX_ERR(1, 36629, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_704cuGraphExecNodeSetParams(__pyx_self, __pyx_v_hGraphExec, __pyx_v_hNode, __pyx_v_nodeParams);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_704cuGraphExecNodeSetParams(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hGraphExec, PyObject *__pyx_v_hNode, struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams *__pyx_v_nodeParams) {
  CUgraphNode __pyx_v_chNode;
  PyObject *__pyx_v_phNode = NULL;
  CUgraphExec __pyx_v_chGraphExec;
  PyObject *__pyx_v_phGraphExec = NULL;
  CUgraphNodeParams *__pyx_v_cnodeParams_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUgraphNodeParams_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__853)
  __Pyx_RefNannySetupContext("cuGraphExecNodeSetParams", 1);
  __Pyx_TraceCall("cuGraphExecNodeSetParams", __pyx_f[1], 36628, 0, __PYX_ERR(1, 36628, __pyx_L1_error));

  /* "cuda/cuda.pyx":36665
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
  __pyx_t_1 = (__pyx_v_hNode == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36666
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 */
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36665
 *     """
 *     cdef ccuda.CUgraphNode chNode
 *     if hNode is None:             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36667
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hNode, __pyx_ptype_4cuda_4cuda_CUgraphNode); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36668
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phNode = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36669
 *     elif isinstance(hNode, (CUgraphNode,)):
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36669, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36667
 *     if hNode is None:
 *         chNode = <ccuda.CUgraphNode><void_ptr>0
 *     elif isinstance(hNode, (CUgraphNode,)):             # <<<<<<<<<<<<<<
 *         phNode = int(hNode)
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36671
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     else:
 *         phNode = int(CUgraphNode(hNode))             # <<<<<<<<<<<<<<
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), __pyx_v_hNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36671, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36671, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phNode = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36672
 *     else:
 *         phNode = int(CUgraphNode(hNode))
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phNode); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36672, __pyx_L1_error)
    __pyx_v_chNode = ((CUgraphNode)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":36674
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
  __pyx_t_1 = (__pyx_v_hGraphExec == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36675
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 */
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36674
 *         chNode = <ccuda.CUgraphNode><void_ptr>phNode
 *     cdef ccuda.CUgraphExec chGraphExec
 *     if hGraphExec is None:             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36676
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraphExec, __pyx_ptype_4cuda_4cuda_CUgraphExec); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36677
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraphExec = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36678
 *     elif isinstance(hGraphExec, (CUgraphExec,)):
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36678, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36676
 *     if hGraphExec is None:
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>0
 *     elif isinstance(hGraphExec, (CUgraphExec,)):             # <<<<<<<<<<<<<<
 *         phGraphExec = int(hGraphExec)
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36680
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))             # <<<<<<<<<<<<<<
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), __pyx_v_hGraphExec); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36680, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36680, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraphExec = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36681
 *     else:
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraphExec); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36681, __pyx_L1_error)
    __pyx_v_chGraphExec = ((CUgraphExec)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":36682
 *         phGraphExec = int(CUgraphExec(hGraphExec))
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphExecNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_nodeParams), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36682, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 36682, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_nodeParams->__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cnodeParams_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":36683
 *         chGraphExec = <ccuda.CUgraphExec><void_ptr>phGraphExec
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGraphExecNodeSetParams(__pyx_v_chGraphExec, __pyx_v_chNode, __pyx_v_cnodeParams_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36683, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":36684
 *     cdef ccuda.CUgraphNodeParams* cnodeParams_ptr = nodeParams._ptr if nodeParams != None else NULL
 *     err = ccuda.cuGraphExecNodeSetParams(chGraphExec, chNode, cnodeParams_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 36684, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36628
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36686
 *     return (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_4cuda_707cuGraphConditionalHandleCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_706cuGraphConditionalHandleCreate, "cuGraphConditionalHandleCreate(hGraph, ctx, unsigned int defaultLaunchValue, unsigned int flags)\n Create a conditional handle.\n\n    Creates a conditional handle associated with `hGraph`.\n\n    The conditional handle must be associated with a conditional node in\n    this graph or one of its children.\n\n    Handles not associated with a conditional node may cause graph\n    instantiation to fail.\n\n    Handles can only be set from the context with which they are\n    associated.\n\n    Parameters\n    ----------\n    hGraph : :py:obj:`~.CUgraph` or :py:obj:`~.cudaGraph_t`\n        Graph which will contain the conditional node using this handle.\n    ctx : :py:obj:`~.CUcontext`\n        Context for the handle and associated conditional node.\n    defaultLaunchValue : unsigned int\n        Optional initial value for the conditional variable.\n    flags : unsigned int\n        Currently must be CU_GRAPH_COND_ASSIGN_DEFAULT or 0.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n    pHandle_out : :py:obj:`~.CUgraphConditionalHandle`\n        Pointer used to return the handle to the caller.\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphAddNode`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_707cuGraphConditionalHandleCreate = {"cuGraphConditionalHandleCreate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_707cuGraphConditionalHandleCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_706cuGraphConditionalHandleCreate};
static PyObject *__pyx_pw_4cuda_4cuda_707cuGraphConditionalHandleCreate(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hGraph,&__pyx_n_s_ctx_2,&__pyx_n_s_defaultLaunchValue,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hGraph)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36686, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_ctx_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36686, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphConditionalHandleCreate", 1, 4, 4, 1); __PYX_ERR(1, 36686, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_defaultLaunchValue)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36686, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphConditionalHandleCreate", 1, 4, 4, 2); __PYX_ERR(1, 36686, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36686, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphConditionalHandleCreate", 1, 4, 4, 3); __PYX_ERR(1, 36686, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphConditionalHandleCreate") < 0)) __PYX_ERR(1, 36686, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hGraph = values[0];
    __pyx_v_ctx = values[1];
    __pyx_v_defaultLaunchValue = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_defaultLaunchValue == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36687, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36687, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphConditionalHandleCreate", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 36686, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphConditionalHandleCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_706cuGraphConditionalHandleCreate(__pyx_self, __pyx_v_hGraph, __pyx_v_ctx, __pyx_v_defaultLaunchValue, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_706cuGraphConditionalHandleCreate(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_cctx;
  PyObject *__pyx_v_pctx = NULL;
  CUgraph __pyx_v_chGraph;
  PyObject *__pyx_v_phGraph = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *__pyx_v_pHandle_out = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__854)
  __Pyx_RefNannySetupContext("cuGraphConditionalHandleCreate", 1);
  __Pyx_TraceCall("cuGraphConditionalHandleCreate", __pyx_f[1], 36686, 0, __PYX_ERR(1, 36686, __pyx_L1_error));

  /* "cuda/cuda.pyx":36724
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_ctx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36725
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 */
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36724
 *     """
 *     cdef ccuda.CUcontext cctx
 *     if ctx is None:             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36726
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_ctx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36727
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pctx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36728
 *     elif isinstance(ctx, (CUcontext,)):
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     else:
 *         pctx = int(CUcontext(ctx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36728, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36726
 *     if ctx is None:
 *         cctx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(ctx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         pctx = int(ctx)
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36730
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     else:
 *         pctx = int(CUcontext(ctx))             # <<<<<<<<<<<<<<
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     cdef ccuda.CUgraph chGraph
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36730, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36730, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pctx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36731
 *     else:
 *         pctx = int(CUcontext(ctx))
 *         cctx = <ccuda.CUcontext><void_ptr>pctx             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pctx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36731, __pyx_L1_error)
    __pyx_v_cctx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":36733
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
  __pyx_t_1 = (__pyx_v_hGraph == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36734
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 */
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36733
 *         cctx = <ccuda.CUcontext><void_ptr>pctx
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36735
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hGraph, __pyx_ptype_4cuda_4cuda_CUgraph); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36736
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hGraph); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36736, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phGraph = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36737
 *     elif isinstance(hGraph, (CUgraph,)):
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36737, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36735
 *     if hGraph is None:
 *         chGraph = <ccuda.CUgraph><void_ptr>0
 *     elif isinstance(hGraph, (CUgraph,)):             # <<<<<<<<<<<<<<
 *         phGraph = int(hGraph)
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36739
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     else:
 *         phGraph = int(CUgraph(hGraph))             # <<<<<<<<<<<<<<
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphConditionalHandle pHandle_out = CUgraphConditionalHandle()
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), __pyx_v_hGraph); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phGraph = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36740
 *     else:
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph             # <<<<<<<<<<<<<<
 *     cdef CUgraphConditionalHandle pHandle_out = CUgraphConditionalHandle()
 *     err = ccuda.cuGraphConditionalHandleCreate(<ccuda.CUgraphConditionalHandle*>pHandle_out._ptr, chGraph, cctx, defaultLaunchValue, flags)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phGraph); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36740, __pyx_L1_error)
    __pyx_v_chGraph = ((CUgraph)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":36741
 *         phGraph = int(CUgraph(hGraph))
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphConditionalHandle pHandle_out = CUgraphConditionalHandle()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphConditionalHandleCreate(<ccuda.CUgraphConditionalHandle*>pHandle_out._ptr, chGraph, cctx, defaultLaunchValue, flags)
 *     return (CUresult(err), pHandle_out)
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_pHandle_out = ((struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":36742
 *         chGraph = <ccuda.CUgraph><void_ptr>phGraph
 *     cdef CUgraphConditionalHandle pHandle_out = CUgraphConditionalHandle()
 *     err = ccuda.cuGraphConditionalHandleCreate(<ccuda.CUgraphConditionalHandle*>pHandle_out._ptr, chGraph, cctx, defaultLaunchValue, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pHandle_out)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphConditionalHandleCreate(((CUgraphConditionalHandle *)__pyx_v_pHandle_out->_ptr), __pyx_v_chGraph, __pyx_v_cctx, __pyx_v_defaultLaunchValue, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36742, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":36743
 *     cdef CUgraphConditionalHandle pHandle_out = CUgraphConditionalHandle()
 *     err = ccuda.cuGraphConditionalHandleCreate(<ccuda.CUgraphConditionalHandle*>pHandle_out._ptr, chGraph, cctx, defaultLaunchValue, flags)
 *     return (CUresult(err), pHandle_out)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 36743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 36743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 36743, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pHandle_out);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pHandle_out);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_pHandle_out))) __PYX_ERR(1, 36743, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36686
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36745
 *     return (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_4cuda_709cuOccupancyMaxActiveBlocksPerMultiprocessor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_708cuOccupancyMaxActiveBlocksPerMultiprocessor, "cuOccupancyMaxActiveBlocksPerMultiprocessor(func, int blockSize, size_t dynamicSMemSize)\n Returns occupancy of a function.\n\n    Returns in `*numBlocks` the number of the maximum active blocks per\n    streaming multiprocessor.\n\n    Parameters\n    ----------\n    func : :py:obj:`~.CUfunction`\n        Kernel for which occupancy is calculated\n    blockSize : int\n        Block size the kernel is intended to be launched with\n    dynamicSMemSize : size_t\n        Per-block dynamic shared memory usage intended, in bytes\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_VALUE`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n    numBlocks : int\n        Returned occupancy\n\n    See Also\n    --------\n    :py:obj:`~.cudaOccupancyMaxActiveBlocksPerMultiprocessor`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_709cuOccupancyMaxActiveBlocksPerMultiprocessor = {"cuOccupancyMaxActiveBlocksPerMultiprocessor", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_709cuOccupancyMaxActiveBlocksPerMultiprocessor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_708cuOccupancyMaxActiveBlocksPerMultiprocessor};
static PyObject *__pyx_pw_4cuda_4cuda_709cuOccupancyMaxActiveBlocksPerMultiprocessor(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func_2,&__pyx_n_s_blockSize,&__pyx_n_s_dynamicSMemSize,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_func_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36745, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_blockSize)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36745, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxActiveBlocksPerMultiprocessor", 1, 3, 3, 1); __PYX_ERR(1, 36745, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dynamicSMemSize)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36745, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxActiveBlocksPerMultiprocessor", 1, 3, 3, 2); __PYX_ERR(1, 36745, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuOccupancyMaxActiveBlocksPerMultiprocessor") < 0)) __PYX_ERR(1, 36745, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_func = values[0];
    __pyx_v_blockSize = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_blockSize == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36746, __pyx_L3_error)
    __pyx_v_dynamicSMemSize = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_dynamicSMemSize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 36746, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxActiveBlocksPerMultiprocessor", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 36745, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuOccupancyMaxActiveBlocksPerMultiprocessor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_708cuOccupancyMaxActiveBlocksPerMultiprocessor(__pyx_self, __pyx_v_func, __pyx_v_blockSize, __pyx_v_dynamicSMemSize);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_708cuOccupancyMaxActiveBlocksPerMultiprocessor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, int __pyx_v_blockSize, size_t __pyx_v_dynamicSMemSize) {
  CUfunction __pyx_v_cfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_v_numBlocks;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__855)
  __Pyx_RefNannySetupContext("cuOccupancyMaxActiveBlocksPerMultiprocessor", 1);
  __Pyx_TraceCall("cuOccupancyMaxActiveBlocksPerMultiprocessor", __pyx_f[1], 36745, 0, __PYX_ERR(1, 36745, __pyx_L1_error));

  /* "cuda/cuda.pyx":36773
 *     """
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36774
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
 */
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36773
 *     """
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36775
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36776
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36777
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36777, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36775
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36779
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int numBlocks = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36780
 *     else:
 *         pfunc = int(CUfunction(func))
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef int numBlocks = 0
 *     err = ccuda.cuOccupancyMaxActiveBlocksPerMultiprocessor(&numBlocks, cfunc, blockSize, dynamicSMemSize)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36780, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":36781
 *         pfunc = int(CUfunction(func))
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int numBlocks = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuOccupancyMaxActiveBlocksPerMultiprocessor(&numBlocks, cfunc, blockSize, dynamicSMemSize)
 *     return (CUresult(err), numBlocks)
 */
  __pyx_v_numBlocks = 0;

  /* "cuda/cuda.pyx":36782
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int numBlocks = 0
 *     err = ccuda.cuOccupancyMaxActiveBlocksPerMultiprocessor(&numBlocks, cfunc, blockSize, dynamicSMemSize)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), numBlocks)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuOccupancyMaxActiveBlocksPerMultiprocessor((&__pyx_v_numBlocks), __pyx_v_cfunc, __pyx_v_blockSize, __pyx_v_dynamicSMemSize); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36782, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":36783
 *     cdef int numBlocks = 0
 *     err = ccuda.cuOccupancyMaxActiveBlocksPerMultiprocessor(&numBlocks, cfunc, blockSize, dynamicSMemSize)
 *     return (CUresult(err), numBlocks)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 36783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_numBlocks); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 36783, __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)) __PYX_ERR(1, 36783, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 36783, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36745
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuOccupancyMaxActiveBlocksPerMultiprocessor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36785
 *     return (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_4cuda_711cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_710cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, "cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(func, int blockSize, size_t dynamicSMemSize, unsigned int flags)\n Returns occupancy of a function.\n\n    Returns in `*numBlocks` the number of the maximum active blocks per\n    streaming multiprocessor.\n\n    The `Flags` parameter controls how special cases are handled. The valid\n    flags 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\n    Parameters\n    ----------\n    func : :py:obj:`~.CUfunction`\n        Kernel for which occupancy is calculated\n    blockSize : int\n        Block size the kernel is intended to be launched with\n    dynamicSMemSize : size_t\n        Per-block dynamic shared memory usage intended, in bytes\n    flags : unsigned int\n        Requested behavior for the occupancy calculator\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_VALUE`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n    numBlocks : int\n        Returned occupancy\n\n    See Also\n    --------\n    :py:obj:`~.cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_711cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags = {"cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_711cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_710cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags};
static PyObject *__pyx_pw_4cuda_4cuda_711cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func_2,&__pyx_n_s_blockSize,&__pyx_n_s_dynamicSMemSize,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_func_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36785, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_blockSize)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36785, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", 1, 4, 4, 1); __PYX_ERR(1, 36785, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dynamicSMemSize)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36785, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", 1, 4, 4, 2); __PYX_ERR(1, 36785, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36785, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", 1, 4, 4, 3); __PYX_ERR(1, 36785, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags") < 0)) __PYX_ERR(1, 36785, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_func = values[0];
    __pyx_v_blockSize = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_blockSize == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36786, __pyx_L3_error)
    __pyx_v_dynamicSMemSize = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_dynamicSMemSize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 36786, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36786, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 36785, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_710cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(__pyx_self, __pyx_v_func, __pyx_v_blockSize, __pyx_v_dynamicSMemSize, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_710cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(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_cfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_v_numBlocks;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__856)
  __Pyx_RefNannySetupContext("cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", 1);
  __Pyx_TraceCall("cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", __pyx_f[1], 36785, 0, __PYX_ERR(1, 36785, __pyx_L1_error));

  /* "cuda/cuda.pyx":36831
 *     """
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36832
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
 */
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36831
 *     """
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36833
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36834
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36834, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36835
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36835, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36833
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36837
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int numBlocks = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36838
 *     else:
 *         pfunc = int(CUfunction(func))
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef int numBlocks = 0
 *     err = ccuda.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(&numBlocks, cfunc, blockSize, dynamicSMemSize, flags)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36838, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":36839
 *         pfunc = int(CUfunction(func))
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int numBlocks = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(&numBlocks, cfunc, blockSize, dynamicSMemSize, flags)
 *     return (CUresult(err), numBlocks)
 */
  __pyx_v_numBlocks = 0;

  /* "cuda/cuda.pyx":36840
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int numBlocks = 0
 *     err = ccuda.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(&numBlocks, cfunc, blockSize, dynamicSMemSize, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), numBlocks)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags((&__pyx_v_numBlocks), __pyx_v_cfunc, __pyx_v_blockSize, __pyx_v_dynamicSMemSize, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36840, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":36841
 *     cdef int numBlocks = 0
 *     err = ccuda.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(&numBlocks, cfunc, blockSize, dynamicSMemSize, flags)
 *     return (CUresult(err), numBlocks)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 36841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36841, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_numBlocks); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 36841, __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)) __PYX_ERR(1, 36841, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 36841, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36785
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36843
 *     return (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_4cuda_713cuOccupancyMaxPotentialBlockSize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_712cuOccupancyMaxPotentialBlockSize, "cuOccupancyMaxPotentialBlockSize(func, blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit)\n Suggest a launch configuration with reasonable occupancy.\n\n    Returns in `*blockSize` a reasonable block size that can achieve the\n    maximum occupancy (or, the maximum number of active warps with the\n    fewest blocks per multiprocessor), and in `*minGridSize` the minimum\n    grid size to achieve the maximum occupancy.\n\n    If `blockSizeLimit` is 0, the configurator will use the maximum block\n    size permitted by the device / function instead.\n\n    If per-block dynamic shared memory allocation is not needed, the user\n    should leave both `blockSizeToDynamicSMemSize` and `dynamicSMemSize` as\n    0.\n\n    If per-block dynamic shared memory allocation is needed, then if the\n    dynamic shared memory size is constant regardless of block size, the\n    size should be passed through `dynamicSMemSize`, and\n    `blockSizeToDynamicSMemSize` should be NULL.\n\n    Otherwise, if the per-block dynamic shared memory size varies with\n    different block sizes, the user needs to provide a unary function\n    through `blockSizeToDynamicSMemSize` that computes the dynamic shared\n    memory needed by `func` for any given block size. `dynamicSMemSize` is\n    ignored. An example signature is:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    Parameters\n    ----------\n    func : :py:obj:`~.CUfunction`\n        Kernel for which launch configuration is calculated\n    blockSizeToDynamicSMemSize : :py:obj:`~.CUoccupancyB2DSize`\n        A function that calculates how much per-block dynamic shared memory\n        `func` uses based on the block size\n    dynamicSMemSize : size_t\n        Dynamic shared memory usage intended, in bytes\n    blockSizeLimit : int\n        The maximum block size `func` is designed to handle\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_VALUE`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n    minGridSize : int\n        Returned minimum grid size needed to achieve the maximum occupancy\n    blockSize : int\n        Returned maximum block size that can achieve the maximum occupancy\n\n    See Also\n    --------\n    :py:obj:`~.cudaOccupancyMaxPotentialBlockSize`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_713cuOccupancyMaxPotentialBlockSize = {"cuOccupancyMaxPotentialBlockSize", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_713cuOccupancyMaxPotentialBlockSize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_712cuOccupancyMaxPotentialBlockSize};
static PyObject *__pyx_pw_4cuda_4cuda_713cuOccupancyMaxPotentialBlockSize(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func_2,&__pyx_n_s_blockSizeToDynamicSMemSize,&__pyx_n_s_dynamicSMemSize,&__pyx_n_s_blockSizeLimit,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_func_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36843, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_blockSizeToDynamicSMemSize)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36843, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialBlockSize", 1, 4, 4, 1); __PYX_ERR(1, 36843, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dynamicSMemSize)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36843, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialBlockSize", 1, 4, 4, 2); __PYX_ERR(1, 36843, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_blockSizeLimit)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36843, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialBlockSize", 1, 4, 4, 3); __PYX_ERR(1, 36843, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuOccupancyMaxPotentialBlockSize") < 0)) __PYX_ERR(1, 36843, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_func = values[0];
    __pyx_v_blockSizeToDynamicSMemSize = values[1];
    __pyx_v_dynamicSMemSize = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_dynamicSMemSize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 36844, __pyx_L3_error)
    __pyx_v_blockSizeLimit = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_blockSizeLimit == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36844, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialBlockSize", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 36843, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuOccupancyMaxPotentialBlockSize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_712cuOccupancyMaxPotentialBlockSize(__pyx_self, __pyx_v_func, __pyx_v_blockSizeToDynamicSMemSize, __pyx_v_dynamicSMemSize, __pyx_v_blockSizeLimit);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_712cuOccupancyMaxPotentialBlockSize(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_cblockSizeToDynamicSMemSize;
  PyObject *__pyx_v_pblockSizeToDynamicSMemSize = NULL;
  CUfunction __pyx_v_cfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_v_minGridSize;
  int __pyx_v_blockSize;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__857)
  __Pyx_RefNannySetupContext("cuOccupancyMaxPotentialBlockSize", 1);
  __Pyx_TraceCall("cuOccupancyMaxPotentialBlockSize", __pyx_f[1], 36843, 0, __PYX_ERR(1, 36843, __pyx_L1_error));

  /* "cuda/cuda.pyx":36898
 *     """
 *     cdef ccuda.CUoccupancyB2DSize cblockSizeToDynamicSMemSize
 *     if blockSizeToDynamicSMemSize is None:             # <<<<<<<<<<<<<<
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
 */
  __pyx_t_1 = (__pyx_v_blockSizeToDynamicSMemSize == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36899
 *     cdef ccuda.CUoccupancyB2DSize cblockSizeToDynamicSMemSize
 *     if blockSizeToDynamicSMemSize is None:
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 */
    __pyx_v_cblockSizeToDynamicSMemSize = ((CUoccupancyB2DSize)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36898
 *     """
 *     cdef ccuda.CUoccupancyB2DSize cblockSizeToDynamicSMemSize
 *     if blockSizeToDynamicSMemSize is None:             # <<<<<<<<<<<<<<
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36900
 *     if blockSizeToDynamicSMemSize is None:
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):             # <<<<<<<<<<<<<<
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_blockSizeToDynamicSMemSize, __pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36901
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)             # <<<<<<<<<<<<<<
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_blockSizeToDynamicSMemSize); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pblockSizeToDynamicSMemSize = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36902
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize             # <<<<<<<<<<<<<<
 *     else:
 *         pblockSizeToDynamicSMemSize = int(CUoccupancyB2DSize(blockSizeToDynamicSMemSize))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pblockSizeToDynamicSMemSize); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36902, __pyx_L1_error)
    __pyx_v_cblockSizeToDynamicSMemSize = ((CUoccupancyB2DSize)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36900
 *     if blockSizeToDynamicSMemSize is None:
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):             # <<<<<<<<<<<<<<
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36904
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     else:
 *         pblockSizeToDynamicSMemSize = int(CUoccupancyB2DSize(blockSizeToDynamicSMemSize))             # <<<<<<<<<<<<<<
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     cdef ccuda.CUfunction cfunc
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize), __pyx_v_blockSizeToDynamicSMemSize); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pblockSizeToDynamicSMemSize = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36905
 *     else:
 *         pblockSizeToDynamicSMemSize = int(CUoccupancyB2DSize(blockSizeToDynamicSMemSize))
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pblockSizeToDynamicSMemSize); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36905, __pyx_L1_error)
    __pyx_v_cblockSizeToDynamicSMemSize = ((CUoccupancyB2DSize)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":36907
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36908
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
 */
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36907
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36909
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36910
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36910, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36911
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36911, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36909
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36913
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int minGridSize = 0
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_func); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36913, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36913, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36914
 *     else:
 *         pfunc = int(CUfunction(func))
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef int minGridSize = 0
 *     cdef int blockSize = 0
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36914, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":36915
 *         pfunc = int(CUfunction(func))
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int minGridSize = 0             # <<<<<<<<<<<<<<
 *     cdef int blockSize = 0
 *     err = ccuda.cuOccupancyMaxPotentialBlockSize(&minGridSize, &blockSize, cfunc, cblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit)
 */
  __pyx_v_minGridSize = 0;

  /* "cuda/cuda.pyx":36916
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int minGridSize = 0
 *     cdef int blockSize = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuOccupancyMaxPotentialBlockSize(&minGridSize, &blockSize, cfunc, cblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit)
 *     return (CUresult(err), minGridSize, blockSize)
 */
  __pyx_v_blockSize = 0;

  /* "cuda/cuda.pyx":36917
 *     cdef int minGridSize = 0
 *     cdef int blockSize = 0
 *     err = ccuda.cuOccupancyMaxPotentialBlockSize(&minGridSize, &blockSize, cfunc, cblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), minGridSize, blockSize)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuOccupancyMaxPotentialBlockSize((&__pyx_v_minGridSize), (&__pyx_v_blockSize), __pyx_v_cfunc, __pyx_v_cblockSizeToDynamicSMemSize, __pyx_v_dynamicSMemSize, __pyx_v_blockSizeLimit); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36917, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":36918
 *     cdef int blockSize = 0
 *     err = ccuda.cuOccupancyMaxPotentialBlockSize(&minGridSize, &blockSize, cfunc, cblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit)
 *     return (CUresult(err), minGridSize, blockSize)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 36918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 36918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_minGridSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_blockSize); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 36918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36918, __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)) __PYX_ERR(1, 36918, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4)) __PYX_ERR(1, 36918, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6)) __PYX_ERR(1, 36918, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_4 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36843
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36920
 *     return (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_4cuda_715cuOccupancyMaxPotentialBlockSizeWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_714cuOccupancyMaxPotentialBlockSizeWithFlags, "cuOccupancyMaxPotentialBlockSizeWithFlags(func, blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit, unsigned int flags)\n Suggest a launch configuration with reasonable occupancy.\n\n    An extended version of :py:obj:`~.cuOccupancyMaxPotentialBlockSize`. In\n    addition to arguments passed to\n    :py:obj:`~.cuOccupancyMaxPotentialBlockSize`,\n    :py:obj:`~.cuOccupancyMaxPotentialBlockSizeWithFlags` also takes a\n    `Flags` parameter.\n\n    The `Flags` parameter controls how special cases are handled. The valid\n    flags 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\n    Parameters\n    ----------\n    func : :py:obj:`~.CUfunction`\n        Kernel for which launch configuration is calculated\n    blockSizeToDynamicSMemSize : :py:obj:`~.CUoccupancyB2DSize`\n        A function that calculates how much per-block dynamic shared memory\n        `func` uses based on the block size\n    dynamicSMemSize : size_t\n        Dynamic shared memory usage intended, in bytes\n    blockSizeLimit : int\n        The maximum block size `func` is designed to handle\n    flags : unsigned int\n        Options\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_VALUE`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n    minGridSize : int\n        Returned minimum grid size needed to achieve the maximum occupancy\n    blockSize : int\n        Returned maximum block size that can achieve the maximum occupancy\n\n    See Also\n    --------\n    :py:obj:`~.cudaOccupancyMaxPotentialBlockSizeWithFlags`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_715cuOccupancyMaxPotentialBlockSizeWithFlags = {"cuOccupancyMaxPotentialBlockSizeWithFlags", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_715cuOccupancyMaxPotentialBlockSizeWithFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_714cuOccupancyMaxPotentialBlockSizeWithFlags};
static PyObject *__pyx_pw_4cuda_4cuda_715cuOccupancyMaxPotentialBlockSizeWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func_2,&__pyx_n_s_blockSizeToDynamicSMemSize,&__pyx_n_s_dynamicSMemSize,&__pyx_n_s_blockSizeLimit,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_func_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36920, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_blockSizeToDynamicSMemSize)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36920, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialBlockSizeWithFlags", 1, 5, 5, 1); __PYX_ERR(1, 36920, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dynamicSMemSize)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36920, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialBlockSizeWithFlags", 1, 5, 5, 2); __PYX_ERR(1, 36920, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_blockSizeLimit)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36920, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialBlockSizeWithFlags", 1, 5, 5, 3); __PYX_ERR(1, 36920, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36920, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialBlockSizeWithFlags", 1, 5, 5, 4); __PYX_ERR(1, 36920, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuOccupancyMaxPotentialBlockSizeWithFlags") < 0)) __PYX_ERR(1, 36920, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
    }
    __pyx_v_func = values[0];
    __pyx_v_blockSizeToDynamicSMemSize = values[1];
    __pyx_v_dynamicSMemSize = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_dynamicSMemSize == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 36921, __pyx_L3_error)
    __pyx_v_blockSizeLimit = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_blockSizeLimit == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36921, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[4]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36921, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialBlockSizeWithFlags", 1, 5, 5, __pyx_nargs); __PYX_ERR(1, 36920, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuOccupancyMaxPotentialBlockSizeWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_714cuOccupancyMaxPotentialBlockSizeWithFlags(__pyx_self, __pyx_v_func, __pyx_v_blockSizeToDynamicSMemSize, __pyx_v_dynamicSMemSize, __pyx_v_blockSizeLimit, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_714cuOccupancyMaxPotentialBlockSizeWithFlags(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_cblockSizeToDynamicSMemSize;
  PyObject *__pyx_v_pblockSizeToDynamicSMemSize = NULL;
  CUfunction __pyx_v_cfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_v_minGridSize;
  int __pyx_v_blockSize;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__858)
  __Pyx_RefNannySetupContext("cuOccupancyMaxPotentialBlockSizeWithFlags", 1);
  __Pyx_TraceCall("cuOccupancyMaxPotentialBlockSizeWithFlags", __pyx_f[1], 36920, 0, __PYX_ERR(1, 36920, __pyx_L1_error));

  /* "cuda/cuda.pyx":36974
 *     """
 *     cdef ccuda.CUoccupancyB2DSize cblockSizeToDynamicSMemSize
 *     if blockSizeToDynamicSMemSize is None:             # <<<<<<<<<<<<<<
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
 */
  __pyx_t_1 = (__pyx_v_blockSizeToDynamicSMemSize == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36975
 *     cdef ccuda.CUoccupancyB2DSize cblockSizeToDynamicSMemSize
 *     if blockSizeToDynamicSMemSize is None:
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 */
    __pyx_v_cblockSizeToDynamicSMemSize = ((CUoccupancyB2DSize)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36974
 *     """
 *     cdef ccuda.CUoccupancyB2DSize cblockSizeToDynamicSMemSize
 *     if blockSizeToDynamicSMemSize is None:             # <<<<<<<<<<<<<<
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36976
 *     if blockSizeToDynamicSMemSize is None:
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):             # <<<<<<<<<<<<<<
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_blockSizeToDynamicSMemSize, __pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36977
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)             # <<<<<<<<<<<<<<
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_blockSizeToDynamicSMemSize); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pblockSizeToDynamicSMemSize = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36978
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize             # <<<<<<<<<<<<<<
 *     else:
 *         pblockSizeToDynamicSMemSize = int(CUoccupancyB2DSize(blockSizeToDynamicSMemSize))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pblockSizeToDynamicSMemSize); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36978, __pyx_L1_error)
    __pyx_v_cblockSizeToDynamicSMemSize = ((CUoccupancyB2DSize)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36976
 *     if blockSizeToDynamicSMemSize is None:
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>0
 *     elif isinstance(blockSizeToDynamicSMemSize, (CUoccupancyB2DSize,)):             # <<<<<<<<<<<<<<
 *         pblockSizeToDynamicSMemSize = int(blockSizeToDynamicSMemSize)
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":36980
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     else:
 *         pblockSizeToDynamicSMemSize = int(CUoccupancyB2DSize(blockSizeToDynamicSMemSize))             # <<<<<<<<<<<<<<
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     cdef ccuda.CUfunction cfunc
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize), __pyx_v_blockSizeToDynamicSMemSize); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36980, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36980, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pblockSizeToDynamicSMemSize = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36981
 *     else:
 *         pblockSizeToDynamicSMemSize = int(CUoccupancyB2DSize(blockSizeToDynamicSMemSize))
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pblockSizeToDynamicSMemSize); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36981, __pyx_L1_error)
    __pyx_v_cblockSizeToDynamicSMemSize = ((CUoccupancyB2DSize)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":36983
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36984
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
 */
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":36983
 *         cblockSizeToDynamicSMemSize = <ccuda.CUoccupancyB2DSize><void_ptr>pblockSizeToDynamicSMemSize
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36985
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":36986
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":36987
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36987, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":36985
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":36989
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int minGridSize = 0
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_func); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36989, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":36990
 *     else:
 *         pfunc = int(CUfunction(func))
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef int minGridSize = 0
 *     cdef int blockSize = 0
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 36990, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":36991
 *         pfunc = int(CUfunction(func))
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int minGridSize = 0             # <<<<<<<<<<<<<<
 *     cdef int blockSize = 0
 *     err = ccuda.cuOccupancyMaxPotentialBlockSizeWithFlags(&minGridSize, &blockSize, cfunc, cblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit, flags)
 */
  __pyx_v_minGridSize = 0;

  /* "cuda/cuda.pyx":36992
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int minGridSize = 0
 *     cdef int blockSize = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuOccupancyMaxPotentialBlockSizeWithFlags(&minGridSize, &blockSize, cfunc, cblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit, flags)
 *     return (CUresult(err), minGridSize, blockSize)
 */
  __pyx_v_blockSize = 0;

  /* "cuda/cuda.pyx":36993
 *     cdef int minGridSize = 0
 *     cdef int blockSize = 0
 *     err = ccuda.cuOccupancyMaxPotentialBlockSizeWithFlags(&minGridSize, &blockSize, cfunc, cblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), minGridSize, blockSize)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuOccupancyMaxPotentialBlockSizeWithFlags((&__pyx_v_minGridSize), (&__pyx_v_blockSize), __pyx_v_cfunc, __pyx_v_cblockSizeToDynamicSMemSize, __pyx_v_dynamicSMemSize, __pyx_v_blockSizeLimit, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 36993, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":36994
 *     cdef int blockSize = 0
 *     err = ccuda.cuOccupancyMaxPotentialBlockSizeWithFlags(&minGridSize, &blockSize, cfunc, cblockSizeToDynamicSMemSize, dynamicSMemSize, blockSizeLimit, flags)
 *     return (CUresult(err), minGridSize, blockSize)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 36994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 36994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_minGridSize); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 36994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_blockSize); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 36994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 36994, __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)) __PYX_ERR(1, 36994, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4)) __PYX_ERR(1, 36994, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6)) __PYX_ERR(1, 36994, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_4 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36920
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":36996
 *     return (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_4cuda_717cuOccupancyAvailableDynamicSMemPerBlock(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_716cuOccupancyAvailableDynamicSMemPerBlock, "cuOccupancyAvailableDynamicSMemPerBlock(func, int numBlocks, int blockSize)\n Returns dynamic shared memory available per block when launching `numBlocks` blocks on SM.\n\n    Returns in `*dynamicSmemSize` the maximum size of dynamic shared memory\n    to allow `numBlocks` blocks per SM.\n\n    Parameters\n    ----------\n    func : :py:obj:`~.CUfunction`\n        Kernel function for which occupancy is calculated\n    numBlocks : int\n        Number of blocks to fit on SM\n    blockSize : int\n        Size of the blocks\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_VALUE`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n    dynamicSmemSize : int\n        Returned maximum dynamic shared memory\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_717cuOccupancyAvailableDynamicSMemPerBlock = {"cuOccupancyAvailableDynamicSMemPerBlock", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_717cuOccupancyAvailableDynamicSMemPerBlock, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_716cuOccupancyAvailableDynamicSMemPerBlock};
static PyObject *__pyx_pw_4cuda_4cuda_717cuOccupancyAvailableDynamicSMemPerBlock(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func_2,&__pyx_n_s_numBlocks,&__pyx_n_s_blockSize,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_func_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36996, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numBlocks)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36996, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuOccupancyAvailableDynamicSMemPerBlock", 1, 3, 3, 1); __PYX_ERR(1, 36996, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_blockSize)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 36996, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuOccupancyAvailableDynamicSMemPerBlock", 1, 3, 3, 2); __PYX_ERR(1, 36996, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuOccupancyAvailableDynamicSMemPerBlock") < 0)) __PYX_ERR(1, 36996, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_func = values[0];
    __pyx_v_numBlocks = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_numBlocks == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36997, __pyx_L3_error)
    __pyx_v_blockSize = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_blockSize == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 36997, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyAvailableDynamicSMemPerBlock", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 36996, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuOccupancyAvailableDynamicSMemPerBlock", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_716cuOccupancyAvailableDynamicSMemPerBlock(__pyx_self, __pyx_v_func, __pyx_v_numBlocks, __pyx_v_blockSize);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_716cuOccupancyAvailableDynamicSMemPerBlock(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, int __pyx_v_numBlocks, int __pyx_v_blockSize) {
  CUfunction __pyx_v_cfunc;
  PyObject *__pyx_v_pfunc = NULL;
  size_t __pyx_v_dynamicSmemSize;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__859)
  __Pyx_RefNannySetupContext("cuOccupancyAvailableDynamicSMemPerBlock", 1);
  __Pyx_TraceCall("cuOccupancyAvailableDynamicSMemPerBlock", __pyx_f[1], 36996, 0, __PYX_ERR(1, 36996, __pyx_L1_error));

  /* "cuda/cuda.pyx":37020
 *     """
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37021
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
 */
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37020
 *     """
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37022
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37023
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37024
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37024, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37022
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37026
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef size_t dynamicSmemSize = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37026, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37026, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37027
 *     else:
 *         pfunc = int(CUfunction(func))
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef size_t dynamicSmemSize = 0
 *     err = ccuda.cuOccupancyAvailableDynamicSMemPerBlock(&dynamicSmemSize, cfunc, numBlocks, blockSize)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37027, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37028
 *         pfunc = int(CUfunction(func))
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef size_t dynamicSmemSize = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuOccupancyAvailableDynamicSMemPerBlock(&dynamicSmemSize, cfunc, numBlocks, blockSize)
 *     return (CUresult(err), dynamicSmemSize)
 */
  __pyx_v_dynamicSmemSize = 0;

  /* "cuda/cuda.pyx":37029
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef size_t dynamicSmemSize = 0
 *     err = ccuda.cuOccupancyAvailableDynamicSMemPerBlock(&dynamicSmemSize, cfunc, numBlocks, blockSize)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), dynamicSmemSize)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuOccupancyAvailableDynamicSMemPerBlock((&__pyx_v_dynamicSmemSize), __pyx_v_cfunc, __pyx_v_numBlocks, __pyx_v_blockSize); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37029, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":37030
 *     cdef size_t dynamicSmemSize = 0
 *     err = ccuda.cuOccupancyAvailableDynamicSMemPerBlock(&dynamicSmemSize, cfunc, numBlocks, blockSize)
 *     return (CUresult(err), dynamicSmemSize)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37030, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_dynamicSmemSize); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37030, __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)) __PYX_ERR(1, 37030, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 37030, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":36996
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuOccupancyAvailableDynamicSMemPerBlock", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37032
 *     return (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_4cuda_719cuOccupancyMaxPotentialClusterSize(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_718cuOccupancyMaxPotentialClusterSize, "cuOccupancyMaxPotentialClusterSize(func, CUlaunchConfig config: Optional[CUlaunchConfig])\n Given the kernel function (`func`) and launch configuration (`config`), return the maximum cluster size in `*clusterSize`.\n\n    The cluster dimensions in `config` are ignored. If func has a required\n    cluster size set (see :py:obj:`~.cudaFuncGetAttributes` /\n    :py:obj:`~.cuFuncGetAttribute`),`*clusterSize` will reflect the\n    required cluster size.\n\n    By default this function will always return a value that's portable on\n    future hardware. A higher value may be returned if the kernel function\n    allows non-portable cluster sizes.\n\n    This function will respect the compile time launch bounds.\n\n    Parameters\n    ----------\n    func : :py:obj:`~.CUfunction`\n        Kernel function for which maximum cluster size is calculated\n    config : :py:obj:`~.CUlaunchConfig`\n        Launch configuration for the given kernel function\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_VALUE`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n    clusterSize : int\n        Returned maximum cluster size that can be launched for the given\n        kernel function and launch configuration\n\n    See Also\n    --------\n    :py:obj:`~.cudaFuncGetAttributes`, :py:obj:`~.cuFuncGetAttribute`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_719cuOccupancyMaxPotentialClusterSize = {"cuOccupancyMaxPotentialClusterSize", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_719cuOccupancyMaxPotentialClusterSize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_718cuOccupancyMaxPotentialClusterSize};
static PyObject *__pyx_pw_4cuda_4cuda_719cuOccupancyMaxPotentialClusterSize(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func_2,&__pyx_n_s_config,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_func_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37032, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_config)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37032, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialClusterSize", 1, 2, 2, 1); __PYX_ERR(1, 37032, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuOccupancyMaxPotentialClusterSize") < 0)) __PYX_ERR(1, 37032, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_func = values[0];
    __pyx_v_config = ((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxPotentialClusterSize", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 37032, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUlaunchConfig, 1, "config", 0))) __PYX_ERR(1, 37033, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_718cuOccupancyMaxPotentialClusterSize(__pyx_self, __pyx_v_func, __pyx_v_config);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_718cuOccupancyMaxPotentialClusterSize(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, struct __pyx_obj_4cuda_4cuda_CUlaunchConfig *__pyx_v_config) {
  CUfunction __pyx_v_cfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_v_clusterSize;
  CUlaunchConfig *__pyx_v_cconfig_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUlaunchConfig_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__860)
  __Pyx_RefNannySetupContext("cuOccupancyMaxPotentialClusterSize", 1);
  __Pyx_TraceCall("cuOccupancyMaxPotentialClusterSize", __pyx_f[1], 37032, 0, __PYX_ERR(1, 37032, __pyx_L1_error));

  /* "cuda/cuda.pyx":37067
 *     """
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37068
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
 */
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37067
 *     """
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37069
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37070
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37071
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37071, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37069
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37073
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int clusterSize = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37073, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37073, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37074
 *     else:
 *         pfunc = int(CUfunction(func))
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef int clusterSize = 0
 *     cdef ccuda.CUlaunchConfig* cconfig_ptr = config._ptr if config != None else NULL
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37074, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37075
 *         pfunc = int(CUfunction(func))
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int clusterSize = 0             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUlaunchConfig* cconfig_ptr = config._ptr if config != None else NULL
 *     err = ccuda.cuOccupancyMaxPotentialClusterSize(&clusterSize, cfunc, cconfig_ptr)
 */
  __pyx_v_clusterSize = 0;

  /* "cuda/cuda.pyx":37076
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int clusterSize = 0
 *     cdef ccuda.CUlaunchConfig* cconfig_ptr = config._ptr if config != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuOccupancyMaxPotentialClusterSize(&clusterSize, cfunc, cconfig_ptr)
 *     return (CUresult(err), clusterSize)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_config), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37076, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 37076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_config->__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cconfig_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":37077
 *     cdef int clusterSize = 0
 *     cdef ccuda.CUlaunchConfig* cconfig_ptr = config._ptr if config != None else NULL
 *     err = ccuda.cuOccupancyMaxPotentialClusterSize(&clusterSize, cfunc, cconfig_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), clusterSize)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuOccupancyMaxPotentialClusterSize((&__pyx_v_clusterSize), __pyx_v_cfunc, __pyx_v_cconfig_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37077, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":37078
 *     cdef ccuda.CUlaunchConfig* cconfig_ptr = config._ptr if config != None else NULL
 *     err = ccuda.cuOccupancyMaxPotentialClusterSize(&clusterSize, cfunc, cconfig_ptr)
 *     return (CUresult(err), clusterSize)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 37078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_clusterSize); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 37078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 37078, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 37078, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37032
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuOccupancyMaxPotentialClusterSize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37080
 *     return (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_4cuda_721cuOccupancyMaxActiveClusters(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_720cuOccupancyMaxActiveClusters, "cuOccupancyMaxActiveClusters(func, CUlaunchConfig config: Optional[CUlaunchConfig])\n 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`.\n\n    If the function has required cluster size already set (see\n    :py:obj:`~.cudaFuncGetAttributes` / :py:obj:`~.cuFuncGetAttribute`),\n    the cluster size from config must either be unspecified or match the\n    required size. Without required sizes, the cluster size must be\n    specified in config, else the function will return an error.\n\n    Note that various attributes of the kernel function may affect\n    occupancy calculation. Runtime environment may affect how the hardware\n    schedules the clusters, so the calculated occupancy is not guaranteed\n    to be achievable.\n\n    Parameters\n    ----------\n    func : :py:obj:`~.CUfunction`\n        Kernel function for which maximum number of clusters are calculated\n    config : :py:obj:`~.CUlaunchConfig`\n        Launch configuration for the given kernel function\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_CLUSTER_SIZE`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n    numClusters : int\n        Returned maximum number of clusters that could co-exist on the\n        target device\n\n    See Also\n    --------\n    :py:obj:`~.cudaFuncGetAttributes`, :py:obj:`~.cuFuncGetAttribute`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_721cuOccupancyMaxActiveClusters = {"cuOccupancyMaxActiveClusters", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_721cuOccupancyMaxActiveClusters, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_720cuOccupancyMaxActiveClusters};
static PyObject *__pyx_pw_4cuda_4cuda_721cuOccupancyMaxActiveClusters(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_func_2,&__pyx_n_s_config,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_func_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37080, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_config)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37080, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxActiveClusters", 1, 2, 2, 1); __PYX_ERR(1, 37080, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuOccupancyMaxActiveClusters") < 0)) __PYX_ERR(1, 37080, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_func = values[0];
    __pyx_v_config = ((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuOccupancyMaxActiveClusters", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 37080, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUlaunchConfig, 1, "config", 0))) __PYX_ERR(1, 37081, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_720cuOccupancyMaxActiveClusters(__pyx_self, __pyx_v_func, __pyx_v_config);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_720cuOccupancyMaxActiveClusters(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_func, struct __pyx_obj_4cuda_4cuda_CUlaunchConfig *__pyx_v_config) {
  CUfunction __pyx_v_cfunc;
  PyObject *__pyx_v_pfunc = NULL;
  int __pyx_v_numClusters;
  CUlaunchConfig *__pyx_v_cconfig_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUlaunchConfig_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__861)
  __Pyx_RefNannySetupContext("cuOccupancyMaxActiveClusters", 1);
  __Pyx_TraceCall("cuOccupancyMaxActiveClusters", __pyx_f[1], 37080, 0, __PYX_ERR(1, 37080, __pyx_L1_error));

  /* "cuda/cuda.pyx":37115
 *     """
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 */
  __pyx_t_1 = (__pyx_v_func == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37116
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
 */
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37115
 *     """
 *     cdef ccuda.CUfunction cfunc
 *     if func is None:             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37117
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_func, __pyx_ptype_4cuda_4cuda_CUfunction); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37118
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pfunc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37119
 *     elif isinstance(func, (CUfunction,)):
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     else:
 *         pfunc = int(CUfunction(func))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37119, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37117
 *     if func is None:
 *         cfunc = <ccuda.CUfunction><void_ptr>0
 *     elif isinstance(func, (CUfunction,)):             # <<<<<<<<<<<<<<
 *         pfunc = int(func)
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37121
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     else:
 *         pfunc = int(CUfunction(func))             # <<<<<<<<<<<<<<
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int numClusters = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), __pyx_v_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pfunc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37122
 *     else:
 *         pfunc = int(CUfunction(func))
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc             # <<<<<<<<<<<<<<
 *     cdef int numClusters = 0
 *     cdef ccuda.CUlaunchConfig* cconfig_ptr = config._ptr if config != None else NULL
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pfunc); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37122, __pyx_L1_error)
    __pyx_v_cfunc = ((CUfunction)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37123
 *         pfunc = int(CUfunction(func))
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int numClusters = 0             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUlaunchConfig* cconfig_ptr = config._ptr if config != None else NULL
 *     err = ccuda.cuOccupancyMaxActiveClusters(&numClusters, cfunc, cconfig_ptr)
 */
  __pyx_v_numClusters = 0;

  /* "cuda/cuda.pyx":37124
 *         cfunc = <ccuda.CUfunction><void_ptr>pfunc
 *     cdef int numClusters = 0
 *     cdef ccuda.CUlaunchConfig* cconfig_ptr = config._ptr if config != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuOccupancyMaxActiveClusters(&numClusters, cfunc, cconfig_ptr)
 *     return (CUresult(err), numClusters)
 */
  __pyx_t_4 = PyObject_RichCompare(((PyObject *)__pyx_v_config), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37124, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 37124, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_config->__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cconfig_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":37125
 *     cdef int numClusters = 0
 *     cdef ccuda.CUlaunchConfig* cconfig_ptr = config._ptr if config != None else NULL
 *     err = ccuda.cuOccupancyMaxActiveClusters(&numClusters, cfunc, cconfig_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), numClusters)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuOccupancyMaxActiveClusters((&__pyx_v_numClusters), __pyx_v_cfunc, __pyx_v_cconfig_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37125, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":37126
 *     cdef ccuda.CUlaunchConfig* cconfig_ptr = config._ptr if config != None else NULL
 *     err = ccuda.cuOccupancyMaxActiveClusters(&numClusters, cfunc, cconfig_ptr)
 *     return (CUresult(err), numClusters)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 37126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_numClusters); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 37126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 37126, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 37126, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37080
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuOccupancyMaxActiveClusters", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pfunc);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37128
 *     return (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_4cuda_723cuTexRefSetArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_722cuTexRefSetArray, "cuTexRefSetArray(hTexRef, hArray, unsigned int Flags)\n Binds an array as a texture reference.\n\n    [Deprecated]\n\n    Binds the CUDA array `hArray` to the texture reference `hTexRef`. Any\n    previous address or CUDA array state associated with the texture\n    reference 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\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference to bind\n    hArray : :py:obj:`~.CUarray`\n        Array to bind\n    Flags : unsigned int\n        Options (must be :py:obj:`~.CU_TRSA_OVERRIDE_FORMAT`)\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_723cuTexRefSetArray = {"cuTexRefSetArray", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_723cuTexRefSetArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_722cuTexRefSetArray};
static PyObject *__pyx_pw_4cuda_4cuda_723cuTexRefSetArray(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,&__pyx_n_s_hArray_2,&__pyx_n_s_Flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37128, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37128, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetArray", 1, 3, 3, 1); __PYX_ERR(1, 37128, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37128, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetArray", 1, 3, 3, 2); __PYX_ERR(1, 37128, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefSetArray") < 0)) __PYX_ERR(1, 37128, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_hArray = values[1];
    __pyx_v_Flags = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 37129, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetArray", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 37128, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefSetArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_722cuTexRefSetArray(__pyx_self, __pyx_v_hTexRef, __pyx_v_hArray, __pyx_v_Flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_722cuTexRefSetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_hArray, unsigned int __pyx_v_Flags) {
  CUarray __pyx_v_chArray;
  PyObject *__pyx_v_phArray = NULL;
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__862)
  __Pyx_RefNannySetupContext("cuTexRefSetArray", 1);
  __Pyx_TraceCall("cuTexRefSetArray", __pyx_f[1], 37128, 0, __PYX_ERR(1, 37128, __pyx_L1_error));

  /* "cuda/cuda.pyx":37159
 *     """
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_hArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37160
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
 */
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37159
 *     """
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37161
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37162
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37163
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     else:
 *         phArray = int(CUarray(hArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37163, __pyx_L1_error)
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37161
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37165
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     else:
 *         phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     cdef ccuda.CUtexref chTexRef
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37166
 *     else:
 *         phArray = int(CUarray(hArray))
 *         chArray = <ccuda.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37166, __pyx_L1_error)
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37168
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37169
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37168
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":37170
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37171
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37172
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37172, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37170
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":37174
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetArray(chTexRef, chArray, Flags)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37175
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefSetArray(chTexRef, chArray, Flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37175, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":37176
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetArray(chTexRef, chArray, Flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefSetArray(__pyx_v_chTexRef, __pyx_v_chArray, __pyx_v_Flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37176, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":37177
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetArray(chTexRef, chArray, Flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 37177, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 37177, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37128
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37179
 *     return (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_4cuda_725cuTexRefSetMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_724cuTexRefSetMipmappedArray, "cuTexRefSetMipmappedArray(hTexRef, hMipmappedArray, unsigned int Flags)\n Binds a mipmapped array to a texture reference.\n\n    [Deprecated]\n\n    Binds the CUDA mipmapped array `hMipmappedArray` to the texture\n    reference `hTexRef`. Any previous address or CUDA array state\n    associated with the texture reference is superseded by this function.\n    `Flags` must be set to :py:obj:`~.CU_TRSA_OVERRIDE_FORMAT`. Any CUDA\n    array previously bound to `hTexRef` is unbound.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference to bind\n    hMipmappedArray : :py:obj:`~.CUmipmappedArray`\n        Mipmapped array to bind\n    Flags : unsigned int\n        Options (must be :py:obj:`~.CU_TRSA_OVERRIDE_FORMAT`)\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_725cuTexRefSetMipmappedArray = {"cuTexRefSetMipmappedArray", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_725cuTexRefSetMipmappedArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_724cuTexRefSetMipmappedArray};
static PyObject *__pyx_pw_4cuda_4cuda_725cuTexRefSetMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,&__pyx_n_s_hMipmappedArray_2,&__pyx_n_s_Flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37179, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hMipmappedArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37179, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmappedArray", 1, 3, 3, 1); __PYX_ERR(1, 37179, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37179, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmappedArray", 1, 3, 3, 2); __PYX_ERR(1, 37179, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefSetMipmappedArray") < 0)) __PYX_ERR(1, 37179, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_hMipmappedArray = values[1];
    __pyx_v_Flags = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 37180, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmappedArray", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 37179, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefSetMipmappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_724cuTexRefSetMipmappedArray(__pyx_self, __pyx_v_hTexRef, __pyx_v_hMipmappedArray, __pyx_v_Flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_724cuTexRefSetMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_hMipmappedArray, unsigned int __pyx_v_Flags) {
  CUmipmappedArray __pyx_v_chMipmappedArray;
  PyObject *__pyx_v_phMipmappedArray = NULL;
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__863)
  __Pyx_RefNannySetupContext("cuTexRefSetMipmappedArray", 1);
  __Pyx_TraceCall("cuTexRefSetMipmappedArray", __pyx_f[1], 37179, 0, __PYX_ERR(1, 37179, __pyx_L1_error));

  /* "cuda/cuda.pyx":37210
 *     """
 *     cdef ccuda.CUmipmappedArray chMipmappedArray
 *     if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 */
  __pyx_t_1 = (__pyx_v_hMipmappedArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37211
 *     cdef ccuda.CUmipmappedArray chMipmappedArray
 *     if hMipmappedArray is None:
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *         phMipmappedArray = int(hMipmappedArray)
 */
    __pyx_v_chMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37210
 *     """
 *     cdef ccuda.CUmipmappedArray chMipmappedArray
 *     if hMipmappedArray is None:             # <<<<<<<<<<<<<<
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37212
 *     if hMipmappedArray is None:
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         phMipmappedArray = int(hMipmappedArray)
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hMipmappedArray, __pyx_ptype_4cuda_4cuda_CUmipmappedArray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37213
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *         phMipmappedArray = int(hMipmappedArray)             # <<<<<<<<<<<<<<
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hMipmappedArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37213, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phMipmappedArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37214
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):
 *         phMipmappedArray = int(hMipmappedArray)
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray             # <<<<<<<<<<<<<<
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phMipmappedArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37214, __pyx_L1_error)
    __pyx_v_chMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37212
 *     if hMipmappedArray is None:
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>0
 *     elif isinstance(hMipmappedArray, (CUmipmappedArray,)):             # <<<<<<<<<<<<<<
 *         phMipmappedArray = int(hMipmappedArray)
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37216
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))             # <<<<<<<<<<<<<<
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *     cdef ccuda.CUtexref chTexRef
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmipmappedArray), __pyx_v_hMipmappedArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37216, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37216, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phMipmappedArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37217
 *     else:
 *         phMipmappedArray = int(CUmipmappedArray(hMipmappedArray))
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phMipmappedArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37217, __pyx_L1_error)
    __pyx_v_chMipmappedArray = ((CUmipmappedArray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37219
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37220
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37219
 *         chMipmappedArray = <ccuda.CUmipmappedArray><void_ptr>phMipmappedArray
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":37221
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37222
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37222, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37223
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37223, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37221
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":37225
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetMipmappedArray(chTexRef, chMipmappedArray, Flags)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37226
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefSetMipmappedArray(chTexRef, chMipmappedArray, Flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37226, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":37227
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetMipmappedArray(chTexRef, chMipmappedArray, Flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefSetMipmappedArray(__pyx_v_chTexRef, __pyx_v_chMipmappedArray, __pyx_v_Flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37227, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":37228
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetMipmappedArray(chTexRef, chMipmappedArray, Flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 37228, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 37228, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37179
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37230
 *     return (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_4cuda_727cuTexRefSetAddress(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_726cuTexRefSetAddress, "cuTexRefSetAddress(hTexRef, dptr, size_t numbytes)\n Binds an address as a texture reference.\n\n    [Deprecated]\n\n    Binds a linear address range to the texture reference `hTexRef`. Any\n    previous address or CUDA array state associated with the texture\n    reference is superseded by this function. Any memory previously bound\n    to `hTexRef` is unbound.\n\n    Since the hardware enforces an alignment requirement on texture base\n    addresses, :py:obj:`~.cuTexRefSetAddress()` passes back a byte offset\n    in `*ByteOffset` that must be applied to texture fetches in order to\n    read from the desired memory. This offset must be divided by the texel\n    size and passed to kernels that read from the texture so they can be\n    applied to the :py:obj:`~.tex1Dfetch()` function.\n\n    If the device memory pointer was returned from\n    :py:obj:`~.cuMemAlloc()`, the offset is guaranteed to be 0 and NULL may\n    be passed as the `ByteOffset` parameter.\n\n    The total number of elements (or texels) in the linear address range\n    cannot exceed\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH`. The\n    number of elements is computed as (`numbytes` / bytesPerElement), where\n    bytesPerElement is determined from the data format and number of\n    components set using :py:obj:`~.cuTexRefSetFormat()`.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference to bind\n    dptr : :py:obj:`~.CUdeviceptr`\n        Device pointer to bind\n    numbytes : size_t\n        Size of memory to bind in bytes\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_VALUE`\n    ByteOffset : int\n        Returned byte offset\n\n    See 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:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetArray`, :py:obj:`~.cuTexRefGetFilterMode`, :py:obj:`~.cuTexRefGetFlags`, :py:obj:`~.cuTexRefGetFormat`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_727cuTexRefSetAddress = {"cuTexRefSetAddress", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_727cuTexRefSetAddress, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_726cuTexRefSetAddress};
static PyObject *__pyx_pw_4cuda_4cuda_727cuTexRefSetAddress(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,&__pyx_n_s_dptr_2,&__pyx_n_s_numbytes,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37230, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37230, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetAddress", 1, 3, 3, 1); __PYX_ERR(1, 37230, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numbytes)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37230, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetAddress", 1, 3, 3, 2); __PYX_ERR(1, 37230, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefSetAddress") < 0)) __PYX_ERR(1, 37230, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_dptr = values[1];
    __pyx_v_numbytes = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_numbytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 37231, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetAddress", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 37230, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefSetAddress", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_726cuTexRefSetAddress(__pyx_self, __pyx_v_hTexRef, __pyx_v_dptr, __pyx_v_numbytes);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_726cuTexRefSetAddress(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_dptr, size_t __pyx_v_numbytes) {
  CUdeviceptr __pyx_v_cdptr;
  PyObject *__pyx_v_pdptr = NULL;
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  size_t __pyx_v_ByteOffset;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__864)
  __Pyx_RefNannySetupContext("cuTexRefSetAddress", 1);
  __Pyx_TraceCall("cuTexRefSetAddress", __pyx_f[1], 37230, 0, __PYX_ERR(1, 37230, __pyx_L1_error));

  /* "cuda/cuda.pyx":37280
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37281
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 */
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37280
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37282
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37283
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37283, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37284
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37284, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37282
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37286
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef ccuda.CUtexref chTexRef
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37287
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37287, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37289
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37290
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37289
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":37291
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37292
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37293
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37293, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37291
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":37295
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef size_t ByteOffset = 0
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37296
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef size_t ByteOffset = 0
 *     err = ccuda.cuTexRefSetAddress(&ByteOffset, chTexRef, cdptr, numbytes)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37296, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":37297
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef size_t ByteOffset = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefSetAddress(&ByteOffset, chTexRef, cdptr, numbytes)
 *     return (CUresult(err), ByteOffset)
 */
  __pyx_v_ByteOffset = 0;

  /* "cuda/cuda.pyx":37298
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef size_t ByteOffset = 0
 *     err = ccuda.cuTexRefSetAddress(&ByteOffset, chTexRef, cdptr, numbytes)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), ByteOffset)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefSetAddress((&__pyx_v_ByteOffset), __pyx_v_chTexRef, __pyx_v_cdptr, __pyx_v_numbytes); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37298, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":37299
 *     cdef size_t ByteOffset = 0
 *     err = ccuda.cuTexRefSetAddress(&ByteOffset, chTexRef, cdptr, numbytes)
 *     return (CUresult(err), ByteOffset)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 37299, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v_ByteOffset); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37299, __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)) __PYX_ERR(1, 37299, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4)) __PYX_ERR(1, 37299, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37230
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37301
 *     return (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_4cuda_729cuTexRefSetAddress2D(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_728cuTexRefSetAddress2D, "cuTexRefSetAddress2D(hTexRef, CUDA_ARRAY_DESCRIPTOR desc: Optional[CUDA_ARRAY_DESCRIPTOR], dptr, size_t Pitch)\n Binds an address as a 2D texture reference.\n\n    [Deprecated]\n\n    Binds a linear address range to the texture reference `hTexRef`. Any\n    previous address or CUDA array state associated with the texture\n    reference is superseded by this function. Any memory previously bound\n    to `hTexRef` is unbound.\n\n    Using a :py:obj:`~.tex2D()` function inside a kernel requires a call to\n    either :py:obj:`~.cuTexRefSetArray()` to bind the corresponding texture\n    reference to an array, or :py:obj:`~.cuTexRefSetAddress2D()` to bind\n    the texture reference to linear memory.\n\n    Function calls to :py:obj:`~.cuTexRefSetFormat()` cannot follow calls\n    to :py:obj:`~.cuTexRefSetAddress2D()` for the same texture reference.\n\n    It is required that `dptr` be aligned to the appropriate hardware-\n    specific texture alignment. You can query this value using the device\n    attribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT`. If an\n    unaligned `dptr` is supplied, :py:obj:`~.CUDA_ERROR_INVALID_VALUE` is\n    returned.\n\n    `Pitch` has to be aligned to the hardware-specific texture pitch\n    alignment. This value can be queried using the device attribute\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT`. If an\n    unaligned `Pitch` is supplied, :py:obj:`~.CUDA_ERROR_INVALID_VALUE` is\n    returned.\n\n    Width and Height, which are specified in elements (or texels), cannot\n    exceed :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH`\n    and :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT`\n    respectively. `Pitch`, which is specified in bytes, cannot exceed\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH`.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference to bind\n    desc : :py:obj:`~.CUDA_ARRAY_DESCRIPTOR`\n        Descripto""r of CUDA array\n    dptr : :py:obj:`~.CUdeviceptr`\n        Device pointer to bind\n    Pitch : size_t\n        Line pitch in bytes\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_729cuTexRefSetAddress2D = {"cuTexRefSetAddress2D", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_729cuTexRefSetAddress2D, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_728cuTexRefSetAddress2D};
static PyObject *__pyx_pw_4cuda_4cuda_729cuTexRefSetAddress2D(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,&__pyx_n_s_desc,&__pyx_n_s_dptr_2,&__pyx_n_s_Pitch,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37301, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_desc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37301, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetAddress2D", 1, 4, 4, 1); __PYX_ERR(1, 37301, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dptr_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37301, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetAddress2D", 1, 4, 4, 2); __PYX_ERR(1, 37301, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Pitch)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37301, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetAddress2D", 1, 4, 4, 3); __PYX_ERR(1, 37301, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefSetAddress2D") < 0)) __PYX_ERR(1, 37301, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_desc = ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR *)values[1]);
    __pyx_v_dptr = values[2];
    __pyx_v_Pitch = __Pyx_PyInt_As_size_t(values[3]); if (unlikely((__pyx_v_Pitch == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 37302, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetAddress2D", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 37301, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR, 1, "desc", 0))) __PYX_ERR(1, 37302, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_728cuTexRefSetAddress2D(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_728cuTexRefSetAddress2D(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR *__pyx_v_desc, PyObject *__pyx_v_dptr, size_t __pyx_v_Pitch) {
  CUdeviceptr __pyx_v_cdptr;
  PyObject *__pyx_v_pdptr = NULL;
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUDA_ARRAY_DESCRIPTOR *__pyx_v_cdesc_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  struct CUDA_ARRAY_DESCRIPTOR_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__865)
  __Pyx_RefNannySetupContext("cuTexRefSetAddress2D", 1);
  __Pyx_TraceCall("cuTexRefSetAddress2D", __pyx_f[1], 37301, 0, __PYX_ERR(1, 37301, __pyx_L1_error));

  /* "cuda/cuda.pyx":37359
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
  __pyx_t_1 = (__pyx_v_dptr == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37360
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 */
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37359
 *     """
 *     cdef ccuda.CUdeviceptr cdptr
 *     if dptr is None:             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37361
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dptr, __pyx_ptype_4cuda_4cuda_CUdeviceptr); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37362
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdptr = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37363
 *     elif isinstance(dptr, (CUdeviceptr,)):
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37363, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37361
 *     if dptr is None:
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>0
 *     elif isinstance(dptr, (CUdeviceptr,)):             # <<<<<<<<<<<<<<
 *         pdptr = int(dptr)
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37365
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))             # <<<<<<<<<<<<<<
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef ccuda.CUtexref chTexRef
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), __pyx_v_dptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdptr = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37366
 *     else:
 *         pdptr = int(CUdeviceptr(dptr))
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdptr); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37366, __pyx_L1_error)
    __pyx_v_cdptr = ((CUdeviceptr)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37368
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37369
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37368
 *         cdptr = <ccuda.CUdeviceptr><void_ptr>pdptr
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":37370
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37371
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37372
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37372, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37370
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":37374
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUDA_ARRAY_DESCRIPTOR* cdesc_ptr = desc._ptr if desc != None else NULL
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37374, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37374, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37375
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_ARRAY_DESCRIPTOR* cdesc_ptr = desc._ptr if desc != None else NULL
 *     err = ccuda.cuTexRefSetAddress2D(chTexRef, cdesc_ptr, cdptr, Pitch)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37375, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":37376
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUDA_ARRAY_DESCRIPTOR* cdesc_ptr = desc._ptr if desc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefSetAddress2D(chTexRef, cdesc_ptr, cdptr, Pitch)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_desc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37376, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 37376, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {
    __pyx_t_5 = __pyx_v_desc->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cdesc_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":37377
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUDA_ARRAY_DESCRIPTOR* cdesc_ptr = desc._ptr if desc != None else NULL
 *     err = ccuda.cuTexRefSetAddress2D(chTexRef, cdesc_ptr, cdptr, Pitch)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuTexRefSetAddress2D(__pyx_v_chTexRef, __pyx_v_cdesc_ptr, __pyx_v_cdptr, __pyx_v_Pitch); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37377, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":37378
 *     cdef ccuda.CUDA_ARRAY_DESCRIPTOR* cdesc_ptr = desc._ptr if desc != None else NULL
 *     err = ccuda.cuTexRefSetAddress2D(chTexRef, cdesc_ptr, cdptr, Pitch)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 37378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 37378, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37301
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37380
 *     return (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_4cuda_731cuTexRefSetFormat(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_730cuTexRefSetFormat, "cuTexRefSetFormat(hTexRef, fmt: CUarray_format, int NumPackedComponents)\n Sets the format for a texture reference.\n\n    [Deprecated]\n\n    Specifies 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\n    each component and the number of components per array element.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\n    fmt : :py:obj:`~.CUarray_format`\n        Format to set\n    NumPackedComponents : int\n        Number of components per array element\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_731cuTexRefSetFormat = {"cuTexRefSetFormat", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_731cuTexRefSetFormat, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_730cuTexRefSetFormat};
static PyObject *__pyx_pw_4cuda_4cuda_731cuTexRefSetFormat(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,&__pyx_n_s_fmt,&__pyx_n_s_NumPackedComponents,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37380, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fmt)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37380, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetFormat", 1, 3, 3, 1); __PYX_ERR(1, 37380, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_NumPackedComponents)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37380, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetFormat", 1, 3, 3, 2); __PYX_ERR(1, 37380, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefSetFormat") < 0)) __PYX_ERR(1, 37380, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_fmt = values[1];
    __pyx_v_NumPackedComponents = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_NumPackedComponents == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 37381, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetFormat", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 37380, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 37381, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_730cuTexRefSetFormat(__pyx_self, __pyx_v_hTexRef, __pyx_v_fmt, __pyx_v_NumPackedComponents);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_730cuTexRefSetFormat(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_fmt, int __pyx_v_NumPackedComponents) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUarray_format __pyx_v_cfmt;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUarray_format __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__866)
  __Pyx_RefNannySetupContext("cuTexRefSetFormat", 1);
  __Pyx_TraceCall("cuTexRefSetFormat", __pyx_f[1], 37380, 0, __PYX_ERR(1, 37380, __pyx_L1_error));

  /* "cuda/cuda.pyx":37411
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37412
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37411
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37413
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37414
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37415
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37415, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37413
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37417
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUarray_format cfmt = fmt.value
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37417, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37417, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37418
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUarray_format cfmt = fmt.value
 *     err = ccuda.cuTexRefSetFormat(chTexRef, cfmt, NumPackedComponents)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37418, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37419
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUarray_format cfmt = fmt.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefSetFormat(chTexRef, cfmt, NumPackedComponents)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_fmt, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUarray_format_enum)__Pyx_PyInt_As_enum__CUarray_format_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37419, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cfmt = __pyx_t_5;

  /* "cuda/cuda.pyx":37420
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUarray_format cfmt = fmt.value
 *     err = ccuda.cuTexRefSetFormat(chTexRef, cfmt, NumPackedComponents)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuTexRefSetFormat(__pyx_v_chTexRef, __pyx_v_cfmt, __pyx_v_NumPackedComponents); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37420, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":37421
 *     cdef ccuda.CUarray_format cfmt = fmt.value
 *     err = ccuda.cuTexRefSetFormat(chTexRef, cfmt, NumPackedComponents)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 37421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37421, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 37421, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37380
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefSetFormat", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37423
 *     return (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_4cuda_733cuTexRefSetAddressMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_732cuTexRefSetAddressMode, "cuTexRefSetAddressMode(hTexRef, int dim, am: CUaddress_mode)\n Sets the addressing mode for a texture reference.\n\n    [Deprecated]\n\n    Specifies the addressing mode `am` for the given dimension `dim` of the\n    texture reference `hTexRef`. If `dim` is zero, the addressing mode is\n    applied to the first parameter of the functions used to fetch from the\n    texture; 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\n    Note that this call has no effect if `hTexRef` is bound to linear\n    memory. Also, if the flag, :py:obj:`~.CU_TRSF_NORMALIZED_COORDINATES`,\n    is not set, the only supported address mode is\n    :py:obj:`~.CU_TR_ADDRESS_MODE_CLAMP`.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\n    dim : int\n        Dimension\n    am : :py:obj:`~.CUaddress_mode`\n        Addressing mode to set\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_733cuTexRefSetAddressMode = {"cuTexRefSetAddressMode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_733cuTexRefSetAddressMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_732cuTexRefSetAddressMode};
static PyObject *__pyx_pw_4cuda_4cuda_733cuTexRefSetAddressMode(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,&__pyx_n_s_dim,&__pyx_n_s_am,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37423, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dim)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37423, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetAddressMode", 1, 3, 3, 1); __PYX_ERR(1, 37423, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_am)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37423, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetAddressMode", 1, 3, 3, 2); __PYX_ERR(1, 37423, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefSetAddressMode") < 0)) __PYX_ERR(1, 37423, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_dim = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dim == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 37424, __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(1, 37423, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 37424, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_732cuTexRefSetAddressMode(__pyx_self, __pyx_v_hTexRef, __pyx_v_dim, __pyx_v_am);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_732cuTexRefSetAddressMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, int __pyx_v_dim, PyObject *__pyx_v_am) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUaddress_mode __pyx_v_cam;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUaddress_mode __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__867)
  __Pyx_RefNannySetupContext("cuTexRefSetAddressMode", 1);
  __Pyx_TraceCall("cuTexRefSetAddressMode", __pyx_f[1], 37423, 0, __PYX_ERR(1, 37423, __pyx_L1_error));

  /* "cuda/cuda.pyx":37461
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37462
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37461
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37463
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37464
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37465
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37465, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37463
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37467
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUaddress_mode cam = am.value
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37468
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUaddress_mode cam = am.value
 *     err = ccuda.cuTexRefSetAddressMode(chTexRef, dim, cam)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37468, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37469
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUaddress_mode cam = am.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefSetAddressMode(chTexRef, dim, cam)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_am, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUaddress_mode_enum)__Pyx_PyInt_As_enum__CUaddress_mode_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cam = __pyx_t_5;

  /* "cuda/cuda.pyx":37470
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUaddress_mode cam = am.value
 *     err = ccuda.cuTexRefSetAddressMode(chTexRef, dim, cam)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuTexRefSetAddressMode(__pyx_v_chTexRef, __pyx_v_dim, __pyx_v_cam); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37470, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":37471
 *     cdef ccuda.CUaddress_mode cam = am.value
 *     err = ccuda.cuTexRefSetAddressMode(chTexRef, dim, cam)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 37471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 37471, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37423
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefSetAddressMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37473
 *     return (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_4cuda_735cuTexRefSetFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_734cuTexRefSetFilterMode, "cuTexRefSetFilterMode(hTexRef, fm: CUfilter_mode)\n Sets the filtering mode for a texture reference.\n\n    [Deprecated]\n\n    Specifies the filtering mode `fm` to be used when reading memory\n    through the texture reference `hTexRef`. :py:obj:`~.CUfilter_mode_enum`\n    is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    Note that this call has no effect if `hTexRef` is bound to linear\n    memory.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\n    fm : :py:obj:`~.CUfilter_mode`\n        Filtering mode to set\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_735cuTexRefSetFilterMode = {"cuTexRefSetFilterMode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_735cuTexRefSetFilterMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_734cuTexRefSetFilterMode};
static PyObject *__pyx_pw_4cuda_4cuda_735cuTexRefSetFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,&__pyx_n_s_fm,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37473, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37473, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetFilterMode", 1, 2, 2, 1); __PYX_ERR(1, 37473, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefSetFilterMode") < 0)) __PYX_ERR(1, 37473, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 37473, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 37474, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_734cuTexRefSetFilterMode(__pyx_self, __pyx_v_hTexRef, __pyx_v_fm);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_734cuTexRefSetFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_fm) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUfilter_mode __pyx_v_cfm;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUfilter_mode __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__868)
  __Pyx_RefNannySetupContext("cuTexRefSetFilterMode", 1);
  __Pyx_TraceCall("cuTexRefSetFilterMode", __pyx_f[1], 37473, 0, __PYX_ERR(1, 37473, __pyx_L1_error));

  /* "cuda/cuda.pyx":37505
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37506
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37505
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37507
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37508
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37509
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37509, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37507
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37511
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUfilter_mode cfm = fm.value
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37511, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37511, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37512
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfilter_mode cfm = fm.value
 *     err = ccuda.cuTexRefSetFilterMode(chTexRef, cfm)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37512, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37513
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUfilter_mode cfm = fm.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefSetFilterMode(chTexRef, cfm)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_fm, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUfilter_mode_enum)__Pyx_PyInt_As_enum__CUfilter_mode_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37513, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cfm = __pyx_t_5;

  /* "cuda/cuda.pyx":37514
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUfilter_mode cfm = fm.value
 *     err = ccuda.cuTexRefSetFilterMode(chTexRef, cfm)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuTexRefSetFilterMode(__pyx_v_chTexRef, __pyx_v_cfm); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37514, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":37515
 *     cdef ccuda.CUfilter_mode cfm = fm.value
 *     err = ccuda.cuTexRefSetFilterMode(chTexRef, cfm)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 37515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 37515, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37473
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefSetFilterMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37517
 *     return (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_4cuda_737cuTexRefSetMipmapFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_736cuTexRefSetMipmapFilterMode, "cuTexRefSetMipmapFilterMode(hTexRef, fm: CUfilter_mode)\n Sets the mipmap filtering mode for a texture reference.\n\n    [Deprecated]\n\n    Specifies the mipmap filtering mode `fm` to be used when reading memory\n    through the texture reference `hTexRef`. :py:obj:`~.CUfilter_mode_enum`\n    is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    Note that this call has no effect if `hTexRef` is not bound to a\n    mipmapped array.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\n    fm : :py:obj:`~.CUfilter_mode`\n        Filtering mode to set\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_737cuTexRefSetMipmapFilterMode = {"cuTexRefSetMipmapFilterMode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_737cuTexRefSetMipmapFilterMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_736cuTexRefSetMipmapFilterMode};
static PyObject *__pyx_pw_4cuda_4cuda_737cuTexRefSetMipmapFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,&__pyx_n_s_fm,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37517, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fm)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37517, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmapFilterMode", 1, 2, 2, 1); __PYX_ERR(1, 37517, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefSetMipmapFilterMode") < 0)) __PYX_ERR(1, 37517, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 37517, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 37518, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_736cuTexRefSetMipmapFilterMode(__pyx_self, __pyx_v_hTexRef, __pyx_v_fm);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_736cuTexRefSetMipmapFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, PyObject *__pyx_v_fm) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUfilter_mode __pyx_v_cfm;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUfilter_mode __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__869)
  __Pyx_RefNannySetupContext("cuTexRefSetMipmapFilterMode", 1);
  __Pyx_TraceCall("cuTexRefSetMipmapFilterMode", __pyx_f[1], 37517, 0, __PYX_ERR(1, 37517, __pyx_L1_error));

  /* "cuda/cuda.pyx":37549
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37550
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37549
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37551
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37552
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37553
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37553, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37551
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37555
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUfilter_mode cfm = fm.value
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37555, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37555, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37556
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfilter_mode cfm = fm.value
 *     err = ccuda.cuTexRefSetMipmapFilterMode(chTexRef, cfm)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37556, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37557
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUfilter_mode cfm = fm.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefSetMipmapFilterMode(chTexRef, cfm)
 *     return (CUresult(err),)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_fm, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum CUfilter_mode_enum)__Pyx_PyInt_As_enum__CUfilter_mode_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37557, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cfm = __pyx_t_5;

  /* "cuda/cuda.pyx":37558
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUfilter_mode cfm = fm.value
 *     err = ccuda.cuTexRefSetMipmapFilterMode(chTexRef, cfm)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuTexRefSetMipmapFilterMode(__pyx_v_chTexRef, __pyx_v_cfm); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37558, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":37559
 *     cdef ccuda.CUfilter_mode cfm = fm.value
 *     err = ccuda.cuTexRefSetMipmapFilterMode(chTexRef, cfm)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 37559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37559, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 37559, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37517
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefSetMipmapFilterMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37561
 *     return (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_4cuda_739cuTexRefSetMipmapLevelBias(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_738cuTexRefSetMipmapLevelBias, "cuTexRefSetMipmapLevelBias(hTexRef, float bias)\n Sets the mipmap level bias for a texture reference.\n\n    [Deprecated]\n\n    Specifies the mipmap level bias `bias` to be added to the specified\n    mipmap level when reading memory through the texture reference\n    `hTexRef`.\n\n    Note that this call has no effect if `hTexRef` is not bound to a\n    mipmapped array.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\n    bias : float\n        Mipmap level bias\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_739cuTexRefSetMipmapLevelBias = {"cuTexRefSetMipmapLevelBias", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_739cuTexRefSetMipmapLevelBias, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_738cuTexRefSetMipmapLevelBias};
static PyObject *__pyx_pw_4cuda_4cuda_739cuTexRefSetMipmapLevelBias(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,&__pyx_n_s_bias,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37561, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_bias)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37561, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmapLevelBias", 1, 2, 2, 1); __PYX_ERR(1, 37561, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefSetMipmapLevelBias") < 0)) __PYX_ERR(1, 37561, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_bias = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_bias == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 37562, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmapLevelBias", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 37561, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefSetMipmapLevelBias", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_738cuTexRefSetMipmapLevelBias(__pyx_self, __pyx_v_hTexRef, __pyx_v_bias);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_738cuTexRefSetMipmapLevelBias(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, float __pyx_v_bias) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__870)
  __Pyx_RefNannySetupContext("cuTexRefSetMipmapLevelBias", 1);
  __Pyx_TraceCall("cuTexRefSetMipmapLevelBias", __pyx_f[1], 37561, 0, __PYX_ERR(1, 37561, __pyx_L1_error));

  /* "cuda/cuda.pyx":37591
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37592
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37591
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37593
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37594
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37595
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37595, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37593
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37597
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetMipmapLevelBias(chTexRef, bias)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37598
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefSetMipmapLevelBias(chTexRef, bias)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37598, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37599
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetMipmapLevelBias(chTexRef, bias)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefSetMipmapLevelBias(__pyx_v_chTexRef, __pyx_v_bias); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37599, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":37600
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetMipmapLevelBias(chTexRef, bias)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37600, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 37600, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37561
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefSetMipmapLevelBias", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37602
 *     return (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_4cuda_741cuTexRefSetMipmapLevelClamp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_740cuTexRefSetMipmapLevelClamp, "cuTexRefSetMipmapLevelClamp(hTexRef, float minMipmapLevelClamp, float maxMipmapLevelClamp)\n Sets the mipmap min/max mipmap level clamps for a texture reference.\n\n    [Deprecated]\n\n    Specifies the min/max mipmap level clamps, `minMipmapLevelClamp` and\n    `maxMipmapLevelClamp` respectively, to be used when reading memory\n    through the texture reference `hTexRef`.\n\n    Note that this call has no effect if `hTexRef` is not bound to a\n    mipmapped array.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\n    minMipmapLevelClamp : float\n        Mipmap min level clamp\n    maxMipmapLevelClamp : float\n        Mipmap max level clamp\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_741cuTexRefSetMipmapLevelClamp = {"cuTexRefSetMipmapLevelClamp", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_741cuTexRefSetMipmapLevelClamp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_740cuTexRefSetMipmapLevelClamp};
static PyObject *__pyx_pw_4cuda_4cuda_741cuTexRefSetMipmapLevelClamp(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,&__pyx_n_s_minMipmapLevelClamp_2,&__pyx_n_s_maxMipmapLevelClamp_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37602, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_minMipmapLevelClamp_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37602, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmapLevelClamp", 1, 3, 3, 1); __PYX_ERR(1, 37602, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_maxMipmapLevelClamp_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37602, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmapLevelClamp", 1, 3, 3, 2); __PYX_ERR(1, 37602, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefSetMipmapLevelClamp") < 0)) __PYX_ERR(1, 37602, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_minMipmapLevelClamp = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_minMipmapLevelClamp == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 37603, __pyx_L3_error)
    __pyx_v_maxMipmapLevelClamp = __pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_maxMipmapLevelClamp == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 37603, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetMipmapLevelClamp", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 37602, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefSetMipmapLevelClamp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_740cuTexRefSetMipmapLevelClamp(__pyx_self, __pyx_v_hTexRef, __pyx_v_minMipmapLevelClamp, __pyx_v_maxMipmapLevelClamp);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_740cuTexRefSetMipmapLevelClamp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, float __pyx_v_minMipmapLevelClamp, float __pyx_v_maxMipmapLevelClamp) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__871)
  __Pyx_RefNannySetupContext("cuTexRefSetMipmapLevelClamp", 1);
  __Pyx_TraceCall("cuTexRefSetMipmapLevelClamp", __pyx_f[1], 37602, 0, __PYX_ERR(1, 37602, __pyx_L1_error));

  /* "cuda/cuda.pyx":37634
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37635
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37634
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37636
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37637
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37638
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37638, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37636
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37640
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetMipmapLevelClamp(chTexRef, minMipmapLevelClamp, maxMipmapLevelClamp)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37640, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37640, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37641
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefSetMipmapLevelClamp(chTexRef, minMipmapLevelClamp, maxMipmapLevelClamp)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37641, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37642
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetMipmapLevelClamp(chTexRef, minMipmapLevelClamp, maxMipmapLevelClamp)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefSetMipmapLevelClamp(__pyx_v_chTexRef, __pyx_v_minMipmapLevelClamp, __pyx_v_maxMipmapLevelClamp); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37642, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":37643
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetMipmapLevelClamp(chTexRef, minMipmapLevelClamp, maxMipmapLevelClamp)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 37643, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37602
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefSetMipmapLevelClamp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37645
 *     return (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_4cuda_743cuTexRefSetMaxAnisotropy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_742cuTexRefSetMaxAnisotropy, "cuTexRefSetMaxAnisotropy(hTexRef, unsigned int maxAniso)\n Sets the maximum anisotropy for a texture reference.\n\n    [Deprecated]\n\n    Specifies the maximum anisotropy `maxAniso` to be used when reading\n    memory through the texture reference `hTexRef`.\n\n    Note that this call has no effect if `hTexRef` is bound to linear\n    memory.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\n    maxAniso : unsigned int\n        Maximum anisotropy\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_VALUE`\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_743cuTexRefSetMaxAnisotropy = {"cuTexRefSetMaxAnisotropy", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_743cuTexRefSetMaxAnisotropy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_742cuTexRefSetMaxAnisotropy};
static PyObject *__pyx_pw_4cuda_4cuda_743cuTexRefSetMaxAnisotropy(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,&__pyx_n_s_maxAniso,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37645, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_maxAniso)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37645, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetMaxAnisotropy", 1, 2, 2, 1); __PYX_ERR(1, 37645, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefSetMaxAnisotropy") < 0)) __PYX_ERR(1, 37645, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_maxAniso = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_maxAniso == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 37646, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetMaxAnisotropy", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 37645, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefSetMaxAnisotropy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_742cuTexRefSetMaxAnisotropy(__pyx_self, __pyx_v_hTexRef, __pyx_v_maxAniso);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_742cuTexRefSetMaxAnisotropy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, unsigned int __pyx_v_maxAniso) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__872)
  __Pyx_RefNannySetupContext("cuTexRefSetMaxAnisotropy", 1);
  __Pyx_TraceCall("cuTexRefSetMaxAnisotropy", __pyx_f[1], 37645, 0, __PYX_ERR(1, 37645, __pyx_L1_error));

  /* "cuda/cuda.pyx":37674
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37675
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37674
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37676
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37677
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37678
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37678, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37676
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37680
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetMaxAnisotropy(chTexRef, maxAniso)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37680, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37680, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37681
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefSetMaxAnisotropy(chTexRef, maxAniso)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37681, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37682
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetMaxAnisotropy(chTexRef, maxAniso)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefSetMaxAnisotropy(__pyx_v_chTexRef, __pyx_v_maxAniso); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37682, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":37683
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetMaxAnisotropy(chTexRef, maxAniso)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 37683, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37645
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefSetMaxAnisotropy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37685
 *     return (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_4cuda_745cuTexRefSetBorderColor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_744cuTexRefSetBorderColor, "cuTexRefSetBorderColor(hTexRef, float pBorderColor)\n Sets the border color for a texture reference.\n\n    [Deprecated]\n\n    Specifies the value of the RGBA color via the `pBorderColor` to the\n    texture reference `hTexRef`. The color value supports only float type\n    and holds color components in the following sequence: pBorderColor[0]\n    holds 'R' component pBorderColor[1] holds 'G' component pBorderColor[2]\n    holds 'B' component pBorderColor[3] holds 'A' component\n\n    Note that the color values can be set only when the Address mode is set\n    to CU_TR_ADDRESS_MODE_BORDER using :py:obj:`~.cuTexRefSetAddressMode`.\n    Applications using integer border color values have to\n    \"reinterpret_cast\" their values to float.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\n    pBorderColor : float\n        RGBA color\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefGetAddressMode`, :py:obj:`~.cuTexRefGetBorderColor`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_745cuTexRefSetBorderColor = {"cuTexRefSetBorderColor", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_745cuTexRefSetBorderColor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_744cuTexRefSetBorderColor};
static PyObject *__pyx_pw_4cuda_4cuda_745cuTexRefSetBorderColor(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,&__pyx_n_s_pBorderColor,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37685, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pBorderColor)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37685, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetBorderColor", 1, 2, 2, 1); __PYX_ERR(1, 37685, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefSetBorderColor") < 0)) __PYX_ERR(1, 37685, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_pBorderColor = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_pBorderColor == (float)-1) && PyErr_Occurred())) __PYX_ERR(1, 37686, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetBorderColor", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 37685, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefSetBorderColor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_744cuTexRefSetBorderColor(__pyx_self, __pyx_v_hTexRef, __pyx_v_pBorderColor);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_744cuTexRefSetBorderColor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, float __pyx_v_pBorderColor) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__873)
  __Pyx_RefNannySetupContext("cuTexRefSetBorderColor", 1);
  __Pyx_TraceCall("cuTexRefSetBorderColor", __pyx_f[1], 37685, 0, __PYX_ERR(1, 37685, __pyx_L1_error));

  /* "cuda/cuda.pyx":37719
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37720
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37719
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37721
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37722
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37722, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37723
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37723, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37721
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37725
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetBorderColor(chTexRef, &pBorderColor)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37725, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37726
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefSetBorderColor(chTexRef, &pBorderColor)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37726, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37727
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetBorderColor(chTexRef, &pBorderColor)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefSetBorderColor(__pyx_v_chTexRef, (&__pyx_v_pBorderColor)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37727, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":37728
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetBorderColor(chTexRef, &pBorderColor)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37728, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 37728, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37685
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefSetBorderColor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37730
 *     return (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_4cuda_747cuTexRefSetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_746cuTexRefSetFlags, "cuTexRefSetFlags(hTexRef, unsigned int Flags)\n Sets the flags for a texture reference.\n\n    [Deprecated]\n\n    Specifies optional flags via `Flags` to specify the behavior of data\n    returned 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\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\n    Flags : unsigned int\n        Optional flags to set\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_VALUE`\n\n    See 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`, :p""y:obj:`~.cuTexRefGetFormat`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_747cuTexRefSetFlags = {"cuTexRefSetFlags", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_747cuTexRefSetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_746cuTexRefSetFlags};
static PyObject *__pyx_pw_4cuda_4cuda_747cuTexRefSetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,&__pyx_n_s_Flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37730, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37730, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefSetFlags", 1, 2, 2, 1); __PYX_ERR(1, 37730, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefSetFlags") < 0)) __PYX_ERR(1, 37730, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_Flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 37731, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefSetFlags", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 37730, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefSetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_746cuTexRefSetFlags(__pyx_self, __pyx_v_hTexRef, __pyx_v_Flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_746cuTexRefSetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, unsigned int __pyx_v_Flags) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__874)
  __Pyx_RefNannySetupContext("cuTexRefSetFlags", 1);
  __Pyx_TraceCall("cuTexRefSetFlags", __pyx_f[1], 37730, 0, __PYX_ERR(1, 37730, __pyx_L1_error));

  /* "cuda/cuda.pyx":37774
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37775
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37774
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37776
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37777
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37777, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37778
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37778, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37776
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37780
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetFlags(chTexRef, Flags)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37781
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefSetFlags(chTexRef, Flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37781, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37782
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetFlags(chTexRef, Flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefSetFlags(__pyx_v_chTexRef, __pyx_v_Flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37782, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":37783
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefSetFlags(chTexRef, Flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 37783, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37730
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefSetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37785
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetAddress(hTexRef):
 *     """ Gets the address associated with a texture reference.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_749cuTexRefGetAddress(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_748cuTexRefGetAddress, "cuTexRefGetAddress(hTexRef)\n Gets the address associated with a texture reference.\n\n    [Deprecated]\n\n    Returns in `*pdptr` the base address bound to the texture reference\n    `hTexRef`, or returns :py:obj:`~.CUDA_ERROR_INVALID_VALUE` if the\n    texture reference is not bound to any device memory range.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\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_VALUE`\n    pdptr : :py:obj:`~.CUdeviceptr`\n        Returned device address\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_749cuTexRefGetAddress = {"cuTexRefGetAddress", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_749cuTexRefGetAddress, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_748cuTexRefGetAddress};
static PyObject *__pyx_pw_4cuda_4cuda_749cuTexRefGetAddress(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37785, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefGetAddress") < 0)) __PYX_ERR(1, 37785, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetAddress", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 37785, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetAddress", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_748cuTexRefGetAddress(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_748cuTexRefGetAddress(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_pdptr = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__875)
  __Pyx_RefNannySetupContext("cuTexRefGetAddress", 1);
  __Pyx_TraceCall("cuTexRefGetAddress", __pyx_f[1], 37785, 0, __PYX_ERR(1, 37785, __pyx_L1_error));

  /* "cuda/cuda.pyx":37812
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37813
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37812
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37814
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37815
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37816
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37816, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37814
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37818
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37819
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     err = ccuda.cuTexRefGetAddress(<ccuda.CUdeviceptr*>pdptr._ptr, chTexRef)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37819, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37820
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef CUdeviceptr pdptr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefGetAddress(<ccuda.CUdeviceptr*>pdptr._ptr, chTexRef)
 *     return (CUresult(err), pdptr)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pdptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":37821
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     err = ccuda.cuTexRefGetAddress(<ccuda.CUdeviceptr*>pdptr._ptr, chTexRef)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pdptr)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefGetAddress(((CUdeviceptr *)__pyx_v_pdptr->_ptr), __pyx_v_chTexRef); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37821, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":37822
 *     cdef CUdeviceptr pdptr = CUdeviceptr()
 *     err = ccuda.cuTexRefGetAddress(<ccuda.CUdeviceptr*>pdptr._ptr, chTexRef)
 *     return (CUresult(err), pdptr)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 37822, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pdptr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pdptr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pdptr))) __PYX_ERR(1, 37822, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37785
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37824
 *     return (CUresult(err), pdptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetArray(hTexRef):
 *     """ Gets the array bound to a texture reference.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_751cuTexRefGetArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_750cuTexRefGetArray, "cuTexRefGetArray(hTexRef)\n Gets the array bound to a texture reference.\n\n    [Deprecated]\n\n    Returns in `*phArray` the CUDA array bound to the texture reference\n    `hTexRef`, or returns :py:obj:`~.CUDA_ERROR_INVALID_VALUE` if the\n    texture reference is not bound to any CUDA array.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\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_VALUE`\n    phArray : :py:obj:`~.CUarray`\n        Returned array\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_751cuTexRefGetArray = {"cuTexRefGetArray", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_751cuTexRefGetArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_750cuTexRefGetArray};
static PyObject *__pyx_pw_4cuda_4cuda_751cuTexRefGetArray(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37824, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefGetArray") < 0)) __PYX_ERR(1, 37824, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetArray", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 37824, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_750cuTexRefGetArray(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_750cuTexRefGetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_phArray = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__876)
  __Pyx_RefNannySetupContext("cuTexRefGetArray", 1);
  __Pyx_TraceCall("cuTexRefGetArray", __pyx_f[1], 37824, 0, __PYX_ERR(1, 37824, __pyx_L1_error));

  /* "cuda/cuda.pyx":37851
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37852
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37851
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37853
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37854
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37854, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37855
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37855, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37853
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37857
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef CUarray phArray = CUarray()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37858
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef CUarray phArray = CUarray()
 *     err = ccuda.cuTexRefGetArray(<ccuda.CUarray*>phArray._ptr, chTexRef)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37858, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37859
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef CUarray phArray = CUarray()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefGetArray(<ccuda.CUarray*>phArray._ptr, chTexRef)
 *     return (CUresult(err), phArray)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_phArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":37860
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef CUarray phArray = CUarray()
 *     err = ccuda.cuTexRefGetArray(<ccuda.CUarray*>phArray._ptr, chTexRef)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phArray)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefGetArray(((CUarray *)__pyx_v_phArray->_ptr), __pyx_v_chTexRef); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37860, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":37861
 *     cdef CUarray phArray = CUarray()
 *     err = ccuda.cuTexRefGetArray(<ccuda.CUarray*>phArray._ptr, chTexRef)
 *     return (CUresult(err), phArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 37861, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phArray))) __PYX_ERR(1, 37861, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37824
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37863
 *     return (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_4cuda_753cuTexRefGetMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_752cuTexRefGetMipmappedArray, "cuTexRefGetMipmappedArray(hTexRef)\n Gets the mipmapped array bound to a texture reference.\n\n    [Deprecated]\n\n    Returns in `*phMipmappedArray` the CUDA mipmapped array bound to the\n    texture reference `hTexRef`, or returns\n    :py:obj:`~.CUDA_ERROR_INVALID_VALUE` if the texture reference is not\n    bound to any CUDA mipmapped array.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\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_VALUE`\n    phMipmappedArray : :py:obj:`~.CUmipmappedArray`\n        Returned mipmapped array\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_753cuTexRefGetMipmappedArray = {"cuTexRefGetMipmappedArray", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_753cuTexRefGetMipmappedArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_752cuTexRefGetMipmappedArray};
static PyObject *__pyx_pw_4cuda_4cuda_753cuTexRefGetMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37863, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefGetMipmappedArray") < 0)) __PYX_ERR(1, 37863, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetMipmappedArray", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 37863, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetMipmappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_752cuTexRefGetMipmappedArray(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_752cuTexRefGetMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_phMipmappedArray = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__877)
  __Pyx_RefNannySetupContext("cuTexRefGetMipmappedArray", 1);
  __Pyx_TraceCall("cuTexRefGetMipmappedArray", __pyx_f[1], 37863, 0, __PYX_ERR(1, 37863, __pyx_L1_error));

  /* "cuda/cuda.pyx":37891
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37892
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37891
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37893
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37894
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37894, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37895
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37895, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37893
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37897
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef CUmipmappedArray phMipmappedArray = CUmipmappedArray()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37897, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37897, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37898
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef CUmipmappedArray phMipmappedArray = CUmipmappedArray()
 *     err = ccuda.cuTexRefGetMipmappedArray(<ccuda.CUmipmappedArray*>phMipmappedArray._ptr, chTexRef)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37898, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37899
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef CUmipmappedArray phMipmappedArray = CUmipmappedArray()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefGetMipmappedArray(<ccuda.CUmipmappedArray*>phMipmappedArray._ptr, chTexRef)
 *     return (CUresult(err), phMipmappedArray)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmipmappedArray)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_phMipmappedArray = ((struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":37900
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef CUmipmappedArray phMipmappedArray = CUmipmappedArray()
 *     err = ccuda.cuTexRefGetMipmappedArray(<ccuda.CUmipmappedArray*>phMipmappedArray._ptr, chTexRef)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phMipmappedArray)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefGetMipmappedArray(((CUmipmappedArray *)__pyx_v_phMipmappedArray->_ptr), __pyx_v_chTexRef); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37900, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":37901
 *     cdef CUmipmappedArray phMipmappedArray = CUmipmappedArray()
 *     err = ccuda.cuTexRefGetMipmappedArray(<ccuda.CUmipmappedArray*>phMipmappedArray._ptr, chTexRef)
 *     return (CUresult(err), phMipmappedArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 37901, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phMipmappedArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phMipmappedArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phMipmappedArray))) __PYX_ERR(1, 37901, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37863
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37903
 *     return (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_4cuda_755cuTexRefGetAddressMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_754cuTexRefGetAddressMode, "cuTexRefGetAddressMode(hTexRef, int dim)\n Gets the addressing mode used by a texture reference.\n\n    [Deprecated]\n\n    Returns in `*pam` the addressing mode corresponding to the dimension\n    `dim` of the texture reference `hTexRef`. Currently, the only valid\n    value for `dim` are 0 and 1.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\n    dim : int\n        Dimension\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_VALUE`\n    pam : :py:obj:`~.CUaddress_mode`\n        Returned addressing mode\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_755cuTexRefGetAddressMode = {"cuTexRefGetAddressMode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_755cuTexRefGetAddressMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_754cuTexRefGetAddressMode};
static PyObject *__pyx_pw_4cuda_4cuda_755cuTexRefGetAddressMode(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,&__pyx_n_s_dim,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37903, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dim)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37903, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexRefGetAddressMode", 1, 2, 2, 1); __PYX_ERR(1, 37903, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefGetAddressMode") < 0)) __PYX_ERR(1, 37903, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_hTexRef = values[0];
    __pyx_v_dim = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dim == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 37904, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetAddressMode", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 37903, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetAddressMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_754cuTexRefGetAddressMode(__pyx_self, __pyx_v_hTexRef, __pyx_v_dim);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_754cuTexRefGetAddressMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef, int __pyx_v_dim) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUaddress_mode __pyx_v_pam;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__878)
  __Pyx_RefNannySetupContext("cuTexRefGetAddressMode", 1);
  __Pyx_TraceCall("cuTexRefGetAddressMode", __pyx_f[1], 37903, 0, __PYX_ERR(1, 37903, __pyx_L1_error));

  /* "cuda/cuda.pyx":37932
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37933
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37932
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37934
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37935
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37935, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37936
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37936, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37934
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37938
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUaddress_mode pam
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37938, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37938, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37939
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUaddress_mode pam
 *     err = ccuda.cuTexRefGetAddressMode(&pam, chTexRef, dim)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37939, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37941
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUaddress_mode pam
 *     err = ccuda.cuTexRefGetAddressMode(&pam, chTexRef, dim)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), CUaddress_mode(pam))
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefGetAddressMode((&__pyx_v_pam), __pyx_v_chTexRef, __pyx_v_dim); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37941, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":37942
 *     cdef ccuda.CUaddress_mode pam
 *     err = ccuda.cuTexRefGetAddressMode(&pam, chTexRef, dim)
 *     return (CUresult(err), CUaddress_mode(pam))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_CUaddress_mode); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyInt_From_enum__CUaddress_mode_enum(__pyx_v_pam); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 37942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_9 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37942, __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)) __PYX_ERR(1, 37942, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 37942, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37903
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetAddressMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37944
 *     return (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_4cuda_757cuTexRefGetFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_756cuTexRefGetFilterMode, "cuTexRefGetFilterMode(hTexRef)\n Gets the filter-mode used by a texture reference.\n\n    [Deprecated]\n\n    Returns in `*pfm` the filtering mode of the texture reference\n    `hTexRef`.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\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_VALUE`\n    pfm : :py:obj:`~.CUfilter_mode`\n        Returned filtering mode\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_757cuTexRefGetFilterMode = {"cuTexRefGetFilterMode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_757cuTexRefGetFilterMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_756cuTexRefGetFilterMode};
static PyObject *__pyx_pw_4cuda_4cuda_757cuTexRefGetFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37944, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefGetFilterMode") < 0)) __PYX_ERR(1, 37944, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetFilterMode", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 37944, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetFilterMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_756cuTexRefGetFilterMode(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_756cuTexRefGetFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUfilter_mode __pyx_v_pfm;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__879)
  __Pyx_RefNannySetupContext("cuTexRefGetFilterMode", 1);
  __Pyx_TraceCall("cuTexRefGetFilterMode", __pyx_f[1], 37944, 0, __PYX_ERR(1, 37944, __pyx_L1_error));

  /* "cuda/cuda.pyx":37970
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37971
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":37970
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37972
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":37973
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":37974
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37974, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":37972
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":37976
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUfilter_mode pfm
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37976, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37976, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":37977
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfilter_mode pfm
 *     err = ccuda.cuTexRefGetFilterMode(&pfm, chTexRef)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 37977, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":37979
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUfilter_mode pfm
 *     err = ccuda.cuTexRefGetFilterMode(&pfm, chTexRef)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), CUfilter_mode(pfm))
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefGetFilterMode((&__pyx_v_pfm), __pyx_v_chTexRef); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 37979, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":37980
 *     cdef ccuda.CUfilter_mode pfm
 *     err = ccuda.cuTexRefGetFilterMode(&pfm, chTexRef)
 *     return (CUresult(err), CUfilter_mode(pfm))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 37980, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_CUfilter_mode); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyInt_From_enum__CUfilter_mode_enum(__pyx_v_pfm); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 37980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_9 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37980, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 37980, __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)) __PYX_ERR(1, 37980, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 37980, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37944
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetFilterMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":37982
 *     return (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_4cuda_759cuTexRefGetFormat(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_758cuTexRefGetFormat, "cuTexRefGetFormat(hTexRef)\n Gets the format used by a texture reference.\n\n    [Deprecated]\n\n    Returns in `*pFormat` and `*pNumChannels` the format and number of\n    components of the CUDA array bound to the texture reference `hTexRef`.\n    If `pFormat` or `pNumChannels` is NULL, it will be ignored.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\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_VALUE`\n    pFormat : :py:obj:`~.CUarray_format`\n        Returned format\n    pNumChannels : int\n        Returned number of components\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_759cuTexRefGetFormat = {"cuTexRefGetFormat", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_759cuTexRefGetFormat, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_758cuTexRefGetFormat};
static PyObject *__pyx_pw_4cuda_4cuda_759cuTexRefGetFormat(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 37982, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefGetFormat") < 0)) __PYX_ERR(1, 37982, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetFormat", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 37982, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetFormat", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_758cuTexRefGetFormat(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_758cuTexRefGetFormat(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUarray_format __pyx_v_pFormat;
  int __pyx_v_pNumChannels;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__880)
  __Pyx_RefNannySetupContext("cuTexRefGetFormat", 1);
  __Pyx_TraceCall("cuTexRefGetFormat", __pyx_f[1], 37982, 0, __PYX_ERR(1, 37982, __pyx_L1_error));

  /* "cuda/cuda.pyx":38011
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38012
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":38011
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38013
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38014
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38014, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":38015
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38015, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":38013
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38017
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUarray_format pFormat
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38017, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38017, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":38018
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUarray_format pFormat
 *     cdef int pNumChannels = 0
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38018, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":38020
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUarray_format pFormat
 *     cdef int pNumChannels = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefGetFormat(&pFormat, &pNumChannels, chTexRef)
 *     return (CUresult(err), CUarray_format(pFormat), pNumChannels)
 */
  __pyx_v_pNumChannels = 0;

  /* "cuda/cuda.pyx":38021
 *     cdef ccuda.CUarray_format pFormat
 *     cdef int pNumChannels = 0
 *     err = ccuda.cuTexRefGetFormat(&pFormat, &pNumChannels, chTexRef)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), CUarray_format(pFormat), pNumChannels)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefGetFormat((&__pyx_v_pFormat), (&__pyx_v_pNumChannels), __pyx_v_chTexRef); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38021, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":38022
 *     cdef int pNumChannels = 0
 *     err = ccuda.cuTexRefGetFormat(&pFormat, &pNumChannels, chTexRef)
 *     return (CUresult(err), CUarray_format(pFormat), pNumChannels)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38022, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_CUarray_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyInt_From_enum__CUarray_format_enum(__pyx_v_pFormat); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 38022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_9 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38022, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_pNumChannels); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 38022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 38022, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 38022, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6)) __PYX_ERR(1, 38022, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":37982
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetFormat", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38024
 *     return (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_4cuda_761cuTexRefGetMipmapFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_760cuTexRefGetMipmapFilterMode, "cuTexRefGetMipmapFilterMode(hTexRef)\n Gets the mipmap filtering mode for a texture reference.\n\n    [Deprecated]\n\n    Returns the mipmap filtering mode in `pfm` that's used when reading\n    memory through the texture reference `hTexRef`.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\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_VALUE`\n    pfm : :py:obj:`~.CUfilter_mode`\n        Returned mipmap filtering mode\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_761cuTexRefGetMipmapFilterMode = {"cuTexRefGetMipmapFilterMode", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_761cuTexRefGetMipmapFilterMode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_760cuTexRefGetMipmapFilterMode};
static PyObject *__pyx_pw_4cuda_4cuda_761cuTexRefGetMipmapFilterMode(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38024, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefGetMipmapFilterMode") < 0)) __PYX_ERR(1, 38024, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetMipmapFilterMode", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 38024, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetMipmapFilterMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_760cuTexRefGetMipmapFilterMode(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_760cuTexRefGetMipmapFilterMode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUfilter_mode __pyx_v_pfm;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__881)
  __Pyx_RefNannySetupContext("cuTexRefGetMipmapFilterMode", 1);
  __Pyx_TraceCall("cuTexRefGetMipmapFilterMode", __pyx_f[1], 38024, 0, __PYX_ERR(1, 38024, __pyx_L1_error));

  /* "cuda/cuda.pyx":38050
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38051
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":38050
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38052
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38053
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":38054
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38054, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":38052
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38056
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUfilter_mode pfm
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":38057
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUfilter_mode pfm
 *     err = ccuda.cuTexRefGetMipmapFilterMode(&pfm, chTexRef)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38057, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":38059
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef ccuda.CUfilter_mode pfm
 *     err = ccuda.cuTexRefGetMipmapFilterMode(&pfm, chTexRef)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), CUfilter_mode(pfm))
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefGetMipmapFilterMode((&__pyx_v_pfm), __pyx_v_chTexRef); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38059, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":38060
 *     cdef ccuda.CUfilter_mode pfm
 *     err = ccuda.cuTexRefGetMipmapFilterMode(&pfm, chTexRef)
 *     return (CUresult(err), CUfilter_mode(pfm))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_CUfilter_mode); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyInt_From_enum__CUfilter_mode_enum(__pyx_v_pfm); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 38060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_9 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38060, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38060, __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)) __PYX_ERR(1, 38060, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 38060, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38024
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetMipmapFilterMode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38062
 *     return (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_4cuda_763cuTexRefGetMipmapLevelBias(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_762cuTexRefGetMipmapLevelBias, "cuTexRefGetMipmapLevelBias(hTexRef)\n Gets the mipmap level bias for a texture reference.\n\n    [Deprecated]\n\n    Returns the mipmap level bias in `pBias` that's added to the specified\n    mipmap level when reading memory through the texture reference\n    `hTexRef`.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\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_VALUE`\n    pbias : float\n        Returned mipmap level bias\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_763cuTexRefGetMipmapLevelBias = {"cuTexRefGetMipmapLevelBias", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_763cuTexRefGetMipmapLevelBias, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_762cuTexRefGetMipmapLevelBias};
static PyObject *__pyx_pw_4cuda_4cuda_763cuTexRefGetMipmapLevelBias(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38062, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefGetMipmapLevelBias") < 0)) __PYX_ERR(1, 38062, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetMipmapLevelBias", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 38062, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetMipmapLevelBias", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_762cuTexRefGetMipmapLevelBias(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_762cuTexRefGetMipmapLevelBias(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  float __pyx_v_pbias;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__882)
  __Pyx_RefNannySetupContext("cuTexRefGetMipmapLevelBias", 1);
  __Pyx_TraceCall("cuTexRefGetMipmapLevelBias", __pyx_f[1], 38062, 0, __PYX_ERR(1, 38062, __pyx_L1_error));

  /* "cuda/cuda.pyx":38089
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38090
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":38089
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38091
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38092
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":38093
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38093, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":38091
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38095
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef float pbias = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38095, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38095, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":38096
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef float pbias = 0
 *     err = ccuda.cuTexRefGetMipmapLevelBias(&pbias, chTexRef)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38096, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":38097
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef float pbias = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefGetMipmapLevelBias(&pbias, chTexRef)
 *     return (CUresult(err), pbias)
 */
  __pyx_v_pbias = 0.0;

  /* "cuda/cuda.pyx":38098
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef float pbias = 0
 *     err = ccuda.cuTexRefGetMipmapLevelBias(&pbias, chTexRef)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pbias)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefGetMipmapLevelBias((&__pyx_v_pbias), __pyx_v_chTexRef); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38098, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":38099
 *     cdef float pbias = 0
 *     err = ccuda.cuTexRefGetMipmapLevelBias(&pbias, chTexRef)
 *     return (CUresult(err), pbias)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38099, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_pbias); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38099, __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)) __PYX_ERR(1, 38099, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 38099, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38062
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetMipmapLevelBias", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38101
 *     return (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_4cuda_765cuTexRefGetMipmapLevelClamp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_764cuTexRefGetMipmapLevelClamp, "cuTexRefGetMipmapLevelClamp(hTexRef)\n Gets the min/max mipmap level clamps for a texture reference.\n\n    [Deprecated]\n\n    Returns the min/max mipmap level clamps in `pminMipmapLevelClamp` and\n    `pmaxMipmapLevelClamp` that's used when reading memory through the\n    texture reference `hTexRef`.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\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_VALUE`\n    pminMipmapLevelClamp : float\n        Returned mipmap min level clamp\n    pmaxMipmapLevelClamp : float\n        Returned mipmap max level clamp\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_765cuTexRefGetMipmapLevelClamp = {"cuTexRefGetMipmapLevelClamp", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_765cuTexRefGetMipmapLevelClamp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_764cuTexRefGetMipmapLevelClamp};
static PyObject *__pyx_pw_4cuda_4cuda_765cuTexRefGetMipmapLevelClamp(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38101, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefGetMipmapLevelClamp") < 0)) __PYX_ERR(1, 38101, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetMipmapLevelClamp", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 38101, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetMipmapLevelClamp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_764cuTexRefGetMipmapLevelClamp(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_764cuTexRefGetMipmapLevelClamp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  float __pyx_v_pminMipmapLevelClamp;
  float __pyx_v_pmaxMipmapLevelClamp;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__883)
  __Pyx_RefNannySetupContext("cuTexRefGetMipmapLevelClamp", 1);
  __Pyx_TraceCall("cuTexRefGetMipmapLevelClamp", __pyx_f[1], 38101, 0, __PYX_ERR(1, 38101, __pyx_L1_error));

  /* "cuda/cuda.pyx":38130
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38131
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":38130
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38132
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38133
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":38134
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38134, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":38132
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38136
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef float pminMipmapLevelClamp = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":38137
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef float pminMipmapLevelClamp = 0
 *     cdef float pmaxMipmapLevelClamp = 0
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38137, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":38138
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef float pminMipmapLevelClamp = 0             # <<<<<<<<<<<<<<
 *     cdef float pmaxMipmapLevelClamp = 0
 *     err = ccuda.cuTexRefGetMipmapLevelClamp(&pminMipmapLevelClamp, &pmaxMipmapLevelClamp, chTexRef)
 */
  __pyx_v_pminMipmapLevelClamp = 0.0;

  /* "cuda/cuda.pyx":38139
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef float pminMipmapLevelClamp = 0
 *     cdef float pmaxMipmapLevelClamp = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefGetMipmapLevelClamp(&pminMipmapLevelClamp, &pmaxMipmapLevelClamp, chTexRef)
 *     return (CUresult(err), pminMipmapLevelClamp, pmaxMipmapLevelClamp)
 */
  __pyx_v_pmaxMipmapLevelClamp = 0.0;

  /* "cuda/cuda.pyx":38140
 *     cdef float pminMipmapLevelClamp = 0
 *     cdef float pmaxMipmapLevelClamp = 0
 *     err = ccuda.cuTexRefGetMipmapLevelClamp(&pminMipmapLevelClamp, &pmaxMipmapLevelClamp, chTexRef)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pminMipmapLevelClamp, pmaxMipmapLevelClamp)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefGetMipmapLevelClamp((&__pyx_v_pminMipmapLevelClamp), (&__pyx_v_pmaxMipmapLevelClamp), __pyx_v_chTexRef); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38140, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":38141
 *     cdef float pmaxMipmapLevelClamp = 0
 *     err = ccuda.cuTexRefGetMipmapLevelClamp(&pminMipmapLevelClamp, &pmaxMipmapLevelClamp, chTexRef)
 *     return (CUresult(err), pminMipmapLevelClamp, pmaxMipmapLevelClamp)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_pminMipmapLevelClamp); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_pmaxMipmapLevelClamp); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 38141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 38141, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 38141, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6)) __PYX_ERR(1, 38141, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38101
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetMipmapLevelClamp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38143
 *     return (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_4cuda_767cuTexRefGetMaxAnisotropy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_766cuTexRefGetMaxAnisotropy, "cuTexRefGetMaxAnisotropy(hTexRef)\n Gets the maximum anisotropy for a texture reference.\n\n    [Deprecated]\n\n    Returns the maximum anisotropy in `pmaxAniso` that's used when reading\n    memory through the texture reference `hTexRef`.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\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_VALUE`\n    pmaxAniso : int\n        Returned maximum anisotropy\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_767cuTexRefGetMaxAnisotropy = {"cuTexRefGetMaxAnisotropy", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_767cuTexRefGetMaxAnisotropy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_766cuTexRefGetMaxAnisotropy};
static PyObject *__pyx_pw_4cuda_4cuda_767cuTexRefGetMaxAnisotropy(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38143, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefGetMaxAnisotropy") < 0)) __PYX_ERR(1, 38143, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetMaxAnisotropy", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 38143, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetMaxAnisotropy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_766cuTexRefGetMaxAnisotropy(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_766cuTexRefGetMaxAnisotropy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  int __pyx_v_pmaxAniso;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__884)
  __Pyx_RefNannySetupContext("cuTexRefGetMaxAnisotropy", 1);
  __Pyx_TraceCall("cuTexRefGetMaxAnisotropy", __pyx_f[1], 38143, 0, __PYX_ERR(1, 38143, __pyx_L1_error));

  /* "cuda/cuda.pyx":38169
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38170
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":38169
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38171
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38172
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":38173
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38173, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":38171
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38175
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef int pmaxAniso = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38175, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":38176
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef int pmaxAniso = 0
 *     err = ccuda.cuTexRefGetMaxAnisotropy(&pmaxAniso, chTexRef)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38176, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":38177
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef int pmaxAniso = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefGetMaxAnisotropy(&pmaxAniso, chTexRef)
 *     return (CUresult(err), pmaxAniso)
 */
  __pyx_v_pmaxAniso = 0;

  /* "cuda/cuda.pyx":38178
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef int pmaxAniso = 0
 *     err = ccuda.cuTexRefGetMaxAnisotropy(&pmaxAniso, chTexRef)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pmaxAniso)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefGetMaxAnisotropy((&__pyx_v_pmaxAniso), __pyx_v_chTexRef); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38178, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":38179
 *     cdef int pmaxAniso = 0
 *     err = ccuda.cuTexRefGetMaxAnisotropy(&pmaxAniso, chTexRef)
 *     return (CUresult(err), pmaxAniso)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_pmaxAniso); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38179, __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)) __PYX_ERR(1, 38179, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 38179, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38143
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetMaxAnisotropy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38181
 *     return (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_4cuda_769cuTexRefGetBorderColor(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_768cuTexRefGetBorderColor, "cuTexRefGetBorderColor(hTexRef)\n Gets the border color used by a texture reference.\n\n    [Deprecated]\n\n    Returns in `pBorderColor`, values of the RGBA color used by the texture\n    reference `hTexRef`. The color value is of type float and holds color\n    components in the following sequence: pBorderColor[0] holds 'R'\n    component pBorderColor[1] holds 'G' component pBorderColor[2] holds 'B'\n    component pBorderColor[3] holds 'A' component\n\n    Parameters\n    ----------\n    pBorderColor : :py:obj:`~.CUtexref`\n        Returned Type and Value of RGBA color\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_VALUE`\n    hTexRef : float\n        Texture reference\n\n    See Also\n    --------\n    :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetAddressMode`, :py:obj:`~.cuTexRefSetBorderColor`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_769cuTexRefGetBorderColor = {"cuTexRefGetBorderColor", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_769cuTexRefGetBorderColor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_768cuTexRefGetBorderColor};
static PyObject *__pyx_pw_4cuda_4cuda_769cuTexRefGetBorderColor(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38181, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefGetBorderColor") < 0)) __PYX_ERR(1, 38181, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetBorderColor", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 38181, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetBorderColor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_768cuTexRefGetBorderColor(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_768cuTexRefGetBorderColor(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  float __pyx_v_pBorderColor;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__885)
  __Pyx_RefNannySetupContext("cuTexRefGetBorderColor", 1);
  __Pyx_TraceCall("cuTexRefGetBorderColor", __pyx_f[1], 38181, 0, __PYX_ERR(1, 38181, __pyx_L1_error));

  /* "cuda/cuda.pyx":38210
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38211
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":38210
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38212
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38213
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38213, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":38214
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38214, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":38212
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38216
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef float pBorderColor = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38216, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38216, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":38217
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef float pBorderColor = 0
 *     err = ccuda.cuTexRefGetBorderColor(&pBorderColor, chTexRef)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38217, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":38218
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef float pBorderColor = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefGetBorderColor(&pBorderColor, chTexRef)
 *     return (CUresult(err), pBorderColor)
 */
  __pyx_v_pBorderColor = 0.0;

  /* "cuda/cuda.pyx":38219
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef float pBorderColor = 0
 *     err = ccuda.cuTexRefGetBorderColor(&pBorderColor, chTexRef)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pBorderColor)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefGetBorderColor((&__pyx_v_pBorderColor), __pyx_v_chTexRef); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38219, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":38220
 *     cdef float pBorderColor = 0
 *     err = ccuda.cuTexRefGetBorderColor(&pBorderColor, chTexRef)
 *     return (CUresult(err), pBorderColor)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_pBorderColor); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38220, __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)) __PYX_ERR(1, 38220, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 38220, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38181
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetBorderColor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38222
 *     return (CUresult(err), pBorderColor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetFlags(hTexRef):
 *     """ Gets the flags used by a texture reference.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_771cuTexRefGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_770cuTexRefGetFlags, "cuTexRefGetFlags(hTexRef)\n Gets the flags used by a texture reference.\n\n    [Deprecated]\n\n    Returns in `*pFlags` the flags of the texture reference `hTexRef`.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference\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_VALUE`\n    pFlags : unsigned int\n        Returned flags\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_771cuTexRefGetFlags = {"cuTexRefGetFlags", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_771cuTexRefGetFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_770cuTexRefGetFlags};
static PyObject *__pyx_pw_4cuda_4cuda_771cuTexRefGetFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38222, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefGetFlags") < 0)) __PYX_ERR(1, 38222, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefGetFlags", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 38222, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_770cuTexRefGetFlags(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_770cuTexRefGetFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  unsigned int __pyx_v_pFlags;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__886)
  __Pyx_RefNannySetupContext("cuTexRefGetFlags", 1);
  __Pyx_TraceCall("cuTexRefGetFlags", __pyx_f[1], 38222, 0, __PYX_ERR(1, 38222, __pyx_L1_error));

  /* "cuda/cuda.pyx":38247
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38248
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":38247
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38249
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38250
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38250, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":38251
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38251, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":38249
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38253
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef unsigned int pFlags = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":38254
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     cdef unsigned int pFlags = 0
 *     err = ccuda.cuTexRefGetFlags(&pFlags, chTexRef)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38254, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":38255
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef unsigned int pFlags = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefGetFlags(&pFlags, chTexRef)
 *     return (CUresult(err), pFlags)
 */
  __pyx_v_pFlags = 0;

  /* "cuda/cuda.pyx":38256
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     cdef unsigned int pFlags = 0
 *     err = ccuda.cuTexRefGetFlags(&pFlags, chTexRef)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pFlags)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefGetFlags((&__pyx_v_pFlags), __pyx_v_chTexRef); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38256, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":38257
 *     cdef unsigned int pFlags = 0
 *     err = ccuda.cuTexRefGetFlags(&pFlags, chTexRef)
 *     return (CUresult(err), pFlags)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_pFlags); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38257, __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)) __PYX_ERR(1, 38257, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2)) __PYX_ERR(1, 38257, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38222
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefGetFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38259
 *     return (CUresult(err), pFlags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefCreate():
 *     """ Creates a texture reference.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_773cuTexRefCreate(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_772cuTexRefCreate, "cuTexRefCreate()\n Creates a texture reference.\n\n    [Deprecated]\n\n    Creates a texture reference and returns its handle in `*pTexRef`. Once\n    created, the application must call :py:obj:`~.cuTexRefSetArray()` or\n    :py:obj:`~.cuTexRefSetAddress()` to associate the reference with\n    allocated memory. Other texture reference functions are used to specify\n    the format and interpretation (addressing, filtering, etc.) to be used\n    when the memory is read through this texture reference.\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_VALUE`\n    pTexRef : :py:obj:`~.CUtexref`\n        Returned texture reference\n\n    See Also\n    --------\n    :py:obj:`~.cuTexRefDestroy`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_773cuTexRefCreate = {"cuTexRefCreate", (PyCFunction)__pyx_pw_4cuda_4cuda_773cuTexRefCreate, METH_NOARGS, __pyx_doc_4cuda_4cuda_772cuTexRefCreate};
static PyObject *__pyx_pw_4cuda_4cuda_773cuTexRefCreate(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_4cuda_772cuTexRefCreate(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_772cuTexRefCreate(CYTHON_UNUSED PyObject *__pyx_self) {
  struct __pyx_obj_4cuda_4cuda_CUtexref *__pyx_v_pTexRef = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUresult __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__887)
  __Pyx_RefNannySetupContext("cuTexRefCreate", 1);
  __Pyx_TraceCall("cuTexRefCreate", __pyx_f[1], 38259, 0, __PYX_ERR(1, 38259, __pyx_L1_error));

  /* "cuda/cuda.pyx":38283
 *     :py:obj:`~.cuTexRefDestroy`
 *     """
 *     cdef CUtexref pTexRef = CUtexref()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefCreate(<ccuda.CUtexref*>pTexRef._ptr)
 *     return (CUresult(err), pTexRef)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 38283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pTexRef = ((struct __pyx_obj_4cuda_4cuda_CUtexref *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":38284
 *     """
 *     cdef CUtexref pTexRef = CUtexref()
 *     err = ccuda.cuTexRefCreate(<ccuda.CUtexref*>pTexRef._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pTexRef)
 * 
 */
  __pyx_t_2 = __pyx_f_4cuda_5ccuda_cuTexRefCreate(((CUtexref *)__pyx_v_pTexRef->_ptr)); if (unlikely(__pyx_t_2 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38284, __pyx_L1_error)
  __pyx_v_err = __pyx_t_2;

  /* "cuda/cuda.pyx":38285
 *     cdef CUtexref pTexRef = CUtexref()
 *     err = ccuda.cuTexRefCreate(<ccuda.CUtexref*>pTexRef._ptr)
 *     return (CUresult(err), pTexRef)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 38285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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(1, 38285, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 38285, __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)) __PYX_ERR(1, 38285, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pTexRef);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pTexRef);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_pTexRef))) __PYX_ERR(1, 38285, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38259
 *     return (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_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38287
 *     return (CUresult(err), pTexRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefDestroy(hTexRef):
 *     """ Destroys a texture reference.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_775cuTexRefDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_774cuTexRefDestroy, "cuTexRefDestroy(hTexRef)\n Destroys a texture reference.\n\n    [Deprecated]\n\n    Destroys the texture reference specified by `hTexRef`.\n\n    Parameters\n    ----------\n    hTexRef : :py:obj:`~.CUtexref`\n        Texture reference to destroy\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuTexRefCreate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_775cuTexRefDestroy = {"cuTexRefDestroy", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_775cuTexRefDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_774cuTexRefDestroy};
static PyObject *__pyx_pw_4cuda_4cuda_775cuTexRefDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hTexRef,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hTexRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38287, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexRefDestroy") < 0)) __PYX_ERR(1, 38287, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hTexRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexRefDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 38287, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexRefDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_774cuTexRefDestroy(__pyx_self, __pyx_v_hTexRef);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_774cuTexRefDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hTexRef) {
  CUtexref __pyx_v_chTexRef;
  PyObject *__pyx_v_phTexRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__888)
  __Pyx_RefNannySetupContext("cuTexRefDestroy", 1);
  __Pyx_TraceCall("cuTexRefDestroy", __pyx_f[1], 38287, 0, __PYX_ERR(1, 38287, __pyx_L1_error));

  /* "cuda/cuda.pyx":38310
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
  __pyx_t_1 = (__pyx_v_hTexRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38311
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 */
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":38310
 *     """
 *     cdef ccuda.CUtexref chTexRef
 *     if hTexRef is None:             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38312
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hTexRef, __pyx_ptype_4cuda_4cuda_CUtexref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38313
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38313, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phTexRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":38314
 *     elif isinstance(hTexRef, (CUtexref,)):
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38314, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":38312
 *     if hTexRef is None:
 *         chTexRef = <ccuda.CUtexref><void_ptr>0
 *     elif isinstance(hTexRef, (CUtexref,)):             # <<<<<<<<<<<<<<
 *         phTexRef = int(hTexRef)
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38316
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))             # <<<<<<<<<<<<<<
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefDestroy(chTexRef)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), __pyx_v_hTexRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38316, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38316, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phTexRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":38317
 *     else:
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexRefDestroy(chTexRef)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phTexRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38317, __pyx_L1_error)
    __pyx_v_chTexRef = ((CUtexref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":38318
 *         phTexRef = int(CUtexref(hTexRef))
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefDestroy(chTexRef)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexRefDestroy(__pyx_v_chTexRef); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38318, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":38319
 *         chTexRef = <ccuda.CUtexref><void_ptr>phTexRef
 *     err = ccuda.cuTexRefDestroy(chTexRef)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38319, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 38319, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38287
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuTexRefDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phTexRef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38321
 *     return (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_4cuda_777cuSurfRefSetArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_776cuSurfRefSetArray, "cuSurfRefSetArray(hSurfRef, hArray, unsigned int Flags)\n Sets the CUDA array for a surface reference.\n\n    [Deprecated]\n\n    Sets the CUDA array `hArray` to be read and written by the surface\n    reference `hSurfRef`. Any previous CUDA array state associated with the\n    surface reference is superseded by this function. `Flags` must be set\n    to 0. The :py:obj:`~.CUDA_ARRAY3D_SURFACE_LDST` flag must have been set\n    for the CUDA array. Any CUDA array previously bound to `hSurfRef` is\n    unbound.\n\n    Parameters\n    ----------\n    hSurfRef : :py:obj:`~.CUsurfref`\n        Surface reference handle\n    hArray : :py:obj:`~.CUarray`\n        CUDA array handle\n    Flags : unsigned int\n        set to 0\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuModuleGetSurfRef`, :py:obj:`~.cuSurfRefGetArray`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_777cuSurfRefSetArray = {"cuSurfRefSetArray", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_777cuSurfRefSetArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_776cuSurfRefSetArray};
static PyObject *__pyx_pw_4cuda_4cuda_777cuSurfRefSetArray(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hSurfRef,&__pyx_n_s_hArray_2,&__pyx_n_s_Flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hSurfRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38321, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hArray_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38321, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuSurfRefSetArray", 1, 3, 3, 1); __PYX_ERR(1, 38321, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38321, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuSurfRefSetArray", 1, 3, 3, 2); __PYX_ERR(1, 38321, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuSurfRefSetArray") < 0)) __PYX_ERR(1, 38321, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_hSurfRef = values[0];
    __pyx_v_hArray = values[1];
    __pyx_v_Flags = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 38322, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuSurfRefSetArray", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 38321, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuSurfRefSetArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_776cuSurfRefSetArray(__pyx_self, __pyx_v_hSurfRef, __pyx_v_hArray, __pyx_v_Flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_776cuSurfRefSetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hSurfRef, PyObject *__pyx_v_hArray, unsigned int __pyx_v_Flags) {
  CUarray __pyx_v_chArray;
  PyObject *__pyx_v_phArray = NULL;
  CUsurfref __pyx_v_chSurfRef;
  PyObject *__pyx_v_phSurfRef = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__889)
  __Pyx_RefNannySetupContext("cuSurfRefSetArray", 1);
  __Pyx_TraceCall("cuSurfRefSetArray", __pyx_f[1], 38321, 0, __PYX_ERR(1, 38321, __pyx_L1_error));

  /* "cuda/cuda.pyx":38353
 *     """
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 */
  __pyx_t_1 = (__pyx_v_hArray == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38354
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
 */
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":38353
 *     """
 *     cdef ccuda.CUarray chArray
 *     if hArray is None:             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38355
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hArray, __pyx_ptype_4cuda_4cuda_CUarray); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38356
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38356, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phArray = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":38357
 *     elif isinstance(hArray, (CUarray,)):
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     else:
 *         phArray = int(CUarray(hArray))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38357, __pyx_L1_error)
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":38355
 *     if hArray is None:
 *         chArray = <ccuda.CUarray><void_ptr>0
 *     elif isinstance(hArray, (CUarray,)):             # <<<<<<<<<<<<<<
 *         phArray = int(hArray)
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38359
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     else:
 *         phArray = int(CUarray(hArray))             # <<<<<<<<<<<<<<
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     cdef ccuda.CUsurfref chSurfRef
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), __pyx_v_hArray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phArray = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":38360
 *     else:
 *         phArray = int(CUarray(hArray))
 *         chArray = <ccuda.CUarray><void_ptr>phArray             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUsurfref chSurfRef
 *     if hSurfRef is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phArray); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38360, __pyx_L1_error)
    __pyx_v_chArray = ((CUarray)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":38362
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     cdef ccuda.CUsurfref chSurfRef
 *     if hSurfRef is None:             # <<<<<<<<<<<<<<
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>0
 *     elif isinstance(hSurfRef, (CUsurfref,)):
 */
  __pyx_t_1 = (__pyx_v_hSurfRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38363
 *     cdef ccuda.CUsurfref chSurfRef
 *     if hSurfRef is None:
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hSurfRef, (CUsurfref,)):
 *         phSurfRef = int(hSurfRef)
 */
    __pyx_v_chSurfRef = ((CUsurfref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":38362
 *         chArray = <ccuda.CUarray><void_ptr>phArray
 *     cdef ccuda.CUsurfref chSurfRef
 *     if hSurfRef is None:             # <<<<<<<<<<<<<<
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>0
 *     elif isinstance(hSurfRef, (CUsurfref,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":38364
 *     if hSurfRef is None:
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>0
 *     elif isinstance(hSurfRef, (CUsurfref,)):             # <<<<<<<<<<<<<<
 *         phSurfRef = int(hSurfRef)
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hSurfRef, __pyx_ptype_4cuda_4cuda_CUsurfref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38365
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>0
 *     elif isinstance(hSurfRef, (CUsurfref,)):
 *         phSurfRef = int(hSurfRef)             # <<<<<<<<<<<<<<
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hSurfRef); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phSurfRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":38366
 *     elif isinstance(hSurfRef, (CUsurfref,)):
 *         phSurfRef = int(hSurfRef)
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef             # <<<<<<<<<<<<<<
 *     else:
 *         phSurfRef = int(CUsurfref(hSurfRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phSurfRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38366, __pyx_L1_error)
    __pyx_v_chSurfRef = ((CUsurfref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":38364
 *     if hSurfRef is None:
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>0
 *     elif isinstance(hSurfRef, (CUsurfref,)):             # <<<<<<<<<<<<<<
 *         phSurfRef = int(hSurfRef)
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":38368
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef
 *     else:
 *         phSurfRef = int(CUsurfref(hSurfRef))             # <<<<<<<<<<<<<<
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef
 *     err = ccuda.cuSurfRefSetArray(chSurfRef, chArray, Flags)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUsurfref), __pyx_v_hSurfRef); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phSurfRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":38369
 *     else:
 *         phSurfRef = int(CUsurfref(hSurfRef))
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef             # <<<<<<<<<<<<<<
 *     err = ccuda.cuSurfRefSetArray(chSurfRef, chArray, Flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phSurfRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38369, __pyx_L1_error)
    __pyx_v_chSurfRef = ((CUsurfref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":38370
 *         phSurfRef = int(CUsurfref(hSurfRef))
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef
 *     err = ccuda.cuSurfRefSetArray(chSurfRef, chArray, Flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuSurfRefSetArray(__pyx_v_chSurfRef, __pyx_v_chArray, __pyx_v_Flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38370, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":38371
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef
 *     err = ccuda.cuSurfRefSetArray(chSurfRef, chArray, Flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 38371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 38371, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38321
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38373
 *     return (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_4cuda_779cuSurfRefGetArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_778cuSurfRefGetArray, "cuSurfRefGetArray(hSurfRef)\n Passes back the CUDA array bound to a surface reference.\n\n    [Deprecated]\n\n    Returns in `*phArray` the CUDA array bound to the surface reference\n    `hSurfRef`, or returns :py:obj:`~.CUDA_ERROR_INVALID_VALUE` if the\n    surface reference is not bound to any CUDA array.\n\n    Parameters\n    ----------\n    hSurfRef : :py:obj:`~.CUsurfref`\n        Surface reference handle\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_VALUE`\n    phArray : :py:obj:`~.CUarray`\n        Surface reference handle\n\n    See Also\n    --------\n    :py:obj:`~.cuModuleGetSurfRef`, :py:obj:`~.cuSurfRefSetArray`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_779cuSurfRefGetArray = {"cuSurfRefGetArray", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_779cuSurfRefGetArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_778cuSurfRefGetArray};
static PyObject *__pyx_pw_4cuda_4cuda_779cuSurfRefGetArray(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hSurfRef,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hSurfRef)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38373, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuSurfRefGetArray") < 0)) __PYX_ERR(1, 38373, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hSurfRef = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuSurfRefGetArray", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 38373, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuSurfRefGetArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_778cuSurfRefGetArray(__pyx_self, __pyx_v_hSurfRef);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_778cuSurfRefGetArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hSurfRef) {
  CUsurfref __pyx_v_chSurfRef;
  PyObject *__pyx_v_phSurfRef = NULL;
  struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_phArray = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__890)
  __Pyx_RefNannySetupContext("cuSurfRefGetArray", 1);
  __Pyx_TraceCall("cuSurfRefGetArray", __pyx_f[1], 38373, 0, __PYX_ERR(1, 38373, __pyx_L1_error));

  /* "cuda/cuda.pyx":38400
 *     """
 *     cdef ccuda.CUsurfref chSurfRef
 *     if hSurfRef is None:             # <<<<<<<<<<<<<<
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>0
 *     elif isinstance(hSurfRef, (CUsurfref,)):
 */
  __pyx_t_1 = (__pyx_v_hSurfRef == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38401
 *     cdef ccuda.CUsurfref chSurfRef
 *     if hSurfRef is None:
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hSurfRef, (CUsurfref,)):
 *         phSurfRef = int(hSurfRef)
 */
    __pyx_v_chSurfRef = ((CUsurfref)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":38400
 *     """
 *     cdef ccuda.CUsurfref chSurfRef
 *     if hSurfRef is None:             # <<<<<<<<<<<<<<
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>0
 *     elif isinstance(hSurfRef, (CUsurfref,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38402
 *     if hSurfRef is None:
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>0
 *     elif isinstance(hSurfRef, (CUsurfref,)):             # <<<<<<<<<<<<<<
 *         phSurfRef = int(hSurfRef)
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hSurfRef, __pyx_ptype_4cuda_4cuda_CUsurfref); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38403
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>0
 *     elif isinstance(hSurfRef, (CUsurfref,)):
 *         phSurfRef = int(hSurfRef)             # <<<<<<<<<<<<<<
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hSurfRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phSurfRef = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":38404
 *     elif isinstance(hSurfRef, (CUsurfref,)):
 *         phSurfRef = int(hSurfRef)
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef             # <<<<<<<<<<<<<<
 *     else:
 *         phSurfRef = int(CUsurfref(hSurfRef))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phSurfRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38404, __pyx_L1_error)
    __pyx_v_chSurfRef = ((CUsurfref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":38402
 *     if hSurfRef is None:
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>0
 *     elif isinstance(hSurfRef, (CUsurfref,)):             # <<<<<<<<<<<<<<
 *         phSurfRef = int(hSurfRef)
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38406
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef
 *     else:
 *         phSurfRef = int(CUsurfref(hSurfRef))             # <<<<<<<<<<<<<<
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef
 *     cdef CUarray phArray = CUarray()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUsurfref), __pyx_v_hSurfRef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phSurfRef = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":38407
 *     else:
 *         phSurfRef = int(CUsurfref(hSurfRef))
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef             # <<<<<<<<<<<<<<
 *     cdef CUarray phArray = CUarray()
 *     err = ccuda.cuSurfRefGetArray(<ccuda.CUarray*>phArray._ptr, chSurfRef)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phSurfRef); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38407, __pyx_L1_error)
    __pyx_v_chSurfRef = ((CUsurfref)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":38408
 *         phSurfRef = int(CUsurfref(hSurfRef))
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef
 *     cdef CUarray phArray = CUarray()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuSurfRefGetArray(<ccuda.CUarray*>phArray._ptr, chSurfRef)
 *     return (CUresult(err), phArray)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_phArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":38409
 *         chSurfRef = <ccuda.CUsurfref><void_ptr>phSurfRef
 *     cdef CUarray phArray = CUarray()
 *     err = ccuda.cuSurfRefGetArray(<ccuda.CUarray*>phArray._ptr, chSurfRef)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phArray)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuSurfRefGetArray(((CUarray *)__pyx_v_phArray->_ptr), __pyx_v_chSurfRef); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38409, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":38410
 *     cdef CUarray phArray = CUarray()
 *     err = ccuda.cuSurfRefGetArray(<ccuda.CUarray*>phArray._ptr, chSurfRef)
 *     return (CUresult(err), phArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 38410, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phArray))) __PYX_ERR(1, 38410, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38373
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38412
 *     return (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_4cuda_781cuTexObjectCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_780cuTexObjectCreate, "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 Creates a texture object.\n\n    Creates a texture object and returns it in `pTexObject`. `pResDesc`\n    describes the data to texture from. `pTexDesc` describes how the data\n    should be sampled. `pResViewDesc` is an optional argument that\n    specifies an alternate format for the data described by `pResDesc`, and\n    also describes the subresource region to restrict access to when\n    texturing. `pResViewDesc` can only be specified if the type of resource\n    is a CUDA array or a CUDA mipmapped array.\n\n    Texture objects are only supported on devices of compute capability 3.0\n    or higher. Additionally, a texture object is an opaque value, and, as\n    such, should only be accessed through CUDA API calls.\n\n    The :py:obj:`~.CUDA_RESOURCE_DESC` structure is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where:\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\n    If :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\n    valid CUDA array handle.\n\n    If :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\n    set to a valid CUDA mipmapped array handle.\n\n    If :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\n    valid 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\n    format of each component and the number of components per array\n    element. :py:obj:`~.CUDA_RESOURCE_DESC`::res::linear::sizeInBytes\n    specifies the size of the array in bytes. The total number of elements\n    in the linear address range cannot exceed\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH`. The\n    number of elements is computed as (sizeInBytes / (sizeof(format) *\n    numChannels)).\n\n    If :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\n    valid 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\n    format of each component and the number of components per array\n    element. :py:obj:`~.CUDA_RESOURCE_DESC`::res::pitch2D::width and\n    :py:obj:`~.CUDA_RESOURCE_DESC`::res::pitch2D::height specify the width\n    and 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`\n    respectively.\n    :py:obj:`~.CUDA_RESOURCE_DESC`::res::pitch2D::pitchInBytes specifies\n    the pitch between two rows in bytes and has to be aligned to\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT`. Pitch cannot\n    exceed :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH`.\n\n    - :py:obj:`~.flags` must be set to zero.\n\n    The :py:obj:`~.CUDA_TEXTURE_DESC` struct is defined as\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where\n\n    - :py:obj:`~.CUDA_TEXTURE_DESC.addressMode` specifies the addressing\n      mode for each dimens""ion 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:`~.CU_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\n    The :py:obj:`~.CUDA_RESOURCE_VIEW_DESC` struct is defined as\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    where:\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_RESOURCE_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\n    Parameters\n    ----------\n    pResDesc : :py:obj:`~.CUDA_RESOURCE_DESC`\n        Resource descriptor\n    pTexDesc : :py:obj:`~.CUDA_TEXTURE_DESC`\n        Texture descriptor\n    pResViewDesc : :py:obj:`~.CUDA_RESOURCE_VIEW_DESC`\n        Resource view descriptor\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_VALUE`\n    pTexObject : :py:obj:`~.CUtexObject`\n        Texture object to create\n\n    See Also\n    --------\n    :py:obj:`~.cuTexObjectDestroy`, :py:obj:`~.cudaCreateTextureObject`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_781cuTexObjectCreate = {"cuTexObjectCreate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_781cuTexObjectCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_780cuTexObjectCreate};
static PyObject *__pyx_pw_4cuda_4cuda_781cuTexObjectCreate(PyObject *__pyx_self, 
#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_4cuda_CUDA_RESOURCE_DESC *__pyx_v_pResDesc = 0;
  struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC *__pyx_v_pTexDesc = 0;
  struct __pyx_obj_4cuda_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pResDesc,&__pyx_n_s_pTexDesc,&__pyx_n_s_pResViewDesc,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pResDesc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38412, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pTexDesc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38412, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexObjectCreate", 1, 3, 3, 1); __PYX_ERR(1, 38412, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pResViewDesc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38412, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTexObjectCreate", 1, 3, 3, 2); __PYX_ERR(1, 38412, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexObjectCreate") < 0)) __PYX_ERR(1, 38412, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_pResDesc = ((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC *)values[0]);
    __pyx_v_pTexDesc = ((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC *)values[1]);
    __pyx_v_pResViewDesc = ((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexObjectCreate", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 38412, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC, 1, "pResDesc", 0))) __PYX_ERR(1, 38413, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pTexDesc), __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC, 1, "pTexDesc", 0))) __PYX_ERR(1, 38413, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pResViewDesc), __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC, 1, "pResViewDesc", 0))) __PYX_ERR(1, 38413, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_780cuTexObjectCreate(__pyx_self, __pyx_v_pResDesc, __pyx_v_pTexDesc, __pyx_v_pResViewDesc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_780cuTexObjectCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC *__pyx_v_pResDesc, struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC *__pyx_v_pTexDesc, struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC *__pyx_v_pResViewDesc) {
  struct __pyx_obj_4cuda_4cuda_CUtexObject *__pyx_v_pTexObject = 0;
  CUDA_RESOURCE_DESC *__pyx_v_cpResDesc_ptr;
  CUDA_TEXTURE_DESC *__pyx_v_cpTexDesc_ptr;
  CUDA_RESOURCE_VIEW_DESC *__pyx_v_cpResViewDesc_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct CUDA_RESOURCE_DESC_st *__pyx_t_2;
  int __pyx_t_3;
  struct CUDA_TEXTURE_DESC_st *__pyx_t_4;
  struct CUDA_RESOURCE_VIEW_DESC_st *__pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__891)
  __Pyx_RefNannySetupContext("cuTexObjectCreate", 1);
  __Pyx_TraceCall("cuTexObjectCreate", __pyx_f[1], 38412, 0, __PYX_ERR(1, 38412, __pyx_L1_error));

  /* "cuda/cuda.pyx":38638
 *     :py:obj:`~.cuTexObjectDestroy`, :py:obj:`~.cudaCreateTextureObject`
 *     """
 *     cdef CUtexObject pTexObject = CUtexObject()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_RESOURCE_DESC* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL
 *     cdef ccuda.CUDA_TEXTURE_DESC* cpTexDesc_ptr = pTexDesc._ptr if pTexDesc != None else NULL
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexObject)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 38638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pTexObject = ((struct __pyx_obj_4cuda_4cuda_CUtexObject *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":38639
 *     """
 *     cdef CUtexObject pTexObject = CUtexObject()
 *     cdef ccuda.CUDA_RESOURCE_DESC* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_TEXTURE_DESC* cpTexDesc_ptr = pTexDesc._ptr if pTexDesc != None else NULL
 *     cdef ccuda.CUDA_RESOURCE_VIEW_DESC* cpResViewDesc_ptr = pResViewDesc._ptr if pResViewDesc != None else NULL
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_pResDesc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 38639, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 38639, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_pResDesc->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cpResDesc_ptr = __pyx_t_2;

  /* "cuda/cuda.pyx":38640
 *     cdef CUtexObject pTexObject = CUtexObject()
 *     cdef ccuda.CUDA_RESOURCE_DESC* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL
 *     cdef ccuda.CUDA_TEXTURE_DESC* cpTexDesc_ptr = pTexDesc._ptr if pTexDesc != None else NULL             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_RESOURCE_VIEW_DESC* cpResViewDesc_ptr = pResViewDesc._ptr if pResViewDesc != None else NULL
 *     err = ccuda.cuTexObjectCreate(<ccuda.CUtexObject*>pTexObject._ptr, cpResDesc_ptr, cpTexDesc_ptr, cpResViewDesc_ptr)
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_pTexDesc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 38640, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 38640, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_4 = __pyx_v_pTexDesc->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_4 = NULL;
  }
  __pyx_v_cpTexDesc_ptr = __pyx_t_4;

  /* "cuda/cuda.pyx":38641
 *     cdef ccuda.CUDA_RESOURCE_DESC* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL
 *     cdef ccuda.CUDA_TEXTURE_DESC* cpTexDesc_ptr = pTexDesc._ptr if pTexDesc != None else NULL
 *     cdef ccuda.CUDA_RESOURCE_VIEW_DESC* cpResViewDesc_ptr = pResViewDesc._ptr if pResViewDesc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexObjectCreate(<ccuda.CUtexObject*>pTexObject._ptr, cpResDesc_ptr, cpTexDesc_ptr, cpResViewDesc_ptr)
 *     return (CUresult(err), pTexObject)
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_pResViewDesc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 38641, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 38641, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_5 = __pyx_v_pResViewDesc->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_5 = NULL;
  }
  __pyx_v_cpResViewDesc_ptr = __pyx_t_5;

  /* "cuda/cuda.pyx":38642
 *     cdef ccuda.CUDA_TEXTURE_DESC* cpTexDesc_ptr = pTexDesc._ptr if pTexDesc != None else NULL
 *     cdef ccuda.CUDA_RESOURCE_VIEW_DESC* cpResViewDesc_ptr = pResViewDesc._ptr if pResViewDesc != None else NULL
 *     err = ccuda.cuTexObjectCreate(<ccuda.CUtexObject*>pTexObject._ptr, cpResDesc_ptr, cpTexDesc_ptr, cpResViewDesc_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pTexObject)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuTexObjectCreate(((CUtexObject *)__pyx_v_pTexObject->_ptr), __pyx_v_cpResDesc_ptr, __pyx_v_cpTexDesc_ptr, __pyx_v_cpResViewDesc_ptr); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38642, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":38643
 *     cdef ccuda.CUDA_RESOURCE_VIEW_DESC* cpResViewDesc_ptr = pResViewDesc._ptr if pResViewDesc != None else NULL
 *     err = ccuda.cuTexObjectCreate(<ccuda.CUtexObject*>pTexObject._ptr, cpResDesc_ptr, cpTexDesc_ptr, cpResViewDesc_ptr)
 *     return (CUresult(err), pTexObject)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 38643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 38643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = NULL;
  __pyx_t_10 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_10 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_8};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 38643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 38643, __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)) __PYX_ERR(1, 38643, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pTexObject);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pTexObject);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, ((PyObject *)__pyx_v_pTexObject))) __PYX_ERR(1, 38643, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38412
 *     return (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_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.cuTexObjectCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pTexObject);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38645
 *     return (CUresult(err), pTexObject)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectDestroy(texObject):
 *     """ Destroys a texture object.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_783cuTexObjectDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_782cuTexObjectDestroy, "cuTexObjectDestroy(texObject)\n Destroys a texture object.\n\n    Destroys the texture object specified by `texObject`.\n\n    Parameters\n    ----------\n    texObject : :py:obj:`~.CUtexObject`\n        Texture object to destroy\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuTexObjectCreate`, :py:obj:`~.cudaDestroyTextureObject`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_783cuTexObjectDestroy = {"cuTexObjectDestroy", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_783cuTexObjectDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_782cuTexObjectDestroy};
static PyObject *__pyx_pw_4cuda_4cuda_783cuTexObjectDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_texObject,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_texObject)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38645, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexObjectDestroy") < 0)) __PYX_ERR(1, 38645, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_texObject = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexObjectDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 38645, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexObjectDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_782cuTexObjectDestroy(__pyx_self, __pyx_v_texObject);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_782cuTexObjectDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  CUtexObject __pyx_v_ctexObject;
  PyObject *__pyx_v_ptexObject = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__892)
  __Pyx_RefNannySetupContext("cuTexObjectDestroy", 1);
  __Pyx_TraceCall("cuTexObjectDestroy", __pyx_f[1], 38645, 0, __PYX_ERR(1, 38645, __pyx_L1_error));

  /* "cuda/cuda.pyx":38666
 *     """
 *     cdef ccuda.CUtexObject ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):
 */
  __pyx_t_1 = (__pyx_v_texObject == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38667
 *     cdef ccuda.CUtexObject ctexObject
 *     if texObject is None:
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)
 */
    __pyx_v_ctexObject = ((CUtexObject)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":38666
 *     """
 *     cdef ccuda.CUtexObject ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38668
 *     if texObject is None:
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_texObject, __pyx_ptype_4cuda_4cuda_CUtexObject); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38669
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)             # <<<<<<<<<<<<<<
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_texObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ptexObject = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":38670
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38670, __pyx_L1_error)
    __pyx_v_ctexObject = ((CUtexObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":38668
 *     if texObject is None:
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38672
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     else:
 *         ptexObject = int(CUtexObject(texObject))             # <<<<<<<<<<<<<<
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     err = ccuda.cuTexObjectDestroy(ctexObject)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexObject), __pyx_v_texObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ptexObject = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":38673
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexObjectDestroy(ctexObject)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38673, __pyx_L1_error)
    __pyx_v_ctexObject = ((CUtexObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":38674
 *         ptexObject = int(CUtexObject(texObject))
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     err = ccuda.cuTexObjectDestroy(ctexObject)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexObjectDestroy(__pyx_v_ctexObject); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38674, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":38675
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     err = ccuda.cuTexObjectDestroy(ctexObject)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 38675, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38645
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuTexObjectDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ptexObject);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38677
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetResourceDesc(texObject):
 *     """ Returns a texture object's resource descriptor.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_785cuTexObjectGetResourceDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_784cuTexObjectGetResourceDesc, "cuTexObjectGetResourceDesc(texObject)\n Returns a texture object's resource descriptor.\n\n    Returns the resource descriptor for the texture object specified by\n    `texObject`.\n\n    Parameters\n    ----------\n    texObject : :py:obj:`~.CUtexObject`\n        Texture object\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_VALUE`\n    pResDesc : :py:obj:`~.CUDA_RESOURCE_DESC`\n        Resource descriptor\n\n    See Also\n    --------\n    :py:obj:`~.cuTexObjectCreate`, :py:obj:`~.cudaGetTextureObjectResourceDesc`,\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_785cuTexObjectGetResourceDesc = {"cuTexObjectGetResourceDesc", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_785cuTexObjectGetResourceDesc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_784cuTexObjectGetResourceDesc};
static PyObject *__pyx_pw_4cuda_4cuda_785cuTexObjectGetResourceDesc(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_texObject,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_texObject)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38677, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexObjectGetResourceDesc") < 0)) __PYX_ERR(1, 38677, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_texObject = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexObjectGetResourceDesc", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 38677, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexObjectGetResourceDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_784cuTexObjectGetResourceDesc(__pyx_self, __pyx_v_texObject);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_784cuTexObjectGetResourceDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  CUtexObject __pyx_v_ctexObject;
  PyObject *__pyx_v_ptexObject = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC *__pyx_v_pResDesc = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__893)
  __Pyx_RefNannySetupContext("cuTexObjectGetResourceDesc", 1);
  __Pyx_TraceCall("cuTexObjectGetResourceDesc", __pyx_f[1], 38677, 0, __PYX_ERR(1, 38677, __pyx_L1_error));

  /* "cuda/cuda.pyx":38701
 *     """
 *     cdef ccuda.CUtexObject ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):
 */
  __pyx_t_1 = (__pyx_v_texObject == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38702
 *     cdef ccuda.CUtexObject ctexObject
 *     if texObject is None:
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)
 */
    __pyx_v_ctexObject = ((CUtexObject)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":38701
 *     """
 *     cdef ccuda.CUtexObject ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38703
 *     if texObject is None:
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_texObject, __pyx_ptype_4cuda_4cuda_CUtexObject); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38704
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)             # <<<<<<<<<<<<<<
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_texObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38704, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ptexObject = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":38705
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38705, __pyx_L1_error)
    __pyx_v_ctexObject = ((CUtexObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":38703
 *     if texObject is None:
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38707
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     else:
 *         ptexObject = int(CUtexObject(texObject))             # <<<<<<<<<<<<<<
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexObject), __pyx_v_texObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38707, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38707, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ptexObject = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":38708
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 *     err = ccuda.cuTexObjectGetResourceDesc(<ccuda.CUDA_RESOURCE_DESC*>pResDesc._ptr, ctexObject)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38708, __pyx_L1_error)
    __pyx_v_ctexObject = ((CUtexObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":38709
 *         ptexObject = int(CUtexObject(texObject))
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexObjectGetResourceDesc(<ccuda.CUDA_RESOURCE_DESC*>pResDesc._ptr, ctexObject)
 *     return (CUresult(err), pResDesc)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pResDesc = ((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":38710
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 *     err = ccuda.cuTexObjectGetResourceDesc(<ccuda.CUDA_RESOURCE_DESC*>pResDesc._ptr, ctexObject)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pResDesc)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexObjectGetResourceDesc(((CUDA_RESOURCE_DESC *)__pyx_v_pResDesc->__pyx_base.__pyx_base._ptr), __pyx_v_ctexObject); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38710, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":38711
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 *     err = ccuda.cuTexObjectGetResourceDesc(<ccuda.CUDA_RESOURCE_DESC*>pResDesc._ptr, ctexObject)
 *     return (CUresult(err), pResDesc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38711, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 38711, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pResDesc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pResDesc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pResDesc))) __PYX_ERR(1, 38711, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38677
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38713
 *     return (CUresult(err), pResDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetTextureDesc(texObject):
 *     """ Returns a texture object's texture descriptor.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_787cuTexObjectGetTextureDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_786cuTexObjectGetTextureDesc, "cuTexObjectGetTextureDesc(texObject)\n Returns a texture object's texture descriptor.\n\n    Returns the texture descriptor for the texture object specified by\n    `texObject`.\n\n    Parameters\n    ----------\n    texObject : :py:obj:`~.CUtexObject`\n        Texture object\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_VALUE`\n    pTexDesc : :py:obj:`~.CUDA_TEXTURE_DESC`\n        Texture descriptor\n\n    See Also\n    --------\n    :py:obj:`~.cuTexObjectCreate`, :py:obj:`~.cudaGetTextureObjectTextureDesc`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_787cuTexObjectGetTextureDesc = {"cuTexObjectGetTextureDesc", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_787cuTexObjectGetTextureDesc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_786cuTexObjectGetTextureDesc};
static PyObject *__pyx_pw_4cuda_4cuda_787cuTexObjectGetTextureDesc(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_texObject,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_texObject)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38713, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexObjectGetTextureDesc") < 0)) __PYX_ERR(1, 38713, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_texObject = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexObjectGetTextureDesc", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 38713, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexObjectGetTextureDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_786cuTexObjectGetTextureDesc(__pyx_self, __pyx_v_texObject);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_786cuTexObjectGetTextureDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  CUtexObject __pyx_v_ctexObject;
  PyObject *__pyx_v_ptexObject = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC *__pyx_v_pTexDesc = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__894)
  __Pyx_RefNannySetupContext("cuTexObjectGetTextureDesc", 1);
  __Pyx_TraceCall("cuTexObjectGetTextureDesc", __pyx_f[1], 38713, 0, __PYX_ERR(1, 38713, __pyx_L1_error));

  /* "cuda/cuda.pyx":38737
 *     """
 *     cdef ccuda.CUtexObject ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):
 */
  __pyx_t_1 = (__pyx_v_texObject == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38738
 *     cdef ccuda.CUtexObject ctexObject
 *     if texObject is None:
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)
 */
    __pyx_v_ctexObject = ((CUtexObject)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":38737
 *     """
 *     cdef ccuda.CUtexObject ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38739
 *     if texObject is None:
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_texObject, __pyx_ptype_4cuda_4cuda_CUtexObject); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38740
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)             # <<<<<<<<<<<<<<
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_texObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38740, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ptexObject = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":38741
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38741, __pyx_L1_error)
    __pyx_v_ctexObject = ((CUtexObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":38739
 *     if texObject is None:
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38743
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     else:
 *         ptexObject = int(CUtexObject(texObject))             # <<<<<<<<<<<<<<
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_TEXTURE_DESC pTexDesc = CUDA_TEXTURE_DESC()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexObject), __pyx_v_texObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38743, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ptexObject = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":38744
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     cdef CUDA_TEXTURE_DESC pTexDesc = CUDA_TEXTURE_DESC()
 *     err = ccuda.cuTexObjectGetTextureDesc(<ccuda.CUDA_TEXTURE_DESC*>pTexDesc._ptr, ctexObject)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38744, __pyx_L1_error)
    __pyx_v_ctexObject = ((CUtexObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":38745
 *         ptexObject = int(CUtexObject(texObject))
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_TEXTURE_DESC pTexDesc = CUDA_TEXTURE_DESC()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexObjectGetTextureDesc(<ccuda.CUDA_TEXTURE_DESC*>pTexDesc._ptr, ctexObject)
 *     return (CUresult(err), pTexDesc)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pTexDesc = ((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":38746
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_TEXTURE_DESC pTexDesc = CUDA_TEXTURE_DESC()
 *     err = ccuda.cuTexObjectGetTextureDesc(<ccuda.CUDA_TEXTURE_DESC*>pTexDesc._ptr, ctexObject)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pTexDesc)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexObjectGetTextureDesc(((CUDA_TEXTURE_DESC *)__pyx_v_pTexDesc->__pyx_base.__pyx_base._ptr), __pyx_v_ctexObject); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38746, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":38747
 *     cdef CUDA_TEXTURE_DESC pTexDesc = CUDA_TEXTURE_DESC()
 *     err = ccuda.cuTexObjectGetTextureDesc(<ccuda.CUDA_TEXTURE_DESC*>pTexDesc._ptr, ctexObject)
 *     return (CUresult(err), pTexDesc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38747, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 38747, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pTexDesc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pTexDesc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pTexDesc))) __PYX_ERR(1, 38747, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38713
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38749
 *     return (CUresult(err), pTexDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetResourceViewDesc(texObject):
 *     """ Returns a texture object's resource view descriptor.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_789cuTexObjectGetResourceViewDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_788cuTexObjectGetResourceViewDesc, "cuTexObjectGetResourceViewDesc(texObject)\n Returns a texture object's resource view descriptor.\n\n    Returns the resource view descriptor for the texture object specified\n    by `texObject`. If no resource view was set for `texObject`, the\n    :py:obj:`~.CUDA_ERROR_INVALID_VALUE` is returned.\n\n    Parameters\n    ----------\n    texObject : :py:obj:`~.CUtexObject`\n        Texture object\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_VALUE`\n    pResViewDesc : :py:obj:`~.CUDA_RESOURCE_VIEW_DESC`\n        Resource view descriptor\n\n    See Also\n    --------\n    :py:obj:`~.cuTexObjectCreate`, :py:obj:`~.cudaGetTextureObjectResourceViewDesc`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_789cuTexObjectGetResourceViewDesc = {"cuTexObjectGetResourceViewDesc", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_789cuTexObjectGetResourceViewDesc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_788cuTexObjectGetResourceViewDesc};
static PyObject *__pyx_pw_4cuda_4cuda_789cuTexObjectGetResourceViewDesc(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_texObject,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_texObject)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38749, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTexObjectGetResourceViewDesc") < 0)) __PYX_ERR(1, 38749, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_texObject = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuTexObjectGetResourceViewDesc", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 38749, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuTexObjectGetResourceViewDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_788cuTexObjectGetResourceViewDesc(__pyx_self, __pyx_v_texObject);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_788cuTexObjectGetResourceViewDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_texObject) {
  CUtexObject __pyx_v_ctexObject;
  PyObject *__pyx_v_ptexObject = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC *__pyx_v_pResViewDesc = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__895)
  __Pyx_RefNannySetupContext("cuTexObjectGetResourceViewDesc", 1);
  __Pyx_TraceCall("cuTexObjectGetResourceViewDesc", __pyx_f[1], 38749, 0, __PYX_ERR(1, 38749, __pyx_L1_error));

  /* "cuda/cuda.pyx":38774
 *     """
 *     cdef ccuda.CUtexObject ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):
 */
  __pyx_t_1 = (__pyx_v_texObject == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38775
 *     cdef ccuda.CUtexObject ctexObject
 *     if texObject is None:
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)
 */
    __pyx_v_ctexObject = ((CUtexObject)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":38774
 *     """
 *     cdef ccuda.CUtexObject ctexObject
 *     if texObject is None:             # <<<<<<<<<<<<<<
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38776
 *     if texObject is None:
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_texObject, __pyx_ptype_4cuda_4cuda_CUtexObject); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38777
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)             # <<<<<<<<<<<<<<
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_texObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38777, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ptexObject = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":38778
 *     elif isinstance(texObject, (CUtexObject,)):
 *         ptexObject = int(texObject)
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38778, __pyx_L1_error)
    __pyx_v_ctexObject = ((CUtexObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":38776
 *     if texObject is None:
 *         ctexObject = <ccuda.CUtexObject><void_ptr>0
 *     elif isinstance(texObject, (CUtexObject,)):             # <<<<<<<<<<<<<<
 *         ptexObject = int(texObject)
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38780
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     else:
 *         ptexObject = int(CUtexObject(texObject))             # <<<<<<<<<<<<<<
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_RESOURCE_VIEW_DESC pResViewDesc = CUDA_RESOURCE_VIEW_DESC()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexObject), __pyx_v_texObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ptexObject = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":38781
 *     else:
 *         ptexObject = int(CUtexObject(texObject))
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject             # <<<<<<<<<<<<<<
 *     cdef CUDA_RESOURCE_VIEW_DESC pResViewDesc = CUDA_RESOURCE_VIEW_DESC()
 *     err = ccuda.cuTexObjectGetResourceViewDesc(<ccuda.CUDA_RESOURCE_VIEW_DESC*>pResViewDesc._ptr, ctexObject)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptexObject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38781, __pyx_L1_error)
    __pyx_v_ctexObject = ((CUtexObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":38782
 *         ptexObject = int(CUtexObject(texObject))
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_RESOURCE_VIEW_DESC pResViewDesc = CUDA_RESOURCE_VIEW_DESC()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTexObjectGetResourceViewDesc(<ccuda.CUDA_RESOURCE_VIEW_DESC*>pResViewDesc._ptr, ctexObject)
 *     return (CUresult(err), pResViewDesc)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pResViewDesc = ((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":38783
 *         ctexObject = <ccuda.CUtexObject><void_ptr>ptexObject
 *     cdef CUDA_RESOURCE_VIEW_DESC pResViewDesc = CUDA_RESOURCE_VIEW_DESC()
 *     err = ccuda.cuTexObjectGetResourceViewDesc(<ccuda.CUDA_RESOURCE_VIEW_DESC*>pResViewDesc._ptr, ctexObject)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pResViewDesc)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTexObjectGetResourceViewDesc(((CUDA_RESOURCE_VIEW_DESC *)__pyx_v_pResViewDesc->__pyx_base.__pyx_base._ptr), __pyx_v_ctexObject); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38783, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":38784
 *     cdef CUDA_RESOURCE_VIEW_DESC pResViewDesc = CUDA_RESOURCE_VIEW_DESC()
 *     err = ccuda.cuTexObjectGetResourceViewDesc(<ccuda.CUDA_RESOURCE_VIEW_DESC*>pResViewDesc._ptr, ctexObject)
 *     return (CUresult(err), pResViewDesc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 38784, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pResViewDesc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pResViewDesc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pResViewDesc))) __PYX_ERR(1, 38784, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38749
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38786
 *     return (CUresult(err), pResViewDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectCreate(pResDesc : Optional[CUDA_RESOURCE_DESC]):
 *     """ Creates a surface object.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_791cuSurfObjectCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_790cuSurfObjectCreate, "cuSurfObjectCreate(CUDA_RESOURCE_DESC pResDesc: Optional[CUDA_RESOURCE_DESC])\n Creates a surface object.\n\n    Creates a surface object and returns it in `pSurfObject`. `pResDesc`\n    describes 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\n    valid CUDA array handle. :py:obj:`~.CUDA_RESOURCE_DESC.flags` must be\n    set to zero.\n\n    Surface objects are only supported on devices of compute capability 3.0\n    or higher. Additionally, a surface object is an opaque value, and, as\n    such, should only be accessed through CUDA API calls.\n\n    Parameters\n    ----------\n    pResDesc : :py:obj:`~.CUDA_RESOURCE_DESC`\n        Resource descriptor\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_VALUE`\n    pSurfObject : :py:obj:`~.CUsurfObject`\n        Surface object to create\n\n    See Also\n    --------\n    :py:obj:`~.cuSurfObjectDestroy`, :py:obj:`~.cudaCreateSurfaceObject`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_791cuSurfObjectCreate = {"cuSurfObjectCreate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_791cuSurfObjectCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_790cuSurfObjectCreate};
static PyObject *__pyx_pw_4cuda_4cuda_791cuSurfObjectCreate(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pResDesc,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pResDesc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38786, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuSurfObjectCreate") < 0)) __PYX_ERR(1, 38786, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_pResDesc = ((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuSurfObjectCreate", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 38786, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC, 1, "pResDesc", 0))) __PYX_ERR(1, 38787, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_790cuSurfObjectCreate(__pyx_self, __pyx_v_pResDesc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_790cuSurfObjectCreate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC *__pyx_v_pResDesc) {
  struct __pyx_obj_4cuda_4cuda_CUsurfObject *__pyx_v_pSurfObject = 0;
  CUDA_RESOURCE_DESC *__pyx_v_cpResDesc_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  struct CUDA_RESOURCE_DESC_st *__pyx_t_2;
  int __pyx_t_3;
  CUresult __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__896)
  __Pyx_RefNannySetupContext("cuSurfObjectCreate", 1);
  __Pyx_TraceCall("cuSurfObjectCreate", __pyx_f[1], 38786, 0, __PYX_ERR(1, 38786, __pyx_L1_error));

  /* "cuda/cuda.pyx":38818
 *     :py:obj:`~.cuSurfObjectDestroy`, :py:obj:`~.cudaCreateSurfaceObject`
 *     """
 *     cdef CUsurfObject pSurfObject = CUsurfObject()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_RESOURCE_DESC* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL
 *     err = ccuda.cuSurfObjectCreate(<ccuda.CUsurfObject*>pSurfObject._ptr, cpResDesc_ptr)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUsurfObject)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 38818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pSurfObject = ((struct __pyx_obj_4cuda_4cuda_CUsurfObject *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":38819
 *     """
 *     cdef CUsurfObject pSurfObject = CUsurfObject()
 *     cdef ccuda.CUDA_RESOURCE_DESC* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuSurfObjectCreate(<ccuda.CUsurfObject*>pSurfObject._ptr, cpResDesc_ptr)
 *     return (CUresult(err), pSurfObject)
 */
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_pResDesc), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 38819, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 38819, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {
    __pyx_t_2 = __pyx_v_pResDesc->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_cpResDesc_ptr = __pyx_t_2;

  /* "cuda/cuda.pyx":38820
 *     cdef CUsurfObject pSurfObject = CUsurfObject()
 *     cdef ccuda.CUDA_RESOURCE_DESC* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL
 *     err = ccuda.cuSurfObjectCreate(<ccuda.CUsurfObject*>pSurfObject._ptr, cpResDesc_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pSurfObject)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_5ccuda_cuSurfObjectCreate(((CUsurfObject *)__pyx_v_pSurfObject->_ptr), __pyx_v_cpResDesc_ptr); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38820, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cuda.pyx":38821
 *     cdef ccuda.CUDA_RESOURCE_DESC* cpResDesc_ptr = pResDesc._ptr if pResDesc != None else NULL
 *     err = ccuda.cuSurfObjectCreate(<ccuda.CUsurfObject*>pSurfObject._ptr, cpResDesc_ptr)
 *     return (CUresult(err), pSurfObject)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 38821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 38821, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 38821, __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)) __PYX_ERR(1, 38821, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pSurfObject);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pSurfObject);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_pSurfObject))) __PYX_ERR(1, 38821, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38786
 *     return (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_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuSurfObjectCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pSurfObject);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38823
 *     return (CUresult(err), pSurfObject)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectDestroy(surfObject):
 *     """ Destroys a surface object.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_793cuSurfObjectDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_792cuSurfObjectDestroy, "cuSurfObjectDestroy(surfObject)\n Destroys a surface object.\n\n    Destroys the surface object specified by `surfObject`.\n\n    Parameters\n    ----------\n    surfObject : :py:obj:`~.CUsurfObject`\n        Surface object to destroy\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuSurfObjectCreate`, :py:obj:`~.cudaDestroySurfaceObject`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_793cuSurfObjectDestroy = {"cuSurfObjectDestroy", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_793cuSurfObjectDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_792cuSurfObjectDestroy};
static PyObject *__pyx_pw_4cuda_4cuda_793cuSurfObjectDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_surfObject,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_surfObject)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38823, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuSurfObjectDestroy") < 0)) __PYX_ERR(1, 38823, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_surfObject = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuSurfObjectDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 38823, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuSurfObjectDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_792cuSurfObjectDestroy(__pyx_self, __pyx_v_surfObject);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_792cuSurfObjectDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_surfObject) {
  CUsurfObject __pyx_v_csurfObject;
  PyObject *__pyx_v_psurfObject = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__897)
  __Pyx_RefNannySetupContext("cuSurfObjectDestroy", 1);
  __Pyx_TraceCall("cuSurfObjectDestroy", __pyx_f[1], 38823, 0, __PYX_ERR(1, 38823, __pyx_L1_error));

  /* "cuda/cuda.pyx":38844
 *     """
 *     cdef ccuda.CUsurfObject csurfObject
 *     if surfObject is None:             # <<<<<<<<<<<<<<
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>0
 *     elif isinstance(surfObject, (CUsurfObject,)):
 */
  __pyx_t_1 = (__pyx_v_surfObject == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38845
 *     cdef ccuda.CUsurfObject csurfObject
 *     if surfObject is None:
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(surfObject, (CUsurfObject,)):
 *         psurfObject = int(surfObject)
 */
    __pyx_v_csurfObject = ((CUsurfObject)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":38844
 *     """
 *     cdef ccuda.CUsurfObject csurfObject
 *     if surfObject is None:             # <<<<<<<<<<<<<<
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>0
 *     elif isinstance(surfObject, (CUsurfObject,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38846
 *     if surfObject is None:
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>0
 *     elif isinstance(surfObject, (CUsurfObject,)):             # <<<<<<<<<<<<<<
 *         psurfObject = int(surfObject)
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_surfObject, __pyx_ptype_4cuda_4cuda_CUsurfObject); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38847
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>0
 *     elif isinstance(surfObject, (CUsurfObject,)):
 *         psurfObject = int(surfObject)             # <<<<<<<<<<<<<<
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_surfObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psurfObject = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":38848
 *     elif isinstance(surfObject, (CUsurfObject,)):
 *         psurfObject = int(surfObject)
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject             # <<<<<<<<<<<<<<
 *     else:
 *         psurfObject = int(CUsurfObject(surfObject))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psurfObject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38848, __pyx_L1_error)
    __pyx_v_csurfObject = ((CUsurfObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":38846
 *     if surfObject is None:
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>0
 *     elif isinstance(surfObject, (CUsurfObject,)):             # <<<<<<<<<<<<<<
 *         psurfObject = int(surfObject)
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38850
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject
 *     else:
 *         psurfObject = int(CUsurfObject(surfObject))             # <<<<<<<<<<<<<<
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject
 *     err = ccuda.cuSurfObjectDestroy(csurfObject)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUsurfObject), __pyx_v_surfObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psurfObject = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":38851
 *     else:
 *         psurfObject = int(CUsurfObject(surfObject))
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject             # <<<<<<<<<<<<<<
 *     err = ccuda.cuSurfObjectDestroy(csurfObject)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psurfObject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38851, __pyx_L1_error)
    __pyx_v_csurfObject = ((CUsurfObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":38852
 *         psurfObject = int(CUsurfObject(surfObject))
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject
 *     err = ccuda.cuSurfObjectDestroy(csurfObject)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuSurfObjectDestroy(__pyx_v_csurfObject); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38852, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":38853
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject
 *     err = ccuda.cuSurfObjectDestroy(csurfObject)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38853, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 38853, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38823
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuSurfObjectDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_psurfObject);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38855
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectGetResourceDesc(surfObject):
 *     """ Returns a surface object's resource descriptor.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_795cuSurfObjectGetResourceDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_794cuSurfObjectGetResourceDesc, "cuSurfObjectGetResourceDesc(surfObject)\n Returns a surface object's resource descriptor.\n\n    Returns the resource descriptor for the surface object specified by\n    `surfObject`.\n\n    Parameters\n    ----------\n    surfObject : :py:obj:`~.CUsurfObject`\n        Surface object\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_VALUE`\n    pResDesc : :py:obj:`~.CUDA_RESOURCE_DESC`\n        Resource descriptor\n\n    See Also\n    --------\n    :py:obj:`~.cuSurfObjectCreate`, :py:obj:`~.cudaGetSurfaceObjectResourceDesc`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_795cuSurfObjectGetResourceDesc = {"cuSurfObjectGetResourceDesc", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_795cuSurfObjectGetResourceDesc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_794cuSurfObjectGetResourceDesc};
static PyObject *__pyx_pw_4cuda_4cuda_795cuSurfObjectGetResourceDesc(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_surfObject,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_surfObject)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38855, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuSurfObjectGetResourceDesc") < 0)) __PYX_ERR(1, 38855, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_surfObject = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuSurfObjectGetResourceDesc", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 38855, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuSurfObjectGetResourceDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_794cuSurfObjectGetResourceDesc(__pyx_self, __pyx_v_surfObject);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_794cuSurfObjectGetResourceDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_surfObject) {
  CUsurfObject __pyx_v_csurfObject;
  PyObject *__pyx_v_psurfObject = NULL;
  struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC *__pyx_v_pResDesc = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__898)
  __Pyx_RefNannySetupContext("cuSurfObjectGetResourceDesc", 1);
  __Pyx_TraceCall("cuSurfObjectGetResourceDesc", __pyx_f[1], 38855, 0, __PYX_ERR(1, 38855, __pyx_L1_error));

  /* "cuda/cuda.pyx":38879
 *     """
 *     cdef ccuda.CUsurfObject csurfObject
 *     if surfObject is None:             # <<<<<<<<<<<<<<
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>0
 *     elif isinstance(surfObject, (CUsurfObject,)):
 */
  __pyx_t_1 = (__pyx_v_surfObject == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38880
 *     cdef ccuda.CUsurfObject csurfObject
 *     if surfObject is None:
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(surfObject, (CUsurfObject,)):
 *         psurfObject = int(surfObject)
 */
    __pyx_v_csurfObject = ((CUsurfObject)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":38879
 *     """
 *     cdef ccuda.CUsurfObject csurfObject
 *     if surfObject is None:             # <<<<<<<<<<<<<<
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>0
 *     elif isinstance(surfObject, (CUsurfObject,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38881
 *     if surfObject is None:
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>0
 *     elif isinstance(surfObject, (CUsurfObject,)):             # <<<<<<<<<<<<<<
 *         psurfObject = int(surfObject)
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_surfObject, __pyx_ptype_4cuda_4cuda_CUsurfObject); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":38882
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>0
 *     elif isinstance(surfObject, (CUsurfObject,)):
 *         psurfObject = int(surfObject)             # <<<<<<<<<<<<<<
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_surfObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38882, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_psurfObject = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":38883
 *     elif isinstance(surfObject, (CUsurfObject,)):
 *         psurfObject = int(surfObject)
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject             # <<<<<<<<<<<<<<
 *     else:
 *         psurfObject = int(CUsurfObject(surfObject))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psurfObject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38883, __pyx_L1_error)
    __pyx_v_csurfObject = ((CUsurfObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":38881
 *     if surfObject is None:
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>0
 *     elif isinstance(surfObject, (CUsurfObject,)):             # <<<<<<<<<<<<<<
 *         psurfObject = int(surfObject)
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":38885
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject
 *     else:
 *         psurfObject = int(CUsurfObject(surfObject))             # <<<<<<<<<<<<<<
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUsurfObject), __pyx_v_surfObject); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38885, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38885, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_psurfObject = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":38886
 *     else:
 *         psurfObject = int(CUsurfObject(surfObject))
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject             # <<<<<<<<<<<<<<
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 *     err = ccuda.cuSurfObjectGetResourceDesc(<ccuda.CUDA_RESOURCE_DESC*>pResDesc._ptr, csurfObject)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_psurfObject); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 38886, __pyx_L1_error)
    __pyx_v_csurfObject = ((CUsurfObject)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":38887
 *         psurfObject = int(CUsurfObject(surfObject))
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuSurfObjectGetResourceDesc(<ccuda.CUDA_RESOURCE_DESC*>pResDesc._ptr, csurfObject)
 *     return (CUresult(err), pResDesc)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pResDesc = ((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":38888
 *         csurfObject = <ccuda.CUsurfObject><void_ptr>psurfObject
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 *     err = ccuda.cuSurfObjectGetResourceDesc(<ccuda.CUDA_RESOURCE_DESC*>pResDesc._ptr, csurfObject)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pResDesc)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuSurfObjectGetResourceDesc(((CUDA_RESOURCE_DESC *)__pyx_v_pResDesc->__pyx_base.__pyx_base._ptr), __pyx_v_csurfObject); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 38888, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":38889
 *     cdef CUDA_RESOURCE_DESC pResDesc = CUDA_RESOURCE_DESC()
 *     err = ccuda.cuSurfObjectGetResourceDesc(<ccuda.CUDA_RESOURCE_DESC*>pResDesc._ptr, csurfObject)
 *     return (CUresult(err), pResDesc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 38889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 38889, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 38889, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pResDesc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pResDesc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pResDesc))) __PYX_ERR(1, 38889, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38855
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38891
 *     return (CUresult(err), pResDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeTiled(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[List[cuuint64_t]], globalStrides : Optional[List[cuuint64_t]], boxDim : Optional[List[cuuint32_t]], elementStrides : Optional[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_4cuda_797cuTensorMapEncodeTiled(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_796cuTensorMapEncodeTiled, "cuTensorMapEncodeTiled(tensorDataType: CUtensorMapDataType, tensorRank, globalAddress, list globalDim: Optional[List[cuuint64_t]], list globalStrides: Optional[List[cuuint64_t]], list boxDim: Optional[List[cuuint32_t]], list elementStrides: Optional[List[cuuint32_t]], interleave: CUtensorMapInterleave, swizzle: CUtensorMapSwizzle, l2Promotion: CUtensorMapL2promotion, oobFill: CUtensorMapFloatOOBfill)\n Create a tensor map descriptor object representing tiled memory region.\n\n    Creates a descriptor for Tensor Memory Access (TMA) object specified by\n    the parameters describing a tiled region and returns it in `tensorMap`.\n\n    Tensor map objects are only supported on devices of compute capability\n    9.0 or higher. Additionally, a tensor map object is an opaque value,\n    and, as such, should only be accessed through CUDA API calls.\n\n    The 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    - `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 specifies the starting address of the memory\n      region described, must be 32 byte aligned when `interleave` is\n      :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_32B` and 16 byte aligned\n      otherwise.\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.\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. Addition""ally, the stride must be a multiple of 32\n      when `interleave` is :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_32B`. Each\n      following dimension specified includes 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\n      along each of the `tensorRank` dimensions, must be non-zero and less\n      than or equal to 256. When `interleave` is\n      :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_NONE`, { `boxDim`[0] *\n      elementSizeInBytes( `tensorDataType` ) } must be a multiple of 16\n      bytes.\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 `elementStrides` array is one, `boxDim`\n      specifies 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\n      dimension. To load N elements along i-th dimension, `boxDim`[i] must\n      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 `boxDim`[0] multiplied by element size derived\n      from `tensor""DataType`) must be less than or equal to the swizzle\n      size.\n\n      - CU_TENSOR_MAP_SWIZZLE_32B implies the bounding box inner dimension\n        will be <= 32.\n\n      - CU_TENSOR_MAP_SWIZZLE_64B implies the bounding box inner dimension\n        will be <= 64.\n\n      - CU_TENSOR_MAP_SWIZZLE_128B implies the bounding box inner dimension\n        will be <= 128.\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.\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    - 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.\n\n    Parameters\n    ----------\n    tensorDataType : :py:obj:`~"".CUtensorMapDataType`\n        Tensor data type\n    tensorRank : Any\n        Dimensionality of tensor\n    globalAddress : Any\n        Starting address of memory region described by tensor\n    globalDim : List[:py:obj:`~.cuuint64_t`]\n        Array containing tensor size (number of elements) along each of the\n        `tensorRank` dimensions\n    globalStrides : List[:py:obj:`~.cuuint64_t`]\n        Array containing stride size (in bytes) along each of the\n        `tensorRank` - 1 dimensions\n    boxDim : 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.\n    elementStrides : List[:py:obj:`~.cuuint32_t`]\n        Array containing traversal stride in each of the `tensorRank`\n        dimensions\n    interleave : :py:obj:`~.CUtensorMapInterleave`\n        Type of interleaved layout the tensor addresses\n    swizzle : :py:obj:`~.CUtensorMapSwizzle`\n        Bank swizzling pattern inside shared memory\n    l2Promotion : :py:obj:`~.CUtensorMapL2promotion`\n        L2 promotion size\n    oobFill : :py:obj:`~.CUtensorMapFloatOOBfill`\n        Indicate whether zero or special NaN constant must be used to fill\n        out-of-bound elements\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_VALUE`\n    tensorMap : :py:obj:`~.CUtensorMap`\n        Tensor map object to create\n\n    See Also\n    --------\n    :py:obj:`~.cuTensorMapEncodeIm2col`, :py:obj:`~.cuTensorMapReplaceAddress`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_797cuTensorMapEncodeTiled = {"cuTensorMapEncodeTiled", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_797cuTensorMapEncodeTiled, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_796cuTensorMapEncodeTiled};
static PyObject *__pyx_pw_4cuda_4cuda_797cuTensorMapEncodeTiled(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_tensorDataType,&__pyx_n_s_tensorRank,&__pyx_n_s_globalAddress,&__pyx_n_s_globalDim,&__pyx_n_s_globalStrides,&__pyx_n_s_boxDim,&__pyx_n_s_elementStrides,&__pyx_n_s_interleave,&__pyx_n_s_swizzle,&__pyx_n_s_l2Promotion,&__pyx_n_s_oobFill,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case 11: values[10] = __Pyx_Arg_FASTCALL(__pyx_args, 10);
        CYTHON_FALLTHROUGH;
        case 10: values[9] = __Pyx_Arg_FASTCALL(__pyx_args, 9);
        CYTHON_FALLTHROUGH;
        case  9: values[8] = __Pyx_Arg_FASTCALL(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_tensorDataType)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38891, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_tensorRank)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38891, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeTiled", 1, 11, 11, 1); __PYX_ERR(1, 38891, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_globalAddress)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38891, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeTiled", 1, 11, 11, 2); __PYX_ERR(1, 38891, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_globalDim)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38891, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeTiled", 1, 11, 11, 3); __PYX_ERR(1, 38891, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_globalStrides)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38891, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeTiled", 1, 11, 11, 4); __PYX_ERR(1, 38891, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_boxDim)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[5]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38891, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeTiled", 1, 11, 11, 5); __PYX_ERR(1, 38891, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_elementStrides)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[6]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38891, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeTiled", 1, 11, 11, 6); __PYX_ERR(1, 38891, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_interleave)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[7]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38891, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeTiled", 1, 11, 11, 7); __PYX_ERR(1, 38891, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_swizzle)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[8]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38891, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeTiled", 1, 11, 11, 8); __PYX_ERR(1, 38891, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  9:
        if (likely((values[9] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_l2Promotion)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[9]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38891, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeTiled", 1, 11, 11, 9); __PYX_ERR(1, 38891, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case 10:
        if (likely((values[10] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_oobFill)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[10]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 38891, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeTiled", 1, 11, 11, 10); __PYX_ERR(1, 38891, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTensorMapEncodeTiled") < 0)) __PYX_ERR(1, 38891, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 11)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
      values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
      values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
      values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7);
      values[8] = __Pyx_Arg_FASTCALL(__pyx_args, 8);
      values[9] = __Pyx_Arg_FASTCALL(__pyx_args, 9);
      values[10] = __Pyx_Arg_FASTCALL(__pyx_args, 10);
    }
    __pyx_v_tensorDataType = values[0];
    __pyx_v_tensorRank = values[1];
    __pyx_v_globalAddress = values[2];
    __pyx_v_globalDim = ((PyObject*)values[3]);
    __pyx_v_globalStrides = ((PyObject*)values[4]);
    __pyx_v_boxDim = ((PyObject*)values[5]);
    __pyx_v_elementStrides = ((PyObject*)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(1, 38891, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 38892, __pyx_L1_error)
  }
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_globalDim), (&PyList_Type), 1, "globalDim", 1))) __PYX_ERR(1, 38892, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_globalStrides), (&PyList_Type), 1, "globalStrides", 1))) __PYX_ERR(1, 38892, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_boxDim), (&PyList_Type), 1, "boxDim", 1))) __PYX_ERR(1, 38892, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_elementStrides), (&PyList_Type), 1, "elementStrides", 1))) __PYX_ERR(1, 38892, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_interleave) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "interleave"); __PYX_ERR(1, 38892, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_swizzle) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "swizzle"); __PYX_ERR(1, 38892, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_l2Promotion) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "l2Promotion"); __PYX_ERR(1, 38892, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_oobFill) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "oobFill"); __PYX_ERR(1, 38892, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_796cuTensorMapEncodeTiled(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_22cuTensorMapEncodeTiled_2generator52(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":39050
 *     """
 *     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 List[ccuda.cuuint32_t,]")
 *     boxDim = [] if boxDim is None else boxDim
 */

static PyObject *__pyx_pf_4cuda_4cuda_22cuTensorMapEncodeTiled_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_52_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_52_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_52_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_52_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 39050, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_22cuTensorMapEncodeTiled_2generator52, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuTensorMapEncodeTiled_locals_ge, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 39050, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_22cuTensorMapEncodeTiled_2generator52(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_52_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_52_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 39050, 0, __PYX_ERR(1, 39050, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 39050, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 39050, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 39050, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 39050, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 39050, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_cuuint32_t); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_22cuTensorMapEncodeTiled_5generator53(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":39053
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint32_t,]")
 *     globalStrides = [] if globalStrides is None else globalStrides
 */

static PyObject *__pyx_pf_4cuda_4cuda_22cuTensorMapEncodeTiled_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_53_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_53_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_53_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_53_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 39053, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_22cuTensorMapEncodeTiled_5generator53, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuTensorMapEncodeTiled_locals_ge, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 39053, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_22cuTensorMapEncodeTiled_5generator53(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_53_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_53_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 39053, 0, __PYX_ERR(1, 39053, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 39053, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 39053, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 39053, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 39053, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 39053, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_cuuint32_t); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_22cuTensorMapEncodeTiled_8generator54(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":39056
 *         raise TypeError("Argument 'boxDim' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 */

static PyObject *__pyx_pf_4cuda_4cuda_22cuTensorMapEncodeTiled_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_54_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_54_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_54_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_54_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 39056, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_22cuTensorMapEncodeTiled_8generator54, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuTensorMapEncodeTiled_locals_ge, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 39056, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_22cuTensorMapEncodeTiled_8generator54(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_54_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_54_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 39056, 0, __PYX_ERR(1, 39056, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 39056, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 39056, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 39056, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 39056, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 39056, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_cuuint64_t); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_22cuTensorMapEncodeTiled_11generator55(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":39059
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 *     cdef ccuda.cuuint32_t ctensorRank
 */

static PyObject *__pyx_pf_4cuda_4cuda_22cuTensorMapEncodeTiled_9genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_55_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_55_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_55_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_55_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 39059, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_22cuTensorMapEncodeTiled_11generator55, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuTensorMapEncodeTiled_locals_ge, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 39059, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_22cuTensorMapEncodeTiled_11generator55(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_55_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_55_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 39059, 0, __PYX_ERR(1, 39059, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 39059, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 39059, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 39059, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 39059, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 39059, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39059, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_cuuint64_t); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":38891
 *     return (CUresult(err), pResDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeTiled(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[List[cuuint64_t]], globalStrides : Optional[List[cuuint64_t]], boxDim : Optional[List[cuuint32_t]], elementStrides : Optional[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_4cuda_796cuTensorMapEncodeTiled(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_ctensorRank;
  PyObject *__pyx_v_ptensorRank = NULL;
  struct __pyx_obj_4cuda_4cuda_CUtensorMap *__pyx_v_tensorMap = 0;
  CUtensorMapDataType __pyx_v_ctensorDataType;
  PyObject *__pyx_v_cglobalAddress = NULL;
  void *__pyx_v_cglobalAddress_ptr;
  cuuint64_t *__pyx_v_cglobalDim;
  Py_ssize_t __pyx_v_idx;
  cuuint64_t *__pyx_v_cglobalStrides;
  cuuint32_t *__pyx_v_cboxDim;
  cuuint32_t *__pyx_v_celementStrides;
  CUtensorMapInterleave __pyx_v_cinterleave;
  CUtensorMapSwizzle __pyx_v_cswizzle;
  CUtensorMapL2promotion __pyx_v_cl2Promotion;
  CUtensorMapFloatOOBfill __pyx_v_coobFill;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_22cuTensorMapEncodeTiled_2generator52 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_22cuTensorMapEncodeTiled_5generator53 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_22cuTensorMapEncodeTiled_8generator54 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_22cuTensorMapEncodeTiled_11generator55 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  CUtensorMapDataType __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  Py_ssize_t __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  CUtensorMapInterleave __pyx_t_11;
  CUtensorMapSwizzle __pyx_t_12;
  CUtensorMapL2promotion __pyx_t_13;
  CUtensorMapFloatOOBfill __pyx_t_14;
  cuuint64_t *__pyx_t_15;
  cuuint64_t *__pyx_t_16;
  cuuint32_t *__pyx_t_17;
  cuuint32_t *__pyx_t_18;
  CUresult __pyx_t_19;
  PyObject *__pyx_t_20 = NULL;
  int __pyx_t_21;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__899)
  __Pyx_RefNannySetupContext("cuTensorMapEncodeTiled", 0);
  __Pyx_TraceCall("cuTensorMapEncodeTiled", __pyx_f[1], 38891, 0, __PYX_ERR(1, 38891, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_globalDim);
  __Pyx_INCREF(__pyx_v_globalStrides);
  __Pyx_INCREF(__pyx_v_boxDim);
  __Pyx_INCREF(__pyx_v_elementStrides);

  /* "cuda/cuda.pyx":39049
 *     :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 List[ccuda.cuuint32_t,]")
 */
  __pyx_t_2 = (__pyx_v_elementStrides == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39049, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":39050
 *     """
 *     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 List[ccuda.cuuint32_t,]")
 *     boxDim = [] if boxDim is None else boxDim
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_22cuTensorMapEncodeTiled_genexpr(NULL, __pyx_v_elementStrides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39050, __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(1, 39050, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":39051
 *     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 List[ccuda.cuuint32_t,]")             # <<<<<<<<<<<<<<
 *     boxDim = [] if boxDim is None else boxDim
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in boxDim):
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__900, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39051, __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(1, 39051, __pyx_L1_error)

    /* "cuda/cuda.pyx":39050
 *     """
 *     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 List[ccuda.cuuint32_t,]")
 *     boxDim = [] if boxDim is None else boxDim
 */
  }

  /* "cuda/cuda.pyx":39052
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in elementStrides):
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint32_t,]")
 */
  __pyx_t_4 = (__pyx_v_boxDim == ((PyObject*)Py_None));
  if (__pyx_t_4) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39052, __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, ((PyObject*)__pyx_t_3));
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":39053
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint32_t,]")
 *     globalStrides = [] if globalStrides is None else globalStrides
 */
  __pyx_t_3 = __pyx_pf_4cuda_4cuda_22cuTensorMapEncodeTiled_3genexpr(NULL, __pyx_v_boxDim); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39053, __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(1, 39053, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":39054
 *     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 List[ccuda.cuuint32_t,]")             # <<<<<<<<<<<<<<
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__901, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39054, __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, 39054, __pyx_L1_error)

    /* "cuda/cuda.pyx":39053
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint32_t,]")
 *     globalStrides = [] if globalStrides is None else globalStrides
 */
  }

  /* "cuda/cuda.pyx":39055
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in boxDim):
 *         raise TypeError("Argument 'boxDim' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 */
  __pyx_t_2 = (__pyx_v_globalStrides == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39055, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":39056
 *         raise TypeError("Argument 'boxDim' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_22cuTensorMapEncodeTiled_6genexpr(NULL, __pyx_v_globalStrides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39056, __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(1, 39056, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":39057
 *     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 List[ccuda.cuuint64_t,]")             # <<<<<<<<<<<<<<
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__902, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39057, __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(1, 39057, __pyx_L1_error)

    /* "cuda/cuda.pyx":39056
 *         raise TypeError("Argument 'boxDim' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 */
  }

  /* "cuda/cuda.pyx":39058
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 */
  __pyx_t_4 = (__pyx_v_globalDim == ((PyObject*)Py_None));
  if (__pyx_t_4) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39058, __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, ((PyObject*)__pyx_t_3));
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":39059
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 *     cdef ccuda.cuuint32_t ctensorRank
 */
  __pyx_t_3 = __pyx_pf_4cuda_4cuda_22cuTensorMapEncodeTiled_9genexpr(NULL, __pyx_v_globalDim); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39059, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39059, __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(1, 39059, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":39060
 *     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 List[ccuda.cuuint64_t,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.cuuint32_t ctensorRank
 *     if tensorRank is None:
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__903, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39060, __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, 39060, __pyx_L1_error)

    /* "cuda/cuda.pyx":39059
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 *     cdef ccuda.cuuint32_t ctensorRank
 */
  }

  /* "cuda/cuda.pyx":39062
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected List[ccuda.cuuint64_t,]")
 *     cdef ccuda.cuuint32_t ctensorRank
 *     if tensorRank is None:             # <<<<<<<<<<<<<<
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(tensorRank, (cuuint32_t,)):
 */
  __pyx_t_2 = (__pyx_v_tensorRank == Py_None);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":39063
 *     cdef ccuda.cuuint32_t ctensorRank
 *     if tensorRank is None:
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(tensorRank, (cuuint32_t,)):
 *         ptensorRank = int(tensorRank)
 */
    __pyx_v_ctensorRank = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":39062
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected List[ccuda.cuuint64_t,]")
 *     cdef ccuda.cuuint32_t ctensorRank
 *     if tensorRank is None:             # <<<<<<<<<<<<<<
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(tensorRank, (cuuint32_t,)):
 */
    goto __pyx_L7;
  }

  /* "cuda/cuda.pyx":39064
 *     if tensorRank is None:
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(tensorRank, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ptensorRank = int(tensorRank)
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank
 */
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_tensorRank, __pyx_ptype_4cuda_4cuda_cuuint32_t); 
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":39065
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(tensorRank, (cuuint32_t,)):
 *         ptensorRank = int(tensorRank)             # <<<<<<<<<<<<<<
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank
 *     else:
 */
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_v_tensorRank); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39065, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_ptensorRank = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":39066
 *     elif isinstance(tensorRank, (cuuint32_t,)):
 *         ptensorRank = int(tensorRank)
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank             # <<<<<<<<<<<<<<
 *     else:
 *         ptensorRank = int(cuuint32_t(tensorRank))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptensorRank); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39066, __pyx_L1_error)
    __pyx_v_ctensorRank = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":39064
 *     if tensorRank is None:
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(tensorRank, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ptensorRank = int(tensorRank)
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank
 */
    goto __pyx_L7;
  }

  /* "cuda/cuda.pyx":39068
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank
 *     else:
 *         ptensorRank = int(cuuint32_t(tensorRank))             # <<<<<<<<<<<<<<
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank
 *     cdef CUtensorMap tensorMap = CUtensorMap()
 */
  /*else*/ {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint32_t), __pyx_v_tensorRank); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39068, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39068, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_ptensorRank = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":39069
 *     else:
 *         ptensorRank = int(cuuint32_t(tensorRank))
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank             # <<<<<<<<<<<<<<
 *     cdef CUtensorMap tensorMap = CUtensorMap()
 *     cdef ccuda.CUtensorMapDataType ctensorDataType = tensorDataType.value
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptensorRank); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39069, __pyx_L1_error)
    __pyx_v_ctensorRank = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L7:;

  /* "cuda/cuda.pyx":39070
 *         ptensorRank = int(cuuint32_t(tensorRank))
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank
 *     cdef CUtensorMap tensorMap = CUtensorMap()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUtensorMapDataType ctensorDataType = tensorDataType.value
 *     cglobalAddress = utils.HelperInputVoidPtr(globalAddress)
 */
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtensorMap)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_tensorMap = ((struct __pyx_obj_4cuda_4cuda_CUtensorMap *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":39071
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank
 *     cdef CUtensorMap tensorMap = CUtensorMap()
 *     cdef ccuda.CUtensorMapDataType ctensorDataType = tensorDataType.value             # <<<<<<<<<<<<<<
 *     cglobalAddress = utils.HelperInputVoidPtr(globalAddress)
 *     cdef void* cglobalAddress_ptr = <void*><void_ptr>cglobalAddress.cptr
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_tensorDataType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39071, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = ((enum CUtensorMapDataType_enum)__Pyx_PyInt_As_enum__CUtensorMapDataType_enum(__pyx_t_3)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39071, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_ctensorDataType = __pyx_t_6;

  /* "cuda/cuda.pyx":39072
 *     cdef CUtensorMap tensorMap = CUtensorMap()
 *     cdef ccuda.CUtensorMapDataType ctensorDataType = tensorDataType.value
 *     cglobalAddress = utils.HelperInputVoidPtr(globalAddress)             # <<<<<<<<<<<<<<
 *     cdef void* cglobalAddress_ptr = <void*><void_ptr>cglobalAddress.cptr
 *     cdef ccuda.cuuint64_t* cglobalDim = NULL
 */
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_globalAddress); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_cglobalAddress = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":39073
 *     cdef ccuda.CUtensorMapDataType ctensorDataType = tensorDataType.value
 *     cglobalAddress = utils.HelperInputVoidPtr(globalAddress)
 *     cdef void* cglobalAddress_ptr = <void*><void_ptr>cglobalAddress.cptr             # <<<<<<<<<<<<<<
 *     cdef ccuda.cuuint64_t* cglobalDim = NULL
 *     if len(globalDim) > 0:
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_cglobalAddress, __pyx_n_s_cptr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_3); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39073, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cglobalAddress_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

  /* "cuda/cuda.pyx":39074
 *     cglobalAddress = utils.HelperInputVoidPtr(globalAddress)
 *     cdef void* cglobalAddress_ptr = <void*><void_ptr>cglobalAddress.cptr
 *     cdef ccuda.cuuint64_t* cglobalDim = NULL             # <<<<<<<<<<<<<<
 *     if len(globalDim) > 0:
 *         cglobalDim = <ccuda.cuuint64_t*> calloc(len(globalDim), sizeof(ccuda.cuuint64_t))
 */
  __pyx_v_cglobalDim = NULL;

  /* "cuda/cuda.pyx":39075
 *     cdef void* cglobalAddress_ptr = <void*><void_ptr>cglobalAddress.cptr
 *     cdef ccuda.cuuint64_t* cglobalDim = NULL
 *     if len(globalDim) > 0:             # <<<<<<<<<<<<<<
 *         cglobalDim = <ccuda.cuuint64_t*> calloc(len(globalDim), sizeof(ccuda.cuuint64_t))
 *         if cglobalDim is NULL:
 */
  if (unlikely(__pyx_v_globalDim == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 39075, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalDim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39075, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":39076
 *     cdef ccuda.cuuint64_t* cglobalDim = NULL
 *     if len(globalDim) > 0:
 *         cglobalDim = <ccuda.cuuint64_t*> calloc(len(globalDim), sizeof(ccuda.cuuint64_t))             # <<<<<<<<<<<<<<
 *         if cglobalDim is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(ccuda.cuuint64_t)))
 */
    if (unlikely(__pyx_v_globalDim == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 39076, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalDim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39076, __pyx_L1_error)
    __pyx_v_cglobalDim = ((cuuint64_t *)calloc(__pyx_t_7, (sizeof(cuuint64_t))));

    /* "cuda/cuda.pyx":39077
 *     if len(globalDim) > 0:
 *         cglobalDim = <ccuda.cuuint64_t*> calloc(len(globalDim), sizeof(ccuda.cuuint64_t))
 *         if cglobalDim is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(ccuda.cuuint64_t)))
 *         else:
 */
    __pyx_t_2 = (__pyx_v_cglobalDim == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cuda.pyx":39078
 *         cglobalDim = <ccuda.cuuint64_t*> calloc(len(globalDim), sizeof(ccuda.cuuint64_t))
 *         if cglobalDim is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(ccuda.cuuint64_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(globalDim)):
 */
      if (unlikely(__pyx_v_globalDim == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 39078, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalDim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39078, __pyx_L1_error)
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39078, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39078, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39078, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39078, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(cuuint64_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39078, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39078, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39078, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39078, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(1, 39078, __pyx_L1_error)

      /* "cuda/cuda.pyx":39077
 *     if len(globalDim) > 0:
 *         cglobalDim = <ccuda.cuuint64_t*> calloc(len(globalDim), sizeof(ccuda.cuuint64_t))
 *         if cglobalDim is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(ccuda.cuuint64_t)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":39080
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(ccuda.cuuint64_t)))
 *         else:
 *             for idx in range(len(globalDim)):             # <<<<<<<<<<<<<<
 *                 cglobalDim[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalDim[idx])._ptr[0]
 *     cdef ccuda.cuuint64_t* cglobalStrides = NULL
 */
    /*else*/ {
      if (unlikely(__pyx_v_globalDim == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 39080, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalDim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39080, __pyx_L1_error)
      __pyx_t_9 = __pyx_t_7;
      for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
        __pyx_v_idx = __pyx_t_10;

        /* "cuda/cuda.pyx":39081
 *         else:
 *             for idx in range(len(globalDim)):
 *                 cglobalDim[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalDim[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef ccuda.cuuint64_t* cglobalStrides = NULL
 *     if len(globalStrides) > 0:
 */
        if (unlikely(__pyx_v_globalDim == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 39081, __pyx_L1_error)
        }
        __pyx_t_8 = __Pyx_GetItemInt_List(__pyx_v_globalDim, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39081, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cglobalDim[__pyx_v_idx]) = ((cuuint64_t)(((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_t_8)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cuda.pyx":39075
 *     cdef void* cglobalAddress_ptr = <void*><void_ptr>cglobalAddress.cptr
 *     cdef ccuda.cuuint64_t* cglobalDim = NULL
 *     if len(globalDim) > 0:             # <<<<<<<<<<<<<<
 *         cglobalDim = <ccuda.cuuint64_t*> calloc(len(globalDim), sizeof(ccuda.cuuint64_t))
 *         if cglobalDim is NULL:
 */
  }

  /* "cuda/cuda.pyx":39082
 *             for idx in range(len(globalDim)):
 *                 cglobalDim[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalDim[idx])._ptr[0]
 *     cdef ccuda.cuuint64_t* cglobalStrides = NULL             # <<<<<<<<<<<<<<
 *     if len(globalStrides) > 0:
 *         cglobalStrides = <ccuda.cuuint64_t*> calloc(len(globalStrides), sizeof(ccuda.cuuint64_t))
 */
  __pyx_v_cglobalStrides = NULL;

  /* "cuda/cuda.pyx":39083
 *                 cglobalDim[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalDim[idx])._ptr[0]
 *     cdef ccuda.cuuint64_t* cglobalStrides = NULL
 *     if len(globalStrides) > 0:             # <<<<<<<<<<<<<<
 *         cglobalStrides = <ccuda.cuuint64_t*> calloc(len(globalStrides), sizeof(ccuda.cuuint64_t))
 *         if cglobalStrides is NULL:
 */
  if (unlikely(__pyx_v_globalStrides == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 39083, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39083, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":39084
 *     cdef ccuda.cuuint64_t* cglobalStrides = NULL
 *     if len(globalStrides) > 0:
 *         cglobalStrides = <ccuda.cuuint64_t*> calloc(len(globalStrides), sizeof(ccuda.cuuint64_t))             # <<<<<<<<<<<<<<
 *         if cglobalStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(ccuda.cuuint64_t)))
 */
    if (unlikely(__pyx_v_globalStrides == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 39084, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39084, __pyx_L1_error)
    __pyx_v_cglobalStrides = ((cuuint64_t *)calloc(__pyx_t_7, (sizeof(cuuint64_t))));

    /* "cuda/cuda.pyx":39085
 *     if len(globalStrides) > 0:
 *         cglobalStrides = <ccuda.cuuint64_t*> calloc(len(globalStrides), sizeof(ccuda.cuuint64_t))
 *         if cglobalStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(ccuda.cuuint64_t)))
 *         else:
 */
    __pyx_t_2 = (__pyx_v_cglobalStrides == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cuda.pyx":39086
 *         cglobalStrides = <ccuda.cuuint64_t*> calloc(len(globalStrides), sizeof(ccuda.cuuint64_t))
 *         if cglobalStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(ccuda.cuuint64_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(globalStrides)):
 */
      if (unlikely(__pyx_v_globalStrides == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 39086, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39086, __pyx_L1_error)
      __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39086, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39086, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39086, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39086, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyInt_FromSize_t((sizeof(cuuint64_t))); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39086, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39086, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39086, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39086, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(1, 39086, __pyx_L1_error)

      /* "cuda/cuda.pyx":39085
 *     if len(globalStrides) > 0:
 *         cglobalStrides = <ccuda.cuuint64_t*> calloc(len(globalStrides), sizeof(ccuda.cuuint64_t))
 *         if cglobalStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(ccuda.cuuint64_t)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":39088
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(ccuda.cuuint64_t)))
 *         else:
 *             for idx in range(len(globalStrides)):             # <<<<<<<<<<<<<<
 *                 cglobalStrides[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalStrides[idx])._ptr[0]
 *     cdef ccuda.cuuint32_t* cboxDim = NULL
 */
    /*else*/ {
      if (unlikely(__pyx_v_globalStrides == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 39088, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39088, __pyx_L1_error)
      __pyx_t_9 = __pyx_t_7;
      for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
        __pyx_v_idx = __pyx_t_10;

        /* "cuda/cuda.pyx":39089
 *         else:
 *             for idx in range(len(globalStrides)):
 *                 cglobalStrides[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalStrides[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef ccuda.cuuint32_t* cboxDim = NULL
 *     if len(boxDim) > 0:
 */
        if (unlikely(__pyx_v_globalStrides == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 39089, __pyx_L1_error)
        }
        __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_globalStrides, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39089, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_cglobalStrides[__pyx_v_idx]) = ((cuuint64_t)(((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_t_1)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/cuda.pyx":39083
 *                 cglobalDim[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalDim[idx])._ptr[0]
 *     cdef ccuda.cuuint64_t* cglobalStrides = NULL
 *     if len(globalStrides) > 0:             # <<<<<<<<<<<<<<
 *         cglobalStrides = <ccuda.cuuint64_t*> calloc(len(globalStrides), sizeof(ccuda.cuuint64_t))
 *         if cglobalStrides is NULL:
 */
  }

  /* "cuda/cuda.pyx":39090
 *             for idx in range(len(globalStrides)):
 *                 cglobalStrides[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalStrides[idx])._ptr[0]
 *     cdef ccuda.cuuint32_t* cboxDim = NULL             # <<<<<<<<<<<<<<
 *     if len(boxDim) > 0:
 *         cboxDim = <ccuda.cuuint32_t*> calloc(len(boxDim), sizeof(ccuda.cuuint32_t))
 */
  __pyx_v_cboxDim = NULL;

  /* "cuda/cuda.pyx":39091
 *                 cglobalStrides[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalStrides[idx])._ptr[0]
 *     cdef ccuda.cuuint32_t* cboxDim = NULL
 *     if len(boxDim) > 0:             # <<<<<<<<<<<<<<
 *         cboxDim = <ccuda.cuuint32_t*> calloc(len(boxDim), sizeof(ccuda.cuuint32_t))
 *         if cboxDim is NULL:
 */
  if (unlikely(__pyx_v_boxDim == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 39091, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_boxDim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39091, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":39092
 *     cdef ccuda.cuuint32_t* cboxDim = NULL
 *     if len(boxDim) > 0:
 *         cboxDim = <ccuda.cuuint32_t*> calloc(len(boxDim), sizeof(ccuda.cuuint32_t))             # <<<<<<<<<<<<<<
 *         if cboxDim is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(boxDim)) + 'x' + str(sizeof(ccuda.cuuint32_t)))
 */
    if (unlikely(__pyx_v_boxDim == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 39092, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_boxDim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39092, __pyx_L1_error)
    __pyx_v_cboxDim = ((cuuint32_t *)calloc(__pyx_t_7, (sizeof(cuuint32_t))));

    /* "cuda/cuda.pyx":39093
 *     if len(boxDim) > 0:
 *         cboxDim = <ccuda.cuuint32_t*> calloc(len(boxDim), sizeof(ccuda.cuuint32_t))
 *         if cboxDim is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(boxDim)) + 'x' + str(sizeof(ccuda.cuuint32_t)))
 *         else:
 */
    __pyx_t_2 = (__pyx_v_cboxDim == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cuda.pyx":39094
 *         cboxDim = <ccuda.cuuint32_t*> calloc(len(boxDim), sizeof(ccuda.cuuint32_t))
 *         if cboxDim is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(boxDim)) + 'x' + str(sizeof(ccuda.cuuint32_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(boxDim)):
 */
      if (unlikely(__pyx_v_boxDim == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 39094, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_boxDim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39094, __pyx_L1_error)
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39094, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39094, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39094, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39094, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cuuint32_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39094, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39094, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39094, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39094, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(1, 39094, __pyx_L1_error)

      /* "cuda/cuda.pyx":39093
 *     if len(boxDim) > 0:
 *         cboxDim = <ccuda.cuuint32_t*> calloc(len(boxDim), sizeof(ccuda.cuuint32_t))
 *         if cboxDim is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(boxDim)) + 'x' + str(sizeof(ccuda.cuuint32_t)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":39096
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(boxDim)) + 'x' + str(sizeof(ccuda.cuuint32_t)))
 *         else:
 *             for idx in range(len(boxDim)):             # <<<<<<<<<<<<<<
 *                 cboxDim[idx] = <ccuda.cuuint32_t>(<cuuint32_t>boxDim[idx])._ptr[0]
 *     cdef ccuda.cuuint32_t* celementStrides = NULL
 */
    /*else*/ {
      if (unlikely(__pyx_v_boxDim == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 39096, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_boxDim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39096, __pyx_L1_error)
      __pyx_t_9 = __pyx_t_7;
      for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
        __pyx_v_idx = __pyx_t_10;

        /* "cuda/cuda.pyx":39097
 *         else:
 *             for idx in range(len(boxDim)):
 *                 cboxDim[idx] = <ccuda.cuuint32_t>(<cuuint32_t>boxDim[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef ccuda.cuuint32_t* celementStrides = NULL
 *     if len(elementStrides) > 0:
 */
        if (unlikely(__pyx_v_boxDim == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 39097, __pyx_L1_error)
        }
        __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_boxDim, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39097, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cboxDim[__pyx_v_idx]) = ((cuuint32_t)(((struct __pyx_obj_4cuda_4cuda_cuuint32_t *)__pyx_t_3)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/cuda.pyx":39091
 *                 cglobalStrides[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalStrides[idx])._ptr[0]
 *     cdef ccuda.cuuint32_t* cboxDim = NULL
 *     if len(boxDim) > 0:             # <<<<<<<<<<<<<<
 *         cboxDim = <ccuda.cuuint32_t*> calloc(len(boxDim), sizeof(ccuda.cuuint32_t))
 *         if cboxDim is NULL:
 */
  }

  /* "cuda/cuda.pyx":39098
 *             for idx in range(len(boxDim)):
 *                 cboxDim[idx] = <ccuda.cuuint32_t>(<cuuint32_t>boxDim[idx])._ptr[0]
 *     cdef ccuda.cuuint32_t* celementStrides = NULL             # <<<<<<<<<<<<<<
 *     if len(elementStrides) > 0:
 *         celementStrides = <ccuda.cuuint32_t*> calloc(len(elementStrides), sizeof(ccuda.cuuint32_t))
 */
  __pyx_v_celementStrides = NULL;

  /* "cuda/cuda.pyx":39099
 *                 cboxDim[idx] = <ccuda.cuuint32_t>(<cuuint32_t>boxDim[idx])._ptr[0]
 *     cdef ccuda.cuuint32_t* celementStrides = NULL
 *     if len(elementStrides) > 0:             # <<<<<<<<<<<<<<
 *         celementStrides = <ccuda.cuuint32_t*> calloc(len(elementStrides), sizeof(ccuda.cuuint32_t))
 *         if celementStrides is NULL:
 */
  if (unlikely(__pyx_v_elementStrides == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 39099, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_elementStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39099, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 > 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":39100
 *     cdef ccuda.cuuint32_t* celementStrides = NULL
 *     if len(elementStrides) > 0:
 *         celementStrides = <ccuda.cuuint32_t*> calloc(len(elementStrides), sizeof(ccuda.cuuint32_t))             # <<<<<<<<<<<<<<
 *         if celementStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(ccuda.cuuint32_t)))
 */
    if (unlikely(__pyx_v_elementStrides == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 39100, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_elementStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39100, __pyx_L1_error)
    __pyx_v_celementStrides = ((cuuint32_t *)calloc(__pyx_t_7, (sizeof(cuuint32_t))));

    /* "cuda/cuda.pyx":39101
 *     if len(elementStrides) > 0:
 *         celementStrides = <ccuda.cuuint32_t*> calloc(len(elementStrides), sizeof(ccuda.cuuint32_t))
 *         if celementStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(ccuda.cuuint32_t)))
 *         else:
 */
    __pyx_t_2 = (__pyx_v_celementStrides == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cuda.pyx":39102
 *         celementStrides = <ccuda.cuuint32_t*> calloc(len(elementStrides), sizeof(ccuda.cuuint32_t))
 *         if celementStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(ccuda.cuuint32_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(elementStrides)):
 */
      if (unlikely(__pyx_v_elementStrides == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 39102, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_elementStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39102, __pyx_L1_error)
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39102, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39102, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39102, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39102, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(cuuint32_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39102, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39102, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39102, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39102, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(1, 39102, __pyx_L1_error)

      /* "cuda/cuda.pyx":39101
 *     if len(elementStrides) > 0:
 *         celementStrides = <ccuda.cuuint32_t*> calloc(len(elementStrides), sizeof(ccuda.cuuint32_t))
 *         if celementStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(ccuda.cuuint32_t)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":39104
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(ccuda.cuuint32_t)))
 *         else:
 *             for idx in range(len(elementStrides)):             # <<<<<<<<<<<<<<
 *                 celementStrides[idx] = <ccuda.cuuint32_t>(<cuuint32_t>elementStrides[idx])._ptr[0]
 *     cdef ccuda.CUtensorMapInterleave cinterleave = interleave.value
 */
    /*else*/ {
      if (unlikely(__pyx_v_elementStrides == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 39104, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_elementStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39104, __pyx_L1_error)
      __pyx_t_9 = __pyx_t_7;
      for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
        __pyx_v_idx = __pyx_t_10;

        /* "cuda/cuda.pyx":39105
 *         else:
 *             for idx in range(len(elementStrides)):
 *                 celementStrides[idx] = <ccuda.cuuint32_t>(<cuuint32_t>elementStrides[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUtensorMapInterleave cinterleave = interleave.value
 *     cdef ccuda.CUtensorMapSwizzle cswizzle = swizzle.value
 */
        if (unlikely(__pyx_v_elementStrides == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 39105, __pyx_L1_error)
        }
        __pyx_t_8 = __Pyx_GetItemInt_List(__pyx_v_elementStrides, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39105, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_celementStrides[__pyx_v_idx]) = ((cuuint32_t)(((struct __pyx_obj_4cuda_4cuda_cuuint32_t *)__pyx_t_8)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cuda.pyx":39099
 *                 cboxDim[idx] = <ccuda.cuuint32_t>(<cuuint32_t>boxDim[idx])._ptr[0]
 *     cdef ccuda.cuuint32_t* celementStrides = NULL
 *     if len(elementStrides) > 0:             # <<<<<<<<<<<<<<
 *         celementStrides = <ccuda.cuuint32_t*> calloc(len(elementStrides), sizeof(ccuda.cuuint32_t))
 *         if celementStrides is NULL:
 */
  }

  /* "cuda/cuda.pyx":39106
 *             for idx in range(len(elementStrides)):
 *                 celementStrides[idx] = <ccuda.cuuint32_t>(<cuuint32_t>elementStrides[idx])._ptr[0]
 *     cdef ccuda.CUtensorMapInterleave cinterleave = interleave.value             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUtensorMapSwizzle cswizzle = swizzle.value
 *     cdef ccuda.CUtensorMapL2promotion cl2Promotion = l2Promotion.value
 */
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_interleave, __pyx_n_s_value_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_11 = ((enum CUtensorMapInterleave_enum)__Pyx_PyInt_As_enum__CUtensorMapInterleave_enum(__pyx_t_8)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39106, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_v_cinterleave = __pyx_t_11;

  /* "cuda/cuda.pyx":39107
 *                 celementStrides[idx] = <ccuda.cuuint32_t>(<cuuint32_t>elementStrides[idx])._ptr[0]
 *     cdef ccuda.CUtensorMapInterleave cinterleave = interleave.value
 *     cdef ccuda.CUtensorMapSwizzle cswizzle = swizzle.value             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUtensorMapL2promotion cl2Promotion = l2Promotion.value
 *     cdef ccuda.CUtensorMapFloatOOBfill coobFill = oobFill.value
 */
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_swizzle, __pyx_n_s_value_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_12 = ((enum CUtensorMapSwizzle_enum)__Pyx_PyInt_As_enum__CUtensorMapSwizzle_enum(__pyx_t_8)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39107, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_v_cswizzle = __pyx_t_12;

  /* "cuda/cuda.pyx":39108
 *     cdef ccuda.CUtensorMapInterleave cinterleave = interleave.value
 *     cdef ccuda.CUtensorMapSwizzle cswizzle = swizzle.value
 *     cdef ccuda.CUtensorMapL2promotion cl2Promotion = l2Promotion.value             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUtensorMapFloatOOBfill coobFill = oobFill.value
 *     err = ccuda.cuTensorMapEncodeTiled(<ccuda.CUtensorMap*>tensorMap._ptr, ctensorDataType, ctensorRank, cglobalAddress_ptr, <ccuda.cuuint64_t*>(<cuuint64_t>globalDim[0])._ptr if len(globalDim) == 1 else cglobalDim, <ccuda.cuuint64_t*>(<cuuint64_t>globalStrides[0])._ptr if len(globalStrides) == 1 else cglobalStrides, <ccuda.cuuint32_t*>(<cuuint32_t>boxDim[0])._ptr if len(boxDim) == 1 else cboxDim, <ccuda.cuuint32_t*>(<cuuint32_t>elementStrides[0])._ptr if len(elementStrides) == 1 else celementStrides, cinterleave, cswizzle, cl2Promotion, coobFill)
 */
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_l2Promotion, __pyx_n_s_value_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_13 = ((enum CUtensorMapL2promotion_enum)__Pyx_PyInt_As_enum__CUtensorMapL2promotion_enum(__pyx_t_8)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39108, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_v_cl2Promotion = __pyx_t_13;

  /* "cuda/cuda.pyx":39109
 *     cdef ccuda.CUtensorMapSwizzle cswizzle = swizzle.value
 *     cdef ccuda.CUtensorMapL2promotion cl2Promotion = l2Promotion.value
 *     cdef ccuda.CUtensorMapFloatOOBfill coobFill = oobFill.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTensorMapEncodeTiled(<ccuda.CUtensorMap*>tensorMap._ptr, ctensorDataType, ctensorRank, cglobalAddress_ptr, <ccuda.cuuint64_t*>(<cuuint64_t>globalDim[0])._ptr if len(globalDim) == 1 else cglobalDim, <ccuda.cuuint64_t*>(<cuuint64_t>globalStrides[0])._ptr if len(globalStrides) == 1 else cglobalStrides, <ccuda.cuuint32_t*>(<cuuint32_t>boxDim[0])._ptr if len(boxDim) == 1 else cboxDim, <ccuda.cuuint32_t*>(<cuuint32_t>elementStrides[0])._ptr if len(elementStrides) == 1 else celementStrides, cinterleave, cswizzle, cl2Promotion, coobFill)
 *     if cglobalDim is not NULL:
 */
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_oobFill, __pyx_n_s_value_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_14 = ((enum CUtensorMapFloatOOBfill_enum)__Pyx_PyInt_As_enum__CUtensorMapFloatOOBfill_enum(__pyx_t_8)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39109, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_v_coobFill = __pyx_t_14;

  /* "cuda/cuda.pyx":39110
 *     cdef ccuda.CUtensorMapL2promotion cl2Promotion = l2Promotion.value
 *     cdef ccuda.CUtensorMapFloatOOBfill coobFill = oobFill.value
 *     err = ccuda.cuTensorMapEncodeTiled(<ccuda.CUtensorMap*>tensorMap._ptr, ctensorDataType, ctensorRank, cglobalAddress_ptr, <ccuda.cuuint64_t*>(<cuuint64_t>globalDim[0])._ptr if len(globalDim) == 1 else cglobalDim, <ccuda.cuuint64_t*>(<cuuint64_t>globalStrides[0])._ptr if len(globalStrides) == 1 else cglobalStrides, <ccuda.cuuint32_t*>(<cuuint32_t>boxDim[0])._ptr if len(boxDim) == 1 else cboxDim, <ccuda.cuuint32_t*>(<cuuint32_t>elementStrides[0])._ptr if len(elementStrides) == 1 else celementStrides, cinterleave, cswizzle, cl2Promotion, coobFill)             # <<<<<<<<<<<<<<
 *     if cglobalDim is not NULL:
 *         free(cglobalDim)
 */
  if (unlikely(__pyx_v_globalDim == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 39110, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalDim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39110, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 == 1);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_globalDim == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 39110, __pyx_L1_error)
    }
    __pyx_t_8 = __Pyx_GetItemInt_List(__pyx_v_globalDim, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_15 = ((cuuint64_t *)((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_t_8)->_ptr);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  } else {
    __pyx_t_15 = __pyx_v_cglobalDim;
  }
  if (unlikely(__pyx_v_globalStrides == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 39110, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39110, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 == 1);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_globalStrides == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 39110, __pyx_L1_error)
    }
    __pyx_t_8 = __Pyx_GetItemInt_List(__pyx_v_globalStrides, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_16 = ((cuuint64_t *)((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_t_8)->_ptr);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  } else {
    __pyx_t_16 = __pyx_v_cglobalStrides;
  }
  if (unlikely(__pyx_v_boxDim == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 39110, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_boxDim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39110, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 == 1);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_boxDim == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 39110, __pyx_L1_error)
    }
    __pyx_t_8 = __Pyx_GetItemInt_List(__pyx_v_boxDim, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_17 = ((cuuint32_t *)((struct __pyx_obj_4cuda_4cuda_cuuint32_t *)__pyx_t_8)->_ptr);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  } else {
    __pyx_t_17 = __pyx_v_cboxDim;
  }
  if (unlikely(__pyx_v_elementStrides == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 39110, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_elementStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39110, __pyx_L1_error)
  __pyx_t_2 = (__pyx_t_7 == 1);
  if (__pyx_t_2) {
    if (unlikely(__pyx_v_elementStrides == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 39110, __pyx_L1_error)
    }
    __pyx_t_8 = __Pyx_GetItemInt_List(__pyx_v_elementStrides, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_18 = ((cuuint32_t *)((struct __pyx_obj_4cuda_4cuda_cuuint32_t *)__pyx_t_8)->_ptr);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  } else {
    __pyx_t_18 = __pyx_v_celementStrides;
  }
  __pyx_t_19 = __pyx_f_4cuda_5ccuda_cuTensorMapEncodeTiled(((CUtensorMap *)__pyx_v_tensorMap->__pyx_base._ptr), __pyx_v_ctensorDataType, __pyx_v_ctensorRank, __pyx_v_cglobalAddress_ptr, __pyx_t_15, __pyx_t_16, __pyx_t_17, __pyx_t_18, __pyx_v_cinterleave, __pyx_v_cswizzle, __pyx_v_cl2Promotion, __pyx_v_coobFill); if (unlikely(__pyx_t_19 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 39110, __pyx_L1_error)
  __pyx_v_err = __pyx_t_19;

  /* "cuda/cuda.pyx":39111
 *     cdef ccuda.CUtensorMapFloatOOBfill coobFill = oobFill.value
 *     err = ccuda.cuTensorMapEncodeTiled(<ccuda.CUtensorMap*>tensorMap._ptr, ctensorDataType, ctensorRank, cglobalAddress_ptr, <ccuda.cuuint64_t*>(<cuuint64_t>globalDim[0])._ptr if len(globalDim) == 1 else cglobalDim, <ccuda.cuuint64_t*>(<cuuint64_t>globalStrides[0])._ptr if len(globalStrides) == 1 else cglobalStrides, <ccuda.cuuint32_t*>(<cuuint32_t>boxDim[0])._ptr if len(boxDim) == 1 else cboxDim, <ccuda.cuuint32_t*>(<cuuint32_t>elementStrides[0])._ptr if len(elementStrides) == 1 else celementStrides, cinterleave, cswizzle, cl2Promotion, coobFill)
 *     if cglobalDim is not NULL:             # <<<<<<<<<<<<<<
 *         free(cglobalDim)
 *     if cglobalStrides is not NULL:
 */
  __pyx_t_2 = (__pyx_v_cglobalDim != NULL);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":39112
 *     err = ccuda.cuTensorMapEncodeTiled(<ccuda.CUtensorMap*>tensorMap._ptr, ctensorDataType, ctensorRank, cglobalAddress_ptr, <ccuda.cuuint64_t*>(<cuuint64_t>globalDim[0])._ptr if len(globalDim) == 1 else cglobalDim, <ccuda.cuuint64_t*>(<cuuint64_t>globalStrides[0])._ptr if len(globalStrides) == 1 else cglobalStrides, <ccuda.cuuint32_t*>(<cuuint32_t>boxDim[0])._ptr if len(boxDim) == 1 else cboxDim, <ccuda.cuuint32_t*>(<cuuint32_t>elementStrides[0])._ptr if len(elementStrides) == 1 else celementStrides, cinterleave, cswizzle, cl2Promotion, coobFill)
 *     if cglobalDim is not NULL:
 *         free(cglobalDim)             # <<<<<<<<<<<<<<
 *     if cglobalStrides is not NULL:
 *         free(cglobalStrides)
 */
    free(__pyx_v_cglobalDim);

    /* "cuda/cuda.pyx":39111
 *     cdef ccuda.CUtensorMapFloatOOBfill coobFill = oobFill.value
 *     err = ccuda.cuTensorMapEncodeTiled(<ccuda.CUtensorMap*>tensorMap._ptr, ctensorDataType, ctensorRank, cglobalAddress_ptr, <ccuda.cuuint64_t*>(<cuuint64_t>globalDim[0])._ptr if len(globalDim) == 1 else cglobalDim, <ccuda.cuuint64_t*>(<cuuint64_t>globalStrides[0])._ptr if len(globalStrides) == 1 else cglobalStrides, <ccuda.cuuint32_t*>(<cuuint32_t>boxDim[0])._ptr if len(boxDim) == 1 else cboxDim, <ccuda.cuuint32_t*>(<cuuint32_t>elementStrides[0])._ptr if len(elementStrides) == 1 else celementStrides, cinterleave, cswizzle, cl2Promotion, coobFill)
 *     if cglobalDim is not NULL:             # <<<<<<<<<<<<<<
 *         free(cglobalDim)
 *     if cglobalStrides is not NULL:
 */
  }

  /* "cuda/cuda.pyx":39113
 *     if cglobalDim is not NULL:
 *         free(cglobalDim)
 *     if cglobalStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(cglobalStrides)
 *     if cboxDim is not NULL:
 */
  __pyx_t_2 = (__pyx_v_cglobalStrides != NULL);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":39114
 *         free(cglobalDim)
 *     if cglobalStrides is not NULL:
 *         free(cglobalStrides)             # <<<<<<<<<<<<<<
 *     if cboxDim is not NULL:
 *         free(cboxDim)
 */
    free(__pyx_v_cglobalStrides);

    /* "cuda/cuda.pyx":39113
 *     if cglobalDim is not NULL:
 *         free(cglobalDim)
 *     if cglobalStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(cglobalStrides)
 *     if cboxDim is not NULL:
 */
  }

  /* "cuda/cuda.pyx":39115
 *     if cglobalStrides is not NULL:
 *         free(cglobalStrides)
 *     if cboxDim is not NULL:             # <<<<<<<<<<<<<<
 *         free(cboxDim)
 *     if celementStrides is not NULL:
 */
  __pyx_t_2 = (__pyx_v_cboxDim != NULL);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":39116
 *         free(cglobalStrides)
 *     if cboxDim is not NULL:
 *         free(cboxDim)             # <<<<<<<<<<<<<<
 *     if celementStrides is not NULL:
 *         free(celementStrides)
 */
    free(__pyx_v_cboxDim);

    /* "cuda/cuda.pyx":39115
 *     if cglobalStrides is not NULL:
 *         free(cglobalStrides)
 *     if cboxDim is not NULL:             # <<<<<<<<<<<<<<
 *         free(cboxDim)
 *     if celementStrides is not NULL:
 */
  }

  /* "cuda/cuda.pyx":39117
 *     if cboxDim is not NULL:
 *         free(cboxDim)
 *     if celementStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(celementStrides)
 *     return (CUresult(err), tensorMap)
 */
  __pyx_t_2 = (__pyx_v_celementStrides != NULL);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":39118
 *         free(cboxDim)
 *     if celementStrides is not NULL:
 *         free(celementStrides)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), tensorMap)
 * 
 */
    free(__pyx_v_celementStrides);

    /* "cuda/cuda.pyx":39117
 *     if cboxDim is not NULL:
 *         free(cboxDim)
 *     if celementStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(celementStrides)
 *     return (CUresult(err), tensorMap)
 */
  }

  /* "cuda/cuda.pyx":39119
 *     if celementStrides is not NULL:
 *         free(celementStrides)
 *     return (CUresult(err), tensorMap)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_20 = NULL;
  __pyx_t_21 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_20)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_20);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_21 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_20, __pyx_t_1};
    __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_21, 1+__pyx_t_21);
    __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39119, __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)) __PYX_ERR(1, 39119, __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))) __PYX_ERR(1, 39119, __pyx_L1_error);
  __pyx_t_8 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":38891
 *     return (CUresult(err), pResDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeTiled(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[List[cuuint64_t]], globalStrides : Optional[List[cuuint64_t]], boxDim : Optional[List[cuuint32_t]], elementStrides : Optional[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_8);
  __Pyx_XDECREF(__pyx_t_20);
  __Pyx_AddTraceback("cuda.cuda.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(__pyx_v_cglobalAddress);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_22cuTensorMapEncodeTiled_2generator52);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_22cuTensorMapEncodeTiled_5generator53);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_22cuTensorMapEncodeTiled_8generator54);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_22cuTensorMapEncodeTiled_11generator55);
  __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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":39121
 *     return (CUresult(err), tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeIm2col(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[List[cuuint64_t]], globalStrides : Optional[List[cuuint64_t]], pixelBoxLowerCorner : Optional[List[int]], pixelBoxUpperCorner : Optional[List[int]], channelsPerPixel, pixelsPerColumn, elementStrides : Optional[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_4cuda_799cuTensorMapEncodeIm2col(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_798cuTensorMapEncodeIm2col, "cuTensorMapEncodeIm2col(tensorDataType: CUtensorMapDataType, tensorRank, globalAddress, list globalDim: Optional[List[cuuint64_t]], list globalStrides: Optional[List[cuuint64_t]], list pixelBoxLowerCorner: Optional[List[int]], list pixelBoxUpperCorner: Optional[List[int]], channelsPerPixel, pixelsPerColumn, list elementStrides: Optional[List[cuuint32_t]], interleave: CUtensorMapInterleave, swizzle: CUtensorMapSwizzle, l2Promotion: CUtensorMapL2promotion, oobFill: CUtensorMapFloatOOBfill)\n Create a tensor map descriptor object representing im2col memory region.\n\n    Creates a descriptor for Tensor Memory Access (TMA) object specified by\n    the parameters describing a im2col memory layout and returns it in\n    `tensorMap`.\n\n    Tensor map objects are only supported on devices of compute capability\n    9.0 or higher. Additionally, a tensor map object is an opaque value,\n    and, as such, should only be accessed through CUDA API calls.\n\n    The 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    - `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 32 byte aligned when `interleave` is\n      :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_32B` and 16 byte aligned\n      otherwise.\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.\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 stride must be a multiple of 32\n      when `inter""leave` is :py:obj:`~.CU_TENSOR_MAP_INTERLEAVE_32B`. Each\n      following dimension specified includes 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        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.\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\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 `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 implies the bounding box inner dimension\n        will be <= 32.\n\n      - CU_TENSOR_MAP_SWIZZLE_64B implies the bounding box inner dimension\n        will be <= 64.\n\n      - CU_TENSOR_MAP_SWIZZLE_128B implies the bounding box inner dimension\n        will be <= 128.\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.\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.\n\n    Parameters\n    ----------\n    tensorDataType : :py:obj:`~.CUtensorMapDataType`\n        Tensor data type\n    tensorRank : Any\n        Dimensionality of tensor; must be at least 3\n    globalAddress : Any\n        Starting address of memory region described by tensor\n    globalDim : List[:py:obj:`~.cuuint64_t`]\n        Array containing tensor size (number of elements) along each of the\n        `tensorRank` dimensions\n    globalStrides : List[:py:obj:`~.cuuint64_t`]\n        Array containing stride size (in bytes) along each of the\n        `tensorRank` - 1 dimensions\n    pixelBoxLowerCorner : List[int]\n        Array containing DHW dimensions of lower box corner\n    pixelBoxUpperCorner : List[int]\n        Array containing DHW dimensions of upper box corner\n    channelsPerPixel : Any\n        Number of channels per pixel\n    pixelsPerColumn : Any\n        Number of pixels per column\n    elementStrides : List[:py:obj:`~.cuu""int32_t`]\n        Array containing traversal stride in each of the `tensorRank`\n        dimensions\n    interleave : :py:obj:`~.CUtensorMapInterleave`\n        Type of interleaved layout the tensor addresses\n    swizzle : :py:obj:`~.CUtensorMapSwizzle`\n        Bank swizzling pattern inside shared memory\n    l2Promotion : :py:obj:`~.CUtensorMapL2promotion`\n        L2 promotion size\n    oobFill : :py:obj:`~.CUtensorMapFloatOOBfill`\n        Indicate whether zero or special NaN constant will be used to fill\n        out-of-bound elements\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_VALUE`\n    tensorMap : :py:obj:`~.CUtensorMap`\n        Tensor map object to create\n\n    See Also\n    --------\n    :py:obj:`~.cuTensorMapEncodeTiled`, :py:obj:`~.cuTensorMapReplaceAddress`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_799cuTensorMapEncodeIm2col = {"cuTensorMapEncodeIm2col", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_799cuTensorMapEncodeIm2col, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_798cuTensorMapEncodeIm2col};
static PyObject *__pyx_pw_4cuda_4cuda_799cuTensorMapEncodeIm2col(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_tensorDataType,&__pyx_n_s_tensorRank,&__pyx_n_s_globalAddress,&__pyx_n_s_globalDim,&__pyx_n_s_globalStrides,&__pyx_n_s_pixelBoxLowerCorner,&__pyx_n_s_pixelBoxUpperCorner,&__pyx_n_s_channelsPerPixel,&__pyx_n_s_pixelsPerColumn,&__pyx_n_s_elementStrides,&__pyx_n_s_interleave,&__pyx_n_s_swizzle,&__pyx_n_s_l2Promotion,&__pyx_n_s_oobFill,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case 14: values[13] = __Pyx_Arg_FASTCALL(__pyx_args, 13);
        CYTHON_FALLTHROUGH;
        case 13: values[12] = __Pyx_Arg_FASTCALL(__pyx_args, 12);
        CYTHON_FALLTHROUGH;
        case 12: values[11] = __Pyx_Arg_FASTCALL(__pyx_args, 11);
        CYTHON_FALLTHROUGH;
        case 11: values[10] = __Pyx_Arg_FASTCALL(__pyx_args, 10);
        CYTHON_FALLTHROUGH;
        case 10: values[9] = __Pyx_Arg_FASTCALL(__pyx_args, 9);
        CYTHON_FALLTHROUGH;
        case  9: values[8] = __Pyx_Arg_FASTCALL(__pyx_args, 8);
        CYTHON_FALLTHROUGH;
        case  8: values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7);
        CYTHON_FALLTHROUGH;
        case  7: values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
        CYTHON_FALLTHROUGH;
        case  6: values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
        CYTHON_FALLTHROUGH;
        case  5: values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
        CYTHON_FALLTHROUGH;
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_tensorDataType)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39121, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_tensorRank)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39121, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeIm2col", 1, 14, 14, 1); __PYX_ERR(1, 39121, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_globalAddress)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39121, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeIm2col", 1, 14, 14, 2); __PYX_ERR(1, 39121, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_globalDim)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39121, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeIm2col", 1, 14, 14, 3); __PYX_ERR(1, 39121, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  4:
        if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_globalStrides)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[4]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39121, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeIm2col", 1, 14, 14, 4); __PYX_ERR(1, 39121, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  5:
        if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pixelBoxLowerCorner)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[5]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39121, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeIm2col", 1, 14, 14, 5); __PYX_ERR(1, 39121, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  6:
        if (likely((values[6] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pixelBoxUpperCorner)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[6]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39121, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeIm2col", 1, 14, 14, 6); __PYX_ERR(1, 39121, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  7:
        if (likely((values[7] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_channelsPerPixel)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[7]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39121, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeIm2col", 1, 14, 14, 7); __PYX_ERR(1, 39121, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  8:
        if (likely((values[8] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pixelsPerColumn)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[8]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39121, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeIm2col", 1, 14, 14, 8); __PYX_ERR(1, 39121, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  9:
        if (likely((values[9] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_elementStrides)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[9]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39121, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeIm2col", 1, 14, 14, 9); __PYX_ERR(1, 39121, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case 10:
        if (likely((values[10] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_interleave)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[10]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39121, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeIm2col", 1, 14, 14, 10); __PYX_ERR(1, 39121, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case 11:
        if (likely((values[11] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_swizzle)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[11]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39121, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeIm2col", 1, 14, 14, 11); __PYX_ERR(1, 39121, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case 12:
        if (likely((values[12] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_l2Promotion)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[12]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39121, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeIm2col", 1, 14, 14, 12); __PYX_ERR(1, 39121, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case 13:
        if (likely((values[13] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_oobFill)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[13]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39121, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapEncodeIm2col", 1, 14, 14, 13); __PYX_ERR(1, 39121, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTensorMapEncodeIm2col") < 0)) __PYX_ERR(1, 39121, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 14)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
      values[4] = __Pyx_Arg_FASTCALL(__pyx_args, 4);
      values[5] = __Pyx_Arg_FASTCALL(__pyx_args, 5);
      values[6] = __Pyx_Arg_FASTCALL(__pyx_args, 6);
      values[7] = __Pyx_Arg_FASTCALL(__pyx_args, 7);
      values[8] = __Pyx_Arg_FASTCALL(__pyx_args, 8);
      values[9] = __Pyx_Arg_FASTCALL(__pyx_args, 9);
      values[10] = __Pyx_Arg_FASTCALL(__pyx_args, 10);
      values[11] = __Pyx_Arg_FASTCALL(__pyx_args, 11);
      values[12] = __Pyx_Arg_FASTCALL(__pyx_args, 12);
      values[13] = __Pyx_Arg_FASTCALL(__pyx_args, 13);
    }
    __pyx_v_tensorDataType = values[0];
    __pyx_v_tensorRank = values[1];
    __pyx_v_globalAddress = values[2];
    __pyx_v_globalDim = ((PyObject*)values[3]);
    __pyx_v_globalStrides = ((PyObject*)values[4]);
    __pyx_v_pixelBoxLowerCorner = ((PyObject*)values[5]);
    __pyx_v_pixelBoxUpperCorner = ((PyObject*)values[6]);
    __pyx_v_channelsPerPixel = values[7];
    __pyx_v_pixelsPerColumn = values[8];
    __pyx_v_elementStrides = ((PyObject*)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(1, 39121, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 39122, __pyx_L1_error)
  }
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_globalDim), (&PyList_Type), 1, "globalDim", 1))) __PYX_ERR(1, 39122, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_globalStrides), (&PyList_Type), 1, "globalStrides", 1))) __PYX_ERR(1, 39122, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pixelBoxLowerCorner), (&PyList_Type), 1, "pixelBoxLowerCorner", 1))) __PYX_ERR(1, 39122, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pixelBoxUpperCorner), (&PyList_Type), 1, "pixelBoxUpperCorner", 1))) __PYX_ERR(1, 39122, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_elementStrides), (&PyList_Type), 1, "elementStrides", 1))) __PYX_ERR(1, 39122, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_interleave) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "interleave"); __PYX_ERR(1, 39122, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_swizzle) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "swizzle"); __PYX_ERR(1, 39122, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_l2Promotion) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "l2Promotion"); __PYX_ERR(1, 39122, __pyx_L1_error)
  }
  if (unlikely(((PyObject *)__pyx_v_oobFill) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "oobFill"); __PYX_ERR(1, 39122, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_798cuTensorMapEncodeIm2col(__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;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_2generator56(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":39310
 *     """
 *     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 List[ccuda.cuuint32_t,]")
 *     cdef ccuda.cuuint32_t cpixelsPerColumn
 */

static PyObject *__pyx_pf_4cuda_4cuda_23cuTensorMapEncodeIm2col_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_56_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_56_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_56_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_56_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 39310, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_2generator56, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuTensorMapEncodeIm2col_locals_g, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 39310, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_23cuTensorMapEncodeIm2col_2generator56(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_56_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_56_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 39310, 0, __PYX_ERR(1, 39310, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 39310, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 39310, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 39310, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 39310, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 39310, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_cuuint32_t); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_5generator57(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":39331
 *         cchannelsPerPixel = <ccuda.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 List[ccuda.int]")
 *     pixelBoxLowerCorner = [] if pixelBoxLowerCorner is None else pixelBoxLowerCorner
 */

static PyObject *__pyx_pf_4cuda_4cuda_23cuTensorMapEncodeIm2col_3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_57_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_57_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_57_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_57_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 39331, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_5generator57, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuTensorMapEncodeIm2col_locals_g, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 39331, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_23cuTensorMapEncodeIm2col_5generator57(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_57_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_57_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 39331, 0, __PYX_ERR(1, 39331, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 39331, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 39331, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 39331, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 39331, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 39331, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = PyInt_Check(__pyx_cur_scope->__pyx_v__x); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_8generator58(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":39334
 *         raise TypeError("Argument 'pixelBoxUpperCorner' is not instance of type (expected List[ccuda.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 List[ccuda.int]")
 *     globalStrides = [] if globalStrides is None else globalStrides
 */

static PyObject *__pyx_pf_4cuda_4cuda_23cuTensorMapEncodeIm2col_6genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_58_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_58_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_58_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_58_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 39334, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_8generator58, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuTensorMapEncodeIm2col_locals_g, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 39334, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_23cuTensorMapEncodeIm2col_8generator58(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_58_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_58_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 39334, 0, __PYX_ERR(1, 39334, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 39334, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 39334, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 39334, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 39334, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 39334, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = PyInt_Check(__pyx_cur_scope->__pyx_v__x); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_11generator59(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":39337
 *         raise TypeError("Argument 'pixelBoxLowerCorner' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 */

static PyObject *__pyx_pf_4cuda_4cuda_23cuTensorMapEncodeIm2col_9genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_59_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_59_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_59_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_59_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 39337, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_11generator59, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuTensorMapEncodeIm2col_locals_g, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 39337, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_23cuTensorMapEncodeIm2col_11generator59(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_59_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_59_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 39337, 0, __PYX_ERR(1, 39337, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 39337, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 39337, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 39337, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 39337, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 39337, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_cuuint64_t); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_14generator60(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":39340
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 *     cdef ccuda.cuuint32_t ctensorRank
 */

static PyObject *__pyx_pf_4cuda_4cuda_23cuTensorMapEncodeIm2col_12genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_60_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_60_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_60_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_60_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 39340, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_14generator60, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuTensorMapEncodeIm2col_locals_g, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 39340, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_23cuTensorMapEncodeIm2col_14generator60(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_60_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_60_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 39340, 0, __PYX_ERR(1, 39340, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 39340, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 39340, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 39340, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 39340, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 39340, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_cuuint64_t); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":39121
 *     return (CUresult(err), tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeIm2col(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[List[cuuint64_t]], globalStrides : Optional[List[cuuint64_t]], pixelBoxLowerCorner : Optional[List[int]], pixelBoxUpperCorner : Optional[List[int]], channelsPerPixel, pixelsPerColumn, elementStrides : Optional[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_4cuda_798cuTensorMapEncodeIm2col(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_cpixelsPerColumn;
  PyObject *__pyx_v_ppixelsPerColumn = NULL;
  cuuint32_t __pyx_v_cchannelsPerPixel;
  PyObject *__pyx_v_pchannelsPerPixel = NULL;
  cuuint32_t __pyx_v_ctensorRank;
  PyObject *__pyx_v_ptensorRank = NULL;
  struct __pyx_obj_4cuda_4cuda_CUtensorMap *__pyx_v_tensorMap = 0;
  CUtensorMapDataType __pyx_v_ctensorDataType;
  PyObject *__pyx_v_cglobalAddress = NULL;
  void *__pyx_v_cglobalAddress_ptr;
  cuuint64_t *__pyx_v_cglobalDim;
  Py_ssize_t __pyx_v_idx;
  cuuint64_t *__pyx_v_cglobalStrides;
  std::vector<int>  __pyx_v_cpixelBoxLowerCorner;
  std::vector<int>  __pyx_v_cpixelBoxUpperCorner;
  cuuint32_t *__pyx_v_celementStrides;
  CUtensorMapInterleave __pyx_v_cinterleave;
  CUtensorMapSwizzle __pyx_v_cswizzle;
  CUtensorMapL2promotion __pyx_v_cl2Promotion;
  CUtensorMapFloatOOBfill __pyx_v_coobFill;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_2generator56 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_5generator57 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_8generator58 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_11generator59 = 0;
  PyObject *__pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_14generator60 = 0;
  PyObject *__pyx_10genexpr199__pyx_v_pypixelBoxLowerCorner = NULL;
  PyObject *__pyx_10genexpr200__pyx_v_pypixelBoxUpperCorner = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  CUtensorMapDataType __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  Py_ssize_t __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  std::vector<int>  __pyx_t_11;
  CUtensorMapInterleave __pyx_t_12;
  CUtensorMapSwizzle __pyx_t_13;
  CUtensorMapL2promotion __pyx_t_14;
  CUtensorMapFloatOOBfill __pyx_t_15;
  cuuint64_t *__pyx_t_16;
  cuuint64_t *__pyx_t_17;
  cuuint32_t *__pyx_t_18;
  CUresult __pyx_t_19;
  PyObject *__pyx_t_20 = NULL;
  int __pyx_t_21;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__904)
  __Pyx_RefNannySetupContext("cuTensorMapEncodeIm2col", 0);
  __Pyx_TraceCall("cuTensorMapEncodeIm2col", __pyx_f[1], 39121, 0, __PYX_ERR(1, 39121, __pyx_L1_error));
  __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/cuda.pyx":39309
 *     :py:obj:`~.cuTensorMapEncodeTiled`, :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 List[ccuda.cuuint32_t,]")
 */
  __pyx_t_2 = (__pyx_v_elementStrides == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39309, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":39310
 *     """
 *     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 List[ccuda.cuuint32_t,]")
 *     cdef ccuda.cuuint32_t cpixelsPerColumn
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_23cuTensorMapEncodeIm2col_genexpr(NULL, __pyx_v_elementStrides); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39310, __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(1, 39310, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":39311
 *     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 List[ccuda.cuuint32_t,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.cuuint32_t cpixelsPerColumn
 *     if pixelsPerColumn is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__900, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39311, __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(1, 39311, __pyx_L1_error)

    /* "cuda/cuda.pyx":39310
 *     """
 *     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 List[ccuda.cuuint32_t,]")
 *     cdef ccuda.cuuint32_t cpixelsPerColumn
 */
  }

  /* "cuda/cuda.pyx":39313
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected List[ccuda.cuuint32_t,]")
 *     cdef ccuda.cuuint32_t cpixelsPerColumn
 *     if pixelsPerColumn is None:             # <<<<<<<<<<<<<<
 *         cpixelsPerColumn = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):
 */
  __pyx_t_4 = (__pyx_v_pixelsPerColumn == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":39314
 *     cdef ccuda.cuuint32_t cpixelsPerColumn
 *     if pixelsPerColumn is None:
 *         cpixelsPerColumn = <ccuda.cuuint32_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):
 *         ppixelsPerColumn = int(pixelsPerColumn)
 */
    __pyx_v_cpixelsPerColumn = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":39313
 *         raise TypeError("Argument 'elementStrides' is not instance of type (expected List[ccuda.cuuint32_t,]")
 *     cdef ccuda.cuuint32_t cpixelsPerColumn
 *     if pixelsPerColumn is None:             # <<<<<<<<<<<<<<
 *         cpixelsPerColumn = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":39315
 *     if pixelsPerColumn is None:
 *         cpixelsPerColumn = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ppixelsPerColumn = int(pixelsPerColumn)
 *         cpixelsPerColumn = <ccuda.cuuint32_t><void_ptr>ppixelsPerColumn
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_pixelsPerColumn, __pyx_ptype_4cuda_4cuda_cuuint32_t); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":39316
 *         cpixelsPerColumn = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):
 *         ppixelsPerColumn = int(pixelsPerColumn)             # <<<<<<<<<<<<<<
 *         cpixelsPerColumn = <ccuda.cuuint32_t><void_ptr>ppixelsPerColumn
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_pixelsPerColumn); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39316, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ppixelsPerColumn = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":39317
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):
 *         ppixelsPerColumn = int(pixelsPerColumn)
 *         cpixelsPerColumn = <ccuda.cuuint32_t><void_ptr>ppixelsPerColumn             # <<<<<<<<<<<<<<
 *     else:
 *         ppixelsPerColumn = int(cuuint32_t(pixelsPerColumn))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppixelsPerColumn); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39317, __pyx_L1_error)
    __pyx_v_cpixelsPerColumn = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":39315
 *     if pixelsPerColumn is None:
 *         cpixelsPerColumn = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(pixelsPerColumn, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ppixelsPerColumn = int(pixelsPerColumn)
 *         cpixelsPerColumn = <ccuda.cuuint32_t><void_ptr>ppixelsPerColumn
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":39319
 *         cpixelsPerColumn = <ccuda.cuuint32_t><void_ptr>ppixelsPerColumn
 *     else:
 *         ppixelsPerColumn = int(cuuint32_t(pixelsPerColumn))             # <<<<<<<<<<<<<<
 *         cpixelsPerColumn = <ccuda.cuuint32_t><void_ptr>ppixelsPerColumn
 *     cdef ccuda.cuuint32_t cchannelsPerPixel
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint32_t), __pyx_v_pixelsPerColumn); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39319, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39319, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_ppixelsPerColumn = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":39320
 *     else:
 *         ppixelsPerColumn = int(cuuint32_t(pixelsPerColumn))
 *         cpixelsPerColumn = <ccuda.cuuint32_t><void_ptr>ppixelsPerColumn             # <<<<<<<<<<<<<<
 *     cdef ccuda.cuuint32_t cchannelsPerPixel
 *     if channelsPerPixel is None:
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppixelsPerColumn); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39320, __pyx_L1_error)
    __pyx_v_cpixelsPerColumn = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":39322
 *         cpixelsPerColumn = <ccuda.cuuint32_t><void_ptr>ppixelsPerColumn
 *     cdef ccuda.cuuint32_t cchannelsPerPixel
 *     if channelsPerPixel is None:             # <<<<<<<<<<<<<<
 *         cchannelsPerPixel = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):
 */
  __pyx_t_4 = (__pyx_v_channelsPerPixel == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":39323
 *     cdef ccuda.cuuint32_t cchannelsPerPixel
 *     if channelsPerPixel is None:
 *         cchannelsPerPixel = <ccuda.cuuint32_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):
 *         pchannelsPerPixel = int(channelsPerPixel)
 */
    __pyx_v_cchannelsPerPixel = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":39322
 *         cpixelsPerColumn = <ccuda.cuuint32_t><void_ptr>ppixelsPerColumn
 *     cdef ccuda.cuuint32_t cchannelsPerPixel
 *     if channelsPerPixel is None:             # <<<<<<<<<<<<<<
 *         cchannelsPerPixel = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":39324
 *     if channelsPerPixel is None:
 *         cchannelsPerPixel = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pchannelsPerPixel = int(channelsPerPixel)
 *         cchannelsPerPixel = <ccuda.cuuint32_t><void_ptr>pchannelsPerPixel
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_channelsPerPixel, __pyx_ptype_4cuda_4cuda_cuuint32_t); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":39325
 *         cchannelsPerPixel = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):
 *         pchannelsPerPixel = int(channelsPerPixel)             # <<<<<<<<<<<<<<
 *         cchannelsPerPixel = <ccuda.cuuint32_t><void_ptr>pchannelsPerPixel
 *     else:
 */
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_v_channelsPerPixel); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39325, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_pchannelsPerPixel = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":39326
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):
 *         pchannelsPerPixel = int(channelsPerPixel)
 *         cchannelsPerPixel = <ccuda.cuuint32_t><void_ptr>pchannelsPerPixel             # <<<<<<<<<<<<<<
 *     else:
 *         pchannelsPerPixel = int(cuuint32_t(channelsPerPixel))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pchannelsPerPixel); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39326, __pyx_L1_error)
    __pyx_v_cchannelsPerPixel = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":39324
 *     if channelsPerPixel is None:
 *         cchannelsPerPixel = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(channelsPerPixel, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         pchannelsPerPixel = int(channelsPerPixel)
 *         cchannelsPerPixel = <ccuda.cuuint32_t><void_ptr>pchannelsPerPixel
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":39328
 *         cchannelsPerPixel = <ccuda.cuuint32_t><void_ptr>pchannelsPerPixel
 *     else:
 *         pchannelsPerPixel = int(cuuint32_t(channelsPerPixel))             # <<<<<<<<<<<<<<
 *         cchannelsPerPixel = <ccuda.cuuint32_t><void_ptr>pchannelsPerPixel
 *     pixelBoxUpperCorner = [] if pixelBoxUpperCorner is None else pixelBoxUpperCorner
 */
  /*else*/ {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint32_t), __pyx_v_channelsPerPixel); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39328, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39328, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_pchannelsPerPixel = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":39329
 *     else:
 *         pchannelsPerPixel = int(cuuint32_t(channelsPerPixel))
 *         cchannelsPerPixel = <ccuda.cuuint32_t><void_ptr>pchannelsPerPixel             # <<<<<<<<<<<<<<
 *     pixelBoxUpperCorner = [] if pixelBoxUpperCorner is None else pixelBoxUpperCorner
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxUpperCorner):
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pchannelsPerPixel); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39329, __pyx_L1_error)
    __pyx_v_cchannelsPerPixel = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":39330
 *         pchannelsPerPixel = int(cuuint32_t(channelsPerPixel))
 *         cchannelsPerPixel = <ccuda.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 List[ccuda.int]")
 */
  __pyx_t_4 = (__pyx_v_pixelBoxUpperCorner == ((PyObject*)Py_None));
  if (__pyx_t_4) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39330, __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, ((PyObject*)__pyx_t_3));
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":39331
 *         cchannelsPerPixel = <ccuda.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 List[ccuda.int]")
 *     pixelBoxLowerCorner = [] if pixelBoxLowerCorner is None else pixelBoxLowerCorner
 */
  __pyx_t_3 = __pyx_pf_4cuda_4cuda_23cuTensorMapEncodeIm2col_3genexpr(NULL, __pyx_v_pixelBoxUpperCorner); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39331, __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(1, 39331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":39332
 *     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 List[ccuda.int]")             # <<<<<<<<<<<<<<
 *     pixelBoxLowerCorner = [] if pixelBoxLowerCorner is None else pixelBoxLowerCorner
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxLowerCorner):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__905, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39332, __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, 39332, __pyx_L1_error)

    /* "cuda/cuda.pyx":39331
 *         cchannelsPerPixel = <ccuda.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 List[ccuda.int]")
 *     pixelBoxLowerCorner = [] if pixelBoxLowerCorner is None else pixelBoxLowerCorner
 */
  }

  /* "cuda/cuda.pyx":39333
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxUpperCorner):
 *         raise TypeError("Argument 'pixelBoxUpperCorner' is not instance of type (expected List[ccuda.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 List[ccuda.int]")
 */
  __pyx_t_2 = (__pyx_v_pixelBoxLowerCorner == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39333, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":39334
 *         raise TypeError("Argument 'pixelBoxUpperCorner' is not instance of type (expected List[ccuda.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 List[ccuda.int]")
 *     globalStrides = [] if globalStrides is None else globalStrides
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_23cuTensorMapEncodeIm2col_6genexpr(NULL, __pyx_v_pixelBoxLowerCorner); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39334, __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(1, 39334, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":39335
 *     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 List[ccuda.int]")             # <<<<<<<<<<<<<<
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__906, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39335, __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(1, 39335, __pyx_L1_error)

    /* "cuda/cuda.pyx":39334
 *         raise TypeError("Argument 'pixelBoxUpperCorner' is not instance of type (expected List[ccuda.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 List[ccuda.int]")
 *     globalStrides = [] if globalStrides is None else globalStrides
 */
  }

  /* "cuda/cuda.pyx":39336
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxLowerCorner):
 *         raise TypeError("Argument 'pixelBoxLowerCorner' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 */
  __pyx_t_4 = (__pyx_v_globalStrides == ((PyObject*)Py_None));
  if (__pyx_t_4) {
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39336, __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, ((PyObject*)__pyx_t_3));
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":39337
 *         raise TypeError("Argument 'pixelBoxLowerCorner' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 */
  __pyx_t_3 = __pyx_pf_4cuda_4cuda_23cuTensorMapEncodeIm2col_9genexpr(NULL, __pyx_v_globalStrides); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_Generator_Next(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39337, __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(1, 39337, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_4);
  if (unlikely(__pyx_t_2)) {

    /* "cuda/cuda.pyx":39338
 *     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 List[ccuda.cuuint64_t,]")             # <<<<<<<<<<<<<<
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):
 */
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__902, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39338, __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, 39338, __pyx_L1_error)

    /* "cuda/cuda.pyx":39337
 *         raise TypeError("Argument 'pixelBoxLowerCorner' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 *     globalDim = [] if globalDim is None else globalDim
 */
  }

  /* "cuda/cuda.pyx":39339
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 */
  __pyx_t_2 = (__pyx_v_globalDim == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39339, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":39340
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 *     cdef ccuda.cuuint32_t ctensorRank
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_23cuTensorMapEncodeIm2col_12genexpr(NULL, __pyx_v_globalDim); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39340, __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(1, 39340, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":39341
 *     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 List[ccuda.cuuint64_t,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.cuuint32_t ctensorRank
 *     if tensorRank is None:
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__903, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39341, __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(1, 39341, __pyx_L1_error)

    /* "cuda/cuda.pyx":39340
 *         raise TypeError("Argument 'globalStrides' is not instance of type (expected List[ccuda.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 List[ccuda.cuuint64_t,]")
 *     cdef ccuda.cuuint32_t ctensorRank
 */
  }

  /* "cuda/cuda.pyx":39343
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected List[ccuda.cuuint64_t,]")
 *     cdef ccuda.cuuint32_t ctensorRank
 *     if tensorRank is None:             # <<<<<<<<<<<<<<
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(tensorRank, (cuuint32_t,)):
 */
  __pyx_t_4 = (__pyx_v_tensorRank == Py_None);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":39344
 *     cdef ccuda.cuuint32_t ctensorRank
 *     if tensorRank is None:
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(tensorRank, (cuuint32_t,)):
 *         ptensorRank = int(tensorRank)
 */
    __pyx_v_ctensorRank = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":39343
 *         raise TypeError("Argument 'globalDim' is not instance of type (expected List[ccuda.cuuint64_t,]")
 *     cdef ccuda.cuuint32_t ctensorRank
 *     if tensorRank is None:             # <<<<<<<<<<<<<<
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(tensorRank, (cuuint32_t,)):
 */
    goto __pyx_L10;
  }

  /* "cuda/cuda.pyx":39345
 *     if tensorRank is None:
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(tensorRank, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ptensorRank = int(tensorRank)
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank
 */
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_tensorRank, __pyx_ptype_4cuda_4cuda_cuuint32_t); 
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":39346
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(tensorRank, (cuuint32_t,)):
 *         ptensorRank = int(tensorRank)             # <<<<<<<<<<<<<<
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_tensorRank); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_ptensorRank = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":39347
 *     elif isinstance(tensorRank, (cuuint32_t,)):
 *         ptensorRank = int(tensorRank)
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank             # <<<<<<<<<<<<<<
 *     else:
 *         ptensorRank = int(cuuint32_t(tensorRank))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptensorRank); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39347, __pyx_L1_error)
    __pyx_v_ctensorRank = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":39345
 *     if tensorRank is None:
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>0
 *     elif isinstance(tensorRank, (cuuint32_t,)):             # <<<<<<<<<<<<<<
 *         ptensorRank = int(tensorRank)
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank
 */
    goto __pyx_L10;
  }

  /* "cuda/cuda.pyx":39349
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank
 *     else:
 *         ptensorRank = int(cuuint32_t(tensorRank))             # <<<<<<<<<<<<<<
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank
 *     cdef CUtensorMap tensorMap = CUtensorMap()
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint32_t), __pyx_v_tensorRank); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_ptensorRank = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "cuda/cuda.pyx":39350
 *     else:
 *         ptensorRank = int(cuuint32_t(tensorRank))
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank             # <<<<<<<<<<<<<<
 *     cdef CUtensorMap tensorMap = CUtensorMap()
 *     cdef ccuda.CUtensorMapDataType ctensorDataType = tensorDataType.value
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptensorRank); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39350, __pyx_L1_error)
    __pyx_v_ctensorRank = ((cuuint32_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L10:;

  /* "cuda/cuda.pyx":39351
 *         ptensorRank = int(cuuint32_t(tensorRank))
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank
 *     cdef CUtensorMap tensorMap = CUtensorMap()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUtensorMapDataType ctensorDataType = tensorDataType.value
 *     cglobalAddress = utils.HelperInputVoidPtr(globalAddress)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUtensorMap)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_tensorMap = ((struct __pyx_obj_4cuda_4cuda_CUtensorMap *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":39352
 *         ctensorRank = <ccuda.cuuint32_t><void_ptr>ptensorRank
 *     cdef CUtensorMap tensorMap = CUtensorMap()
 *     cdef ccuda.CUtensorMapDataType ctensorDataType = tensorDataType.value             # <<<<<<<<<<<<<<
 *     cglobalAddress = utils.HelperInputVoidPtr(globalAddress)
 *     cdef void* cglobalAddress_ptr = <void*><void_ptr>cglobalAddress.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_tensorDataType, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = ((enum CUtensorMapDataType_enum)__Pyx_PyInt_As_enum__CUtensorMapDataType_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39352, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ctensorDataType = __pyx_t_6;

  /* "cuda/cuda.pyx":39353
 *     cdef CUtensorMap tensorMap = CUtensorMap()
 *     cdef ccuda.CUtensorMapDataType ctensorDataType = tensorDataType.value
 *     cglobalAddress = utils.HelperInputVoidPtr(globalAddress)             # <<<<<<<<<<<<<<
 *     cdef void* cglobalAddress_ptr = <void*><void_ptr>cglobalAddress.cptr
 *     cdef ccuda.cuuint64_t* cglobalDim = NULL
 */
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_globalAddress); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_cglobalAddress = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":39354
 *     cdef ccuda.CUtensorMapDataType ctensorDataType = tensorDataType.value
 *     cglobalAddress = utils.HelperInputVoidPtr(globalAddress)
 *     cdef void* cglobalAddress_ptr = <void*><void_ptr>cglobalAddress.cptr             # <<<<<<<<<<<<<<
 *     cdef ccuda.cuuint64_t* cglobalDim = NULL
 *     if len(globalDim) > 0:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cglobalAddress, __pyx_n_s_cptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39354, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cglobalAddress_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

  /* "cuda/cuda.pyx":39355
 *     cglobalAddress = utils.HelperInputVoidPtr(globalAddress)
 *     cdef void* cglobalAddress_ptr = <void*><void_ptr>cglobalAddress.cptr
 *     cdef ccuda.cuuint64_t* cglobalDim = NULL             # <<<<<<<<<<<<<<
 *     if len(globalDim) > 0:
 *         cglobalDim = <ccuda.cuuint64_t*> calloc(len(globalDim), sizeof(ccuda.cuuint64_t))
 */
  __pyx_v_cglobalDim = NULL;

  /* "cuda/cuda.pyx":39356
 *     cdef void* cglobalAddress_ptr = <void*><void_ptr>cglobalAddress.cptr
 *     cdef ccuda.cuuint64_t* cglobalDim = NULL
 *     if len(globalDim) > 0:             # <<<<<<<<<<<<<<
 *         cglobalDim = <ccuda.cuuint64_t*> calloc(len(globalDim), sizeof(ccuda.cuuint64_t))
 *         if cglobalDim is NULL:
 */
  if (unlikely(__pyx_v_globalDim == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 39356, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalDim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39356, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":39357
 *     cdef ccuda.cuuint64_t* cglobalDim = NULL
 *     if len(globalDim) > 0:
 *         cglobalDim = <ccuda.cuuint64_t*> calloc(len(globalDim), sizeof(ccuda.cuuint64_t))             # <<<<<<<<<<<<<<
 *         if cglobalDim is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(ccuda.cuuint64_t)))
 */
    if (unlikely(__pyx_v_globalDim == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 39357, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalDim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39357, __pyx_L1_error)
    __pyx_v_cglobalDim = ((cuuint64_t *)calloc(__pyx_t_7, (sizeof(cuuint64_t))));

    /* "cuda/cuda.pyx":39358
 *     if len(globalDim) > 0:
 *         cglobalDim = <ccuda.cuuint64_t*> calloc(len(globalDim), sizeof(ccuda.cuuint64_t))
 *         if cglobalDim is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(ccuda.cuuint64_t)))
 *         else:
 */
    __pyx_t_4 = (__pyx_v_cglobalDim == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":39359
 *         cglobalDim = <ccuda.cuuint64_t*> calloc(len(globalDim), sizeof(ccuda.cuuint64_t))
 *         if cglobalDim is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(ccuda.cuuint64_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(globalDim)):
 */
      if (unlikely(__pyx_v_globalDim == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 39359, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalDim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39359, __pyx_L1_error)
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cuuint64_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39359, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(1, 39359, __pyx_L1_error)

      /* "cuda/cuda.pyx":39358
 *     if len(globalDim) > 0:
 *         cglobalDim = <ccuda.cuuint64_t*> calloc(len(globalDim), sizeof(ccuda.cuuint64_t))
 *         if cglobalDim is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(ccuda.cuuint64_t)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":39361
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalDim)) + 'x' + str(sizeof(ccuda.cuuint64_t)))
 *         else:
 *             for idx in range(len(globalDim)):             # <<<<<<<<<<<<<<
 *                 cglobalDim[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalDim[idx])._ptr[0]
 *     cdef ccuda.cuuint64_t* cglobalStrides = NULL
 */
    /*else*/ {
      if (unlikely(__pyx_v_globalDim == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 39361, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalDim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39361, __pyx_L1_error)
      __pyx_t_9 = __pyx_t_7;
      for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
        __pyx_v_idx = __pyx_t_10;

        /* "cuda/cuda.pyx":39362
 *         else:
 *             for idx in range(len(globalDim)):
 *                 cglobalDim[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalDim[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef ccuda.cuuint64_t* cglobalStrides = NULL
 *     if len(globalStrides) > 0:
 */
        if (unlikely(__pyx_v_globalDim == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 39362, __pyx_L1_error)
        }
        __pyx_t_8 = __Pyx_GetItemInt_List(__pyx_v_globalDim, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39362, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        (__pyx_v_cglobalDim[__pyx_v_idx]) = ((cuuint64_t)(((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_t_8)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      }
    }

    /* "cuda/cuda.pyx":39356
 *     cdef void* cglobalAddress_ptr = <void*><void_ptr>cglobalAddress.cptr
 *     cdef ccuda.cuuint64_t* cglobalDim = NULL
 *     if len(globalDim) > 0:             # <<<<<<<<<<<<<<
 *         cglobalDim = <ccuda.cuuint64_t*> calloc(len(globalDim), sizeof(ccuda.cuuint64_t))
 *         if cglobalDim is NULL:
 */
  }

  /* "cuda/cuda.pyx":39363
 *             for idx in range(len(globalDim)):
 *                 cglobalDim[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalDim[idx])._ptr[0]
 *     cdef ccuda.cuuint64_t* cglobalStrides = NULL             # <<<<<<<<<<<<<<
 *     if len(globalStrides) > 0:
 *         cglobalStrides = <ccuda.cuuint64_t*> calloc(len(globalStrides), sizeof(ccuda.cuuint64_t))
 */
  __pyx_v_cglobalStrides = NULL;

  /* "cuda/cuda.pyx":39364
 *                 cglobalDim[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalDim[idx])._ptr[0]
 *     cdef ccuda.cuuint64_t* cglobalStrides = NULL
 *     if len(globalStrides) > 0:             # <<<<<<<<<<<<<<
 *         cglobalStrides = <ccuda.cuuint64_t*> calloc(len(globalStrides), sizeof(ccuda.cuuint64_t))
 *         if cglobalStrides is NULL:
 */
  if (unlikely(__pyx_v_globalStrides == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 39364, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39364, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":39365
 *     cdef ccuda.cuuint64_t* cglobalStrides = NULL
 *     if len(globalStrides) > 0:
 *         cglobalStrides = <ccuda.cuuint64_t*> calloc(len(globalStrides), sizeof(ccuda.cuuint64_t))             # <<<<<<<<<<<<<<
 *         if cglobalStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(ccuda.cuuint64_t)))
 */
    if (unlikely(__pyx_v_globalStrides == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 39365, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39365, __pyx_L1_error)
    __pyx_v_cglobalStrides = ((cuuint64_t *)calloc(__pyx_t_7, (sizeof(cuuint64_t))));

    /* "cuda/cuda.pyx":39366
 *     if len(globalStrides) > 0:
 *         cglobalStrides = <ccuda.cuuint64_t*> calloc(len(globalStrides), sizeof(ccuda.cuuint64_t))
 *         if cglobalStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(ccuda.cuuint64_t)))
 *         else:
 */
    __pyx_t_4 = (__pyx_v_cglobalStrides == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":39367
 *         cglobalStrides = <ccuda.cuuint64_t*> calloc(len(globalStrides), sizeof(ccuda.cuuint64_t))
 *         if cglobalStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(ccuda.cuuint64_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(globalStrides)):
 */
      if (unlikely(__pyx_v_globalStrides == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 39367, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39367, __pyx_L1_error)
      __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39367, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39367, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39367, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_n_u_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39367, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyInt_FromSize_t((sizeof(cuuint64_t))); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39367, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39367, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39367, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39367, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(1, 39367, __pyx_L1_error)

      /* "cuda/cuda.pyx":39366
 *     if len(globalStrides) > 0:
 *         cglobalStrides = <ccuda.cuuint64_t*> calloc(len(globalStrides), sizeof(ccuda.cuuint64_t))
 *         if cglobalStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(ccuda.cuuint64_t)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":39369
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(globalStrides)) + 'x' + str(sizeof(ccuda.cuuint64_t)))
 *         else:
 *             for idx in range(len(globalStrides)):             # <<<<<<<<<<<<<<
 *                 cglobalStrides[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalStrides[idx])._ptr[0]
 *     cdef vector[int] cpixelBoxLowerCorner = [pypixelBoxLowerCorner for pypixelBoxLowerCorner in (pixelBoxLowerCorner)]
 */
    /*else*/ {
      if (unlikely(__pyx_v_globalStrides == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 39369, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39369, __pyx_L1_error)
      __pyx_t_9 = __pyx_t_7;
      for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
        __pyx_v_idx = __pyx_t_10;

        /* "cuda/cuda.pyx":39370
 *         else:
 *             for idx in range(len(globalStrides)):
 *                 cglobalStrides[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalStrides[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef vector[int] cpixelBoxLowerCorner = [pypixelBoxLowerCorner for pypixelBoxLowerCorner in (pixelBoxLowerCorner)]
 *     cdef vector[int] cpixelBoxUpperCorner = [pypixelBoxUpperCorner for pypixelBoxUpperCorner in (pixelBoxUpperCorner)]
 */
        if (unlikely(__pyx_v_globalStrides == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 39370, __pyx_L1_error)
        }
        __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_globalStrides, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39370, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        (__pyx_v_cglobalStrides[__pyx_v_idx]) = ((cuuint64_t)(((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_t_3)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    }

    /* "cuda/cuda.pyx":39364
 *                 cglobalDim[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalDim[idx])._ptr[0]
 *     cdef ccuda.cuuint64_t* cglobalStrides = NULL
 *     if len(globalStrides) > 0:             # <<<<<<<<<<<<<<
 *         cglobalStrides = <ccuda.cuuint64_t*> calloc(len(globalStrides), sizeof(ccuda.cuuint64_t))
 *         if cglobalStrides is NULL:
 */
  }

  /* "cuda/cuda.pyx":39371
 *             for idx in range(len(globalStrides)):
 *                 cglobalStrides[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalStrides[idx])._ptr[0]
 *     cdef vector[int] cpixelBoxLowerCorner = [pypixelBoxLowerCorner for pypixelBoxLowerCorner in (pixelBoxLowerCorner)]             # <<<<<<<<<<<<<<
 *     cdef vector[int] cpixelBoxUpperCorner = [pypixelBoxUpperCorner for pypixelBoxUpperCorner in (pixelBoxUpperCorner)]
 *     cdef ccuda.cuuint32_t* celementStrides = NULL
 */
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39371, __pyx_L21_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (unlikely(__pyx_v_pixelBoxLowerCorner == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(1, 39371, __pyx_L21_error)
    }
    __pyx_t_8 = __pyx_v_pixelBoxLowerCorner; __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 39371, __pyx_L21_error)
        #endif
        if (__pyx_t_7 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_1 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(1, 39371, __pyx_L21_error)
      #else
      __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39371, __pyx_L21_error)
      __Pyx_GOTREF(__pyx_t_1);
      #endif
      __Pyx_XDECREF_SET(__pyx_10genexpr199__pyx_v_pypixelBoxLowerCorner, __pyx_t_1);
      __pyx_t_1 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_10genexpr199__pyx_v_pypixelBoxLowerCorner))) __PYX_ERR(1, 39371, __pyx_L21_error)
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_10genexpr199__pyx_v_pypixelBoxLowerCorner); __pyx_10genexpr199__pyx_v_pypixelBoxLowerCorner = 0;
    goto __pyx_L25_exit_scope;
    __pyx_L21_error:;
    __Pyx_XDECREF(__pyx_10genexpr199__pyx_v_pypixelBoxLowerCorner); __pyx_10genexpr199__pyx_v_pypixelBoxLowerCorner = 0;
    goto __pyx_L1_error;
    __pyx_L25_exit_scope:;
  } /* exit inner scope */
  __pyx_t_11 = __pyx_convert_vector_from_py_int(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cpixelBoxLowerCorner = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_11);

  /* "cuda/cuda.pyx":39372
 *                 cglobalStrides[idx] = <ccuda.cuuint64_t>(<cuuint64_t>globalStrides[idx])._ptr[0]
 *     cdef vector[int] cpixelBoxLowerCorner = [pypixelBoxLowerCorner for pypixelBoxLowerCorner in (pixelBoxLowerCorner)]
 *     cdef vector[int] cpixelBoxUpperCorner = [pypixelBoxUpperCorner for pypixelBoxUpperCorner in (pixelBoxUpperCorner)]             # <<<<<<<<<<<<<<
 *     cdef ccuda.cuuint32_t* celementStrides = NULL
 *     if len(elementStrides) > 0:
 */
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39372, __pyx_L28_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (unlikely(__pyx_v_pixelBoxUpperCorner == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(1, 39372, __pyx_L28_error)
    }
    __pyx_t_8 = __pyx_v_pixelBoxUpperCorner; __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_MACROS
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 39372, __pyx_L28_error)
        #endif
        if (__pyx_t_7 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_1 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(1, 39372, __pyx_L28_error)
      #else
      __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39372, __pyx_L28_error)
      __Pyx_GOTREF(__pyx_t_1);
      #endif
      __Pyx_XDECREF_SET(__pyx_10genexpr200__pyx_v_pypixelBoxUpperCorner, __pyx_t_1);
      __pyx_t_1 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_10genexpr200__pyx_v_pypixelBoxUpperCorner))) __PYX_ERR(1, 39372, __pyx_L28_error)
    }
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_XDECREF(__pyx_10genexpr200__pyx_v_pypixelBoxUpperCorner); __pyx_10genexpr200__pyx_v_pypixelBoxUpperCorner = 0;
    goto __pyx_L32_exit_scope;
    __pyx_L28_error:;
    __Pyx_XDECREF(__pyx_10genexpr200__pyx_v_pypixelBoxUpperCorner); __pyx_10genexpr200__pyx_v_pypixelBoxUpperCorner = 0;
    goto __pyx_L1_error;
    __pyx_L32_exit_scope:;
  } /* exit inner scope */
  __pyx_t_11 = __pyx_convert_vector_from_py_int(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39372, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cpixelBoxUpperCorner = __PYX_STD_MOVE_IF_SUPPORTED(__pyx_t_11);

  /* "cuda/cuda.pyx":39373
 *     cdef vector[int] cpixelBoxLowerCorner = [pypixelBoxLowerCorner for pypixelBoxLowerCorner in (pixelBoxLowerCorner)]
 *     cdef vector[int] cpixelBoxUpperCorner = [pypixelBoxUpperCorner for pypixelBoxUpperCorner in (pixelBoxUpperCorner)]
 *     cdef ccuda.cuuint32_t* celementStrides = NULL             # <<<<<<<<<<<<<<
 *     if len(elementStrides) > 0:
 *         celementStrides = <ccuda.cuuint32_t*> calloc(len(elementStrides), sizeof(ccuda.cuuint32_t))
 */
  __pyx_v_celementStrides = NULL;

  /* "cuda/cuda.pyx":39374
 *     cdef vector[int] cpixelBoxUpperCorner = [pypixelBoxUpperCorner for pypixelBoxUpperCorner in (pixelBoxUpperCorner)]
 *     cdef ccuda.cuuint32_t* celementStrides = NULL
 *     if len(elementStrides) > 0:             # <<<<<<<<<<<<<<
 *         celementStrides = <ccuda.cuuint32_t*> calloc(len(elementStrides), sizeof(ccuda.cuuint32_t))
 *         if celementStrides is NULL:
 */
  if (unlikely(__pyx_v_elementStrides == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 39374, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_elementStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39374, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":39375
 *     cdef ccuda.cuuint32_t* celementStrides = NULL
 *     if len(elementStrides) > 0:
 *         celementStrides = <ccuda.cuuint32_t*> calloc(len(elementStrides), sizeof(ccuda.cuuint32_t))             # <<<<<<<<<<<<<<
 *         if celementStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(ccuda.cuuint32_t)))
 */
    if (unlikely(__pyx_v_elementStrides == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 39375, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_elementStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39375, __pyx_L1_error)
    __pyx_v_celementStrides = ((cuuint32_t *)calloc(__pyx_t_7, (sizeof(cuuint32_t))));

    /* "cuda/cuda.pyx":39376
 *     if len(elementStrides) > 0:
 *         celementStrides = <ccuda.cuuint32_t*> calloc(len(elementStrides), sizeof(ccuda.cuuint32_t))
 *         if celementStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(ccuda.cuuint32_t)))
 *         else:
 */
    __pyx_t_4 = (__pyx_v_celementStrides == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":39377
 *         celementStrides = <ccuda.cuuint32_t*> calloc(len(elementStrides), sizeof(ccuda.cuuint32_t))
 *         if celementStrides is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(ccuda.cuuint32_t)))             # <<<<<<<<<<<<<<
 *         else:
 *             for idx in range(len(elementStrides)):
 */
      if (unlikely(__pyx_v_elementStrides == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 39377, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_elementStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39377, __pyx_L1_error)
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39377, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_8 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39377, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39377, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39377, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(cuuint32_t))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39377, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39377, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_t_8, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39377, __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 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39377, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(1, 39377, __pyx_L1_error)

      /* "cuda/cuda.pyx":39376
 *     if len(elementStrides) > 0:
 *         celementStrides = <ccuda.cuuint32_t*> calloc(len(elementStrides), sizeof(ccuda.cuuint32_t))
 *         if celementStrides is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(ccuda.cuuint32_t)))
 *         else:
 */
    }

    /* "cuda/cuda.pyx":39379
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(elementStrides)) + 'x' + str(sizeof(ccuda.cuuint32_t)))
 *         else:
 *             for idx in range(len(elementStrides)):             # <<<<<<<<<<<<<<
 *                 celementStrides[idx] = <ccuda.cuuint32_t>(<cuuint32_t>elementStrides[idx])._ptr[0]
 *     cdef ccuda.CUtensorMapInterleave cinterleave = interleave.value
 */
    /*else*/ {
      if (unlikely(__pyx_v_elementStrides == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 39379, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_elementStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39379, __pyx_L1_error)
      __pyx_t_9 = __pyx_t_7;
      for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
        __pyx_v_idx = __pyx_t_10;

        /* "cuda/cuda.pyx":39380
 *         else:
 *             for idx in range(len(elementStrides)):
 *                 celementStrides[idx] = <ccuda.cuuint32_t>(<cuuint32_t>elementStrides[idx])._ptr[0]             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUtensorMapInterleave cinterleave = interleave.value
 *     cdef ccuda.CUtensorMapSwizzle cswizzle = swizzle.value
 */
        if (unlikely(__pyx_v_elementStrides == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
          __PYX_ERR(1, 39380, __pyx_L1_error)
        }
        __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_elementStrides, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39380, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        (__pyx_v_celementStrides[__pyx_v_idx]) = ((cuuint32_t)(((struct __pyx_obj_4cuda_4cuda_cuuint32_t *)__pyx_t_1)->_ptr[0]));
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      }
    }

    /* "cuda/cuda.pyx":39374
 *     cdef vector[int] cpixelBoxUpperCorner = [pypixelBoxUpperCorner for pypixelBoxUpperCorner in (pixelBoxUpperCorner)]
 *     cdef ccuda.cuuint32_t* celementStrides = NULL
 *     if len(elementStrides) > 0:             # <<<<<<<<<<<<<<
 *         celementStrides = <ccuda.cuuint32_t*> calloc(len(elementStrides), sizeof(ccuda.cuuint32_t))
 *         if celementStrides is NULL:
 */
  }

  /* "cuda/cuda.pyx":39381
 *             for idx in range(len(elementStrides)):
 *                 celementStrides[idx] = <ccuda.cuuint32_t>(<cuuint32_t>elementStrides[idx])._ptr[0]
 *     cdef ccuda.CUtensorMapInterleave cinterleave = interleave.value             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUtensorMapSwizzle cswizzle = swizzle.value
 *     cdef ccuda.CUtensorMapL2promotion cl2Promotion = l2Promotion.value
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_interleave, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_12 = ((enum CUtensorMapInterleave_enum)__Pyx_PyInt_As_enum__CUtensorMapInterleave_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cinterleave = __pyx_t_12;

  /* "cuda/cuda.pyx":39382
 *                 celementStrides[idx] = <ccuda.cuuint32_t>(<cuuint32_t>elementStrides[idx])._ptr[0]
 *     cdef ccuda.CUtensorMapInterleave cinterleave = interleave.value
 *     cdef ccuda.CUtensorMapSwizzle cswizzle = swizzle.value             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUtensorMapL2promotion cl2Promotion = l2Promotion.value
 *     cdef ccuda.CUtensorMapFloatOOBfill coobFill = oobFill.value
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_swizzle, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_13 = ((enum CUtensorMapSwizzle_enum)__Pyx_PyInt_As_enum__CUtensorMapSwizzle_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39382, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cswizzle = __pyx_t_13;

  /* "cuda/cuda.pyx":39383
 *     cdef ccuda.CUtensorMapInterleave cinterleave = interleave.value
 *     cdef ccuda.CUtensorMapSwizzle cswizzle = swizzle.value
 *     cdef ccuda.CUtensorMapL2promotion cl2Promotion = l2Promotion.value             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUtensorMapFloatOOBfill coobFill = oobFill.value
 *     err = ccuda.cuTensorMapEncodeIm2col(<ccuda.CUtensorMap*>tensorMap._ptr, ctensorDataType, ctensorRank, cglobalAddress_ptr, <ccuda.cuuint64_t*>(<cuuint64_t>globalDim[0])._ptr if len(globalDim) == 1 else cglobalDim, <ccuda.cuuint64_t*>(<cuuint64_t>globalStrides[0])._ptr if len(globalStrides) == 1 else cglobalStrides, cpixelBoxLowerCorner.data(), cpixelBoxUpperCorner.data(), cchannelsPerPixel, cpixelsPerColumn, <ccuda.cuuint32_t*>(<cuuint32_t>elementStrides[0])._ptr if len(elementStrides) == 1 else celementStrides, cinterleave, cswizzle, cl2Promotion, coobFill)
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_l2Promotion, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = ((enum CUtensorMapL2promotion_enum)__Pyx_PyInt_As_enum__CUtensorMapL2promotion_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cl2Promotion = __pyx_t_14;

  /* "cuda/cuda.pyx":39384
 *     cdef ccuda.CUtensorMapSwizzle cswizzle = swizzle.value
 *     cdef ccuda.CUtensorMapL2promotion cl2Promotion = l2Promotion.value
 *     cdef ccuda.CUtensorMapFloatOOBfill coobFill = oobFill.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTensorMapEncodeIm2col(<ccuda.CUtensorMap*>tensorMap._ptr, ctensorDataType, ctensorRank, cglobalAddress_ptr, <ccuda.cuuint64_t*>(<cuuint64_t>globalDim[0])._ptr if len(globalDim) == 1 else cglobalDim, <ccuda.cuuint64_t*>(<cuuint64_t>globalStrides[0])._ptr if len(globalStrides) == 1 else cglobalStrides, cpixelBoxLowerCorner.data(), cpixelBoxUpperCorner.data(), cchannelsPerPixel, cpixelsPerColumn, <ccuda.cuuint32_t*>(<cuuint32_t>elementStrides[0])._ptr if len(elementStrides) == 1 else celementStrides, cinterleave, cswizzle, cl2Promotion, coobFill)
 *     if cglobalDim is not NULL:
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_oobFill, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_15 = ((enum CUtensorMapFloatOOBfill_enum)__Pyx_PyInt_As_enum__CUtensorMapFloatOOBfill_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39384, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_coobFill = __pyx_t_15;

  /* "cuda/cuda.pyx":39385
 *     cdef ccuda.CUtensorMapL2promotion cl2Promotion = l2Promotion.value
 *     cdef ccuda.CUtensorMapFloatOOBfill coobFill = oobFill.value
 *     err = ccuda.cuTensorMapEncodeIm2col(<ccuda.CUtensorMap*>tensorMap._ptr, ctensorDataType, ctensorRank, cglobalAddress_ptr, <ccuda.cuuint64_t*>(<cuuint64_t>globalDim[0])._ptr if len(globalDim) == 1 else cglobalDim, <ccuda.cuuint64_t*>(<cuuint64_t>globalStrides[0])._ptr if len(globalStrides) == 1 else cglobalStrides, cpixelBoxLowerCorner.data(), cpixelBoxUpperCorner.data(), cchannelsPerPixel, cpixelsPerColumn, <ccuda.cuuint32_t*>(<cuuint32_t>elementStrides[0])._ptr if len(elementStrides) == 1 else celementStrides, cinterleave, cswizzle, cl2Promotion, coobFill)             # <<<<<<<<<<<<<<
 *     if cglobalDim is not NULL:
 *         free(cglobalDim)
 */
  if (unlikely(__pyx_v_globalDim == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 39385, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalDim); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39385, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_globalDim == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 39385, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_globalDim, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_16 = ((cuuint64_t *)((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_t_1)->_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_16 = __pyx_v_cglobalDim;
  }
  if (unlikely(__pyx_v_globalStrides == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 39385, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_globalStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39385, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_globalStrides == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 39385, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_globalStrides, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_17 = ((cuuint64_t *)((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)__pyx_t_1)->_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_17 = __pyx_v_cglobalStrides;
  }
  if (unlikely(__pyx_v_elementStrides == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 39385, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_elementStrides); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(1, 39385, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_7 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_elementStrides == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 39385, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_elementStrides, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_18 = ((cuuint32_t *)((struct __pyx_obj_4cuda_4cuda_cuuint32_t *)__pyx_t_1)->_ptr);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_18 = __pyx_v_celementStrides;
  }
  __pyx_t_19 = __pyx_f_4cuda_5ccuda_cuTensorMapEncodeIm2col(((CUtensorMap *)__pyx_v_tensorMap->__pyx_base._ptr), __pyx_v_ctensorDataType, __pyx_v_ctensorRank, __pyx_v_cglobalAddress_ptr, __pyx_t_16, __pyx_t_17, __pyx_v_cpixelBoxLowerCorner.data(), __pyx_v_cpixelBoxUpperCorner.data(), __pyx_v_cchannelsPerPixel, __pyx_v_cpixelsPerColumn, __pyx_t_18, __pyx_v_cinterleave, __pyx_v_cswizzle, __pyx_v_cl2Promotion, __pyx_v_coobFill); if (unlikely(__pyx_t_19 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 39385, __pyx_L1_error)
  __pyx_v_err = __pyx_t_19;

  /* "cuda/cuda.pyx":39386
 *     cdef ccuda.CUtensorMapFloatOOBfill coobFill = oobFill.value
 *     err = ccuda.cuTensorMapEncodeIm2col(<ccuda.CUtensorMap*>tensorMap._ptr, ctensorDataType, ctensorRank, cglobalAddress_ptr, <ccuda.cuuint64_t*>(<cuuint64_t>globalDim[0])._ptr if len(globalDim) == 1 else cglobalDim, <ccuda.cuuint64_t*>(<cuuint64_t>globalStrides[0])._ptr if len(globalStrides) == 1 else cglobalStrides, cpixelBoxLowerCorner.data(), cpixelBoxUpperCorner.data(), cchannelsPerPixel, cpixelsPerColumn, <ccuda.cuuint32_t*>(<cuuint32_t>elementStrides[0])._ptr if len(elementStrides) == 1 else celementStrides, cinterleave, cswizzle, cl2Promotion, coobFill)
 *     if cglobalDim is not NULL:             # <<<<<<<<<<<<<<
 *         free(cglobalDim)
 *     if cglobalStrides is not NULL:
 */
  __pyx_t_4 = (__pyx_v_cglobalDim != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":39387
 *     err = ccuda.cuTensorMapEncodeIm2col(<ccuda.CUtensorMap*>tensorMap._ptr, ctensorDataType, ctensorRank, cglobalAddress_ptr, <ccuda.cuuint64_t*>(<cuuint64_t>globalDim[0])._ptr if len(globalDim) == 1 else cglobalDim, <ccuda.cuuint64_t*>(<cuuint64_t>globalStrides[0])._ptr if len(globalStrides) == 1 else cglobalStrides, cpixelBoxLowerCorner.data(), cpixelBoxUpperCorner.data(), cchannelsPerPixel, cpixelsPerColumn, <ccuda.cuuint32_t*>(<cuuint32_t>elementStrides[0])._ptr if len(elementStrides) == 1 else celementStrides, cinterleave, cswizzle, cl2Promotion, coobFill)
 *     if cglobalDim is not NULL:
 *         free(cglobalDim)             # <<<<<<<<<<<<<<
 *     if cglobalStrides is not NULL:
 *         free(cglobalStrides)
 */
    free(__pyx_v_cglobalDim);

    /* "cuda/cuda.pyx":39386
 *     cdef ccuda.CUtensorMapFloatOOBfill coobFill = oobFill.value
 *     err = ccuda.cuTensorMapEncodeIm2col(<ccuda.CUtensorMap*>tensorMap._ptr, ctensorDataType, ctensorRank, cglobalAddress_ptr, <ccuda.cuuint64_t*>(<cuuint64_t>globalDim[0])._ptr if len(globalDim) == 1 else cglobalDim, <ccuda.cuuint64_t*>(<cuuint64_t>globalStrides[0])._ptr if len(globalStrides) == 1 else cglobalStrides, cpixelBoxLowerCorner.data(), cpixelBoxUpperCorner.data(), cchannelsPerPixel, cpixelsPerColumn, <ccuda.cuuint32_t*>(<cuuint32_t>elementStrides[0])._ptr if len(elementStrides) == 1 else celementStrides, cinterleave, cswizzle, cl2Promotion, coobFill)
 *     if cglobalDim is not NULL:             # <<<<<<<<<<<<<<
 *         free(cglobalDim)
 *     if cglobalStrides is not NULL:
 */
  }

  /* "cuda/cuda.pyx":39388
 *     if cglobalDim is not NULL:
 *         free(cglobalDim)
 *     if cglobalStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(cglobalStrides)
 *     if celementStrides is not NULL:
 */
  __pyx_t_4 = (__pyx_v_cglobalStrides != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":39389
 *         free(cglobalDim)
 *     if cglobalStrides is not NULL:
 *         free(cglobalStrides)             # <<<<<<<<<<<<<<
 *     if celementStrides is not NULL:
 *         free(celementStrides)
 */
    free(__pyx_v_cglobalStrides);

    /* "cuda/cuda.pyx":39388
 *     if cglobalDim is not NULL:
 *         free(cglobalDim)
 *     if cglobalStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(cglobalStrides)
 *     if celementStrides is not NULL:
 */
  }

  /* "cuda/cuda.pyx":39390
 *     if cglobalStrides is not NULL:
 *         free(cglobalStrides)
 *     if celementStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(celementStrides)
 *     return (CUresult(err), tensorMap)
 */
  __pyx_t_4 = (__pyx_v_celementStrides != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":39391
 *         free(cglobalStrides)
 *     if celementStrides is not NULL:
 *         free(celementStrides)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), tensorMap)
 * 
 */
    free(__pyx_v_celementStrides);

    /* "cuda/cuda.pyx":39390
 *     if cglobalStrides is not NULL:
 *         free(cglobalStrides)
 *     if celementStrides is not NULL:             # <<<<<<<<<<<<<<
 *         free(celementStrides)
 *     return (CUresult(err), tensorMap)
 */
  }

  /* "cuda/cuda.pyx":39392
 *     if celementStrides is not NULL:
 *         free(celementStrides)
 *     return (CUresult(err), tensorMap)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 39392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_20 = NULL;
  __pyx_t_21 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_20)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_20);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_21 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_20, __pyx_t_8};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_21, 1+__pyx_t_21);
    __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 39392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39392, __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)) __PYX_ERR(1, 39392, __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))) __PYX_ERR(1, 39392, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":39121
 *     return (CUresult(err), tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeIm2col(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[List[cuuint64_t]], globalStrides : Optional[List[cuuint64_t]], pixelBoxLowerCorner : Optional[List[int]], pixelBoxUpperCorner : Optional[List[int]], channelsPerPixel, pixelsPerColumn, elementStrides : Optional[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_8);
  __Pyx_XDECREF(__pyx_t_20);
  __Pyx_AddTraceback("cuda.cuda.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(__pyx_v_cglobalAddress);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_2generator56);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_5generator57);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_8generator58);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_11generator59);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_23cuTensorMapEncodeIm2col_14generator60);
  __Pyx_XDECREF(__pyx_10genexpr199__pyx_v_pypixelBoxLowerCorner);
  __Pyx_XDECREF(__pyx_10genexpr200__pyx_v_pypixelBoxUpperCorner);
  __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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":39394
 *     return (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_4cuda_801cuTensorMapReplaceAddress(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_800cuTensorMapReplaceAddress, "cuTensorMapReplaceAddress(CUtensorMap tensorMap: Optional[CUtensorMap], globalAddress)\n Modify an existing tensor map descriptor with an updated global address.\n\n    Modifies the descriptor for Tensor Memory Access (TMA) object passed in\n    `tensorMap` with an updated `globalAddress`.\n\n    Tensor map objects are only supported on devices of compute capability\n    9.0 or higher. Additionally, a tensor map object is an opaque value,\n    and, as such, should only be accessed through CUDA API calls.\n\n    Parameters\n    ----------\n    tensorMap : :py:obj:`~.CUtensorMap`\n        Tensor map object to modify\n    globalAddress : Any\n        Starting address of memory region described by tensor, must follow\n        previous alignment requirements\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_VALUE`\n\n    See Also\n    --------\n    :py:obj:`~.cuTensorMapEncodeTiled`, :py:obj:`~.cuTensorMapEncodeIm2col`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_801cuTensorMapReplaceAddress = {"cuTensorMapReplaceAddress", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_801cuTensorMapReplaceAddress, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_800cuTensorMapReplaceAddress};
static PyObject *__pyx_pw_4cuda_4cuda_801cuTensorMapReplaceAddress(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_tensorMap,&__pyx_n_s_globalAddress,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_tensorMap)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39394, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_globalAddress)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39394, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuTensorMapReplaceAddress", 1, 2, 2, 1); __PYX_ERR(1, 39394, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuTensorMapReplaceAddress") < 0)) __PYX_ERR(1, 39394, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_tensorMap = ((struct __pyx_obj_4cuda_4cuda_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(1, 39394, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUtensorMap, 1, "tensorMap", 0))) __PYX_ERR(1, 39395, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_800cuTensorMapReplaceAddress(__pyx_self, __pyx_v_tensorMap, __pyx_v_globalAddress);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_800cuTensorMapReplaceAddress(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUtensorMap *__pyx_v_tensorMap, PyObject *__pyx_v_globalAddress) {
  CUtensorMap *__pyx_v_ctensorMap_ptr;
  PyObject *__pyx_v_cglobalAddress = NULL;
  void *__pyx_v_cglobalAddress_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct CUtensorMap_st *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_4;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__907)
  __Pyx_RefNannySetupContext("cuTensorMapReplaceAddress", 1);
  __Pyx_TraceCall("cuTensorMapReplaceAddress", __pyx_f[1], 39394, 0, __PYX_ERR(1, 39394, __pyx_L1_error));

  /* "cuda/cuda.pyx":39422
 *     :py:obj:`~.cuTensorMapEncodeTiled`, :py:obj:`~.cuTensorMapEncodeIm2col`
 *     """
 *     cdef ccuda.CUtensorMap* ctensorMap_ptr = tensorMap._ptr if tensorMap != None else NULL             # <<<<<<<<<<<<<<
 *     cglobalAddress = utils.HelperInputVoidPtr(globalAddress)
 *     cdef void* cglobalAddress_ptr = <void*><void_ptr>cglobalAddress.cptr
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_tensorMap), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39422, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 39422, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = __pyx_v_tensorMap->__pyx_base._ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_ctensorMap_ptr = __pyx_t_1;

  /* "cuda/cuda.pyx":39423
 *     """
 *     cdef ccuda.CUtensorMap* ctensorMap_ptr = tensorMap._ptr if tensorMap != None else NULL
 *     cglobalAddress = utils.HelperInputVoidPtr(globalAddress)             # <<<<<<<<<<<<<<
 *     cdef void* cglobalAddress_ptr = <void*><void_ptr>cglobalAddress.cptr
 *     err = ccuda.cuTensorMapReplaceAddress(ctensorMap_ptr, cglobalAddress_ptr)
 */
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr), __pyx_v_globalAddress); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_cglobalAddress = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":39424
 *     cdef ccuda.CUtensorMap* ctensorMap_ptr = tensorMap._ptr if tensorMap != None else NULL
 *     cglobalAddress = utils.HelperInputVoidPtr(globalAddress)
 *     cdef void* cglobalAddress_ptr = <void*><void_ptr>cglobalAddress.cptr             # <<<<<<<<<<<<<<
 *     err = ccuda.cuTensorMapReplaceAddress(ctensorMap_ptr, cglobalAddress_ptr)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cglobalAddress, __pyx_n_s_cptr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_4 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39424, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cglobalAddress_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_4));

  /* "cuda/cuda.pyx":39425
 *     cglobalAddress = utils.HelperInputVoidPtr(globalAddress)
 *     cdef void* cglobalAddress_ptr = <void*><void_ptr>cglobalAddress.cptr
 *     err = ccuda.cuTensorMapReplaceAddress(ctensorMap_ptr, cglobalAddress_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuTensorMapReplaceAddress(__pyx_v_ctensorMap_ptr, __pyx_v_cglobalAddress_ptr); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 39425, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":39426
 *     cdef void* cglobalAddress_ptr = <void*><void_ptr>cglobalAddress.cptr
 *     err = ccuda.cuTensorMapReplaceAddress(ctensorMap_ptr, cglobalAddress_ptr)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 39426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 39426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39426, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 39426, __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)) __PYX_ERR(1, 39426, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":39394
 *     return (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_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuTensorMapReplaceAddress", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cglobalAddress);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":39428
 *     return (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_4cuda_803cuDeviceCanAccessPeer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_802cuDeviceCanAccessPeer, "cuDeviceCanAccessPeer(dev, peerDev)\n Queries if a device may directly access a peer device's memory.\n\n    Returns in `*canAccessPeer` a value of 1 if contexts on `dev` are\n    capable of directly accessing memory from contexts on `peerDev` and 0\n    otherwise. If direct access of `peerDev` from `dev` is possible, then\n    access may be enabled on two specific contexts by calling\n    :py:obj:`~.cuCtxEnablePeerAccess()`.\n\n    Parameters\n    ----------\n    dev : :py:obj:`~.CUdevice`\n        Device from which allocations on `peerDev` are to be directly\n        accessed.\n    peerDev : :py:obj:`~.CUdevice`\n        Device on which the allocations to be directly accessed by `dev`\n        reside.\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_DEVICE`\n    canAccessPeer : int\n        Returned access capability\n\n    See Also\n    --------\n    :py:obj:`~.cuCtxEnablePeerAccess`, :py:obj:`~.cuCtxDisablePeerAccess`, :py:obj:`~.cudaDeviceCanAccessPeer`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_803cuDeviceCanAccessPeer = {"cuDeviceCanAccessPeer", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_803cuDeviceCanAccessPeer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_802cuDeviceCanAccessPeer};
static PyObject *__pyx_pw_4cuda_4cuda_803cuDeviceCanAccessPeer(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dev,&__pyx_n_s_peerDev,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39428, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_peerDev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39428, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceCanAccessPeer", 1, 2, 2, 1); __PYX_ERR(1, 39428, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceCanAccessPeer") < 0)) __PYX_ERR(1, 39428, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 39428, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDeviceCanAccessPeer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_802cuDeviceCanAccessPeer(__pyx_self, __pyx_v_dev, __pyx_v_peerDev);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_802cuDeviceCanAccessPeer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dev, PyObject *__pyx_v_peerDev) {
  CUdevice __pyx_v_cpeerDev;
  PyObject *__pyx_v_ppeerDev = NULL;
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  int __pyx_v_canAccessPeer;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__908)
  __Pyx_RefNannySetupContext("cuDeviceCanAccessPeer", 1);
  __Pyx_TraceCall("cuDeviceCanAccessPeer", __pyx_f[1], 39428, 0, __PYX_ERR(1, 39428, __pyx_L1_error));

  /* "cuda/cuda.pyx":39459
 *     """
 *     cdef ccuda.CUdevice cpeerDev
 *     if peerDev is None:             # <<<<<<<<<<<<<<
 *         cpeerDev = <ccuda.CUdevice>0
 *     elif isinstance(peerDev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_peerDev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39460
 *     cdef ccuda.CUdevice cpeerDev
 *     if peerDev is None:
 *         cpeerDev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(peerDev, (CUdevice,)):
 *         ppeerDev = int(peerDev)
 */
    __pyx_v_cpeerDev = ((CUdevice)0);

    /* "cuda/cuda.pyx":39459
 *     """
 *     cdef ccuda.CUdevice cpeerDev
 *     if peerDev is None:             # <<<<<<<<<<<<<<
 *         cpeerDev = <ccuda.CUdevice>0
 *     elif isinstance(peerDev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39461
 *     if peerDev is None:
 *         cpeerDev = <ccuda.CUdevice>0
 *     elif isinstance(peerDev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         ppeerDev = int(peerDev)
 *         cpeerDev = <ccuda.CUdevice>ppeerDev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_peerDev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39462
 *         cpeerDev = <ccuda.CUdevice>0
 *     elif isinstance(peerDev, (CUdevice,)):
 *         ppeerDev = int(peerDev)             # <<<<<<<<<<<<<<
 *         cpeerDev = <ccuda.CUdevice>ppeerDev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_peerDev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39462, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppeerDev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":39463
 *     elif isinstance(peerDev, (CUdevice,)):
 *         ppeerDev = int(peerDev)
 *         cpeerDev = <ccuda.CUdevice>ppeerDev             # <<<<<<<<<<<<<<
 *     else:
 *         ppeerDev = int(CUdevice(peerDev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_ppeerDev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 39463, __pyx_L1_error)
    __pyx_v_cpeerDev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":39461
 *     if peerDev is None:
 *         cpeerDev = <ccuda.CUdevice>0
 *     elif isinstance(peerDev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         ppeerDev = int(peerDev)
 *         cpeerDev = <ccuda.CUdevice>ppeerDev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39465
 *         cpeerDev = <ccuda.CUdevice>ppeerDev
 *     else:
 *         ppeerDev = int(CUdevice(peerDev))             # <<<<<<<<<<<<<<
 *         cpeerDev = <ccuda.CUdevice>ppeerDev
 *     cdef ccuda.CUdevice cdev
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_peerDev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39465, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39465, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppeerDev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":39466
 *     else:
 *         ppeerDev = int(CUdevice(peerDev))
 *         cpeerDev = <ccuda.CUdevice>ppeerDev             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_ppeerDev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 39466, __pyx_L1_error)
    __pyx_v_cpeerDev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":39468
 *         cpeerDev = <ccuda.CUdevice>ppeerDev
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39469
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":39468
 *         cpeerDev = <ccuda.CUdevice>ppeerDev
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":39470
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39471
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":39472
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 39472, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":39470
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":39474
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef int canAccessPeer = 0
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39474, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39474, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":39475
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef int canAccessPeer = 0
 *     err = ccuda.cuDeviceCanAccessPeer(&canAccessPeer, cdev, cpeerDev)
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 39475, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":39476
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef int canAccessPeer = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceCanAccessPeer(&canAccessPeer, cdev, cpeerDev)
 *     return (CUresult(err), canAccessPeer)
 */
  __pyx_v_canAccessPeer = 0;

  /* "cuda/cuda.pyx":39477
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef int canAccessPeer = 0
 *     err = ccuda.cuDeviceCanAccessPeer(&canAccessPeer, cdev, cpeerDev)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), canAccessPeer)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuDeviceCanAccessPeer((&__pyx_v_canAccessPeer), __pyx_v_cdev, __pyx_v_cpeerDev); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 39477, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":39478
 *     cdef int canAccessPeer = 0
 *     err = ccuda.cuDeviceCanAccessPeer(&canAccessPeer, cdev, cpeerDev)
 *     return (CUresult(err), canAccessPeer)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 39478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 39478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_canAccessPeer); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 39478, __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)) __PYX_ERR(1, 39478, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4)) __PYX_ERR(1, 39478, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":39428
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":39480
 *     return (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_4cuda_805cuCtxEnablePeerAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_804cuCtxEnablePeerAccess, "cuCtxEnablePeerAccess(peerContext, unsigned int Flags)\n Enables direct access to memory allocations in a peer context.\n\n    If both the current context and `peerContext` are on devices which\n    support unified addressing (as may be queried using\n    :py:obj:`~.CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING`) and same major\n    compute capability, then on success all allocations from `peerContext`\n    will immediately be accessible by the current context. See\n    :py:obj:`~.Unified Addressing` for additional details.\n\n    Note that access granted by this call is unidirectional and that in\n    order to access memory from the current context in `peerContext`, a\n    separate symmetric call to :py:obj:`~.cuCtxEnablePeerAccess()` is\n    required.\n\n    Note that there are both device-wide and system-wide limitations per\n    system configuration, as noted in the CUDA Programming Guide under the\n    section \"Peer-to-Peer Memory Access\".\n\n    Returns :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\n    memory from the :py:obj:`~.CUdevice` of `peerContext`.\n\n    Returns :py:obj:`~.CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED` if direct\n    access of `peerContext` from the current context has already been\n    enabled.\n\n    Returns :py:obj:`~.CUDA_ERROR_TOO_MANY_PEERS` if direct peer access is\n    not possible because hardware resources required for peer access have\n    been exhausted.\n\n    Returns :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT` if there is no current\n    context, `peerContext` is not a valid context, or if the current\n    context is `peerContext`.\n\n    Returns :py:obj:`~.CUDA_ERROR_INVALID_VALUE` if `Flags` is not 0.\n\n    Parameters\n    ----------\n    peerContext : :py:obj:`~.CUcontext`\n        Peer context to enable direct access to from the current context\n    Flags : unsigned int\n        Reserved for future"" use and must be set to 0\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_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\n    See Also\n    --------\n    :py:obj:`~.cuDeviceCanAccessPeer`, :py:obj:`~.cuCtxDisablePeerAccess`, :py:obj:`~.cudaDeviceEnablePeerAccess`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_805cuCtxEnablePeerAccess = {"cuCtxEnablePeerAccess", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_805cuCtxEnablePeerAccess, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_804cuCtxEnablePeerAccess};
static PyObject *__pyx_pw_4cuda_4cuda_805cuCtxEnablePeerAccess(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_peerContext,&__pyx_n_s_Flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_peerContext)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39480, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39480, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuCtxEnablePeerAccess", 1, 2, 2, 1); __PYX_ERR(1, 39480, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxEnablePeerAccess") < 0)) __PYX_ERR(1, 39480, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_peerContext = values[0];
    __pyx_v_Flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 39481, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxEnablePeerAccess", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 39480, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuCtxEnablePeerAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_804cuCtxEnablePeerAccess(__pyx_self, __pyx_v_peerContext, __pyx_v_Flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_804cuCtxEnablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_peerContext, unsigned int __pyx_v_Flags) {
  CUcontext __pyx_v_cpeerContext;
  PyObject *__pyx_v_ppeerContext = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__909)
  __Pyx_RefNannySetupContext("cuCtxEnablePeerAccess", 1);
  __Pyx_TraceCall("cuCtxEnablePeerAccess", __pyx_f[1], 39480, 0, __PYX_ERR(1, 39480, __pyx_L1_error));

  /* "cuda/cuda.pyx":39536
 *     """
 *     cdef ccuda.CUcontext cpeerContext
 *     if peerContext is None:             # <<<<<<<<<<<<<<
 *         cpeerContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(peerContext, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_peerContext == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39537
 *     cdef ccuda.CUcontext cpeerContext
 *     if peerContext is None:
 *         cpeerContext = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(peerContext, (CUcontext,)):
 *         ppeerContext = int(peerContext)
 */
    __pyx_v_cpeerContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":39536
 *     """
 *     cdef ccuda.CUcontext cpeerContext
 *     if peerContext is None:             # <<<<<<<<<<<<<<
 *         cpeerContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(peerContext, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39538
 *     if peerContext is None:
 *         cpeerContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(peerContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         ppeerContext = int(peerContext)
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_peerContext, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39539
 *         cpeerContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(peerContext, (CUcontext,)):
 *         ppeerContext = int(peerContext)             # <<<<<<<<<<<<<<
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_peerContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39539, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppeerContext = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":39540
 *     elif isinstance(peerContext, (CUcontext,)):
 *         ppeerContext = int(peerContext)
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext             # <<<<<<<<<<<<<<
 *     else:
 *         ppeerContext = int(CUcontext(peerContext))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppeerContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39540, __pyx_L1_error)
    __pyx_v_cpeerContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":39538
 *     if peerContext is None:
 *         cpeerContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(peerContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         ppeerContext = int(peerContext)
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39542
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext
 *     else:
 *         ppeerContext = int(CUcontext(peerContext))             # <<<<<<<<<<<<<<
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext
 *     err = ccuda.cuCtxEnablePeerAccess(cpeerContext, Flags)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_peerContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppeerContext = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":39543
 *     else:
 *         ppeerContext = int(CUcontext(peerContext))
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxEnablePeerAccess(cpeerContext, Flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppeerContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39543, __pyx_L1_error)
    __pyx_v_cpeerContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":39544
 *         ppeerContext = int(CUcontext(peerContext))
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext
 *     err = ccuda.cuCtxEnablePeerAccess(cpeerContext, Flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuCtxEnablePeerAccess(__pyx_v_cpeerContext, __pyx_v_Flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 39544, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":39545
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext
 *     err = ccuda.cuCtxEnablePeerAccess(cpeerContext, Flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 39545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39545, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 39545, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":39480
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuCtxEnablePeerAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppeerContext);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":39547
 *     return (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_4cuda_807cuCtxDisablePeerAccess(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_806cuCtxDisablePeerAccess, "cuCtxDisablePeerAccess(peerContext)\n Disables direct access to memory allocations in a peer context and unregisters any registered allocations.\n\n    Returns :py:obj:`~.CUDA_ERROR_PEER_ACCESS_NOT_ENABLED` if direct peer\n    access has not yet been enabled from `peerContext` to the current\n    context.\n\n    Returns :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT` if there is no current\n    context, or if `peerContext` is not a valid context.\n\n    Parameters\n    ----------\n    peerContext : :py:obj:`~.CUcontext`\n        Peer context to disable direct access to\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_PEER_ACCESS_NOT_ENABLED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\n\n    See Also\n    --------\n    :py:obj:`~.cuDeviceCanAccessPeer`, :py:obj:`~.cuCtxEnablePeerAccess`, :py:obj:`~.cudaDeviceDisablePeerAccess`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_807cuCtxDisablePeerAccess = {"cuCtxDisablePeerAccess", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_807cuCtxDisablePeerAccess, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_806cuCtxDisablePeerAccess};
static PyObject *__pyx_pw_4cuda_4cuda_807cuCtxDisablePeerAccess(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_peerContext,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_peerContext)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39547, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxDisablePeerAccess") < 0)) __PYX_ERR(1, 39547, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_peerContext = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxDisablePeerAccess", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 39547, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuCtxDisablePeerAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_806cuCtxDisablePeerAccess(__pyx_self, __pyx_v_peerContext);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_806cuCtxDisablePeerAccess(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_peerContext) {
  CUcontext __pyx_v_cpeerContext;
  PyObject *__pyx_v_ppeerContext = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__910)
  __Pyx_RefNannySetupContext("cuCtxDisablePeerAccess", 1);
  __Pyx_TraceCall("cuCtxDisablePeerAccess", __pyx_f[1], 39547, 0, __PYX_ERR(1, 39547, __pyx_L1_error));

  /* "cuda/cuda.pyx":39573
 *     """
 *     cdef ccuda.CUcontext cpeerContext
 *     if peerContext is None:             # <<<<<<<<<<<<<<
 *         cpeerContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(peerContext, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_peerContext == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39574
 *     cdef ccuda.CUcontext cpeerContext
 *     if peerContext is None:
 *         cpeerContext = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(peerContext, (CUcontext,)):
 *         ppeerContext = int(peerContext)
 */
    __pyx_v_cpeerContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":39573
 *     """
 *     cdef ccuda.CUcontext cpeerContext
 *     if peerContext is None:             # <<<<<<<<<<<<<<
 *         cpeerContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(peerContext, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39575
 *     if peerContext is None:
 *         cpeerContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(peerContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         ppeerContext = int(peerContext)
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_peerContext, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39576
 *         cpeerContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(peerContext, (CUcontext,)):
 *         ppeerContext = int(peerContext)             # <<<<<<<<<<<<<<
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_peerContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppeerContext = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":39577
 *     elif isinstance(peerContext, (CUcontext,)):
 *         ppeerContext = int(peerContext)
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext             # <<<<<<<<<<<<<<
 *     else:
 *         ppeerContext = int(CUcontext(peerContext))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppeerContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39577, __pyx_L1_error)
    __pyx_v_cpeerContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":39575
 *     if peerContext is None:
 *         cpeerContext = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(peerContext, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         ppeerContext = int(peerContext)
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39579
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext
 *     else:
 *         ppeerContext = int(CUcontext(peerContext))             # <<<<<<<<<<<<<<
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext
 *     err = ccuda.cuCtxDisablePeerAccess(cpeerContext)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_peerContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppeerContext = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":39580
 *     else:
 *         ppeerContext = int(CUcontext(peerContext))
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxDisablePeerAccess(cpeerContext)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppeerContext); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39580, __pyx_L1_error)
    __pyx_v_cpeerContext = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":39581
 *         ppeerContext = int(CUcontext(peerContext))
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext
 *     err = ccuda.cuCtxDisablePeerAccess(cpeerContext)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuCtxDisablePeerAccess(__pyx_v_cpeerContext); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 39581, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":39582
 *         cpeerContext = <ccuda.CUcontext><void_ptr>ppeerContext
 *     err = ccuda.cuCtxDisablePeerAccess(cpeerContext)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 39582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 39582, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":39547
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuCtxDisablePeerAccess", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ppeerContext);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":39584
 *     return (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_4cuda_809cuDeviceGetP2PAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_808cuDeviceGetP2PAttribute, "cuDeviceGetP2PAttribute(attrib: CUdevice_P2PAttribute, srcDevice, dstDevice)\n Queries attributes of the link between two devices.\n\n    Returns in `*value` the value of the requested attribute `attrib` of\n    the link between `srcDevice` and `dstDevice`. The supported attributes\n    are:\n\n    - :py:obj:`~.CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK`: A relative\n      value indicating the performance of the link between two devices.\n\n    - :py:obj:`~.CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED` P2P: 1 if P2P\n      Access is enable.\n\n    - :py:obj:`~.CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED`: 1 if\n      Atomic operations over the link are supported.\n\n    - :py:obj:`~.CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED`: 1 if\n      cudaArray can be accessed over the link.\n\n    Returns :py:obj:`~.CUDA_ERROR_INVALID_DEVICE` if `srcDevice` or\n    `dstDevice` are not valid or if they represent the same device.\n\n    Returns :py:obj:`~.CUDA_ERROR_INVALID_VALUE` if `attrib` is not valid\n    or if `value` is a null pointer.\n\n    Parameters\n    ----------\n    attrib : :py:obj:`~.CUdevice_P2PAttribute`\n        The requested attribute of the link between `srcDevice` and\n        `dstDevice`.\n    srcDevice : :py:obj:`~.CUdevice`\n        The source device of the target link.\n    dstDevice : :py:obj:`~.CUdevice`\n        The destination device of the target link.\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_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    value : int\n        Returned value of the requested attribute\n\n    See Also\n    --------\n    :py:obj:`~.cuCtxEnablePeerAccess`, :py:obj:`~.cuCtxDisablePeerAccess`, :py:obj:`~.cuDeviceCanAccessPeer`, :py:obj:`~.cudaDeviceGetP2PAttribute`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_809cuDeviceGetP2PAttribute = {"cuDeviceGetP2PAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_809cuDeviceGetP2PAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_808cuDeviceGetP2PAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_809cuDeviceGetP2PAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_attrib,&__pyx_n_s_srcDevice_2,&__pyx_n_s_dstDevice_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attrib)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39584, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_srcDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39584, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceGetP2PAttribute", 1, 3, 3, 1); __PYX_ERR(1, 39584, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dstDevice_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39584, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceGetP2PAttribute", 1, 3, 3, 2); __PYX_ERR(1, 39584, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGetP2PAttribute") < 0)) __PYX_ERR(1, 39584, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __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(1, 39584, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 39585, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_808cuDeviceGetP2PAttribute(__pyx_self, __pyx_v_attrib, __pyx_v_srcDevice, __pyx_v_dstDevice);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_808cuDeviceGetP2PAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_srcDevice, PyObject *__pyx_v_dstDevice) {
  CUdevice __pyx_v_cdstDevice;
  PyObject *__pyx_v_pdstDevice = NULL;
  CUdevice __pyx_v_csrcDevice;
  PyObject *__pyx_v_psrcDevice = NULL;
  int __pyx_v_value;
  CUdevice_P2PAttribute __pyx_v_cattrib;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUdevice_P2PAttribute __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__911)
  __Pyx_RefNannySetupContext("cuDeviceGetP2PAttribute", 1);
  __Pyx_TraceCall("cuDeviceGetP2PAttribute", __pyx_f[1], 39584, 0, __PYX_ERR(1, 39584, __pyx_L1_error));

  /* "cuda/cuda.pyx":39632
 *     """
 *     cdef ccuda.CUdevice cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdevice>0
 *     elif isinstance(dstDevice, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dstDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39633
 *     cdef ccuda.CUdevice cdstDevice
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dstDevice, (CUdevice,)):
 *         pdstDevice = int(dstDevice)
 */
    __pyx_v_cdstDevice = ((CUdevice)0);

    /* "cuda/cuda.pyx":39632
 *     """
 *     cdef ccuda.CUdevice cdstDevice
 *     if dstDevice is None:             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdevice>0
 *     elif isinstance(dstDevice, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39634
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdevice>0
 *     elif isinstance(dstDevice, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdevice>pdstDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dstDevice, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39635
 *         cdstDevice = <ccuda.CUdevice>0
 *     elif isinstance(dstDevice, (CUdevice,)):
 *         pdstDevice = int(dstDevice)             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdevice>pdstDevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdstDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":39636
 *     elif isinstance(dstDevice, (CUdevice,)):
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdevice>pdstDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdstDevice = int(CUdevice(dstDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 39636, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":39634
 *     if dstDevice is None:
 *         cdstDevice = <ccuda.CUdevice>0
 *     elif isinstance(dstDevice, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdstDevice = int(dstDevice)
 *         cdstDevice = <ccuda.CUdevice>pdstDevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39638
 *         cdstDevice = <ccuda.CUdevice>pdstDevice
 *     else:
 *         pdstDevice = int(CUdevice(dstDevice))             # <<<<<<<<<<<<<<
 *         cdstDevice = <ccuda.CUdevice>pdstDevice
 *     cdef ccuda.CUdevice csrcDevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dstDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39638, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdstDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":39639
 *     else:
 *         pdstDevice = int(CUdevice(dstDevice))
 *         cdstDevice = <ccuda.CUdevice>pdstDevice             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdevice csrcDevice
 *     if srcDevice is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdstDevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 39639, __pyx_L1_error)
    __pyx_v_cdstDevice = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":39641
 *         cdstDevice = <ccuda.CUdevice>pdstDevice
 *     cdef ccuda.CUdevice csrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdevice>0
 *     elif isinstance(srcDevice, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_srcDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39642
 *     cdef ccuda.CUdevice csrcDevice
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(srcDevice, (CUdevice,)):
 *         psrcDevice = int(srcDevice)
 */
    __pyx_v_csrcDevice = ((CUdevice)0);

    /* "cuda/cuda.pyx":39641
 *         cdstDevice = <ccuda.CUdevice>pdstDevice
 *     cdef ccuda.CUdevice csrcDevice
 *     if srcDevice is None:             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdevice>0
 *     elif isinstance(srcDevice, (CUdevice,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":39643
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdevice>0
 *     elif isinstance(srcDevice, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdevice>psrcDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_srcDevice, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39644
 *         csrcDevice = <ccuda.CUdevice>0
 *     elif isinstance(srcDevice, (CUdevice,)):
 *         psrcDevice = int(srcDevice)             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdevice>psrcDevice
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_srcDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_psrcDevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":39645
 *     elif isinstance(srcDevice, (CUdevice,)):
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdevice>psrcDevice             # <<<<<<<<<<<<<<
 *     else:
 *         psrcDevice = int(CUdevice(srcDevice))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 39645, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":39643
 *     if srcDevice is None:
 *         csrcDevice = <ccuda.CUdevice>0
 *     elif isinstance(srcDevice, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         psrcDevice = int(srcDevice)
 *         csrcDevice = <ccuda.CUdevice>psrcDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":39647
 *         csrcDevice = <ccuda.CUdevice>psrcDevice
 *     else:
 *         psrcDevice = int(CUdevice(srcDevice))             # <<<<<<<<<<<<<<
 *         csrcDevice = <ccuda.CUdevice>psrcDevice
 *     cdef int value = 0
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_srcDevice); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39647, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39647, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_psrcDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":39648
 *     else:
 *         psrcDevice = int(CUdevice(srcDevice))
 *         csrcDevice = <ccuda.CUdevice>psrcDevice             # <<<<<<<<<<<<<<
 *     cdef int value = 0
 *     cdef ccuda.CUdevice_P2PAttribute cattrib = attrib.value
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_psrcDevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 39648, __pyx_L1_error)
    __pyx_v_csrcDevice = ((CUdevice)__pyx_t_3);
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":39649
 *         psrcDevice = int(CUdevice(srcDevice))
 *         csrcDevice = <ccuda.CUdevice>psrcDevice
 *     cdef int value = 0             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdevice_P2PAttribute cattrib = attrib.value
 *     err = ccuda.cuDeviceGetP2PAttribute(&value, cattrib, csrcDevice, cdstDevice)
 */
  __pyx_v_value = 0;

  /* "cuda/cuda.pyx":39650
 *         csrcDevice = <ccuda.CUdevice>psrcDevice
 *     cdef int value = 0
 *     cdef ccuda.CUdevice_P2PAttribute cattrib = attrib.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGetP2PAttribute(&value, cattrib, csrcDevice, cdstDevice)
 *     return (CUresult(err), value)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_n_s_value_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = ((enum CUdevice_P2PAttribute_enum)__Pyx_PyInt_As_enum__CUdevice_P2PAttribute_enum(__pyx_t_2)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39650, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_cattrib = __pyx_t_5;

  /* "cuda/cuda.pyx":39651
 *     cdef int value = 0
 *     cdef ccuda.CUdevice_P2PAttribute cattrib = attrib.value
 *     err = ccuda.cuDeviceGetP2PAttribute(&value, cattrib, csrcDevice, cdstDevice)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), value)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuDeviceGetP2PAttribute((&__pyx_v_value), __pyx_v_cattrib, __pyx_v_csrcDevice, __pyx_v_cdstDevice); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 39651, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":39652
 *     cdef ccuda.CUdevice_P2PAttribute cattrib = attrib.value
 *     err = ccuda.cuDeviceGetP2PAttribute(&value, cattrib, csrcDevice, cdstDevice)
 *     return (CUresult(err), value)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 39652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39652, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 39652, __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)) __PYX_ERR(1, 39652, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4)) __PYX_ERR(1, 39652, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":39584
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":39654
 *     return (CUresult(err), value)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsUnregisterResource(resource):
 *     """ Unregisters a graphics resource for access by CUDA.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_811cuGraphicsUnregisterResource(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_810cuGraphicsUnregisterResource, "cuGraphicsUnregisterResource(resource)\n Unregisters a graphics resource for access by CUDA.\n\n    Unregisters the graphics resource `resource` so it is not accessible by\n    CUDA unless registered again.\n\n    If `resource` is invalid then :py:obj:`~.CUDA_ERROR_INVALID_HANDLE` is\n    returned.\n\n    Parameters\n    ----------\n    resource : :py:obj:`~.CUgraphicsResource`\n        Resource to unregister\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_UNKNOWN`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphicsD3D9RegisterResource`, :py:obj:`~.cuGraphicsD3D10RegisterResource`, :py:obj:`~.cuGraphicsD3D11RegisterResource`, :py:obj:`~.cuGraphicsGLRegisterBuffer`, :py:obj:`~.cuGraphicsGLRegisterImage`, :py:obj:`~.cudaGraphicsUnregisterResource`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_811cuGraphicsUnregisterResource = {"cuGraphicsUnregisterResource", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_811cuGraphicsUnregisterResource, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_810cuGraphicsUnregisterResource};
static PyObject *__pyx_pw_4cuda_4cuda_811cuGraphicsUnregisterResource(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_resource_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_resource_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39654, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphicsUnregisterResource") < 0)) __PYX_ERR(1, 39654, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_resource = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsUnregisterResource", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 39654, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphicsUnregisterResource", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_810cuGraphicsUnregisterResource(__pyx_self, __pyx_v_resource);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_810cuGraphicsUnregisterResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource) {
  CUgraphicsResource __pyx_v_cresource;
  PyObject *__pyx_v_presource = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__912)
  __Pyx_RefNannySetupContext("cuGraphicsUnregisterResource", 1);
  __Pyx_TraceCall("cuGraphicsUnregisterResource", __pyx_f[1], 39654, 0, __PYX_ERR(1, 39654, __pyx_L1_error));

  /* "cuda/cuda.pyx":39679
 *     """
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 */
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39680
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
 */
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":39679
 *     """
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39681
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_ptype_4cuda_4cuda_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39682
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39682, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":39683
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39683, __pyx_L1_error)
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":39681
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39685
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     err = ccuda.cuGraphicsUnregisterResource(cresource)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphicsResource), __pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":39686
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphicsUnregisterResource(cresource)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39686, __pyx_L1_error)
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":39687
 *         presource = int(CUgraphicsResource(resource))
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     err = ccuda.cuGraphicsUnregisterResource(cresource)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphicsUnregisterResource(__pyx_v_cresource); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 39687, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":39688
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     err = ccuda.cuGraphicsUnregisterResource(cresource)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 39688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 39688, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":39654
 *     return (CUresult(err), value)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsUnregisterResource(resource):
 *     """ Unregisters a graphics resource for access by CUDA.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuGraphicsUnregisterResource", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_presource);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":39690
 *     return (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_4cuda_813cuGraphicsSubResourceGetMappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_812cuGraphicsSubResourceGetMappedArray, "cuGraphicsSubResourceGetMappedArray(resource, unsigned int arrayIndex, unsigned int mipLevel)\n Get an array through which to access a subresource of a mapped graphics resource.\n\n    Returns in `*pArray` an array through which the subresource of the\n    mapped graphics resource `resource` which corresponds to array index\n    `arrayIndex` and mipmap level `mipLevel` may be accessed. The value set\n    in `*pArray` may change every time that `resource` is mapped.\n\n    If `resource` is not a texture then it cannot be accessed via an array\n    and :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\n    a valid mipmap level for `resource` then\n    :py:obj:`~.CUDA_ERROR_INVALID_VALUE` is returned. If `resource` is not\n    mapped then :py:obj:`~.CUDA_ERROR_NOT_MAPPED` is returned.\n\n    Parameters\n    ----------\n    resource : :py:obj:`~.CUgraphicsResource`\n        Mapped resource to access\n    arrayIndex : 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\n    mipLevel : unsigned int\n        Mipmap level for the subresource to access\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_MAPPED`, :py:obj:`~.CUDA_ERROR_NOT_MAPPED_AS_ARRAY`\n    pArray : :py:obj:`~.CUarray`\n        Returned array through which a subresource of `resource` may be\n        accessed\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphicsResourceGetMappedPointer`, :py:obj:`~.cudaGraphicsSubResourceGetMappedArray`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_813cuGraphicsSubResourceGetMappedArray = {"cuGraphicsSubResourceGetMappedArray", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_813cuGraphicsSubResourceGetMappedArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_812cuGraphicsSubResourceGetMappedArray};
static PyObject *__pyx_pw_4cuda_4cuda_813cuGraphicsSubResourceGetMappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_resource_2,&__pyx_n_s_arrayIndex,&__pyx_n_s_mipLevel,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_resource_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39690, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_arrayIndex)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39690, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphicsSubResourceGetMappedArray", 1, 3, 3, 1); __PYX_ERR(1, 39690, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mipLevel)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39690, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphicsSubResourceGetMappedArray", 1, 3, 3, 2); __PYX_ERR(1, 39690, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphicsSubResourceGetMappedArray") < 0)) __PYX_ERR(1, 39690, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_resource = values[0];
    __pyx_v_arrayIndex = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_arrayIndex == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 39691, __pyx_L3_error)
    __pyx_v_mipLevel = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_mipLevel == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 39691, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsSubResourceGetMappedArray", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 39690, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphicsSubResourceGetMappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_812cuGraphicsSubResourceGetMappedArray(__pyx_self, __pyx_v_resource, __pyx_v_arrayIndex, __pyx_v_mipLevel);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_812cuGraphicsSubResourceGetMappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource, unsigned int __pyx_v_arrayIndex, unsigned int __pyx_v_mipLevel) {
  CUgraphicsResource __pyx_v_cresource;
  PyObject *__pyx_v_presource = NULL;
  struct __pyx_obj_4cuda_4cuda_CUarray *__pyx_v_pArray = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__913)
  __Pyx_RefNannySetupContext("cuGraphicsSubResourceGetMappedArray", 1);
  __Pyx_TraceCall("cuGraphicsSubResourceGetMappedArray", __pyx_f[1], 39690, 0, __PYX_ERR(1, 39690, __pyx_L1_error));

  /* "cuda/cuda.pyx":39731
 *     """
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 */
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39732
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
 */
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":39731
 *     """
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39733
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_ptype_4cuda_4cuda_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39734
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":39735
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39735, __pyx_L1_error)
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":39733
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39737
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     cdef CUarray pArray = CUarray()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphicsResource), __pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39737, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39737, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":39738
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     cdef CUarray pArray = CUarray()
 *     err = ccuda.cuGraphicsSubResourceGetMappedArray(<ccuda.CUarray*>pArray._ptr, cresource, arrayIndex, mipLevel)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39738, __pyx_L1_error)
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":39739
 *         presource = int(CUgraphicsResource(resource))
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     cdef CUarray pArray = CUarray()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphicsSubResourceGetMappedArray(<ccuda.CUarray*>pArray._ptr, cresource, arrayIndex, mipLevel)
 *     return (CUresult(err), pArray)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":39740
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     cdef CUarray pArray = CUarray()
 *     err = ccuda.cuGraphicsSubResourceGetMappedArray(<ccuda.CUarray*>pArray._ptr, cresource, arrayIndex, mipLevel)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pArray)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphicsSubResourceGetMappedArray(((CUarray *)__pyx_v_pArray->_ptr), __pyx_v_cresource, __pyx_v_arrayIndex, __pyx_v_mipLevel); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 39740, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":39741
 *     cdef CUarray pArray = CUarray()
 *     err = ccuda.cuGraphicsSubResourceGetMappedArray(<ccuda.CUarray*>pArray._ptr, cresource, arrayIndex, mipLevel)
 *     return (CUresult(err), pArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 39741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39741, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 39741, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pArray))) __PYX_ERR(1, 39741, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":39690
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":39743
 *     return (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_4cuda_815cuGraphicsResourceGetMappedMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_814cuGraphicsResourceGetMappedMipmappedArray, "cuGraphicsResourceGetMappedMipmappedArray(resource)\n Get a mipmapped array through which to access a mapped graphics resource.\n\n    Returns in `*pMipmappedArray` a mipmapped array through which the\n    mapped graphics resource `resource`. The value set in\n    `*pMipmappedArray` may change every time that `resource` is mapped.\n\n    If `resource` is not a texture then it cannot be accessed via a\n    mipmapped array and :py:obj:`~.CUDA_ERROR_NOT_MAPPED_AS_ARRAY` is\n    returned. If `resource` is not mapped then\n    :py:obj:`~.CUDA_ERROR_NOT_MAPPED` is returned.\n\n    Parameters\n    ----------\n    resource : :py:obj:`~.CUgraphicsResource`\n        Mapped resource to access\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_NOT_MAPPED`, :py:obj:`~.CUDA_ERROR_NOT_MAPPED_AS_ARRAY`\n    pMipmappedArray : :py:obj:`~.CUmipmappedArray`\n        Returned mipmapped array through which `resource` may be accessed\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphicsResourceGetMappedPointer`, :py:obj:`~.cudaGraphicsResourceGetMappedMipmappedArray`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_815cuGraphicsResourceGetMappedMipmappedArray = {"cuGraphicsResourceGetMappedMipmappedArray", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_815cuGraphicsResourceGetMappedMipmappedArray, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_814cuGraphicsResourceGetMappedMipmappedArray};
static PyObject *__pyx_pw_4cuda_4cuda_815cuGraphicsResourceGetMappedMipmappedArray(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_resource_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_resource_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39743, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphicsResourceGetMappedMipmappedArray") < 0)) __PYX_ERR(1, 39743, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_resource = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsResourceGetMappedMipmappedArray", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 39743, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphicsResourceGetMappedMipmappedArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_814cuGraphicsResourceGetMappedMipmappedArray(__pyx_self, __pyx_v_resource);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_814cuGraphicsResourceGetMappedMipmappedArray(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource) {
  CUgraphicsResource __pyx_v_cresource;
  PyObject *__pyx_v_presource = NULL;
  struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *__pyx_v_pMipmappedArray = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__914)
  __Pyx_RefNannySetupContext("cuGraphicsResourceGetMappedMipmappedArray", 1);
  __Pyx_TraceCall("cuGraphicsResourceGetMappedMipmappedArray", __pyx_f[1], 39743, 0, __PYX_ERR(1, 39743, __pyx_L1_error));

  /* "cuda/cuda.pyx":39773
 *     """
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 */
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39774
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
 */
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":39773
 *     """
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39775
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_ptype_4cuda_4cuda_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39776
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39776, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":39777
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39777, __pyx_L1_error)
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":39775
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39779
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     cdef CUmipmappedArray pMipmappedArray = CUmipmappedArray()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphicsResource), __pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":39780
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     cdef CUmipmappedArray pMipmappedArray = CUmipmappedArray()
 *     err = ccuda.cuGraphicsResourceGetMappedMipmappedArray(<ccuda.CUmipmappedArray*>pMipmappedArray._ptr, cresource)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39780, __pyx_L1_error)
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":39781
 *         presource = int(CUgraphicsResource(resource))
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     cdef CUmipmappedArray pMipmappedArray = CUmipmappedArray()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphicsResourceGetMappedMipmappedArray(<ccuda.CUmipmappedArray*>pMipmappedArray._ptr, cresource)
 *     return (CUresult(err), pMipmappedArray)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUmipmappedArray)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pMipmappedArray = ((struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":39782
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     cdef CUmipmappedArray pMipmappedArray = CUmipmappedArray()
 *     err = ccuda.cuGraphicsResourceGetMappedMipmappedArray(<ccuda.CUmipmappedArray*>pMipmappedArray._ptr, cresource)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pMipmappedArray)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphicsResourceGetMappedMipmappedArray(((CUmipmappedArray *)__pyx_v_pMipmappedArray->_ptr), __pyx_v_cresource); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 39782, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":39783
 *     cdef CUmipmappedArray pMipmappedArray = CUmipmappedArray()
 *     err = ccuda.cuGraphicsResourceGetMappedMipmappedArray(<ccuda.CUmipmappedArray*>pMipmappedArray._ptr, cresource)
 *     return (CUresult(err), pMipmappedArray)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 39783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 39783, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pMipmappedArray);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pMipmappedArray);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pMipmappedArray))) __PYX_ERR(1, 39783, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":39743
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":39785
 *     return (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_4cuda_817cuGraphicsResourceGetMappedPointer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_816cuGraphicsResourceGetMappedPointer, "cuGraphicsResourceGetMappedPointer(resource)\n Get a device pointer through which to access a mapped graphics resource.\n\n    Returns in `*pDevPtr` a pointer through which the mapped graphics\n    resource `resource` may be accessed. Returns in `pSize` the size of the\n    memory in bytes which may be accessed from that pointer. The value set\n    in `pPointer` may change every time that `resource` is mapped.\n\n    If `resource` is not a buffer then it cannot be accessed via a pointer\n    and :py:obj:`~.CUDA_ERROR_NOT_MAPPED_AS_POINTER` is returned. If\n    `resource` is not mapped then :py:obj:`~.CUDA_ERROR_NOT_MAPPED` is\n    returned.\n\n    Parameters\n    ----------\n    resource : :py:obj:`~.CUgraphicsResource`\n        None\n\n    Returns\n    -------\n    CUresult\n\n    pDevPtr : :py:obj:`~.CUdeviceptr`\n        None\n    pSize : int\n        None\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_817cuGraphicsResourceGetMappedPointer = {"cuGraphicsResourceGetMappedPointer", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_817cuGraphicsResourceGetMappedPointer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_816cuGraphicsResourceGetMappedPointer};
static PyObject *__pyx_pw_4cuda_4cuda_817cuGraphicsResourceGetMappedPointer(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_resource_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_resource_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39785, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphicsResourceGetMappedPointer") < 0)) __PYX_ERR(1, 39785, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_resource = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsResourceGetMappedPointer", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 39785, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphicsResourceGetMappedPointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_816cuGraphicsResourceGetMappedPointer(__pyx_self, __pyx_v_resource);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_816cuGraphicsResourceGetMappedPointer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource) {
  CUgraphicsResource __pyx_v_cresource;
  PyObject *__pyx_v_presource = NULL;
  struct __pyx_obj_4cuda_4cuda_CUdeviceptr *__pyx_v_pDevPtr = 0;
  size_t __pyx_v_pSize;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__915)
  __Pyx_RefNannySetupContext("cuGraphicsResourceGetMappedPointer", 1);
  __Pyx_TraceCall("cuGraphicsResourceGetMappedPointer", __pyx_f[1], 39785, 0, __PYX_ERR(1, 39785, __pyx_L1_error));

  /* "cuda/cuda.pyx":39814
 *     """
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 */
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39815
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
 */
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":39814
 *     """
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39816
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_ptype_4cuda_4cuda_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39817
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":39818
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39818, __pyx_L1_error)
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":39816
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39820
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     cdef CUdeviceptr pDevPtr = CUdeviceptr()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphicsResource), __pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39820, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39820, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":39821
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     cdef CUdeviceptr pDevPtr = CUdeviceptr()
 *     cdef size_t pSize = 0
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39821, __pyx_L1_error)
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":39822
 *         presource = int(CUgraphicsResource(resource))
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     cdef CUdeviceptr pDevPtr = CUdeviceptr()             # <<<<<<<<<<<<<<
 *     cdef size_t pSize = 0
 *     err = ccuda.cuGraphicsResourceGetMappedPointer(<ccuda.CUdeviceptr*>pDevPtr._ptr, &pSize, cresource)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pDevPtr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":39823
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     cdef CUdeviceptr pDevPtr = CUdeviceptr()
 *     cdef size_t pSize = 0             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphicsResourceGetMappedPointer(<ccuda.CUdeviceptr*>pDevPtr._ptr, &pSize, cresource)
 *     return (CUresult(err), pDevPtr, pSize)
 */
  __pyx_v_pSize = 0;

  /* "cuda/cuda.pyx":39824
 *     cdef CUdeviceptr pDevPtr = CUdeviceptr()
 *     cdef size_t pSize = 0
 *     err = ccuda.cuGraphicsResourceGetMappedPointer(<ccuda.CUdeviceptr*>pDevPtr._ptr, &pSize, cresource)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pDevPtr, pSize)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphicsResourceGetMappedPointer(((CUdeviceptr *)__pyx_v_pDevPtr->_ptr), (&__pyx_v_pSize), __pyx_v_cresource); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 39824, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":39825
 *     cdef size_t pSize = 0
 *     err = ccuda.cuGraphicsResourceGetMappedPointer(<ccuda.CUdeviceptr*>pDevPtr._ptr, &pSize, cresource)
 *     return (CUresult(err), pDevPtr, pSize)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 39825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_pSize); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 39825, __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)) __PYX_ERR(1, 39825, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pDevPtr);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pDevPtr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_pDevPtr))) __PYX_ERR(1, 39825, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_2)) __PYX_ERR(1, 39825, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":39785
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":39827
 *     return (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_4cuda_819cuGraphicsResourceSetMapFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_818cuGraphicsResourceSetMapFlags, "cuGraphicsResourceSetMapFlags(resource, unsigned int flags)\n Set usage flags for mapping a graphics resource.\n\n    Set `flags` for mapping the graphics resource `resource`.\n\n    Changes to `flags` will take effect the next time `resource` is mapped.\n    The `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\n    If `resource` is presently mapped for access by CUDA then\n    :py:obj:`~.CUDA_ERROR_ALREADY_MAPPED` is returned. If `flags` is not\n    one of the above values then :py:obj:`~.CUDA_ERROR_INVALID_VALUE` is\n    returned.\n\n    Parameters\n    ----------\n    resource : :py:obj:`~.CUgraphicsResource`\n        Registered resource to set flags for\n    flags : unsigned int\n        Parameters for resource mapping\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_ALREADY_MAPPED`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphicsMapResources`, :py:obj:`~.cudaGraphicsResourceSetMapFlags`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_819cuGraphicsResourceSetMapFlags = {"cuGraphicsResourceSetMapFlags", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_819cuGraphicsResourceSetMapFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_818cuGraphicsResourceSetMapFlags};
static PyObject *__pyx_pw_4cuda_4cuda_819cuGraphicsResourceSetMapFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_resource_2,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_resource_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39827, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39827, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphicsResourceSetMapFlags", 1, 2, 2, 1); __PYX_ERR(1, 39827, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphicsResourceSetMapFlags") < 0)) __PYX_ERR(1, 39827, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_resource = values[0];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 39828, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsResourceSetMapFlags", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 39827, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphicsResourceSetMapFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_818cuGraphicsResourceSetMapFlags(__pyx_self, __pyx_v_resource, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_818cuGraphicsResourceSetMapFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource, unsigned int __pyx_v_flags) {
  CUgraphicsResource __pyx_v_cresource;
  PyObject *__pyx_v_presource = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__916)
  __Pyx_RefNannySetupContext("cuGraphicsResourceSetMapFlags", 1);
  __Pyx_TraceCall("cuGraphicsResourceSetMapFlags", __pyx_f[1], 39827, 0, __PYX_ERR(1, 39827, __pyx_L1_error));

  /* "cuda/cuda.pyx":39872
 *     """
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 */
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39873
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
 */
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":39872
 *     """
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39874
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_ptype_4cuda_4cuda_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39875
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39875, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":39876
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39876, __pyx_L1_error)
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":39874
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39878
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     err = ccuda.cuGraphicsResourceSetMapFlags(cresource, flags)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphicsResource), __pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39878, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39878, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":39879
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphicsResourceSetMapFlags(cresource, flags)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39879, __pyx_L1_error)
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":39880
 *         presource = int(CUgraphicsResource(resource))
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     err = ccuda.cuGraphicsResourceSetMapFlags(cresource, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphicsResourceSetMapFlags(__pyx_v_cresource, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 39880, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":39881
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     err = ccuda.cuGraphicsResourceSetMapFlags(cresource, flags)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 39881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39881, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 39881, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":39827
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuGraphicsResourceSetMapFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_presource);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":39883
 *     return (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_4cuda_821cuGraphicsMapResources(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_820cuGraphicsMapResources, "cuGraphicsMapResources(unsigned int count, resources, hStream)\n Map graphics resources for access by CUDA.\n\n    Maps the `count` graphics resources in `resources` for access by CUDA.\n\n    The resources in `resources` may be accessed by CUDA until they are\n    unmapped. The graphics API from which `resources` were registered\n    should not access any resources while they are mapped by CUDA. If an\n    application does so, the results are undefined.\n\n    This function provides the synchronization guarantee that any graphics\n    calls issued before :py:obj:`~.cuGraphicsMapResources()` will complete\n    before any subsequent CUDA work issued in `stream` begins.\n\n    If `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\n    Parameters\n    ----------\n    count : unsigned int\n        Number of resources to map\n    resources : :py:obj:`~.CUgraphicsResource`\n        Resources to map for CUDA usage\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream with which to synchronize\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_ALREADY_MAPPED`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphicsResourceGetMappedPointer`, :py:obj:`~.cuGraphicsSubResourceGetMappedArray`, :py:obj:`~.cuGraphicsUnmapResources`, :py:obj:`~.cudaGraphicsMapResources`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_821cuGraphicsMapResources = {"cuGraphicsMapResources", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_821cuGraphicsMapResources, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_820cuGraphicsMapResources};
static PyObject *__pyx_pw_4cuda_4cuda_821cuGraphicsMapResources(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_count_2,&__pyx_n_s_resources,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_count_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39883, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_resources)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39883, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphicsMapResources", 1, 3, 3, 1); __PYX_ERR(1, 39883, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39883, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphicsMapResources", 1, 3, 3, 2); __PYX_ERR(1, 39883, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphicsMapResources") < 0)) __PYX_ERR(1, 39883, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_count = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 39884, __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(1, 39883, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphicsMapResources", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_820cuGraphicsMapResources(__pyx_self, __pyx_v_count, __pyx_v_resources, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_820cuGraphicsMapResources(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_count, PyObject *__pyx_v_resources, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUgraphicsResource *__pyx_v_cresources;
  PyObject *__pyx_v_presources = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __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_TraceFrameInit(__pyx_codeobj__917)
  __Pyx_RefNannySetupContext("cuGraphicsMapResources", 1);
  __Pyx_TraceCall("cuGraphicsMapResources", __pyx_f[1], 39883, 0, __PYX_ERR(1, 39883, __pyx_L1_error));

  /* "cuda/cuda.pyx":39922
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39923
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":39922
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39924
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39925
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39925, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":39926
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39926, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":39924
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39928
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphicsResource *cresources
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39928, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39928, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":39929
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphicsResource *cresources
 *     if resources is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39929, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":39931
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphicsResource *cresources
 *     if resources is None:             # <<<<<<<<<<<<<<
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):
 */
  __pyx_t_1 = (__pyx_v_resources == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39932
 *     cdef ccuda.CUgraphicsResource *cresources
 *     if resources is None:
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(resources, (CUgraphicsResource,)):
 *         presources = resources.getPtr()
 */
    __pyx_v_cresources = ((CUgraphicsResource *)((__pyx_t_4cuda_4cuda_void_ptr)NULL));

    /* "cuda/cuda.pyx":39931
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphicsResource *cresources
 *     if resources is None:             # <<<<<<<<<<<<<<
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":39933
 *     if resources is None:
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presources = resources.getPtr()
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>presources
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_resources, __pyx_ptype_4cuda_4cuda_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39934
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):
 *         presources = resources.getPtr()             # <<<<<<<<<<<<<<
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>presources
 *     elif isinstance(resources, (int)):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_resources, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39934, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = NULL;
    __pyx_t_6 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
        __pyx_t_6 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39934, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
    __pyx_v_presources = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":39935
 *     elif isinstance(resources, (CUgraphicsResource,)):
 *         presources = resources.getPtr()
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>presources             # <<<<<<<<<<<<<<
 *     elif isinstance(resources, (int)):
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>resources
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presources); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39935, __pyx_L1_error)
    __pyx_v_cresources = ((CUgraphicsResource *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":39933
 *     if resources is None:
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presources = resources.getPtr()
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>presources
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":39936
 *         presources = resources.getPtr()
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>presources
 *     elif isinstance(resources, (int)):             # <<<<<<<<<<<<<<
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>resources
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_resources); 
  if (likely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":39937
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>presources
 *     elif isinstance(resources, (int)):
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>resources             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, cuda.CUgraphicsResource'>, found " + str(type(resources)))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_resources); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39937, __pyx_L1_error)
    __pyx_v_cresources = ((CUgraphicsResource *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":39936
 *         presources = resources.getPtr()
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>presources
 *     elif isinstance(resources, (int)):             # <<<<<<<<<<<<<<
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>resources
 *     else:
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":39939
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>resources
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, cuda.CUgraphicsResource'>, found " + str(type(resources)))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphicsMapResources(count, cresources, chStream)
 *     return (CUresult(err),)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_Str(((PyObject *)Py_TYPE(__pyx_v_resources))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_Argument_resources_is_not_instan, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39939, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 39939, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":39940
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, cuda.CUgraphicsResource'>, found " + str(type(resources)))
 *     err = ccuda.cuGraphicsMapResources(count, cresources, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuGraphicsMapResources(__pyx_v_count, __pyx_v_cresources, __pyx_v_chStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 39940, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":39941
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, cuda.CUgraphicsResource'>, found " + str(type(resources)))
 *     err = ccuda.cuGraphicsMapResources(count, cresources, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 39941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_5};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39941, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 39941, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":39883
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":39943
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsUnmapResources(unsigned int count, resources, hStream):
 *     """ Unmap graphics resources.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_823cuGraphicsUnmapResources(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_822cuGraphicsUnmapResources, "cuGraphicsUnmapResources(unsigned int count, resources, hStream)\n Unmap graphics resources.\n\n    Unmaps the `count` graphics resources in `resources`.\n\n    Once unmapped, the resources in `resources` may not be accessed by CUDA\n    until they are mapped again.\n\n    This function provides the synchronization guarantee that any CUDA work\n    issued in `stream` before :py:obj:`~.cuGraphicsUnmapResources()` will\n    complete before any subsequently issued graphics work begins.\n\n    If `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\n    Parameters\n    ----------\n    count : unsigned int\n        Number of resources to unmap\n    resources : :py:obj:`~.CUgraphicsResource`\n        Resources to unmap\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Stream with which to synchronize\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_NOT_MAPPED`, :py:obj:`~.CUDA_ERROR_UNKNOWN`\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphicsMapResources`, :py:obj:`~.cudaGraphicsUnmapResources`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_823cuGraphicsUnmapResources = {"cuGraphicsUnmapResources", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_823cuGraphicsUnmapResources, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_822cuGraphicsUnmapResources};
static PyObject *__pyx_pw_4cuda_4cuda_823cuGraphicsUnmapResources(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_count_2,&__pyx_n_s_resources,&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_count_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39943, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_resources)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39943, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphicsUnmapResources", 1, 3, 3, 1); __PYX_ERR(1, 39943, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 39943, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphicsUnmapResources", 1, 3, 3, 2); __PYX_ERR(1, 39943, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphicsUnmapResources") < 0)) __PYX_ERR(1, 39943, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_count = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_count == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 39944, __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(1, 39943, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphicsUnmapResources", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_822cuGraphicsUnmapResources(__pyx_self, __pyx_v_count, __pyx_v_resources, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_822cuGraphicsUnmapResources(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_count, PyObject *__pyx_v_resources, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  CUgraphicsResource *__pyx_v_cresources;
  PyObject *__pyx_v_presources = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __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_TraceFrameInit(__pyx_codeobj__918)
  __Pyx_RefNannySetupContext("cuGraphicsUnmapResources", 1);
  __Pyx_TraceCall("cuGraphicsUnmapResources", __pyx_f[1], 39943, 0, __PYX_ERR(1, 39943, __pyx_L1_error));

  /* "cuda/cuda.pyx":39980
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39981
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":39980
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39982
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39983
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39983, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":39984
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39984, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":39982
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":39986
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphicsResource *cresources
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39986, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":39987
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphicsResource *cresources
 *     if resources is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39987, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":39989
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphicsResource *cresources
 *     if resources is None:             # <<<<<<<<<<<<<<
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):
 */
  __pyx_t_1 = (__pyx_v_resources == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39990
 *     cdef ccuda.CUgraphicsResource *cresources
 *     if resources is None:
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(resources, (CUgraphicsResource,)):
 *         presources = resources.getPtr()
 */
    __pyx_v_cresources = ((CUgraphicsResource *)((__pyx_t_4cuda_4cuda_void_ptr)NULL));

    /* "cuda/cuda.pyx":39989
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef ccuda.CUgraphicsResource *cresources
 *     if resources is None:             # <<<<<<<<<<<<<<
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":39991
 *     if resources is None:
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presources = resources.getPtr()
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>presources
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_resources, __pyx_ptype_4cuda_4cuda_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":39992
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):
 *         presources = resources.getPtr()             # <<<<<<<<<<<<<<
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>presources
 *     elif isinstance(resources, (int)):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_resources, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39992, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = NULL;
    __pyx_t_6 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
        __pyx_t_6 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
      __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39992, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
    __pyx_v_presources = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":39993
 *     elif isinstance(resources, (CUgraphicsResource,)):
 *         presources = resources.getPtr()
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>presources             # <<<<<<<<<<<<<<
 *     elif isinstance(resources, (int)):
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>resources
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presources); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39993, __pyx_L1_error)
    __pyx_v_cresources = ((CUgraphicsResource *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":39991
 *     if resources is None:
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(resources, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presources = resources.getPtr()
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>presources
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":39994
 *         presources = resources.getPtr()
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>presources
 *     elif isinstance(resources, (int)):             # <<<<<<<<<<<<<<
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>resources
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_resources); 
  if (likely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":39995
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>presources
 *     elif isinstance(resources, (int)):
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>resources             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, cuda.CUgraphicsResource'>, found " + str(type(resources)))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_resources); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 39995, __pyx_L1_error)
    __pyx_v_cresources = ((CUgraphicsResource *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":39994
 *         presources = resources.getPtr()
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>presources
 *     elif isinstance(resources, (int)):             # <<<<<<<<<<<<<<
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>resources
 *     else:
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":39997
 *         cresources = <ccuda.CUgraphicsResource*><void_ptr>resources
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, cuda.CUgraphicsResource'>, found " + str(type(resources)))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphicsUnmapResources(count, cresources, chStream)
 *     return (CUresult(err),)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_Str(((PyObject *)Py_TYPE(__pyx_v_resources))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39997, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_Argument_resources_is_not_instan, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39997, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39997, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(1, 39997, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":39998
 *     else:
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, cuda.CUgraphicsResource'>, found " + str(type(resources)))
 *     err = ccuda.cuGraphicsUnmapResources(count, cresources, chStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuGraphicsUnmapResources(__pyx_v_count, __pyx_v_cresources, __pyx_v_chStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 39998, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":39999
 *         raise TypeError("Argument 'resources' is not instance of type (expected <class 'int, cuda.CUgraphicsResource'>, found " + str(type(resources)))
 *     err = ccuda.cuGraphicsUnmapResources(count, cresources, chStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 39999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_8 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_5};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 39999, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 39999, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":39943
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40001
 *     return (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_4cuda_825cuGetProcAddress(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_824cuGetProcAddress, "cuGetProcAddress(char *symbol, int cudaVersion, flags)\n Returns the requested driver API function pointer.\n\n    Returns in `**pfn` the address of the CUDA driver function for the\n    requested CUDA version and flags.\n\n    The CUDA version is specified as (1000 * major + 10 * minor), so CUDA\n    11.2 should be specified as 11020. For a requested driver symbol, if\n    the specified CUDA version is greater than or equal to the CUDA version\n    in which the driver symbol was introduced, this API will return the\n    function pointer to the corresponding versioned function.\n\n    The pointer returned by the API should be cast to a function pointer\n    matching the requested driver function's definition in the API header\n    file. The function pointer typedef can be picked up from the\n    corresponding typedefs header file. For example, cudaTypedefs.h\n    consists of function pointer typedefs for driver APIs defined in\n    :py:obj:`~.cuda.h`.\n\n    The API will return :py:obj:`~.CUDA_SUCCESS` and set the returned `pfn`\n    to NULL if the requested driver function is not supported on the\n    platform, no ABI compatible driver function exists for the specified\n    `cudaVersion` or if the driver symbol is invalid.\n\n    It 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\n    The requested flags can be:\n\n    - :py:obj:`~.CU_GET_PROC_ADDRESS_DEFAULT`: This is the default mode.\n      This is equivalent to\n      :py:obj:`~.CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_ST""REAM` 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\n    Parameters\n    ----------\n    symbol : 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.\n    cudaVersion : int\n        The CUDA version to look for the requested driver symbol\n    flags : Any\n        Flags to specify search options.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`\n    pfn : Any\n        Location to return the function pointer to the requested driver\n        function\n    symbolStatus : :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\n    See Also\n    --------\n    :py:obj:`~.cudaGetDriverEntryPoint`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_825cuGetProcAddress = {"cuGetProcAddress", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_825cuGetProcAddress, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_824cuGetProcAddress};
static PyObject *__pyx_pw_4cuda_4cuda_825cuGetProcAddress(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_symbol,&__pyx_n_s_cudaVersion,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_symbol)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40001, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_cudaVersion)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40001, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGetProcAddress", 1, 3, 3, 1); __PYX_ERR(1, 40001, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40001, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGetProcAddress", 1, 3, 3, 2); __PYX_ERR(1, 40001, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGetProcAddress") < 0)) __PYX_ERR(1, 40001, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_symbol = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_symbol) && PyErr_Occurred())) __PYX_ERR(1, 40002, __pyx_L3_error)
    __pyx_v_cudaVersion = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_cudaVersion == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 40002, __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(1, 40001, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGetProcAddress", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_824cuGetProcAddress(__pyx_self, __pyx_v_symbol, __pyx_v_cudaVersion, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_824cuGetProcAddress(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_symbol, int __pyx_v_cudaVersion, PyObject *__pyx_v_flags) {
  cuuint64_t __pyx_v_cflags;
  PyObject *__pyx_v_pflags = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_pfn;
  CUdriverProcAddressQueryResult __pyx_v_symbolStatus;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__919)
  __Pyx_RefNannySetupContext("cuGetProcAddress", 1);
  __Pyx_TraceCall("cuGetProcAddress", __pyx_f[1], 40001, 0, __PYX_ERR(1, 40001, __pyx_L1_error));

  /* "cuda/cuda.pyx":40087
 *     """
 *     cdef ccuda.cuuint64_t cflags
 *     if flags is None:             # <<<<<<<<<<<<<<
 *         cflags = <ccuda.cuuint64_t><void_ptr>0
 *     elif isinstance(flags, (cuuint64_t,)):
 */
  __pyx_t_1 = (__pyx_v_flags == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40088
 *     cdef ccuda.cuuint64_t cflags
 *     if flags is None:
 *         cflags = <ccuda.cuuint64_t><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(flags, (cuuint64_t,)):
 *         pflags = int(flags)
 */
    __pyx_v_cflags = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":40087
 *     """
 *     cdef ccuda.cuuint64_t cflags
 *     if flags is None:             # <<<<<<<<<<<<<<
 *         cflags = <ccuda.cuuint64_t><void_ptr>0
 *     elif isinstance(flags, (cuuint64_t,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40089
 *     if flags is None:
 *         cflags = <ccuda.cuuint64_t><void_ptr>0
 *     elif isinstance(flags, (cuuint64_t,)):             # <<<<<<<<<<<<<<
 *         pflags = int(flags)
 *         cflags = <ccuda.cuuint64_t><void_ptr>pflags
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_flags, __pyx_ptype_4cuda_4cuda_cuuint64_t); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40090
 *         cflags = <ccuda.cuuint64_t><void_ptr>0
 *     elif isinstance(flags, (cuuint64_t,)):
 *         pflags = int(flags)             # <<<<<<<<<<<<<<
 *         cflags = <ccuda.cuuint64_t><void_ptr>pflags
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40090, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pflags = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":40091
 *     elif isinstance(flags, (cuuint64_t,)):
 *         pflags = int(flags)
 *         cflags = <ccuda.cuuint64_t><void_ptr>pflags             # <<<<<<<<<<<<<<
 *     else:
 *         pflags = int(cuuint64_t(flags))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pflags); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40091, __pyx_L1_error)
    __pyx_v_cflags = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":40089
 *     if flags is None:
 *         cflags = <ccuda.cuuint64_t><void_ptr>0
 *     elif isinstance(flags, (cuuint64_t,)):             # <<<<<<<<<<<<<<
 *         pflags = int(flags)
 *         cflags = <ccuda.cuuint64_t><void_ptr>pflags
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40093
 *         cflags = <ccuda.cuuint64_t><void_ptr>pflags
 *     else:
 *         pflags = int(cuuint64_t(flags))             # <<<<<<<<<<<<<<
 *         cflags = <ccuda.cuuint64_t><void_ptr>pflags
 *     cdef void_ptr pfn = 0
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint64_t), __pyx_v_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pflags = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":40094
 *     else:
 *         pflags = int(cuuint64_t(flags))
 *         cflags = <ccuda.cuuint64_t><void_ptr>pflags             # <<<<<<<<<<<<<<
 *     cdef void_ptr pfn = 0
 *     cdef ccuda.CUdriverProcAddressQueryResult symbolStatus
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pflags); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40094, __pyx_L1_error)
    __pyx_v_cflags = ((cuuint64_t)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":40095
 *         pflags = int(cuuint64_t(flags))
 *         cflags = <ccuda.cuuint64_t><void_ptr>pflags
 *     cdef void_ptr pfn = 0             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdriverProcAddressQueryResult symbolStatus
 *     err = ccuda.cuGetProcAddress(symbol, <void**>&pfn, cudaVersion, cflags, &symbolStatus)
 */
  __pyx_v_pfn = 0;

  /* "cuda/cuda.pyx":40097
 *     cdef void_ptr pfn = 0
 *     cdef ccuda.CUdriverProcAddressQueryResult symbolStatus
 *     err = ccuda.cuGetProcAddress(symbol, <void**>&pfn, cudaVersion, cflags, &symbolStatus)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pfn, CUdriverProcAddressQueryResult(symbolStatus))
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGetProcAddress(__pyx_v_symbol, ((void **)(&__pyx_v_pfn)), __pyx_v_cudaVersion, __pyx_v_cflags, (&__pyx_v_symbolStatus)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 40097, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":40098
 *     cdef ccuda.CUdriverProcAddressQueryResult symbolStatus
 *     err = ccuda.cuGetProcAddress(symbol, <void**>&pfn, cudaVersion, cflags, &symbolStatus)
 *     return (CUresult(err), pfn, CUdriverProcAddressQueryResult(symbolStatus))             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 40098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40098, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_pfn); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CUdriverProcAddressQueryResult); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 40098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_9 = __Pyx_PyInt_From_enum__CUdriverProcAddressQueryResult_enum(__pyx_v_symbolStatus); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 40098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_7);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_7, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_9};
    __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 40098, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 40098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4)) __PYX_ERR(1, 40098, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2)) __PYX_ERR(1, 40098, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6)) __PYX_ERR(1, 40098, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":40001
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cuda.cuGetProcAddress", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pflags);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40100
 *     return (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_4cuda_827cuCoredumpGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_826cuCoredumpGetAttribute, "cuCoredumpGetAttribute(attrib: CUcoredumpSettings)\n Allows caller to fetch a coredump attribute value for the current context.\n\n    Returns in `*value` the requested value specified by `attrib`. It is up\n    to the caller to ensure that the data type and size of `*value` matches\n    the request.\n\n    If the caller calls this function with `*value` equal to NULL, the size\n    of the memory region (in bytes) expected for `attrib` will be placed in\n    `size`.\n\n    The 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.\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.\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 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    Parameters\n    ----------\n    attrib : :py:obj:`~.CUcoredumpSettings`\n        The enum defining which value to fetch.\n    size : int\n        The size of the memory region `value` points to.\n\n    Returns\n    -------\n    CUresult\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`\n    value : Any\n        void* containing the requested data.\n    size : int\n        The size of the memory region `value` points to.\n\n    See Also\n    --------\n    :py:obj:`~.cuCoredumpGetAttributeGlobal`, :py:obj:`~.cuCoredumpSetAttribute`, :py:obj:`~.cuCoredumpSetAttributeGlobal`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_827cuCoredumpGetAttribute = {"cuCoredumpGetAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_827cuCoredumpGetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_826cuCoredumpGetAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_827cuCoredumpGetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_attrib,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attrib)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40100, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCoredumpGetAttribute") < 0)) __PYX_ERR(1, 40100, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_attrib = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCoredumpGetAttribute", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 40100, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 40101, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_826cuCoredumpGetAttribute(__pyx_self, __pyx_v_attrib);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_826cuCoredumpGetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib) {
  CUcoredumpSettings __pyx_v_cattrib;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUcoredumpSettings *__pyx_v_cvalue = 0;
  void *__pyx_v_cvalue_ptr;
  size_t __pyx_v_size;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUcoredumpSettings __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_t_6;
  size_t __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_TraceFrameInit(__pyx_codeobj__920)
  __Pyx_RefNannySetupContext("cuCoredumpGetAttribute", 1);
  __Pyx_TraceCall("cuCoredumpGetAttribute", __pyx_f[1], 40100, 0, __PYX_ERR(1, 40100, __pyx_L1_error));

  /* "cuda/cuda.pyx":40171
 *     :py:obj:`~.cuCoredumpGetAttributeGlobal`, :py:obj:`~.cuCoredumpSetAttribute`, :py:obj:`~.cuCoredumpSetAttributeGlobal`
 *     """
 *     cdef ccuda.CUcoredumpSettings cattrib = attrib.value             # <<<<<<<<<<<<<<
 *     cdef utils.HelperCUcoredumpSettings cvalue = utils.HelperCUcoredumpSettings(attrib, 0, is_getter=True)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUcoredumpSettings_enum)__Pyx_PyInt_As_enum__CUcoredumpSettings_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40171, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattrib = __pyx_t_2;

  /* "cuda/cuda.pyx":40172
 *     """
 *     cdef ccuda.CUcoredumpSettings cattrib = attrib.value
 *     cdef utils.HelperCUcoredumpSettings cvalue = utils.HelperCUcoredumpSettings(attrib, 0, is_getter=True)             # <<<<<<<<<<<<<<
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     cdef size_t size = cvalue.size()
 */
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_attrib);
  __Pyx_GIVEREF(__pyx_v_attrib);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_attrib)) __PYX_ERR(1, 40172, __pyx_L1_error);
  __Pyx_INCREF(__pyx_int_0);
  __Pyx_GIVEREF(__pyx_int_0);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_0)) __PYX_ERR(1, 40172, __pyx_L1_error);
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_is_getter, Py_True) < 0) __PYX_ERR(1, 40172, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUcoredumpSettings), __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cvalue = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUcoredumpSettings *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":40173
 *     cdef ccuda.CUcoredumpSettings cattrib = attrib.value
 *     cdef utils.HelperCUcoredumpSettings cvalue = utils.HelperCUcoredumpSettings(attrib, 0, is_getter=True)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr             # <<<<<<<<<<<<<<
 *     cdef size_t size = cvalue.size()
 *     err = ccuda.cuCoredumpGetAttribute(cattrib, cvalue_ptr, &size)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40173, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cvalue_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

  /* "cuda/cuda.pyx":40174
 *     cdef utils.HelperCUcoredumpSettings cvalue = utils.HelperCUcoredumpSettings(attrib, 0, is_getter=True)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     cdef size_t size = cvalue.size()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCoredumpGetAttribute(cattrib, cvalue_ptr, &size)
 *     return (CUresult(err), cvalue.pyObj())
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_size_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_1)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_7 = __Pyx_PyInt_As_size_t(__pyx_t_4); if (unlikely((__pyx_t_7 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 40174, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_size = __pyx_t_7;

  /* "cuda/cuda.pyx":40175
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     cdef size_t size = cvalue.size()
 *     err = ccuda.cuCoredumpGetAttribute(cattrib, cvalue_ptr, &size)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), cvalue.pyObj())
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_5ccuda_cuCoredumpGetAttribute(__pyx_v_cattrib, __pyx_v_cvalue_ptr, (&__pyx_v_size)); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 40175, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cuda.pyx":40176
 *     cdef size_t size = cvalue.size()
 *     err = ccuda.cuCoredumpGetAttribute(cattrib, cvalue_ptr, &size)
 *     return (CUresult(err), cvalue.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_9 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_1};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40176, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_pyObj); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_9 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40176, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4)) __PYX_ERR(1, 40176, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3)) __PYX_ERR(1, 40176, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":40100
 *     return (CUresult(err), pfn, CUdriverProcAddressQueryResult(symbolStatus))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpGetAttribute(attrib not None : CUcoredumpSettings):
 *     """ Allows caller to fetch a coredump attribute value for the current context.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.cuCoredumpGetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_cvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40178
 *     return (CUresult(err), cvalue.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_4cuda_829cuCoredumpGetAttributeGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_828cuCoredumpGetAttributeGlobal, "cuCoredumpGetAttributeGlobal(attrib: CUcoredumpSettings)\n Allows caller to fetch a coredump attribute value for the entire application.\n\n    Returns in `*value` the requested value specified by `attrib`. It is up\n    to the caller to ensure that the data type and size of `*value` matches\n    the request.\n\n    If the caller calls this function with `*value` equal to NULL, the size\n    of the memory region (in bytes) expected for `attrib` will be placed in\n    `size`.\n\n    The 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`.\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\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    Parameters\n    ----------\n    attrib : :py:obj:`~.CUcoredumpSettings`\n        The enum defining which value to fetch.\n    size : int\n        The size of the memory region `value` points to.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    value : Any\n        void* containing the requested data.\n    size : int\n        The size of the memory region `value` points to.\n\n    See Also\n    --------\n    :py:obj:`~.cuCoredumpGetAttribute`, :py:obj:`~.cuCoredumpSetAttribute`, :py:obj:`~.cuCoredumpSetAttributeGlobal`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_829cuCoredumpGetAttributeGlobal = {"cuCoredumpGetAttributeGlobal", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_829cuCoredumpGetAttributeGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_828cuCoredumpGetAttributeGlobal};
static PyObject *__pyx_pw_4cuda_4cuda_829cuCoredumpGetAttributeGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_attrib,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attrib)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40178, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCoredumpGetAttributeGlobal") < 0)) __PYX_ERR(1, 40178, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_attrib = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCoredumpGetAttributeGlobal", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 40178, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 40179, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_828cuCoredumpGetAttributeGlobal(__pyx_self, __pyx_v_attrib);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_828cuCoredumpGetAttributeGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib) {
  CUcoredumpSettings __pyx_v_cattrib;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUcoredumpSettings *__pyx_v_cvalue = 0;
  void *__pyx_v_cvalue_ptr;
  size_t __pyx_v_size;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUcoredumpSettings __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_t_6;
  size_t __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_TraceFrameInit(__pyx_codeobj__921)
  __Pyx_RefNannySetupContext("cuCoredumpGetAttributeGlobal", 1);
  __Pyx_TraceCall("cuCoredumpGetAttributeGlobal", __pyx_f[1], 40178, 0, __PYX_ERR(1, 40178, __pyx_L1_error));

  /* "cuda/cuda.pyx":40244
 *     :py:obj:`~.cuCoredumpGetAttribute`, :py:obj:`~.cuCoredumpSetAttribute`, :py:obj:`~.cuCoredumpSetAttributeGlobal`
 *     """
 *     cdef ccuda.CUcoredumpSettings cattrib = attrib.value             # <<<<<<<<<<<<<<
 *     cdef utils.HelperCUcoredumpSettings cvalue = utils.HelperCUcoredumpSettings(attrib, 0, is_getter=True)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUcoredumpSettings_enum)__Pyx_PyInt_As_enum__CUcoredumpSettings_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40244, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattrib = __pyx_t_2;

  /* "cuda/cuda.pyx":40245
 *     """
 *     cdef ccuda.CUcoredumpSettings cattrib = attrib.value
 *     cdef utils.HelperCUcoredumpSettings cvalue = utils.HelperCUcoredumpSettings(attrib, 0, is_getter=True)             # <<<<<<<<<<<<<<
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     cdef size_t size = cvalue.size()
 */
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_attrib);
  __Pyx_GIVEREF(__pyx_v_attrib);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_attrib)) __PYX_ERR(1, 40245, __pyx_L1_error);
  __Pyx_INCREF(__pyx_int_0);
  __Pyx_GIVEREF(__pyx_int_0);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_0)) __PYX_ERR(1, 40245, __pyx_L1_error);
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_is_getter, Py_True) < 0) __PYX_ERR(1, 40245, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUcoredumpSettings), __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cvalue = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUcoredumpSettings *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":40246
 *     cdef ccuda.CUcoredumpSettings cattrib = attrib.value
 *     cdef utils.HelperCUcoredumpSettings cvalue = utils.HelperCUcoredumpSettings(attrib, 0, is_getter=True)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr             # <<<<<<<<<<<<<<
 *     cdef size_t size = cvalue.size()
 *     err = ccuda.cuCoredumpGetAttributeGlobal(cattrib, cvalue_ptr, &size)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40246, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cvalue_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

  /* "cuda/cuda.pyx":40247
 *     cdef utils.HelperCUcoredumpSettings cvalue = utils.HelperCUcoredumpSettings(attrib, 0, is_getter=True)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     cdef size_t size = cvalue.size()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCoredumpGetAttributeGlobal(cattrib, cvalue_ptr, &size)
 *     return (CUresult(err), cvalue.pyObj())
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_size_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_1)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_7 = __Pyx_PyInt_As_size_t(__pyx_t_4); if (unlikely((__pyx_t_7 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 40247, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_size = __pyx_t_7;

  /* "cuda/cuda.pyx":40248
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     cdef size_t size = cvalue.size()
 *     err = ccuda.cuCoredumpGetAttributeGlobal(cattrib, cvalue_ptr, &size)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), cvalue.pyObj())
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_5ccuda_cuCoredumpGetAttributeGlobal(__pyx_v_cattrib, __pyx_v_cvalue_ptr, (&__pyx_v_size)); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 40248, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cuda.pyx":40249
 *     cdef size_t size = cvalue.size()
 *     err = ccuda.cuCoredumpGetAttributeGlobal(cattrib, cvalue_ptr, &size)
 *     return (CUresult(err), cvalue.pyObj())             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_9 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_1};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_pyObj); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_9 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4)) __PYX_ERR(1, 40249, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3)) __PYX_ERR(1, 40249, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":40178
 *     return (CUresult(err), cvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpGetAttributeGlobal(attrib not None : CUcoredumpSettings):
 *     """ Allows caller to fetch a coredump attribute value for the entire application.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.cuCoredumpGetAttributeGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_cvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40251
 *     return (CUresult(err), cvalue.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_4cuda_831cuCoredumpSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_830cuCoredumpSetAttribute, "cuCoredumpSetAttribute(attrib: CUcoredumpSettings, value)\n Allows caller to set a coredump attribute value for the current context.\n\n    This function should be considered an alternate interface to the CUDA-\n    GDB environment variables defined in this document:\n    https://docs.nvidia.com/cuda/cuda-gdb/index.html#gpu-coredump\n\n    An important design decision to note is that any coredump environment\n    variable values set before CUDA initializes will take permanent\n    precedence over any values set with this this function. This decision\n    was made to ensure no change in behavior for any users that may be\n    currently using these variables to get coredumps.\n\n    `*value` shall contain the requested value specified by `set`. It is up\n    to the caller to ensure that the data type and size of `*value` matches\n    the request.\n\n    If the caller calls this function with `*value` equal to NULL, the size\n    of 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\n    the caller attempts to set :py:obj:`~.CU_COREDUMP_ENABLE_ON_EXCEPTION`\n    on a GPU of with Compute Capability < 6.0.\n    :py:obj:`~.cuCoredumpSetAttributeGlobal` works on those platforms as an\n    alternative.\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\n    The 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`.\n\n    - :py:obj:`~.CU_COREDUMP_LIGHTWEIGHT`: Bool where :p""y: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\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    Parameters\n    ----------\n    attrib : :py:obj:`~.CUcoredumpSettings`\n        The enum defining which value to set.\n    value : Any\n        void* containing the requested data.\n    size : int\n        The size of the memory region `value` points to.\n\n    Returns\n    -------\n    CUresult\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`\n    size : int\n        The size of the memory region `value` points to.\n\n    See Also\n    --------\n    :py:obj:`~.cuCoredumpGetAttributeGlobal`, :py:obj:`~.cuCoredumpGetAttribute`, :py:obj:`~.cuCoredumpSetAttributeGlobal`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_831cuCoredumpSetAttribute = {"cuCoredumpSetAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_831cuCoredumpSetAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_830cuCoredumpSetAttribute};
static PyObject *__pyx_pw_4cuda_4cuda_831cuCoredumpSetAttribute(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_attrib,&__pyx_n_s_value_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attrib)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40251, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40251, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuCoredumpSetAttribute", 1, 2, 2, 1); __PYX_ERR(1, 40251, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCoredumpSetAttribute") < 0)) __PYX_ERR(1, 40251, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 40251, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 40252, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_830cuCoredumpSetAttribute(__pyx_self, __pyx_v_attrib, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_830cuCoredumpSetAttribute(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_value) {
  CUcoredumpSettings __pyx_v_cattrib;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUcoredumpSettings *__pyx_v_cvalue = 0;
  void *__pyx_v_cvalue_ptr;
  size_t __pyx_v_size;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUcoredumpSettings __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_t_6;
  size_t __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_TraceFrameInit(__pyx_codeobj__922)
  __Pyx_RefNannySetupContext("cuCoredumpSetAttribute", 1);
  __Pyx_TraceCall("cuCoredumpSetAttribute", __pyx_f[1], 40251, 0, __PYX_ERR(1, 40251, __pyx_L1_error));

  /* "cuda/cuda.pyx":40324
 *     :py:obj:`~.cuCoredumpGetAttributeGlobal`, :py:obj:`~.cuCoredumpGetAttribute`, :py:obj:`~.cuCoredumpSetAttributeGlobal`
 *     """
 *     cdef ccuda.CUcoredumpSettings cattrib = attrib.value             # <<<<<<<<<<<<<<
 *     cdef utils.HelperCUcoredumpSettings cvalue = utils.HelperCUcoredumpSettings(attrib, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUcoredumpSettings_enum)__Pyx_PyInt_As_enum__CUcoredumpSettings_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40324, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattrib = __pyx_t_2;

  /* "cuda/cuda.pyx":40325
 *     """
 *     cdef ccuda.CUcoredumpSettings cattrib = attrib.value
 *     cdef utils.HelperCUcoredumpSettings cvalue = utils.HelperCUcoredumpSettings(attrib, value, is_getter=False)             # <<<<<<<<<<<<<<
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     cdef size_t size = cvalue.size()
 */
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_attrib);
  __Pyx_GIVEREF(__pyx_v_attrib);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_attrib)) __PYX_ERR(1, 40325, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_value)) __PYX_ERR(1, 40325, __pyx_L1_error);
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_is_getter, Py_False) < 0) __PYX_ERR(1, 40325, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUcoredumpSettings), __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cvalue = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUcoredumpSettings *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":40326
 *     cdef ccuda.CUcoredumpSettings cattrib = attrib.value
 *     cdef utils.HelperCUcoredumpSettings cvalue = utils.HelperCUcoredumpSettings(attrib, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr             # <<<<<<<<<<<<<<
 *     cdef size_t size = cvalue.size()
 *     err = ccuda.cuCoredumpSetAttribute(cattrib, cvalue_ptr, &size)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40326, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cvalue_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

  /* "cuda/cuda.pyx":40327
 *     cdef utils.HelperCUcoredumpSettings cvalue = utils.HelperCUcoredumpSettings(attrib, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     cdef size_t size = cvalue.size()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCoredumpSetAttribute(cattrib, cvalue_ptr, &size)
 *     return (CUresult(err),)
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_size_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_1)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40327, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_7 = __Pyx_PyInt_As_size_t(__pyx_t_4); if (unlikely((__pyx_t_7 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 40327, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_size = __pyx_t_7;

  /* "cuda/cuda.pyx":40328
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     cdef size_t size = cvalue.size()
 *     err = ccuda.cuCoredumpSetAttribute(cattrib, cvalue_ptr, &size)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_5ccuda_cuCoredumpSetAttribute(__pyx_v_cattrib, __pyx_v_cvalue_ptr, (&__pyx_v_size)); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 40328, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cuda.pyx":40329
 *     cdef size_t size = cvalue.size()
 *     err = ccuda.cuCoredumpSetAttribute(cattrib, cvalue_ptr, &size)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_9 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_1};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40329, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40329, __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)) __PYX_ERR(1, 40329, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":40251
 *     return (CUresult(err), cvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpSetAttribute(attrib not None : CUcoredumpSettings, value):
 *     """ Allows caller to set a coredump attribute value for the current context.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.cuCoredumpSetAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_cvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40331
 *     return (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_4cuda_833cuCoredumpSetAttributeGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_832cuCoredumpSetAttributeGlobal, "cuCoredumpSetAttributeGlobal(attrib: CUcoredumpSettings, value)\n Allows caller to set a coredump attribute value globally.\n\n    This function should be considered an alternate interface to the CUDA-\n    GDB environment variables defined in this document:\n    https://docs.nvidia.com/cuda/cuda-gdb/index.html#gpu-coredump\n\n    An important design decision to note is that any coredump environment\n    variable values set before CUDA initializes will take permanent\n    precedence over any values set with this this function. This decision\n    was made to ensure no change in behavior for any users that may be\n    currently using these variables to get coredumps.\n\n    `*value` shall contain the requested value specified by `set`. It is up\n    to the caller to ensure that the data type and size of `*value` matches\n    the request.\n\n    If the caller calls this function with `*value` equal to NULL, the size\n    of the memory region (in bytes) expected for `set` will be placed in\n    `size`.\n\n    The 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`.\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\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    Parameters\n    ----------\n    attrib : :py:obj:`~.CUcoredumpSettings`\n        The enum defining which value to set.\n    value : Any\n        void* containing the requested data.\n    size : int\n        The size of the memory region `value` points to.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_NOT_PERMITTED`\n    size : int\n        The size of the memory region `value` points to.\n\n    See Also\n    --------\n    :py:obj:`~.cuCoredumpGetAttribute`, :py:obj:`~.cuCoredumpGetAttributeGlobal`, :py:obj:`~.cuCoredumpSetAttribute`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_833cuCoredumpSetAttributeGlobal = {"cuCoredumpSetAttributeGlobal", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_833cuCoredumpSetAttributeGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_832cuCoredumpSetAttributeGlobal};
static PyObject *__pyx_pw_4cuda_4cuda_833cuCoredumpSetAttributeGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_attrib,&__pyx_n_s_value_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_attrib)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40331, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40331, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuCoredumpSetAttributeGlobal", 1, 2, 2, 1); __PYX_ERR(1, 40331, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCoredumpSetAttributeGlobal") < 0)) __PYX_ERR(1, 40331, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 40331, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 40332, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_832cuCoredumpSetAttributeGlobal(__pyx_self, __pyx_v_attrib, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_832cuCoredumpSetAttributeGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_attrib, PyObject *__pyx_v_value) {
  CUcoredumpSettings __pyx_v_cattrib;
  struct __pyx_obj_4cuda_4_lib_5utils_HelperCUcoredumpSettings *__pyx_v_cvalue = 0;
  void *__pyx_v_cvalue_ptr;
  size_t __pyx_v_size;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  CUcoredumpSettings __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  int __pyx_t_6;
  size_t __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_TraceFrameInit(__pyx_codeobj__923)
  __Pyx_RefNannySetupContext("cuCoredumpSetAttributeGlobal", 1);
  __Pyx_TraceCall("cuCoredumpSetAttributeGlobal", __pyx_f[1], 40331, 0, __PYX_ERR(1, 40331, __pyx_L1_error));

  /* "cuda/cuda.pyx":40409
 *     :py:obj:`~.cuCoredumpGetAttribute`, :py:obj:`~.cuCoredumpGetAttributeGlobal`, :py:obj:`~.cuCoredumpSetAttribute`
 *     """
 *     cdef ccuda.CUcoredumpSettings cattrib = attrib.value             # <<<<<<<<<<<<<<
 *     cdef utils.HelperCUcoredumpSettings cvalue = utils.HelperCUcoredumpSettings(attrib, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 */
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_n_s_value_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = ((enum CUcoredumpSettings_enum)__Pyx_PyInt_As_enum__CUcoredumpSettings_enum(__pyx_t_1)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40409, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_cattrib = __pyx_t_2;

  /* "cuda/cuda.pyx":40410
 *     """
 *     cdef ccuda.CUcoredumpSettings cattrib = attrib.value
 *     cdef utils.HelperCUcoredumpSettings cvalue = utils.HelperCUcoredumpSettings(attrib, value, is_getter=False)             # <<<<<<<<<<<<<<
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     cdef size_t size = cvalue.size()
 */
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_attrib);
  __Pyx_GIVEREF(__pyx_v_attrib);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_attrib)) __PYX_ERR(1, 40410, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_value)) __PYX_ERR(1, 40410, __pyx_L1_error);
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_is_getter, Py_False) < 0) __PYX_ERR(1, 40410, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4_lib_5utils_HelperCUcoredumpSettings), __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_cvalue = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperCUcoredumpSettings *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":40411
 *     cdef ccuda.CUcoredumpSettings cattrib = attrib.value
 *     cdef utils.HelperCUcoredumpSettings cvalue = utils.HelperCUcoredumpSettings(attrib, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr             # <<<<<<<<<<<<<<
 *     cdef size_t size = cvalue.size()
 *     err = ccuda.cuCoredumpSetAttributeGlobal(cattrib, cvalue_ptr, &size)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_cptr); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_t_4); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40411, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cvalue_ptr = ((void *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

  /* "cuda/cuda.pyx":40412
 *     cdef utils.HelperCUcoredumpSettings cvalue = utils.HelperCUcoredumpSettings(attrib, value, is_getter=False)
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     cdef size_t size = cvalue.size()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCoredumpSetAttributeGlobal(cattrib, cvalue_ptr, &size)
 *     return (CUresult(err),)
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cvalue), __pyx_n_s_size_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_1)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_7 = __Pyx_PyInt_As_size_t(__pyx_t_4); if (unlikely((__pyx_t_7 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 40412, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_size = __pyx_t_7;

  /* "cuda/cuda.pyx":40413
 *     cdef void* cvalue_ptr = <void*><void_ptr>cvalue.cptr
 *     cdef size_t size = cvalue.size()
 *     err = ccuda.cuCoredumpSetAttributeGlobal(cattrib, cvalue_ptr, &size)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_5ccuda_cuCoredumpSetAttributeGlobal(__pyx_v_cattrib, __pyx_v_cvalue_ptr, (&__pyx_v_size)); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 40413, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cuda.pyx":40414
 *     cdef size_t size = cvalue.size()
 *     err = ccuda.cuCoredumpSetAttributeGlobal(cattrib, cvalue_ptr, &size)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_9 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_1};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40414, __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)) __PYX_ERR(1, 40414, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":40331
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpSetAttributeGlobal(attrib not None : CUcoredumpSettings, value):
 *     """ Allows caller to set a coredump attribute value globally.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.cuCoredumpSetAttributeGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_cvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40416
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetExportTable(pExportTableId : Optional[CUuuid]):
 *     """
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_835cuGetExportTable(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_834cuGetExportTable, "cuGetExportTable(CUuuid pExportTableId: Optional[CUuuid])\n \n\n    Parameters\n    ----------\n    pExportTableId : :py:obj:`~.CUuuid`\n        None\n\n    Returns\n    -------\n    CUresult\n\n    ppExportTable : Any\n        None\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_835cuGetExportTable = {"cuGetExportTable", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_835cuGetExportTable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_834cuGetExportTable};
static PyObject *__pyx_pw_4cuda_4cuda_835cuGetExportTable(PyObject *__pyx_self, 
#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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pExportTableId,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pExportTableId)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40416, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGetExportTable") < 0)) __PYX_ERR(1, 40416, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_pExportTableId = ((struct __pyx_obj_4cuda_4cuda_CUuuid *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGetExportTable", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 40416, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUuuid, 1, "pExportTableId", 0))) __PYX_ERR(1, 40417, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_834cuGetExportTable(__pyx_self, __pyx_v_pExportTableId);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_834cuGetExportTable(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4cuda_4cuda_CUuuid *__pyx_v_pExportTableId) {
  __pyx_t_4cuda_4cuda_void_ptr __pyx_v_ppExportTable;
  CUuuid *__pyx_v_cpExportTableId_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  struct CUuuid_st *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  CUresult __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__924)
  __Pyx_RefNannySetupContext("cuGetExportTable", 1);
  __Pyx_TraceCall("cuGetExportTable", __pyx_f[1], 40416, 0, __PYX_ERR(1, 40416, __pyx_L1_error));

  /* "cuda/cuda.pyx":40432
 *         None
 *     """
 *     cdef void_ptr ppExportTable = 0             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUuuid* cpExportTableId_ptr = pExportTableId._ptr if pExportTableId != None else NULL
 *     err = ccuda.cuGetExportTable(<const void**>&ppExportTable, cpExportTableId_ptr)
 */
  __pyx_v_ppExportTable = 0;

  /* "cuda/cuda.pyx":40433
 *     """
 *     cdef void_ptr ppExportTable = 0
 *     cdef ccuda.CUuuid* cpExportTableId_ptr = pExportTableId._ptr if pExportTableId != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGetExportTable(<const void**>&ppExportTable, cpExportTableId_ptr)
 *     return (CUresult(err), ppExportTable)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_pExportTableId), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40433, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 40433, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = __pyx_v_pExportTableId->__pyx_base._ptr;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_cpExportTableId_ptr = __pyx_t_1;

  /* "cuda/cuda.pyx":40434
 *     cdef void_ptr ppExportTable = 0
 *     cdef ccuda.CUuuid* cpExportTableId_ptr = pExportTableId._ptr if pExportTableId != None else NULL
 *     err = ccuda.cuGetExportTable(<const void**>&ppExportTable, cpExportTableId_ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), ppExportTable)
 * 
 */
  __pyx_t_4 = __pyx_f_4cuda_5ccuda_cuGetExportTable(((void const **)(&__pyx_v_ppExportTable)), __pyx_v_cpExportTableId_ptr); if (unlikely(__pyx_t_4 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 40434, __pyx_L1_error)
  __pyx_v_err = __pyx_t_4;

  /* "cuda/cuda.pyx":40435
 *     cdef ccuda.CUuuid* cpExportTableId_ptr = pExportTableId._ptr if pExportTableId != None else NULL
 *     err = ccuda.cuGetExportTable(<const void**>&ppExportTable, cpExportTableId_ptr)
 *     return (CUresult(err), ppExportTable)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 40435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 40435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 40435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(__pyx_v_ppExportTable); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 40435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 40435, __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)) __PYX_ERR(1, 40435, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5)) __PYX_ERR(1, 40435, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":40416
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetExportTable(pExportTableId : Optional[CUuuid]):
 *     """
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuGetExportTable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40437
 *     return (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_4cuda_837cuGreenCtxCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_836cuGreenCtxCreate, "cuGreenCtxCreate(desc, dev, unsigned int flags)\n Creates a green context with a specified set of resources.\n\n    This API creates a green context with the resources specified in the\n    descriptor `desc` and returns it in the handle represented by `phCtx`.\n    This API will retain the primary context on device `dev`, which will is\n    released when the green context is destroyed. It is advised to have the\n    primary context active before calling this API to avoid the heavy cost\n    of triggering primary context initialization and deinitialization\n    multiple times.\n\n    The API does not set the green context current. In order to set it\n    current, you need to explicitly set it current by first converting the\n    green context to a CUcontext using :py:obj:`~.cuCtxFromGreenCtx` and\n    subsequently calling :py:obj:`~.cuCtxSetCurrent` /\n    :py:obj:`~.cuCtxPushCurrent`. It should be noted that a green context\n    can be current to only one thread at a time. There is no internal\n    synchronization to make API calls accessing the same green context from\n    multiple threads work.\n\n    Note: The API is not supported on 32-bit platforms.\n\n    The supported flags are:\n\n    - `CU_GREEN_CTX_DEFAULT_STREAM` : Creates a default stream to use\n      inside the green context. Required.\n\n    Parameters\n    ----------\n    desc : :py:obj:`~.CUdevResourceDesc`\n        Descriptor generated via :py:obj:`~.cuDevResourceGenerateDesc`\n        which contains the set of resources to be used\n    dev : :py:obj:`~.CUdevice`\n        Device on which to create the green context.\n    flags : unsigned int\n        One of the supported green context creation flags.\n        `CU_GREEN_CTX_DEFAULT_STREAM` is required.\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_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERR""OR_NOT_SUPPORTED`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    phCtx : :py:obj:`~.CUgreenCtx`\n        Pointer for the output handle to the green context\n\n    See Also\n    --------\n    :py:obj:`~.cuGreenCtxDestroy`, :py:obj:`~.cuCtxFromGreenCtx`, :py:obj:`~.cuCtxSetCurrent`, :py:obj:`~.cuCtxPushCurrent`, :py:obj:`~.cuDevResourceGenerateDesc`, :py:obj:`~.cuDevicePrimaryCtxRetain`, :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuCtxCreate_v3`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_837cuGreenCtxCreate = {"cuGreenCtxCreate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_837cuGreenCtxCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_836cuGreenCtxCreate};
static PyObject *__pyx_pw_4cuda_4cuda_837cuGreenCtxCreate(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_desc,&__pyx_n_s_dev,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_desc)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40437, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dev)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40437, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGreenCtxCreate", 1, 3, 3, 1); __PYX_ERR(1, 40437, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40437, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGreenCtxCreate", 1, 3, 3, 2); __PYX_ERR(1, 40437, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGreenCtxCreate") < 0)) __PYX_ERR(1, 40437, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_desc = values[0];
    __pyx_v_dev = values[1];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 40438, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGreenCtxCreate", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 40437, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGreenCtxCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_836cuGreenCtxCreate(__pyx_self, __pyx_v_desc, __pyx_v_dev, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_836cuGreenCtxCreate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_desc, PyObject *__pyx_v_dev, unsigned int __pyx_v_flags) {
  CUdevice __pyx_v_cdev;
  PyObject *__pyx_v_pdev = NULL;
  CUdevResourceDesc __pyx_v_cdesc;
  PyObject *__pyx_v_pdesc = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_phCtx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__925)
  __Pyx_RefNannySetupContext("cuGreenCtxCreate", 1);
  __Pyx_TraceCall("cuGreenCtxCreate", __pyx_f[1], 40437, 0, __PYX_ERR(1, 40437, __pyx_L1_error));

  /* "cuda/cuda.pyx":40488
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_dev == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40489
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 */
    __pyx_v_cdev = ((CUdevice)0);

    /* "cuda/cuda.pyx":40488
 *     """
 *     cdef ccuda.CUdevice cdev
 *     if dev is None:             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40490
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_dev, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40491
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdev = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":40492
 *     elif isinstance(dev, (CUdevice,)):
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     else:
 *         pdev = int(CUdevice(dev))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 40492, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":40490
 *     if dev is None:
 *         cdev = <ccuda.CUdevice>0
 *     elif isinstance(dev, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdev = int(dev)
 *         cdev = <ccuda.CUdevice>pdev
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40494
 *         cdev = <ccuda.CUdevice>pdev
 *     else:
 *         pdev = int(CUdevice(dev))             # <<<<<<<<<<<<<<
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUdevResourceDesc cdesc
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_dev); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdev = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":40495
 *     else:
 *         pdev = int(CUdevice(dev))
 *         cdev = <ccuda.CUdevice>pdev             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdevResourceDesc cdesc
 *     if desc is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdev); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 40495, __pyx_L1_error)
    __pyx_v_cdev = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":40497
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUdevResourceDesc cdesc
 *     if desc is None:             # <<<<<<<<<<<<<<
 *         cdesc = <ccuda.CUdevResourceDesc><void_ptr>0
 *     elif isinstance(desc, (CUdevResourceDesc,)):
 */
  __pyx_t_1 = (__pyx_v_desc == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40498
 *     cdef ccuda.CUdevResourceDesc cdesc
 *     if desc is None:
 *         cdesc = <ccuda.CUdevResourceDesc><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(desc, (CUdevResourceDesc,)):
 *         pdesc = int(desc)
 */
    __pyx_v_cdesc = ((CUdevResourceDesc)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":40497
 *         cdev = <ccuda.CUdevice>pdev
 *     cdef ccuda.CUdevResourceDesc cdesc
 *     if desc is None:             # <<<<<<<<<<<<<<
 *         cdesc = <ccuda.CUdevResourceDesc><void_ptr>0
 *     elif isinstance(desc, (CUdevResourceDesc,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":40499
 *     if desc is None:
 *         cdesc = <ccuda.CUdevResourceDesc><void_ptr>0
 *     elif isinstance(desc, (CUdevResourceDesc,)):             # <<<<<<<<<<<<<<
 *         pdesc = int(desc)
 *         cdesc = <ccuda.CUdevResourceDesc><void_ptr>pdesc
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_desc, __pyx_ptype_4cuda_4cuda_CUdevResourceDesc); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40500
 *         cdesc = <ccuda.CUdevResourceDesc><void_ptr>0
 *     elif isinstance(desc, (CUdevResourceDesc,)):
 *         pdesc = int(desc)             # <<<<<<<<<<<<<<
 *         cdesc = <ccuda.CUdevResourceDesc><void_ptr>pdesc
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_desc); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40500, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pdesc = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":40501
 *     elif isinstance(desc, (CUdevResourceDesc,)):
 *         pdesc = int(desc)
 *         cdesc = <ccuda.CUdevResourceDesc><void_ptr>pdesc             # <<<<<<<<<<<<<<
 *     else:
 *         pdesc = int(CUdevResourceDesc(desc))
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdesc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40501, __pyx_L1_error)
    __pyx_v_cdesc = ((CUdevResourceDesc)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));

    /* "cuda/cuda.pyx":40499
 *     if desc is None:
 *         cdesc = <ccuda.CUdevResourceDesc><void_ptr>0
 *     elif isinstance(desc, (CUdevResourceDesc,)):             # <<<<<<<<<<<<<<
 *         pdesc = int(desc)
 *         cdesc = <ccuda.CUdevResourceDesc><void_ptr>pdesc
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":40503
 *         cdesc = <ccuda.CUdevResourceDesc><void_ptr>pdesc
 *     else:
 *         pdesc = int(CUdevResourceDesc(desc))             # <<<<<<<<<<<<<<
 *         cdesc = <ccuda.CUdevResourceDesc><void_ptr>pdesc
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevResourceDesc), __pyx_v_desc); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40503, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40503, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pdesc = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":40504
 *     else:
 *         pdesc = int(CUdevResourceDesc(desc))
 *         cdesc = <ccuda.CUdevResourceDesc><void_ptr>pdesc             # <<<<<<<<<<<<<<
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 *     err = ccuda.cuGreenCtxCreate(<ccuda.CUgreenCtx*>phCtx._ptr, cdesc, cdev, flags)
 */
    __pyx_t_5 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pdesc); if (unlikely((__pyx_t_5 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40504, __pyx_L1_error)
    __pyx_v_cdesc = ((CUdevResourceDesc)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_5));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":40505
 *         pdesc = int(CUdevResourceDesc(desc))
 *         cdesc = <ccuda.CUdevResourceDesc><void_ptr>pdesc
 *     cdef CUgreenCtx phCtx = CUgreenCtx()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGreenCtxCreate(<ccuda.CUgreenCtx*>phCtx._ptr, cdesc, cdev, flags)
 *     return (CUresult(err), phCtx)
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgreenCtx)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_phCtx = ((struct __pyx_obj_4cuda_4cuda_CUgreenCtx *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":40506
 *         cdesc = <ccuda.CUdevResourceDesc><void_ptr>pdesc
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 *     err = ccuda.cuGreenCtxCreate(<ccuda.CUgreenCtx*>phCtx._ptr, cdesc, cdev, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phCtx)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGreenCtxCreate(((CUgreenCtx *)__pyx_v_phCtx->_ptr), __pyx_v_cdesc, __pyx_v_cdev, __pyx_v_flags); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 40506, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":40507
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 *     err = ccuda.cuGreenCtxCreate(<ccuda.CUgreenCtx*>phCtx._ptr, cdesc, cdev, flags)
 *     return (CUresult(err), phCtx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 40507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40507, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 40507, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phCtx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phCtx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_phCtx))) __PYX_ERR(1, 40507, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":40437
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40509
 *     return (CUresult(err), phCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxDestroy(hCtx):
 *     """ Destroys a green context.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_839cuGreenCtxDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_838cuGreenCtxDestroy, "cuGreenCtxDestroy(hCtx)\n Destroys a green context.\n\n    Destroys the green context, releasing the primary context of the device\n    that this green context was created for. Any resources provisioned for\n    this green context (that were initially available via the resource\n    descriptor) are released as well.\n\n    Parameters\n    ----------\n    hCtx : :py:obj:`~.CUgreenCtx`\n        Green context to be destroyed\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_CONTEXT_IS_DESTROYED`\n\n    See Also\n    --------\n    :py:obj:`~.cuGreenCtxCreate`, :py:obj:`~.cuCtxDestroy`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_839cuGreenCtxDestroy = {"cuGreenCtxDestroy", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_839cuGreenCtxDestroy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_838cuGreenCtxDestroy};
static PyObject *__pyx_pw_4cuda_4cuda_839cuGreenCtxDestroy(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hCtx,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hCtx)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40509, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGreenCtxDestroy") < 0)) __PYX_ERR(1, 40509, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hCtx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGreenCtxDestroy", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 40509, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGreenCtxDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_838cuGreenCtxDestroy(__pyx_self, __pyx_v_hCtx);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_838cuGreenCtxDestroy(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx) {
  CUgreenCtx __pyx_v_chCtx;
  PyObject *__pyx_v_phCtx = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__926)
  __Pyx_RefNannySetupContext("cuGreenCtxDestroy", 1);
  __Pyx_TraceCall("cuGreenCtxDestroy", __pyx_f[1], 40509, 0, __PYX_ERR(1, 40509, __pyx_L1_error));

  /* "cuda/cuda.pyx":40533
 *     """
 *     cdef ccuda.CUgreenCtx chCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 */
  __pyx_t_1 = (__pyx_v_hCtx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40534
 *     cdef ccuda.CUgreenCtx chCtx
 *     if hCtx is None:
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)
 */
    __pyx_v_chCtx = ((CUgreenCtx)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":40533
 *     """
 *     cdef ccuda.CUgreenCtx chCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40535
 *     if hCtx is None:
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hCtx, __pyx_ptype_4cuda_4cuda_CUgreenCtx); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40536
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phCtx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":40537
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40537, __pyx_L1_error)
    __pyx_v_chCtx = ((CUgreenCtx)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":40535
 *     if hCtx is None:
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40539
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     err = ccuda.cuGreenCtxDestroy(chCtx)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgreenCtx), __pyx_v_hCtx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40539, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40539, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phCtx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":40540
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGreenCtxDestroy(chCtx)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40540, __pyx_L1_error)
    __pyx_v_chCtx = ((CUgreenCtx)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":40541
 *         phCtx = int(CUgreenCtx(hCtx))
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     err = ccuda.cuGreenCtxDestroy(chCtx)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGreenCtxDestroy(__pyx_v_chCtx); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 40541, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":40542
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     err = ccuda.cuGreenCtxDestroy(chCtx)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 40542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 40542, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":40509
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.cuGreenCtxDestroy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_phCtx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40544
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxFromGreenCtx(hCtx):
 *     """ Converts a green context into the primary context.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_841cuCtxFromGreenCtx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_840cuCtxFromGreenCtx, "cuCtxFromGreenCtx(hCtx)\n Converts a green context into the primary context.\n\n    The 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\n    specified green context `hCtx`. Once converted, it can then be used to\n    set the context current with :py:obj:`~.cuCtxSetCurrent` or with any of\n    the CUDA APIs that accept a CUcontext parameter.\n\n    Users are expected to call this API before calling any CUDA APIs that\n    accept a CUcontext. Failing to do so will result in the APIs returning\n    :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`.\n\n    Parameters\n    ----------\n    hCtx : :py:obj:`~.CUgreenCtx`\n        Green context to convert\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_VALUE`\n    pContext : :py:obj:`~.CUcontext`\n        Returned primary context with green context resources\n\n    See Also\n    --------\n    :py:obj:`~.cuGreenCtxCreate`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_841cuCtxFromGreenCtx = {"cuCtxFromGreenCtx", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_841cuCtxFromGreenCtx, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_840cuCtxFromGreenCtx};
static PyObject *__pyx_pw_4cuda_4cuda_841cuCtxFromGreenCtx(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hCtx,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hCtx)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40544, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxFromGreenCtx") < 0)) __PYX_ERR(1, 40544, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hCtx = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuCtxFromGreenCtx", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 40544, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuCtxFromGreenCtx", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_840cuCtxFromGreenCtx(__pyx_self, __pyx_v_hCtx);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_840cuCtxFromGreenCtx(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx) {
  CUgreenCtx __pyx_v_chCtx;
  PyObject *__pyx_v_phCtx = NULL;
  struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_pContext = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__927)
  __Pyx_RefNannySetupContext("cuCtxFromGreenCtx", 1);
  __Pyx_TraceCall("cuCtxFromGreenCtx", __pyx_f[1], 40544, 0, __PYX_ERR(1, 40544, __pyx_L1_error));

  /* "cuda/cuda.pyx":40576
 *     """
 *     cdef ccuda.CUgreenCtx chCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 */
  __pyx_t_1 = (__pyx_v_hCtx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40577
 *     cdef ccuda.CUgreenCtx chCtx
 *     if hCtx is None:
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)
 */
    __pyx_v_chCtx = ((CUgreenCtx)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":40576
 *     """
 *     cdef ccuda.CUgreenCtx chCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40578
 *     if hCtx is None:
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hCtx, __pyx_ptype_4cuda_4cuda_CUgreenCtx); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40579
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phCtx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":40580
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40580, __pyx_L1_error)
    __pyx_v_chCtx = ((CUgreenCtx)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":40578
 *     if hCtx is None:
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40582
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     cdef CUcontext pContext = CUcontext()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgreenCtx), __pyx_v_hCtx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phCtx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":40583
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     cdef CUcontext pContext = CUcontext()
 *     err = ccuda.cuCtxFromGreenCtx(<ccuda.CUcontext*>pContext._ptr, chCtx)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40583, __pyx_L1_error)
    __pyx_v_chCtx = ((CUgreenCtx)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":40584
 *         phCtx = int(CUgreenCtx(hCtx))
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     cdef CUcontext pContext = CUcontext()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxFromGreenCtx(<ccuda.CUcontext*>pContext._ptr, chCtx)
 *     return (CUresult(err), pContext)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pContext = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":40585
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     cdef CUcontext pContext = CUcontext()
 *     err = ccuda.cuCtxFromGreenCtx(<ccuda.CUcontext*>pContext._ptr, chCtx)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pContext)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuCtxFromGreenCtx(((CUcontext *)__pyx_v_pContext->_ptr), __pyx_v_chCtx); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 40585, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":40586
 *     cdef CUcontext pContext = CUcontext()
 *     err = ccuda.cuCtxFromGreenCtx(<ccuda.CUcontext*>pContext._ptr, chCtx)
 *     return (CUresult(err), pContext)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 40586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40586, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 40586, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pContext);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pContext);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pContext))) __PYX_ERR(1, 40586, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":40544
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40588
 *     return (CUresult(err), pContext)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetDevResource(device, typename not None : CUdevResourceType):
 *     """ Get device resources.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_843cuDeviceGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_842cuDeviceGetDevResource, "cuDeviceGetDevResource(device, typename: CUdevResourceType)\n Get device resources.\n\n    Get the `typename` resources available to the `device`. This may often\n    be the starting point for further partitioning or configuring of\n    resources.\n\n    Note: The API is not supported on 32-bit platforms.\n\n    Parameters\n    ----------\n    device : :py:obj:`~.CUdevice`\n        Device to get resource for\n    typename : :py:obj:`~.CUdevResourceType`\n        Type of resource to retrieve\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_RESOURCE_TYPE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_DEVICE`\n    resource : :py:obj:`~.CUdevResource`\n        Output pointer to a :py:obj:`~.CUdevResource` structure\n\n    See Also\n    --------\n    :py:obj:`~.cuDevResourceGenerateDesc`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_843cuDeviceGetDevResource = {"cuDeviceGetDevResource", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_843cuDeviceGetDevResource, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_842cuDeviceGetDevResource};
static PyObject *__pyx_pw_4cuda_4cuda_843cuDeviceGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_device,&__pyx_n_s_typename,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_device)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40588, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_typename)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40588, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDeviceGetDevResource", 1, 2, 2, 1); __PYX_ERR(1, 40588, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDeviceGetDevResource") < 0)) __PYX_ERR(1, 40588, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 40588, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 40589, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_842cuDeviceGetDevResource(__pyx_self, __pyx_v_device, __pyx_v_typename);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_842cuDeviceGetDevResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_device, PyObject *__pyx_v_typename) {
  CUdevice __pyx_v_cdevice;
  PyObject *__pyx_v_pdevice = NULL;
  struct __pyx_obj_4cuda_4cuda_CUdevResource *__pyx_v_resource = 0;
  CUdevResourceType __pyx_v_ctypename;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  CUdevice __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUdevResourceType __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__928)
  __Pyx_RefNannySetupContext("cuDeviceGetDevResource", 1);
  __Pyx_TraceCall("cuDeviceGetDevResource", __pyx_f[1], 40588, 0, __PYX_ERR(1, 40588, __pyx_L1_error));

  /* "cuda/cuda.pyx":40617
 *     """
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40618
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 */
    __pyx_v_cdevice = ((CUdevice)0);

    /* "cuda/cuda.pyx":40617
 *     """
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40619
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40620
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40620, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pdevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":40621
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 40621, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_3);

    /* "cuda/cuda.pyx":40619
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40623
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef CUdevResource resource = CUdevResource()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_device); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40623, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pdevice = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":40624
 *     else:
 *         pdevice = int(CUdevice(device))
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef ccuda.CUdevResourceType ctypename = typename.value
 */
    __pyx_t_3 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_3 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 40624, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_3);
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":40625
 *         pdevice = int(CUdevice(device))
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef CUdevResource resource = CUdevResource()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdevResourceType ctypename = typename.value
 *     err = ccuda.cuDeviceGetDevResource(cdevice, <ccuda.CUdevResource*>resource._ptr, ctypename)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevResource)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_resource = ((struct __pyx_obj_4cuda_4cuda_CUdevResource *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":40626
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef ccuda.CUdevResourceType ctypename = typename.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDeviceGetDevResource(cdevice, <ccuda.CUdevResource*>resource._ptr, ctypename)
 *     return (CUresult(err), resource)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((CUdevResourceType)__Pyx_PyInt_As_CUdevResourceType(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40626, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_ctypename = __pyx_t_5;

  /* "cuda/cuda.pyx":40627
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef ccuda.CUdevResourceType ctypename = typename.value
 *     err = ccuda.cuDeviceGetDevResource(cdevice, <ccuda.CUdevResource*>resource._ptr, ctypename)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), resource)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuDeviceGetDevResource(__pyx_v_cdevice, ((CUdevResource *)__pyx_v_resource->__pyx_base.__pyx_base._ptr), __pyx_v_ctypename); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 40627, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":40628
 *     cdef ccuda.CUdevResourceType ctypename = typename.value
 *     err = ccuda.cuDeviceGetDevResource(cdevice, <ccuda.CUdevResource*>resource._ptr, ctypename)
 *     return (CUresult(err), resource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 40628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40628, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 40628, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_resource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_resource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_resource))) __PYX_ERR(1, 40628, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":40588
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40630
 *     return (CUresult(err), resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetDevResource(hCtx, typename not None : CUdevResourceType):
 *     """ Get context resources.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_845cuCtxGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_844cuCtxGetDevResource, "cuCtxGetDevResource(hCtx, typename: CUdevResourceType)\n Get context resources.\n\n    Get the `typename` resources available to the context represented by\n    `hCtx`  Note: The API is not supported on 32-bit platforms.\n\n    Parameters\n    ----------\n    hCtx : :py:obj:`~.CUcontext`\n        Context to get resource for\n    typename : :py:obj:`~.CUdevResourceType`\n        Type of resource to retrieve\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_RESOURCE_TYPE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`\n    resource : :py:obj:`~.CUdevResource`\n        Output pointer to a :py:obj:`~.CUdevResource` structure\n\n    See Also\n    --------\n    :py:obj:`~.cuDevResourceGenerateDesc`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_845cuCtxGetDevResource = {"cuCtxGetDevResource", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_845cuCtxGetDevResource, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_844cuCtxGetDevResource};
static PyObject *__pyx_pw_4cuda_4cuda_845cuCtxGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hCtx,&__pyx_n_s_typename,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hCtx)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40630, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_typename)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40630, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuCtxGetDevResource", 1, 2, 2, 1); __PYX_ERR(1, 40630, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuCtxGetDevResource") < 0)) __PYX_ERR(1, 40630, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 40630, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 40631, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_844cuCtxGetDevResource(__pyx_self, __pyx_v_hCtx, __pyx_v_typename);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_844cuCtxGetDevResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_typename) {
  CUcontext __pyx_v_chCtx;
  PyObject *__pyx_v_phCtx = NULL;
  struct __pyx_obj_4cuda_4cuda_CUdevResource *__pyx_v_resource = 0;
  CUdevResourceType __pyx_v_ctypename;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUdevResourceType __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__929)
  __Pyx_RefNannySetupContext("cuCtxGetDevResource", 1);
  __Pyx_TraceCall("cuCtxGetDevResource", __pyx_f[1], 40630, 0, __PYX_ERR(1, 40630, __pyx_L1_error));

  /* "cuda/cuda.pyx":40656
 *     """
 *     cdef ccuda.CUcontext chCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(hCtx, (CUcontext,)):
 */
  __pyx_t_1 = (__pyx_v_hCtx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40657
 *     cdef ccuda.CUcontext chCtx
 *     if hCtx is None:
 *         chCtx = <ccuda.CUcontext><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hCtx, (CUcontext,)):
 *         phCtx = int(hCtx)
 */
    __pyx_v_chCtx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":40656
 *     """
 *     cdef ccuda.CUcontext chCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(hCtx, (CUcontext,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40658
 *     if hCtx is None:
 *         chCtx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(hCtx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUcontext><void_ptr>phCtx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hCtx, __pyx_ptype_4cuda_4cuda_CUcontext); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40659
 *         chCtx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(hCtx, (CUcontext,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUcontext><void_ptr>phCtx
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40659, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phCtx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":40660
 *     elif isinstance(hCtx, (CUcontext,)):
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUcontext><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUcontext(hCtx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40660, __pyx_L1_error)
    __pyx_v_chCtx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":40658
 *     if hCtx is None:
 *         chCtx = <ccuda.CUcontext><void_ptr>0
 *     elif isinstance(hCtx, (CUcontext,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUcontext><void_ptr>phCtx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40662
 *         chCtx = <ccuda.CUcontext><void_ptr>phCtx
 *     else:
 *         phCtx = int(CUcontext(hCtx))             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUcontext><void_ptr>phCtx
 *     cdef CUdevResource resource = CUdevResource()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), __pyx_v_hCtx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phCtx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":40663
 *     else:
 *         phCtx = int(CUcontext(hCtx))
 *         chCtx = <ccuda.CUcontext><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef ccuda.CUdevResourceType ctypename = typename.value
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40663, __pyx_L1_error)
    __pyx_v_chCtx = ((CUcontext)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":40664
 *         phCtx = int(CUcontext(hCtx))
 *         chCtx = <ccuda.CUcontext><void_ptr>phCtx
 *     cdef CUdevResource resource = CUdevResource()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdevResourceType ctypename = typename.value
 *     err = ccuda.cuCtxGetDevResource(chCtx, <ccuda.CUdevResource*>resource._ptr, ctypename)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevResource)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_resource = ((struct __pyx_obj_4cuda_4cuda_CUdevResource *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":40665
 *         chCtx = <ccuda.CUcontext><void_ptr>phCtx
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef ccuda.CUdevResourceType ctypename = typename.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuCtxGetDevResource(chCtx, <ccuda.CUdevResource*>resource._ptr, ctypename)
 *     return (CUresult(err), resource)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((CUdevResourceType)__Pyx_PyInt_As_CUdevResourceType(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_ctypename = __pyx_t_5;

  /* "cuda/cuda.pyx":40666
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef ccuda.CUdevResourceType ctypename = typename.value
 *     err = ccuda.cuCtxGetDevResource(chCtx, <ccuda.CUdevResource*>resource._ptr, ctypename)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), resource)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuCtxGetDevResource(__pyx_v_chCtx, ((CUdevResource *)__pyx_v_resource->__pyx_base.__pyx_base._ptr), __pyx_v_ctypename); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 40666, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":40667
 *     cdef ccuda.CUdevResourceType ctypename = typename.value
 *     err = ccuda.cuCtxGetDevResource(chCtx, <ccuda.CUdevResource*>resource._ptr, ctypename)
 *     return (CUresult(err), resource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 40667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40667, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 40667, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_resource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_resource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_resource))) __PYX_ERR(1, 40667, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":40630
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40669
 *     return (CUresult(err), resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxGetDevResource(hCtx, typename not None : CUdevResourceType):
 *     """ Get green context resources.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_847cuGreenCtxGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_846cuGreenCtxGetDevResource, "cuGreenCtxGetDevResource(hCtx, typename: CUdevResourceType)\n Get green context resources.\n\n    Get the `typename` resources available to the green context represented\n    by `hCtx`\n\n    Parameters\n    ----------\n    hCtx : :py:obj:`~.CUgreenCtx`\n        Green context to get resource for\n    typename : :py:obj:`~.CUdevResourceType`\n        Type of resource to retrieve\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_RESOURCE_TYPE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`\n    resource : :py:obj:`~.CUdevResource`\n        Output pointer to a :py:obj:`~.CUdevResource` structure\n\n    See Also\n    --------\n    :py:obj:`~.cuDevResourceGenerateDesc`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_847cuGreenCtxGetDevResource = {"cuGreenCtxGetDevResource", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_847cuGreenCtxGetDevResource, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_846cuGreenCtxGetDevResource};
static PyObject *__pyx_pw_4cuda_4cuda_847cuGreenCtxGetDevResource(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hCtx,&__pyx_n_s_typename,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hCtx)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40669, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_typename)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40669, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGreenCtxGetDevResource", 1, 2, 2, 1); __PYX_ERR(1, 40669, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGreenCtxGetDevResource") < 0)) __PYX_ERR(1, 40669, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 40669, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 40670, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_846cuGreenCtxGetDevResource(__pyx_self, __pyx_v_hCtx, __pyx_v_typename);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_846cuGreenCtxGetDevResource(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_typename) {
  CUgreenCtx __pyx_v_chCtx;
  PyObject *__pyx_v_phCtx = NULL;
  struct __pyx_obj_4cuda_4cuda_CUdevResource *__pyx_v_resource = 0;
  CUdevResourceType __pyx_v_ctypename;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUdevResourceType __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__930)
  __Pyx_RefNannySetupContext("cuGreenCtxGetDevResource", 1);
  __Pyx_TraceCall("cuGreenCtxGetDevResource", __pyx_f[1], 40669, 0, __PYX_ERR(1, 40669, __pyx_L1_error));

  /* "cuda/cuda.pyx":40695
 *     """
 *     cdef ccuda.CUgreenCtx chCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 */
  __pyx_t_1 = (__pyx_v_hCtx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40696
 *     cdef ccuda.CUgreenCtx chCtx
 *     if hCtx is None:
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)
 */
    __pyx_v_chCtx = ((CUgreenCtx)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":40695
 *     """
 *     cdef ccuda.CUgreenCtx chCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40697
 *     if hCtx is None:
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hCtx, __pyx_ptype_4cuda_4cuda_CUgreenCtx); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40698
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40698, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phCtx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":40699
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40699, __pyx_L1_error)
    __pyx_v_chCtx = ((CUgreenCtx)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":40697
 *     if hCtx is None:
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40701
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     cdef CUdevResource resource = CUdevResource()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgreenCtx), __pyx_v_hCtx); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40701, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40701, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phCtx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":40702
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef ccuda.CUdevResourceType ctypename = typename.value
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40702, __pyx_L1_error)
    __pyx_v_chCtx = ((CUgreenCtx)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":40703
 *         phCtx = int(CUgreenCtx(hCtx))
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     cdef CUdevResource resource = CUdevResource()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdevResourceType ctypename = typename.value
 *     err = ccuda.cuGreenCtxGetDevResource(chCtx, <ccuda.CUdevResource*>resource._ptr, ctypename)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevResource)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_resource = ((struct __pyx_obj_4cuda_4cuda_CUdevResource *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":40704
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef ccuda.CUdevResourceType ctypename = typename.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGreenCtxGetDevResource(chCtx, <ccuda.CUdevResource*>resource._ptr, ctypename)
 *     return (CUresult(err), resource)
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_typename, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((CUdevResourceType)__Pyx_PyInt_As_CUdevResourceType(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40704, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_ctypename = __pyx_t_5;

  /* "cuda/cuda.pyx":40705
 *     cdef CUdevResource resource = CUdevResource()
 *     cdef ccuda.CUdevResourceType ctypename = typename.value
 *     err = ccuda.cuGreenCtxGetDevResource(chCtx, <ccuda.CUdevResource*>resource._ptr, ctypename)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), resource)
 * 
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGreenCtxGetDevResource(__pyx_v_chCtx, ((CUdevResource *)__pyx_v_resource->__pyx_base.__pyx_base._ptr), __pyx_v_ctypename); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 40705, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":40706
 *     cdef ccuda.CUdevResourceType ctypename = typename.value
 *     err = ccuda.cuGreenCtxGetDevResource(chCtx, <ccuda.CUdevResource*>resource._ptr, ctypename)
 *     return (CUresult(err), resource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 40706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = NULL;
  __pyx_t_9 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_9 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40706, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 40706, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_resource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_resource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_resource))) __PYX_ERR(1, 40706, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":40669
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40708
 *     return (CUresult(err), resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevSmResourceSplitByCount(unsigned int nbGroups, input_ : Optional[CUdevResource], unsigned int useFlags, unsigned int minCount):
 *     """ Splits `CU_DEV_RESOURCE_TYPE_SM` resources.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_849cuDevSmResourceSplitByCount(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_848cuDevSmResourceSplitByCount, "cuDevSmResourceSplitByCount(unsigned int nbGroups, CUdevResource input_: Optional[CUdevResource], unsigned int useFlags, unsigned int minCount)\n Splits `CU_DEV_RESOURCE_TYPE_SM` resources.\n\n    Splits `CU_DEV_RESOURCE_TYPE_SM` resources into `nbGroups`, adhering to\n    the minimum SM count specified in `minCount` and the usage flags in\n    `useFlags`. If `result` is NULL, the API simulates a split and provides\n    the amount of groups that would be created in `nbGroups`. Otherwise,\n    `nbGroups` must point to the amount of elements in `result` and on\n    return, the API will overwrite `nbGroups` with the amount actually\n    created. The groups are written to the array in `result`. `nbGroups`\n    can be less than the total amount if a smaller number of groups is\n    needed.\n\n    This API is used to spatially partition the input resource. The input\n    resource 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\n    the output results cannot be split again without first creating a\n    descriptor and a green context with that descriptor.\n\n    When creating the groups, the API will take into account the\n    performance and functional characteristics of the input resource, and\n    guarantee a split that will create a disjoint set of symmetrical\n    partitions. This may lead to less groups created than purely dividing\n    the total SM count by the `minCount` due to cluster requirements or\n    alignment and granularity requirements for the minCount.\n\n    The `remainder` set, might not have the same functional or performance\n    guarantees as the groups in `result`. Its use should be carefully\n    planned and future partitions of the `remainder` set are discouraged.\n\n    A 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_RE""SOURCE_TYPE_SM`. Value of `minCount` must\n      be between 0 and the SM count specified in `input`. `remaining` and\n      `useFlags` are optional.\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      This queries the number of groups that would be created by the API.\n\n    Note: The API is not supported on 32-bit platforms.\n\n    Parameters\n    ----------\n    nbGroups : unsigned int\n        This is a pointer, specifying the number of groups that would be or\n        should be created as described below.\n    input : :py:obj:`~.CUdevResource`\n        Input SM resource to be split. Must be a valid\n        `CU_DEV_RESOURCE_TYPE_SM` resource.\n    useFlags : unsigned int\n        Flags specifying how these partitions are used or which constraints\n        to abide by when splitting the input.\n    minCount : unsigned int\n        Minimum number of SMs required\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_DEVICE`, :py:obj:`~.CUDA_ERROR_INVALID_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_RESOURCE_TYPE`, :py:obj:`~.CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION`\n    result : List[:py:obj:`~.CUdevResource`]\n        Output array of `None` resources. Can be NULL to query the number\n        of groups.\n    nbGroups : unsigned int\n        This is a pointer, specifying the number of groups that would be or\n        should be created as described below.\n    remaining : :py:obj:`~.CUdevResource`\n        If the input resource cannot be cleanly split among `nbGroups`, the\n        remaining is placed in here. Can be ommitted (NULL) if the user\n        does not need the remaining set.\n\n    See Also\n    --------\n    :py:obj:`~.cuGreenCtxGetDevResource`, :py:obj:`~.cuCt""xGetDevResource`, :py:obj:`~.cuDeviceGetDevResource`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_849cuDevSmResourceSplitByCount = {"cuDevSmResourceSplitByCount", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_849cuDevSmResourceSplitByCount, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_848cuDevSmResourceSplitByCount};
static PyObject *__pyx_pw_4cuda_4cuda_849cuDevSmResourceSplitByCount(PyObject *__pyx_self, 
#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_4cuda_CUdevResource *__pyx_v_input_ = 0;
  unsigned int __pyx_v_useFlags;
  unsigned int __pyx_v_minCount;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cuDevSmResourceSplitByCount (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_nbGroups,&__pyx_n_s_input,&__pyx_n_s_useFlags,&__pyx_n_s_minCount,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nbGroups)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40708, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_input)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40708, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDevSmResourceSplitByCount", 1, 4, 4, 1); __PYX_ERR(1, 40708, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_useFlags)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40708, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDevSmResourceSplitByCount", 1, 4, 4, 2); __PYX_ERR(1, 40708, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_minCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40708, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDevSmResourceSplitByCount", 1, 4, 4, 3); __PYX_ERR(1, 40708, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDevSmResourceSplitByCount") < 0)) __PYX_ERR(1, 40708, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_nbGroups = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_nbGroups == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 40709, __pyx_L3_error)
    __pyx_v_input_ = ((struct __pyx_obj_4cuda_4cuda_CUdevResource *)values[1]);
    __pyx_v_useFlags = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_useFlags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 40709, __pyx_L3_error)
    __pyx_v_minCount = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_minCount == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 40709, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevSmResourceSplitByCount", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 40708, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUdevResource, 1, "input_", 0))) __PYX_ERR(1, 40709, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_848cuDevSmResourceSplitByCount(__pyx_self, __pyx_v_nbGroups, __pyx_v_input_, __pyx_v_useFlags, __pyx_v_minCount);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_848cuDevSmResourceSplitByCount(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_nbGroups, struct __pyx_obj_4cuda_4cuda_CUdevResource *__pyx_v_input_, unsigned int __pyx_v_useFlags, unsigned int __pyx_v_minCount) {
  CUdevResource *__pyx_v_cresult;
  PyObject *__pyx_v_pyresult = NULL;
  unsigned int __pyx_v_cnbGroups;
  CUdevResource *__pyx_v_cinput__ptr;
  struct __pyx_obj_4cuda_4cuda_CUdevResource *__pyx_v_remaining = 0;
  CUresult __pyx_v_err;
  unsigned int __pyx_v_idx;
  CYTHON_UNUSED unsigned int __pyx_10genexpr201__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __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;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  struct CUdevResource_st *__pyx_t_8;
  CUresult __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__931)
  __Pyx_RefNannySetupContext("cuDevSmResourceSplitByCount", 1);
  __Pyx_TraceCall("cuDevSmResourceSplitByCount", __pyx_f[1], 40708, 0, __PYX_ERR(1, 40708, __pyx_L1_error));

  /* "cuda/cuda.pyx":40787
 *     :py:obj:`~.cuGreenCtxGetDevResource`, :py:obj:`~.cuCtxGetDevResource`, :py:obj:`~.cuDeviceGetDevResource`
 *     """
 *     cdef ccuda.CUdevResource* cresult = NULL             # <<<<<<<<<<<<<<
 *     pyresult = [CUdevResource() for idx in range(nbGroups)]
 *     if nbGroups != 0:
 */
  __pyx_v_cresult = NULL;

  /* "cuda/cuda.pyx":40788
 *     """
 *     cdef ccuda.CUdevResource* cresult = NULL
 *     pyresult = [CUdevResource() for idx in range(nbGroups)]             # <<<<<<<<<<<<<<
 *     if nbGroups != 0:
 *         cresult = <ccuda.CUdevResource*>calloc(nbGroups, sizeof(ccuda.CUdevResource))
 */
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40788, __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_10genexpr201__pyx_v_idx = __pyx_t_4;
      __pyx_t_5 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevResource)); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 40788, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(1, 40788, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_pyresult = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":40789
 *     cdef ccuda.CUdevResource* cresult = NULL
 *     pyresult = [CUdevResource() for idx in range(nbGroups)]
 *     if nbGroups != 0:             # <<<<<<<<<<<<<<
 *         cresult = <ccuda.CUdevResource*>calloc(nbGroups, sizeof(ccuda.CUdevResource))
 *         if cresult is NULL:
 */
  __pyx_t_6 = (__pyx_v_nbGroups != 0);
  if (__pyx_t_6) {

    /* "cuda/cuda.pyx":40790
 *     pyresult = [CUdevResource() for idx in range(nbGroups)]
 *     if nbGroups != 0:
 *         cresult = <ccuda.CUdevResource*>calloc(nbGroups, sizeof(ccuda.CUdevResource))             # <<<<<<<<<<<<<<
 *         if cresult is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(nbGroups) + 'x' + str(sizeof(ccuda.CUdevResource)))
 */
    __pyx_v_cresult = ((CUdevResource *)calloc(__pyx_v_nbGroups, (sizeof(CUdevResource))));

    /* "cuda/cuda.pyx":40791
 *     if nbGroups != 0:
 *         cresult = <ccuda.CUdevResource*>calloc(nbGroups, sizeof(ccuda.CUdevResource))
 *         if cresult is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(nbGroups) + 'x' + str(sizeof(ccuda.CUdevResource)))
 *     cdef unsigned int cnbGroups = nbGroups
 */
    __pyx_t_6 = (__pyx_v_cresult == NULL);
    if (unlikely(__pyx_t_6)) {

      /* "cuda/cuda.pyx":40792
 *         cresult = <ccuda.CUdevResource*>calloc(nbGroups, sizeof(ccuda.CUdevResource))
 *         if cresult is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(nbGroups) + 'x' + str(sizeof(ccuda.CUdevResource)))             # <<<<<<<<<<<<<<
 *     cdef unsigned int cnbGroups = nbGroups
 *     cdef ccuda.CUdevResource* cinput__ptr = input_._ptr if input_ != None else NULL
 */
      __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nbGroups); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40792, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_5 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 40792, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40792, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 40792, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUdevResource))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40792, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 40792, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40792, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 40792, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(1, 40792, __pyx_L1_error)

      /* "cuda/cuda.pyx":40791
 *     if nbGroups != 0:
 *         cresult = <ccuda.CUdevResource*>calloc(nbGroups, sizeof(ccuda.CUdevResource))
 *         if cresult is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(nbGroups) + 'x' + str(sizeof(ccuda.CUdevResource)))
 *     cdef unsigned int cnbGroups = nbGroups
 */
    }

    /* "cuda/cuda.pyx":40789
 *     cdef ccuda.CUdevResource* cresult = NULL
 *     pyresult = [CUdevResource() for idx in range(nbGroups)]
 *     if nbGroups != 0:             # <<<<<<<<<<<<<<
 *         cresult = <ccuda.CUdevResource*>calloc(nbGroups, sizeof(ccuda.CUdevResource))
 *         if cresult is NULL:
 */
  }

  /* "cuda/cuda.pyx":40793
 *         if cresult is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(nbGroups) + 'x' + str(sizeof(ccuda.CUdevResource)))
 *     cdef unsigned int cnbGroups = nbGroups             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdevResource* cinput__ptr = input_._ptr if input_ != None else NULL
 *     cdef CUdevResource remaining = CUdevResource()
 */
  __pyx_v_cnbGroups = __pyx_v_nbGroups;

  /* "cuda/cuda.pyx":40794
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(nbGroups) + 'x' + str(sizeof(ccuda.CUdevResource)))
 *     cdef unsigned int cnbGroups = nbGroups
 *     cdef ccuda.CUdevResource* cinput__ptr = input_._ptr if input_ != None else NULL             # <<<<<<<<<<<<<<
 *     cdef CUdevResource remaining = CUdevResource()
 *     err = ccuda.cuDevSmResourceSplitByCount(cresult, &cnbGroups, cinput__ptr, <ccuda.CUdevResource*>remaining._ptr, useFlags, minCount)
 */
  __pyx_t_7 = PyObject_RichCompare(((PyObject *)__pyx_v_input_), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 40794, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(1, 40794, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  if (__pyx_t_6) {
    __pyx_t_8 = __pyx_v_input_->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_8 = NULL;
  }
  __pyx_v_cinput__ptr = __pyx_t_8;

  /* "cuda/cuda.pyx":40795
 *     cdef unsigned int cnbGroups = nbGroups
 *     cdef ccuda.CUdevResource* cinput__ptr = input_._ptr if input_ != None else NULL
 *     cdef CUdevResource remaining = CUdevResource()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDevSmResourceSplitByCount(cresult, &cnbGroups, cinput__ptr, <ccuda.CUdevResource*>remaining._ptr, useFlags, minCount)
 *     if CUresult(err) == CUresult(0):
 */
  __pyx_t_7 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevResource)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 40795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_v_remaining = ((struct __pyx_obj_4cuda_4cuda_CUdevResource *)__pyx_t_7);
  __pyx_t_7 = 0;

  /* "cuda/cuda.pyx":40796
 *     cdef ccuda.CUdevResource* cinput__ptr = input_._ptr if input_ != None else NULL
 *     cdef CUdevResource remaining = CUdevResource()
 *     err = ccuda.cuDevSmResourceSplitByCount(cresult, &cnbGroups, cinput__ptr, <ccuda.CUdevResource*>remaining._ptr, useFlags, minCount)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         for idx in range(nbGroups):
 */
  __pyx_t_9 = __pyx_f_4cuda_5ccuda_cuDevSmResourceSplitByCount(__pyx_v_cresult, (&__pyx_v_cnbGroups), __pyx_v_cinput__ptr, ((CUdevResource *)__pyx_v_remaining->__pyx_base.__pyx_base._ptr), __pyx_v_useFlags, __pyx_v_minCount); if (unlikely(__pyx_t_9 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 40796, __pyx_L1_error)
  __pyx_v_err = __pyx_t_9;

  /* "cuda/cuda.pyx":40797
 *     cdef CUdevResource remaining = CUdevResource()
 *     err = ccuda.cuDevSmResourceSplitByCount(cresult, &cnbGroups, cinput__ptr, <ccuda.CUdevResource*>remaining._ptr, useFlags, minCount)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         for idx in range(nbGroups):
 *             string.memcpy((<CUdevResource>pyresult[idx])._ptr, &cresult[idx], sizeof(ccuda.CUdevResource))
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 40797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_10 = NULL;
  __pyx_t_11 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
      __pyx_t_11 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_5};
    __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11);
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 40797, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 40797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_10 = NULL;
  __pyx_t_11 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_5, function);
      __pyx_t_11 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_int_0};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11);
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40797, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_7, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 40797, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(1, 40797, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_6) {

    /* "cuda/cuda.pyx":40798
 *     err = ccuda.cuDevSmResourceSplitByCount(cresult, &cnbGroups, cinput__ptr, <ccuda.CUdevResource*>remaining._ptr, useFlags, minCount)
 *     if CUresult(err) == CUresult(0):
 *         for idx in range(nbGroups):             # <<<<<<<<<<<<<<
 *             string.memcpy((<CUdevResource>pyresult[idx])._ptr, &cresult[idx], sizeof(ccuda.CUdevResource))
 *     if cresult 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/cuda.pyx":40799
 *     if CUresult(err) == CUresult(0):
 *         for idx in range(nbGroups):
 *             string.memcpy((<CUdevResource>pyresult[idx])._ptr, &cresult[idx], sizeof(ccuda.CUdevResource))             # <<<<<<<<<<<<<<
 *     if cresult is not NULL:
 *         free(cresult)
 */
      __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_pyresult, __pyx_v_idx, unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 40799, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      (void)(memcpy(((struct __pyx_obj_4cuda_4cuda_CUdevResource *)__pyx_t_5)->__pyx_base.__pyx_base._ptr, (&(__pyx_v_cresult[__pyx_v_idx])), (sizeof(CUdevResource))));
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }

    /* "cuda/cuda.pyx":40797
 *     cdef CUdevResource remaining = CUdevResource()
 *     err = ccuda.cuDevSmResourceSplitByCount(cresult, &cnbGroups, cinput__ptr, <ccuda.CUdevResource*>remaining._ptr, useFlags, minCount)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         for idx in range(nbGroups):
 *             string.memcpy((<CUdevResource>pyresult[idx])._ptr, &cresult[idx], sizeof(ccuda.CUdevResource))
 */
  }

  /* "cuda/cuda.pyx":40800
 *         for idx in range(nbGroups):
 *             string.memcpy((<CUdevResource>pyresult[idx])._ptr, &cresult[idx], sizeof(ccuda.CUdevResource))
 *     if cresult is not NULL:             # <<<<<<<<<<<<<<
 *         free(cresult)
 *     return (CUresult(err), pyresult, cnbGroups, remaining)
 */
  __pyx_t_6 = (__pyx_v_cresult != NULL);
  if (__pyx_t_6) {

    /* "cuda/cuda.pyx":40801
 *             string.memcpy((<CUdevResource>pyresult[idx])._ptr, &cresult[idx], sizeof(ccuda.CUdevResource))
 *     if cresult is not NULL:
 *         free(cresult)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pyresult, cnbGroups, remaining)
 * 
 */
    free(__pyx_v_cresult);

    /* "cuda/cuda.pyx":40800
 *         for idx in range(nbGroups):
 *             string.memcpy((<CUdevResource>pyresult[idx])._ptr, &cresult[idx], sizeof(ccuda.CUdevResource))
 *     if cresult is not NULL:             # <<<<<<<<<<<<<<
 *         free(cresult)
 *     return (CUresult(err), pyresult, cnbGroups, remaining)
 */
  }

  /* "cuda/cuda.pyx":40802
 *     if cresult is not NULL:
 *         free(cresult)
 *     return (CUresult(err), pyresult, cnbGroups, remaining)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 40802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_10 = NULL;
  __pyx_t_11 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_10)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_10);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
      __pyx_t_11 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_7};
    __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11);
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 40802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_cnbGroups); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 40802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5)) __PYX_ERR(1, 40802, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pyresult);
  __Pyx_GIVEREF(__pyx_v_pyresult);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_pyresult)) __PYX_ERR(1, 40802, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_1)) __PYX_ERR(1, 40802, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_remaining);
  __Pyx_GIVEREF((PyObject *)__pyx_v_remaining);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 3, ((PyObject *)__pyx_v_remaining))) __PYX_ERR(1, 40802, __pyx_L1_error);
  __pyx_t_5 = 0;
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":40708
 *     return (CUresult(err), resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevSmResourceSplitByCount(unsigned int nbGroups, input_ : Optional[CUdevResource], unsigned int useFlags, unsigned int minCount):
 *     """ Splits `CU_DEV_RESOURCE_TYPE_SM` resources.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("cuda.cuda.cuDevSmResourceSplitByCount", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pyresult);
  __Pyx_XDECREF((PyObject *)__pyx_v_remaining);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40804
 *     return (CUresult(err), pyresult, cnbGroups, remaining)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevResourceGenerateDesc(resources : Optional[List[CUdevResource]], unsigned int nbResources):
 *     """ Generate a resource descriptor.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_851cuDevResourceGenerateDesc(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_850cuDevResourceGenerateDesc, "cuDevResourceGenerateDesc(list resources: Optional[List[CUdevResource]], unsigned int nbResources)\n Generate a resource descriptor.\n\n    Generates a resource descriptor with the set of resources specified in\n    `resources`. The generated resource descriptor is necessary for the\n    creation of green contexts via the :py:obj:`~.cuGreenCtxCreate` API.\n    The API expects `nbResources` == 1, as there is only one type of\n    resource and merging the same types of resource is currently not\n    supported.\n\n    Note: The API is not supported on 32-bit platforms.\n\n    Parameters\n    ----------\n    resources : List[:py:obj:`~.CUdevResource`]\n        Array of resources to be included in the descriptor\n    nbResources : unsigned int\n        Number of resources passed in `resources`\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_VALUE`, :py:obj:`~.CUDA_ERROR_INVALID_RESOURCE_TYPE`, :py:obj:`~.CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION`\n    phDesc : :py:obj:`~.CUdevResourceDesc`\n        Output descriptor\n\n    See Also\n    --------\n    :py:obj:`~.cuDevSmResourceSplitByCount`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_851cuDevResourceGenerateDesc = {"cuDevResourceGenerateDesc", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_851cuDevResourceGenerateDesc, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_850cuDevResourceGenerateDesc};
static PyObject *__pyx_pw_4cuda_4cuda_851cuDevResourceGenerateDesc(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_resources,&__pyx_n_s_nbResources,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_resources)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40804, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nbResources)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40804, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuDevResourceGenerateDesc", 1, 2, 2, 1); __PYX_ERR(1, 40804, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuDevResourceGenerateDesc") < 0)) __PYX_ERR(1, 40804, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_resources = ((PyObject*)values[0]);
    __pyx_v_nbResources = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_nbResources == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 40805, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuDevResourceGenerateDesc", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 40804, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuDevResourceGenerateDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_resources), (&PyList_Type), 1, "resources", 1))) __PYX_ERR(1, 40805, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_850cuDevResourceGenerateDesc(__pyx_self, __pyx_v_resources, __pyx_v_nbResources);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_4cuda_4cuda_25cuDevResourceGenerateDesc_2generator61(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "cuda/cuda.pyx":40836
 *     """
 *     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 List[ccuda.CUdevResource,]")
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()
 */

static PyObject *__pyx_pf_4cuda_4cuda_25cuDevResourceGenerateDesc_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_4cuda_4cuda___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_4cuda___pyx_scope_struct_61_genexpr *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_61_genexpr(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_61_genexpr, __pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_61_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 40836, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_4cuda_4cuda_25cuDevResourceGenerateDesc_2generator61, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_cuDevResourceGenerateDesc_locals, __pyx_n_s_cuda_cuda); if (unlikely(!gen)) __PYX_ERR(1, 40836, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cuda.cuda.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_4cuda_25cuDevResourceGenerateDesc_2generator61(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_61_genexpr *__pyx_cur_scope = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_61_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  __Pyx_TraceCall("genexpr", __pyx_f[1], 40836, 0, __PYX_ERR(1, 40836, __pyx_L1_error));
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_TraceReturn(Py_None, 0);
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 40836, __pyx_L1_error)
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 40836, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(1, 40836, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_MACROS
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 40836, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(1, 40836, __pyx_L1_error)
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40836, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__x);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__x, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __Pyx_TypeCheck(__pyx_cur_scope->__pyx_v__x, __pyx_ptype_4cuda_4cuda_CUdevResource); 
    __pyx_t_5 = (!__pyx_t_4);
    if (__pyx_t_5) {
      __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_Generator_Replace_StopIteration(0);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40804
 *     return (CUresult(err), pyresult, cnbGroups, remaining)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevResourceGenerateDesc(resources : Optional[List[CUdevResource]], unsigned int nbResources):
 *     """ Generate a resource descriptor.
 */

static PyObject *__pyx_pf_4cuda_4cuda_850cuDevResourceGenerateDesc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resources, unsigned int __pyx_v_nbResources) {
  struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *__pyx_v_phDesc = 0;
  CUdevResource *__pyx_v_cresources;
  Py_ssize_t __pyx_v_idx;
  CUresult __pyx_v_err;
  PyObject *__pyx_gb_4cuda_4cuda_25cuDevResourceGenerateDesc_2generator61 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  struct CUdevResource_st *__pyx_t_9;
  CUresult __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__932)
  __Pyx_RefNannySetupContext("cuDevResourceGenerateDesc", 0);
  __Pyx_TraceCall("cuDevResourceGenerateDesc", __pyx_f[1], 40804, 0, __PYX_ERR(1, 40804, __pyx_L1_error));
  __Pyx_INCREF(__pyx_v_resources);

  /* "cuda/cuda.pyx":40835
 *     :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 List[ccuda.CUdevResource,]")
 */
  __pyx_t_2 = (__pyx_v_resources == ((PyObject*)Py_None));
  if (__pyx_t_2) {
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40835, __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, ((PyObject*)__pyx_t_1));
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":40836
 *     """
 *     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 List[ccuda.CUdevResource,]")
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()
 */
  __pyx_t_1 = __pyx_pf_4cuda_4cuda_25cuDevResourceGenerateDesc_genexpr(NULL, __pyx_v_resources); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_Generator_Next(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40836, __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(1, 40836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = (!__pyx_t_2);
  if (unlikely(__pyx_t_4)) {

    /* "cuda/cuda.pyx":40837
 *     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 List[ccuda.CUdevResource,]")             # <<<<<<<<<<<<<<
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()
 *     cdef ccuda.CUdevResource* cresources = NULL
 */
    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__933, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40837, __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(1, 40837, __pyx_L1_error)

    /* "cuda/cuda.pyx":40836
 *     """
 *     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 List[ccuda.CUdevResource,]")
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()
 */
  }

  /* "cuda/cuda.pyx":40838
 *     if not all(isinstance(_x, (CUdevResource,)) for _x in resources):
 *         raise TypeError("Argument 'resources' is not instance of type (expected List[ccuda.CUdevResource,]")
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdevResource* cresources = NULL
 *     if len(resources) > 0:
 */
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevResourceDesc)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_phDesc = ((struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":40839
 *         raise TypeError("Argument 'resources' is not instance of type (expected List[ccuda.CUdevResource,]")
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()
 *     cdef ccuda.CUdevResource* cresources = NULL             # <<<<<<<<<<<<<<
 *     if len(resources) > 0:
 *         cresources = <ccuda.CUdevResource*> calloc(len(resources), sizeof(ccuda.CUdevResource))
 */
  __pyx_v_cresources = NULL;

  /* "cuda/cuda.pyx":40840
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()
 *     cdef ccuda.CUdevResource* cresources = NULL
 *     if len(resources) > 0:             # <<<<<<<<<<<<<<
 *         cresources = <ccuda.CUdevResource*> calloc(len(resources), sizeof(ccuda.CUdevResource))
 *         if cresources is NULL:
 */
  if (unlikely(__pyx_v_resources == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 40840, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_resources); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 40840, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_5 > 0);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":40841
 *     cdef ccuda.CUdevResource* cresources = NULL
 *     if len(resources) > 0:
 *         cresources = <ccuda.CUdevResource*> calloc(len(resources), sizeof(ccuda.CUdevResource))             # <<<<<<<<<<<<<<
 *         if cresources is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(resources)) + 'x' + str(sizeof(ccuda.CUdevResource)))
 */
    if (unlikely(__pyx_v_resources == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 40841, __pyx_L1_error)
    }
    __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_resources); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 40841, __pyx_L1_error)
    __pyx_v_cresources = ((CUdevResource *)calloc(__pyx_t_5, (sizeof(CUdevResource))));

    /* "cuda/cuda.pyx":40842
 *     if len(resources) > 0:
 *         cresources = <ccuda.CUdevResource*> calloc(len(resources), sizeof(ccuda.CUdevResource))
 *         if cresources is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(resources)) + 'x' + str(sizeof(ccuda.CUdevResource)))
 *         for idx in range(len(resources)):
 */
    __pyx_t_4 = (__pyx_v_cresources == NULL);
    if (unlikely(__pyx_t_4)) {

      /* "cuda/cuda.pyx":40843
 *         cresources = <ccuda.CUdevResource*> calloc(len(resources), sizeof(ccuda.CUdevResource))
 *         if cresources is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(resources)) + 'x' + str(sizeof(ccuda.CUdevResource)))             # <<<<<<<<<<<<<<
 *         for idx in range(len(resources)):
 *             string.memcpy(&cresources[idx], (<CUdevResource>resources[idx])._ptr, sizeof(ccuda.CUdevResource))
 */
      if (unlikely(__pyx_v_resources == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(1, 40843, __pyx_L1_error)
      }
      __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_resources); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 40843, __pyx_L1_error)
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40843, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40843, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40843, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_3, __pyx_n_u_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40843, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyInt_FromSize_t((sizeof(CUdevResource))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40843, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_6 = __Pyx_PyObject_Str(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 40843, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40843, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 40843, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(__pyx_t_6, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __PYX_ERR(1, 40843, __pyx_L1_error)

      /* "cuda/cuda.pyx":40842
 *     if len(resources) > 0:
 *         cresources = <ccuda.CUdevResource*> calloc(len(resources), sizeof(ccuda.CUdevResource))
 *         if cresources is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(resources)) + 'x' + str(sizeof(ccuda.CUdevResource)))
 *         for idx in range(len(resources)):
 */
    }

    /* "cuda/cuda.pyx":40844
 *         if cresources is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(resources)) + 'x' + str(sizeof(ccuda.CUdevResource)))
 *         for idx in range(len(resources)):             # <<<<<<<<<<<<<<
 *             string.memcpy(&cresources[idx], (<CUdevResource>resources[idx])._ptr, sizeof(ccuda.CUdevResource))
 *     if nbResources > len(resources): raise RuntimeError("List is too small: " + str(len(resources)) + " < " + str(nbResources))
 */
    if (unlikely(__pyx_v_resources == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 40844, __pyx_L1_error)
    }
    __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_resources); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 40844, __pyx_L1_error)
    __pyx_t_7 = __pyx_t_5;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_v_idx = __pyx_t_8;

      /* "cuda/cuda.pyx":40845
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(len(resources)) + 'x' + str(sizeof(ccuda.CUdevResource)))
 *         for idx in range(len(resources)):
 *             string.memcpy(&cresources[idx], (<CUdevResource>resources[idx])._ptr, sizeof(ccuda.CUdevResource))             # <<<<<<<<<<<<<<
 *     if nbResources > len(resources): raise RuntimeError("List is too small: " + str(len(resources)) + " < " + str(nbResources))
 *     err = ccuda.cuDevResourceGenerateDesc(<ccuda.CUdevResourceDesc*>phDesc._ptr, (<CUdevResource>resources[0])._ptr if len(resources) == 1 else cresources, nbResources)
 */
      if (unlikely(__pyx_v_resources == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
        __PYX_ERR(1, 40845, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_resources, __pyx_v_idx, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 40845, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      (void)(memcpy((&(__pyx_v_cresources[__pyx_v_idx])), ((struct __pyx_obj_4cuda_4cuda_CUdevResource *)__pyx_t_6)->__pyx_base.__pyx_base._ptr, (sizeof(CUdevResource))));
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }

    /* "cuda/cuda.pyx":40840
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()
 *     cdef ccuda.CUdevResource* cresources = NULL
 *     if len(resources) > 0:             # <<<<<<<<<<<<<<
 *         cresources = <ccuda.CUdevResource*> calloc(len(resources), sizeof(ccuda.CUdevResource))
 *         if cresources is NULL:
 */
  }

  /* "cuda/cuda.pyx":40846
 *         for idx in range(len(resources)):
 *             string.memcpy(&cresources[idx], (<CUdevResource>resources[idx])._ptr, sizeof(ccuda.CUdevResource))
 *     if nbResources > len(resources): raise RuntimeError("List is too small: " + str(len(resources)) + " < " + str(nbResources))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuDevResourceGenerateDesc(<ccuda.CUdevResourceDesc*>phDesc._ptr, (<CUdevResource>resources[0])._ptr if len(resources) == 1 else cresources, nbResources)
 *     if cresources is not NULL:
 */
  if (unlikely(__pyx_v_resources == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 40846, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_resources); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 40846, __pyx_L1_error)
  __pyx_t_4 = (__pyx_v_nbResources > __pyx_t_5);
  if (unlikely(__pyx_t_4)) {
    if (unlikely(__pyx_v_resources == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
      __PYX_ERR(1, 40846, __pyx_L1_error)
    }
    __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_resources); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 40846, __pyx_L1_error)
    __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 40846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = PyNumber_Add(__pyx_kp_u_List_is_too_small, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 40846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_6, __pyx_kp_u__535); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyInt_From_unsigned_int(__pyx_v_nbResources); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 40846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_1 = __Pyx_PyObject_Str(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 40846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40846, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(1, 40846, __pyx_L1_error)
  }

  /* "cuda/cuda.pyx":40847
 *             string.memcpy(&cresources[idx], (<CUdevResource>resources[idx])._ptr, sizeof(ccuda.CUdevResource))
 *     if nbResources > len(resources): raise RuntimeError("List is too small: " + str(len(resources)) + " < " + str(nbResources))
 *     err = ccuda.cuDevResourceGenerateDesc(<ccuda.CUdevResourceDesc*>phDesc._ptr, (<CUdevResource>resources[0])._ptr if len(resources) == 1 else cresources, nbResources)             # <<<<<<<<<<<<<<
 *     if cresources is not NULL:
 *         free(cresources)
 */
  if (unlikely(__pyx_v_resources == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 40847, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_PyList_GET_SIZE(__pyx_v_resources); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 40847, __pyx_L1_error)
  __pyx_t_4 = (__pyx_t_5 == 1);
  if (__pyx_t_4) {
    if (unlikely(__pyx_v_resources == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 40847, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_resources, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = ((struct __pyx_obj_4cuda_4cuda_CUdevResource *)__pyx_t_1)->__pyx_base.__pyx_base._ptr;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __pyx_t_9 = __pyx_v_cresources;
  }
  __pyx_t_10 = __pyx_f_4cuda_5ccuda_cuDevResourceGenerateDesc(((CUdevResourceDesc *)__pyx_v_phDesc->_ptr), __pyx_t_9, __pyx_v_nbResources); if (unlikely(__pyx_t_10 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 40847, __pyx_L1_error)
  __pyx_v_err = __pyx_t_10;

  /* "cuda/cuda.pyx":40848
 *     if nbResources > len(resources): raise RuntimeError("List is too small: " + str(len(resources)) + " < " + str(nbResources))
 *     err = ccuda.cuDevResourceGenerateDesc(<ccuda.CUdevResourceDesc*>phDesc._ptr, (<CUdevResource>resources[0])._ptr if len(resources) == 1 else cresources, nbResources)
 *     if cresources is not NULL:             # <<<<<<<<<<<<<<
 *         free(cresources)
 *     return (CUresult(err), phDesc)
 */
  __pyx_t_4 = (__pyx_v_cresources != NULL);
  if (__pyx_t_4) {

    /* "cuda/cuda.pyx":40849
 *     err = ccuda.cuDevResourceGenerateDesc(<ccuda.CUdevResourceDesc*>phDesc._ptr, (<CUdevResource>resources[0])._ptr if len(resources) == 1 else cresources, nbResources)
 *     if cresources is not NULL:
 *         free(cresources)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phDesc)
 * 
 */
    free(__pyx_v_cresources);

    /* "cuda/cuda.pyx":40848
 *     if nbResources > len(resources): raise RuntimeError("List is too small: " + str(len(resources)) + " < " + str(nbResources))
 *     err = ccuda.cuDevResourceGenerateDesc(<ccuda.CUdevResourceDesc*>phDesc._ptr, (<CUdevResource>resources[0])._ptr if len(resources) == 1 else cresources, nbResources)
 *     if cresources is not NULL:             # <<<<<<<<<<<<<<
 *         free(cresources)
 *     return (CUresult(err), phDesc)
 */
  }

  /* "cuda/cuda.pyx":40850
 *     if cresources is not NULL:
 *         free(cresources)
 *     return (CUresult(err), phDesc)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 40850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_11 = NULL;
  __pyx_t_12 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_6);
    if (likely(__pyx_t_11)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_11);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_6, function);
      __pyx_t_12 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_12, 1+__pyx_t_12);
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 40850, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 40850, __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)) __PYX_ERR(1, 40850, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phDesc);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phDesc);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_phDesc))) __PYX_ERR(1, 40850, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":40804
 *     return (CUresult(err), pyresult, cnbGroups, remaining)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevResourceGenerateDesc(resources : Optional[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_6);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("cuda.cuda.cuDevResourceGenerateDesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_phDesc);
  __Pyx_XDECREF(__pyx_gb_4cuda_4cuda_25cuDevResourceGenerateDesc_2generator61);
  __Pyx_XDECREF(__pyx_v_resources);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40852
 *     return (CUresult(err), phDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxRecordEvent(hCtx, hEvent):
 *     """ Records an event.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_853cuGreenCtxRecordEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_852cuGreenCtxRecordEvent, "cuGreenCtxRecordEvent(hCtx, hEvent)\n Records an event.\n\n    Captures in \\phEvent all the activities of the green context of \\phCtx\n    at the time of this call. \\phEvent and \\phCtx must be from the same\n    CUDA context. Calls such as :py:obj:`~.cuEventQuery()` or\n    :py:obj:`~.cuGreenCtxWaitEvent()` will then examine or wait for\n    completion of the work that was captured. Uses of `hCtx` after this\n    call do not modify `hEvent`.\n\n    Parameters\n    ----------\n    hCtx : :py:obj:`~.CUgreenCtx`\n        Green context to record event for\n    hEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event to record\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:`~.cuGreenCtxWaitEvent`, :py:obj:`~.cuEventRecord`\n\n    Notes\n    -----\n    The API will return an error 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.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_853cuGreenCtxRecordEvent = {"cuGreenCtxRecordEvent", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_853cuGreenCtxRecordEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_852cuGreenCtxRecordEvent};
static PyObject *__pyx_pw_4cuda_4cuda_853cuGreenCtxRecordEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hCtx,&__pyx_n_s_hEvent,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hCtx)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40852, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hEvent)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40852, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGreenCtxRecordEvent", 1, 2, 2, 1); __PYX_ERR(1, 40852, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGreenCtxRecordEvent") < 0)) __PYX_ERR(1, 40852, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 40852, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGreenCtxRecordEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_852cuGreenCtxRecordEvent(__pyx_self, __pyx_v_hCtx, __pyx_v_hEvent);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_852cuGreenCtxRecordEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_hEvent) {
  CUevent __pyx_v_chEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUgreenCtx __pyx_v_chCtx;
  PyObject *__pyx_v_phCtx = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__934)
  __Pyx_RefNannySetupContext("cuGreenCtxRecordEvent", 1);
  __Pyx_TraceCall("cuGreenCtxRecordEvent", __pyx_f[1], 40852, 0, __PYX_ERR(1, 40852, __pyx_L1_error));

  /* "cuda/cuda.pyx":40884
 *     """
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40885
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
 */
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":40884
 *     """
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40886
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40887
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40887, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":40888
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40888, __pyx_L1_error)
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":40886
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40890
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     cdef ccuda.CUgreenCtx chCtx
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40890, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40890, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":40891
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgreenCtx chCtx
 *     if hCtx is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40891, __pyx_L1_error)
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":40893
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     cdef ccuda.CUgreenCtx chCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 */
  __pyx_t_1 = (__pyx_v_hCtx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40894
 *     cdef ccuda.CUgreenCtx chCtx
 *     if hCtx is None:
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)
 */
    __pyx_v_chCtx = ((CUgreenCtx)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":40893
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     cdef ccuda.CUgreenCtx chCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":40895
 *     if hCtx is None:
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hCtx, __pyx_ptype_4cuda_4cuda_CUgreenCtx); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40896
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40896, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phCtx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":40897
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40897, __pyx_L1_error)
    __pyx_v_chCtx = ((CUgreenCtx)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":40895
 *     if hCtx is None:
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":40899
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     err = ccuda.cuGreenCtxRecordEvent(chCtx, chEvent)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgreenCtx), __pyx_v_hCtx); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phCtx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":40900
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGreenCtxRecordEvent(chCtx, chEvent)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40900, __pyx_L1_error)
    __pyx_v_chCtx = ((CUgreenCtx)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":40901
 *         phCtx = int(CUgreenCtx(hCtx))
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     err = ccuda.cuGreenCtxRecordEvent(chCtx, chEvent)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGreenCtxRecordEvent(__pyx_v_chCtx, __pyx_v_chEvent); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 40901, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":40902
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     err = ccuda.cuGreenCtxRecordEvent(chCtx, chEvent)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 40902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 40902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 40902, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":40852
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40904
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxWaitEvent(hCtx, hEvent):
 *     """ Make a green context wait on an event.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_855cuGreenCtxWaitEvent(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_854cuGreenCtxWaitEvent, "cuGreenCtxWaitEvent(hCtx, hEvent)\n Make a green context wait on an event.\n\n    Makes all future work submitted to green context \\phCtx wait for all\n    work captured in \\phEvent. The synchronization will be performed on the\n    device and will not block the calling CPU thread. See\n    :py:obj:`~.cuGreenCtxRecordEvent()` for details on what is captured by\n    an event.\n\n    Parameters\n    ----------\n    hCtx : :py:obj:`~.CUgreenCtx`\n        Green context to wait\n    hEvent : :py:obj:`~.CUevent` or :py:obj:`~.cudaEvent_t`\n        Event to wait on (may not be NULL)\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:`~.cuGreenCtxRecordEvent`, :py:obj:`~.cuStreamWaitEvent`\n\n    Notes\n    -----\n    The API will return an error and invalidate the capture if the specified event `hEvent` is part of an ongoing capture sequence.\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_855cuGreenCtxWaitEvent = {"cuGreenCtxWaitEvent", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_855cuGreenCtxWaitEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_854cuGreenCtxWaitEvent};
static PyObject *__pyx_pw_4cuda_4cuda_855cuGreenCtxWaitEvent(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hCtx,&__pyx_n_s_hEvent,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hCtx)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40904, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hEvent)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40904, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGreenCtxWaitEvent", 1, 2, 2, 1); __PYX_ERR(1, 40904, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGreenCtxWaitEvent") < 0)) __PYX_ERR(1, 40904, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 40904, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGreenCtxWaitEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_854cuGreenCtxWaitEvent(__pyx_self, __pyx_v_hCtx, __pyx_v_hEvent);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_854cuGreenCtxWaitEvent(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hCtx, PyObject *__pyx_v_hEvent) {
  CUevent __pyx_v_chEvent;
  PyObject *__pyx_v_phEvent = NULL;
  CUgreenCtx __pyx_v_chCtx;
  PyObject *__pyx_v_phCtx = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__935)
  __Pyx_RefNannySetupContext("cuGreenCtxWaitEvent", 1);
  __Pyx_TraceCall("cuGreenCtxWaitEvent", __pyx_f[1], 40904, 0, __PYX_ERR(1, 40904, __pyx_L1_error));

  /* "cuda/cuda.pyx":40935
 *     """
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 */
  __pyx_t_1 = (__pyx_v_hEvent == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40936
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
 */
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":40935
 *     """
 *     cdef ccuda.CUevent chEvent
 *     if hEvent is None:             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40937
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hEvent, __pyx_ptype_4cuda_4cuda_CUevent); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40938
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40938, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phEvent = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":40939
 *     elif isinstance(hEvent, (CUevent,)):
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     else:
 *         phEvent = int(CUevent(hEvent))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40939, __pyx_L1_error)
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":40937
 *     if hEvent is None:
 *         chEvent = <ccuda.CUevent><void_ptr>0
 *     elif isinstance(hEvent, (CUevent,)):             # <<<<<<<<<<<<<<
 *         phEvent = int(hEvent)
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40941
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     else:
 *         phEvent = int(CUevent(hEvent))             # <<<<<<<<<<<<<<
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     cdef ccuda.CUgreenCtx chCtx
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), __pyx_v_hEvent); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40941, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40941, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phEvent = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":40942
 *     else:
 *         phEvent = int(CUevent(hEvent))
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgreenCtx chCtx
 *     if hCtx is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phEvent); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40942, __pyx_L1_error)
    __pyx_v_chEvent = ((CUevent)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":40944
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     cdef ccuda.CUgreenCtx chCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 */
  __pyx_t_1 = (__pyx_v_hCtx == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40945
 *     cdef ccuda.CUgreenCtx chCtx
 *     if hCtx is None:
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)
 */
    __pyx_v_chCtx = ((CUgreenCtx)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":40944
 *         chEvent = <ccuda.CUevent><void_ptr>phEvent
 *     cdef ccuda.CUgreenCtx chCtx
 *     if hCtx is None:             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":40946
 *     if hCtx is None:
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hCtx, __pyx_ptype_4cuda_4cuda_CUgreenCtx); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40947
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_hCtx); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40947, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_phCtx = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":40948
 *     elif isinstance(hCtx, (CUgreenCtx,)):
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40948, __pyx_L1_error)
    __pyx_v_chCtx = ((CUgreenCtx)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":40946
 *     if hCtx is None:
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>0
 *     elif isinstance(hCtx, (CUgreenCtx,)):             # <<<<<<<<<<<<<<
 *         phCtx = int(hCtx)
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":40950
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))             # <<<<<<<<<<<<<<
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     err = ccuda.cuGreenCtxWaitEvent(chCtx, chEvent)
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgreenCtx), __pyx_v_hCtx); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40950, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40950, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_phCtx = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":40951
 *     else:
 *         phCtx = int(CUgreenCtx(hCtx))
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGreenCtxWaitEvent(chCtx, chEvent)
 *     return (CUresult(err),)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phCtx); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40951, __pyx_L1_error)
    __pyx_v_chCtx = ((CUgreenCtx)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":40952
 *         phCtx = int(CUgreenCtx(hCtx))
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     err = ccuda.cuGreenCtxWaitEvent(chCtx, chEvent)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGreenCtxWaitEvent(__pyx_v_chCtx, __pyx_v_chEvent); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 40952, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":40953
 *         chCtx = <ccuda.CUgreenCtx><void_ptr>phCtx
 *     err = ccuda.cuGreenCtxWaitEvent(chCtx, chEvent)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 40953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 40953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 40953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 40953, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":40904
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":40955
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetGreenCtx(hStream):
 *     """ Query the green context associated with a stream.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_857cuStreamGetGreenCtx(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_856cuStreamGetGreenCtx, "cuStreamGetGreenCtx(hStream)\n Query the green context associated with a stream.\n\n    Returns the CUDA green context that the stream is associated with, or\n    NULL if the stream is not associated with any green context.\n\n    The 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`. If during stream creation the context\n      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\n    Passing an invalid handle will result in undefined behavior.\n\n    Parameters\n    ----------\n    hStream : :py:obj:`~.CUstream` or :py:obj:`~.cudaStream_t`\n        Handle to the stream to be queried\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    phCtx : :py:obj:`~.CUgreenCtx`\n        Returned green context associated with the stream\n\n    See Also\n    --------\n    :py:obj:`~.cuStreamDestroy`, :py:obj:`~.cuStreamCreateWithPriority`, :py:obj:`~.cuStreamGetPriority`, :py:obj:`~.cuStreamGetFlags`, :py:obj:`~.cuStreamWaitEvent`, :py:obj:`~.cuStreamQuery`, :py:obj:`~.cuStreamSynchronize`, :py:obj:`~.cuStreamAddCallback`, :py:obj:`~.cudaStreamCreate`, :py:obj:`~.cudaStreamCreateWithFlags`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_857cuStreamGetGreenCtx = {"cuStreamGetGreenCtx", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_857cuStreamGetGreenCtx, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_856cuStreamGetGreenCtx};
static PyObject *__pyx_pw_4cuda_4cuda_857cuStreamGetGreenCtx(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hStream_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_hStream_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 40955, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuStreamGetGreenCtx") < 0)) __PYX_ERR(1, 40955, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_hStream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuStreamGetGreenCtx", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 40955, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuStreamGetGreenCtx", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_856cuStreamGetGreenCtx(__pyx_self, __pyx_v_hStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_856cuStreamGetGreenCtx(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_hStream) {
  CUstream __pyx_v_chStream;
  PyObject *__pyx_v_phStream = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgreenCtx *__pyx_v_phCtx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__936)
  __Pyx_RefNannySetupContext("cuStreamGetGreenCtx", 1);
  __Pyx_TraceCall("cuStreamGetGreenCtx", __pyx_f[1], 40955, 0, __PYX_ERR(1, 40955, __pyx_L1_error));

  /* "cuda/cuda.pyx":40994
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_hStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40995
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 */
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":40994
 *     """
 *     cdef ccuda.CUstream chStream
 *     if hStream is None:             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":40996
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_hStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":40997
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40997, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_phStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":40998
 *     elif isinstance(hStream, (CUstream,)):
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     else:
 *         phStream = int(CUstream(hStream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 40998, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":40996
 *     if hStream is None:
 *         chStream = <ccuda.CUstream><void_ptr>0
 *     elif isinstance(hStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         phStream = int(hStream)
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41000
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     else:
 *         phStream = int(CUstream(hStream))             # <<<<<<<<<<<<<<
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), __pyx_v_hStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_phStream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":41001
 *     else:
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream             # <<<<<<<<<<<<<<
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 *     err = ccuda.cuStreamGetGreenCtx(chStream, <ccuda.CUgreenCtx*>phCtx._ptr)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_phStream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41001, __pyx_L1_error)
    __pyx_v_chStream = ((CUstream)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":41002
 *         phStream = int(CUstream(hStream))
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef CUgreenCtx phCtx = CUgreenCtx()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuStreamGetGreenCtx(chStream, <ccuda.CUgreenCtx*>phCtx._ptr)
 *     return (CUresult(err), phCtx)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgreenCtx)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_phCtx = ((struct __pyx_obj_4cuda_4cuda_CUgreenCtx *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":41003
 *         chStream = <ccuda.CUstream><void_ptr>phStream
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 *     err = ccuda.cuStreamGetGreenCtx(chStream, <ccuda.CUgreenCtx*>phCtx._ptr)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phCtx)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuStreamGetGreenCtx(__pyx_v_chStream, ((CUgreenCtx *)__pyx_v_phCtx->_ptr)); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41003, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":41004
 *     cdef CUgreenCtx phCtx = CUgreenCtx()
 *     err = ccuda.cuStreamGetGreenCtx(chStream, <ccuda.CUgreenCtx*>phCtx._ptr)
 *     return (CUresult(err), phCtx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 41004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41004, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 41004, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phCtx);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phCtx);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phCtx))) __PYX_ERR(1, 41004, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":40955
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41006
 *     return (CUresult(err), phCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuProfilerStart():
 *     """ Enable profiling.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_859cuProfilerStart(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_858cuProfilerStart, "cuProfilerStart()\n Enable profiling.\n\n    Enables profile collection by the active profiling tool for the current\n    context. If profiling is already enabled, then\n    :py:obj:`~.cuProfilerStart()` has no effect.\n\n    cuProfilerStart and cuProfilerStop APIs are used to programmatically\n    control the profiling granularity by allowing profiling to be done only\n    on selective pieces of code.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`\n\n    See Also\n    --------\n    :py:obj:`~.cuProfilerInitialize`, :py:obj:`~.cuProfilerStop`, :py:obj:`~.cudaProfilerStart`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_859cuProfilerStart = {"cuProfilerStart", (PyCFunction)__pyx_pw_4cuda_4cuda_859cuProfilerStart, METH_NOARGS, __pyx_doc_4cuda_4cuda_858cuProfilerStart};
static PyObject *__pyx_pw_4cuda_4cuda_859cuProfilerStart(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_4cuda_858cuProfilerStart(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_858cuProfilerStart(CYTHON_UNUSED PyObject *__pyx_self) {
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__937)
  __Pyx_RefNannySetupContext("cuProfilerStart", 1);
  __Pyx_TraceCall("cuProfilerStart", __pyx_f[1], 41006, 0, __PYX_ERR(1, 41006, __pyx_L1_error));

  /* "cuda/cuda.pyx":41027
 *     :py:obj:`~.cuProfilerInitialize`, :py:obj:`~.cuProfilerStop`, :py:obj:`~.cudaProfilerStart`
 *     """
 *     err = ccuda.cuProfilerStart()             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_5ccuda_cuProfilerStart(); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41027, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cuda.pyx":41028
 *     """
 *     err = ccuda.cuProfilerStart()
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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, 41028, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41028, __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)) __PYX_ERR(1, 41028, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41006
 *     return (CUresult(err), phCtx)
 * 
 * @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_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuProfilerStart", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41030
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuProfilerStop():
 *     """ Disable profiling.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_861cuProfilerStop(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_860cuProfilerStop, "cuProfilerStop()\n Disable profiling.\n\n    Disables profile collection by the active profiling tool for the\n    current context. If profiling is already disabled, then\n    :py:obj:`~.cuProfilerStop()` has no effect.\n\n    cuProfilerStart and cuProfilerStop APIs are used to programmatically\n    control the profiling granularity by allowing profiling to be done only\n    on selective pieces of code.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`\n\n    See Also\n    --------\n    :py:obj:`~.cuProfilerInitialize`, :py:obj:`~.cuProfilerStart`, :py:obj:`~.cudaProfilerStop`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_861cuProfilerStop = {"cuProfilerStop", (PyCFunction)__pyx_pw_4cuda_4cuda_861cuProfilerStop, METH_NOARGS, __pyx_doc_4cuda_4cuda_860cuProfilerStop};
static PyObject *__pyx_pw_4cuda_4cuda_861cuProfilerStop(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_4cuda_860cuProfilerStop(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_860cuProfilerStop(CYTHON_UNUSED PyObject *__pyx_self) {
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  CUresult __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__938)
  __Pyx_RefNannySetupContext("cuProfilerStop", 1);
  __Pyx_TraceCall("cuProfilerStop", __pyx_f[1], 41030, 0, __PYX_ERR(1, 41030, __pyx_L1_error));

  /* "cuda/cuda.pyx":41051
 *     :py:obj:`~.cuProfilerInitialize`, :py:obj:`~.cuProfilerStart`, :py:obj:`~.cudaProfilerStop`
 *     """
 *     err = ccuda.cuProfilerStop()             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_1 = __pyx_f_4cuda_5ccuda_cuProfilerStop(); if (unlikely(__pyx_t_1 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41051, __pyx_L1_error)
  __pyx_v_err = __pyx_t_1;

  /* "cuda/cuda.pyx":41052
 *     """
 *     err = ccuda.cuProfilerStop()
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  __pyx_t_6 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_6 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
    __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, 41052, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41052, __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)) __PYX_ERR(1, 41052, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41030
 *     return (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_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cuda.cuda.cuProfilerStop", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41054
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsEGLRegisterImage(image, unsigned int flags):
 *     """ Registers an EGL image.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_863cuGraphicsEGLRegisterImage(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_862cuGraphicsEGLRegisterImage, "cuGraphicsEGLRegisterImage(image, unsigned int flags)\n Registers an EGL image.\n\n    Registers the EGLImageKHR specified by `image` for access by CUDA. A\n    handle to the registered object is returned as `pCudaResource`.\n    Additional Mapping/Unmapping is not required for the registered\n    resource and :py:obj:`~.cuGraphicsResourceGetMappedEglFrame` can be\n    directly called on the `pCudaResource`.\n\n    The application will be responsible for synchronizing access to shared\n    objects. The application must ensure that any pending operation which\n    access the objects have completed before passing control to CUDA. This\n    may be accomplished by issuing and waiting for glFinish command on all\n    GLcontexts (for OpenGL and likewise for other APIs). The application\n    will be also responsible for ensuring that any pending operation on the\n    registered CUDA resource has completed prior to executing subsequent\n    commands in other APIs accesing the same memory objects. This can be\n    accomplished by calling cuCtxSynchronize or cuEventSynchronize\n    (preferably).\n\n    The 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\n    The EGLImageKHR is an object which can be used to create EGLImage\n    target resource. It is defined as a void pointer. typedef void*\n    EGLImageKHR\n\n    Parameters""\n    ----------\n    image : :py:obj:`~.EGLImageKHR`\n        An EGLImageKHR image which can be used to create target resource.\n    flags : unsigned int\n        Map flags\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_ALREADY_MAPPED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\n    pCudaResource : :py:obj:`~.CUgraphicsResource`\n        Pointer to the returned object handle\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphicsEGLRegisterImage`, :py:obj:`~.cuGraphicsUnregisterResource`, :py:obj:`~.cuGraphicsResourceSetMapFlags`, :py:obj:`~.cuGraphicsMapResources`, :py:obj:`~.cuGraphicsUnmapResources`, :py:obj:`~.cudaGraphicsEGLRegisterImage`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_863cuGraphicsEGLRegisterImage = {"cuGraphicsEGLRegisterImage", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_863cuGraphicsEGLRegisterImage, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_862cuGraphicsEGLRegisterImage};
static PyObject *__pyx_pw_4cuda_4cuda_863cuGraphicsEGLRegisterImage(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_image,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_image)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41054, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41054, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphicsEGLRegisterImage", 1, 2, 2, 1); __PYX_ERR(1, 41054, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphicsEGLRegisterImage") < 0)) __PYX_ERR(1, 41054, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_image = values[0];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 41055, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsEGLRegisterImage", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 41054, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphicsEGLRegisterImage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_862cuGraphicsEGLRegisterImage(__pyx_self, __pyx_v_image, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_862cuGraphicsEGLRegisterImage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_5ccuda_EGLImageKHR __pyx_v_cimage;
  PyObject *__pyx_v_pimage = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_pCudaResource = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__939)
  __Pyx_RefNannySetupContext("cuGraphicsEGLRegisterImage", 1);
  __Pyx_TraceCall("cuGraphicsEGLRegisterImage", __pyx_f[1], 41054, 0, __PYX_ERR(1, 41054, __pyx_L1_error));

  /* "cuda/cuda.pyx":41113
 *     """
 *     cdef ccuda.EGLImageKHR cimage
 *     if image is None:             # <<<<<<<<<<<<<<
 *         cimage = <ccuda.EGLImageKHR><void_ptr>0
 *     elif isinstance(image, (EGLImageKHR,)):
 */
  __pyx_t_1 = (__pyx_v_image == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41114
 *     cdef ccuda.EGLImageKHR cimage
 *     if image is None:
 *         cimage = <ccuda.EGLImageKHR><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(image, (EGLImageKHR,)):
 *         pimage = int(image)
 */
    __pyx_v_cimage = ((__pyx_t_4cuda_5ccuda_EGLImageKHR)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":41113
 *     """
 *     cdef ccuda.EGLImageKHR cimage
 *     if image is None:             # <<<<<<<<<<<<<<
 *         cimage = <ccuda.EGLImageKHR><void_ptr>0
 *     elif isinstance(image, (EGLImageKHR,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41115
 *     if image is None:
 *         cimage = <ccuda.EGLImageKHR><void_ptr>0
 *     elif isinstance(image, (EGLImageKHR,)):             # <<<<<<<<<<<<<<
 *         pimage = int(image)
 *         cimage = <ccuda.EGLImageKHR><void_ptr>pimage
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_image, __pyx_ptype_4cuda_4cuda_EGLImageKHR); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41116
 *         cimage = <ccuda.EGLImageKHR><void_ptr>0
 *     elif isinstance(image, (EGLImageKHR,)):
 *         pimage = int(image)             # <<<<<<<<<<<<<<
 *         cimage = <ccuda.EGLImageKHR><void_ptr>pimage
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_image); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pimage = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41117
 *     elif isinstance(image, (EGLImageKHR,)):
 *         pimage = int(image)
 *         cimage = <ccuda.EGLImageKHR><void_ptr>pimage             # <<<<<<<<<<<<<<
 *     else:
 *         pimage = int(EGLImageKHR(image))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pimage); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41117, __pyx_L1_error)
    __pyx_v_cimage = ((__pyx_t_4cuda_5ccuda_EGLImageKHR)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":41115
 *     if image is None:
 *         cimage = <ccuda.EGLImageKHR><void_ptr>0
 *     elif isinstance(image, (EGLImageKHR,)):             # <<<<<<<<<<<<<<
 *         pimage = int(image)
 *         cimage = <ccuda.EGLImageKHR><void_ptr>pimage
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41119
 *         cimage = <ccuda.EGLImageKHR><void_ptr>pimage
 *     else:
 *         pimage = int(EGLImageKHR(image))             # <<<<<<<<<<<<<<
 *         cimage = <ccuda.EGLImageKHR><void_ptr>pimage
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_EGLImageKHR), __pyx_v_image); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pimage = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":41120
 *     else:
 *         pimage = int(EGLImageKHR(image))
 *         cimage = <ccuda.EGLImageKHR><void_ptr>pimage             # <<<<<<<<<<<<<<
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     err = ccuda.cuGraphicsEGLRegisterImage(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cimage, flags)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pimage); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41120, __pyx_L1_error)
    __pyx_v_cimage = ((__pyx_t_4cuda_5ccuda_EGLImageKHR)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":41121
 *         pimage = int(EGLImageKHR(image))
 *         cimage = <ccuda.EGLImageKHR><void_ptr>pimage
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphicsEGLRegisterImage(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cimage, flags)
 *     return (CUresult(err), pCudaResource)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphicsResource)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pCudaResource = ((struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":41122
 *         cimage = <ccuda.EGLImageKHR><void_ptr>pimage
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     err = ccuda.cuGraphicsEGLRegisterImage(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cimage, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pCudaResource)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphicsEGLRegisterImage(((CUgraphicsResource *)__pyx_v_pCudaResource->_ptr), __pyx_v_cimage, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41122, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":41123
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     err = ccuda.cuGraphicsEGLRegisterImage(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cimage, flags)
 *     return (CUresult(err), pCudaResource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 41123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 41123, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCudaResource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pCudaResource))) __PYX_ERR(1, 41123, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41054
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41125
 *     return (CUresult(err), pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerConnect(stream):
 *     """ Connect CUDA to EGLStream as a consumer.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_865cuEGLStreamConsumerConnect(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_864cuEGLStreamConsumerConnect, "cuEGLStreamConsumerConnect(stream)\n Connect CUDA to EGLStream as a consumer.\n\n    Connect CUDA as a consumer to EGLStreamKHR specified by `stream`.\n\n    The EGLStreamKHR is an EGL object that transfers a sequence of image\n    frames from one API to another.\n\n    Parameters\n    ----------\n    stream : :py:obj:`~.EGLStreamKHR`\n        EGLStreamKHR handle\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\n    conn : :py:obj:`~.CUeglStreamConnection`\n        Pointer to the returned connection handle\n\n    See Also\n    --------\n    :py:obj:`~.cuEGLStreamConsumerConnect`, :py:obj:`~.cuEGLStreamConsumerDisconnect`, :py:obj:`~.cuEGLStreamConsumerAcquireFrame`, :py:obj:`~.cuEGLStreamConsumerReleaseFrame`, :py:obj:`~.cudaEGLStreamConsumerConnect`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_865cuEGLStreamConsumerConnect = {"cuEGLStreamConsumerConnect", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_865cuEGLStreamConsumerConnect, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_864cuEGLStreamConsumerConnect};
static PyObject *__pyx_pw_4cuda_4cuda_865cuEGLStreamConsumerConnect(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_stream,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_stream)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41125, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuEGLStreamConsumerConnect") < 0)) __PYX_ERR(1, 41125, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_stream = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerConnect", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 41125, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuEGLStreamConsumerConnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_864cuEGLStreamConsumerConnect(__pyx_self, __pyx_v_stream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_864cuEGLStreamConsumerConnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream) {
  __pyx_t_4cuda_5ccuda_EGLStreamKHR __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_conn = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__940)
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerConnect", 1);
  __Pyx_TraceCall("cuEGLStreamConsumerConnect", __pyx_f[1], 41125, 0, __PYX_ERR(1, 41125, __pyx_L1_error));

  /* "cuda/cuda.pyx":41151
 *     """
 *     cdef ccuda.EGLStreamKHR cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0
 *     elif isinstance(stream, (EGLStreamKHR,)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41152
 *     cdef ccuda.EGLStreamKHR cstream
 *     if stream is None:
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (EGLStreamKHR,)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((__pyx_t_4cuda_5ccuda_EGLStreamKHR)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":41151
 *     """
 *     cdef ccuda.EGLStreamKHR cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0
 *     elif isinstance(stream, (EGLStreamKHR,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41153
 *     if stream is None:
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0
 *     elif isinstance(stream, (EGLStreamKHR,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_EGLStreamKHR); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41154
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0
 *     elif isinstance(stream, (EGLStreamKHR,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41155
 *     elif isinstance(stream, (EGLStreamKHR,)):
 *         pstream = int(stream)
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(EGLStreamKHR(stream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41155, __pyx_L1_error)
    __pyx_v_cstream = ((__pyx_t_4cuda_5ccuda_EGLStreamKHR)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":41153
 *     if stream is None:
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0
 *     elif isinstance(stream, (EGLStreamKHR,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41157
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 *     else:
 *         pstream = int(EGLStreamKHR(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_EGLStreamKHR), __pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41157, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41157, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":41158
 *     else:
 *         pstream = int(EGLStreamKHR(stream))
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     err = ccuda.cuEGLStreamConsumerConnect(<ccuda.CUeglStreamConnection*>conn._ptr, cstream)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41158, __pyx_L1_error)
    __pyx_v_cstream = ((__pyx_t_4cuda_5ccuda_EGLStreamKHR)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":41159
 *         pstream = int(EGLStreamKHR(stream))
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuEGLStreamConsumerConnect(<ccuda.CUeglStreamConnection*>conn._ptr, cstream)
 *     return (CUresult(err), conn)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUeglStreamConnection)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_conn = ((struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":41160
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     err = ccuda.cuEGLStreamConsumerConnect(<ccuda.CUeglStreamConnection*>conn._ptr, cstream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), conn)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuEGLStreamConsumerConnect(((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)__pyx_v_conn->_ptr), __pyx_v_cstream); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41160, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":41161
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     err = ccuda.cuEGLStreamConsumerConnect(<ccuda.CUeglStreamConnection*>conn._ptr, cstream)
 *     return (CUresult(err), conn)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 41161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 41161, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_conn);
  __Pyx_GIVEREF((PyObject *)__pyx_v_conn);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_conn))) __PYX_ERR(1, 41161, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41125
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41163
 *     return (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_4cuda_867cuEGLStreamConsumerConnectWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_866cuEGLStreamConsumerConnectWithFlags, "cuEGLStreamConsumerConnectWithFlags(stream, unsigned int flags)\n Connect CUDA to EGLStream as a consumer with given flags.\n\n    Connect CUDA as a consumer to EGLStreamKHR specified by `stream` with\n    specified `flags` defined by CUeglResourceLocationFlags.\n\n    The flags specify whether the consumer wants to access frames from\n    system memory or video memory. Default is\n    :py:obj:`~.CU_EGL_RESOURCE_LOCATION_VIDMEM`.\n\n    Parameters\n    ----------\n    stream : :py:obj:`~.EGLStreamKHR`\n        EGLStreamKHR handle\n    flags : unsigned int\n        Flags denote intended location - system or video.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\n    conn : :py:obj:`~.CUeglStreamConnection`\n        Pointer to the returned connection handle\n\n    See Also\n    --------\n    :py:obj:`~.cuEGLStreamConsumerConnect`, :py:obj:`~.cuEGLStreamConsumerDisconnect`, :py:obj:`~.cuEGLStreamConsumerAcquireFrame`, :py:obj:`~.cuEGLStreamConsumerReleaseFrame`, :py:obj:`~.cudaEGLStreamConsumerConnectWithFlags`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_867cuEGLStreamConsumerConnectWithFlags = {"cuEGLStreamConsumerConnectWithFlags", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_867cuEGLStreamConsumerConnectWithFlags, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_866cuEGLStreamConsumerConnectWithFlags};
static PyObject *__pyx_pw_4cuda_4cuda_867cuEGLStreamConsumerConnectWithFlags(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_stream,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_stream)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41163, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41163, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerConnectWithFlags", 1, 2, 2, 1); __PYX_ERR(1, 41163, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuEGLStreamConsumerConnectWithFlags") < 0)) __PYX_ERR(1, 41163, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_stream = values[0];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 41164, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerConnectWithFlags", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 41163, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuEGLStreamConsumerConnectWithFlags", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_866cuEGLStreamConsumerConnectWithFlags(__pyx_self, __pyx_v_stream, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_866cuEGLStreamConsumerConnectWithFlags(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_5ccuda_EGLStreamKHR __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_conn = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__941)
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerConnectWithFlags", 1);
  __Pyx_TraceCall("cuEGLStreamConsumerConnectWithFlags", __pyx_f[1], 41163, 0, __PYX_ERR(1, 41163, __pyx_L1_error));

  /* "cuda/cuda.pyx":41193
 *     """
 *     cdef ccuda.EGLStreamKHR cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0
 *     elif isinstance(stream, (EGLStreamKHR,)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41194
 *     cdef ccuda.EGLStreamKHR cstream
 *     if stream is None:
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (EGLStreamKHR,)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((__pyx_t_4cuda_5ccuda_EGLStreamKHR)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":41193
 *     """
 *     cdef ccuda.EGLStreamKHR cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0
 *     elif isinstance(stream, (EGLStreamKHR,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41195
 *     if stream is None:
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0
 *     elif isinstance(stream, (EGLStreamKHR,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_EGLStreamKHR); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41196
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0
 *     elif isinstance(stream, (EGLStreamKHR,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41196, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41197
 *     elif isinstance(stream, (EGLStreamKHR,)):
 *         pstream = int(stream)
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(EGLStreamKHR(stream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41197, __pyx_L1_error)
    __pyx_v_cstream = ((__pyx_t_4cuda_5ccuda_EGLStreamKHR)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":41195
 *     if stream is None:
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0
 *     elif isinstance(stream, (EGLStreamKHR,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41199
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 *     else:
 *         pstream = int(EGLStreamKHR(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_EGLStreamKHR), __pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41199, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41199, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":41200
 *     else:
 *         pstream = int(EGLStreamKHR(stream))
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     err = ccuda.cuEGLStreamConsumerConnectWithFlags(<ccuda.CUeglStreamConnection*>conn._ptr, cstream, flags)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41200, __pyx_L1_error)
    __pyx_v_cstream = ((__pyx_t_4cuda_5ccuda_EGLStreamKHR)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":41201
 *         pstream = int(EGLStreamKHR(stream))
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuEGLStreamConsumerConnectWithFlags(<ccuda.CUeglStreamConnection*>conn._ptr, cstream, flags)
 *     return (CUresult(err), conn)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUeglStreamConnection)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_conn = ((struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":41202
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     err = ccuda.cuEGLStreamConsumerConnectWithFlags(<ccuda.CUeglStreamConnection*>conn._ptr, cstream, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), conn)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuEGLStreamConsumerConnectWithFlags(((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)__pyx_v_conn->_ptr), __pyx_v_cstream, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41202, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":41203
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     err = ccuda.cuEGLStreamConsumerConnectWithFlags(<ccuda.CUeglStreamConnection*>conn._ptr, cstream, flags)
 *     return (CUresult(err), conn)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 41203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 41203, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_conn);
  __Pyx_GIVEREF((PyObject *)__pyx_v_conn);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_conn))) __PYX_ERR(1, 41203, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41163
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41205
 *     return (CUresult(err), conn)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerDisconnect(conn):
 *     """ Disconnect CUDA as a consumer to EGLStream .
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_869cuEGLStreamConsumerDisconnect(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_868cuEGLStreamConsumerDisconnect, "cuEGLStreamConsumerDisconnect(conn)\n Disconnect CUDA as a consumer to EGLStream .\n\n    Disconnect CUDA as a consumer to EGLStreamKHR.\n\n    Parameters\n    ----------\n    conn : :py:obj:`~.CUeglStreamConnection`\n        Conection to disconnect.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\n\n    See Also\n    --------\n    :py:obj:`~.cuEGLStreamConsumerConnect`, :py:obj:`~.cuEGLStreamConsumerDisconnect`, :py:obj:`~.cuEGLStreamConsumerAcquireFrame`, :py:obj:`~.cuEGLStreamConsumerReleaseFrame`, :py:obj:`~.cudaEGLStreamConsumerDisconnect`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_869cuEGLStreamConsumerDisconnect = {"cuEGLStreamConsumerDisconnect", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_869cuEGLStreamConsumerDisconnect, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_868cuEGLStreamConsumerDisconnect};
static PyObject *__pyx_pw_4cuda_4cuda_869cuEGLStreamConsumerDisconnect(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_conn,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_conn)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41205, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuEGLStreamConsumerDisconnect") < 0)) __PYX_ERR(1, 41205, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_conn = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerDisconnect", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 41205, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuEGLStreamConsumerDisconnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_868cuEGLStreamConsumerDisconnect(__pyx_self, __pyx_v_conn);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_868cuEGLStreamConsumerDisconnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn) {
  __pyx_t_4cuda_5ccuda_CUeglStreamConnection *__pyx_v_cconn;
  PyObject *__pyx_v_pconn = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __pyx_t_4cuda_4cuda_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_TraceFrameInit(__pyx_codeobj__942)
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerDisconnect", 1);
  __Pyx_TraceCall("cuEGLStreamConsumerDisconnect", __pyx_f[1], 41205, 0, __PYX_ERR(1, 41205, __pyx_L1_error));

  /* "cuda/cuda.pyx":41226
 *     """
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 */
  __pyx_t_1 = (__pyx_v_conn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41227
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 */
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)NULL));

    /* "cuda/cuda.pyx":41226
 *     """
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41228
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_4cuda_CUeglStreamConnection); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41229
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_conn, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41229, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_v_pconn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41230
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41230, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41228
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41231
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_conn); 
  if (likely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":41232
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41232, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41231
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41234
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuEGLStreamConsumerDisconnect(cconn)
 *     return (CUresult(err),)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_Str(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 41234, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":41235
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 *     err = ccuda.cuEGLStreamConsumerDisconnect(cconn)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuEGLStreamConsumerDisconnect(__pyx_v_cconn); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41235, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":41236
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 *     err = ccuda.cuEGLStreamConsumerDisconnect(cconn)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41236, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41236, __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)) __PYX_ERR(1, 41236, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41205
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuEGLStreamConsumerDisconnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pconn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41238
 *     return (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_4cuda_871cuEGLStreamConsumerAcquireFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_870cuEGLStreamConsumerAcquireFrame, "cuEGLStreamConsumerAcquireFrame(conn, pCudaResource, pStream, unsigned int timeout)\n Acquire an image frame from the EGLStream with CUDA as a consumer.\n\n    Acquire an image frame from EGLStreamKHR. This API can also acquire an\n    old frame presented by the producer unless explicitly disabled by\n    setting EGL_SUPPORT_REUSE_NV flag to EGL_FALSE during stream\n    initialization. By default, EGLStream is created with this flag set to\n    EGL_TRUE. :py:obj:`~.cuGraphicsResourceGetMappedEglFrame` can be called\n    on `pCudaResource` to get :py:obj:`~.CUeglFrame`.\n\n    Parameters\n    ----------\n    conn : :py:obj:`~.CUeglStreamConnection`\n        Connection on which to acquire\n    pCudaResource : :py:obj:`~.CUgraphicsResource`\n        CUDA resource on which the stream frame will be mapped for use.\n    pStream : :py:obj:`~.CUstream`\n        CUDA stream for synchronization and any data migrations implied by\n        :py:obj:`~.CUeglResourceLocationFlags`.\n    timeout : 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\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_LAUNCH_TIMEOUT`,\n\n    See Also\n    --------\n    :py:obj:`~.cuEGLStreamConsumerConnect`, :py:obj:`~.cuEGLStreamConsumerDisconnect`, :py:obj:`~.cuEGLStreamConsumerAcquireFrame`, :py:obj:`~.cuEGLStreamConsumerReleaseFrame`, :py:obj:`~.cudaEGLStreamConsumerAcquireFrame`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_871cuEGLStreamConsumerAcquireFrame = {"cuEGLStreamConsumerAcquireFrame", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_871cuEGLStreamConsumerAcquireFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_870cuEGLStreamConsumerAcquireFrame};
static PyObject *__pyx_pw_4cuda_4cuda_871cuEGLStreamConsumerAcquireFrame(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_conn,&__pyx_n_s_pCudaResource,&__pyx_n_s_pStream,&__pyx_n_s_timeout,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_conn)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41238, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pCudaResource)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41238, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerAcquireFrame", 1, 4, 4, 1); __PYX_ERR(1, 41238, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pStream)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41238, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerAcquireFrame", 1, 4, 4, 2); __PYX_ERR(1, 41238, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_timeout)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41238, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerAcquireFrame", 1, 4, 4, 3); __PYX_ERR(1, 41238, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuEGLStreamConsumerAcquireFrame") < 0)) __PYX_ERR(1, 41238, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_conn = values[0];
    __pyx_v_pCudaResource = values[1];
    __pyx_v_pStream = values[2];
    __pyx_v_timeout = __Pyx_PyInt_As_unsigned_int(values[3]); if (unlikely((__pyx_v_timeout == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 41239, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerAcquireFrame", 1, 4, 4, __pyx_nargs); __PYX_ERR(1, 41238, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuEGLStreamConsumerAcquireFrame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_870cuEGLStreamConsumerAcquireFrame(__pyx_self, __pyx_v_conn, __pyx_v_pCudaResource, __pyx_v_pStream, __pyx_v_timeout);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_870cuEGLStreamConsumerAcquireFrame(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_cpStream;
  PyObject *__pyx_v_ppStream = NULL;
  CUgraphicsResource *__pyx_v_cpCudaResource;
  PyObject *__pyx_v_ppCudaResource = NULL;
  __pyx_t_4cuda_5ccuda_CUeglStreamConnection *__pyx_v_cconn;
  PyObject *__pyx_v_pconn = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __pyx_t_4cuda_4cuda_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_TraceFrameInit(__pyx_codeobj__943)
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerAcquireFrame", 1);
  __Pyx_TraceCall("cuEGLStreamConsumerAcquireFrame", __pyx_f[1], 41238, 0, __PYX_ERR(1, 41238, __pyx_L1_error));

  /* "cuda/cuda.pyx":41274
 *     """
 *     cdef ccuda.CUstream *cpStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_pStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41275
 *     cdef ccuda.CUstream *cpStream
 *     if pStream is None:
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()
 */
    __pyx_v_cpStream = ((CUstream *)((__pyx_t_4cuda_4cuda_void_ptr)NULL));

    /* "cuda/cuda.pyx":41274
 *     """
 *     cdef ccuda.CUstream *cpStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41276
 *     if pStream is None:
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41277
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pStream, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41277, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41277, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_v_ppStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41278
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (int)):
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41278, __pyx_L1_error)
    __pyx_v_cpStream = ((CUstream *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41276
 *     if pStream is None:
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41279
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_pStream); 
  if (likely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":41280
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cuda.CUstream'>, found " + str(type(pStream)))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41280, __pyx_L1_error)
    __pyx_v_cpStream = ((CUstream *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41279
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream
 *     else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41282
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cuda.CUstream'>, found " + str(type(pStream)))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphicsResource *cpCudaResource
 *     if pCudaResource is None:
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_Str(((PyObject *)Py_TYPE(__pyx_v_pStream))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41282, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Argument_pStream_is_not_instance, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41282, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41282, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 41282, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":41284
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cuda.CUstream'>, found " + str(type(pStream)))
 *     cdef ccuda.CUgraphicsResource *cpCudaResource
 *     if pCudaResource is None:             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
 */
  __pyx_t_1 = (__pyx_v_pCudaResource == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41285
 *     cdef ccuda.CUgraphicsResource *cpCudaResource
 *     if pCudaResource is None:
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
 *         ppCudaResource = pCudaResource.getPtr()
 */
    __pyx_v_cpCudaResource = ((CUgraphicsResource *)((__pyx_t_4cuda_4cuda_void_ptr)NULL));

    /* "cuda/cuda.pyx":41284
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cuda.CUstream'>, found " + str(type(pStream)))
 *     cdef ccuda.CUgraphicsResource *cpCudaResource
 *     if pCudaResource is None:             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41286
 *     if pCudaResource is None:
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         ppCudaResource = pCudaResource.getPtr()
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>ppCudaResource
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pCudaResource, __pyx_ptype_4cuda_4cuda_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41287
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
 *         ppCudaResource = pCudaResource.getPtr()             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>ppCudaResource
 *     elif isinstance(pCudaResource, (int)):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pCudaResource, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41287, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41287, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_v_ppCudaResource = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41288
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
 *         ppCudaResource = pCudaResource.getPtr()
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>ppCudaResource             # <<<<<<<<<<<<<<
 *     elif isinstance(pCudaResource, (int)):
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>pCudaResource
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppCudaResource); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41288, __pyx_L1_error)
    __pyx_v_cpCudaResource = ((CUgraphicsResource *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41286
 *     if pCudaResource is None:
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>NULL
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         ppCudaResource = pCudaResource.getPtr()
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>ppCudaResource
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41289
 *         ppCudaResource = pCudaResource.getPtr()
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>ppCudaResource
 *     elif isinstance(pCudaResource, (int)):             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>pCudaResource
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_pCudaResource); 
  if (likely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":41290
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>ppCudaResource
 *     elif isinstance(pCudaResource, (int)):
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>pCudaResource             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'pCudaResource' is not instance of type (expected <class 'int, cuda.CUgraphicsResource'>, found " + str(type(pCudaResource)))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pCudaResource); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41290, __pyx_L1_error)
    __pyx_v_cpCudaResource = ((CUgraphicsResource *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41289
 *         ppCudaResource = pCudaResource.getPtr()
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>ppCudaResource
 *     elif isinstance(pCudaResource, (int)):             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>pCudaResource
 *     else:
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41292
 *         cpCudaResource = <ccuda.CUgraphicsResource*><void_ptr>pCudaResource
 *     else:
 *         raise TypeError("Argument 'pCudaResource' is not instance of type (expected <class 'int, cuda.CUgraphicsResource'>, found " + str(type(pCudaResource)))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_Str(((PyObject *)Py_TYPE(__pyx_v_pCudaResource))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Argument_pCudaResource_is_not_in, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 41292, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":41294
 *         raise TypeError("Argument 'pCudaResource' is not instance of type (expected <class 'int, cuda.CUgraphicsResource'>, found " + str(type(pCudaResource)))
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 */
  __pyx_t_1 = (__pyx_v_conn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41295
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 */
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)NULL));

    /* "cuda/cuda.pyx":41294
 *         raise TypeError("Argument 'pCudaResource' is not instance of type (expected <class 'int, cuda.CUgraphicsResource'>, found " + str(type(pCudaResource)))
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":41296
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_4cuda_CUeglStreamConnection); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41297
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_conn, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41297, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_v_pconn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41298
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41298, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41296
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":41299
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_conn); 
  if (likely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":41300
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41300, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41299
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":41302
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuEGLStreamConsumerAcquireFrame(cconn, cpCudaResource, cpStream, timeout)
 *     return (CUresult(err),)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_Str(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41302, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41302, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41302, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 41302, __pyx_L1_error)
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":41303
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 *     err = ccuda.cuEGLStreamConsumerAcquireFrame(cconn, cpCudaResource, cpStream, timeout)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuEGLStreamConsumerAcquireFrame(__pyx_v_cconn, __pyx_v_cpCudaResource, __pyx_v_cpStream, __pyx_v_timeout); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41303, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":41304
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 *     err = ccuda.cuEGLStreamConsumerAcquireFrame(cconn, cpCudaResource, cpStream, timeout)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41304, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41304, __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)) __PYX_ERR(1, 41304, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41238
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41306
 *     return (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_4cuda_873cuEGLStreamConsumerReleaseFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_872cuEGLStreamConsumerReleaseFrame, "cuEGLStreamConsumerReleaseFrame(conn, pCudaResource, pStream)\n Releases the last frame acquired from the EGLStream.\n\n    Release the acquired image frame specified by `pCudaResource` to\n    EGLStreamKHR. If EGL_SUPPORT_REUSE_NV flag is set to EGL_TRUE, at the\n    time of EGL creation this API doesn't release the last frame acquired\n    on the EGLStream. By default, EGLStream is created with this flag set\n    to EGL_TRUE.\n\n    Parameters\n    ----------\n    conn : :py:obj:`~.CUeglStreamConnection`\n        Connection on which to release\n    pCudaResource : :py:obj:`~.CUgraphicsResource`\n        CUDA resource whose corresponding frame is to be released\n    pStream : :py:obj:`~.CUstream`\n        CUDA stream on which release will be done.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`,\n\n    See Also\n    --------\n    :py:obj:`~.cuEGLStreamConsumerConnect`, :py:obj:`~.cuEGLStreamConsumerDisconnect`, :py:obj:`~.cuEGLStreamConsumerAcquireFrame`, :py:obj:`~.cuEGLStreamConsumerReleaseFrame`, :py:obj:`~.cudaEGLStreamConsumerReleaseFrame`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_873cuEGLStreamConsumerReleaseFrame = {"cuEGLStreamConsumerReleaseFrame", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_873cuEGLStreamConsumerReleaseFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_872cuEGLStreamConsumerReleaseFrame};
static PyObject *__pyx_pw_4cuda_4cuda_873cuEGLStreamConsumerReleaseFrame(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_conn,&__pyx_n_s_pCudaResource,&__pyx_n_s_pStream,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_conn)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41306, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pCudaResource)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41306, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerReleaseFrame", 1, 3, 3, 1); __PYX_ERR(1, 41306, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pStream)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41306, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuEGLStreamConsumerReleaseFrame", 1, 3, 3, 2); __PYX_ERR(1, 41306, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuEGLStreamConsumerReleaseFrame") < 0)) __PYX_ERR(1, 41306, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __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(1, 41306, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuEGLStreamConsumerReleaseFrame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_872cuEGLStreamConsumerReleaseFrame(__pyx_self, __pyx_v_conn, __pyx_v_pCudaResource, __pyx_v_pStream);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_872cuEGLStreamConsumerReleaseFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, PyObject *__pyx_v_pCudaResource, PyObject *__pyx_v_pStream) {
  CUstream *__pyx_v_cpStream;
  PyObject *__pyx_v_ppStream = NULL;
  CUgraphicsResource __pyx_v_cpCudaResource;
  PyObject *__pyx_v_ppCudaResource = NULL;
  __pyx_t_4cuda_5ccuda_CUeglStreamConnection *__pyx_v_cconn;
  PyObject *__pyx_v_pconn = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __pyx_t_4cuda_4cuda_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_TraceFrameInit(__pyx_codeobj__944)
  __Pyx_RefNannySetupContext("cuEGLStreamConsumerReleaseFrame", 1);
  __Pyx_TraceCall("cuEGLStreamConsumerReleaseFrame", __pyx_f[1], 41306, 0, __PYX_ERR(1, 41306, __pyx_L1_error));

  /* "cuda/cuda.pyx":41335
 *     """
 *     cdef ccuda.CUstream *cpStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_pStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41336
 *     cdef ccuda.CUstream *cpStream
 *     if pStream is None:
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()
 */
    __pyx_v_cpStream = ((CUstream *)((__pyx_t_4cuda_4cuda_void_ptr)NULL));

    /* "cuda/cuda.pyx":41335
 *     """
 *     cdef ccuda.CUstream *cpStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41337
 *     if pStream is None:
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41338
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pStream, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41338, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_v_ppStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41339
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (int)):
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41339, __pyx_L1_error)
    __pyx_v_cpStream = ((CUstream *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41337
 *     if pStream is None:
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41340
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_pStream); 
  if (likely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":41341
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cuda.CUstream'>, found " + str(type(pStream)))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41341, __pyx_L1_error)
    __pyx_v_cpStream = ((CUstream *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41340
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream
 *     else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41343
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cuda.CUstream'>, found " + str(type(pStream)))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraphicsResource cpCudaResource
 *     if pCudaResource is None:
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_Str(((PyObject *)Py_TYPE(__pyx_v_pStream))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41343, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Argument_pStream_is_not_instance, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41343, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41343, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 41343, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":41345
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cuda.CUstream'>, found " + str(type(pStream)))
 *     cdef ccuda.CUgraphicsResource cpCudaResource
 *     if pCudaResource is None:             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
 */
  __pyx_t_1 = (__pyx_v_pCudaResource == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41346
 *     cdef ccuda.CUgraphicsResource cpCudaResource
 *     if pCudaResource is None:
 *         cpCudaResource = <ccuda.CUgraphicsResource><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
 *         ppCudaResource = int(pCudaResource)
 */
    __pyx_v_cpCudaResource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":41345
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cuda.CUstream'>, found " + str(type(pStream)))
 *     cdef ccuda.CUgraphicsResource cpCudaResource
 *     if pCudaResource is None:             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41347
 *     if pCudaResource is None:
 *         cpCudaResource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         ppCudaResource = int(pCudaResource)
 *         cpCudaResource = <ccuda.CUgraphicsResource><void_ptr>ppCudaResource
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pCudaResource, __pyx_ptype_4cuda_4cuda_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41348
 *         cpCudaResource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
 *         ppCudaResource = int(pCudaResource)             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccuda.CUgraphicsResource><void_ptr>ppCudaResource
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_pCudaResource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ppCudaResource = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41349
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):
 *         ppCudaResource = int(pCudaResource)
 *         cpCudaResource = <ccuda.CUgraphicsResource><void_ptr>ppCudaResource             # <<<<<<<<<<<<<<
 *     else:
 *         ppCudaResource = int(CUgraphicsResource(pCudaResource))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppCudaResource); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41349, __pyx_L1_error)
    __pyx_v_cpCudaResource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41347
 *     if pCudaResource is None:
 *         cpCudaResource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(pCudaResource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         ppCudaResource = int(pCudaResource)
 *         cpCudaResource = <ccuda.CUgraphicsResource><void_ptr>ppCudaResource
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41351
 *         cpCudaResource = <ccuda.CUgraphicsResource><void_ptr>ppCudaResource
 *     else:
 *         ppCudaResource = int(CUgraphicsResource(pCudaResource))             # <<<<<<<<<<<<<<
 *         cpCudaResource = <ccuda.CUgraphicsResource><void_ptr>ppCudaResource
 *     cdef ccuda.CUeglStreamConnection *cconn
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphicsResource), __pyx_v_pCudaResource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41351, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41351, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ppCudaResource = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":41352
 *     else:
 *         ppCudaResource = int(CUgraphicsResource(pCudaResource))
 *         cpCudaResource = <ccuda.CUgraphicsResource><void_ptr>ppCudaResource             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppCudaResource); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41352, __pyx_L1_error)
    __pyx_v_cpCudaResource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":41354
 *         cpCudaResource = <ccuda.CUgraphicsResource><void_ptr>ppCudaResource
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 */
  __pyx_t_1 = (__pyx_v_conn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41355
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 */
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)NULL));

    /* "cuda/cuda.pyx":41354
 *         cpCudaResource = <ccuda.CUgraphicsResource><void_ptr>ppCudaResource
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":41356
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_4cuda_CUeglStreamConnection); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41357
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_conn, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41357, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
    __pyx_v_pconn = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":41358
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41358, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41356
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":41359
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_conn); 
  if (likely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":41360
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41360, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41359
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":41362
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuEGLStreamConsumerReleaseFrame(cconn, cpCudaResource, cpStream)
 *     return (CUresult(err),)
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_Str(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = PyNumber_Add(__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 41362, __pyx_L1_error)
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":41363
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 *     err = ccuda.cuEGLStreamConsumerReleaseFrame(cconn, cpCudaResource, cpStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuEGLStreamConsumerReleaseFrame(__pyx_v_cconn, __pyx_v_cpCudaResource, __pyx_v_cpStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41363, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":41364
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 *     err = ccuda.cuEGLStreamConsumerReleaseFrame(cconn, cpCudaResource, cpStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_4};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41364, __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(1, 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)) __PYX_ERR(1, 41364, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41306
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41366
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerConnect(stream, width, height):
 *     """ Connect CUDA to EGLStream as a producer.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_875cuEGLStreamProducerConnect(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_874cuEGLStreamProducerConnect, "cuEGLStreamProducerConnect(stream, width, height)\n Connect CUDA to EGLStream as a producer.\n\n    Connect CUDA as a producer to EGLStreamKHR specified by `stream`.\n\n    The EGLStreamKHR is an EGL object that transfers a sequence of image\n    frames from one API to another.\n\n    Parameters\n    ----------\n    stream : :py:obj:`~.EGLStreamKHR`\n        EGLStreamKHR handle\n    width : :py:obj:`~.EGLint`\n        width of the image to be submitted to the stream\n    height : :py:obj:`~.EGLint`\n        height of the image to be submitted to the stream\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\n    conn : :py:obj:`~.CUeglStreamConnection`\n        Pointer to the returned connection handle\n\n    See Also\n    --------\n    :py:obj:`~.cuEGLStreamProducerConnect`, :py:obj:`~.cuEGLStreamProducerDisconnect`, :py:obj:`~.cuEGLStreamProducerPresentFrame`, :py:obj:`~.cudaEGLStreamProducerConnect`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_875cuEGLStreamProducerConnect = {"cuEGLStreamProducerConnect", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_875cuEGLStreamProducerConnect, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_874cuEGLStreamProducerConnect};
static PyObject *__pyx_pw_4cuda_4cuda_875cuEGLStreamProducerConnect(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_stream,&__pyx_n_s_width_2,&__pyx_n_s_height_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_stream)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41366, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_width_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41366, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuEGLStreamProducerConnect", 1, 3, 3, 1); __PYX_ERR(1, 41366, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_height_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41366, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuEGLStreamProducerConnect", 1, 3, 3, 2); __PYX_ERR(1, 41366, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuEGLStreamProducerConnect") < 0)) __PYX_ERR(1, 41366, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __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(1, 41366, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuEGLStreamProducerConnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_874cuEGLStreamProducerConnect(__pyx_self, __pyx_v_stream, __pyx_v_width, __pyx_v_height);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_874cuEGLStreamProducerConnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_stream, PyObject *__pyx_v_width, PyObject *__pyx_v_height) {
  __pyx_t_4cuda_5ccuda_EGLint __pyx_v_cheight;
  PyObject *__pyx_v_pheight = NULL;
  __pyx_t_4cuda_5ccuda_EGLint __pyx_v_cwidth;
  PyObject *__pyx_v_pwidth = NULL;
  __pyx_t_4cuda_5ccuda_EGLStreamKHR __pyx_v_cstream;
  PyObject *__pyx_v_pstream = NULL;
  struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *__pyx_v_conn = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__945)
  __Pyx_RefNannySetupContext("cuEGLStreamProducerConnect", 1);
  __Pyx_TraceCall("cuEGLStreamProducerConnect", __pyx_f[1], 41366, 0, __PYX_ERR(1, 41366, __pyx_L1_error));

  /* "cuda/cuda.pyx":41396
 *     """
 *     cdef ccuda.EGLint cheight
 *     if height is None:             # <<<<<<<<<<<<<<
 *         cheight = <ccuda.EGLint><void_ptr>0
 *     elif isinstance(height, (EGLint,)):
 */
  __pyx_t_1 = (__pyx_v_height == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41397
 *     cdef ccuda.EGLint cheight
 *     if height is None:
 *         cheight = <ccuda.EGLint><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(height, (EGLint,)):
 *         pheight = int(height)
 */
    __pyx_v_cheight = ((__pyx_t_4cuda_5ccuda_EGLint)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":41396
 *     """
 *     cdef ccuda.EGLint cheight
 *     if height is None:             # <<<<<<<<<<<<<<
 *         cheight = <ccuda.EGLint><void_ptr>0
 *     elif isinstance(height, (EGLint,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41398
 *     if height is None:
 *         cheight = <ccuda.EGLint><void_ptr>0
 *     elif isinstance(height, (EGLint,)):             # <<<<<<<<<<<<<<
 *         pheight = int(height)
 *         cheight = <ccuda.EGLint><void_ptr>pheight
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_height, __pyx_ptype_4cuda_4cuda_EGLint); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41399
 *         cheight = <ccuda.EGLint><void_ptr>0
 *     elif isinstance(height, (EGLint,)):
 *         pheight = int(height)             # <<<<<<<<<<<<<<
 *         cheight = <ccuda.EGLint><void_ptr>pheight
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_height); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41399, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pheight = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41400
 *     elif isinstance(height, (EGLint,)):
 *         pheight = int(height)
 *         cheight = <ccuda.EGLint><void_ptr>pheight             # <<<<<<<<<<<<<<
 *     else:
 *         pheight = int(EGLint(height))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pheight); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41400, __pyx_L1_error)
    __pyx_v_cheight = ((__pyx_t_4cuda_5ccuda_EGLint)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":41398
 *     if height is None:
 *         cheight = <ccuda.EGLint><void_ptr>0
 *     elif isinstance(height, (EGLint,)):             # <<<<<<<<<<<<<<
 *         pheight = int(height)
 *         cheight = <ccuda.EGLint><void_ptr>pheight
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41402
 *         cheight = <ccuda.EGLint><void_ptr>pheight
 *     else:
 *         pheight = int(EGLint(height))             # <<<<<<<<<<<<<<
 *         cheight = <ccuda.EGLint><void_ptr>pheight
 *     cdef ccuda.EGLint cwidth
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_EGLint), __pyx_v_height); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pheight = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":41403
 *     else:
 *         pheight = int(EGLint(height))
 *         cheight = <ccuda.EGLint><void_ptr>pheight             # <<<<<<<<<<<<<<
 *     cdef ccuda.EGLint cwidth
 *     if width is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pheight); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41403, __pyx_L1_error)
    __pyx_v_cheight = ((__pyx_t_4cuda_5ccuda_EGLint)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":41405
 *         cheight = <ccuda.EGLint><void_ptr>pheight
 *     cdef ccuda.EGLint cwidth
 *     if width is None:             # <<<<<<<<<<<<<<
 *         cwidth = <ccuda.EGLint><void_ptr>0
 *     elif isinstance(width, (EGLint,)):
 */
  __pyx_t_1 = (__pyx_v_width == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41406
 *     cdef ccuda.EGLint cwidth
 *     if width is None:
 *         cwidth = <ccuda.EGLint><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(width, (EGLint,)):
 *         pwidth = int(width)
 */
    __pyx_v_cwidth = ((__pyx_t_4cuda_5ccuda_EGLint)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":41405
 *         cheight = <ccuda.EGLint><void_ptr>pheight
 *     cdef ccuda.EGLint cwidth
 *     if width is None:             # <<<<<<<<<<<<<<
 *         cwidth = <ccuda.EGLint><void_ptr>0
 *     elif isinstance(width, (EGLint,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41407
 *     if width is None:
 *         cwidth = <ccuda.EGLint><void_ptr>0
 *     elif isinstance(width, (EGLint,)):             # <<<<<<<<<<<<<<
 *         pwidth = int(width)
 *         cwidth = <ccuda.EGLint><void_ptr>pwidth
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_width, __pyx_ptype_4cuda_4cuda_EGLint); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41408
 *         cwidth = <ccuda.EGLint><void_ptr>0
 *     elif isinstance(width, (EGLint,)):
 *         pwidth = int(width)             # <<<<<<<<<<<<<<
 *         cwidth = <ccuda.EGLint><void_ptr>pwidth
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_width); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pwidth = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":41409
 *     elif isinstance(width, (EGLint,)):
 *         pwidth = int(width)
 *         cwidth = <ccuda.EGLint><void_ptr>pwidth             # <<<<<<<<<<<<<<
 *     else:
 *         pwidth = int(EGLint(width))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pwidth); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41409, __pyx_L1_error)
    __pyx_v_cwidth = ((__pyx_t_4cuda_5ccuda_EGLint)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":41407
 *     if width is None:
 *         cwidth = <ccuda.EGLint><void_ptr>0
 *     elif isinstance(width, (EGLint,)):             # <<<<<<<<<<<<<<
 *         pwidth = int(width)
 *         cwidth = <ccuda.EGLint><void_ptr>pwidth
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41411
 *         cwidth = <ccuda.EGLint><void_ptr>pwidth
 *     else:
 *         pwidth = int(EGLint(width))             # <<<<<<<<<<<<<<
 *         cwidth = <ccuda.EGLint><void_ptr>pwidth
 *     cdef ccuda.EGLStreamKHR cstream
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_EGLint), __pyx_v_width); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pwidth = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41412
 *     else:
 *         pwidth = int(EGLint(width))
 *         cwidth = <ccuda.EGLint><void_ptr>pwidth             # <<<<<<<<<<<<<<
 *     cdef ccuda.EGLStreamKHR cstream
 *     if stream is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pwidth); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41412, __pyx_L1_error)
    __pyx_v_cwidth = ((__pyx_t_4cuda_5ccuda_EGLint)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":41414
 *         cwidth = <ccuda.EGLint><void_ptr>pwidth
 *     cdef ccuda.EGLStreamKHR cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0
 *     elif isinstance(stream, (EGLStreamKHR,)):
 */
  __pyx_t_1 = (__pyx_v_stream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41415
 *     cdef ccuda.EGLStreamKHR cstream
 *     if stream is None:
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(stream, (EGLStreamKHR,)):
 *         pstream = int(stream)
 */
    __pyx_v_cstream = ((__pyx_t_4cuda_5ccuda_EGLStreamKHR)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":41414
 *         cwidth = <ccuda.EGLint><void_ptr>pwidth
 *     cdef ccuda.EGLStreamKHR cstream
 *     if stream is None:             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0
 *     elif isinstance(stream, (EGLStreamKHR,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":41416
 *     if stream is None:
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0
 *     elif isinstance(stream, (EGLStreamKHR,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_stream, __pyx_ptype_4cuda_4cuda_EGLStreamKHR); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41417
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0
 *     elif isinstance(stream, (EGLStreamKHR,)):
 *         pstream = int(stream)             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41417, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pstream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41418
 *     elif isinstance(stream, (EGLStreamKHR,)):
 *         pstream = int(stream)
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     else:
 *         pstream = int(EGLStreamKHR(stream))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41418, __pyx_L1_error)
    __pyx_v_cstream = ((__pyx_t_4cuda_5ccuda_EGLStreamKHR)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":41416
 *     if stream is None:
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>0
 *     elif isinstance(stream, (EGLStreamKHR,)):             # <<<<<<<<<<<<<<
 *         pstream = int(stream)
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":41420
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 *     else:
 *         pstream = int(EGLStreamKHR(stream))             # <<<<<<<<<<<<<<
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_EGLStreamKHR), __pyx_v_stream); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pstream = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":41421
 *     else:
 *         pstream = int(EGLStreamKHR(stream))
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream             # <<<<<<<<<<<<<<
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     err = ccuda.cuEGLStreamProducerConnect(<ccuda.CUeglStreamConnection*>conn._ptr, cstream, cwidth, cheight)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pstream); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41421, __pyx_L1_error)
    __pyx_v_cstream = ((__pyx_t_4cuda_5ccuda_EGLStreamKHR)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":41422
 *         pstream = int(EGLStreamKHR(stream))
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuEGLStreamProducerConnect(<ccuda.CUeglStreamConnection*>conn._ptr, cstream, cwidth, cheight)
 *     return (CUresult(err), conn)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUeglStreamConnection)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_conn = ((struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":41423
 *         cstream = <ccuda.EGLStreamKHR><void_ptr>pstream
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     err = ccuda.cuEGLStreamProducerConnect(<ccuda.CUeglStreamConnection*>conn._ptr, cstream, cwidth, cheight)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), conn)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuEGLStreamProducerConnect(((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)__pyx_v_conn->_ptr), __pyx_v_cstream, __pyx_v_cwidth, __pyx_v_cheight); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41423, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":41424
 *     cdef CUeglStreamConnection conn = CUeglStreamConnection()
 *     err = ccuda.cuEGLStreamProducerConnect(<ccuda.CUeglStreamConnection*>conn._ptr, cstream, cwidth, cheight)
 *     return (CUresult(err), conn)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 41424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 41424, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_conn);
  __Pyx_GIVEREF((PyObject *)__pyx_v_conn);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_conn))) __PYX_ERR(1, 41424, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41366
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41426
 *     return (CUresult(err), conn)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerDisconnect(conn):
 *     """ Disconnect CUDA as a producer to EGLStream .
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_877cuEGLStreamProducerDisconnect(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_876cuEGLStreamProducerDisconnect, "cuEGLStreamProducerDisconnect(conn)\n Disconnect CUDA as a producer to EGLStream .\n\n    Disconnect CUDA as a producer to EGLStreamKHR.\n\n    Parameters\n    ----------\n    conn : :py:obj:`~.CUeglStreamConnection`\n        Conection to disconnect.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\n\n    See Also\n    --------\n    :py:obj:`~.cuEGLStreamProducerConnect`, :py:obj:`~.cuEGLStreamProducerDisconnect`, :py:obj:`~.cuEGLStreamProducerPresentFrame`, :py:obj:`~.cudaEGLStreamProducerDisconnect`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_877cuEGLStreamProducerDisconnect = {"cuEGLStreamProducerDisconnect", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_877cuEGLStreamProducerDisconnect, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_876cuEGLStreamProducerDisconnect};
static PyObject *__pyx_pw_4cuda_4cuda_877cuEGLStreamProducerDisconnect(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_conn,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_conn)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41426, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuEGLStreamProducerDisconnect") < 0)) __PYX_ERR(1, 41426, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_conn = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEGLStreamProducerDisconnect", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 41426, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuEGLStreamProducerDisconnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_876cuEGLStreamProducerDisconnect(__pyx_self, __pyx_v_conn);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_876cuEGLStreamProducerDisconnect(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn) {
  __pyx_t_4cuda_5ccuda_CUeglStreamConnection *__pyx_v_cconn;
  PyObject *__pyx_v_pconn = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __pyx_t_4cuda_4cuda_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_TraceFrameInit(__pyx_codeobj__946)
  __Pyx_RefNannySetupContext("cuEGLStreamProducerDisconnect", 1);
  __Pyx_TraceCall("cuEGLStreamProducerDisconnect", __pyx_f[1], 41426, 0, __PYX_ERR(1, 41426, __pyx_L1_error));

  /* "cuda/cuda.pyx":41447
 *     """
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 */
  __pyx_t_1 = (__pyx_v_conn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41448
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 */
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)NULL));

    /* "cuda/cuda.pyx":41447
 *     """
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41449
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_4cuda_CUeglStreamConnection); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41450
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_conn, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41450, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41450, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_v_pconn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41451
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41451, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41449
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41452
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_conn); 
  if (likely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":41453
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41453, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41452
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41455
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuEGLStreamProducerDisconnect(cconn)
 *     return (CUresult(err),)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_Str(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 41455, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":41456
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 *     err = ccuda.cuEGLStreamProducerDisconnect(cconn)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuEGLStreamProducerDisconnect(__pyx_v_cconn); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41456, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":41457
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 *     err = ccuda.cuEGLStreamProducerDisconnect(cconn)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41457, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41457, __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)) __PYX_ERR(1, 41457, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41426
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.cuEGLStreamProducerDisconnect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pconn);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41459
 *     return (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_4cuda_879cuEGLStreamProducerPresentFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_878cuEGLStreamProducerPresentFrame, "cuEGLStreamProducerPresentFrame(conn, CUeglFrame eglframe: CUeglFrame, pStream)\n Present a CUDA eglFrame to the EGLStream with CUDA as a producer.\n\n    When a frame is presented by the producer, it gets associated with the\n    EGLStream and thus it is illegal to free the frame before the producer\n    is disconnected. If a frame is freed and reused it may lead to\n    undefined behavior.\n\n    If producer and consumer are on different GPUs (iGPU and dGPU) then\n    frametype :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\n    applications.\n\n    The :py:obj:`~.CUeglFrame` is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    For :py:obj:`~.CUeglFrame` of type :py:obj:`~.CU_EGL_FRAME_TYPE_PITCH`,\n    the application may present sub-region of a memory allocation. In that\n    case, the pitched pointer will specify the start address of the sub-\n    region in the allocation and corresponding :py:obj:`~.CUeglFrame`\n    fields will specify the dimensions of the sub-region.\n\n    Parameters\n    ----------\n    conn : :py:obj:`~.CUeglStreamConnection`\n        Connection on which to present the CUDA array\n    eglframe : :py:obj:`~.CUeglFrame`\n        CUDA Eglstream Proucer Frame handle to be sent to the consumer over\n        EglStream.\n    pStream : :py:obj:`~.CUstream`\n        CUDA stream on which to present the frame.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`,\n\n    See Also\n    --------\n    :py:obj:`~.cuEGLStreamProducerConnect`, :py:obj:`~.cuEGLStreamProducerDisconnect`, :py:obj:`~.cuEGLStreamProducerReturnFrame`, :py:obj:`~.cudaEGLStreamProducerPresentFrame`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_879cuEGLStreamProducerPresentFrame = {"cuEGLStreamProducerPresentFrame", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_879cuEGLStreamProducerPresentFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_878cuEGLStreamProducerPresentFrame};
static PyObject *__pyx_pw_4cuda_4cuda_879cuEGLStreamProducerPresentFrame(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_conn,&__pyx_n_s_eglframe,&__pyx_n_s_pStream,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_conn)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41459, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_eglframe)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41459, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuEGLStreamProducerPresentFrame", 1, 3, 3, 1); __PYX_ERR(1, 41459, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pStream)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41459, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuEGLStreamProducerPresentFrame", 1, 3, 3, 2); __PYX_ERR(1, 41459, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuEGLStreamProducerPresentFrame") < 0)) __PYX_ERR(1, 41459, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_conn = values[0];
    __pyx_v_eglframe = ((struct __pyx_obj_4cuda_4cuda_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(1, 41459, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUeglFrame, 0, "eglframe", 0))) __PYX_ERR(1, 41460, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_878cuEGLStreamProducerPresentFrame(__pyx_self, __pyx_v_conn, __pyx_v_eglframe, __pyx_v_pStream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_878cuEGLStreamProducerPresentFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, struct __pyx_obj_4cuda_4cuda_CUeglFrame *__pyx_v_eglframe, PyObject *__pyx_v_pStream) {
  CUstream *__pyx_v_cpStream;
  PyObject *__pyx_v_ppStream = NULL;
  __pyx_t_4cuda_5ccuda_CUeglStreamConnection *__pyx_v_cconn;
  PyObject *__pyx_v_pconn = NULL;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __pyx_t_4cuda_4cuda_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_TraceFrameInit(__pyx_codeobj__947)
  __Pyx_RefNannySetupContext("cuEGLStreamProducerPresentFrame", 1);
  __Pyx_TraceCall("cuEGLStreamProducerPresentFrame", __pyx_f[1], 41459, 0, __PYX_ERR(1, 41459, __pyx_L1_error));

  /* "cuda/cuda.pyx":41503
 *     """
 *     cdef ccuda.CUstream *cpStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_pStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41504
 *     cdef ccuda.CUstream *cpStream
 *     if pStream is None:
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()
 */
    __pyx_v_cpStream = ((CUstream *)((__pyx_t_4cuda_4cuda_void_ptr)NULL));

    /* "cuda/cuda.pyx":41503
 *     """
 *     cdef ccuda.CUstream *cpStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41505
 *     if pStream is None:
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41506
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pStream, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41506, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41506, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_v_ppStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41507
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (int)):
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41507, __pyx_L1_error)
    __pyx_v_cpStream = ((CUstream *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41505
 *     if pStream is None:
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41508
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_pStream); 
  if (likely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":41509
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cuda.CUstream'>, found " + str(type(pStream)))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41509, __pyx_L1_error)
    __pyx_v_cpStream = ((CUstream *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41508
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream
 *     else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41511
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cuda.CUstream'>, found " + str(type(pStream)))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_Str(((PyObject *)Py_TYPE(__pyx_v_pStream))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41511, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Argument_pStream_is_not_instance, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41511, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41511, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 41511, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":41513
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cuda.CUstream'>, found " + str(type(pStream)))
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 */
  __pyx_t_1 = (__pyx_v_conn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41514
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 */
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)NULL));

    /* "cuda/cuda.pyx":41513
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cuda.CUstream'>, found " + str(type(pStream)))
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41515
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_4cuda_CUeglStreamConnection); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41516
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_conn, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41516, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_v_pconn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41517
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41517, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41515
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41518
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_conn); 
  if (likely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":41519
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41519, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41518
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41521
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 *     err = ccuda.cuEGLStreamProducerPresentFrame(cconn, eglframe._ptr[0], cpStream)
 *     return (CUresult(err),)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_Str(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41521, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41521, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41521, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 41521, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":41522
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 *     err = ccuda.cuEGLStreamProducerPresentFrame(cconn, eglframe._ptr[0], cpStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuEGLStreamProducerPresentFrame(__pyx_v_cconn, (__pyx_v_eglframe->__pyx_base.__pyx_base._ptr[0]), __pyx_v_cpStream); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41522, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":41523
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 *     err = ccuda.cuEGLStreamProducerPresentFrame(cconn, eglframe._ptr[0], cpStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41523, __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)) __PYX_ERR(1, 41523, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41459
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41525
 *     return (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_4cuda_881cuEGLStreamProducerReturnFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_880cuEGLStreamProducerReturnFrame, "cuEGLStreamProducerReturnFrame(conn, CUeglFrame eglframe: Optional[CUeglFrame], pStream)\n Return the CUDA eglFrame to the EGLStream released by the consumer.\n\n    This API can potentially return CUDA_ERROR_LAUNCH_TIMEOUT if the\n    consumer has not returned a frame to EGL stream. If timeout is returned\n    the application can retry.\n\n    Parameters\n    ----------\n    conn : :py:obj:`~.CUeglStreamConnection`\n        Connection on which to return\n    eglframe : :py:obj:`~.CUeglFrame`\n        CUDA Eglstream Proucer Frame handle returned from the consumer over\n        EglStream.\n    pStream : :py:obj:`~.CUstream`\n        CUDA stream on which to return the frame.\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_LAUNCH_TIMEOUT`\n\n    See Also\n    --------\n    :py:obj:`~.cuEGLStreamProducerConnect`, :py:obj:`~.cuEGLStreamProducerDisconnect`, :py:obj:`~.cuEGLStreamProducerPresentFrame`, :py:obj:`~.cudaEGLStreamProducerReturnFrame`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_881cuEGLStreamProducerReturnFrame = {"cuEGLStreamProducerReturnFrame", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_881cuEGLStreamProducerReturnFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_880cuEGLStreamProducerReturnFrame};
static PyObject *__pyx_pw_4cuda_4cuda_881cuEGLStreamProducerReturnFrame(PyObject *__pyx_self, 
#if CYTHON_METH_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_4cuda_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_conn,&__pyx_n_s_eglframe,&__pyx_n_s_pStream,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_conn)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41525, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_eglframe)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41525, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuEGLStreamProducerReturnFrame", 1, 3, 3, 1); __PYX_ERR(1, 41525, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pStream)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41525, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuEGLStreamProducerReturnFrame", 1, 3, 3, 2); __PYX_ERR(1, 41525, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuEGLStreamProducerReturnFrame") < 0)) __PYX_ERR(1, 41525, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_conn = values[0];
    __pyx_v_eglframe = ((struct __pyx_obj_4cuda_4cuda_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(1, 41525, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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_ptype_4cuda_4cuda_CUeglFrame, 1, "eglframe", 0))) __PYX_ERR(1, 41526, __pyx_L1_error)
  __pyx_r = __pyx_pf_4cuda_4cuda_880cuEGLStreamProducerReturnFrame(__pyx_self, __pyx_v_conn, __pyx_v_eglframe, __pyx_v_pStream);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_880cuEGLStreamProducerReturnFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_conn, struct __pyx_obj_4cuda_4cuda_CUeglFrame *__pyx_v_eglframe, PyObject *__pyx_v_pStream) {
  CUstream *__pyx_v_cpStream;
  PyObject *__pyx_v_ppStream = NULL;
  __pyx_t_4cuda_5ccuda_CUeglStreamConnection *__pyx_v_cconn;
  PyObject *__pyx_v_pconn = NULL;
  __pyx_t_4cuda_5ccuda_CUeglFrame *__pyx_v_ceglframe_ptr;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_6;
  struct __pyx_t_4cuda_5ccuda_CUeglFrame_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_TraceFrameInit(__pyx_codeobj__948)
  __Pyx_RefNannySetupContext("cuEGLStreamProducerReturnFrame", 1);
  __Pyx_TraceCall("cuEGLStreamProducerReturnFrame", __pyx_f[1], 41525, 0, __PYX_ERR(1, 41525, __pyx_L1_error));

  /* "cuda/cuda.pyx":41553
 *     """
 *     cdef ccuda.CUstream *cpStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
 */
  __pyx_t_1 = (__pyx_v_pStream == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41554
 *     cdef ccuda.CUstream *cpStream
 *     if pStream is None:
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()
 */
    __pyx_v_cpStream = ((CUstream *)((__pyx_t_4cuda_4cuda_void_ptr)NULL));

    /* "cuda/cuda.pyx":41553
 *     """
 *     cdef ccuda.CUstream *cpStream
 *     if pStream is None:             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41555
 *     if pStream is None:
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_pStream, __pyx_ptype_4cuda_4cuda_CUstream); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41556
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pStream, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41556, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_v_ppStream = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41557
 *     elif isinstance(pStream, (CUstream,)):
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream             # <<<<<<<<<<<<<<
 *     elif isinstance(pStream, (int)):
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ppStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41557, __pyx_L1_error)
    __pyx_v_cpStream = ((CUstream *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41555
 *     if pStream is None:
 *         cpStream = <ccuda.CUstream*><void_ptr>NULL
 *     elif isinstance(pStream, (CUstream,)):             # <<<<<<<<<<<<<<
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41558
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_pStream); 
  if (likely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":41559
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cuda.CUstream'>, found " + str(type(pStream)))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pStream); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41559, __pyx_L1_error)
    __pyx_v_cpStream = ((CUstream *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41558
 *         ppStream = pStream.getPtr()
 *         cpStream = <ccuda.CUstream*><void_ptr>ppStream
 *     elif isinstance(pStream, (int)):             # <<<<<<<<<<<<<<
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream
 *     else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41561
 *         cpStream = <ccuda.CUstream*><void_ptr>pStream
 *     else:
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cuda.CUstream'>, found " + str(type(pStream)))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_Str(((PyObject *)Py_TYPE(__pyx_v_pStream))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Argument_pStream_is_not_instance, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 41561, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":41563
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cuda.CUstream'>, found " + str(type(pStream)))
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 */
  __pyx_t_1 = (__pyx_v_conn == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41564
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 */
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)NULL));

    /* "cuda/cuda.pyx":41563
 *         raise TypeError("Argument 'pStream' is not instance of type (expected <class 'int, cuda.CUstream'>, found " + str(type(pStream)))
 *     cdef ccuda.CUeglStreamConnection *cconn
 *     if conn is None:             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41565
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_conn, __pyx_ptype_4cuda_4cuda_CUeglStreamConnection); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41566
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_conn, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_v_pconn = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41567
 *     elif isinstance(conn, (CUeglStreamConnection,)):
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn             # <<<<<<<<<<<<<<
 *     elif isinstance(conn, (int)):
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pconn); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41567, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41565
 *     if conn is None:
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>NULL
 *     elif isinstance(conn, (CUeglStreamConnection,)):             # <<<<<<<<<<<<<<
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41568
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_conn); 
  if (likely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":41569
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_conn); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41569, __pyx_L1_error)
    __pyx_v_cconn = ((__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41568
 *         pconn = conn.getPtr()
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>pconn
 *     elif isinstance(conn, (int)):             # <<<<<<<<<<<<<<
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41571
 *         cconn = <ccuda.CUeglStreamConnection*><void_ptr>conn
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUeglFrame* ceglframe_ptr = eglframe._ptr if eglframe != None else NULL
 *     err = ccuda.cuEGLStreamProducerReturnFrame(cconn, ceglframe_ptr, cpStream)
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_Str(((PyObject *)Py_TYPE(__pyx_v_conn))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41571, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 41571, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":41572
 *     else:
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 *     cdef ccuda.CUeglFrame* ceglframe_ptr = eglframe._ptr if eglframe != None else NULL             # <<<<<<<<<<<<<<
 *     err = ccuda.cuEGLStreamProducerReturnFrame(cconn, ceglframe_ptr, cpStream)
 *     return (CUresult(err),)
 */
  __pyx_t_2 = PyObject_RichCompare(((PyObject *)__pyx_v_eglframe), Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41572, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 41572, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {
    __pyx_t_7 = __pyx_v_eglframe->__pyx_base.__pyx_base._ptr;
  } else {
    __pyx_t_7 = NULL;
  }
  __pyx_v_ceglframe_ptr = __pyx_t_7;

  /* "cuda/cuda.pyx":41573
 *         raise TypeError("Argument 'conn' is not instance of type (expected <class 'int, cuda.CUeglStreamConnection'>, found " + str(type(conn)))
 *     cdef ccuda.CUeglFrame* ceglframe_ptr = eglframe._ptr if eglframe != None else NULL
 *     err = ccuda.cuEGLStreamProducerReturnFrame(cconn, ceglframe_ptr, cpStream)             # <<<<<<<<<<<<<<
 *     return (CUresult(err),)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_5ccuda_cuEGLStreamProducerReturnFrame(__pyx_v_cconn, __pyx_v_ceglframe_ptr, __pyx_v_cpStream); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41573, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cuda.pyx":41574
 *     cdef ccuda.CUeglFrame* ceglframe_ptr = eglframe._ptr if eglframe != None else NULL
 *     err = ccuda.cuEGLStreamProducerReturnFrame(cconn, ceglframe_ptr, cpStream)
 *     return (CUresult(err),)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41574, __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)) __PYX_ERR(1, 41574, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41525
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41576
 *     return (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_4cuda_883cuGraphicsResourceGetMappedEglFrame(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_882cuGraphicsResourceGetMappedEglFrame, "cuGraphicsResourceGetMappedEglFrame(resource, unsigned int index, unsigned int mipLevel)\n Get an eglFrame through which to access a registered EGL graphics resource.\n\n    Returns in `*eglFrame` an eglFrame pointer through which the registered\n    graphics resource `resource` may be accessed. This API can only be\n    called for registered EGL graphics resources.\n\n    The :py:obj:`~.CUeglFrame` is defined as:\n\n    **View CUDA Toolkit Documentation for a C++ code example**\n\n    If `resource` is not registered then :py:obj:`~.CUDA_ERROR_NOT_MAPPED`\n    is returned.\n\n    Parameters\n    ----------\n    resource : :py:obj:`~.CUgraphicsResource`\n        None\n    index : unsigned int\n        None\n    mipLevel : unsigned int\n        None\n\n    Returns\n    -------\n    CUresult\n\n    eglFrame : :py:obj:`~.CUeglFrame`\n        None\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_883cuGraphicsResourceGetMappedEglFrame = {"cuGraphicsResourceGetMappedEglFrame", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_883cuGraphicsResourceGetMappedEglFrame, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_882cuGraphicsResourceGetMappedEglFrame};
static PyObject *__pyx_pw_4cuda_4cuda_883cuGraphicsResourceGetMappedEglFrame(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_resource_2,&__pyx_n_s_index,&__pyx_n_s_mipLevel,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_resource_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41576, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_index)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41576, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphicsResourceGetMappedEglFrame", 1, 3, 3, 1); __PYX_ERR(1, 41576, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_mipLevel)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41576, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphicsResourceGetMappedEglFrame", 1, 3, 3, 2); __PYX_ERR(1, 41576, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphicsResourceGetMappedEglFrame") < 0)) __PYX_ERR(1, 41576, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_resource = values[0];
    __pyx_v_index = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_index == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 41577, __pyx_L3_error)
    __pyx_v_mipLevel = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_mipLevel == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 41577, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsResourceGetMappedEglFrame", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 41576, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphicsResourceGetMappedEglFrame", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_882cuGraphicsResourceGetMappedEglFrame(__pyx_self, __pyx_v_resource, __pyx_v_index, __pyx_v_mipLevel);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_882cuGraphicsResourceGetMappedEglFrame(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_resource, unsigned int __pyx_v_index, unsigned int __pyx_v_mipLevel) {
  CUgraphicsResource __pyx_v_cresource;
  PyObject *__pyx_v_presource = NULL;
  struct __pyx_obj_4cuda_4cuda_CUeglFrame *__pyx_v_eglFrame = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__949)
  __Pyx_RefNannySetupContext("cuGraphicsResourceGetMappedEglFrame", 1);
  __Pyx_TraceCall("cuGraphicsResourceGetMappedEglFrame", __pyx_f[1], 41576, 0, __PYX_ERR(1, 41576, __pyx_L1_error));

  /* "cuda/cuda.pyx":41608
 *     """
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 */
  __pyx_t_1 = (__pyx_v_resource == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41609
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
 */
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":41608
 *     """
 *     cdef ccuda.CUgraphicsResource cresource
 *     if resource is None:             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41610
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_resource, __pyx_ptype_4cuda_4cuda_CUgraphicsResource); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41611
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_presource = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41612
 *     elif isinstance(resource, (CUgraphicsResource,)):
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41612, __pyx_L1_error)
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":41610
 *     if resource is None:
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>0
 *     elif isinstance(resource, (CUgraphicsResource,)):             # <<<<<<<<<<<<<<
 *         presource = int(resource)
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41614
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     else:
 *         presource = int(CUgraphicsResource(resource))             # <<<<<<<<<<<<<<
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     cdef CUeglFrame eglFrame = CUeglFrame()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphicsResource), __pyx_v_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41614, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41614, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_presource = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":41615
 *     else:
 *         presource = int(CUgraphicsResource(resource))
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource             # <<<<<<<<<<<<<<
 *     cdef CUeglFrame eglFrame = CUeglFrame()
 *     err = ccuda.cuGraphicsResourceGetMappedEglFrame(<ccuda.CUeglFrame*>eglFrame._ptr, cresource, index, mipLevel)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_presource); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41615, __pyx_L1_error)
    __pyx_v_cresource = ((CUgraphicsResource)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":41616
 *         presource = int(CUgraphicsResource(resource))
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     cdef CUeglFrame eglFrame = CUeglFrame()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphicsResourceGetMappedEglFrame(<ccuda.CUeglFrame*>eglFrame._ptr, cresource, index, mipLevel)
 *     return (CUresult(err), eglFrame)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUeglFrame)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_eglFrame = ((struct __pyx_obj_4cuda_4cuda_CUeglFrame *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":41617
 *         cresource = <ccuda.CUgraphicsResource><void_ptr>presource
 *     cdef CUeglFrame eglFrame = CUeglFrame()
 *     err = ccuda.cuGraphicsResourceGetMappedEglFrame(<ccuda.CUeglFrame*>eglFrame._ptr, cresource, index, mipLevel)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), eglFrame)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphicsResourceGetMappedEglFrame(((__pyx_t_4cuda_5ccuda_CUeglFrame *)__pyx_v_eglFrame->__pyx_base.__pyx_base._ptr), __pyx_v_cresource, __pyx_v_index, __pyx_v_mipLevel); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41617, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":41618
 *     cdef CUeglFrame eglFrame = CUeglFrame()
 *     err = ccuda.cuGraphicsResourceGetMappedEglFrame(<ccuda.CUeglFrame*>eglFrame._ptr, cresource, index, mipLevel)
 *     return (CUresult(err), eglFrame)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 41618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41618, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 41618, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_eglFrame);
  __Pyx_GIVEREF((PyObject *)__pyx_v_eglFrame);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_eglFrame))) __PYX_ERR(1, 41618, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41576
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41620
 *     return (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_4cuda_885cuEventCreateFromEGLSync(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_884cuEventCreateFromEGLSync, "cuEventCreateFromEGLSync(eglSync, unsigned int flags)\n Creates an event from EGLSync object.\n\n    Creates an event *phEvent from an EGLSyncKHR eglSync with the flags\n    specified 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\n    Once the `eglSync` gets destroyed, :py:obj:`~.cuEventDestroy` is the\n    only API that can be invoked on the event.\n\n    :py:obj:`~.cuEventRecord` and TimingData are not supported for events\n    created from EGLSync.\n\n    The EGLSyncKHR is an opaque handle to an EGL sync object. typedef void*\n    EGLSyncKHR\n\n    Parameters\n    ----------\n    eglSync : :py:obj:`~.EGLSyncKHR`\n        Opaque handle to EGLSync object\n    flags : unsigned int\n        Event creation flags\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_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    phEvent : :py:obj:`~.CUevent`\n        Returns newly created event\n\n    See Also\n    --------\n    :py:obj:`~.cuEventQuery`, :py:obj:`~.cuEventSynchronize`, :py:obj:`~.cuEventDestroy`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_885cuEventCreateFromEGLSync = {"cuEventCreateFromEGLSync", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_885cuEventCreateFromEGLSync, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_884cuEventCreateFromEGLSync};
static PyObject *__pyx_pw_4cuda_4cuda_885cuEventCreateFromEGLSync(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_eglSync,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_eglSync)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41620, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41620, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuEventCreateFromEGLSync", 1, 2, 2, 1); __PYX_ERR(1, 41620, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuEventCreateFromEGLSync") < 0)) __PYX_ERR(1, 41620, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_eglSync = values[0];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 41621, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuEventCreateFromEGLSync", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 41620, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuEventCreateFromEGLSync", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_884cuEventCreateFromEGLSync(__pyx_self, __pyx_v_eglSync, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_884cuEventCreateFromEGLSync(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_eglSync, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_5ccuda_EGLSyncKHR __pyx_v_ceglSync;
  PyObject *__pyx_v_peglSync = NULL;
  struct __pyx_obj_4cuda_4cuda_CUevent *__pyx_v_phEvent = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__950)
  __Pyx_RefNannySetupContext("cuEventCreateFromEGLSync", 1);
  __Pyx_TraceCall("cuEventCreateFromEGLSync", __pyx_f[1], 41620, 0, __PYX_ERR(1, 41620, __pyx_L1_error));

  /* "cuda/cuda.pyx":41662
 *     """
 *     cdef ccuda.EGLSyncKHR ceglSync
 *     if eglSync is None:             # <<<<<<<<<<<<<<
 *         ceglSync = <ccuda.EGLSyncKHR><void_ptr>0
 *     elif isinstance(eglSync, (EGLSyncKHR,)):
 */
  __pyx_t_1 = (__pyx_v_eglSync == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41663
 *     cdef ccuda.EGLSyncKHR ceglSync
 *     if eglSync is None:
 *         ceglSync = <ccuda.EGLSyncKHR><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(eglSync, (EGLSyncKHR,)):
 *         peglSync = int(eglSync)
 */
    __pyx_v_ceglSync = ((__pyx_t_4cuda_5ccuda_EGLSyncKHR)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":41662
 *     """
 *     cdef ccuda.EGLSyncKHR ceglSync
 *     if eglSync is None:             # <<<<<<<<<<<<<<
 *         ceglSync = <ccuda.EGLSyncKHR><void_ptr>0
 *     elif isinstance(eglSync, (EGLSyncKHR,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41664
 *     if eglSync is None:
 *         ceglSync = <ccuda.EGLSyncKHR><void_ptr>0
 *     elif isinstance(eglSync, (EGLSyncKHR,)):             # <<<<<<<<<<<<<<
 *         peglSync = int(eglSync)
 *         ceglSync = <ccuda.EGLSyncKHR><void_ptr>peglSync
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_eglSync, __pyx_ptype_4cuda_4cuda_EGLSyncKHR); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41665
 *         ceglSync = <ccuda.EGLSyncKHR><void_ptr>0
 *     elif isinstance(eglSync, (EGLSyncKHR,)):
 *         peglSync = int(eglSync)             # <<<<<<<<<<<<<<
 *         ceglSync = <ccuda.EGLSyncKHR><void_ptr>peglSync
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_eglSync); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41665, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_peglSync = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41666
 *     elif isinstance(eglSync, (EGLSyncKHR,)):
 *         peglSync = int(eglSync)
 *         ceglSync = <ccuda.EGLSyncKHR><void_ptr>peglSync             # <<<<<<<<<<<<<<
 *     else:
 *         peglSync = int(EGLSyncKHR(eglSync))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_peglSync); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41666, __pyx_L1_error)
    __pyx_v_ceglSync = ((__pyx_t_4cuda_5ccuda_EGLSyncKHR)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":41664
 *     if eglSync is None:
 *         ceglSync = <ccuda.EGLSyncKHR><void_ptr>0
 *     elif isinstance(eglSync, (EGLSyncKHR,)):             # <<<<<<<<<<<<<<
 *         peglSync = int(eglSync)
 *         ceglSync = <ccuda.EGLSyncKHR><void_ptr>peglSync
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41668
 *         ceglSync = <ccuda.EGLSyncKHR><void_ptr>peglSync
 *     else:
 *         peglSync = int(EGLSyncKHR(eglSync))             # <<<<<<<<<<<<<<
 *         ceglSync = <ccuda.EGLSyncKHR><void_ptr>peglSync
 *     cdef CUevent phEvent = CUevent()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_EGLSyncKHR), __pyx_v_eglSync); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_peglSync = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":41669
 *     else:
 *         peglSync = int(EGLSyncKHR(eglSync))
 *         ceglSync = <ccuda.EGLSyncKHR><void_ptr>peglSync             # <<<<<<<<<<<<<<
 *     cdef CUevent phEvent = CUevent()
 *     err = ccuda.cuEventCreateFromEGLSync(<ccuda.CUevent*>phEvent._ptr, ceglSync, flags)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_peglSync); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41669, __pyx_L1_error)
    __pyx_v_ceglSync = ((__pyx_t_4cuda_5ccuda_EGLSyncKHR)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":41670
 *         peglSync = int(EGLSyncKHR(eglSync))
 *         ceglSync = <ccuda.EGLSyncKHR><void_ptr>peglSync
 *     cdef CUevent phEvent = CUevent()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuEventCreateFromEGLSync(<ccuda.CUevent*>phEvent._ptr, ceglSync, flags)
 *     return (CUresult(err), phEvent)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_phEvent = ((struct __pyx_obj_4cuda_4cuda_CUevent *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":41671
 *         ceglSync = <ccuda.EGLSyncKHR><void_ptr>peglSync
 *     cdef CUevent phEvent = CUevent()
 *     err = ccuda.cuEventCreateFromEGLSync(<ccuda.CUevent*>phEvent._ptr, ceglSync, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), phEvent)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuEventCreateFromEGLSync(((CUevent *)__pyx_v_phEvent->_ptr), __pyx_v_ceglSync, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41671, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":41672
 *     cdef CUevent phEvent = CUevent()
 *     err = ccuda.cuEventCreateFromEGLSync(<ccuda.CUevent*>phEvent._ptr, ceglSync, flags)
 *     return (CUresult(err), phEvent)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 41672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 41672, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_phEvent);
  __Pyx_GIVEREF((PyObject *)__pyx_v_phEvent);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_phEvent))) __PYX_ERR(1, 41672, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41620
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41674
 *     return (CUresult(err), phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsGLRegisterBuffer(buffer, unsigned int Flags):
 *     """ Registers an OpenGL buffer object.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_887cuGraphicsGLRegisterBuffer(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_886cuGraphicsGLRegisterBuffer, "cuGraphicsGLRegisterBuffer(buffer, unsigned int Flags)\n Registers an OpenGL buffer object.\n\n    Registers the buffer object specified by `buffer` for access by CUDA. A\n    handle to the registered object is returned as `pCudaResource`. The\n    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    Parameters\n    ----------\n    buffer : :py:obj:`~.GLuint`\n        name of buffer object to be registered\n    Flags : unsigned int\n        Register flags\n\n    Returns\n    -------\n    CUresult\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`\n    pCudaResource : :py:obj:`~.CUgraphicsResource`\n        Pointer to the returned object handle\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphicsUnregisterResource`, :py:obj:`~.cuGraphicsMapResources`, :py:obj:`~.cuGraphicsResourceGetMappedPointer`, :py:obj:`~.cudaGraphicsGLRegisterBuffer`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_887cuGraphicsGLRegisterBuffer = {"cuGraphicsGLRegisterBuffer", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_887cuGraphicsGLRegisterBuffer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_886cuGraphicsGLRegisterBuffer};
static PyObject *__pyx_pw_4cuda_4cuda_887cuGraphicsGLRegisterBuffer(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buffer,&__pyx_n_s_Flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41674, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41674, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphicsGLRegisterBuffer", 1, 2, 2, 1); __PYX_ERR(1, 41674, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphicsGLRegisterBuffer") < 0)) __PYX_ERR(1, 41674, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_buffer = values[0];
    __pyx_v_Flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 41675, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsGLRegisterBuffer", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 41674, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphicsGLRegisterBuffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_886cuGraphicsGLRegisterBuffer(__pyx_self, __pyx_v_buffer, __pyx_v_Flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_886cuGraphicsGLRegisterBuffer(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_buffer, unsigned int __pyx_v_Flags) {
  __pyx_t_4cuda_5ccuda_GLuint __pyx_v_cbuffer;
  PyObject *__pyx_v_pbuffer = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_pCudaResource = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__951)
  __Pyx_RefNannySetupContext("cuGraphicsGLRegisterBuffer", 1);
  __Pyx_TraceCall("cuGraphicsGLRegisterBuffer", __pyx_f[1], 41674, 0, __PYX_ERR(1, 41674, __pyx_L1_error));

  /* "cuda/cuda.pyx":41714
 *     """
 *     cdef ccuda.GLuint cbuffer
 *     if buffer is None:             # <<<<<<<<<<<<<<
 *         cbuffer = <ccuda.GLuint><void_ptr>0
 *     elif isinstance(buffer, (GLuint,)):
 */
  __pyx_t_1 = (__pyx_v_buffer == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41715
 *     cdef ccuda.GLuint cbuffer
 *     if buffer is None:
 *         cbuffer = <ccuda.GLuint><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(buffer, (GLuint,)):
 *         pbuffer = int(buffer)
 */
    __pyx_v_cbuffer = ((__pyx_t_4cuda_5ccuda_GLuint)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":41714
 *     """
 *     cdef ccuda.GLuint cbuffer
 *     if buffer is None:             # <<<<<<<<<<<<<<
 *         cbuffer = <ccuda.GLuint><void_ptr>0
 *     elif isinstance(buffer, (GLuint,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41716
 *     if buffer is None:
 *         cbuffer = <ccuda.GLuint><void_ptr>0
 *     elif isinstance(buffer, (GLuint,)):             # <<<<<<<<<<<<<<
 *         pbuffer = int(buffer)
 *         cbuffer = <ccuda.GLuint><void_ptr>pbuffer
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_buffer, __pyx_ptype_4cuda_4cuda_GLuint); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41717
 *         cbuffer = <ccuda.GLuint><void_ptr>0
 *     elif isinstance(buffer, (GLuint,)):
 *         pbuffer = int(buffer)             # <<<<<<<<<<<<<<
 *         cbuffer = <ccuda.GLuint><void_ptr>pbuffer
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_buffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pbuffer = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41718
 *     elif isinstance(buffer, (GLuint,)):
 *         pbuffer = int(buffer)
 *         cbuffer = <ccuda.GLuint><void_ptr>pbuffer             # <<<<<<<<<<<<<<
 *     else:
 *         pbuffer = int(GLuint(buffer))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pbuffer); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41718, __pyx_L1_error)
    __pyx_v_cbuffer = ((__pyx_t_4cuda_5ccuda_GLuint)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":41716
 *     if buffer is None:
 *         cbuffer = <ccuda.GLuint><void_ptr>0
 *     elif isinstance(buffer, (GLuint,)):             # <<<<<<<<<<<<<<
 *         pbuffer = int(buffer)
 *         cbuffer = <ccuda.GLuint><void_ptr>pbuffer
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41720
 *         cbuffer = <ccuda.GLuint><void_ptr>pbuffer
 *     else:
 *         pbuffer = int(GLuint(buffer))             # <<<<<<<<<<<<<<
 *         cbuffer = <ccuda.GLuint><void_ptr>pbuffer
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_GLuint), __pyx_v_buffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pbuffer = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":41721
 *     else:
 *         pbuffer = int(GLuint(buffer))
 *         cbuffer = <ccuda.GLuint><void_ptr>pbuffer             # <<<<<<<<<<<<<<
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     err = ccuda.cuGraphicsGLRegisterBuffer(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cbuffer, Flags)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pbuffer); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41721, __pyx_L1_error)
    __pyx_v_cbuffer = ((__pyx_t_4cuda_5ccuda_GLuint)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":41722
 *         pbuffer = int(GLuint(buffer))
 *         cbuffer = <ccuda.GLuint><void_ptr>pbuffer
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphicsGLRegisterBuffer(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cbuffer, Flags)
 *     return (CUresult(err), pCudaResource)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphicsResource)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pCudaResource = ((struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":41723
 *         cbuffer = <ccuda.GLuint><void_ptr>pbuffer
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     err = ccuda.cuGraphicsGLRegisterBuffer(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cbuffer, Flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pCudaResource)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphicsGLRegisterBuffer(((CUgraphicsResource *)__pyx_v_pCudaResource->_ptr), __pyx_v_cbuffer, __pyx_v_Flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41723, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":41724
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     err = ccuda.cuGraphicsGLRegisterBuffer(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cbuffer, Flags)
 *     return (CUresult(err), pCudaResource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 41724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 41724, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCudaResource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pCudaResource))) __PYX_ERR(1, 41724, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41674
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41726
 *     return (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_4cuda_889cuGraphicsGLRegisterImage(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_888cuGraphicsGLRegisterImage, "cuGraphicsGLRegisterImage(image, target, unsigned int Flags)\n Register an OpenGL texture or renderbuffer object.\n\n    Registers the texture or renderbuffer object specified by `image` for\n    access 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\n    The 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\n    The following image formats are supported. For brevity's sake, the list\n    is abbreviated. For ex., {GL_R, GL_RG} X {8, 16} would expand to the\n    following 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, G""L_INTENSITY} X {8, 16,\n      16F_ARB, 32F_ARB, 8UI_EXT, 16UI_EXT, 32UI_EXT, 8I_EXT, 16I_EXT,\n      32I_EXT}\n\n    The following image classes are currently disallowed:\n\n    - Textures with borders\n\n    - Multisampled renderbuffers\n\n    Parameters\n    ----------\n    image : :py:obj:`~.GLuint`\n        name of texture or renderbuffer object to be registered\n    target : :py:obj:`~.GLenum`\n        Identifies the type of object specified by `image`\n    Flags : unsigned int\n        Register flags\n\n    Returns\n    -------\n    CUresult\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`\n    pCudaResource : :py:obj:`~.CUgraphicsResource`\n        Pointer to the returned object handle\n\n    See Also\n    --------\n    :py:obj:`~.cuGraphicsUnregisterResource`, :py:obj:`~.cuGraphicsMapResources`, :py:obj:`~.cuGraphicsSubResourceGetMappedArray`, :py:obj:`~.cudaGraphicsGLRegisterImage`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_889cuGraphicsGLRegisterImage = {"cuGraphicsGLRegisterImage", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_889cuGraphicsGLRegisterImage, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_888cuGraphicsGLRegisterImage};
static PyObject *__pyx_pw_4cuda_4cuda_889cuGraphicsGLRegisterImage(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_image,&__pyx_n_s_target,&__pyx_n_s_Flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_image)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41726, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_target)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41726, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphicsGLRegisterImage", 1, 3, 3, 1); __PYX_ERR(1, 41726, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_Flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41726, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphicsGLRegisterImage", 1, 3, 3, 2); __PYX_ERR(1, 41726, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphicsGLRegisterImage") < 0)) __PYX_ERR(1, 41726, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
    }
    __pyx_v_image = values[0];
    __pyx_v_target = values[1];
    __pyx_v_Flags = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_Flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 41727, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsGLRegisterImage", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 41726, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphicsGLRegisterImage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_888cuGraphicsGLRegisterImage(__pyx_self, __pyx_v_image, __pyx_v_target, __pyx_v_Flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_888cuGraphicsGLRegisterImage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_image, PyObject *__pyx_v_target, unsigned int __pyx_v_Flags) {
  __pyx_t_4cuda_5ccuda_GLenum __pyx_v_ctarget;
  PyObject *__pyx_v_ptarget = NULL;
  __pyx_t_4cuda_5ccuda_GLuint __pyx_v_cimage;
  PyObject *__pyx_v_pimage = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_pCudaResource = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__952)
  __Pyx_RefNannySetupContext("cuGraphicsGLRegisterImage", 1);
  __Pyx_TraceCall("cuGraphicsGLRegisterImage", __pyx_f[1], 41726, 0, __PYX_ERR(1, 41726, __pyx_L1_error));

  /* "cuda/cuda.pyx":41801
 *     """
 *     cdef ccuda.GLenum ctarget
 *     if target is None:             # <<<<<<<<<<<<<<
 *         ctarget = <ccuda.GLenum><void_ptr>0
 *     elif isinstance(target, (GLenum,)):
 */
  __pyx_t_1 = (__pyx_v_target == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41802
 *     cdef ccuda.GLenum ctarget
 *     if target is None:
 *         ctarget = <ccuda.GLenum><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(target, (GLenum,)):
 *         ptarget = int(target)
 */
    __pyx_v_ctarget = ((__pyx_t_4cuda_5ccuda_GLenum)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":41801
 *     """
 *     cdef ccuda.GLenum ctarget
 *     if target is None:             # <<<<<<<<<<<<<<
 *         ctarget = <ccuda.GLenum><void_ptr>0
 *     elif isinstance(target, (GLenum,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41803
 *     if target is None:
 *         ctarget = <ccuda.GLenum><void_ptr>0
 *     elif isinstance(target, (GLenum,)):             # <<<<<<<<<<<<<<
 *         ptarget = int(target)
 *         ctarget = <ccuda.GLenum><void_ptr>ptarget
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_target, __pyx_ptype_4cuda_4cuda_GLenum); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41804
 *         ctarget = <ccuda.GLenum><void_ptr>0
 *     elif isinstance(target, (GLenum,)):
 *         ptarget = int(target)             # <<<<<<<<<<<<<<
 *         ctarget = <ccuda.GLenum><void_ptr>ptarget
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_target); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41804, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_ptarget = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41805
 *     elif isinstance(target, (GLenum,)):
 *         ptarget = int(target)
 *         ctarget = <ccuda.GLenum><void_ptr>ptarget             # <<<<<<<<<<<<<<
 *     else:
 *         ptarget = int(GLenum(target))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptarget); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41805, __pyx_L1_error)
    __pyx_v_ctarget = ((__pyx_t_4cuda_5ccuda_GLenum)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":41803
 *     if target is None:
 *         ctarget = <ccuda.GLenum><void_ptr>0
 *     elif isinstance(target, (GLenum,)):             # <<<<<<<<<<<<<<
 *         ptarget = int(target)
 *         ctarget = <ccuda.GLenum><void_ptr>ptarget
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41807
 *         ctarget = <ccuda.GLenum><void_ptr>ptarget
 *     else:
 *         ptarget = int(GLenum(target))             # <<<<<<<<<<<<<<
 *         ctarget = <ccuda.GLenum><void_ptr>ptarget
 *     cdef ccuda.GLuint cimage
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_GLenum), __pyx_v_target); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41807, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41807, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_ptarget = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":41808
 *     else:
 *         ptarget = int(GLenum(target))
 *         ctarget = <ccuda.GLenum><void_ptr>ptarget             # <<<<<<<<<<<<<<
 *     cdef ccuda.GLuint cimage
 *     if image is None:
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_ptarget); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41808, __pyx_L1_error)
    __pyx_v_ctarget = ((__pyx_t_4cuda_5ccuda_GLenum)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":41810
 *         ctarget = <ccuda.GLenum><void_ptr>ptarget
 *     cdef ccuda.GLuint cimage
 *     if image is None:             # <<<<<<<<<<<<<<
 *         cimage = <ccuda.GLuint><void_ptr>0
 *     elif isinstance(image, (GLuint,)):
 */
  __pyx_t_1 = (__pyx_v_image == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41811
 *     cdef ccuda.GLuint cimage
 *     if image is None:
 *         cimage = <ccuda.GLuint><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(image, (GLuint,)):
 *         pimage = int(image)
 */
    __pyx_v_cimage = ((__pyx_t_4cuda_5ccuda_GLuint)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":41810
 *         ctarget = <ccuda.GLenum><void_ptr>ptarget
 *     cdef ccuda.GLuint cimage
 *     if image is None:             # <<<<<<<<<<<<<<
 *         cimage = <ccuda.GLuint><void_ptr>0
 *     elif isinstance(image, (GLuint,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41812
 *     if image is None:
 *         cimage = <ccuda.GLuint><void_ptr>0
 *     elif isinstance(image, (GLuint,)):             # <<<<<<<<<<<<<<
 *         pimage = int(image)
 *         cimage = <ccuda.GLuint><void_ptr>pimage
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_image, __pyx_ptype_4cuda_4cuda_GLuint); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41813
 *         cimage = <ccuda.GLuint><void_ptr>0
 *     elif isinstance(image, (GLuint,)):
 *         pimage = int(image)             # <<<<<<<<<<<<<<
 *         cimage = <ccuda.GLuint><void_ptr>pimage
 *     else:
 */
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_image); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41813, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_v_pimage = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":41814
 *     elif isinstance(image, (GLuint,)):
 *         pimage = int(image)
 *         cimage = <ccuda.GLuint><void_ptr>pimage             # <<<<<<<<<<<<<<
 *     else:
 *         pimage = int(GLuint(image))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pimage); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41814, __pyx_L1_error)
    __pyx_v_cimage = ((__pyx_t_4cuda_5ccuda_GLuint)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":41812
 *     if image is None:
 *         cimage = <ccuda.GLuint><void_ptr>0
 *     elif isinstance(image, (GLuint,)):             # <<<<<<<<<<<<<<
 *         pimage = int(image)
 *         cimage = <ccuda.GLuint><void_ptr>pimage
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41816
 *         cimage = <ccuda.GLuint><void_ptr>pimage
 *     else:
 *         pimage = int(GLuint(image))             # <<<<<<<<<<<<<<
 *         cimage = <ccuda.GLuint><void_ptr>pimage
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 */
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_GLuint), __pyx_v_image); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41816, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_pimage = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41817
 *     else:
 *         pimage = int(GLuint(image))
 *         cimage = <ccuda.GLuint><void_ptr>pimage             # <<<<<<<<<<<<<<
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     err = ccuda.cuGraphicsGLRegisterImage(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cimage, ctarget, Flags)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pimage); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41817, __pyx_L1_error)
    __pyx_v_cimage = ((__pyx_t_4cuda_5ccuda_GLuint)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":41818
 *         pimage = int(GLuint(image))
 *         cimage = <ccuda.GLuint><void_ptr>pimage
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphicsGLRegisterImage(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cimage, ctarget, Flags)
 *     return (CUresult(err), pCudaResource)
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphicsResource)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_pCudaResource = ((struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41819
 *         cimage = <ccuda.GLuint><void_ptr>pimage
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     err = ccuda.cuGraphicsGLRegisterImage(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cimage, ctarget, Flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pCudaResource)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphicsGLRegisterImage(((CUgraphicsResource *)__pyx_v_pCudaResource->_ptr), __pyx_v_cimage, __pyx_v_ctarget, __pyx_v_Flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41819, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":41820
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     err = ccuda.cuGraphicsGLRegisterImage(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cimage, ctarget, Flags)
 *     return (CUresult(err), pCudaResource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 41820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 41820, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 41820, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCudaResource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_v_pCudaResource))) __PYX_ERR(1, 41820, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41726
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41822
 *     return (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_4cuda_891cuGLGetDevices(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_890cuGLGetDevices, "cuGLGetDevices(unsigned int cudaDeviceCount, deviceList: CUGLDeviceList)\n Gets the CUDA devices associated with the current OpenGL context.\n\n    Returns in `*pCudaDeviceCount` the number of CUDA-compatible devices\n    corresponding to the current OpenGL context. Also returns in\n    `*pCudaDevices` at most cudaDeviceCount of the CUDA-compatible devices\n    corresponding to the current OpenGL context. If any of the GPUs being\n    used by the current OpenGL context are not CUDA capable then the call\n    will return CUDA_ERROR_NO_DEVICE.\n\n    The `deviceList` argument may be any of the following:\n    CU_GL_DEVICE_LIST_ALL: Query all devices used by the current OpenGL\n    context. CU_GL_DEVICE_LIST_CURRENT_FRAME: Query the devices used by the\n    current OpenGL context to render the current frame (in SLI).\n    CU_GL_DEVICE_LIST_NEXT_FRAME: Query the devices used by the current\n    OpenGL context to render the next frame (in SLI). Note that this is a\n    prediction, it can't be guaranteed that this is correct in all cases.\n\n    Parameters\n    ----------\n    cudaDeviceCount : unsigned int\n        The size of the output device array pCudaDevices.\n    deviceList : CUGLDeviceList\n        The set of devices to return.\n\n    Returns\n    -------\n    CUresult\n        CUDA_SUCCESS\n        CUDA_ERROR_NO_DEVICE\n        CUDA_ERROR_INVALID_VALUE\n        CUDA_ERROR_INVALID_CONTEXT\n        CUDA_ERROR_INVALID_GRAPHICS_CONTEXT\n    pCudaDeviceCount : unsigned int\n        Returned number of CUDA devices.\n    pCudaDevices : List[CUdevice]\n        Returned CUDA devices.\n\n    See Also\n    --------\n    ~.cudaGLGetDevices\n\n    Notes\n    -----\n    This function is not supported on Mac OS X.\n\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_891cuGLGetDevices = {"cuGLGetDevices", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_891cuGLGetDevices, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_890cuGLGetDevices};
static PyObject *__pyx_pw_4cuda_4cuda_891cuGLGetDevices(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cudaDeviceCount,&__pyx_n_s_deviceList,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_cudaDeviceCount)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41822, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_deviceList)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41822, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGLGetDevices", 1, 2, 2, 1); __PYX_ERR(1, 41822, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGLGetDevices") < 0)) __PYX_ERR(1, 41822, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_cudaDeviceCount = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_cudaDeviceCount == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 41823, __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(1, 41822, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.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(1, 41823, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_4cuda_4cuda_890cuGLGetDevices(__pyx_self, __pyx_v_cudaDeviceCount, __pyx_v_deviceList);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_890cuGLGetDevices(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_cudaDeviceCount, PyObject *__pyx_v_deviceList) {
  unsigned int __pyx_v_pCudaDeviceCount;
  CUdevice *__pyx_v_cpCudaDevices;
  PyObject *__pyx_v_pypCudaDevices = NULL;
  __pyx_t_4cuda_5ccuda_CUGLDeviceList __pyx_v_cdeviceList;
  CUresult __pyx_v_err;
  unsigned int __pyx_10genexpr203__pyx_v_idx;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  __pyx_t_4cuda_5ccuda_CUGLDeviceList __pyx_t_5;
  CUresult __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  unsigned int __pyx_t_9;
  unsigned int __pyx_t_10;
  unsigned int __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__953)
  __Pyx_RefNannySetupContext("cuGLGetDevices", 1);
  __Pyx_TraceCall("cuGLGetDevices", __pyx_f[1], 41822, 0, __PYX_ERR(1, 41822, __pyx_L1_error));

  /* "cuda/cuda.pyx":41870
 * 
 *     """
 *     cdef unsigned int pCudaDeviceCount = 0             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdevice* cpCudaDevices = NULL
 *     pypCudaDevices = []
 */
  __pyx_v_pCudaDeviceCount = 0;

  /* "cuda/cuda.pyx":41871
 *     """
 *     cdef unsigned int pCudaDeviceCount = 0
 *     cdef ccuda.CUdevice* cpCudaDevices = NULL             # <<<<<<<<<<<<<<
 *     pypCudaDevices = []
 *     if cudaDeviceCount != 0:
 */
  __pyx_v_cpCudaDevices = NULL;

  /* "cuda/cuda.pyx":41872
 *     cdef unsigned int pCudaDeviceCount = 0
 *     cdef ccuda.CUdevice* cpCudaDevices = NULL
 *     pypCudaDevices = []             # <<<<<<<<<<<<<<
 *     if cudaDeviceCount != 0:
 *         cpCudaDevices = <ccuda.CUdevice*>calloc(cudaDeviceCount, sizeof(ccuda.CUdevice))
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 41872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pypCudaDevices = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "cuda/cuda.pyx":41873
 *     cdef ccuda.CUdevice* cpCudaDevices = NULL
 *     pypCudaDevices = []
 *     if cudaDeviceCount != 0:             # <<<<<<<<<<<<<<
 *         cpCudaDevices = <ccuda.CUdevice*>calloc(cudaDeviceCount, sizeof(ccuda.CUdevice))
 *         if cpCudaDevices is NULL:
 */
  __pyx_t_2 = (__pyx_v_cudaDeviceCount != 0);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":41874
 *     pypCudaDevices = []
 *     if cudaDeviceCount != 0:
 *         cpCudaDevices = <ccuda.CUdevice*>calloc(cudaDeviceCount, sizeof(ccuda.CUdevice))             # <<<<<<<<<<<<<<
 *         if cpCudaDevices is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(ccuda.CUdevice)))
 */
    __pyx_v_cpCudaDevices = ((CUdevice *)calloc(__pyx_v_cudaDeviceCount, (sizeof(CUdevice))));

    /* "cuda/cuda.pyx":41875
 *     if cudaDeviceCount != 0:
 *         cpCudaDevices = <ccuda.CUdevice*>calloc(cudaDeviceCount, sizeof(ccuda.CUdevice))
 *         if cpCudaDevices is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(ccuda.CUdevice)))
 *     cdef ccuda.CUGLDeviceList cdeviceList = deviceList.value
 */
    __pyx_t_2 = (__pyx_v_cpCudaDevices == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "cuda/cuda.pyx":41876
 *         cpCudaDevices = <ccuda.CUdevice*>calloc(cudaDeviceCount, sizeof(ccuda.CUdevice))
 *         if cpCudaDevices is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(ccuda.CUdevice)))             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUGLDeviceList cdeviceList = deviceList.value
 *     err = ccuda.cuGLGetDevices(&pCudaDeviceCount, cpCudaDevices, cudaDeviceCount, cdeviceList)
 */
      __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_cudaDeviceCount); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 41876, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41876, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 41876, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_1, __pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41876, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUdevice))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 41876, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = __Pyx_PyObject_Str(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41876, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 41876, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41876, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(1, 41876, __pyx_L1_error)

      /* "cuda/cuda.pyx":41875
 *     if cudaDeviceCount != 0:
 *         cpCudaDevices = <ccuda.CUdevice*>calloc(cudaDeviceCount, sizeof(ccuda.CUdevice))
 *         if cpCudaDevices is NULL:             # <<<<<<<<<<<<<<
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(ccuda.CUdevice)))
 *     cdef ccuda.CUGLDeviceList cdeviceList = deviceList.value
 */
    }

    /* "cuda/cuda.pyx":41873
 *     cdef ccuda.CUdevice* cpCudaDevices = NULL
 *     pypCudaDevices = []
 *     if cudaDeviceCount != 0:             # <<<<<<<<<<<<<<
 *         cpCudaDevices = <ccuda.CUdevice*>calloc(cudaDeviceCount, sizeof(ccuda.CUdevice))
 *         if cpCudaDevices is NULL:
 */
  }

  /* "cuda/cuda.pyx":41877
 *         if cpCudaDevices is NULL:
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(ccuda.CUdevice)))
 *     cdef ccuda.CUGLDeviceList cdeviceList = deviceList.value             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGLGetDevices(&pCudaDeviceCount, cpCudaDevices, cudaDeviceCount, cdeviceList)
 *     if CUresult(err) == CUresult(0):
 */
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_deviceList, __pyx_n_s_value_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = ((enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)__Pyx_PyInt_As_enum____pyx_t_4cuda_5ccuda_CUGLDeviceList_enum(__pyx_t_4)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41877, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_cdeviceList = __pyx_t_5;

  /* "cuda/cuda.pyx":41878
 *             raise MemoryError('Failed to allocate length x size memory: ' + str(cudaDeviceCount) + 'x' + str(sizeof(ccuda.CUdevice)))
 *     cdef ccuda.CUGLDeviceList cdeviceList = deviceList.value
 *     err = ccuda.cuGLGetDevices(&pCudaDeviceCount, cpCudaDevices, cudaDeviceCount, cdeviceList)             # <<<<<<<<<<<<<<
 *     if CUresult(err) == CUresult(0):
 *         pypCudaDevices = [CUdevice(init_value=<void_ptr>cpCudaDevices[idx]) for idx in range(cudaDeviceCount)]
 */
  __pyx_t_6 = __pyx_f_4cuda_5ccuda_cuGLGetDevices((&__pyx_v_pCudaDeviceCount), __pyx_v_cpCudaDevices, __pyx_v_cudaDeviceCount, __pyx_v_cdeviceList); if (unlikely(__pyx_t_6 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41878, __pyx_L1_error)
  __pyx_v_err = __pyx_t_6;

  /* "cuda/cuda.pyx":41879
 *     cdef ccuda.CUGLDeviceList cdeviceList = deviceList.value
 *     err = ccuda.cuGLGetDevices(&pCudaDeviceCount, cpCudaDevices, cudaDeviceCount, cdeviceList)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pypCudaDevices = [CUdevice(init_value=<void_ptr>cpCudaDevices[idx]) for idx in range(cudaDeviceCount)]
 *     if cpCudaDevices is not NULL:
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 41879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_3};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41879, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_int_0};
    __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 41879, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41879, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __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(1, 41879, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":41880
 *     err = ccuda.cuGLGetDevices(&pCudaDeviceCount, cpCudaDevices, cudaDeviceCount, cdeviceList)
 *     if CUresult(err) == CUresult(0):
 *         pypCudaDevices = [CUdevice(init_value=<void_ptr>cpCudaDevices[idx]) for idx in range(cudaDeviceCount)]             # <<<<<<<<<<<<<<
 *     if cpCudaDevices is not NULL:
 *         free(cpCudaDevices)
 */
    { /* enter inner scope */
      __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41880, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_9 = __pyx_v_cudaDeviceCount;
      __pyx_t_10 = __pyx_t_9;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
        __pyx_10genexpr203__pyx_v_idx = __pyx_t_11;
        __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 41880, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_4 = __Pyx_PyInt_From_unsigned_PY_LONG_LONG(((__pyx_t_4cuda_4cuda_void_ptr)(__pyx_v_cpCudaDevices[__pyx_10genexpr203__pyx_v_idx]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41880, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_init_value, __pyx_t_4) < 0) __PYX_ERR(1, 41880, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41880, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_4))) __PYX_ERR(1, 41880, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    } /* exit inner scope */
    __Pyx_DECREF_SET(__pyx_v_pypCudaDevices, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":41879
 *     cdef ccuda.CUGLDeviceList cdeviceList = deviceList.value
 *     err = ccuda.cuGLGetDevices(&pCudaDeviceCount, cpCudaDevices, cudaDeviceCount, cdeviceList)
 *     if CUresult(err) == CUresult(0):             # <<<<<<<<<<<<<<
 *         pypCudaDevices = [CUdevice(init_value=<void_ptr>cpCudaDevices[idx]) for idx in range(cudaDeviceCount)]
 *     if cpCudaDevices is not NULL:
 */
  }

  /* "cuda/cuda.pyx":41881
 *     if CUresult(err) == CUresult(0):
 *         pypCudaDevices = [CUdevice(init_value=<void_ptr>cpCudaDevices[idx]) for idx in range(cudaDeviceCount)]
 *     if cpCudaDevices is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpCudaDevices)
 *     return (CUresult(err), pCudaDeviceCount, pypCudaDevices)
 */
  __pyx_t_2 = (__pyx_v_cpCudaDevices != NULL);
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":41882
 *         pypCudaDevices = [CUdevice(init_value=<void_ptr>cpCudaDevices[idx]) for idx in range(cudaDeviceCount)]
 *     if cpCudaDevices is not NULL:
 *         free(cpCudaDevices)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pCudaDeviceCount, pypCudaDevices)
 * 
 */
    free(__pyx_v_cpCudaDevices);

    /* "cuda/cuda.pyx":41881
 *     if CUresult(err) == CUresult(0):
 *         pypCudaDevices = [CUdevice(init_value=<void_ptr>cpCudaDevices[idx]) for idx in range(cudaDeviceCount)]
 *     if cpCudaDevices is not NULL:             # <<<<<<<<<<<<<<
 *         free(cpCudaDevices)
 *     return (CUresult(err), pCudaDeviceCount, pypCudaDevices)
 */
  }

  /* "cuda/cuda.pyx":41883
 *     if cpCudaDevices is not NULL:
 *         free(cpCudaDevices)
 *     return (CUresult(err), pCudaDeviceCount, pypCudaDevices)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 41883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_1};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __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(1, 41883, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }
  __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_pCudaDeviceCount); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 41883, __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)) __PYX_ERR(1, 41883, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4)) __PYX_ERR(1, 41883, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_pypCudaDevices);
  __Pyx_GIVEREF(__pyx_v_pypCudaDevices);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_pypCudaDevices)) __PYX_ERR(1, 41883, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41822
 *     return (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_7);
  __Pyx_AddTraceback("cuda.cuda.cuGLGetDevices", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pypCudaDevices);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41885
 *     return (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_4cuda_893cuVDPAUGetDevice(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_892cuVDPAUGetDevice, "cuVDPAUGetDevice(vdpDevice, vdpGetProcAddress)\n Gets the CUDA device associated with a VDPAU device.\n\n    Returns in `*pDevice` the CUDA device associated with a `vdpDevice`, if\n    applicable.\n\n    Parameters\n    ----------\n    vdpDevice : :py:obj:`~.VdpDevice`\n        A VdpDevice handle\n    vdpGetProcAddress : :py:obj:`~.VdpGetProcAddress`\n        VDPAU's VdpGetProcAddress function pointer\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_VALUE`\n    pDevice : :py:obj:`~.CUdevice`\n        Device associated with vdpDevice\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_893cuVDPAUGetDevice = {"cuVDPAUGetDevice", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_893cuVDPAUGetDevice, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_892cuVDPAUGetDevice};
static PyObject *__pyx_pw_4cuda_4cuda_893cuVDPAUGetDevice(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_vdpDevice,&__pyx_n_s_vdpGetProcAddress,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_vdpDevice)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41885, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_vdpGetProcAddress)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41885, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuVDPAUGetDevice", 1, 2, 2, 1); __PYX_ERR(1, 41885, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuVDPAUGetDevice") < 0)) __PYX_ERR(1, 41885, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __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(1, 41885, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuVDPAUGetDevice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_892cuVDPAUGetDevice(__pyx_self, __pyx_v_vdpDevice, __pyx_v_vdpGetProcAddress);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_892cuVDPAUGetDevice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpDevice, PyObject *__pyx_v_vdpGetProcAddress) {
  __pyx_t_4cuda_5ccuda_VdpGetProcAddress *__pyx_v_cvdpGetProcAddress;
  PyObject *__pyx_v_pvdpGetProcAddress = NULL;
  __pyx_t_4cuda_5ccuda_VdpDevice __pyx_v_cvdpDevice;
  PyObject *__pyx_v_pvdpDevice = NULL;
  struct __pyx_obj_4cuda_4cuda_CUdevice *__pyx_v_pDevice = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __pyx_t_4cuda_4cuda_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_TraceFrameInit(__pyx_codeobj__954)
  __Pyx_RefNannySetupContext("cuVDPAUGetDevice", 1);
  __Pyx_TraceCall("cuVDPAUGetDevice", __pyx_f[1], 41885, 0, __PYX_ERR(1, 41885, __pyx_L1_error));

  /* "cuda/cuda.pyx":41911
 *     """
 *     cdef ccuda.VdpGetProcAddress *cvdpGetProcAddress
 *     if vdpGetProcAddress is None:             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
 */
  __pyx_t_1 = (__pyx_v_vdpGetProcAddress == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41912
 *     cdef ccuda.VdpGetProcAddress *cvdpGetProcAddress
 *     if vdpGetProcAddress is None:
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 */
    __pyx_v_cvdpGetProcAddress = ((__pyx_t_4cuda_5ccuda_VdpGetProcAddress *)((__pyx_t_4cuda_4cuda_void_ptr)NULL));

    /* "cuda/cuda.pyx":41911
 *     """
 *     cdef ccuda.VdpGetProcAddress *cvdpGetProcAddress
 *     if vdpGetProcAddress is None:             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41913
 *     if vdpGetProcAddress is None:
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):             # <<<<<<<<<<<<<<
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_vdpGetProcAddress, __pyx_ptype_4cuda_4cuda_VdpGetProcAddress); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41914
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_vdpGetProcAddress, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41914, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41914, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_v_pvdpGetProcAddress = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41915
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpGetProcAddress, (int)):
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpGetProcAddress); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41915, __pyx_L1_error)
    __pyx_v_cvdpGetProcAddress = ((__pyx_t_4cuda_5ccuda_VdpGetProcAddress *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41913
 *     if vdpGetProcAddress is None:
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):             # <<<<<<<<<<<<<<
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41916
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_vdpGetProcAddress); 
  if (likely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":41917
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>vdpGetProcAddress             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, cuda.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_vdpGetProcAddress); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41917, __pyx_L1_error)
    __pyx_v_cvdpGetProcAddress = ((__pyx_t_4cuda_5ccuda_VdpGetProcAddress *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41916
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41919
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, cuda.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))             # <<<<<<<<<<<<<<
 *     cdef ccuda.VdpDevice cvdpDevice
 *     if vdpDevice is None:
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_Str(((PyObject *)Py_TYPE(__pyx_v_vdpGetProcAddress))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Argument_vdpGetProcAddress_is_no, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41919, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 41919, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":41921
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, cuda.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))
 *     cdef ccuda.VdpDevice cvdpDevice
 *     if vdpDevice is None:             # <<<<<<<<<<<<<<
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice,)):
 */
  __pyx_t_1 = (__pyx_v_vdpDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41922
 *     cdef ccuda.VdpDevice cvdpDevice
 *     if vdpDevice is None:
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpDevice, (VdpDevice,)):
 *         pvdpDevice = int(vdpDevice)
 */
    __pyx_v_cvdpDevice = ((__pyx_t_4cuda_5ccuda_VdpDevice)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":41921
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, cuda.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))
 *     cdef ccuda.VdpDevice cvdpDevice
 *     if vdpDevice is None:             # <<<<<<<<<<<<<<
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41923
 *     if vdpDevice is None:
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice,)):             # <<<<<<<<<<<<<<
 *         pvdpDevice = int(vdpDevice)
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_vdpDevice, __pyx_ptype_4cuda_4cuda_VdpDevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41924
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice,)):
 *         pvdpDevice = int(vdpDevice)             # <<<<<<<<<<<<<<
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_vdpDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41924, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvdpDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41925
 *     elif isinstance(vdpDevice, (VdpDevice,)):
 *         pvdpDevice = int(vdpDevice)
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41925, __pyx_L1_error)
    __pyx_v_cvdpDevice = ((__pyx_t_4cuda_5ccuda_VdpDevice)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41923
 *     if vdpDevice is None:
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice,)):             # <<<<<<<<<<<<<<
 *         pvdpDevice = int(vdpDevice)
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41927
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))             # <<<<<<<<<<<<<<
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice
 *     cdef CUdevice pDevice = CUdevice()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_VdpDevice), __pyx_v_vdpDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41927, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41927, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvdpDevice = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":41928
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice             # <<<<<<<<<<<<<<
 *     cdef CUdevice pDevice = CUdevice()
 *     err = ccuda.cuVDPAUGetDevice(<ccuda.CUdevice*>pDevice._ptr, cvdpDevice, cvdpGetProcAddress)
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41928, __pyx_L1_error)
    __pyx_v_cvdpDevice = ((__pyx_t_4cuda_5ccuda_VdpDevice)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":41929
 *         pvdpDevice = int(VdpDevice(vdpDevice))
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice
 *     cdef CUdevice pDevice = CUdevice()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuVDPAUGetDevice(<ccuda.CUdevice*>pDevice._ptr, cvdpDevice, cvdpGetProcAddress)
 *     return (CUresult(err), pDevice)
 */
  __pyx_t_3 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pDevice = ((struct __pyx_obj_4cuda_4cuda_CUdevice *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":41930
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice
 *     cdef CUdevice pDevice = CUdevice()
 *     err = ccuda.cuVDPAUGetDevice(<ccuda.CUdevice*>pDevice._ptr, cvdpDevice, cvdpGetProcAddress)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pDevice)
 * 
 */
  __pyx_t_7 = __pyx_f_4cuda_5ccuda_cuVDPAUGetDevice(((CUdevice *)__pyx_v_pDevice->_ptr), __pyx_v_cvdpDevice, __pyx_v_cvdpGetProcAddress); if (unlikely(__pyx_t_7 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41930, __pyx_L1_error)
  __pyx_v_err = __pyx_t_7;

  /* "cuda/cuda.pyx":41931
 *     cdef CUdevice pDevice = CUdevice()
 *     err = ccuda.cuVDPAUGetDevice(<ccuda.CUdevice*>pDevice._ptr, cvdpDevice, cvdpGetProcAddress)
 *     return (CUresult(err), pDevice)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_8)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_4};
    __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41931, __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(1, 41931, __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)) __PYX_ERR(1, 41931, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pDevice);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pDevice);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pDevice))) __PYX_ERR(1, 41931, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41885
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41933
 *     return (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_4cuda_895cuVDPAUCtxCreate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_894cuVDPAUCtxCreate, "cuVDPAUCtxCreate(unsigned int flags, device, vdpDevice, vdpGetProcAddress)\n Create a CUDA context for interoperability with VDPAU.\n\n    Creates a new CUDA context, initializes VDPAU interoperability, and\n    associates the CUDA context with the calling thread. It must be called\n    before performing any other VDPAU interoperability operations. It may\n    fail if the needed VDPAU driver facilities are not available. For usage\n    of the `flags` parameter, see :py:obj:`~.cuCtxCreate()`.\n\n    Parameters\n    ----------\n    flags : unsigned int\n        Options for CUDA context creation\n    device : :py:obj:`~.CUdevice`\n        Device on which to create the context\n    vdpDevice : :py:obj:`~.VdpDevice`\n        The VdpDevice to interop with\n    vdpGetProcAddress : :py:obj:`~.VdpGetProcAddress`\n        VDPAU's VdpGetProcAddress function pointer\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_VALUE`, :py:obj:`~.CUDA_ERROR_OUT_OF_MEMORY`\n    pCtx : :py:obj:`~.CUcontext`\n        Returned CUDA context\n\n    See 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`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_895cuVDPAUCtxCreate = {"cuVDPAUCtxCreate", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_895cuVDPAUCtxCreate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_894cuVDPAUCtxCreate};
static PyObject *__pyx_pw_4cuda_4cuda_895cuVDPAUCtxCreate(PyObject *__pyx_self, 
#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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_flags_2,&__pyx_n_s_device,&__pyx_n_s_vdpDevice,&__pyx_n_s_vdpGetProcAddress,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41933, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_device)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41933, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuVDPAUCtxCreate", 1, 4, 4, 1); __PYX_ERR(1, 41933, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_vdpDevice)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41933, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuVDPAUCtxCreate", 1, 4, 4, 2); __PYX_ERR(1, 41933, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_vdpGetProcAddress)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[3]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41933, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuVDPAUCtxCreate", 1, 4, 4, 3); __PYX_ERR(1, 41933, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuVDPAUCtxCreate") < 0)) __PYX_ERR(1, 41933, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
      values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
      values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3);
    }
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 41934, __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(1, 41933, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuVDPAUCtxCreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_894cuVDPAUCtxCreate(__pyx_self, __pyx_v_flags, __pyx_v_device, __pyx_v_vdpDevice, __pyx_v_vdpGetProcAddress);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_894cuVDPAUCtxCreate(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_5ccuda_VdpGetProcAddress *__pyx_v_cvdpGetProcAddress;
  PyObject *__pyx_v_pvdpGetProcAddress = NULL;
  __pyx_t_4cuda_5ccuda_VdpDevice __pyx_v_cvdpDevice;
  PyObject *__pyx_v_pvdpDevice = NULL;
  CUdevice __pyx_v_cdevice;
  PyObject *__pyx_v_pdevice = NULL;
  struct __pyx_obj_4cuda_4cuda_CUcontext *__pyx_v_pCtx = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_6;
  CUdevice __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_TraceFrameInit(__pyx_codeobj__955)
  __Pyx_RefNannySetupContext("cuVDPAUCtxCreate", 1);
  __Pyx_TraceCall("cuVDPAUCtxCreate", __pyx_f[1], 41933, 0, __PYX_ERR(1, 41933, __pyx_L1_error));

  /* "cuda/cuda.pyx":41966
 *     """
 *     cdef ccuda.VdpGetProcAddress *cvdpGetProcAddress
 *     if vdpGetProcAddress is None:             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
 */
  __pyx_t_1 = (__pyx_v_vdpGetProcAddress == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41967
 *     cdef ccuda.VdpGetProcAddress *cvdpGetProcAddress
 *     if vdpGetProcAddress is None:
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>NULL             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 */
    __pyx_v_cvdpGetProcAddress = ((__pyx_t_4cuda_5ccuda_VdpGetProcAddress *)((__pyx_t_4cuda_4cuda_void_ptr)NULL));

    /* "cuda/cuda.pyx":41966
 *     """
 *     cdef ccuda.VdpGetProcAddress *cvdpGetProcAddress
 *     if vdpGetProcAddress is None:             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41968
 *     if vdpGetProcAddress is None:
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):             # <<<<<<<<<<<<<<
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_vdpGetProcAddress, __pyx_ptype_4cuda_4cuda_VdpGetProcAddress); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41969
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):
 */
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_vdpGetProcAddress, __pyx_n_s_getPtr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41969, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 0;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      if (likely(__pyx_t_4)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_3, function);
        __pyx_t_5 = 1;
      }
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41969, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_v_pvdpGetProcAddress = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41970
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpGetProcAddress, (int)):
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpGetProcAddress); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41970, __pyx_L1_error)
    __pyx_v_cvdpGetProcAddress = ((__pyx_t_4cuda_5ccuda_VdpGetProcAddress *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41968
 *     if vdpGetProcAddress is None:
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>NULL
 *     elif isinstance(vdpGetProcAddress, (VdpGetProcAddress,)):             # <<<<<<<<<<<<<<
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41971
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
 */
  __pyx_t_1 = PyInt_Check(__pyx_v_vdpGetProcAddress); 
  if (likely(__pyx_t_1)) {

    /* "cuda/cuda.pyx":41972
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>vdpGetProcAddress             # <<<<<<<<<<<<<<
 *     else:
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, cuda.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_vdpGetProcAddress); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41972, __pyx_L1_error)
    __pyx_v_cvdpGetProcAddress = ((__pyx_t_4cuda_5ccuda_VdpGetProcAddress *)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41971
 *         pvdpGetProcAddress = vdpGetProcAddress.getPtr()
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>pvdpGetProcAddress
 *     elif isinstance(vdpGetProcAddress, (int)):             # <<<<<<<<<<<<<<
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":41974
 *         cvdpGetProcAddress = <ccuda.VdpGetProcAddress*><void_ptr>vdpGetProcAddress
 *     else:
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, cuda.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))             # <<<<<<<<<<<<<<
 *     cdef ccuda.VdpDevice cvdpDevice
 *     if vdpDevice is None:
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_Str(((PyObject *)Py_TYPE(__pyx_v_vdpGetProcAddress))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Argument_vdpGetProcAddress_is_no, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41974, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(1, 41974, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":41976
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, cuda.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))
 *     cdef ccuda.VdpDevice cvdpDevice
 *     if vdpDevice is None:             # <<<<<<<<<<<<<<
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice,)):
 */
  __pyx_t_1 = (__pyx_v_vdpDevice == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41977
 *     cdef ccuda.VdpDevice cvdpDevice
 *     if vdpDevice is None:
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpDevice, (VdpDevice,)):
 *         pvdpDevice = int(vdpDevice)
 */
    __pyx_v_cvdpDevice = ((__pyx_t_4cuda_5ccuda_VdpDevice)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":41976
 *         raise TypeError("Argument 'vdpGetProcAddress' is not instance of type (expected <class 'int, cuda.VdpGetProcAddress'>, found " + str(type(vdpGetProcAddress)))
 *     cdef ccuda.VdpDevice cvdpDevice
 *     if vdpDevice is None:             # <<<<<<<<<<<<<<
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice,)):
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41978
 *     if vdpDevice is None:
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice,)):             # <<<<<<<<<<<<<<
 *         pvdpDevice = int(vdpDevice)
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_vdpDevice, __pyx_ptype_4cuda_4cuda_VdpDevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41979
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice,)):
 *         pvdpDevice = int(vdpDevice)             # <<<<<<<<<<<<<<
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_vdpDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41979, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvdpDevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41980
 *     elif isinstance(vdpDevice, (VdpDevice,)):
 *         pvdpDevice = int(vdpDevice)
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice             # <<<<<<<<<<<<<<
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41980, __pyx_L1_error)
    __pyx_v_cvdpDevice = ((__pyx_t_4cuda_5ccuda_VdpDevice)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));

    /* "cuda/cuda.pyx":41978
 *     if vdpDevice is None:
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>0
 *     elif isinstance(vdpDevice, (VdpDevice,)):             # <<<<<<<<<<<<<<
 *         pvdpDevice = int(vdpDevice)
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice
 */
    goto __pyx_L4;
  }

  /* "cuda/cuda.pyx":41982
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))             # <<<<<<<<<<<<<<
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice
 *     cdef ccuda.CUdevice cdevice
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_VdpDevice), __pyx_v_vdpDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41982, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvdpDevice = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":41983
 *     else:
 *         pvdpDevice = int(VdpDevice(vdpDevice))
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:
 */
    __pyx_t_6 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpDevice); if (unlikely((__pyx_t_6 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 41983, __pyx_L1_error)
    __pyx_v_cvdpDevice = ((__pyx_t_4cuda_5ccuda_VdpDevice)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_6));
  }
  __pyx_L4:;

  /* "cuda/cuda.pyx":41985
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
  __pyx_t_1 = (__pyx_v_device == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41986
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0             # <<<<<<<<<<<<<<
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 */
    __pyx_v_cdevice = ((CUdevice)0);

    /* "cuda/cuda.pyx":41985
 *         cvdpDevice = <ccuda.VdpDevice><void_ptr>pvdpDevice
 *     cdef ccuda.CUdevice cdevice
 *     if device is None:             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":41987
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_device, __pyx_ptype_4cuda_4cuda_CUdevice); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":41988
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 */
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_device); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41988, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_pdevice = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cuda/cuda.pyx":41989
 *     elif isinstance(device, (CUdevice,)):
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     else:
 *         pdevice = int(CUdevice(device))
 */
    __pyx_t_7 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_7 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 41989, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_7);

    /* "cuda/cuda.pyx":41987
 *     if device is None:
 *         cdevice = <ccuda.CUdevice>0
 *     elif isinstance(device, (CUdevice,)):             # <<<<<<<<<<<<<<
 *         pdevice = int(device)
 *         cdevice = <ccuda.CUdevice>pdevice
 */
    goto __pyx_L5;
  }

  /* "cuda/cuda.pyx":41991
 *         cdevice = <ccuda.CUdevice>pdevice
 *     else:
 *         pdevice = int(CUdevice(device))             # <<<<<<<<<<<<<<
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef CUcontext pCtx = CUcontext()
 */
  /*else*/ {
    __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), __pyx_v_device); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_pdevice = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":41992
 *     else:
 *         pdevice = int(CUdevice(device))
 *         cdevice = <ccuda.CUdevice>pdevice             # <<<<<<<<<<<<<<
 *     cdef CUcontext pCtx = CUcontext()
 *     err = ccuda.cuVDPAUCtxCreate(<ccuda.CUcontext*>pCtx._ptr, flags, cdevice, cvdpDevice, cvdpGetProcAddress)
 */
    __pyx_t_7 = __Pyx_PyInt_As_CUdevice_v1(__pyx_v_pdevice); if (unlikely((__pyx_t_7 == ((CUdevice)-1)) && PyErr_Occurred())) __PYX_ERR(1, 41992, __pyx_L1_error)
    __pyx_v_cdevice = ((CUdevice)__pyx_t_7);
  }
  __pyx_L5:;

  /* "cuda/cuda.pyx":41993
 *         pdevice = int(CUdevice(device))
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef CUcontext pCtx = CUcontext()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuVDPAUCtxCreate(<ccuda.CUcontext*>pCtx._ptr, flags, cdevice, cvdpDevice, cvdpGetProcAddress)
 *     return (CUresult(err), pCtx)
 */
  __pyx_t_2 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_pCtx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41994
 *         cdevice = <ccuda.CUdevice>pdevice
 *     cdef CUcontext pCtx = CUcontext()
 *     err = ccuda.cuVDPAUCtxCreate(<ccuda.CUcontext*>pCtx._ptr, flags, cdevice, cvdpDevice, cvdpGetProcAddress)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pCtx)
 * 
 */
  __pyx_t_8 = __pyx_f_4cuda_5ccuda_cuVDPAUCtxCreate(((CUcontext *)__pyx_v_pCtx->_ptr), __pyx_v_flags, __pyx_v_cdevice, __pyx_v_cvdpDevice, __pyx_v_cvdpGetProcAddress); if (unlikely(__pyx_t_8 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 41994, __pyx_L1_error)
  __pyx_v_err = __pyx_t_8;

  /* "cuda/cuda.pyx":41995
 *     cdef CUcontext pCtx = CUcontext()
 *     err = ccuda.cuVDPAUCtxCreate(<ccuda.CUcontext*>pCtx._ptr, flags, cdevice, cvdpDevice, cvdpGetProcAddress)
 *     return (CUresult(err), pCtx)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 41995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = NULL;
  __pyx_t_5 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_9)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_9);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
      __pyx_t_5 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41995, __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(1, 41995, __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)) __PYX_ERR(1, 41995, __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))) __PYX_ERR(1, 41995, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41933
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":41997
 *     return (CUresult(err), pCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsVDPAURegisterVideoSurface(vdpSurface, unsigned int flags):
 *     """ Registers a VDPAU VdpVideoSurface object.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_897cuGraphicsVDPAURegisterVideoSurface(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_896cuGraphicsVDPAURegisterVideoSurface, "cuGraphicsVDPAURegisterVideoSurface(vdpSurface, unsigned int flags)\n Registers a VDPAU VdpVideoSurface object.\n\n    Registers the VdpVideoSurface specified by `vdpSurface` for access by\n    CUDA. A handle to the registered object is returned as `pCudaResource`.\n    The 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\n    The VdpVideoSurface is presented as an array of subresources that may\n    be accessed using pointers returned by\n    :py:obj:`~.cuGraphicsSubResourceGetMappedArray`. The exact number of\n    valid `arrayIndex` values depends on the VDPAU surface format. The\n    mapping is shown in the table below. `mipLevel` must be 0.\n\n    Parameters\n    ----------\n    vdpSurface : :py:obj:`~.VdpVideoSurface`\n        The VdpVideoSurface to be registered\n    flags : unsigned int\n        Map flags\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_ALREADY_MAPPED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\n    pCudaResource : :py:obj:`~.CUgraphicsResource`\n        Pointer to the returned object handle\n\n    See 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:obj:`~.cuVDPAUGetDevice`, :py:obj:`~.cudaGraphicsVDPAURegisterVideoSurface`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_897cuGraphicsVDPAURegisterVideoSurface = {"cuGraphicsVDPAURegisterVideoSurface", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_897cuGraphicsVDPAURegisterVideoSurface, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_896cuGraphicsVDPAURegisterVideoSurface};
static PyObject *__pyx_pw_4cuda_4cuda_897cuGraphicsVDPAURegisterVideoSurface(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_vdpSurface,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_vdpSurface)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41997, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 41997, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphicsVDPAURegisterVideoSurface", 1, 2, 2, 1); __PYX_ERR(1, 41997, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphicsVDPAURegisterVideoSurface") < 0)) __PYX_ERR(1, 41997, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_vdpSurface = values[0];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 41998, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsVDPAURegisterVideoSurface", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 41997, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphicsVDPAURegisterVideoSurface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_896cuGraphicsVDPAURegisterVideoSurface(__pyx_self, __pyx_v_vdpSurface, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_896cuGraphicsVDPAURegisterVideoSurface(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpSurface, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_5ccuda_VdpVideoSurface __pyx_v_cvdpSurface;
  PyObject *__pyx_v_pvdpSurface = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_pCudaResource = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__956)
  __Pyx_RefNannySetupContext("cuGraphicsVDPAURegisterVideoSurface", 1);
  __Pyx_TraceCall("cuGraphicsVDPAURegisterVideoSurface", __pyx_f[1], 41997, 0, __PYX_ERR(1, 41997, __pyx_L1_error));

  /* "cuda/cuda.pyx":42043
 *     """
 *     cdef ccuda.VdpVideoSurface cvdpSurface
 *     if vdpSurface is None:             # <<<<<<<<<<<<<<
 *         cvdpSurface = <ccuda.VdpVideoSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpVideoSurface,)):
 */
  __pyx_t_1 = (__pyx_v_vdpSurface == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":42044
 *     cdef ccuda.VdpVideoSurface cvdpSurface
 *     if vdpSurface is None:
 *         cvdpSurface = <ccuda.VdpVideoSurface><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpSurface, (VdpVideoSurface,)):
 *         pvdpSurface = int(vdpSurface)
 */
    __pyx_v_cvdpSurface = ((__pyx_t_4cuda_5ccuda_VdpVideoSurface)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":42043
 *     """
 *     cdef ccuda.VdpVideoSurface cvdpSurface
 *     if vdpSurface is None:             # <<<<<<<<<<<<<<
 *         cvdpSurface = <ccuda.VdpVideoSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpVideoSurface,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":42045
 *     if vdpSurface is None:
 *         cvdpSurface = <ccuda.VdpVideoSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpVideoSurface,)):             # <<<<<<<<<<<<<<
 *         pvdpSurface = int(vdpSurface)
 *         cvdpSurface = <ccuda.VdpVideoSurface><void_ptr>pvdpSurface
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_vdpSurface, __pyx_ptype_4cuda_4cuda_VdpVideoSurface); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":42046
 *         cvdpSurface = <ccuda.VdpVideoSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpVideoSurface,)):
 *         pvdpSurface = int(vdpSurface)             # <<<<<<<<<<<<<<
 *         cvdpSurface = <ccuda.VdpVideoSurface><void_ptr>pvdpSurface
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_vdpSurface); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 42046, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvdpSurface = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":42047
 *     elif isinstance(vdpSurface, (VdpVideoSurface,)):
 *         pvdpSurface = int(vdpSurface)
 *         cvdpSurface = <ccuda.VdpVideoSurface><void_ptr>pvdpSurface             # <<<<<<<<<<<<<<
 *     else:
 *         pvdpSurface = int(VdpVideoSurface(vdpSurface))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpSurface); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 42047, __pyx_L1_error)
    __pyx_v_cvdpSurface = ((__pyx_t_4cuda_5ccuda_VdpVideoSurface)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":42045
 *     if vdpSurface is None:
 *         cvdpSurface = <ccuda.VdpVideoSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpVideoSurface,)):             # <<<<<<<<<<<<<<
 *         pvdpSurface = int(vdpSurface)
 *         cvdpSurface = <ccuda.VdpVideoSurface><void_ptr>pvdpSurface
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":42049
 *         cvdpSurface = <ccuda.VdpVideoSurface><void_ptr>pvdpSurface
 *     else:
 *         pvdpSurface = int(VdpVideoSurface(vdpSurface))             # <<<<<<<<<<<<<<
 *         cvdpSurface = <ccuda.VdpVideoSurface><void_ptr>pvdpSurface
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_VdpVideoSurface), __pyx_v_vdpSurface); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 42049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 42049, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvdpSurface = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":42050
 *     else:
 *         pvdpSurface = int(VdpVideoSurface(vdpSurface))
 *         cvdpSurface = <ccuda.VdpVideoSurface><void_ptr>pvdpSurface             # <<<<<<<<<<<<<<
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     err = ccuda.cuGraphicsVDPAURegisterVideoSurface(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cvdpSurface, flags)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpSurface); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 42050, __pyx_L1_error)
    __pyx_v_cvdpSurface = ((__pyx_t_4cuda_5ccuda_VdpVideoSurface)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":42051
 *         pvdpSurface = int(VdpVideoSurface(vdpSurface))
 *         cvdpSurface = <ccuda.VdpVideoSurface><void_ptr>pvdpSurface
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphicsVDPAURegisterVideoSurface(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cvdpSurface, flags)
 *     return (CUresult(err), pCudaResource)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphicsResource)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 42051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pCudaResource = ((struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":42052
 *         cvdpSurface = <ccuda.VdpVideoSurface><void_ptr>pvdpSurface
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     err = ccuda.cuGraphicsVDPAURegisterVideoSurface(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cvdpSurface, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pCudaResource)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphicsVDPAURegisterVideoSurface(((CUgraphicsResource *)__pyx_v_pCudaResource->_ptr), __pyx_v_cvdpSurface, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 42052, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":42053
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     err = ccuda.cuGraphicsVDPAURegisterVideoSurface(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cvdpSurface, flags)
 *     return (CUresult(err), pCudaResource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 42053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 42053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 42053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 42053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 42053, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCudaResource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pCudaResource))) __PYX_ERR(1, 42053, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":41997
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":42055
 *     return (CUresult(err), pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsVDPAURegisterOutputSurface(vdpSurface, unsigned int flags):
 *     """ Registers a VDPAU VdpOutputSurface object.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_899cuGraphicsVDPAURegisterOutputSurface(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_898cuGraphicsVDPAURegisterOutputSurface, "cuGraphicsVDPAURegisterOutputSurface(vdpSurface, unsigned int flags)\n Registers a VDPAU VdpOutputSurface object.\n\n    Registers the VdpOutputSurface specified by `vdpSurface` for access by\n    CUDA. A handle to the registered object is returned as `pCudaResource`.\n    The 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\n    The VdpOutputSurface is presented as an array of subresources that may\n    be accessed using pointers returned by\n    :py:obj:`~.cuGraphicsSubResourceGetMappedArray`. The exact number of\n    valid `arrayIndex` values depends on the VDPAU surface format. The\n    mapping is shown in the table below. `mipLevel` must be 0.\n\n    Parameters\n    ----------\n    vdpSurface : :py:obj:`~.VdpOutputSurface`\n        The VdpOutputSurface to be registered\n    flags : unsigned int\n        Map flags\n\n    Returns\n    -------\n    CUresult\n        :py:obj:`~.CUDA_SUCCESS`, :py:obj:`~.CUDA_ERROR_INVALID_HANDLE`, :py:obj:`~.CUDA_ERROR_ALREADY_MAPPED`, :py:obj:`~.CUDA_ERROR_INVALID_CONTEXT`,\n    pCudaResource : :py:obj:`~.CUgraphicsResource`\n        Pointer to the returned object handle\n\n    See Also\n    --------\n    :py:obj:`~.cuCtxCreate`, :py:obj:`~.cuVDPAUCtxCreate`, :py:obj:`~.cuGraphicsVDPAURegisterVideoSurface`, :py:obj:`~.cuGraphicsUnregisterResource`, :py:obj:`~.cuGraphicsResourceSetMap""Flags`, :py:obj:`~.cuGraphicsMapResources`, :py:obj:`~.cuGraphicsUnmapResources`, :py:obj:`~.cuGraphicsSubResourceGetMappedArray`, :py:obj:`~.cuVDPAUGetDevice`, :py:obj:`~.cudaGraphicsVDPAURegisterOutputSurface`\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_899cuGraphicsVDPAURegisterOutputSurface = {"cuGraphicsVDPAURegisterOutputSurface", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_899cuGraphicsVDPAURegisterOutputSurface, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_898cuGraphicsVDPAURegisterOutputSurface};
static PyObject *__pyx_pw_4cuda_4cuda_899cuGraphicsVDPAURegisterOutputSurface(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_vdpSurface,&__pyx_n_s_flags_2,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_vdpSurface)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 42055, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_flags_2)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 42055, __pyx_L3_error)
        else {
          __Pyx_RaiseArgtupleInvalid("cuGraphicsVDPAURegisterOutputSurface", 1, 2, 2, 1); __PYX_ERR(1, 42055, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cuGraphicsVDPAURegisterOutputSurface") < 0)) __PYX_ERR(1, 42055, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
      values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
    }
    __pyx_v_vdpSurface = values[0];
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(1, 42056, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cuGraphicsVDPAURegisterOutputSurface", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 42055, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.cuGraphicsVDPAURegisterOutputSurface", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_898cuGraphicsVDPAURegisterOutputSurface(__pyx_self, __pyx_v_vdpSurface, __pyx_v_flags);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_898cuGraphicsVDPAURegisterOutputSurface(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_vdpSurface, unsigned int __pyx_v_flags) {
  __pyx_t_4cuda_5ccuda_VdpOutputSurface __pyx_v_cvdpSurface;
  PyObject *__pyx_v_pvdpSurface = NULL;
  struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *__pyx_v_pCudaResource = 0;
  CUresult __pyx_v_err;
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4cuda_4cuda_void_ptr __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  CUresult __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__957)
  __Pyx_RefNannySetupContext("cuGraphicsVDPAURegisterOutputSurface", 1);
  __Pyx_TraceCall("cuGraphicsVDPAURegisterOutputSurface", __pyx_f[1], 42055, 0, __PYX_ERR(1, 42055, __pyx_L1_error));

  /* "cuda/cuda.pyx":42101
 *     """
 *     cdef ccuda.VdpOutputSurface cvdpSurface
 *     if vdpSurface is None:             # <<<<<<<<<<<<<<
 *         cvdpSurface = <ccuda.VdpOutputSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpOutputSurface,)):
 */
  __pyx_t_1 = (__pyx_v_vdpSurface == Py_None);
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":42102
 *     cdef ccuda.VdpOutputSurface cvdpSurface
 *     if vdpSurface is None:
 *         cvdpSurface = <ccuda.VdpOutputSurface><void_ptr>0             # <<<<<<<<<<<<<<
 *     elif isinstance(vdpSurface, (VdpOutputSurface,)):
 *         pvdpSurface = int(vdpSurface)
 */
    __pyx_v_cvdpSurface = ((__pyx_t_4cuda_5ccuda_VdpOutputSurface)((__pyx_t_4cuda_4cuda_void_ptr)0));

    /* "cuda/cuda.pyx":42101
 *     """
 *     cdef ccuda.VdpOutputSurface cvdpSurface
 *     if vdpSurface is None:             # <<<<<<<<<<<<<<
 *         cvdpSurface = <ccuda.VdpOutputSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpOutputSurface,)):
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":42103
 *     if vdpSurface is None:
 *         cvdpSurface = <ccuda.VdpOutputSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpOutputSurface,)):             # <<<<<<<<<<<<<<
 *         pvdpSurface = int(vdpSurface)
 *         cvdpSurface = <ccuda.VdpOutputSurface><void_ptr>pvdpSurface
 */
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_vdpSurface, __pyx_ptype_4cuda_4cuda_VdpOutputSurface); 
  if (__pyx_t_1) {

    /* "cuda/cuda.pyx":42104
 *         cvdpSurface = <ccuda.VdpOutputSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpOutputSurface,)):
 *         pvdpSurface = int(vdpSurface)             # <<<<<<<<<<<<<<
 *         cvdpSurface = <ccuda.VdpOutputSurface><void_ptr>pvdpSurface
 *     else:
 */
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_vdpSurface); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 42104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_pvdpSurface = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "cuda/cuda.pyx":42105
 *     elif isinstance(vdpSurface, (VdpOutputSurface,)):
 *         pvdpSurface = int(vdpSurface)
 *         cvdpSurface = <ccuda.VdpOutputSurface><void_ptr>pvdpSurface             # <<<<<<<<<<<<<<
 *     else:
 *         pvdpSurface = int(VdpOutputSurface(vdpSurface))
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpSurface); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 42105, __pyx_L1_error)
    __pyx_v_cvdpSurface = ((__pyx_t_4cuda_5ccuda_VdpOutputSurface)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));

    /* "cuda/cuda.pyx":42103
 *     if vdpSurface is None:
 *         cvdpSurface = <ccuda.VdpOutputSurface><void_ptr>0
 *     elif isinstance(vdpSurface, (VdpOutputSurface,)):             # <<<<<<<<<<<<<<
 *         pvdpSurface = int(vdpSurface)
 *         cvdpSurface = <ccuda.VdpOutputSurface><void_ptr>pvdpSurface
 */
    goto __pyx_L3;
  }

  /* "cuda/cuda.pyx":42107
 *         cvdpSurface = <ccuda.VdpOutputSurface><void_ptr>pvdpSurface
 *     else:
 *         pvdpSurface = int(VdpOutputSurface(vdpSurface))             # <<<<<<<<<<<<<<
 *         cvdpSurface = <ccuda.VdpOutputSurface><void_ptr>pvdpSurface
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 */
  /*else*/ {
    __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4cuda_4cuda_VdpOutputSurface), __pyx_v_vdpSurface); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 42107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 42107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_pvdpSurface = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "cuda/cuda.pyx":42108
 *     else:
 *         pvdpSurface = int(VdpOutputSurface(vdpSurface))
 *         cvdpSurface = <ccuda.VdpOutputSurface><void_ptr>pvdpSurface             # <<<<<<<<<<<<<<
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     err = ccuda.cuGraphicsVDPAURegisterOutputSurface(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cvdpSurface, flags)
 */
    __pyx_t_3 = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(__pyx_v_pvdpSurface); if (unlikely((__pyx_t_3 == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(1, 42108, __pyx_L1_error)
    __pyx_v_cvdpSurface = ((__pyx_t_4cuda_5ccuda_VdpOutputSurface)((__pyx_t_4cuda_4cuda_void_ptr)__pyx_t_3));
  }
  __pyx_L3:;

  /* "cuda/cuda.pyx":42109
 *         pvdpSurface = int(VdpOutputSurface(vdpSurface))
 *         cvdpSurface = <ccuda.VdpOutputSurface><void_ptr>pvdpSurface
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()             # <<<<<<<<<<<<<<
 *     err = ccuda.cuGraphicsVDPAURegisterOutputSurface(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cvdpSurface, flags)
 *     return (CUresult(err), pCudaResource)
 */
  __pyx_t_4 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphicsResource)); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 42109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_pCudaResource = ((struct __pyx_obj_4cuda_4cuda_CUgraphicsResource *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":42110
 *         cvdpSurface = <ccuda.VdpOutputSurface><void_ptr>pvdpSurface
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     err = ccuda.cuGraphicsVDPAURegisterOutputSurface(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cvdpSurface, flags)             # <<<<<<<<<<<<<<
 *     return (CUresult(err), pCudaResource)
 * 
 */
  __pyx_t_5 = __pyx_f_4cuda_5ccuda_cuGraphicsVDPAURegisterOutputSurface(((CUgraphicsResource *)__pyx_v_pCudaResource->_ptr), __pyx_v_cvdpSurface, __pyx_v_flags); if (unlikely(__pyx_t_5 == ((CUresult)CUDA_ERROR_NOT_FOUND) && PyErr_Occurred())) __PYX_ERR(1, 42110, __pyx_L1_error)
  __pyx_v_err = __pyx_t_5;

  /* "cuda/cuda.pyx":42111
 *     cdef CUgraphicsResource pCudaResource = CUgraphicsResource()
 *     err = ccuda.cuGraphicsVDPAURegisterOutputSurface(<ccuda.CUgraphicsResource*>pCudaResource._ptr, cvdpSurface, flags)
 *     return (CUresult(err), pCudaResource)             # <<<<<<<<<<<<<<
 * 
 * @cython.embedsignature(True)
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CUresult); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 42111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyInt_From_enum__cudaError_enum(__pyx_v_err); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 42111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = NULL;
  __pyx_t_8 = 0;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_7)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_8 = 1;
    }
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 42111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 42111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4)) __PYX_ERR(1, 42111, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_pCudaResource);
  __Pyx_GIVEREF((PyObject *)__pyx_v_pCudaResource);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_pCudaResource))) __PYX_ERR(1, 42111, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "cuda/cuda.pyx":42055
 *     return (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_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("cuda.cuda.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_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cuda/cuda.pyx":42113
 *     return (CUresult(err), pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def sizeof(objType):
 *     """ Returns the size of provided CUDA Python structure in bytes
 */

/* Python wrapper */
static PyObject *__pyx_pw_4cuda_4cuda_901sizeof(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_4cuda_4cuda_900sizeof, "sizeof(objType)\n Returns the size of provided CUDA Python structure in bytes\n\n    Parameters\n    ----------\n    objType : Any\n        CUDA Python object\n\n    Returns\n    -------\n    lowered_name : int\n        The size of `objType` in bytes\n    ");
static PyMethodDef __pyx_mdef_4cuda_4cuda_901sizeof = {"sizeof", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_901sizeof, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_900sizeof};
static PyObject *__pyx_pw_4cuda_4cuda_901sizeof(PyObject *__pyx_self, 
#if CYTHON_METH_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_MACROS
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject **__pyx_pyargnames[] = {&__pyx_n_s_objType,0};
    if (__pyx_kwds) {
      Py_ssize_t kw_args;
      switch (__pyx_nargs) {
        case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
      switch (__pyx_nargs) {
        case  0:
        if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_objType)) != 0)) {
          (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
          kw_args--;
        }
        else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 42113, __pyx_L3_error)
        else goto __pyx_L5_argtuple_error;
      }
      if (unlikely(kw_args > 0)) {
        const Py_ssize_t kwd_pos_args = __pyx_nargs;
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "sizeof") < 0)) __PYX_ERR(1, 42113, __pyx_L3_error)
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
    }
    __pyx_v_objType = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("sizeof", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 42113, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_AddTraceback("cuda.cuda.sizeof", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4cuda_4cuda_900sizeof(__pyx_self, __pyx_v_objType);

  /* function exit code */
  {
    Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
      __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
    }
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4cuda_4cuda_900sizeof(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_objType) {
  PyObject *__pyx_r = NULL;
  __Pyx_TraceDeclarations
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_TraceFrameInit(__pyx_codeobj__958)
  __Pyx_RefNannySetupContext("sizeof", 1);
  __Pyx_TraceCall("sizeof", __pyx_f[1], 42113, 0, __PYX_ERR(1, 42113, __pyx_L1_error));

  /* "cuda/cuda.pyx":42127
 *         The size of `objType` in bytes
 *     """
 *     if objType == cuuint32_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.cuuint32_t)
 *     if objType == cuuint64_t:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint32_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42127, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42128
 *     """
 *     if objType == cuuint32_t:
 *         return sizeof(ccuda.cuuint32_t)             # <<<<<<<<<<<<<<
 *     if objType == cuuint64_t:
 *         return sizeof(ccuda.cuuint64_t)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cuuint32_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42127
 *         The size of `objType` in bytes
 *     """
 *     if objType == cuuint32_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.cuuint32_t)
 *     if objType == cuuint64_t:
 */
  }

  /* "cuda/cuda.pyx":42129
 *     if objType == cuuint32_t:
 *         return sizeof(ccuda.cuuint32_t)
 *     if objType == cuuint64_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.cuuint64_t)
 *     if objType == CUdeviceptr_v2:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint64_t), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42129, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42129, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42130
 *         return sizeof(ccuda.cuuint32_t)
 *     if objType == cuuint64_t:
 *         return sizeof(ccuda.cuuint64_t)             # <<<<<<<<<<<<<<
 *     if objType == CUdeviceptr_v2:
 *         return sizeof(ccuda.CUdeviceptr_v2)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(cuuint64_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42130, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42129
 *     if objType == cuuint32_t:
 *         return sizeof(ccuda.cuuint32_t)
 *     if objType == cuuint64_t:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.cuuint64_t)
 *     if objType == CUdeviceptr_v2:
 */
  }

  /* "cuda/cuda.pyx":42131
 *     if objType == cuuint64_t:
 *         return sizeof(ccuda.cuuint64_t)
 *     if objType == CUdeviceptr_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdeviceptr_v2)
 *     if objType == CUdeviceptr:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42131, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42131, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42132
 *         return sizeof(ccuda.cuuint64_t)
 *     if objType == CUdeviceptr_v2:
 *         return sizeof(ccuda.CUdeviceptr_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUdeviceptr:
 *         return sizeof(ccuda.CUdeviceptr)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUdeviceptr_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42132, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42131
 *     if objType == cuuint64_t:
 *         return sizeof(ccuda.cuuint64_t)
 *     if objType == CUdeviceptr_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdeviceptr_v2)
 *     if objType == CUdeviceptr:
 */
  }

  /* "cuda/cuda.pyx":42133
 *     if objType == CUdeviceptr_v2:
 *         return sizeof(ccuda.CUdeviceptr_v2)
 *     if objType == CUdeviceptr:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdeviceptr)
 *     if objType == CUdevice_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42133, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42133, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42134
 *         return sizeof(ccuda.CUdeviceptr_v2)
 *     if objType == CUdeviceptr:
 *         return sizeof(ccuda.CUdeviceptr)             # <<<<<<<<<<<<<<
 *     if objType == CUdevice_v1:
 *         return sizeof(ccuda.CUdevice_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUdeviceptr))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42134, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42133
 *     if objType == CUdeviceptr_v2:
 *         return sizeof(ccuda.CUdeviceptr_v2)
 *     if objType == CUdeviceptr:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdeviceptr)
 *     if objType == CUdevice_v1:
 */
  }

  /* "cuda/cuda.pyx":42135
 *     if objType == CUdeviceptr:
 *         return sizeof(ccuda.CUdeviceptr)
 *     if objType == CUdevice_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevice_v1)
 *     if objType == CUdevice:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42135, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42135, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42136
 *         return sizeof(ccuda.CUdeviceptr)
 *     if objType == CUdevice_v1:
 *         return sizeof(ccuda.CUdevice_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUdevice:
 *         return sizeof(ccuda.CUdevice)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUdevice_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42135
 *     if objType == CUdeviceptr:
 *         return sizeof(ccuda.CUdeviceptr)
 *     if objType == CUdevice_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevice_v1)
 *     if objType == CUdevice:
 */
  }

  /* "cuda/cuda.pyx":42137
 *     if objType == CUdevice_v1:
 *         return sizeof(ccuda.CUdevice_v1)
 *     if objType == CUdevice:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevice)
 *     if objType == CUcontext:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42137, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42137, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42138
 *         return sizeof(ccuda.CUdevice_v1)
 *     if objType == CUdevice:
 *         return sizeof(ccuda.CUdevice)             # <<<<<<<<<<<<<<
 *     if objType == CUcontext:
 *         return sizeof(ccuda.CUcontext)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUdevice))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42137
 *     if objType == CUdevice_v1:
 *         return sizeof(ccuda.CUdevice_v1)
 *     if objType == CUdevice:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevice)
 *     if objType == CUcontext:
 */
  }

  /* "cuda/cuda.pyx":42139
 *     if objType == CUdevice:
 *         return sizeof(ccuda.CUdevice)
 *     if objType == CUcontext:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUcontext)
 *     if objType == CUmodule:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42139, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42139, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42140
 *         return sizeof(ccuda.CUdevice)
 *     if objType == CUcontext:
 *         return sizeof(ccuda.CUcontext)             # <<<<<<<<<<<<<<
 *     if objType == CUmodule:
 *         return sizeof(ccuda.CUmodule)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUcontext))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42139
 *     if objType == CUdevice:
 *         return sizeof(ccuda.CUdevice)
 *     if objType == CUcontext:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUcontext)
 *     if objType == CUmodule:
 */
  }

  /* "cuda/cuda.pyx":42141
 *     if objType == CUcontext:
 *         return sizeof(ccuda.CUcontext)
 *     if objType == CUmodule:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmodule)
 *     if objType == CUfunction:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmodule), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42141, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42142
 *         return sizeof(ccuda.CUcontext)
 *     if objType == CUmodule:
 *         return sizeof(ccuda.CUmodule)             # <<<<<<<<<<<<<<
 *     if objType == CUfunction:
 *         return sizeof(ccuda.CUfunction)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmodule))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42141
 *     if objType == CUcontext:
 *         return sizeof(ccuda.CUcontext)
 *     if objType == CUmodule:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmodule)
 *     if objType == CUfunction:
 */
  }

  /* "cuda/cuda.pyx":42143
 *     if objType == CUmodule:
 *         return sizeof(ccuda.CUmodule)
 *     if objType == CUfunction:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUfunction)
 *     if objType == CUlibrary:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42143, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42144
 *         return sizeof(ccuda.CUmodule)
 *     if objType == CUfunction:
 *         return sizeof(ccuda.CUfunction)             # <<<<<<<<<<<<<<
 *     if objType == CUlibrary:
 *         return sizeof(ccuda.CUlibrary)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUfunction))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42143
 *     if objType == CUmodule:
 *         return sizeof(ccuda.CUmodule)
 *     if objType == CUfunction:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUfunction)
 *     if objType == CUlibrary:
 */
  }

  /* "cuda/cuda.pyx":42145
 *     if objType == CUfunction:
 *         return sizeof(ccuda.CUfunction)
 *     if objType == CUlibrary:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlibrary)
 *     if objType == CUkernel:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUlibrary), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42145, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42145, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42146
 *         return sizeof(ccuda.CUfunction)
 *     if objType == CUlibrary:
 *         return sizeof(ccuda.CUlibrary)             # <<<<<<<<<<<<<<
 *     if objType == CUkernel:
 *         return sizeof(ccuda.CUkernel)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUlibrary))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42145
 *     if objType == CUfunction:
 *         return sizeof(ccuda.CUfunction)
 *     if objType == CUlibrary:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlibrary)
 *     if objType == CUkernel:
 */
  }

  /* "cuda/cuda.pyx":42147
 *     if objType == CUlibrary:
 *         return sizeof(ccuda.CUlibrary)
 *     if objType == CUkernel:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUkernel)
 *     if objType == CUarray:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUkernel), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42147, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42147, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42148
 *         return sizeof(ccuda.CUlibrary)
 *     if objType == CUkernel:
 *         return sizeof(ccuda.CUkernel)             # <<<<<<<<<<<<<<
 *     if objType == CUarray:
 *         return sizeof(ccuda.CUarray)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUkernel))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42147
 *     if objType == CUlibrary:
 *         return sizeof(ccuda.CUlibrary)
 *     if objType == CUkernel:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUkernel)
 *     if objType == CUarray:
 */
  }

  /* "cuda/cuda.pyx":42149
 *     if objType == CUkernel:
 *         return sizeof(ccuda.CUkernel)
 *     if objType == CUarray:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUarray)
 *     if objType == CUmipmappedArray:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42149, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42150
 *         return sizeof(ccuda.CUkernel)
 *     if objType == CUarray:
 *         return sizeof(ccuda.CUarray)             # <<<<<<<<<<<<<<
 *     if objType == CUmipmappedArray:
 *         return sizeof(ccuda.CUmipmappedArray)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUarray))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42149
 *     if objType == CUkernel:
 *         return sizeof(ccuda.CUkernel)
 *     if objType == CUarray:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUarray)
 *     if objType == CUmipmappedArray:
 */
  }

  /* "cuda/cuda.pyx":42151
 *     if objType == CUarray:
 *         return sizeof(ccuda.CUarray)
 *     if objType == CUmipmappedArray:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmipmappedArray)
 *     if objType == CUtexref:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmipmappedArray), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42151, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42151, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42152
 *         return sizeof(ccuda.CUarray)
 *     if objType == CUmipmappedArray:
 *         return sizeof(ccuda.CUmipmappedArray)             # <<<<<<<<<<<<<<
 *     if objType == CUtexref:
 *         return sizeof(ccuda.CUtexref)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmipmappedArray))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42152, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42151
 *     if objType == CUarray:
 *         return sizeof(ccuda.CUarray)
 *     if objType == CUmipmappedArray:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmipmappedArray)
 *     if objType == CUtexref:
 */
  }

  /* "cuda/cuda.pyx":42153
 *     if objType == CUmipmappedArray:
 *         return sizeof(ccuda.CUmipmappedArray)
 *     if objType == CUtexref:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUtexref)
 *     if objType == CUsurfref:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42153, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42153, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42154
 *         return sizeof(ccuda.CUmipmappedArray)
 *     if objType == CUtexref:
 *         return sizeof(ccuda.CUtexref)             # <<<<<<<<<<<<<<
 *     if objType == CUsurfref:
 *         return sizeof(ccuda.CUsurfref)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUtexref))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42153
 *     if objType == CUmipmappedArray:
 *         return sizeof(ccuda.CUmipmappedArray)
 *     if objType == CUtexref:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUtexref)
 *     if objType == CUsurfref:
 */
  }

  /* "cuda/cuda.pyx":42155
 *     if objType == CUtexref:
 *         return sizeof(ccuda.CUtexref)
 *     if objType == CUsurfref:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUsurfref)
 *     if objType == CUevent:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUsurfref), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42155, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42155, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42156
 *         return sizeof(ccuda.CUtexref)
 *     if objType == CUsurfref:
 *         return sizeof(ccuda.CUsurfref)             # <<<<<<<<<<<<<<
 *     if objType == CUevent:
 *         return sizeof(ccuda.CUevent)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUsurfref))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42155
 *     if objType == CUtexref:
 *         return sizeof(ccuda.CUtexref)
 *     if objType == CUsurfref:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUsurfref)
 *     if objType == CUevent:
 */
  }

  /* "cuda/cuda.pyx":42157
 *     if objType == CUsurfref:
 *         return sizeof(ccuda.CUsurfref)
 *     if objType == CUevent:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUevent)
 *     if objType == CUstream:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42157, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42157, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42158
 *         return sizeof(ccuda.CUsurfref)
 *     if objType == CUevent:
 *         return sizeof(ccuda.CUevent)             # <<<<<<<<<<<<<<
 *     if objType == CUstream:
 *         return sizeof(ccuda.CUstream)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUevent))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42157
 *     if objType == CUsurfref:
 *         return sizeof(ccuda.CUsurfref)
 *     if objType == CUevent:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUevent)
 *     if objType == CUstream:
 */
  }

  /* "cuda/cuda.pyx":42159
 *     if objType == CUevent:
 *         return sizeof(ccuda.CUevent)
 *     if objType == CUstream:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUstream)
 *     if objType == CUgraphicsResource:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42159, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42159, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42160
 *         return sizeof(ccuda.CUevent)
 *     if objType == CUstream:
 *         return sizeof(ccuda.CUstream)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphicsResource:
 *         return sizeof(ccuda.CUgraphicsResource)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUstream))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42159
 *     if objType == CUevent:
 *         return sizeof(ccuda.CUevent)
 *     if objType == CUstream:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUstream)
 *     if objType == CUgraphicsResource:
 */
  }

  /* "cuda/cuda.pyx":42161
 *     if objType == CUstream:
 *         return sizeof(ccuda.CUstream)
 *     if objType == CUgraphicsResource:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphicsResource)
 *     if objType == CUtexObject_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphicsResource), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42161, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42162
 *         return sizeof(ccuda.CUstream)
 *     if objType == CUgraphicsResource:
 *         return sizeof(ccuda.CUgraphicsResource)             # <<<<<<<<<<<<<<
 *     if objType == CUtexObject_v1:
 *         return sizeof(ccuda.CUtexObject_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphicsResource))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42161
 *     if objType == CUstream:
 *         return sizeof(ccuda.CUstream)
 *     if objType == CUgraphicsResource:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphicsResource)
 *     if objType == CUtexObject_v1:
 */
  }

  /* "cuda/cuda.pyx":42163
 *     if objType == CUgraphicsResource:
 *         return sizeof(ccuda.CUgraphicsResource)
 *     if objType == CUtexObject_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUtexObject_v1)
 *     if objType == CUtexObject:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexObject_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42163, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42163, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42164
 *         return sizeof(ccuda.CUgraphicsResource)
 *     if objType == CUtexObject_v1:
 *         return sizeof(ccuda.CUtexObject_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUtexObject:
 *         return sizeof(ccuda.CUtexObject)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUtexObject_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42163
 *     if objType == CUgraphicsResource:
 *         return sizeof(ccuda.CUgraphicsResource)
 *     if objType == CUtexObject_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUtexObject_v1)
 *     if objType == CUtexObject:
 */
  }

  /* "cuda/cuda.pyx":42165
 *     if objType == CUtexObject_v1:
 *         return sizeof(ccuda.CUtexObject_v1)
 *     if objType == CUtexObject:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUtexObject)
 *     if objType == CUsurfObject_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexObject), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42165, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42165, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42166
 *         return sizeof(ccuda.CUtexObject_v1)
 *     if objType == CUtexObject:
 *         return sizeof(ccuda.CUtexObject)             # <<<<<<<<<<<<<<
 *     if objType == CUsurfObject_v1:
 *         return sizeof(ccuda.CUsurfObject_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUtexObject))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42165
 *     if objType == CUtexObject_v1:
 *         return sizeof(ccuda.CUtexObject_v1)
 *     if objType == CUtexObject:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUtexObject)
 *     if objType == CUsurfObject_v1:
 */
  }

  /* "cuda/cuda.pyx":42167
 *     if objType == CUtexObject:
 *         return sizeof(ccuda.CUtexObject)
 *     if objType == CUsurfObject_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUsurfObject_v1)
 *     if objType == CUsurfObject:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUsurfObject_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42167, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42167, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42168
 *         return sizeof(ccuda.CUtexObject)
 *     if objType == CUsurfObject_v1:
 *         return sizeof(ccuda.CUsurfObject_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUsurfObject:
 *         return sizeof(ccuda.CUsurfObject)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUsurfObject_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42167
 *     if objType == CUtexObject:
 *         return sizeof(ccuda.CUtexObject)
 *     if objType == CUsurfObject_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUsurfObject_v1)
 *     if objType == CUsurfObject:
 */
  }

  /* "cuda/cuda.pyx":42169
 *     if objType == CUsurfObject_v1:
 *         return sizeof(ccuda.CUsurfObject_v1)
 *     if objType == CUsurfObject:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUsurfObject)
 *     if objType == CUexternalMemory:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUsurfObject), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42169, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42169, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42170
 *         return sizeof(ccuda.CUsurfObject_v1)
 *     if objType == CUsurfObject:
 *         return sizeof(ccuda.CUsurfObject)             # <<<<<<<<<<<<<<
 *     if objType == CUexternalMemory:
 *         return sizeof(ccuda.CUexternalMemory)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUsurfObject))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42170, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42169
 *     if objType == CUsurfObject_v1:
 *         return sizeof(ccuda.CUsurfObject_v1)
 *     if objType == CUsurfObject:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUsurfObject)
 *     if objType == CUexternalMemory:
 */
  }

  /* "cuda/cuda.pyx":42171
 *     if objType == CUsurfObject:
 *         return sizeof(ccuda.CUsurfObject)
 *     if objType == CUexternalMemory:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUexternalMemory)
 *     if objType == CUexternalSemaphore:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUexternalMemory), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42171, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42171, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42172
 *         return sizeof(ccuda.CUsurfObject)
 *     if objType == CUexternalMemory:
 *         return sizeof(ccuda.CUexternalMemory)             # <<<<<<<<<<<<<<
 *     if objType == CUexternalSemaphore:
 *         return sizeof(ccuda.CUexternalSemaphore)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUexternalMemory))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42171
 *     if objType == CUsurfObject:
 *         return sizeof(ccuda.CUsurfObject)
 *     if objType == CUexternalMemory:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUexternalMemory)
 *     if objType == CUexternalSemaphore:
 */
  }

  /* "cuda/cuda.pyx":42173
 *     if objType == CUexternalMemory:
 *         return sizeof(ccuda.CUexternalMemory)
 *     if objType == CUexternalSemaphore:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUexternalSemaphore)
 *     if objType == CUgraph:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUexternalSemaphore), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42173, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42173, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42174
 *         return sizeof(ccuda.CUexternalMemory)
 *     if objType == CUexternalSemaphore:
 *         return sizeof(ccuda.CUexternalSemaphore)             # <<<<<<<<<<<<<<
 *     if objType == CUgraph:
 *         return sizeof(ccuda.CUgraph)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUexternalSemaphore))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42173
 *     if objType == CUexternalMemory:
 *         return sizeof(ccuda.CUexternalMemory)
 *     if objType == CUexternalSemaphore:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUexternalSemaphore)
 *     if objType == CUgraph:
 */
  }

  /* "cuda/cuda.pyx":42175
 *     if objType == CUexternalSemaphore:
 *         return sizeof(ccuda.CUexternalSemaphore)
 *     if objType == CUgraph:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraph)
 *     if objType == CUgraphNode:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42175, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42175, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42176
 *         return sizeof(ccuda.CUexternalSemaphore)
 *     if objType == CUgraph:
 *         return sizeof(ccuda.CUgraph)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphNode:
 *         return sizeof(ccuda.CUgraphNode)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraph))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42176, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42175
 *     if objType == CUexternalSemaphore:
 *         return sizeof(ccuda.CUexternalSemaphore)
 *     if objType == CUgraph:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraph)
 *     if objType == CUgraphNode:
 */
  }

  /* "cuda/cuda.pyx":42177
 *     if objType == CUgraph:
 *         return sizeof(ccuda.CUgraph)
 *     if objType == CUgraphNode:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphNode)
 *     if objType == CUgraphExec:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42177, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42177, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42178
 *         return sizeof(ccuda.CUgraph)
 *     if objType == CUgraphNode:
 *         return sizeof(ccuda.CUgraphNode)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphExec:
 *         return sizeof(ccuda.CUgraphExec)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42177
 *     if objType == CUgraph:
 *         return sizeof(ccuda.CUgraph)
 *     if objType == CUgraphNode:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphNode)
 *     if objType == CUgraphExec:
 */
  }

  /* "cuda/cuda.pyx":42179
 *     if objType == CUgraphNode:
 *         return sizeof(ccuda.CUgraphNode)
 *     if objType == CUgraphExec:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphExec)
 *     if objType == CUmemoryPool:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42179, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42179, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42180
 *         return sizeof(ccuda.CUgraphNode)
 *     if objType == CUgraphExec:
 *         return sizeof(ccuda.CUgraphExec)             # <<<<<<<<<<<<<<
 *     if objType == CUmemoryPool:
 *         return sizeof(ccuda.CUmemoryPool)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphExec))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42179
 *     if objType == CUgraphNode:
 *         return sizeof(ccuda.CUgraphNode)
 *     if objType == CUgraphExec:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphExec)
 *     if objType == CUmemoryPool:
 */
  }

  /* "cuda/cuda.pyx":42181
 *     if objType == CUgraphExec:
 *         return sizeof(ccuda.CUgraphExec)
 *     if objType == CUmemoryPool:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemoryPool)
 *     if objType == CUuserObject:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemoryPool), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42181, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42181, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42182
 *         return sizeof(ccuda.CUgraphExec)
 *     if objType == CUmemoryPool:
 *         return sizeof(ccuda.CUmemoryPool)             # <<<<<<<<<<<<<<
 *     if objType == CUuserObject:
 *         return sizeof(ccuda.CUuserObject)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmemoryPool))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42181
 *     if objType == CUgraphExec:
 *         return sizeof(ccuda.CUgraphExec)
 *     if objType == CUmemoryPool:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemoryPool)
 *     if objType == CUuserObject:
 */
  }

  /* "cuda/cuda.pyx":42183
 *     if objType == CUmemoryPool:
 *         return sizeof(ccuda.CUmemoryPool)
 *     if objType == CUuserObject:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUuserObject)
 *     if objType == CUgraphConditionalHandle:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUuserObject), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42183, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42183, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42184
 *         return sizeof(ccuda.CUmemoryPool)
 *     if objType == CUuserObject:
 *         return sizeof(ccuda.CUuserObject)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphConditionalHandle:
 *         return sizeof(ccuda.CUgraphConditionalHandle)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUuserObject))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42183
 *     if objType == CUmemoryPool:
 *         return sizeof(ccuda.CUmemoryPool)
 *     if objType == CUuserObject:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUuserObject)
 *     if objType == CUgraphConditionalHandle:
 */
  }

  /* "cuda/cuda.pyx":42185
 *     if objType == CUuserObject:
 *         return sizeof(ccuda.CUuserObject)
 *     if objType == CUgraphConditionalHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphConditionalHandle)
 *     if objType == CUgraphDeviceNode:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42185, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42186
 *         return sizeof(ccuda.CUuserObject)
 *     if objType == CUgraphConditionalHandle:
 *         return sizeof(ccuda.CUgraphConditionalHandle)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphDeviceNode:
 *         return sizeof(ccuda.CUgraphDeviceNode)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphConditionalHandle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42185
 *     if objType == CUuserObject:
 *         return sizeof(ccuda.CUuserObject)
 *     if objType == CUgraphConditionalHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphConditionalHandle)
 *     if objType == CUgraphDeviceNode:
 */
  }

  /* "cuda/cuda.pyx":42187
 *     if objType == CUgraphConditionalHandle:
 *         return sizeof(ccuda.CUgraphConditionalHandle)
 *     if objType == CUgraphDeviceNode:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphDeviceNode)
 *     if objType == CUasyncCallbackHandle:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphDeviceNode), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42187, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42187, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42188
 *         return sizeof(ccuda.CUgraphConditionalHandle)
 *     if objType == CUgraphDeviceNode:
 *         return sizeof(ccuda.CUgraphDeviceNode)             # <<<<<<<<<<<<<<
 *     if objType == CUasyncCallbackHandle:
 *         return sizeof(ccuda.CUasyncCallbackHandle)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphDeviceNode))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42187
 *     if objType == CUgraphConditionalHandle:
 *         return sizeof(ccuda.CUgraphConditionalHandle)
 *     if objType == CUgraphDeviceNode:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphDeviceNode)
 *     if objType == CUasyncCallbackHandle:
 */
  }

  /* "cuda/cuda.pyx":42189
 *     if objType == CUgraphDeviceNode:
 *         return sizeof(ccuda.CUgraphDeviceNode)
 *     if objType == CUasyncCallbackHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUasyncCallbackHandle)
 *     if objType == CUuuid_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42189, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42189, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42190
 *         return sizeof(ccuda.CUgraphDeviceNode)
 *     if objType == CUasyncCallbackHandle:
 *         return sizeof(ccuda.CUasyncCallbackHandle)             # <<<<<<<<<<<<<<
 *     if objType == CUuuid_st:
 *         return sizeof(ccuda.CUuuid_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUasyncCallbackHandle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42190, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42189
 *     if objType == CUgraphDeviceNode:
 *         return sizeof(ccuda.CUgraphDeviceNode)
 *     if objType == CUasyncCallbackHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUasyncCallbackHandle)
 *     if objType == CUuuid_st:
 */
  }

  /* "cuda/cuda.pyx":42191
 *     if objType == CUasyncCallbackHandle:
 *         return sizeof(ccuda.CUasyncCallbackHandle)
 *     if objType == CUuuid_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUuuid_st)
 *     if objType == CUuuid:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUuuid_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42191, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42191, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42192
 *         return sizeof(ccuda.CUasyncCallbackHandle)
 *     if objType == CUuuid_st:
 *         return sizeof(ccuda.CUuuid_st)             # <<<<<<<<<<<<<<
 *     if objType == CUuuid:
 *         return sizeof(ccuda.CUuuid)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUuuid_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42192, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42191
 *     if objType == CUasyncCallbackHandle:
 *         return sizeof(ccuda.CUasyncCallbackHandle)
 *     if objType == CUuuid_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUuuid_st)
 *     if objType == CUuuid:
 */
  }

  /* "cuda/cuda.pyx":42193
 *     if objType == CUuuid_st:
 *         return sizeof(ccuda.CUuuid_st)
 *     if objType == CUuuid:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUuuid)
 *     if objType == CUmemFabricHandle_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUuuid), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42193, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42193, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42194
 *         return sizeof(ccuda.CUuuid_st)
 *     if objType == CUuuid:
 *         return sizeof(ccuda.CUuuid)             # <<<<<<<<<<<<<<
 *     if objType == CUmemFabricHandle_st:
 *         return sizeof(ccuda.CUmemFabricHandle_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUuuid))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42193
 *     if objType == CUuuid_st:
 *         return sizeof(ccuda.CUuuid_st)
 *     if objType == CUuuid:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUuuid)
 *     if objType == CUmemFabricHandle_st:
 */
  }

  /* "cuda/cuda.pyx":42195
 *     if objType == CUuuid:
 *         return sizeof(ccuda.CUuuid)
 *     if objType == CUmemFabricHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemFabricHandle_st)
 *     if objType == CUmemFabricHandle_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42195, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42195, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42196
 *         return sizeof(ccuda.CUuuid)
 *     if objType == CUmemFabricHandle_st:
 *         return sizeof(ccuda.CUmemFabricHandle_st)             # <<<<<<<<<<<<<<
 *     if objType == CUmemFabricHandle_v1:
 *         return sizeof(ccuda.CUmemFabricHandle_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUmemFabricHandle_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42196, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42195
 *     if objType == CUuuid:
 *         return sizeof(ccuda.CUuuid)
 *     if objType == CUmemFabricHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemFabricHandle_st)
 *     if objType == CUmemFabricHandle_v1:
 */
  }

  /* "cuda/cuda.pyx":42197
 *     if objType == CUmemFabricHandle_st:
 *         return sizeof(ccuda.CUmemFabricHandle_st)
 *     if objType == CUmemFabricHandle_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemFabricHandle_v1)
 *     if objType == CUmemFabricHandle:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42197, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42197, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42198
 *         return sizeof(ccuda.CUmemFabricHandle_st)
 *     if objType == CUmemFabricHandle_v1:
 *         return sizeof(ccuda.CUmemFabricHandle_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmemFabricHandle:
 *         return sizeof(ccuda.CUmemFabricHandle)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmemFabricHandle_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42198, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42197
 *     if objType == CUmemFabricHandle_st:
 *         return sizeof(ccuda.CUmemFabricHandle_st)
 *     if objType == CUmemFabricHandle_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemFabricHandle_v1)
 *     if objType == CUmemFabricHandle:
 */
  }

  /* "cuda/cuda.pyx":42199
 *     if objType == CUmemFabricHandle_v1:
 *         return sizeof(ccuda.CUmemFabricHandle_v1)
 *     if objType == CUmemFabricHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemFabricHandle)
 *     if objType == CUipcEventHandle_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemFabricHandle), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42199, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42199, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42200
 *         return sizeof(ccuda.CUmemFabricHandle_v1)
 *     if objType == CUmemFabricHandle:
 *         return sizeof(ccuda.CUmemFabricHandle)             # <<<<<<<<<<<<<<
 *     if objType == CUipcEventHandle_st:
 *         return sizeof(ccuda.CUipcEventHandle_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmemFabricHandle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42199
 *     if objType == CUmemFabricHandle_v1:
 *         return sizeof(ccuda.CUmemFabricHandle_v1)
 *     if objType == CUmemFabricHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemFabricHandle)
 *     if objType == CUipcEventHandle_st:
 */
  }

  /* "cuda/cuda.pyx":42201
 *     if objType == CUmemFabricHandle:
 *         return sizeof(ccuda.CUmemFabricHandle)
 *     if objType == CUipcEventHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUipcEventHandle_st)
 *     if objType == CUipcEventHandle_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUipcEventHandle_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42201, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42202
 *         return sizeof(ccuda.CUmemFabricHandle)
 *     if objType == CUipcEventHandle_st:
 *         return sizeof(ccuda.CUipcEventHandle_st)             # <<<<<<<<<<<<<<
 *     if objType == CUipcEventHandle_v1:
 *         return sizeof(ccuda.CUipcEventHandle_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUipcEventHandle_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42201
 *     if objType == CUmemFabricHandle:
 *         return sizeof(ccuda.CUmemFabricHandle)
 *     if objType == CUipcEventHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUipcEventHandle_st)
 *     if objType == CUipcEventHandle_v1:
 */
  }

  /* "cuda/cuda.pyx":42203
 *     if objType == CUipcEventHandle_st:
 *         return sizeof(ccuda.CUipcEventHandle_st)
 *     if objType == CUipcEventHandle_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUipcEventHandle_v1)
 *     if objType == CUipcEventHandle:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42203, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42203, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42204
 *         return sizeof(ccuda.CUipcEventHandle_st)
 *     if objType == CUipcEventHandle_v1:
 *         return sizeof(ccuda.CUipcEventHandle_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUipcEventHandle:
 *         return sizeof(ccuda.CUipcEventHandle)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUipcEventHandle_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42204, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42203
 *     if objType == CUipcEventHandle_st:
 *         return sizeof(ccuda.CUipcEventHandle_st)
 *     if objType == CUipcEventHandle_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUipcEventHandle_v1)
 *     if objType == CUipcEventHandle:
 */
  }

  /* "cuda/cuda.pyx":42205
 *     if objType == CUipcEventHandle_v1:
 *         return sizeof(ccuda.CUipcEventHandle_v1)
 *     if objType == CUipcEventHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUipcEventHandle)
 *     if objType == CUipcMemHandle_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUipcEventHandle), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42205, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42206
 *         return sizeof(ccuda.CUipcEventHandle_v1)
 *     if objType == CUipcEventHandle:
 *         return sizeof(ccuda.CUipcEventHandle)             # <<<<<<<<<<<<<<
 *     if objType == CUipcMemHandle_st:
 *         return sizeof(ccuda.CUipcMemHandle_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUipcEventHandle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42206, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42205
 *     if objType == CUipcEventHandle_v1:
 *         return sizeof(ccuda.CUipcEventHandle_v1)
 *     if objType == CUipcEventHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUipcEventHandle)
 *     if objType == CUipcMemHandle_st:
 */
  }

  /* "cuda/cuda.pyx":42207
 *     if objType == CUipcEventHandle:
 *         return sizeof(ccuda.CUipcEventHandle)
 *     if objType == CUipcMemHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUipcMemHandle_st)
 *     if objType == CUipcMemHandle_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUipcMemHandle_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42207, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42207, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42208
 *         return sizeof(ccuda.CUipcEventHandle)
 *     if objType == CUipcMemHandle_st:
 *         return sizeof(ccuda.CUipcMemHandle_st)             # <<<<<<<<<<<<<<
 *     if objType == CUipcMemHandle_v1:
 *         return sizeof(ccuda.CUipcMemHandle_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUipcMemHandle_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42208, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42207
 *     if objType == CUipcEventHandle:
 *         return sizeof(ccuda.CUipcEventHandle)
 *     if objType == CUipcMemHandle_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUipcMemHandle_st)
 *     if objType == CUipcMemHandle_v1:
 */
  }

  /* "cuda/cuda.pyx":42209
 *     if objType == CUipcMemHandle_st:
 *         return sizeof(ccuda.CUipcMemHandle_st)
 *     if objType == CUipcMemHandle_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUipcMemHandle_v1)
 *     if objType == CUipcMemHandle:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42209, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42209, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42210
 *         return sizeof(ccuda.CUipcMemHandle_st)
 *     if objType == CUipcMemHandle_v1:
 *         return sizeof(ccuda.CUipcMemHandle_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUipcMemHandle:
 *         return sizeof(ccuda.CUipcMemHandle)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUipcMemHandle_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42209
 *     if objType == CUipcMemHandle_st:
 *         return sizeof(ccuda.CUipcMemHandle_st)
 *     if objType == CUipcMemHandle_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUipcMemHandle_v1)
 *     if objType == CUipcMemHandle:
 */
  }

  /* "cuda/cuda.pyx":42211
 *     if objType == CUipcMemHandle_v1:
 *         return sizeof(ccuda.CUipcMemHandle_v1)
 *     if objType == CUipcMemHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUipcMemHandle)
 *     if objType == CUstreamBatchMemOpParams_union:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUipcMemHandle), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42211, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42211, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42212
 *         return sizeof(ccuda.CUipcMemHandle_v1)
 *     if objType == CUipcMemHandle:
 *         return sizeof(ccuda.CUipcMemHandle)             # <<<<<<<<<<<<<<
 *     if objType == CUstreamBatchMemOpParams_union:
 *         return sizeof(ccuda.CUstreamBatchMemOpParams_union)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUipcMemHandle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42212, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42211
 *     if objType == CUipcMemHandle_v1:
 *         return sizeof(ccuda.CUipcMemHandle_v1)
 *     if objType == CUipcMemHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUipcMemHandle)
 *     if objType == CUstreamBatchMemOpParams_union:
 */
  }

  /* "cuda/cuda.pyx":42213
 *     if objType == CUipcMemHandle:
 *         return sizeof(ccuda.CUipcMemHandle)
 *     if objType == CUstreamBatchMemOpParams_union:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUstreamBatchMemOpParams_union)
 *     if objType == CUstreamBatchMemOpParams_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42213, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42213, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42214
 *         return sizeof(ccuda.CUipcMemHandle)
 *     if objType == CUstreamBatchMemOpParams_union:
 *         return sizeof(ccuda.CUstreamBatchMemOpParams_union)             # <<<<<<<<<<<<<<
 *     if objType == CUstreamBatchMemOpParams_v1:
 *         return sizeof(ccuda.CUstreamBatchMemOpParams_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(union CUstreamBatchMemOpParams_union))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42213
 *     if objType == CUipcMemHandle:
 *         return sizeof(ccuda.CUipcMemHandle)
 *     if objType == CUstreamBatchMemOpParams_union:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUstreamBatchMemOpParams_union)
 *     if objType == CUstreamBatchMemOpParams_v1:
 */
  }

  /* "cuda/cuda.pyx":42215
 *     if objType == CUstreamBatchMemOpParams_union:
 *         return sizeof(ccuda.CUstreamBatchMemOpParams_union)
 *     if objType == CUstreamBatchMemOpParams_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUstreamBatchMemOpParams_v1)
 *     if objType == CUstreamBatchMemOpParams:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42215, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42215, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42216
 *         return sizeof(ccuda.CUstreamBatchMemOpParams_union)
 *     if objType == CUstreamBatchMemOpParams_v1:
 *         return sizeof(ccuda.CUstreamBatchMemOpParams_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUstreamBatchMemOpParams:
 *         return sizeof(ccuda.CUstreamBatchMemOpParams)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUstreamBatchMemOpParams_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42216, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42215
 *     if objType == CUstreamBatchMemOpParams_union:
 *         return sizeof(ccuda.CUstreamBatchMemOpParams_union)
 *     if objType == CUstreamBatchMemOpParams_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUstreamBatchMemOpParams_v1)
 *     if objType == CUstreamBatchMemOpParams:
 */
  }

  /* "cuda/cuda.pyx":42217
 *     if objType == CUstreamBatchMemOpParams_v1:
 *         return sizeof(ccuda.CUstreamBatchMemOpParams_v1)
 *     if objType == CUstreamBatchMemOpParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUstreamBatchMemOpParams)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42217, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42217, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42218
 *         return sizeof(ccuda.CUstreamBatchMemOpParams_v1)
 *     if objType == CUstreamBatchMemOpParams:
 *         return sizeof(ccuda.CUstreamBatchMemOpParams)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUstreamBatchMemOpParams))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42218, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42217
 *     if objType == CUstreamBatchMemOpParams_v1:
 *         return sizeof(ccuda.CUstreamBatchMemOpParams_v1)
 *     if objType == CUstreamBatchMemOpParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUstreamBatchMemOpParams)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:
 */
  }

  /* "cuda/cuda.pyx":42219
 *     if objType == CUstreamBatchMemOpParams:
 *         return sizeof(ccuda.CUstreamBatchMemOpParams)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.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_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42219, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42219, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42220
 *         return sizeof(ccuda.CUstreamBatchMemOpParams)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42220, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42219
 *     if objType == CUstreamBatchMemOpParams:
 *         return sizeof(ccuda.CUstreamBatchMemOpParams)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1:
 */
  }

  /* "cuda/cuda.pyx":42221
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.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_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42221, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42221, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42222
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_BATCH_MEM_OP_NODE_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42222, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42221
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS:
 */
  }

  /* "cuda/cuda.pyx":42223
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.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_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42223, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42223, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42224
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_BATCH_MEM_OP_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42224, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42223
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:
 */
  }

  /* "cuda/cuda.pyx":42225
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.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_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42225, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42225, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42226
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42225
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2:
 */
  }

  /* "cuda/cuda.pyx":42227
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2)
 *     if objType == CUasyncNotificationInfo_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42227, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42227, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42228
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUasyncNotificationInfo_st:
 *         return sizeof(ccuda.CUasyncNotificationInfo_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_BATCH_MEM_OP_NODE_PARAMS_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42228, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42227
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st)
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2)
 *     if objType == CUasyncNotificationInfo_st:
 */
  }

  /* "cuda/cuda.pyx":42229
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2)
 *     if objType == CUasyncNotificationInfo_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUasyncNotificationInfo_st)
 *     if objType == CUasyncNotificationInfo:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42229, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42229, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42230
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2)
 *     if objType == CUasyncNotificationInfo_st:
 *         return sizeof(ccuda.CUasyncNotificationInfo_st)             # <<<<<<<<<<<<<<
 *     if objType == CUasyncNotificationInfo:
 *         return sizeof(ccuda.CUasyncNotificationInfo)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUasyncNotificationInfo_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42230, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42229
 *     if objType == CUDA_BATCH_MEM_OP_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2)
 *     if objType == CUasyncNotificationInfo_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUasyncNotificationInfo_st)
 *     if objType == CUasyncNotificationInfo:
 */
  }

  /* "cuda/cuda.pyx":42231
 *     if objType == CUasyncNotificationInfo_st:
 *         return sizeof(ccuda.CUasyncNotificationInfo_st)
 *     if objType == CUasyncNotificationInfo:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUasyncNotificationInfo)
 *     if objType == CUasyncCallback:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42231, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42231, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42232
 *         return sizeof(ccuda.CUasyncNotificationInfo_st)
 *     if objType == CUasyncNotificationInfo:
 *         return sizeof(ccuda.CUasyncNotificationInfo)             # <<<<<<<<<<<<<<
 *     if objType == CUasyncCallback:
 *         return sizeof(ccuda.CUasyncCallback)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUasyncNotificationInfo))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42231
 *     if objType == CUasyncNotificationInfo_st:
 *         return sizeof(ccuda.CUasyncNotificationInfo_st)
 *     if objType == CUasyncNotificationInfo:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUasyncNotificationInfo)
 *     if objType == CUasyncCallback:
 */
  }

  /* "cuda/cuda.pyx":42233
 *     if objType == CUasyncNotificationInfo:
 *         return sizeof(ccuda.CUasyncNotificationInfo)
 *     if objType == CUasyncCallback:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUasyncCallback)
 *     if objType == CUdevprop_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUasyncCallback), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42233, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42233, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42234
 *         return sizeof(ccuda.CUasyncNotificationInfo)
 *     if objType == CUasyncCallback:
 *         return sizeof(ccuda.CUasyncCallback)             # <<<<<<<<<<<<<<
 *     if objType == CUdevprop_st:
 *         return sizeof(ccuda.CUdevprop_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUasyncCallback))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42233
 *     if objType == CUasyncNotificationInfo:
 *         return sizeof(ccuda.CUasyncNotificationInfo)
 *     if objType == CUasyncCallback:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUasyncCallback)
 *     if objType == CUdevprop_st:
 */
  }

  /* "cuda/cuda.pyx":42235
 *     if objType == CUasyncCallback:
 *         return sizeof(ccuda.CUasyncCallback)
 *     if objType == CUdevprop_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevprop_st)
 *     if objType == CUdevprop_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevprop_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42235, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42235, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42236
 *         return sizeof(ccuda.CUasyncCallback)
 *     if objType == CUdevprop_st:
 *         return sizeof(ccuda.CUdevprop_st)             # <<<<<<<<<<<<<<
 *     if objType == CUdevprop_v1:
 *         return sizeof(ccuda.CUdevprop_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUdevprop_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42236, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42235
 *     if objType == CUasyncCallback:
 *         return sizeof(ccuda.CUasyncCallback)
 *     if objType == CUdevprop_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevprop_st)
 *     if objType == CUdevprop_v1:
 */
  }

  /* "cuda/cuda.pyx":42237
 *     if objType == CUdevprop_st:
 *         return sizeof(ccuda.CUdevprop_st)
 *     if objType == CUdevprop_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevprop_v1)
 *     if objType == CUdevprop:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevprop_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42237, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42237, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42238
 *         return sizeof(ccuda.CUdevprop_st)
 *     if objType == CUdevprop_v1:
 *         return sizeof(ccuda.CUdevprop_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUdevprop:
 *         return sizeof(ccuda.CUdevprop)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUdevprop_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42238, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42237
 *     if objType == CUdevprop_st:
 *         return sizeof(ccuda.CUdevprop_st)
 *     if objType == CUdevprop_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevprop_v1)
 *     if objType == CUdevprop:
 */
  }

  /* "cuda/cuda.pyx":42239
 *     if objType == CUdevprop_v1:
 *         return sizeof(ccuda.CUdevprop_v1)
 *     if objType == CUdevprop:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevprop)
 *     if objType == CUlinkState:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevprop), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42239, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42239, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42240
 *         return sizeof(ccuda.CUdevprop_v1)
 *     if objType == CUdevprop:
 *         return sizeof(ccuda.CUdevprop)             # <<<<<<<<<<<<<<
 *     if objType == CUlinkState:
 *         return sizeof(ccuda.CUlinkState)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUdevprop))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42239
 *     if objType == CUdevprop_v1:
 *         return sizeof(ccuda.CUdevprop_v1)
 *     if objType == CUdevprop:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevprop)
 *     if objType == CUlinkState:
 */
  }

  /* "cuda/cuda.pyx":42241
 *     if objType == CUdevprop:
 *         return sizeof(ccuda.CUdevprop)
 *     if objType == CUlinkState:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlinkState)
 *     if objType == CUhostFn:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUlinkState), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42241, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42241, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42242
 *         return sizeof(ccuda.CUdevprop)
 *     if objType == CUlinkState:
 *         return sizeof(ccuda.CUlinkState)             # <<<<<<<<<<<<<<
 *     if objType == CUhostFn:
 *         return sizeof(ccuda.CUhostFn)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUlinkState))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42242, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42241
 *     if objType == CUdevprop:
 *         return sizeof(ccuda.CUdevprop)
 *     if objType == CUlinkState:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlinkState)
 *     if objType == CUhostFn:
 */
  }

  /* "cuda/cuda.pyx":42243
 *     if objType == CUlinkState:
 *         return sizeof(ccuda.CUlinkState)
 *     if objType == CUhostFn:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUhostFn)
 *     if objType == CUaccessPolicyWindow_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUhostFn), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42243, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42243, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42244
 *         return sizeof(ccuda.CUlinkState)
 *     if objType == CUhostFn:
 *         return sizeof(ccuda.CUhostFn)             # <<<<<<<<<<<<<<
 *     if objType == CUaccessPolicyWindow_st:
 *         return sizeof(ccuda.CUaccessPolicyWindow_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUhostFn))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42243
 *     if objType == CUlinkState:
 *         return sizeof(ccuda.CUlinkState)
 *     if objType == CUhostFn:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUhostFn)
 *     if objType == CUaccessPolicyWindow_st:
 */
  }

  /* "cuda/cuda.pyx":42245
 *     if objType == CUhostFn:
 *         return sizeof(ccuda.CUhostFn)
 *     if objType == CUaccessPolicyWindow_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUaccessPolicyWindow_st)
 *     if objType == CUaccessPolicyWindow_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42245, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42245, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42246
 *         return sizeof(ccuda.CUhostFn)
 *     if objType == CUaccessPolicyWindow_st:
 *         return sizeof(ccuda.CUaccessPolicyWindow_st)             # <<<<<<<<<<<<<<
 *     if objType == CUaccessPolicyWindow_v1:
 *         return sizeof(ccuda.CUaccessPolicyWindow_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUaccessPolicyWindow_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42245
 *     if objType == CUhostFn:
 *         return sizeof(ccuda.CUhostFn)
 *     if objType == CUaccessPolicyWindow_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUaccessPolicyWindow_st)
 *     if objType == CUaccessPolicyWindow_v1:
 */
  }

  /* "cuda/cuda.pyx":42247
 *     if objType == CUaccessPolicyWindow_st:
 *         return sizeof(ccuda.CUaccessPolicyWindow_st)
 *     if objType == CUaccessPolicyWindow_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUaccessPolicyWindow_v1)
 *     if objType == CUaccessPolicyWindow:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42247, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42247, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42248
 *         return sizeof(ccuda.CUaccessPolicyWindow_st)
 *     if objType == CUaccessPolicyWindow_v1:
 *         return sizeof(ccuda.CUaccessPolicyWindow_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUaccessPolicyWindow:
 *         return sizeof(ccuda.CUaccessPolicyWindow)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUaccessPolicyWindow_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42248, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42247
 *     if objType == CUaccessPolicyWindow_st:
 *         return sizeof(ccuda.CUaccessPolicyWindow_st)
 *     if objType == CUaccessPolicyWindow_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUaccessPolicyWindow_v1)
 *     if objType == CUaccessPolicyWindow:
 */
  }

  /* "cuda/cuda.pyx":42249
 *     if objType == CUaccessPolicyWindow_v1:
 *         return sizeof(ccuda.CUaccessPolicyWindow_v1)
 *     if objType == CUaccessPolicyWindow:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUaccessPolicyWindow)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42249, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42249, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42250
 *         return sizeof(ccuda.CUaccessPolicyWindow_v1)
 *     if objType == CUaccessPolicyWindow:
 *         return sizeof(ccuda.CUaccessPolicyWindow)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_KERNEL_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUaccessPolicyWindow))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42250, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42249
 *     if objType == CUaccessPolicyWindow_v1:
 *         return sizeof(ccuda.CUaccessPolicyWindow_v1)
 *     if objType == CUaccessPolicyWindow:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUaccessPolicyWindow)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_st:
 */
  }

  /* "cuda/cuda.pyx":42251
 *     if objType == CUaccessPolicyWindow:
 *         return sizeof(ccuda.CUaccessPolicyWindow)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42251, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42251, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42252
 *         return sizeof(ccuda.CUaccessPolicyWindow)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_KERNEL_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42252, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42251
 *     if objType == CUaccessPolicyWindow:
 *         return sizeof(ccuda.CUaccessPolicyWindow)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v1:
 */
  }

  /* "cuda/cuda.pyx":42253
 *     if objType == CUDA_KERNEL_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v1)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42253, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42253, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42254
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v2_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_KERNEL_NODE_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42253
 *     if objType == CUDA_KERNEL_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v1)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2_st:
 */
  }

  /* "cuda/cuda.pyx":42255
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v1)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42255, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42255, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42256
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v1)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v2_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v2)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_KERNEL_NODE_PARAMS_v2_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42256, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42255
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v1)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2:
 */
  }

  /* "cuda/cuda.pyx":42257
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v2)
 *     if objType == CUDA_KERNEL_NODE_PARAMS:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42257, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42257, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42258
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_KERNEL_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_KERNEL_NODE_PARAMS_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42258, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42257
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v2)
 *     if objType == CUDA_KERNEL_NODE_PARAMS:
 */
  }

  /* "cuda/cuda.pyx":42259
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v2)
 *     if objType == CUDA_KERNEL_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42259, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42259, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42260
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v2)
 *     if objType == CUDA_KERNEL_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3_st:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v3_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_KERNEL_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42259
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v2)
 *     if objType == CUDA_KERNEL_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3_st:
 */
  }

  /* "cuda/cuda.pyx":42261
 *     if objType == CUDA_KERNEL_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v3_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42261, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42261, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42262
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3_st:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v3_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v3)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_KERNEL_NODE_PARAMS_v3_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42262, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42261
 *     if objType == CUDA_KERNEL_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v3_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3:
 */
  }

  /* "cuda/cuda.pyx":42263
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3_st:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v3_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v3)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42263, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42264
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v3_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v3)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMSET_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_KERNEL_NODE_PARAMS_v3))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42263
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3_st:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v3_st)
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v3)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_st:
 */
  }

  /* "cuda/cuda.pyx":42265
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v3)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42265, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42265, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42266
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v3)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_MEMSET_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42265
 *     if objType == CUDA_KERNEL_NODE_PARAMS_v3:
 *         return sizeof(ccuda.CUDA_KERNEL_NODE_PARAMS_v3)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v1:
 */
  }

  /* "cuda/cuda.pyx":42267
 *     if objType == CUDA_MEMSET_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v1)
 *     if objType == CUDA_MEMSET_NODE_PARAMS:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42267, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42267, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42268
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMSET_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_MEMSET_NODE_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42267
 *     if objType == CUDA_MEMSET_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v1)
 *     if objType == CUDA_MEMSET_NODE_PARAMS:
 */
  }

  /* "cuda/cuda.pyx":42269
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v1)
 *     if objType == CUDA_MEMSET_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42269, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42269, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42270
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v1)
 *     if objType == CUDA_MEMSET_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v2_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_MEMSET_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42269
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v1)
 *     if objType == CUDA_MEMSET_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2_st:
 */
  }

  /* "cuda/cuda.pyx":42271
 *     if objType == CUDA_MEMSET_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42271, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42271, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42272
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v2_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v2)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_MEMSET_NODE_PARAMS_v2_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42271
 *     if objType == CUDA_MEMSET_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2:
 */
  }

  /* "cuda/cuda.pyx":42273
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v2)
 *     if objType == CUDA_HOST_NODE_PARAMS_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42273, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42274
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_HOST_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_MEMSET_NODE_PARAMS_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42273
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v2)
 *     if objType == CUDA_HOST_NODE_PARAMS_st:
 */
  }

  /* "cuda/cuda.pyx":42275
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v2)
 *     if objType == CUDA_HOST_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42275, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42275, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42276
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v2)
 *     if objType == CUDA_HOST_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_HOST_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_HOST_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42276, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42275
 *     if objType == CUDA_MEMSET_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_MEMSET_NODE_PARAMS_v2)
 *     if objType == CUDA_HOST_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v1:
 */
  }

  /* "cuda/cuda.pyx":42277
 *     if objType == CUDA_HOST_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v1)
 *     if objType == CUDA_HOST_NODE_PARAMS:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42277, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42277, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42278
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_HOST_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_HOST_NODE_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42277
 *     if objType == CUDA_HOST_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v1)
 *     if objType == CUDA_HOST_NODE_PARAMS:
 */
  }

  /* "cuda/cuda.pyx":42279
 *     if objType == CUDA_HOST_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v1)
 *     if objType == CUDA_HOST_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42279, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42279, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42280
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v1)
 *     if objType == CUDA_HOST_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_HOST_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v2_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_HOST_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42279
 *     if objType == CUDA_HOST_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v1)
 *     if objType == CUDA_HOST_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2_st:
 */
  }

  /* "cuda/cuda.pyx":42281
 *     if objType == CUDA_HOST_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v2_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42281, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42282
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v2_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_HOST_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v2)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_HOST_NODE_PARAMS_v2_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42282, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42281
 *     if objType == CUDA_HOST_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v2_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2:
 */
  }

  /* "cuda/cuda.pyx":42283
 *     if objType == CUDA_HOST_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v2_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v2)
 *     if objType == CUDA_CONDITIONAL_NODE_PARAMS:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42283, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42283, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42284
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v2_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_CONDITIONAL_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_CONDITIONAL_NODE_PARAMS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_HOST_NODE_PARAMS_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42284, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42283
 *     if objType == CUDA_HOST_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v2_st)
 *     if objType == CUDA_HOST_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v2)
 *     if objType == CUDA_CONDITIONAL_NODE_PARAMS:
 */
  }

  /* "cuda/cuda.pyx":42285
 *     if objType == CUDA_HOST_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v2)
 *     if objType == CUDA_CONDITIONAL_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_CONDITIONAL_NODE_PARAMS)
 *     if objType == CUgraphEdgeData_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42285, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42285, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42286
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v2)
 *     if objType == CUDA_CONDITIONAL_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_CONDITIONAL_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphEdgeData_st:
 *         return sizeof(ccuda.CUgraphEdgeData_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_CONDITIONAL_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42285
 *     if objType == CUDA_HOST_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_HOST_NODE_PARAMS_v2)
 *     if objType == CUDA_CONDITIONAL_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_CONDITIONAL_NODE_PARAMS)
 *     if objType == CUgraphEdgeData_st:
 */
  }

  /* "cuda/cuda.pyx":42287
 *     if objType == CUDA_CONDITIONAL_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_CONDITIONAL_NODE_PARAMS)
 *     if objType == CUgraphEdgeData_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphEdgeData_st)
 *     if objType == CUgraphEdgeData:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42287, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42288
 *         return sizeof(ccuda.CUDA_CONDITIONAL_NODE_PARAMS)
 *     if objType == CUgraphEdgeData_st:
 *         return sizeof(ccuda.CUgraphEdgeData_st)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphEdgeData:
 *         return sizeof(ccuda.CUgraphEdgeData)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUgraphEdgeData_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42288, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42287
 *     if objType == CUDA_CONDITIONAL_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_CONDITIONAL_NODE_PARAMS)
 *     if objType == CUgraphEdgeData_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphEdgeData_st)
 *     if objType == CUgraphEdgeData:
 */
  }

  /* "cuda/cuda.pyx":42289
 *     if objType == CUgraphEdgeData_st:
 *         return sizeof(ccuda.CUgraphEdgeData_st)
 *     if objType == CUgraphEdgeData:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphEdgeData)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphEdgeData), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42289, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42289, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42290
 *         return sizeof(ccuda.CUgraphEdgeData_st)
 *     if objType == CUgraphEdgeData:
 *         return sizeof(ccuda.CUgraphEdgeData)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphEdgeData))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42290, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42289
 *     if objType == CUgraphEdgeData_st:
 *         return sizeof(ccuda.CUgraphEdgeData_st)
 *     if objType == CUgraphEdgeData:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphEdgeData)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS_st:
 */
  }

  /* "cuda/cuda.pyx":42291
 *     if objType == CUgraphEdgeData:
 *         return sizeof(ccuda.CUgraphEdgeData)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42291, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42291, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42292
 *         return sizeof(ccuda.CUgraphEdgeData)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS:
 *         return sizeof(ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_GRAPH_INSTANTIATE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42291
 *     if objType == CUgraphEdgeData:
 *         return sizeof(ccuda.CUgraphEdgeData)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS:
 */
  }

  /* "cuda/cuda.pyx":42293
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS)
 *     if objType == CUlaunchMemSyncDomainMap_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42293, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42293, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42294
 *         return sizeof(ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS:
 *         return sizeof(ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUlaunchMemSyncDomainMap_st:
 *         return sizeof(ccuda.CUlaunchMemSyncDomainMap_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_GRAPH_INSTANTIATE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42293
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st)
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS)
 *     if objType == CUlaunchMemSyncDomainMap_st:
 */
  }

  /* "cuda/cuda.pyx":42295
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS:
 *         return sizeof(ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS)
 *     if objType == CUlaunchMemSyncDomainMap_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlaunchMemSyncDomainMap_st)
 *     if objType == CUlaunchMemSyncDomainMap:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42295, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42295, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42296
 *         return sizeof(ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS)
 *     if objType == CUlaunchMemSyncDomainMap_st:
 *         return sizeof(ccuda.CUlaunchMemSyncDomainMap_st)             # <<<<<<<<<<<<<<
 *     if objType == CUlaunchMemSyncDomainMap:
 *         return sizeof(ccuda.CUlaunchMemSyncDomainMap)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUlaunchMemSyncDomainMap_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42296, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42295
 *     if objType == CUDA_GRAPH_INSTANTIATE_PARAMS:
 *         return sizeof(ccuda.CUDA_GRAPH_INSTANTIATE_PARAMS)
 *     if objType == CUlaunchMemSyncDomainMap_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlaunchMemSyncDomainMap_st)
 *     if objType == CUlaunchMemSyncDomainMap:
 */
  }

  /* "cuda/cuda.pyx":42297
 *     if objType == CUlaunchMemSyncDomainMap_st:
 *         return sizeof(ccuda.CUlaunchMemSyncDomainMap_st)
 *     if objType == CUlaunchMemSyncDomainMap:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlaunchMemSyncDomainMap)
 *     if objType == CUlaunchAttributeValue_union:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42297, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42297, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42298
 *         return sizeof(ccuda.CUlaunchMemSyncDomainMap_st)
 *     if objType == CUlaunchMemSyncDomainMap:
 *         return sizeof(ccuda.CUlaunchMemSyncDomainMap)             # <<<<<<<<<<<<<<
 *     if objType == CUlaunchAttributeValue_union:
 *         return sizeof(ccuda.CUlaunchAttributeValue_union)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUlaunchMemSyncDomainMap))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42298, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42297
 *     if objType == CUlaunchMemSyncDomainMap_st:
 *         return sizeof(ccuda.CUlaunchMemSyncDomainMap_st)
 *     if objType == CUlaunchMemSyncDomainMap:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlaunchMemSyncDomainMap)
 *     if objType == CUlaunchAttributeValue_union:
 */
  }

  /* "cuda/cuda.pyx":42299
 *     if objType == CUlaunchMemSyncDomainMap:
 *         return sizeof(ccuda.CUlaunchMemSyncDomainMap)
 *     if objType == CUlaunchAttributeValue_union:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlaunchAttributeValue_union)
 *     if objType == CUlaunchAttributeValue:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42299, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42299, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42300
 *         return sizeof(ccuda.CUlaunchMemSyncDomainMap)
 *     if objType == CUlaunchAttributeValue_union:
 *         return sizeof(ccuda.CUlaunchAttributeValue_union)             # <<<<<<<<<<<<<<
 *     if objType == CUlaunchAttributeValue:
 *         return sizeof(ccuda.CUlaunchAttributeValue)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(union CUlaunchAttributeValue_union))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42299
 *     if objType == CUlaunchMemSyncDomainMap:
 *         return sizeof(ccuda.CUlaunchMemSyncDomainMap)
 *     if objType == CUlaunchAttributeValue_union:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlaunchAttributeValue_union)
 *     if objType == CUlaunchAttributeValue:
 */
  }

  /* "cuda/cuda.pyx":42301
 *     if objType == CUlaunchAttributeValue_union:
 *         return sizeof(ccuda.CUlaunchAttributeValue_union)
 *     if objType == CUlaunchAttributeValue:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlaunchAttributeValue)
 *     if objType == CUlaunchAttribute_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42301, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42301, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42302
 *         return sizeof(ccuda.CUlaunchAttributeValue_union)
 *     if objType == CUlaunchAttributeValue:
 *         return sizeof(ccuda.CUlaunchAttributeValue)             # <<<<<<<<<<<<<<
 *     if objType == CUlaunchAttribute_st:
 *         return sizeof(ccuda.CUlaunchAttribute_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUlaunchAttributeValue))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42302, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42301
 *     if objType == CUlaunchAttributeValue_union:
 *         return sizeof(ccuda.CUlaunchAttributeValue_union)
 *     if objType == CUlaunchAttributeValue:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlaunchAttributeValue)
 *     if objType == CUlaunchAttribute_st:
 */
  }

  /* "cuda/cuda.pyx":42303
 *     if objType == CUlaunchAttributeValue:
 *         return sizeof(ccuda.CUlaunchAttributeValue)
 *     if objType == CUlaunchAttribute_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlaunchAttribute_st)
 *     if objType == CUlaunchAttribute:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42303, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42303, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42304
 *         return sizeof(ccuda.CUlaunchAttributeValue)
 *     if objType == CUlaunchAttribute_st:
 *         return sizeof(ccuda.CUlaunchAttribute_st)             # <<<<<<<<<<<<<<
 *     if objType == CUlaunchAttribute:
 *         return sizeof(ccuda.CUlaunchAttribute)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUlaunchAttribute_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42304, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42303
 *     if objType == CUlaunchAttributeValue:
 *         return sizeof(ccuda.CUlaunchAttributeValue)
 *     if objType == CUlaunchAttribute_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlaunchAttribute_st)
 *     if objType == CUlaunchAttribute:
 */
  }

  /* "cuda/cuda.pyx":42305
 *     if objType == CUlaunchAttribute_st:
 *         return sizeof(ccuda.CUlaunchAttribute_st)
 *     if objType == CUlaunchAttribute:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlaunchAttribute)
 *     if objType == CUlaunchConfig_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchAttribute), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42305, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42305, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42306
 *         return sizeof(ccuda.CUlaunchAttribute_st)
 *     if objType == CUlaunchAttribute:
 *         return sizeof(ccuda.CUlaunchAttribute)             # <<<<<<<<<<<<<<
 *     if objType == CUlaunchConfig_st:
 *         return sizeof(ccuda.CUlaunchConfig_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUlaunchAttribute))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42306, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42305
 *     if objType == CUlaunchAttribute_st:
 *         return sizeof(ccuda.CUlaunchAttribute_st)
 *     if objType == CUlaunchAttribute:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlaunchAttribute)
 *     if objType == CUlaunchConfig_st:
 */
  }

  /* "cuda/cuda.pyx":42307
 *     if objType == CUlaunchAttribute:
 *         return sizeof(ccuda.CUlaunchAttribute)
 *     if objType == CUlaunchConfig_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlaunchConfig_st)
 *     if objType == CUlaunchConfig:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchConfig_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42307, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42307, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42308
 *         return sizeof(ccuda.CUlaunchAttribute)
 *     if objType == CUlaunchConfig_st:
 *         return sizeof(ccuda.CUlaunchConfig_st)             # <<<<<<<<<<<<<<
 *     if objType == CUlaunchConfig:
 *         return sizeof(ccuda.CUlaunchConfig)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUlaunchConfig_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42307
 *     if objType == CUlaunchAttribute:
 *         return sizeof(ccuda.CUlaunchAttribute)
 *     if objType == CUlaunchConfig_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlaunchConfig_st)
 *     if objType == CUlaunchConfig:
 */
  }

  /* "cuda/cuda.pyx":42309
 *     if objType == CUlaunchConfig_st:
 *         return sizeof(ccuda.CUlaunchConfig_st)
 *     if objType == CUlaunchConfig:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlaunchConfig)
 *     if objType == CUkernelNodeAttrValue_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchConfig), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42309, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42310
 *         return sizeof(ccuda.CUlaunchConfig_st)
 *     if objType == CUlaunchConfig:
 *         return sizeof(ccuda.CUlaunchConfig)             # <<<<<<<<<<<<<<
 *     if objType == CUkernelNodeAttrValue_v1:
 *         return sizeof(ccuda.CUkernelNodeAttrValue_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUlaunchConfig))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42310, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42309
 *     if objType == CUlaunchConfig_st:
 *         return sizeof(ccuda.CUlaunchConfig_st)
 *     if objType == CUlaunchConfig:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlaunchConfig)
 *     if objType == CUkernelNodeAttrValue_v1:
 */
  }

  /* "cuda/cuda.pyx":42311
 *     if objType == CUlaunchConfig:
 *         return sizeof(ccuda.CUlaunchConfig)
 *     if objType == CUkernelNodeAttrValue_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUkernelNodeAttrValue_v1)
 *     if objType == CUkernelNodeAttrValue:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42311, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42311, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42312
 *         return sizeof(ccuda.CUlaunchConfig)
 *     if objType == CUkernelNodeAttrValue_v1:
 *         return sizeof(ccuda.CUkernelNodeAttrValue_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUkernelNodeAttrValue:
 *         return sizeof(ccuda.CUkernelNodeAttrValue)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUkernelNodeAttrValue_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42312, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42311
 *     if objType == CUlaunchConfig:
 *         return sizeof(ccuda.CUlaunchConfig)
 *     if objType == CUkernelNodeAttrValue_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUkernelNodeAttrValue_v1)
 *     if objType == CUkernelNodeAttrValue:
 */
  }

  /* "cuda/cuda.pyx":42313
 *     if objType == CUkernelNodeAttrValue_v1:
 *         return sizeof(ccuda.CUkernelNodeAttrValue_v1)
 *     if objType == CUkernelNodeAttrValue:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUkernelNodeAttrValue)
 *     if objType == CUstreamAttrValue_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42313, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42313, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42314
 *         return sizeof(ccuda.CUkernelNodeAttrValue_v1)
 *     if objType == CUkernelNodeAttrValue:
 *         return sizeof(ccuda.CUkernelNodeAttrValue)             # <<<<<<<<<<<<<<
 *     if objType == CUstreamAttrValue_v1:
 *         return sizeof(ccuda.CUstreamAttrValue_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUkernelNodeAttrValue))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42314, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42313
 *     if objType == CUkernelNodeAttrValue_v1:
 *         return sizeof(ccuda.CUkernelNodeAttrValue_v1)
 *     if objType == CUkernelNodeAttrValue:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUkernelNodeAttrValue)
 *     if objType == CUstreamAttrValue_v1:
 */
  }

  /* "cuda/cuda.pyx":42315
 *     if objType == CUkernelNodeAttrValue:
 *         return sizeof(ccuda.CUkernelNodeAttrValue)
 *     if objType == CUstreamAttrValue_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUstreamAttrValue_v1)
 *     if objType == CUstreamAttrValue:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42315, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42316
 *         return sizeof(ccuda.CUkernelNodeAttrValue)
 *     if objType == CUstreamAttrValue_v1:
 *         return sizeof(ccuda.CUstreamAttrValue_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUstreamAttrValue:
 *         return sizeof(ccuda.CUstreamAttrValue)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUstreamAttrValue_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42316, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42315
 *     if objType == CUkernelNodeAttrValue:
 *         return sizeof(ccuda.CUkernelNodeAttrValue)
 *     if objType == CUstreamAttrValue_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUstreamAttrValue_v1)
 *     if objType == CUstreamAttrValue:
 */
  }

  /* "cuda/cuda.pyx":42317
 *     if objType == CUstreamAttrValue_v1:
 *         return sizeof(ccuda.CUstreamAttrValue_v1)
 *     if objType == CUstreamAttrValue:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUstreamAttrValue)
 *     if objType == CUexecAffinitySmCount_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamAttrValue), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42317, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42317, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42318
 *         return sizeof(ccuda.CUstreamAttrValue_v1)
 *     if objType == CUstreamAttrValue:
 *         return sizeof(ccuda.CUstreamAttrValue)             # <<<<<<<<<<<<<<
 *     if objType == CUexecAffinitySmCount_st:
 *         return sizeof(ccuda.CUexecAffinitySmCount_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUstreamAttrValue))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42317
 *     if objType == CUstreamAttrValue_v1:
 *         return sizeof(ccuda.CUstreamAttrValue_v1)
 *     if objType == CUstreamAttrValue:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUstreamAttrValue)
 *     if objType == CUexecAffinitySmCount_st:
 */
  }

  /* "cuda/cuda.pyx":42319
 *     if objType == CUstreamAttrValue:
 *         return sizeof(ccuda.CUstreamAttrValue)
 *     if objType == CUexecAffinitySmCount_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUexecAffinitySmCount_st)
 *     if objType == CUexecAffinitySmCount_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42319, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42319, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42320
 *         return sizeof(ccuda.CUstreamAttrValue)
 *     if objType == CUexecAffinitySmCount_st:
 *         return sizeof(ccuda.CUexecAffinitySmCount_st)             # <<<<<<<<<<<<<<
 *     if objType == CUexecAffinitySmCount_v1:
 *         return sizeof(ccuda.CUexecAffinitySmCount_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUexecAffinitySmCount_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42319
 *     if objType == CUstreamAttrValue:
 *         return sizeof(ccuda.CUstreamAttrValue)
 *     if objType == CUexecAffinitySmCount_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUexecAffinitySmCount_st)
 *     if objType == CUexecAffinitySmCount_v1:
 */
  }

  /* "cuda/cuda.pyx":42321
 *     if objType == CUexecAffinitySmCount_st:
 *         return sizeof(ccuda.CUexecAffinitySmCount_st)
 *     if objType == CUexecAffinitySmCount_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUexecAffinitySmCount_v1)
 *     if objType == CUexecAffinitySmCount:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42321, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42321, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42322
 *         return sizeof(ccuda.CUexecAffinitySmCount_st)
 *     if objType == CUexecAffinitySmCount_v1:
 *         return sizeof(ccuda.CUexecAffinitySmCount_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUexecAffinitySmCount:
 *         return sizeof(ccuda.CUexecAffinitySmCount)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUexecAffinitySmCount_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42322, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42321
 *     if objType == CUexecAffinitySmCount_st:
 *         return sizeof(ccuda.CUexecAffinitySmCount_st)
 *     if objType == CUexecAffinitySmCount_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUexecAffinitySmCount_v1)
 *     if objType == CUexecAffinitySmCount:
 */
  }

  /* "cuda/cuda.pyx":42323
 *     if objType == CUexecAffinitySmCount_v1:
 *         return sizeof(ccuda.CUexecAffinitySmCount_v1)
 *     if objType == CUexecAffinitySmCount:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUexecAffinitySmCount)
 *     if objType == CUexecAffinityParam_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42323, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42323, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42324
 *         return sizeof(ccuda.CUexecAffinitySmCount_v1)
 *     if objType == CUexecAffinitySmCount:
 *         return sizeof(ccuda.CUexecAffinitySmCount)             # <<<<<<<<<<<<<<
 *     if objType == CUexecAffinityParam_st:
 *         return sizeof(ccuda.CUexecAffinityParam_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUexecAffinitySmCount))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42323
 *     if objType == CUexecAffinitySmCount_v1:
 *         return sizeof(ccuda.CUexecAffinitySmCount_v1)
 *     if objType == CUexecAffinitySmCount:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUexecAffinitySmCount)
 *     if objType == CUexecAffinityParam_st:
 */
  }

  /* "cuda/cuda.pyx":42325
 *     if objType == CUexecAffinitySmCount:
 *         return sizeof(ccuda.CUexecAffinitySmCount)
 *     if objType == CUexecAffinityParam_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUexecAffinityParam_st)
 *     if objType == CUexecAffinityParam_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42325, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42325, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42326
 *         return sizeof(ccuda.CUexecAffinitySmCount)
 *     if objType == CUexecAffinityParam_st:
 *         return sizeof(ccuda.CUexecAffinityParam_st)             # <<<<<<<<<<<<<<
 *     if objType == CUexecAffinityParam_v1:
 *         return sizeof(ccuda.CUexecAffinityParam_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUexecAffinityParam_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42325
 *     if objType == CUexecAffinitySmCount:
 *         return sizeof(ccuda.CUexecAffinitySmCount)
 *     if objType == CUexecAffinityParam_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUexecAffinityParam_st)
 *     if objType == CUexecAffinityParam_v1:
 */
  }

  /* "cuda/cuda.pyx":42327
 *     if objType == CUexecAffinityParam_st:
 *         return sizeof(ccuda.CUexecAffinityParam_st)
 *     if objType == CUexecAffinityParam_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUexecAffinityParam_v1)
 *     if objType == CUexecAffinityParam:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42327, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42327, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42328
 *         return sizeof(ccuda.CUexecAffinityParam_st)
 *     if objType == CUexecAffinityParam_v1:
 *         return sizeof(ccuda.CUexecAffinityParam_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUexecAffinityParam:
 *         return sizeof(ccuda.CUexecAffinityParam)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUexecAffinityParam_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42328, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42327
 *     if objType == CUexecAffinityParam_st:
 *         return sizeof(ccuda.CUexecAffinityParam_st)
 *     if objType == CUexecAffinityParam_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUexecAffinityParam_v1)
 *     if objType == CUexecAffinityParam:
 */
  }

  /* "cuda/cuda.pyx":42329
 *     if objType == CUexecAffinityParam_v1:
 *         return sizeof(ccuda.CUexecAffinityParam_v1)
 *     if objType == CUexecAffinityParam:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUexecAffinityParam)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUexecAffinityParam), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42329, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42329, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42330
 *         return sizeof(ccuda.CUexecAffinityParam_v1)
 *     if objType == CUexecAffinityParam:
 *         return sizeof(ccuda.CUexecAffinityParam)             # <<<<<<<<<<<<<<
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:
 *         return sizeof(ccuda.CUlibraryHostUniversalFunctionAndDataTable_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUexecAffinityParam))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42329
 *     if objType == CUexecAffinityParam_v1:
 *         return sizeof(ccuda.CUexecAffinityParam_v1)
 *     if objType == CUexecAffinityParam:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUexecAffinityParam)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:
 */
  }

  /* "cuda/cuda.pyx":42331
 *     if objType == CUexecAffinityParam:
 *         return sizeof(ccuda.CUexecAffinityParam)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlibraryHostUniversalFunctionAndDataTable_st)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42331, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42332
 *         return sizeof(ccuda.CUexecAffinityParam)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:
 *         return sizeof(ccuda.CUlibraryHostUniversalFunctionAndDataTable_st)             # <<<<<<<<<<<<<<
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:
 *         return sizeof(ccuda.CUlibraryHostUniversalFunctionAndDataTable)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUlibraryHostUniversalFunctionAndDataTable_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42331
 *     if objType == CUexecAffinityParam:
 *         return sizeof(ccuda.CUexecAffinityParam)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlibraryHostUniversalFunctionAndDataTable_st)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:
 */
  }

  /* "cuda/cuda.pyx":42333
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:
 *         return sizeof(ccuda.CUlibraryHostUniversalFunctionAndDataTable_st)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlibraryHostUniversalFunctionAndDataTable)
 *     if objType == CUstreamCallback:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42333, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42333, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42334
 *         return sizeof(ccuda.CUlibraryHostUniversalFunctionAndDataTable_st)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:
 *         return sizeof(ccuda.CUlibraryHostUniversalFunctionAndDataTable)             # <<<<<<<<<<<<<<
 *     if objType == CUstreamCallback:
 *         return sizeof(ccuda.CUstreamCallback)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUlibraryHostUniversalFunctionAndDataTable))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42333
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable_st:
 *         return sizeof(ccuda.CUlibraryHostUniversalFunctionAndDataTable_st)
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUlibraryHostUniversalFunctionAndDataTable)
 *     if objType == CUstreamCallback:
 */
  }

  /* "cuda/cuda.pyx":42335
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:
 *         return sizeof(ccuda.CUlibraryHostUniversalFunctionAndDataTable)
 *     if objType == CUstreamCallback:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUstreamCallback)
 *     if objType == CUoccupancyB2DSize:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamCallback), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42335, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42335, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42336
 *         return sizeof(ccuda.CUlibraryHostUniversalFunctionAndDataTable)
 *     if objType == CUstreamCallback:
 *         return sizeof(ccuda.CUstreamCallback)             # <<<<<<<<<<<<<<
 *     if objType == CUoccupancyB2DSize:
 *         return sizeof(ccuda.CUoccupancyB2DSize)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUstreamCallback))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42335
 *     if objType == CUlibraryHostUniversalFunctionAndDataTable:
 *         return sizeof(ccuda.CUlibraryHostUniversalFunctionAndDataTable)
 *     if objType == CUstreamCallback:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUstreamCallback)
 *     if objType == CUoccupancyB2DSize:
 */
  }

  /* "cuda/cuda.pyx":42337
 *     if objType == CUstreamCallback:
 *         return sizeof(ccuda.CUstreamCallback)
 *     if objType == CUoccupancyB2DSize:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUoccupancyB2DSize)
 *     if objType == CUDA_MEMCPY2D_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42337, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42337, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42338
 *         return sizeof(ccuda.CUstreamCallback)
 *     if objType == CUoccupancyB2DSize:
 *         return sizeof(ccuda.CUoccupancyB2DSize)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY2D_st:
 *         return sizeof(ccuda.CUDA_MEMCPY2D_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUoccupancyB2DSize))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42337
 *     if objType == CUstreamCallback:
 *         return sizeof(ccuda.CUstreamCallback)
 *     if objType == CUoccupancyB2DSize:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUoccupancyB2DSize)
 *     if objType == CUDA_MEMCPY2D_st:
 */
  }

  /* "cuda/cuda.pyx":42339
 *     if objType == CUoccupancyB2DSize:
 *         return sizeof(ccuda.CUoccupancyB2DSize)
 *     if objType == CUDA_MEMCPY2D_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY2D_st)
 *     if objType == CUDA_MEMCPY2D_v2:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42339, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42339, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42340
 *         return sizeof(ccuda.CUoccupancyB2DSize)
 *     if objType == CUDA_MEMCPY2D_st:
 *         return sizeof(ccuda.CUDA_MEMCPY2D_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY2D_v2:
 *         return sizeof(ccuda.CUDA_MEMCPY2D_v2)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_MEMCPY2D_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42339
 *     if objType == CUoccupancyB2DSize:
 *         return sizeof(ccuda.CUoccupancyB2DSize)
 *     if objType == CUDA_MEMCPY2D_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY2D_st)
 *     if objType == CUDA_MEMCPY2D_v2:
 */
  }

  /* "cuda/cuda.pyx":42341
 *     if objType == CUDA_MEMCPY2D_st:
 *         return sizeof(ccuda.CUDA_MEMCPY2D_st)
 *     if objType == CUDA_MEMCPY2D_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY2D_v2)
 *     if objType == CUDA_MEMCPY2D:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42341, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42341, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42342
 *         return sizeof(ccuda.CUDA_MEMCPY2D_st)
 *     if objType == CUDA_MEMCPY2D_v2:
 *         return sizeof(ccuda.CUDA_MEMCPY2D_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY2D:
 *         return sizeof(ccuda.CUDA_MEMCPY2D)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_MEMCPY2D_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42341
 *     if objType == CUDA_MEMCPY2D_st:
 *         return sizeof(ccuda.CUDA_MEMCPY2D_st)
 *     if objType == CUDA_MEMCPY2D_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY2D_v2)
 *     if objType == CUDA_MEMCPY2D:
 */
  }

  /* "cuda/cuda.pyx":42343
 *     if objType == CUDA_MEMCPY2D_v2:
 *         return sizeof(ccuda.CUDA_MEMCPY2D_v2)
 *     if objType == CUDA_MEMCPY2D:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY2D)
 *     if objType == CUDA_MEMCPY3D_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42343, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42343, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42344
 *         return sizeof(ccuda.CUDA_MEMCPY2D_v2)
 *     if objType == CUDA_MEMCPY2D:
 *         return sizeof(ccuda.CUDA_MEMCPY2D)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY3D_st:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_MEMCPY2D))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42343
 *     if objType == CUDA_MEMCPY2D_v2:
 *         return sizeof(ccuda.CUDA_MEMCPY2D_v2)
 *     if objType == CUDA_MEMCPY2D:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY2D)
 *     if objType == CUDA_MEMCPY3D_st:
 */
  }

  /* "cuda/cuda.pyx":42345
 *     if objType == CUDA_MEMCPY2D:
 *         return sizeof(ccuda.CUDA_MEMCPY2D)
 *     if objType == CUDA_MEMCPY3D_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY3D_st)
 *     if objType == CUDA_MEMCPY3D_v2:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42345, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42345, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42346
 *         return sizeof(ccuda.CUDA_MEMCPY2D)
 *     if objType == CUDA_MEMCPY3D_st:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY3D_v2:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_v2)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_MEMCPY3D_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42345
 *     if objType == CUDA_MEMCPY2D:
 *         return sizeof(ccuda.CUDA_MEMCPY2D)
 *     if objType == CUDA_MEMCPY3D_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY3D_st)
 *     if objType == CUDA_MEMCPY3D_v2:
 */
  }

  /* "cuda/cuda.pyx":42347
 *     if objType == CUDA_MEMCPY3D_st:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_st)
 *     if objType == CUDA_MEMCPY3D_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY3D_v2)
 *     if objType == CUDA_MEMCPY3D:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42347, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42348
 *         return sizeof(ccuda.CUDA_MEMCPY3D_st)
 *     if objType == CUDA_MEMCPY3D_v2:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY3D:
 *         return sizeof(ccuda.CUDA_MEMCPY3D)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_MEMCPY3D_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42347
 *     if objType == CUDA_MEMCPY3D_st:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_st)
 *     if objType == CUDA_MEMCPY3D_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY3D_v2)
 *     if objType == CUDA_MEMCPY3D:
 */
  }

  /* "cuda/cuda.pyx":42349
 *     if objType == CUDA_MEMCPY3D_v2:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_v2)
 *     if objType == CUDA_MEMCPY3D:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY3D)
 *     if objType == CUDA_MEMCPY3D_PEER_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42349, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42349, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42350
 *         return sizeof(ccuda.CUDA_MEMCPY3D_v2)
 *     if objType == CUDA_MEMCPY3D:
 *         return sizeof(ccuda.CUDA_MEMCPY3D)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY3D_PEER_st:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_MEMCPY3D))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42350, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42349
 *     if objType == CUDA_MEMCPY3D_v2:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_v2)
 *     if objType == CUDA_MEMCPY3D:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY3D)
 *     if objType == CUDA_MEMCPY3D_PEER_st:
 */
  }

  /* "cuda/cuda.pyx":42351
 *     if objType == CUDA_MEMCPY3D:
 *         return sizeof(ccuda.CUDA_MEMCPY3D)
 *     if objType == CUDA_MEMCPY3D_PEER_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER_st)
 *     if objType == CUDA_MEMCPY3D_PEER_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42351, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42352
 *         return sizeof(ccuda.CUDA_MEMCPY3D)
 *     if objType == CUDA_MEMCPY3D_PEER_st:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY3D_PEER_v1:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_MEMCPY3D_PEER_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42352, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42351
 *     if objType == CUDA_MEMCPY3D:
 *         return sizeof(ccuda.CUDA_MEMCPY3D)
 *     if objType == CUDA_MEMCPY3D_PEER_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER_st)
 *     if objType == CUDA_MEMCPY3D_PEER_v1:
 */
  }

  /* "cuda/cuda.pyx":42353
 *     if objType == CUDA_MEMCPY3D_PEER_st:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER_st)
 *     if objType == CUDA_MEMCPY3D_PEER_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER_v1)
 *     if objType == CUDA_MEMCPY3D_PEER:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42353, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42353, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42354
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER_st)
 *     if objType == CUDA_MEMCPY3D_PEER_v1:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY3D_PEER:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_MEMCPY3D_PEER_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42354, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42353
 *     if objType == CUDA_MEMCPY3D_PEER_st:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER_st)
 *     if objType == CUDA_MEMCPY3D_PEER_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER_v1)
 *     if objType == CUDA_MEMCPY3D_PEER:
 */
  }

  /* "cuda/cuda.pyx":42355
 *     if objType == CUDA_MEMCPY3D_PEER_v1:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER_v1)
 *     if objType == CUDA_MEMCPY3D_PEER:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42355, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42355, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42356
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER_v1)
 *     if objType == CUDA_MEMCPY3D_PEER:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_MEMCPY_NODE_PARAMS_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_MEMCPY3D_PEER))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42356, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42355
 *     if objType == CUDA_MEMCPY3D_PEER_v1:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER_v1)
 *     if objType == CUDA_MEMCPY3D_PEER:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS_st:
 */
  }

  /* "cuda/cuda.pyx":42357
 *     if objType == CUDA_MEMCPY3D_PEER:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY_NODE_PARAMS_st)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42357, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42357, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42358
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_MEMCPY_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEMCPY_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_MEMCPY_NODE_PARAMS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_MEMCPY_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42358, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42357
 *     if objType == CUDA_MEMCPY3D_PEER:
 *         return sizeof(ccuda.CUDA_MEMCPY3D_PEER)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY_NODE_PARAMS_st)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS:
 */
  }

  /* "cuda/cuda.pyx":42359
 *     if objType == CUDA_MEMCPY_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_MEMCPY_NODE_PARAMS_st)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY_NODE_PARAMS)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42359, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42360
 *         return sizeof(ccuda.CUDA_MEMCPY_NODE_PARAMS_st)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_MEMCPY_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_DESCRIPTOR_st:
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_MEMCPY_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42359
 *     if objType == CUDA_MEMCPY_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_MEMCPY_NODE_PARAMS_st)
 *     if objType == CUDA_MEMCPY_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEMCPY_NODE_PARAMS)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_st:
 */
  }

  /* "cuda/cuda.pyx":42361
 *     if objType == CUDA_MEMCPY_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_MEMCPY_NODE_PARAMS)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_v2:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42361, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42361, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42362
 *         return sizeof(ccuda.CUDA_MEMCPY_NODE_PARAMS)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_st:
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_DESCRIPTOR_v2:
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR_v2)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_ARRAY_DESCRIPTOR_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42361
 *     if objType == CUDA_MEMCPY_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_MEMCPY_NODE_PARAMS)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_v2:
 */
  }

  /* "cuda/cuda.pyx":42363
 *     if objType == CUDA_ARRAY_DESCRIPTOR_st:
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY_DESCRIPTOR:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42363, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42363, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42364
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_v2:
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_DESCRIPTOR:
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_ARRAY_DESCRIPTOR_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42363
 *     if objType == CUDA_ARRAY_DESCRIPTOR_st:
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY_DESCRIPTOR_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY_DESCRIPTOR:
 */
  }

  /* "cuda/cuda.pyx":42365
 *     if objType == CUDA_ARRAY_DESCRIPTOR_v2:
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY_DESCRIPTOR:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42365, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42366
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY_DESCRIPTOR:
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_st:
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_ARRAY_DESCRIPTOR))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42366, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42365
 *     if objType == CUDA_ARRAY_DESCRIPTOR_v2:
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY_DESCRIPTOR:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_st:
 */
  }

  /* "cuda/cuda.pyx":42367
 *     if objType == CUDA_ARRAY_DESCRIPTOR:
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_v2:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42367, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42367, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42368
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_st:
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_v2:
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR_v2)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_ARRAY3D_DESCRIPTOR_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42367
 *     if objType == CUDA_ARRAY_DESCRIPTOR:
 *         return sizeof(ccuda.CUDA_ARRAY_DESCRIPTOR)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_v2:
 */
  }

  /* "cuda/cuda.pyx":42369
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_st:
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42369, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42369, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42370
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_v2:
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR:
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_ARRAY3D_DESCRIPTOR_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42370, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42369
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_st:
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR_st)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR:
 */
  }

  /* "cuda/cuda.pyx":42371
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_v2:
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42371, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42372
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR:
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_st:
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_ARRAY3D_DESCRIPTOR))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42371
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR_v2:
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR_v2)
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_st:
 */
  }

  /* "cuda/cuda.pyx":42373
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR:
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_st)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42373, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42373, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42374
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_st:
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_v1:
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_ARRAY_SPARSE_PROPERTIES_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42374, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42373
 *     if objType == CUDA_ARRAY3D_DESCRIPTOR:
 *         return sizeof(ccuda.CUDA_ARRAY3D_DESCRIPTOR)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_st)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_v1:
 */
  }

  /* "cuda/cuda.pyx":42375
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_st:
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_st)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_v1)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42375, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42375, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42376
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_st)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_v1:
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES:
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_ARRAY_SPARSE_PROPERTIES_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42375
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_st:
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_st)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_v1)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES:
 */
  }

  /* "cuda/cuda.pyx":42377
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_v1:
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_v1)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42377, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42377, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42378
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_v1)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES:
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_st:
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_ARRAY_SPARSE_PROPERTIES))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42377
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES_v1:
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES_v1)
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_st:
 */
  }

  /* "cuda/cuda.pyx":42379
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES:
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42379, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42380
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_st:
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_v1:
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_ARRAY_MEMORY_REQUIREMENTS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42380, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42379
 *     if objType == CUDA_ARRAY_SPARSE_PROPERTIES:
 *         return sizeof(ccuda.CUDA_ARRAY_SPARSE_PROPERTIES)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_v1:
 */
  }

  /* "cuda/cuda.pyx":42381
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_st:
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_v1)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42381, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42382
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_v1:
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS:
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_ARRAY_MEMORY_REQUIREMENTS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42382, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42381
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_st:
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_v1)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS:
 */
  }

  /* "cuda/cuda.pyx":42383
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_v1:
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_v1)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS)
 *     if objType == CUDA_RESOURCE_DESC_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42383, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42384
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_v1)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS:
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_RESOURCE_DESC_st:
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_ARRAY_MEMORY_REQUIREMENTS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42383
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS_v1:
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_v1)
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS)
 *     if objType == CUDA_RESOURCE_DESC_st:
 */
  }

  /* "cuda/cuda.pyx":42385
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS:
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS)
 *     if objType == CUDA_RESOURCE_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC_st)
 *     if objType == CUDA_RESOURCE_DESC_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42385, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42385, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42386
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS)
 *     if objType == CUDA_RESOURCE_DESC_st:
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_RESOURCE_DESC_v1:
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_RESOURCE_DESC_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42385
 *     if objType == CUDA_ARRAY_MEMORY_REQUIREMENTS:
 *         return sizeof(ccuda.CUDA_ARRAY_MEMORY_REQUIREMENTS)
 *     if objType == CUDA_RESOURCE_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC_st)
 *     if objType == CUDA_RESOURCE_DESC_v1:
 */
  }

  /* "cuda/cuda.pyx":42387
 *     if objType == CUDA_RESOURCE_DESC_st:
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC_st)
 *     if objType == CUDA_RESOURCE_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC_v1)
 *     if objType == CUDA_RESOURCE_DESC:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42387, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42387, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42388
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC_st)
 *     if objType == CUDA_RESOURCE_DESC_v1:
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_RESOURCE_DESC:
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_RESOURCE_DESC_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42387
 *     if objType == CUDA_RESOURCE_DESC_st:
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC_st)
 *     if objType == CUDA_RESOURCE_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC_v1)
 *     if objType == CUDA_RESOURCE_DESC:
 */
  }

  /* "cuda/cuda.pyx":42389
 *     if objType == CUDA_RESOURCE_DESC_v1:
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC_v1)
 *     if objType == CUDA_RESOURCE_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC)
 *     if objType == CUDA_TEXTURE_DESC_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42389, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42389, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42390
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC_v1)
 *     if objType == CUDA_RESOURCE_DESC:
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_TEXTURE_DESC_st:
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_RESOURCE_DESC))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42390, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42389
 *     if objType == CUDA_RESOURCE_DESC_v1:
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC_v1)
 *     if objType == CUDA_RESOURCE_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC)
 *     if objType == CUDA_TEXTURE_DESC_st:
 */
  }

  /* "cuda/cuda.pyx":42391
 *     if objType == CUDA_RESOURCE_DESC:
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC)
 *     if objType == CUDA_TEXTURE_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC_st)
 *     if objType == CUDA_TEXTURE_DESC_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42391, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42391, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42392
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC)
 *     if objType == CUDA_TEXTURE_DESC_st:
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_TEXTURE_DESC_v1:
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_TEXTURE_DESC_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42391
 *     if objType == CUDA_RESOURCE_DESC:
 *         return sizeof(ccuda.CUDA_RESOURCE_DESC)
 *     if objType == CUDA_TEXTURE_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC_st)
 *     if objType == CUDA_TEXTURE_DESC_v1:
 */
  }

  /* "cuda/cuda.pyx":42393
 *     if objType == CUDA_TEXTURE_DESC_st:
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC_st)
 *     if objType == CUDA_TEXTURE_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC_v1)
 *     if objType == CUDA_TEXTURE_DESC:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42393, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42393, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42394
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC_st)
 *     if objType == CUDA_TEXTURE_DESC_v1:
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_TEXTURE_DESC:
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_TEXTURE_DESC_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42394, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42393
 *     if objType == CUDA_TEXTURE_DESC_st:
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC_st)
 *     if objType == CUDA_TEXTURE_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC_v1)
 *     if objType == CUDA_TEXTURE_DESC:
 */
  }

  /* "cuda/cuda.pyx":42395
 *     if objType == CUDA_TEXTURE_DESC_v1:
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC_v1)
 *     if objType == CUDA_TEXTURE_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42395, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42395, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42396
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC_v1)
 *     if objType == CUDA_TEXTURE_DESC:
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_RESOURCE_VIEW_DESC_st:
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_TEXTURE_DESC))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42396, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42395
 *     if objType == CUDA_TEXTURE_DESC_v1:
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC_v1)
 *     if objType == CUDA_TEXTURE_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_st:
 */
  }

  /* "cuda/cuda.pyx":42397
 *     if objType == CUDA_TEXTURE_DESC:
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC_st)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42397, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42397, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42398
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_st:
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_RESOURCE_VIEW_DESC_v1:
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_RESOURCE_VIEW_DESC_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42397
 *     if objType == CUDA_TEXTURE_DESC:
 *         return sizeof(ccuda.CUDA_TEXTURE_DESC)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC_st)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_v1:
 */
  }

  /* "cuda/cuda.pyx":42399
 *     if objType == CUDA_RESOURCE_VIEW_DESC_st:
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC_st)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC_v1)
 *     if objType == CUDA_RESOURCE_VIEW_DESC:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42399, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42399, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42400
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC_st)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_v1:
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_RESOURCE_VIEW_DESC:
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_RESOURCE_VIEW_DESC_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42400, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42399
 *     if objType == CUDA_RESOURCE_VIEW_DESC_st:
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC_st)
 *     if objType == CUDA_RESOURCE_VIEW_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC_v1)
 *     if objType == CUDA_RESOURCE_VIEW_DESC:
 */
  }

  /* "cuda/cuda.pyx":42401
 *     if objType == CUDA_RESOURCE_VIEW_DESC_v1:
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC_v1)
 *     if objType == CUDA_RESOURCE_VIEW_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC)
 *     if objType == CUtensorMap_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42401, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42401, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42402
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC_v1)
 *     if objType == CUDA_RESOURCE_VIEW_DESC:
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC)             # <<<<<<<<<<<<<<
 *     if objType == CUtensorMap_st:
 *         return sizeof(ccuda.CUtensorMap_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_RESOURCE_VIEW_DESC))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42401
 *     if objType == CUDA_RESOURCE_VIEW_DESC_v1:
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC_v1)
 *     if objType == CUDA_RESOURCE_VIEW_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC)
 *     if objType == CUtensorMap_st:
 */
  }

  /* "cuda/cuda.pyx":42403
 *     if objType == CUDA_RESOURCE_VIEW_DESC:
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC)
 *     if objType == CUtensorMap_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUtensorMap_st)
 *     if objType == CUtensorMap:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUtensorMap_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42403, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42403, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42404
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC)
 *     if objType == CUtensorMap_st:
 *         return sizeof(ccuda.CUtensorMap_st)             # <<<<<<<<<<<<<<
 *     if objType == CUtensorMap:
 *         return sizeof(ccuda.CUtensorMap)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUtensorMap_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42403
 *     if objType == CUDA_RESOURCE_VIEW_DESC:
 *         return sizeof(ccuda.CUDA_RESOURCE_VIEW_DESC)
 *     if objType == CUtensorMap_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUtensorMap_st)
 *     if objType == CUtensorMap:
 */
  }

  /* "cuda/cuda.pyx":42405
 *     if objType == CUtensorMap_st:
 *         return sizeof(ccuda.CUtensorMap_st)
 *     if objType == CUtensorMap:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUtensorMap)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUtensorMap), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42405, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42405, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42406
 *         return sizeof(ccuda.CUtensorMap_st)
 *     if objType == CUtensorMap:
 *         return sizeof(ccuda.CUtensorMap)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUtensorMap))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42405
 *     if objType == CUtensorMap_st:
 *         return sizeof(ccuda.CUtensorMap_st)
 *     if objType == CUtensorMap:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUtensorMap)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:
 */
  }

  /* "cuda/cuda.pyx":42407
 *     if objType == CUtensorMap:
 *         return sizeof(ccuda.CUtensorMap)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42407, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42407, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42408
 *         return sizeof(ccuda.CUtensorMap)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1:
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42407
 *     if objType == CUtensorMap:
 *         return sizeof(ccuda.CUtensorMap)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1:
 */
  }

  /* "cuda/cuda.pyx":42409
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42409, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42409, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42410
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1:
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS:
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42409
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st:
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS:
 */
  }

  /* "cuda/cuda.pyx":42411
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1:
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS)
 *     if objType == CUDA_LAUNCH_PARAMS_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42411, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42411, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42412
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS:
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_LAUNCH_PARAMS_st:
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_POINTER_ATTRIBUTE_P2P_TOKENS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42411
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1:
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1)
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS)
 *     if objType == CUDA_LAUNCH_PARAMS_st:
 */
  }

  /* "cuda/cuda.pyx":42413
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS:
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS)
 *     if objType == CUDA_LAUNCH_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS_st)
 *     if objType == CUDA_LAUNCH_PARAMS_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42413, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42413, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42414
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS)
 *     if objType == CUDA_LAUNCH_PARAMS_st:
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_LAUNCH_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_LAUNCH_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42413
 *     if objType == CUDA_POINTER_ATTRIBUTE_P2P_TOKENS:
 *         return sizeof(ccuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS)
 *     if objType == CUDA_LAUNCH_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS_st)
 *     if objType == CUDA_LAUNCH_PARAMS_v1:
 */
  }

  /* "cuda/cuda.pyx":42415
 *     if objType == CUDA_LAUNCH_PARAMS_st:
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS_st)
 *     if objType == CUDA_LAUNCH_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS_v1)
 *     if objType == CUDA_LAUNCH_PARAMS:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42415, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42415, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42416
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS_st)
 *     if objType == CUDA_LAUNCH_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_LAUNCH_PARAMS:
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_LAUNCH_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42415
 *     if objType == CUDA_LAUNCH_PARAMS_st:
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS_st)
 *     if objType == CUDA_LAUNCH_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS_v1)
 *     if objType == CUDA_LAUNCH_PARAMS:
 */
  }

  /* "cuda/cuda.pyx":42417
 *     if objType == CUDA_LAUNCH_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS_v1)
 *     if objType == CUDA_LAUNCH_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42417, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42417, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42418
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS_v1)
 *     if objType == CUDA_LAUNCH_PARAMS:
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_LAUNCH_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42417
 *     if objType == CUDA_LAUNCH_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS_v1)
 *     if objType == CUDA_LAUNCH_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:
 */
  }

  /* "cuda/cuda.pyx":42419
 *     if objType == CUDA_LAUNCH_PARAMS:
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42419, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42419, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42420
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42419
 *     if objType == CUDA_LAUNCH_PARAMS:
 *         return sizeof(ccuda.CUDA_LAUNCH_PARAMS)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1:
 */
  }

  /* "cuda/cuda.pyx":42421
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42421, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42421, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42422
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42422, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42421
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC:
 */
  }

  /* "cuda/cuda.pyx":42423
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42423, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42423, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42424
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_MEMORY_HANDLE_DESC))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42424, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42423
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:
 */
  }

  /* "cuda/cuda.pyx":42425
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42425, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42425, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42426
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42426, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42425
 *     if objType == CUDA_EXTERNAL_MEMORY_HANDLE_DESC:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1:
 */
  }

  /* "cuda/cuda.pyx":42427
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42427, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42427, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42428
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42428, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42427
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC:
 */
  }

  /* "cuda/cuda.pyx":42429
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42429, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42430
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_MEMORY_BUFFER_DESC))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42430, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42429
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:
 */
  }

  /* "cuda/cuda.pyx":42431
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.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_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42431, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42431, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42432
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42432, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42431
 *     if objType == CUDA_EXTERNAL_MEMORY_BUFFER_DESC:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1:
 */
  }

  /* "cuda/cuda.pyx":42433
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.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_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42433, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42433, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42434
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42433
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC:
 */
  }

  /* "cuda/cuda.pyx":42435
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42435, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42435, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42436
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42436, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42435
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1)
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:
 */
  }

  /* "cuda/cuda.pyx":42437
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42437, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42437, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42438
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42437
 *     if objType == CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC:
 *         return sizeof(ccuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1:
 */
  }

  /* "cuda/cuda.pyx":42439
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42439, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42439, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42440
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42439
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC:
 */
  }

  /* "cuda/cuda.pyx":42441
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42441, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42441, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42442
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42441
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:
 */
  }

  /* "cuda/cuda.pyx":42443
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42443, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42443, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42444
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42443
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1:
 */
  }

  /* "cuda/cuda.pyx":42445
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42445, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42445, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42446
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42445
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS:
 */
  }

  /* "cuda/cuda.pyx":42447
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42447, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42447, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42448
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42448, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42447
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:
 */
  }

  /* "cuda/cuda.pyx":42449
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42449, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42450
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42450, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42449
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1:
 */
  }

  /* "cuda/cuda.pyx":42451
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42451, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42451, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42452
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42452, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42451
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS:
 */
  }

  /* "cuda/cuda.pyx":42453
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42453, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42453, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42454
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42454, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42453
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1)
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:
 */
  }

  /* "cuda/cuda.pyx":42455
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.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_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42455, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42455, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42456
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42456, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42455
 *     if objType == CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS:
 *         return sizeof(ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1:
 */
  }

  /* "cuda/cuda.pyx":42457
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.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_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42457, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42457, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42458
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42458, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42457
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS:
 */
  }

  /* "cuda/cuda.pyx":42459
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.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_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42459, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42459, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42460
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXT_SEM_SIGNAL_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42460, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42459
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:
 */
  }

  /* "cuda/cuda.pyx":42461
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.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_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42461, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42461, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42462
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42462, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42461
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2:
 */
  }

  /* "cuda/cuda.pyx":42463
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.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_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42463, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42464
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42463
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:
 */
  }

  /* "cuda/cuda.pyx":42465
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.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_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42465, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42465, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42466
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42465
 *     if objType == CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1:
 */
  }

  /* "cuda/cuda.pyx":42467
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.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_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42467, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42467, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42468
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42467
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS:
 */
  }

  /* "cuda/cuda.pyx":42469
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.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_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42469, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42470
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXT_SEM_WAIT_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42469
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:
 */
  }

  /* "cuda/cuda.pyx":42471
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.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_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42471, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42471, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42472
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42471
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2:
 */
  }

  /* "cuda/cuda.pyx":42473
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2)
 *     if objType == CUmemGenericAllocationHandle_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42473, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42473, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42474
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUmemGenericAllocationHandle_v1:
 *         return sizeof(ccuda.CUmemGenericAllocationHandle_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42474, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42473
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st)
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2)
 *     if objType == CUmemGenericAllocationHandle_v1:
 */
  }

  /* "cuda/cuda.pyx":42475
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2)
 *     if objType == CUmemGenericAllocationHandle_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemGenericAllocationHandle_v1)
 *     if objType == CUmemGenericAllocationHandle:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42475, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42475, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42476
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2)
 *     if objType == CUmemGenericAllocationHandle_v1:
 *         return sizeof(ccuda.CUmemGenericAllocationHandle_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmemGenericAllocationHandle:
 *         return sizeof(ccuda.CUmemGenericAllocationHandle)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmemGenericAllocationHandle_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42476, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42475
 *     if objType == CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2)
 *     if objType == CUmemGenericAllocationHandle_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemGenericAllocationHandle_v1)
 *     if objType == CUmemGenericAllocationHandle:
 */
  }

  /* "cuda/cuda.pyx":42477
 *     if objType == CUmemGenericAllocationHandle_v1:
 *         return sizeof(ccuda.CUmemGenericAllocationHandle_v1)
 *     if objType == CUmemGenericAllocationHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemGenericAllocationHandle)
 *     if objType == CUarrayMapInfo_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42477, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42477, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42478
 *         return sizeof(ccuda.CUmemGenericAllocationHandle_v1)
 *     if objType == CUmemGenericAllocationHandle:
 *         return sizeof(ccuda.CUmemGenericAllocationHandle)             # <<<<<<<<<<<<<<
 *     if objType == CUarrayMapInfo_st:
 *         return sizeof(ccuda.CUarrayMapInfo_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmemGenericAllocationHandle))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42478, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42477
 *     if objType == CUmemGenericAllocationHandle_v1:
 *         return sizeof(ccuda.CUmemGenericAllocationHandle_v1)
 *     if objType == CUmemGenericAllocationHandle:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemGenericAllocationHandle)
 *     if objType == CUarrayMapInfo_st:
 */
  }

  /* "cuda/cuda.pyx":42479
 *     if objType == CUmemGenericAllocationHandle:
 *         return sizeof(ccuda.CUmemGenericAllocationHandle)
 *     if objType == CUarrayMapInfo_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUarrayMapInfo_st)
 *     if objType == CUarrayMapInfo_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42479, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42479, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42480
 *         return sizeof(ccuda.CUmemGenericAllocationHandle)
 *     if objType == CUarrayMapInfo_st:
 *         return sizeof(ccuda.CUarrayMapInfo_st)             # <<<<<<<<<<<<<<
 *     if objType == CUarrayMapInfo_v1:
 *         return sizeof(ccuda.CUarrayMapInfo_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUarrayMapInfo_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42479
 *     if objType == CUmemGenericAllocationHandle:
 *         return sizeof(ccuda.CUmemGenericAllocationHandle)
 *     if objType == CUarrayMapInfo_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUarrayMapInfo_st)
 *     if objType == CUarrayMapInfo_v1:
 */
  }

  /* "cuda/cuda.pyx":42481
 *     if objType == CUarrayMapInfo_st:
 *         return sizeof(ccuda.CUarrayMapInfo_st)
 *     if objType == CUarrayMapInfo_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUarrayMapInfo_v1)
 *     if objType == CUarrayMapInfo:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42481, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42481, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42482
 *         return sizeof(ccuda.CUarrayMapInfo_st)
 *     if objType == CUarrayMapInfo_v1:
 *         return sizeof(ccuda.CUarrayMapInfo_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUarrayMapInfo:
 *         return sizeof(ccuda.CUarrayMapInfo)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUarrayMapInfo_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42481
 *     if objType == CUarrayMapInfo_st:
 *         return sizeof(ccuda.CUarrayMapInfo_st)
 *     if objType == CUarrayMapInfo_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUarrayMapInfo_v1)
 *     if objType == CUarrayMapInfo:
 */
  }

  /* "cuda/cuda.pyx":42483
 *     if objType == CUarrayMapInfo_v1:
 *         return sizeof(ccuda.CUarrayMapInfo_v1)
 *     if objType == CUarrayMapInfo:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUarrayMapInfo)
 *     if objType == CUmemLocation_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUarrayMapInfo), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42483, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42483, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42484
 *         return sizeof(ccuda.CUarrayMapInfo_v1)
 *     if objType == CUarrayMapInfo:
 *         return sizeof(ccuda.CUarrayMapInfo)             # <<<<<<<<<<<<<<
 *     if objType == CUmemLocation_st:
 *         return sizeof(ccuda.CUmemLocation_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUarrayMapInfo))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42483
 *     if objType == CUarrayMapInfo_v1:
 *         return sizeof(ccuda.CUarrayMapInfo_v1)
 *     if objType == CUarrayMapInfo:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUarrayMapInfo)
 *     if objType == CUmemLocation_st:
 */
  }

  /* "cuda/cuda.pyx":42485
 *     if objType == CUarrayMapInfo:
 *         return sizeof(ccuda.CUarrayMapInfo)
 *     if objType == CUmemLocation_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemLocation_st)
 *     if objType == CUmemLocation_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemLocation_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42485, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42485, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42486
 *         return sizeof(ccuda.CUarrayMapInfo)
 *     if objType == CUmemLocation_st:
 *         return sizeof(ccuda.CUmemLocation_st)             # <<<<<<<<<<<<<<
 *     if objType == CUmemLocation_v1:
 *         return sizeof(ccuda.CUmemLocation_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUmemLocation_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42485
 *     if objType == CUarrayMapInfo:
 *         return sizeof(ccuda.CUarrayMapInfo)
 *     if objType == CUmemLocation_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemLocation_st)
 *     if objType == CUmemLocation_v1:
 */
  }

  /* "cuda/cuda.pyx":42487
 *     if objType == CUmemLocation_st:
 *         return sizeof(ccuda.CUmemLocation_st)
 *     if objType == CUmemLocation_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemLocation_v1)
 *     if objType == CUmemLocation:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemLocation_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42487, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42487, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42488
 *         return sizeof(ccuda.CUmemLocation_st)
 *     if objType == CUmemLocation_v1:
 *         return sizeof(ccuda.CUmemLocation_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmemLocation:
 *         return sizeof(ccuda.CUmemLocation)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmemLocation_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42488, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42487
 *     if objType == CUmemLocation_st:
 *         return sizeof(ccuda.CUmemLocation_st)
 *     if objType == CUmemLocation_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemLocation_v1)
 *     if objType == CUmemLocation:
 */
  }

  /* "cuda/cuda.pyx":42489
 *     if objType == CUmemLocation_v1:
 *         return sizeof(ccuda.CUmemLocation_v1)
 *     if objType == CUmemLocation:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemLocation)
 *     if objType == CUmemAllocationProp_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemLocation), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42489, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42490
 *         return sizeof(ccuda.CUmemLocation_v1)
 *     if objType == CUmemLocation:
 *         return sizeof(ccuda.CUmemLocation)             # <<<<<<<<<<<<<<
 *     if objType == CUmemAllocationProp_st:
 *         return sizeof(ccuda.CUmemAllocationProp_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmemLocation))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42490, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42489
 *     if objType == CUmemLocation_v1:
 *         return sizeof(ccuda.CUmemLocation_v1)
 *     if objType == CUmemLocation:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemLocation)
 *     if objType == CUmemAllocationProp_st:
 */
  }

  /* "cuda/cuda.pyx":42491
 *     if objType == CUmemLocation:
 *         return sizeof(ccuda.CUmemLocation)
 *     if objType == CUmemAllocationProp_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemAllocationProp_st)
 *     if objType == CUmemAllocationProp_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42491, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42491, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42492
 *         return sizeof(ccuda.CUmemLocation)
 *     if objType == CUmemAllocationProp_st:
 *         return sizeof(ccuda.CUmemAllocationProp_st)             # <<<<<<<<<<<<<<
 *     if objType == CUmemAllocationProp_v1:
 *         return sizeof(ccuda.CUmemAllocationProp_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUmemAllocationProp_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42492, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42491
 *     if objType == CUmemLocation:
 *         return sizeof(ccuda.CUmemLocation)
 *     if objType == CUmemAllocationProp_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemAllocationProp_st)
 *     if objType == CUmemAllocationProp_v1:
 */
  }

  /* "cuda/cuda.pyx":42493
 *     if objType == CUmemAllocationProp_st:
 *         return sizeof(ccuda.CUmemAllocationProp_st)
 *     if objType == CUmemAllocationProp_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemAllocationProp_v1)
 *     if objType == CUmemAllocationProp:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42493, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42493, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42494
 *         return sizeof(ccuda.CUmemAllocationProp_st)
 *     if objType == CUmemAllocationProp_v1:
 *         return sizeof(ccuda.CUmemAllocationProp_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmemAllocationProp:
 *         return sizeof(ccuda.CUmemAllocationProp)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmemAllocationProp_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42493
 *     if objType == CUmemAllocationProp_st:
 *         return sizeof(ccuda.CUmemAllocationProp_st)
 *     if objType == CUmemAllocationProp_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemAllocationProp_v1)
 *     if objType == CUmemAllocationProp:
 */
  }

  /* "cuda/cuda.pyx":42495
 *     if objType == CUmemAllocationProp_v1:
 *         return sizeof(ccuda.CUmemAllocationProp_v1)
 *     if objType == CUmemAllocationProp:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemAllocationProp)
 *     if objType == CUmulticastObjectProp_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemAllocationProp), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42495, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42495, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42496
 *         return sizeof(ccuda.CUmemAllocationProp_v1)
 *     if objType == CUmemAllocationProp:
 *         return sizeof(ccuda.CUmemAllocationProp)             # <<<<<<<<<<<<<<
 *     if objType == CUmulticastObjectProp_st:
 *         return sizeof(ccuda.CUmulticastObjectProp_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmemAllocationProp))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42495
 *     if objType == CUmemAllocationProp_v1:
 *         return sizeof(ccuda.CUmemAllocationProp_v1)
 *     if objType == CUmemAllocationProp:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemAllocationProp)
 *     if objType == CUmulticastObjectProp_st:
 */
  }

  /* "cuda/cuda.pyx":42497
 *     if objType == CUmemAllocationProp:
 *         return sizeof(ccuda.CUmemAllocationProp)
 *     if objType == CUmulticastObjectProp_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmulticastObjectProp_st)
 *     if objType == CUmulticastObjectProp_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42497, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42497, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42498
 *         return sizeof(ccuda.CUmemAllocationProp)
 *     if objType == CUmulticastObjectProp_st:
 *         return sizeof(ccuda.CUmulticastObjectProp_st)             # <<<<<<<<<<<<<<
 *     if objType == CUmulticastObjectProp_v1:
 *         return sizeof(ccuda.CUmulticastObjectProp_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUmulticastObjectProp_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42497
 *     if objType == CUmemAllocationProp:
 *         return sizeof(ccuda.CUmemAllocationProp)
 *     if objType == CUmulticastObjectProp_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmulticastObjectProp_st)
 *     if objType == CUmulticastObjectProp_v1:
 */
  }

  /* "cuda/cuda.pyx":42499
 *     if objType == CUmulticastObjectProp_st:
 *         return sizeof(ccuda.CUmulticastObjectProp_st)
 *     if objType == CUmulticastObjectProp_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmulticastObjectProp_v1)
 *     if objType == CUmulticastObjectProp:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42499, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42499, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42500
 *         return sizeof(ccuda.CUmulticastObjectProp_st)
 *     if objType == CUmulticastObjectProp_v1:
 *         return sizeof(ccuda.CUmulticastObjectProp_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmulticastObjectProp:
 *         return sizeof(ccuda.CUmulticastObjectProp)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmulticastObjectProp_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42500, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42499
 *     if objType == CUmulticastObjectProp_st:
 *         return sizeof(ccuda.CUmulticastObjectProp_st)
 *     if objType == CUmulticastObjectProp_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmulticastObjectProp_v1)
 *     if objType == CUmulticastObjectProp:
 */
  }

  /* "cuda/cuda.pyx":42501
 *     if objType == CUmulticastObjectProp_v1:
 *         return sizeof(ccuda.CUmulticastObjectProp_v1)
 *     if objType == CUmulticastObjectProp:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmulticastObjectProp)
 *     if objType == CUmemAccessDesc_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42501, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42501, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42502
 *         return sizeof(ccuda.CUmulticastObjectProp_v1)
 *     if objType == CUmulticastObjectProp:
 *         return sizeof(ccuda.CUmulticastObjectProp)             # <<<<<<<<<<<<<<
 *     if objType == CUmemAccessDesc_st:
 *         return sizeof(ccuda.CUmemAccessDesc_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmulticastObjectProp))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42501
 *     if objType == CUmulticastObjectProp_v1:
 *         return sizeof(ccuda.CUmulticastObjectProp_v1)
 *     if objType == CUmulticastObjectProp:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmulticastObjectProp)
 *     if objType == CUmemAccessDesc_st:
 */
  }

  /* "cuda/cuda.pyx":42503
 *     if objType == CUmulticastObjectProp:
 *         return sizeof(ccuda.CUmulticastObjectProp)
 *     if objType == CUmemAccessDesc_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemAccessDesc_st)
 *     if objType == CUmemAccessDesc_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42503, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42503, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42504
 *         return sizeof(ccuda.CUmulticastObjectProp)
 *     if objType == CUmemAccessDesc_st:
 *         return sizeof(ccuda.CUmemAccessDesc_st)             # <<<<<<<<<<<<<<
 *     if objType == CUmemAccessDesc_v1:
 *         return sizeof(ccuda.CUmemAccessDesc_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUmemAccessDesc_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42504, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42503
 *     if objType == CUmulticastObjectProp:
 *         return sizeof(ccuda.CUmulticastObjectProp)
 *     if objType == CUmemAccessDesc_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemAccessDesc_st)
 *     if objType == CUmemAccessDesc_v1:
 */
  }

  /* "cuda/cuda.pyx":42505
 *     if objType == CUmemAccessDesc_st:
 *         return sizeof(ccuda.CUmemAccessDesc_st)
 *     if objType == CUmemAccessDesc_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemAccessDesc_v1)
 *     if objType == CUmemAccessDesc:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42505, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42505, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42506
 *         return sizeof(ccuda.CUmemAccessDesc_st)
 *     if objType == CUmemAccessDesc_v1:
 *         return sizeof(ccuda.CUmemAccessDesc_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmemAccessDesc:
 *         return sizeof(ccuda.CUmemAccessDesc)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmemAccessDesc_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42506, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42505
 *     if objType == CUmemAccessDesc_st:
 *         return sizeof(ccuda.CUmemAccessDesc_st)
 *     if objType == CUmemAccessDesc_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemAccessDesc_v1)
 *     if objType == CUmemAccessDesc:
 */
  }

  /* "cuda/cuda.pyx":42507
 *     if objType == CUmemAccessDesc_v1:
 *         return sizeof(ccuda.CUmemAccessDesc_v1)
 *     if objType == CUmemAccessDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemAccessDesc)
 *     if objType == CUgraphExecUpdateResultInfo_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemAccessDesc), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42507, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42507, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42508
 *         return sizeof(ccuda.CUmemAccessDesc_v1)
 *     if objType == CUmemAccessDesc:
 *         return sizeof(ccuda.CUmemAccessDesc)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphExecUpdateResultInfo_st:
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmemAccessDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42507
 *     if objType == CUmemAccessDesc_v1:
 *         return sizeof(ccuda.CUmemAccessDesc_v1)
 *     if objType == CUmemAccessDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemAccessDesc)
 *     if objType == CUgraphExecUpdateResultInfo_st:
 */
  }

  /* "cuda/cuda.pyx":42509
 *     if objType == CUmemAccessDesc:
 *         return sizeof(ccuda.CUmemAccessDesc)
 *     if objType == CUgraphExecUpdateResultInfo_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo_st)
 *     if objType == CUgraphExecUpdateResultInfo_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42509, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42509, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42510
 *         return sizeof(ccuda.CUmemAccessDesc)
 *     if objType == CUgraphExecUpdateResultInfo_st:
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo_st)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphExecUpdateResultInfo_v1:
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUgraphExecUpdateResultInfo_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42509
 *     if objType == CUmemAccessDesc:
 *         return sizeof(ccuda.CUmemAccessDesc)
 *     if objType == CUgraphExecUpdateResultInfo_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo_st)
 *     if objType == CUgraphExecUpdateResultInfo_v1:
 */
  }

  /* "cuda/cuda.pyx":42511
 *     if objType == CUgraphExecUpdateResultInfo_st:
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo_st)
 *     if objType == CUgraphExecUpdateResultInfo_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo_v1)
 *     if objType == CUgraphExecUpdateResultInfo:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42511, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42511, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42512
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo_st)
 *     if objType == CUgraphExecUpdateResultInfo_v1:
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphExecUpdateResultInfo:
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphExecUpdateResultInfo_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42511
 *     if objType == CUgraphExecUpdateResultInfo_st:
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo_st)
 *     if objType == CUgraphExecUpdateResultInfo_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo_v1)
 *     if objType == CUgraphExecUpdateResultInfo:
 */
  }

  /* "cuda/cuda.pyx":42513
 *     if objType == CUgraphExecUpdateResultInfo_v1:
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo_v1)
 *     if objType == CUgraphExecUpdateResultInfo:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo)
 *     if objType == CUmemPoolProps_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42513, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42513, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42514
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo_v1)
 *     if objType == CUgraphExecUpdateResultInfo:
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo)             # <<<<<<<<<<<<<<
 *     if objType == CUmemPoolProps_st:
 *         return sizeof(ccuda.CUmemPoolProps_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphExecUpdateResultInfo))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42514, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42513
 *     if objType == CUgraphExecUpdateResultInfo_v1:
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo_v1)
 *     if objType == CUgraphExecUpdateResultInfo:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo)
 *     if objType == CUmemPoolProps_st:
 */
  }

  /* "cuda/cuda.pyx":42515
 *     if objType == CUgraphExecUpdateResultInfo:
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo)
 *     if objType == CUmemPoolProps_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemPoolProps_st)
 *     if objType == CUmemPoolProps_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemPoolProps_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42515, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42515, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42516
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo)
 *     if objType == CUmemPoolProps_st:
 *         return sizeof(ccuda.CUmemPoolProps_st)             # <<<<<<<<<<<<<<
 *     if objType == CUmemPoolProps_v1:
 *         return sizeof(ccuda.CUmemPoolProps_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUmemPoolProps_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42515
 *     if objType == CUgraphExecUpdateResultInfo:
 *         return sizeof(ccuda.CUgraphExecUpdateResultInfo)
 *     if objType == CUmemPoolProps_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemPoolProps_st)
 *     if objType == CUmemPoolProps_v1:
 */
  }

  /* "cuda/cuda.pyx":42517
 *     if objType == CUmemPoolProps_st:
 *         return sizeof(ccuda.CUmemPoolProps_st)
 *     if objType == CUmemPoolProps_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemPoolProps_v1)
 *     if objType == CUmemPoolProps:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42517, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42517, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42518
 *         return sizeof(ccuda.CUmemPoolProps_st)
 *     if objType == CUmemPoolProps_v1:
 *         return sizeof(ccuda.CUmemPoolProps_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmemPoolProps:
 *         return sizeof(ccuda.CUmemPoolProps)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmemPoolProps_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42518, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42517
 *     if objType == CUmemPoolProps_st:
 *         return sizeof(ccuda.CUmemPoolProps_st)
 *     if objType == CUmemPoolProps_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemPoolProps_v1)
 *     if objType == CUmemPoolProps:
 */
  }

  /* "cuda/cuda.pyx":42519
 *     if objType == CUmemPoolProps_v1:
 *         return sizeof(ccuda.CUmemPoolProps_v1)
 *     if objType == CUmemPoolProps:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemPoolProps)
 *     if objType == CUmemPoolPtrExportData_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemPoolProps), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42519, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42519, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42520
 *         return sizeof(ccuda.CUmemPoolProps_v1)
 *     if objType == CUmemPoolProps:
 *         return sizeof(ccuda.CUmemPoolProps)             # <<<<<<<<<<<<<<
 *     if objType == CUmemPoolPtrExportData_st:
 *         return sizeof(ccuda.CUmemPoolPtrExportData_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmemPoolProps))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42520, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42519
 *     if objType == CUmemPoolProps_v1:
 *         return sizeof(ccuda.CUmemPoolProps_v1)
 *     if objType == CUmemPoolProps:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemPoolProps)
 *     if objType == CUmemPoolPtrExportData_st:
 */
  }

  /* "cuda/cuda.pyx":42521
 *     if objType == CUmemPoolProps:
 *         return sizeof(ccuda.CUmemPoolProps)
 *     if objType == CUmemPoolPtrExportData_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemPoolPtrExportData_st)
 *     if objType == CUmemPoolPtrExportData_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42521, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42521, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42522
 *         return sizeof(ccuda.CUmemPoolProps)
 *     if objType == CUmemPoolPtrExportData_st:
 *         return sizeof(ccuda.CUmemPoolPtrExportData_st)             # <<<<<<<<<<<<<<
 *     if objType == CUmemPoolPtrExportData_v1:
 *         return sizeof(ccuda.CUmemPoolPtrExportData_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUmemPoolPtrExportData_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42521
 *     if objType == CUmemPoolProps:
 *         return sizeof(ccuda.CUmemPoolProps)
 *     if objType == CUmemPoolPtrExportData_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemPoolPtrExportData_st)
 *     if objType == CUmemPoolPtrExportData_v1:
 */
  }

  /* "cuda/cuda.pyx":42523
 *     if objType == CUmemPoolPtrExportData_st:
 *         return sizeof(ccuda.CUmemPoolPtrExportData_st)
 *     if objType == CUmemPoolPtrExportData_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemPoolPtrExportData_v1)
 *     if objType == CUmemPoolPtrExportData:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42523, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42523, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42524
 *         return sizeof(ccuda.CUmemPoolPtrExportData_st)
 *     if objType == CUmemPoolPtrExportData_v1:
 *         return sizeof(ccuda.CUmemPoolPtrExportData_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUmemPoolPtrExportData:
 *         return sizeof(ccuda.CUmemPoolPtrExportData)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmemPoolPtrExportData_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42524, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42523
 *     if objType == CUmemPoolPtrExportData_st:
 *         return sizeof(ccuda.CUmemPoolPtrExportData_st)
 *     if objType == CUmemPoolPtrExportData_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemPoolPtrExportData_v1)
 *     if objType == CUmemPoolPtrExportData:
 */
  }

  /* "cuda/cuda.pyx":42525
 *     if objType == CUmemPoolPtrExportData_v1:
 *         return sizeof(ccuda.CUmemPoolPtrExportData_v1)
 *     if objType == CUmemPoolPtrExportData:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemPoolPtrExportData)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42525, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42525, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42526
 *         return sizeof(ccuda.CUmemPoolPtrExportData_v1)
 *     if objType == CUmemPoolPtrExportData:
 *         return sizeof(ccuda.CUmemPoolPtrExportData)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUmemPoolPtrExportData))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42525
 *     if objType == CUmemPoolPtrExportData_v1:
 *         return sizeof(ccuda.CUmemPoolPtrExportData_v1)
 *     if objType == CUmemPoolPtrExportData:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUmemPoolPtrExportData)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:
 */
  }

  /* "cuda/cuda.pyx":42527
 *     if objType == CUmemPoolPtrExportData:
 *         return sizeof(ccuda.CUmemPoolPtrExportData)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.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_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42527, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42527, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42528
 *         return sizeof(ccuda.CUmemPoolPtrExportData)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_MEM_ALLOC_NODE_PARAMS_v1_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42527
 *     if objType == CUmemPoolPtrExportData:
 *         return sizeof(ccuda.CUmemPoolPtrExportData)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1:
 */
  }

  /* "cuda/cuda.pyx":42529
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42529, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42529, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42530
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_MEM_ALLOC_NODE_PARAMS_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42529
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1_st:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS:
 */
  }

  /* "cuda/cuda.pyx":42531
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42531, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42532
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_MEM_ALLOC_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42532, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42531
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v1:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:
 */
  }

  /* "cuda/cuda.pyx":42533
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.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_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42533, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42533, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42534
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_MEM_ALLOC_NODE_PARAMS_v2_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42533
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2:
 */
  }

  /* "cuda/cuda.pyx":42535
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42535, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42535, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42536
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_MEM_FREE_NODE_PARAMS_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_MEM_ALLOC_NODE_PARAMS_v2))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42535
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2_st:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st)
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS_st:
 */
  }

  /* "cuda/cuda.pyx":42537
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEM_FREE_NODE_PARAMS_st)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42537, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42537, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42538
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_MEM_FREE_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_MEM_FREE_NODE_PARAMS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_MEM_FREE_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42538, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42537
 *     if objType == CUDA_MEM_ALLOC_NODE_PARAMS_v2:
 *         return sizeof(ccuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEM_FREE_NODE_PARAMS_st)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS:
 */
  }

  /* "cuda/cuda.pyx":42539
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_MEM_FREE_NODE_PARAMS_st)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEM_FREE_NODE_PARAMS)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42539, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42539, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42540
 *         return sizeof(ccuda.CUDA_MEM_FREE_NODE_PARAMS_st)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_MEM_FREE_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_MEM_FREE_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42539
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_MEM_FREE_NODE_PARAMS_st)
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_MEM_FREE_NODE_PARAMS)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS_st:
 */
  }

  /* "cuda/cuda.pyx":42541
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_MEM_FREE_NODE_PARAMS)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42541, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42541, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42542
 *         return sizeof(ccuda.CUDA_MEM_FREE_NODE_PARAMS)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_CHILD_GRAPH_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42542, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42541
 *     if objType == CUDA_MEM_FREE_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_MEM_FREE_NODE_PARAMS)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS:
 */
  }

  /* "cuda/cuda.pyx":42543
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42543, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42543, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42544
 *         return sizeof(ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EVENT_RECORD_NODE_PARAMS_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_CHILD_GRAPH_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42544, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42543
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st)
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS_st:
 */
  }

  /* "cuda/cuda.pyx":42545
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EVENT_RECORD_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42545, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42545, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42546
 *         return sizeof(ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EVENT_RECORD_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_EVENT_RECORD_NODE_PARAMS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_EVENT_RECORD_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42546, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42545
 *     if objType == CUDA_CHILD_GRAPH_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_CHILD_GRAPH_NODE_PARAMS)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EVENT_RECORD_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS:
 */
  }

  /* "cuda/cuda.pyx":42547
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EVENT_RECORD_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EVENT_RECORD_NODE_PARAMS)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42547, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42547, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42548
 *         return sizeof(ccuda.CUDA_EVENT_RECORD_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_EVENT_RECORD_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EVENT_WAIT_NODE_PARAMS_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EVENT_RECORD_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42548, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42547
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EVENT_RECORD_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EVENT_RECORD_NODE_PARAMS)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS_st:
 */
  }

  /* "cuda/cuda.pyx":42549
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_EVENT_RECORD_NODE_PARAMS)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EVENT_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42549, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42549, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42550
 *         return sizeof(ccuda.CUDA_EVENT_RECORD_NODE_PARAMS)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EVENT_WAIT_NODE_PARAMS_st)             # <<<<<<<<<<<<<<
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_EVENT_WAIT_NODE_PARAMS)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUDA_EVENT_WAIT_NODE_PARAMS_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42549
 *     if objType == CUDA_EVENT_RECORD_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_EVENT_RECORD_NODE_PARAMS)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EVENT_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS:
 */
  }

  /* "cuda/cuda.pyx":42551
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EVENT_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EVENT_WAIT_NODE_PARAMS)
 *     if objType == CUgraphNodeParams_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42551, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42551, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42552
 *         return sizeof(ccuda.CUDA_EVENT_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_EVENT_WAIT_NODE_PARAMS)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphNodeParams_st:
 *         return sizeof(ccuda.CUgraphNodeParams_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUDA_EVENT_WAIT_NODE_PARAMS))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42551
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS_st:
 *         return sizeof(ccuda.CUDA_EVENT_WAIT_NODE_PARAMS_st)
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUDA_EVENT_WAIT_NODE_PARAMS)
 *     if objType == CUgraphNodeParams_st:
 */
  }

  /* "cuda/cuda.pyx":42553
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_EVENT_WAIT_NODE_PARAMS)
 *     if objType == CUgraphNodeParams_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphNodeParams_st)
 *     if objType == CUgraphNodeParams:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42553, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42553, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42554
 *         return sizeof(ccuda.CUDA_EVENT_WAIT_NODE_PARAMS)
 *     if objType == CUgraphNodeParams_st:
 *         return sizeof(ccuda.CUgraphNodeParams_st)             # <<<<<<<<<<<<<<
 *     if objType == CUgraphNodeParams:
 *         return sizeof(ccuda.CUgraphNodeParams)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUgraphNodeParams_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42554, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42553
 *     if objType == CUDA_EVENT_WAIT_NODE_PARAMS:
 *         return sizeof(ccuda.CUDA_EVENT_WAIT_NODE_PARAMS)
 *     if objType == CUgraphNodeParams_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphNodeParams_st)
 *     if objType == CUgraphNodeParams:
 */
  }

  /* "cuda/cuda.pyx":42555
 *     if objType == CUgraphNodeParams_st:
 *         return sizeof(ccuda.CUgraphNodeParams_st)
 *     if objType == CUgraphNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphNodeParams)
 *     if objType == CUgreenCtx:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNodeParams), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42555, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42555, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42556
 *         return sizeof(ccuda.CUgraphNodeParams_st)
 *     if objType == CUgraphNodeParams:
 *         return sizeof(ccuda.CUgraphNodeParams)             # <<<<<<<<<<<<<<
 *     if objType == CUgreenCtx:
 *         return sizeof(ccuda.CUgreenCtx)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgraphNodeParams))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42555
 *     if objType == CUgraphNodeParams_st:
 *         return sizeof(ccuda.CUgraphNodeParams_st)
 *     if objType == CUgraphNodeParams:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgraphNodeParams)
 *     if objType == CUgreenCtx:
 */
  }

  /* "cuda/cuda.pyx":42557
 *     if objType == CUgraphNodeParams:
 *         return sizeof(ccuda.CUgraphNodeParams)
 *     if objType == CUgreenCtx:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgreenCtx)
 *     if objType == CUdevResourceDesc:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUgreenCtx), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42557, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42557, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42558
 *         return sizeof(ccuda.CUgraphNodeParams)
 *     if objType == CUgreenCtx:
 *         return sizeof(ccuda.CUgreenCtx)             # <<<<<<<<<<<<<<
 *     if objType == CUdevResourceDesc:
 *         return sizeof(ccuda.CUdevResourceDesc)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUgreenCtx))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42557
 *     if objType == CUgraphNodeParams:
 *         return sizeof(ccuda.CUgraphNodeParams)
 *     if objType == CUgreenCtx:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUgreenCtx)
 *     if objType == CUdevResourceDesc:
 */
  }

  /* "cuda/cuda.pyx":42559
 *     if objType == CUgreenCtx:
 *         return sizeof(ccuda.CUgreenCtx)
 *     if objType == CUdevResourceDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevResourceDesc)
 *     if objType == CUdevSmResource_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevResourceDesc), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42559, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42559, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42560
 *         return sizeof(ccuda.CUgreenCtx)
 *     if objType == CUdevResourceDesc:
 *         return sizeof(ccuda.CUdevResourceDesc)             # <<<<<<<<<<<<<<
 *     if objType == CUdevSmResource_st:
 *         return sizeof(ccuda.CUdevSmResource_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUdevResourceDesc))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42559
 *     if objType == CUgreenCtx:
 *         return sizeof(ccuda.CUgreenCtx)
 *     if objType == CUdevResourceDesc:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevResourceDesc)
 *     if objType == CUdevSmResource_st:
 */
  }

  /* "cuda/cuda.pyx":42561
 *     if objType == CUdevResourceDesc:
 *         return sizeof(ccuda.CUdevResourceDesc)
 *     if objType == CUdevSmResource_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevSmResource_st)
 *     if objType == CUdevSmResource:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevSmResource_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42561, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42562
 *         return sizeof(ccuda.CUdevResourceDesc)
 *     if objType == CUdevSmResource_st:
 *         return sizeof(ccuda.CUdevSmResource_st)             # <<<<<<<<<<<<<<
 *     if objType == CUdevSmResource:
 *         return sizeof(ccuda.CUdevSmResource)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUdevSmResource_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42561
 *     if objType == CUdevResourceDesc:
 *         return sizeof(ccuda.CUdevResourceDesc)
 *     if objType == CUdevSmResource_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevSmResource_st)
 *     if objType == CUdevSmResource:
 */
  }

  /* "cuda/cuda.pyx":42563
 *     if objType == CUdevSmResource_st:
 *         return sizeof(ccuda.CUdevSmResource_st)
 *     if objType == CUdevSmResource:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevSmResource)
 *     if objType == CUdevResource_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevSmResource), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42563, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42563, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42564
 *         return sizeof(ccuda.CUdevSmResource_st)
 *     if objType == CUdevSmResource:
 *         return sizeof(ccuda.CUdevSmResource)             # <<<<<<<<<<<<<<
 *     if objType == CUdevResource_st:
 *         return sizeof(ccuda.CUdevResource_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUdevSmResource))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42563
 *     if objType == CUdevSmResource_st:
 *         return sizeof(ccuda.CUdevSmResource_st)
 *     if objType == CUdevSmResource:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevSmResource)
 *     if objType == CUdevResource_st:
 */
  }

  /* "cuda/cuda.pyx":42565
 *     if objType == CUdevSmResource:
 *         return sizeof(ccuda.CUdevSmResource)
 *     if objType == CUdevResource_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevResource_st)
 *     if objType == CUdevResource_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevResource_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42565, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42565, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42566
 *         return sizeof(ccuda.CUdevSmResource)
 *     if objType == CUdevResource_st:
 *         return sizeof(ccuda.CUdevResource_st)             # <<<<<<<<<<<<<<
 *     if objType == CUdevResource_v1:
 *         return sizeof(ccuda.CUdevResource_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct CUdevResource_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42565
 *     if objType == CUdevSmResource:
 *         return sizeof(ccuda.CUdevSmResource)
 *     if objType == CUdevResource_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevResource_st)
 *     if objType == CUdevResource_v1:
 */
  }

  /* "cuda/cuda.pyx":42567
 *     if objType == CUdevResource_st:
 *         return sizeof(ccuda.CUdevResource_st)
 *     if objType == CUdevResource_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevResource_v1)
 *     if objType == CUdevResource:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevResource_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42567, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42567, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42568
 *         return sizeof(ccuda.CUdevResource_st)
 *     if objType == CUdevResource_v1:
 *         return sizeof(ccuda.CUdevResource_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUdevResource:
 *         return sizeof(ccuda.CUdevResource)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUdevResource_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42567
 *     if objType == CUdevResource_st:
 *         return sizeof(ccuda.CUdevResource_st)
 *     if objType == CUdevResource_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevResource_v1)
 *     if objType == CUdevResource:
 */
  }

  /* "cuda/cuda.pyx":42569
 *     if objType == CUdevResource_v1:
 *         return sizeof(ccuda.CUdevResource_v1)
 *     if objType == CUdevResource:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevResource)
 *     if objType == CUeglFrame_st:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevResource), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42569, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42569, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42570
 *         return sizeof(ccuda.CUdevResource_v1)
 *     if objType == CUdevResource:
 *         return sizeof(ccuda.CUdevResource)             # <<<<<<<<<<<<<<
 *     if objType == CUeglFrame_st:
 *         return sizeof(ccuda.CUeglFrame_st)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(CUdevResource))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42569
 *     if objType == CUdevResource_v1:
 *         return sizeof(ccuda.CUdevResource_v1)
 *     if objType == CUdevResource:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUdevResource)
 *     if objType == CUeglFrame_st:
 */
  }

  /* "cuda/cuda.pyx":42571
 *     if objType == CUdevResource:
 *         return sizeof(ccuda.CUdevResource)
 *     if objType == CUeglFrame_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUeglFrame_st)
 *     if objType == CUeglFrame_v1:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUeglFrame_st), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42571, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42571, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42572
 *         return sizeof(ccuda.CUdevResource)
 *     if objType == CUeglFrame_st:
 *         return sizeof(ccuda.CUeglFrame_st)             # <<<<<<<<<<<<<<
 *     if objType == CUeglFrame_v1:
 *         return sizeof(ccuda.CUeglFrame_v1)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(struct __pyx_t_4cuda_5ccuda_CUeglFrame_st))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42572, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42571
 *     if objType == CUdevResource:
 *         return sizeof(ccuda.CUdevResource)
 *     if objType == CUeglFrame_st:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUeglFrame_st)
 *     if objType == CUeglFrame_v1:
 */
  }

  /* "cuda/cuda.pyx":42573
 *     if objType == CUeglFrame_st:
 *         return sizeof(ccuda.CUeglFrame_st)
 *     if objType == CUeglFrame_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUeglFrame_v1)
 *     if objType == CUeglFrame:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUeglFrame_v1), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42573, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42573, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42574
 *         return sizeof(ccuda.CUeglFrame_st)
 *     if objType == CUeglFrame_v1:
 *         return sizeof(ccuda.CUeglFrame_v1)             # <<<<<<<<<<<<<<
 *     if objType == CUeglFrame:
 *         return sizeof(ccuda.CUeglFrame)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_5ccuda_CUeglFrame_v1))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42574, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42573
 *     if objType == CUeglFrame_st:
 *         return sizeof(ccuda.CUeglFrame_st)
 *     if objType == CUeglFrame_v1:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUeglFrame_v1)
 *     if objType == CUeglFrame:
 */
  }

  /* "cuda/cuda.pyx":42575
 *     if objType == CUeglFrame_v1:
 *         return sizeof(ccuda.CUeglFrame_v1)
 *     if objType == CUeglFrame:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUeglFrame)
 *     if objType == CUeglStreamConnection:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUeglFrame), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42575, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42575, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42576
 *         return sizeof(ccuda.CUeglFrame_v1)
 *     if objType == CUeglFrame:
 *         return sizeof(ccuda.CUeglFrame)             # <<<<<<<<<<<<<<
 *     if objType == CUeglStreamConnection:
 *         return sizeof(ccuda.CUeglStreamConnection)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_5ccuda_CUeglFrame))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42575
 *     if objType == CUeglFrame_v1:
 *         return sizeof(ccuda.CUeglFrame_v1)
 *     if objType == CUeglFrame:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUeglFrame)
 *     if objType == CUeglStreamConnection:
 */
  }

  /* "cuda/cuda.pyx":42577
 *     if objType == CUeglFrame:
 *         return sizeof(ccuda.CUeglFrame)
 *     if objType == CUeglStreamConnection:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUeglStreamConnection)
 *     if objType == GLenum:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_CUeglStreamConnection), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42577, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42577, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42578
 *         return sizeof(ccuda.CUeglFrame)
 *     if objType == CUeglStreamConnection:
 *         return sizeof(ccuda.CUeglStreamConnection)             # <<<<<<<<<<<<<<
 *     if objType == GLenum:
 *         return sizeof(ccuda.GLenum)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_5ccuda_CUeglStreamConnection))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42577
 *     if objType == CUeglFrame:
 *         return sizeof(ccuda.CUeglFrame)
 *     if objType == CUeglStreamConnection:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.CUeglStreamConnection)
 *     if objType == GLenum:
 */
  }

  /* "cuda/cuda.pyx":42579
 *     if objType == CUeglStreamConnection:
 *         return sizeof(ccuda.CUeglStreamConnection)
 *     if objType == GLenum:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.GLenum)
 *     if objType == GLuint:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_GLenum), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42579, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42579, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42580
 *         return sizeof(ccuda.CUeglStreamConnection)
 *     if objType == GLenum:
 *         return sizeof(ccuda.GLenum)             # <<<<<<<<<<<<<<
 *     if objType == GLuint:
 *         return sizeof(ccuda.GLuint)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_5ccuda_GLenum))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42579
 *     if objType == CUeglStreamConnection:
 *         return sizeof(ccuda.CUeglStreamConnection)
 *     if objType == GLenum:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.GLenum)
 *     if objType == GLuint:
 */
  }

  /* "cuda/cuda.pyx":42581
 *     if objType == GLenum:
 *         return sizeof(ccuda.GLenum)
 *     if objType == GLuint:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.GLuint)
 *     if objType == EGLImageKHR:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_GLuint), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42581, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42581, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42582
 *         return sizeof(ccuda.GLenum)
 *     if objType == GLuint:
 *         return sizeof(ccuda.GLuint)             # <<<<<<<<<<<<<<
 *     if objType == EGLImageKHR:
 *         return sizeof(ccuda.EGLImageKHR)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_5ccuda_GLuint))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42581
 *     if objType == GLenum:
 *         return sizeof(ccuda.GLenum)
 *     if objType == GLuint:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.GLuint)
 *     if objType == EGLImageKHR:
 */
  }

  /* "cuda/cuda.pyx":42583
 *     if objType == GLuint:
 *         return sizeof(ccuda.GLuint)
 *     if objType == EGLImageKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.EGLImageKHR)
 *     if objType == EGLStreamKHR:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_EGLImageKHR), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42583, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42583, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42584
 *         return sizeof(ccuda.GLuint)
 *     if objType == EGLImageKHR:
 *         return sizeof(ccuda.EGLImageKHR)             # <<<<<<<<<<<<<<
 *     if objType == EGLStreamKHR:
 *         return sizeof(ccuda.EGLStreamKHR)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_5ccuda_EGLImageKHR))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42583
 *     if objType == GLuint:
 *         return sizeof(ccuda.GLuint)
 *     if objType == EGLImageKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.EGLImageKHR)
 *     if objType == EGLStreamKHR:
 */
  }

  /* "cuda/cuda.pyx":42585
 *     if objType == EGLImageKHR:
 *         return sizeof(ccuda.EGLImageKHR)
 *     if objType == EGLStreamKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.EGLStreamKHR)
 *     if objType == EGLint:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_EGLStreamKHR), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42585, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42585, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42586
 *         return sizeof(ccuda.EGLImageKHR)
 *     if objType == EGLStreamKHR:
 *         return sizeof(ccuda.EGLStreamKHR)             # <<<<<<<<<<<<<<
 *     if objType == EGLint:
 *         return sizeof(ccuda.EGLint)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_5ccuda_EGLStreamKHR))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42586, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42585
 *     if objType == EGLImageKHR:
 *         return sizeof(ccuda.EGLImageKHR)
 *     if objType == EGLStreamKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.EGLStreamKHR)
 *     if objType == EGLint:
 */
  }

  /* "cuda/cuda.pyx":42587
 *     if objType == EGLStreamKHR:
 *         return sizeof(ccuda.EGLStreamKHR)
 *     if objType == EGLint:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.EGLint)
 *     if objType == EGLSyncKHR:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_EGLint), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42587, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42588
 *         return sizeof(ccuda.EGLStreamKHR)
 *     if objType == EGLint:
 *         return sizeof(ccuda.EGLint)             # <<<<<<<<<<<<<<
 *     if objType == EGLSyncKHR:
 *         return sizeof(ccuda.EGLSyncKHR)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_5ccuda_EGLint))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42588, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42587
 *     if objType == EGLStreamKHR:
 *         return sizeof(ccuda.EGLStreamKHR)
 *     if objType == EGLint:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.EGLint)
 *     if objType == EGLSyncKHR:
 */
  }

  /* "cuda/cuda.pyx":42589
 *     if objType == EGLint:
 *         return sizeof(ccuda.EGLint)
 *     if objType == EGLSyncKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.EGLSyncKHR)
 *     if objType == VdpDevice:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_EGLSyncKHR), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42589, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42589, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42590
 *         return sizeof(ccuda.EGLint)
 *     if objType == EGLSyncKHR:
 *         return sizeof(ccuda.EGLSyncKHR)             # <<<<<<<<<<<<<<
 *     if objType == VdpDevice:
 *         return sizeof(ccuda.VdpDevice)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_5ccuda_EGLSyncKHR))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42590, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42589
 *     if objType == EGLint:
 *         return sizeof(ccuda.EGLint)
 *     if objType == EGLSyncKHR:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.EGLSyncKHR)
 *     if objType == VdpDevice:
 */
  }

  /* "cuda/cuda.pyx":42591
 *     if objType == EGLSyncKHR:
 *         return sizeof(ccuda.EGLSyncKHR)
 *     if objType == VdpDevice:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.VdpDevice)
 *     if objType == VdpGetProcAddress:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_VdpDevice), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42591, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42591, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42592
 *         return sizeof(ccuda.EGLSyncKHR)
 *     if objType == VdpDevice:
 *         return sizeof(ccuda.VdpDevice)             # <<<<<<<<<<<<<<
 *     if objType == VdpGetProcAddress:
 *         return sizeof(ccuda.VdpGetProcAddress)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_5ccuda_VdpDevice))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42591
 *     if objType == EGLSyncKHR:
 *         return sizeof(ccuda.EGLSyncKHR)
 *     if objType == VdpDevice:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.VdpDevice)
 *     if objType == VdpGetProcAddress:
 */
  }

  /* "cuda/cuda.pyx":42593
 *     if objType == VdpDevice:
 *         return sizeof(ccuda.VdpDevice)
 *     if objType == VdpGetProcAddress:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.VdpGetProcAddress)
 *     if objType == VdpVideoSurface:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_VdpGetProcAddress), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42593, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42593, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42594
 *         return sizeof(ccuda.VdpDevice)
 *     if objType == VdpGetProcAddress:
 *         return sizeof(ccuda.VdpGetProcAddress)             # <<<<<<<<<<<<<<
 *     if objType == VdpVideoSurface:
 *         return sizeof(ccuda.VdpVideoSurface)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_5ccuda_VdpGetProcAddress))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42593
 *     if objType == VdpDevice:
 *         return sizeof(ccuda.VdpDevice)
 *     if objType == VdpGetProcAddress:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.VdpGetProcAddress)
 *     if objType == VdpVideoSurface:
 */
  }

  /* "cuda/cuda.pyx":42595
 *     if objType == VdpGetProcAddress:
 *         return sizeof(ccuda.VdpGetProcAddress)
 *     if objType == VdpVideoSurface:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.VdpVideoSurface)
 *     if objType == VdpOutputSurface:
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_VdpVideoSurface), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42595, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42595, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42596
 *         return sizeof(ccuda.VdpGetProcAddress)
 *     if objType == VdpVideoSurface:
 *         return sizeof(ccuda.VdpVideoSurface)             # <<<<<<<<<<<<<<
 *     if objType == VdpOutputSurface:
 *         return sizeof(ccuda.VdpOutputSurface)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_5ccuda_VdpVideoSurface))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42596, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42595
 *     if objType == VdpGetProcAddress:
 *         return sizeof(ccuda.VdpGetProcAddress)
 *     if objType == VdpVideoSurface:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.VdpVideoSurface)
 *     if objType == VdpOutputSurface:
 */
  }

  /* "cuda/cuda.pyx":42597
 *     if objType == VdpVideoSurface:
 *         return sizeof(ccuda.VdpVideoSurface)
 *     if objType == VdpOutputSurface:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.VdpOutputSurface)
 *     raise TypeError("Unknown type: " + str(objType))
 */
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_objType, ((PyObject *)__pyx_ptype_4cuda_4cuda_VdpOutputSurface), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42597, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 42597, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "cuda/cuda.pyx":42598
 *         return sizeof(ccuda.VdpVideoSurface)
 *     if objType == VdpOutputSurface:
 *         return sizeof(ccuda.VdpOutputSurface)             # <<<<<<<<<<<<<<
 *     raise TypeError("Unknown type: " + str(objType))
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4cuda_5ccuda_VdpOutputSurface))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42598, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "cuda/cuda.pyx":42597
 *     if objType == VdpVideoSurface:
 *         return sizeof(ccuda.VdpVideoSurface)
 *     if objType == VdpOutputSurface:             # <<<<<<<<<<<<<<
 *         return sizeof(ccuda.VdpOutputSurface)
 *     raise TypeError("Unknown type: " + str(objType))
 */
  }

  /* "cuda/cuda.pyx":42599
 *     if objType == VdpOutputSurface:
 *         return sizeof(ccuda.VdpOutputSurface)
 *     raise TypeError("Unknown type: " + str(objType))             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Str(__pyx_v_objType); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyNumber_Add(__pyx_kp_u_Unknown_type, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 42599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 42599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(1, 42599, __pyx_L1_error)

  /* "cuda/cuda.pyx":42113
 *     return (CUresult(err), pCudaResource)
 * 
 * @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_AddTraceback("cuda.cuda.sizeof", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_TraceReturn(__pyx_r, 0);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_tp_new_4cuda_4cuda_CUcontext(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUcontext(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUcontext) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_9CUcontext_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_9CUcontext_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUcontext[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_9CUcontext_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUcontext_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUcontext_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUcontext_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUcontext_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUcontext_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUcontext_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUcontext_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUcontext},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_9CUcontext_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_9CUcontext_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_9CUcontext_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_9CUcontext_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUcontext(*args, **kwargs)\n\n\n    CUDA context\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUcontext},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_9CUcontext_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUcontext},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUcontext_spec = {
  "cuda.cuda.CUcontext",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUcontext),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUcontext_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUcontext = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_9CUcontext_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_9CUcontext_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_9CUcontext_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUcontext = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUcontext", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUcontext), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUcontext, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_9CUcontext_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUcontext, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA context\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_4cuda_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_4cuda_9CUcontext_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUmodule(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUmodule(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUmodule) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_8CUmodule_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_8CUmodule_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUmodule[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_8CUmodule_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUmodule_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUmodule_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUmodule_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUmodule_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUmodule_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUmodule_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmodule_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUmodule},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_8CUmodule_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_8CUmodule_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_8CUmodule_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_8CUmodule_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmodule(*args, **kwargs)\n\n\n    CUDA module\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUmodule},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_8CUmodule_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmodule},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmodule_spec = {
  "cuda.cuda.CUmodule",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmodule),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUmodule_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUmodule = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_8CUmodule_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_8CUmodule_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_8CUmodule_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUmodule = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmodule", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmodule), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmodule, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_8CUmodule_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUmodule, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA module\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_4cuda_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_4cuda_8CUmodule_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUfunction(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUfunction(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUfunction) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_10CUfunction_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_10CUfunction_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUfunction[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_10CUfunction_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10CUfunction_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10CUfunction_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10CUfunction_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10CUfunction_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10CUfunction_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10CUfunction_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUfunction_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUfunction},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_10CUfunction_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_10CUfunction_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_10CUfunction_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_10CUfunction_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUfunction(*args, **kwargs)\n\n\n    CUDA function\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUfunction},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_10CUfunction_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUfunction},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUfunction_spec = {
  "cuda.cuda.CUfunction",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUfunction),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUfunction_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUfunction = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_10CUfunction_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_10CUfunction_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_10CUfunction_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUfunction = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUfunction", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUfunction), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUfunction, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_10CUfunction_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUfunction, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA function\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_4cuda_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_4cuda_10CUfunction_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUlibrary(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUlibrary(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUlibrary) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_9CUlibrary_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_9CUlibrary_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUlibrary[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_9CUlibrary_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUlibrary_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUlibrary_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUlibrary_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUlibrary_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUlibrary_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUlibrary_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUlibrary_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUlibrary},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_9CUlibrary_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_9CUlibrary_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_9CUlibrary_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_9CUlibrary_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUlibrary(*args, **kwargs)\n\n\n    CUDA library\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUlibrary},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_9CUlibrary_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUlibrary},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUlibrary_spec = {
  "cuda.cuda.CUlibrary",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlibrary),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUlibrary_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUlibrary = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_9CUlibrary_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_9CUlibrary_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_9CUlibrary_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUlibrary = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUlibrary", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlibrary), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUlibrary, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_9CUlibrary_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUlibrary, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA library\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_4cuda_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_4cuda_9CUlibrary_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUkernel(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUkernel(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUkernel) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_8CUkernel_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_8CUkernel_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUkernel[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_8CUkernel_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUkernel_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUkernel_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUkernel_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUkernel_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUkernel_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUkernel_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUkernel_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUkernel},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_8CUkernel_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_8CUkernel_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_8CUkernel_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_8CUkernel_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUkernel(*args, **kwargs)\n\n\n    CUDA kernel\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUkernel},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_8CUkernel_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUkernel},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUkernel_spec = {
  "cuda.cuda.CUkernel",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUkernel),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUkernel_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUkernel = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_8CUkernel_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_8CUkernel_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_8CUkernel_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUkernel = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUkernel", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUkernel), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUkernel, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_8CUkernel_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUkernel, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA kernel\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_4cuda_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_4cuda_8CUkernel_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUarray(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUarray(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUarray) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_7CUarray_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_7CUarray_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUarray[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_7CUarray_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUarray_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUarray_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUarray_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUarray_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUarray_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUarray_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUarray_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUarray},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_7CUarray_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_7CUarray_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_7CUarray_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_7CUarray_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUarray(*args, **kwargs)\n\n\n    CUDA array\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUarray},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_7CUarray_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUarray},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUarray_spec = {
  "cuda.cuda.CUarray",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUarray),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUarray_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUarray = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_7CUarray_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_7CUarray_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_7CUarray_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUarray = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUarray", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUarray), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUarray, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_7CUarray_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUarray, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA array\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_4cuda_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_4cuda_7CUarray_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUmipmappedArray(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUmipmappedArray(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUmipmappedArray) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_16CUmipmappedArray_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_16CUmipmappedArray_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUmipmappedArray[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_16CUmipmappedArray_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUmipmappedArray_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUmipmappedArray_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUmipmappedArray_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUmipmappedArray_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUmipmappedArray_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUmipmappedArray_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmipmappedArray_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUmipmappedArray},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_16CUmipmappedArray_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_16CUmipmappedArray_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_16CUmipmappedArray_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_16CUmipmappedArray_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmipmappedArray(*args, **kwargs)\n\n\n    CUDA mipmapped array\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUmipmappedArray},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_16CUmipmappedArray_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmipmappedArray},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmipmappedArray_spec = {
  "cuda.cuda.CUmipmappedArray",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmipmappedArray),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUmipmappedArray_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUmipmappedArray = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_16CUmipmappedArray_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_16CUmipmappedArray_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_16CUmipmappedArray_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUmipmappedArray = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmipmappedArray", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmipmappedArray), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmipmappedArray, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_16CUmipmappedArray_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUmipmappedArray, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA mipmapped array\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_4cuda_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_4cuda_16CUmipmappedArray_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUtexref(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUtexref(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUtexref) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_8CUtexref_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_8CUtexref_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUtexref[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_8CUtexref_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUtexref_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUtexref_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUtexref_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUtexref_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUtexref_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUtexref_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUtexref_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUtexref},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_8CUtexref_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_8CUtexref_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_8CUtexref_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_8CUtexref_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUtexref(*args, **kwargs)\n\n\n    CUDA texture reference\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUtexref},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_8CUtexref_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUtexref},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUtexref_spec = {
  "cuda.cuda.CUtexref",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUtexref),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUtexref_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUtexref = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_8CUtexref_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_8CUtexref_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_8CUtexref_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUtexref = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUtexref", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUtexref), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUtexref, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_8CUtexref_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUtexref, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA texture reference\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_4cuda_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_4cuda_8CUtexref_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUsurfref(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUsurfref(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUsurfref) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_9CUsurfref_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_9CUsurfref_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUsurfref[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_9CUsurfref_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUsurfref_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUsurfref_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUsurfref_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUsurfref_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUsurfref_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUsurfref_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUsurfref_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUsurfref},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_9CUsurfref_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_9CUsurfref_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_9CUsurfref_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_9CUsurfref_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUsurfref(*args, **kwargs)\n\n\n    CUDA surface reference\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUsurfref},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_9CUsurfref_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUsurfref},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUsurfref_spec = {
  "cuda.cuda.CUsurfref",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUsurfref),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUsurfref_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUsurfref = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_9CUsurfref_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_9CUsurfref_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_9CUsurfref_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUsurfref = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUsurfref", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUsurfref), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUsurfref, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_9CUsurfref_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUsurfref, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA surface reference\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_4cuda_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_4cuda_9CUsurfref_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUevent(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUevent(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUevent) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_7CUevent_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_7CUevent_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUevent[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_7CUevent_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUevent_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUevent_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUevent_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUevent_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUevent_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUevent_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUevent_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUevent},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_7CUevent_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_7CUevent_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_7CUevent_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_7CUevent_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUevent(*args, **kwargs)\n\n\n    CUDA event\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUevent},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_7CUevent_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUevent},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUevent_spec = {
  "cuda.cuda.CUevent",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUevent),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUevent_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUevent = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_7CUevent_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_7CUevent_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_7CUevent_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUevent = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUevent", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUevent), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUevent, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_7CUevent_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUevent, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA event\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_4cuda_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_4cuda_7CUevent_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUstream(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUstream(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUstream) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_8CUstream_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_8CUstream_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUstream[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_8CUstream_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUstream_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUstream_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUstream_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUstream_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUstream_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUstream_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUstream_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUstream},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_8CUstream_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_8CUstream_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_8CUstream_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_8CUstream_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUstream(*args, **kwargs)\n\n\n    CUDA stream\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUstream},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_8CUstream_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUstream},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUstream_spec = {
  "cuda.cuda.CUstream",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstream),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUstream_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUstream = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_8CUstream_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_8CUstream_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_8CUstream_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUstream = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUstream", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstream), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUstream, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_8CUstream_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUstream, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA stream\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_4cuda_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_4cuda_8CUstream_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraphicsResource(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUgraphicsResource(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUgraphicsResource) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_18CUgraphicsResource_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_18CUgraphicsResource_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUgraphicsResource[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_18CUgraphicsResource_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUgraphicsResource_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUgraphicsResource_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUgraphicsResource_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUgraphicsResource_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUgraphicsResource_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUgraphicsResource_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUgraphicsResource_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUgraphicsResource},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_18CUgraphicsResource_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_18CUgraphicsResource_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_18CUgraphicsResource_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_18CUgraphicsResource_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgraphicsResource(*args, **kwargs)\n\n\n    CUDA graphics interop resource\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUgraphicsResource},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_18CUgraphicsResource_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUgraphicsResource},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUgraphicsResource_spec = {
  "cuda.cuda.CUgraphicsResource",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphicsResource),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUgraphicsResource_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUgraphicsResource = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_18CUgraphicsResource_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_18CUgraphicsResource_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_18CUgraphicsResource_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUgraphicsResource = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUgraphicsResource", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphicsResource), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUgraphicsResource, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_18CUgraphicsResource_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUgraphicsResource, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA graphics interop resource\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_4cuda_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_4cuda_18CUgraphicsResource_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUexternalMemory(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUexternalMemory(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUexternalMemory) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_16CUexternalMemory_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_16CUexternalMemory_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUexternalMemory[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_16CUexternalMemory_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUexternalMemory_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUexternalMemory_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUexternalMemory_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUexternalMemory_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUexternalMemory_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUexternalMemory_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUexternalMemory_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUexternalMemory},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_16CUexternalMemory_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_16CUexternalMemory_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_16CUexternalMemory_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_16CUexternalMemory_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUexternalMemory(*args, **kwargs)\n\n\n    CUDA external memory\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUexternalMemory},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_16CUexternalMemory_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUexternalMemory},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUexternalMemory_spec = {
  "cuda.cuda.CUexternalMemory",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUexternalMemory),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUexternalMemory_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUexternalMemory = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_16CUexternalMemory_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_16CUexternalMemory_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_16CUexternalMemory_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUexternalMemory = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUexternalMemory", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUexternalMemory), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUexternalMemory, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_16CUexternalMemory_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUexternalMemory, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA external memory\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_4cuda_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_4cuda_16CUexternalMemory_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUexternalSemaphore(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUexternalSemaphore(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUexternalSemaphore) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_19CUexternalSemaphore_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_19CUexternalSemaphore_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUexternalSemaphore[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_19CUexternalSemaphore_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_19CUexternalSemaphore_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_19CUexternalSemaphore_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_19CUexternalSemaphore_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUexternalSemaphore_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUexternalSemaphore},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUexternalSemaphore(*args, **kwargs)\n\n\n    CUDA external semaphore\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUexternalSemaphore},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_19CUexternalSemaphore_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUexternalSemaphore},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUexternalSemaphore_spec = {
  "cuda.cuda.CUexternalSemaphore",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUexternalSemaphore_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUexternalSemaphore = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_19CUexternalSemaphore_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_19CUexternalSemaphore_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_19CUexternalSemaphore_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUexternalSemaphore = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUexternalSemaphore", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUexternalSemaphore), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUexternalSemaphore, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_19CUexternalSemaphore_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUexternalSemaphore, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA external semaphore\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_4cuda_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_4cuda_19CUexternalSemaphore_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraph(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUgraph(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUgraph) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_7CUgraph_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_7CUgraph_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUgraph[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_7CUgraph_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUgraph_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUgraph_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUgraph_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUgraph_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_7CUgraph_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_7CUgraph_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUgraph_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUgraph},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_7CUgraph_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_7CUgraph_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_7CUgraph_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_7CUgraph_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgraph(*args, **kwargs)\n\n\n    CUDA graph\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUgraph},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_7CUgraph_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUgraph},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUgraph_spec = {
  "cuda.cuda.CUgraph",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraph),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUgraph_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUgraph = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_7CUgraph_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_7CUgraph_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_7CUgraph_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUgraph = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUgraph", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraph), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUgraph, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_7CUgraph_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUgraph, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA graph\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_4cuda_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_4cuda_7CUgraph_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraphNode(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUgraphNode(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUgraphNode) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_11CUgraphNode_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_11CUgraphNode_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUgraphNode[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_11CUgraphNode_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUgraphNode_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUgraphNode_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUgraphNode_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUgraphNode_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUgraphNode_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUgraphNode_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUgraphNode_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUgraphNode},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_11CUgraphNode_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_11CUgraphNode_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_11CUgraphNode_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_11CUgraphNode_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgraphNode(*args, **kwargs)\n\n\n    CUDA graph node\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUgraphNode},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_11CUgraphNode_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUgraphNode},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUgraphNode_spec = {
  "cuda.cuda.CUgraphNode",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphNode),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUgraphNode_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUgraphNode = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_11CUgraphNode_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_11CUgraphNode_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_11CUgraphNode_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUgraphNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUgraphNode", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUgraphNode, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_11CUgraphNode_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUgraphNode, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA graph node\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_4cuda_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_4cuda_11CUgraphNode_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraphExec(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUgraphExec(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUgraphExec) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_11CUgraphExec_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_11CUgraphExec_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUgraphExec[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_11CUgraphExec_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUgraphExec_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUgraphExec_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUgraphExec_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUgraphExec_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUgraphExec_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUgraphExec_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUgraphExec_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUgraphExec},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_11CUgraphExec_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_11CUgraphExec_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_11CUgraphExec_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_11CUgraphExec_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgraphExec(*args, **kwargs)\n\n\n    CUDA executable graph\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUgraphExec},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_11CUgraphExec_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUgraphExec},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUgraphExec_spec = {
  "cuda.cuda.CUgraphExec",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphExec),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUgraphExec_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUgraphExec = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_11CUgraphExec_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_11CUgraphExec_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_11CUgraphExec_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUgraphExec = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUgraphExec", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphExec), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUgraphExec, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_11CUgraphExec_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUgraphExec, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA executable graph\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_4cuda_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_4cuda_11CUgraphExec_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemoryPool(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUmemoryPool(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUmemoryPool) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12CUmemoryPool_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12CUmemoryPool_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUmemoryPool[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12CUmemoryPool_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUmemoryPool_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUmemoryPool_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUmemoryPool_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUmemoryPool_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUmemoryPool_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUmemoryPool_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemoryPool_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUmemoryPool},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12CUmemoryPool_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_12CUmemoryPool_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_12CUmemoryPool_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_12CUmemoryPool_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmemoryPool(*args, **kwargs)\n\n\n    CUDA memory pool\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUmemoryPool},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_12CUmemoryPool_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemoryPool},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemoryPool_spec = {
  "cuda.cuda.CUmemoryPool",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemoryPool),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUmemoryPool_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUmemoryPool = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_12CUmemoryPool_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_12CUmemoryPool_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_12CUmemoryPool_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemoryPool = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemoryPool", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemoryPool), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemoryPool, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_12CUmemoryPool_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUmemoryPool, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA memory pool\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_4cuda_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_4cuda_12CUmemoryPool_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUuserObject(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUuserObject(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUuserObject) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12CUuserObject_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12CUuserObject_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUuserObject[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12CUuserObject_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUuserObject_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUuserObject_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUuserObject_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUuserObject_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUuserObject_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUuserObject_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUuserObject_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUuserObject},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12CUuserObject_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_12CUuserObject_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_12CUuserObject_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_12CUuserObject_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUuserObject(*args, **kwargs)\n\n\n    CUDA user object for graphs\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUuserObject},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_12CUuserObject_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUuserObject},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUuserObject_spec = {
  "cuda.cuda.CUuserObject",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUuserObject),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUuserObject_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUuserObject = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_12CUuserObject_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_12CUuserObject_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_12CUuserObject_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUuserObject = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUuserObject", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUuserObject), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUuserObject, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_12CUuserObject_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUuserObject, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA user object for graphs\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_4cuda_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_4cuda_12CUuserObject_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraphDeviceNode(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUgraphDeviceNode(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUgraphDeviceNode) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUgraphDeviceNode[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUgraphDeviceNode_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUgraphDeviceNode_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUgraphDeviceNode_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUgraphDeviceNode_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUgraphDeviceNode},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgraphDeviceNode(*args, **kwargs)\n\n\n    CUDA graph device node handle\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUgraphDeviceNode},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUgraphDeviceNode},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUgraphDeviceNode_spec = {
  "cuda.cuda.CUgraphDeviceNode",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUgraphDeviceNode_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUgraphDeviceNode = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_17CUgraphDeviceNode_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUgraphDeviceNode = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUgraphDeviceNode", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUgraphDeviceNode, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_17CUgraphDeviceNode_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUgraphDeviceNode, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA graph device node handle\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_4cuda_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_4cuda_17CUgraphDeviceNode_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUasyncCallbackHandle(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUasyncCallbackHandle(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUasyncCallbackHandle) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUasyncCallbackHandle[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUasyncCallbackHandle_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUasyncCallbackHandle_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUasyncCallbackHandle_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUasyncCallbackHandle_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUasyncCallbackHandle},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUasyncCallbackHandle(*args, **kwargs)\n\n\n    CUDA async notification callback handle\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUasyncCallbackHandle},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUasyncCallbackHandle},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUasyncCallbackHandle_spec = {
  "cuda.cuda.CUasyncCallbackHandle",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUasyncCallbackHandle_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUasyncCallbackHandle = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_21CUasyncCallbackHandle_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUasyncCallbackHandle = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUasyncCallbackHandle", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUasyncCallbackHandle), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUasyncCallbackHandle, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_21CUasyncCallbackHandle_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUasyncCallbackHandle, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA async notification callback handle\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_4cuda_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_4cuda_21CUasyncCallbackHandle_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUlinkState(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUlinkState *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUlinkState *)o);
  p->_keepalive = ((PyObject*)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUlinkState(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUlinkState *p = (struct __pyx_obj_4cuda_4cuda_CUlinkState *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUlinkState) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_keepalive);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUlinkState(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUlinkState *p = (struct __pyx_obj_4cuda_4cuda_CUlinkState *)o;
  if (p->_keepalive) {
    e = (*v)(p->_keepalive, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUlinkState(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUlinkState *p = (struct __pyx_obj_4cuda_4cuda_CUlinkState *)o;
  tmp = ((PyObject*)p->_keepalive);
  p->_keepalive = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_11CUlinkState_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_11CUlinkState_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUlinkState[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_11CUlinkState_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUlinkState_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUlinkState_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUlinkState_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUlinkState_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUlinkState_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUlinkState_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUlinkState_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUlinkState},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_11CUlinkState_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_11CUlinkState_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_11CUlinkState_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_11CUlinkState_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUlinkState(*args, **kwargs)\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUlinkState},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUlinkState},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUlinkState},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_11CUlinkState_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUlinkState},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUlinkState_spec = {
  "cuda.cuda.CUlinkState",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUlinkState_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUlinkState = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_11CUlinkState_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_11CUlinkState_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_11CUlinkState_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUlinkState = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUlinkState", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlinkState), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUlinkState, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_11CUlinkState_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUlinkState, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUlinkState, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUlinkState, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_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_4cuda_11CUlinkState_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUgreenCtx(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUgreenCtx(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUgreenCtx) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_10CUgreenCtx_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_10CUgreenCtx_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUgreenCtx[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_10CUgreenCtx_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10CUgreenCtx_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10CUgreenCtx_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10CUgreenCtx_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10CUgreenCtx_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10CUgreenCtx_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10CUgreenCtx_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUgreenCtx_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUgreenCtx},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_10CUgreenCtx_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_10CUgreenCtx_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_10CUgreenCtx_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_10CUgreenCtx_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgreenCtx(*args, **kwargs)\n\n\n    A green context handle. This handle can be used safely from only one CPU thread at a time. Created via cuGreenCtxCreate\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUgreenCtx},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_10CUgreenCtx_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUgreenCtx},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUgreenCtx_spec = {
  "cuda.cuda.CUgreenCtx",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgreenCtx),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUgreenCtx_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUgreenCtx = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_10CUgreenCtx_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_10CUgreenCtx_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_10CUgreenCtx_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUgreenCtx = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUgreenCtx", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgreenCtx), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUgreenCtx, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_10CUgreenCtx_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUgreenCtx, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    A green context handle. This handle can be used safely from only one CPU thread at a time. Created via cuGreenCtxCreate\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_4cuda_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_4cuda_10CUgreenCtx_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUdevResourceDesc(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUdevResourceDesc(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUdevResourceDesc) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_17CUdevResourceDesc_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_17CUdevResourceDesc_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUdevResourceDesc[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_17CUdevResourceDesc_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUdevResourceDesc_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUdevResourceDesc_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUdevResourceDesc_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUdevResourceDesc_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUdevResourceDesc},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUdevResourceDesc(*args, **kwargs)\n\n\n    An opaque descriptor handle. The descriptor encapsulates multiple created and configured resources. Created via cuDevResourceGenerateDesc\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUdevResourceDesc},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_17CUdevResourceDesc_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUdevResourceDesc},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUdevResourceDesc_spec = {
  "cuda.cuda.CUdevResourceDesc",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUdevResourceDesc_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUdevResourceDesc = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_17CUdevResourceDesc_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_17CUdevResourceDesc_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_17CUdevResourceDesc_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUdevResourceDesc = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUdevResourceDesc", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevResourceDesc), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUdevResourceDesc, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_17CUdevResourceDesc_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUdevResourceDesc, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    An opaque descriptor handle. The descriptor encapsulates multiple created and configured resources. Created via cuDevResourceGenerateDesc\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_4cuda_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_4cuda_17CUdevResourceDesc_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUeglStreamConnection(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUeglStreamConnection(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUeglStreamConnection) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_21CUeglStreamConnection_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_21CUeglStreamConnection_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUeglStreamConnection[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_21CUeglStreamConnection_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUeglStreamConnection_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUeglStreamConnection_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUeglStreamConnection_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUeglStreamConnection_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUeglStreamConnection},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUeglStreamConnection(*args, **kwargs)\n\n\n    CUDA EGLSream Connection\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUeglStreamConnection},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_21CUeglStreamConnection_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUeglStreamConnection},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUeglStreamConnection_spec = {
  "cuda.cuda.CUeglStreamConnection",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUeglStreamConnection_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUeglStreamConnection = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_21CUeglStreamConnection_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_21CUeglStreamConnection_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_21CUeglStreamConnection_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUeglStreamConnection = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUeglStreamConnection", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUeglStreamConnection), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUeglStreamConnection, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_21CUeglStreamConnection_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_CUeglStreamConnection, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\n\n    CUDA EGLSream Connection\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_4cuda_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_4cuda_21CUeglStreamConnection_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_EGLImageKHR(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_EGLImageKHR(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_EGLImageKHR) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_11EGLImageKHR_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_11EGLImageKHR_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_EGLImageKHR[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_11EGLImageKHR_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11EGLImageKHR_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11EGLImageKHR_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11EGLImageKHR_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11EGLImageKHR_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11EGLImageKHR_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11EGLImageKHR_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_EGLImageKHR_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_EGLImageKHR},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_11EGLImageKHR_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_11EGLImageKHR_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_11EGLImageKHR_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_11EGLImageKHR_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("EGLImageKHR(*args, **kwargs)\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_EGLImageKHR},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_11EGLImageKHR_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_EGLImageKHR},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_EGLImageKHR_spec = {
  "cuda.cuda.EGLImageKHR",
  sizeof(struct __pyx_obj_4cuda_4cuda_EGLImageKHR),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_EGLImageKHR_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_EGLImageKHR = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_11EGLImageKHR_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_11EGLImageKHR_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_11EGLImageKHR_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_EGLImageKHR = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""EGLImageKHR", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_EGLImageKHR), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_EGLImageKHR, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_11EGLImageKHR_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_EGLImageKHR, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\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_4cuda_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_4cuda_11EGLImageKHR_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_EGLStreamKHR(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_EGLStreamKHR(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_EGLStreamKHR) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12EGLStreamKHR_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12EGLStreamKHR_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_EGLStreamKHR[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12EGLStreamKHR_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12EGLStreamKHR_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12EGLStreamKHR_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12EGLStreamKHR_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12EGLStreamKHR_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12EGLStreamKHR_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12EGLStreamKHR_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_EGLStreamKHR_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_EGLStreamKHR},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12EGLStreamKHR_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_12EGLStreamKHR_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_12EGLStreamKHR_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_12EGLStreamKHR_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("EGLStreamKHR(*args, **kwargs)\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_EGLStreamKHR},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_12EGLStreamKHR_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_EGLStreamKHR},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_EGLStreamKHR_spec = {
  "cuda.cuda.EGLStreamKHR",
  sizeof(struct __pyx_obj_4cuda_4cuda_EGLStreamKHR),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_EGLStreamKHR_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_EGLStreamKHR = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_12EGLStreamKHR_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_12EGLStreamKHR_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_12EGLStreamKHR_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_EGLStreamKHR = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""EGLStreamKHR", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_EGLStreamKHR), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_EGLStreamKHR, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_12EGLStreamKHR_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_EGLStreamKHR, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\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_4cuda_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_4cuda_12EGLStreamKHR_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_EGLSyncKHR(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_EGLSyncKHR(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_EGLSyncKHR) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_10EGLSyncKHR_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_10EGLSyncKHR_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_EGLSyncKHR[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_10EGLSyncKHR_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10EGLSyncKHR_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10EGLSyncKHR_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10EGLSyncKHR_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10EGLSyncKHR_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10EGLSyncKHR_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10EGLSyncKHR_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_EGLSyncKHR_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_EGLSyncKHR},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_10EGLSyncKHR_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_10EGLSyncKHR_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_10EGLSyncKHR_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_10EGLSyncKHR_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("EGLSyncKHR(*args, **kwargs)\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_EGLSyncKHR},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_10EGLSyncKHR_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_EGLSyncKHR},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_EGLSyncKHR_spec = {
  "cuda.cuda.EGLSyncKHR",
  sizeof(struct __pyx_obj_4cuda_4cuda_EGLSyncKHR),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_EGLSyncKHR_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_EGLSyncKHR = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_10EGLSyncKHR_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_10EGLSyncKHR_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_10EGLSyncKHR_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_EGLSyncKHR = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""EGLSyncKHR", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_EGLSyncKHR), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_EGLSyncKHR, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_10EGLSyncKHR_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_EGLSyncKHR, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_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\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_4cuda_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_4cuda_10EGLSyncKHR_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUasyncCallback(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUasyncCallback(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUasyncCallback) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_15CUasyncCallback_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_15CUasyncCallback_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUasyncCallback[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_15CUasyncCallback_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15CUasyncCallback_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15CUasyncCallback_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15CUasyncCallback_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15CUasyncCallback_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15CUasyncCallback_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15CUasyncCallback_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUasyncCallback_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUasyncCallback},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_15CUasyncCallback_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_15CUasyncCallback_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_15CUasyncCallback_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_15CUasyncCallback_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUasyncCallback(*args, **kwargs)\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUasyncCallback},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_15CUasyncCallback_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUasyncCallback},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUasyncCallback_spec = {
  "cuda.cuda.CUasyncCallback",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUasyncCallback),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUasyncCallback_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUasyncCallback = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_15CUasyncCallback_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_15CUasyncCallback_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_15CUasyncCallback_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUasyncCallback = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUasyncCallback", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUasyncCallback), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUasyncCallback, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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_4cuda_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_4cuda_15CUasyncCallback_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUhostFn(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUhostFn(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUhostFn) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_8CUhostFn_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_8CUhostFn_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUhostFn[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_8CUhostFn_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUhostFn_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUhostFn_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUhostFn_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUhostFn_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUhostFn_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUhostFn_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUhostFn_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUhostFn},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_8CUhostFn_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_8CUhostFn_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_8CUhostFn_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_8CUhostFn_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUhostFn(*args, **kwargs)\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUhostFn},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_8CUhostFn_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUhostFn},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUhostFn_spec = {
  "cuda.cuda.CUhostFn",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUhostFn),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUhostFn_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUhostFn = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_8CUhostFn_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_8CUhostFn_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_8CUhostFn_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUhostFn = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUhostFn", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUhostFn), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUhostFn, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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_4cuda_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_4cuda_8CUhostFn_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUstreamCallback(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUstreamCallback(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUstreamCallback) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_16CUstreamCallback_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_16CUstreamCallback_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUstreamCallback[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_16CUstreamCallback_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUstreamCallback_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUstreamCallback_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUstreamCallback_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUstreamCallback_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUstreamCallback_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUstreamCallback_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUstreamCallback_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUstreamCallback},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_16CUstreamCallback_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_16CUstreamCallback_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_16CUstreamCallback_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_16CUstreamCallback_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUstreamCallback(*args, **kwargs)\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUstreamCallback},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_16CUstreamCallback_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUstreamCallback},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUstreamCallback_spec = {
  "cuda.cuda.CUstreamCallback",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamCallback),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUstreamCallback_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUstreamCallback = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_16CUstreamCallback_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_16CUstreamCallback_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_16CUstreamCallback_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUstreamCallback = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUstreamCallback", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamCallback), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUstreamCallback, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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_4cuda_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_4cuda_16CUstreamCallback_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUoccupancyB2DSize(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUoccupancyB2DSize(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_CUoccupancyB2DSize) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUoccupancyB2DSize[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_11getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUoccupancyB2DSize_10getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUoccupancyB2DSize_12__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUoccupancyB2DSize_14__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUoccupancyB2DSize_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUoccupancyB2DSize},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_9__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_9__int__},
  #endif
  {Py_nb_index, (void *)__pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_7__index__},
  {Py_tp_doc, (void *)PyDoc_STR("CUoccupancyB2DSize(*args, **kwargs)\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUoccupancyB2DSize},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUoccupancyB2DSize},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUoccupancyB2DSize_spec = {
  "cuda.cuda.CUoccupancyB2DSize",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUoccupancyB2DSize_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUoccupancyB2DSize = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_9__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_18CUoccupancyB2DSize_9__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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_4cuda_18CUoccupancyB2DSize_7__index__, /*nb_index*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUoccupancyB2DSize = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUoccupancyB2DSize", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUoccupancyB2DSize), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUoccupancyB2DSize, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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_4cuda_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_4cuda_18CUoccupancyB2DSize_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUuuid_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUuuid_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUuuid_st *)o);
  new((void*)&(p->_CUuuid_st__val)) struct CUuuid_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUuuid_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUuuid_st *p = (struct __pyx_obj_4cuda_4cuda_CUuuid_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_9CUuuid_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUuuid_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_9CUuuid_st_bytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_9CUuuid_st_5bytes_1__get__(o);
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_9CUuuid_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_9CUuuid_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUuuid_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUuuid_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUuuid_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_9CUuuid_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUuuid_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUuuid_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9CUuuid_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9CUuuid_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUuuid_st[] = {
  {(char *)"bytes", __pyx_getprop_4cuda_4cuda_9CUuuid_st_bytes, 0, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUuuid_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUuuid_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_9CUuuid_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUuuid_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUuuid_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUuuid_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_9CUuuid_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUuuid_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUuuid_st_spec = {
  "cuda.cuda.CUuuid_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUuuid_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUuuid_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUuuid_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUuuid_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUuuid_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUuuid_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUuuid_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_9CUuuid_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemFabricHandle_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *)o);
  new((void*)&(p->_CUmemFabricHandle_st__val)) struct CUmemFabricHandle_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUmemFabricHandle_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *p = (struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_20CUmemFabricHandle_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUmemFabricHandle_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUmemFabricHandle_st_data(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_4data_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUmemFabricHandle_st_data(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_4data_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUmemFabricHandle_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUmemFabricHandle_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUmemFabricHandle_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUmemFabricHandle_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUmemFabricHandle_st[] = {
  {(char *)"data", __pyx_getprop_4cuda_4cuda_20CUmemFabricHandle_st_data, __pyx_setprop_4cuda_4cuda_20CUmemFabricHandle_st_data, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemFabricHandle_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUmemFabricHandle_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmemFabricHandle_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUmemFabricHandle_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUmemFabricHandle_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemFabricHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemFabricHandle_st_spec = {
  "cuda.cuda.CUmemFabricHandle_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUmemFabricHandle_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemFabricHandle_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemFabricHandle_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemFabricHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUmemFabricHandle_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_20CUmemFabricHandle_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUipcEventHandle_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *)o);
  new((void*)&(p->_CUipcEventHandle_st__val)) struct CUipcEventHandle_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUipcEventHandle_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *p = (struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_19CUipcEventHandle_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUipcEventHandle_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_19CUipcEventHandle_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_19CUipcEventHandle_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUipcEventHandle_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_19CUipcEventHandle_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_19CUipcEventHandle_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_19CUipcEventHandle_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUipcEventHandle_st[] = {
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_19CUipcEventHandle_st_reserved, __pyx_setprop_4cuda_4cuda_19CUipcEventHandle_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUipcEventHandle_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUipcEventHandle_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUipcEventHandle_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUipcEventHandle_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUipcEventHandle_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUipcEventHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUipcEventHandle_st_spec = {
  "cuda.cuda.CUipcEventHandle_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUipcEventHandle_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUipcEventHandle_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUipcEventHandle_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUipcEventHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUipcEventHandle_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_19CUipcEventHandle_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUipcMemHandle_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *)o);
  new((void*)&(p->_CUipcMemHandle_st__val)) struct CUipcMemHandle_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUipcMemHandle_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *p = (struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_17CUipcMemHandle_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUipcMemHandle_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUipcMemHandle_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUipcMemHandle_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUipcMemHandle_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUipcMemHandle_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUipcMemHandle_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUipcMemHandle_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUipcMemHandle_st[] = {
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_17CUipcMemHandle_st_reserved, __pyx_setprop_4cuda_4cuda_17CUipcMemHandle_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUipcMemHandle_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUipcMemHandle_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUipcMemHandle_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUipcMemHandle_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUipcMemHandle_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUipcMemHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUipcMemHandle_st_spec = {
  "cuda.cuda.CUipcMemHandle_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUipcMemHandle_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUipcMemHandle_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUipcMemHandle_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUipcMemHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUipcMemHandle_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_17CUipcMemHandle_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUstreamMemOpWaitValueParams_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)o);
  p->_address = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_value = ((struct __pyx_obj_4cuda_4cuda_cuuint32_t *)Py_None); Py_INCREF(Py_None);
  p->_value64 = ((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)Py_None); Py_INCREF(Py_None);
  p->_alias = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUstreamMemOpWaitValueParams_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *p = (struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_31CUstreamMemOpWaitValueParams_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_address);
  Py_CLEAR(p->_value);
  Py_CLEAR(p->_value64);
  Py_CLEAR(p->_alias);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUstreamMemOpWaitValueParams_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *p = (struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)o;
  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_4cuda_CUstreamMemOpWaitValueParams_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *p = (struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)o;
  tmp = ((PyObject*)p->_address);
  p->_address = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_value);
  p->_value = ((struct __pyx_obj_4cuda_4cuda_cuuint32_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_value64);
  p->_value64 = ((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_alias);
  p->_alias = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_operation(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_9operation_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_operation(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_9operation_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_address(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7address_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_address(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7address_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_value64(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7value64_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_value64(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7value64_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_alias(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5alias_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_alias(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_5alias_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUstreamMemOpWaitValueParams_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUstreamMemOpWaitValueParams_st[] = {
  {(char *)"operation", __pyx_getprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_operation, __pyx_setprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_operation, (char *)0, 0},
  {(char *)"address", __pyx_getprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_address, __pyx_setprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_address, (char *)0, 0},
  {(char *)"value", __pyx_getprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_value, __pyx_setprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_value, (char *)0, 0},
  {(char *)"value64", __pyx_getprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_value64, __pyx_setprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_value64, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_flags, __pyx_setprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_flags, (char *)0, 0},
  {(char *)"alias", __pyx_getprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_alias, __pyx_setprop_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_alias, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUstreamMemOpWaitValueParams_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUstreamMemOpWaitValueParams_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUstreamMemOpWaitValueParams_st(void_ptr _ptr)\n\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n\n    address : CUdeviceptr\n\n    value : cuuint32_t\n\n    value64 : cuuint64_t\n\n    flags : unsigned int\n\n    alias : CUdeviceptr\n        For driver internal use. Initial value is unimportant.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUstreamMemOpWaitValueParams_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUstreamMemOpWaitValueParams_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUstreamMemOpWaitValueParams_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUstreamMemOpWaitValueParams_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUstreamMemOpWaitValueParams_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUstreamMemOpWaitValueParams_st_spec = {
  "cuda.cuda.CUstreamMemOpWaitValueParams_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUstreamMemOpWaitValueParams_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUstreamMemOpWaitValueParams_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUstreamMemOpWaitValueParams_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUstreamMemOpWaitValueParams_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n\n    address : CUdeviceptr\n\n    value : cuuint32_t\n\n    value64 : cuuint64_t\n\n    flags : unsigned int\n\n    alias : CUdeviceptr\n        For driver internal use. Initial value is unimportant.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUstreamMemOpWaitValueParams_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUstreamMemOpWaitValueParams_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUstreamMemOpWaitValueParams_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_31CUstreamMemOpWaitValueParams_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUstreamMemOpWriteValueParams_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)o);
  p->_address = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_value = ((struct __pyx_obj_4cuda_4cuda_cuuint32_t *)Py_None); Py_INCREF(Py_None);
  p->_value64 = ((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)Py_None); Py_INCREF(Py_None);
  p->_alias = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUstreamMemOpWriteValueParams_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *p = (struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_32CUstreamMemOpWriteValueParams_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_address);
  Py_CLEAR(p->_value);
  Py_CLEAR(p->_value64);
  Py_CLEAR(p->_alias);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUstreamMemOpWriteValueParams_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *p = (struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)o;
  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_4cuda_CUstreamMemOpWriteValueParams_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *p = (struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)o;
  tmp = ((PyObject*)p->_address);
  p->_address = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_value);
  p->_value = ((struct __pyx_obj_4cuda_4cuda_cuuint32_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_value64);
  p->_value64 = ((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_alias);
  p->_alias = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_operation(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_9operation_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_operation(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_9operation_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_address(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7address_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_address(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7address_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_value64(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7value64_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_value64(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7value64_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_alias(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5alias_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_alias(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_5alias_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUstreamMemOpWriteValueParams_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUstreamMemOpWriteValueParams_st[] = {
  {(char *)"operation", __pyx_getprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_operation, __pyx_setprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_operation, (char *)0, 0},
  {(char *)"address", __pyx_getprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_address, __pyx_setprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_address, (char *)0, 0},
  {(char *)"value", __pyx_getprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_value, __pyx_setprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_value, (char *)0, 0},
  {(char *)"value64", __pyx_getprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_value64, __pyx_setprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_value64, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_flags, __pyx_setprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_flags, (char *)0, 0},
  {(char *)"alias", __pyx_getprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_alias, __pyx_setprop_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_alias, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUstreamMemOpWriteValueParams_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUstreamMemOpWriteValueParams_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUstreamMemOpWriteValueParams_st(void_ptr _ptr)\n\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n\n    address : CUdeviceptr\n\n    value : cuuint32_t\n\n    value64 : cuuint64_t\n\n    flags : unsigned int\n\n    alias : CUdeviceptr\n        For driver internal use. Initial value is unimportant.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUstreamMemOpWriteValueParams_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUstreamMemOpWriteValueParams_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUstreamMemOpWriteValueParams_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUstreamMemOpWriteValueParams_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUstreamMemOpWriteValueParams_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUstreamMemOpWriteValueParams_st_spec = {
  "cuda.cuda.CUstreamMemOpWriteValueParams_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUstreamMemOpWriteValueParams_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUstreamMemOpWriteValueParams_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUstreamMemOpWriteValueParams_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUstreamMemOpWriteValueParams_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n\n    address : CUdeviceptr\n\n    value : cuuint32_t\n\n    value64 : cuuint64_t\n\n    flags : unsigned int\n\n    alias : CUdeviceptr\n        For driver internal use. Initial value is unimportant.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUstreamMemOpWriteValueParams_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUstreamMemOpWriteValueParams_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUstreamMemOpWriteValueParams_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_32CUstreamMemOpWriteValueParams_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUstreamMemOpFlushRemoteWritesParams_st(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_operation(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_9operation_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_operation(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_9operation_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st[] = {
  {(char *)"operation", __pyx_getprop_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_operation, __pyx_setprop_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_operation, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_flags, __pyx_setprop_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_flags, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUstreamMemOpFlushRemoteWritesParams_st(void_ptr _ptr)\n\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n\n    flags : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st_spec = {
  "cuda.cuda.CUstreamMemOpFlushRemoteWritesParams_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUstreamMemOpFlushRemoteWritesParams_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n\n    flags : unsigned int\n\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_4cuda_CUstreamMemOpFlushRemoteWritesParams_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUstreamMemOpMemoryBarrierParams_st(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_35CUstreamMemOpMemoryBarrierParams_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_operation(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_9operation_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_operation(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_9operation_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st[] = {
  {(char *)"operation", __pyx_getprop_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_operation, __pyx_setprop_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_operation, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_flags, __pyx_setprop_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_flags, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUstreamMemOpMemoryBarrierParams_st(void_ptr _ptr)\n\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n        < Only supported in the _v2 API\n    flags : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st_spec = {
  "cuda.cuda.CUstreamMemOpMemoryBarrierParams_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUstreamMemOpMemoryBarrierParams_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n        < Only supported in the _v2 API\n    flags : unsigned int\n\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_4cuda_CUstreamMemOpMemoryBarrierParams_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_35CUstreamMemOpMemoryBarrierParams_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUstreamBatchMemOpParams_union(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)o);
  p->_waitValue = ((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)Py_None); Py_INCREF(Py_None);
  p->_writeValue = ((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)Py_None); Py_INCREF(Py_None);
  p->_flushRemoteWrites = ((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *)Py_None); Py_INCREF(Py_None);
  p->_memoryBarrier = ((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUstreamBatchMemOpParams_union(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *p = (struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_30CUstreamBatchMemOpParams_union_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_waitValue);
  Py_CLEAR(p->_writeValue);
  Py_CLEAR(p->_flushRemoteWrites);
  Py_CLEAR(p->_memoryBarrier);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUstreamBatchMemOpParams_union(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *p = (struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)o;
  if (p->_waitValue) {
    e = (*v)(((PyObject *)p->_waitValue), a); if (e) return e;
  }
  if (p->_writeValue) {
    e = (*v)(((PyObject *)p->_writeValue), a); if (e) return e;
  }
  if (p->_flushRemoteWrites) {
    e = (*v)(((PyObject *)p->_flushRemoteWrites), a); if (e) return e;
  }
  if (p->_memoryBarrier) {
    e = (*v)(((PyObject *)p->_memoryBarrier), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUstreamBatchMemOpParams_union(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *p = (struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union *)o;
  tmp = ((PyObject*)p->_waitValue);
  p->_waitValue = ((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWaitValueParams_st *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_writeValue);
  p->_writeValue = ((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpWriteValueParams_st *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_flushRemoteWrites);
  p->_flushRemoteWrites = ((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_memoryBarrier);
  p->_memoryBarrier = ((struct __pyx_obj_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_operation(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9operation_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_operation(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9operation_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_waitValue(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9waitValue_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_waitValue(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9waitValue_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_writeValue(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_10writeValue_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_writeValue(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_10writeValue_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_flushRemoteWrites(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_17flushRemoteWrites_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_flushRemoteWrites(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_17flushRemoteWrites_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_memoryBarrier(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_13memoryBarrier_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_memoryBarrier(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_13memoryBarrier_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_pad(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_3pad_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_pad(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_3pad_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUstreamBatchMemOpParams_union[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUstreamBatchMemOpParams_union_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUstreamBatchMemOpParams_union_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUstreamBatchMemOpParams_union_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUstreamBatchMemOpParams_union[] = {
  {(char *)"operation", __pyx_getprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_operation, __pyx_setprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_operation, (char *)0, 0},
  {(char *)"waitValue", __pyx_getprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_waitValue, __pyx_setprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_waitValue, (char *)0, 0},
  {(char *)"writeValue", __pyx_getprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_writeValue, __pyx_setprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_writeValue, (char *)0, 0},
  {(char *)"flushRemoteWrites", __pyx_getprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_flushRemoteWrites, __pyx_setprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_flushRemoteWrites, (char *)0, 0},
  {(char *)"memoryBarrier", __pyx_getprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_memoryBarrier, __pyx_setprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_memoryBarrier, (char *)0, 0},
  {(char *)"pad", __pyx_getprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_pad, __pyx_setprop_4cuda_4cuda_30CUstreamBatchMemOpParams_union_pad, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_union_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUstreamBatchMemOpParams_union},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUstreamBatchMemOpParams_union(void_ptr _ptr=0)\n\n    Per-operation parameters for cuStreamBatchMemOp\n\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n\n    waitValue : CUstreamMemOpWaitValueParams_st\n\n    writeValue : CUstreamMemOpWriteValueParams_st\n\n    flushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n\n    memoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n\n    pad : List[cuuint64_t]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUstreamBatchMemOpParams_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUstreamBatchMemOpParams_union},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUstreamBatchMemOpParams_union},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUstreamBatchMemOpParams_union},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUstreamBatchMemOpParams_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_union_spec = {
  "cuda.cuda.CUstreamBatchMemOpParams_union",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUstreamBatchMemOpParams_union_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_union = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUstreamBatchMemOpParams_union", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_union), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUstreamBatchMemOpParams_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Per-operation parameters for cuStreamBatchMemOp\n\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n\n    waitValue : CUstreamMemOpWaitValueParams_st\n\n    writeValue : CUstreamMemOpWriteValueParams_st\n\n    flushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n\n    memoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n\n    pad : List[cuuint64_t]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUstreamBatchMemOpParams_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUstreamBatchMemOpParams_union, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUstreamBatchMemOpParams_union, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_30CUstreamBatchMemOpParams_union_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)o);
  new((void*)&(p->_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st__val)) struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st();
  p->_ctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st__val);
  Py_CLEAR(p->_ctx);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)o;
  if (p->_ctx) {
    e = (*v)(((PyObject *)p->_ctx), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st *)o;
  tmp = ((PyObject*)p->_ctx);
  p->_ctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_ctx(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3ctx_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_ctx(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_count(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5count_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_count(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_paramArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10paramArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_paramArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st[] = {
  {(char *)"ctx", __pyx_getprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_ctx, __pyx_setprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_ctx, (char *)0, 0},
  {(char *)"count", __pyx_getprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_count, __pyx_setprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_count, (char *)0, 0},
  {(char *)"paramArray", __pyx_getprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_paramArray, __pyx_setprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_paramArray, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_flags, __pyx_setprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_flags, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_spec = {
  "cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)o);
  new((void*)&(p->_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st__val)) struct CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st();
  p->_ctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st__val);
  Py_CLEAR(p->_ctx);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)o;
  if (p->_ctx) {
    e = (*v)(((PyObject *)p->_ctx), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st *)o;
  tmp = ((PyObject*)p->_ctx);
  p->_ctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_ctx(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3ctx_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_ctx(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_count(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5count_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_count(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_paramArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10paramArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_paramArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st[] = {
  {(char *)"ctx", __pyx_getprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_ctx, __pyx_setprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_ctx, (char *)0, 0},
  {(char *)"count", __pyx_getprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_count, __pyx_setprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_count, (char *)0, 0},
  {(char *)"paramArray", __pyx_getprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_paramArray, __pyx_setprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_paramArray, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_flags, __pyx_setprop_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_flags, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_spec = {
  "cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct0(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct0(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_12anon_struct0_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct0_bytesOverBudget(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct0_15bytesOverBudget_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct0_bytesOverBudget(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct0_15bytesOverBudget_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct0_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12anon_struct0_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct0[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct0_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct0_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct0_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct0_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct0_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct0_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct0_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct0[] = {
  {(char *)"bytesOverBudget", __pyx_getprop_4cuda_4cuda_12anon_struct0_bytesOverBudget, __pyx_setprop_4cuda_4cuda_12anon_struct0_bytesOverBudget, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct0_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct0},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12anon_struct0_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct0(void_ptr _ptr)\n\n    Attributes\n    ----------\n    bytesOverBudget : unsigned long long\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct0},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct0},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_12anon_struct0_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct0},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct0_spec = {
  "cuda.cuda.anon_struct0",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct0),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_anon_struct0_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct0 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct0", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct0), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct0, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    bytesOverBudget : unsigned long long\n\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_4cuda_anon_struct0, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_12anon_struct0_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union2(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_anon_union2 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_anon_union2 *)o);
  p->_overBudget = ((struct __pyx_obj_4cuda_4cuda_anon_struct0 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_union2(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_anon_union2 *p = (struct __pyx_obj_4cuda_4cuda_anon_union2 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_11anon_union2_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_overBudget);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_anon_union2(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_anon_union2 *p = (struct __pyx_obj_4cuda_4cuda_anon_union2 *)o;
  if (p->_overBudget) {
    e = (*v)(((PyObject *)p->_overBudget), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_anon_union2(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_anon_union2 *p = (struct __pyx_obj_4cuda_4cuda_anon_union2 *)o;
  tmp = ((PyObject*)p->_overBudget);
  p->_overBudget = ((struct __pyx_obj_4cuda_4cuda_anon_struct0 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union2_overBudget(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union2_10overBudget_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union2_overBudget(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union2_10overBudget_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_11anon_union2_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_11anon_union2_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_union2[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union2_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union2_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_11anon_union2_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union2_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union2_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union2_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union2_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_union2[] = {
  {(char *)"overBudget", __pyx_getprop_4cuda_4cuda_11anon_union2_overBudget, __pyx_setprop_4cuda_4cuda_11anon_union2_overBudget, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_union2_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_union2},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_11anon_union2_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union2(void_ptr _ptr)\n\n    Attributes\n    ----------\n    overBudget : anon_struct0\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_anon_union2},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_anon_union2},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_union2},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_union2},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_11anon_union2_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_union2},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_union2_spec = {
  "cuda.cuda.anon_union2",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_anon_union2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_union2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_union2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_union2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_union2, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    overBudget : anon_struct0\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_anon_union2, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_anon_union2, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_anon_union2, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_11anon_union2_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUasyncNotificationInfo_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *)o);
  p->_info = ((struct __pyx_obj_4cuda_4cuda_anon_union2 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUasyncNotificationInfo_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *p = (struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_26CUasyncNotificationInfo_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_info);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUasyncNotificationInfo_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *p = (struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *)o;
  if (p->_info) {
    e = (*v)(((PyObject *)p->_info), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUasyncNotificationInfo_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *p = (struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st *)o;
  tmp = ((PyObject*)p->_info);
  p->_info = ((struct __pyx_obj_4cuda_4cuda_anon_union2 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUasyncNotificationInfo_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUasyncNotificationInfo_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUasyncNotificationInfo_st_info(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_4info_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUasyncNotificationInfo_st_info(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_4info_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUasyncNotificationInfo_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUasyncNotificationInfo_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUasyncNotificationInfo_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUasyncNotificationInfo_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUasyncNotificationInfo_st[] = {
  {(char *)"type", __pyx_getprop_4cuda_4cuda_26CUasyncNotificationInfo_st_type, __pyx_setprop_4cuda_4cuda_26CUasyncNotificationInfo_st_type, (char *)0, 0},
  {(char *)"info", __pyx_getprop_4cuda_4cuda_26CUasyncNotificationInfo_st_info, __pyx_setprop_4cuda_4cuda_26CUasyncNotificationInfo_st_info, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUasyncNotificationInfo_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUasyncNotificationInfo_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUasyncNotificationInfo_st(void_ptr _ptr=0)\n\n    Information passed to the user via the async notification callback\n\n    Attributes\n    ----------\n    type : CUasyncNotificationType\n\n    info : anon_union2\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUasyncNotificationInfo_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUasyncNotificationInfo_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUasyncNotificationInfo_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUasyncNotificationInfo_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUasyncNotificationInfo_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUasyncNotificationInfo_st_spec = {
  "cuda.cuda.CUasyncNotificationInfo_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUasyncNotificationInfo_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUasyncNotificationInfo_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUasyncNotificationInfo_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUasyncNotificationInfo_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Information passed to the user via the async notification callback\n\n    Attributes\n    ----------\n    type : CUasyncNotificationType\n\n    info : anon_union2\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUasyncNotificationInfo_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUasyncNotificationInfo_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUasyncNotificationInfo_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_26CUasyncNotificationInfo_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUdevprop_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUdevprop_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)o);
  new((void*)&(p->_CUdevprop_st__val)) struct CUdevprop_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUdevprop_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUdevprop_st *p = (struct __pyx_obj_4cuda_4cuda_CUdevprop_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_12CUdevprop_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUdevprop_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_12CUdevprop_st_maxThreadsPerBlock(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12CUdevprop_st_18maxThreadsPerBlock_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12CUdevprop_st_maxThreadsPerBlock(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12CUdevprop_st_18maxThreadsPerBlock_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12CUdevprop_st_maxThreadsDim(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12CUdevprop_st_13maxThreadsDim_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12CUdevprop_st_maxThreadsDim(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12CUdevprop_st_13maxThreadsDim_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12CUdevprop_st_maxGridSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12CUdevprop_st_11maxGridSize_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12CUdevprop_st_maxGridSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12CUdevprop_st_11maxGridSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12CUdevprop_st_sharedMemPerBlock(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12CUdevprop_st_17sharedMemPerBlock_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12CUdevprop_st_sharedMemPerBlock(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12CUdevprop_st_17sharedMemPerBlock_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12CUdevprop_st_totalConstantMemory(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12CUdevprop_st_19totalConstantMemory_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12CUdevprop_st_totalConstantMemory(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12CUdevprop_st_19totalConstantMemory_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12CUdevprop_st_SIMDWidth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12CUdevprop_st_9SIMDWidth_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12CUdevprop_st_SIMDWidth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12CUdevprop_st_9SIMDWidth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12CUdevprop_st_memPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12CUdevprop_st_8memPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12CUdevprop_st_memPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12CUdevprop_st_8memPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12CUdevprop_st_regsPerBlock(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12CUdevprop_st_12regsPerBlock_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12CUdevprop_st_regsPerBlock(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12CUdevprop_st_12regsPerBlock_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12CUdevprop_st_clockRate(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12CUdevprop_st_9clockRate_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12CUdevprop_st_clockRate(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12CUdevprop_st_9clockRate_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12CUdevprop_st_textureAlign(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12CUdevprop_st_12textureAlign_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12CUdevprop_st_textureAlign(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12CUdevprop_st_12textureAlign_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12CUdevprop_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12CUdevprop_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUdevprop_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUdevprop_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUdevprop_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12CUdevprop_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUdevprop_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUdevprop_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUdevprop_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUdevprop_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUdevprop_st[] = {
  {(char *)"maxThreadsPerBlock", __pyx_getprop_4cuda_4cuda_12CUdevprop_st_maxThreadsPerBlock, __pyx_setprop_4cuda_4cuda_12CUdevprop_st_maxThreadsPerBlock, (char *)0, 0},
  {(char *)"maxThreadsDim", __pyx_getprop_4cuda_4cuda_12CUdevprop_st_maxThreadsDim, __pyx_setprop_4cuda_4cuda_12CUdevprop_st_maxThreadsDim, (char *)0, 0},
  {(char *)"maxGridSize", __pyx_getprop_4cuda_4cuda_12CUdevprop_st_maxGridSize, __pyx_setprop_4cuda_4cuda_12CUdevprop_st_maxGridSize, (char *)0, 0},
  {(char *)"sharedMemPerBlock", __pyx_getprop_4cuda_4cuda_12CUdevprop_st_sharedMemPerBlock, __pyx_setprop_4cuda_4cuda_12CUdevprop_st_sharedMemPerBlock, (char *)0, 0},
  {(char *)"totalConstantMemory", __pyx_getprop_4cuda_4cuda_12CUdevprop_st_totalConstantMemory, __pyx_setprop_4cuda_4cuda_12CUdevprop_st_totalConstantMemory, (char *)0, 0},
  {(char *)"SIMDWidth", __pyx_getprop_4cuda_4cuda_12CUdevprop_st_SIMDWidth, __pyx_setprop_4cuda_4cuda_12CUdevprop_st_SIMDWidth, (char *)0, 0},
  {(char *)"memPitch", __pyx_getprop_4cuda_4cuda_12CUdevprop_st_memPitch, __pyx_setprop_4cuda_4cuda_12CUdevprop_st_memPitch, (char *)0, 0},
  {(char *)"regsPerBlock", __pyx_getprop_4cuda_4cuda_12CUdevprop_st_regsPerBlock, __pyx_setprop_4cuda_4cuda_12CUdevprop_st_regsPerBlock, (char *)0, 0},
  {(char *)"clockRate", __pyx_getprop_4cuda_4cuda_12CUdevprop_st_clockRate, __pyx_setprop_4cuda_4cuda_12CUdevprop_st_clockRate, (char *)0, 0},
  {(char *)"textureAlign", __pyx_getprop_4cuda_4cuda_12CUdevprop_st_textureAlign, __pyx_setprop_4cuda_4cuda_12CUdevprop_st_textureAlign, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUdevprop_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUdevprop_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12CUdevprop_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUdevprop_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUdevprop_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUdevprop_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_12CUdevprop_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUdevprop_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUdevprop_st_spec = {
  "cuda.cuda.CUdevprop_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevprop_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUdevprop_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUdevprop_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUdevprop_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevprop_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUdevprop_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUdevprop_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_12CUdevprop_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUaccessPolicyWindow_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)o);
  new((void*)&(p->_CUaccessPolicyWindow_st__val)) struct CUaccessPolicyWindow_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUaccessPolicyWindow_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *p = (struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_23CUaccessPolicyWindow_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUaccessPolicyWindow_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_23CUaccessPolicyWindow_st_base_ptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_8base_ptr_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_23CUaccessPolicyWindow_st_base_ptr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_8base_ptr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_23CUaccessPolicyWindow_st_num_bytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_9num_bytes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_23CUaccessPolicyWindow_st_num_bytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_9num_bytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_23CUaccessPolicyWindow_st_hitRatio(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_8hitRatio_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_23CUaccessPolicyWindow_st_hitRatio(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_8hitRatio_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_23CUaccessPolicyWindow_st_hitProp(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_7hitProp_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_23CUaccessPolicyWindow_st_hitProp(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_7hitProp_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_23CUaccessPolicyWindow_st_missProp(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_8missProp_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_23CUaccessPolicyWindow_st_missProp(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_8missProp_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUaccessPolicyWindow_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_23CUaccessPolicyWindow_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_23CUaccessPolicyWindow_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_23CUaccessPolicyWindow_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUaccessPolicyWindow_st[] = {
  {(char *)"base_ptr", __pyx_getprop_4cuda_4cuda_23CUaccessPolicyWindow_st_base_ptr, __pyx_setprop_4cuda_4cuda_23CUaccessPolicyWindow_st_base_ptr, (char *)0, 0},
  {(char *)"num_bytes", __pyx_getprop_4cuda_4cuda_23CUaccessPolicyWindow_st_num_bytes, __pyx_setprop_4cuda_4cuda_23CUaccessPolicyWindow_st_num_bytes, (char *)0, 0},
  {(char *)"hitRatio", __pyx_getprop_4cuda_4cuda_23CUaccessPolicyWindow_st_hitRatio, __pyx_setprop_4cuda_4cuda_23CUaccessPolicyWindow_st_hitRatio, (char *)0, 0},
  {(char *)"hitProp", __pyx_getprop_4cuda_4cuda_23CUaccessPolicyWindow_st_hitProp, __pyx_setprop_4cuda_4cuda_23CUaccessPolicyWindow_st_hitProp, (char *)0, 0},
  {(char *)"missProp", __pyx_getprop_4cuda_4cuda_23CUaccessPolicyWindow_st_missProp, __pyx_setprop_4cuda_4cuda_23CUaccessPolicyWindow_st_missProp, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUaccessPolicyWindow_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUaccessPolicyWindow_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUaccessPolicyWindow_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUaccessPolicyWindow_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUaccessPolicyWindow_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUaccessPolicyWindow_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUaccessPolicyWindow_st_spec = {
  "cuda.cuda.CUaccessPolicyWindow_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUaccessPolicyWindow_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUaccessPolicyWindow_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUaccessPolicyWindow_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUaccessPolicyWindow_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUaccessPolicyWindow_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_23CUaccessPolicyWindow_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)o);
  new((void*)&(p->_CUDA_KERNEL_NODE_PARAMS_st__val)) struct CUDA_KERNEL_NODE_PARAMS_st();
  p->_func = ((struct __pyx_obj_4cuda_4cuda_CUfunction *)Py_None); Py_INCREF(Py_None);
  p->_ckernelParams = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_KERNEL_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_KERNEL_NODE_PARAMS_st__val);
  Py_CLEAR(p->_func);
  Py_CLEAR(p->_ckernelParams);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)o;
  if (p->_func) {
    e = (*v)(((PyObject *)p->_func), a); if (e) return e;
  }
  if (p->_ckernelParams) {
    e = (*v)(((PyObject *)p->_ckernelParams), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_func);
  p->_func = ((struct __pyx_obj_4cuda_4cuda_CUfunction *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_ckernelParams);
  p->_ckernelParams = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_func(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_4func_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_func(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_4func_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_gridDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_gridDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_gridDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_gridDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_gridDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_gridDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_8gridDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_blockDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_blockDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_blockDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_blockDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_blockDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_blockDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9blockDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_sharedMemBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_sharedMemBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_14sharedMemBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_kernelParams(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_kernelParams(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_12kernelParams_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_extra(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_5extra_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_extra(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_5extra_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st[] = {
  {(char *)"func", __pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_func, __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_func, (char *)0, 0},
  {(char *)"gridDimX", __pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_gridDimX, __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_gridDimX, (char *)0, 0},
  {(char *)"gridDimY", __pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_gridDimY, __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_gridDimY, (char *)0, 0},
  {(char *)"gridDimZ", __pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_gridDimZ, __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_gridDimZ, (char *)0, 0},
  {(char *)"blockDimX", __pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_blockDimX, __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_blockDimX, (char *)0, 0},
  {(char *)"blockDimY", __pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_blockDimY, __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_blockDimY, (char *)0, 0},
  {(char *)"blockDimZ", __pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_blockDimZ, __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_blockDimZ, (char *)0, 0},
  {(char *)"sharedMemBytes", __pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_sharedMemBytes, __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_sharedMemBytes, (char *)0, 0},
  {(char *)"kernelParams", __pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_kernelParams, __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_kernelParams, (char *)0, 0},
  {(char *)"extra", __pyx_getprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_extra, __pyx_setprop_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_extra, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_KERNEL_NODE_PARAMS_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st_spec = {
  "cuda.cuda.CUDA_KERNEL_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_KERNEL_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_KERNEL_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)o);
  new((void*)&(p->_CUDA_KERNEL_NODE_PARAMS_v2_st__val)) struct CUDA_KERNEL_NODE_PARAMS_v2_st();
  p->_func = ((struct __pyx_obj_4cuda_4cuda_CUfunction *)Py_None); Py_INCREF(Py_None);
  p->_ckernelParams = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *)Py_None); Py_INCREF(Py_None);
  p->_kern = ((struct __pyx_obj_4cuda_4cuda_CUkernel *)Py_None); Py_INCREF(Py_None);
  p->_ctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_KERNEL_NODE_PARAMS_v2_st__val);
  Py_CLEAR(p->_func);
  Py_CLEAR(p->_ckernelParams);
  Py_CLEAR(p->_kern);
  Py_CLEAR(p->_ctx);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)o;
  if (p->_func) {
    e = (*v)(((PyObject *)p->_func), a); if (e) return e;
  }
  if (p->_ckernelParams) {
    e = (*v)(((PyObject *)p->_ckernelParams), 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_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st *)o;
  tmp = ((PyObject*)p->_func);
  p->_func = ((struct __pyx_obj_4cuda_4cuda_CUfunction *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_ckernelParams);
  p->_ckernelParams = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_kern);
  p->_kern = ((struct __pyx_obj_4cuda_4cuda_CUkernel *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_ctx);
  p->_ctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_func(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_func(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4func_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_8gridDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9blockDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_sharedMemBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_sharedMemBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_14sharedMemBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_kernelParams(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_kernelParams(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_12kernelParams_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_extra(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_extra(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_5extra_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_kern(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_kern(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_4kern_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_ctx(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_ctx(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_3ctx_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st[] = {
  {(char *)"func", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_func, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_func, (char *)0, 0},
  {(char *)"gridDimX", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimX, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimX, (char *)0, 0},
  {(char *)"gridDimY", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimY, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimY, (char *)0, 0},
  {(char *)"gridDimZ", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimZ, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_gridDimZ, (char *)0, 0},
  {(char *)"blockDimX", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimX, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimX, (char *)0, 0},
  {(char *)"blockDimY", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimY, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimY, (char *)0, 0},
  {(char *)"blockDimZ", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimZ, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_blockDimZ, (char *)0, 0},
  {(char *)"sharedMemBytes", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_sharedMemBytes, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_sharedMemBytes, (char *)0, 0},
  {(char *)"kernelParams", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_kernelParams, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_kernelParams, (char *)0, 0},
  {(char *)"extra", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_extra, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_extra, (char *)0, 0},
  {(char *)"kern", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_kern, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_kern, (char *)0, 0},
  {(char *)"ctx", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_ctx, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_ctx, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st_spec = {
  "cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_KERNEL_NODE_PARAMS_v2_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)o);
  new((void*)&(p->_CUDA_KERNEL_NODE_PARAMS_v3_st__val)) struct CUDA_KERNEL_NODE_PARAMS_v3_st();
  p->_func = ((struct __pyx_obj_4cuda_4cuda_CUfunction *)Py_None); Py_INCREF(Py_None);
  p->_ckernelParams = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *)Py_None); Py_INCREF(Py_None);
  p->_kern = ((struct __pyx_obj_4cuda_4cuda_CUkernel *)Py_None); Py_INCREF(Py_None);
  p->_ctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_KERNEL_NODE_PARAMS_v3_st__val);
  Py_CLEAR(p->_func);
  Py_CLEAR(p->_ckernelParams);
  Py_CLEAR(p->_kern);
  Py_CLEAR(p->_ctx);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)o;
  if (p->_func) {
    e = (*v)(((PyObject *)p->_func), a); if (e) return e;
  }
  if (p->_ckernelParams) {
    e = (*v)(((PyObject *)p->_ckernelParams), 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_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st *)o;
  tmp = ((PyObject*)p->_func);
  p->_func = ((struct __pyx_obj_4cuda_4cuda_CUfunction *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_ckernelParams);
  p->_ckernelParams = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_kern);
  p->_kern = ((struct __pyx_obj_4cuda_4cuda_CUkernel *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_ctx);
  p->_ctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_func(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_func(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4func_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_8gridDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9blockDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_sharedMemBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_sharedMemBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_14sharedMemBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_kernelParams(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_kernelParams(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_12kernelParams_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_extra(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_extra(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_5extra_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_kern(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_kern(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_4kern_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_ctx(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_ctx(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_3ctx_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st[] = {
  {(char *)"func", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_func, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_func, (char *)0, 0},
  {(char *)"gridDimX", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimX, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimX, (char *)0, 0},
  {(char *)"gridDimY", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimY, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimY, (char *)0, 0},
  {(char *)"gridDimZ", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimZ, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_gridDimZ, (char *)0, 0},
  {(char *)"blockDimX", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimX, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimX, (char *)0, 0},
  {(char *)"blockDimY", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimY, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimY, (char *)0, 0},
  {(char *)"blockDimZ", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimZ, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_blockDimZ, (char *)0, 0},
  {(char *)"sharedMemBytes", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_sharedMemBytes, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_sharedMemBytes, (char *)0, 0},
  {(char *)"kernelParams", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_kernelParams, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_kernelParams, (char *)0, 0},
  {(char *)"extra", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_extra, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_extra, (char *)0, 0},
  {(char *)"kern", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_kern, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_kern, (char *)0, 0},
  {(char *)"ctx", __pyx_getprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_ctx, __pyx_setprop_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_ctx, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st_spec = {
  "cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_KERNEL_NODE_PARAMS_v3_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *)o);
  new((void*)&(p->_CUDA_MEMSET_NODE_PARAMS_st__val)) struct CUDA_MEMSET_NODE_PARAMS_st();
  p->_dst = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_MEMSET_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_MEMSET_NODE_PARAMS_st__val);
  Py_CLEAR(p->_dst);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *)o;
  if (p->_dst) {
    e = (*v)(((PyObject *)p->_dst), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_dst);
  p->_dst = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_dst(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_3dst_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_dst(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_3dst_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_pitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5pitch_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_pitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5pitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_elementSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_elementSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_11elementSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st[] = {
  {(char *)"dst", __pyx_getprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_dst, __pyx_setprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_dst, (char *)0, 0},
  {(char *)"pitch", __pyx_getprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_pitch, __pyx_setprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_pitch, (char *)0, 0},
  {(char *)"value", __pyx_getprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_value, __pyx_setprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_value, (char *)0, 0},
  {(char *)"elementSize", __pyx_getprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_elementSize, __pyx_setprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_elementSize, (char *)0, 0},
  {(char *)"width", __pyx_getprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_width, __pyx_setprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_width, (char *)0, 0},
  {(char *)"height", __pyx_getprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_height, __pyx_setprop_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_height, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_MEMSET_NODE_PARAMS_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st_spec = {
  "cuda.cuda.CUDA_MEMSET_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_MEMSET_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEMSET_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)o);
  new((void*)&(p->_CUDA_MEMSET_NODE_PARAMS_v2_st__val)) struct CUDA_MEMSET_NODE_PARAMS_v2_st();
  p->_dst = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_ctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_MEMSET_NODE_PARAMS_v2_st__val);
  Py_CLEAR(p->_dst);
  Py_CLEAR(p->_ctx);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)o;
  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_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st *)o;
  tmp = ((PyObject*)p->_dst);
  p->_dst = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_ctx);
  p->_ctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_dst(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_dst(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3dst_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_pitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_pitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5pitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_elementSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_elementSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_11elementSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_ctx(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_ctx(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3ctx_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st[] = {
  {(char *)"dst", __pyx_getprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_dst, __pyx_setprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_dst, (char *)0, 0},
  {(char *)"pitch", __pyx_getprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_pitch, __pyx_setprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_pitch, (char *)0, 0},
  {(char *)"value", __pyx_getprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_value, __pyx_setprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_value, (char *)0, 0},
  {(char *)"elementSize", __pyx_getprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_elementSize, __pyx_setprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_elementSize, (char *)0, 0},
  {(char *)"width", __pyx_getprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_width, __pyx_setprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_width, (char *)0, 0},
  {(char *)"height", __pyx_getprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_height, __pyx_setprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_height, (char *)0, 0},
  {(char *)"ctx", __pyx_getprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_ctx, __pyx_setprop_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_ctx, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st_spec = {
  "cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEMSET_NODE_PARAMS_v2_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *)o);
  new((void*)&(p->_CUDA_HOST_NODE_PARAMS_st__val)) struct CUDA_HOST_NODE_PARAMS_st();
  p->_fn = ((struct __pyx_obj_4cuda_4cuda_CUhostFn *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_HOST_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_HOST_NODE_PARAMS_st__val);
  Py_CLEAR(p->_fn);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *)o;
  if (p->_fn) {
    e = (*v)(((PyObject *)p->_fn), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_fn);
  p->_fn = ((struct __pyx_obj_4cuda_4cuda_CUhostFn *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_fn(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_2fn_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_fn(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_2fn_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_userData(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_8userData_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_userData(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_8userData_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st[] = {
  {(char *)"fn", __pyx_getprop_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_fn, __pyx_setprop_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_fn, (char *)0, 0},
  {(char *)"userData", __pyx_getprop_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_userData, __pyx_setprop_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_userData, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_HOST_NODE_PARAMS_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st_spec = {
  "cuda.cuda.CUDA_HOST_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_HOST_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_HOST_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_24CUDA_HOST_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *)o);
  new((void*)&(p->_CUDA_HOST_NODE_PARAMS_v2_st__val)) struct CUDA_HOST_NODE_PARAMS_v2_st();
  p->_fn = ((struct __pyx_obj_4cuda_4cuda_CUhostFn *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_HOST_NODE_PARAMS_v2_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_HOST_NODE_PARAMS_v2_st__val);
  Py_CLEAR(p->_fn);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *)o;
  if (p->_fn) {
    e = (*v)(((PyObject *)p->_fn), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st *)o;
  tmp = ((PyObject*)p->_fn);
  p->_fn = ((struct __pyx_obj_4cuda_4cuda_CUhostFn *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_fn(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_2fn_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_fn(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_2fn_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_userData(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_8userData_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_userData(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_8userData_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st[] = {
  {(char *)"fn", __pyx_getprop_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_fn, __pyx_setprop_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_fn, (char *)0, 0},
  {(char *)"userData", __pyx_getprop_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_userData, __pyx_setprop_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_userData, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st_spec = {
  "cuda.cuda.CUDA_HOST_NODE_PARAMS_v2_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_HOST_NODE_PARAMS_v2_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_HOST_NODE_PARAMS_v2_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)o);
  new((void*)&(p->_CUDA_CONDITIONAL_NODE_PARAMS__val)) struct CUDA_CONDITIONAL_NODE_PARAMS();
  p->_handle = ((struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *)Py_None); Py_INCREF(Py_None);
  p->_ctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_CONDITIONAL_NODE_PARAMS(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *p = (struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUDA_CONDITIONAL_NODE_PARAMS__val);
  Py_CLEAR(p->_handle);
  Py_CLEAR(p->_ctx);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *p = (struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)o;
  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_4cuda_CUDA_CONDITIONAL_NODE_PARAMS(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *p = (struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)o;
  tmp = ((PyObject*)p->_handle);
  p->_handle = ((struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_ctx);
  p->_ctx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_handle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_6handle_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_handle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_6handle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4size_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_phGraph_out(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_11phGraph_out_1__get__(o);
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_ctx(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_ctx(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_3ctx_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS[] = {
  {(char *)"handle", __pyx_getprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_handle, __pyx_setprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_handle, (char *)0, 0},
  {(char *)"type", __pyx_getprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_type, __pyx_setprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_type, (char *)0, 0},
  {(char *)"size", __pyx_getprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_size, __pyx_setprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_size, (char *)0, 0},
  {(char *)"phGraph_out", __pyx_getprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_phGraph_out, 0, (char *)0, 0},
  {(char *)"ctx", __pyx_getprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_ctx, __pyx_setprop_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_ctx, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_CONDITIONAL_NODE_PARAMS(void_ptr _ptr=0)\n\n    Conditional node parameters\n\n    Attributes\n    ----------\n    handle : CUgraphConditionalHandle\n        Conditional node handle. Handles must be created in advance of\n        creating the node using cuGraphConditionalHandleCreate.\n    type : CUgraphConditionalNodeType\n        Type of conditional node.\n    size : unsigned int\n        Size of graph output array. Must be 1.\n    phGraph_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.\n    ctx : CUcontext\n        Context on which to run the node. Must match context used to create\n        the handle and all body nodes.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS_spec = {
  "cuda.cuda.CUDA_CONDITIONAL_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_CONDITIONAL_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_CONDITIONAL_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Conditional node parameters\n\n    Attributes\n    ----------\n    handle : CUgraphConditionalHandle\n        Conditional node handle. Handles must be created in advance of\n        creating the node using cuGraphConditionalHandleCreate.\n    type : CUgraphConditionalNodeType\n        Type of conditional node.\n    size : unsigned int\n        Size of graph output array. Must be 1.\n    phGraph_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.\n    ctx : CUcontext\n        Context on which to run the node. Must match context used to create\n        the handle and all body nodes.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraphEdgeData_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *)o);
  new((void*)&(p->_CUgraphEdgeData_st__val)) struct CUgraphEdgeData_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUgraphEdgeData_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *p = (struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_18CUgraphEdgeData_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUgraphEdgeData_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_18CUgraphEdgeData_st_from_port(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_9from_port_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_18CUgraphEdgeData_st_from_port(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_9from_port_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_18CUgraphEdgeData_st_to_port(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_7to_port_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_18CUgraphEdgeData_st_to_port(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_7to_port_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_18CUgraphEdgeData_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_18CUgraphEdgeData_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_18CUgraphEdgeData_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_18CUgraphEdgeData_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUgraphEdgeData_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUgraphEdgeData_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUgraphEdgeData_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUgraphEdgeData_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUgraphEdgeData_st[] = {
  {(char *)"from_port", __pyx_getprop_4cuda_4cuda_18CUgraphEdgeData_st_from_port, __pyx_setprop_4cuda_4cuda_18CUgraphEdgeData_st_from_port, (char *)0, 0},
  {(char *)"to_port", __pyx_getprop_4cuda_4cuda_18CUgraphEdgeData_st_to_port, __pyx_setprop_4cuda_4cuda_18CUgraphEdgeData_st_to_port, (char *)0, 0},
  {(char *)"type", __pyx_getprop_4cuda_4cuda_18CUgraphEdgeData_st_type, __pyx_setprop_4cuda_4cuda_18CUgraphEdgeData_st_type, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_18CUgraphEdgeData_st_reserved, __pyx_setprop_4cuda_4cuda_18CUgraphEdgeData_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUgraphEdgeData_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUgraphEdgeData_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgraphEdgeData_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUgraphEdgeData_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUgraphEdgeData_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUgraphEdgeData_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUgraphEdgeData_st_spec = {
  "cuda.cuda.CUgraphEdgeData_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUgraphEdgeData_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUgraphEdgeData_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUgraphEdgeData_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUgraphEdgeData_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUgraphEdgeData_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_18CUgraphEdgeData_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)o);
  new((void*)&(p->_CUDA_GRAPH_INSTANTIATE_PARAMS_st__val)) struct CUDA_GRAPH_INSTANTIATE_PARAMS_st();
  p->_flags = ((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)Py_None); Py_INCREF(Py_None);
  p->_hUploadStream = ((struct __pyx_obj_4cuda_4cuda_CUstream *)Py_None); Py_INCREF(Py_None);
  p->_hErrNode_out = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_GRAPH_INSTANTIATE_PARAMS_st__val);
  Py_CLEAR(p->_flags);
  Py_CLEAR(p->_hUploadStream);
  Py_CLEAR(p->_hErrNode_out);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)o;
  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_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_flags);
  p->_flags = ((struct __pyx_obj_4cuda_4cuda_cuuint64_t *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_hUploadStream);
  p->_hUploadStream = ((struct __pyx_obj_4cuda_4cuda_CUstream *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_hErrNode_out);
  p->_hErrNode_out = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_hUploadStream(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_hUploadStream(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13hUploadStream_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_hErrNode_out(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_hErrNode_out(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12hErrNode_out_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_result_out(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_result_out(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10result_out_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st[] = {
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_flags, __pyx_setprop_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_flags, (char *)0, 0},
  {(char *)"hUploadStream", __pyx_getprop_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_hUploadStream, __pyx_setprop_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_hUploadStream, (char *)0, 0},
  {(char *)"hErrNode_out", __pyx_getprop_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_hErrNode_out, __pyx_setprop_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_hErrNode_out, (char *)0, 0},
  {(char *)"result_out", __pyx_getprop_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_result_out, __pyx_setprop_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_result_out, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_GRAPH_INSTANTIATE_PARAMS_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st_spec = {
  "cuda.cuda.CUDA_GRAPH_INSTANTIATE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_GRAPH_INSTANTIATE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUlaunchMemSyncDomainMap_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *)o);
  new((void*)&(p->_CUlaunchMemSyncDomainMap_st__val)) struct CUlaunchMemSyncDomainMap_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUlaunchMemSyncDomainMap_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *p = (struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_27CUlaunchMemSyncDomainMap_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUlaunchMemSyncDomainMap_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_default_(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_8default__1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_default_(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_8default__3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_remote(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_6remote_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_remote(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_6remote_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUlaunchMemSyncDomainMap_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUlaunchMemSyncDomainMap_st[] = {
  {(char *)"default_", __pyx_getprop_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_default_, __pyx_setprop_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_default_, (char *)0, 0},
  {(char *)"remote", __pyx_getprop_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_remote, __pyx_setprop_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_remote, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUlaunchMemSyncDomainMap_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUlaunchMemSyncDomainMap_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUlaunchMemSyncDomainMap_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUlaunchMemSyncDomainMap_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUlaunchMemSyncDomainMap_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap_st_spec = {
  "cuda.cuda.CUlaunchMemSyncDomainMap_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUlaunchMemSyncDomainMap_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUlaunchMemSyncDomainMap_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUlaunchMemSyncDomainMap_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_27CUlaunchMemSyncDomainMap_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct1(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct1(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_12anon_struct1_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct1_x(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct1_1x_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct1_x(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct1_1x_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct1_y(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct1_1y_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct1_y(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct1_1y_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct1_z(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct1_1z_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct1_z(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct1_1z_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct1_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12anon_struct1_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct1[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct1_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct1_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct1_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct1_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct1_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct1[] = {
  {(char *)"x", __pyx_getprop_4cuda_4cuda_12anon_struct1_x, __pyx_setprop_4cuda_4cuda_12anon_struct1_x, (char *)0, 0},
  {(char *)"y", __pyx_getprop_4cuda_4cuda_12anon_struct1_y, __pyx_setprop_4cuda_4cuda_12anon_struct1_y, (char *)0, 0},
  {(char *)"z", __pyx_getprop_4cuda_4cuda_12anon_struct1_z, __pyx_setprop_4cuda_4cuda_12anon_struct1_z, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct1},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12anon_struct1_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct1(void_ptr _ptr)\n\n    Attributes\n    ----------\n    x : unsigned int\n\n    y : unsigned int\n\n    z : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct1},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct1},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_12anon_struct1_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct1},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct1_spec = {
  "cuda.cuda.anon_struct1",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_anon_struct1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct1, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    x : unsigned int\n\n    y : unsigned int\n\n    z : unsigned int\n\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_4cuda_anon_struct1, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_12anon_struct1_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct2(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_anon_struct2 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)o);
  p->_event = ((struct __pyx_obj_4cuda_4cuda_CUevent *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct2(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_anon_struct2 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct2 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_12anon_struct2_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_event);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_anon_struct2(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_anon_struct2 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct2 *)o;
  if (p->_event) {
    e = (*v)(((PyObject *)p->_event), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_anon_struct2(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_anon_struct2 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct2 *)o;
  tmp = ((PyObject*)p->_event);
  p->_event = ((struct __pyx_obj_4cuda_4cuda_CUevent *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct2_event(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct2_5event_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct2_event(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct2_5event_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct2_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct2_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct2_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct2_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct2_triggerAtBlockStart(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct2_19triggerAtBlockStart_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct2_triggerAtBlockStart(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct2_19triggerAtBlockStart_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct2_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12anon_struct2_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct2[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct2_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct2_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct2_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct2_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct2_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct2_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct2_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct2[] = {
  {(char *)"event", __pyx_getprop_4cuda_4cuda_12anon_struct2_event, __pyx_setprop_4cuda_4cuda_12anon_struct2_event, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_12anon_struct2_flags, __pyx_setprop_4cuda_4cuda_12anon_struct2_flags, (char *)0, 0},
  {(char *)"triggerAtBlockStart", __pyx_getprop_4cuda_4cuda_12anon_struct2_triggerAtBlockStart, __pyx_setprop_4cuda_4cuda_12anon_struct2_triggerAtBlockStart, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct2_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct2},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12anon_struct2_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct2(void_ptr _ptr)\n\n    Attributes\n    ----------\n    event : CUevent\n\n    flags : int\n\n    triggerAtBlockStart : int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_anon_struct2},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_anon_struct2},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct2},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct2},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_12anon_struct2_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct2},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct2_spec = {
  "cuda.cuda.anon_struct2",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_anon_struct2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct2, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    event : CUevent\n\n    flags : int\n\n    triggerAtBlockStart : int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_anon_struct2, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_anon_struct2, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_anon_struct2, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_12anon_struct2_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct3(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_anon_struct3 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_anon_struct3 *)o);
  p->_event = ((struct __pyx_obj_4cuda_4cuda_CUevent *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct3(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_anon_struct3 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct3 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_12anon_struct3_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_event);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_anon_struct3(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_anon_struct3 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct3 *)o;
  if (p->_event) {
    e = (*v)(((PyObject *)p->_event), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_anon_struct3(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_anon_struct3 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct3 *)o;
  tmp = ((PyObject*)p->_event);
  p->_event = ((struct __pyx_obj_4cuda_4cuda_CUevent *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct3_event(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct3_5event_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct3_event(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct3_5event_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct3_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct3_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct3_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct3_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct3_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12anon_struct3_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct3[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct3_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct3_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct3_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct3_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct3_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct3_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct3_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct3[] = {
  {(char *)"event", __pyx_getprop_4cuda_4cuda_12anon_struct3_event, __pyx_setprop_4cuda_4cuda_12anon_struct3_event, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_12anon_struct3_flags, __pyx_setprop_4cuda_4cuda_12anon_struct3_flags, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct3_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct3},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12anon_struct3_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct3(void_ptr _ptr)\n\n    Attributes\n    ----------\n    event : CUevent\n\n    flags : int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_anon_struct3},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_anon_struct3},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct3},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct3},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_12anon_struct3_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct3},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct3_spec = {
  "cuda.cuda.anon_struct3",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_anon_struct3_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct3 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct3", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct3), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct3, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    event : CUevent\n\n    flags : int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_anon_struct3, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_anon_struct3, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_anon_struct3, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_12anon_struct3_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct4(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_anon_struct4 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_anon_struct4 *)o);
  p->_devNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct4(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_anon_struct4 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct4 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_anon_struct4) {
      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_4cuda_12anon_struct4_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_devNode);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_anon_struct4(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_anon_struct4 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct4 *)o;
  if (p->_devNode) {
    e = (*v)(((PyObject *)p->_devNode), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_anon_struct4(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_anon_struct4 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct4 *)o;
  tmp = ((PyObject*)p->_devNode);
  p->_devNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphDeviceNode *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct4_deviceUpdatable(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct4_15deviceUpdatable_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct4_deviceUpdatable(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct4_15deviceUpdatable_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct4_devNode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct4_7devNode_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct4_devNode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct4_7devNode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct4_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12anon_struct4_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct4[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct4_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct4_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct4_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct4_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct4_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct4_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct4_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct4[] = {
  {(char *)"deviceUpdatable", __pyx_getprop_4cuda_4cuda_12anon_struct4_deviceUpdatable, __pyx_setprop_4cuda_4cuda_12anon_struct4_deviceUpdatable, (char *)0, 0},
  {(char *)"devNode", __pyx_getprop_4cuda_4cuda_12anon_struct4_devNode, __pyx_setprop_4cuda_4cuda_12anon_struct4_devNode, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct4_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct4},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12anon_struct4_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct4(void_ptr _ptr)\n\n    Attributes\n    ----------\n    deviceUpdatable : int\n\n    devNode : CUgraphDeviceNode\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_anon_struct4},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_anon_struct4},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct4},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct4},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_12anon_struct4_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct4},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct4_spec = {
  "cuda.cuda.anon_struct4",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct4),
  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_4cuda_anon_struct4_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct4 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct4", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct4), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct4, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_struct4(void_ptr _ptr)\n\n    Attributes\n    ----------\n    deviceUpdatable : int\n\n    devNode : CUgraphDeviceNode\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_anon_struct4, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_anon_struct4, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_anon_struct4, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_12anon_struct4_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUlaunchAttributeValue_union(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)o);
  p->_accessPolicyWindow = ((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow *)Py_None); Py_INCREF(Py_None);
  p->_clusterDim = ((struct __pyx_obj_4cuda_4cuda_anon_struct1 *)Py_None); Py_INCREF(Py_None);
  p->_programmaticEvent = ((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)Py_None); Py_INCREF(Py_None);
  p->_launchCompletionEvent = ((struct __pyx_obj_4cuda_4cuda_anon_struct3 *)Py_None); Py_INCREF(Py_None);
  p->_memSyncDomainMap = ((struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap *)Py_None); Py_INCREF(Py_None);
  p->_deviceUpdatableKernelNode = ((struct __pyx_obj_4cuda_4cuda_anon_struct4 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUlaunchAttributeValue_union(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *p = (struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_deviceUpdatableKernelNode);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUlaunchAttributeValue_union(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *p = (struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)o;
  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->_deviceUpdatableKernelNode) {
    e = (*v)(((PyObject *)p->_deviceUpdatableKernelNode), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUlaunchAttributeValue_union(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *p = (struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union *)o;
  tmp = ((PyObject*)p->_accessPolicyWindow);
  p->_accessPolicyWindow = ((struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_clusterDim);
  p->_clusterDim = ((struct __pyx_obj_4cuda_4cuda_anon_struct1 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_programmaticEvent);
  p->_programmaticEvent = ((struct __pyx_obj_4cuda_4cuda_anon_struct2 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_launchCompletionEvent);
  p->_launchCompletionEvent = ((struct __pyx_obj_4cuda_4cuda_anon_struct3 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_memSyncDomainMap);
  p->_memSyncDomainMap = ((struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_deviceUpdatableKernelNode);
  p->_deviceUpdatableKernelNode = ((struct __pyx_obj_4cuda_4cuda_anon_struct4 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_pad(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_3pad_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_pad(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_3pad_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_accessPolicyWindow(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_18accessPolicyWindow_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_accessPolicyWindow(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_18accessPolicyWindow_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_cooperative(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_11cooperative_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_cooperative(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_11cooperative_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_syncPolicy(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_10syncPolicy_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_syncPolicy(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_10syncPolicy_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_clusterDim(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_10clusterDim_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_clusterDim(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_10clusterDim_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_clusterSchedulingPolicyPreference(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_clusterSchedulingPolicyPreference(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_33clusterSchedulingPolicyPreference_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_programmaticStreamSerializationAllowed(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_programmaticStreamSerializationAllowed(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_38programmaticStreamSerializationAllowed_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_programmaticEvent(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_17programmaticEvent_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_programmaticEvent(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_17programmaticEvent_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_launchCompletionEvent(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_21launchCompletionEvent_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_launchCompletionEvent(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_21launchCompletionEvent_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_priority(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_8priority_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_priority(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_8priority_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_memSyncDomainMap(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_16memSyncDomainMap_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_memSyncDomainMap(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_16memSyncDomainMap_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_memSyncDomain(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_13memSyncDomain_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_memSyncDomain(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_13memSyncDomain_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_deviceUpdatableKernelNode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_deviceUpdatableKernelNode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_25deviceUpdatableKernelNode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUlaunchAttributeValue_union[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUlaunchAttributeValue_union_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUlaunchAttributeValue_union_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUlaunchAttributeValue_union_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUlaunchAttributeValue_union[] = {
  {(char *)"pad", __pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_pad, __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_pad, (char *)0, 0},
  {(char *)"accessPolicyWindow", __pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_accessPolicyWindow, __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_accessPolicyWindow, (char *)0, 0},
  {(char *)"cooperative", __pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_cooperative, __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_cooperative, (char *)0, 0},
  {(char *)"syncPolicy", __pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_syncPolicy, __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_syncPolicy, (char *)0, 0},
  {(char *)"clusterDim", __pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_clusterDim, __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_clusterDim, (char *)0, 0},
  {(char *)"clusterSchedulingPolicyPreference", __pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_clusterSchedulingPolicyPreference, __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_clusterSchedulingPolicyPreference, (char *)0, 0},
  {(char *)"programmaticStreamSerializationAllowed", __pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_programmaticStreamSerializationAllowed, __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_programmaticStreamSerializationAllowed, (char *)0, 0},
  {(char *)"programmaticEvent", __pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_programmaticEvent, __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_programmaticEvent, (char *)0, 0},
  {(char *)"launchCompletionEvent", __pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_launchCompletionEvent, __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_launchCompletionEvent, (char *)0, 0},
  {(char *)"priority", __pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_priority, __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_priority, (char *)0, 0},
  {(char *)"memSyncDomainMap", __pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_memSyncDomainMap, __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_memSyncDomainMap, (char *)0, 0},
  {(char *)"memSyncDomain", __pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_memSyncDomain, __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_memSyncDomain, (char *)0, 0},
  {(char *)"deviceUpdatableKernelNode", __pyx_getprop_4cuda_4cuda_28CUlaunchAttributeValue_union_deviceUpdatableKernelNode, __pyx_setprop_4cuda_4cuda_28CUlaunchAttributeValue_union_deviceUpdatableKernelNode, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUlaunchAttributeValue_union_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUlaunchAttributeValue_union},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUlaunchAttributeValue_union(void_ptr _ptr=0)\n\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    launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT.\n    priority : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PRIORITY. Execution\n        priority of the kernel.\n    memSyncDomainMap : CUlaunchMemS""yncDomainMap\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    deviceUpdatableKernelNode : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUlaunchAttributeValue_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUlaunchAttributeValue_union},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUlaunchAttributeValue_union},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUlaunchAttributeValue_union},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUlaunchAttributeValue_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUlaunchAttributeValue_union_spec = {
  "cuda.cuda.CUlaunchAttributeValue_union",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUlaunchAttributeValue_union_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUlaunchAttributeValue_union = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUlaunchAttributeValue_union", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue_union), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUlaunchAttributeValue_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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    launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT.\n    priority : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PRIORITY. Execution\n        priority of the kernel.\n    memSyncDomainMap : CUlaunchMemS""yncDomainMap\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    deviceUpdatableKernelNode : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUlaunchAttributeValue_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUlaunchAttributeValue_union, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUlaunchAttributeValue_union, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUlaunchAttribute_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *)o);
  new((void*)&(p->_CUlaunchAttribute_st__val)) struct CUlaunchAttribute_st();
  p->_value = ((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUlaunchAttribute_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *p = (struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_20CUlaunchAttribute_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUlaunchAttribute_st__val);
  Py_CLEAR(p->_value);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUlaunchAttribute_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *p = (struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *)o;
  if (p->_value) {
    e = (*v)(((PyObject *)p->_value), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUlaunchAttribute_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *p = (struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st *)o;
  tmp = ((PyObject*)p->_value);
  p->_value = ((struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUlaunchAttribute_st_id(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_2id_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUlaunchAttribute_st_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_2id_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUlaunchAttribute_st_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUlaunchAttribute_st_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUlaunchAttribute_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUlaunchAttribute_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUlaunchAttribute_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUlaunchAttribute_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUlaunchAttribute_st[] = {
  {(char *)"id", __pyx_getprop_4cuda_4cuda_20CUlaunchAttribute_st_id, __pyx_setprop_4cuda_4cuda_20CUlaunchAttribute_st_id, (char *)0, 0},
  {(char *)"value", __pyx_getprop_4cuda_4cuda_20CUlaunchAttribute_st_value, __pyx_setprop_4cuda_4cuda_20CUlaunchAttribute_st_value, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUlaunchAttribute_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUlaunchAttribute_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUlaunchAttribute_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUlaunchAttribute_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUlaunchAttribute_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUlaunchAttribute_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUlaunchAttribute_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUlaunchAttribute_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUlaunchAttribute_st_spec = {
  "cuda.cuda.CUlaunchAttribute_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUlaunchAttribute_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUlaunchAttribute_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUlaunchAttribute_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUlaunchAttribute_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUlaunchAttribute_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUlaunchAttribute_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUlaunchAttribute_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_20CUlaunchAttribute_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUlaunchConfig_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)o);
  new((void*)&(p->_CUlaunchConfig_st__val)) struct CUlaunchConfig_st();
  p->_hStream = ((struct __pyx_obj_4cuda_4cuda_CUstream *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUlaunchConfig_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *p = (struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUlaunchConfig_st__val);
  Py_CLEAR(p->_hStream);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUlaunchConfig_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *p = (struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)o;
  if (p->_hStream) {
    e = (*v)(((PyObject *)p->_hStream), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUlaunchConfig_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *p = (struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st *)o;
  tmp = ((PyObject*)p->_hStream);
  p->_hStream = ((struct __pyx_obj_4cuda_4cuda_CUstream *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_gridDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_8gridDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_gridDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_8gridDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_gridDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_8gridDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_gridDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_8gridDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_gridDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_8gridDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_gridDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_8gridDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_blockDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9blockDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_blockDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9blockDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_blockDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9blockDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_blockDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9blockDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_blockDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9blockDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_blockDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9blockDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_sharedMemBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_14sharedMemBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_sharedMemBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_14sharedMemBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_hStream(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_7hStream_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_hStream(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_7hStream_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_attrs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_5attrs_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_attrs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_5attrs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_numAttrs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_8numAttrs_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_numAttrs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_8numAttrs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUlaunchConfig_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUlaunchConfig_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUlaunchConfig_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUlaunchConfig_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUlaunchConfig_st[] = {
  {(char *)"gridDimX", __pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_gridDimX, __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_gridDimX, (char *)0, 0},
  {(char *)"gridDimY", __pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_gridDimY, __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_gridDimY, (char *)0, 0},
  {(char *)"gridDimZ", __pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_gridDimZ, __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_gridDimZ, (char *)0, 0},
  {(char *)"blockDimX", __pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_blockDimX, __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_blockDimX, (char *)0, 0},
  {(char *)"blockDimY", __pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_blockDimY, __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_blockDimY, (char *)0, 0},
  {(char *)"blockDimZ", __pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_blockDimZ, __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_blockDimZ, (char *)0, 0},
  {(char *)"sharedMemBytes", __pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_sharedMemBytes, __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_sharedMemBytes, (char *)0, 0},
  {(char *)"hStream", __pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_hStream, __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_hStream, (char *)0, 0},
  {(char *)"attrs", __pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_attrs, __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_attrs, (char *)0, 0},
  {(char *)"numAttrs", __pyx_getprop_4cuda_4cuda_17CUlaunchConfig_st_numAttrs, __pyx_setprop_4cuda_4cuda_17CUlaunchConfig_st_numAttrs, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUlaunchConfig_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUlaunchConfig_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUlaunchConfig_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUlaunchConfig_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUlaunchConfig_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUlaunchConfig_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUlaunchConfig_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUlaunchConfig_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUlaunchConfig_st_spec = {
  "cuda.cuda.CUlaunchConfig_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUlaunchConfig_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUlaunchConfig_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUlaunchConfig_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUlaunchConfig_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUlaunchConfig_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUlaunchConfig_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUlaunchConfig_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUexecAffinitySmCount_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *)o);
  new((void*)&(p->_CUexecAffinitySmCount_st__val)) struct CUexecAffinitySmCount_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUexecAffinitySmCount_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *p = (struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_24CUexecAffinitySmCount_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUexecAffinitySmCount_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_24CUexecAffinitySmCount_st_val(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_3val_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_24CUexecAffinitySmCount_st_val(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_3val_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUexecAffinitySmCount_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUexecAffinitySmCount_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUexecAffinitySmCount_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUexecAffinitySmCount_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUexecAffinitySmCount_st[] = {
  {(char *)"val", __pyx_getprop_4cuda_4cuda_24CUexecAffinitySmCount_st_val, __pyx_setprop_4cuda_4cuda_24CUexecAffinitySmCount_st_val, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUexecAffinitySmCount_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUexecAffinitySmCount_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUexecAffinitySmCount_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUexecAffinitySmCount_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUexecAffinitySmCount_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUexecAffinitySmCount_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUexecAffinitySmCount_st_spec = {
  "cuda.cuda.CUexecAffinitySmCount_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUexecAffinitySmCount_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUexecAffinitySmCount_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUexecAffinitySmCount_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUexecAffinitySmCount_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUexecAffinitySmCount_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_24CUexecAffinitySmCount_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union3(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_anon_union3 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_anon_union3 *)o);
  p->_smCount = ((struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_union3(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_anon_union3 *p = (struct __pyx_obj_4cuda_4cuda_anon_union3 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_11anon_union3_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_smCount);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_anon_union3(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_anon_union3 *p = (struct __pyx_obj_4cuda_4cuda_anon_union3 *)o;
  if (p->_smCount) {
    e = (*v)(((PyObject *)p->_smCount), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_anon_union3(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_anon_union3 *p = (struct __pyx_obj_4cuda_4cuda_anon_union3 *)o;
  tmp = ((PyObject*)p->_smCount);
  p->_smCount = ((struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union3_smCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union3_7smCount_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union3_smCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union3_7smCount_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_11anon_union3_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_11anon_union3_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_union3[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union3_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union3_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_11anon_union3_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union3_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union3_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union3_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union3_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_union3[] = {
  {(char *)"smCount", __pyx_getprop_4cuda_4cuda_11anon_union3_smCount, __pyx_setprop_4cuda_4cuda_11anon_union3_smCount, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_union3_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_union3},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_11anon_union3_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union3(void_ptr _ptr)\n\n    Attributes\n    ----------\n    smCount : CUexecAffinitySmCount\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_anon_union3},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_anon_union3},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_union3},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_union3},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_11anon_union3_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_union3},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_union3_spec = {
  "cuda.cuda.anon_union3",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_anon_union3_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_union3 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_union3", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_union3), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_union3, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    smCount : CUexecAffinitySmCount\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_anon_union3, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_anon_union3, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_anon_union3, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_11anon_union3_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUexecAffinityParam_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *)o);
  p->_param = ((struct __pyx_obj_4cuda_4cuda_anon_union3 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUexecAffinityParam_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *p = (struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_22CUexecAffinityParam_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_param);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUexecAffinityParam_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *p = (struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *)o;
  if (p->_param) {
    e = (*v)(((PyObject *)p->_param), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUexecAffinityParam_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *p = (struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st *)o;
  tmp = ((PyObject*)p->_param);
  p->_param = ((struct __pyx_obj_4cuda_4cuda_anon_union3 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_22CUexecAffinityParam_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_22CUexecAffinityParam_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_22CUexecAffinityParam_st_param(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_5param_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_22CUexecAffinityParam_st_param(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_5param_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUexecAffinityParam_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_22CUexecAffinityParam_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_22CUexecAffinityParam_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_22CUexecAffinityParam_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUexecAffinityParam_st[] = {
  {(char *)"type", __pyx_getprop_4cuda_4cuda_22CUexecAffinityParam_st_type, __pyx_setprop_4cuda_4cuda_22CUexecAffinityParam_st_type, (char *)0, 0},
  {(char *)"param", __pyx_getprop_4cuda_4cuda_22CUexecAffinityParam_st_param, __pyx_setprop_4cuda_4cuda_22CUexecAffinityParam_st_param, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUexecAffinityParam_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUexecAffinityParam_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUexecAffinityParam_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUexecAffinityParam_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUexecAffinityParam_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUexecAffinityParam_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUexecAffinityParam_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUexecAffinityParam_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUexecAffinityParam_st_spec = {
  "cuda.cuda.CUexecAffinityParam_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUexecAffinityParam_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUexecAffinityParam_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUexecAffinityParam_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUexecAffinityParam_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUexecAffinityParam_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUexecAffinityParam_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUexecAffinityParam_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_22CUexecAffinityParam_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *)o);
  new((void*)&(p->_CUlibraryHostUniversalFunctionAndDataTable_st__val)) struct CUlibraryHostUniversalFunctionAndDataTable_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *p = (struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUlibraryHostUniversalFunctionAndDataTable_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_functionTable(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_functionTable(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_13functionTable_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_functionWindowSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_functionWindowSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_18functionWindowSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_dataTable(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_dataTable(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_9dataTable_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_dataWindowSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_dataWindowSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_14dataWindowSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st[] = {
  {(char *)"functionTable", __pyx_getprop_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_functionTable, __pyx_setprop_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_functionTable, (char *)0, 0},
  {(char *)"functionWindowSize", __pyx_getprop_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_functionWindowSize, __pyx_setprop_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_functionWindowSize, (char *)0, 0},
  {(char *)"dataTable", __pyx_getprop_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_dataTable, __pyx_setprop_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_dataTable, (char *)0, 0},
  {(char *)"dataWindowSize", __pyx_getprop_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_dataWindowSize, __pyx_setprop_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_dataWindowSize, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUlibraryHostUniversalFunctionAndDataTable_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st_spec = {
  "cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUlibraryHostUniversalFunctionAndDataTable_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY2D_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)o);
  new((void*)&(p->_CUDA_MEMCPY2D_st__val)) struct CUDA_MEMCPY2D_st();
  p->_srcDevice = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_srcArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)Py_None); Py_INCREF(Py_None);
  p->_dstDevice = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_dstArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_MEMCPY2D_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUDA_MEMCPY2D_st__val);
  Py_CLEAR(p->_srcDevice);
  Py_CLEAR(p->_srcArray);
  Py_CLEAR(p->_dstDevice);
  Py_CLEAR(p->_dstArray);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY2D_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)o;
  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_4cuda_CUDA_MEMCPY2D_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st *)o;
  tmp = ((PyObject*)p->_srcDevice);
  p->_srcDevice = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_srcArray);
  p->_srcArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstDevice);
  p->_dstDevice = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstArray);
  p->_dstArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcXInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_11srcXInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcXInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_11srcXInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_4srcY_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_4srcY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcMemoryType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_13srcMemoryType_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcMemoryType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_13srcMemoryType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcHost(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_7srcHost_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcHost(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_7srcHost_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcDevice(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_9srcDevice_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcDevice(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_9srcDevice_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_8srcArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_8srcArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_8srcPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_8srcPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstXInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_11dstXInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstXInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_11dstXInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_4dstY_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_4dstY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstMemoryType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_13dstMemoryType_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstMemoryType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_13dstMemoryType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstHost(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_7dstHost_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstHost(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_7dstHost_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstDevice(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_9dstDevice_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstDevice(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_9dstDevice_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_8dstArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_8dstArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_8dstPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_8dstPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_WidthInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_12WidthInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_WidthInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_12WidthInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_Height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_6Height_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_Height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_6Height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_MEMCPY2D_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUDA_MEMCPY2D_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUDA_MEMCPY2D_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUDA_MEMCPY2D_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_MEMCPY2D_st[] = {
  {(char *)"srcXInBytes", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcXInBytes, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcXInBytes, (char *)0, 0},
  {(char *)"srcY", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcY, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcY, (char *)0, 0},
  {(char *)"srcMemoryType", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcMemoryType, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcMemoryType, (char *)0, 0},
  {(char *)"srcHost", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcHost, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcHost, (char *)0, 0},
  {(char *)"srcDevice", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcDevice, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcDevice, (char *)0, 0},
  {(char *)"srcArray", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcArray, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcArray, (char *)0, 0},
  {(char *)"srcPitch", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcPitch, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_srcPitch, (char *)0, 0},
  {(char *)"dstXInBytes", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstXInBytes, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstXInBytes, (char *)0, 0},
  {(char *)"dstY", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstY, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstY, (char *)0, 0},
  {(char *)"dstMemoryType", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstMemoryType, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstMemoryType, (char *)0, 0},
  {(char *)"dstHost", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstHost, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstHost, (char *)0, 0},
  {(char *)"dstDevice", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstDevice, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstDevice, (char *)0, 0},
  {(char *)"dstArray", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstArray, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstArray, (char *)0, 0},
  {(char *)"dstPitch", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstPitch, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_dstPitch, (char *)0, 0},
  {(char *)"WidthInBytes", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_WidthInBytes, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_WidthInBytes, (char *)0, 0},
  {(char *)"Height", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_Height, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY2D_st_Height, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMCPY2D_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_MEMCPY2D_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY2D_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEMCPY2D_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_MEMCPY2D_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_MEMCPY2D_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY2D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_st_spec = {
  "cuda.cuda.CUDA_MEMCPY2D_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_MEMCPY2D_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEMCPY2D_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMCPY2D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY2D_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_MEMCPY2D_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_MEMCPY2D_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY3D_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)o);
  new((void*)&(p->_CUDA_MEMCPY3D_st__val)) struct CUDA_MEMCPY3D_st();
  p->_srcDevice = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_srcArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)Py_None); Py_INCREF(Py_None);
  p->_dstDevice = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_dstArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_MEMCPY3D_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUDA_MEMCPY3D_st__val);
  Py_CLEAR(p->_srcDevice);
  Py_CLEAR(p->_srcArray);
  Py_CLEAR(p->_dstDevice);
  Py_CLEAR(p->_dstArray);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY3D_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)o;
  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_4cuda_CUDA_MEMCPY3D_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st *)o;
  tmp = ((PyObject*)p->_srcDevice);
  p->_srcDevice = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_srcArray);
  p->_srcArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstDevice);
  p->_dstDevice = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstArray);
  p->_dstArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcXInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_11srcXInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcXInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_11srcXInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_4srcY_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_4srcY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_4srcZ_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_4srcZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcLOD(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_6srcLOD_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcLOD(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_6srcLOD_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcMemoryType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_13srcMemoryType_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcMemoryType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_13srcMemoryType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcHost(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_7srcHost_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcHost(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_7srcHost_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcDevice(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9srcDevice_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcDevice(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9srcDevice_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_8srcArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_8srcArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_reserved0(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9reserved0_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_reserved0(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9reserved0_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_8srcPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_8srcPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcHeight(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9srcHeight_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcHeight(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9srcHeight_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstXInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_11dstXInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstXInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_11dstXInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_4dstY_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_4dstY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_4dstZ_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_4dstZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstLOD(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_6dstLOD_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstLOD(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_6dstLOD_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstMemoryType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_13dstMemoryType_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstMemoryType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_13dstMemoryType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstHost(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_7dstHost_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstHost(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_7dstHost_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstDevice(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9dstDevice_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstDevice(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9dstDevice_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_8dstArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_8dstArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_reserved1(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9reserved1_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_reserved1(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9reserved1_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_8dstPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_8dstPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstHeight(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9dstHeight_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstHeight(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9dstHeight_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_WidthInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_12WidthInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_WidthInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_12WidthInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_Height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_6Height_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_Height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_6Height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_Depth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_5Depth_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_Depth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_5Depth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_MEMCPY3D_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUDA_MEMCPY3D_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUDA_MEMCPY3D_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUDA_MEMCPY3D_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_MEMCPY3D_st[] = {
  {(char *)"srcXInBytes", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcXInBytes, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcXInBytes, (char *)0, 0},
  {(char *)"srcY", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcY, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcY, (char *)0, 0},
  {(char *)"srcZ", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcZ, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcZ, (char *)0, 0},
  {(char *)"srcLOD", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcLOD, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcLOD, (char *)0, 0},
  {(char *)"srcMemoryType", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcMemoryType, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcMemoryType, (char *)0, 0},
  {(char *)"srcHost", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcHost, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcHost, (char *)0, 0},
  {(char *)"srcDevice", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcDevice, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcDevice, (char *)0, 0},
  {(char *)"srcArray", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcArray, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcArray, (char *)0, 0},
  {(char *)"reserved0", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_reserved0, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_reserved0, (char *)0, 0},
  {(char *)"srcPitch", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcPitch, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcPitch, (char *)0, 0},
  {(char *)"srcHeight", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcHeight, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_srcHeight, (char *)0, 0},
  {(char *)"dstXInBytes", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstXInBytes, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstXInBytes, (char *)0, 0},
  {(char *)"dstY", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstY, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstY, (char *)0, 0},
  {(char *)"dstZ", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstZ, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstZ, (char *)0, 0},
  {(char *)"dstLOD", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstLOD, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstLOD, (char *)0, 0},
  {(char *)"dstMemoryType", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstMemoryType, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstMemoryType, (char *)0, 0},
  {(char *)"dstHost", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstHost, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstHost, (char *)0, 0},
  {(char *)"dstDevice", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstDevice, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstDevice, (char *)0, 0},
  {(char *)"dstArray", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstArray, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstArray, (char *)0, 0},
  {(char *)"reserved1", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_reserved1, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_reserved1, (char *)0, 0},
  {(char *)"dstPitch", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstPitch, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstPitch, (char *)0, 0},
  {(char *)"dstHeight", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstHeight, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_dstHeight, (char *)0, 0},
  {(char *)"WidthInBytes", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_WidthInBytes, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_WidthInBytes, (char *)0, 0},
  {(char *)"Height", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_Height, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_Height, (char *)0, 0},
  {(char *)"Depth", __pyx_getprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_Depth, __pyx_setprop_4cuda_4cuda_16CUDA_MEMCPY3D_st_Depth, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMCPY3D_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_MEMCPY3D_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY3D_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEMCPY3D_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_MEMCPY3D_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_MEMCPY3D_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY3D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_st_spec = {
  "cuda.cuda.CUDA_MEMCPY3D_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_MEMCPY3D_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEMCPY3D_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMCPY3D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY3D_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_MEMCPY3D_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_MEMCPY3D_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)o);
  new((void*)&(p->_CUDA_MEMCPY3D_PEER_st__val)) struct CUDA_MEMCPY3D_PEER_st();
  p->_srcDevice = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_srcArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)Py_None); Py_INCREF(Py_None);
  p->_srcContext = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  p->_dstDevice = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  p->_dstArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)Py_None); Py_INCREF(Py_None);
  p->_dstContext = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_MEMCPY3D_PEER_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUDA_MEMCPY3D_PEER_st__val);
  Py_CLEAR(p->_srcDevice);
  Py_CLEAR(p->_srcArray);
  Py_CLEAR(p->_srcContext);
  Py_CLEAR(p->_dstDevice);
  Py_CLEAR(p->_dstArray);
  Py_CLEAR(p->_dstContext);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)o;
  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_4cuda_CUDA_MEMCPY3D_PEER_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st *)o;
  tmp = ((PyObject*)p->_srcDevice);
  p->_srcDevice = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_srcArray);
  p->_srcArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_srcContext);
  p->_srcContext = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstDevice);
  p->_dstDevice = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstArray);
  p->_dstArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dstContext);
  p->_dstContext = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcXInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcXInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11srcXInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcY_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcZ_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4srcZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcLOD(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6srcLOD_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcLOD(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6srcLOD_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcMemoryType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcMemoryType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13srcMemoryType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcHost(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7srcHost_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcHost(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7srcHost_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcDevice(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcDevice_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcDevice(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcDevice_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcContext(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10srcContext_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcContext(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10srcContext_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8srcPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcHeight(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcHeight_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcHeight(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9srcHeight_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstXInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstXInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11dstXInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstY_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstZ_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_4dstZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstLOD(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6dstLOD_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstLOD(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6dstLOD_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstMemoryType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstMemoryType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13dstMemoryType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstHost(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7dstHost_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstHost(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7dstHost_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstDevice(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstDevice_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstDevice(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstDevice_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstContext(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10dstContext_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstContext(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10dstContext_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_8dstPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstHeight(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstHeight_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstHeight(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9dstHeight_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_WidthInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_WidthInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_12WidthInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_Height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6Height_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_Height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6Height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_Depth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_5Depth_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_Depth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_5Depth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st[] = {
  {(char *)"srcXInBytes", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcXInBytes, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcXInBytes, (char *)0, 0},
  {(char *)"srcY", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcY, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcY, (char *)0, 0},
  {(char *)"srcZ", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcZ, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcZ, (char *)0, 0},
  {(char *)"srcLOD", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcLOD, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcLOD, (char *)0, 0},
  {(char *)"srcMemoryType", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcMemoryType, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcMemoryType, (char *)0, 0},
  {(char *)"srcHost", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcHost, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcHost, (char *)0, 0},
  {(char *)"srcDevice", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcDevice, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcDevice, (char *)0, 0},
  {(char *)"srcArray", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcArray, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcArray, (char *)0, 0},
  {(char *)"srcContext", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcContext, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcContext, (char *)0, 0},
  {(char *)"srcPitch", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcPitch, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcPitch, (char *)0, 0},
  {(char *)"srcHeight", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcHeight, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_srcHeight, (char *)0, 0},
  {(char *)"dstXInBytes", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstXInBytes, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstXInBytes, (char *)0, 0},
  {(char *)"dstY", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstY, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstY, (char *)0, 0},
  {(char *)"dstZ", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstZ, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstZ, (char *)0, 0},
  {(char *)"dstLOD", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstLOD, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstLOD, (char *)0, 0},
  {(char *)"dstMemoryType", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstMemoryType, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstMemoryType, (char *)0, 0},
  {(char *)"dstHost", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstHost, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstHost, (char *)0, 0},
  {(char *)"dstDevice", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstDevice, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstDevice, (char *)0, 0},
  {(char *)"dstArray", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstArray, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstArray, (char *)0, 0},
  {(char *)"dstContext", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstContext, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstContext, (char *)0, 0},
  {(char *)"dstPitch", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstPitch, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstPitch, (char *)0, 0},
  {(char *)"dstHeight", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstHeight, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_dstHeight, (char *)0, 0},
  {(char *)"WidthInBytes", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_WidthInBytes, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_WidthInBytes, (char *)0, 0},
  {(char *)"Height", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_Height, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_Height, (char *)0, 0},
  {(char *)"Depth", __pyx_getprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_Depth, __pyx_setprop_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_Depth, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_MEMCPY3D_PEER_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st_spec = {
  "cuda.cuda.CUDA_MEMCPY3D_PEER_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_MEMCPY3D_PEER_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEMCPY3D_PEER_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *)o);
  new((void*)&(p->_CUDA_MEMCPY_NODE_PARAMS_st__val)) struct CUDA_MEMCPY_NODE_PARAMS_st();
  p->_copyCtx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  p->_copyParams = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_MEMCPY_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_MEMCPY_NODE_PARAMS_st__val);
  Py_CLEAR(p->_copyCtx);
  Py_CLEAR(p->_copyParams);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *)o;
  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_4cuda_CUDA_MEMCPY_NODE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_copyCtx);
  p->_copyCtx = ((struct __pyx_obj_4cuda_4cuda_CUcontext *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_copyParams);
  p->_copyParams = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_copyCtx(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_copyCtx(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_7copyCtx_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_copyParams(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_copyParams(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_10copyParams_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st[] = {
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_flags, __pyx_setprop_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_flags, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_reserved, __pyx_setprop_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_reserved, (char *)0, 0},
  {(char *)"copyCtx", __pyx_getprop_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_copyCtx, __pyx_setprop_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_copyCtx, (char *)0, 0},
  {(char *)"copyParams", __pyx_getprop_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_copyParams, __pyx_setprop_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_copyParams, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_MEMCPY_NODE_PARAMS_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st_spec = {
  "cuda.cuda.CUDA_MEMCPY_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_MEMCPY_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEMCPY_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *)o);
  new((void*)&(p->_CUDA_ARRAY_DESCRIPTOR_st__val)) struct CUDA_ARRAY_DESCRIPTOR_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_ARRAY_DESCRIPTOR_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUDA_ARRAY_DESCRIPTOR_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_Width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_5Width_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_Width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_5Width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_Height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Height_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_Height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_Format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Format_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_Format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6Format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_NumChannels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_NumChannels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_11NumChannels_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st[] = {
  {(char *)"Width", __pyx_getprop_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_Width, __pyx_setprop_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_Width, (char *)0, 0},
  {(char *)"Height", __pyx_getprop_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_Height, __pyx_setprop_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_Height, (char *)0, 0},
  {(char *)"Format", __pyx_getprop_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_Format, __pyx_setprop_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_Format, (char *)0, 0},
  {(char *)"NumChannels", __pyx_getprop_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_NumChannels, __pyx_setprop_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_NumChannels, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_ARRAY_DESCRIPTOR_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st_spec = {
  "cuda.cuda.CUDA_ARRAY_DESCRIPTOR_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_ARRAY_DESCRIPTOR_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_ARRAY_DESCRIPTOR_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *)o);
  new((void*)&(p->_CUDA_ARRAY3D_DESCRIPTOR_st__val)) struct CUDA_ARRAY3D_DESCRIPTOR_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUDA_ARRAY3D_DESCRIPTOR_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Depth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Depth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Depth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6Format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_NumChannels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_NumChannels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_11NumChannels_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_5Flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st[] = {
  {(char *)"Width", __pyx_getprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Width, __pyx_setprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Width, (char *)0, 0},
  {(char *)"Height", __pyx_getprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Height, __pyx_setprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Height, (char *)0, 0},
  {(char *)"Depth", __pyx_getprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Depth, __pyx_setprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Depth, (char *)0, 0},
  {(char *)"Format", __pyx_getprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Format, __pyx_setprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Format, (char *)0, 0},
  {(char *)"NumChannels", __pyx_getprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_NumChannels, __pyx_setprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_NumChannels, (char *)0, 0},
  {(char *)"Flags", __pyx_getprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Flags, __pyx_setprop_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_Flags, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_ARRAY3D_DESCRIPTOR_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st_spec = {
  "cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_ARRAY3D_DESCRIPTOR_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct5(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct5(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_anon_struct5) {
      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_4cuda_12anon_struct5_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct5_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct5_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct5_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct5_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct5_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct5_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct5_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct5_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct5_depth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct5_5depth_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct5_depth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct5_5depth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct5_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12anon_struct5_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct5[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct5_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct5_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct5_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct5_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct5_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct5_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct5_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct5[] = {
  {(char *)"width", __pyx_getprop_4cuda_4cuda_12anon_struct5_width, __pyx_setprop_4cuda_4cuda_12anon_struct5_width, (char *)0, 0},
  {(char *)"height", __pyx_getprop_4cuda_4cuda_12anon_struct5_height, __pyx_setprop_4cuda_4cuda_12anon_struct5_height, (char *)0, 0},
  {(char *)"depth", __pyx_getprop_4cuda_4cuda_12anon_struct5_depth, __pyx_setprop_4cuda_4cuda_12anon_struct5_depth, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct5_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct5},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12anon_struct5_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct5(void_ptr _ptr)\n\n    Attributes\n    ----------\n    width : unsigned int\n\n    height : unsigned int\n\n    depth : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct5},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct5},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_12anon_struct5_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct5},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct5_spec = {
  "cuda.cuda.anon_struct5",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct5),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_anon_struct5_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct5 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct5", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct5), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct5, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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, /*tp_flags*/
  PyDoc_STR("anon_struct5(void_ptr _ptr)\n\n    Attributes\n    ----------\n    width : unsigned int\n\n    height : unsigned int\n\n    depth : unsigned int\n\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_4cuda_anon_struct5, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_12anon_struct5_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *)o);
  new((void*)&(p->_CUDA_ARRAY_SPARSE_PROPERTIES_st__val)) struct CUDA_ARRAY_SPARSE_PROPERTIES_st();
  p->_tileExtent = ((struct __pyx_obj_4cuda_4cuda_anon_struct5 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_ARRAY_SPARSE_PROPERTIES_st__val);
  Py_CLEAR(p->_tileExtent);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *)o;
  if (p->_tileExtent) {
    e = (*v)(((PyObject *)p->_tileExtent), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st *)o;
  tmp = ((PyObject*)p->_tileExtent);
  p->_tileExtent = ((struct __pyx_obj_4cuda_4cuda_anon_struct5 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10tileExtent_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_miptailFirstLevel(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_miptailFirstLevel(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_17miptailFirstLevel_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_miptailSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_miptailSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11miptailSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st[] = {
  {(char *)"tileExtent", __pyx_getprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent, __pyx_setprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_tileExtent, (char *)0, 0},
  {(char *)"miptailFirstLevel", __pyx_getprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_miptailFirstLevel, __pyx_setprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_miptailFirstLevel, (char *)0, 0},
  {(char *)"miptailSize", __pyx_getprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_miptailSize, __pyx_setprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_miptailSize, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_flags, __pyx_setprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_flags, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_reserved, __pyx_setprop_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_ARRAY_SPARSE_PROPERTIES_st(void_ptr _ptr=0)\n\n    CUDA array sparse properties\n\n    Attributes\n    ----------\n    tileExtent : anon_struct5\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st_spec = {
  "cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_ARRAY_SPARSE_PROPERTIES_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    CUDA array sparse properties\n\n    Attributes\n    ----------\n    tileExtent : anon_struct5\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)o);
  new((void*)&(p->_CUDA_ARRAY_MEMORY_REQUIREMENTS_st__val)) struct CUDA_ARRAY_MEMORY_REQUIREMENTS_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_ARRAY_MEMORY_REQUIREMENTS_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_alignment(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_alignment(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9alignment_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st[] = {
  {(char *)"size", __pyx_getprop_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_size, __pyx_setprop_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_size, (char *)0, 0},
  {(char *)"alignment", __pyx_getprop_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_alignment, __pyx_setprop_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_alignment, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_reserved, __pyx_setprop_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_ARRAY_MEMORY_REQUIREMENTS_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st_spec = {
  "cuda.cuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_ARRAY_MEMORY_REQUIREMENTS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct6(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_anon_struct6 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_anon_struct6 *)o);
  p->_hArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct6(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_anon_struct6 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct6 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_anon_struct6) {
      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_4cuda_12anon_struct6_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_hArray);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_anon_struct6(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_anon_struct6 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct6 *)o;
  if (p->_hArray) {
    e = (*v)(((PyObject *)p->_hArray), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_anon_struct6(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_anon_struct6 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct6 *)o;
  tmp = ((PyObject*)p->_hArray);
  p->_hArray = ((struct __pyx_obj_4cuda_4cuda_CUarray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct6_hArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct6_6hArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct6_hArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct6_6hArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct6_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12anon_struct6_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct6[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct6_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct6_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct6_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct6_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct6_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct6_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct6_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct6[] = {
  {(char *)"hArray", __pyx_getprop_4cuda_4cuda_12anon_struct6_hArray, __pyx_setprop_4cuda_4cuda_12anon_struct6_hArray, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct6_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct6},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12anon_struct6_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct6(void_ptr _ptr)\n\n    Attributes\n    ----------\n    hArray : CUarray\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_anon_struct6},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_anon_struct6},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct6},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct6},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_12anon_struct6_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct6},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct6_spec = {
  "cuda.cuda.anon_struct6",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct6),
  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_4cuda_anon_struct6_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct6 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct6", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct6), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct6, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_struct6(void_ptr _ptr)\n\n    Attributes\n    ----------\n    hArray : CUarray\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_anon_struct6, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_anon_struct6, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_anon_struct6, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_12anon_struct6_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct7(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_anon_struct7 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_anon_struct7 *)o);
  p->_hMipmappedArray = ((struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct7(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_anon_struct7 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct7 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_12anon_struct7_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_hMipmappedArray);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_anon_struct7(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_anon_struct7 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct7 *)o;
  if (p->_hMipmappedArray) {
    e = (*v)(((PyObject *)p->_hMipmappedArray), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_anon_struct7(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_anon_struct7 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct7 *)o;
  tmp = ((PyObject*)p->_hMipmappedArray);
  p->_hMipmappedArray = ((struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct7_hMipmappedArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct7_15hMipmappedArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct7_hMipmappedArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct7_15hMipmappedArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct7_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12anon_struct7_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct7[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct7_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct7_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct7_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct7_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct7_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct7_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct7_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct7[] = {
  {(char *)"hMipmappedArray", __pyx_getprop_4cuda_4cuda_12anon_struct7_hMipmappedArray, __pyx_setprop_4cuda_4cuda_12anon_struct7_hMipmappedArray, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct7_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct7},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12anon_struct7_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct7(void_ptr _ptr)\n\n    Attributes\n    ----------\n    hMipmappedArray : CUmipmappedArray\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_anon_struct7},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_anon_struct7},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct7},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct7},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_12anon_struct7_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct7},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct7_spec = {
  "cuda.cuda.anon_struct7",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_anon_struct7_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct7 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct7", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct7), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct7, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    hMipmappedArray : CUmipmappedArray\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_anon_struct7, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_anon_struct7, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_anon_struct7, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_12anon_struct7_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct8(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_anon_struct8 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)o);
  p->_devPtr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct8(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_anon_struct8 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct8 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_12anon_struct8_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_devPtr);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_anon_struct8(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_anon_struct8 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct8 *)o;
  if (p->_devPtr) {
    e = (*v)(((PyObject *)p->_devPtr), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_anon_struct8(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_anon_struct8 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct8 *)o;
  tmp = ((PyObject*)p->_devPtr);
  p->_devPtr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct8_devPtr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct8_6devPtr_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct8_devPtr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct8_6devPtr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct8_format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct8_6format_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct8_format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct8_6format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct8_numChannels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct8_11numChannels_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct8_numChannels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct8_11numChannels_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct8_sizeInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct8_11sizeInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct8_sizeInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct8_11sizeInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct8_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12anon_struct8_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct8[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct8_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct8_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct8_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct8_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct8_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct8_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct8_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct8[] = {
  {(char *)"devPtr", __pyx_getprop_4cuda_4cuda_12anon_struct8_devPtr, __pyx_setprop_4cuda_4cuda_12anon_struct8_devPtr, (char *)0, 0},
  {(char *)"format", __pyx_getprop_4cuda_4cuda_12anon_struct8_format, __pyx_setprop_4cuda_4cuda_12anon_struct8_format, (char *)0, 0},
  {(char *)"numChannels", __pyx_getprop_4cuda_4cuda_12anon_struct8_numChannels, __pyx_setprop_4cuda_4cuda_12anon_struct8_numChannels, (char *)0, 0},
  {(char *)"sizeInBytes", __pyx_getprop_4cuda_4cuda_12anon_struct8_sizeInBytes, __pyx_setprop_4cuda_4cuda_12anon_struct8_sizeInBytes, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct8_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct8},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12anon_struct8_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct8(void_ptr _ptr)\n\n    Attributes\n    ----------\n    devPtr : CUdeviceptr\n\n    format : CUarray_format\n\n    numChannels : unsigned int\n\n    sizeInBytes : size_t\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_anon_struct8},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_anon_struct8},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct8},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct8},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_12anon_struct8_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct8},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct8_spec = {
  "cuda.cuda.anon_struct8",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_anon_struct8_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct8 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct8", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct8), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct8, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    devPtr : CUdeviceptr\n\n    format : CUarray_format\n\n    numChannels : unsigned int\n\n    sizeInBytes : size_t\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_anon_struct8, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_anon_struct8, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_anon_struct8, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_12anon_struct8_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct9(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_anon_struct9 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)o);
  p->_devPtr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct9(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_anon_struct9 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct9 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_12anon_struct9_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_devPtr);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_anon_struct9(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_anon_struct9 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct9 *)o;
  if (p->_devPtr) {
    e = (*v)(((PyObject *)p->_devPtr), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_anon_struct9(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_anon_struct9 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct9 *)o;
  tmp = ((PyObject*)p->_devPtr);
  p->_devPtr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct9_devPtr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct9_6devPtr_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct9_devPtr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct9_6devPtr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct9_format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct9_6format_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct9_format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct9_6format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct9_numChannels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct9_11numChannels_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct9_numChannels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct9_11numChannels_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct9_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct9_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct9_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct9_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct9_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct9_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct9_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct9_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_struct9_pitchInBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_struct9_12pitchInBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_struct9_pitchInBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_struct9_12pitchInBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct9_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12anon_struct9_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct9[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct9_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct9_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_struct9_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct9_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct9_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_struct9_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_struct9_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct9[] = {
  {(char *)"devPtr", __pyx_getprop_4cuda_4cuda_12anon_struct9_devPtr, __pyx_setprop_4cuda_4cuda_12anon_struct9_devPtr, (char *)0, 0},
  {(char *)"format", __pyx_getprop_4cuda_4cuda_12anon_struct9_format, __pyx_setprop_4cuda_4cuda_12anon_struct9_format, (char *)0, 0},
  {(char *)"numChannels", __pyx_getprop_4cuda_4cuda_12anon_struct9_numChannels, __pyx_setprop_4cuda_4cuda_12anon_struct9_numChannels, (char *)0, 0},
  {(char *)"width", __pyx_getprop_4cuda_4cuda_12anon_struct9_width, __pyx_setprop_4cuda_4cuda_12anon_struct9_width, (char *)0, 0},
  {(char *)"height", __pyx_getprop_4cuda_4cuda_12anon_struct9_height, __pyx_setprop_4cuda_4cuda_12anon_struct9_height, (char *)0, 0},
  {(char *)"pitchInBytes", __pyx_getprop_4cuda_4cuda_12anon_struct9_pitchInBytes, __pyx_setprop_4cuda_4cuda_12anon_struct9_pitchInBytes, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct9_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct9},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12anon_struct9_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct9(void_ptr _ptr)\n\n    Attributes\n    ----------\n    devPtr : CUdeviceptr\n\n    format : CUarray_format\n\n    numChannels : unsigned int\n\n    width : size_t\n\n    height : size_t\n\n    pitchInBytes : size_t\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_anon_struct9},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_anon_struct9},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct9},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct9},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_12anon_struct9_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct9},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct9_spec = {
  "cuda.cuda.anon_struct9",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_anon_struct9_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct9 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct9", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct9), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct9, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    devPtr : CUdeviceptr\n\n    format : CUarray_format\n\n    numChannels : unsigned int\n\n    width : size_t\n\n    height : size_t\n\n    pitchInBytes : size_t\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_anon_struct9, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_anon_struct9, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_anon_struct9, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_12anon_struct9_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct10(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct10(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_anon_struct10) {
      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_4cuda_13anon_struct10_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct10_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct10_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct10_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct10_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct10_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_13anon_struct10_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct10[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct10_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct10_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct10_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct10_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct10_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct10_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct10_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct10[] = {
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_13anon_struct10_reserved, __pyx_setprop_4cuda_4cuda_13anon_struct10_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct10_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct10},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_13anon_struct10_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct10(void_ptr _ptr)\n\n    Attributes\n    ----------\n    reserved : List[int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct10},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct10},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_13anon_struct10_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct10},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct10_spec = {
  "cuda.cuda.anon_struct10",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct10),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_anon_struct10_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct10 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct10", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct10), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct10, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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, /*tp_flags*/
  PyDoc_STR("anon_struct10(void_ptr _ptr)\n\n    Attributes\n    ----------\n    reserved : List[int]\n\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_4cuda_anon_struct10, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_13anon_struct10_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union4(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_anon_union4 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_anon_union4 *)o);
  p->_array = ((struct __pyx_obj_4cuda_4cuda_anon_struct6 *)Py_None); Py_INCREF(Py_None);
  p->_mipmap = ((struct __pyx_obj_4cuda_4cuda_anon_struct7 *)Py_None); Py_INCREF(Py_None);
  p->_linear = ((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)Py_None); Py_INCREF(Py_None);
  p->_pitch2D = ((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)Py_None); Py_INCREF(Py_None);
  p->_reserved = ((struct __pyx_obj_4cuda_4cuda_anon_struct10 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_union4(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_anon_union4 *p = (struct __pyx_obj_4cuda_4cuda_anon_union4 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_11anon_union4_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_array);
  Py_CLEAR(p->_mipmap);
  Py_CLEAR(p->_linear);
  Py_CLEAR(p->_pitch2D);
  Py_CLEAR(p->_reserved);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_anon_union4(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_anon_union4 *p = (struct __pyx_obj_4cuda_4cuda_anon_union4 *)o;
  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_4cuda_anon_union4(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_anon_union4 *p = (struct __pyx_obj_4cuda_4cuda_anon_union4 *)o;
  tmp = ((PyObject*)p->_array);
  p->_array = ((struct __pyx_obj_4cuda_4cuda_anon_struct6 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_mipmap);
  p->_mipmap = ((struct __pyx_obj_4cuda_4cuda_anon_struct7 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_linear);
  p->_linear = ((struct __pyx_obj_4cuda_4cuda_anon_struct8 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_pitch2D);
  p->_pitch2D = ((struct __pyx_obj_4cuda_4cuda_anon_struct9 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_reserved);
  p->_reserved = ((struct __pyx_obj_4cuda_4cuda_anon_struct10 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union4_array(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union4_5array_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union4_array(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union4_5array_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union4_mipmap(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union4_6mipmap_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union4_mipmap(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union4_6mipmap_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union4_linear(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union4_6linear_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union4_linear(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union4_6linear_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union4_pitch2D(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union4_7pitch2D_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union4_pitch2D(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union4_7pitch2D_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union4_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union4_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union4_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union4_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_11anon_union4_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_11anon_union4_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_union4[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union4_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union4_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_11anon_union4_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union4_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union4_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union4_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union4_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_union4[] = {
  {(char *)"array", __pyx_getprop_4cuda_4cuda_11anon_union4_array, __pyx_setprop_4cuda_4cuda_11anon_union4_array, (char *)0, 0},
  {(char *)"mipmap", __pyx_getprop_4cuda_4cuda_11anon_union4_mipmap, __pyx_setprop_4cuda_4cuda_11anon_union4_mipmap, (char *)0, 0},
  {(char *)"linear", __pyx_getprop_4cuda_4cuda_11anon_union4_linear, __pyx_setprop_4cuda_4cuda_11anon_union4_linear, (char *)0, 0},
  {(char *)"pitch2D", __pyx_getprop_4cuda_4cuda_11anon_union4_pitch2D, __pyx_setprop_4cuda_4cuda_11anon_union4_pitch2D, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_11anon_union4_reserved, __pyx_setprop_4cuda_4cuda_11anon_union4_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_union4_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_union4},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_11anon_union4_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union4(void_ptr _ptr)\n\n    Attributes\n    ----------\n    array : anon_struct6\n\n    mipmap : anon_struct7\n\n    linear : anon_struct8\n\n    pitch2D : anon_struct9\n\n    reserved : anon_struct10\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_anon_union4},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_anon_union4},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_union4},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_union4},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_11anon_union4_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_union4},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_union4_spec = {
  "cuda.cuda.anon_union4",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_anon_union4_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_union4 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_union4", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_union4), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_union4, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    array : anon_struct6\n\n    mipmap : anon_struct7\n\n    linear : anon_struct8\n\n    pitch2D : anon_struct9\n\n    reserved : anon_struct10\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_anon_union4, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_anon_union4, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_anon_union4, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_11anon_union4_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_RESOURCE_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *)o);
  p->_res = ((struct __pyx_obj_4cuda_4cuda_anon_union4 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_RESOURCE_DESC_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_21CUDA_RESOURCE_DESC_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_res);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_RESOURCE_DESC_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *)o;
  if (p->_res) {
    e = (*v)(((PyObject *)p->_res), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_RESOURCE_DESC_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st *)o;
  tmp = ((PyObject*)p->_res);
  p->_res = ((struct __pyx_obj_4cuda_4cuda_anon_union4 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_resType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_7resType_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_resType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_7resType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_res(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_3res_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_res(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_3res_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_RESOURCE_DESC_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_RESOURCE_DESC_st[] = {
  {(char *)"resType", __pyx_getprop_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_resType, __pyx_setprop_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_resType, (char *)0, 0},
  {(char *)"res", __pyx_getprop_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_res, __pyx_setprop_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_res, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_flags, __pyx_setprop_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_flags, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_RESOURCE_DESC_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_RESOURCE_DESC_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_RESOURCE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_RESOURCE_DESC_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_RESOURCE_DESC_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_RESOURCE_DESC_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_RESOURCE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_st_spec = {
  "cuda.cuda.CUDA_RESOURCE_DESC_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_RESOURCE_DESC_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_RESOURCE_DESC_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_RESOURCE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_RESOURCE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_RESOURCE_DESC_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_RESOURCE_DESC_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_21CUDA_RESOURCE_DESC_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_TEXTURE_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)o);
  new((void*)&(p->_CUDA_TEXTURE_DESC_st__val)) struct CUDA_TEXTURE_DESC_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_TEXTURE_DESC_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUDA_TEXTURE_DESC_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_addressMode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11addressMode_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_addressMode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11addressMode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_filterMode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_10filterMode_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_filterMode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_10filterMode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_maxAnisotropy(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_13maxAnisotropy_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_maxAnisotropy(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_13maxAnisotropy_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_mipmapFilterMode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_mipmapFilterMode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_16mipmapFilterMode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_mipmapLevelBias(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_mipmapLevelBias(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_15mipmapLevelBias_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_minMipmapLevelClamp(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_minMipmapLevelClamp(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_19minMipmapLevelClamp_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_maxMipmapLevelClamp(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_maxMipmapLevelClamp(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_19maxMipmapLevelClamp_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_borderColor(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11borderColor_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_borderColor(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11borderColor_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_TEXTURE_DESC_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_TEXTURE_DESC_st[] = {
  {(char *)"addressMode", __pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_addressMode, __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_addressMode, (char *)0, 0},
  {(char *)"filterMode", __pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_filterMode, __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_filterMode, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_flags, __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_flags, (char *)0, 0},
  {(char *)"maxAnisotropy", __pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_maxAnisotropy, __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_maxAnisotropy, (char *)0, 0},
  {(char *)"mipmapFilterMode", __pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_mipmapFilterMode, __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_mipmapFilterMode, (char *)0, 0},
  {(char *)"mipmapLevelBias", __pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_mipmapLevelBias, __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_mipmapLevelBias, (char *)0, 0},
  {(char *)"minMipmapLevelClamp", __pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_minMipmapLevelClamp, __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_minMipmapLevelClamp, (char *)0, 0},
  {(char *)"maxMipmapLevelClamp", __pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_maxMipmapLevelClamp, __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_maxMipmapLevelClamp, (char *)0, 0},
  {(char *)"borderColor", __pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_borderColor, __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_borderColor, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_reserved, __pyx_setprop_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_TEXTURE_DESC_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_TEXTURE_DESC_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_TEXTURE_DESC_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_TEXTURE_DESC_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_TEXTURE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_st_spec = {
  "cuda.cuda.CUDA_TEXTURE_DESC_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_TEXTURE_DESC_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_TEXTURE_DESC_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_TEXTURE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_TEXTURE_DESC_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_20CUDA_TEXTURE_DESC_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)o);
  new((void*)&(p->_CUDA_RESOURCE_VIEW_DESC_st__val)) struct CUDA_RESOURCE_VIEW_DESC_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_RESOURCE_VIEW_DESC_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_RESOURCE_VIEW_DESC_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_format(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6format_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_format(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6format_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_depth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5depth_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_depth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_5depth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_firstMipmapLevel(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_firstMipmapLevel(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_16firstMipmapLevel_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_lastMipmapLevel(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_lastMipmapLevel(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_15lastMipmapLevel_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_firstLayer(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_firstLayer(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_10firstLayer_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_lastLayer(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_lastLayer(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_9lastLayer_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st[] = {
  {(char *)"format", __pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_format, __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_format, (char *)0, 0},
  {(char *)"width", __pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_width, __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_width, (char *)0, 0},
  {(char *)"height", __pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_height, __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_height, (char *)0, 0},
  {(char *)"depth", __pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_depth, __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_depth, (char *)0, 0},
  {(char *)"firstMipmapLevel", __pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_firstMipmapLevel, __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_firstMipmapLevel, (char *)0, 0},
  {(char *)"lastMipmapLevel", __pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_lastMipmapLevel, __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_lastMipmapLevel, (char *)0, 0},
  {(char *)"firstLayer", __pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_firstLayer, __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_firstLayer, (char *)0, 0},
  {(char *)"lastLayer", __pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_lastLayer, __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_lastLayer, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_reserved, __pyx_setprop_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_RESOURCE_VIEW_DESC_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st_spec = {
  "cuda.cuda.CUDA_RESOURCE_VIEW_DESC_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_RESOURCE_VIEW_DESC_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_RESOURCE_VIEW_DESC_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUtensorMap_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *)o);
  new((void*)&(p->_CUtensorMap_st__val)) struct CUtensorMap_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUtensorMap_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *p = (struct __pyx_obj_4cuda_4cuda_CUtensorMap_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_14CUtensorMap_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUtensorMap_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_14CUtensorMap_st_opaque(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_14CUtensorMap_st_6opaque_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_14CUtensorMap_st_opaque(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_14CUtensorMap_st_6opaque_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_14CUtensorMap_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_14CUtensorMap_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUtensorMap_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUtensorMap_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUtensorMap_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_14CUtensorMap_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUtensorMap_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUtensorMap_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUtensorMap_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUtensorMap_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUtensorMap_st[] = {
  {(char *)"opaque", __pyx_getprop_4cuda_4cuda_14CUtensorMap_st_opaque, __pyx_setprop_4cuda_4cuda_14CUtensorMap_st_opaque, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUtensorMap_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUtensorMap_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_14CUtensorMap_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUtensorMap_st(void_ptr _ptr=0)\n\n    Tensor map descriptor. Requires compiler support for aligning to 64\n    bytes.\n\n    Attributes\n    ----------\n    opaque : List[cuuint64_t]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUtensorMap_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUtensorMap_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_14CUtensorMap_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUtensorMap_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUtensorMap_st_spec = {
  "cuda.cuda.CUtensorMap_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUtensorMap_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUtensorMap_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUtensorMap_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUtensorMap_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUtensorMap_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUtensorMap_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Tensor map descriptor. Requires compiler support for aligning to 64\n    bytes.\n\n    Attributes\n    ----------\n    opaque : List[cuuint64_t]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUtensorMap_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_14CUtensorMap_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)o);
  new((void*)&(p->_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st__val)) struct CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_p2pToken(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_p2pToken(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_8p2pToken_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_vaSpaceToken(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_vaSpaceToken(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12vaSpaceToken_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st[] = {
  {(char *)"p2pToken", __pyx_getprop_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_p2pToken, __pyx_setprop_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_p2pToken, (char *)0, 0},
  {(char *)"vaSpaceToken", __pyx_getprop_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_vaSpaceToken, __pyx_setprop_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_vaSpaceToken, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_spec = {
  "cuda.cuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)o);
  new((void*)&(p->_CUDA_LAUNCH_PARAMS_st__val)) struct CUDA_LAUNCH_PARAMS_st();
  p->_function = ((struct __pyx_obj_4cuda_4cuda_CUfunction *)Py_None); Py_INCREF(Py_None);
  p->_hStream = ((struct __pyx_obj_4cuda_4cuda_CUstream *)Py_None); Py_INCREF(Py_None);
  p->_ckernelParams = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_LAUNCH_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUDA_LAUNCH_PARAMS_st__val);
  Py_CLEAR(p->_function);
  Py_CLEAR(p->_hStream);
  Py_CLEAR(p->_ckernelParams);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)o;
  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->_ckernelParams) {
    e = (*v)(((PyObject *)p->_ckernelParams), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st *)o;
  tmp = ((PyObject*)p->_function);
  p->_function = ((struct __pyx_obj_4cuda_4cuda_CUfunction *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_hStream);
  p->_hStream = ((struct __pyx_obj_4cuda_4cuda_CUstream *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_ckernelParams);
  p->_ckernelParams = ((struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_function(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8function_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_function(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8function_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_gridDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_gridDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_gridDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_gridDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_gridDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_gridDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_8gridDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_blockDimX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimX_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_blockDimX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_blockDimY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimY_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_blockDimY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_blockDimZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimZ_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_blockDimZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9blockDimZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_sharedMemBytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_sharedMemBytes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_14sharedMemBytes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_hStream(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_7hStream_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_hStream(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_7hStream_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_kernelParams(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_12kernelParams_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_kernelParams(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_12kernelParams_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st[] = {
  {(char *)"function", __pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_function, __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_function, (char *)0, 0},
  {(char *)"gridDimX", __pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_gridDimX, __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_gridDimX, (char *)0, 0},
  {(char *)"gridDimY", __pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_gridDimY, __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_gridDimY, (char *)0, 0},
  {(char *)"gridDimZ", __pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_gridDimZ, __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_gridDimZ, (char *)0, 0},
  {(char *)"blockDimX", __pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_blockDimX, __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_blockDimX, (char *)0, 0},
  {(char *)"blockDimY", __pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_blockDimY, __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_blockDimY, (char *)0, 0},
  {(char *)"blockDimZ", __pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_blockDimZ, __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_blockDimZ, (char *)0, 0},
  {(char *)"sharedMemBytes", __pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_sharedMemBytes, __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_sharedMemBytes, (char *)0, 0},
  {(char *)"hStream", __pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_hStream, __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_hStream, (char *)0, 0},
  {(char *)"kernelParams", __pyx_getprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_kernelParams, __pyx_setprop_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_kernelParams, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUDA_LAUNCH_PARAMS_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st_spec = {
  "cuda.cuda.CUDA_LAUNCH_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_LAUNCH_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_LAUNCH_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct11(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct11(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_13anon_struct11_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct11_handle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct11_6handle_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct11_handle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct11_6handle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct11_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct11_4name_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct11_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct11_4name_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct11_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_13anon_struct11_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct11[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct11_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct11_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct11_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct11_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct11_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct11_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct11_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct11[] = {
  {(char *)"handle", __pyx_getprop_4cuda_4cuda_13anon_struct11_handle, __pyx_setprop_4cuda_4cuda_13anon_struct11_handle, (char *)0, 0},
  {(char *)"name", __pyx_getprop_4cuda_4cuda_13anon_struct11_name, __pyx_setprop_4cuda_4cuda_13anon_struct11_name, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct11_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct11},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_13anon_struct11_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct11(void_ptr _ptr)\n\n    Attributes\n    ----------\n    handle : Any\n\n    name : Any\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct11},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct11},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_13anon_struct11_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct11},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct11_spec = {
  "cuda.cuda.anon_struct11",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct11),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_anon_struct11_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct11 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct11", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct11), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct11, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    handle : Any\n\n    name : Any\n\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_4cuda_anon_struct11, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_13anon_struct11_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union5(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_anon_union5 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_anon_union5 *)o);
  p->_win32 = ((struct __pyx_obj_4cuda_4cuda_anon_struct11 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_union5(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_anon_union5 *p = (struct __pyx_obj_4cuda_4cuda_anon_union5 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_11anon_union5_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_win32);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_anon_union5(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_anon_union5 *p = (struct __pyx_obj_4cuda_4cuda_anon_union5 *)o;
  if (p->_win32) {
    e = (*v)(((PyObject *)p->_win32), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_anon_union5(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_anon_union5 *p = (struct __pyx_obj_4cuda_4cuda_anon_union5 *)o;
  tmp = ((PyObject*)p->_win32);
  p->_win32 = ((struct __pyx_obj_4cuda_4cuda_anon_struct11 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union5_fd(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union5_2fd_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union5_fd(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union5_2fd_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union5_win32(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union5_5win32_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union5_win32(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union5_5win32_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union5_nvSciBufObject(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union5_14nvSciBufObject_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union5_nvSciBufObject(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union5_14nvSciBufObject_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_11anon_union5_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_11anon_union5_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_union5[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union5_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union5_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_11anon_union5_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union5_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union5_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union5_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union5_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_union5[] = {
  {(char *)"fd", __pyx_getprop_4cuda_4cuda_11anon_union5_fd, __pyx_setprop_4cuda_4cuda_11anon_union5_fd, (char *)0, 0},
  {(char *)"win32", __pyx_getprop_4cuda_4cuda_11anon_union5_win32, __pyx_setprop_4cuda_4cuda_11anon_union5_win32, (char *)0, 0},
  {(char *)"nvSciBufObject", __pyx_getprop_4cuda_4cuda_11anon_union5_nvSciBufObject, __pyx_setprop_4cuda_4cuda_11anon_union5_nvSciBufObject, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_union5_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_union5},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_11anon_union5_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union5(void_ptr _ptr)\n\n    Attributes\n    ----------\n    fd : int\n\n    win32 : anon_struct11\n\n    nvSciBufObject : Any\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_anon_union5},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_anon_union5},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_union5},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_union5},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_11anon_union5_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_union5},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_union5_spec = {
  "cuda.cuda.anon_union5",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_anon_union5_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_union5 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_union5", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_union5), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_union5, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    fd : int\n\n    win32 : anon_struct11\n\n    nvSciBufObject : Any\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_anon_union5, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_anon_union5, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_anon_union5, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_11anon_union5_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)o);
  p->_handle = ((struct __pyx_obj_4cuda_4cuda_anon_union5 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_handle);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)o;
  if (p->_handle) {
    e = (*v)(((PyObject *)p->_handle), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st *)o;
  tmp = ((PyObject*)p->_handle);
  p->_handle = ((struct __pyx_obj_4cuda_4cuda_anon_union5 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6handle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st[] = {
  {(char *)"type", __pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_type, __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_type, (char *)0, 0},
  {(char *)"handle", __pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle, __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_handle, (char *)0, 0},
  {(char *)"size", __pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_size, __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_size, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_flags, __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_flags, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_reserved, __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_spec = {
  "cuda.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)o);
  new((void*)&(p->_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st__val)) struct CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_offset(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_offset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6offset_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st[] = {
  {(char *)"offset", __pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_offset, __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_offset, (char *)0, 0},
  {(char *)"size", __pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_size, __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_size, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_flags, __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_flags, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_reserved, __pyx_setprop_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_spec = {
  "cuda.cuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)o);
  new((void*)&(p->_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st__val)) struct CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st();
  p->_arrayDesc = ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st__val);
  Py_CLEAR(p->_arrayDesc);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)o;
  if (p->_arrayDesc) {
    e = (*v)(((PyObject *)p->_arrayDesc), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st *)o;
  tmp = ((PyObject*)p->_arrayDesc);
  p->_arrayDesc = ((struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_offset(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6offset_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_offset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_arrayDesc(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9arrayDesc_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_arrayDesc(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_numLevels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9numLevels_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_numLevels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st[] = {
  {(char *)"offset", __pyx_getprop_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_offset, __pyx_setprop_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_offset, (char *)0, 0},
  {(char *)"arrayDesc", __pyx_getprop_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_arrayDesc, __pyx_setprop_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_arrayDesc, (char *)0, 0},
  {(char *)"numLevels", __pyx_getprop_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_numLevels, __pyx_setprop_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_numLevels, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_reserved, __pyx_setprop_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_spec = {
  "cuda.cuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct12(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct12(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_13anon_struct12_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct12_handle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct12_6handle_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct12_handle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct12_6handle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct12_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct12_4name_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct12_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct12_4name_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct12_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_13anon_struct12_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct12[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct12_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct12_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct12_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct12_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct12_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct12_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct12_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct12[] = {
  {(char *)"handle", __pyx_getprop_4cuda_4cuda_13anon_struct12_handle, __pyx_setprop_4cuda_4cuda_13anon_struct12_handle, (char *)0, 0},
  {(char *)"name", __pyx_getprop_4cuda_4cuda_13anon_struct12_name, __pyx_setprop_4cuda_4cuda_13anon_struct12_name, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct12_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct12},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_13anon_struct12_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct12(void_ptr _ptr)\n\n    Attributes\n    ----------\n    handle : Any\n\n    name : Any\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct12},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct12},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_13anon_struct12_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct12},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct12_spec = {
  "cuda.cuda.anon_struct12",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct12),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_anon_struct12_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct12 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct12", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct12), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct12, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    handle : Any\n\n    name : Any\n\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_4cuda_anon_struct12, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_13anon_struct12_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union6(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_anon_union6 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_anon_union6 *)o);
  p->_win32 = ((struct __pyx_obj_4cuda_4cuda_anon_struct12 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_union6(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_anon_union6 *p = (struct __pyx_obj_4cuda_4cuda_anon_union6 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_11anon_union6_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_win32);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_anon_union6(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_anon_union6 *p = (struct __pyx_obj_4cuda_4cuda_anon_union6 *)o;
  if (p->_win32) {
    e = (*v)(((PyObject *)p->_win32), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_anon_union6(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_anon_union6 *p = (struct __pyx_obj_4cuda_4cuda_anon_union6 *)o;
  tmp = ((PyObject*)p->_win32);
  p->_win32 = ((struct __pyx_obj_4cuda_4cuda_anon_struct12 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union6_fd(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union6_2fd_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union6_fd(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union6_2fd_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union6_win32(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union6_5win32_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union6_win32(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union6_5win32_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union6_nvSciSyncObj(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union6_12nvSciSyncObj_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union6_nvSciSyncObj(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union6_12nvSciSyncObj_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_11anon_union6_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_11anon_union6_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_union6[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union6_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union6_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_11anon_union6_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union6_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union6_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union6_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union6_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_union6[] = {
  {(char *)"fd", __pyx_getprop_4cuda_4cuda_11anon_union6_fd, __pyx_setprop_4cuda_4cuda_11anon_union6_fd, (char *)0, 0},
  {(char *)"win32", __pyx_getprop_4cuda_4cuda_11anon_union6_win32, __pyx_setprop_4cuda_4cuda_11anon_union6_win32, (char *)0, 0},
  {(char *)"nvSciSyncObj", __pyx_getprop_4cuda_4cuda_11anon_union6_nvSciSyncObj, __pyx_setprop_4cuda_4cuda_11anon_union6_nvSciSyncObj, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_union6_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_union6},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_11anon_union6_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union6(void_ptr _ptr)\n\n    Attributes\n    ----------\n    fd : int\n\n    win32 : anon_struct12\n\n    nvSciSyncObj : Any\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_anon_union6},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_anon_union6},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_union6},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_union6},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_11anon_union6_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_union6},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_union6_spec = {
  "cuda.cuda.anon_union6",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_anon_union6_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_union6 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_union6", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_union6), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_union6, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    fd : int\n\n    win32 : anon_struct12\n\n    nvSciSyncObj : Any\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_anon_union6, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_anon_union6, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_anon_union6, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_11anon_union6_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)o);
  p->_handle = ((struct __pyx_obj_4cuda_4cuda_anon_union6 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_handle);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)o;
  if (p->_handle) {
    e = (*v)(((PyObject *)p->_handle), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st *)o;
  tmp = ((PyObject*)p->_handle);
  p->_handle = ((struct __pyx_obj_4cuda_4cuda_anon_union6 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6handle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st[] = {
  {(char *)"type", __pyx_getprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_type, __pyx_setprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_type, (char *)0, 0},
  {(char *)"handle", __pyx_getprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle, __pyx_setprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_handle, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_flags, __pyx_setprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_flags, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_reserved, __pyx_setprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_spec = {
  "cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct13(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct13(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_13anon_struct13_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct13_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct13_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct13_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct13_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct13_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_13anon_struct13_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct13[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct13_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct13_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct13_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct13_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct13_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct13_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct13_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct13[] = {
  {(char *)"value", __pyx_getprop_4cuda_4cuda_13anon_struct13_value, __pyx_setprop_4cuda_4cuda_13anon_struct13_value, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct13_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct13},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_13anon_struct13_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct13(void_ptr _ptr)\n\n    Attributes\n    ----------\n    value : unsigned long long\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct13},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct13},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_13anon_struct13_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct13},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct13_spec = {
  "cuda.cuda.anon_struct13",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct13),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_anon_struct13_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct13 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct13", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct13), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct13, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    value : unsigned long long\n\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_4cuda_anon_struct13, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_13anon_struct13_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union7(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_union7(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_11anon_union7_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union7_fence(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union7_5fence_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union7_fence(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union7_5fence_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union7_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union7_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union7_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union7_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_11anon_union7_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_11anon_union7_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_union7[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union7_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union7_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_11anon_union7_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union7_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union7_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union7_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union7_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_union7[] = {
  {(char *)"fence", __pyx_getprop_4cuda_4cuda_11anon_union7_fence, __pyx_setprop_4cuda_4cuda_11anon_union7_fence, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_11anon_union7_reserved, __pyx_setprop_4cuda_4cuda_11anon_union7_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_union7_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_union7},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_11anon_union7_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union7(void_ptr _ptr)\n\n    Attributes\n    ----------\n    fence : Any\n\n    reserved : unsigned long long\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_union7},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_union7},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_11anon_union7_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_union7},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_union7_spec = {
  "cuda.cuda.anon_union7",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_union7),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_anon_union7_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_union7 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_union7", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_union7), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_union7, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    fence : Any\n\n    reserved : unsigned long long\n\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_4cuda_anon_union7, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_11anon_union7_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct14(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct14(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_13anon_struct14_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct14_key(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct14_3key_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct14_key(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct14_3key_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct14_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_13anon_struct14_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct14[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct14_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct14_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct14_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct14_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct14_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct14_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct14_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct14[] = {
  {(char *)"key", __pyx_getprop_4cuda_4cuda_13anon_struct14_key, __pyx_setprop_4cuda_4cuda_13anon_struct14_key, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct14_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct14},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_13anon_struct14_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct14(void_ptr _ptr)\n\n    Attributes\n    ----------\n    key : unsigned long long\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct14},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct14},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_13anon_struct14_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct14},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct14_spec = {
  "cuda.cuda.anon_struct14",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct14),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_anon_struct14_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct14 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct14", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct14), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct14, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    key : unsigned long long\n\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_4cuda_anon_struct14, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_13anon_struct14_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct15(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_anon_struct15 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)o);
  p->_fence = ((struct __pyx_obj_4cuda_4cuda_anon_struct13 *)Py_None); Py_INCREF(Py_None);
  p->_nvSciSync = ((struct __pyx_obj_4cuda_4cuda_anon_union7 *)Py_None); Py_INCREF(Py_None);
  p->_keyedMutex = ((struct __pyx_obj_4cuda_4cuda_anon_struct14 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct15(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_anon_struct15 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct15 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_anon_struct15) {
      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_4cuda_13anon_struct15_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_fence);
  Py_CLEAR(p->_nvSciSync);
  Py_CLEAR(p->_keyedMutex);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_anon_struct15(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_anon_struct15 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct15 *)o;
  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_4cuda_anon_struct15(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_anon_struct15 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct15 *)o;
  tmp = ((PyObject*)p->_fence);
  p->_fence = ((struct __pyx_obj_4cuda_4cuda_anon_struct13 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_nvSciSync);
  p->_nvSciSync = ((struct __pyx_obj_4cuda_4cuda_anon_union7 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_keyedMutex);
  p->_keyedMutex = ((struct __pyx_obj_4cuda_4cuda_anon_struct14 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct15_fence(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct15_5fence_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct15_fence(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct15_5fence_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct15_nvSciSync(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct15_9nvSciSync_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct15_nvSciSync(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct15_9nvSciSync_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct15_keyedMutex(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct15_10keyedMutex_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct15_keyedMutex(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct15_10keyedMutex_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct15_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct15_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct15_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct15_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct15_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_13anon_struct15_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct15[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct15_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct15_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct15_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct15_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct15_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct15_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct15_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct15[] = {
  {(char *)"fence", __pyx_getprop_4cuda_4cuda_13anon_struct15_fence, __pyx_setprop_4cuda_4cuda_13anon_struct15_fence, (char *)0, 0},
  {(char *)"nvSciSync", __pyx_getprop_4cuda_4cuda_13anon_struct15_nvSciSync, __pyx_setprop_4cuda_4cuda_13anon_struct15_nvSciSync, (char *)0, 0},
  {(char *)"keyedMutex", __pyx_getprop_4cuda_4cuda_13anon_struct15_keyedMutex, __pyx_setprop_4cuda_4cuda_13anon_struct15_keyedMutex, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_13anon_struct15_reserved, __pyx_setprop_4cuda_4cuda_13anon_struct15_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct15_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct15},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_13anon_struct15_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct15(void_ptr _ptr)\n\n    Attributes\n    ----------\n    fence : anon_struct13\n\n    nvSciSync : anon_union7\n\n    keyedMutex : anon_struct14\n\n    reserved : List[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_anon_struct15},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_anon_struct15},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct15},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct15},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_13anon_struct15_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct15},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct15_spec = {
  "cuda.cuda.anon_struct15",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct15),
  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_4cuda_anon_struct15_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct15 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct15", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct15), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct15, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_struct15(void_ptr _ptr)\n\n    Attributes\n    ----------\n    fence : anon_struct13\n\n    nvSciSync : anon_union7\n\n    keyedMutex : anon_struct14\n\n    reserved : List[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_anon_struct15, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_anon_struct15, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_anon_struct15, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_13anon_struct15_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)o);
  new((void*)&(p->_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st__val)) struct CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st();
  p->_params = ((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st__val);
  Py_CLEAR(p->_params);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)o;
  if (p->_params) {
    e = (*v)(((PyObject *)p->_params), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st *)o;
  tmp = ((PyObject*)p->_params);
  p->_params = ((struct __pyx_obj_4cuda_4cuda_anon_struct15 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6params_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st[] = {
  {(char *)"params", __pyx_getprop_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params, __pyx_setprop_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_params, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_flags, __pyx_setprop_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_flags, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_reserved, __pyx_setprop_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\n    External semaphore signal parameters\n\n    Attributes\n    ----------\n    params : anon_struct15\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_spec = {
  "cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    External semaphore signal parameters\n\n    Attributes\n    ----------\n    params : anon_struct15\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct16(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct16(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_anon_struct16) {
      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_4cuda_13anon_struct16_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct16_value(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct16_5value_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct16_value(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct16_5value_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct16_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_13anon_struct16_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct16[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct16_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct16_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct16_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct16_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct16_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct16_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct16_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct16[] = {
  {(char *)"value", __pyx_getprop_4cuda_4cuda_13anon_struct16_value, __pyx_setprop_4cuda_4cuda_13anon_struct16_value, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct16_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct16},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_13anon_struct16_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct16(void_ptr _ptr)\n\n    Attributes\n    ----------\n    value : unsigned long long\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct16},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct16},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_13anon_struct16_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct16},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct16_spec = {
  "cuda.cuda.anon_struct16",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct16),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_anon_struct16_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct16 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct16", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct16), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct16, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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, /*tp_flags*/
  PyDoc_STR("anon_struct16(void_ptr _ptr)\n\n    Attributes\n    ----------\n    value : unsigned long long\n\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_4cuda_anon_struct16, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_13anon_struct16_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union8(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_union8(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_11anon_union8_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union8_fence(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union8_5fence_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union8_fence(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union8_5fence_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union8_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union8_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union8_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union8_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_11anon_union8_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_11anon_union8_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_union8[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union8_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union8_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_11anon_union8_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union8_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union8_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union8_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union8_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_union8[] = {
  {(char *)"fence", __pyx_getprop_4cuda_4cuda_11anon_union8_fence, __pyx_setprop_4cuda_4cuda_11anon_union8_fence, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_11anon_union8_reserved, __pyx_setprop_4cuda_4cuda_11anon_union8_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_union8_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_union8},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_11anon_union8_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union8(void_ptr _ptr)\n\n    Attributes\n    ----------\n    fence : Any\n\n    reserved : unsigned long long\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_union8},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_union8},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_11anon_union8_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_union8},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_union8_spec = {
  "cuda.cuda.anon_union8",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_union8),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_anon_union8_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_union8 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_union8", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_union8), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_union8, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    fence : Any\n\n    reserved : unsigned long long\n\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_4cuda_anon_union8, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_11anon_union8_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct17(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct17(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_13anon_struct17_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct17_key(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct17_3key_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct17_key(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct17_3key_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct17_timeoutMs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct17_9timeoutMs_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct17_timeoutMs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct17_9timeoutMs_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct17_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_13anon_struct17_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct17[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct17_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct17_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct17_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct17_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct17_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct17_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct17_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct17[] = {
  {(char *)"key", __pyx_getprop_4cuda_4cuda_13anon_struct17_key, __pyx_setprop_4cuda_4cuda_13anon_struct17_key, (char *)0, 0},
  {(char *)"timeoutMs", __pyx_getprop_4cuda_4cuda_13anon_struct17_timeoutMs, __pyx_setprop_4cuda_4cuda_13anon_struct17_timeoutMs, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct17_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct17},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_13anon_struct17_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct17(void_ptr _ptr)\n\n    Attributes\n    ----------\n    key : unsigned long long\n\n    timeoutMs : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct17},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct17},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_13anon_struct17_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct17},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct17_spec = {
  "cuda.cuda.anon_struct17",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct17),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_anon_struct17_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct17 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct17", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct17), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct17, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    key : unsigned long long\n\n    timeoutMs : unsigned int\n\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_4cuda_anon_struct17, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_13anon_struct17_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct18(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_anon_struct18 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)o);
  p->_fence = ((struct __pyx_obj_4cuda_4cuda_anon_struct16 *)Py_None); Py_INCREF(Py_None);
  p->_nvSciSync = ((struct __pyx_obj_4cuda_4cuda_anon_union8 *)Py_None); Py_INCREF(Py_None);
  p->_keyedMutex = ((struct __pyx_obj_4cuda_4cuda_anon_struct17 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct18(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_anon_struct18 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct18 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_anon_struct18) {
      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_4cuda_13anon_struct18_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_fence);
  Py_CLEAR(p->_nvSciSync);
  Py_CLEAR(p->_keyedMutex);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_anon_struct18(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_anon_struct18 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct18 *)o;
  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_4cuda_anon_struct18(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_anon_struct18 *p = (struct __pyx_obj_4cuda_4cuda_anon_struct18 *)o;
  tmp = ((PyObject*)p->_fence);
  p->_fence = ((struct __pyx_obj_4cuda_4cuda_anon_struct16 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_nvSciSync);
  p->_nvSciSync = ((struct __pyx_obj_4cuda_4cuda_anon_union8 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_keyedMutex);
  p->_keyedMutex = ((struct __pyx_obj_4cuda_4cuda_anon_struct17 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct18_fence(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct18_5fence_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct18_fence(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct18_5fence_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct18_nvSciSync(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct18_9nvSciSync_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct18_nvSciSync(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct18_9nvSciSync_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct18_keyedMutex(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct18_10keyedMutex_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct18_keyedMutex(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct18_10keyedMutex_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct18_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct18_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct18_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct18_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct18_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_13anon_struct18_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct18[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct18_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct18_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct18_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct18_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct18_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct18_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct18_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct18[] = {
  {(char *)"fence", __pyx_getprop_4cuda_4cuda_13anon_struct18_fence, __pyx_setprop_4cuda_4cuda_13anon_struct18_fence, (char *)0, 0},
  {(char *)"nvSciSync", __pyx_getprop_4cuda_4cuda_13anon_struct18_nvSciSync, __pyx_setprop_4cuda_4cuda_13anon_struct18_nvSciSync, (char *)0, 0},
  {(char *)"keyedMutex", __pyx_getprop_4cuda_4cuda_13anon_struct18_keyedMutex, __pyx_setprop_4cuda_4cuda_13anon_struct18_keyedMutex, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_13anon_struct18_reserved, __pyx_setprop_4cuda_4cuda_13anon_struct18_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct18_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct18},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_13anon_struct18_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct18(void_ptr _ptr)\n\n    Attributes\n    ----------\n    fence : anon_struct16\n\n    nvSciSync : anon_union8\n\n    keyedMutex : anon_struct17\n\n    reserved : List[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_anon_struct18},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_anon_struct18},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct18},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct18},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_13anon_struct18_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct18},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct18_spec = {
  "cuda.cuda.anon_struct18",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct18),
  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_4cuda_anon_struct18_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct18 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct18", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct18), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct18, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("anon_struct18(void_ptr _ptr)\n\n    Attributes\n    ----------\n    fence : anon_struct16\n\n    nvSciSync : anon_union8\n\n    keyedMutex : anon_struct17\n\n    reserved : List[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_anon_struct18, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_anon_struct18, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_anon_struct18, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_13anon_struct18_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)o);
  new((void*)&(p->_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st__val)) struct CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st();
  p->_params = ((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st__val);
  Py_CLEAR(p->_params);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)o;
  if (p->_params) {
    e = (*v)(((PyObject *)p->_params), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st *)o;
  tmp = ((PyObject*)p->_params);
  p->_params = ((struct __pyx_obj_4cuda_4cuda_anon_struct18 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6params_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st[] = {
  {(char *)"params", __pyx_getprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params, __pyx_setprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_params, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_flags, __pyx_setprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_flags, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_reserved, __pyx_setprop_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\n    External semaphore wait parameters\n\n    Attributes\n    ----------\n    params : anon_struct18\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_spec = {
  "cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    External semaphore wait parameters\n\n    Attributes\n    ----------\n    params : anon_struct18\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)o);
  new((void*)&(p->_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st__val)) struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_extSemArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11extSemArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_extSemArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_paramsArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11paramsArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_paramsArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_numExtSems(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_numExtSems(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10numExtSems_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st[] = {
  {(char *)"extSemArray", __pyx_getprop_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_extSemArray, __pyx_setprop_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_extSemArray, (char *)0, 0},
  {(char *)"paramsArray", __pyx_getprop_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_paramsArray, __pyx_setprop_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_paramsArray, (char *)0, 0},
  {(char *)"numExtSems", __pyx_getprop_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_numExtSems, __pyx_setprop_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_numExtSems, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_spec = {
  "cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)o);
  new((void*)&(p->_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st__val)) struct CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_extSemArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11extSemArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_extSemArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_paramsArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11paramsArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_paramsArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_numExtSems(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_numExtSems(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10numExtSems_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st[] = {
  {(char *)"extSemArray", __pyx_getprop_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_extSemArray, __pyx_setprop_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_extSemArray, (char *)0, 0},
  {(char *)"paramsArray", __pyx_getprop_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_paramsArray, __pyx_setprop_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_paramsArray, (char *)0, 0},
  {(char *)"numExtSems", __pyx_getprop_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_numExtSems, __pyx_setprop_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_numExtSems, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_spec = {
  "cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)o);
  new((void*)&(p->_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st__val)) struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_extSemArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11extSemArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_extSemArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_paramsArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11paramsArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_paramsArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_numExtSems(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_numExtSems(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10numExtSems_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st[] = {
  {(char *)"extSemArray", __pyx_getprop_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_extSemArray, __pyx_setprop_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_extSemArray, (char *)0, 0},
  {(char *)"paramsArray", __pyx_getprop_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_paramsArray, __pyx_setprop_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_paramsArray, (char *)0, 0},
  {(char *)"numExtSems", __pyx_getprop_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_numExtSems, __pyx_setprop_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_numExtSems, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_spec = {
  "cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXT_SEM_WAIT_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)o);
  new((void*)&(p->_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st__val)) struct CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_extSemArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11extSemArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_extSemArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_paramsArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11paramsArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_paramsArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_numExtSems(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_numExtSems(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10numExtSems_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st[] = {
  {(char *)"extSemArray", __pyx_getprop_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_extSemArray, __pyx_setprop_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_extSemArray, (char *)0, 0},
  {(char *)"paramsArray", __pyx_getprop_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_paramsArray, __pyx_setprop_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_paramsArray, (char *)0, 0},
  {(char *)"numExtSems", __pyx_getprop_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_numExtSems, __pyx_setprop_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_numExtSems, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_spec = {
  "cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union9(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_anon_union9 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_anon_union9 *)o);
  p->_mipmap = ((struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *)Py_None); Py_INCREF(Py_None);
  p->_array = ((struct __pyx_obj_4cuda_4cuda_CUarray *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_union9(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_anon_union9 *p = (struct __pyx_obj_4cuda_4cuda_anon_union9 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_11anon_union9_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_mipmap);
  Py_CLEAR(p->_array);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_anon_union9(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_anon_union9 *p = (struct __pyx_obj_4cuda_4cuda_anon_union9 *)o;
  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_4cuda_anon_union9(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_anon_union9 *p = (struct __pyx_obj_4cuda_4cuda_anon_union9 *)o;
  tmp = ((PyObject*)p->_mipmap);
  p->_mipmap = ((struct __pyx_obj_4cuda_4cuda_CUmipmappedArray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_array);
  p->_array = ((struct __pyx_obj_4cuda_4cuda_CUarray *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union9_mipmap(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union9_6mipmap_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union9_mipmap(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union9_6mipmap_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_11anon_union9_array(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_11anon_union9_5array_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_11anon_union9_array(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_11anon_union9_5array_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_11anon_union9_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_11anon_union9_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_union9[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union9_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union9_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_11anon_union9_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union9_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union9_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11anon_union9_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11anon_union9_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_union9[] = {
  {(char *)"mipmap", __pyx_getprop_4cuda_4cuda_11anon_union9_mipmap, __pyx_setprop_4cuda_4cuda_11anon_union9_mipmap, (char *)0, 0},
  {(char *)"array", __pyx_getprop_4cuda_4cuda_11anon_union9_array, __pyx_setprop_4cuda_4cuda_11anon_union9_array, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_union9_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_union9},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_11anon_union9_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union9(void_ptr _ptr)\n\n    Attributes\n    ----------\n    mipmap : CUmipmappedArray\n\n    array : CUarray\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_anon_union9},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_anon_union9},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_union9},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_union9},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_11anon_union9_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_union9},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_union9_spec = {
  "cuda.cuda.anon_union9",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_anon_union9_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_union9 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_union9", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_union9), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_union9, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    mipmap : CUmipmappedArray\n\n    array : CUarray\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_anon_union9, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_anon_union9, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_anon_union9, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_11anon_union9_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct19(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct19(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_anon_struct19) {
      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_4cuda_13anon_struct19_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct19_level(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct19_5level_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct19_level(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct19_5level_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct19_layer(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct19_5layer_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct19_layer(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct19_5layer_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct19_offsetX(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct19_7offsetX_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct19_offsetX(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct19_7offsetX_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct19_offsetY(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct19_7offsetY_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct19_offsetY(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct19_7offsetY_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct19_offsetZ(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct19_7offsetZ_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct19_offsetZ(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct19_7offsetZ_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct19_extentWidth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct19_11extentWidth_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct19_extentWidth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct19_11extentWidth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct19_extentHeight(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct19_12extentHeight_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct19_extentHeight(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct19_12extentHeight_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct19_extentDepth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct19_11extentDepth_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct19_extentDepth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct19_11extentDepth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct19_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_13anon_struct19_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct19[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct19_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct19_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct19_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct19_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct19_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct19_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct19_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct19[] = {
  {(char *)"level", __pyx_getprop_4cuda_4cuda_13anon_struct19_level, __pyx_setprop_4cuda_4cuda_13anon_struct19_level, (char *)0, 0},
  {(char *)"layer", __pyx_getprop_4cuda_4cuda_13anon_struct19_layer, __pyx_setprop_4cuda_4cuda_13anon_struct19_layer, (char *)0, 0},
  {(char *)"offsetX", __pyx_getprop_4cuda_4cuda_13anon_struct19_offsetX, __pyx_setprop_4cuda_4cuda_13anon_struct19_offsetX, (char *)0, 0},
  {(char *)"offsetY", __pyx_getprop_4cuda_4cuda_13anon_struct19_offsetY, __pyx_setprop_4cuda_4cuda_13anon_struct19_offsetY, (char *)0, 0},
  {(char *)"offsetZ", __pyx_getprop_4cuda_4cuda_13anon_struct19_offsetZ, __pyx_setprop_4cuda_4cuda_13anon_struct19_offsetZ, (char *)0, 0},
  {(char *)"extentWidth", __pyx_getprop_4cuda_4cuda_13anon_struct19_extentWidth, __pyx_setprop_4cuda_4cuda_13anon_struct19_extentWidth, (char *)0, 0},
  {(char *)"extentHeight", __pyx_getprop_4cuda_4cuda_13anon_struct19_extentHeight, __pyx_setprop_4cuda_4cuda_13anon_struct19_extentHeight, (char *)0, 0},
  {(char *)"extentDepth", __pyx_getprop_4cuda_4cuda_13anon_struct19_extentDepth, __pyx_setprop_4cuda_4cuda_13anon_struct19_extentDepth, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct19_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct19},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_13anon_struct19_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct19(void_ptr _ptr)\n\n    Attributes\n    ----------\n    level : unsigned int\n\n    layer : unsigned int\n\n    offsetX : unsigned int\n\n    offsetY : unsigned int\n\n    offsetZ : unsigned int\n\n    extentWidth : unsigned int\n\n    extentHeight : unsigned int\n\n    extentDepth : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct19},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct19},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_13anon_struct19_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct19},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct19_spec = {
  "cuda.cuda.anon_struct19",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct19),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_anon_struct19_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct19 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct19", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct19), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct19, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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, /*tp_flags*/
  PyDoc_STR("anon_struct19(void_ptr _ptr)\n\n    Attributes\n    ----------\n    level : unsigned int\n\n    layer : unsigned int\n\n    offsetX : unsigned int\n\n    offsetY : unsigned int\n\n    offsetZ : unsigned int\n\n    extentWidth : unsigned int\n\n    extentHeight : unsigned int\n\n    extentDepth : unsigned int\n\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_4cuda_anon_struct19, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_13anon_struct19_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct20(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct20(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_13anon_struct20_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct20_layer(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct20_5layer_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct20_layer(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct20_5layer_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct20_offset(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct20_6offset_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct20_offset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct20_6offset_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct20_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct20_4size_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct20_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct20_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct20_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_13anon_struct20_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct20[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct20_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct20_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct20_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct20_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct20_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct20_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct20_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct20[] = {
  {(char *)"layer", __pyx_getprop_4cuda_4cuda_13anon_struct20_layer, __pyx_setprop_4cuda_4cuda_13anon_struct20_layer, (char *)0, 0},
  {(char *)"offset", __pyx_getprop_4cuda_4cuda_13anon_struct20_offset, __pyx_setprop_4cuda_4cuda_13anon_struct20_offset, (char *)0, 0},
  {(char *)"size", __pyx_getprop_4cuda_4cuda_13anon_struct20_size, __pyx_setprop_4cuda_4cuda_13anon_struct20_size, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct20_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct20},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_13anon_struct20_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct20(void_ptr _ptr)\n\n    Attributes\n    ----------\n    layer : unsigned int\n\n    offset : unsigned long long\n\n    size : unsigned long long\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct20},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct20},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_13anon_struct20_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct20},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct20_spec = {
  "cuda.cuda.anon_struct20",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct20),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_anon_struct20_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct20 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct20", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct20), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct20, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    layer : unsigned int\n\n    offset : unsigned long long\n\n    size : unsigned long long\n\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_4cuda_anon_struct20, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_13anon_struct20_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union10(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_anon_union10 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_anon_union10 *)o);
  p->_sparseLevel = ((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)Py_None); Py_INCREF(Py_None);
  p->_miptail = ((struct __pyx_obj_4cuda_4cuda_anon_struct20 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_union10(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_anon_union10 *p = (struct __pyx_obj_4cuda_4cuda_anon_union10 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_12anon_union10_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_sparseLevel);
  Py_CLEAR(p->_miptail);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_anon_union10(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_anon_union10 *p = (struct __pyx_obj_4cuda_4cuda_anon_union10 *)o;
  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_4cuda_anon_union10(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_anon_union10 *p = (struct __pyx_obj_4cuda_4cuda_anon_union10 *)o;
  tmp = ((PyObject*)p->_sparseLevel);
  p->_sparseLevel = ((struct __pyx_obj_4cuda_4cuda_anon_struct19 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_miptail);
  p->_miptail = ((struct __pyx_obj_4cuda_4cuda_anon_struct20 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_union10_sparseLevel(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_union10_11sparseLevel_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_union10_sparseLevel(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_union10_11sparseLevel_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_union10_miptail(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_union10_7miptail_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_union10_miptail(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_union10_7miptail_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_union10_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12anon_union10_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_union10[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union10_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union10_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_union10_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union10_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union10_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union10_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union10_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_union10[] = {
  {(char *)"sparseLevel", __pyx_getprop_4cuda_4cuda_12anon_union10_sparseLevel, __pyx_setprop_4cuda_4cuda_12anon_union10_sparseLevel, (char *)0, 0},
  {(char *)"miptail", __pyx_getprop_4cuda_4cuda_12anon_union10_miptail, __pyx_setprop_4cuda_4cuda_12anon_union10_miptail, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_union10_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_union10},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12anon_union10_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union10(void_ptr _ptr)\n\n    Attributes\n    ----------\n    sparseLevel : anon_struct19\n\n    miptail : anon_struct20\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_anon_union10},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_anon_union10},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_union10},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_union10},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_12anon_union10_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_union10},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_union10_spec = {
  "cuda.cuda.anon_union10",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_anon_union10_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_union10 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_union10", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_union10), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_union10, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    sparseLevel : anon_struct19\n\n    miptail : anon_struct20\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_anon_union10, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_anon_union10, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_anon_union10, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_12anon_union10_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union11(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_anon_union11 *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_anon_union11 *)o);
  p->_memHandle = ((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_union11(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_anon_union11 *p = (struct __pyx_obj_4cuda_4cuda_anon_union11 *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_12anon_union11_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_memHandle);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_anon_union11(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_anon_union11 *p = (struct __pyx_obj_4cuda_4cuda_anon_union11 *)o;
  if (p->_memHandle) {
    e = (*v)(((PyObject *)p->_memHandle), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_anon_union11(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_anon_union11 *p = (struct __pyx_obj_4cuda_4cuda_anon_union11 *)o;
  tmp = ((PyObject*)p->_memHandle);
  p->_memHandle = ((struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_union11_memHandle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_union11_9memHandle_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_union11_memHandle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_union11_9memHandle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_union11_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12anon_union11_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_union11[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union11_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union11_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_union11_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union11_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union11_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union11_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union11_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_union11[] = {
  {(char *)"memHandle", __pyx_getprop_4cuda_4cuda_12anon_union11_memHandle, __pyx_setprop_4cuda_4cuda_12anon_union11_memHandle, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_union11_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_union11},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12anon_union11_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union11(void_ptr _ptr)\n\n    Attributes\n    ----------\n    memHandle : CUmemGenericAllocationHandle\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_anon_union11},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_anon_union11},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_union11},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_union11},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_12anon_union11_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_union11},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_union11_spec = {
  "cuda.cuda.anon_union11",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_anon_union11_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_union11 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_union11", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_union11), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_union11, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    memHandle : CUmemGenericAllocationHandle\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_anon_union11, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_anon_union11, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_anon_union11, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_12anon_union11_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUarrayMapInfo_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)o);
  p->_resource = ((struct __pyx_obj_4cuda_4cuda_anon_union9 *)Py_None); Py_INCREF(Py_None);
  p->_subresource = ((struct __pyx_obj_4cuda_4cuda_anon_union10 *)Py_None); Py_INCREF(Py_None);
  p->_memHandle = ((struct __pyx_obj_4cuda_4cuda_anon_union11 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUarrayMapInfo_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *p = (struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_resource);
  Py_CLEAR(p->_subresource);
  Py_CLEAR(p->_memHandle);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUarrayMapInfo_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *p = (struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)o;
  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_4cuda_CUarrayMapInfo_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *p = (struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st *)o;
  tmp = ((PyObject*)p->_resource);
  p->_resource = ((struct __pyx_obj_4cuda_4cuda_anon_union9 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_subresource);
  p->_subresource = ((struct __pyx_obj_4cuda_4cuda_anon_union10 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_memHandle);
  p->_memHandle = ((struct __pyx_obj_4cuda_4cuda_anon_union11 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_resourceType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_12resourceType_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_resourceType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_12resourceType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_resource(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_8resource_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_resource(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_8resource_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_subresourceType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_15subresourceType_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_subresourceType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_15subresourceType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_subresource(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_11subresource_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_subresource(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_11subresource_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_memOperationType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_16memOperationType_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_memOperationType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_16memOperationType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_memHandleType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_13memHandleType_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_memHandleType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_13memHandleType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_memHandle(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_9memHandle_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_memHandle(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_9memHandle_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_offset(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_6offset_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_offset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_6offset_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_deviceBitMask(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_13deviceBitMask_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_deviceBitMask(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_13deviceBitMask_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUarrayMapInfo_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUarrayMapInfo_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUarrayMapInfo_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUarrayMapInfo_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUarrayMapInfo_st[] = {
  {(char *)"resourceType", __pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_resourceType, __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_resourceType, (char *)0, 0},
  {(char *)"resource", __pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_resource, __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_resource, (char *)0, 0},
  {(char *)"subresourceType", __pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_subresourceType, __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_subresourceType, (char *)0, 0},
  {(char *)"subresource", __pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_subresource, __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_subresource, (char *)0, 0},
  {(char *)"memOperationType", __pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_memOperationType, __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_memOperationType, (char *)0, 0},
  {(char *)"memHandleType", __pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_memHandleType, __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_memHandleType, (char *)0, 0},
  {(char *)"memHandle", __pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_memHandle, __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_memHandle, (char *)0, 0},
  {(char *)"offset", __pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_offset, __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_offset, (char *)0, 0},
  {(char *)"deviceBitMask", __pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_deviceBitMask, __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_deviceBitMask, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_flags, __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_flags, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_17CUarrayMapInfo_st_reserved, __pyx_setprop_4cuda_4cuda_17CUarrayMapInfo_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUarrayMapInfo_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUarrayMapInfo_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUarrayMapInfo_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUarrayMapInfo_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUarrayMapInfo_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUarrayMapInfo_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUarrayMapInfo_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUarrayMapInfo_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUarrayMapInfo_st_spec = {
  "cuda.cuda.CUarrayMapInfo_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUarrayMapInfo_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUarrayMapInfo_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUarrayMapInfo_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUarrayMapInfo_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUarrayMapInfo_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUarrayMapInfo_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUarrayMapInfo_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemLocation_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *)o);
  new((void*)&(p->_CUmemLocation_st__val)) struct CUmemLocation_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUmemLocation_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *p = (struct __pyx_obj_4cuda_4cuda_CUmemLocation_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_16CUmemLocation_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUmemLocation_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUmemLocation_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUmemLocation_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUmemLocation_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUmemLocation_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUmemLocation_st_id(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUmemLocation_st_2id_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUmemLocation_st_id(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUmemLocation_st_2id_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_16CUmemLocation_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_16CUmemLocation_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUmemLocation_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUmemLocation_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUmemLocation_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_16CUmemLocation_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUmemLocation_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUmemLocation_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUmemLocation_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUmemLocation_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUmemLocation_st[] = {
  {(char *)"type", __pyx_getprop_4cuda_4cuda_16CUmemLocation_st_type, __pyx_setprop_4cuda_4cuda_16CUmemLocation_st_type, (char *)0, 0},
  {(char *)"id", __pyx_getprop_4cuda_4cuda_16CUmemLocation_st_id, __pyx_setprop_4cuda_4cuda_16CUmemLocation_st_id, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemLocation_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUmemLocation_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_16CUmemLocation_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmemLocation_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUmemLocation_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUmemLocation_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_16CUmemLocation_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemLocation_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemLocation_st_spec = {
  "cuda.cuda.CUmemLocation_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemLocation_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUmemLocation_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemLocation_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemLocation_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemLocation_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemLocation_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUmemLocation_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_16CUmemLocation_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_struct21(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_anon_struct21(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_13anon_struct21_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct21_compressionType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct21_15compressionType_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct21_compressionType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct21_15compressionType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct21_gpuDirectRDMACapable(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct21_20gpuDirectRDMACapable_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct21_gpuDirectRDMACapable(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct21_20gpuDirectRDMACapable_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct21_usage(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct21_5usage_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct21_usage(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct21_5usage_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13anon_struct21_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13anon_struct21_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13anon_struct21_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13anon_struct21_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct21_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_13anon_struct21_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_struct21[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct21_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct21_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_13anon_struct21_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct21_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct21_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13anon_struct21_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13anon_struct21_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_struct21[] = {
  {(char *)"compressionType", __pyx_getprop_4cuda_4cuda_13anon_struct21_compressionType, __pyx_setprop_4cuda_4cuda_13anon_struct21_compressionType, (char *)0, 0},
  {(char *)"gpuDirectRDMACapable", __pyx_getprop_4cuda_4cuda_13anon_struct21_gpuDirectRDMACapable, __pyx_setprop_4cuda_4cuda_13anon_struct21_gpuDirectRDMACapable, (char *)0, 0},
  {(char *)"usage", __pyx_getprop_4cuda_4cuda_13anon_struct21_usage, __pyx_setprop_4cuda_4cuda_13anon_struct21_usage, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_13anon_struct21_reserved, __pyx_setprop_4cuda_4cuda_13anon_struct21_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_struct21_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_struct21},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_13anon_struct21_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_struct21(void_ptr _ptr)\n\n    Attributes\n    ----------\n    compressionType : bytes\n\n    gpuDirectRDMACapable : bytes\n\n    usage : unsigned short\n\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_struct21},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_struct21},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_13anon_struct21_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_struct21},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_struct21_spec = {
  "cuda.cuda.anon_struct21",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct21),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_anon_struct21_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_struct21 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_struct21", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_struct21), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_struct21, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    compressionType : bytes\n\n    gpuDirectRDMACapable : bytes\n\n    usage : unsigned short\n\n    reserved : bytes\n\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_4cuda_anon_struct21, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_13anon_struct21_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemAllocationProp_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)o);
  new((void*)&(p->_CUmemAllocationProp_st__val)) struct CUmemAllocationProp_st();
  p->_location = ((struct __pyx_obj_4cuda_4cuda_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  p->_allocFlags = ((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUmemAllocationProp_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *p = (struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_22CUmemAllocationProp_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUmemAllocationProp_st__val);
  Py_CLEAR(p->_location);
  Py_CLEAR(p->_allocFlags);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUmemAllocationProp_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *p = (struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)o;
  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_4cuda_CUmemAllocationProp_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *p = (struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st *)o;
  tmp = ((PyObject*)p->_location);
  p->_location = ((struct __pyx_obj_4cuda_4cuda_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_allocFlags);
  p->_allocFlags = ((struct __pyx_obj_4cuda_4cuda_anon_struct21 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_22CUmemAllocationProp_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_22CUmemAllocationProp_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_22CUmemAllocationProp_st_requestedHandleTypes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_20requestedHandleTypes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_22CUmemAllocationProp_st_requestedHandleTypes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_20requestedHandleTypes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_22CUmemAllocationProp_st_location(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_8location_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_22CUmemAllocationProp_st_location(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_8location_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_22CUmemAllocationProp_st_win32HandleMetaData(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_19win32HandleMetaData_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_22CUmemAllocationProp_st_win32HandleMetaData(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_19win32HandleMetaData_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_22CUmemAllocationProp_st_allocFlags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_10allocFlags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_22CUmemAllocationProp_st_allocFlags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_10allocFlags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUmemAllocationProp_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_22CUmemAllocationProp_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_22CUmemAllocationProp_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_22CUmemAllocationProp_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUmemAllocationProp_st[] = {
  {(char *)"type", __pyx_getprop_4cuda_4cuda_22CUmemAllocationProp_st_type, __pyx_setprop_4cuda_4cuda_22CUmemAllocationProp_st_type, (char *)0, 0},
  {(char *)"requestedHandleTypes", __pyx_getprop_4cuda_4cuda_22CUmemAllocationProp_st_requestedHandleTypes, __pyx_setprop_4cuda_4cuda_22CUmemAllocationProp_st_requestedHandleTypes, (char *)0, 0},
  {(char *)"location", __pyx_getprop_4cuda_4cuda_22CUmemAllocationProp_st_location, __pyx_setprop_4cuda_4cuda_22CUmemAllocationProp_st_location, (char *)0, 0},
  {(char *)"win32HandleMetaData", __pyx_getprop_4cuda_4cuda_22CUmemAllocationProp_st_win32HandleMetaData, __pyx_setprop_4cuda_4cuda_22CUmemAllocationProp_st_win32HandleMetaData, (char *)0, 0},
  {(char *)"allocFlags", __pyx_getprop_4cuda_4cuda_22CUmemAllocationProp_st_allocFlags, __pyx_setprop_4cuda_4cuda_22CUmemAllocationProp_st_allocFlags, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemAllocationProp_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUmemAllocationProp_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmemAllocationProp_st(void_ptr _ptr=0)\n\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_struct21\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUmemAllocationProp_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUmemAllocationProp_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUmemAllocationProp_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUmemAllocationProp_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemAllocationProp_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemAllocationProp_st_spec = {
  "cuda.cuda.CUmemAllocationProp_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUmemAllocationProp_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemAllocationProp_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemAllocationProp_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemAllocationProp_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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_struct21\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUmemAllocationProp_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUmemAllocationProp_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUmemAllocationProp_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_22CUmemAllocationProp_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUmulticastObjectProp_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *)o);
  new((void*)&(p->_CUmulticastObjectProp_st__val)) struct CUmulticastObjectProp_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUmulticastObjectProp_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *p = (struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_24CUmulticastObjectProp_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUmulticastObjectProp_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_24CUmulticastObjectProp_st_numDevices(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_10numDevices_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_24CUmulticastObjectProp_st_numDevices(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_10numDevices_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_24CUmulticastObjectProp_st_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_4size_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_24CUmulticastObjectProp_st_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_4size_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_24CUmulticastObjectProp_st_handleTypes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_11handleTypes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_24CUmulticastObjectProp_st_handleTypes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_11handleTypes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_24CUmulticastObjectProp_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_24CUmulticastObjectProp_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUmulticastObjectProp_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUmulticastObjectProp_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUmulticastObjectProp_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUmulticastObjectProp_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUmulticastObjectProp_st[] = {
  {(char *)"numDevices", __pyx_getprop_4cuda_4cuda_24CUmulticastObjectProp_st_numDevices, __pyx_setprop_4cuda_4cuda_24CUmulticastObjectProp_st_numDevices, (char *)0, 0},
  {(char *)"size", __pyx_getprop_4cuda_4cuda_24CUmulticastObjectProp_st_size, __pyx_setprop_4cuda_4cuda_24CUmulticastObjectProp_st_size, (char *)0, 0},
  {(char *)"handleTypes", __pyx_getprop_4cuda_4cuda_24CUmulticastObjectProp_st_handleTypes, __pyx_setprop_4cuda_4cuda_24CUmulticastObjectProp_st_handleTypes, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_24CUmulticastObjectProp_st_flags, __pyx_setprop_4cuda_4cuda_24CUmulticastObjectProp_st_flags, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmulticastObjectProp_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUmulticastObjectProp_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmulticastObjectProp_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUmulticastObjectProp_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUmulticastObjectProp_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmulticastObjectProp_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmulticastObjectProp_st_spec = {
  "cuda.cuda.CUmulticastObjectProp_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUmulticastObjectProp_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmulticastObjectProp_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmulticastObjectProp_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmulticastObjectProp_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUmulticastObjectProp_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_24CUmulticastObjectProp_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemAccessDesc_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *)o);
  new((void*)&(p->_CUmemAccessDesc_st__val)) struct CUmemAccessDesc_st();
  p->_location = ((struct __pyx_obj_4cuda_4cuda_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUmemAccessDesc_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *p = (struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_18CUmemAccessDesc_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUmemAccessDesc_st__val);
  Py_CLEAR(p->_location);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUmemAccessDesc_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *p = (struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *)o;
  if (p->_location) {
    e = (*v)(((PyObject *)p->_location), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUmemAccessDesc_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *p = (struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st *)o;
  tmp = ((PyObject*)p->_location);
  p->_location = ((struct __pyx_obj_4cuda_4cuda_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_18CUmemAccessDesc_st_location(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_8location_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_18CUmemAccessDesc_st_location(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_8location_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_18CUmemAccessDesc_st_flags(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_5flags_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_18CUmemAccessDesc_st_flags(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_5flags_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUmemAccessDesc_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUmemAccessDesc_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUmemAccessDesc_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUmemAccessDesc_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUmemAccessDesc_st[] = {
  {(char *)"location", __pyx_getprop_4cuda_4cuda_18CUmemAccessDesc_st_location, __pyx_setprop_4cuda_4cuda_18CUmemAccessDesc_st_location, (char *)0, 0},
  {(char *)"flags", __pyx_getprop_4cuda_4cuda_18CUmemAccessDesc_st_flags, __pyx_setprop_4cuda_4cuda_18CUmemAccessDesc_st_flags, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemAccessDesc_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUmemAccessDesc_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmemAccessDesc_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUmemAccessDesc_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUmemAccessDesc_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUmemAccessDesc_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUmemAccessDesc_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemAccessDesc_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemAccessDesc_st_spec = {
  "cuda.cuda.CUmemAccessDesc_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUmemAccessDesc_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemAccessDesc_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemAccessDesc_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemAccessDesc_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUmemAccessDesc_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUmemAccessDesc_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUmemAccessDesc_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_18CUmemAccessDesc_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraphExecUpdateResultInfo_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *)o);
  new((void*)&(p->_CUgraphExecUpdateResultInfo_st__val)) struct CUgraphExecUpdateResultInfo_st();
  p->_errorNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)Py_None); Py_INCREF(Py_None);
  p->_errorFromNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUgraphExecUpdateResultInfo_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *p = (struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_30CUgraphExecUpdateResultInfo_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUgraphExecUpdateResultInfo_st__val);
  Py_CLEAR(p->_errorNode);
  Py_CLEAR(p->_errorFromNode);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUgraphExecUpdateResultInfo_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *p = (struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *)o;
  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_4cuda_CUgraphExecUpdateResultInfo_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *p = (struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st *)o;
  tmp = ((PyObject*)p->_errorNode);
  p->_errorNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_errorFromNode);
  p->_errorFromNode = ((struct __pyx_obj_4cuda_4cuda_CUgraphNode *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_result(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_6result_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_result(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_6result_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_errorNode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_9errorNode_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_errorNode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_9errorNode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_errorFromNode(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_13errorFromNode_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_errorFromNode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_13errorFromNode_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUgraphExecUpdateResultInfo_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUgraphExecUpdateResultInfo_st[] = {
  {(char *)"result", __pyx_getprop_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_result, __pyx_setprop_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_result, (char *)0, 0},
  {(char *)"errorNode", __pyx_getprop_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_errorNode, __pyx_setprop_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_errorNode, (char *)0, 0},
  {(char *)"errorFromNode", __pyx_getprop_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_errorFromNode, __pyx_setprop_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_errorFromNode, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUgraphExecUpdateResultInfo_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgraphExecUpdateResultInfo_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUgraphExecUpdateResultInfo_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUgraphExecUpdateResultInfo_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUgraphExecUpdateResultInfo_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUgraphExecUpdateResultInfo_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUgraphExecUpdateResultInfo_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_st_spec = {
  "cuda.cuda.CUgraphExecUpdateResultInfo_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUgraphExecUpdateResultInfo_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUgraphExecUpdateResultInfo_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUgraphExecUpdateResultInfo_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUgraphExecUpdateResultInfo_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUgraphExecUpdateResultInfo_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUgraphExecUpdateResultInfo_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_30CUgraphExecUpdateResultInfo_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemPoolProps_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)o);
  new((void*)&(p->_CUmemPoolProps_st__val)) struct CUmemPoolProps_st();
  p->_location = ((struct __pyx_obj_4cuda_4cuda_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUmemPoolProps_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *p = (struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_17CUmemPoolProps_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUmemPoolProps_st__val);
  Py_CLEAR(p->_location);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUmemPoolProps_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *p = (struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)o;
  if (p->_location) {
    e = (*v)(((PyObject *)p->_location), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUmemPoolProps_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *p = (struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st *)o;
  tmp = ((PyObject*)p->_location);
  p->_location = ((struct __pyx_obj_4cuda_4cuda_CUmemLocation *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUmemPoolProps_st_allocType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_9allocType_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUmemPoolProps_st_allocType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_9allocType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUmemPoolProps_st_handleTypes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_11handleTypes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUmemPoolProps_st_handleTypes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_11handleTypes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUmemPoolProps_st_location(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_8location_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUmemPoolProps_st_location(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_8location_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUmemPoolProps_st_win32SecurityAttributes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_23win32SecurityAttributes_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUmemPoolProps_st_win32SecurityAttributes(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_23win32SecurityAttributes_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUmemPoolProps_st_maxSize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_7maxSize_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUmemPoolProps_st_maxSize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_7maxSize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_17CUmemPoolProps_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_17CUmemPoolProps_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUmemPoolProps_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUmemPoolProps_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUmemPoolProps_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17CUmemPoolProps_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUmemPoolProps_st[] = {
  {(char *)"allocType", __pyx_getprop_4cuda_4cuda_17CUmemPoolProps_st_allocType, __pyx_setprop_4cuda_4cuda_17CUmemPoolProps_st_allocType, (char *)0, 0},
  {(char *)"handleTypes", __pyx_getprop_4cuda_4cuda_17CUmemPoolProps_st_handleTypes, __pyx_setprop_4cuda_4cuda_17CUmemPoolProps_st_handleTypes, (char *)0, 0},
  {(char *)"location", __pyx_getprop_4cuda_4cuda_17CUmemPoolProps_st_location, __pyx_setprop_4cuda_4cuda_17CUmemPoolProps_st_location, (char *)0, 0},
  {(char *)"win32SecurityAttributes", __pyx_getprop_4cuda_4cuda_17CUmemPoolProps_st_win32SecurityAttributes, __pyx_setprop_4cuda_4cuda_17CUmemPoolProps_st_win32SecurityAttributes, (char *)0, 0},
  {(char *)"maxSize", __pyx_getprop_4cuda_4cuda_17CUmemPoolProps_st_maxSize, __pyx_setprop_4cuda_4cuda_17CUmemPoolProps_st_maxSize, (char *)0, 0},
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_17CUmemPoolProps_st_reserved, __pyx_setprop_4cuda_4cuda_17CUmemPoolProps_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemPoolProps_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUmemPoolProps_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmemPoolProps_st(void_ptr _ptr=0)\n\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    reserved : bytes\n        reserved for future use, must be 0\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUmemPoolProps_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUmemPoolProps_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUmemPoolProps_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUmemPoolProps_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemPoolProps_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemPoolProps_st_spec = {
  "cuda.cuda.CUmemPoolProps_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUmemPoolProps_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemPoolProps_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemPoolProps_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemPoolProps_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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    reserved : bytes\n        reserved for future use, must be 0\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUmemPoolProps_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUmemPoolProps_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUmemPoolProps_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_17CUmemPoolProps_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemPoolPtrExportData_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *)o);
  new((void*)&(p->_CUmemPoolPtrExportData_st__val)) struct CUmemPoolPtrExportData_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUmemPoolPtrExportData_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *p = (struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_25CUmemPoolPtrExportData_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUmemPoolPtrExportData_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_25CUmemPoolPtrExportData_st_reserved(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_8reserved_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_25CUmemPoolPtrExportData_st_reserved(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_8reserved_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUmemPoolPtrExportData_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_25CUmemPoolPtrExportData_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_25CUmemPoolPtrExportData_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_25CUmemPoolPtrExportData_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUmemPoolPtrExportData_st[] = {
  {(char *)"reserved", __pyx_getprop_4cuda_4cuda_25CUmemPoolPtrExportData_st_reserved, __pyx_setprop_4cuda_4cuda_25CUmemPoolPtrExportData_st_reserved, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUmemPoolPtrExportData_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUmemPoolPtrExportData_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUmemPoolPtrExportData_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUmemPoolPtrExportData_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemPoolPtrExportData_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_st_spec = {
  "cuda.cuda.CUmemPoolPtrExportData_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemPoolPtrExportData_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemPoolPtrExportData_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUmemPoolPtrExportData_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_25CUmemPoolPtrExportData_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)o);
  new((void*)&(p->_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st__val)) struct CUDA_MEM_ALLOC_NODE_PARAMS_v1_st();
  p->_poolProps = ((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *)Py_None); Py_INCREF(Py_None);
  p->_dptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st__val);
  Py_CLEAR(p->_poolProps);
  Py_CLEAR(p->_dptr);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)o;
  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_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st *)o;
  tmp = ((PyObject*)p->_poolProps);
  p->_poolProps = ((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dptr);
  p->_dptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_poolProps(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9poolProps_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_poolProps(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_accessDescs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11accessDescs_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_accessDescs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_accessDescCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_15accessDescCount_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_accessDescCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_bytesize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_8bytesize_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_bytesize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_dptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_dptr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4dptr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st[] = {
  {(char *)"poolProps", __pyx_getprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_poolProps, __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_poolProps, (char *)0, 0},
  {(char *)"accessDescs", __pyx_getprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_accessDescs, __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_accessDescs, (char *)0, 0},
  {(char *)"accessDescCount", __pyx_getprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_accessDescCount, __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_accessDescCount, (char *)0, 0},
  {(char *)"bytesize", __pyx_getprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_bytesize, __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_bytesize, (char *)0, 0},
  {(char *)"dptr", __pyx_getprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_dptr, __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_dptr, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_spec = {
  "cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEM_ALLOC_NODE_PARAMS_v1_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)o);
  new((void*)&(p->_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st__val)) struct CUDA_MEM_ALLOC_NODE_PARAMS_v2_st();
  p->_poolProps = ((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *)Py_None); Py_INCREF(Py_None);
  p->_dptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st__val);
  Py_CLEAR(p->_poolProps);
  Py_CLEAR(p->_dptr);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)o;
  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_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st *)o;
  tmp = ((PyObject*)p->_poolProps);
  p->_poolProps = ((struct __pyx_obj_4cuda_4cuda_CUmemPoolProps *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_dptr);
  p->_dptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_poolProps(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9poolProps_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_poolProps(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_accessDescs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11accessDescs_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_accessDescs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_accessDescCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_15accessDescCount_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_accessDescCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_bytesize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_8bytesize_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_bytesize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_dptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_dptr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4dptr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st[] = {
  {(char *)"poolProps", __pyx_getprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_poolProps, __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_poolProps, (char *)0, 0},
  {(char *)"accessDescs", __pyx_getprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_accessDescs, __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_accessDescs, (char *)0, 0},
  {(char *)"accessDescCount", __pyx_getprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_accessDescCount, __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_accessDescCount, (char *)0, 0},
  {(char *)"bytesize", __pyx_getprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_bytesize, __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_bytesize, (char *)0, 0},
  {(char *)"dptr", __pyx_getprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_dptr, __pyx_setprop_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_dptr, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_spec = {
  "cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEM_ALLOC_NODE_PARAMS_v2_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *)o);
  new((void*)&(p->_CUDA_MEM_FREE_NODE_PARAMS_st__val)) struct CUDA_MEM_FREE_NODE_PARAMS_st();
  p->_dptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_MEM_FREE_NODE_PARAMS_st__val);
  Py_CLEAR(p->_dptr);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *)o;
  if (p->_dptr) {
    e = (*v)(((PyObject *)p->_dptr), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_dptr);
  p->_dptr = ((struct __pyx_obj_4cuda_4cuda_CUdeviceptr *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_dptr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_dptr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_4dptr_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st[] = {
  {(char *)"dptr", __pyx_getprop_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_dptr, __pyx_setprop_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_dptr, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st_spec = {
  "cuda.cuda.CUDA_MEM_FREE_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEM_FREE_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)o);
  new((void*)&(p->_CUDA_CHILD_GRAPH_NODE_PARAMS_st__val)) struct CUDA_CHILD_GRAPH_NODE_PARAMS_st();
  p->_graph = ((struct __pyx_obj_4cuda_4cuda_CUgraph *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_CHILD_GRAPH_NODE_PARAMS_st__val);
  Py_CLEAR(p->_graph);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)o;
  if (p->_graph) {
    e = (*v)(((PyObject *)p->_graph), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_graph);
  p->_graph = ((struct __pyx_obj_4cuda_4cuda_CUgraph *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_graph(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_graph(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_5graph_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st[] = {
  {(char *)"graph", __pyx_getprop_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_graph, __pyx_setprop_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_graph, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st_spec = {
  "cuda.cuda.CUDA_CHILD_GRAPH_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_CHILD_GRAPH_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *)o);
  new((void*)&(p->_CUDA_EVENT_RECORD_NODE_PARAMS_st__val)) struct CUDA_EVENT_RECORD_NODE_PARAMS_st();
  p->_event = ((struct __pyx_obj_4cuda_4cuda_CUevent *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_EVENT_RECORD_NODE_PARAMS_st__val);
  Py_CLEAR(p->_event);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *)o;
  if (p->_event) {
    e = (*v)(((PyObject *)p->_event), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_event);
  p->_event = ((struct __pyx_obj_4cuda_4cuda_CUevent *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_event(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_event(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_5event_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st[] = {
  {(char *)"event", __pyx_getprop_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_event, __pyx_setprop_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_event, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st_spec = {
  "cuda.cuda.CUDA_EVENT_RECORD_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EVENT_RECORD_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *)o);
  new((void*)&(p->_CUDA_EVENT_WAIT_NODE_PARAMS_st__val)) struct CUDA_EVENT_WAIT_NODE_PARAMS_st();
  p->_event = ((struct __pyx_obj_4cuda_4cuda_CUevent *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_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->_CUDA_EVENT_WAIT_NODE_PARAMS_st__val);
  Py_CLEAR(p->_event);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *)o;
  if (p->_event) {
    e = (*v)(((PyObject *)p->_event), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *p = (struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st *)o;
  tmp = ((PyObject*)p->_event);
  p->_event = ((struct __pyx_obj_4cuda_4cuda_CUevent *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_event(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_event(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_5event_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st[] = {
  {(char *)"event", __pyx_getprop_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_event, __pyx_setprop_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_event, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_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\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st_spec = {
  "cuda.cuda.CUDA_EVENT_WAIT_NODE_PARAMS_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EVENT_WAIT_NODE_PARAMS_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraphNodeParams_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)o);
  p->_kernel = ((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3 *)Py_None); Py_INCREF(Py_None);
  p->_memcpy = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  p->_memset = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  p->_host = ((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  p->_graph = ((struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  p->_eventWait = ((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  p->_eventRecord = ((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  p->_extSemSignal = ((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  p->_extSemWait = ((struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  p->_alloc = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  p->_free = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  p->_memOp = ((struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  p->_conditional = ((struct __pyx_obj_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUgraphNodeParams_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *p = (struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_kernel);
  Py_CLEAR(p->_memcpy);
  Py_CLEAR(p->_memset);
  Py_CLEAR(p->_host);
  Py_CLEAR(p->_graph);
  Py_CLEAR(p->_eventWait);
  Py_CLEAR(p->_eventRecord);
  Py_CLEAR(p->_extSemSignal);
  Py_CLEAR(p->_extSemWait);
  Py_CLEAR(p->_alloc);
  Py_CLEAR(p->_free);
  Py_CLEAR(p->_memOp);
  Py_CLEAR(p->_conditional);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUgraphNodeParams_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *p = (struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)o;
  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_4cuda_CUgraphNodeParams_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *p = (struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st *)o;
  tmp = ((PyObject*)p->_kernel);
  p->_kernel = ((struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_memcpy);
  p->_memcpy = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_memset);
  p->_memset = ((struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_host);
  p->_host = ((struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_graph);
  p->_graph = ((struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_eventWait);
  p->_eventWait = ((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_eventRecord);
  p->_eventRecord = ((struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_extSemSignal);
  p->_extSemSignal = ((struct __pyx_obj_4cuda_4cuda_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_4cuda_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_4cuda_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_4cuda_CUDA_MEM_FREE_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_memOp);
  p->_memOp = ((struct __pyx_obj_4cuda_4cuda_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_4cuda_CUDA_CONDITIONAL_NODE_PARAMS *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_reserved0(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9reserved0_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_reserved0(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9reserved0_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_reserved1(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9reserved1_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_reserved1(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9reserved1_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_kernel(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_6kernel_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_kernel(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_6kernel_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_memcpy(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_6memcpy_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_memcpy(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_6memcpy_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_memset(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_6memset_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_memset(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_6memset_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_host(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_4host_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_host(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_4host_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_graph(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_5graph_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_graph(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_5graph_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_eventWait(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9eventWait_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_eventWait(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9eventWait_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_eventRecord(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_11eventRecord_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_eventRecord(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_11eventRecord_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_extSemSignal(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_12extSemSignal_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_extSemSignal(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_12extSemSignal_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_extSemWait(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_10extSemWait_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_extSemWait(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_10extSemWait_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_alloc(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_5alloc_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_alloc(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_5alloc_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_free(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_4free_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_free(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_4free_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_memOp(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_5memOp_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_memOp(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_5memOp_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_conditional(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_11conditional_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_conditional(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_11conditional_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_reserved2(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9reserved2_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_reserved2(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9reserved2_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUgraphNodeParams_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUgraphNodeParams_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUgraphNodeParams_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_20CUgraphNodeParams_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUgraphNodeParams_st[] = {
  {(char *)"type", __pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_type, __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_type, (char *)0, 0},
  {(char *)"reserved0", __pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_reserved0, __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_reserved0, (char *)0, 0},
  {(char *)"reserved1", __pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_reserved1, __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_reserved1, (char *)0, 0},
  {(char *)"kernel", __pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_kernel, __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_kernel, (char *)0, 0},
  {(char *)"memcpy", __pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_memcpy, __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_memcpy, (char *)0, 0},
  {(char *)"memset", __pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_memset, __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_memset, (char *)0, 0},
  {(char *)"host", __pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_host, __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_host, (char *)0, 0},
  {(char *)"graph", __pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_graph, __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_graph, (char *)0, 0},
  {(char *)"eventWait", __pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_eventWait, __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_eventWait, (char *)0, 0},
  {(char *)"eventRecord", __pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_eventRecord, __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_eventRecord, (char *)0, 0},
  {(char *)"extSemSignal", __pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_extSemSignal, __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_extSemSignal, (char *)0, 0},
  {(char *)"extSemWait", __pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_extSemWait, __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_extSemWait, (char *)0, 0},
  {(char *)"alloc", __pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_alloc, __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_alloc, (char *)0, 0},
  {(char *)"free", __pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_free, __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_free, (char *)0, 0},
  {(char *)"memOp", __pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_memOp, __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_memOp, (char *)0, 0},
  {(char *)"conditional", __pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_conditional, __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_conditional, (char *)0, 0},
  {(char *)"reserved2", __pyx_getprop_4cuda_4cuda_20CUgraphNodeParams_st_reserved2, __pyx_setprop_4cuda_4cuda_20CUgraphNodeParams_st_reserved2, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUgraphNodeParams_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUgraphNodeParams_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUgraphNodeParams_st(void_ptr _ptr=0)\n\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUgraphNodeParams_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUgraphNodeParams_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUgraphNodeParams_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUgraphNodeParams_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUgraphNodeParams_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUgraphNodeParams_st_spec = {
  "cuda.cuda.CUgraphNodeParams_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUgraphNodeParams_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUgraphNodeParams_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUgraphNodeParams_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUgraphNodeParams_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUgraphNodeParams_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUgraphNodeParams_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUgraphNodeParams_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUdevSmResource_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *)o);
  new((void*)&(p->_CUdevSmResource_st__val)) struct CUdevSmResource_st();
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUdevSmResource_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *p = (struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_18CUdevSmResource_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  __Pyx_call_destructor(p->_CUdevSmResource_st__val);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_18CUdevSmResource_st_smCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_18CUdevSmResource_st_7smCount_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_18CUdevSmResource_st_smCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_18CUdevSmResource_st_7smCount_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_18CUdevSmResource_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_18CUdevSmResource_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUdevSmResource_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUdevSmResource_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUdevSmResource_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_18CUdevSmResource_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUdevSmResource_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUdevSmResource_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_18CUdevSmResource_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_18CUdevSmResource_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUdevSmResource_st[] = {
  {(char *)"smCount", __pyx_getprop_4cuda_4cuda_18CUdevSmResource_st_smCount, __pyx_setprop_4cuda_4cuda_18CUdevSmResource_st_smCount, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUdevSmResource_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUdevSmResource_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_18CUdevSmResource_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUdevSmResource_st(void_ptr _ptr=0)\n\n    Attributes\n    ----------\n    smCount : unsigned int\n        The amount of streaming multiprocessors available in this resource.\n        This is an output parameter only, do not write to this field.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUdevSmResource_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUdevSmResource_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_18CUdevSmResource_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUdevSmResource_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUdevSmResource_st_spec = {
  "cuda.cuda.CUdevSmResource_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUdevSmResource_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUdevSmResource_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUdevSmResource_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevSmResource_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUdevSmResource_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\n    Attributes\n    ----------\n    smCount : unsigned int\n        The amount of streaming multiprocessors available in this resource.\n        This is an output parameter only, do not write to this field.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUdevSmResource_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_18CUdevSmResource_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUdevResource_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUdevResource_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)o);
  p->_sm = ((struct __pyx_obj_4cuda_4cuda_CUdevSmResource *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUdevResource_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUdevResource_st *p = (struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_16CUdevResource_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_sm);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUdevResource_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUdevResource_st *p = (struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)o;
  if (p->_sm) {
    e = (*v)(((PyObject *)p->_sm), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUdevResource_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUdevResource_st *p = (struct __pyx_obj_4cuda_4cuda_CUdevResource_st *)o;
  tmp = ((PyObject*)p->_sm);
  p->_sm = ((struct __pyx_obj_4cuda_4cuda_CUdevSmResource *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUdevResource_st_type(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUdevResource_st_4type_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUdevResource_st_type(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUdevResource_st_4type_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUdevResource_st__internal_padding(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUdevResource_st_17_internal_padding_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUdevResource_st__internal_padding(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUdevResource_st_17_internal_padding_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUdevResource_st_sm(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUdevResource_st_2sm_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUdevResource_st_sm(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUdevResource_st_2sm_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_16CUdevResource_st__oversize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_16CUdevResource_st_9_oversize_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_16CUdevResource_st__oversize(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_16CUdevResource_st_9_oversize_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_16CUdevResource_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_16CUdevResource_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUdevResource_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUdevResource_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUdevResource_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_16CUdevResource_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUdevResource_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUdevResource_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16CUdevResource_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16CUdevResource_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUdevResource_st[] = {
  {(char *)"type", __pyx_getprop_4cuda_4cuda_16CUdevResource_st_type, __pyx_setprop_4cuda_4cuda_16CUdevResource_st_type, (char *)0, 0},
  {(char *)"_internal_padding", __pyx_getprop_4cuda_4cuda_16CUdevResource_st__internal_padding, __pyx_setprop_4cuda_4cuda_16CUdevResource_st__internal_padding, (char *)0, 0},
  {(char *)"sm", __pyx_getprop_4cuda_4cuda_16CUdevResource_st_sm, __pyx_setprop_4cuda_4cuda_16CUdevResource_st_sm, (char *)0, 0},
  {(char *)"_oversize", __pyx_getprop_4cuda_4cuda_16CUdevResource_st__oversize, __pyx_setprop_4cuda_4cuda_16CUdevResource_st__oversize, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUdevResource_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUdevResource_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_16CUdevResource_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUdevResource_st(void_ptr _ptr=0)\n\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 ``. type.\n    _oversize : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUdevResource_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUdevResource_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUdevResource_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUdevResource_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_16CUdevResource_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUdevResource_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUdevResource_st_spec = {
  "cuda.cuda.CUdevResource_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUdevResource_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUdevResource_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUdevResource_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevResource_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUdevResource_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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 ``. type.\n    _oversize : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUdevResource_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUdevResource_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUdevResource_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_16CUdevResource_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_anon_union14(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_12anon_union14_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4cuda_4cuda_anon_union14(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_anon_union14) {
      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_4cuda_12anon_union14_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_union14_pArray(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_union14_6pArray_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_union14_pArray(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_union14_6pArray_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_12anon_union14_pPitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_12anon_union14_6pPitch_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_12anon_union14_pPitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_12anon_union14_6pPitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_union14_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12anon_union14_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_anon_union14[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union14_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union14_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12anon_union14_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union14_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union14_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12anon_union14_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12anon_union14_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_anon_union14[] = {
  {(char *)"pArray", __pyx_getprop_4cuda_4cuda_12anon_union14_pArray, __pyx_setprop_4cuda_4cuda_12anon_union14_pArray, (char *)0, 0},
  {(char *)"pPitch", __pyx_getprop_4cuda_4cuda_12anon_union14_pPitch, __pyx_setprop_4cuda_4cuda_12anon_union14_pPitch, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_anon_union14_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_anon_union14},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12anon_union14_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("anon_union14(void_ptr _ptr)\n\n    Attributes\n    ----------\n    pArray : List[CUarray]\n\n    pPitch : List[Any]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_anon_union14},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_anon_union14},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_12anon_union14_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_anon_union14},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_anon_union14_spec = {
  "cuda.cuda.anon_union14",
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_union14),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_anon_union14_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_anon_union14 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""anon_union14", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_anon_union14), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_anon_union14, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_12anon_union14_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_union14(void_ptr _ptr)\n\n    Attributes\n    ----------\n    pArray : List[CUarray]\n\n    pPitch : List[Any]\n\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_4cuda_anon_union14, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_anon_union14, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_4cuda_4cuda_12anon_union14_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_anon_union14, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUeglFrame_st(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *p;
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  p = ((struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)o);
  p->_frame = ((struct __pyx_obj_4cuda_4cuda_anon_union14 *)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUeglFrame_st(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *p = (struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_13CUeglFrame_st_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_frame);
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static int __pyx_tp_traverse_4cuda_4cuda_CUeglFrame_st(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *p = (struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)o;
  if (p->_frame) {
    e = (*v)(((PyObject *)p->_frame), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_4cuda_4cuda_CUeglFrame_st(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *p = (struct __pyx_obj_4cuda_4cuda_CUeglFrame_st *)o;
  tmp = ((PyObject*)p->_frame);
  p->_frame = ((struct __pyx_obj_4cuda_4cuda_anon_union14 *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_4cuda_4cuda_13CUeglFrame_st_frame(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_5frame_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_frame(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_5frame_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13CUeglFrame_st_width(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_5width_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_width(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_5width_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13CUeglFrame_st_height(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_6height_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_height(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_6height_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13CUeglFrame_st_depth(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_5depth_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_depth(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_5depth_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13CUeglFrame_st_pitch(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_5pitch_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_pitch(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_5pitch_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13CUeglFrame_st_planeCount(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_10planeCount_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_planeCount(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_10planeCount_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13CUeglFrame_st_numChannels(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_11numChannels_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_numChannels(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_11numChannels_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13CUeglFrame_st_frameType(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_9frameType_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_frameType(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_9frameType_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13CUeglFrame_st_eglColorFormat(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_14eglColorFormat_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_eglColorFormat(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_14eglColorFormat_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_4cuda_4cuda_13CUeglFrame_st_cuFormat(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_8cuFormat_1__get__(o);
}

static int __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_cuFormat(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_8cuFormat_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_13CUeglFrame_st_9__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_13CUeglFrame_st_9__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUeglFrame_st[] = {
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13CUeglFrame_st_7getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13CUeglFrame_st_6getPtr},
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_13CUeglFrame_st_9__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13CUeglFrame_st_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13CUeglFrame_st_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_13CUeglFrame_st_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_13CUeglFrame_st_12__setstate_cython__},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_4cuda_4cuda_CUeglFrame_st[] = {
  {(char *)"frame", __pyx_getprop_4cuda_4cuda_13CUeglFrame_st_frame, __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_frame, (char *)0, 0},
  {(char *)"width", __pyx_getprop_4cuda_4cuda_13CUeglFrame_st_width, __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_width, (char *)0, 0},
  {(char *)"height", __pyx_getprop_4cuda_4cuda_13CUeglFrame_st_height, __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_height, (char *)0, 0},
  {(char *)"depth", __pyx_getprop_4cuda_4cuda_13CUeglFrame_st_depth, __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_depth, (char *)0, 0},
  {(char *)"pitch", __pyx_getprop_4cuda_4cuda_13CUeglFrame_st_pitch, __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_pitch, (char *)0, 0},
  {(char *)"planeCount", __pyx_getprop_4cuda_4cuda_13CUeglFrame_st_planeCount, __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_planeCount, (char *)0, 0},
  {(char *)"numChannels", __pyx_getprop_4cuda_4cuda_13CUeglFrame_st_numChannels, __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_numChannels, (char *)0, 0},
  {(char *)"frameType", __pyx_getprop_4cuda_4cuda_13CUeglFrame_st_frameType, __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_frameType, (char *)0, 0},
  {(char *)"eglColorFormat", __pyx_getprop_4cuda_4cuda_13CUeglFrame_st_eglColorFormat, __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_eglColorFormat, (char *)0, 0},
  {(char *)"cuFormat", __pyx_getprop_4cuda_4cuda_13CUeglFrame_st_cuFormat, __pyx_setprop_4cuda_4cuda_13CUeglFrame_st_cuFormat, (char *)0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUeglFrame_st_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUeglFrame_st},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_13CUeglFrame_st_9__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("CUeglFrame_st(void_ptr _ptr=0)\n\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_union14\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUeglFrame_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUeglFrame_st},
  {Py_tp_methods, (void *)__pyx_methods_4cuda_4cuda_CUeglFrame_st},
  {Py_tp_getset, (void *)__pyx_getsets_4cuda_4cuda_CUeglFrame_st},
  {Py_tp_init, (void *)__pyx_pw_4cuda_4cuda_13CUeglFrame_st_3__init__},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUeglFrame_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUeglFrame_st_spec = {
  "cuda.cuda.CUeglFrame_st",
  sizeof(struct __pyx_obj_4cuda_4cuda_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_4cuda_CUeglFrame_st_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUeglFrame_st = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUeglFrame_st", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUeglFrame_st), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUeglFrame_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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\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_union14\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUeglFrame_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_CUeglFrame_st, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4cuda_4cuda_CUeglFrame_st, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_4cuda_4cuda_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_4cuda_13CUeglFrame_st_3__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUdeviceptr(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUdeviceptr(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_11CUdeviceptr_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_11CUdeviceptr_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_11CUdeviceptr_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUdeviceptr[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_11CUdeviceptr_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUdeviceptr_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUdeviceptr_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUdeviceptr_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUdeviceptr_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUdeviceptr_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUdeviceptr_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUdeviceptr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUdeviceptr},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_11CUdeviceptr_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_11CUdeviceptr_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_11CUdeviceptr_7__int__},
  #endif
  {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_4cuda_CUdeviceptr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUdeviceptr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUdeviceptr_spec = {
  "cuda.cuda.CUdeviceptr",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdeviceptr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUdeviceptr_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUdeviceptr = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_11CUdeviceptr_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_11CUdeviceptr_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUdeviceptr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUdeviceptr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdeviceptr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUdeviceptr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUdevice(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUdevice(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_8CUdevice_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_8CUdevice_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_8CUdevice_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUdevice[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_8CUdevice_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUdevice_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUdevice_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUdevice_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUdevice_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_8CUdevice_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_8CUdevice_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUdevice_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUdevice},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_8CUdevice_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_8CUdevice_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_8CUdevice_7__int__},
  #endif
  {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_4cuda_CUdevice},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUdevice},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUdevice_spec = {
  "cuda.cuda.CUdevice",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevice),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUdevice_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUdevice = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_8CUdevice_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_8CUdevice_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUdevice = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUdevice", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevice), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUdevice, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUtexObject(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUtexObject(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_11CUtexObject_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_11CUtexObject_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_11CUtexObject_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUtexObject[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_11CUtexObject_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUtexObject_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUtexObject_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUtexObject_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUtexObject_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUtexObject_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUtexObject_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUtexObject_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUtexObject},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_11CUtexObject_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_11CUtexObject_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_11CUtexObject_7__int__},
  #endif
  {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_4cuda_CUtexObject},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUtexObject},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUtexObject_spec = {
  "cuda.cuda.CUtexObject",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUtexObject),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUtexObject_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUtexObject = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_11CUtexObject_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_11CUtexObject_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUtexObject = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUtexObject", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUtexObject), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUtexObject, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUsurfObject(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUsurfObject(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_12CUsurfObject_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_12CUsurfObject_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_12CUsurfObject_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUsurfObject[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_12CUsurfObject_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUsurfObject_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUsurfObject_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUsurfObject_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUsurfObject_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_12CUsurfObject_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_12CUsurfObject_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUsurfObject_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUsurfObject},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_12CUsurfObject_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_12CUsurfObject_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_12CUsurfObject_7__int__},
  #endif
  {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_4cuda_CUsurfObject},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUsurfObject},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUsurfObject_spec = {
  "cuda.cuda.CUsurfObject",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUsurfObject),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUsurfObject_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUsurfObject = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_12CUsurfObject_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_12CUsurfObject_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUsurfObject = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUsurfObject", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUsurfObject), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUsurfObject, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUgraphConditionalHandle(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUgraphConditionalHandle(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_24CUgraphConditionalHandle_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUgraphConditionalHandle[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUgraphConditionalHandle_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUgraphConditionalHandle_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_24CUgraphConditionalHandle_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUgraphConditionalHandle_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUgraphConditionalHandle},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_7__int__},
  #endif
  {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_4cuda_CUgraphConditionalHandle},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUgraphConditionalHandle},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUgraphConditionalHandle_spec = {
  "cuda.cuda.CUgraphConditionalHandle",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUgraphConditionalHandle_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUgraphConditionalHandle = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_24CUgraphConditionalHandle_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUgraphConditionalHandle = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUgraphConditionalHandle", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphConditionalHandle), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUgraphConditionalHandle, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUuuid_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUuuid_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUuuid_spec = {
  "cuda.cuda.CUuuid",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUuuid),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUuuid_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUuuid = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUuuid", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUuuid), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUuuid_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_9CUuuid_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    bytes : bytes\n        < CUDA definition of UUID\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_9CUuuid_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemFabricHandle_v1_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemFabricHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemFabricHandle_v1_spec = {
  "cuda.cuda.CUmemFabricHandle_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUmemFabricHandle_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemFabricHandle_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemFabricHandle_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemFabricHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Fabric handle - An opaque handle representing a memory allocation\n    that can be exported to processes in same or different nodes. For\n    IPC between processes on different nodes they must be connected via\n    the NVSwitch fabric.\n\n    Attributes\n    ----------\n    data : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_20CUmemFabricHandle_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemFabricHandle_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemFabricHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemFabricHandle_spec = {
  "cuda.cuda.CUmemFabricHandle",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUmemFabricHandle_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemFabricHandle = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemFabricHandle", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemFabricHandle), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemFabricHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_20CUmemFabricHandle_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Fabric handle - An opaque handle representing a memory allocation\n    that can be exported to processes in same or different nodes. For\n    IPC between processes on different nodes they must be connected via\n    the NVSwitch fabric.\n\n    Attributes\n    ----------\n    data : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_20CUmemFabricHandle_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUipcEventHandle_v1_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUipcEventHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUipcEventHandle_v1_spec = {
  "cuda.cuda.CUipcEventHandle_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUipcEventHandle_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUipcEventHandle_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUipcEventHandle_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUipcEventHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA IPC event handle\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_19CUipcEventHandle_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUipcEventHandle_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUipcEventHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUipcEventHandle_spec = {
  "cuda.cuda.CUipcEventHandle",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUipcEventHandle_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUipcEventHandle = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUipcEventHandle", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUipcEventHandle), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUipcEventHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_19CUipcEventHandle_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA IPC event handle\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_19CUipcEventHandle_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUipcMemHandle_v1_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUipcMemHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUipcMemHandle_v1_spec = {
  "cuda.cuda.CUipcMemHandle_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUipcMemHandle_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUipcMemHandle_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUipcMemHandle_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUipcMemHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA IPC mem handle\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_17CUipcMemHandle_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUipcMemHandle_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUipcMemHandle_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUipcMemHandle_spec = {
  "cuda.cuda.CUipcMemHandle",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUipcMemHandle_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUipcMemHandle = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUipcMemHandle", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUipcMemHandle), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUipcMemHandle_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_17CUipcMemHandle_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA IPC mem handle\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_17CUipcMemHandle_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_v1_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    Per-operation parameters for cuStreamBatchMemOp\n\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n\n    waitValue : CUstreamMemOpWaitValueParams_st\n\n    writeValue : CUstreamMemOpWriteValueParams_st\n\n    flushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n\n    memoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n\n    pad : List[cuuint64_t]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUstreamBatchMemOpParams_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUstreamBatchMemOpParams_union},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUstreamBatchMemOpParams_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_v1_spec = {
  "cuda.cuda.CUstreamBatchMemOpParams_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUstreamBatchMemOpParams_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUstreamBatchMemOpParams_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Per-operation parameters for cuStreamBatchMemOp\n\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n\n    waitValue : CUstreamMemOpWaitValueParams_st\n\n    writeValue : CUstreamMemOpWriteValueParams_st\n\n    flushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n\n    memoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n\n    pad : List[cuuint64_t]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUstreamBatchMemOpParams_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_30CUstreamBatchMemOpParams_union_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    Per-operation parameters for cuStreamBatchMemOp\n\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n\n    waitValue : CUstreamMemOpWaitValueParams_st\n\n    writeValue : CUstreamMemOpWriteValueParams_st\n\n    flushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n\n    memoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n\n    pad : List[cuuint64_t]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUstreamBatchMemOpParams_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUstreamBatchMemOpParams_union},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUstreamBatchMemOpParams_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_spec = {
  "cuda.cuda.CUstreamBatchMemOpParams",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUstreamBatchMemOpParams", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamBatchMemOpParams), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUstreamBatchMemOpParams_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_30CUstreamBatchMemOpParams_union_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Per-operation parameters for cuStreamBatchMemOp\n\n    Attributes\n    ----------\n    operation : CUstreamBatchMemOpType\n\n    waitValue : CUstreamMemOpWaitValueParams_st\n\n    writeValue : CUstreamMemOpWriteValueParams_st\n\n    flushRemoteWrites : CUstreamMemOpFlushRemoteWritesParams_st\n\n    memoryBarrier : CUstreamMemOpMemoryBarrierParams_st\n\n    pad : List[cuuint64_t]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUstreamBatchMemOpParams_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_30CUstreamBatchMemOpParams_union_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    Attributes\n    ----------\n    ctx : CUcontext\n\n    count : unsigned int\n\n    paramArray : CUstreamBatchMemOpParams\n\n    flags : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_spec = {
  "cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_BATCH_MEM_OP_NODE_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    ctx : CUcontext\n\n    count : unsigned int\n\n    paramArray : CUstreamBatchMemOpParams\n\n    flags : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    Attributes\n    ----------\n    ctx : CUcontext\n\n    count : unsigned int\n\n    paramArray : CUstreamBatchMemOpParams\n\n    flags : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_spec = {
  "cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_BATCH_MEM_OP_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    ctx : CUcontext\n\n    count : unsigned int\n\n    paramArray : CUstreamBatchMemOpParams\n\n    flags : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_spec = {
  "cuda.cuda.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_BATCH_MEM_OP_NODE_PARAMS_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Batch memory operation node parameters\n\n    Attributes\n    ----------\n    ctx : CUcontext\n        Context to use for the operations.\n    count : unsigned int\n        Number of operations in paramArray.\n    paramArray : CUstreamBatchMemOpParams\n        Array of batch memory operations.\n    flags : unsigned int\n        Flags to control the node.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUasyncNotificationInfo_slots[] = {
  {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\n    info : anon_union2\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUasyncNotificationInfo_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUasyncNotificationInfo_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUasyncNotificationInfo_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUasyncNotificationInfo_spec = {
  "cuda.cuda.CUasyncNotificationInfo",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUasyncNotificationInfo_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUasyncNotificationInfo = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUasyncNotificationInfo", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUasyncNotificationInfo), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUasyncNotificationInfo_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_26CUasyncNotificationInfo_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Information passed to the user via the async notification callback\n\n    Attributes\n    ----------\n    type : CUasyncNotificationType\n\n    info : anon_union2\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUasyncNotificationInfo_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_26CUasyncNotificationInfo_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUdevprop_v1_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUdevprop_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUdevprop_v1_spec = {
  "cuda.cuda.CUdevprop_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevprop_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUdevprop_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUdevprop_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUdevprop_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevprop_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUdevprop_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_12CUdevprop_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Legacy device properties\n\n    Attributes\n    ----------\n    maxThreadsPerBlock : int\n        Maximum number of threads per block\n    maxThreadsDim : List[int]\n        Maximum size of each dimension of a block\n    maxGridSize : List[int]\n        Maximum size of each dimension of a grid\n    sharedMemPerBlock : int\n        Shared memory available per block in bytes\n    totalConstantMemory : int\n        Constant memory available on device in bytes\n    SIMDWidth : int\n        Warp size in threads\n    memPitch : int\n        Maximum pitch in bytes allowed by memory copies\n    regsPerBlock : int\n        32-bit registers available per block\n    clockRate : int\n        Clock frequency in kilohertz\n    textureAlign : int\n        Alignment requirement for textures\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_12CUdevprop_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUdevprop_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUdevprop_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUdevprop_spec = {
  "cuda.cuda.CUdevprop",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevprop),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUdevprop_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUdevprop = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUdevprop", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevprop), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUdevprop_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_12CUdevprop_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Legacy device properties\n\n    Attributes\n    ----------\n    maxThreadsPerBlock : int\n        Maximum number of threads per block\n    maxThreadsDim : List[int]\n        Maximum size of each dimension of a block\n    maxGridSize : List[int]\n        Maximum size of each dimension of a grid\n    sharedMemPerBlock : int\n        Shared memory available per block in bytes\n    totalConstantMemory : int\n        Constant memory available on device in bytes\n    SIMDWidth : int\n        Warp size in threads\n    memPitch : int\n        Maximum pitch in bytes allowed by memory copies\n    regsPerBlock : int\n        32-bit registers available per block\n    clockRate : int\n        Clock frequency in kilohertz\n    textureAlign : int\n        Alignment requirement for textures\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_12CUdevprop_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUaccessPolicyWindow_v1_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUaccessPolicyWindow_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUaccessPolicyWindow_v1_spec = {
  "cuda.cuda.CUaccessPolicyWindow_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUaccessPolicyWindow_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUaccessPolicyWindow_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUaccessPolicyWindow_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUaccessPolicyWindow_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies an access policy for a window, a contiguous extent of\n    memory beginning at base_ptr and ending at base_ptr + num_bytes.\n    num_bytes is limited by\n    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE. Partition into\n    many segments and assign segments such that: sum of \"hit segments\"\n    / window == approx. ratio. sum of \"miss segments\" / window ==\n    approx 1-ratio. Segments and ratio specifications are fitted to the\n    capabilities of the architecture. Accesses in a hit segment apply\n    the hitProp access policy. Accesses in a miss segment apply the\n    missProp access policy.\n\n    Attributes\n    ----------\n    base_ptr : Any\n        Starting address of the access policy window. CUDA driver may align\n        it.\n    num_bytes : size_t\n        Size in bytes of the window policy. CUDA driver may restrict the\n        maximum size and alignment.\n    hitRatio : float\n        hitRatio specifies percentage of lines assigned hitProp, rest are\n        assigned missProp.\n    hitProp : CUaccessProperty\n        CUaccessProperty set for hit.\n    missProp : CUaccessProperty\n        CUaccessProperty set for miss. Must be either NORMAL or STREAMING\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_23CUaccessPolicyWindow_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUaccessPolicyWindow_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUaccessPolicyWindow_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUaccessPolicyWindow_spec = {
  "cuda.cuda.CUaccessPolicyWindow",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUaccessPolicyWindow_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUaccessPolicyWindow = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUaccessPolicyWindow", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUaccessPolicyWindow), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUaccessPolicyWindow_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_23CUaccessPolicyWindow_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies an access policy for a window, a contiguous extent of\n    memory beginning at base_ptr and ending at base_ptr + num_bytes.\n    num_bytes is limited by\n    CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE. Partition into\n    many segments and assign segments such that: sum of \"hit segments\"\n    / window == approx. ratio. sum of \"miss segments\" / window ==\n    approx 1-ratio. Segments and ratio specifications are fitted to the\n    capabilities of the architecture. Accesses in a hit segment apply\n    the hitProp access policy. Accesses in a miss segment apply the\n    missProp access policy.\n\n    Attributes\n    ----------\n    base_ptr : Any\n        Starting address of the access policy window. CUDA driver may align\n        it.\n    num_bytes : size_t\n        Size in bytes of the window policy. CUDA driver may restrict the\n        maximum size and alignment.\n    hitRatio : float\n        hitRatio specifies percentage of lines assigned hitProp, rest are\n        assigned missProp.\n    hitProp : CUaccessProperty\n        CUaccessProperty set for hit.\n    missProp : CUaccessProperty\n        CUaccessProperty set for miss. Must be either NORMAL or STREAMING\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_23CUaccessPolicyWindow_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1_spec = {
  "cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_KERNEL_NODE_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    GPU kernel node parameters\n\n    Attributes\n    ----------\n    func : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    kernelParams : Any\n        Array of pointers to kernel parameters\n    extra : Any\n        Extra options\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_spec = {
  "cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v2",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_KERNEL_NODE_PARAMS_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    GPU kernel node parameters\n\n    Attributes\n    ----------\n    func : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    kernelParams : Any\n        Array of pointers to kernel parameters\n    extra : Any\n        Extra options\n    kern : CUkernel\n        Kernel to launch, will only be referenced if func is NULL\n    ctx : CUcontext\n        Context for the kernel task to run in. The value NULL will indicate\n        the current context should be used by the api. This field is\n        ignored if func is set.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_spec = {
  "cuda.cuda.CUDA_KERNEL_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_KERNEL_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    GPU kernel node parameters\n\n    Attributes\n    ----------\n    func : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    kernelParams : Any\n        Array of pointers to kernel parameters\n    extra : Any\n        Extra options\n    kern : CUkernel\n        Kernel to launch, will only be referenced if func is NULL\n    ctx : CUcontext\n        Context for the kernel task to run in. The value NULL will indicate\n        the current context should be used by the api. This field is\n        ignored if func is set.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_spec = {
  "cuda.cuda.CUDA_KERNEL_NODE_PARAMS_v3",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_KERNEL_NODE_PARAMS_v3", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    GPU kernel node parameters\n\n    Attributes\n    ----------\n    func : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    kernelParams : Any\n        Array of pointers to kernel parameters\n    extra : Any\n        Extra options\n    kern : CUkernel\n        Kernel to launch, will only be referenced if func is NULL\n    ctx : CUcontext\n        Context for the kernel task to run in. The value NULL will indicate\n        the current context should be used by the api. This field is\n        ignored if func is set.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1_spec = {
  "cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEMSET_NODE_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memset node parameters\n\n    Attributes\n    ----------\n    dst : CUdeviceptr\n        Destination device pointer\n    pitch : size_t\n        Pitch of destination device pointer. Unused if height is 1\n    value : unsigned int\n        Value to be set\n    elementSize : unsigned int\n        Size of each element in bytes. Must be 1, 2, or 4.\n    width : size_t\n        Width of the row in elements\n    height : size_t\n        Number of rows\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_spec = {
  "cuda.cuda.CUDA_MEMSET_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEMSET_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memset node parameters\n\n    Attributes\n    ----------\n    dst : CUdeviceptr\n        Destination device pointer\n    pitch : size_t\n        Pitch of destination device pointer. Unused if height is 1\n    value : unsigned int\n        Value to be set\n    elementSize : unsigned int\n        Size of each element in bytes. Must be 1, 2, or 4.\n    width : size_t\n        Width of the row in elements\n    height : size_t\n        Number of rows\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_spec = {
  "cuda.cuda.CUDA_MEMSET_NODE_PARAMS_v2",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEMSET_NODE_PARAMS_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memset node parameters\n\n    Attributes\n    ----------\n    dst : CUdeviceptr\n        Destination device pointer\n    pitch : size_t\n        Pitch of destination device pointer. Unused if height is 1\n    value : unsigned int\n        Value to be set\n    elementSize : unsigned int\n        Size of each element in bytes. Must be 1, 2, or 4.\n    width : size_t\n        Width of the row in elements\n    height : size_t\n        Number of rows\n    ctx : CUcontext\n        Context on which to run the node\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1_spec = {
  "cuda.cuda.CUDA_HOST_NODE_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_HOST_NODE_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Host node parameters\n\n    Attributes\n    ----------\n    fn : CUhostFn\n        The function to call when the node executes\n    userData : Any\n        Argument to pass to the function\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_24CUDA_HOST_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_spec = {
  "cuda.cuda.CUDA_HOST_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_HOST_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Host node parameters\n\n    Attributes\n    ----------\n    fn : CUhostFn\n        The function to call when the node executes\n    userData : Any\n        Argument to pass to the function\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_24CUDA_HOST_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_spec = {
  "cuda.cuda.CUDA_HOST_NODE_PARAMS_v2",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_HOST_NODE_PARAMS_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Host node parameters\n\n    Attributes\n    ----------\n    fn : CUhostFn\n        The function to call when the node executes\n    userData : Any\n        Argument to pass to the function\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUgraphEdgeData_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUgraphEdgeData_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUgraphEdgeData_spec = {
  "cuda.cuda.CUgraphEdgeData",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUgraphEdgeData_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUgraphEdgeData = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUgraphEdgeData", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphEdgeData), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUgraphEdgeData_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_18CUgraphEdgeData_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Optional annotation for edges in a CUDA graph. Note, all edges\n    implicitly have annotations and default to a zero-initialized value\n    if not specified. A zero-initialized struct indicates a standard\n    full serialization of two nodes with memory visibility.\n\n    Attributes\n    ----------\n    from_port : bytes\n        This indicates when the dependency is triggered from the upstream\n        node on the edge. The meaning is specfic to the node type. A value\n        of 0 in all cases means full completion of the upstream node, with\n        memory visibility to the downstream node or portion thereof\n        (indicated by `to_port`).   Only kernel nodes define non-zero\n        ports. A kernel node can use the following output port types:\n        CU_GRAPH_KERNEL_NODE_PORT_DEFAULT,\n        CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC, or\n        CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER.\n    to_port : bytes\n        This indicates what portion of the downstream node is dependent on\n        the upstream node or portion thereof (indicated by `from_port`).\n        The meaning is specific to the node type. A value of 0 in all cases\n        means the entirety of the downstream node is dependent on the\n        upstream work.   Currently no node types define non-zero ports.\n        Accordingly, this field must be set to zero.\n    type : bytes\n        This should be populated with a value from CUgraphDependencyType.\n        (It is typed as char due to compiler-specific layout of bitfields.)\n        See CUgraphDependencyType.\n    reserved : bytes\n        These bytes are unused and must be zeroed. This ensures\n        compatibility if additional fields are added in the future.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_18CUgraphEdgeData_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_spec = {
  "cuda.cuda.CUDA_GRAPH_INSTANTIATE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_GRAPH_INSTANTIATE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Graph instantiation parameters\n\n    Attributes\n    ----------\n    flags : cuuint64_t\n        Instantiation flags\n    hUploadStream : CUstream\n        Upload stream\n    hErrNode_out : CUgraphNode\n        The node which caused instantiation to fail, if any\n    result_out : CUgraphInstantiateResult\n        Whether instantiation was successful. If it failed, the reason why\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUlaunchMemSyncDomainMap_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap_spec = {
  "cuda.cuda.CUlaunchMemSyncDomainMap",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUlaunchMemSyncDomainMap", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchMemSyncDomainMap), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUlaunchMemSyncDomainMap_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memory Synchronization Domain map  See ::cudaLaunchMemSyncDomain.\n    By default, kernels are launched in domain 0. Kernel launched with\n    CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE will have a different domain ID.\n    User may also alter the domain ID with CUlaunchMemSyncDomainMap for\n    a specific stream / graph node / kernel launch. See\n    CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP.  Domain ID range is\n    available through CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT.\n\n    Attributes\n    ----------\n    default_ : bytes\n        The default domain ID to use for designated kernels\n    remote : bytes\n        The remote domain ID to use for designated kernels\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_27CUlaunchMemSyncDomainMap_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUlaunchAttributeValue_slots[] = {
  {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    launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT.\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    deviceUpdatableKernelNode : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUlaunchAttributeValue_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUlaunchAttributeValue_union},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUlaunchAttributeValue_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUlaunchAttributeValue_spec = {
  "cuda.cuda.CUlaunchAttributeValue",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUlaunchAttributeValue_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUlaunchAttributeValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUlaunchAttributeValue", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchAttributeValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUlaunchAttributeValue_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Launch attributes union; used as value field of CUlaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : CUaccessPolicyWindow\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.\n    cooperative : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero\n        indicates a cooperative kernel (see cuLaunchCooperativeKernel).\n    syncPolicy : CUsynchronizationPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.\n        ::CUsynchronizationPolicy for work queued up in this stream\n    clusterDim : anon_struct1\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION\n        that represents the desired cluster dimensions for the kernel.\n        Opaque type with the following fields: - `x` - The X dimension of\n        the cluster, in blocks. Must be a divisor of the grid X dimension.\n        - `y` - The Y dimension of the cluster, in blocks. Must be a\n        divisor of the grid Y dimension.    - `z` - The Z dimension of the\n        cluster, in blocks. Must be a divisor of the grid Z dimension.\n    clusterSchedulingPolicyPreference : CUclusterSchedulingPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster\n        scheduling policy preference for the kernel.\n    programmaticStreamSerializationAllowed : int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.\n    programmaticEvent : anon_struct2\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT.\n    launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT.\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    deviceUpdatableKernelNode : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUlaunchAttributeValue_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUlaunchAttribute_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUlaunchAttribute_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUlaunchAttribute_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUlaunchAttribute_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUlaunchAttribute_spec = {
  "cuda.cuda.CUlaunchAttribute",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUlaunchAttribute_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUlaunchAttribute = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUlaunchAttribute", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchAttribute), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUlaunchAttribute_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_20CUlaunchAttribute_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Launch attribute\n\n    Attributes\n    ----------\n    id : CUlaunchAttributeID\n        Attribute to set\n    value : CUlaunchAttributeValue\n        Value of the attribute\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUlaunchAttribute_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_20CUlaunchAttribute_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUlaunchConfig_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUlaunchConfig_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUlaunchConfig_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUlaunchConfig_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUlaunchConfig_spec = {
  "cuda.cuda.CUlaunchConfig",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUlaunchConfig_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUlaunchConfig = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUlaunchConfig", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlaunchConfig), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUlaunchConfig_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_17CUlaunchConfig_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA extensible launch configuration\n\n    Attributes\n    ----------\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    hStream : CUstream\n        Stream identifier\n    attrs : CUlaunchAttribute\n        List of attributes; nullable if CUlaunchConfig::numAttrs == 0\n    numAttrs : unsigned int\n        Number of attributes populated in CUlaunchConfig::attrs\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUlaunchConfig_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_17CUlaunchConfig_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUkernelNodeAttrValue_v1_slots[] = {
  {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    launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT.\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    deviceUpdatableKernelNode : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUlaunchAttributeValue_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUlaunchAttributeValue_union},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUlaunchAttributeValue_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUkernelNodeAttrValue_v1_spec = {
  "cuda.cuda.CUkernelNodeAttrValue_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUkernelNodeAttrValue_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUkernelNodeAttrValue_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUkernelNodeAttrValue_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUlaunchAttributeValue_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Launch attributes union; used as value field of CUlaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : CUaccessPolicyWindow\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.\n    cooperative : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero\n        indicates a cooperative kernel (see cuLaunchCooperativeKernel).\n    syncPolicy : CUsynchronizationPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.\n        ::CUsynchronizationPolicy for work queued up in this stream\n    clusterDim : anon_struct1\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION\n        that represents the desired cluster dimensions for the kernel.\n        Opaque type with the following fields: - `x` - The X dimension of\n        the cluster, in blocks. Must be a divisor of the grid X dimension.\n        - `y` - The Y dimension of the cluster, in blocks. Must be a\n        divisor of the grid Y dimension.    - `z` - The Z dimension of the\n        cluster, in blocks. Must be a divisor of the grid Z dimension.\n    clusterSchedulingPolicyPreference : CUclusterSchedulingPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster\n        scheduling policy preference for the kernel.\n    programmaticStreamSerializationAllowed : int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.\n    programmaticEvent : anon_struct2\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT.\n    launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT.\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    deviceUpdatableKernelNode : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUlaunchAttributeValue_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUkernelNodeAttrValue_slots[] = {
  {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    launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT.\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    deviceUpdatableKernelNode : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUlaunchAttributeValue_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUlaunchAttributeValue_union},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUlaunchAttributeValue_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUkernelNodeAttrValue_spec = {
  "cuda.cuda.CUkernelNodeAttrValue",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUkernelNodeAttrValue_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUkernelNodeAttrValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUkernelNodeAttrValue", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUkernelNodeAttrValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUlaunchAttributeValue_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Launch attributes union; used as value field of CUlaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : CUaccessPolicyWindow\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.\n    cooperative : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero\n        indicates a cooperative kernel (see cuLaunchCooperativeKernel).\n    syncPolicy : CUsynchronizationPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.\n        ::CUsynchronizationPolicy for work queued up in this stream\n    clusterDim : anon_struct1\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION\n        that represents the desired cluster dimensions for the kernel.\n        Opaque type with the following fields: - `x` - The X dimension of\n        the cluster, in blocks. Must be a divisor of the grid X dimension.\n        - `y` - The Y dimension of the cluster, in blocks. Must be a\n        divisor of the grid Y dimension.    - `z` - The Z dimension of the\n        cluster, in blocks. Must be a divisor of the grid Z dimension.\n    clusterSchedulingPolicyPreference : CUclusterSchedulingPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster\n        scheduling policy preference for the kernel.\n    programmaticStreamSerializationAllowed : int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.\n    programmaticEvent : anon_struct2\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT.\n    launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT.\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    deviceUpdatableKernelNode : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUlaunchAttributeValue_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUstreamAttrValue_v1_slots[] = {
  {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    launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT.\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    deviceUpdatableKernelNode : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUlaunchAttributeValue_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUlaunchAttributeValue_union},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUlaunchAttributeValue_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUstreamAttrValue_v1_spec = {
  "cuda.cuda.CUstreamAttrValue_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUstreamAttrValue_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUstreamAttrValue_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUstreamAttrValue_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUlaunchAttributeValue_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Launch attributes union; used as value field of CUlaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : CUaccessPolicyWindow\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.\n    cooperative : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero\n        indicates a cooperative kernel (see cuLaunchCooperativeKernel).\n    syncPolicy : CUsynchronizationPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.\n        ::CUsynchronizationPolicy for work queued up in this stream\n    clusterDim : anon_struct1\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION\n        that represents the desired cluster dimensions for the kernel.\n        Opaque type with the following fields: - `x` - The X dimension of\n        the cluster, in blocks. Must be a divisor of the grid X dimension.\n        - `y` - The Y dimension of the cluster, in blocks. Must be a\n        divisor of the grid Y dimension.    - `z` - The Z dimension of the\n        cluster, in blocks. Must be a divisor of the grid Z dimension.\n    clusterSchedulingPolicyPreference : CUclusterSchedulingPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster\n        scheduling policy preference for the kernel.\n    programmaticStreamSerializationAllowed : int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.\n    programmaticEvent : anon_struct2\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT.\n    launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT.\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    deviceUpdatableKernelNode : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUlaunchAttributeValue_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUstreamAttrValue_slots[] = {
  {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    launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT.\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    deviceUpdatableKernelNode : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUlaunchAttributeValue_union},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUlaunchAttributeValue_union},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUlaunchAttributeValue_union},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUstreamAttrValue_spec = {
  "cuda.cuda.CUstreamAttrValue",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUstreamAttrValue_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUstreamAttrValue = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUstreamAttrValue", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUstreamAttrValue), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUlaunchAttributeValue_union, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_28CUlaunchAttributeValue_union_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Launch attributes union; used as value field of CUlaunchAttribute\n\n    Attributes\n    ----------\n    pad : bytes\n\n    accessPolicyWindow : CUaccessPolicyWindow\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW.\n    cooperative : int\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_COOPERATIVE. Nonzero\n        indicates a cooperative kernel (see cuLaunchCooperativeKernel).\n    syncPolicy : CUsynchronizationPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY.\n        ::CUsynchronizationPolicy for work queued up in this stream\n    clusterDim : anon_struct1\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION\n        that represents the desired cluster dimensions for the kernel.\n        Opaque type with the following fields: - `x` - The X dimension of\n        the cluster, in blocks. Must be a divisor of the grid X dimension.\n        - `y` - The Y dimension of the cluster, in blocks. Must be a\n        divisor of the grid Y dimension.    - `z` - The Z dimension of the\n        cluster, in blocks. Must be a divisor of the grid Z dimension.\n    clusterSchedulingPolicyPreference : CUclusterSchedulingPolicy\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE. Cluster\n        scheduling policy preference for the kernel.\n    programmaticStreamSerializationAllowed : int\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION.\n    programmaticEvent : anon_struct2\n        Value of launch attribute CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT.\n    launchCompletionEvent : anon_struct3\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT.\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    deviceUpdatableKernelNode : anon_struct4\n        Value of launch attribute\n        CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUlaunchAttributeValue_union, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_28CUlaunchAttributeValue_union_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUexecAffinitySmCount_v1_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUexecAffinitySmCount_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUexecAffinitySmCount_v1_spec = {
  "cuda.cuda.CUexecAffinitySmCount_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUexecAffinitySmCount_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUexecAffinitySmCount_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUexecAffinitySmCount_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUexecAffinitySmCount_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Value for CU_EXEC_AFFINITY_TYPE_SM_COUNT\n\n    Attributes\n    ----------\n    val : unsigned int\n        The number of SMs the context is limited to use.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_24CUexecAffinitySmCount_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUexecAffinitySmCount_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUexecAffinitySmCount_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUexecAffinitySmCount_spec = {
  "cuda.cuda.CUexecAffinitySmCount",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUexecAffinitySmCount_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUexecAffinitySmCount = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUexecAffinitySmCount", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUexecAffinitySmCount), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUexecAffinitySmCount_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_24CUexecAffinitySmCount_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Value for CU_EXEC_AFFINITY_TYPE_SM_COUNT\n\n    Attributes\n    ----------\n    val : unsigned int\n        The number of SMs the context is limited to use.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_24CUexecAffinitySmCount_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUexecAffinityParam_v1_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUexecAffinityParam_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUexecAffinityParam_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUexecAffinityParam_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUexecAffinityParam_v1_spec = {
  "cuda.cuda.CUexecAffinityParam_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUexecAffinityParam_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUexecAffinityParam_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUexecAffinityParam_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUexecAffinityParam_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Execution Affinity Parameters\n\n    Attributes\n    ----------\n    type : CUexecAffinityType\n\n    param : anon_union3\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUexecAffinityParam_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_22CUexecAffinityParam_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUexecAffinityParam_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUexecAffinityParam_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUexecAffinityParam_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUexecAffinityParam_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUexecAffinityParam_spec = {
  "cuda.cuda.CUexecAffinityParam",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUexecAffinityParam_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUexecAffinityParam = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUexecAffinityParam", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUexecAffinityParam), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUexecAffinityParam_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_22CUexecAffinityParam_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Execution Affinity Parameters\n\n    Attributes\n    ----------\n    type : CUexecAffinityType\n\n    param : anon_union3\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUexecAffinityParam_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_22CUexecAffinityParam_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_spec = {
  "cuda.cuda.CUlibraryHostUniversalFunctionAndDataTable",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUlibraryHostUniversalFunctionAndDataTable", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    functionTable : Any\n\n    functionWindowSize : size_t\n\n    dataTable : Any\n\n    dataWindowSize : size_t\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_v2_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY2D_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEMCPY2D_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY2D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_v2_spec = {
  "cuda.cuda.CUDA_MEMCPY2D_v2",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEMCPY2D_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMCPY2D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    2D memory copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    WidthInBytes : size_t\n        Width of 2D memory copy in bytes\n    Height : size_t\n        Height of 2D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY2D_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY2D_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEMCPY2D_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY2D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_spec = {
  "cuda.cuda.CUDA_MEMCPY2D",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEMCPY2D = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEMCPY2D", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY2D), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMCPY2D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY2D_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    2D memory copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    WidthInBytes : size_t\n        Width of 2D memory copy in bytes\n    Height : size_t\n        Height of 2D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY2D_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY2D_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_v2_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY3D_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEMCPY3D_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY3D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_v2_spec = {
  "cuda.cuda.CUDA_MEMCPY3D_v2",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEMCPY3D_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMCPY3D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    3D memory copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcZ : size_t\n        Source Z\n    srcLOD : size_t\n        Source LOD\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    reserved0 : Any\n        Must be NULL\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    srcHeight : size_t\n        Source height (ignored when src is array; may be 0 if Depth==1)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstZ : size_t\n        Destination Z\n    dstLOD : size_t\n        Destination LOD\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    reserved1 : Any\n        Must be NULL\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    dstHeight : size_t\n        Destination height (ignored when dst is array; may be 0 if\n        Depth==1)\n    WidthInBytes : size_t\n        Width of 3D memory copy in bytes\n    Height : size_t\n        Height of 3D memory copy\n    Depth : size_t\n        Depth of 3D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY3D_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY3D_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEMCPY3D_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY3D_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_spec = {
  "cuda.cuda.CUDA_MEMCPY3D",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEMCPY3D", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMCPY3D_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_16CUDA_MEMCPY3D_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    3D memory copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcZ : size_t\n        Source Z\n    srcLOD : size_t\n        Source LOD\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    reserved0 : Any\n        Must be NULL\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    srcHeight : size_t\n        Source height (ignored when src is array; may be 0 if Depth==1)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstZ : size_t\n        Destination Z\n    dstLOD : size_t\n        Destination LOD\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    reserved1 : Any\n        Must be NULL\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    dstHeight : size_t\n        Destination height (ignored when dst is array; may be 0 if\n        Depth==1)\n    WidthInBytes : size_t\n        Width of 3D memory copy in bytes\n    Height : size_t\n        Height of 3D memory copy\n    Depth : size_t\n        Depth of 3D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY3D_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_16CUDA_MEMCPY3D_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1_spec = {
  "cuda.cuda.CUDA_MEMCPY3D_PEER_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEMCPY3D_PEER_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    3D memory cross-context copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcZ : size_t\n        Source Z\n    srcLOD : size_t\n        Source LOD\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    srcContext : CUcontext\n        Source context (ignored with srcMemoryType is CU_MEMORYTYPE_ARRAY)\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    srcHeight : size_t\n        Source height (ignored when src is array; may be 0 if Depth==1)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstZ : size_t\n        Destination Z\n    dstLOD : size_t\n        Destination LOD\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    dstContext : CUcontext\n        Destination context (ignored with dstMemoryType is\n        CU_MEMORYTYPE_ARRAY)\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    dstHeight : size_t\n        Destination height (ignored when dst is array; may be 0 if\n        Depth==1)\n    WidthInBytes : size_t\n        Width of 3D memory copy in bytes\n    Height : size_t\n        Height of 3D memory copy\n    Depth : size_t\n        Depth of 3D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_spec = {
  "cuda.cuda.CUDA_MEMCPY3D_PEER",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEMCPY3D_PEER", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY3D_PEER), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    3D memory cross-context copy parameters\n\n    Attributes\n    ----------\n    srcXInBytes : size_t\n        Source X in bytes\n    srcY : size_t\n        Source Y\n    srcZ : size_t\n        Source Z\n    srcLOD : size_t\n        Source LOD\n    srcMemoryType : CUmemorytype\n        Source memory type (host, device, array)\n    srcHost : Any\n        Source host pointer\n    srcDevice : CUdeviceptr\n        Source device pointer\n    srcArray : CUarray\n        Source array reference\n    srcContext : CUcontext\n        Source context (ignored with srcMemoryType is CU_MEMORYTYPE_ARRAY)\n    srcPitch : size_t\n        Source pitch (ignored when src is array)\n    srcHeight : size_t\n        Source height (ignored when src is array; may be 0 if Depth==1)\n    dstXInBytes : size_t\n        Destination X in bytes\n    dstY : size_t\n        Destination Y\n    dstZ : size_t\n        Destination Z\n    dstLOD : size_t\n        Destination LOD\n    dstMemoryType : CUmemorytype\n        Destination memory type (host, device, array)\n    dstHost : Any\n        Destination host pointer\n    dstDevice : CUdeviceptr\n        Destination device pointer\n    dstArray : CUarray\n        Destination array reference\n    dstContext : CUcontext\n        Destination context (ignored with dstMemoryType is\n        CU_MEMORYTYPE_ARRAY)\n    dstPitch : size_t\n        Destination pitch (ignored when dst is array)\n    dstHeight : size_t\n        Destination height (ignored when dst is array; may be 0 if\n        Depth==1)\n    WidthInBytes : size_t\n        Width of 3D memory copy in bytes\n    Height : size_t\n        Height of 3D memory copy\n    Depth : size_t\n        Depth of 3D memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_21CUDA_MEMCPY3D_PEER_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_spec = {
  "cuda.cuda.CUDA_MEMCPY_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEMCPY_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memcpy node parameters\n\n    Attributes\n    ----------\n    flags : int\n        Must be zero\n    reserved : int\n        Must be zero\n    copyCtx : CUcontext\n        Context on which to run the node\n    copyParams : CUDA_MEMCPY3D\n        Parameters for the memory copy\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2_spec = {
  "cuda.cuda.CUDA_ARRAY_DESCRIPTOR_v2",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_ARRAY_DESCRIPTOR_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Array descriptor\n\n    Attributes\n    ----------\n    Width : size_t\n        Width of array\n    Height : size_t\n        Height of array\n    Format : CUarray_format\n        Array format\n    NumChannels : unsigned int\n        Channels per array element\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_spec = {
  "cuda.cuda.CUDA_ARRAY_DESCRIPTOR",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_ARRAY_DESCRIPTOR", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Array descriptor\n\n    Attributes\n    ----------\n    Width : size_t\n        Width of array\n    Height : size_t\n        Height of array\n    Format : CUarray_format\n        Array format\n    NumChannels : unsigned int\n        Channels per array element\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2_spec = {
  "cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR_v2",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_ARRAY3D_DESCRIPTOR_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    3D array descriptor\n\n    Attributes\n    ----------\n    Width : size_t\n        Width of 3D array\n    Height : size_t\n        Height of 3D array\n    Depth : size_t\n        Depth of 3D array\n    Format : CUarray_format\n        Array format\n    NumChannels : unsigned int\n        Channels per array element\n    Flags : unsigned int\n        Flags\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_spec = {
  "cuda.cuda.CUDA_ARRAY3D_DESCRIPTOR",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_ARRAY3D_DESCRIPTOR", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    3D array descriptor\n\n    Attributes\n    ----------\n    Width : size_t\n        Width of 3D array\n    Height : size_t\n        Height of 3D array\n    Depth : size_t\n        Depth of 3D array\n    Format : CUarray_format\n        Array format\n    NumChannels : unsigned int\n        Channels per array element\n    Flags : unsigned int\n        Flags\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA array sparse properties\n\n    Attributes\n    ----------\n    tileExtent : anon_struct5\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1_spec = {
  "cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_ARRAY_SPARSE_PROPERTIES_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA array sparse properties\n\n    Attributes\n    ----------\n    tileExtent : anon_struct5\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    CUDA array sparse properties\n\n    Attributes\n    ----------\n    tileExtent : anon_struct5\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_spec = {
  "cuda.cuda.CUDA_ARRAY_SPARSE_PROPERTIES",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_ARRAY_SPARSE_PROPERTIES", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA array sparse properties\n\n    Attributes\n    ----------\n    tileExtent : anon_struct5\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1_spec = {
  "cuda.cuda.CUDA_ARRAY_MEMORY_REQUIREMENTS_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_ARRAY_MEMORY_REQUIREMENTS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA array memory requirements\n\n    Attributes\n    ----------\n    size : size_t\n        Total required memory size\n    alignment : size_t\n        alignment requirement\n    reserved : List[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_spec = {
  "cuda.cuda.CUDA_ARRAY_MEMORY_REQUIREMENTS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_ARRAY_MEMORY_REQUIREMENTS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA array memory requirements\n\n    Attributes\n    ----------\n    size : size_t\n        Total required memory size\n    alignment : size_t\n        alignment requirement\n    reserved : List[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_v1_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_RESOURCE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_RESOURCE_DESC_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_RESOURCE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_v1_spec = {
  "cuda.cuda.CUDA_RESOURCE_DESC_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_RESOURCE_DESC_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_RESOURCE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA Resource descriptor\n\n    Attributes\n    ----------\n    resType : CUresourcetype\n        Resource type\n    res : anon_union4\n\n    flags : unsigned int\n        Flags (must be zero)\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_RESOURCE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_21CUDA_RESOURCE_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_RESOURCE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_RESOURCE_DESC_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_RESOURCE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_spec = {
  "cuda.cuda.CUDA_RESOURCE_DESC",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_RESOURCE_DESC", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_DESC), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_RESOURCE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA Resource descriptor\n\n    Attributes\n    ----------\n    resType : CUresourcetype\n        Resource type\n    res : anon_union4\n\n    flags : unsigned int\n        Flags (must be zero)\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_RESOURCE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_21CUDA_RESOURCE_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_v1_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_TEXTURE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_v1_spec = {
  "cuda.cuda.CUDA_TEXTURE_DESC_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_TEXTURE_DESC_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_TEXTURE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Texture descriptor\n\n    Attributes\n    ----------\n    addressMode : List[CUaddress_mode]\n        Address modes\n    filterMode : CUfilter_mode\n        Filter mode\n    flags : unsigned int\n        Flags\n    maxAnisotropy : unsigned int\n        Maximum anisotropy ratio\n    mipmapFilterMode : CUfilter_mode\n        Mipmap filter mode\n    mipmapLevelBias : float\n        Mipmap level bias\n    minMipmapLevelClamp : float\n        Mipmap minimum level clamp\n    maxMipmapLevelClamp : float\n        Mipmap maximum level clamp\n    borderColor : List[float]\n        Border Color\n    reserved : List[int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_20CUDA_TEXTURE_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_TEXTURE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_spec = {
  "cuda.cuda.CUDA_TEXTURE_DESC",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_TEXTURE_DESC", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_TEXTURE_DESC), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_TEXTURE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Texture descriptor\n\n    Attributes\n    ----------\n    addressMode : List[CUaddress_mode]\n        Address modes\n    filterMode : CUfilter_mode\n        Filter mode\n    flags : unsigned int\n        Flags\n    maxAnisotropy : unsigned int\n        Maximum anisotropy ratio\n    mipmapFilterMode : CUfilter_mode\n        Mipmap filter mode\n    mipmapLevelBias : float\n        Mipmap level bias\n    minMipmapLevelClamp : float\n        Mipmap minimum level clamp\n    maxMipmapLevelClamp : float\n        Mipmap maximum level clamp\n    borderColor : List[float]\n        Border Color\n    reserved : List[int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_20CUDA_TEXTURE_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1_spec = {
  "cuda.cuda.CUDA_RESOURCE_VIEW_DESC_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_RESOURCE_VIEW_DESC_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Resource view descriptor\n\n    Attributes\n    ----------\n    format : CUresourceViewFormat\n        Resource view format\n    width : size_t\n        Width of the resource view\n    height : size_t\n        Height of the resource view\n    depth : size_t\n        Depth of the resource view\n    firstMipmapLevel : unsigned int\n        First defined mipmap level\n    lastMipmapLevel : unsigned int\n        Last defined mipmap level\n    firstLayer : unsigned int\n        First layer index\n    lastLayer : unsigned int\n        Last layer index\n    reserved : List[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_spec = {
  "cuda.cuda.CUDA_RESOURCE_VIEW_DESC",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_RESOURCE_VIEW_DESC", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Resource view descriptor\n\n    Attributes\n    ----------\n    format : CUresourceViewFormat\n        Resource view format\n    width : size_t\n        Width of the resource view\n    height : size_t\n        Height of the resource view\n    depth : size_t\n        Depth of the resource view\n    firstMipmapLevel : unsigned int\n        First defined mipmap level\n    lastMipmapLevel : unsigned int\n        Last defined mipmap level\n    firstLayer : unsigned int\n        First layer index\n    lastLayer : unsigned int\n        Last layer index\n    reserved : List[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUtensorMap_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    Tensor map descriptor. Requires compiler support for aligning to 64\n    bytes.\n\n    Attributes\n    ----------\n    opaque : List[cuuint64_t]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUtensorMap_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUtensorMap_spec = {
  "cuda.cuda.CUtensorMap",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUtensorMap),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUtensorMap_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUtensorMap = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUtensorMap", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUtensorMap), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUtensorMap_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_14CUtensorMap_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Tensor map descriptor. Requires compiler support for aligning to 64\n    bytes.\n\n    Attributes\n    ----------\n    opaque : List[cuuint64_t]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_14CUtensorMap_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1_spec = {
  "cuda.cuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    GPU Direct v3 tokens\n\n    Attributes\n    ----------\n    p2pToken : unsigned long long\n\n    vaSpaceToken : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_spec = {
  "cuda.cuda.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_POINTER_ATTRIBUTE_P2P_TOKENS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    GPU Direct v3 tokens\n\n    Attributes\n    ----------\n    p2pToken : unsigned long long\n\n    vaSpaceToken : unsigned int\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1_spec = {
  "cuda.cuda.CUDA_LAUNCH_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_LAUNCH_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Kernel launch parameters\n\n    Attributes\n    ----------\n    function : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    hStream : CUstream\n        Stream identifier\n    kernelParams : Any\n        Array of pointers to kernel parameters\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_spec = {
  "cuda.cuda.CUDA_LAUNCH_PARAMS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_LAUNCH_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_LAUNCH_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Kernel launch parameters\n\n    Attributes\n    ----------\n    function : CUfunction\n        Kernel to launch\n    gridDimX : unsigned int\n        Width of grid in blocks\n    gridDimY : unsigned int\n        Height of grid in blocks\n    gridDimZ : unsigned int\n        Depth of grid in blocks\n    blockDimX : unsigned int\n        X dimension of each thread block\n    blockDimY : unsigned int\n        Y dimension of each thread block\n    blockDimZ : unsigned int\n        Z dimension of each thread block\n    sharedMemBytes : unsigned int\n        Dynamic shared-memory size per thread block in bytes\n    hStream : CUstream\n        Stream identifier\n    kernelParams : Any\n        Array of pointers to kernel parameters\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_21CUDA_LAUNCH_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_spec = {
  "cuda.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External memory handle descriptor\n\n    Attributes\n    ----------\n    type : CUexternalMemoryHandleType\n        Type of the handle\n    handle : anon_union5\n\n    size : unsigned long long\n        Size of the memory allocation\n    flags : unsigned int\n        Flags must either be zero or CUDA_EXTERNAL_MEMORY_DEDICATED\n    reserved : List[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_spec = {
  "cuda.cuda.CUDA_EXTERNAL_MEMORY_HANDLE_DESC",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_MEMORY_HANDLE_DESC", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External memory handle descriptor\n\n    Attributes\n    ----------\n    type : CUexternalMemoryHandleType\n        Type of the handle\n    handle : anon_union5\n\n    size : unsigned long long\n        Size of the memory allocation\n    flags : unsigned int\n        Flags must either be zero or CUDA_EXTERNAL_MEMORY_DEDICATED\n    reserved : List[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1_spec = {
  "cuda.cuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External memory buffer descriptor\n\n    Attributes\n    ----------\n    offset : unsigned long long\n        Offset into the memory object where the buffer's base is\n    size : unsigned long long\n        Size of the buffer\n    flags : unsigned int\n        Flags reserved for future use. Must be zero.\n    reserved : List[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_spec = {
  "cuda.cuda.CUDA_EXTERNAL_MEMORY_BUFFER_DESC",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_MEMORY_BUFFER_DESC", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External memory buffer descriptor\n\n    Attributes\n    ----------\n    offset : unsigned long long\n        Offset into the memory object where the buffer's base is\n    size : unsigned long long\n        Size of the buffer\n    flags : unsigned int\n        Flags reserved for future use. Must be zero.\n    reserved : List[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1_spec = {
  "cuda.cuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External memory mipmap descriptor\n\n    Attributes\n    ----------\n    offset : unsigned long long\n        Offset into the memory object where the base level of the mipmap\n        chain is.\n    arrayDesc : CUDA_ARRAY3D_DESCRIPTOR\n        Format, dimension and type of base level of the mipmap chain\n    numLevels : unsigned int\n        Total number of levels in the mipmap chain\n    reserved : List[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_spec = {
  "cuda.cuda.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External memory mipmap descriptor\n\n    Attributes\n    ----------\n    offset : unsigned long long\n        Offset into the memory object where the base level of the mipmap\n        chain is.\n    arrayDesc : CUDA_ARRAY3D_DESCRIPTOR\n        Format, dimension and type of base level of the mipmap chain\n    numLevels : unsigned int\n        Total number of levels in the mipmap chain\n    reserved : List[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_spec = {
  "cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External semaphore handle descriptor\n\n    Attributes\n    ----------\n    type : CUexternalSemaphoreHandleType\n        Type of the handle\n    handle : anon_union6\n\n    flags : unsigned int\n        Flags reserved for the future. Must be zero.\n    reserved : List[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_spec = {
  "cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External semaphore handle descriptor\n\n    Attributes\n    ----------\n    type : CUexternalSemaphoreHandleType\n        Type of the handle\n    handle : anon_union6\n\n    flags : unsigned int\n        Flags reserved for the future. Must be zero.\n    reserved : List[unsigned int]\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    External semaphore signal parameters\n\n    Attributes\n    ----------\n    params : anon_struct15\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_spec = {
  "cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External semaphore signal parameters\n\n    Attributes\n    ----------\n    params : anon_struct15\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    External semaphore signal parameters\n\n    Attributes\n    ----------\n    params : anon_struct15\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_spec = {
  "cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External semaphore signal parameters\n\n    Attributes\n    ----------\n    params : anon_struct15\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    External semaphore wait parameters\n\n    Attributes\n    ----------\n    params : anon_struct18\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_spec = {
  "cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External semaphore wait parameters\n\n    Attributes\n    ----------\n    params : anon_struct18\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    External semaphore wait parameters\n\n    Attributes\n    ----------\n    params : anon_struct18\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_spec = {
  "cuda.cuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    External semaphore wait parameters\n\n    Attributes\n    ----------\n    params : anon_struct18\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1_spec = {
  "cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Semaphore signal node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS\n        Array of external semaphore signal parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_spec = {
  "cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXT_SEM_SIGNAL_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Semaphore signal node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS\n        Array of external semaphore signal parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_spec = {
  "cuda.cuda.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Semaphore signal node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS\n        Array of external semaphore signal parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1_spec = {
  "cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Semaphore wait node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS\n        Array of external semaphore wait parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_spec = {
  "cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXT_SEM_WAIT_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Semaphore wait node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS\n        Array of external semaphore wait parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_spec = {
  "cuda.cuda.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Semaphore wait node parameters\n\n    Attributes\n    ----------\n    extSemArray : CUexternalSemaphore\n        Array of external semaphore handles.\n    paramsArray : CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS\n        Array of external semaphore wait parameters.\n    numExtSems : unsigned int\n        Number of handles and parameters supplied in extSemArray and\n        paramsArray.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemGenericAllocationHandle(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUmemGenericAllocationHandle(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_28CUmemGenericAllocationHandle_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUmemGenericAllocationHandle[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUmemGenericAllocationHandle_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUmemGenericAllocationHandle_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_28CUmemGenericAllocationHandle_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUmemGenericAllocationHandle},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_7__int__},
  #endif
  {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_4cuda_CUmemGenericAllocationHandle},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemGenericAllocationHandle},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle_spec = {
  "cuda.cuda.CUmemGenericAllocationHandle",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUmemGenericAllocationHandle = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_28CUmemGenericAllocationHandle_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemGenericAllocationHandle", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemGenericAllocationHandle, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUarrayMapInfo_v1_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUarrayMapInfo_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUarrayMapInfo_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUarrayMapInfo_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUarrayMapInfo_v1_spec = {
  "cuda.cuda.CUarrayMapInfo_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUarrayMapInfo_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUarrayMapInfo_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUarrayMapInfo_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUarrayMapInfo_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies the CUDA array or CUDA mipmapped array memory mapping\n    information\n\n    Attributes\n    ----------\n    resourceType : CUresourcetype\n        Resource type\n    resource : anon_union9\n\n    subresourceType : CUarraySparseSubresourceType\n        Sparse subresource type\n    subresource : anon_union10\n\n    memOperationType : CUmemOperationType\n        Memory operation type\n    memHandleType : CUmemHandleType\n        Memory handle type\n    memHandle : anon_union11\n\n    offset : unsigned long long\n        Offset within mip tail  Offset within the memory\n    deviceBitMask : unsigned int\n        Device ordinal bit mask\n    flags : unsigned int\n        flags for future use, must be zero now.\n    reserved : List[unsigned int]\n        Reserved for future use, must be zero now.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUarrayMapInfo_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUarrayMapInfo_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUarrayMapInfo_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUarrayMapInfo_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUarrayMapInfo_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUarrayMapInfo_spec = {
  "cuda.cuda.CUarrayMapInfo",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUarrayMapInfo_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUarrayMapInfo = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUarrayMapInfo", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUarrayMapInfo), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUarrayMapInfo_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_17CUarrayMapInfo_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies the CUDA array or CUDA mipmapped array memory mapping\n    information\n\n    Attributes\n    ----------\n    resourceType : CUresourcetype\n        Resource type\n    resource : anon_union9\n\n    subresourceType : CUarraySparseSubresourceType\n        Sparse subresource type\n    subresource : anon_union10\n\n    memOperationType : CUmemOperationType\n        Memory operation type\n    memHandleType : CUmemHandleType\n        Memory handle type\n    memHandle : anon_union11\n\n    offset : unsigned long long\n        Offset within mip tail  Offset within the memory\n    deviceBitMask : unsigned int\n        Device ordinal bit mask\n    flags : unsigned int\n        flags for future use, must be zero now.\n    reserved : List[unsigned int]\n        Reserved for future use, must be zero now.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUarrayMapInfo_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_17CUarrayMapInfo_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemLocation_v1_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemLocation_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemLocation_v1_spec = {
  "cuda.cuda.CUmemLocation_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemLocation_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUmemLocation_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemLocation_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemLocation_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemLocation_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemLocation_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_16CUmemLocation_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies a memory location.\n\n    Attributes\n    ----------\n    type : CUmemLocationType\n        Specifies the location type, which modifies the meaning of id.\n    id : int\n        identifier for a given this location's CUmemLocationType.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_16CUmemLocation_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemLocation_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemLocation_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemLocation_spec = {
  "cuda.cuda.CUmemLocation",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemLocation),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUmemLocation_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemLocation = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemLocation", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemLocation), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemLocation_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_16CUmemLocation_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies a memory location.\n\n    Attributes\n    ----------\n    type : CUmemLocationType\n        Specifies the location type, which modifies the meaning of id.\n    id : int\n        identifier for a given this location's CUmemLocationType.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_16CUmemLocation_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemAllocationProp_v1_slots[] = {
  {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_struct21\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUmemAllocationProp_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUmemAllocationProp_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemAllocationProp_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemAllocationProp_v1_spec = {
  "cuda.cuda.CUmemAllocationProp_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUmemAllocationProp_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemAllocationProp_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemAllocationProp_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemAllocationProp_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies the allocation properties for a allocation.\n\n    Attributes\n    ----------\n    type : CUmemAllocationType\n        Allocation type\n    requestedHandleTypes : CUmemAllocationHandleType\n        requested CUmemAllocationHandleType\n    location : CUmemLocation\n        Location of allocation\n    win32HandleMetaData : Any\n        Windows-specific POBJECT_ATTRIBUTES required when\n        CU_MEM_HANDLE_TYPE_WIN32 is specified. This object attributes\n        structure includes security attributes that define the scope of\n        which exported allocations may be transferred to other processes.\n        In all other cases, this field is required to be zero.\n    allocFlags : anon_struct21\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUmemAllocationProp_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_22CUmemAllocationProp_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemAllocationProp_slots[] = {
  {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_struct21\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUmemAllocationProp_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUmemAllocationProp_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemAllocationProp_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemAllocationProp_spec = {
  "cuda.cuda.CUmemAllocationProp",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUmemAllocationProp_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemAllocationProp = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemAllocationProp", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemAllocationProp), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemAllocationProp_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_22CUmemAllocationProp_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies the allocation properties for a allocation.\n\n    Attributes\n    ----------\n    type : CUmemAllocationType\n        Allocation type\n    requestedHandleTypes : CUmemAllocationHandleType\n        requested CUmemAllocationHandleType\n    location : CUmemLocation\n        Location of allocation\n    win32HandleMetaData : Any\n        Windows-specific POBJECT_ATTRIBUTES required when\n        CU_MEM_HANDLE_TYPE_WIN32 is specified. This object attributes\n        structure includes security attributes that define the scope of\n        which exported allocations may be transferred to other processes.\n        In all other cases, this field is required to be zero.\n    allocFlags : anon_struct21\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUmemAllocationProp_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_22CUmemAllocationProp_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmulticastObjectProp_v1_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmulticastObjectProp_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmulticastObjectProp_v1_spec = {
  "cuda.cuda.CUmulticastObjectProp_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUmulticastObjectProp_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmulticastObjectProp_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmulticastObjectProp_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmulticastObjectProp_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies the properties for a multicast object.\n\n    Attributes\n    ----------\n    numDevices : unsigned int\n        The number of devices in the multicast team that will bind memory\n        to this object\n    size : size_t\n        The maximum amount of memory that can be bound to this multicast\n        object per device\n    handleTypes : unsigned long long\n        Bitmask of exportable handle types (see CUmemAllocationHandleType)\n        for this object\n    flags : unsigned long long\n        Flags for future use, must be zero now\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_24CUmulticastObjectProp_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmulticastObjectProp_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmulticastObjectProp_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmulticastObjectProp_spec = {
  "cuda.cuda.CUmulticastObjectProp",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUmulticastObjectProp_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmulticastObjectProp = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmulticastObjectProp", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmulticastObjectProp), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmulticastObjectProp_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_24CUmulticastObjectProp_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies the properties for a multicast object.\n\n    Attributes\n    ----------\n    numDevices : unsigned int\n        The number of devices in the multicast team that will bind memory\n        to this object\n    size : size_t\n        The maximum amount of memory that can be bound to this multicast\n        object per device\n    handleTypes : unsigned long long\n        Bitmask of exportable handle types (see CUmemAllocationHandleType)\n        for this object\n    flags : unsigned long long\n        Flags for future use, must be zero now\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_24CUmulticastObjectProp_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemAccessDesc_v1_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUmemAccessDesc_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUmemAccessDesc_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemAccessDesc_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemAccessDesc_v1_spec = {
  "cuda.cuda.CUmemAccessDesc_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUmemAccessDesc_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemAccessDesc_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemAccessDesc_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemAccessDesc_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memory access descriptor\n\n    Attributes\n    ----------\n    location : CUmemLocation\n        Location on which the request is to change it's accessibility\n    flags : CUmemAccess_flags\n        ::CUmemProt accessibility flags to set on the request\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUmemAccessDesc_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_18CUmemAccessDesc_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemAccessDesc_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUmemAccessDesc_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUmemAccessDesc_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemAccessDesc_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemAccessDesc_spec = {
  "cuda.cuda.CUmemAccessDesc",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUmemAccessDesc_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemAccessDesc = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemAccessDesc", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemAccessDesc), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemAccessDesc_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_18CUmemAccessDesc_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memory access descriptor\n\n    Attributes\n    ----------\n    location : CUmemLocation\n        Location on which the request is to change it's accessibility\n    flags : CUmemAccess_flags\n        ::CUmemProt accessibility flags to set on the request\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUmemAccessDesc_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_18CUmemAccessDesc_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUgraphExecUpdateResultInfo_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUgraphExecUpdateResultInfo_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUgraphExecUpdateResultInfo_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1_spec = {
  "cuda.cuda.CUgraphExecUpdateResultInfo_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUgraphExecUpdateResultInfo_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUgraphExecUpdateResultInfo_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Result information returned by cuGraphExecUpdate\n\n    Attributes\n    ----------\n    result : CUgraphExecUpdateResult\n        Gives more specific detail when a cuda graph update fails.\n    errorNode : CUgraphNode\n        The \"to node\" of the error edge when the topologies do not match.\n        The error node when the error is associated with a specific node.\n        NULL when the error is generic.\n    errorFromNode : CUgraphNode\n        The from node of error edge when the topologies do not match.\n        Otherwise NULL.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUgraphExecUpdateResultInfo_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_30CUgraphExecUpdateResultInfo_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUgraphExecUpdateResultInfo_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUgraphExecUpdateResultInfo_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUgraphExecUpdateResultInfo_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_spec = {
  "cuda.cuda.CUgraphExecUpdateResultInfo",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUgraphExecUpdateResultInfo", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphExecUpdateResultInfo), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUgraphExecUpdateResultInfo_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Result information returned by cuGraphExecUpdate\n\n    Attributes\n    ----------\n    result : CUgraphExecUpdateResult\n        Gives more specific detail when a cuda graph update fails.\n    errorNode : CUgraphNode\n        The \"to node\" of the error edge when the topologies do not match.\n        The error node when the error is associated with a specific node.\n        NULL when the error is generic.\n    errorFromNode : CUgraphNode\n        The from node of error edge when the topologies do not match.\n        Otherwise NULL.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUgraphExecUpdateResultInfo_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_30CUgraphExecUpdateResultInfo_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemPoolProps_v1_slots[] = {
  {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    reserved : bytes\n        reserved for future use, must be 0\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUmemPoolProps_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUmemPoolProps_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemPoolProps_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemPoolProps_v1_spec = {
  "cuda.cuda.CUmemPoolProps_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUmemPoolProps_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemPoolProps_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemPoolProps_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemPoolProps_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies the properties of allocations made from the pool.\n\n    Attributes\n    ----------\n    allocType : CUmemAllocationType\n        Allocation type. Currently must be specified as\n        CU_MEM_ALLOCATION_TYPE_PINNED\n    handleTypes : CUmemAllocationHandleType\n        Handle types that will be supported by allocations from the pool.\n    location : CUmemLocation\n        Location where allocations should reside.\n    win32SecurityAttributes : Any\n        Windows-specific LPSECURITYATTRIBUTES required when\n        CU_MEM_HANDLE_TYPE_WIN32 is specified. This security attribute\n        defines the scope of which exported allocations may be transferred\n        to other processes. In all other cases, this field is required to\n        be zero.\n    maxSize : size_t\n        Maximum pool size. When set to 0, defaults to a system dependent\n        value.\n    reserved : bytes\n        reserved for future use, must be 0\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUmemPoolProps_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_17CUmemPoolProps_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemPoolProps_slots[] = {
  {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    reserved : bytes\n        reserved for future use, must be 0\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUmemPoolProps_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUmemPoolProps_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemPoolProps_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemPoolProps_spec = {
  "cuda.cuda.CUmemPoolProps",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUmemPoolProps_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemPoolProps = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemPoolProps", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemPoolProps), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemPoolProps_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_17CUmemPoolProps_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Specifies the properties of allocations made from the pool.\n\n    Attributes\n    ----------\n    allocType : CUmemAllocationType\n        Allocation type. Currently must be specified as\n        CU_MEM_ALLOCATION_TYPE_PINNED\n    handleTypes : CUmemAllocationHandleType\n        Handle types that will be supported by allocations from the pool.\n    location : CUmemLocation\n        Location where allocations should reside.\n    win32SecurityAttributes : Any\n        Windows-specific LPSECURITYATTRIBUTES required when\n        CU_MEM_HANDLE_TYPE_WIN32 is specified. This security attribute\n        defines the scope of which exported allocations may be transferred\n        to other processes. In all other cases, this field is required to\n        be zero.\n    maxSize : size_t\n        Maximum pool size. When set to 0, defaults to a system dependent\n        value.\n    reserved : bytes\n        reserved for future use, must be 0\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUmemPoolProps_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_17CUmemPoolProps_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_v1_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemPoolPtrExportData_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_v1_spec = {
  "cuda.cuda.CUmemPoolPtrExportData_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemPoolPtrExportData_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemPoolPtrExportData_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Opaque data for exporting a pool allocation\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_25CUmemPoolPtrExportData_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_slots[] = {
  {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\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemPoolPtrExportData_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_spec = {
  "cuda.cuda.CUmemPoolPtrExportData",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemPoolPtrExportData = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemPoolPtrExportData", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemPoolPtrExportData), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemPoolPtrExportData_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_25CUmemPoolPtrExportData_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Opaque data for exporting a pool allocation\n\n    Attributes\n    ----------\n    reserved : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_25CUmemPoolPtrExportData_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_spec = {
  "cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEM_ALLOC_NODE_PARAMS_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memory allocation node parameters\n\n    Attributes\n    ----------\n    poolProps : CUmemPoolProps\n        in: location where the allocation should reside (specified in\n        ::location). ::handleTypes must be CU_MEM_HANDLE_TYPE_NONE. IPC is\n        not supported.\n    accessDescs : CUmemAccessDesc\n        in: array of memory access descriptors. Used to describe peer GPU\n        access\n    accessDescCount : size_t\n        in: number of memory access descriptors. Must not exceed the number\n        of GPUs.\n    bytesize : size_t\n        in: size in bytes of the requested allocation\n    dptr : CUdeviceptr\n        out: address of the allocation returned by CUDA\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_spec = {
  "cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEM_ALLOC_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memory allocation node parameters\n\n    Attributes\n    ----------\n    poolProps : CUmemPoolProps\n        in: location where the allocation should reside (specified in\n        ::location). ::handleTypes must be CU_MEM_HANDLE_TYPE_NONE. IPC is\n        not supported.\n    accessDescs : CUmemAccessDesc\n        in: array of memory access descriptors. Used to describe peer GPU\n        access\n    accessDescCount : size_t\n        in: number of memory access descriptors. Must not exceed the number\n        of GPUs.\n    bytesize : size_t\n        in: size in bytes of the requested allocation\n    dptr : CUdeviceptr\n        out: address of the allocation returned by CUDA\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_spec = {
  "cuda.cuda.CUDA_MEM_ALLOC_NODE_PARAMS_v2",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEM_ALLOC_NODE_PARAMS_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memory allocation node parameters\n\n    Attributes\n    ----------\n    poolProps : CUmemPoolProps\n        in: location where the allocation should reside (specified in\n        ::location). ::handleTypes must be CU_MEM_HANDLE_TYPE_NONE. IPC is\n        not supported.\n    accessDescs : CUmemAccessDesc\n        in: array of memory access descriptors. Used to describe peer GPU\n        access\n    accessDescCount : size_t\n        in: number of memory access descriptors. Must not exceed the number\n        of GPUs.\n    bytesize : size_t\n        in: size in bytes of the requested allocation\n    dptr : CUdeviceptr\n        out: address of the allocation returned by CUDA\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_spec = {
  "cuda.cuda.CUDA_MEM_FREE_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_MEM_FREE_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Memory free node parameters\n\n    Attributes\n    ----------\n    dptr : CUdeviceptr\n        in: the pointer to free\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_slots[] = {
  {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\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_spec = {
  "cuda.cuda.CUDA_CHILD_GRAPH_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_CHILD_GRAPH_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Child graph node parameters\n\n    Attributes\n    ----------\n    graph : CUgraph\n        The child graph to clone into the node for node creation, or a\n        handle to the graph owned by the node for node query\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_spec = {
  "cuda.cuda.CUDA_EVENT_RECORD_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EVENT_RECORD_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Event record node parameters\n\n    Attributes\n    ----------\n    event : CUevent\n        The event to record when the node executes\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_spec = {
  "cuda.cuda.CUDA_EVENT_WAIT_NODE_PARAMS",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUDA_EVENT_WAIT_NODE_PARAMS", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Event wait node parameters\n\n    Attributes\n    ----------\n    event : CUevent\n        The event to wait on from the node\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUgraphNodeParams_slots[] = {
  {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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUgraphNodeParams_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUgraphNodeParams_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUgraphNodeParams_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUgraphNodeParams_spec = {
  "cuda.cuda.CUgraphNodeParams",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUgraphNodeParams_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUgraphNodeParams = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUgraphNodeParams", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUgraphNodeParams), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUgraphNodeParams_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_20CUgraphNodeParams_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Graph node parameters. See cuGraphAddNode.\n\n    Attributes\n    ----------\n    type : CUgraphNodeType\n        Type of the node\n    reserved0 : List[int]\n        Reserved. Must be zero.\n    reserved1 : List[long long]\n        Padding. Unused bytes must be zero.\n    kernel : CUDA_KERNEL_NODE_PARAMS_v3\n        Kernel node parameters.\n    memcpy : CUDA_MEMCPY_NODE_PARAMS\n        Memcpy node parameters.\n    memset : CUDA_MEMSET_NODE_PARAMS_v2\n        Memset node parameters.\n    host : CUDA_HOST_NODE_PARAMS_v2\n        Host node parameters.\n    graph : CUDA_CHILD_GRAPH_NODE_PARAMS\n        Child graph node parameters.\n    eventWait : CUDA_EVENT_WAIT_NODE_PARAMS\n        Event wait node parameters.\n    eventRecord : CUDA_EVENT_RECORD_NODE_PARAMS\n        Event record node parameters.\n    extSemSignal : CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2\n        External semaphore signal node parameters.\n    extSemWait : CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2\n        External semaphore wait node parameters.\n    alloc : CUDA_MEM_ALLOC_NODE_PARAMS_v2\n        Memory allocation node parameters.\n    free : CUDA_MEM_FREE_NODE_PARAMS\n        Memory free node parameters.\n    memOp : CUDA_BATCH_MEM_OP_NODE_PARAMS_v2\n        MemOp node parameters.\n    conditional : CUDA_CONDITIONAL_NODE_PARAMS\n        Conditional node parameters.\n    reserved2 : long long\n        Reserved bytes. Must be zero.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUgraphNodeParams_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_20CUgraphNodeParams_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUdevSmResource_slots[] = {
  {Py_tp_doc, (void *)PyDoc_STR("\n    Attributes\n    ----------\n    smCount : unsigned int\n        The amount of streaming multiprocessors available in this resource.\n        This is an output parameter only, do not write to this field.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUdevSmResource_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUdevSmResource_spec = {
  "cuda.cuda.CUdevSmResource",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevSmResource),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUdevSmResource_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUdevSmResource = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUdevSmResource", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevSmResource), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUdevSmResource_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_18CUdevSmResource_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    smCount : unsigned int\n        The amount of streaming multiprocessors available in this resource.\n        This is an output parameter only, do not write to this field.\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\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_4cuda_18CUdevSmResource_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUdevResource_v1_slots[] = {
  {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 ``. type.\n    _oversize : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUdevResource_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUdevResource_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUdevResource_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUdevResource_v1_spec = {
  "cuda.cuda.CUdevResource_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevResource_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUdevResource_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUdevResource_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUdevResource_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevResource_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUdevResource_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_16CUdevResource_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    type : CUdevResourceType\n        Type of resource, dictates which union field was last set\n    _internal_padding : bytes\n\n    sm : CUdevSmResource\n        Resource corresponding to CU_DEV_RESOURCE_TYPE_SM ``. type.\n    _oversize : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUdevResource_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_16CUdevResource_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUdevResource_slots[] = {
  {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 ``. type.\n    _oversize : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUdevResource_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUdevResource_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUdevResource_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUdevResource_spec = {
  "cuda.cuda.CUdevResource",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevResource),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUdevResource_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUdevResource = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUdevResource", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevResource), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUdevResource_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_16CUdevResource_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    Attributes\n    ----------\n    type : CUdevResourceType\n        Type of resource, dictates which union field was last set\n    _internal_padding : bytes\n\n    sm : CUdevSmResource\n        Resource corresponding to CU_DEV_RESOURCE_TYPE_SM ``. type.\n    _oversize : bytes\n\n\n    Methods\n    -------\n    getPtr()\n        Get memory address of class instance\n\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUdevResource_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_16CUdevResource_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUeglFrame_v1_slots[] = {
  {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_union14\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUeglFrame_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUeglFrame_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUeglFrame_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUeglFrame_v1_spec = {
  "cuda.cuda.CUeglFrame_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUeglFrame_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUeglFrame_v1_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUeglFrame_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUeglFrame_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUeglFrame_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUeglFrame_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_13CUeglFrame_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA EGLFrame structure Descriptor - structure defining one frame\n    of EGL.  Each frame may contain one or more planes depending on\n    whether the surface * is Multiplanar or not.\n\n    Attributes\n    ----------\n    frame : anon_union14\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUeglFrame_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_13CUeglFrame_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUeglFrame_slots[] = {
  {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_union14\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\n    ")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda_CUeglFrame_st},
  {Py_tp_clear, (void *)__pyx_tp_clear_4cuda_4cuda_CUeglFrame_st},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUeglFrame_st},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUeglFrame_spec = {
  "cuda.cuda.CUeglFrame",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUeglFrame),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda_CUeglFrame_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda_CUeglFrame = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUeglFrame", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUeglFrame), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUeglFrame_st, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_4cuda_4cuda_13CUeglFrame_st_9__repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  PyDoc_STR("\n    CUDA EGLFrame structure Descriptor - structure defining one frame\n    of EGL.  Each frame may contain one or more planes depending on\n    whether the surface * is Multiplanar or not.\n\n    Attributes\n    ----------\n    frame : anon_union14\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\n    "), /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda_CUeglFrame_st, /*tp_traverse*/
  __pyx_tp_clear_4cuda_4cuda_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_4cuda_13CUeglFrame_st_3__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_4cuda_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_cuuint32_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_cuuint32_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_10cuuint32_t_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_10cuuint32_t_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_10cuuint32_t_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_cuuint32_t[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_10cuuint32_t_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10cuuint32_t_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10cuuint32_t_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10cuuint32_t_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10cuuint32_t_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10cuuint32_t_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10cuuint32_t_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_cuuint32_t_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_cuuint32_t},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_10cuuint32_t_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_10cuuint32_t_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_10cuuint32_t_7__int__},
  #endif
  {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_4cuda_cuuint32_t},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_cuuint32_t},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_cuuint32_t_spec = {
  "cuda.cuda.cuuint32_t",
  sizeof(struct __pyx_obj_4cuda_4cuda_cuuint32_t),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_cuuint32_t_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_cuuint32_t = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_10cuuint32_t_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_10cuuint32_t_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_cuuint32_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""cuuint32_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_cuuint32_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_cuuint32_t, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_cuuint64_t(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_cuuint64_t(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_10cuuint64_t_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_10cuuint64_t_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_10cuuint64_t_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_cuuint64_t[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_10cuuint64_t_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10cuuint64_t_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10cuuint64_t_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10cuuint64_t_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10cuuint64_t_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_10cuuint64_t_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_10cuuint64_t_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_cuuint64_t_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_cuuint64_t},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_10cuuint64_t_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_10cuuint64_t_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_10cuuint64_t_7__int__},
  #endif
  {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_4cuda_cuuint64_t},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_cuuint64_t},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_cuuint64_t_spec = {
  "cuda.cuda.cuuint64_t",
  sizeof(struct __pyx_obj_4cuda_4cuda_cuuint64_t),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_cuuint64_t_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_cuuint64_t = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_10cuuint64_t_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_10cuuint64_t_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_cuuint64_t = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""cuuint64_t", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_cuuint64_t), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_cuuint64_t, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUdeviceptr_v2(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUdeviceptr_v2(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_14CUdeviceptr_v2_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUdeviceptr_v2[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUdeviceptr_v2_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUdeviceptr_v2_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUdeviceptr_v2_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUdeviceptr_v2_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUdeviceptr_v2},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_7__int__},
  #endif
  {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_4cuda_CUdeviceptr_v2},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUdeviceptr_v2},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUdeviceptr_v2_spec = {
  "cuda.cuda.CUdeviceptr_v2",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUdeviceptr_v2_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUdeviceptr_v2 = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_14CUdeviceptr_v2_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUdeviceptr_v2 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUdeviceptr_v2", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdeviceptr_v2), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUdeviceptr_v2, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUdevice_v1(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUdevice_v1(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_11CUdevice_v1_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_11CUdevice_v1_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_11CUdevice_v1_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUdevice_v1[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_11CUdevice_v1_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUdevice_v1_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUdevice_v1_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUdevice_v1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUdevice_v1_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_11CUdevice_v1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_11CUdevice_v1_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUdevice_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUdevice_v1},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_11CUdevice_v1_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_11CUdevice_v1_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_11CUdevice_v1_7__int__},
  #endif
  {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_4cuda_CUdevice_v1},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUdevice_v1},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUdevice_v1_spec = {
  "cuda.cuda.CUdevice_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevice_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUdevice_v1_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUdevice_v1 = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_11CUdevice_v1_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_11CUdevice_v1_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUdevice_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUdevice_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUdevice_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUdevice_v1, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUtexObject_v1(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUtexObject_v1(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_14CUtexObject_v1_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_14CUtexObject_v1_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_14CUtexObject_v1_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUtexObject_v1[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_14CUtexObject_v1_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUtexObject_v1_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUtexObject_v1_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUtexObject_v1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUtexObject_v1_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_14CUtexObject_v1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_14CUtexObject_v1_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUtexObject_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUtexObject_v1},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_14CUtexObject_v1_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_14CUtexObject_v1_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_14CUtexObject_v1_7__int__},
  #endif
  {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_4cuda_CUtexObject_v1},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUtexObject_v1},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUtexObject_v1_spec = {
  "cuda.cuda.CUtexObject_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUtexObject_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUtexObject_v1_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUtexObject_v1 = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_14CUtexObject_v1_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_14CUtexObject_v1_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUtexObject_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUtexObject_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUtexObject_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUtexObject_v1, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUsurfObject_v1(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUsurfObject_v1(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_15CUsurfObject_v1_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_15CUsurfObject_v1_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_15CUsurfObject_v1_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUsurfObject_v1[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_15CUsurfObject_v1_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15CUsurfObject_v1_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15CUsurfObject_v1_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15CUsurfObject_v1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15CUsurfObject_v1_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15CUsurfObject_v1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15CUsurfObject_v1_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUsurfObject_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUsurfObject_v1},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_15CUsurfObject_v1_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_15CUsurfObject_v1_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_15CUsurfObject_v1_7__int__},
  #endif
  {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_4cuda_CUsurfObject_v1},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUsurfObject_v1},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUsurfObject_v1_spec = {
  "cuda.cuda.CUsurfObject_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUsurfObject_v1_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUsurfObject_v1 = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_15CUsurfObject_v1_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_15CUsurfObject_v1_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUsurfObject_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUsurfObject_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUsurfObject_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUsurfObject_v1, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_CUmemGenericAllocationHandle_v1(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_CUmemGenericAllocationHandle_v1(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_31CUmemGenericAllocationHandle_v1_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_CUmemGenericAllocationHandle_v1[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle_v1_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_CUmemGenericAllocationHandle_v1},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_7__int__},
  #endif
  {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_4cuda_CUmemGenericAllocationHandle_v1},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_CUmemGenericAllocationHandle_v1},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle_v1_spec = {
  "cuda.cuda.CUmemGenericAllocationHandle_v1",
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle_v1_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_CUmemGenericAllocationHandle_v1 = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle_v1 = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""CUmemGenericAllocationHandle_v1", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_CUmemGenericAllocationHandle_v1), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_CUmemGenericAllocationHandle_v1, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_GLenum(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_GLenum(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_6GLenum_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_6GLenum_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_6GLenum_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_GLenum[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_6GLenum_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6GLenum_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6GLenum_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6GLenum_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6GLenum_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6GLenum_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6GLenum_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_GLenum_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_GLenum},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_6GLenum_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_6GLenum_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_6GLenum_7__int__},
  #endif
  {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_4cuda_GLenum},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_GLenum},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_GLenum_spec = {
  "cuda.cuda.GLenum",
  sizeof(struct __pyx_obj_4cuda_4cuda_GLenum),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_GLenum_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_GLenum = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_6GLenum_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_6GLenum_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_GLenum = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""GLenum", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_GLenum), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_GLenum, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_GLuint(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_GLuint(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_6GLuint_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_6GLuint_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_6GLuint_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_GLuint[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_6GLuint_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6GLuint_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6GLuint_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6GLuint_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6GLuint_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6GLuint_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6GLuint_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_GLuint_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_GLuint},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_6GLuint_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_6GLuint_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_6GLuint_7__int__},
  #endif
  {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_4cuda_GLuint},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_GLuint},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_GLuint_spec = {
  "cuda.cuda.GLuint",
  sizeof(struct __pyx_obj_4cuda_4cuda_GLuint),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_GLuint_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_GLuint = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_6GLuint_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_6GLuint_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_GLuint = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""GLuint", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_GLuint), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_GLuint, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_EGLint(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_EGLint(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_6EGLint_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_6EGLint_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_6EGLint_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_EGLint[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_6EGLint_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6EGLint_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6EGLint_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6EGLint_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6EGLint_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_6EGLint_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_6EGLint_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_EGLint_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_EGLint},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_6EGLint_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_6EGLint_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_6EGLint_7__int__},
  #endif
  {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_4cuda_EGLint},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_EGLint},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_EGLint_spec = {
  "cuda.cuda.EGLint",
  sizeof(struct __pyx_obj_4cuda_4cuda_EGLint),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_EGLint_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_EGLint = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_6EGLint_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_6EGLint_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_EGLint = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""EGLint", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_EGLint), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_EGLint, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_VdpDevice(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_VdpDevice(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_9VdpDevice_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_9VdpDevice_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_9VdpDevice_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_VdpDevice[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_9VdpDevice_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9VdpDevice_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9VdpDevice_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9VdpDevice_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9VdpDevice_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_9VdpDevice_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_9VdpDevice_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_VdpDevice_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_VdpDevice},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_9VdpDevice_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_9VdpDevice_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_9VdpDevice_7__int__},
  #endif
  {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_4cuda_VdpDevice},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_VdpDevice},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_VdpDevice_spec = {
  "cuda.cuda.VdpDevice",
  sizeof(struct __pyx_obj_4cuda_4cuda_VdpDevice),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_VdpDevice_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_VdpDevice = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_9VdpDevice_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_9VdpDevice_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_VdpDevice = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""VdpDevice", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_VdpDevice), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_VdpDevice, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_VdpGetProcAddress(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_VdpGetProcAddress(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_17VdpGetProcAddress_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_17VdpGetProcAddress_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_17VdpGetProcAddress_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_VdpGetProcAddress[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_17VdpGetProcAddress_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17VdpGetProcAddress_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17VdpGetProcAddress_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17VdpGetProcAddress_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17VdpGetProcAddress_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_17VdpGetProcAddress_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_17VdpGetProcAddress_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_VdpGetProcAddress_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_VdpGetProcAddress},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_17VdpGetProcAddress_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_17VdpGetProcAddress_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_17VdpGetProcAddress_7__int__},
  #endif
  {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_4cuda_VdpGetProcAddress},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_VdpGetProcAddress},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_VdpGetProcAddress_spec = {
  "cuda.cuda.VdpGetProcAddress",
  sizeof(struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_VdpGetProcAddress_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_VdpGetProcAddress = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_17VdpGetProcAddress_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_17VdpGetProcAddress_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_VdpGetProcAddress = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""VdpGetProcAddress", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_VdpGetProcAddress), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_VdpGetProcAddress, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_VdpVideoSurface(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_VdpVideoSurface(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_15VdpVideoSurface_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_15VdpVideoSurface_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_15VdpVideoSurface_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_VdpVideoSurface[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_15VdpVideoSurface_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15VdpVideoSurface_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15VdpVideoSurface_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15VdpVideoSurface_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15VdpVideoSurface_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_15VdpVideoSurface_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_15VdpVideoSurface_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_VdpVideoSurface_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_VdpVideoSurface},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_15VdpVideoSurface_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_15VdpVideoSurface_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_15VdpVideoSurface_7__int__},
  #endif
  {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_4cuda_VdpVideoSurface},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_VdpVideoSurface},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_VdpVideoSurface_spec = {
  "cuda.cuda.VdpVideoSurface",
  sizeof(struct __pyx_obj_4cuda_4cuda_VdpVideoSurface),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_VdpVideoSurface_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_VdpVideoSurface = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_15VdpVideoSurface_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_15VdpVideoSurface_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_VdpVideoSurface = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""VdpVideoSurface", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_VdpVideoSurface), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_VdpVideoSurface, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_4cuda_4cuda_VdpOutputSurface(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
    o = (*t->tp_alloc)(t, 0);
  } else {
    o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
  }
  if (unlikely(!o)) return 0;
  #endif
  if (unlikely(__pyx_pw_4cuda_4cuda_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_4cuda_VdpOutputSurface(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda_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_4cuda_16VdpOutputSurface_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
  (*Py_TYPE(o)->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
}

static PyObject *__pyx_specialmethod___pyx_pw_4cuda_4cuda_16VdpOutputSurface_5__repr__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
  return __pyx_pw_4cuda_4cuda_16VdpOutputSurface_5__repr__(self);
}

static PyMethodDef __pyx_methods_4cuda_4cuda_VdpOutputSurface[] = {
  {"__repr__", (PyCFunction)__pyx_specialmethod___pyx_pw_4cuda_4cuda_16VdpOutputSurface_5__repr__, METH_NOARGS|METH_COEXIST, 0},
  {"getPtr", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16VdpOutputSurface_9getPtr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16VdpOutputSurface_8getPtr},
  {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16VdpOutputSurface_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16VdpOutputSurface_10__reduce_cython__},
  {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_4cuda_4cuda_16VdpOutputSurface_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_4cuda_4cuda_16VdpOutputSurface_12__setstate_cython__},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_4cuda_4cuda_VdpOutputSurface_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda_VdpOutputSurface},
  {Py_tp_repr, (void *)__pyx_pw_4cuda_4cuda_16VdpOutputSurface_5__repr__},
  {Py_nb_int, (void *)__pyx_pw_4cuda_4cuda_16VdpOutputSurface_7__int__},
  #if PY_MAJOR_VERSION < 3
  {Py_nb_long, (void *)__pyx_pw_4cuda_4cuda_16VdpOutputSurface_7__int__},
  #endif
  {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_4cuda_VdpOutputSurface},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda_VdpOutputSurface},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda_VdpOutputSurface_spec = {
  "cuda.cuda.VdpOutputSurface",
  sizeof(struct __pyx_obj_4cuda_4cuda_VdpOutputSurface),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_4cuda_4cuda_VdpOutputSurface_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_VdpOutputSurface = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_divide*/
  #endif
  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*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_coerce*/
  #endif
  __pyx_pw_4cuda_4cuda_16VdpOutputSurface_7__int__, /*nb_int*/
  #if PY_MAJOR_VERSION < 3
  __pyx_pw_4cuda_4cuda_16VdpOutputSurface_7__int__, /*nb_long*/
  #else
  0, /*reserved*/
  #endif
  0, /*nb_float*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_oct*/
  #endif
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_hex*/
  #endif
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  #if PY_MAJOR_VERSION < 3 || (CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03050000)
  0, /*nb_inplace_divide*/
  #endif
  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*/
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_matrix_multiply*/
  #endif
  #if PY_VERSION_HEX >= 0x03050000
  0, /*nb_inplace_matrix_multiply*/
  #endif
};

static PyTypeObject __pyx_type_4cuda_4cuda_VdpOutputSurface = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""VdpOutputSurface", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda_VdpOutputSurface), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda_VdpOutputSurface, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  __pyx_pw_4cuda_4cuda_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_4cuda_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_4cuda_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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct__genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct__genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct__genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct__genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct__genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct__genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct__genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct__genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct__genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct__genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct__genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct__genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct__genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct__genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct__genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct__genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct__genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct__genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct__genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct__genexpr *)o;
  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_4cuda___pyx_scope_struct__genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct__genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct__genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct__genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct__genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct__genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct__genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct__genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct__genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct__genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct__genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct__genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_1_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_1_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_1_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_1_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_1_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_1_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_1_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_1_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_1_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_1_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_1_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_1_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_1_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_1_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_1_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_1_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_1_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_1_genexpr *)o;
  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_4cuda___pyx_scope_struct_1_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_1_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_1_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_1_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_1_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_1_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_1_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_1_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_1_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_1_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_1_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_1_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_2_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_2_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_2_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_2_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_2_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_2_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_2_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_2_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_2_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_2_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_2_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_2_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_2_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_2_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_2_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_2_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_2_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_2_genexpr *)o;
  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_4cuda___pyx_scope_struct_2_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_2_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_2_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_2_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_2_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_2_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_2_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_2_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_2_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_2_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_2_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_2_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_3_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_3_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_3_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_3_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_3_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_3_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_3_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_3_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_3_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_3_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_3_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_3_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_3_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_3_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_3_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_3_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_3_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_3_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_3_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_3_genexpr *)o;
  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_4cuda___pyx_scope_struct_3_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_3_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_3_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_3_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_3_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_3_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_3_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_3_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_3_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_3_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_3_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_3_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_4_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_4_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_4_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_4_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_4_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_4_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_4_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_4_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_4_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_4_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_4_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_4_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_4_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_4_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_4_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_4_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_4_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_4_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_4_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_4_genexpr *)o;
  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_4cuda___pyx_scope_struct_4_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_4_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_4_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_4_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_4_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_4_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_4_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_4_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_4_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_4_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_4_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_4_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_5_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_5_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_5_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_5_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_5_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_5_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_5_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_5_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_5_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_5_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_5_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_5_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_5_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_5_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_5_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_5_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_5_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_5_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_5_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_5_genexpr *)o;
  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_4cuda___pyx_scope_struct_5_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_5_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_5_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_5_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_5_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_5_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_5_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_5_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_5_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_5_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_5_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_5_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_6_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_6_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_6_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_6_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_6_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_6_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_6_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_6_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_6_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_6_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_6_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_6_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_6_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_6_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_6_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_6_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_6_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_6_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_6_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_6_genexpr *)o;
  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_4cuda___pyx_scope_struct_6_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_6_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_6_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_6_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_6_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_6_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_6_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_6_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_6_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_6_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_6_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_6_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_7_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_7_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_7_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_7_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_7_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_7_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_7_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_7_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_7_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_7_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_7_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_7_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_7_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_7_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_7_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_7_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_7_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_7_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_7_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_7_genexpr *)o;
  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_4cuda___pyx_scope_struct_7_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_7_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_7_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_7_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_7_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_7_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_7_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_7_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_7_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_7_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_7_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_7_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_8_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_8_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_8_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_8_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_8_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_8_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_8_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_8_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_8_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_8_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_8_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_8_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_8_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_8_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_8_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_8_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_8_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_8_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_8_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_8_genexpr *)o;
  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_4cuda___pyx_scope_struct_8_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_8_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_8_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_8_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_8_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_8_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_8_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_8_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_8_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_8_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_8_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_8_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_9_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_9_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_9_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_9_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_9_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_9_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_9_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_9_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_9_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_9_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_9_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_9_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_9_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_9_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_9_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_9_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_9_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_9_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_9_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_9_genexpr *)o;
  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_4cuda___pyx_scope_struct_9_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_9_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_9_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_9_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_9_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_9_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_9_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_9_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_9_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_9_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_9_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_9_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_10_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_10_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_10_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_10_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_10_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_10_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_10_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_10_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_10_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_10_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_10_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_10_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_10_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_10_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_10_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_10_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_10_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_10_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_10_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_10_genexpr *)o;
  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_4cuda___pyx_scope_struct_10_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_10_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_10_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_10_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_10_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_10_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_10_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_10_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_10_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_10_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_10_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_10_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_11_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_11_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_11_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_11_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_11_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_11_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_11_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_11_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_11_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_11_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_11_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_11_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_11_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_11_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_11_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_11_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_11_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_11_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_11_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_11_genexpr *)o;
  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_4cuda___pyx_scope_struct_11_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_11_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_11_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_11_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_11_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_11_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_11_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_11_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_11_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_11_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_11_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_11_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_12_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_12_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_12_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_12_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_12_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_12_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_12_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_12_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_12_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_12_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_12_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_12_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_12_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_12_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_12_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_12_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_12_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_12_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_12_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_12_genexpr *)o;
  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_4cuda___pyx_scope_struct_12_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_12_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_12_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_12_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_12_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_12_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_12_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_12_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_12_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_12_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_12_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_12_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_13_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_13_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_13_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_13_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_13_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_13_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_13_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_13_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_13_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_13_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_13_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_13_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_13_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_13_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_13_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_13_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_13_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_13_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_13_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_13_genexpr *)o;
  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_4cuda___pyx_scope_struct_13_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_13_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_13_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_13_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_13_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_13_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_13_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_13_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_13_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_13_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_13_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_13_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_14_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_14_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_14_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_14_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_14_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_14_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_14_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_14_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_14_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_14_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_14_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_14_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_14_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_14_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_14_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_14_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_14_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_14_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_14_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_14_genexpr *)o;
  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_4cuda___pyx_scope_struct_14_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_14_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_14_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_14_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_14_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_14_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_14_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_14_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_14_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_14_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_14_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_14_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_15_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_15_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_15_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_15_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_15_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_15_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_15_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_15_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_15_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_15_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_15_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_15_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_15_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_15_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_15_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_15_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_15_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_15_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_15_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_15_genexpr *)o;
  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_4cuda___pyx_scope_struct_15_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_15_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_15_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_15_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_15_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_15_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_15_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_15_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_15_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_15_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_15_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_15_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_16_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_16_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_16_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_16_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_16_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_16_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_16_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_16_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_16_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_16_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_16_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_16_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_16_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_16_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_16_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_16_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_16_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_16_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_16_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_16_genexpr *)o;
  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_4cuda___pyx_scope_struct_16_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_16_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_16_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_16_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_16_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_16_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_16_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_16_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_16_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_16_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_16_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_16_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_17_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_17_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_17_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_17_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_17_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_17_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_17_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_17_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_17_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_17_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_17_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_17_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_17_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_17_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_17_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_17_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_17_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_17_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_17_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_17_genexpr *)o;
  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_4cuda___pyx_scope_struct_17_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_17_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_17_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_17_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_17_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_17_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_17_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_17_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_17_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_17_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_17_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_17_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_18_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_18_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_18_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_18_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_18_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_18_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_18_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_18_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_18_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_18_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_18_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_18_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_18_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_18_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_18_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_18_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_18_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_18_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_18_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_18_genexpr *)o;
  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_4cuda___pyx_scope_struct_18_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_18_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_18_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_18_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_18_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_18_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_18_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_18_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_18_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_18_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_18_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_18_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_19_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_19_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_19_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_19_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_19_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_19_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_19_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_19_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_19_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_19_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_19_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_19_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_19_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_19_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_19_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_19_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_19_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_19_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_19_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_19_genexpr *)o;
  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_4cuda___pyx_scope_struct_19_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_19_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_19_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_19_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_19_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_19_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_19_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_19_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_19_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_19_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_19_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_19_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_20_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_20_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_20_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_20_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_20_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_20_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_20_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_20_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_20_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_20_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_20_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_20_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_20_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_20_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_20_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_20_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_20_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_20_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_20_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_20_genexpr *)o;
  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_4cuda___pyx_scope_struct_20_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_20_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_20_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_20_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_20_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_20_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_20_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_20_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_20_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_20_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_20_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_20_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_21_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_21_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_21_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_21_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_21_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_21_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_21_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_21_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_21_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_21_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_21_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_21_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_21_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_21_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_21_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_21_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_21_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_21_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_21_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_21_genexpr *)o;
  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_4cuda___pyx_scope_struct_21_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_21_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_21_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_21_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_21_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_21_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_21_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_21_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_21_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_21_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_21_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_21_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_22_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_22_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_22_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_22_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_22_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_22_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_22_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_22_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_22_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_22_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_22_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_22_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_22_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_22_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_22_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_22_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_22_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_22_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_22_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_22_genexpr *)o;
  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_4cuda___pyx_scope_struct_22_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_22_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_22_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_22_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_22_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_22_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_22_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_22_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_22_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_22_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_22_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_22_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_23_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_23_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_23_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_23_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_23_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_23_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_23_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_23_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_23_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_23_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_23_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_23_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_23_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_23_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_23_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_23_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_23_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_23_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_23_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_23_genexpr *)o;
  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_4cuda___pyx_scope_struct_23_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_23_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_23_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_23_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_23_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_23_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_23_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_23_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_23_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_23_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_23_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_23_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_24_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_24_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_24_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_24_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_24_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_24_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_24_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_24_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_24_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_24_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_24_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_24_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_24_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_24_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_24_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_24_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_24_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_24_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_24_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_24_genexpr *)o;
  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_4cuda___pyx_scope_struct_24_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_24_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_24_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_24_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_24_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_24_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_24_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_24_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_24_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_24_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_24_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_24_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_25_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_25_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_25_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_25_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_25_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_25_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_25_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_25_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_25_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_25_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_25_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_25_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_25_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_25_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_25_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_25_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_25_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_25_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_25_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_25_genexpr *)o;
  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_4cuda___pyx_scope_struct_25_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_25_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_25_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_25_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_25_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_25_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_25_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_25_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_25_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_25_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_25_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_25_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_26_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_26_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_26_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_26_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_26_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_26_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_26_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_26_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_26_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_26_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_26_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_26_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_26_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_26_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_26_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_26_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_26_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_26_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_26_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_26_genexpr *)o;
  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_4cuda___pyx_scope_struct_26_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_26_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_26_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_26_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_26_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_26_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_26_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_26_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_26_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_26_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_26_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_26_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_27_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_27_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_27_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_27_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_27_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_27_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_27_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_27_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_27_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_27_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_27_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_27_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_27_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_27_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_27_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_27_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_27_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_27_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_27_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_27_genexpr *)o;
  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_4cuda___pyx_scope_struct_27_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_27_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_27_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_27_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_27_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_27_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_27_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_27_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_27_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_27_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_27_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_27_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_28_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_28_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_28_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_28_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_28_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_28_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_28_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_28_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_28_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_28_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_28_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_28_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_28_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_28_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_28_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_28_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_28_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_28_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_28_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_28_genexpr *)o;
  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_4cuda___pyx_scope_struct_28_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_28_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_28_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_28_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_28_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_28_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_28_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_28_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_28_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_28_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_28_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_28_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_29_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_29_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_29_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_29_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_29_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_29_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_29_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_29_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_29_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_29_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_29_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_29_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_29_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_29_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_29_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_29_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_29_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_29_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_29_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_29_genexpr *)o;
  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_4cuda___pyx_scope_struct_29_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_29_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_29_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_29_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_29_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_29_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_29_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_29_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_29_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_29_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_29_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_29_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_30_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_30_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_30_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_30_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_30_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_30_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_30_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_30_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_30_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_30_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_30_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_30_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_30_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_30_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_30_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_30_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_30_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_30_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_30_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_30_genexpr *)o;
  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_4cuda___pyx_scope_struct_30_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_30_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_30_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_30_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_30_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_30_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_30_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_30_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_30_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_30_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_30_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_30_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_31_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_31_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_31_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_31_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_31_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_31_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_31_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_31_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_31_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_31_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_31_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_31_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_31_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_31_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_31_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_31_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_31_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_31_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_31_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_31_genexpr *)o;
  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_4cuda___pyx_scope_struct_31_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_31_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_31_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_31_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_31_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_31_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_31_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_31_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_31_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_31_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_31_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_31_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_32_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_32_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_32_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_32_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_32_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_32_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_32_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_32_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_32_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_32_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_32_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_32_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_32_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_32_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_32_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_32_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_32_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_32_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_32_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_32_genexpr *)o;
  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_4cuda___pyx_scope_struct_32_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_32_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_32_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_32_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_32_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_32_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_32_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_32_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_32_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_32_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_32_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_32_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_33_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_33_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_33_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_33_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_33_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_33_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_33_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_33_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_33_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_33_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_33_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_33_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_33_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_33_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_33_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_33_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_33_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_33_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_33_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_33_genexpr *)o;
  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_4cuda___pyx_scope_struct_33_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_33_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_33_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_33_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_33_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_33_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_33_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_33_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_33_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_33_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_33_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_33_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_34_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_34_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_34_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_34_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_34_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_34_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_34_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_34_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_34_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_34_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_34_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_34_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_34_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_34_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_34_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_34_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_34_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_34_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_34_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_34_genexpr *)o;
  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_4cuda___pyx_scope_struct_34_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_34_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_34_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_34_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_34_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_34_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_34_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_34_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_34_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_34_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_34_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_34_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_35_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_35_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_35_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_35_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_35_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_35_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_35_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_35_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_35_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_35_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_35_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_35_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_35_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_35_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_35_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_35_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_35_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_35_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_35_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_35_genexpr *)o;
  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_4cuda___pyx_scope_struct_35_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_35_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_35_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_35_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_35_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_35_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_35_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_35_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_35_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_35_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_35_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_35_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_36_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_36_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_36_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_36_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_36_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_36_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_36_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_36_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_36_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_36_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_36_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_36_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_36_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_36_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_36_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_36_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_36_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_36_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_36_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_36_genexpr *)o;
  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_4cuda___pyx_scope_struct_36_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_36_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_36_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_36_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_36_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_36_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_36_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_36_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_36_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_36_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_36_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_36_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_37_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_37_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_37_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_37_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_37_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_37_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_37_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_37_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_37_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_37_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_37_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_37_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_37_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_37_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_37_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_37_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_37_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_37_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_37_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_37_genexpr *)o;
  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_4cuda___pyx_scope_struct_37_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_37_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_37_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_37_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_37_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_37_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_37_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_37_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_37_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_37_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_37_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_37_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_38_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_38_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_38_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_38_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_38_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_38_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_38_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_38_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_38_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_38_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_38_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_38_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_38_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_38_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_38_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_38_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_38_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_38_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_38_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_38_genexpr *)o;
  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_4cuda___pyx_scope_struct_38_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_38_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_38_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_38_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_38_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_38_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_38_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_38_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_38_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_38_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_38_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_38_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_39_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_39_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_39_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_39_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_39_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_39_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_39_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_39_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_39_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_39_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_39_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_39_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_39_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_39_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_39_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_39_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_39_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_39_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_39_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_39_genexpr *)o;
  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_4cuda___pyx_scope_struct_39_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_39_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_39_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_39_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_39_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_39_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_39_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_39_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_39_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_39_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_39_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_39_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_40_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_40_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_40_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_40_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_40_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_40_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_40_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_40_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_40_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_40_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_40_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_40_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_40_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_40_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_40_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_40_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_40_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_40_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_40_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_40_genexpr *)o;
  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_4cuda___pyx_scope_struct_40_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_40_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_40_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_40_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_40_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_40_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_40_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_40_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_40_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_40_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_40_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_40_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_41_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_41_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_41_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_41_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_41_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_41_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_41_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_41_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_41_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_41_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_41_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_41_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_41_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_41_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_41_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_41_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_41_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_41_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_41_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_41_genexpr *)o;
  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_4cuda___pyx_scope_struct_41_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_41_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_41_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_41_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_41_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_41_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_41_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_41_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_41_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_41_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_41_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_41_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_42_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_42_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_42_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_42_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_42_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_42_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_42_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_42_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_42_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_42_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_42_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_42_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_42_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_42_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_42_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_42_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_42_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_42_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_42_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_42_genexpr *)o;
  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_4cuda___pyx_scope_struct_42_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_42_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_42_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_42_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_42_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_42_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_42_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_42_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_42_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_42_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_42_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_42_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_43_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_43_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_43_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_43_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_43_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_43_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_43_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_43_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_43_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_43_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_43_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_43_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_43_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_43_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_43_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_43_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_43_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_43_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_43_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_43_genexpr *)o;
  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_4cuda___pyx_scope_struct_43_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_43_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_43_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_43_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_43_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_43_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_43_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_43_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_43_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_43_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_43_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_43_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_44_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_44_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_44_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_44_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_44_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_44_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_44_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_44_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_44_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_44_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_44_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_44_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_44_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_44_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_44_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_44_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_44_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_44_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_44_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_44_genexpr *)o;
  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_4cuda___pyx_scope_struct_44_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_44_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_44_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_44_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_44_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_44_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_44_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_44_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_44_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_44_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_44_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_44_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_45_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_45_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_45_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_45_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_45_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_45_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_45_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_45_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_45_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_45_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_45_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_45_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_45_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_45_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_45_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_45_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_45_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_45_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_45_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_45_genexpr *)o;
  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_4cuda___pyx_scope_struct_45_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_45_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_45_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_45_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_45_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_45_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_45_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_45_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_45_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_45_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_45_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_45_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_46_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_46_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_46_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_46_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_46_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_46_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_46_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_46_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_46_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_46_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_46_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_46_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_46_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_46_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_46_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_46_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_46_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_46_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_46_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_46_genexpr *)o;
  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_4cuda___pyx_scope_struct_46_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_46_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_46_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_46_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_46_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_46_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_46_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_46_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_46_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_46_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_46_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_46_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_47_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_47_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_47_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_47_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_47_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_47_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_47_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_47_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_47_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_47_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_47_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_47_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_47_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_47_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_47_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_47_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_47_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_47_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_47_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_47_genexpr *)o;
  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_4cuda___pyx_scope_struct_47_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_47_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_47_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_47_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_47_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_47_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_47_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_47_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_47_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_47_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_47_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_47_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_48_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_48_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_48_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_48_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_48_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_48_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_48_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_48_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_48_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_48_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_48_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_48_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_48_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_48_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_48_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_48_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_48_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_48_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_48_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_48_genexpr *)o;
  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_4cuda___pyx_scope_struct_48_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_48_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_48_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_48_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_48_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_48_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_48_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_48_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_48_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_48_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_48_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_48_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_49_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_49_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_49_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_49_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_49_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_49_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_49_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_49_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_49_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_49_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_49_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_49_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_49_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_49_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_49_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_49_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_49_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_49_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_49_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_49_genexpr *)o;
  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_4cuda___pyx_scope_struct_49_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_49_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_49_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_49_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_49_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_49_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_49_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_49_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_49_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_49_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_49_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_49_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_50_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_50_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_50_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_50_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_50_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_50_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_50_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_50_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_50_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_50_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_50_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_50_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_50_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_50_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_50_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_50_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_50_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_50_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_50_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_50_genexpr *)o;
  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_4cuda___pyx_scope_struct_50_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_50_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_50_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_50_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_50_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_50_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_50_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_50_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_50_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_50_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_50_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_50_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_51_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_51_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_51_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_51_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_51_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_51_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_51_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_51_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_51_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_51_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_51_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_51_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_51_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_51_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_51_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_51_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_51_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_51_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_51_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_51_genexpr *)o;
  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_4cuda___pyx_scope_struct_51_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_51_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_51_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_51_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_51_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_51_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_51_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_51_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_51_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_51_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_51_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_51_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_52_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_52_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_52_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_52_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_52_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_52_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_52_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_52_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_52_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_52_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_52_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_52_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_52_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_52_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_52_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_52_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_52_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_52_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_52_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_52_genexpr *)o;
  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_4cuda___pyx_scope_struct_52_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_52_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_52_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_52_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_52_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_52_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_52_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_52_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_52_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_52_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_52_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_52_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_53_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_53_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_53_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_53_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_53_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_53_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_53_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_53_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_53_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_53_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_53_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_53_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_53_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_53_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_53_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_53_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_53_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_53_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_53_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_53_genexpr *)o;
  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_4cuda___pyx_scope_struct_53_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_53_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_53_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_53_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_53_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_53_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_53_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_53_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_53_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_53_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_53_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_53_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_54_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_54_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_54_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_54_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_54_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_54_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_54_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_54_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_54_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_54_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_54_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_54_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_54_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_54_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_54_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_54_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_54_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_54_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_54_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_54_genexpr *)o;
  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_4cuda___pyx_scope_struct_54_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_54_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_54_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_54_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_54_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_54_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_54_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_54_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_54_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_54_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_54_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_54_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_55_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_55_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_55_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_55_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_55_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_55_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_55_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_55_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_55_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_55_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_55_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_55_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_55_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_55_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_55_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_55_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_55_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_55_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_55_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_55_genexpr *)o;
  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_4cuda___pyx_scope_struct_55_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_55_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_55_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_55_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_55_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_55_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_55_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_55_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_55_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_55_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_55_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_55_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_56_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_56_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_56_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_56_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_56_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_56_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_56_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_56_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_56_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_56_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_56_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_56_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_56_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_56_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_56_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_56_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_56_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_56_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_56_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_56_genexpr *)o;
  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_4cuda___pyx_scope_struct_56_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_56_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_56_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_56_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_56_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_56_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_56_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_56_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_56_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_56_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_56_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_56_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_57_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_57_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_57_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_57_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_57_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_57_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_57_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_57_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_57_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_57_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_57_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_57_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_57_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_57_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_57_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_57_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_57_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_57_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_57_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_57_genexpr *)o;
  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_4cuda___pyx_scope_struct_57_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_57_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_57_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_57_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_57_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_57_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_57_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_57_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_57_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_57_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_57_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_57_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_58_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_58_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_58_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_58_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_58_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_58_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_58_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_58_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_58_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_58_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_58_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_58_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_58_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_58_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_58_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_58_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_58_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_58_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_58_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_58_genexpr *)o;
  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_4cuda___pyx_scope_struct_58_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_58_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_58_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_58_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_58_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_58_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_58_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_58_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_58_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_58_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_58_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_58_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_59_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_59_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_59_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_59_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_59_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_59_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_59_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_59_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_59_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_59_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_59_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_59_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_59_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_59_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_59_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_59_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_59_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_59_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_59_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_59_genexpr *)o;
  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_4cuda___pyx_scope_struct_59_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_59_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_59_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_59_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_59_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_59_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_59_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_59_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_59_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_59_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_59_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_59_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_60_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_60_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_60_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_60_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_60_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_60_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_60_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_60_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_60_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_60_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_60_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_60_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_60_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_60_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_60_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_60_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_60_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_60_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_60_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_60_genexpr *)o;
  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_4cuda___pyx_scope_struct_60_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_60_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_60_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_60_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_60_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_60_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_60_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_60_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_60_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_60_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_60_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_60_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_61_genexpr *__pyx_freelist_4cuda_4cuda___pyx_scope_struct_61_genexpr[8];
static int __pyx_freecount_4cuda_4cuda___pyx_scope_struct_61_genexpr = 0;

static PyObject *__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_61_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_COMPILING_IN_LIMITED_API
  allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
  o = alloc_func(t, 0);
  #else
  #if CYTHON_COMPILING_IN_CPYTHON
  if (likely((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_61_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_61_genexpr)))) {
    o = (PyObject*)__pyx_freelist_4cuda_4cuda___pyx_scope_struct_61_genexpr[--__pyx_freecount_4cuda_4cuda___pyx_scope_struct_61_genexpr];
    memset(o, 0, sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_61_genexpr));
    (void) PyObject_INIT(o, t);
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = (*t->tp_alloc)(t, 0);
    if (unlikely(!o)) return 0;
  }
  #endif
  return o;
}

static void __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_61_genexpr(PyObject *o) {
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_61_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_61_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_4cuda_4cuda___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__x);
  #if CYTHON_COMPILING_IN_CPYTHON
  if (((int)(__pyx_freecount_4cuda_4cuda___pyx_scope_struct_61_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_61_genexpr)))) {
    __pyx_freelist_4cuda_4cuda___pyx_scope_struct_61_genexpr[__pyx_freecount_4cuda_4cuda___pyx_scope_struct_61_genexpr++] = ((struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_61_genexpr *)o);
  } else
  #endif
  {
    #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
    (*Py_TYPE(o)->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
  }
}

static int __pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_61_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_61_genexpr *p = (struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_61_genexpr *)o;
  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_4cuda___pyx_scope_struct_61_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_61_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_4cuda_4cuda___pyx_scope_struct_61_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_4cuda_4cuda___pyx_scope_struct_61_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_4cuda_4cuda___pyx_scope_struct_61_genexpr_spec = {
  "cuda.cuda.__pyx_scope_struct_61_genexpr",
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_61_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
  __pyx_type_4cuda_4cuda___pyx_scope_struct_61_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_4cuda_4cuda___pyx_scope_struct_61_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "cuda.cuda.""__pyx_scope_struct_61_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_4cuda_4cuda___pyx_scope_struct_61_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4cuda_4cuda___pyx_scope_struct_61_genexpr, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_4cuda_4cuda___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_4cuda___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 PY_VERSION_HEX >= 0x030400a1
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #endif
  #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #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}
};
#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
/* #### Code section: pystring_table ### */

static int __Pyx_CreateStringTabAndInitStrings(void) {
  __Pyx_StringTabEntry __pyx_string_tab[] = {
    {&__pyx_kp_u_, __pyx_k_, sizeof(__pyx_k_), 0, 1, 0, 0},
    {&__pyx_kp_s_Access_flags_that_specify_the_l, __pyx_k_Access_flags_that_specify_the_l, sizeof(__pyx_k_Access_flags_that_specify_the_l), 0, 0, 1, 0},
    {&__pyx_n_s_Any, __pyx_k_Any, sizeof(__pyx_k_Any), 0, 0, 1, 1},
    {&__pyx_kp_u_Argument_attributes_is_not_insta, __pyx_k_Argument_attributes_is_not_insta, sizeof(__pyx_k_Argument_attributes_is_not_insta), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_attributes_is_not_insta_2, __pyx_k_Argument_attributes_is_not_insta_2, sizeof(__pyx_k_Argument_attributes_is_not_insta_2), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_boxDim_is_not_instance, __pyx_k_Argument_boxDim_is_not_instance, sizeof(__pyx_k_Argument_boxDim_is_not_instance), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_conn_is_not_instance_of, __pyx_k_Argument_conn_is_not_instance_of, sizeof(__pyx_k_Argument_conn_is_not_instance_of), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_dataSizes_is_not_instan, __pyx_k_Argument_dataSizes_is_not_instan, sizeof(__pyx_k_Argument_dataSizes_is_not_instan), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_dependencies_is_not_ins, __pyx_k_Argument_dependencies_is_not_ins, sizeof(__pyx_k_Argument_dependencies_is_not_ins), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_dependencyData_is_not_i, __pyx_k_Argument_dependencyData_is_not_i, sizeof(__pyx_k_Argument_dependencyData_is_not_i), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_desc_is_not_instance_of, __pyx_k_Argument_desc_is_not_instance_of, sizeof(__pyx_k_Argument_desc_is_not_instance_of), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_edgeData_is_not_instanc, __pyx_k_Argument_edgeData_is_not_instanc, sizeof(__pyx_k_Argument_edgeData_is_not_instanc), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_elementStrides_is_not_i, __pyx_k_Argument_elementStrides_is_not_i, sizeof(__pyx_k_Argument_elementStrides_is_not_i), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_extSemArray_is_not_inst, __pyx_k_Argument_extSemArray_is_not_inst, sizeof(__pyx_k_Argument_extSemArray_is_not_inst), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_from__is_not_instance_o, __pyx_k_Argument_from__is_not_instance_o, sizeof(__pyx_k_Argument_from__is_not_instance_o), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_globalDim_is_not_instan, __pyx_k_Argument_globalDim_is_not_instan, sizeof(__pyx_k_Argument_globalDim_is_not_instan), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_globalStrides_is_not_in, __pyx_k_Argument_globalStrides_is_not_in, sizeof(__pyx_k_Argument_globalStrides_is_not_in), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_jitOptions_is_not_insta, __pyx_k_Argument_jitOptions_is_not_insta, sizeof(__pyx_k_Argument_jitOptions_is_not_insta), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_launchParamsList_is_not, __pyx_k_Argument_launchParamsList_is_not, sizeof(__pyx_k_Argument_launchParamsList_is_not), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_libraryOptions_is_not_i, __pyx_k_Argument_libraryOptions_is_not_i, sizeof(__pyx_k_Argument_libraryOptions_is_not_i), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_mapInfoList_is_not_inst, __pyx_k_Argument_mapInfoList_is_not_inst, sizeof(__pyx_k_Argument_mapInfoList_is_not_inst), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_map_is_not_instance_of, __pyx_k_Argument_map_is_not_instance_of, sizeof(__pyx_k_Argument_map_is_not_instance_of), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_options_is_not_instance, __pyx_k_Argument_options_is_not_instance, sizeof(__pyx_k_Argument_options_is_not_instance), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_pCudaResource_is_not_in, __pyx_k_Argument_pCudaResource_is_not_in, sizeof(__pyx_k_Argument_pCudaResource_is_not_in), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_pStream_is_not_instance, __pyx_k_Argument_pStream_is_not_instance, sizeof(__pyx_k_Argument_pStream_is_not_instance), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_paramArray_is_not_insta, __pyx_k_Argument_paramArray_is_not_insta, sizeof(__pyx_k_Argument_paramArray_is_not_insta), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_paramsArray_is_not_inst, __pyx_k_Argument_paramsArray_is_not_inst, sizeof(__pyx_k_Argument_paramsArray_is_not_inst), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_paramsArray_is_not_inst_2, __pyx_k_Argument_paramsArray_is_not_inst_2, sizeof(__pyx_k_Argument_paramsArray_is_not_inst_2), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_paramsArray_is_not_inst_3, __pyx_k_Argument_paramsArray_is_not_inst_3, sizeof(__pyx_k_Argument_paramsArray_is_not_inst_3), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_pixelBoxLowerCorner_is, __pyx_k_Argument_pixelBoxLowerCorner_is, sizeof(__pyx_k_Argument_pixelBoxLowerCorner_is), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_pixelBoxUpperCorner_is, __pyx_k_Argument_pixelBoxUpperCorner_is, sizeof(__pyx_k_Argument_pixelBoxUpperCorner_is), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_resources_is_not_instan, __pyx_k_Argument_resources_is_not_instan, sizeof(__pyx_k_Argument_resources_is_not_instan), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_resources_is_not_instan_2, __pyx_k_Argument_resources_is_not_instan_2, sizeof(__pyx_k_Argument_resources_is_not_instan_2), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_to_is_not_instance_of_t, __pyx_k_Argument_to_is_not_instance_of_t, sizeof(__pyx_k_Argument_to_is_not_instance_of_t), 0, 1, 0, 0},
    {&__pyx_kp_u_Argument_vdpGetProcAddress_is_no, __pyx_k_Argument_vdpGetProcAddress_is_no, sizeof(__pyx_k_Argument_vdpGetProcAddress_is_no), 0, 1, 0, 0},
    {&__pyx_kp_s_Array_formats, __pyx_k_Array_formats, sizeof(__pyx_k_Array_formats), 0, 0, 1, 0},
    {&__pyx_kp_s_Array_indices_for_cube_faces, __pyx_k_Array_indices_for_cube_faces, sizeof(__pyx_k_Array_indices_for_cube_faces), 0, 0, 1, 0},
    {&__pyx_kp_s_Bitmasks_for_py_obj_CU_DEVICE_A, __pyx_k_Bitmasks_for_py_obj_CU_DEVICE_A, sizeof(__pyx_k_Bitmasks_for_py_obj_CU_DEVICE_A), 0, 0, 1, 0},
    {&__pyx_n_s_ByteCount, __pyx_k_ByteCount, sizeof(__pyx_k_ByteCount), 0, 0, 1, 1},
    {&__pyx_n_s_ByteOffset, __pyx_k_ByteOffset, sizeof(__pyx_k_ByteOffset), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY3D_2DARRAY, __pyx_k_CUDA_ARRAY3D_2DARRAY, sizeof(__pyx_k_CUDA_ARRAY3D_2DARRAY), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY3D_COLOR_ATTACHMENT, __pyx_k_CUDA_ARRAY3D_COLOR_ATTACHMENT, sizeof(__pyx_k_CUDA_ARRAY3D_COLOR_ATTACHMENT), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY3D_CUBEMAP, __pyx_k_CUDA_ARRAY3D_CUBEMAP, sizeof(__pyx_k_CUDA_ARRAY3D_CUBEMAP), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY3D_DEFERRED_MAPPING, __pyx_k_CUDA_ARRAY3D_DEFERRED_MAPPING, sizeof(__pyx_k_CUDA_ARRAY3D_DEFERRED_MAPPING), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY3D_DEPTH_TEXTURE, __pyx_k_CUDA_ARRAY3D_DEPTH_TEXTURE, sizeof(__pyx_k_CUDA_ARRAY3D_DEPTH_TEXTURE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR, __pyx_k_CUDA_ARRAY3D_DESCRIPTOR, sizeof(__pyx_k_CUDA_ARRAY3D_DESCRIPTOR), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st, __pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st, sizeof(__pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st___red, __pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st___red, sizeof(__pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st___red), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st___set, __pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st___set, sizeof(__pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st___set), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st_getPt, __pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st_getPt, sizeof(__pyx_k_CUDA_ARRAY3D_DESCRIPTOR_st_getPt), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_v2, __pyx_k_CUDA_ARRAY3D_DESCRIPTOR_v2, sizeof(__pyx_k_CUDA_ARRAY3D_DESCRIPTOR_v2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY3D_LAYERED, __pyx_k_CUDA_ARRAY3D_LAYERED, sizeof(__pyx_k_CUDA_ARRAY3D_LAYERED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY3D_SPARSE, __pyx_k_CUDA_ARRAY3D_SPARSE, sizeof(__pyx_k_CUDA_ARRAY3D_SPARSE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY3D_SURFACE_LDST, __pyx_k_CUDA_ARRAY3D_SURFACE_LDST, sizeof(__pyx_k_CUDA_ARRAY3D_SURFACE_LDST), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY3D_TEXTURE_GATHER, __pyx_k_CUDA_ARRAY3D_TEXTURE_GATHER, sizeof(__pyx_k_CUDA_ARRAY3D_TEXTURE_GATHER), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_DESCRIPTOR, __pyx_k_CUDA_ARRAY_DESCRIPTOR, sizeof(__pyx_k_CUDA_ARRAY_DESCRIPTOR), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st, __pyx_k_CUDA_ARRAY_DESCRIPTOR_st, sizeof(__pyx_k_CUDA_ARRAY_DESCRIPTOR_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st___reduc, __pyx_k_CUDA_ARRAY_DESCRIPTOR_st___reduc, sizeof(__pyx_k_CUDA_ARRAY_DESCRIPTOR_st___reduc), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st___setst, __pyx_k_CUDA_ARRAY_DESCRIPTOR_st___setst, sizeof(__pyx_k_CUDA_ARRAY_DESCRIPTOR_st___setst), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st_getPtr, __pyx_k_CUDA_ARRAY_DESCRIPTOR_st_getPtr, sizeof(__pyx_k_CUDA_ARRAY_DESCRIPTOR_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_DESCRIPTOR_v2, __pyx_k_CUDA_ARRAY_DESCRIPTOR_v2, sizeof(__pyx_k_CUDA_ARRAY_DESCRIPTOR_v2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS, __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS, sizeof(__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s, __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s, sizeof(__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_2, __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_2, sizeof(__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_3, __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_3, sizeof(__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_4, __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_4, sizeof(__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_v, __pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_v, sizeof(__pyx_k_CUDA_ARRAY_MEMORY_REQUIREMENTS_v), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES, __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES, sizeof(__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st, __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st, sizeof(__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_2, __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_2, sizeof(__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_3, __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_3, sizeof(__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_4, __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_4, sizeof(__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_st_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_v1, __pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_v1, sizeof(__pyx_k_CUDA_ARRAY_SPARSE_PROPERTIES_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS, __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1, __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_2, __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_2, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_3, __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_3, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_4, __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_4, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_5, __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_5, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_5), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2, __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_2, __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_2, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_3, __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_3, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_4, __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_4, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_5, __pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_5, sizeof(__pyx_k_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_5), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS, __pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS, sizeof(__pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st, __pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_2, __pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_2, sizeof(__pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_3, __pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_3, sizeof(__pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_4, __pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_4, sizeof(__pyx_k_CUDA_CHILD_GRAPH_NODE_PARAMS_st_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS, __pyx_k_CUDA_CONDITIONAL_NODE_PARAMS, sizeof(__pyx_k_CUDA_CONDITIONAL_NODE_PARAMS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS___r, __pyx_k_CUDA_CONDITIONAL_NODE_PARAMS___r, sizeof(__pyx_k_CUDA_CONDITIONAL_NODE_PARAMS___r), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS___s, __pyx_k_CUDA_CONDITIONAL_NODE_PARAMS___s, sizeof(__pyx_k_CUDA_CONDITIONAL_NODE_PARAMS___s), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS_get, __pyx_k_CUDA_CONDITIONAL_NODE_PARAMS_get, sizeof(__pyx_k_CUDA_CONDITIONAL_NODE_PARAMS_get), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_COOPERATIVE_LAUNCH_MULTI_DE, __pyx_k_CUDA_COOPERATIVE_LAUNCH_MULTI_DE, sizeof(__pyx_k_CUDA_COOPERATIVE_LAUNCH_MULTI_DE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_COOPERATIVE_LAUNCH_MULTI_DE_2, __pyx_k_CUDA_COOPERATIVE_LAUNCH_MULTI_DE_2, sizeof(__pyx_k_CUDA_COOPERATIVE_LAUNCH_MULTI_DE_2), 0, 0, 1, 1},
    {&__pyx_kp_s_CUDA_EGL_Color_Format_The_diffe, __pyx_k_CUDA_EGL_Color_Format_The_diffe, sizeof(__pyx_k_CUDA_EGL_Color_Format_The_diffe), 0, 0, 1, 0},
    {&__pyx_n_s_CUDA_EGL_INFINITE_TIMEOUT, __pyx_k_CUDA_EGL_INFINITE_TIMEOUT, sizeof(__pyx_k_CUDA_EGL_INFINITE_TIMEOUT), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_ALREADY_ACQUIRED, __pyx_k_CUDA_ERROR_ALREADY_ACQUIRED, sizeof(__pyx_k_CUDA_ERROR_ALREADY_ACQUIRED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_ALREADY_MAPPED, __pyx_k_CUDA_ERROR_ALREADY_MAPPED, sizeof(__pyx_k_CUDA_ERROR_ALREADY_MAPPED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_ARRAY_IS_MAPPED, __pyx_k_CUDA_ERROR_ARRAY_IS_MAPPED, sizeof(__pyx_k_CUDA_ERROR_ARRAY_IS_MAPPED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_ASSERT, __pyx_k_CUDA_ERROR_ASSERT, sizeof(__pyx_k_CUDA_ERROR_ASSERT), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_CAPTURED_EVENT, __pyx_k_CUDA_ERROR_CAPTURED_EVENT, sizeof(__pyx_k_CUDA_ERROR_CAPTURED_EVENT), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_CDP_NOT_SUPPORTED, __pyx_k_CUDA_ERROR_CDP_NOT_SUPPORTED, sizeof(__pyx_k_CUDA_ERROR_CDP_NOT_SUPPORTED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_CDP_VERSION_MISMATCH, __pyx_k_CUDA_ERROR_CDP_VERSION_MISMATCH, sizeof(__pyx_k_CUDA_ERROR_CDP_VERSION_MISMATCH), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_COMPAT_NOT_SUPPORTED, __pyx_k_CUDA_ERROR_COMPAT_NOT_SUPPORTED, sizeof(__pyx_k_CUDA_ERROR_COMPAT_NOT_SUPPORTED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_CONTEXT_ALREADY_CURRE, __pyx_k_CUDA_ERROR_CONTEXT_ALREADY_CURRE, sizeof(__pyx_k_CUDA_ERROR_CONTEXT_ALREADY_CURRE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_CONTEXT_ALREADY_IN_US, __pyx_k_CUDA_ERROR_CONTEXT_ALREADY_IN_US, sizeof(__pyx_k_CUDA_ERROR_CONTEXT_ALREADY_IN_US), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_CONTEXT_IS_DESTROYED, __pyx_k_CUDA_ERROR_CONTEXT_IS_DESTROYED, sizeof(__pyx_k_CUDA_ERROR_CONTEXT_IS_DESTROYED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_COOPERATIVE_LAUNCH_TO, __pyx_k_CUDA_ERROR_COOPERATIVE_LAUNCH_TO, sizeof(__pyx_k_CUDA_ERROR_COOPERATIVE_LAUNCH_TO), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_DEINITIALIZED, __pyx_k_CUDA_ERROR_DEINITIALIZED, sizeof(__pyx_k_CUDA_ERROR_DEINITIALIZED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_DEVICE_NOT_LICENSED, __pyx_k_CUDA_ERROR_DEVICE_NOT_LICENSED, sizeof(__pyx_k_CUDA_ERROR_DEVICE_NOT_LICENSED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_DEVICE_UNAVAILABLE, __pyx_k_CUDA_ERROR_DEVICE_UNAVAILABLE, sizeof(__pyx_k_CUDA_ERROR_DEVICE_UNAVAILABLE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_ECC_UNCORRECTABLE, __pyx_k_CUDA_ERROR_ECC_UNCORRECTABLE, sizeof(__pyx_k_CUDA_ERROR_ECC_UNCORRECTABLE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_EXTERNAL_DEVICE, __pyx_k_CUDA_ERROR_EXTERNAL_DEVICE, sizeof(__pyx_k_CUDA_ERROR_EXTERNAL_DEVICE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_FILE_NOT_FOUND, __pyx_k_CUDA_ERROR_FILE_NOT_FOUND, sizeof(__pyx_k_CUDA_ERROR_FILE_NOT_FOUND), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_FUNCTION_NOT_LOADED, __pyx_k_CUDA_ERROR_FUNCTION_NOT_LOADED, sizeof(__pyx_k_CUDA_ERROR_FUNCTION_NOT_LOADED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAI, __pyx_k_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAI, sizeof(__pyx_k_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAI), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_HARDWARE_STACK_ERROR, __pyx_k_CUDA_ERROR_HARDWARE_STACK_ERROR, sizeof(__pyx_k_CUDA_ERROR_HARDWARE_STACK_ERROR), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_HOST_MEMORY_ALREADY_R, __pyx_k_CUDA_ERROR_HOST_MEMORY_ALREADY_R, sizeof(__pyx_k_CUDA_ERROR_HOST_MEMORY_ALREADY_R), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_HOST_MEMORY_NOT_REGIS, __pyx_k_CUDA_ERROR_HOST_MEMORY_NOT_REGIS, sizeof(__pyx_k_CUDA_ERROR_HOST_MEMORY_NOT_REGIS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_ILLEGAL_ADDRESS, __pyx_k_CUDA_ERROR_ILLEGAL_ADDRESS, sizeof(__pyx_k_CUDA_ERROR_ILLEGAL_ADDRESS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_ILLEGAL_INSTRUCTION, __pyx_k_CUDA_ERROR_ILLEGAL_INSTRUCTION, sizeof(__pyx_k_CUDA_ERROR_ILLEGAL_INSTRUCTION), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_ILLEGAL_STATE, __pyx_k_CUDA_ERROR_ILLEGAL_STATE, sizeof(__pyx_k_CUDA_ERROR_ILLEGAL_STATE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_INVALID_ADDRESS_SPACE, __pyx_k_CUDA_ERROR_INVALID_ADDRESS_SPACE, sizeof(__pyx_k_CUDA_ERROR_INVALID_ADDRESS_SPACE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_INVALID_CLUSTER_SIZE, __pyx_k_CUDA_ERROR_INVALID_CLUSTER_SIZE, sizeof(__pyx_k_CUDA_ERROR_INVALID_CLUSTER_SIZE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_INVALID_CONTEXT, __pyx_k_CUDA_ERROR_INVALID_CONTEXT, sizeof(__pyx_k_CUDA_ERROR_INVALID_CONTEXT), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_INVALID_DEVICE, __pyx_k_CUDA_ERROR_INVALID_DEVICE, sizeof(__pyx_k_CUDA_ERROR_INVALID_DEVICE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_INVALID_GRAPHICS_CONT, __pyx_k_CUDA_ERROR_INVALID_GRAPHICS_CONT, sizeof(__pyx_k_CUDA_ERROR_INVALID_GRAPHICS_CONT), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_INVALID_HANDLE, __pyx_k_CUDA_ERROR_INVALID_HANDLE, sizeof(__pyx_k_CUDA_ERROR_INVALID_HANDLE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_INVALID_IMAGE, __pyx_k_CUDA_ERROR_INVALID_IMAGE, sizeof(__pyx_k_CUDA_ERROR_INVALID_IMAGE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_INVALID_PC, __pyx_k_CUDA_ERROR_INVALID_PC, sizeof(__pyx_k_CUDA_ERROR_INVALID_PC), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_INVALID_PTX, __pyx_k_CUDA_ERROR_INVALID_PTX, sizeof(__pyx_k_CUDA_ERROR_INVALID_PTX), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_INVALID_RESOURCE_CONF, __pyx_k_CUDA_ERROR_INVALID_RESOURCE_CONF, sizeof(__pyx_k_CUDA_ERROR_INVALID_RESOURCE_CONF), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_INVALID_RESOURCE_TYPE, __pyx_k_CUDA_ERROR_INVALID_RESOURCE_TYPE, sizeof(__pyx_k_CUDA_ERROR_INVALID_RESOURCE_TYPE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_INVALID_SOURCE, __pyx_k_CUDA_ERROR_INVALID_SOURCE, sizeof(__pyx_k_CUDA_ERROR_INVALID_SOURCE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_INVALID_VALUE, __pyx_k_CUDA_ERROR_INVALID_VALUE, sizeof(__pyx_k_CUDA_ERROR_INVALID_VALUE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_JIT_COMPILATION_DISAB, __pyx_k_CUDA_ERROR_JIT_COMPILATION_DISAB, sizeof(__pyx_k_CUDA_ERROR_JIT_COMPILATION_DISAB), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_JIT_COMPILER_NOT_FOUN, __pyx_k_CUDA_ERROR_JIT_COMPILER_NOT_FOUN, sizeof(__pyx_k_CUDA_ERROR_JIT_COMPILER_NOT_FOUN), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_LAUNCH_FAILED, __pyx_k_CUDA_ERROR_LAUNCH_FAILED, sizeof(__pyx_k_CUDA_ERROR_LAUNCH_FAILED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_LAUNCH_INCOMPATIBLE_T, __pyx_k_CUDA_ERROR_LAUNCH_INCOMPATIBLE_T, sizeof(__pyx_k_CUDA_ERROR_LAUNCH_INCOMPATIBLE_T), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_LAUNCH_OUT_OF_RESOURC, __pyx_k_CUDA_ERROR_LAUNCH_OUT_OF_RESOURC, sizeof(__pyx_k_CUDA_ERROR_LAUNCH_OUT_OF_RESOURC), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_LAUNCH_TIMEOUT, __pyx_k_CUDA_ERROR_LAUNCH_TIMEOUT, sizeof(__pyx_k_CUDA_ERROR_LAUNCH_TIMEOUT), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_LOSSY_QUERY, __pyx_k_CUDA_ERROR_LOSSY_QUERY, sizeof(__pyx_k_CUDA_ERROR_LOSSY_QUERY), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_MAP_FAILED, __pyx_k_CUDA_ERROR_MAP_FAILED, sizeof(__pyx_k_CUDA_ERROR_MAP_FAILED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_MISALIGNED_ADDRESS, __pyx_k_CUDA_ERROR_MISALIGNED_ADDRESS, sizeof(__pyx_k_CUDA_ERROR_MISALIGNED_ADDRESS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_MPS_CLIENT_TERMINATED, __pyx_k_CUDA_ERROR_MPS_CLIENT_TERMINATED, sizeof(__pyx_k_CUDA_ERROR_MPS_CLIENT_TERMINATED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_MPS_CONNECTION_FAILED, __pyx_k_CUDA_ERROR_MPS_CONNECTION_FAILED, sizeof(__pyx_k_CUDA_ERROR_MPS_CONNECTION_FAILED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_MPS_MAX_CLIENTS_REACH, __pyx_k_CUDA_ERROR_MPS_MAX_CLIENTS_REACH, sizeof(__pyx_k_CUDA_ERROR_MPS_MAX_CLIENTS_REACH), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_MPS_MAX_CONNECTIONS_R, __pyx_k_CUDA_ERROR_MPS_MAX_CONNECTIONS_R, sizeof(__pyx_k_CUDA_ERROR_MPS_MAX_CONNECTIONS_R), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_MPS_RPC_FAILURE, __pyx_k_CUDA_ERROR_MPS_RPC_FAILURE, sizeof(__pyx_k_CUDA_ERROR_MPS_RPC_FAILURE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_MPS_SERVER_NOT_READY, __pyx_k_CUDA_ERROR_MPS_SERVER_NOT_READY, sizeof(__pyx_k_CUDA_ERROR_MPS_SERVER_NOT_READY), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_NOT_FOUND, __pyx_k_CUDA_ERROR_NOT_FOUND, sizeof(__pyx_k_CUDA_ERROR_NOT_FOUND), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_NOT_INITIALIZED, __pyx_k_CUDA_ERROR_NOT_INITIALIZED, sizeof(__pyx_k_CUDA_ERROR_NOT_INITIALIZED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_NOT_MAPPED, __pyx_k_CUDA_ERROR_NOT_MAPPED, sizeof(__pyx_k_CUDA_ERROR_NOT_MAPPED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_NOT_MAPPED_AS_ARRAY, __pyx_k_CUDA_ERROR_NOT_MAPPED_AS_ARRAY, sizeof(__pyx_k_CUDA_ERROR_NOT_MAPPED_AS_ARRAY), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_NOT_MAPPED_AS_POINTER, __pyx_k_CUDA_ERROR_NOT_MAPPED_AS_POINTER, sizeof(__pyx_k_CUDA_ERROR_NOT_MAPPED_AS_POINTER), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_NOT_PERMITTED, __pyx_k_CUDA_ERROR_NOT_PERMITTED, sizeof(__pyx_k_CUDA_ERROR_NOT_PERMITTED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_NOT_READY, __pyx_k_CUDA_ERROR_NOT_READY, sizeof(__pyx_k_CUDA_ERROR_NOT_READY), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_NOT_SUPPORTED, __pyx_k_CUDA_ERROR_NOT_SUPPORTED, sizeof(__pyx_k_CUDA_ERROR_NOT_SUPPORTED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_NO_BINARY_FOR_GPU, __pyx_k_CUDA_ERROR_NO_BINARY_FOR_GPU, sizeof(__pyx_k_CUDA_ERROR_NO_BINARY_FOR_GPU), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_NO_DEVICE, __pyx_k_CUDA_ERROR_NO_DEVICE, sizeof(__pyx_k_CUDA_ERROR_NO_DEVICE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_NVLINK_UNCORRECTABLE, __pyx_k_CUDA_ERROR_NVLINK_UNCORRECTABLE, sizeof(__pyx_k_CUDA_ERROR_NVLINK_UNCORRECTABLE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_OPERATING_SYSTEM, __pyx_k_CUDA_ERROR_OPERATING_SYSTEM, sizeof(__pyx_k_CUDA_ERROR_OPERATING_SYSTEM), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_OUT_OF_MEMORY, __pyx_k_CUDA_ERROR_OUT_OF_MEMORY, sizeof(__pyx_k_CUDA_ERROR_OUT_OF_MEMORY), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_PEER_ACCESS_ALREADY_E, __pyx_k_CUDA_ERROR_PEER_ACCESS_ALREADY_E, sizeof(__pyx_k_CUDA_ERROR_PEER_ACCESS_ALREADY_E), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_PEER_ACCESS_NOT_ENABL, __pyx_k_CUDA_ERROR_PEER_ACCESS_NOT_ENABL, sizeof(__pyx_k_CUDA_ERROR_PEER_ACCESS_NOT_ENABL), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_PEER_ACCESS_UNSUPPORT, __pyx_k_CUDA_ERROR_PEER_ACCESS_UNSUPPORT, sizeof(__pyx_k_CUDA_ERROR_PEER_ACCESS_UNSUPPORT), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_PRIMARY_CONTEXT_ACTIV, __pyx_k_CUDA_ERROR_PRIMARY_CONTEXT_ACTIV, sizeof(__pyx_k_CUDA_ERROR_PRIMARY_CONTEXT_ACTIV), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_PROFILER_ALREADY_STAR, __pyx_k_CUDA_ERROR_PROFILER_ALREADY_STAR, sizeof(__pyx_k_CUDA_ERROR_PROFILER_ALREADY_STAR), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_PROFILER_ALREADY_STOP, __pyx_k_CUDA_ERROR_PROFILER_ALREADY_STOP, sizeof(__pyx_k_CUDA_ERROR_PROFILER_ALREADY_STOP), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_PROFILER_DISABLED, __pyx_k_CUDA_ERROR_PROFILER_DISABLED, sizeof(__pyx_k_CUDA_ERROR_PROFILER_DISABLED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_PROFILER_NOT_INITIALI, __pyx_k_CUDA_ERROR_PROFILER_NOT_INITIALI, sizeof(__pyx_k_CUDA_ERROR_PROFILER_NOT_INITIALI), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_SHARED_OBJECT_INIT_FA, __pyx_k_CUDA_ERROR_SHARED_OBJECT_INIT_FA, sizeof(__pyx_k_CUDA_ERROR_SHARED_OBJECT_INIT_FA), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_SHARED_OBJECT_SYMBOL, __pyx_k_CUDA_ERROR_SHARED_OBJECT_SYMBOL, sizeof(__pyx_k_CUDA_ERROR_SHARED_OBJECT_SYMBOL), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_IMPLIC, __pyx_k_CUDA_ERROR_STREAM_CAPTURE_IMPLIC, sizeof(__pyx_k_CUDA_ERROR_STREAM_CAPTURE_IMPLIC), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_INVALI, __pyx_k_CUDA_ERROR_STREAM_CAPTURE_INVALI, sizeof(__pyx_k_CUDA_ERROR_STREAM_CAPTURE_INVALI), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_ISOLAT, __pyx_k_CUDA_ERROR_STREAM_CAPTURE_ISOLAT, sizeof(__pyx_k_CUDA_ERROR_STREAM_CAPTURE_ISOLAT), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_MERGE, __pyx_k_CUDA_ERROR_STREAM_CAPTURE_MERGE, sizeof(__pyx_k_CUDA_ERROR_STREAM_CAPTURE_MERGE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNJOIN, __pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNJOIN, sizeof(__pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNJOIN), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNMATC, __pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNMATC, sizeof(__pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNMATC), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNSUPP, __pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNSUPP, sizeof(__pyx_k_CUDA_ERROR_STREAM_CAPTURE_UNSUPP), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_WRONG, __pyx_k_CUDA_ERROR_STREAM_CAPTURE_WRONG, sizeof(__pyx_k_CUDA_ERROR_STREAM_CAPTURE_WRONG), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_STUB_LIBRARY, __pyx_k_CUDA_ERROR_STUB_LIBRARY, sizeof(__pyx_k_CUDA_ERROR_STUB_LIBRARY), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_SYSTEM_DRIVER_MISMATC, __pyx_k_CUDA_ERROR_SYSTEM_DRIVER_MISMATC, sizeof(__pyx_k_CUDA_ERROR_SYSTEM_DRIVER_MISMATC), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_SYSTEM_NOT_READY, __pyx_k_CUDA_ERROR_SYSTEM_NOT_READY, sizeof(__pyx_k_CUDA_ERROR_SYSTEM_NOT_READY), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_TIMEOUT, __pyx_k_CUDA_ERROR_TIMEOUT, sizeof(__pyx_k_CUDA_ERROR_TIMEOUT), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_TOO_MANY_PEERS, __pyx_k_CUDA_ERROR_TOO_MANY_PEERS, sizeof(__pyx_k_CUDA_ERROR_TOO_MANY_PEERS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_UNKNOWN, __pyx_k_CUDA_ERROR_UNKNOWN, sizeof(__pyx_k_CUDA_ERROR_UNKNOWN), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_UNMAP_FAILED, __pyx_k_CUDA_ERROR_UNMAP_FAILED, sizeof(__pyx_k_CUDA_ERROR_UNMAP_FAILED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_UNSUPPORTED_DEVSIDE_S, __pyx_k_CUDA_ERROR_UNSUPPORTED_DEVSIDE_S, sizeof(__pyx_k_CUDA_ERROR_UNSUPPORTED_DEVSIDE_S), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_UNSUPPORTED_EXEC_AFFI, __pyx_k_CUDA_ERROR_UNSUPPORTED_EXEC_AFFI, sizeof(__pyx_k_CUDA_ERROR_UNSUPPORTED_EXEC_AFFI), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_UNSUPPORTED_LIMIT, __pyx_k_CUDA_ERROR_UNSUPPORTED_LIMIT, sizeof(__pyx_k_CUDA_ERROR_UNSUPPORTED_LIMIT), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_ERROR_UNSUPPORTED_PTX_VERSI, __pyx_k_CUDA_ERROR_UNSUPPORTED_PTX_VERSI, sizeof(__pyx_k_CUDA_ERROR_UNSUPPORTED_PTX_VERSI), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS, __pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS, sizeof(__pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st, __pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_2, __pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_2, sizeof(__pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_3, __pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_3, sizeof(__pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_4, __pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_4, sizeof(__pyx_k_CUDA_EVENT_RECORD_NODE_PARAMS_st_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS, __pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS, sizeof(__pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st, __pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_2, __pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_2, sizeof(__pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_3, __pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_3, sizeof(__pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_g, __pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_g, sizeof(__pyx_k_CUDA_EVENT_WAIT_NODE_PARAMS_st_g), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC, __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_2, __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_2, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_3, __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_3, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_4, __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_4, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_5, __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_5, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_5), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_6, __pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_6, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_6), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_DEDICATED, __pyx_k_CUDA_EXTERNAL_MEMORY_DEDICATED, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_DEDICATED), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC, __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_2, __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_2, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_3, __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_3, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_4, __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_4, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_5, __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_5, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_5), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_6, __pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_6, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_6), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A, __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_2, __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_2, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_3, __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_3, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_4, __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_4, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_5, __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_5, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_5), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_6, __pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_6, sizeof(__pyx_k_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_6), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_2, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_2, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_3, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_3, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_4, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_4, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_5, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_5, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_5), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_6, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_6, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_6), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_2, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_2, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_3, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_3, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_4, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_4, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_5, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_5, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_5), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_6, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_6, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_6), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_S, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_S, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_S), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_2, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_2, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_3, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_3, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_4, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_4, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_5, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_5, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_5), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_6, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_6, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_6), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKI, __pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKI, sizeof(__pyx_k_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKI), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS, __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_10, __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_10, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_10), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_11, __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_11, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_11), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_2, __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_2, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_3, __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_3, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_4, __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_4, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_5, __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_5, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_5), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_6, __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_6, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_6), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_7, __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_7, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_7), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_8, __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_8, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_8), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_9, __pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_9, sizeof(__pyx_k_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_9), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS, __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2, __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3, __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4, __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1, __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2, __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_2, __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_2, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_3, __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_3, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_4, __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_4, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_5, __pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_5, sizeof(__pyx_k_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_5), 0, 0, 1, 1},
    {&__pyx_kp_s_CUDA_EglFrame_type_array_or_poi, __pyx_k_CUDA_EglFrame_type_array_or_poi, sizeof(__pyx_k_CUDA_EglFrame_type_array_or_poi), 0, 0, 1, 0},
    {&__pyx_n_s_CUDA_GRAPH_INSTANTIATE_ERROR, __pyx_k_CUDA_GRAPH_INSTANTIATE_ERROR, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_ERROR), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO, __pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_DEVI, __pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_DEVI, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_DEVI), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_UPLO, __pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_UPLO, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_UPLO), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_USE, __pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_USE, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_FLAG_USE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_GRAPH_INSTANTIATE_INVALID_S, __pyx_k_CUDA_GRAPH_INSTANTIATE_INVALID_S, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_INVALID_S), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_GRAPH_INSTANTIATE_MULTIPLE, __pyx_k_CUDA_GRAPH_INSTANTIATE_MULTIPLE, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_MULTIPLE), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_GRAPH_INSTANTIATE_NODE_OPER, __pyx_k_CUDA_GRAPH_INSTANTIATE_NODE_OPER, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_NODE_OPER), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS, __pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st, __pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_2, __pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_2, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_3, __pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_3, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_4, __pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_4, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_PARAMS_st_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_GRAPH_INSTANTIATE_SUCCESS, __pyx_k_CUDA_GRAPH_INSTANTIATE_SUCCESS, sizeof(__pyx_k_CUDA_GRAPH_INSTANTIATE_SUCCESS), 0, 0, 1, 1},
    {&__pyx_kp_s_CUDA_Graph_Update_error_types, __pyx_k_CUDA_Graph_Update_error_types, sizeof(__pyx_k_CUDA_Graph_Update_error_types), 0, 0, 1, 0},
    {&__pyx_n_s_CUDA_HOST_NODE_PARAMS, __pyx_k_CUDA_HOST_NODE_PARAMS, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_HOST_NODE_PARAMS_st, __pyx_k_CUDA_HOST_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_HOST_NODE_PARAMS_st___reduc, __pyx_k_CUDA_HOST_NODE_PARAMS_st___reduc, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_st___reduc), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_HOST_NODE_PARAMS_st___setst, __pyx_k_CUDA_HOST_NODE_PARAMS_st___setst, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_st___setst), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_HOST_NODE_PARAMS_st_getPtr, __pyx_k_CUDA_HOST_NODE_PARAMS_st_getPtr, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_HOST_NODE_PARAMS_v1, __pyx_k_CUDA_HOST_NODE_PARAMS_v1, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2, __pyx_k_CUDA_HOST_NODE_PARAMS_v2, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_v2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st, __pyx_k_CUDA_HOST_NODE_PARAMS_v2_st, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_v2_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st___re, __pyx_k_CUDA_HOST_NODE_PARAMS_v2_st___re, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_v2_st___re), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st___se, __pyx_k_CUDA_HOST_NODE_PARAMS_v2_st___se, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_v2_st___se), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st_getP, __pyx_k_CUDA_HOST_NODE_PARAMS_v2_st_getP, sizeof(__pyx_k_CUDA_HOST_NODE_PARAMS_v2_st_getP), 0, 0, 1, 1},
    {&__pyx_kp_s_CUDA_Ipc_Mem_Flags, __pyx_k_CUDA_Ipc_Mem_Flags, sizeof(__pyx_k_CUDA_Ipc_Mem_Flags), 0, 0, 1, 0},
    {&__pyx_n_s_CUDA_KERNEL_NODE_PARAMS, __pyx_k_CUDA_KERNEL_NODE_PARAMS, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st, __pyx_k_CUDA_KERNEL_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st___red, __pyx_k_CUDA_KERNEL_NODE_PARAMS_st___red, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_st___red), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st___set, __pyx_k_CUDA_KERNEL_NODE_PARAMS_st___set, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_st___set), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st_getPt, __pyx_k_CUDA_KERNEL_NODE_PARAMS_st_getPt, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_st_getPt), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v1, __pyx_k_CUDA_KERNEL_NODE_PARAMS_v1, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2, __pyx_k_CUDA_KERNEL_NODE_PARAMS_v2, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st, __pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_2, __pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_2, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_3, __pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_3, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_ge, __pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_ge, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v2_st_ge), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3, __pyx_k_CUDA_KERNEL_NODE_PARAMS_v3, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st, __pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_2, __pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_2, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_3, __pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_3, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_ge, __pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_ge, sizeof(__pyx_k_CUDA_KERNEL_NODE_PARAMS_v3_st_ge), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_LAUNCH_PARAMS, __pyx_k_CUDA_LAUNCH_PARAMS, sizeof(__pyx_k_CUDA_LAUNCH_PARAMS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_LAUNCH_PARAMS_st, __pyx_k_CUDA_LAUNCH_PARAMS_st, sizeof(__pyx_k_CUDA_LAUNCH_PARAMS_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_LAUNCH_PARAMS_st___reduce_c, __pyx_k_CUDA_LAUNCH_PARAMS_st___reduce_c, sizeof(__pyx_k_CUDA_LAUNCH_PARAMS_st___reduce_c), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_LAUNCH_PARAMS_st___setstate, __pyx_k_CUDA_LAUNCH_PARAMS_st___setstate, sizeof(__pyx_k_CUDA_LAUNCH_PARAMS_st___setstate), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_LAUNCH_PARAMS_st_getPtr, __pyx_k_CUDA_LAUNCH_PARAMS_st_getPtr, sizeof(__pyx_k_CUDA_LAUNCH_PARAMS_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_LAUNCH_PARAMS_v1, __pyx_k_CUDA_LAUNCH_PARAMS_v1, sizeof(__pyx_k_CUDA_LAUNCH_PARAMS_v1), 0, 0, 1, 1},
    {&__pyx_kp_s_CUDA_Lazy_Loading_status, __pyx_k_CUDA_Lazy_Loading_status, sizeof(__pyx_k_CUDA_Lazy_Loading_status), 0, 0, 1, 0},
    {&__pyx_n_s_CUDA_MEMCPY2D, __pyx_k_CUDA_MEMCPY2D, sizeof(__pyx_k_CUDA_MEMCPY2D), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY2D_st, __pyx_k_CUDA_MEMCPY2D_st, sizeof(__pyx_k_CUDA_MEMCPY2D_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY2D_st___reduce_cython, __pyx_k_CUDA_MEMCPY2D_st___reduce_cython, sizeof(__pyx_k_CUDA_MEMCPY2D_st___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY2D_st___setstate_cyth, __pyx_k_CUDA_MEMCPY2D_st___setstate_cyth, sizeof(__pyx_k_CUDA_MEMCPY2D_st___setstate_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY2D_st_getPtr, __pyx_k_CUDA_MEMCPY2D_st_getPtr, sizeof(__pyx_k_CUDA_MEMCPY2D_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY2D_v2, __pyx_k_CUDA_MEMCPY2D_v2, sizeof(__pyx_k_CUDA_MEMCPY2D_v2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY3D, __pyx_k_CUDA_MEMCPY3D, sizeof(__pyx_k_CUDA_MEMCPY3D), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY3D_PEER, __pyx_k_CUDA_MEMCPY3D_PEER, sizeof(__pyx_k_CUDA_MEMCPY3D_PEER), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY3D_PEER_st, __pyx_k_CUDA_MEMCPY3D_PEER_st, sizeof(__pyx_k_CUDA_MEMCPY3D_PEER_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY3D_PEER_st___reduce_c, __pyx_k_CUDA_MEMCPY3D_PEER_st___reduce_c, sizeof(__pyx_k_CUDA_MEMCPY3D_PEER_st___reduce_c), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY3D_PEER_st___setstate, __pyx_k_CUDA_MEMCPY3D_PEER_st___setstate, sizeof(__pyx_k_CUDA_MEMCPY3D_PEER_st___setstate), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY3D_PEER_st_getPtr, __pyx_k_CUDA_MEMCPY3D_PEER_st_getPtr, sizeof(__pyx_k_CUDA_MEMCPY3D_PEER_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY3D_PEER_v1, __pyx_k_CUDA_MEMCPY3D_PEER_v1, sizeof(__pyx_k_CUDA_MEMCPY3D_PEER_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY3D_st, __pyx_k_CUDA_MEMCPY3D_st, sizeof(__pyx_k_CUDA_MEMCPY3D_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY3D_st___reduce_cython, __pyx_k_CUDA_MEMCPY3D_st___reduce_cython, sizeof(__pyx_k_CUDA_MEMCPY3D_st___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY3D_st___setstate_cyth, __pyx_k_CUDA_MEMCPY3D_st___setstate_cyth, sizeof(__pyx_k_CUDA_MEMCPY3D_st___setstate_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY3D_st_getPtr, __pyx_k_CUDA_MEMCPY3D_st_getPtr, sizeof(__pyx_k_CUDA_MEMCPY3D_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY3D_v2, __pyx_k_CUDA_MEMCPY3D_v2, sizeof(__pyx_k_CUDA_MEMCPY3D_v2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS, __pyx_k_CUDA_MEMCPY_NODE_PARAMS, sizeof(__pyx_k_CUDA_MEMCPY_NODE_PARAMS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st, __pyx_k_CUDA_MEMCPY_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_MEMCPY_NODE_PARAMS_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st___red, __pyx_k_CUDA_MEMCPY_NODE_PARAMS_st___red, sizeof(__pyx_k_CUDA_MEMCPY_NODE_PARAMS_st___red), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st___set, __pyx_k_CUDA_MEMCPY_NODE_PARAMS_st___set, sizeof(__pyx_k_CUDA_MEMCPY_NODE_PARAMS_st___set), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st_getPt, __pyx_k_CUDA_MEMCPY_NODE_PARAMS_st_getPt, sizeof(__pyx_k_CUDA_MEMCPY_NODE_PARAMS_st_getPt), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMSET_NODE_PARAMS, __pyx_k_CUDA_MEMSET_NODE_PARAMS, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st, __pyx_k_CUDA_MEMSET_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st___red, __pyx_k_CUDA_MEMSET_NODE_PARAMS_st___red, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_st___red), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st___set, __pyx_k_CUDA_MEMSET_NODE_PARAMS_st___set, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_st___set), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st_getPt, __pyx_k_CUDA_MEMSET_NODE_PARAMS_st_getPt, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_st_getPt), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v1, __pyx_k_CUDA_MEMSET_NODE_PARAMS_v1, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2, __pyx_k_CUDA_MEMSET_NODE_PARAMS_v2, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_v2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st, __pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_2, __pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_2, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_3, __pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_3, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_ge, __pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_ge, sizeof(__pyx_k_CUDA_MEMSET_NODE_PARAMS_v2_st_ge), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS, __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1, __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2, __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3, __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4, __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2, __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2, __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3, __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4, __pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4, sizeof(__pyx_k_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS, __pyx_k_CUDA_MEM_FREE_NODE_PARAMS, sizeof(__pyx_k_CUDA_MEM_FREE_NODE_PARAMS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st, __pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st, sizeof(__pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st___r, __pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st___r, sizeof(__pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st___r), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st___s, __pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st___s, sizeof(__pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st___s), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st_get, __pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st_get, sizeof(__pyx_k_CUDA_MEM_FREE_NODE_PARAMS_st_get), 0, 0, 1, 1},
    {&__pyx_kp_s_CUDA_Mem_Attach_Flags, __pyx_k_CUDA_Mem_Attach_Flags, sizeof(__pyx_k_CUDA_Mem_Attach_Flags), 0, 0, 1, 0},
    {&__pyx_n_s_CUDA_NVSCISYNC_ATTR_SIGNAL, __pyx_k_CUDA_NVSCISYNC_ATTR_SIGNAL, sizeof(__pyx_k_CUDA_NVSCISYNC_ATTR_SIGNAL), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_NVSCISYNC_ATTR_WAIT, __pyx_k_CUDA_NVSCISYNC_ATTR_WAIT, sizeof(__pyx_k_CUDA_NVSCISYNC_ATTR_WAIT), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_POINTER_ATTRIBUTE_ACCESS_FL, __pyx_k_CUDA_POINTER_ATTRIBUTE_ACCESS_FL, sizeof(__pyx_k_CUDA_POINTER_ATTRIBUTE_ACCESS_FL), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN, __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN, sizeof(__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_2, __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_2, sizeof(__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_3, __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_3, sizeof(__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_4, __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_4, sizeof(__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_5, __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_5, sizeof(__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_5), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_6, __pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_6, sizeof(__pyx_k_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_6), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_RESOURCE_DESC, __pyx_k_CUDA_RESOURCE_DESC, sizeof(__pyx_k_CUDA_RESOURCE_DESC), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_RESOURCE_DESC_st, __pyx_k_CUDA_RESOURCE_DESC_st, sizeof(__pyx_k_CUDA_RESOURCE_DESC_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_RESOURCE_DESC_st___reduce_c, __pyx_k_CUDA_RESOURCE_DESC_st___reduce_c, sizeof(__pyx_k_CUDA_RESOURCE_DESC_st___reduce_c), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_RESOURCE_DESC_st___setstate, __pyx_k_CUDA_RESOURCE_DESC_st___setstate, sizeof(__pyx_k_CUDA_RESOURCE_DESC_st___setstate), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_RESOURCE_DESC_st_getPtr, __pyx_k_CUDA_RESOURCE_DESC_st_getPtr, sizeof(__pyx_k_CUDA_RESOURCE_DESC_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_RESOURCE_DESC_v1, __pyx_k_CUDA_RESOURCE_DESC_v1, sizeof(__pyx_k_CUDA_RESOURCE_DESC_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_RESOURCE_VIEW_DESC, __pyx_k_CUDA_RESOURCE_VIEW_DESC, sizeof(__pyx_k_CUDA_RESOURCE_VIEW_DESC), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st, __pyx_k_CUDA_RESOURCE_VIEW_DESC_st, sizeof(__pyx_k_CUDA_RESOURCE_VIEW_DESC_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st___red, __pyx_k_CUDA_RESOURCE_VIEW_DESC_st___red, sizeof(__pyx_k_CUDA_RESOURCE_VIEW_DESC_st___red), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st___set, __pyx_k_CUDA_RESOURCE_VIEW_DESC_st___set, sizeof(__pyx_k_CUDA_RESOURCE_VIEW_DESC_st___set), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st_getPt, __pyx_k_CUDA_RESOURCE_VIEW_DESC_st_getPt, sizeof(__pyx_k_CUDA_RESOURCE_VIEW_DESC_st_getPt), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_RESOURCE_VIEW_DESC_v1, __pyx_k_CUDA_RESOURCE_VIEW_DESC_v1, sizeof(__pyx_k_CUDA_RESOURCE_VIEW_DESC_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_SUCCESS, __pyx_k_CUDA_SUCCESS, sizeof(__pyx_k_CUDA_SUCCESS), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_TEXTURE_DESC, __pyx_k_CUDA_TEXTURE_DESC, sizeof(__pyx_k_CUDA_TEXTURE_DESC), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_TEXTURE_DESC_st, __pyx_k_CUDA_TEXTURE_DESC_st, sizeof(__pyx_k_CUDA_TEXTURE_DESC_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_TEXTURE_DESC_st___reduce_cy, __pyx_k_CUDA_TEXTURE_DESC_st___reduce_cy, sizeof(__pyx_k_CUDA_TEXTURE_DESC_st___reduce_cy), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_TEXTURE_DESC_st___setstate, __pyx_k_CUDA_TEXTURE_DESC_st___setstate, sizeof(__pyx_k_CUDA_TEXTURE_DESC_st___setstate), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_TEXTURE_DESC_st_getPtr, __pyx_k_CUDA_TEXTURE_DESC_st_getPtr, sizeof(__pyx_k_CUDA_TEXTURE_DESC_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_TEXTURE_DESC_v1, __pyx_k_CUDA_TEXTURE_DESC_v1, sizeof(__pyx_k_CUDA_TEXTURE_DESC_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUDA_VERSION, __pyx_k_CUDA_VERSION, sizeof(__pyx_k_CUDA_VERSION), 0, 0, 1, 1},
    {&__pyx_kp_s_CUDA_devices_corresponding_to_a, __pyx_k_CUDA_devices_corresponding_to_a, sizeof(__pyx_k_CUDA_devices_corresponding_to_a), 0, 0, 1, 0},
    {&__pyx_kp_s_CUDA_memory_pool_attributes, __pyx_k_CUDA_memory_pool_attributes, sizeof(__pyx_k_CUDA_memory_pool_attributes), 0, 0, 1, 0},
    {&__pyx_n_s_CUGLDeviceList, __pyx_k_CUGLDeviceList, sizeof(__pyx_k_CUGLDeviceList), 0, 0, 1, 1},
    {&__pyx_n_s_CUGLmap_flags, __pyx_k_CUGLmap_flags, sizeof(__pyx_k_CUGLmap_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUGPUDirectRDMAWritesOrdering, __pyx_k_CUGPUDirectRDMAWritesOrdering, sizeof(__pyx_k_CUGPUDirectRDMAWritesOrdering), 0, 0, 1, 1},
    {&__pyx_n_s_CU_ACCESS_PROPERTY_NORMAL, __pyx_k_CU_ACCESS_PROPERTY_NORMAL, sizeof(__pyx_k_CU_ACCESS_PROPERTY_NORMAL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_ACCESS_PROPERTY_PERSISTING, __pyx_k_CU_ACCESS_PROPERTY_PERSISTING, sizeof(__pyx_k_CU_ACCESS_PROPERTY_PERSISTING), 0, 0, 1, 1},
    {&__pyx_n_s_CU_ACCESS_PROPERTY_STREAMING, __pyx_k_CU_ACCESS_PROPERTY_STREAMING, sizeof(__pyx_k_CU_ACCESS_PROPERTY_STREAMING), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_BC1_UNORM, __pyx_k_CU_AD_FORMAT_BC1_UNORM, sizeof(__pyx_k_CU_AD_FORMAT_BC1_UNORM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_BC1_UNORM_SRGB, __pyx_k_CU_AD_FORMAT_BC1_UNORM_SRGB, sizeof(__pyx_k_CU_AD_FORMAT_BC1_UNORM_SRGB), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_BC2_UNORM, __pyx_k_CU_AD_FORMAT_BC2_UNORM, sizeof(__pyx_k_CU_AD_FORMAT_BC2_UNORM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_BC2_UNORM_SRGB, __pyx_k_CU_AD_FORMAT_BC2_UNORM_SRGB, sizeof(__pyx_k_CU_AD_FORMAT_BC2_UNORM_SRGB), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_BC3_UNORM, __pyx_k_CU_AD_FORMAT_BC3_UNORM, sizeof(__pyx_k_CU_AD_FORMAT_BC3_UNORM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_BC3_UNORM_SRGB, __pyx_k_CU_AD_FORMAT_BC3_UNORM_SRGB, sizeof(__pyx_k_CU_AD_FORMAT_BC3_UNORM_SRGB), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_BC4_SNORM, __pyx_k_CU_AD_FORMAT_BC4_SNORM, sizeof(__pyx_k_CU_AD_FORMAT_BC4_SNORM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_BC4_UNORM, __pyx_k_CU_AD_FORMAT_BC4_UNORM, sizeof(__pyx_k_CU_AD_FORMAT_BC4_UNORM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_BC5_SNORM, __pyx_k_CU_AD_FORMAT_BC5_SNORM, sizeof(__pyx_k_CU_AD_FORMAT_BC5_SNORM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_BC5_UNORM, __pyx_k_CU_AD_FORMAT_BC5_UNORM, sizeof(__pyx_k_CU_AD_FORMAT_BC5_UNORM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_BC6H_SF16, __pyx_k_CU_AD_FORMAT_BC6H_SF16, sizeof(__pyx_k_CU_AD_FORMAT_BC6H_SF16), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_BC6H_UF16, __pyx_k_CU_AD_FORMAT_BC6H_UF16, sizeof(__pyx_k_CU_AD_FORMAT_BC6H_UF16), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_BC7_UNORM, __pyx_k_CU_AD_FORMAT_BC7_UNORM, sizeof(__pyx_k_CU_AD_FORMAT_BC7_UNORM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_BC7_UNORM_SRGB, __pyx_k_CU_AD_FORMAT_BC7_UNORM_SRGB, sizeof(__pyx_k_CU_AD_FORMAT_BC7_UNORM_SRGB), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_FLOAT, __pyx_k_CU_AD_FORMAT_FLOAT, sizeof(__pyx_k_CU_AD_FORMAT_FLOAT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_HALF, __pyx_k_CU_AD_FORMAT_HALF, sizeof(__pyx_k_CU_AD_FORMAT_HALF), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_NV12, __pyx_k_CU_AD_FORMAT_NV12, sizeof(__pyx_k_CU_AD_FORMAT_NV12), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_SIGNED_INT16, __pyx_k_CU_AD_FORMAT_SIGNED_INT16, sizeof(__pyx_k_CU_AD_FORMAT_SIGNED_INT16), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_SIGNED_INT32, __pyx_k_CU_AD_FORMAT_SIGNED_INT32, sizeof(__pyx_k_CU_AD_FORMAT_SIGNED_INT32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_SIGNED_INT8, __pyx_k_CU_AD_FORMAT_SIGNED_INT8, sizeof(__pyx_k_CU_AD_FORMAT_SIGNED_INT8), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_SNORM_INT16X1, __pyx_k_CU_AD_FORMAT_SNORM_INT16X1, sizeof(__pyx_k_CU_AD_FORMAT_SNORM_INT16X1), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_SNORM_INT16X2, __pyx_k_CU_AD_FORMAT_SNORM_INT16X2, sizeof(__pyx_k_CU_AD_FORMAT_SNORM_INT16X2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_SNORM_INT16X4, __pyx_k_CU_AD_FORMAT_SNORM_INT16X4, sizeof(__pyx_k_CU_AD_FORMAT_SNORM_INT16X4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_SNORM_INT8X1, __pyx_k_CU_AD_FORMAT_SNORM_INT8X1, sizeof(__pyx_k_CU_AD_FORMAT_SNORM_INT8X1), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_SNORM_INT8X2, __pyx_k_CU_AD_FORMAT_SNORM_INT8X2, sizeof(__pyx_k_CU_AD_FORMAT_SNORM_INT8X2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_SNORM_INT8X4, __pyx_k_CU_AD_FORMAT_SNORM_INT8X4, sizeof(__pyx_k_CU_AD_FORMAT_SNORM_INT8X4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_UNORM_INT16X1, __pyx_k_CU_AD_FORMAT_UNORM_INT16X1, sizeof(__pyx_k_CU_AD_FORMAT_UNORM_INT16X1), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_UNORM_INT16X2, __pyx_k_CU_AD_FORMAT_UNORM_INT16X2, sizeof(__pyx_k_CU_AD_FORMAT_UNORM_INT16X2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_UNORM_INT16X4, __pyx_k_CU_AD_FORMAT_UNORM_INT16X4, sizeof(__pyx_k_CU_AD_FORMAT_UNORM_INT16X4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_UNORM_INT8X1, __pyx_k_CU_AD_FORMAT_UNORM_INT8X1, sizeof(__pyx_k_CU_AD_FORMAT_UNORM_INT8X1), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_UNORM_INT8X2, __pyx_k_CU_AD_FORMAT_UNORM_INT8X2, sizeof(__pyx_k_CU_AD_FORMAT_UNORM_INT8X2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_UNORM_INT8X4, __pyx_k_CU_AD_FORMAT_UNORM_INT8X4, sizeof(__pyx_k_CU_AD_FORMAT_UNORM_INT8X4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT16, __pyx_k_CU_AD_FORMAT_UNSIGNED_INT16, sizeof(__pyx_k_CU_AD_FORMAT_UNSIGNED_INT16), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT32, __pyx_k_CU_AD_FORMAT_UNSIGNED_INT32, sizeof(__pyx_k_CU_AD_FORMAT_UNSIGNED_INT32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT8, __pyx_k_CU_AD_FORMAT_UNSIGNED_INT8, sizeof(__pyx_k_CU_AD_FORMAT_UNSIGNED_INT8), 0, 0, 1, 1},
    {&__pyx_n_s_CU_ARRAY_SPARSE_PROPERTIES_SINGL, __pyx_k_CU_ARRAY_SPARSE_PROPERTIES_SINGL, sizeof(__pyx_k_CU_ARRAY_SPARSE_PROPERTIES_SINGL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE, __pyx_k_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE, sizeof(__pyx_k_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_2, __pyx_k_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_2, sizeof(__pyx_k_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_ASYNC_NOTIFICATION_TYPE_OVER, __pyx_k_CU_ASYNC_NOTIFICATION_TYPE_OVER, sizeof(__pyx_k_CU_ASYNC_NOTIFICATION_TYPE_OVER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_DEF, __pyx_k_CU_CLUSTER_SCHEDULING_POLICY_DEF, sizeof(__pyx_k_CU_CLUSTER_SCHEDULING_POLICY_DEF), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_LOA, __pyx_k_CU_CLUSTER_SCHEDULING_POLICY_LOA, sizeof(__pyx_k_CU_CLUSTER_SCHEDULING_POLICY_LOA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_SPR, __pyx_k_CU_CLUSTER_SCHEDULING_POLICY_SPR, sizeof(__pyx_k_CU_CLUSTER_SCHEDULING_POLICY_SPR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_COMPUTEMODE_DEFAULT, __pyx_k_CU_COMPUTEMODE_DEFAULT, sizeof(__pyx_k_CU_COMPUTEMODE_DEFAULT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_COMPUTEMODE_EXCLUSIVE_PROCESS, __pyx_k_CU_COMPUTEMODE_EXCLUSIVE_PROCESS, sizeof(__pyx_k_CU_COMPUTEMODE_EXCLUSIVE_PROCESS), 0, 0, 1, 1},
    {&__pyx_n_s_CU_COMPUTEMODE_PROHIBITED, __pyx_k_CU_COMPUTEMODE_PROHIBITED, sizeof(__pyx_k_CU_COMPUTEMODE_PROHIBITED), 0, 0, 1, 1},
    {&__pyx_n_s_CU_COMPUTE_ACCELERATED_TARGET_BA, __pyx_k_CU_COMPUTE_ACCELERATED_TARGET_BA, sizeof(__pyx_k_CU_COMPUTE_ACCELERATED_TARGET_BA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_COREDUMP_ENABLE_ON_EXCEPTION, __pyx_k_CU_COREDUMP_ENABLE_ON_EXCEPTION, sizeof(__pyx_k_CU_COREDUMP_ENABLE_ON_EXCEPTION), 0, 0, 1, 1},
    {&__pyx_n_s_CU_COREDUMP_ENABLE_USER_TRIGGER, __pyx_k_CU_COREDUMP_ENABLE_USER_TRIGGER, sizeof(__pyx_k_CU_COREDUMP_ENABLE_USER_TRIGGER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_COREDUMP_FILE, __pyx_k_CU_COREDUMP_FILE, sizeof(__pyx_k_CU_COREDUMP_FILE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_COREDUMP_LIGHTWEIGHT, __pyx_k_CU_COREDUMP_LIGHTWEIGHT, sizeof(__pyx_k_CU_COREDUMP_LIGHTWEIGHT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_COREDUMP_MAX, __pyx_k_CU_COREDUMP_MAX, sizeof(__pyx_k_CU_COREDUMP_MAX), 0, 0, 1, 1},
    {&__pyx_n_s_CU_COREDUMP_PIPE, __pyx_k_CU_COREDUMP_PIPE, sizeof(__pyx_k_CU_COREDUMP_PIPE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_COREDUMP_TRIGGER_HOST, __pyx_k_CU_COREDUMP_TRIGGER_HOST, sizeof(__pyx_k_CU_COREDUMP_TRIGGER_HOST), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CTX_BLOCKING_SYNC, __pyx_k_CU_CTX_BLOCKING_SYNC, sizeof(__pyx_k_CU_CTX_BLOCKING_SYNC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CTX_COREDUMP_ENABLE, __pyx_k_CU_CTX_COREDUMP_ENABLE, sizeof(__pyx_k_CU_CTX_COREDUMP_ENABLE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CTX_FLAGS_MASK, __pyx_k_CU_CTX_FLAGS_MASK, sizeof(__pyx_k_CU_CTX_FLAGS_MASK), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CTX_LMEM_RESIZE_TO_MAX, __pyx_k_CU_CTX_LMEM_RESIZE_TO_MAX, sizeof(__pyx_k_CU_CTX_LMEM_RESIZE_TO_MAX), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CTX_MAP_HOST, __pyx_k_CU_CTX_MAP_HOST, sizeof(__pyx_k_CU_CTX_MAP_HOST), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CTX_SCHED_AUTO, __pyx_k_CU_CTX_SCHED_AUTO, sizeof(__pyx_k_CU_CTX_SCHED_AUTO), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CTX_SCHED_BLOCKING_SYNC, __pyx_k_CU_CTX_SCHED_BLOCKING_SYNC, sizeof(__pyx_k_CU_CTX_SCHED_BLOCKING_SYNC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CTX_SCHED_MASK, __pyx_k_CU_CTX_SCHED_MASK, sizeof(__pyx_k_CU_CTX_SCHED_MASK), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CTX_SCHED_SPIN, __pyx_k_CU_CTX_SCHED_SPIN, sizeof(__pyx_k_CU_CTX_SCHED_SPIN), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CTX_SCHED_YIELD, __pyx_k_CU_CTX_SCHED_YIELD, sizeof(__pyx_k_CU_CTX_SCHED_YIELD), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CTX_SYNC_MEMOPS, __pyx_k_CU_CTX_SYNC_MEMOPS, sizeof(__pyx_k_CU_CTX_SYNC_MEMOPS), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CTX_USER_COREDUMP_ENABLE, __pyx_k_CU_CTX_USER_COREDUMP_ENABLE, sizeof(__pyx_k_CU_CTX_USER_COREDUMP_ENABLE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_X, __pyx_k_CU_CUBEMAP_FACE_NEGATIVE_X, sizeof(__pyx_k_CU_CUBEMAP_FACE_NEGATIVE_X), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_Y, __pyx_k_CU_CUBEMAP_FACE_NEGATIVE_Y, sizeof(__pyx_k_CU_CUBEMAP_FACE_NEGATIVE_Y), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_Z, __pyx_k_CU_CUBEMAP_FACE_NEGATIVE_Z, sizeof(__pyx_k_CU_CUBEMAP_FACE_NEGATIVE_Z), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_X, __pyx_k_CU_CUBEMAP_FACE_POSITIVE_X, sizeof(__pyx_k_CU_CUBEMAP_FACE_POSITIVE_X), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_Y, __pyx_k_CU_CUBEMAP_FACE_POSITIVE_Y, sizeof(__pyx_k_CU_CUBEMAP_FACE_POSITIVE_Y), 0, 0, 1, 1},
    {&__pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_Z, __pyx_k_CU_CUBEMAP_FACE_POSITIVE_Z, sizeof(__pyx_k_CU_CUBEMAP_FACE_POSITIVE_Z), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE, __pyx_k_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_RE, __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_RE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_RE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST, __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GA, __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GA, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B, __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B_2, __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST, __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE, __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_2, __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_3, __pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_3, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_CLOCK_RATE, __pyx_k_CU_DEVICE_ATTRIBUTE_CLOCK_RATE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CLOCK_RATE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_CLUSTER_LAUN, __pyx_k_CU_DEVICE_ATTRIBUTE_CLUSTER_LAUN, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CLUSTER_LAUN), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA, __pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA_2, __pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE, __pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_PREE, __pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_PREE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_COMPUTE_PREE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_CONCURRENT_K, __pyx_k_CU_DEVICE_ATTRIBUTE_CONCURRENT_K, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CONCURRENT_K), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_CONCURRENT_M, __pyx_k_CU_DEVICE_ATTRIBUTE_CONCURRENT_M, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_CONCURRENT_M), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_COOPERATIVE, __pyx_k_CU_DEVICE_ATTRIBUTE_COOPERATIVE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_COOPERATIVE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_COOPERATIVE_2, __pyx_k_CU_DEVICE_ATTRIBUTE_COOPERATIVE_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_COOPERATIVE_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_DEFERRED_MAP, __pyx_k_CU_DEVICE_ATTRIBUTE_DEFERRED_MAP, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_DEFERRED_MAP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_DIRECT_MANAG, __pyx_k_CU_DEVICE_ATTRIBUTE_DIRECT_MANAG, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_DIRECT_MANAG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPP, __pyx_k_CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPP, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_ECC_ENABLED, __pyx_k_CU_DEVICE_ATTRIBUTE_ECC_ENABLED, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_ECC_ENABLED), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_GENERIC_COMP, __pyx_k_CU_DEVICE_ATTRIBUTE_GENERIC_COMP, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GENERIC_COMP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CA, __pyx_k_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CA, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMOR, __pyx_k_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMOR, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMOR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R, __pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_2, __pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_3, __pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_3, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_4, __pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_4, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP, __pyx_k_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE, __pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_2, __pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_3, __pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_3, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_4, __pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_4, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_NATIVE, __pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NATIVE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NATIVE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID, __pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_REGISTE, __pyx_k_CU_DEVICE_ATTRIBUTE_HOST_REGISTE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_HOST_REGISTE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_INTEGRATED, __pyx_k_CU_DEVICE_ATTRIBUTE_INTEGRATED, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_INTEGRATED), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_IPC_EVENT_SU, __pyx_k_CU_DEVICE_ATTRIBUTE_IPC_EVENT_SU, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_IPC_EVENT_SU), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC, __pyx_k_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZ, __pyx_k_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZ, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZ), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CAC, __pyx_k_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CAC, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CAC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MANAGED_MEMO, __pyx_k_CU_DEVICE_ATTRIBUTE_MANAGED_MEMO, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MANAGED_MEMO), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_10, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_10, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_10), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_11, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_11, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_11), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_12, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_12, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_12), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_13, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_13, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_13), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_14, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_14, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_14), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_2, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_3, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_3, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_4, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_4, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_5, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_5, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_5), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_6, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_6, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_6), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_7, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_7, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_7), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_8, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_8, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_8), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_9, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_9, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_9), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_10, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_10, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_10), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_11, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_11, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_11), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_12, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_12, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_12), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_13, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_13, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_13), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_14, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_14, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_14), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_15, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_15, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_15), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_16, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_16, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_16), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_17, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_17, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_17), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_18, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_18, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_18), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_19, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_19, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_19), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_2, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_20, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_20, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_20), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_21, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_21, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_21), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_22, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_22, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_22), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_23, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_23, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_23), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_24, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_24, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_24), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_25, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_25, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_25), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_26, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_26, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_26), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_27, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_27, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_27), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_28, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_28, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_28), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_29, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_29, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_29), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_3, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_3, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_4, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_4, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_5, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_5, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_5), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_6, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_6, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_6), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_7, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_7, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_7), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_8, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_8, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_8), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_9, __pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_9, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_9), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_P, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_P, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_P), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_P, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_P, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_P), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_2, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_3, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_3, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_2, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_3, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_3, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_PERSISTI, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_PERSISTI, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_PERSISTI), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_PITCH, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_PITCH, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_PITCH), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_REGISTER, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_REGISTER, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_REGISTER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_REGISTER_2, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_REGISTER_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_REGISTER_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_2, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_3, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_3, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_THREADS, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_THREADS, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_THREADS), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_THREADS_2, __pyx_k_CU_DEVICE_ATTRIBUTE_MAX_THREADS_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MAX_THREADS_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK, __pyx_k_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS, __pyx_k_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPP, __pyx_k_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPP, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOM, __pyx_k_CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOM, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MPS_ENABLED, __pyx_k_CU_DEVICE_ATTRIBUTE_MPS_ENABLED, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MPS_ENABLED), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTICAST_SU, __pyx_k_CU_DEVICE_ATTRIBUTE_MULTICAST_SU, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MULTICAST_SU), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTIPROCESS, __pyx_k_CU_DEVICE_ATTRIBUTE_MULTIPROCESS, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MULTIPROCESS), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO, __pyx_k_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO_2, __pyx_k_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_NUMA_CONFIG, __pyx_k_CU_DEVICE_ATTRIBUTE_NUMA_CONFIG, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_NUMA_CONFIG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_NUMA_ID, __pyx_k_CU_DEVICE_ATTRIBUTE_NUMA_ID, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_NUMA_ID), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM, __pyx_k_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM_2, __pyx_k_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM_2, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID, __pyx_k_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_I, __pyx_k_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_I, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_I), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_I, __pyx_k_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_I, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_I), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_READ_ONLY_HO, __pyx_k_CU_DEVICE_ATTRIBUTE_READ_ONLY_HO, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_READ_ONLY_HO), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_REGISTERS_PE, __pyx_k_CU_DEVICE_ATTRIBUTE_REGISTERS_PE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_REGISTERS_PE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_RESERVED_SHA, __pyx_k_CU_DEVICE_ATTRIBUTE_RESERVED_SHA, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_RESERVED_SHA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_SHARED_MEMOR, __pyx_k_CU_DEVICE_ATTRIBUTE_SHARED_MEMOR, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_SHARED_MEMOR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DO, __pyx_k_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DO, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DO), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA, __pyx_k_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_STREAM_PRIOR, __pyx_k_CU_DEVICE_ATTRIBUTE_STREAM_PRIOR, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_STREAM_PRIOR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_SURFACE_ALIG, __pyx_k_CU_DEVICE_ATTRIBUTE_SURFACE_ALIG, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_SURFACE_ALIG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_TCC_DRIVER, __pyx_k_CU_DEVICE_ATTRIBUTE_TCC_DRIVER, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_TCC_DRIVER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_TENSOR_MAP_A, __pyx_k_CU_DEVICE_ATTRIBUTE_TENSOR_MAP_A, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_TENSOR_MAP_A), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIG, __pyx_k_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIG, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_TEXTURE_PITC, __pyx_k_CU_DEVICE_ATTRIBUTE_TEXTURE_PITC, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_TEXTURE_PITC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_TIMELINE_SEM, __pyx_k_CU_DEVICE_ATTRIBUTE_TIMELINE_SEM, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_TIMELINE_SEM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTA, __pyx_k_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTA, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDR, __pyx_k_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDR, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_UNIFIED_FUNC, __pyx_k_CU_DEVICE_ATTRIBUTE_UNIFIED_FUNC, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_UNIFIED_FUNC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDR, __pyx_k_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDR, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMO, __pyx_k_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMO, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMO), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_ATTRIBUTE_WARP_SIZE, __pyx_k_CU_DEVICE_ATTRIBUTE_WARP_SIZE, sizeof(__pyx_k_CU_DEVICE_ATTRIBUTE_WARP_SIZE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_CPU, __pyx_k_CU_DEVICE_CPU, sizeof(__pyx_k_CU_DEVICE_CPU), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_INVALID, __pyx_k_CU_DEVICE_INVALID, sizeof(__pyx_k_CU_DEVICE_INVALID), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_NUMA_CONFIG_NONE, __pyx_k_CU_DEVICE_NUMA_CONFIG_NONE, sizeof(__pyx_k_CU_DEVICE_NUMA_CONFIG_NONE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_NUMA_CONFIG_NUMA_NODE, __pyx_k_CU_DEVICE_NUMA_CONFIG_NUMA_NODE, sizeof(__pyx_k_CU_DEVICE_NUMA_CONFIG_NUMA_NODE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_A, __pyx_k_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_A, sizeof(__pyx_k_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_A), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_S, __pyx_k_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_S, sizeof(__pyx_k_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_S), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARR, __pyx_k_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARR, sizeof(__pyx_k_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_A, __pyx_k_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_A, sizeof(__pyx_k_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_A), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_PERFORMA, __pyx_k_CU_DEVICE_P2P_ATTRIBUTE_PERFORMA, sizeof(__pyx_k_CU_DEVICE_P2P_ATTRIBUTE_PERFORMA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEV_RESOURCE_TYPE_INVALID, __pyx_k_CU_DEV_RESOURCE_TYPE_INVALID, sizeof(__pyx_k_CU_DEV_RESOURCE_TYPE_INVALID), 0, 0, 1, 1},
    {&__pyx_n_s_CU_DEV_RESOURCE_TYPE_SM, __pyx_k_CU_DEV_RESOURCE_TYPE_SM, sizeof(__pyx_k_CU_DEV_RESOURCE_TYPE_SM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_A, __pyx_k_CU_EGL_COLOR_FORMAT_A, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_A), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_ABGR, __pyx_k_CU_EGL_COLOR_FORMAT_ABGR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_ABGR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_ARGB, __pyx_k_CU_EGL_COLOR_FORMAT_ARGB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_ARGB), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_AYUV, __pyx_k_CU_EGL_COLOR_FORMAT_AYUV, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_AYUV), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_AYUV_ER, __pyx_k_CU_EGL_COLOR_FORMAT_AYUV_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_AYUV_ER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_BGGR, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_BGGR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_BGGR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_CCCC, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_CCCC, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_CCCC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_GBRG, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_GBRG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_GBRG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_GRBG, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_GRBG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_GRBG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_RGGB, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_RGGB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER10_RGGB), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_BCCR, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_BCCR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_BCCR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_BGGR, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_BGGR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_BGGR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CBRC, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CBRC, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CBRC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CCCC, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CCCC, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CCCC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CRBC, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CRBC, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_CRBC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_GBRG, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_GBRG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_GBRG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_GRBG, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_GRBG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_GRBG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_RCCB, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_RCCB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_RCCB), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_RGGB, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_RGGB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER12_RGGB), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_BGGR, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_BGGR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_BGGR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_GBRG, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_GBRG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_GBRG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_GRBG, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_GRBG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_GRBG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_RGGB, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_RGGB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER14_RGGB), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_BGGR, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_BGGR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_BGGR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_GBRG, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_GBRG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_GBRG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_GRBG, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_GRBG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_GRBG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_RGGB, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_RGGB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER20_RGGB), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_BCCR, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_BCCR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_BCCR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_BGGR, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_BGGR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_BGGR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_CBRC, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_CBRC, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_CBRC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_CRBC, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_CRBC, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_CRBC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_GBRG, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_GBRG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_GBRG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_GRBG, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_GRBG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_GRBG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_BG, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_BG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_BG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_GB, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_GB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_GB), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_GR, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_GR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_GR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_RG, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_RG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_ISP_RG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_RCCB, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_RCCB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_RCCB), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_RGGB, __pyx_k_CU_EGL_COLOR_FORMAT_BAYER_RGGB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BAYER_RGGB), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BGR, __pyx_k_CU_EGL_COLOR_FORMAT_BGR, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BGR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_BGRA, __pyx_k_CU_EGL_COLOR_FORMAT_BGRA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_BGRA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_L, __pyx_k_CU_EGL_COLOR_FORMAT_L, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_L), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_MAX, __pyx_k_CU_EGL_COLOR_FORMAT_MAX, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_MAX), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_R, __pyx_k_CU_EGL_COLOR_FORMAT_R, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_R), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_RG, __pyx_k_CU_EGL_COLOR_FORMAT_RG, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_RG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_RGB, __pyx_k_CU_EGL_COLOR_FORMAT_RGB, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_RGB), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_RGBA, __pyx_k_CU_EGL_COLOR_FORMAT_RGBA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_RGBA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_UYVY_422, __pyx_k_CU_EGL_COLOR_FORMAT_UYVY_422, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_UYVY_422), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_UYVY_ER, __pyx_k_CU_EGL_COLOR_FORMAT_UYVY_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_UYVY_ER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_VYUY, __pyx_k_CU_EGL_COLOR_FORMAT_VYUY, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_VYUY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_VYUY_ER, __pyx_k_CU_EGL_COLOR_FORMAT_VYUY_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_VYUY_ER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y, __pyx_k_CU_EGL_COLOR_FORMAT_Y, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42, __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_2, __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_3, __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_3, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_4, __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_4, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_5, __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_5, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_5), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_6, __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_6, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_6), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_7, __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_7, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_7), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_8, __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_8, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_42_8), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44, __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44_2, __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44_3, __pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44_3, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10V10U10_44_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10_709_ER, __pyx_k_CU_EGL_COLOR_FORMAT_Y10_709_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10_709_ER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y10_ER, __pyx_k_CU_EGL_COLOR_FORMAT_Y10_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y10_ER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42, __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42_2, __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42_3, __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42_3, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_42_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44, __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44_2, __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44_3, __pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44_3, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y12V12U12_44_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12_709_ER, __pyx_k_CU_EGL_COLOR_FORMAT_Y12_709_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y12_709_ER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y12_ER, __pyx_k_CU_EGL_COLOR_FORMAT_Y12_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y12_ER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV, __pyx_k_CU_EGL_COLOR_FORMAT_YUV, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA, __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_2, __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_3, __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_3, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_4, __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_4, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_PLANA_4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP, __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_2, __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_3, __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_3, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_4, __pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_4, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_PLANA, __pyx_k_CU_EGL_COLOR_FORMAT_YUV422_PLANA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV422_PLANA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_PLANA_2, __pyx_k_CU_EGL_COLOR_FORMAT_YUV422_PLANA_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV422_PLANA_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_SEMIP, __pyx_k_CU_EGL_COLOR_FORMAT_YUV422_SEMIP, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV422_SEMIP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_SEMIP_2, __pyx_k_CU_EGL_COLOR_FORMAT_YUV422_SEMIP_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV422_SEMIP_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_PLANA, __pyx_k_CU_EGL_COLOR_FORMAT_YUV444_PLANA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV444_PLANA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_PLANA_2, __pyx_k_CU_EGL_COLOR_FORMAT_YUV444_PLANA_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV444_PLANA_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_SEMIP, __pyx_k_CU_EGL_COLOR_FORMAT_YUV444_SEMIP, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV444_SEMIP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_SEMIP_2, __pyx_k_CU_EGL_COLOR_FORMAT_YUV444_SEMIP_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV444_SEMIP_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUVA, __pyx_k_CU_EGL_COLOR_FORMAT_YUVA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUVA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUVA_ER, __pyx_k_CU_EGL_COLOR_FORMAT_YUVA_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUVA_ER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUV_ER, __pyx_k_CU_EGL_COLOR_FORMAT_YUV_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUV_ER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUYV_422, __pyx_k_CU_EGL_COLOR_FORMAT_YUYV_422, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUYV_422), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YUYV_ER, __pyx_k_CU_EGL_COLOR_FORMAT_YUYV_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YUYV_ER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA, __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_2, __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_3, __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_3, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_4, __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_4, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_PLANA_4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP, __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_2, __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_3, __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_3, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_4, __pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_4, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_PLANA, __pyx_k_CU_EGL_COLOR_FORMAT_YVU422_PLANA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU422_PLANA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_PLANA_2, __pyx_k_CU_EGL_COLOR_FORMAT_YVU422_PLANA_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU422_PLANA_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_SEMIP, __pyx_k_CU_EGL_COLOR_FORMAT_YVU422_SEMIP, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU422_SEMIP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_SEMIP_2, __pyx_k_CU_EGL_COLOR_FORMAT_YVU422_SEMIP_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU422_SEMIP_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_PLANA, __pyx_k_CU_EGL_COLOR_FORMAT_YVU444_PLANA, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU444_PLANA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_PLANA_2, __pyx_k_CU_EGL_COLOR_FORMAT_YVU444_PLANA_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU444_PLANA_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_SEMIP, __pyx_k_CU_EGL_COLOR_FORMAT_YVU444_SEMIP, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU444_SEMIP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_SEMIP_2, __pyx_k_CU_EGL_COLOR_FORMAT_YVU444_SEMIP_2, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVU444_SEMIP_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVYU, __pyx_k_CU_EGL_COLOR_FORMAT_YVYU, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVYU), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_YVYU_ER, __pyx_k_CU_EGL_COLOR_FORMAT_YVYU_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_YVYU_ER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y_709_ER, __pyx_k_CU_EGL_COLOR_FORMAT_Y_709_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y_709_ER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_COLOR_FORMAT_Y_ER, __pyx_k_CU_EGL_COLOR_FORMAT_Y_ER, sizeof(__pyx_k_CU_EGL_COLOR_FORMAT_Y_ER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_FRAME_TYPE_ARRAY, __pyx_k_CU_EGL_FRAME_TYPE_ARRAY, sizeof(__pyx_k_CU_EGL_FRAME_TYPE_ARRAY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_FRAME_TYPE_PITCH, __pyx_k_CU_EGL_FRAME_TYPE_PITCH, sizeof(__pyx_k_CU_EGL_FRAME_TYPE_PITCH), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_RESOURCE_LOCATION_SYSMEM, __pyx_k_CU_EGL_RESOURCE_LOCATION_SYSMEM, sizeof(__pyx_k_CU_EGL_RESOURCE_LOCATION_SYSMEM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EGL_RESOURCE_LOCATION_VIDMEM, __pyx_k_CU_EGL_RESOURCE_LOCATION_VIDMEM, sizeof(__pyx_k_CU_EGL_RESOURCE_LOCATION_VIDMEM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EVENT_BLOCKING_SYNC, __pyx_k_CU_EVENT_BLOCKING_SYNC, sizeof(__pyx_k_CU_EVENT_BLOCKING_SYNC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EVENT_DEFAULT, __pyx_k_CU_EVENT_DEFAULT, sizeof(__pyx_k_CU_EVENT_DEFAULT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EVENT_DISABLE_TIMING, __pyx_k_CU_EVENT_DISABLE_TIMING, sizeof(__pyx_k_CU_EVENT_DISABLE_TIMING), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EVENT_INTERPROCESS, __pyx_k_CU_EVENT_INTERPROCESS, sizeof(__pyx_k_CU_EVENT_INTERPROCESS), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EVENT_RECORD_DEFAULT, __pyx_k_CU_EVENT_RECORD_DEFAULT, sizeof(__pyx_k_CU_EVENT_RECORD_DEFAULT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EVENT_RECORD_EXTERNAL, __pyx_k_CU_EVENT_RECORD_EXTERNAL, sizeof(__pyx_k_CU_EVENT_RECORD_EXTERNAL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EVENT_SCHED_AUTO, __pyx_k_CU_EVENT_SCHED_AUTO, sizeof(__pyx_k_CU_EVENT_SCHED_AUTO), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EVENT_SCHED_BLOCKING_SYNC, __pyx_k_CU_EVENT_SCHED_BLOCKING_SYNC, sizeof(__pyx_k_CU_EVENT_SCHED_BLOCKING_SYNC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EVENT_SCHED_SPIN, __pyx_k_CU_EVENT_SCHED_SPIN, sizeof(__pyx_k_CU_EVENT_SCHED_SPIN), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EVENT_SCHED_YIELD, __pyx_k_CU_EVENT_SCHED_YIELD, sizeof(__pyx_k_CU_EVENT_SCHED_YIELD), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EVENT_WAIT_DEFAULT, __pyx_k_CU_EVENT_WAIT_DEFAULT, sizeof(__pyx_k_CU_EVENT_WAIT_DEFAULT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EVENT_WAIT_EXTERNAL, __pyx_k_CU_EVENT_WAIT_EXTERNAL, sizeof(__pyx_k_CU_EVENT_WAIT_EXTERNAL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXEC_AFFINITY_TYPE_MAX, __pyx_k_CU_EXEC_AFFINITY_TYPE_MAX, sizeof(__pyx_k_CU_EXEC_AFFINITY_TYPE_MAX), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXEC_AFFINITY_TYPE_SM_COUNT, __pyx_k_CU_EXEC_AFFINITY_TYPE_SM_COUNT, sizeof(__pyx_k_CU_EXEC_AFFINITY_TYPE_SM_COUNT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D, __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D, sizeof(__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_2, __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_2, sizeof(__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_3, __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_3, sizeof(__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_4, __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_4, sizeof(__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_N, __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_N, sizeof(__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_N), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O, __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O, sizeof(__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_2, __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_2, sizeof(__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_3, __pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_3, sizeof(__pyx_k_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP, __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_10, __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_10, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_10), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_2, __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_2, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_3, __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_3, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_4, __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_4, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_5, __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_5, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_5), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_6, __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_6, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_6), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_7, __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_7, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_7), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_8, __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_8, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_8), 0, 0, 1, 1},
    {&__pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_9, __pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_9, sizeof(__pyx_k_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_9), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES, __pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES, sizeof(__pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_2, __pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_2, sizeof(__pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_3, __pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_3, sizeof(__pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_4, __pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_4, sizeof(__pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_5, __pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_5, sizeof(__pyx_k_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_5), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNCTION_LOADING_STATE_LOADED, __pyx_k_CU_FUNCTION_LOADING_STATE_LOADED, sizeof(__pyx_k_CU_FUNCTION_LOADING_STATE_LOADED), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNCTION_LOADING_STATE_MAX, __pyx_k_CU_FUNCTION_LOADING_STATE_MAX, sizeof(__pyx_k_CU_FUNCTION_LOADING_STATE_MAX), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNCTION_LOADING_STATE_UNLOAD, __pyx_k_CU_FUNCTION_LOADING_STATE_UNLOAD, sizeof(__pyx_k_CU_FUNCTION_LOADING_STATE_UNLOAD), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_ATTRIBUTE_BINARY_VERSION, __pyx_k_CU_FUNC_ATTRIBUTE_BINARY_VERSION, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_BINARY_VERSION), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA, __pyx_k_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDU, __pyx_k_CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDU, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDU), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_M, __pyx_k_CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_M, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_M), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYT, __pyx_k_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYT, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYT, __pyx_k_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYT, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_ATTRIBUTE_MAX, __pyx_k_CU_FUNC_ATTRIBUTE_MAX, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_MAX), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SH, __pyx_k_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SH, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SH), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_ATTRIBUTE_MAX_THREADS_PE, __pyx_k_CU_FUNC_ATTRIBUTE_MAX_THREADS_PE, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_MAX_THREADS_PE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_ATTRIBUTE_NON_PORTABLE_C, __pyx_k_CU_FUNC_ATTRIBUTE_NON_PORTABLE_C, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_NON_PORTABLE_C), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_ATTRIBUTE_NUM_REGS, __pyx_k_CU_FUNC_ATTRIBUTE_NUM_REGS, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_NUM_REGS), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_ATTRIBUTE_PREFERRED_SHAR, __pyx_k_CU_FUNC_ATTRIBUTE_PREFERRED_SHAR, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_PREFERRED_SHAR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_ATTRIBUTE_PTX_VERSION, __pyx_k_CU_FUNC_ATTRIBUTE_PTX_VERSION, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_PTX_VERSION), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST, __pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_2, __pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_2, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_3, __pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_3, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BY, __pyx_k_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BY, sizeof(__pyx_k_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_CACHE_PREFER_EQUAL, __pyx_k_CU_FUNC_CACHE_PREFER_EQUAL, sizeof(__pyx_k_CU_FUNC_CACHE_PREFER_EQUAL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_CACHE_PREFER_L1, __pyx_k_CU_FUNC_CACHE_PREFER_L1, sizeof(__pyx_k_CU_FUNC_CACHE_PREFER_L1), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_CACHE_PREFER_NONE, __pyx_k_CU_FUNC_CACHE_PREFER_NONE, sizeof(__pyx_k_CU_FUNC_CACHE_PREFER_NONE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_FUNC_CACHE_PREFER_SHARED, __pyx_k_CU_FUNC_CACHE_PREFER_SHARED, sizeof(__pyx_k_CU_FUNC_CACHE_PREFER_SHARED), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GET_PROC_ADDRESS_DEFAULT, __pyx_k_CU_GET_PROC_ADDRESS_DEFAULT, sizeof(__pyx_k_CU_GET_PROC_ADDRESS_DEFAULT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GET_PROC_ADDRESS_LEGACY_STREA, __pyx_k_CU_GET_PROC_ADDRESS_LEGACY_STREA, sizeof(__pyx_k_CU_GET_PROC_ADDRESS_LEGACY_STREA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GET_PROC_ADDRESS_PER_THREAD_D, __pyx_k_CU_GET_PROC_ADDRESS_PER_THREAD_D, sizeof(__pyx_k_CU_GET_PROC_ADDRESS_PER_THREAD_D), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GET_PROC_ADDRESS_SUCCESS, __pyx_k_CU_GET_PROC_ADDRESS_SUCCESS, sizeof(__pyx_k_CU_GET_PROC_ADDRESS_SUCCESS), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GET_PROC_ADDRESS_SYMBOL_NOT_F, __pyx_k_CU_GET_PROC_ADDRESS_SYMBOL_NOT_F, sizeof(__pyx_k_CU_GET_PROC_ADDRESS_SYMBOL_NOT_F), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GET_PROC_ADDRESS_VERSION_NOT, __pyx_k_CU_GET_PROC_ADDRESS_VERSION_NOT, sizeof(__pyx_k_CU_GET_PROC_ADDRESS_VERSION_NOT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GL_DEVICE_LIST_ALL, __pyx_k_CU_GL_DEVICE_LIST_ALL, sizeof(__pyx_k_CU_GL_DEVICE_LIST_ALL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GL_DEVICE_LIST_CURRENT_FRAME, __pyx_k_CU_GL_DEVICE_LIST_CURRENT_FRAME, sizeof(__pyx_k_CU_GL_DEVICE_LIST_CURRENT_FRAME), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GL_DEVICE_LIST_NEXT_FRAME, __pyx_k_CU_GL_DEVICE_LIST_NEXT_FRAME, sizeof(__pyx_k_CU_GL_DEVICE_LIST_NEXT_FRAME), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_NONE, __pyx_k_CU_GL_MAP_RESOURCE_FLAGS_NONE, sizeof(__pyx_k_CU_GL_MAP_RESOURCE_FLAGS_NONE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_READ_ON, __pyx_k_CU_GL_MAP_RESOURCE_FLAGS_READ_ON, sizeof(__pyx_k_CU_GL_MAP_RESOURCE_FLAGS_READ_ON), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_WRITE_D, __pyx_k_CU_GL_MAP_RESOURCE_FLAGS_WRITE_D, sizeof(__pyx_k_CU_GL_MAP_RESOURCE_FLAGS_WRITE_D), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI, __pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI, sizeof(__pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_2, __pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_2, sizeof(__pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_3, __pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_3, sizeof(__pyx_k_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_N, __pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_N, sizeof(__pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_N), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_R, __pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_R, sizeof(__pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_R), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_W, __pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_W, sizeof(__pyx_k_CU_GRAPHICS_MAP_RESOURCE_FLAGS_W), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_NONE, __pyx_k_CU_GRAPHICS_REGISTER_FLAGS_NONE, sizeof(__pyx_k_CU_GRAPHICS_REGISTER_FLAGS_NONE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_READ, __pyx_k_CU_GRAPHICS_REGISTER_FLAGS_READ, sizeof(__pyx_k_CU_GRAPHICS_REGISTER_FLAGS_READ), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_SURFA, __pyx_k_CU_GRAPHICS_REGISTER_FLAGS_SURFA, sizeof(__pyx_k_CU_GRAPHICS_REGISTER_FLAGS_SURFA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_TEXTU, __pyx_k_CU_GRAPHICS_REGISTER_FLAGS_TEXTU, sizeof(__pyx_k_CU_GRAPHICS_REGISTER_FLAGS_TEXTU), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_WRITE, __pyx_k_CU_GRAPHICS_REGISTER_FLAGS_WRITE, sizeof(__pyx_k_CU_GRAPHICS_REGISTER_FLAGS_WRITE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_COND_ASSIGN_DEFAULT, __pyx_k_CU_GRAPH_COND_ASSIGN_DEFAULT, sizeof(__pyx_k_CU_GRAPH_COND_ASSIGN_DEFAULT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_COND_TYPE_IF, __pyx_k_CU_GRAPH_COND_TYPE_IF, sizeof(__pyx_k_CU_GRAPH_COND_TYPE_IF), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_COND_TYPE_WHILE, __pyx_k_CU_GRAPH_COND_TYPE_WHILE, sizeof(__pyx_k_CU_GRAPH_COND_TYPE_WHILE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_M, __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_M, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_M), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_CONDITI, __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_CONDITI, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_CONDITI), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_N, __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_N, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_N), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_T, __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_T, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_T), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM, __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM_2, __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM_2, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES, __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NO, __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NO, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NO), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL, __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_2, __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_2, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY, __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET, __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALL, __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALL, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FRE, __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FRE, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FRE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME, __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE, __pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE, sizeof(__pyx_k_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEPENDENCY_TYPE_DEFAULT, __pyx_k_CU_GRAPH_DEPENDENCY_TYPE_DEFAULT, sizeof(__pyx_k_CU_GRAPH_DEPENDENCY_TYPE_DEFAULT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_DEPENDENCY_TYPE_PROGRAM, __pyx_k_CU_GRAPH_DEPENDENCY_TYPE_PROGRAM, sizeof(__pyx_k_CU_GRAPH_DEPENDENCY_TYPE_PROGRAM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR, __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_ATTRI, __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_ATTRI, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_ATTRI), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCT, __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCT, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_NODE, __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_NODE, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_NODE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_S, __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_S, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_S), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_PARAM, __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_PARAM, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_PARAM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOL, __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOL, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUP, __pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUP, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_EXEC_UPDATE_SUCCESS, __pyx_k_CU_GRAPH_EXEC_UPDATE_SUCCESS, sizeof(__pyx_k_CU_GRAPH_EXEC_UPDATE_SUCCESS), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_DEFAUL, __pyx_k_CU_GRAPH_KERNEL_NODE_PORT_DEFAUL, sizeof(__pyx_k_CU_GRAPH_KERNEL_NODE_PORT_DEFAUL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH, __pyx_k_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH, sizeof(__pyx_k_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_PROGRA, __pyx_k_CU_GRAPH_KERNEL_NODE_PORT_PROGRA, sizeof(__pyx_k_CU_GRAPH_KERNEL_NODE_PORT_PROGRA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_MEM_ATTR_RESERVED_MEM_C, __pyx_k_CU_GRAPH_MEM_ATTR_RESERVED_MEM_C, sizeof(__pyx_k_CU_GRAPH_MEM_ATTR_RESERVED_MEM_C), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_MEM_ATTR_RESERVED_MEM_H, __pyx_k_CU_GRAPH_MEM_ATTR_RESERVED_MEM_H, sizeof(__pyx_k_CU_GRAPH_MEM_ATTR_RESERVED_MEM_H), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_MEM_ATTR_USED_MEM_CURRE, __pyx_k_CU_GRAPH_MEM_ATTR_USED_MEM_CURRE, sizeof(__pyx_k_CU_GRAPH_MEM_ATTR_USED_MEM_CURRE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH, __pyx_k_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH, sizeof(__pyx_k_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_NODE_TYPE_BATCH_MEM_OP, __pyx_k_CU_GRAPH_NODE_TYPE_BATCH_MEM_OP, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_BATCH_MEM_OP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_NODE_TYPE_CONDITIONAL, __pyx_k_CU_GRAPH_NODE_TYPE_CONDITIONAL, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_CONDITIONAL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_NODE_TYPE_EMPTY, __pyx_k_CU_GRAPH_NODE_TYPE_EMPTY, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_EMPTY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_NODE_TYPE_EVENT_RECORD, __pyx_k_CU_GRAPH_NODE_TYPE_EVENT_RECORD, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_EVENT_RECORD), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIG, __pyx_k_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIG, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAI, __pyx_k_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAI, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAI), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_NODE_TYPE_GRAPH, __pyx_k_CU_GRAPH_NODE_TYPE_GRAPH, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_GRAPH), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_NODE_TYPE_HOST, __pyx_k_CU_GRAPH_NODE_TYPE_HOST, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_HOST), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_NODE_TYPE_KERNEL, __pyx_k_CU_GRAPH_NODE_TYPE_KERNEL, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_KERNEL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_NODE_TYPE_MEMCPY, __pyx_k_CU_GRAPH_NODE_TYPE_MEMCPY, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_MEMCPY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_NODE_TYPE_MEMSET, __pyx_k_CU_GRAPH_NODE_TYPE_MEMSET, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_MEMSET), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_NODE_TYPE_MEM_ALLOC, __pyx_k_CU_GRAPH_NODE_TYPE_MEM_ALLOC, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_MEM_ALLOC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_NODE_TYPE_MEM_FREE, __pyx_k_CU_GRAPH_NODE_TYPE_MEM_FREE, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_MEM_FREE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_NODE_TYPE_WAIT_EVENT, __pyx_k_CU_GRAPH_NODE_TYPE_WAIT_EVENT, sizeof(__pyx_k_CU_GRAPH_NODE_TYPE_WAIT_EVENT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GRAPH_USER_OBJECT_MOVE, __pyx_k_CU_GRAPH_USER_OBJECT_MOVE, sizeof(__pyx_k_CU_GRAPH_USER_OBJECT_MOVE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_GREEN_CTX_DEFAULT_STREAM, __pyx_k_CU_GREEN_CTX_DEFAULT_STREAM, sizeof(__pyx_k_CU_GREEN_CTX_DEFAULT_STREAM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_IPC_HANDLE_SIZE, __pyx_k_CU_IPC_HANDLE_SIZE, sizeof(__pyx_k_CU_IPC_HANDLE_SIZE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCE, __pyx_k_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCE, sizeof(__pyx_k_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_CACHE_MODE, __pyx_k_CU_JIT_CACHE_MODE, sizeof(__pyx_k_CU_JIT_CACHE_MODE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_CACHE_OPTION_CA, __pyx_k_CU_JIT_CACHE_OPTION_CA, sizeof(__pyx_k_CU_JIT_CACHE_OPTION_CA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_CACHE_OPTION_CG, __pyx_k_CU_JIT_CACHE_OPTION_CG, sizeof(__pyx_k_CU_JIT_CACHE_OPTION_CG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_CACHE_OPTION_NONE, __pyx_k_CU_JIT_CACHE_OPTION_NONE, sizeof(__pyx_k_CU_JIT_CACHE_OPTION_NONE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_ERROR_LOG_BUFFER, __pyx_k_CU_JIT_ERROR_LOG_BUFFER, sizeof(__pyx_k_CU_JIT_ERROR_LOG_BUFFER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYT, __pyx_k_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYT, sizeof(__pyx_k_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_FALLBACK_STRATEGY, __pyx_k_CU_JIT_FALLBACK_STRATEGY, sizeof(__pyx_k_CU_JIT_FALLBACK_STRATEGY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_FAST_COMPILE, __pyx_k_CU_JIT_FAST_COMPILE, sizeof(__pyx_k_CU_JIT_FAST_COMPILE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_FMA, __pyx_k_CU_JIT_FMA, sizeof(__pyx_k_CU_JIT_FMA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_FTZ, __pyx_k_CU_JIT_FTZ, sizeof(__pyx_k_CU_JIT_FTZ), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_GENERATE_DEBUG_INFO, __pyx_k_CU_JIT_GENERATE_DEBUG_INFO, sizeof(__pyx_k_CU_JIT_GENERATE_DEBUG_INFO), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_GENERATE_LINE_INFO, __pyx_k_CU_JIT_GENERATE_LINE_INFO, sizeof(__pyx_k_CU_JIT_GENERATE_LINE_INFO), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_GLOBAL_SYMBOL_ADDRESSES, __pyx_k_CU_JIT_GLOBAL_SYMBOL_ADDRESSES, sizeof(__pyx_k_CU_JIT_GLOBAL_SYMBOL_ADDRESSES), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_GLOBAL_SYMBOL_COUNT, __pyx_k_CU_JIT_GLOBAL_SYMBOL_COUNT, sizeof(__pyx_k_CU_JIT_GLOBAL_SYMBOL_COUNT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_GLOBAL_SYMBOL_NAMES, __pyx_k_CU_JIT_GLOBAL_SYMBOL_NAMES, sizeof(__pyx_k_CU_JIT_GLOBAL_SYMBOL_NAMES), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_INFO_LOG_BUFFER, __pyx_k_CU_JIT_INFO_LOG_BUFFER, sizeof(__pyx_k_CU_JIT_INFO_LOG_BUFFER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTE, __pyx_k_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTE, sizeof(__pyx_k_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_INPUT_CUBIN, __pyx_k_CU_JIT_INPUT_CUBIN, sizeof(__pyx_k_CU_JIT_INPUT_CUBIN), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_INPUT_FATBINARY, __pyx_k_CU_JIT_INPUT_FATBINARY, sizeof(__pyx_k_CU_JIT_INPUT_FATBINARY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_INPUT_LIBRARY, __pyx_k_CU_JIT_INPUT_LIBRARY, sizeof(__pyx_k_CU_JIT_INPUT_LIBRARY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_INPUT_NVVM, __pyx_k_CU_JIT_INPUT_NVVM, sizeof(__pyx_k_CU_JIT_INPUT_NVVM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_INPUT_OBJECT, __pyx_k_CU_JIT_INPUT_OBJECT, sizeof(__pyx_k_CU_JIT_INPUT_OBJECT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_INPUT_PTX, __pyx_k_CU_JIT_INPUT_PTX, sizeof(__pyx_k_CU_JIT_INPUT_PTX), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_LOG_VERBOSE, __pyx_k_CU_JIT_LOG_VERBOSE, sizeof(__pyx_k_CU_JIT_LOG_VERBOSE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_LTO, __pyx_k_CU_JIT_LTO, sizeof(__pyx_k_CU_JIT_LTO), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_MAX_REGISTERS, __pyx_k_CU_JIT_MAX_REGISTERS, sizeof(__pyx_k_CU_JIT_MAX_REGISTERS), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_MAX_THREADS_PER_BLOCK, __pyx_k_CU_JIT_MAX_THREADS_PER_BLOCK, sizeof(__pyx_k_CU_JIT_MAX_THREADS_PER_BLOCK), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_MIN_CTA_PER_SM, __pyx_k_CU_JIT_MIN_CTA_PER_SM, sizeof(__pyx_k_CU_JIT_MIN_CTA_PER_SM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_NEW_SM3X_OPT, __pyx_k_CU_JIT_NEW_SM3X_OPT, sizeof(__pyx_k_CU_JIT_NEW_SM3X_OPT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_NUM_INPUT_TYPES, __pyx_k_CU_JIT_NUM_INPUT_TYPES, sizeof(__pyx_k_CU_JIT_NUM_INPUT_TYPES), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_NUM_OPTIONS, __pyx_k_CU_JIT_NUM_OPTIONS, sizeof(__pyx_k_CU_JIT_NUM_OPTIONS), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_OPTIMIZATION_LEVEL, __pyx_k_CU_JIT_OPTIMIZATION_LEVEL, sizeof(__pyx_k_CU_JIT_OPTIMIZATION_LEVEL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_OPTIMIZE_UNUSED_DEVICE_VA, __pyx_k_CU_JIT_OPTIMIZE_UNUSED_DEVICE_VA, sizeof(__pyx_k_CU_JIT_OPTIMIZE_UNUSED_DEVICE_VA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_OVERRIDE_DIRECTIVE_VALUES, __pyx_k_CU_JIT_OVERRIDE_DIRECTIVE_VALUES, sizeof(__pyx_k_CU_JIT_OVERRIDE_DIRECTIVE_VALUES), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_POSITION_INDEPENDENT_CODE, __pyx_k_CU_JIT_POSITION_INDEPENDENT_CODE, sizeof(__pyx_k_CU_JIT_POSITION_INDEPENDENT_CODE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_PREC_DIV, __pyx_k_CU_JIT_PREC_DIV, sizeof(__pyx_k_CU_JIT_PREC_DIV), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_PREC_SQRT, __pyx_k_CU_JIT_PREC_SQRT, sizeof(__pyx_k_CU_JIT_PREC_SQRT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_REFERENCED_KERNEL_COUNT, __pyx_k_CU_JIT_REFERENCED_KERNEL_COUNT, sizeof(__pyx_k_CU_JIT_REFERENCED_KERNEL_COUNT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_REFERENCED_KERNEL_NAMES, __pyx_k_CU_JIT_REFERENCED_KERNEL_NAMES, sizeof(__pyx_k_CU_JIT_REFERENCED_KERNEL_NAMES), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_REFERENCED_VARIABLE_COUNT, __pyx_k_CU_JIT_REFERENCED_VARIABLE_COUNT, sizeof(__pyx_k_CU_JIT_REFERENCED_VARIABLE_COUNT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_REFERENCED_VARIABLE_NAMES, __pyx_k_CU_JIT_REFERENCED_VARIABLE_NAMES, sizeof(__pyx_k_CU_JIT_REFERENCED_VARIABLE_NAMES), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_TARGET, __pyx_k_CU_JIT_TARGET, sizeof(__pyx_k_CU_JIT_TARGET), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_TARGET_FROM_CUCONTEXT, __pyx_k_CU_JIT_TARGET_FROM_CUCONTEXT, sizeof(__pyx_k_CU_JIT_TARGET_FROM_CUCONTEXT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_THREADS_PER_BLOCK, __pyx_k_CU_JIT_THREADS_PER_BLOCK, sizeof(__pyx_k_CU_JIT_THREADS_PER_BLOCK), 0, 0, 1, 1},
    {&__pyx_n_s_CU_JIT_WALL_TIME, __pyx_k_CU_JIT_WALL_TIME, sizeof(__pyx_k_CU_JIT_WALL_TIME), 0, 0, 1, 1},
    {&__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_ACCESS, __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_ACCESS, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_ACCESS), 0, 0, 1, 1},
    {&__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER, __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_2, __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_2, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_COOPERA, __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_COOPERA, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_COOPERA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_DEVICE, __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_DEVICE, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_DEVICE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN, __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN), 0, 0, 1, 1},
    {&__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN_2, __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN_2, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_PRIORIT, __pyx_k_CU_KERNEL_NODE_ATTRIBUTE_PRIORIT, sizeof(__pyx_k_CU_KERNEL_NODE_ATTRIBUTE_PRIORIT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC, __pyx_k_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME, __pyx_k_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE, __pyx_k_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_ATTRIBUTE_COOPERATIVE, __pyx_k_CU_LAUNCH_ATTRIBUTE_COOPERATIVE, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_COOPERATIVE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT, __pyx_k_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_ATTRIBUTE_IGNORE, __pyx_k_CU_LAUNCH_ATTRIBUTE_IGNORE, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_IGNORE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL, __pyx_k_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM, __pyx_k_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2, __pyx_k_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_ATTRIBUTE_PRIORITY, __pyx_k_CU_LAUNCH_ATTRIBUTE_PRIORITY, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_PRIORITY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC, __pyx_k_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2, __pyx_k_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT, __pyx_k_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT, sizeof(__pyx_k_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAUL, __pyx_k_CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAUL, sizeof(__pyx_k_CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAUL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE, __pyx_k_CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE, sizeof(__pyx_k_CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_POINTER, __pyx_k_CU_LAUNCH_PARAM_BUFFER_POINTER, sizeof(__pyx_k_CU_LAUNCH_PARAM_BUFFER_POINTER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_POINTER_A, __pyx_k_CU_LAUNCH_PARAM_BUFFER_POINTER_A, sizeof(__pyx_k_CU_LAUNCH_PARAM_BUFFER_POINTER_A), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_SIZE, __pyx_k_CU_LAUNCH_PARAM_BUFFER_SIZE, sizeof(__pyx_k_CU_LAUNCH_PARAM_BUFFER_SIZE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_I, __pyx_k_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_I, sizeof(__pyx_k_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_I), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_PARAM_END, __pyx_k_CU_LAUNCH_PARAM_END, sizeof(__pyx_k_CU_LAUNCH_PARAM_END), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LAUNCH_PARAM_END_AS_INT, __pyx_k_CU_LAUNCH_PARAM_END_AS_INT, sizeof(__pyx_k_CU_LAUNCH_PARAM_END_AS_INT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LIBRARY_BINARY_IS_PRESERVED, __pyx_k_CU_LIBRARY_BINARY_IS_PRESERVED, sizeof(__pyx_k_CU_LIBRARY_BINARY_IS_PRESERVED), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LIBRARY_HOST_UNIVERSAL_FUNCTI, __pyx_k_CU_LIBRARY_HOST_UNIVERSAL_FUNCTI, sizeof(__pyx_k_CU_LIBRARY_HOST_UNIVERSAL_FUNCTI), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LIBRARY_NUM_OPTIONS, __pyx_k_CU_LIBRARY_NUM_OPTIONS, sizeof(__pyx_k_CU_LIBRARY_NUM_OPTIONS), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LIMIT_DEV_RUNTIME_PENDING_LAU, __pyx_k_CU_LIMIT_DEV_RUNTIME_PENDING_LAU, sizeof(__pyx_k_CU_LIMIT_DEV_RUNTIME_PENDING_LAU), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH, __pyx_k_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH, sizeof(__pyx_k_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LIMIT_MALLOC_HEAP_SIZE, __pyx_k_CU_LIMIT_MALLOC_HEAP_SIZE, sizeof(__pyx_k_CU_LIMIT_MALLOC_HEAP_SIZE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LIMIT_MAX, __pyx_k_CU_LIMIT_MAX, sizeof(__pyx_k_CU_LIMIT_MAX), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LIMIT_MAX_L2_FETCH_GRANULARIT, __pyx_k_CU_LIMIT_MAX_L2_FETCH_GRANULARIT, sizeof(__pyx_k_CU_LIMIT_MAX_L2_FETCH_GRANULARIT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LIMIT_PERSISTING_L2_CACHE_SIZ, __pyx_k_CU_LIMIT_PERSISTING_L2_CACHE_SIZ, sizeof(__pyx_k_CU_LIMIT_PERSISTING_L2_CACHE_SIZ), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LIMIT_PRINTF_FIFO_SIZE, __pyx_k_CU_LIMIT_PRINTF_FIFO_SIZE, sizeof(__pyx_k_CU_LIMIT_PRINTF_FIFO_SIZE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_LIMIT_STACK_SIZE, __pyx_k_CU_LIMIT_STACK_SIZE, sizeof(__pyx_k_CU_LIMIT_STACK_SIZE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMHOSTALLOC_DEVICEMAP, __pyx_k_CU_MEMHOSTALLOC_DEVICEMAP, sizeof(__pyx_k_CU_MEMHOSTALLOC_DEVICEMAP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMHOSTALLOC_PORTABLE, __pyx_k_CU_MEMHOSTALLOC_PORTABLE, sizeof(__pyx_k_CU_MEMHOSTALLOC_PORTABLE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMHOSTALLOC_WRITECOMBINED, __pyx_k_CU_MEMHOSTALLOC_WRITECOMBINED, sizeof(__pyx_k_CU_MEMHOSTALLOC_WRITECOMBINED), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMHOSTREGISTER_DEVICEMAP, __pyx_k_CU_MEMHOSTREGISTER_DEVICEMAP, sizeof(__pyx_k_CU_MEMHOSTREGISTER_DEVICEMAP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMHOSTREGISTER_IOMEMORY, __pyx_k_CU_MEMHOSTREGISTER_IOMEMORY, sizeof(__pyx_k_CU_MEMHOSTREGISTER_IOMEMORY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMHOSTREGISTER_PORTABLE, __pyx_k_CU_MEMHOSTREGISTER_PORTABLE, sizeof(__pyx_k_CU_MEMHOSTREGISTER_PORTABLE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMHOSTREGISTER_READ_ONLY, __pyx_k_CU_MEMHOSTREGISTER_READ_ONLY, sizeof(__pyx_k_CU_MEMHOSTREGISTER_READ_ONLY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMORYTYPE_ARRAY, __pyx_k_CU_MEMORYTYPE_ARRAY, sizeof(__pyx_k_CU_MEMORYTYPE_ARRAY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMORYTYPE_DEVICE, __pyx_k_CU_MEMORYTYPE_DEVICE, sizeof(__pyx_k_CU_MEMORYTYPE_DEVICE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMORYTYPE_HOST, __pyx_k_CU_MEMORYTYPE_HOST, sizeof(__pyx_k_CU_MEMORYTYPE_HOST), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMORYTYPE_UNIFIED, __pyx_k_CU_MEMORYTYPE_UNIFIED, sizeof(__pyx_k_CU_MEMORYTYPE_UNIFIED), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMPOOL_ATTR_RELEASE_THRESHOL, __pyx_k_CU_MEMPOOL_ATTR_RELEASE_THRESHOL, sizeof(__pyx_k_CU_MEMPOOL_ATTR_RELEASE_THRESHOL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMPOOL_ATTR_RESERVED_MEM_CUR, __pyx_k_CU_MEMPOOL_ATTR_RESERVED_MEM_CUR, sizeof(__pyx_k_CU_MEMPOOL_ATTR_RESERVED_MEM_CUR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMPOOL_ATTR_RESERVED_MEM_HIG, __pyx_k_CU_MEMPOOL_ATTR_RESERVED_MEM_HIG, sizeof(__pyx_k_CU_MEMPOOL_ATTR_RESERVED_MEM_HIG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTE, __pyx_k_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTE, sizeof(__pyx_k_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPO, __pyx_k_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPO, sizeof(__pyx_k_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPO), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVE, __pyx_k_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVE, sizeof(__pyx_k_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMPOOL_ATTR_USED_MEM_CURRENT, __pyx_k_CU_MEMPOOL_ATTR_USED_MEM_CURRENT, sizeof(__pyx_k_CU_MEMPOOL_ATTR_USED_MEM_CURRENT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEMPOOL_ATTR_USED_MEM_HIGH, __pyx_k_CU_MEMPOOL_ATTR_USED_MEM_HIGH, sizeof(__pyx_k_CU_MEMPOOL_ATTR_USED_MEM_HIGH), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_MAX, __pyx_k_CU_MEM_ACCESS_FLAGS_PROT_MAX, sizeof(__pyx_k_CU_MEM_ACCESS_FLAGS_PROT_MAX), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_NONE, __pyx_k_CU_MEM_ACCESS_FLAGS_PROT_NONE, sizeof(__pyx_k_CU_MEM_ACCESS_FLAGS_PROT_NONE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_READ, __pyx_k_CU_MEM_ACCESS_FLAGS_PROT_READ, sizeof(__pyx_k_CU_MEM_ACCESS_FLAGS_PROT_READ), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_READWRI, __pyx_k_CU_MEM_ACCESS_FLAGS_PROT_READWRI, sizeof(__pyx_k_CU_MEM_ACCESS_FLAGS_PROT_READWRI), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ADVISE_SET_ACCESSED_BY, __pyx_k_CU_MEM_ADVISE_SET_ACCESSED_BY, sizeof(__pyx_k_CU_MEM_ADVISE_SET_ACCESSED_BY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ADVISE_SET_PREFERRED_LOCA, __pyx_k_CU_MEM_ADVISE_SET_PREFERRED_LOCA, sizeof(__pyx_k_CU_MEM_ADVISE_SET_PREFERRED_LOCA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ADVISE_SET_READ_MOSTLY, __pyx_k_CU_MEM_ADVISE_SET_READ_MOSTLY, sizeof(__pyx_k_CU_MEM_ADVISE_SET_READ_MOSTLY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ADVISE_UNSET_ACCESSED_BY, __pyx_k_CU_MEM_ADVISE_UNSET_ACCESSED_BY, sizeof(__pyx_k_CU_MEM_ADVISE_UNSET_ACCESSED_BY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ADVISE_UNSET_PREFERRED_LO, __pyx_k_CU_MEM_ADVISE_UNSET_PREFERRED_LO, sizeof(__pyx_k_CU_MEM_ADVISE_UNSET_PREFERRED_LO), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ADVISE_UNSET_READ_MOSTLY, __pyx_k_CU_MEM_ADVISE_UNSET_READ_MOSTLY, sizeof(__pyx_k_CU_MEM_ADVISE_UNSET_READ_MOSTLY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ALLOCATION_COMP_GENERIC, __pyx_k_CU_MEM_ALLOCATION_COMP_GENERIC, sizeof(__pyx_k_CU_MEM_ALLOCATION_COMP_GENERIC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ALLOCATION_COMP_NONE, __pyx_k_CU_MEM_ALLOCATION_COMP_NONE, sizeof(__pyx_k_CU_MEM_ALLOCATION_COMP_NONE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ALLOCATION_TYPE_INVALID, __pyx_k_CU_MEM_ALLOCATION_TYPE_INVALID, sizeof(__pyx_k_CU_MEM_ALLOCATION_TYPE_INVALID), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ALLOCATION_TYPE_MAX, __pyx_k_CU_MEM_ALLOCATION_TYPE_MAX, sizeof(__pyx_k_CU_MEM_ALLOCATION_TYPE_MAX), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ALLOCATION_TYPE_PINNED, __pyx_k_CU_MEM_ALLOCATION_TYPE_PINNED, sizeof(__pyx_k_CU_MEM_ALLOCATION_TYPE_PINNED), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ALLOC_GRANULARITY_MINIMUM, __pyx_k_CU_MEM_ALLOC_GRANULARITY_MINIMUM, sizeof(__pyx_k_CU_MEM_ALLOC_GRANULARITY_MINIMUM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ALLOC_GRANULARITY_RECOMME, __pyx_k_CU_MEM_ALLOC_GRANULARITY_RECOMME, sizeof(__pyx_k_CU_MEM_ALLOC_GRANULARITY_RECOMME), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ATTACH_GLOBAL, __pyx_k_CU_MEM_ATTACH_GLOBAL, sizeof(__pyx_k_CU_MEM_ATTACH_GLOBAL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ATTACH_HOST, __pyx_k_CU_MEM_ATTACH_HOST, sizeof(__pyx_k_CU_MEM_ATTACH_HOST), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_ATTACH_SINGLE, __pyx_k_CU_MEM_ATTACH_SINGLE, sizeof(__pyx_k_CU_MEM_ATTACH_SINGLE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_CREATE_USAGE_TILE_POOL, __pyx_k_CU_MEM_CREATE_USAGE_TILE_POOL, sizeof(__pyx_k_CU_MEM_CREATE_USAGE_TILE_POOL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_HANDLE_TYPE_FABRIC, __pyx_k_CU_MEM_HANDLE_TYPE_FABRIC, sizeof(__pyx_k_CU_MEM_HANDLE_TYPE_FABRIC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_HANDLE_TYPE_GENERIC, __pyx_k_CU_MEM_HANDLE_TYPE_GENERIC, sizeof(__pyx_k_CU_MEM_HANDLE_TYPE_GENERIC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_HANDLE_TYPE_MAX, __pyx_k_CU_MEM_HANDLE_TYPE_MAX, sizeof(__pyx_k_CU_MEM_HANDLE_TYPE_MAX), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_HANDLE_TYPE_NONE, __pyx_k_CU_MEM_HANDLE_TYPE_NONE, sizeof(__pyx_k_CU_MEM_HANDLE_TYPE_NONE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_HANDLE_TYPE_POSIX_FILE_DE, __pyx_k_CU_MEM_HANDLE_TYPE_POSIX_FILE_DE, sizeof(__pyx_k_CU_MEM_HANDLE_TYPE_POSIX_FILE_DE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_HANDLE_TYPE_WIN32, __pyx_k_CU_MEM_HANDLE_TYPE_WIN32, sizeof(__pyx_k_CU_MEM_HANDLE_TYPE_WIN32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_HANDLE_TYPE_WIN32_KMT, __pyx_k_CU_MEM_HANDLE_TYPE_WIN32_KMT, sizeof(__pyx_k_CU_MEM_HANDLE_TYPE_WIN32_KMT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_LOCATION_TYPE_DEVICE, __pyx_k_CU_MEM_LOCATION_TYPE_DEVICE, sizeof(__pyx_k_CU_MEM_LOCATION_TYPE_DEVICE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_LOCATION_TYPE_HOST, __pyx_k_CU_MEM_LOCATION_TYPE_HOST, sizeof(__pyx_k_CU_MEM_LOCATION_TYPE_HOST), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_LOCATION_TYPE_HOST_NUMA, __pyx_k_CU_MEM_LOCATION_TYPE_HOST_NUMA, sizeof(__pyx_k_CU_MEM_LOCATION_TYPE_HOST_NUMA), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_LOCATION_TYPE_HOST_NUMA_C, __pyx_k_CU_MEM_LOCATION_TYPE_HOST_NUMA_C, sizeof(__pyx_k_CU_MEM_LOCATION_TYPE_HOST_NUMA_C), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_LOCATION_TYPE_INVALID, __pyx_k_CU_MEM_LOCATION_TYPE_INVALID, sizeof(__pyx_k_CU_MEM_LOCATION_TYPE_INVALID), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_LOCATION_TYPE_MAX, __pyx_k_CU_MEM_LOCATION_TYPE_MAX, sizeof(__pyx_k_CU_MEM_LOCATION_TYPE_MAX), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_OPERATION_TYPE_MAP, __pyx_k_CU_MEM_OPERATION_TYPE_MAP, sizeof(__pyx_k_CU_MEM_OPERATION_TYPE_MAP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_OPERATION_TYPE_UNMAP, __pyx_k_CU_MEM_OPERATION_TYPE_UNMAP, sizeof(__pyx_k_CU_MEM_OPERATION_TYPE_UNMAP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_ACCESSED, __pyx_k_CU_MEM_RANGE_ATTRIBUTE_ACCESSED, sizeof(__pyx_k_CU_MEM_RANGE_ATTRIBUTE_ACCESSED), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF, __pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF, sizeof(__pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_2, __pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_2, sizeof(__pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_3, __pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_3, sizeof(__pyx_k_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED, __pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED, sizeof(__pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_2, __pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_2, sizeof(__pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_3, __pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_3, sizeof(__pyx_k_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_READ_MOST, __pyx_k_CU_MEM_RANGE_ATTRIBUTE_READ_MOST, sizeof(__pyx_k_CU_MEM_RANGE_ATTRIBUTE_READ_MOST), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF, __pyx_k_CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF, sizeof(__pyx_k_CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MEM_RANGE_HANDLE_TYPE_MAX, __pyx_k_CU_MEM_RANGE_HANDLE_TYPE_MAX, sizeof(__pyx_k_CU_MEM_RANGE_HANDLE_TYPE_MAX), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MODULE_EAGER_LOADING, __pyx_k_CU_MODULE_EAGER_LOADING, sizeof(__pyx_k_CU_MODULE_EAGER_LOADING), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MODULE_LAZY_LOADING, __pyx_k_CU_MODULE_LAZY_LOADING, sizeof(__pyx_k_CU_MODULE_LAZY_LOADING), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MULTICAST_GRANULARITY_MINIMUM, __pyx_k_CU_MULTICAST_GRANULARITY_MINIMUM, sizeof(__pyx_k_CU_MULTICAST_GRANULARITY_MINIMUM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_MULTICAST_GRANULARITY_RECOMME, __pyx_k_CU_MULTICAST_GRANULARITY_RECOMME, sizeof(__pyx_k_CU_MULTICAST_GRANULARITY_RECOMME), 0, 0, 1, 1},
    {&__pyx_n_s_CU_OCCUPANCY_DEFAULT, __pyx_k_CU_OCCUPANCY_DEFAULT, sizeof(__pyx_k_CU_OCCUPANCY_DEFAULT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_OCCUPANCY_DISABLE_CACHING_OVE, __pyx_k_CU_OCCUPANCY_DISABLE_CACHING_OVE, sizeof(__pyx_k_CU_OCCUPANCY_DISABLE_CACHING_OVE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_OUT_CSV, __pyx_k_CU_OUT_CSV, sizeof(__pyx_k_CU_OUT_CSV), 0, 0, 1, 1},
    {&__pyx_n_s_CU_OUT_KEY_VALUE_PAIR, __pyx_k_CU_OUT_KEY_VALUE_PAIR, sizeof(__pyx_k_CU_OUT_KEY_VALUE_PAIR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_PARAM_TR_DEFAULT, __pyx_k_CU_PARAM_TR_DEFAULT, sizeof(__pyx_k_CU_PARAM_TR_DEFAULT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG, __pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_2, __pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_2, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_3, __pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_3, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_4, __pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_4, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_ALLOWED_HAN, __pyx_k_CU_POINTER_ATTRIBUTE_ALLOWED_HAN, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_ALLOWED_HAN), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_BUFFER_ID, __pyx_k_CU_POINTER_ATTRIBUTE_BUFFER_ID, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_BUFFER_ID), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_CONTEXT, __pyx_k_CU_POINTER_ATTRIBUTE_CONTEXT, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_CONTEXT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_DEVICE_ORDI, __pyx_k_CU_POINTER_ATTRIBUTE_DEVICE_ORDI, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_DEVICE_ORDI), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_DEVICE_POIN, __pyx_k_CU_POINTER_ATTRIBUTE_DEVICE_POIN, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_DEVICE_POIN), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_HOST_POINTE, __pyx_k_CU_POINTER_ATTRIBUTE_HOST_POINTE, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_HOST_POINTE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_IS_GPU_DIRE, __pyx_k_CU_POINTER_ATTRIBUTE_IS_GPU_DIRE, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_IS_GPU_DIRE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_IS_LEGACY_C, __pyx_k_CU_POINTER_ATTRIBUTE_IS_LEGACY_C, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_IS_LEGACY_C), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_IS_MANAGED, __pyx_k_CU_POINTER_ATTRIBUTE_IS_MANAGED, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_IS_MANAGED), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPED, __pyx_k_CU_POINTER_ATTRIBUTE_MAPPED, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_MAPPED), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPING_BAS, __pyx_k_CU_POINTER_ATTRIBUTE_MAPPING_BAS, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_MAPPING_BAS), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPING_SIZ, __pyx_k_CU_POINTER_ATTRIBUTE_MAPPING_SIZ, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_MAPPING_SIZ), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_MEMORY_BLOC, __pyx_k_CU_POINTER_ATTRIBUTE_MEMORY_BLOC, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_MEMORY_BLOC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_MEMORY_TYPE, __pyx_k_CU_POINTER_ATTRIBUTE_MEMORY_TYPE, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_MEMORY_TYPE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_MEMPOOL_HAN, __pyx_k_CU_POINTER_ATTRIBUTE_MEMPOOL_HAN, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_MEMPOOL_HAN), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_P2P_TOKENS, __pyx_k_CU_POINTER_ATTRIBUTE_P2P_TOKENS, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_P2P_TOKENS), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_RANGE_SIZE, __pyx_k_CU_POINTER_ATTRIBUTE_RANGE_SIZE, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_RANGE_SIZE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_RANGE_START, __pyx_k_CU_POINTER_ATTRIBUTE_RANGE_START, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_RANGE_START), 0, 0, 1, 1},
    {&__pyx_n_s_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS, __pyx_k_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS, sizeof(__pyx_k_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS), 0, 0, 1, 1},
    {&__pyx_n_s_CU_PREFER_BINARY, __pyx_k_CU_PREFER_BINARY, sizeof(__pyx_k_CU_PREFER_BINARY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_PREFER_PTX, __pyx_k_CU_PREFER_PTX, sizeof(__pyx_k_CU_PREFER_PTX), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RESOURCE_TYPE_ARRAY, __pyx_k_CU_RESOURCE_TYPE_ARRAY, sizeof(__pyx_k_CU_RESOURCE_TYPE_ARRAY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RESOURCE_TYPE_LINEAR, __pyx_k_CU_RESOURCE_TYPE_LINEAR, sizeof(__pyx_k_CU_RESOURCE_TYPE_LINEAR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY, __pyx_k_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY, sizeof(__pyx_k_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RESOURCE_TYPE_PITCH2D, __pyx_k_CU_RESOURCE_TYPE_PITCH2D, sizeof(__pyx_k_CU_RESOURCE_TYPE_PITCH2D), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_1X16, __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_1X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_1X16), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_1X32, __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_1X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_1X32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_2X16, __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_2X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_2X16), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_2X32, __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_2X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_2X32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_4X16, __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_4X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_4X16), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_4X32, __pyx_k_CU_RES_VIEW_FORMAT_FLOAT_4X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_FLOAT_4X32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_NONE, __pyx_k_CU_RES_VIEW_FORMAT_NONE, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_NONE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC4, __pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC4, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC5, __pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC5, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC5), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC6H, __pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC6H, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SIGNED_BC6H), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X16, __pyx_k_CU_RES_VIEW_FORMAT_SINT_1X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_1X16), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X32, __pyx_k_CU_RES_VIEW_FORMAT_SINT_1X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_1X32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X8, __pyx_k_CU_RES_VIEW_FORMAT_SINT_1X8, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_1X8), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X16, __pyx_k_CU_RES_VIEW_FORMAT_SINT_2X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_2X16), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X32, __pyx_k_CU_RES_VIEW_FORMAT_SINT_2X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_2X32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X8, __pyx_k_CU_RES_VIEW_FORMAT_SINT_2X8, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_2X8), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X16, __pyx_k_CU_RES_VIEW_FORMAT_SINT_4X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_4X16), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X32, __pyx_k_CU_RES_VIEW_FORMAT_SINT_4X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_4X32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X8, __pyx_k_CU_RES_VIEW_FORMAT_SINT_4X8, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_SINT_4X8), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X16, __pyx_k_CU_RES_VIEW_FORMAT_UINT_1X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_1X16), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X32, __pyx_k_CU_RES_VIEW_FORMAT_UINT_1X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_1X32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X8, __pyx_k_CU_RES_VIEW_FORMAT_UINT_1X8, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_1X8), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X16, __pyx_k_CU_RES_VIEW_FORMAT_UINT_2X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_2X16), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X32, __pyx_k_CU_RES_VIEW_FORMAT_UINT_2X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_2X32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X8, __pyx_k_CU_RES_VIEW_FORMAT_UINT_2X8, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_2X8), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X16, __pyx_k_CU_RES_VIEW_FORMAT_UINT_4X16, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_4X16), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X32, __pyx_k_CU_RES_VIEW_FORMAT_UINT_4X32, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_4X32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X8, __pyx_k_CU_RES_VIEW_FORMAT_UINT_4X8, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UINT_4X8), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC1, __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC1, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC1), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC2, __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC2, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC3, __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC3, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC3), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC4, __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC4, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC4), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC5, __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC5, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC5), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H, __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H), 0, 0, 1, 1},
    {&__pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC7, __pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC7, sizeof(__pyx_k_CU_RES_VIEW_FORMAT_UNSIGNED_BC7), 0, 0, 1, 1},
    {&__pyx_n_s_CU_SHAREDMEM_CARVEOUT_DEFAULT, __pyx_k_CU_SHAREDMEM_CARVEOUT_DEFAULT, sizeof(__pyx_k_CU_SHAREDMEM_CARVEOUT_DEFAULT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_SHAREDMEM_CARVEOUT_MAX_L1, __pyx_k_CU_SHAREDMEM_CARVEOUT_MAX_L1, sizeof(__pyx_k_CU_SHAREDMEM_CARVEOUT_MAX_L1), 0, 0, 1, 1},
    {&__pyx_n_s_CU_SHAREDMEM_CARVEOUT_MAX_SHARED, __pyx_k_CU_SHAREDMEM_CARVEOUT_MAX_SHARED, sizeof(__pyx_k_CU_SHAREDMEM_CARVEOUT_MAX_SHARED), 0, 0, 1, 1},
    {&__pyx_n_s_CU_SHARED_MEM_CONFIG_DEFAULT_BAN, __pyx_k_CU_SHARED_MEM_CONFIG_DEFAULT_BAN, sizeof(__pyx_k_CU_SHARED_MEM_CONFIG_DEFAULT_BAN), 0, 0, 1, 1},
    {&__pyx_n_s_CU_SHARED_MEM_CONFIG_EIGHT_BYTE, __pyx_k_CU_SHARED_MEM_CONFIG_EIGHT_BYTE, sizeof(__pyx_k_CU_SHARED_MEM_CONFIG_EIGHT_BYTE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_SHARED_MEM_CONFIG_FOUR_BYTE_B, __pyx_k_CU_SHARED_MEM_CONFIG_FOUR_BYTE_B, sizeof(__pyx_k_CU_SHARED_MEM_CONFIG_FOUR_BYTE_B), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_ADD_CAPTURE_DEPENDENCI, __pyx_k_CU_STREAM_ADD_CAPTURE_DEPENDENCI, sizeof(__pyx_k_CU_STREAM_ADD_CAPTURE_DEPENDENCI), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_ATTRIBUTE_ACCESS_POLIC, __pyx_k_CU_STREAM_ATTRIBUTE_ACCESS_POLIC, sizeof(__pyx_k_CU_STREAM_ATTRIBUTE_ACCESS_POLIC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM, __pyx_k_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM, sizeof(__pyx_k_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM_2, __pyx_k_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM_2, sizeof(__pyx_k_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_ATTRIBUTE_PRIORITY, __pyx_k_CU_STREAM_ATTRIBUTE_PRIORITY, sizeof(__pyx_k_CU_STREAM_ATTRIBUTE_PRIORITY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_ATTRIBUTE_SYNCHRONIZAT, __pyx_k_CU_STREAM_ATTRIBUTE_SYNCHRONIZAT, sizeof(__pyx_k_CU_STREAM_ATTRIBUTE_SYNCHRONIZAT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_CAPTURE_MODE_GLOBAL, __pyx_k_CU_STREAM_CAPTURE_MODE_GLOBAL, sizeof(__pyx_k_CU_STREAM_CAPTURE_MODE_GLOBAL), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_CAPTURE_MODE_RELAXED, __pyx_k_CU_STREAM_CAPTURE_MODE_RELAXED, sizeof(__pyx_k_CU_STREAM_CAPTURE_MODE_RELAXED), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_CAPTURE_MODE_THREAD_LO, __pyx_k_CU_STREAM_CAPTURE_MODE_THREAD_LO, sizeof(__pyx_k_CU_STREAM_CAPTURE_MODE_THREAD_LO), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_CAPTURE_STATUS_ACTIVE, __pyx_k_CU_STREAM_CAPTURE_STATUS_ACTIVE, sizeof(__pyx_k_CU_STREAM_CAPTURE_STATUS_ACTIVE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_CAPTURE_STATUS_INVALID, __pyx_k_CU_STREAM_CAPTURE_STATUS_INVALID, sizeof(__pyx_k_CU_STREAM_CAPTURE_STATUS_INVALID), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_CAPTURE_STATUS_NONE, __pyx_k_CU_STREAM_CAPTURE_STATUS_NONE, sizeof(__pyx_k_CU_STREAM_CAPTURE_STATUS_NONE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_DEFAULT, __pyx_k_CU_STREAM_DEFAULT, sizeof(__pyx_k_CU_STREAM_DEFAULT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_LEGACY, __pyx_k_CU_STREAM_LEGACY, sizeof(__pyx_k_CU_STREAM_LEGACY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_MEMORY_BARRIER_TYPE_GP, __pyx_k_CU_STREAM_MEMORY_BARRIER_TYPE_GP, sizeof(__pyx_k_CU_STREAM_MEMORY_BARRIER_TYPE_GP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_MEMORY_BARRIER_TYPE_SY, __pyx_k_CU_STREAM_MEMORY_BARRIER_TYPE_SY, sizeof(__pyx_k_CU_STREAM_MEMORY_BARRIER_TYPE_SY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_MEM_OP_BARRIER, __pyx_k_CU_STREAM_MEM_OP_BARRIER, sizeof(__pyx_k_CU_STREAM_MEM_OP_BARRIER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_MEM_OP_FLUSH_REMOTE_WR, __pyx_k_CU_STREAM_MEM_OP_FLUSH_REMOTE_WR, sizeof(__pyx_k_CU_STREAM_MEM_OP_FLUSH_REMOTE_WR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_MEM_OP_WAIT_VALUE_32, __pyx_k_CU_STREAM_MEM_OP_WAIT_VALUE_32, sizeof(__pyx_k_CU_STREAM_MEM_OP_WAIT_VALUE_32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_MEM_OP_WAIT_VALUE_64, __pyx_k_CU_STREAM_MEM_OP_WAIT_VALUE_64, sizeof(__pyx_k_CU_STREAM_MEM_OP_WAIT_VALUE_64), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_MEM_OP_WRITE_VALUE_32, __pyx_k_CU_STREAM_MEM_OP_WRITE_VALUE_32, sizeof(__pyx_k_CU_STREAM_MEM_OP_WRITE_VALUE_32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_MEM_OP_WRITE_VALUE_64, __pyx_k_CU_STREAM_MEM_OP_WRITE_VALUE_64, sizeof(__pyx_k_CU_STREAM_MEM_OP_WRITE_VALUE_64), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_NON_BLOCKING, __pyx_k_CU_STREAM_NON_BLOCKING, sizeof(__pyx_k_CU_STREAM_NON_BLOCKING), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_PER_THREAD, __pyx_k_CU_STREAM_PER_THREAD, sizeof(__pyx_k_CU_STREAM_PER_THREAD), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_SET_CAPTURE_DEPENDENCI, __pyx_k_CU_STREAM_SET_CAPTURE_DEPENDENCI, sizeof(__pyx_k_CU_STREAM_SET_CAPTURE_DEPENDENCI), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_WAIT_VALUE_AND, __pyx_k_CU_STREAM_WAIT_VALUE_AND, sizeof(__pyx_k_CU_STREAM_WAIT_VALUE_AND), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_WAIT_VALUE_EQ, __pyx_k_CU_STREAM_WAIT_VALUE_EQ, sizeof(__pyx_k_CU_STREAM_WAIT_VALUE_EQ), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_WAIT_VALUE_FLUSH, __pyx_k_CU_STREAM_WAIT_VALUE_FLUSH, sizeof(__pyx_k_CU_STREAM_WAIT_VALUE_FLUSH), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_WAIT_VALUE_GEQ, __pyx_k_CU_STREAM_WAIT_VALUE_GEQ, sizeof(__pyx_k_CU_STREAM_WAIT_VALUE_GEQ), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_WAIT_VALUE_NOR, __pyx_k_CU_STREAM_WAIT_VALUE_NOR, sizeof(__pyx_k_CU_STREAM_WAIT_VALUE_NOR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_WRITE_VALUE_DEFAULT, __pyx_k_CU_STREAM_WRITE_VALUE_DEFAULT, sizeof(__pyx_k_CU_STREAM_WRITE_VALUE_DEFAULT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_STREAM_WRITE_VALUE_NO_MEMORY, __pyx_k_CU_STREAM_WRITE_VALUE_NO_MEMORY, sizeof(__pyx_k_CU_STREAM_WRITE_VALUE_NO_MEMORY), 0, 0, 1, 1},
    {&__pyx_n_s_CU_SYNC_POLICY_AUTO, __pyx_k_CU_SYNC_POLICY_AUTO, sizeof(__pyx_k_CU_SYNC_POLICY_AUTO), 0, 0, 1, 1},
    {&__pyx_n_s_CU_SYNC_POLICY_BLOCKING_SYNC, __pyx_k_CU_SYNC_POLICY_BLOCKING_SYNC, sizeof(__pyx_k_CU_SYNC_POLICY_BLOCKING_SYNC), 0, 0, 1, 1},
    {&__pyx_n_s_CU_SYNC_POLICY_SPIN, __pyx_k_CU_SYNC_POLICY_SPIN, sizeof(__pyx_k_CU_SYNC_POLICY_SPIN), 0, 0, 1, 1},
    {&__pyx_n_s_CU_SYNC_POLICY_YIELD, __pyx_k_CU_SYNC_POLICY_YIELD, sizeof(__pyx_k_CU_SYNC_POLICY_YIELD), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_30, __pyx_k_CU_TARGET_COMPUTE_30, sizeof(__pyx_k_CU_TARGET_COMPUTE_30), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_32, __pyx_k_CU_TARGET_COMPUTE_32, sizeof(__pyx_k_CU_TARGET_COMPUTE_32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_35, __pyx_k_CU_TARGET_COMPUTE_35, sizeof(__pyx_k_CU_TARGET_COMPUTE_35), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_37, __pyx_k_CU_TARGET_COMPUTE_37, sizeof(__pyx_k_CU_TARGET_COMPUTE_37), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_50, __pyx_k_CU_TARGET_COMPUTE_50, sizeof(__pyx_k_CU_TARGET_COMPUTE_50), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_52, __pyx_k_CU_TARGET_COMPUTE_52, sizeof(__pyx_k_CU_TARGET_COMPUTE_52), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_53, __pyx_k_CU_TARGET_COMPUTE_53, sizeof(__pyx_k_CU_TARGET_COMPUTE_53), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_60, __pyx_k_CU_TARGET_COMPUTE_60, sizeof(__pyx_k_CU_TARGET_COMPUTE_60), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_61, __pyx_k_CU_TARGET_COMPUTE_61, sizeof(__pyx_k_CU_TARGET_COMPUTE_61), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_62, __pyx_k_CU_TARGET_COMPUTE_62, sizeof(__pyx_k_CU_TARGET_COMPUTE_62), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_70, __pyx_k_CU_TARGET_COMPUTE_70, sizeof(__pyx_k_CU_TARGET_COMPUTE_70), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_72, __pyx_k_CU_TARGET_COMPUTE_72, sizeof(__pyx_k_CU_TARGET_COMPUTE_72), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_75, __pyx_k_CU_TARGET_COMPUTE_75, sizeof(__pyx_k_CU_TARGET_COMPUTE_75), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_80, __pyx_k_CU_TARGET_COMPUTE_80, sizeof(__pyx_k_CU_TARGET_COMPUTE_80), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_86, __pyx_k_CU_TARGET_COMPUTE_86, sizeof(__pyx_k_CU_TARGET_COMPUTE_86), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_87, __pyx_k_CU_TARGET_COMPUTE_87, sizeof(__pyx_k_CU_TARGET_COMPUTE_87), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_89, __pyx_k_CU_TARGET_COMPUTE_89, sizeof(__pyx_k_CU_TARGET_COMPUTE_89), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_90, __pyx_k_CU_TARGET_COMPUTE_90, sizeof(__pyx_k_CU_TARGET_COMPUTE_90), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TARGET_COMPUTE_90A, __pyx_k_CU_TARGET_COMPUTE_90A, sizeof(__pyx_k_CU_TARGET_COMPUTE_90A), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_BFLOAT16, __pyx_k_CU_TENSOR_MAP_DATA_TYPE_BFLOAT16, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_BFLOAT16), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT16, __pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT16, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT16), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT32, __pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT32, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT32_2, __pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT32_2, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT32_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT64, __pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT64, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_FLOAT64), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_INT32, __pyx_k_CU_TENSOR_MAP_DATA_TYPE_INT32, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_INT32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_INT64, __pyx_k_CU_TENSOR_MAP_DATA_TYPE_INT64, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_INT64), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32, __pyx_k_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_2, __pyx_k_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_2, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_2), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT16, __pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT16, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT16), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT32, __pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT32, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT32), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT64, __pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT64, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT64), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT8, __pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT8, sizeof(__pyx_k_CU_TENSOR_MAP_DATA_TYPE_UINT8), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN, __pyx_k_CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN, sizeof(__pyx_k_CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_FLOAT_OOB_FILL_NON, __pyx_k_CU_TENSOR_MAP_FLOAT_OOB_FILL_NON, sizeof(__pyx_k_CU_TENSOR_MAP_FLOAT_OOB_FILL_NON), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_16B, __pyx_k_CU_TENSOR_MAP_INTERLEAVE_16B, sizeof(__pyx_k_CU_TENSOR_MAP_INTERLEAVE_16B), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_32B, __pyx_k_CU_TENSOR_MAP_INTERLEAVE_32B, sizeof(__pyx_k_CU_TENSOR_MAP_INTERLEAVE_32B), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_NONE, __pyx_k_CU_TENSOR_MAP_INTERLEAVE_NONE, sizeof(__pyx_k_CU_TENSOR_MAP_INTERLEAVE_NONE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_12, __pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_12, sizeof(__pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_12), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_25, __pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_25, sizeof(__pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_25), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_64, __pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_64, sizeof(__pyx_k_CU_TENSOR_MAP_L2_PROMOTION_L2_64), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_NONE, __pyx_k_CU_TENSOR_MAP_L2_PROMOTION_NONE, sizeof(__pyx_k_CU_TENSOR_MAP_L2_PROMOTION_NONE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_NUM_QWORDS, __pyx_k_CU_TENSOR_MAP_NUM_QWORDS, sizeof(__pyx_k_CU_TENSOR_MAP_NUM_QWORDS), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_128B, __pyx_k_CU_TENSOR_MAP_SWIZZLE_128B, sizeof(__pyx_k_CU_TENSOR_MAP_SWIZZLE_128B), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_32B, __pyx_k_CU_TENSOR_MAP_SWIZZLE_32B, sizeof(__pyx_k_CU_TENSOR_MAP_SWIZZLE_32B), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_64B, __pyx_k_CU_TENSOR_MAP_SWIZZLE_64B, sizeof(__pyx_k_CU_TENSOR_MAP_SWIZZLE_64B), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TENSOR_MAP_SWIZZLE_NONE, __pyx_k_CU_TENSOR_MAP_SWIZZLE_NONE, sizeof(__pyx_k_CU_TENSOR_MAP_SWIZZLE_NONE), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TRSA_OVERRIDE_FORMAT, __pyx_k_CU_TRSA_OVERRIDE_FORMAT, sizeof(__pyx_k_CU_TRSA_OVERRIDE_FORMAT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TRSF_DISABLE_TRILINEAR_OPTIMI, __pyx_k_CU_TRSF_DISABLE_TRILINEAR_OPTIMI, sizeof(__pyx_k_CU_TRSF_DISABLE_TRILINEAR_OPTIMI), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TRSF_NORMALIZED_COORDINATES, __pyx_k_CU_TRSF_NORMALIZED_COORDINATES, sizeof(__pyx_k_CU_TRSF_NORMALIZED_COORDINATES), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TRSF_READ_AS_INTEGER, __pyx_k_CU_TRSF_READ_AS_INTEGER, sizeof(__pyx_k_CU_TRSF_READ_AS_INTEGER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TRSF_SEAMLESS_CUBEMAP, __pyx_k_CU_TRSF_SEAMLESS_CUBEMAP, sizeof(__pyx_k_CU_TRSF_SEAMLESS_CUBEMAP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TRSF_SRGB, __pyx_k_CU_TRSF_SRGB, sizeof(__pyx_k_CU_TRSF_SRGB), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TR_ADDRESS_MODE_BORDER, __pyx_k_CU_TR_ADDRESS_MODE_BORDER, sizeof(__pyx_k_CU_TR_ADDRESS_MODE_BORDER), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TR_ADDRESS_MODE_CLAMP, __pyx_k_CU_TR_ADDRESS_MODE_CLAMP, sizeof(__pyx_k_CU_TR_ADDRESS_MODE_CLAMP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TR_ADDRESS_MODE_MIRROR, __pyx_k_CU_TR_ADDRESS_MODE_MIRROR, sizeof(__pyx_k_CU_TR_ADDRESS_MODE_MIRROR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TR_ADDRESS_MODE_WRAP, __pyx_k_CU_TR_ADDRESS_MODE_WRAP, sizeof(__pyx_k_CU_TR_ADDRESS_MODE_WRAP), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TR_FILTER_MODE_LINEAR, __pyx_k_CU_TR_FILTER_MODE_LINEAR, sizeof(__pyx_k_CU_TR_FILTER_MODE_LINEAR), 0, 0, 1, 1},
    {&__pyx_n_s_CU_TR_FILTER_MODE_POINT, __pyx_k_CU_TR_FILTER_MODE_POINT, sizeof(__pyx_k_CU_TR_FILTER_MODE_POINT), 0, 0, 1, 1},
    {&__pyx_n_s_CU_USER_OBJECT_NO_DESTRUCTOR_SYN, __pyx_k_CU_USER_OBJECT_NO_DESTRUCTOR_SYN, sizeof(__pyx_k_CU_USER_OBJECT_NO_DESTRUCTOR_SYN), 0, 0, 1, 1},
    {&__pyx_n_s_CUaccessPolicyWindow, __pyx_k_CUaccessPolicyWindow, sizeof(__pyx_k_CUaccessPolicyWindow), 0, 0, 1, 1},
    {&__pyx_n_s_CUaccessPolicyWindow_st, __pyx_k_CUaccessPolicyWindow_st, sizeof(__pyx_k_CUaccessPolicyWindow_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUaccessPolicyWindow_st___reduce, __pyx_k_CUaccessPolicyWindow_st___reduce, sizeof(__pyx_k_CUaccessPolicyWindow_st___reduce), 0, 0, 1, 1},
    {&__pyx_n_s_CUaccessPolicyWindow_st___setsta, __pyx_k_CUaccessPolicyWindow_st___setsta, sizeof(__pyx_k_CUaccessPolicyWindow_st___setsta), 0, 0, 1, 1},
    {&__pyx_n_s_CUaccessPolicyWindow_st_getPtr, __pyx_k_CUaccessPolicyWindow_st_getPtr, sizeof(__pyx_k_CUaccessPolicyWindow_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUaccessPolicyWindow_v1, __pyx_k_CUaccessPolicyWindow_v1, sizeof(__pyx_k_CUaccessPolicyWindow_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUaccessProperty, __pyx_k_CUaccessProperty, sizeof(__pyx_k_CUaccessProperty), 0, 0, 1, 1},
    {&__pyx_n_s_CUaddress_mode, __pyx_k_CUaddress_mode, sizeof(__pyx_k_CUaddress_mode), 0, 0, 1, 1},
    {&__pyx_kp_u_CUarray, __pyx_k_CUarray, sizeof(__pyx_k_CUarray), 0, 1, 0, 0},
    {&__pyx_n_s_CUarrayMapInfo, __pyx_k_CUarrayMapInfo, sizeof(__pyx_k_CUarrayMapInfo), 0, 0, 1, 1},
    {&__pyx_n_s_CUarrayMapInfo_st, __pyx_k_CUarrayMapInfo_st, sizeof(__pyx_k_CUarrayMapInfo_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUarrayMapInfo_st___reduce_cytho, __pyx_k_CUarrayMapInfo_st___reduce_cytho, sizeof(__pyx_k_CUarrayMapInfo_st___reduce_cytho), 0, 0, 1, 1},
    {&__pyx_n_s_CUarrayMapInfo_st___setstate_cyt, __pyx_k_CUarrayMapInfo_st___setstate_cyt, sizeof(__pyx_k_CUarrayMapInfo_st___setstate_cyt), 0, 0, 1, 1},
    {&__pyx_n_s_CUarrayMapInfo_st_getPtr, __pyx_k_CUarrayMapInfo_st_getPtr, sizeof(__pyx_k_CUarrayMapInfo_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUarrayMapInfo_v1, __pyx_k_CUarrayMapInfo_v1, sizeof(__pyx_k_CUarrayMapInfo_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUarraySparseSubresourceType, __pyx_k_CUarraySparseSubresourceType, sizeof(__pyx_k_CUarraySparseSubresourceType), 0, 0, 1, 1},
    {&__pyx_n_s_CUarray_2, __pyx_k_CUarray_2, sizeof(__pyx_k_CUarray_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUarray___reduce_cython, __pyx_k_CUarray___reduce_cython, sizeof(__pyx_k_CUarray___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUarray___setstate_cython, __pyx_k_CUarray___setstate_cython, sizeof(__pyx_k_CUarray___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUarray_cubemap_face, __pyx_k_CUarray_cubemap_face, sizeof(__pyx_k_CUarray_cubemap_face), 0, 0, 1, 1},
    {&__pyx_n_s_CUarray_format, __pyx_k_CUarray_format, sizeof(__pyx_k_CUarray_format), 0, 0, 1, 1},
    {&__pyx_n_s_CUarray_getPtr, __pyx_k_CUarray_getPtr, sizeof(__pyx_k_CUarray_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUasyncCallback, __pyx_k_CUasyncCallback, sizeof(__pyx_k_CUasyncCallback), 0, 1, 0, 0},
    {&__pyx_kp_u_CUasyncCallbackHandle, __pyx_k_CUasyncCallbackHandle, sizeof(__pyx_k_CUasyncCallbackHandle), 0, 1, 0, 0},
    {&__pyx_n_s_CUasyncCallbackHandle_2, __pyx_k_CUasyncCallbackHandle_2, sizeof(__pyx_k_CUasyncCallbackHandle_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUasyncCallbackHandle___reduce_c, __pyx_k_CUasyncCallbackHandle___reduce_c, sizeof(__pyx_k_CUasyncCallbackHandle___reduce_c), 0, 0, 1, 1},
    {&__pyx_n_s_CUasyncCallbackHandle___setstate, __pyx_k_CUasyncCallbackHandle___setstate, sizeof(__pyx_k_CUasyncCallbackHandle___setstate), 0, 0, 1, 1},
    {&__pyx_n_s_CUasyncCallbackHandle_getPtr, __pyx_k_CUasyncCallbackHandle_getPtr, sizeof(__pyx_k_CUasyncCallbackHandle_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUasyncCallback_2, __pyx_k_CUasyncCallback_2, sizeof(__pyx_k_CUasyncCallback_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUasyncCallback___reduce_cython, __pyx_k_CUasyncCallback___reduce_cython, sizeof(__pyx_k_CUasyncCallback___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUasyncCallback___setstate_cytho, __pyx_k_CUasyncCallback___setstate_cytho, sizeof(__pyx_k_CUasyncCallback___setstate_cytho), 0, 0, 1, 1},
    {&__pyx_n_s_CUasyncCallback_getPtr, __pyx_k_CUasyncCallback_getPtr, sizeof(__pyx_k_CUasyncCallback_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUasyncNotificationInfo, __pyx_k_CUasyncNotificationInfo, sizeof(__pyx_k_CUasyncNotificationInfo), 0, 0, 1, 1},
    {&__pyx_n_s_CUasyncNotificationInfo_st, __pyx_k_CUasyncNotificationInfo_st, sizeof(__pyx_k_CUasyncNotificationInfo_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUasyncNotificationInfo_st___red, __pyx_k_CUasyncNotificationInfo_st___red, sizeof(__pyx_k_CUasyncNotificationInfo_st___red), 0, 0, 1, 1},
    {&__pyx_n_s_CUasyncNotificationInfo_st___set, __pyx_k_CUasyncNotificationInfo_st___set, sizeof(__pyx_k_CUasyncNotificationInfo_st___set), 0, 0, 1, 1},
    {&__pyx_n_s_CUasyncNotificationInfo_st_getPt, __pyx_k_CUasyncNotificationInfo_st_getPt, sizeof(__pyx_k_CUasyncNotificationInfo_st_getPt), 0, 0, 1, 1},
    {&__pyx_n_s_CUasyncNotificationType, __pyx_k_CUasyncNotificationType, sizeof(__pyx_k_CUasyncNotificationType), 0, 0, 1, 1},
    {&__pyx_n_s_CUclusterSchedulingPolicy, __pyx_k_CUclusterSchedulingPolicy, sizeof(__pyx_k_CUclusterSchedulingPolicy), 0, 0, 1, 1},
    {&__pyx_n_s_CUcomputemode, __pyx_k_CUcomputemode, sizeof(__pyx_k_CUcomputemode), 0, 0, 1, 1},
    {&__pyx_kp_u_CUcontext, __pyx_k_CUcontext, sizeof(__pyx_k_CUcontext), 0, 1, 0, 0},
    {&__pyx_n_s_CUcontext_2, __pyx_k_CUcontext_2, sizeof(__pyx_k_CUcontext_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUcontext___reduce_cython, __pyx_k_CUcontext___reduce_cython, sizeof(__pyx_k_CUcontext___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUcontext___setstate_cython, __pyx_k_CUcontext___setstate_cython, sizeof(__pyx_k_CUcontext___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUcontext_getPtr, __pyx_k_CUcontext_getPtr, sizeof(__pyx_k_CUcontext_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUcoredumpSettings, __pyx_k_CUcoredumpSettings, sizeof(__pyx_k_CUcoredumpSettings), 0, 0, 1, 1},
    {&__pyx_n_s_CUctx_flags, __pyx_k_CUctx_flags, sizeof(__pyx_k_CUctx_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevResource, __pyx_k_CUdevResource, sizeof(__pyx_k_CUdevResource), 0, 0, 1, 1},
    {&__pyx_kp_u_CUdevResourceDesc, __pyx_k_CUdevResourceDesc, sizeof(__pyx_k_CUdevResourceDesc), 0, 1, 0, 0},
    {&__pyx_n_s_CUdevResourceDesc_2, __pyx_k_CUdevResourceDesc_2, sizeof(__pyx_k_CUdevResourceDesc_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevResourceDesc___reduce_cytho, __pyx_k_CUdevResourceDesc___reduce_cytho, sizeof(__pyx_k_CUdevResourceDesc___reduce_cytho), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevResourceDesc___setstate_cyt, __pyx_k_CUdevResourceDesc___setstate_cyt, sizeof(__pyx_k_CUdevResourceDesc___setstate_cyt), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevResourceDesc_getPtr, __pyx_k_CUdevResourceDesc_getPtr, sizeof(__pyx_k_CUdevResourceDesc_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevResourceType, __pyx_k_CUdevResourceType, sizeof(__pyx_k_CUdevResourceType), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevResource_st, __pyx_k_CUdevResource_st, sizeof(__pyx_k_CUdevResource_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevResource_st___reduce_cython, __pyx_k_CUdevResource_st___reduce_cython, sizeof(__pyx_k_CUdevResource_st___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevResource_st___setstate_cyth, __pyx_k_CUdevResource_st___setstate_cyth, sizeof(__pyx_k_CUdevResource_st___setstate_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevResource_st_getPtr, __pyx_k_CUdevResource_st_getPtr, sizeof(__pyx_k_CUdevResource_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevResource_v1, __pyx_k_CUdevResource_v1, sizeof(__pyx_k_CUdevResource_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevSmResource, __pyx_k_CUdevSmResource, sizeof(__pyx_k_CUdevSmResource), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevSmResource_st, __pyx_k_CUdevSmResource_st, sizeof(__pyx_k_CUdevSmResource_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevSmResource_st___reduce_cyth, __pyx_k_CUdevSmResource_st___reduce_cyth, sizeof(__pyx_k_CUdevSmResource_st___reduce_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevSmResource_st___setstate_cy, __pyx_k_CUdevSmResource_st___setstate_cy, sizeof(__pyx_k_CUdevSmResource_st___setstate_cy), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevSmResource_st_getPtr, __pyx_k_CUdevSmResource_st_getPtr, sizeof(__pyx_k_CUdevSmResource_st_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUdevice, __pyx_k_CUdevice, sizeof(__pyx_k_CUdevice), 0, 1, 0, 0},
    {&__pyx_n_s_CUdeviceNumaConfig, __pyx_k_CUdeviceNumaConfig, sizeof(__pyx_k_CUdeviceNumaConfig), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevice_2, __pyx_k_CUdevice_2, sizeof(__pyx_k_CUdevice_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevice_P2PAttribute, __pyx_k_CUdevice_P2PAttribute, sizeof(__pyx_k_CUdevice_P2PAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevice___reduce_cython, __pyx_k_CUdevice___reduce_cython, sizeof(__pyx_k_CUdevice___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevice___setstate_cython, __pyx_k_CUdevice___setstate_cython, sizeof(__pyx_k_CUdevice___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevice_attribute, __pyx_k_CUdevice_attribute, sizeof(__pyx_k_CUdevice_attribute), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevice_getPtr, __pyx_k_CUdevice_getPtr, sizeof(__pyx_k_CUdevice_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUdevice_v1, __pyx_k_CUdevice_v1, sizeof(__pyx_k_CUdevice_v1), 0, 1, 0, 0},
    {&__pyx_n_s_CUdevice_v1_2, __pyx_k_CUdevice_v1_2, sizeof(__pyx_k_CUdevice_v1_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevice_v1___reduce_cython, __pyx_k_CUdevice_v1___reduce_cython, sizeof(__pyx_k_CUdevice_v1___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevice_v1___setstate_cython, __pyx_k_CUdevice_v1___setstate_cython, sizeof(__pyx_k_CUdevice_v1___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevice_v1_getPtr, __pyx_k_CUdevice_v1_getPtr, sizeof(__pyx_k_CUdevice_v1_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUdeviceptr, __pyx_k_CUdeviceptr, sizeof(__pyx_k_CUdeviceptr), 0, 1, 0, 0},
    {&__pyx_n_s_CUdeviceptr_2, __pyx_k_CUdeviceptr_2, sizeof(__pyx_k_CUdeviceptr_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUdeviceptr___reduce_cython, __pyx_k_CUdeviceptr___reduce_cython, sizeof(__pyx_k_CUdeviceptr___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUdeviceptr___setstate_cython, __pyx_k_CUdeviceptr___setstate_cython, sizeof(__pyx_k_CUdeviceptr___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUdeviceptr_getPtr, __pyx_k_CUdeviceptr_getPtr, sizeof(__pyx_k_CUdeviceptr_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUdeviceptr_v2, __pyx_k_CUdeviceptr_v2, sizeof(__pyx_k_CUdeviceptr_v2), 0, 1, 0, 0},
    {&__pyx_n_s_CUdeviceptr_v2_2, __pyx_k_CUdeviceptr_v2_2, sizeof(__pyx_k_CUdeviceptr_v2_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUdeviceptr_v2___reduce_cython, __pyx_k_CUdeviceptr_v2___reduce_cython, sizeof(__pyx_k_CUdeviceptr_v2___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUdeviceptr_v2___setstate_cython, __pyx_k_CUdeviceptr_v2___setstate_cython, sizeof(__pyx_k_CUdeviceptr_v2___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUdeviceptr_v2_getPtr, __pyx_k_CUdeviceptr_v2_getPtr, sizeof(__pyx_k_CUdeviceptr_v2_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevprop, __pyx_k_CUdevprop, sizeof(__pyx_k_CUdevprop), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevprop_st, __pyx_k_CUdevprop_st, sizeof(__pyx_k_CUdevprop_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevprop_st___reduce_cython, __pyx_k_CUdevprop_st___reduce_cython, sizeof(__pyx_k_CUdevprop_st___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevprop_st___setstate_cython, __pyx_k_CUdevprop_st___setstate_cython, sizeof(__pyx_k_CUdevprop_st___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevprop_st_getPtr, __pyx_k_CUdevprop_st_getPtr, sizeof(__pyx_k_CUdevprop_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUdevprop_v1, __pyx_k_CUdevprop_v1, sizeof(__pyx_k_CUdevprop_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUdriverProcAddressQueryResult, __pyx_k_CUdriverProcAddressQueryResult, sizeof(__pyx_k_CUdriverProcAddressQueryResult), 0, 0, 1, 1},
    {&__pyx_n_s_CUdriverProcAddress_flags, __pyx_k_CUdriverProcAddress_flags, sizeof(__pyx_k_CUdriverProcAddress_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUeglColorFormat, __pyx_k_CUeglColorFormat, sizeof(__pyx_k_CUeglColorFormat), 0, 0, 1, 1},
    {&__pyx_n_s_CUeglFrame, __pyx_k_CUeglFrame, sizeof(__pyx_k_CUeglFrame), 0, 0, 1, 1},
    {&__pyx_n_s_CUeglFrameType, __pyx_k_CUeglFrameType, sizeof(__pyx_k_CUeglFrameType), 0, 0, 1, 1},
    {&__pyx_n_s_CUeglFrame_st, __pyx_k_CUeglFrame_st, sizeof(__pyx_k_CUeglFrame_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUeglFrame_st___reduce_cython, __pyx_k_CUeglFrame_st___reduce_cython, sizeof(__pyx_k_CUeglFrame_st___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUeglFrame_st___setstate_cython, __pyx_k_CUeglFrame_st___setstate_cython, sizeof(__pyx_k_CUeglFrame_st___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUeglFrame_st_getPtr, __pyx_k_CUeglFrame_st_getPtr, sizeof(__pyx_k_CUeglFrame_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUeglFrame_v1, __pyx_k_CUeglFrame_v1, sizeof(__pyx_k_CUeglFrame_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUeglResourceLocationFlags, __pyx_k_CUeglResourceLocationFlags, sizeof(__pyx_k_CUeglResourceLocationFlags), 0, 0, 1, 1},
    {&__pyx_kp_u_CUeglStreamConnection, __pyx_k_CUeglStreamConnection, sizeof(__pyx_k_CUeglStreamConnection), 0, 1, 0, 0},
    {&__pyx_n_s_CUeglStreamConnection_2, __pyx_k_CUeglStreamConnection_2, sizeof(__pyx_k_CUeglStreamConnection_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUeglStreamConnection___reduce_c, __pyx_k_CUeglStreamConnection___reduce_c, sizeof(__pyx_k_CUeglStreamConnection___reduce_c), 0, 0, 1, 1},
    {&__pyx_n_s_CUeglStreamConnection___setstate, __pyx_k_CUeglStreamConnection___setstate, sizeof(__pyx_k_CUeglStreamConnection___setstate), 0, 0, 1, 1},
    {&__pyx_n_s_CUeglStreamConnection_getPtr, __pyx_k_CUeglStreamConnection_getPtr, sizeof(__pyx_k_CUeglStreamConnection_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUevent, __pyx_k_CUevent, sizeof(__pyx_k_CUevent), 0, 1, 0, 0},
    {&__pyx_n_s_CUevent_2, __pyx_k_CUevent_2, sizeof(__pyx_k_CUevent_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUevent___reduce_cython, __pyx_k_CUevent___reduce_cython, sizeof(__pyx_k_CUevent___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUevent___setstate_cython, __pyx_k_CUevent___setstate_cython, sizeof(__pyx_k_CUevent___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUevent_flags, __pyx_k_CUevent_flags, sizeof(__pyx_k_CUevent_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUevent_getPtr, __pyx_k_CUevent_getPtr, sizeof(__pyx_k_CUevent_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUevent_record_flags, __pyx_k_CUevent_record_flags, sizeof(__pyx_k_CUevent_record_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUevent_sched_flags, __pyx_k_CUevent_sched_flags, sizeof(__pyx_k_CUevent_sched_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUevent_wait_flags, __pyx_k_CUevent_wait_flags, sizeof(__pyx_k_CUevent_wait_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUexecAffinityParam, __pyx_k_CUexecAffinityParam, sizeof(__pyx_k_CUexecAffinityParam), 0, 0, 1, 1},
    {&__pyx_n_s_CUexecAffinityParam_st, __pyx_k_CUexecAffinityParam_st, sizeof(__pyx_k_CUexecAffinityParam_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUexecAffinityParam_st___reduce, __pyx_k_CUexecAffinityParam_st___reduce, sizeof(__pyx_k_CUexecAffinityParam_st___reduce), 0, 0, 1, 1},
    {&__pyx_n_s_CUexecAffinityParam_st___setstat, __pyx_k_CUexecAffinityParam_st___setstat, sizeof(__pyx_k_CUexecAffinityParam_st___setstat), 0, 0, 1, 1},
    {&__pyx_n_s_CUexecAffinityParam_st_getPtr, __pyx_k_CUexecAffinityParam_st_getPtr, sizeof(__pyx_k_CUexecAffinityParam_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUexecAffinityParam_v1, __pyx_k_CUexecAffinityParam_v1, sizeof(__pyx_k_CUexecAffinityParam_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUexecAffinitySmCount, __pyx_k_CUexecAffinitySmCount, sizeof(__pyx_k_CUexecAffinitySmCount), 0, 0, 1, 1},
    {&__pyx_n_s_CUexecAffinitySmCount_st, __pyx_k_CUexecAffinitySmCount_st, sizeof(__pyx_k_CUexecAffinitySmCount_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUexecAffinitySmCount_st___reduc, __pyx_k_CUexecAffinitySmCount_st___reduc, sizeof(__pyx_k_CUexecAffinitySmCount_st___reduc), 0, 0, 1, 1},
    {&__pyx_n_s_CUexecAffinitySmCount_st___setst, __pyx_k_CUexecAffinitySmCount_st___setst, sizeof(__pyx_k_CUexecAffinitySmCount_st___setst), 0, 0, 1, 1},
    {&__pyx_n_s_CUexecAffinitySmCount_st_getPtr, __pyx_k_CUexecAffinitySmCount_st_getPtr, sizeof(__pyx_k_CUexecAffinitySmCount_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUexecAffinitySmCount_v1, __pyx_k_CUexecAffinitySmCount_v1, sizeof(__pyx_k_CUexecAffinitySmCount_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUexecAffinityType, __pyx_k_CUexecAffinityType, sizeof(__pyx_k_CUexecAffinityType), 0, 0, 1, 1},
    {&__pyx_kp_u_CUexternalMemory, __pyx_k_CUexternalMemory, sizeof(__pyx_k_CUexternalMemory), 0, 1, 0, 0},
    {&__pyx_n_s_CUexternalMemoryHandleType, __pyx_k_CUexternalMemoryHandleType, sizeof(__pyx_k_CUexternalMemoryHandleType), 0, 0, 1, 1},
    {&__pyx_n_s_CUexternalMemory_2, __pyx_k_CUexternalMemory_2, sizeof(__pyx_k_CUexternalMemory_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUexternalMemory___reduce_cython, __pyx_k_CUexternalMemory___reduce_cython, sizeof(__pyx_k_CUexternalMemory___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUexternalMemory___setstate_cyth, __pyx_k_CUexternalMemory___setstate_cyth, sizeof(__pyx_k_CUexternalMemory___setstate_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_CUexternalMemory_getPtr, __pyx_k_CUexternalMemory_getPtr, sizeof(__pyx_k_CUexternalMemory_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUexternalSemaphore, __pyx_k_CUexternalSemaphore, sizeof(__pyx_k_CUexternalSemaphore), 0, 1, 0, 0},
    {&__pyx_n_s_CUexternalSemaphoreHandleType, __pyx_k_CUexternalSemaphoreHandleType, sizeof(__pyx_k_CUexternalSemaphoreHandleType), 0, 0, 1, 1},
    {&__pyx_n_s_CUexternalSemaphore_2, __pyx_k_CUexternalSemaphore_2, sizeof(__pyx_k_CUexternalSemaphore_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUexternalSemaphore___reduce_cyt, __pyx_k_CUexternalSemaphore___reduce_cyt, sizeof(__pyx_k_CUexternalSemaphore___reduce_cyt), 0, 0, 1, 1},
    {&__pyx_n_s_CUexternalSemaphore___setstate_c, __pyx_k_CUexternalSemaphore___setstate_c, sizeof(__pyx_k_CUexternalSemaphore___setstate_c), 0, 0, 1, 1},
    {&__pyx_n_s_CUexternalSemaphore_getPtr, __pyx_k_CUexternalSemaphore_getPtr, sizeof(__pyx_k_CUexternalSemaphore_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUfilter_mode, __pyx_k_CUfilter_mode, sizeof(__pyx_k_CUfilter_mode), 0, 0, 1, 1},
    {&__pyx_n_s_CUflushGPUDirectRDMAWritesOption, __pyx_k_CUflushGPUDirectRDMAWritesOption, sizeof(__pyx_k_CUflushGPUDirectRDMAWritesOption), 0, 0, 1, 1},
    {&__pyx_n_s_CUflushGPUDirectRDMAWritesScope, __pyx_k_CUflushGPUDirectRDMAWritesScope, sizeof(__pyx_k_CUflushGPUDirectRDMAWritesScope), 0, 0, 1, 1},
    {&__pyx_n_s_CUflushGPUDirectRDMAWritesTarget, __pyx_k_CUflushGPUDirectRDMAWritesTarget, sizeof(__pyx_k_CUflushGPUDirectRDMAWritesTarget), 0, 0, 1, 1},
    {&__pyx_n_s_CUfunc_cache, __pyx_k_CUfunc_cache, sizeof(__pyx_k_CUfunc_cache), 0, 0, 1, 1},
    {&__pyx_kp_u_CUfunction, __pyx_k_CUfunction, sizeof(__pyx_k_CUfunction), 0, 1, 0, 0},
    {&__pyx_n_s_CUfunctionLoadingState, __pyx_k_CUfunctionLoadingState, sizeof(__pyx_k_CUfunctionLoadingState), 0, 0, 1, 1},
    {&__pyx_n_s_CUfunction_2, __pyx_k_CUfunction_2, sizeof(__pyx_k_CUfunction_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUfunction___reduce_cython, __pyx_k_CUfunction___reduce_cython, sizeof(__pyx_k_CUfunction___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUfunction___setstate_cython, __pyx_k_CUfunction___setstate_cython, sizeof(__pyx_k_CUfunction___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUfunction_attribute, __pyx_k_CUfunction_attribute, sizeof(__pyx_k_CUfunction_attribute), 0, 0, 1, 1},
    {&__pyx_n_s_CUfunction_getPtr, __pyx_k_CUfunction_getPtr, sizeof(__pyx_k_CUfunction_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUgraph, __pyx_k_CUgraph, sizeof(__pyx_k_CUgraph), 0, 1, 0, 0},
    {&__pyx_kp_u_CUgraphConditionalHandle, __pyx_k_CUgraphConditionalHandle, sizeof(__pyx_k_CUgraphConditionalHandle), 0, 1, 0, 0},
    {&__pyx_n_s_CUgraphConditionalHandle_2, __pyx_k_CUgraphConditionalHandle_2, sizeof(__pyx_k_CUgraphConditionalHandle_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphConditionalHandle___reduc, __pyx_k_CUgraphConditionalHandle___reduc, sizeof(__pyx_k_CUgraphConditionalHandle___reduc), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphConditionalHandle___setst, __pyx_k_CUgraphConditionalHandle___setst, sizeof(__pyx_k_CUgraphConditionalHandle___setst), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphConditionalHandle_getPtr, __pyx_k_CUgraphConditionalHandle_getPtr, sizeof(__pyx_k_CUgraphConditionalHandle_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphConditionalNodeType, __pyx_k_CUgraphConditionalNodeType, sizeof(__pyx_k_CUgraphConditionalNodeType), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphDebugDot_flags, __pyx_k_CUgraphDebugDot_flags, sizeof(__pyx_k_CUgraphDebugDot_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphDependencyType, __pyx_k_CUgraphDependencyType, sizeof(__pyx_k_CUgraphDependencyType), 0, 0, 1, 1},
    {&__pyx_kp_u_CUgraphDeviceNode, __pyx_k_CUgraphDeviceNode, sizeof(__pyx_k_CUgraphDeviceNode), 0, 1, 0, 0},
    {&__pyx_n_s_CUgraphDeviceNode_2, __pyx_k_CUgraphDeviceNode_2, sizeof(__pyx_k_CUgraphDeviceNode_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphDeviceNode___reduce_cytho, __pyx_k_CUgraphDeviceNode___reduce_cytho, sizeof(__pyx_k_CUgraphDeviceNode___reduce_cytho), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphDeviceNode___setstate_cyt, __pyx_k_CUgraphDeviceNode___setstate_cyt, sizeof(__pyx_k_CUgraphDeviceNode___setstate_cyt), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphDeviceNode_getPtr, __pyx_k_CUgraphDeviceNode_getPtr, sizeof(__pyx_k_CUgraphDeviceNode_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphEdgeData, __pyx_k_CUgraphEdgeData, sizeof(__pyx_k_CUgraphEdgeData), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphEdgeData_st, __pyx_k_CUgraphEdgeData_st, sizeof(__pyx_k_CUgraphEdgeData_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphEdgeData_st___reduce_cyth, __pyx_k_CUgraphEdgeData_st___reduce_cyth, sizeof(__pyx_k_CUgraphEdgeData_st___reduce_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphEdgeData_st___setstate_cy, __pyx_k_CUgraphEdgeData_st___setstate_cy, sizeof(__pyx_k_CUgraphEdgeData_st___setstate_cy), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphEdgeData_st_getPtr, __pyx_k_CUgraphEdgeData_st_getPtr, sizeof(__pyx_k_CUgraphEdgeData_st_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUgraphExec, __pyx_k_CUgraphExec, sizeof(__pyx_k_CUgraphExec), 0, 1, 0, 0},
    {&__pyx_n_s_CUgraphExecUpdateResult, __pyx_k_CUgraphExecUpdateResult, sizeof(__pyx_k_CUgraphExecUpdateResult), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphExecUpdateResultInfo, __pyx_k_CUgraphExecUpdateResultInfo, sizeof(__pyx_k_CUgraphExecUpdateResultInfo), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphExecUpdateResultInfo_st, __pyx_k_CUgraphExecUpdateResultInfo_st, sizeof(__pyx_k_CUgraphExecUpdateResultInfo_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphExecUpdateResultInfo_st_2, __pyx_k_CUgraphExecUpdateResultInfo_st_2, sizeof(__pyx_k_CUgraphExecUpdateResultInfo_st_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphExecUpdateResultInfo_st_3, __pyx_k_CUgraphExecUpdateResultInfo_st_3, sizeof(__pyx_k_CUgraphExecUpdateResultInfo_st_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphExecUpdateResultInfo_st_g, __pyx_k_CUgraphExecUpdateResultInfo_st_g, sizeof(__pyx_k_CUgraphExecUpdateResultInfo_st_g), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphExecUpdateResultInfo_v1, __pyx_k_CUgraphExecUpdateResultInfo_v1, sizeof(__pyx_k_CUgraphExecUpdateResultInfo_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphExec_2, __pyx_k_CUgraphExec_2, sizeof(__pyx_k_CUgraphExec_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphExec___reduce_cython, __pyx_k_CUgraphExec___reduce_cython, sizeof(__pyx_k_CUgraphExec___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphExec___setstate_cython, __pyx_k_CUgraphExec___setstate_cython, sizeof(__pyx_k_CUgraphExec___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphExec_getPtr, __pyx_k_CUgraphExec_getPtr, sizeof(__pyx_k_CUgraphExec_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphInstantiateResult, __pyx_k_CUgraphInstantiateResult, sizeof(__pyx_k_CUgraphInstantiateResult), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphInstantiate_flags, __pyx_k_CUgraphInstantiate_flags, sizeof(__pyx_k_CUgraphInstantiate_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphMem_attribute, __pyx_k_CUgraphMem_attribute, sizeof(__pyx_k_CUgraphMem_attribute), 0, 0, 1, 1},
    {&__pyx_kp_u_CUgraphNode, __pyx_k_CUgraphNode, sizeof(__pyx_k_CUgraphNode), 0, 1, 0, 0},
    {&__pyx_n_s_CUgraphNodeParams, __pyx_k_CUgraphNodeParams, sizeof(__pyx_k_CUgraphNodeParams), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphNodeParams_st, __pyx_k_CUgraphNodeParams_st, sizeof(__pyx_k_CUgraphNodeParams_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphNodeParams_st___reduce_cy, __pyx_k_CUgraphNodeParams_st___reduce_cy, sizeof(__pyx_k_CUgraphNodeParams_st___reduce_cy), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphNodeParams_st___setstate, __pyx_k_CUgraphNodeParams_st___setstate, sizeof(__pyx_k_CUgraphNodeParams_st___setstate), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphNodeParams_st_getPtr, __pyx_k_CUgraphNodeParams_st_getPtr, sizeof(__pyx_k_CUgraphNodeParams_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphNodeType, __pyx_k_CUgraphNodeType, sizeof(__pyx_k_CUgraphNodeType), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphNode_2, __pyx_k_CUgraphNode_2, sizeof(__pyx_k_CUgraphNode_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphNode___reduce_cython, __pyx_k_CUgraphNode___reduce_cython, sizeof(__pyx_k_CUgraphNode___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphNode___setstate_cython, __pyx_k_CUgraphNode___setstate_cython, sizeof(__pyx_k_CUgraphNode___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphNode_getPtr, __pyx_k_CUgraphNode_getPtr, sizeof(__pyx_k_CUgraphNode_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraph_2, __pyx_k_CUgraph_2, sizeof(__pyx_k_CUgraph_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraph___reduce_cython, __pyx_k_CUgraph___reduce_cython, sizeof(__pyx_k_CUgraph___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraph___setstate_cython, __pyx_k_CUgraph___setstate_cython, sizeof(__pyx_k_CUgraph___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraph_getPtr, __pyx_k_CUgraph_getPtr, sizeof(__pyx_k_CUgraph_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphicsMapResourceFlags, __pyx_k_CUgraphicsMapResourceFlags, sizeof(__pyx_k_CUgraphicsMapResourceFlags), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphicsRegisterFlags, __pyx_k_CUgraphicsRegisterFlags, sizeof(__pyx_k_CUgraphicsRegisterFlags), 0, 0, 1, 1},
    {&__pyx_kp_u_CUgraphicsResource, __pyx_k_CUgraphicsResource, sizeof(__pyx_k_CUgraphicsResource), 0, 1, 0, 0},
    {&__pyx_n_s_CUgraphicsResource_2, __pyx_k_CUgraphicsResource_2, sizeof(__pyx_k_CUgraphicsResource_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphicsResource___reduce_cyth, __pyx_k_CUgraphicsResource___reduce_cyth, sizeof(__pyx_k_CUgraphicsResource___reduce_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphicsResource___setstate_cy, __pyx_k_CUgraphicsResource___setstate_cy, sizeof(__pyx_k_CUgraphicsResource___setstate_cy), 0, 0, 1, 1},
    {&__pyx_n_s_CUgraphicsResource_getPtr, __pyx_k_CUgraphicsResource_getPtr, sizeof(__pyx_k_CUgraphicsResource_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUgreenCtx, __pyx_k_CUgreenCtx, sizeof(__pyx_k_CUgreenCtx), 0, 1, 0, 0},
    {&__pyx_n_s_CUgreenCtxCreate_flags, __pyx_k_CUgreenCtxCreate_flags, sizeof(__pyx_k_CUgreenCtxCreate_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUgreenCtx_2, __pyx_k_CUgreenCtx_2, sizeof(__pyx_k_CUgreenCtx_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUgreenCtx___reduce_cython, __pyx_k_CUgreenCtx___reduce_cython, sizeof(__pyx_k_CUgreenCtx___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUgreenCtx___setstate_cython, __pyx_k_CUgreenCtx___setstate_cython, sizeof(__pyx_k_CUgreenCtx___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUgreenCtx_getPtr, __pyx_k_CUgreenCtx_getPtr, sizeof(__pyx_k_CUgreenCtx_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUhostFn, __pyx_k_CUhostFn, sizeof(__pyx_k_CUhostFn), 0, 1, 0, 0},
    {&__pyx_n_s_CUhostFn_2, __pyx_k_CUhostFn_2, sizeof(__pyx_k_CUhostFn_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUhostFn___reduce_cython, __pyx_k_CUhostFn___reduce_cython, sizeof(__pyx_k_CUhostFn___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUhostFn___setstate_cython, __pyx_k_CUhostFn___setstate_cython, sizeof(__pyx_k_CUhostFn___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUhostFn_getPtr, __pyx_k_CUhostFn_getPtr, sizeof(__pyx_k_CUhostFn_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUipcEventHandle, __pyx_k_CUipcEventHandle, sizeof(__pyx_k_CUipcEventHandle), 0, 0, 1, 1},
    {&__pyx_n_s_CUipcEventHandle_st, __pyx_k_CUipcEventHandle_st, sizeof(__pyx_k_CUipcEventHandle_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUipcEventHandle_st___reduce_cyt, __pyx_k_CUipcEventHandle_st___reduce_cyt, sizeof(__pyx_k_CUipcEventHandle_st___reduce_cyt), 0, 0, 1, 1},
    {&__pyx_n_s_CUipcEventHandle_st___setstate_c, __pyx_k_CUipcEventHandle_st___setstate_c, sizeof(__pyx_k_CUipcEventHandle_st___setstate_c), 0, 0, 1, 1},
    {&__pyx_n_s_CUipcEventHandle_st_getPtr, __pyx_k_CUipcEventHandle_st_getPtr, sizeof(__pyx_k_CUipcEventHandle_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUipcEventHandle_v1, __pyx_k_CUipcEventHandle_v1, sizeof(__pyx_k_CUipcEventHandle_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUipcMemHandle, __pyx_k_CUipcMemHandle, sizeof(__pyx_k_CUipcMemHandle), 0, 0, 1, 1},
    {&__pyx_n_s_CUipcMemHandle_st, __pyx_k_CUipcMemHandle_st, sizeof(__pyx_k_CUipcMemHandle_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUipcMemHandle_st___reduce_cytho, __pyx_k_CUipcMemHandle_st___reduce_cytho, sizeof(__pyx_k_CUipcMemHandle_st___reduce_cytho), 0, 0, 1, 1},
    {&__pyx_n_s_CUipcMemHandle_st___setstate_cyt, __pyx_k_CUipcMemHandle_st___setstate_cyt, sizeof(__pyx_k_CUipcMemHandle_st___setstate_cyt), 0, 0, 1, 1},
    {&__pyx_n_s_CUipcMemHandle_st_getPtr, __pyx_k_CUipcMemHandle_st_getPtr, sizeof(__pyx_k_CUipcMemHandle_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUipcMemHandle_v1, __pyx_k_CUipcMemHandle_v1, sizeof(__pyx_k_CUipcMemHandle_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUipcMem_flags, __pyx_k_CUipcMem_flags, sizeof(__pyx_k_CUipcMem_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUjitInputType, __pyx_k_CUjitInputType, sizeof(__pyx_k_CUjitInputType), 0, 0, 1, 1},
    {&__pyx_n_s_CUjit_cacheMode, __pyx_k_CUjit_cacheMode, sizeof(__pyx_k_CUjit_cacheMode), 0, 0, 1, 1},
    {&__pyx_n_s_CUjit_fallback, __pyx_k_CUjit_fallback, sizeof(__pyx_k_CUjit_fallback), 0, 0, 1, 1},
    {&__pyx_n_s_CUjit_option, __pyx_k_CUjit_option, sizeof(__pyx_k_CUjit_option), 0, 0, 1, 1},
    {&__pyx_n_s_CUjit_target, __pyx_k_CUjit_target, sizeof(__pyx_k_CUjit_target), 0, 0, 1, 1},
    {&__pyx_kp_u_CUkernel, __pyx_k_CUkernel, sizeof(__pyx_k_CUkernel), 0, 1, 0, 0},
    {&__pyx_n_s_CUkernelNodeAttrID, __pyx_k_CUkernelNodeAttrID, sizeof(__pyx_k_CUkernelNodeAttrID), 0, 0, 1, 1},
    {&__pyx_n_s_CUkernelNodeAttrValue, __pyx_k_CUkernelNodeAttrValue, sizeof(__pyx_k_CUkernelNodeAttrValue), 0, 0, 1, 1},
    {&__pyx_n_s_CUkernelNodeAttrValue_v1, __pyx_k_CUkernelNodeAttrValue_v1, sizeof(__pyx_k_CUkernelNodeAttrValue_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUkernel_2, __pyx_k_CUkernel_2, sizeof(__pyx_k_CUkernel_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUkernel___reduce_cython, __pyx_k_CUkernel___reduce_cython, sizeof(__pyx_k_CUkernel___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUkernel___setstate_cython, __pyx_k_CUkernel___setstate_cython, sizeof(__pyx_k_CUkernel___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUkernel_getPtr, __pyx_k_CUkernel_getPtr, sizeof(__pyx_k_CUkernel_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchAttribute, __pyx_k_CUlaunchAttribute, sizeof(__pyx_k_CUlaunchAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchAttributeID, __pyx_k_CUlaunchAttributeID, sizeof(__pyx_k_CUlaunchAttributeID), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchAttributeValue, __pyx_k_CUlaunchAttributeValue, sizeof(__pyx_k_CUlaunchAttributeValue), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchAttributeValue_union, __pyx_k_CUlaunchAttributeValue_union, sizeof(__pyx_k_CUlaunchAttributeValue_union), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchAttributeValue_union___r, __pyx_k_CUlaunchAttributeValue_union___r, sizeof(__pyx_k_CUlaunchAttributeValue_union___r), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchAttributeValue_union___s, __pyx_k_CUlaunchAttributeValue_union___s, sizeof(__pyx_k_CUlaunchAttributeValue_union___s), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchAttributeValue_union_get, __pyx_k_CUlaunchAttributeValue_union_get, sizeof(__pyx_k_CUlaunchAttributeValue_union_get), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchAttribute_st, __pyx_k_CUlaunchAttribute_st, sizeof(__pyx_k_CUlaunchAttribute_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchAttribute_st___reduce_cy, __pyx_k_CUlaunchAttribute_st___reduce_cy, sizeof(__pyx_k_CUlaunchAttribute_st___reduce_cy), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchAttribute_st___setstate, __pyx_k_CUlaunchAttribute_st___setstate, sizeof(__pyx_k_CUlaunchAttribute_st___setstate), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchAttribute_st_getPtr, __pyx_k_CUlaunchAttribute_st_getPtr, sizeof(__pyx_k_CUlaunchAttribute_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchConfig, __pyx_k_CUlaunchConfig, sizeof(__pyx_k_CUlaunchConfig), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchConfig_st, __pyx_k_CUlaunchConfig_st, sizeof(__pyx_k_CUlaunchConfig_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchConfig_st___reduce_cytho, __pyx_k_CUlaunchConfig_st___reduce_cytho, sizeof(__pyx_k_CUlaunchConfig_st___reduce_cytho), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchConfig_st___setstate_cyt, __pyx_k_CUlaunchConfig_st___setstate_cyt, sizeof(__pyx_k_CUlaunchConfig_st___setstate_cyt), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchConfig_st_getPtr, __pyx_k_CUlaunchConfig_st_getPtr, sizeof(__pyx_k_CUlaunchConfig_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchMemSyncDomain, __pyx_k_CUlaunchMemSyncDomain, sizeof(__pyx_k_CUlaunchMemSyncDomain), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchMemSyncDomainMap, __pyx_k_CUlaunchMemSyncDomainMap, sizeof(__pyx_k_CUlaunchMemSyncDomainMap), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchMemSyncDomainMap_st, __pyx_k_CUlaunchMemSyncDomainMap_st, sizeof(__pyx_k_CUlaunchMemSyncDomainMap_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchMemSyncDomainMap_st___re, __pyx_k_CUlaunchMemSyncDomainMap_st___re, sizeof(__pyx_k_CUlaunchMemSyncDomainMap_st___re), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchMemSyncDomainMap_st___se, __pyx_k_CUlaunchMemSyncDomainMap_st___se, sizeof(__pyx_k_CUlaunchMemSyncDomainMap_st___se), 0, 0, 1, 1},
    {&__pyx_n_s_CUlaunchMemSyncDomainMap_st_getP, __pyx_k_CUlaunchMemSyncDomainMap_st_getP, sizeof(__pyx_k_CUlaunchMemSyncDomainMap_st_getP), 0, 0, 1, 1},
    {&__pyx_kp_u_CUlibrary, __pyx_k_CUlibrary, sizeof(__pyx_k_CUlibrary), 0, 1, 0, 0},
    {&__pyx_n_s_CUlibraryHostUniversalFunctionAn, __pyx_k_CUlibraryHostUniversalFunctionAn, sizeof(__pyx_k_CUlibraryHostUniversalFunctionAn), 0, 0, 1, 1},
    {&__pyx_n_s_CUlibraryHostUniversalFunctionAn_2, __pyx_k_CUlibraryHostUniversalFunctionAn_2, sizeof(__pyx_k_CUlibraryHostUniversalFunctionAn_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUlibraryHostUniversalFunctionAn_3, __pyx_k_CUlibraryHostUniversalFunctionAn_3, sizeof(__pyx_k_CUlibraryHostUniversalFunctionAn_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUlibraryHostUniversalFunctionAn_4, __pyx_k_CUlibraryHostUniversalFunctionAn_4, sizeof(__pyx_k_CUlibraryHostUniversalFunctionAn_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUlibraryHostUniversalFunctionAn_5, __pyx_k_CUlibraryHostUniversalFunctionAn_5, sizeof(__pyx_k_CUlibraryHostUniversalFunctionAn_5), 0, 0, 1, 1},
    {&__pyx_n_s_CUlibraryOption, __pyx_k_CUlibraryOption, sizeof(__pyx_k_CUlibraryOption), 0, 0, 1, 1},
    {&__pyx_n_s_CUlibrary_2, __pyx_k_CUlibrary_2, sizeof(__pyx_k_CUlibrary_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUlibrary___reduce_cython, __pyx_k_CUlibrary___reduce_cython, sizeof(__pyx_k_CUlibrary___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUlibrary___setstate_cython, __pyx_k_CUlibrary___setstate_cython, sizeof(__pyx_k_CUlibrary___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUlibrary_getPtr, __pyx_k_CUlibrary_getPtr, sizeof(__pyx_k_CUlibrary_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUlimit, __pyx_k_CUlimit, sizeof(__pyx_k_CUlimit), 0, 0, 1, 1},
    {&__pyx_kp_u_CUlinkState, __pyx_k_CUlinkState, sizeof(__pyx_k_CUlinkState), 0, 1, 0, 0},
    {&__pyx_n_s_CUlinkState_2, __pyx_k_CUlinkState_2, sizeof(__pyx_k_CUlinkState_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUlinkState___reduce_cython, __pyx_k_CUlinkState___reduce_cython, sizeof(__pyx_k_CUlinkState___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUlinkState___setstate_cython, __pyx_k_CUlinkState___setstate_cython, sizeof(__pyx_k_CUlinkState___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUlinkState_getPtr, __pyx_k_CUlinkState_getPtr, sizeof(__pyx_k_CUlinkState_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAccessDesc, __pyx_k_CUmemAccessDesc, sizeof(__pyx_k_CUmemAccessDesc), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAccessDesc_st, __pyx_k_CUmemAccessDesc_st, sizeof(__pyx_k_CUmemAccessDesc_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAccessDesc_st___reduce_cyth, __pyx_k_CUmemAccessDesc_st___reduce_cyth, sizeof(__pyx_k_CUmemAccessDesc_st___reduce_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAccessDesc_st___setstate_cy, __pyx_k_CUmemAccessDesc_st___setstate_cy, sizeof(__pyx_k_CUmemAccessDesc_st___setstate_cy), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAccessDesc_st_getPtr, __pyx_k_CUmemAccessDesc_st_getPtr, sizeof(__pyx_k_CUmemAccessDesc_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAccessDesc_v1, __pyx_k_CUmemAccessDesc_v1, sizeof(__pyx_k_CUmemAccessDesc_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAccess_flags, __pyx_k_CUmemAccess_flags, sizeof(__pyx_k_CUmemAccess_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAllocationCompType, __pyx_k_CUmemAllocationCompType, sizeof(__pyx_k_CUmemAllocationCompType), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAllocationGranularity_flags, __pyx_k_CUmemAllocationGranularity_flags, sizeof(__pyx_k_CUmemAllocationGranularity_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAllocationHandleType, __pyx_k_CUmemAllocationHandleType, sizeof(__pyx_k_CUmemAllocationHandleType), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAllocationProp, __pyx_k_CUmemAllocationProp, sizeof(__pyx_k_CUmemAllocationProp), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAllocationProp_st, __pyx_k_CUmemAllocationProp_st, sizeof(__pyx_k_CUmemAllocationProp_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAllocationProp_st___reduce, __pyx_k_CUmemAllocationProp_st___reduce, sizeof(__pyx_k_CUmemAllocationProp_st___reduce), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAllocationProp_st___setstat, __pyx_k_CUmemAllocationProp_st___setstat, sizeof(__pyx_k_CUmemAllocationProp_st___setstat), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAllocationProp_st_getPtr, __pyx_k_CUmemAllocationProp_st_getPtr, sizeof(__pyx_k_CUmemAllocationProp_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAllocationProp_v1, __pyx_k_CUmemAllocationProp_v1, sizeof(__pyx_k_CUmemAllocationProp_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAllocationType, __pyx_k_CUmemAllocationType, sizeof(__pyx_k_CUmemAllocationType), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemAttach_flags, __pyx_k_CUmemAttach_flags, sizeof(__pyx_k_CUmemAttach_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemFabricHandle, __pyx_k_CUmemFabricHandle, sizeof(__pyx_k_CUmemFabricHandle), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemFabricHandle_st, __pyx_k_CUmemFabricHandle_st, sizeof(__pyx_k_CUmemFabricHandle_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemFabricHandle_st___reduce_cy, __pyx_k_CUmemFabricHandle_st___reduce_cy, sizeof(__pyx_k_CUmemFabricHandle_st___reduce_cy), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemFabricHandle_st___setstate, __pyx_k_CUmemFabricHandle_st___setstate, sizeof(__pyx_k_CUmemFabricHandle_st___setstate), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemFabricHandle_st_getPtr, __pyx_k_CUmemFabricHandle_st_getPtr, sizeof(__pyx_k_CUmemFabricHandle_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemFabricHandle_v1, __pyx_k_CUmemFabricHandle_v1, sizeof(__pyx_k_CUmemFabricHandle_v1), 0, 0, 1, 1},
    {&__pyx_kp_u_CUmemGenericAllocationHandle, __pyx_k_CUmemGenericAllocationHandle, sizeof(__pyx_k_CUmemGenericAllocationHandle), 0, 1, 0, 0},
    {&__pyx_n_s_CUmemGenericAllocationHandle_2, __pyx_k_CUmemGenericAllocationHandle_2, sizeof(__pyx_k_CUmemGenericAllocationHandle_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemGenericAllocationHandle___r, __pyx_k_CUmemGenericAllocationHandle___r, sizeof(__pyx_k_CUmemGenericAllocationHandle___r), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemGenericAllocationHandle___s, __pyx_k_CUmemGenericAllocationHandle___s, sizeof(__pyx_k_CUmemGenericAllocationHandle___s), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemGenericAllocationHandle_get, __pyx_k_CUmemGenericAllocationHandle_get, sizeof(__pyx_k_CUmemGenericAllocationHandle_get), 0, 0, 1, 1},
    {&__pyx_kp_u_CUmemGenericAllocationHandle_v1, __pyx_k_CUmemGenericAllocationHandle_v1, sizeof(__pyx_k_CUmemGenericAllocationHandle_v1), 0, 1, 0, 0},
    {&__pyx_n_s_CUmemGenericAllocationHandle_v1_2, __pyx_k_CUmemGenericAllocationHandle_v1_2, sizeof(__pyx_k_CUmemGenericAllocationHandle_v1_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemGenericAllocationHandle_v1_3, __pyx_k_CUmemGenericAllocationHandle_v1_3, sizeof(__pyx_k_CUmemGenericAllocationHandle_v1_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemGenericAllocationHandle_v1_4, __pyx_k_CUmemGenericAllocationHandle_v1_4, sizeof(__pyx_k_CUmemGenericAllocationHandle_v1_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemGenericAllocationHandle_v1_5, __pyx_k_CUmemGenericAllocationHandle_v1_5, sizeof(__pyx_k_CUmemGenericAllocationHandle_v1_5), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemHandleType, __pyx_k_CUmemHandleType, sizeof(__pyx_k_CUmemHandleType), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemLocation, __pyx_k_CUmemLocation, sizeof(__pyx_k_CUmemLocation), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemLocationType, __pyx_k_CUmemLocationType, sizeof(__pyx_k_CUmemLocationType), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemLocation_st, __pyx_k_CUmemLocation_st, sizeof(__pyx_k_CUmemLocation_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemLocation_st___reduce_cython, __pyx_k_CUmemLocation_st___reduce_cython, sizeof(__pyx_k_CUmemLocation_st___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemLocation_st___setstate_cyth, __pyx_k_CUmemLocation_st___setstate_cyth, sizeof(__pyx_k_CUmemLocation_st___setstate_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemLocation_st_getPtr, __pyx_k_CUmemLocation_st_getPtr, sizeof(__pyx_k_CUmemLocation_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemLocation_v1, __pyx_k_CUmemLocation_v1, sizeof(__pyx_k_CUmemLocation_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemOperationType, __pyx_k_CUmemOperationType, sizeof(__pyx_k_CUmemOperationType), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemPoolProps, __pyx_k_CUmemPoolProps, sizeof(__pyx_k_CUmemPoolProps), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemPoolProps_st, __pyx_k_CUmemPoolProps_st, sizeof(__pyx_k_CUmemPoolProps_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemPoolProps_st___reduce_cytho, __pyx_k_CUmemPoolProps_st___reduce_cytho, sizeof(__pyx_k_CUmemPoolProps_st___reduce_cytho), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemPoolProps_st___setstate_cyt, __pyx_k_CUmemPoolProps_st___setstate_cyt, sizeof(__pyx_k_CUmemPoolProps_st___setstate_cyt), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemPoolProps_st_getPtr, __pyx_k_CUmemPoolProps_st_getPtr, sizeof(__pyx_k_CUmemPoolProps_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemPoolProps_v1, __pyx_k_CUmemPoolProps_v1, sizeof(__pyx_k_CUmemPoolProps_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemPoolPtrExportData, __pyx_k_CUmemPoolPtrExportData, sizeof(__pyx_k_CUmemPoolPtrExportData), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemPoolPtrExportData_st, __pyx_k_CUmemPoolPtrExportData_st, sizeof(__pyx_k_CUmemPoolPtrExportData_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemPoolPtrExportData_st___redu, __pyx_k_CUmemPoolPtrExportData_st___redu, sizeof(__pyx_k_CUmemPoolPtrExportData_st___redu), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemPoolPtrExportData_st___sets, __pyx_k_CUmemPoolPtrExportData_st___sets, sizeof(__pyx_k_CUmemPoolPtrExportData_st___sets), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemPoolPtrExportData_st_getPtr, __pyx_k_CUmemPoolPtrExportData_st_getPtr, sizeof(__pyx_k_CUmemPoolPtrExportData_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemPoolPtrExportData_v1, __pyx_k_CUmemPoolPtrExportData_v1, sizeof(__pyx_k_CUmemPoolPtrExportData_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemPool_attribute, __pyx_k_CUmemPool_attribute, sizeof(__pyx_k_CUmemPool_attribute), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemRangeHandleType, __pyx_k_CUmemRangeHandleType, sizeof(__pyx_k_CUmemRangeHandleType), 0, 0, 1, 1},
    {&__pyx_n_s_CUmem_advise, __pyx_k_CUmem_advise, sizeof(__pyx_k_CUmem_advise), 0, 0, 1, 1},
    {&__pyx_n_s_CUmem_range_attribute, __pyx_k_CUmem_range_attribute, sizeof(__pyx_k_CUmem_range_attribute), 0, 0, 1, 1},
    {&__pyx_kp_u_CUmemoryPool, __pyx_k_CUmemoryPool, sizeof(__pyx_k_CUmemoryPool), 0, 1, 0, 0},
    {&__pyx_n_s_CUmemoryPool_2, __pyx_k_CUmemoryPool_2, sizeof(__pyx_k_CUmemoryPool_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemoryPool___reduce_cython, __pyx_k_CUmemoryPool___reduce_cython, sizeof(__pyx_k_CUmemoryPool___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemoryPool___setstate_cython, __pyx_k_CUmemoryPool___setstate_cython, sizeof(__pyx_k_CUmemoryPool___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemoryPool_getPtr, __pyx_k_CUmemoryPool_getPtr, sizeof(__pyx_k_CUmemoryPool_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUmemorytype, __pyx_k_CUmemorytype, sizeof(__pyx_k_CUmemorytype), 0, 0, 1, 1},
    {&__pyx_kp_u_CUmipmappedArray, __pyx_k_CUmipmappedArray, sizeof(__pyx_k_CUmipmappedArray), 0, 1, 0, 0},
    {&__pyx_n_s_CUmipmappedArray_2, __pyx_k_CUmipmappedArray_2, sizeof(__pyx_k_CUmipmappedArray_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUmipmappedArray___reduce_cython, __pyx_k_CUmipmappedArray___reduce_cython, sizeof(__pyx_k_CUmipmappedArray___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUmipmappedArray___setstate_cyth, __pyx_k_CUmipmappedArray___setstate_cyth, sizeof(__pyx_k_CUmipmappedArray___setstate_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_CUmipmappedArray_getPtr, __pyx_k_CUmipmappedArray_getPtr, sizeof(__pyx_k_CUmipmappedArray_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUmodule, __pyx_k_CUmodule, sizeof(__pyx_k_CUmodule), 0, 1, 0, 0},
    {&__pyx_n_s_CUmoduleLoadingMode, __pyx_k_CUmoduleLoadingMode, sizeof(__pyx_k_CUmoduleLoadingMode), 0, 0, 1, 1},
    {&__pyx_n_s_CUmodule_2, __pyx_k_CUmodule_2, sizeof(__pyx_k_CUmodule_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUmodule___reduce_cython, __pyx_k_CUmodule___reduce_cython, sizeof(__pyx_k_CUmodule___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUmodule___setstate_cython, __pyx_k_CUmodule___setstate_cython, sizeof(__pyx_k_CUmodule___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUmodule_getPtr, __pyx_k_CUmodule_getPtr, sizeof(__pyx_k_CUmodule_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUmulticastGranularity_flags, __pyx_k_CUmulticastGranularity_flags, sizeof(__pyx_k_CUmulticastGranularity_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUmulticastObjectProp, __pyx_k_CUmulticastObjectProp, sizeof(__pyx_k_CUmulticastObjectProp), 0, 0, 1, 1},
    {&__pyx_n_s_CUmulticastObjectProp_st, __pyx_k_CUmulticastObjectProp_st, sizeof(__pyx_k_CUmulticastObjectProp_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUmulticastObjectProp_st___reduc, __pyx_k_CUmulticastObjectProp_st___reduc, sizeof(__pyx_k_CUmulticastObjectProp_st___reduc), 0, 0, 1, 1},
    {&__pyx_n_s_CUmulticastObjectProp_st___setst, __pyx_k_CUmulticastObjectProp_st___setst, sizeof(__pyx_k_CUmulticastObjectProp_st___setst), 0, 0, 1, 1},
    {&__pyx_n_s_CUmulticastObjectProp_st_getPtr, __pyx_k_CUmulticastObjectProp_st_getPtr, sizeof(__pyx_k_CUmulticastObjectProp_st_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUmulticastObjectProp_v1, __pyx_k_CUmulticastObjectProp_v1, sizeof(__pyx_k_CUmulticastObjectProp_v1), 0, 0, 1, 1},
    {&__pyx_kp_u_CUoccupancyB2DSize, __pyx_k_CUoccupancyB2DSize, sizeof(__pyx_k_CUoccupancyB2DSize), 0, 1, 0, 0},
    {&__pyx_n_s_CUoccupancyB2DSize_2, __pyx_k_CUoccupancyB2DSize_2, sizeof(__pyx_k_CUoccupancyB2DSize_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUoccupancyB2DSize___reduce_cyth, __pyx_k_CUoccupancyB2DSize___reduce_cyth, sizeof(__pyx_k_CUoccupancyB2DSize___reduce_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_CUoccupancyB2DSize___setstate_cy, __pyx_k_CUoccupancyB2DSize___setstate_cy, sizeof(__pyx_k_CUoccupancyB2DSize___setstate_cy), 0, 0, 1, 1},
    {&__pyx_n_s_CUoccupancyB2DSize_getPtr, __pyx_k_CUoccupancyB2DSize_getPtr, sizeof(__pyx_k_CUoccupancyB2DSize_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUoccupancy_flags, __pyx_k_CUoccupancy_flags, sizeof(__pyx_k_CUoccupancy_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUoutput_mode, __pyx_k_CUoutput_mode, sizeof(__pyx_k_CUoutput_mode), 0, 0, 1, 1},
    {&__pyx_n_s_CUpointer_attribute, __pyx_k_CUpointer_attribute, sizeof(__pyx_k_CUpointer_attribute), 0, 0, 1, 1},
    {&__pyx_n_s_CUresourceViewFormat, __pyx_k_CUresourceViewFormat, sizeof(__pyx_k_CUresourceViewFormat), 0, 0, 1, 1},
    {&__pyx_n_s_CUresourcetype, __pyx_k_CUresourcetype, sizeof(__pyx_k_CUresourcetype), 0, 0, 1, 1},
    {&__pyx_n_s_CUresult, __pyx_k_CUresult, sizeof(__pyx_k_CUresult), 0, 0, 1, 1},
    {&__pyx_n_s_CUshared_carveout, __pyx_k_CUshared_carveout, sizeof(__pyx_k_CUshared_carveout), 0, 0, 1, 1},
    {&__pyx_n_s_CUsharedconfig, __pyx_k_CUsharedconfig, sizeof(__pyx_k_CUsharedconfig), 0, 0, 1, 1},
    {&__pyx_kp_u_CUstream, __pyx_k_CUstream, sizeof(__pyx_k_CUstream), 0, 1, 0, 0},
    {&__pyx_n_s_CUstreamAttrID, __pyx_k_CUstreamAttrID, sizeof(__pyx_k_CUstreamAttrID), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamAttrValue, __pyx_k_CUstreamAttrValue, sizeof(__pyx_k_CUstreamAttrValue), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamAttrValue_v1, __pyx_k_CUstreamAttrValue_v1, sizeof(__pyx_k_CUstreamAttrValue_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamBatchMemOpParams, __pyx_k_CUstreamBatchMemOpParams, sizeof(__pyx_k_CUstreamBatchMemOpParams), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamBatchMemOpParams_union, __pyx_k_CUstreamBatchMemOpParams_union, sizeof(__pyx_k_CUstreamBatchMemOpParams_union), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamBatchMemOpParams_union_2, __pyx_k_CUstreamBatchMemOpParams_union_2, sizeof(__pyx_k_CUstreamBatchMemOpParams_union_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamBatchMemOpParams_union_3, __pyx_k_CUstreamBatchMemOpParams_union_3, sizeof(__pyx_k_CUstreamBatchMemOpParams_union_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamBatchMemOpParams_union_g, __pyx_k_CUstreamBatchMemOpParams_union_g, sizeof(__pyx_k_CUstreamBatchMemOpParams_union_g), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamBatchMemOpParams_v1, __pyx_k_CUstreamBatchMemOpParams_v1, sizeof(__pyx_k_CUstreamBatchMemOpParams_v1), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamBatchMemOpType, __pyx_k_CUstreamBatchMemOpType, sizeof(__pyx_k_CUstreamBatchMemOpType), 0, 0, 1, 1},
    {&__pyx_kp_u_CUstreamCallback, __pyx_k_CUstreamCallback, sizeof(__pyx_k_CUstreamCallback), 0, 1, 0, 0},
    {&__pyx_n_s_CUstreamCallback_2, __pyx_k_CUstreamCallback_2, sizeof(__pyx_k_CUstreamCallback_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamCallback___reduce_cython, __pyx_k_CUstreamCallback___reduce_cython, sizeof(__pyx_k_CUstreamCallback___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamCallback___setstate_cyth, __pyx_k_CUstreamCallback___setstate_cyth, sizeof(__pyx_k_CUstreamCallback___setstate_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamCallback_getPtr, __pyx_k_CUstreamCallback_getPtr, sizeof(__pyx_k_CUstreamCallback_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamCaptureMode, __pyx_k_CUstreamCaptureMode, sizeof(__pyx_k_CUstreamCaptureMode), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamCaptureStatus, __pyx_k_CUstreamCaptureStatus, sizeof(__pyx_k_CUstreamCaptureStatus), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa, __pyx_k_CUstreamMemOpFlushRemoteWritesPa, sizeof(__pyx_k_CUstreamMemOpFlushRemoteWritesPa), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_2, __pyx_k_CUstreamMemOpFlushRemoteWritesPa_2, sizeof(__pyx_k_CUstreamMemOpFlushRemoteWritesPa_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_3, __pyx_k_CUstreamMemOpFlushRemoteWritesPa_3, sizeof(__pyx_k_CUstreamMemOpFlushRemoteWritesPa_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_4, __pyx_k_CUstreamMemOpFlushRemoteWritesPa_4, sizeof(__pyx_k_CUstreamMemOpFlushRemoteWritesPa_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamMemOpMemoryBarrierParams, __pyx_k_CUstreamMemOpMemoryBarrierParams, sizeof(__pyx_k_CUstreamMemOpMemoryBarrierParams), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamMemOpMemoryBarrierParams_2, __pyx_k_CUstreamMemOpMemoryBarrierParams_2, sizeof(__pyx_k_CUstreamMemOpMemoryBarrierParams_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamMemOpMemoryBarrierParams_3, __pyx_k_CUstreamMemOpMemoryBarrierParams_3, sizeof(__pyx_k_CUstreamMemOpMemoryBarrierParams_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamMemOpMemoryBarrierParams_4, __pyx_k_CUstreamMemOpMemoryBarrierParams_4, sizeof(__pyx_k_CUstreamMemOpMemoryBarrierParams_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamMemOpWaitValueParams_st, __pyx_k_CUstreamMemOpWaitValueParams_st, sizeof(__pyx_k_CUstreamMemOpWaitValueParams_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamMemOpWaitValueParams_st_2, __pyx_k_CUstreamMemOpWaitValueParams_st_2, sizeof(__pyx_k_CUstreamMemOpWaitValueParams_st_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamMemOpWaitValueParams_st_3, __pyx_k_CUstreamMemOpWaitValueParams_st_3, sizeof(__pyx_k_CUstreamMemOpWaitValueParams_st_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamMemOpWaitValueParams_st_4, __pyx_k_CUstreamMemOpWaitValueParams_st_4, sizeof(__pyx_k_CUstreamMemOpWaitValueParams_st_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamMemOpWriteValueParams_st, __pyx_k_CUstreamMemOpWriteValueParams_st, sizeof(__pyx_k_CUstreamMemOpWriteValueParams_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamMemOpWriteValueParams_st_2, __pyx_k_CUstreamMemOpWriteValueParams_st_2, sizeof(__pyx_k_CUstreamMemOpWriteValueParams_st_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamMemOpWriteValueParams_st_3, __pyx_k_CUstreamMemOpWriteValueParams_st_3, sizeof(__pyx_k_CUstreamMemOpWriteValueParams_st_3), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamMemOpWriteValueParams_st_4, __pyx_k_CUstreamMemOpWriteValueParams_st_4, sizeof(__pyx_k_CUstreamMemOpWriteValueParams_st_4), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamMemoryBarrier_flags, __pyx_k_CUstreamMemoryBarrier_flags, sizeof(__pyx_k_CUstreamMemoryBarrier_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamUpdateCaptureDependencie, __pyx_k_CUstreamUpdateCaptureDependencie, sizeof(__pyx_k_CUstreamUpdateCaptureDependencie), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamWaitValue_flags, __pyx_k_CUstreamWaitValue_flags, sizeof(__pyx_k_CUstreamWaitValue_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUstreamWriteValue_flags, __pyx_k_CUstreamWriteValue_flags, sizeof(__pyx_k_CUstreamWriteValue_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUstream_2, __pyx_k_CUstream_2, sizeof(__pyx_k_CUstream_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUstream___reduce_cython, __pyx_k_CUstream___reduce_cython, sizeof(__pyx_k_CUstream___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUstream___setstate_cython, __pyx_k_CUstream___setstate_cython, sizeof(__pyx_k_CUstream___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUstream_flags, __pyx_k_CUstream_flags, sizeof(__pyx_k_CUstream_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUstream_getPtr, __pyx_k_CUstream_getPtr, sizeof(__pyx_k_CUstream_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUsurfObject, __pyx_k_CUsurfObject, sizeof(__pyx_k_CUsurfObject), 0, 1, 0, 0},
    {&__pyx_n_s_CUsurfObject_2, __pyx_k_CUsurfObject_2, sizeof(__pyx_k_CUsurfObject_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUsurfObject___reduce_cython, __pyx_k_CUsurfObject___reduce_cython, sizeof(__pyx_k_CUsurfObject___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUsurfObject___setstate_cython, __pyx_k_CUsurfObject___setstate_cython, sizeof(__pyx_k_CUsurfObject___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUsurfObject_getPtr, __pyx_k_CUsurfObject_getPtr, sizeof(__pyx_k_CUsurfObject_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUsurfObject_v1, __pyx_k_CUsurfObject_v1, sizeof(__pyx_k_CUsurfObject_v1), 0, 1, 0, 0},
    {&__pyx_n_s_CUsurfObject_v1_2, __pyx_k_CUsurfObject_v1_2, sizeof(__pyx_k_CUsurfObject_v1_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUsurfObject_v1___reduce_cython, __pyx_k_CUsurfObject_v1___reduce_cython, sizeof(__pyx_k_CUsurfObject_v1___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUsurfObject_v1___setstate_cytho, __pyx_k_CUsurfObject_v1___setstate_cytho, sizeof(__pyx_k_CUsurfObject_v1___setstate_cytho), 0, 0, 1, 1},
    {&__pyx_n_s_CUsurfObject_v1_getPtr, __pyx_k_CUsurfObject_v1_getPtr, sizeof(__pyx_k_CUsurfObject_v1_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUsurfref, __pyx_k_CUsurfref, sizeof(__pyx_k_CUsurfref), 0, 1, 0, 0},
    {&__pyx_n_s_CUsurfref_2, __pyx_k_CUsurfref_2, sizeof(__pyx_k_CUsurfref_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUsurfref___reduce_cython, __pyx_k_CUsurfref___reduce_cython, sizeof(__pyx_k_CUsurfref___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUsurfref___setstate_cython, __pyx_k_CUsurfref___setstate_cython, sizeof(__pyx_k_CUsurfref___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUsurfref_getPtr, __pyx_k_CUsurfref_getPtr, sizeof(__pyx_k_CUsurfref_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUsynchronizationPolicy, __pyx_k_CUsynchronizationPolicy, sizeof(__pyx_k_CUsynchronizationPolicy), 0, 0, 1, 1},
    {&__pyx_n_s_CUtensorMap, __pyx_k_CUtensorMap, sizeof(__pyx_k_CUtensorMap), 0, 0, 1, 1},
    {&__pyx_n_s_CUtensorMapDataType, __pyx_k_CUtensorMapDataType, sizeof(__pyx_k_CUtensorMapDataType), 0, 0, 1, 1},
    {&__pyx_n_s_CUtensorMapFloatOOBfill, __pyx_k_CUtensorMapFloatOOBfill, sizeof(__pyx_k_CUtensorMapFloatOOBfill), 0, 0, 1, 1},
    {&__pyx_n_s_CUtensorMapInterleave, __pyx_k_CUtensorMapInterleave, sizeof(__pyx_k_CUtensorMapInterleave), 0, 0, 1, 1},
    {&__pyx_n_s_CUtensorMapL2promotion, __pyx_k_CUtensorMapL2promotion, sizeof(__pyx_k_CUtensorMapL2promotion), 0, 0, 1, 1},
    {&__pyx_n_s_CUtensorMapSwizzle, __pyx_k_CUtensorMapSwizzle, sizeof(__pyx_k_CUtensorMapSwizzle), 0, 0, 1, 1},
    {&__pyx_n_s_CUtensorMap_st, __pyx_k_CUtensorMap_st, sizeof(__pyx_k_CUtensorMap_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUtensorMap_st___reduce_cython, __pyx_k_CUtensorMap_st___reduce_cython, sizeof(__pyx_k_CUtensorMap_st___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUtensorMap_st___setstate_cython, __pyx_k_CUtensorMap_st___setstate_cython, sizeof(__pyx_k_CUtensorMap_st___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUtensorMap_st_getPtr, __pyx_k_CUtensorMap_st_getPtr, sizeof(__pyx_k_CUtensorMap_st_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUtexObject, __pyx_k_CUtexObject, sizeof(__pyx_k_CUtexObject), 0, 1, 0, 0},
    {&__pyx_n_s_CUtexObject_2, __pyx_k_CUtexObject_2, sizeof(__pyx_k_CUtexObject_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUtexObject___reduce_cython, __pyx_k_CUtexObject___reduce_cython, sizeof(__pyx_k_CUtexObject___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUtexObject___setstate_cython, __pyx_k_CUtexObject___setstate_cython, sizeof(__pyx_k_CUtexObject___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUtexObject_getPtr, __pyx_k_CUtexObject_getPtr, sizeof(__pyx_k_CUtexObject_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUtexObject_v1, __pyx_k_CUtexObject_v1, sizeof(__pyx_k_CUtexObject_v1), 0, 1, 0, 0},
    {&__pyx_n_s_CUtexObject_v1_2, __pyx_k_CUtexObject_v1_2, sizeof(__pyx_k_CUtexObject_v1_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUtexObject_v1___reduce_cython, __pyx_k_CUtexObject_v1___reduce_cython, sizeof(__pyx_k_CUtexObject_v1___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUtexObject_v1___setstate_cython, __pyx_k_CUtexObject_v1___setstate_cython, sizeof(__pyx_k_CUtexObject_v1___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUtexObject_v1_getPtr, __pyx_k_CUtexObject_v1_getPtr, sizeof(__pyx_k_CUtexObject_v1_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUtexref, __pyx_k_CUtexref, sizeof(__pyx_k_CUtexref), 0, 1, 0, 0},
    {&__pyx_n_s_CUtexref_2, __pyx_k_CUtexref_2, sizeof(__pyx_k_CUtexref_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUtexref___reduce_cython, __pyx_k_CUtexref___reduce_cython, sizeof(__pyx_k_CUtexref___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUtexref___setstate_cython, __pyx_k_CUtexref___setstate_cython, sizeof(__pyx_k_CUtexref___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUtexref_getPtr, __pyx_k_CUtexref_getPtr, sizeof(__pyx_k_CUtexref_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_CUuserObject, __pyx_k_CUuserObject, sizeof(__pyx_k_CUuserObject), 0, 1, 0, 0},
    {&__pyx_n_s_CUuserObjectRetain_flags, __pyx_k_CUuserObjectRetain_flags, sizeof(__pyx_k_CUuserObjectRetain_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUuserObject_2, __pyx_k_CUuserObject_2, sizeof(__pyx_k_CUuserObject_2), 0, 0, 1, 1},
    {&__pyx_n_s_CUuserObject___reduce_cython, __pyx_k_CUuserObject___reduce_cython, sizeof(__pyx_k_CUuserObject___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUuserObject___setstate_cython, __pyx_k_CUuserObject___setstate_cython, sizeof(__pyx_k_CUuserObject___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUuserObject_flags, __pyx_k_CUuserObject_flags, sizeof(__pyx_k_CUuserObject_flags), 0, 0, 1, 1},
    {&__pyx_n_s_CUuserObject_getPtr, __pyx_k_CUuserObject_getPtr, sizeof(__pyx_k_CUuserObject_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_CUuuid, __pyx_k_CUuuid, sizeof(__pyx_k_CUuuid), 0, 0, 1, 1},
    {&__pyx_n_s_CUuuid_st, __pyx_k_CUuuid_st, sizeof(__pyx_k_CUuuid_st), 0, 0, 1, 1},
    {&__pyx_n_s_CUuuid_st___reduce_cython, __pyx_k_CUuuid_st___reduce_cython, sizeof(__pyx_k_CUuuid_st___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUuuid_st___setstate_cython, __pyx_k_CUuuid_st___setstate_cython, sizeof(__pyx_k_CUuuid_st___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_CUuuid_st_getPtr, __pyx_k_CUuuid_st_getPtr, sizeof(__pyx_k_CUuuid_st_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_s_Caching_modes_for_dlcm, __pyx_k_Caching_modes_for_dlcm, sizeof(__pyx_k_Caching_modes_for_dlcm), 0, 0, 1, 0},
    {&__pyx_kp_s_Cluster_scheduling_policies_The, __pyx_k_Cluster_scheduling_policies_The, sizeof(__pyx_k_Cluster_scheduling_policies_The), 0, 0, 1, 0},
    {&__pyx_kp_s_Compute_Modes, __pyx_k_Compute_Modes, sizeof(__pyx_k_Compute_Modes), 0, 0, 1, 0},
    {&__pyx_kp_s_Conditional_node_types, __pyx_k_Conditional_node_types, sizeof(__pyx_k_Conditional_node_types), 0, 0, 1, 0},
    {&__pyx_kp_s_Context_creation_flags, __pyx_k_Context_creation_flags, sizeof(__pyx_k_Context_creation_flags), 0, 0, 1, 0},
    {&__pyx_kp_s_Cubin_matching_fallback_strateg, __pyx_k_Cubin_matching_fallback_strateg, sizeof(__pyx_k_Cubin_matching_fallback_strateg), 0, 0, 1, 0},
    {&__pyx_kp_s_Defines_the_allocation_types_av, __pyx_k_Defines_the_allocation_types_av, sizeof(__pyx_k_Defines_the_allocation_types_av), 0, 0, 1, 0},
    {&__pyx_kp_s_Deprecated_Shared_memory_config, __pyx_k_Deprecated_Shared_memory_config, sizeof(__pyx_k_Deprecated_Shared_memory_config), 0, 0, 1, 0},
    {&__pyx_kp_u_Depth, __pyx_k_Depth, sizeof(__pyx_k_Depth), 0, 1, 0, 0},
    {&__pyx_n_s_Depth_2, __pyx_k_Depth_2, sizeof(__pyx_k_Depth_2), 0, 0, 1, 1},
    {&__pyx_kp_u_Depth_ValueError, __pyx_k_Depth_ValueError, sizeof(__pyx_k_Depth_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_s_Device_code_formats, __pyx_k_Device_code_formats, sizeof(__pyx_k_Device_code_formats), 0, 0, 1, 0},
    {&__pyx_kp_s_Device_properties, __pyx_k_Device_properties, sizeof(__pyx_k_Device_properties), 0, 0, 1, 0},
    {&__pyx_kp_u_EGLImageKHR, __pyx_k_EGLImageKHR, sizeof(__pyx_k_EGLImageKHR), 0, 1, 0, 0},
    {&__pyx_n_s_EGLImageKHR_2, __pyx_k_EGLImageKHR_2, sizeof(__pyx_k_EGLImageKHR_2), 0, 0, 1, 1},
    {&__pyx_n_s_EGLImageKHR___reduce_cython, __pyx_k_EGLImageKHR___reduce_cython, sizeof(__pyx_k_EGLImageKHR___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_EGLImageKHR___setstate_cython, __pyx_k_EGLImageKHR___setstate_cython, sizeof(__pyx_k_EGLImageKHR___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_EGLImageKHR_getPtr, __pyx_k_EGLImageKHR_getPtr, sizeof(__pyx_k_EGLImageKHR_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_EGLStreamKHR, __pyx_k_EGLStreamKHR, sizeof(__pyx_k_EGLStreamKHR), 0, 1, 0, 0},
    {&__pyx_n_s_EGLStreamKHR_2, __pyx_k_EGLStreamKHR_2, sizeof(__pyx_k_EGLStreamKHR_2), 0, 0, 1, 1},
    {&__pyx_n_s_EGLStreamKHR___reduce_cython, __pyx_k_EGLStreamKHR___reduce_cython, sizeof(__pyx_k_EGLStreamKHR___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_EGLStreamKHR___setstate_cython, __pyx_k_EGLStreamKHR___setstate_cython, sizeof(__pyx_k_EGLStreamKHR___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_EGLStreamKHR_getPtr, __pyx_k_EGLStreamKHR_getPtr, sizeof(__pyx_k_EGLStreamKHR_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_EGLSyncKHR, __pyx_k_EGLSyncKHR, sizeof(__pyx_k_EGLSyncKHR), 0, 1, 0, 0},
    {&__pyx_n_s_EGLSyncKHR_2, __pyx_k_EGLSyncKHR_2, sizeof(__pyx_k_EGLSyncKHR_2), 0, 0, 1, 1},
    {&__pyx_n_s_EGLSyncKHR___reduce_cython, __pyx_k_EGLSyncKHR___reduce_cython, sizeof(__pyx_k_EGLSyncKHR___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_EGLSyncKHR___setstate_cython, __pyx_k_EGLSyncKHR___setstate_cython, sizeof(__pyx_k_EGLSyncKHR___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_EGLSyncKHR_getPtr, __pyx_k_EGLSyncKHR_getPtr, sizeof(__pyx_k_EGLSyncKHR_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_EGLint, __pyx_k_EGLint, sizeof(__pyx_k_EGLint), 0, 1, 0, 0},
    {&__pyx_n_s_EGLint_2, __pyx_k_EGLint_2, sizeof(__pyx_k_EGLint_2), 0, 0, 1, 1},
    {&__pyx_n_s_EGLint___reduce_cython, __pyx_k_EGLint___reduce_cython, sizeof(__pyx_k_EGLint___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_EGLint___setstate_cython, __pyx_k_EGLint___setstate_cython, sizeof(__pyx_k_EGLint___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_EGLint_getPtr, __pyx_k_EGLint_getPtr, sizeof(__pyx_k_EGLint_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_ElementSizeBytes, __pyx_k_ElementSizeBytes, sizeof(__pyx_k_ElementSizeBytes), 0, 0, 1, 1},
    {&__pyx_kp_s_Error_codes, __pyx_k_Error_codes, sizeof(__pyx_k_Error_codes), 0, 0, 1, 0},
    {&__pyx_kp_s_Event_creation_flags, __pyx_k_Event_creation_flags, sizeof(__pyx_k_Event_creation_flags), 0, 0, 1, 0},
    {&__pyx_kp_s_Event_record_flags, __pyx_k_Event_record_flags, sizeof(__pyx_k_Event_record_flags), 0, 0, 1, 0},
    {&__pyx_kp_s_Event_sched_flags, __pyx_k_Event_sched_flags, sizeof(__pyx_k_Event_sched_flags), 0, 0, 1, 0},
    {&__pyx_kp_s_Event_wait_flags, __pyx_k_Event_wait_flags, sizeof(__pyx_k_Event_wait_flags), 0, 0, 1, 0},
    {&__pyx_kp_s_Execution_Affinity_Types, __pyx_k_Execution_Affinity_Types, sizeof(__pyx_k_Execution_Affinity_Types), 0, 0, 1, 0},
    {&__pyx_kp_s_External_memory_handle_types, __pyx_k_External_memory_handle_types, sizeof(__pyx_k_External_memory_handle_types), 0, 0, 1, 0},
    {&__pyx_kp_s_External_semaphore_handle_types, __pyx_k_External_semaphore_handle_types, sizeof(__pyx_k_External_semaphore_handle_types), 0, 0, 1, 0},
    {&__pyx_kp_u_Failed_to_allocate_length_x_size, __pyx_k_Failed_to_allocate_length_x_size, sizeof(__pyx_k_Failed_to_allocate_length_x_size), 0, 1, 0, 0},
    {&__pyx_kp_s_Flag_for_requesting_different_o, __pyx_k_Flag_for_requesting_different_o, sizeof(__pyx_k_Flag_for_requesting_different_o), 0, 0, 1, 0},
    {&__pyx_kp_u_Flags, __pyx_k_Flags, sizeof(__pyx_k_Flags), 0, 1, 0, 0},
    {&__pyx_n_s_Flags_2, __pyx_k_Flags_2, sizeof(__pyx_k_Flags_2), 0, 0, 1, 1},
    {&__pyx_kp_u_Flags_ValueError, __pyx_k_Flags_ValueError, sizeof(__pyx_k_Flags_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_s_Flags_for_choosing_a_coredump_a, __pyx_k_Flags_for_choosing_a_coredump_a, sizeof(__pyx_k_Flags_for_choosing_a_coredump_a), 0, 0, 1, 0},
    {&__pyx_kp_s_Flags_for_instantiating_a_graph, __pyx_k_Flags_for_instantiating_a_graph, sizeof(__pyx_k_Flags_for_instantiating_a_graph), 0, 0, 1, 0},
    {&__pyx_kp_s_Flags_for_mapping_and_unmapping, __pyx_k_Flags_for_mapping_and_unmapping, sizeof(__pyx_k_Flags_for_mapping_and_unmapping), 0, 0, 1, 0},
    {&__pyx_kp_s_Flags_for_py_obj_cuStreamMemory, __pyx_k_Flags_for_py_obj_cuStreamMemory, sizeof(__pyx_k_Flags_for_py_obj_cuStreamMemory), 0, 0, 1, 0},
    {&__pyx_kp_s_Flags_for_py_obj_cuStreamUpdate, __pyx_k_Flags_for_py_obj_cuStreamUpdate, sizeof(__pyx_k_Flags_for_py_obj_cuStreamUpdate), 0, 0, 1, 0},
    {&__pyx_kp_s_Flags_for_py_obj_cuStreamWaitVa, __pyx_k_Flags_for_py_obj_cuStreamWaitVa, sizeof(__pyx_k_Flags_for_py_obj_cuStreamWaitVa), 0, 0, 1, 0},
    {&__pyx_kp_s_Flags_for_py_obj_cuStreamWriteV, __pyx_k_Flags_for_py_obj_cuStreamWriteV, sizeof(__pyx_k_Flags_for_py_obj_cuStreamWriteV), 0, 0, 1, 0},
    {&__pyx_kp_s_Flags_for_querying_different_gr, __pyx_k_Flags_for_querying_different_gr, sizeof(__pyx_k_Flags_for_querying_different_gr), 0, 0, 1, 0},
    {&__pyx_kp_s_Flags_for_retaining_user_object, __pyx_k_Flags_for_retaining_user_object, sizeof(__pyx_k_Flags_for_retaining_user_object), 0, 0, 1, 0},
    {&__pyx_kp_s_Flags_for_specifying_particular, __pyx_k_Flags_for_specifying_particular, sizeof(__pyx_k_Flags_for_specifying_particular), 0, 0, 1, 0},
    {&__pyx_kp_s_Flags_for_user_objects_for_grap, __pyx_k_Flags_for_user_objects_for_grap, sizeof(__pyx_k_Flags_for_user_objects_for_grap), 0, 0, 1, 0},
    {&__pyx_kp_s_Flags_to_indicate_search_status, __pyx_k_Flags_to_indicate_search_status, sizeof(__pyx_k_Flags_to_indicate_search_status), 0, 0, 1, 0},
    {&__pyx_kp_s_Flags_to_map_or_unmap_a_resourc, __pyx_k_Flags_to_map_or_unmap_a_resourc, sizeof(__pyx_k_Flags_to_map_or_unmap_a_resourc), 0, 0, 1, 0},
    {&__pyx_kp_s_Flags_to_register_a_graphics_re, __pyx_k_Flags_to_register_a_graphics_re, sizeof(__pyx_k_Flags_to_register_a_graphics_re), 0, 0, 1, 0},
    {&__pyx_kp_s_Flags_to_specify_search_options, __pyx_k_Flags_to_specify_search_options, sizeof(__pyx_k_Flags_to_specify_search_options), 0, 0, 1, 0},
    {&__pyx_kp_u_Format, __pyx_k_Format, sizeof(__pyx_k_Format), 0, 1, 0, 0},
    {&__pyx_n_s_Format_2, __pyx_k_Format_2, sizeof(__pyx_k_Format_2), 0, 0, 1, 1},
    {&__pyx_kp_u_Format_ValueError, __pyx_k_Format_ValueError, sizeof(__pyx_k_Format_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_s_Function_cache_configurations, __pyx_k_Function_cache_configurations, sizeof(__pyx_k_Function_cache_configurations), 0, 0, 1, 0},
    {&__pyx_kp_s_Function_properties, __pyx_k_Function_properties, sizeof(__pyx_k_Function_properties), 0, 0, 1, 0},
    {&__pyx_kp_u_GLenum, __pyx_k_GLenum, sizeof(__pyx_k_GLenum), 0, 1, 0, 0},
    {&__pyx_n_s_GLenum_2, __pyx_k_GLenum_2, sizeof(__pyx_k_GLenum_2), 0, 0, 1, 1},
    {&__pyx_n_s_GLenum___reduce_cython, __pyx_k_GLenum___reduce_cython, sizeof(__pyx_k_GLenum___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_GLenum___setstate_cython, __pyx_k_GLenum___setstate_cython, sizeof(__pyx_k_GLenum___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_GLenum_getPtr, __pyx_k_GLenum_getPtr, sizeof(__pyx_k_GLenum_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_GLuint, __pyx_k_GLuint, sizeof(__pyx_k_GLuint), 0, 1, 0, 0},
    {&__pyx_n_s_GLuint_2, __pyx_k_GLuint_2, sizeof(__pyx_k_GLuint_2), 0, 0, 1, 1},
    {&__pyx_n_s_GLuint___reduce_cython, __pyx_k_GLuint___reduce_cython, sizeof(__pyx_k_GLuint___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_GLuint___setstate_cython, __pyx_k_GLuint___setstate_cython, sizeof(__pyx_k_GLuint___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_GLuint_getPtr, __pyx_k_GLuint_getPtr, sizeof(__pyx_k_GLuint_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_s_Graph_instantiation_results, __pyx_k_Graph_instantiation_results, sizeof(__pyx_k_Graph_instantiation_results), 0, 0, 1, 0},
    {&__pyx_kp_s_Graph_node_types, __pyx_k_Graph_node_types, sizeof(__pyx_k_Graph_node_types), 0, 0, 1, 0},
    {&__pyx_kp_u_Height, __pyx_k_Height, sizeof(__pyx_k_Height), 0, 1, 0, 0},
    {&__pyx_n_s_Height_2, __pyx_k_Height_2, sizeof(__pyx_k_Height_2), 0, 0, 1, 1},
    {&__pyx_kp_u_Height_ValueError, __pyx_k_Height_ValueError, sizeof(__pyx_k_Height_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_IndexError, __pyx_k_IndexError, sizeof(__pyx_k_IndexError), 0, 0, 1, 1},
    {&__pyx_n_s_IntEnum, __pyx_k_IntEnum, sizeof(__pyx_k_IntEnum), 0, 0, 1, 1},
    {&__pyx_kp_s_Launch_attributes_enum_used_as, __pyx_k_Launch_attributes_enum_used_as, sizeof(__pyx_k_Launch_attributes_enum_used_as), 0, 0, 1, 0},
    {&__pyx_kp_s_Library_options_to_be_specified, __pyx_k_Library_options_to_be_specified, sizeof(__pyx_k_Library_options_to_be_specified), 0, 0, 1, 0},
    {&__pyx_kp_s_Limits, __pyx_k_Limits, sizeof(__pyx_k_Limits), 0, 0, 1, 0},
    {&__pyx_n_s_List, __pyx_k_List, sizeof(__pyx_k_List), 0, 0, 1, 1},
    {&__pyx_kp_s_List_int, __pyx_k_List_int, sizeof(__pyx_k_List_int), 0, 0, 1, 0},
    {&__pyx_kp_u_List_is_too_small, __pyx_k_List_is_too_small, sizeof(__pyx_k_List_is_too_small), 0, 1, 0, 0},
    {&__pyx_n_s_MAX_PLANES, __pyx_k_MAX_PLANES, sizeof(__pyx_k_MAX_PLANES), 0, 0, 1, 1},
    {&__pyx_n_s_MemoryError, __pyx_k_MemoryError, sizeof(__pyx_k_MemoryError), 0, 0, 1, 1},
    {&__pyx_kp_s_Memory_Synchronization_Domain_A, __pyx_k_Memory_Synchronization_Domain_A, sizeof(__pyx_k_Memory_Synchronization_Domain_A), 0, 0, 1, 0},
    {&__pyx_kp_s_Memory_advise_values, __pyx_k_Memory_advise_values, sizeof(__pyx_k_Memory_advise_values), 0, 0, 1, 0},
    {&__pyx_kp_s_Memory_handle_types, __pyx_k_Memory_handle_types, sizeof(__pyx_k_Memory_handle_types), 0, 0, 1, 0},
    {&__pyx_kp_s_Memory_operation_types, __pyx_k_Memory_operation_types, sizeof(__pyx_k_Memory_operation_types), 0, 0, 1, 0},
    {&__pyx_kp_s_Memory_types, __pyx_k_Memory_types, sizeof(__pyx_k_Memory_types), 0, 0, 1, 0},
    {&__pyx_n_s_N, __pyx_k_N, sizeof(__pyx_k_N), 0, 0, 1, 1},
    {&__pyx_n_s_NVCL_CTX_SCHED_AUTO, __pyx_k_NVCL_CTX_SCHED_AUTO, sizeof(__pyx_k_NVCL_CTX_SCHED_AUTO), 0, 0, 1, 1},
    {&__pyx_n_s_NVCL_CTX_SCHED_BLOCKING_SYNC, __pyx_k_NVCL_CTX_SCHED_BLOCKING_SYNC, sizeof(__pyx_k_NVCL_CTX_SCHED_BLOCKING_SYNC), 0, 0, 1, 1},
    {&__pyx_n_s_NVCL_CTX_SCHED_SPIN, __pyx_k_NVCL_CTX_SCHED_SPIN, sizeof(__pyx_k_NVCL_CTX_SCHED_SPIN), 0, 0, 1, 1},
    {&__pyx_n_s_NVCL_CTX_SCHED_YIELD, __pyx_k_NVCL_CTX_SCHED_YIELD, sizeof(__pyx_k_NVCL_CTX_SCHED_YIELD), 0, 0, 1, 1},
    {&__pyx_n_s_NVCL_EVENT_SCHED_AUTO, __pyx_k_NVCL_EVENT_SCHED_AUTO, sizeof(__pyx_k_NVCL_EVENT_SCHED_AUTO), 0, 0, 1, 1},
    {&__pyx_n_s_NVCL_EVENT_SCHED_BLOCKING_SYNC, __pyx_k_NVCL_EVENT_SCHED_BLOCKING_SYNC, sizeof(__pyx_k_NVCL_EVENT_SCHED_BLOCKING_SYNC), 0, 0, 1, 1},
    {&__pyx_n_s_NVCL_EVENT_SCHED_SPIN, __pyx_k_NVCL_EVENT_SCHED_SPIN, sizeof(__pyx_k_NVCL_EVENT_SCHED_SPIN), 0, 0, 1, 1},
    {&__pyx_n_s_NVCL_EVENT_SCHED_YIELD, __pyx_k_NVCL_EVENT_SCHED_YIELD, sizeof(__pyx_k_NVCL_EVENT_SCHED_YIELD), 0, 0, 1, 1},
    {&__pyx_kp_s_NVCL_context_scheduling_flags, __pyx_k_NVCL_context_scheduling_flags, sizeof(__pyx_k_NVCL_context_scheduling_flags), 0, 0, 1, 0},
    {&__pyx_kp_s_NVCL_event_scheduling_flags, __pyx_k_NVCL_event_scheduling_flags, sizeof(__pyx_k_NVCL_event_scheduling_flags), 0, 0, 1, 0},
    {&__pyx_kp_u_NumChannels, __pyx_k_NumChannels, sizeof(__pyx_k_NumChannels), 0, 1, 0, 0},
    {&__pyx_n_s_NumChannels_2, __pyx_k_NumChannels_2, sizeof(__pyx_k_NumChannels_2), 0, 0, 1, 1},
    {&__pyx_kp_u_NumChannels_ValueError, __pyx_k_NumChannels_ValueError, sizeof(__pyx_k_NumChannels_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_NumPackedComponents, __pyx_k_NumPackedComponents, sizeof(__pyx_k_NumPackedComponents), 0, 0, 1, 1},
    {&__pyx_kp_s_Occupancy_calculator_flag, __pyx_k_Occupancy_calculator_flag, sizeof(__pyx_k_Occupancy_calculator_flag), 0, 0, 1, 0},
    {&__pyx_kp_s_Online_compilation_targets, __pyx_k_Online_compilation_targets, sizeof(__pyx_k_Online_compilation_targets), 0, 0, 1, 0},
    {&__pyx_kp_s_Online_compiler_and_linker_opti, __pyx_k_Online_compiler_and_linker_opti, sizeof(__pyx_k_Online_compiler_and_linker_opti), 0, 0, 1, 0},
    {&__pyx_kp_s_Operations_for_py_obj_cuStreamB, __pyx_k_Operations_for_py_obj_cuStreamB, sizeof(__pyx_k_Operations_for_py_obj_cuStreamB), 0, 0, 1, 0},
    {&__pyx_n_s_Optional, __pyx_k_Optional, sizeof(__pyx_k_Optional), 0, 0, 1, 1},
    {&__pyx_kp_s_Optional_CUDA_ARRAY3D_DESCRIPTOR, __pyx_k_Optional_CUDA_ARRAY3D_DESCRIPTOR, sizeof(__pyx_k_Optional_CUDA_ARRAY3D_DESCRIPTOR), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_ARRAY_DESCRIPTOR, __pyx_k_Optional_CUDA_ARRAY_DESCRIPTOR, sizeof(__pyx_k_Optional_CUDA_ARRAY_DESCRIPTOR), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_BATCH_MEM_OP_NODE, __pyx_k_Optional_CUDA_BATCH_MEM_OP_NODE, sizeof(__pyx_k_Optional_CUDA_BATCH_MEM_OP_NODE), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_BU, __pyx_k_Optional_CUDA_EXTERNAL_MEMORY_BU, sizeof(__pyx_k_Optional_CUDA_EXTERNAL_MEMORY_BU), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_HA, __pyx_k_Optional_CUDA_EXTERNAL_MEMORY_HA, sizeof(__pyx_k_Optional_CUDA_EXTERNAL_MEMORY_HA), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_MI, __pyx_k_Optional_CUDA_EXTERNAL_MEMORY_MI, sizeof(__pyx_k_Optional_CUDA_EXTERNAL_MEMORY_MI), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_EXTERNAL_SEMAPHORE, __pyx_k_Optional_CUDA_EXTERNAL_SEMAPHORE, sizeof(__pyx_k_Optional_CUDA_EXTERNAL_SEMAPHORE), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_EXT_SEM_SIGNAL_NOD, __pyx_k_Optional_CUDA_EXT_SEM_SIGNAL_NOD, sizeof(__pyx_k_Optional_CUDA_EXT_SEM_SIGNAL_NOD), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_EXT_SEM_WAIT_NODE, __pyx_k_Optional_CUDA_EXT_SEM_WAIT_NODE, sizeof(__pyx_k_Optional_CUDA_EXT_SEM_WAIT_NODE), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_GRAPH_INSTANTIATE, __pyx_k_Optional_CUDA_GRAPH_INSTANTIATE, sizeof(__pyx_k_Optional_CUDA_GRAPH_INSTANTIATE), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_HOST_NODE_PARAMS, __pyx_k_Optional_CUDA_HOST_NODE_PARAMS, sizeof(__pyx_k_Optional_CUDA_HOST_NODE_PARAMS), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_KERNEL_NODE_PARAMS, __pyx_k_Optional_CUDA_KERNEL_NODE_PARAMS, sizeof(__pyx_k_Optional_CUDA_KERNEL_NODE_PARAMS), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_MEMCPY2D, __pyx_k_Optional_CUDA_MEMCPY2D, sizeof(__pyx_k_Optional_CUDA_MEMCPY2D), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_MEMCPY3D, __pyx_k_Optional_CUDA_MEMCPY3D, sizeof(__pyx_k_Optional_CUDA_MEMCPY3D), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_MEMCPY3D_PEER, __pyx_k_Optional_CUDA_MEMCPY3D_PEER, sizeof(__pyx_k_Optional_CUDA_MEMCPY3D_PEER), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_MEMSET_NODE_PARAMS, __pyx_k_Optional_CUDA_MEMSET_NODE_PARAMS, sizeof(__pyx_k_Optional_CUDA_MEMSET_NODE_PARAMS), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_MEM_ALLOC_NODE_PAR, __pyx_k_Optional_CUDA_MEM_ALLOC_NODE_PAR, sizeof(__pyx_k_Optional_CUDA_MEM_ALLOC_NODE_PAR), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_RESOURCE_DESC, __pyx_k_Optional_CUDA_RESOURCE_DESC, sizeof(__pyx_k_Optional_CUDA_RESOURCE_DESC), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_RESOURCE_VIEW_DESC, __pyx_k_Optional_CUDA_RESOURCE_VIEW_DESC, sizeof(__pyx_k_Optional_CUDA_RESOURCE_VIEW_DESC), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUDA_TEXTURE_DESC, __pyx_k_Optional_CUDA_TEXTURE_DESC, sizeof(__pyx_k_Optional_CUDA_TEXTURE_DESC), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUdevResource, __pyx_k_Optional_CUdevResource, sizeof(__pyx_k_Optional_CUdevResource), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUeglFrame, __pyx_k_Optional_CUeglFrame, sizeof(__pyx_k_Optional_CUeglFrame), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUgraphNodeParams, __pyx_k_Optional_CUgraphNodeParams, sizeof(__pyx_k_Optional_CUgraphNodeParams), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUkernelNodeAttrValue, __pyx_k_Optional_CUkernelNodeAttrValue, sizeof(__pyx_k_Optional_CUkernelNodeAttrValue), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUlaunchConfig, __pyx_k_Optional_CUlaunchConfig, sizeof(__pyx_k_Optional_CUlaunchConfig), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUmemAllocationProp, __pyx_k_Optional_CUmemAllocationProp, sizeof(__pyx_k_Optional_CUmemAllocationProp), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUmemLocation, __pyx_k_Optional_CUmemLocation, sizeof(__pyx_k_Optional_CUmemLocation), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUmemPoolProps, __pyx_k_Optional_CUmemPoolProps, sizeof(__pyx_k_Optional_CUmemPoolProps), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUmemPoolPtrExportData, __pyx_k_Optional_CUmemPoolPtrExportData, sizeof(__pyx_k_Optional_CUmemPoolPtrExportData), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUmulticastObjectProp, __pyx_k_Optional_CUmulticastObjectProp, sizeof(__pyx_k_Optional_CUmulticastObjectProp), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUstreamAttrValue, __pyx_k_Optional_CUstreamAttrValue, sizeof(__pyx_k_Optional_CUstreamAttrValue), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUtensorMap, __pyx_k_Optional_CUtensorMap, sizeof(__pyx_k_Optional_CUtensorMap), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_CUuuid, __pyx_k_Optional_CUuuid, sizeof(__pyx_k_Optional_CUuuid), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_Any, __pyx_k_Optional_List_Any, sizeof(__pyx_k_Optional_List_Any), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_CUDA_EXTERNAL_SEMA, __pyx_k_Optional_List_CUDA_EXTERNAL_SEMA, sizeof(__pyx_k_Optional_List_CUDA_EXTERNAL_SEMA), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_CUDA_EXTERNAL_SEMA_2, __pyx_k_Optional_List_CUDA_EXTERNAL_SEMA_2, sizeof(__pyx_k_Optional_List_CUDA_EXTERNAL_SEMA_2), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_CUDA_LAUNCH_PARAMS, __pyx_k_Optional_List_CUDA_LAUNCH_PARAMS, sizeof(__pyx_k_Optional_List_CUDA_LAUNCH_PARAMS), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_CUarrayMapInfo, __pyx_k_Optional_List_CUarrayMapInfo, sizeof(__pyx_k_Optional_List_CUarrayMapInfo), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_CUdevResource, __pyx_k_Optional_List_CUdevResource, sizeof(__pyx_k_Optional_List_CUdevResource), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_CUexecAffinityPara, __pyx_k_Optional_List_CUexecAffinityPara, sizeof(__pyx_k_Optional_List_CUexecAffinityPara), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_CUexternalSemaphor, __pyx_k_Optional_List_CUexternalSemaphor, sizeof(__pyx_k_Optional_List_CUexternalSemaphor), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_CUgraphEdgeData, __pyx_k_Optional_List_CUgraphEdgeData, sizeof(__pyx_k_Optional_List_CUgraphEdgeData), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_CUgraphNode, __pyx_k_Optional_List_CUgraphNode, sizeof(__pyx_k_Optional_List_CUgraphNode), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_CUjit_option, __pyx_k_Optional_List_CUjit_option, sizeof(__pyx_k_Optional_List_CUjit_option), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_CUlibraryOption, __pyx_k_Optional_List_CUlibraryOption, sizeof(__pyx_k_Optional_List_CUlibraryOption), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_CUmemAccessDesc, __pyx_k_Optional_List_CUmemAccessDesc, sizeof(__pyx_k_Optional_List_CUmemAccessDesc), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_CUmem_range_attrib, __pyx_k_Optional_List_CUmem_range_attrib, sizeof(__pyx_k_Optional_List_CUmem_range_attrib), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_CUpointer_attribut, __pyx_k_Optional_List_CUpointer_attribut, sizeof(__pyx_k_Optional_List_CUpointer_attribut), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_CUstreamBatchMemOp, __pyx_k_Optional_List_CUstreamBatchMemOp, sizeof(__pyx_k_Optional_List_CUstreamBatchMemOp), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_cuuint32_t, __pyx_k_Optional_List_cuuint32_t, sizeof(__pyx_k_Optional_List_cuuint32_t), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_cuuint64_t, __pyx_k_Optional_List_cuuint64_t, sizeof(__pyx_k_Optional_List_cuuint64_t), 0, 0, 1, 0},
    {&__pyx_kp_s_Optional_List_int, __pyx_k_Optional_List_int, sizeof(__pyx_k_Optional_List_int), 0, 0, 1, 0},
    {&__pyx_n_s_OverflowError, __pyx_k_OverflowError, sizeof(__pyx_k_OverflowError), 0, 0, 1, 1},
    {&__pyx_kp_s_P2P_Attributes, __pyx_k_P2P_Attributes, sizeof(__pyx_k_P2P_Attributes), 0, 0, 1, 0},
    {&__pyx_n_s_Pitch, __pyx_k_Pitch, sizeof(__pyx_k_Pitch), 0, 0, 1, 1},
    {&__pyx_kp_s_Platform_native_ordering_for_GP, __pyx_k_Platform_native_ordering_for_GP, sizeof(__pyx_k_Platform_native_ordering_for_GP), 0, 0, 1, 0},
    {&__pyx_kp_s_Pointer_information, __pyx_k_Pointer_information, sizeof(__pyx_k_Pointer_information), 0, 0, 1, 0},
    {&__pyx_kp_s_Possible_modes_for_stream_captu, __pyx_k_Possible_modes_for_stream_captu, sizeof(__pyx_k_Possible_modes_for_stream_captu), 0, 0, 1, 0},
    {&__pyx_kp_s_Possible_stream_capture_statuse, __pyx_k_Possible_stream_capture_statuse, sizeof(__pyx_k_Possible_stream_capture_statuse), 0, 0, 1, 0},
    {&__pyx_kp_s_Profiler_Output_Modes, __pyx_k_Profiler_Output_Modes, sizeof(__pyx_k_Profiler_Output_Modes), 0, 0, 1, 0},
    {&__pyx_n_s_RESOURCE_ABI_EXTERNAL_BYTES, __pyx_k_RESOURCE_ABI_EXTERNAL_BYTES, sizeof(__pyx_k_RESOURCE_ABI_EXTERNAL_BYTES), 0, 0, 1, 1},
    {&__pyx_n_s_RESOURCE_ABI_VERSION, __pyx_k_RESOURCE_ABI_VERSION, sizeof(__pyx_k_RESOURCE_ABI_VERSION), 0, 0, 1, 1},
    {&__pyx_kp_s_Resource_location_flags_sysmem, __pyx_k_Resource_location_flags_sysmem, sizeof(__pyx_k_Resource_location_flags_sysmem), 0, 0, 1, 0},
    {&__pyx_kp_s_Resource_types, __pyx_k_Resource_types, sizeof(__pyx_k_Resource_types), 0, 0, 1, 0},
    {&__pyx_kp_s_Resource_view_format, __pyx_k_Resource_view_format, sizeof(__pyx_k_Resource_view_format), 0, 0, 1, 0},
    {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1},
    {&__pyx_kp_u_SIMDWidth, __pyx_k_SIMDWidth, sizeof(__pyx_k_SIMDWidth), 0, 1, 0, 0},
    {&__pyx_n_s_SIMDWidth_2, __pyx_k_SIMDWidth_2, sizeof(__pyx_k_SIMDWidth_2), 0, 0, 1, 1},
    {&__pyx_kp_u_SIMDWidth_ValueError, __pyx_k_SIMDWidth_ValueError, sizeof(__pyx_k_SIMDWidth_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_s_Shared_memory_carveout_configur, __pyx_k_Shared_memory_carveout_configur, sizeof(__pyx_k_Shared_memory_carveout_configur), 0, 0, 1, 0},
    {&__pyx_kp_s_Sparse_subresource_types, __pyx_k_Sparse_subresource_types, sizeof(__pyx_k_Sparse_subresource_types), 0, 0, 1, 0},
    {&__pyx_kp_s_Specifies_compression_attribute, __pyx_k_Specifies_compression_attribute, sizeof(__pyx_k_Specifies_compression_attribute), 0, 0, 1, 0},
    {&__pyx_kp_s_Specifies_performance_hint_with, __pyx_k_Specifies_performance_hint_with, sizeof(__pyx_k_Specifies_performance_hint_with), 0, 0, 1, 0},
    {&__pyx_kp_s_Specifies_the_handle_type_for_a, __pyx_k_Specifies_the_handle_type_for_a, sizeof(__pyx_k_Specifies_the_handle_type_for_a), 0, 0, 1, 0},
    {&__pyx_kp_s_Specifies_the_memory_protection, __pyx_k_Specifies_the_memory_protection, sizeof(__pyx_k_Specifies_the_memory_protection), 0, 0, 1, 0},
    {&__pyx_kp_s_Specifies_the_type_of_location, __pyx_k_Specifies_the_type_of_location, sizeof(__pyx_k_Specifies_the_type_of_location), 0, 0, 1, 0},
    {&__pyx_kp_s_Stream_creation_flags, __pyx_k_Stream_creation_flags, sizeof(__pyx_k_Stream_creation_flags), 0, 0, 1, 0},
    {&__pyx_kp_s_Tensor_map_L2_promotion_type, __pyx_k_Tensor_map_L2_promotion_type, sizeof(__pyx_k_Tensor_map_L2_promotion_type), 0, 0, 1, 0},
    {&__pyx_kp_s_Tensor_map_data_type, __pyx_k_Tensor_map_data_type, sizeof(__pyx_k_Tensor_map_data_type), 0, 0, 1, 0},
    {&__pyx_kp_s_Tensor_map_interleave_layout_ty, __pyx_k_Tensor_map_interleave_layout_ty, sizeof(__pyx_k_Tensor_map_interleave_layout_ty), 0, 0, 1, 0},
    {&__pyx_kp_s_Tensor_map_out_of_bounds_fill_t, __pyx_k_Tensor_map_out_of_bounds_fill_t, sizeof(__pyx_k_Tensor_map_out_of_bounds_fill_t), 0, 0, 1, 0},
    {&__pyx_kp_s_Tensor_map_swizzling_mode_of_sh, __pyx_k_Tensor_map_swizzling_mode_of_sh, sizeof(__pyx_k_Tensor_map_swizzling_mode_of_sh), 0, 0, 1, 0},
    {&__pyx_kp_s_Texture_reference_addressing_mo, __pyx_k_Texture_reference_addressing_mo, sizeof(__pyx_k_Texture_reference_addressing_mo), 0, 0, 1, 0},
    {&__pyx_kp_s_Texture_reference_filtering_mod, __pyx_k_Texture_reference_filtering_mod, sizeof(__pyx_k_Texture_reference_filtering_mod), 0, 0, 1, 0},
    {&__pyx_kp_s_The_additional_write_options_fo, __pyx_k_The_additional_write_options_fo, sizeof(__pyx_k_The_additional_write_options_fo), 0, 0, 1, 0},
    {&__pyx_kp_s_The_scopes_for_py_obj_cuFlushGP, __pyx_k_The_scopes_for_py_obj_cuFlushGP, sizeof(__pyx_k_The_scopes_for_py_obj_cuFlushGP), 0, 0, 1, 0},
    {&__pyx_kp_s_The_targets_for_py_obj_cuFlushG, __pyx_k_The_targets_for_py_obj_cuFlushG, sizeof(__pyx_k_The_targets_for_py_obj_cuFlushG), 0, 0, 1, 0},
    {&__pyx_n_s_Tuple, __pyx_k_Tuple, sizeof(__pyx_k_Tuple), 0, 0, 1, 1},
    {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1},
    {&__pyx_kp_s_Type_annotations_that_can_be_ap, __pyx_k_Type_annotations_that_can_be_ap, sizeof(__pyx_k_Type_annotations_that_can_be_ap), 0, 0, 1, 0},
    {&__pyx_kp_s_Type_of_resource, __pyx_k_Type_of_resource, sizeof(__pyx_k_Type_of_resource), 0, 0, 1, 0},
    {&__pyx_kp_s_Types_of_async_notification_tha, __pyx_k_Types_of_async_notification_tha, sizeof(__pyx_k_Types_of_async_notification_tha), 0, 0, 1, 0},
    {&__pyx_kp_u_Unknown_type, __pyx_k_Unknown_type, sizeof(__pyx_k_Unknown_type), 0, 1, 0, 0},
    {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
    {&__pyx_kp_u_VdpDevice, __pyx_k_VdpDevice, sizeof(__pyx_k_VdpDevice), 0, 1, 0, 0},
    {&__pyx_n_s_VdpDevice_2, __pyx_k_VdpDevice_2, sizeof(__pyx_k_VdpDevice_2), 0, 0, 1, 1},
    {&__pyx_n_s_VdpDevice___reduce_cython, __pyx_k_VdpDevice___reduce_cython, sizeof(__pyx_k_VdpDevice___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_VdpDevice___setstate_cython, __pyx_k_VdpDevice___setstate_cython, sizeof(__pyx_k_VdpDevice___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_VdpDevice_getPtr, __pyx_k_VdpDevice_getPtr, sizeof(__pyx_k_VdpDevice_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_VdpGetProcAddress, __pyx_k_VdpGetProcAddress, sizeof(__pyx_k_VdpGetProcAddress), 0, 1, 0, 0},
    {&__pyx_n_s_VdpGetProcAddress_2, __pyx_k_VdpGetProcAddress_2, sizeof(__pyx_k_VdpGetProcAddress_2), 0, 0, 1, 1},
    {&__pyx_n_s_VdpGetProcAddress___reduce_cytho, __pyx_k_VdpGetProcAddress___reduce_cytho, sizeof(__pyx_k_VdpGetProcAddress___reduce_cytho), 0, 0, 1, 1},
    {&__pyx_n_s_VdpGetProcAddress___setstate_cyt, __pyx_k_VdpGetProcAddress___setstate_cyt, sizeof(__pyx_k_VdpGetProcAddress___setstate_cyt), 0, 0, 1, 1},
    {&__pyx_n_s_VdpGetProcAddress_getPtr, __pyx_k_VdpGetProcAddress_getPtr, sizeof(__pyx_k_VdpGetProcAddress_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_VdpOutputSurface, __pyx_k_VdpOutputSurface, sizeof(__pyx_k_VdpOutputSurface), 0, 1, 0, 0},
    {&__pyx_n_s_VdpOutputSurface_2, __pyx_k_VdpOutputSurface_2, sizeof(__pyx_k_VdpOutputSurface_2), 0, 0, 1, 1},
    {&__pyx_n_s_VdpOutputSurface___reduce_cython, __pyx_k_VdpOutputSurface___reduce_cython, sizeof(__pyx_k_VdpOutputSurface___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_VdpOutputSurface___setstate_cyth, __pyx_k_VdpOutputSurface___setstate_cyth, sizeof(__pyx_k_VdpOutputSurface___setstate_cyth), 0, 0, 1, 1},
    {&__pyx_n_s_VdpOutputSurface_getPtr, __pyx_k_VdpOutputSurface_getPtr, sizeof(__pyx_k_VdpOutputSurface_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_VdpVideoSurface, __pyx_k_VdpVideoSurface, sizeof(__pyx_k_VdpVideoSurface), 0, 1, 0, 0},
    {&__pyx_n_s_VdpVideoSurface_2, __pyx_k_VdpVideoSurface_2, sizeof(__pyx_k_VdpVideoSurface_2), 0, 0, 1, 1},
    {&__pyx_n_s_VdpVideoSurface___reduce_cython, __pyx_k_VdpVideoSurface___reduce_cython, sizeof(__pyx_k_VdpVideoSurface___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_VdpVideoSurface___setstate_cytho, __pyx_k_VdpVideoSurface___setstate_cytho, sizeof(__pyx_k_VdpVideoSurface___setstate_cytho), 0, 0, 1, 1},
    {&__pyx_n_s_VdpVideoSurface_getPtr, __pyx_k_VdpVideoSurface_getPtr, sizeof(__pyx_k_VdpVideoSurface_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_Width, __pyx_k_Width, sizeof(__pyx_k_Width), 0, 1, 0, 0},
    {&__pyx_kp_u_WidthInBytes, __pyx_k_WidthInBytes, sizeof(__pyx_k_WidthInBytes), 0, 1, 0, 0},
    {&__pyx_n_s_WidthInBytes_2, __pyx_k_WidthInBytes_2, sizeof(__pyx_k_WidthInBytes_2), 0, 0, 1, 1},
    {&__pyx_kp_u_WidthInBytes_ValueError, __pyx_k_WidthInBytes_ValueError, sizeof(__pyx_k_WidthInBytes_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_Width_2, __pyx_k_Width_2, sizeof(__pyx_k_Width_2), 0, 0, 1, 1},
    {&__pyx_kp_u_Width_ValueError, __pyx_k_Width_ValueError, sizeof(__pyx_k_Width_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u__117, __pyx_k__117, sizeof(__pyx_k__117), 0, 1, 0, 0},
    {&__pyx_kp_u__118, __pyx_k__118, sizeof(__pyx_k__118), 0, 1, 0, 0},
    {&__pyx_n_s__1338, __pyx_k__1338, sizeof(__pyx_k__1338), 0, 0, 1, 1},
    {&__pyx_kp_u__143, __pyx_k__143, sizeof(__pyx_k__143), 0, 1, 0, 0},
    {&__pyx_kp_b__486, __pyx_k__486, sizeof(__pyx_k__486), 0, 0, 0, 0},
    {&__pyx_kp_u__535, __pyx_k__535, sizeof(__pyx_k__535), 0, 1, 0, 0},
    {&__pyx_kp_u__959, __pyx_k__959, sizeof(__pyx_k__959), 0, 1, 0, 0},
    {&__pyx_n_s__960, __pyx_k__960, sizeof(__pyx_k__960), 0, 0, 1, 1},
    {&__pyx_kp_s__961, __pyx_k__961, sizeof(__pyx_k__961), 0, 0, 1, 0},
    {&__pyx_kp_u_accessDescCount, __pyx_k_accessDescCount, sizeof(__pyx_k_accessDescCount), 0, 1, 0, 0},
    {&__pyx_n_s_accessDescCount_2, __pyx_k_accessDescCount_2, sizeof(__pyx_k_accessDescCount_2), 0, 0, 1, 1},
    {&__pyx_kp_u_accessDescCount_ValueError, __pyx_k_accessDescCount_ValueError, sizeof(__pyx_k_accessDescCount_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_accessDescs, __pyx_k_accessDescs, sizeof(__pyx_k_accessDescs), 0, 1, 0, 0},
    {&__pyx_n_s_accessDescs_2, __pyx_k_accessDescs_2, sizeof(__pyx_k_accessDescs_2), 0, 0, 1, 1},
    {&__pyx_kp_u_accessDescs_ValueError, __pyx_k_accessDescs_ValueError, sizeof(__pyx_k_accessDescs_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_accessPolicyWindow, __pyx_k_accessPolicyWindow, sizeof(__pyx_k_accessPolicyWindow), 0, 1, 0, 0},
    {&__pyx_n_s_accessPolicyWindow_2, __pyx_k_accessPolicyWindow_2, sizeof(__pyx_k_accessPolicyWindow_2), 0, 0, 1, 1},
    {&__pyx_kp_u_accessPolicyWindow_ValueError, __pyx_k_accessPolicyWindow_ValueError, sizeof(__pyx_k_accessPolicyWindow_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_active, __pyx_k_active, sizeof(__pyx_k_active), 0, 0, 1, 1},
    {&__pyx_n_s_addr, __pyx_k_addr, sizeof(__pyx_k_addr), 0, 0, 1, 1},
    {&__pyx_kp_u_address, __pyx_k_address, sizeof(__pyx_k_address), 0, 1, 0, 0},
    {&__pyx_kp_u_addressMode, __pyx_k_addressMode, sizeof(__pyx_k_addressMode), 0, 1, 0, 0},
    {&__pyx_n_s_addressMode_2, __pyx_k_addressMode_2, sizeof(__pyx_k_addressMode_2), 0, 0, 1, 1},
    {&__pyx_kp_u_addressMode_ValueError, __pyx_k_addressMode_ValueError, sizeof(__pyx_k_addressMode_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_address_2, __pyx_k_address_2, sizeof(__pyx_k_address_2), 0, 0, 1, 1},
    {&__pyx_kp_u_address_ValueError, __pyx_k_address_ValueError, sizeof(__pyx_k_address_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_advice, __pyx_k_advice, sizeof(__pyx_k_advice), 0, 0, 1, 1},
    {&__pyx_kp_u_alias, __pyx_k_alias, sizeof(__pyx_k_alias), 0, 1, 0, 0},
    {&__pyx_n_s_alias_2, __pyx_k_alias_2, sizeof(__pyx_k_alias_2), 0, 0, 1, 1},
    {&__pyx_kp_u_alias_ValueError, __pyx_k_alias_ValueError, sizeof(__pyx_k_alias_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_alignment, __pyx_k_alignment, sizeof(__pyx_k_alignment), 0, 1, 0, 0},
    {&__pyx_n_s_alignment_2, __pyx_k_alignment_2, sizeof(__pyx_k_alignment_2), 0, 0, 1, 1},
    {&__pyx_kp_u_alignment_ValueError, __pyx_k_alignment_ValueError, sizeof(__pyx_k_alignment_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_alloc, __pyx_k_alloc, sizeof(__pyx_k_alloc), 0, 1, 0, 0},
    {&__pyx_kp_u_allocFlags, __pyx_k_allocFlags, sizeof(__pyx_k_allocFlags), 0, 1, 0, 0},
    {&__pyx_n_s_allocFlags_2, __pyx_k_allocFlags_2, sizeof(__pyx_k_allocFlags_2), 0, 0, 1, 1},
    {&__pyx_kp_u_allocFlags_ValueError, __pyx_k_allocFlags_ValueError, sizeof(__pyx_k_allocFlags_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_allocType, __pyx_k_allocType, sizeof(__pyx_k_allocType), 0, 1, 0, 0},
    {&__pyx_n_s_allocType_2, __pyx_k_allocType_2, sizeof(__pyx_k_allocType_2), 0, 0, 1, 1},
    {&__pyx_kp_u_allocType_ValueError, __pyx_k_allocType_ValueError, sizeof(__pyx_k_allocType_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_alloc_2, __pyx_k_alloc_2, sizeof(__pyx_k_alloc_2), 0, 0, 1, 1},
    {&__pyx_kp_u_alloc_ValueError, __pyx_k_alloc_ValueError, sizeof(__pyx_k_alloc_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_am, __pyx_k_am, sizeof(__pyx_k_am), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct0, __pyx_k_anon_struct0, sizeof(__pyx_k_anon_struct0), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct0___reduce_cython, __pyx_k_anon_struct0___reduce_cython, sizeof(__pyx_k_anon_struct0___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct0___setstate_cython, __pyx_k_anon_struct0___setstate_cython, sizeof(__pyx_k_anon_struct0___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct0_getPtr, __pyx_k_anon_struct0_getPtr, sizeof(__pyx_k_anon_struct0_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct1, __pyx_k_anon_struct1, sizeof(__pyx_k_anon_struct1), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct10, __pyx_k_anon_struct10, sizeof(__pyx_k_anon_struct10), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct10___reduce_cython, __pyx_k_anon_struct10___reduce_cython, sizeof(__pyx_k_anon_struct10___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct10___setstate_cython, __pyx_k_anon_struct10___setstate_cython, sizeof(__pyx_k_anon_struct10___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct10_getPtr, __pyx_k_anon_struct10_getPtr, sizeof(__pyx_k_anon_struct10_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct11, __pyx_k_anon_struct11, sizeof(__pyx_k_anon_struct11), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct11___reduce_cython, __pyx_k_anon_struct11___reduce_cython, sizeof(__pyx_k_anon_struct11___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct11___setstate_cython, __pyx_k_anon_struct11___setstate_cython, sizeof(__pyx_k_anon_struct11___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct11_getPtr, __pyx_k_anon_struct11_getPtr, sizeof(__pyx_k_anon_struct11_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct12, __pyx_k_anon_struct12, sizeof(__pyx_k_anon_struct12), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct12___reduce_cython, __pyx_k_anon_struct12___reduce_cython, sizeof(__pyx_k_anon_struct12___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct12___setstate_cython, __pyx_k_anon_struct12___setstate_cython, sizeof(__pyx_k_anon_struct12___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct12_getPtr, __pyx_k_anon_struct12_getPtr, sizeof(__pyx_k_anon_struct12_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct13, __pyx_k_anon_struct13, sizeof(__pyx_k_anon_struct13), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct13___reduce_cython, __pyx_k_anon_struct13___reduce_cython, sizeof(__pyx_k_anon_struct13___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct13___setstate_cython, __pyx_k_anon_struct13___setstate_cython, sizeof(__pyx_k_anon_struct13___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct13_getPtr, __pyx_k_anon_struct13_getPtr, sizeof(__pyx_k_anon_struct13_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct14, __pyx_k_anon_struct14, sizeof(__pyx_k_anon_struct14), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct14___reduce_cython, __pyx_k_anon_struct14___reduce_cython, sizeof(__pyx_k_anon_struct14___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct14___setstate_cython, __pyx_k_anon_struct14___setstate_cython, sizeof(__pyx_k_anon_struct14___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct14_getPtr, __pyx_k_anon_struct14_getPtr, sizeof(__pyx_k_anon_struct14_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct15, __pyx_k_anon_struct15, sizeof(__pyx_k_anon_struct15), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct15___reduce_cython, __pyx_k_anon_struct15___reduce_cython, sizeof(__pyx_k_anon_struct15___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct15___setstate_cython, __pyx_k_anon_struct15___setstate_cython, sizeof(__pyx_k_anon_struct15___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct15_getPtr, __pyx_k_anon_struct15_getPtr, sizeof(__pyx_k_anon_struct15_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct16, __pyx_k_anon_struct16, sizeof(__pyx_k_anon_struct16), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct16___reduce_cython, __pyx_k_anon_struct16___reduce_cython, sizeof(__pyx_k_anon_struct16___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct16___setstate_cython, __pyx_k_anon_struct16___setstate_cython, sizeof(__pyx_k_anon_struct16___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct16_getPtr, __pyx_k_anon_struct16_getPtr, sizeof(__pyx_k_anon_struct16_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct17, __pyx_k_anon_struct17, sizeof(__pyx_k_anon_struct17), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct17___reduce_cython, __pyx_k_anon_struct17___reduce_cython, sizeof(__pyx_k_anon_struct17___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct17___setstate_cython, __pyx_k_anon_struct17___setstate_cython, sizeof(__pyx_k_anon_struct17___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct17_getPtr, __pyx_k_anon_struct17_getPtr, sizeof(__pyx_k_anon_struct17_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct18, __pyx_k_anon_struct18, sizeof(__pyx_k_anon_struct18), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct18___reduce_cython, __pyx_k_anon_struct18___reduce_cython, sizeof(__pyx_k_anon_struct18___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct18___setstate_cython, __pyx_k_anon_struct18___setstate_cython, sizeof(__pyx_k_anon_struct18___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct18_getPtr, __pyx_k_anon_struct18_getPtr, sizeof(__pyx_k_anon_struct18_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct19, __pyx_k_anon_struct19, sizeof(__pyx_k_anon_struct19), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct19___reduce_cython, __pyx_k_anon_struct19___reduce_cython, sizeof(__pyx_k_anon_struct19___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct19___setstate_cython, __pyx_k_anon_struct19___setstate_cython, sizeof(__pyx_k_anon_struct19___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct19_getPtr, __pyx_k_anon_struct19_getPtr, sizeof(__pyx_k_anon_struct19_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct1___reduce_cython, __pyx_k_anon_struct1___reduce_cython, sizeof(__pyx_k_anon_struct1___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct1___setstate_cython, __pyx_k_anon_struct1___setstate_cython, sizeof(__pyx_k_anon_struct1___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct1_getPtr, __pyx_k_anon_struct1_getPtr, sizeof(__pyx_k_anon_struct1_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct2, __pyx_k_anon_struct2, sizeof(__pyx_k_anon_struct2), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct20, __pyx_k_anon_struct20, sizeof(__pyx_k_anon_struct20), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct20___reduce_cython, __pyx_k_anon_struct20___reduce_cython, sizeof(__pyx_k_anon_struct20___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct20___setstate_cython, __pyx_k_anon_struct20___setstate_cython, sizeof(__pyx_k_anon_struct20___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct20_getPtr, __pyx_k_anon_struct20_getPtr, sizeof(__pyx_k_anon_struct20_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct21, __pyx_k_anon_struct21, sizeof(__pyx_k_anon_struct21), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct21___reduce_cython, __pyx_k_anon_struct21___reduce_cython, sizeof(__pyx_k_anon_struct21___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct21___setstate_cython, __pyx_k_anon_struct21___setstate_cython, sizeof(__pyx_k_anon_struct21___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct21_getPtr, __pyx_k_anon_struct21_getPtr, sizeof(__pyx_k_anon_struct21_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct2___reduce_cython, __pyx_k_anon_struct2___reduce_cython, sizeof(__pyx_k_anon_struct2___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct2___setstate_cython, __pyx_k_anon_struct2___setstate_cython, sizeof(__pyx_k_anon_struct2___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct2_getPtr, __pyx_k_anon_struct2_getPtr, sizeof(__pyx_k_anon_struct2_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct3, __pyx_k_anon_struct3, sizeof(__pyx_k_anon_struct3), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct3___reduce_cython, __pyx_k_anon_struct3___reduce_cython, sizeof(__pyx_k_anon_struct3___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct3___setstate_cython, __pyx_k_anon_struct3___setstate_cython, sizeof(__pyx_k_anon_struct3___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct3_getPtr, __pyx_k_anon_struct3_getPtr, sizeof(__pyx_k_anon_struct3_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct4, __pyx_k_anon_struct4, sizeof(__pyx_k_anon_struct4), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct4___reduce_cython, __pyx_k_anon_struct4___reduce_cython, sizeof(__pyx_k_anon_struct4___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct4___setstate_cython, __pyx_k_anon_struct4___setstate_cython, sizeof(__pyx_k_anon_struct4___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct4_getPtr, __pyx_k_anon_struct4_getPtr, sizeof(__pyx_k_anon_struct4_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct5, __pyx_k_anon_struct5, sizeof(__pyx_k_anon_struct5), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct5___reduce_cython, __pyx_k_anon_struct5___reduce_cython, sizeof(__pyx_k_anon_struct5___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct5___setstate_cython, __pyx_k_anon_struct5___setstate_cython, sizeof(__pyx_k_anon_struct5___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct5_getPtr, __pyx_k_anon_struct5_getPtr, sizeof(__pyx_k_anon_struct5_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct6, __pyx_k_anon_struct6, sizeof(__pyx_k_anon_struct6), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct6___reduce_cython, __pyx_k_anon_struct6___reduce_cython, sizeof(__pyx_k_anon_struct6___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct6___setstate_cython, __pyx_k_anon_struct6___setstate_cython, sizeof(__pyx_k_anon_struct6___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct6_getPtr, __pyx_k_anon_struct6_getPtr, sizeof(__pyx_k_anon_struct6_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct7, __pyx_k_anon_struct7, sizeof(__pyx_k_anon_struct7), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct7___reduce_cython, __pyx_k_anon_struct7___reduce_cython, sizeof(__pyx_k_anon_struct7___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct7___setstate_cython, __pyx_k_anon_struct7___setstate_cython, sizeof(__pyx_k_anon_struct7___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct7_getPtr, __pyx_k_anon_struct7_getPtr, sizeof(__pyx_k_anon_struct7_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct8, __pyx_k_anon_struct8, sizeof(__pyx_k_anon_struct8), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct8___reduce_cython, __pyx_k_anon_struct8___reduce_cython, sizeof(__pyx_k_anon_struct8___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct8___setstate_cython, __pyx_k_anon_struct8___setstate_cython, sizeof(__pyx_k_anon_struct8___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct8_getPtr, __pyx_k_anon_struct8_getPtr, sizeof(__pyx_k_anon_struct8_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct9, __pyx_k_anon_struct9, sizeof(__pyx_k_anon_struct9), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct9___reduce_cython, __pyx_k_anon_struct9___reduce_cython, sizeof(__pyx_k_anon_struct9___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct9___setstate_cython, __pyx_k_anon_struct9___setstate_cython, sizeof(__pyx_k_anon_struct9___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_struct9_getPtr, __pyx_k_anon_struct9_getPtr, sizeof(__pyx_k_anon_struct9_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union10, __pyx_k_anon_union10, sizeof(__pyx_k_anon_union10), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union10___reduce_cython, __pyx_k_anon_union10___reduce_cython, sizeof(__pyx_k_anon_union10___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union10___setstate_cython, __pyx_k_anon_union10___setstate_cython, sizeof(__pyx_k_anon_union10___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union10_getPtr, __pyx_k_anon_union10_getPtr, sizeof(__pyx_k_anon_union10_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union11, __pyx_k_anon_union11, sizeof(__pyx_k_anon_union11), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union11___reduce_cython, __pyx_k_anon_union11___reduce_cython, sizeof(__pyx_k_anon_union11___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union11___setstate_cython, __pyx_k_anon_union11___setstate_cython, sizeof(__pyx_k_anon_union11___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union11_getPtr, __pyx_k_anon_union11_getPtr, sizeof(__pyx_k_anon_union11_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union14, __pyx_k_anon_union14, sizeof(__pyx_k_anon_union14), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union14___reduce_cython, __pyx_k_anon_union14___reduce_cython, sizeof(__pyx_k_anon_union14___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union14___setstate_cython, __pyx_k_anon_union14___setstate_cython, sizeof(__pyx_k_anon_union14___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union14_getPtr, __pyx_k_anon_union14_getPtr, sizeof(__pyx_k_anon_union14_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union2, __pyx_k_anon_union2, sizeof(__pyx_k_anon_union2), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union2___reduce_cython, __pyx_k_anon_union2___reduce_cython, sizeof(__pyx_k_anon_union2___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union2___setstate_cython, __pyx_k_anon_union2___setstate_cython, sizeof(__pyx_k_anon_union2___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union2_getPtr, __pyx_k_anon_union2_getPtr, sizeof(__pyx_k_anon_union2_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union3, __pyx_k_anon_union3, sizeof(__pyx_k_anon_union3), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union3___reduce_cython, __pyx_k_anon_union3___reduce_cython, sizeof(__pyx_k_anon_union3___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union3___setstate_cython, __pyx_k_anon_union3___setstate_cython, sizeof(__pyx_k_anon_union3___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union3_getPtr, __pyx_k_anon_union3_getPtr, sizeof(__pyx_k_anon_union3_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union4, __pyx_k_anon_union4, sizeof(__pyx_k_anon_union4), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union4___reduce_cython, __pyx_k_anon_union4___reduce_cython, sizeof(__pyx_k_anon_union4___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union4___setstate_cython, __pyx_k_anon_union4___setstate_cython, sizeof(__pyx_k_anon_union4___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union4_getPtr, __pyx_k_anon_union4_getPtr, sizeof(__pyx_k_anon_union4_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union5, __pyx_k_anon_union5, sizeof(__pyx_k_anon_union5), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union5___reduce_cython, __pyx_k_anon_union5___reduce_cython, sizeof(__pyx_k_anon_union5___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union5___setstate_cython, __pyx_k_anon_union5___setstate_cython, sizeof(__pyx_k_anon_union5___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union5_getPtr, __pyx_k_anon_union5_getPtr, sizeof(__pyx_k_anon_union5_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union6, __pyx_k_anon_union6, sizeof(__pyx_k_anon_union6), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union6___reduce_cython, __pyx_k_anon_union6___reduce_cython, sizeof(__pyx_k_anon_union6___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union6___setstate_cython, __pyx_k_anon_union6___setstate_cython, sizeof(__pyx_k_anon_union6___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union6_getPtr, __pyx_k_anon_union6_getPtr, sizeof(__pyx_k_anon_union6_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union7, __pyx_k_anon_union7, sizeof(__pyx_k_anon_union7), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union7___reduce_cython, __pyx_k_anon_union7___reduce_cython, sizeof(__pyx_k_anon_union7___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union7___setstate_cython, __pyx_k_anon_union7___setstate_cython, sizeof(__pyx_k_anon_union7___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union7_getPtr, __pyx_k_anon_union7_getPtr, sizeof(__pyx_k_anon_union7_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union8, __pyx_k_anon_union8, sizeof(__pyx_k_anon_union8), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union8___reduce_cython, __pyx_k_anon_union8___reduce_cython, sizeof(__pyx_k_anon_union8___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union8___setstate_cython, __pyx_k_anon_union8___setstate_cython, sizeof(__pyx_k_anon_union8___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union8_getPtr, __pyx_k_anon_union8_getPtr, sizeof(__pyx_k_anon_union8_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union9, __pyx_k_anon_union9, sizeof(__pyx_k_anon_union9), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union9___reduce_cython, __pyx_k_anon_union9___reduce_cython, sizeof(__pyx_k_anon_union9___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union9___setstate_cython, __pyx_k_anon_union9___setstate_cython, sizeof(__pyx_k_anon_union9___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_anon_union9_getPtr, __pyx_k_anon_union9_getPtr, sizeof(__pyx_k_anon_union9_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1},
    {&__pyx_kp_u_array, __pyx_k_array, sizeof(__pyx_k_array), 0, 1, 0, 0},
    {&__pyx_kp_u_arrayDesc, __pyx_k_arrayDesc, sizeof(__pyx_k_arrayDesc), 0, 1, 0, 0},
    {&__pyx_n_s_arrayDesc_2, __pyx_k_arrayDesc_2, sizeof(__pyx_k_arrayDesc_2), 0, 0, 1, 1},
    {&__pyx_kp_u_arrayDesc_ValueError, __pyx_k_arrayDesc_ValueError, sizeof(__pyx_k_arrayDesc_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_arrayIndex, __pyx_k_arrayIndex, sizeof(__pyx_k_arrayIndex), 0, 0, 1, 1},
    {&__pyx_n_s_array_2, __pyx_k_array_2, sizeof(__pyx_k_array_2), 0, 0, 1, 1},
    {&__pyx_kp_u_array_3, __pyx_k_array_3, sizeof(__pyx_k_array_3), 0, 1, 0, 0},
    {&__pyx_kp_u_array_ValueError, __pyx_k_array_ValueError, sizeof(__pyx_k_array_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_asyncio_coroutines, __pyx_k_asyncio_coroutines, sizeof(__pyx_k_asyncio_coroutines), 0, 0, 1, 1},
    {&__pyx_n_s_attr, __pyx_k_attr, sizeof(__pyx_k_attr), 0, 0, 1, 1},
    {&__pyx_n_s_attrib, __pyx_k_attrib, sizeof(__pyx_k_attrib), 0, 0, 1, 1},
    {&__pyx_n_s_attribute, __pyx_k_attribute, sizeof(__pyx_k_attribute), 0, 0, 1, 1},
    {&__pyx_n_s_attributes, __pyx_k_attributes, sizeof(__pyx_k_attributes), 0, 0, 1, 1},
    {&__pyx_kp_u_attrs, __pyx_k_attrs, sizeof(__pyx_k_attrs), 0, 1, 0, 0},
    {&__pyx_n_s_attrs_2, __pyx_k_attrs_2, sizeof(__pyx_k_attrs_2), 0, 0, 1, 1},
    {&__pyx_kp_u_attrs_ValueError, __pyx_k_attrs_ValueError, sizeof(__pyx_k_attrs_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_base_ptr, __pyx_k_base_ptr, sizeof(__pyx_k_base_ptr), 0, 1, 0, 0},
    {&__pyx_n_s_base_ptr_2, __pyx_k_base_ptr_2, sizeof(__pyx_k_base_ptr_2), 0, 0, 1, 1},
    {&__pyx_kp_u_base_ptr_ValueError, __pyx_k_base_ptr_ValueError, sizeof(__pyx_k_base_ptr_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_bias, __pyx_k_bias, sizeof(__pyx_k_bias), 0, 0, 1, 1},
    {&__pyx_kp_u_blockDimX, __pyx_k_blockDimX, sizeof(__pyx_k_blockDimX), 0, 1, 0, 0},
    {&__pyx_n_s_blockDimX_2, __pyx_k_blockDimX_2, sizeof(__pyx_k_blockDimX_2), 0, 0, 1, 1},
    {&__pyx_kp_u_blockDimX_ValueError, __pyx_k_blockDimX_ValueError, sizeof(__pyx_k_blockDimX_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_blockDimY, __pyx_k_blockDimY, sizeof(__pyx_k_blockDimY), 0, 1, 0, 0},
    {&__pyx_n_s_blockDimY_2, __pyx_k_blockDimY_2, sizeof(__pyx_k_blockDimY_2), 0, 0, 1, 1},
    {&__pyx_kp_u_blockDimY_ValueError, __pyx_k_blockDimY_ValueError, sizeof(__pyx_k_blockDimY_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_blockDimZ, __pyx_k_blockDimZ, sizeof(__pyx_k_blockDimZ), 0, 1, 0, 0},
    {&__pyx_n_s_blockDimZ_2, __pyx_k_blockDimZ_2, sizeof(__pyx_k_blockDimZ_2), 0, 0, 1, 1},
    {&__pyx_kp_u_blockDimZ_ValueError, __pyx_k_blockDimZ_ValueError, sizeof(__pyx_k_blockDimZ_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_blockSize, __pyx_k_blockSize, sizeof(__pyx_k_blockSize), 0, 0, 1, 1},
    {&__pyx_n_s_blockSizeLimit, __pyx_k_blockSizeLimit, sizeof(__pyx_k_blockSizeLimit), 0, 0, 1, 1},
    {&__pyx_n_s_blockSizeToDynamicSMemSize, __pyx_k_blockSizeToDynamicSMemSize, sizeof(__pyx_k_blockSizeToDynamicSMemSize), 0, 0, 1, 1},
    {&__pyx_kp_u_borderColor, __pyx_k_borderColor, sizeof(__pyx_k_borderColor), 0, 1, 0, 0},
    {&__pyx_n_s_borderColor_2, __pyx_k_borderColor_2, sizeof(__pyx_k_borderColor_2), 0, 0, 1, 1},
    {&__pyx_kp_u_borderColor_ValueError, __pyx_k_borderColor_ValueError, sizeof(__pyx_k_borderColor_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_boxDim, __pyx_k_boxDim, sizeof(__pyx_k_boxDim), 0, 0, 1, 1},
    {&__pyx_n_s_buffer, __pyx_k_buffer, sizeof(__pyx_k_buffer), 0, 0, 1, 1},
    {&__pyx_n_s_bufferDesc, __pyx_k_bufferDesc, sizeof(__pyx_k_bufferDesc), 0, 0, 1, 1},
    {&__pyx_kp_u_bytes, __pyx_k_bytes, sizeof(__pyx_k_bytes), 0, 1, 0, 0},
    {&__pyx_kp_u_bytesOverBudget, __pyx_k_bytesOverBudget, sizeof(__pyx_k_bytesOverBudget), 0, 1, 0, 0},
    {&__pyx_n_s_bytesOverBudget_2, __pyx_k_bytesOverBudget_2, sizeof(__pyx_k_bytesOverBudget_2), 0, 0, 1, 1},
    {&__pyx_kp_u_bytesOverBudget_ValueError, __pyx_k_bytesOverBudget_ValueError, sizeof(__pyx_k_bytesOverBudget_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_bytes_2, __pyx_k_bytes_2, sizeof(__pyx_k_bytes_2), 0, 0, 1, 1},
    {&__pyx_kp_u_bytes_ValueError, __pyx_k_bytes_ValueError, sizeof(__pyx_k_bytes_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_bytesize, __pyx_k_bytesize, sizeof(__pyx_k_bytesize), 0, 1, 0, 0},
    {&__pyx_n_s_bytesize_2, __pyx_k_bytesize_2, sizeof(__pyx_k_bytesize_2), 0, 0, 1, 1},
    {&__pyx_kp_u_bytesize_ValueError, __pyx_k_bytesize_ValueError, sizeof(__pyx_k_bytesize_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_caddr, __pyx_k_caddr, sizeof(__pyx_k_caddr), 0, 0, 1, 1},
    {&__pyx_n_s_caddr_ptr, __pyx_k_caddr_ptr, sizeof(__pyx_k_caddr_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cadvice, __pyx_k_cadvice, sizeof(__pyx_k_cadvice), 0, 0, 1, 1},
    {&__pyx_n_s_callback, __pyx_k_callback, sizeof(__pyx_k_callback), 0, 0, 1, 1},
    {&__pyx_n_s_callbackFunc, __pyx_k_callbackFunc, sizeof(__pyx_k_callbackFunc), 0, 0, 1, 1},
    {&__pyx_n_s_cam, __pyx_k_cam, sizeof(__pyx_k_cam), 0, 0, 1, 1},
    {&__pyx_n_s_canAccessPeer, __pyx_k_canAccessPeer, sizeof(__pyx_k_canAccessPeer), 0, 0, 1, 1},
    {&__pyx_n_s_captureStatus, __pyx_k_captureStatus, sizeof(__pyx_k_captureStatus), 0, 0, 1, 1},
    {&__pyx_n_s_captureStatus_out, __pyx_k_captureStatus_out, sizeof(__pyx_k_captureStatus_out), 0, 0, 1, 1},
    {&__pyx_n_s_carray, __pyx_k_carray, sizeof(__pyx_k_carray), 0, 0, 1, 1},
    {&__pyx_n_s_cattr, __pyx_k_cattr, sizeof(__pyx_k_cattr), 0, 0, 1, 1},
    {&__pyx_n_s_cattrib, __pyx_k_cattrib, sizeof(__pyx_k_cattrib), 0, 0, 1, 1},
    {&__pyx_n_s_cattribute, __pyx_k_cattribute, sizeof(__pyx_k_cattribute), 0, 0, 1, 1},
    {&__pyx_n_s_cattributes, __pyx_k_cattributes, sizeof(__pyx_k_cattributes), 0, 0, 1, 1},
    {&__pyx_n_s_cblockSizeToDynamicSMemSize, __pyx_k_cblockSizeToDynamicSMemSize, sizeof(__pyx_k_cblockSizeToDynamicSMemSize), 0, 0, 1, 1},
    {&__pyx_n_s_cboxDim, __pyx_k_cboxDim, sizeof(__pyx_k_cboxDim), 0, 0, 1, 1},
    {&__pyx_n_s_cbuffer, __pyx_k_cbuffer, sizeof(__pyx_k_cbuffer), 0, 0, 1, 1},
    {&__pyx_n_s_cbufferDesc_ptr, __pyx_k_cbufferDesc_ptr, sizeof(__pyx_k_cbufferDesc_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_ccallback, __pyx_k_ccallback, sizeof(__pyx_k_ccallback), 0, 0, 1, 1},
    {&__pyx_n_s_ccallbackFunc, __pyx_k_ccallbackFunc, sizeof(__pyx_k_ccallbackFunc), 0, 0, 1, 1},
    {&__pyx_n_s_cchannelsPerPixel, __pyx_k_cchannelsPerPixel, sizeof(__pyx_k_cchannelsPerPixel), 0, 0, 1, 1},
    {&__pyx_n_s_cchildGraph, __pyx_k_cchildGraph, sizeof(__pyx_k_cchildGraph), 0, 0, 1, 1},
    {&__pyx_n_s_ccode, __pyx_k_ccode, sizeof(__pyx_k_ccode), 0, 0, 1, 1},
    {&__pyx_n_s_ccode_ptr, __pyx_k_ccode_ptr, sizeof(__pyx_k_ccode_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cconfig, __pyx_k_cconfig, sizeof(__pyx_k_cconfig), 0, 0, 1, 1},
    {&__pyx_n_s_cconfig_ptr, __pyx_k_cconfig_ptr, sizeof(__pyx_k_cconfig_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cconn, __pyx_k_cconn, sizeof(__pyx_k_cconn), 0, 0, 1, 1},
    {&__pyx_n_s_ccopyParams_ptr, __pyx_k_ccopyParams_ptr, sizeof(__pyx_k_ccopyParams_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cctx, __pyx_k_cctx, sizeof(__pyx_k_cctx), 0, 0, 1, 1},
    {&__pyx_n_s_cdata, __pyx_k_cdata, sizeof(__pyx_k_cdata), 0, 0, 1, 1},
    {&__pyx_n_s_cdataSizes, __pyx_k_cdataSizes, sizeof(__pyx_k_cdataSizes), 0, 0, 1, 1},
    {&__pyx_n_s_cdata_ptr, __pyx_k_cdata_ptr, sizeof(__pyx_k_cdata_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cdependencies, __pyx_k_cdependencies, sizeof(__pyx_k_cdependencies), 0, 0, 1, 1},
    {&__pyx_n_s_cdependencies_out, __pyx_k_cdependencies_out, sizeof(__pyx_k_cdependencies_out), 0, 0, 1, 1},
    {&__pyx_n_s_cdependencyData, __pyx_k_cdependencyData, sizeof(__pyx_k_cdependencyData), 0, 0, 1, 1},
    {&__pyx_n_s_cdependentNodes, __pyx_k_cdependentNodes, sizeof(__pyx_k_cdependentNodes), 0, 0, 1, 1},
    {&__pyx_n_s_cdesc, __pyx_k_cdesc, sizeof(__pyx_k_cdesc), 0, 0, 1, 1},
    {&__pyx_n_s_cdesc_ptr, __pyx_k_cdesc_ptr, sizeof(__pyx_k_cdesc_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cdestroy, __pyx_k_cdestroy, sizeof(__pyx_k_cdestroy), 0, 0, 1, 1},
    {&__pyx_n_s_cdev, __pyx_k_cdev, sizeof(__pyx_k_cdev), 0, 0, 1, 1},
    {&__pyx_n_s_cdevPtr, __pyx_k_cdevPtr, sizeof(__pyx_k_cdevPtr), 0, 0, 1, 1},
    {&__pyx_n_s_cdevice, __pyx_k_cdevice, sizeof(__pyx_k_cdevice), 0, 0, 1, 1},
    {&__pyx_n_s_cdeviceList, __pyx_k_cdeviceList, sizeof(__pyx_k_cdeviceList), 0, 0, 1, 1},
    {&__pyx_n_s_cdptr, __pyx_k_cdptr, sizeof(__pyx_k_cdptr), 0, 0, 1, 1},
    {&__pyx_n_s_cdst, __pyx_k_cdst, sizeof(__pyx_k_cdst), 0, 0, 1, 1},
    {&__pyx_n_s_cdstArray, __pyx_k_cdstArray, sizeof(__pyx_k_cdstArray), 0, 0, 1, 1},
    {&__pyx_n_s_cdstContext, __pyx_k_cdstContext, sizeof(__pyx_k_cdstContext), 0, 0, 1, 1},
    {&__pyx_n_s_cdstDevice, __pyx_k_cdstDevice, sizeof(__pyx_k_cdstDevice), 0, 0, 1, 1},
    {&__pyx_n_s_cdstHost, __pyx_k_cdstHost, sizeof(__pyx_k_cdstHost), 0, 0, 1, 1},
    {&__pyx_n_s_cdstHost_ptr, __pyx_k_cdstHost_ptr, sizeof(__pyx_k_cdstHost_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cedgeData, __pyx_k_cedgeData, sizeof(__pyx_k_cedgeData), 0, 0, 1, 1},
    {&__pyx_n_s_cedgeData_out, __pyx_k_cedgeData_out, sizeof(__pyx_k_cedgeData_out), 0, 0, 1, 1},
    {&__pyx_n_s_ceglSync, __pyx_k_ceglSync, sizeof(__pyx_k_ceglSync), 0, 0, 1, 1},
    {&__pyx_n_s_ceglframe_ptr, __pyx_k_ceglframe_ptr, sizeof(__pyx_k_ceglframe_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_celementStrides, __pyx_k_celementStrides, sizeof(__pyx_k_celementStrides), 0, 0, 1, 1},
    {&__pyx_n_s_cerror, __pyx_k_cerror, sizeof(__pyx_k_cerror), 0, 0, 1, 1},
    {&__pyx_n_s_cevent, __pyx_k_cevent, sizeof(__pyx_k_cevent), 0, 0, 1, 1},
    {&__pyx_n_s_cextMem, __pyx_k_cextMem, sizeof(__pyx_k_cextMem), 0, 0, 1, 1},
    {&__pyx_n_s_cextSem, __pyx_k_cextSem, sizeof(__pyx_k_cextSem), 0, 0, 1, 1},
    {&__pyx_n_s_cextSemArray, __pyx_k_cextSemArray, sizeof(__pyx_k_cextSemArray), 0, 0, 1, 1},
    {&__pyx_n_s_cf, __pyx_k_cf, sizeof(__pyx_k_cf), 0, 0, 1, 1},
    {&__pyx_n_s_cfatCubin, __pyx_k_cfatCubin, sizeof(__pyx_k_cfatCubin), 0, 0, 1, 1},
    {&__pyx_n_s_cfatCubin_ptr, __pyx_k_cfatCubin_ptr, sizeof(__pyx_k_cfatCubin_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cflags, __pyx_k_cflags, sizeof(__pyx_k_cflags), 0, 0, 1, 1},
    {&__pyx_n_s_cfm, __pyx_k_cfm, sizeof(__pyx_k_cfm), 0, 0, 1, 1},
    {&__pyx_n_s_cfmt, __pyx_k_cfmt, sizeof(__pyx_k_cfmt), 0, 0, 1, 1},
    {&__pyx_n_s_cfn, __pyx_k_cfn, sizeof(__pyx_k_cfn), 0, 0, 1, 1},
    {&__pyx_n_s_cfrom, __pyx_k_cfrom, sizeof(__pyx_k_cfrom), 0, 0, 1, 1},
    {&__pyx_n_s_cfunc, __pyx_k_cfunc, sizeof(__pyx_k_cfunc), 0, 0, 1, 1},
    {&__pyx_n_s_cfunction, __pyx_k_cfunction, sizeof(__pyx_k_cfunction), 0, 0, 1, 1},
    {&__pyx_n_s_cfunctions, __pyx_k_cfunctions, sizeof(__pyx_k_cfunctions), 0, 0, 1, 1},
    {&__pyx_n_s_cglobalAddress, __pyx_k_cglobalAddress, sizeof(__pyx_k_cglobalAddress), 0, 0, 1, 1},
    {&__pyx_n_s_cglobalAddress_ptr, __pyx_k_cglobalAddress_ptr, sizeof(__pyx_k_cglobalAddress_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cglobalDim, __pyx_k_cglobalDim, sizeof(__pyx_k_cglobalDim), 0, 0, 1, 1},
    {&__pyx_n_s_cglobalStrides, __pyx_k_cglobalStrides, sizeof(__pyx_k_cglobalStrides), 0, 0, 1, 1},
    {&__pyx_n_s_cgraph, __pyx_k_cgraph, sizeof(__pyx_k_cgraph), 0, 0, 1, 1},
    {&__pyx_n_s_chArray, __pyx_k_chArray, sizeof(__pyx_k_chArray), 0, 0, 1, 1},
    {&__pyx_n_s_chClonedGraph, __pyx_k_chClonedGraph, sizeof(__pyx_k_chClonedGraph), 0, 0, 1, 1},
    {&__pyx_n_s_chCtx, __pyx_k_chCtx, sizeof(__pyx_k_chCtx), 0, 0, 1, 1},
    {&__pyx_n_s_chEnd, __pyx_k_chEnd, sizeof(__pyx_k_chEnd), 0, 0, 1, 1},
    {&__pyx_n_s_chEvent, __pyx_k_chEvent, sizeof(__pyx_k_chEvent), 0, 0, 1, 1},
    {&__pyx_n_s_chGraph, __pyx_k_chGraph, sizeof(__pyx_k_chGraph), 0, 0, 1, 1},
    {&__pyx_n_s_chGraphExec, __pyx_k_chGraphExec, sizeof(__pyx_k_chGraphExec), 0, 0, 1, 1},
    {&__pyx_n_s_chMipmappedArray, __pyx_k_chMipmappedArray, sizeof(__pyx_k_chMipmappedArray), 0, 0, 1, 1},
    {&__pyx_n_s_chNode, __pyx_k_chNode, sizeof(__pyx_k_chNode), 0, 0, 1, 1},
    {&__pyx_n_s_chOriginalNode, __pyx_k_chOriginalNode, sizeof(__pyx_k_chOriginalNode), 0, 0, 1, 1},
    {&__pyx_n_s_chStart, __pyx_k_chStart, sizeof(__pyx_k_chStart), 0, 0, 1, 1},
    {&__pyx_n_s_chStream, __pyx_k_chStream, sizeof(__pyx_k_chStream), 0, 0, 1, 1},
    {&__pyx_n_s_chSurfRef, __pyx_k_chSurfRef, sizeof(__pyx_k_chSurfRef), 0, 0, 1, 1},
    {&__pyx_n_s_chTexRef, __pyx_k_chTexRef, sizeof(__pyx_k_chTexRef), 0, 0, 1, 1},
    {&__pyx_n_s_chandle, __pyx_k_chandle, sizeof(__pyx_k_chandle), 0, 0, 1, 1},
    {&__pyx_n_s_chandleType, __pyx_k_chandleType, sizeof(__pyx_k_chandleType), 0, 0, 1, 1},
    {&__pyx_n_s_chandle_out, __pyx_k_chandle_out, sizeof(__pyx_k_chandle_out), 0, 0, 1, 1},
    {&__pyx_n_s_chandle_out_ptr, __pyx_k_chandle_out_ptr, sizeof(__pyx_k_chandle_out_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_chandle_ptr, __pyx_k_chandle_ptr, sizeof(__pyx_k_chandle_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_channelsPerPixel, __pyx_k_channelsPerPixel, sizeof(__pyx_k_channelsPerPixel), 0, 0, 1, 1},
    {&__pyx_n_s_cheight, __pyx_k_cheight, sizeof(__pyx_k_cheight), 0, 0, 1, 1},
    {&__pyx_n_s_chfunc, __pyx_k_chfunc, sizeof(__pyx_k_chfunc), 0, 0, 1, 1},
    {&__pyx_n_s_childGraph, __pyx_k_childGraph, sizeof(__pyx_k_childGraph), 0, 0, 1, 1},
    {&__pyx_n_s_chmod, __pyx_k_chmod, sizeof(__pyx_k_chmod), 0, 0, 1, 1},
    {&__pyx_n_s_cimage, __pyx_k_cimage, sizeof(__pyx_k_cimage), 0, 0, 1, 1},
    {&__pyx_n_s_cimage_ptr, __pyx_k_cimage_ptr, sizeof(__pyx_k_cimage_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cinput__ptr, __pyx_k_cinput__ptr, sizeof(__pyx_k_cinput__ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cinstantiateParams_ptr, __pyx_k_cinstantiateParams_ptr, sizeof(__pyx_k_cinstantiateParams_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cinterleave, __pyx_k_cinterleave, sizeof(__pyx_k_cinterleave), 0, 0, 1, 1},
    {&__pyx_n_s_cjitOptions, __pyx_k_cjitOptions, sizeof(__pyx_k_cjitOptions), 0, 0, 1, 1},
    {&__pyx_n_s_ckernel, __pyx_k_ckernel, sizeof(__pyx_k_ckernel), 0, 0, 1, 1},
    {&__pyx_n_s_ckernelParams, __pyx_k_ckernelParams, sizeof(__pyx_k_ckernelParams), 0, 0, 1, 1},
    {&__pyx_n_s_ckernels, __pyx_k_ckernels, sizeof(__pyx_k_ckernels), 0, 0, 1, 1},
    {&__pyx_n_s_cl2Promotion, __pyx_k_cl2Promotion, sizeof(__pyx_k_cl2Promotion), 0, 0, 1, 1},
    {&__pyx_n_s_cl_context_flags, __pyx_k_cl_context_flags, sizeof(__pyx_k_cl_context_flags), 0, 0, 1, 1},
    {&__pyx_n_s_cl_event_flags, __pyx_k_cl_event_flags, sizeof(__pyx_k_cl_event_flags), 0, 0, 1, 1},
    {&__pyx_n_s_claunchParamsList, __pyx_k_claunchParamsList, sizeof(__pyx_k_claunchParamsList), 0, 0, 1, 1},
    {&__pyx_n_s_clib, __pyx_k_clib, sizeof(__pyx_k_clib), 0, 0, 1, 1},
    {&__pyx_n_s_clibrary, __pyx_k_clibrary, sizeof(__pyx_k_clibrary), 0, 0, 1, 1},
    {&__pyx_n_s_clibraryOptions, __pyx_k_clibraryOptions, sizeof(__pyx_k_clibraryOptions), 0, 0, 1, 1},
    {&__pyx_n_s_climit, __pyx_k_climit, sizeof(__pyx_k_climit), 0, 0, 1, 1},
    {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
    {&__pyx_n_s_clocation_ptr, __pyx_k_clocation_ptr, sizeof(__pyx_k_clocation_ptr), 0, 0, 1, 1},
    {&__pyx_kp_u_clockRate, __pyx_k_clockRate, sizeof(__pyx_k_clockRate), 0, 1, 0, 0},
    {&__pyx_n_s_clockRate_2, __pyx_k_clockRate_2, sizeof(__pyx_k_clockRate_2), 0, 0, 1, 1},
    {&__pyx_kp_u_clockRate_ValueError, __pyx_k_clockRate_ValueError, sizeof(__pyx_k_clockRate_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1},
    {&__pyx_kp_u_clusterDim, __pyx_k_clusterDim, sizeof(__pyx_k_clusterDim), 0, 1, 0, 0},
    {&__pyx_n_s_clusterDim_2, __pyx_k_clusterDim_2, sizeof(__pyx_k_clusterDim_2), 0, 0, 1, 1},
    {&__pyx_kp_u_clusterDim_ValueError, __pyx_k_clusterDim_ValueError, sizeof(__pyx_k_clusterDim_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_clusterSchedulingPolicyPreferenc, __pyx_k_clusterSchedulingPolicyPreferenc, sizeof(__pyx_k_clusterSchedulingPolicyPreferenc), 0, 1, 0, 0},
    {&__pyx_n_s_clusterSchedulingPolicyPreferenc_2, __pyx_k_clusterSchedulingPolicyPreferenc_2, sizeof(__pyx_k_clusterSchedulingPolicyPreferenc_2), 0, 0, 1, 1},
    {&__pyx_kp_u_clusterSchedulingPolicyPreferenc_3, __pyx_k_clusterSchedulingPolicyPreferenc_3, sizeof(__pyx_k_clusterSchedulingPolicyPreferenc_3), 0, 1, 0, 0},
    {&__pyx_n_s_clusterSize, __pyx_k_clusterSize, sizeof(__pyx_k_clusterSize), 0, 0, 1, 1},
    {&__pyx_n_s_cmap, __pyx_k_cmap, sizeof(__pyx_k_cmap), 0, 0, 1, 1},
    {&__pyx_n_s_cmapInfoList, __pyx_k_cmapInfoList, sizeof(__pyx_k_cmapInfoList), 0, 0, 1, 1},
    {&__pyx_n_s_cmcHandle, __pyx_k_cmcHandle, sizeof(__pyx_k_cmcHandle), 0, 0, 1, 1},
    {&__pyx_n_s_cmemHandle, __pyx_k_cmemHandle, sizeof(__pyx_k_cmemHandle), 0, 0, 1, 1},
    {&__pyx_n_s_cmemHandleDesc_ptr, __pyx_k_cmemHandleDesc_ptr, sizeof(__pyx_k_cmemHandleDesc_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cmemPool, __pyx_k_cmemPool, sizeof(__pyx_k_cmemPool), 0, 0, 1, 1},
    {&__pyx_n_s_cmemptr, __pyx_k_cmemptr, sizeof(__pyx_k_cmemptr), 0, 0, 1, 1},
    {&__pyx_n_s_cmemsetParams_ptr, __pyx_k_cmemsetParams_ptr, sizeof(__pyx_k_cmemsetParams_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cmipmap, __pyx_k_cmipmap, sizeof(__pyx_k_cmipmap), 0, 0, 1, 1},
    {&__pyx_n_s_cmipmapDesc_ptr, __pyx_k_cmipmapDesc_ptr, sizeof(__pyx_k_cmipmapDesc_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cmod, __pyx_k_cmod, sizeof(__pyx_k_cmod), 0, 0, 1, 1},
    {&__pyx_n_s_cmode, __pyx_k_cmode, sizeof(__pyx_k_cmode), 0, 0, 1, 1},
    {&__pyx_n_s_cnbGroups, __pyx_k_cnbGroups, sizeof(__pyx_k_cnbGroups), 0, 0, 1, 1},
    {&__pyx_n_s_cnodeParams_ptr, __pyx_k_cnodeParams_ptr, sizeof(__pyx_k_cnodeParams_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cnodes, __pyx_k_cnodes, sizeof(__pyx_k_cnodes), 0, 0, 1, 1},
    {&__pyx_n_s_cnvSciSyncAttrList, __pyx_k_cnvSciSyncAttrList, sizeof(__pyx_k_cnvSciSyncAttrList), 0, 0, 1, 1},
    {&__pyx_n_s_cnvSciSyncAttrList_ptr, __pyx_k_cnvSciSyncAttrList_ptr, sizeof(__pyx_k_cnvSciSyncAttrList_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cobject, __pyx_k_cobject, sizeof(__pyx_k_cobject), 0, 0, 1, 1},
    {&__pyx_n_s_code, __pyx_k_code, sizeof(__pyx_k_code), 0, 0, 1, 1},
    {&__pyx_kp_u_compressionType, __pyx_k_compressionType, sizeof(__pyx_k_compressionType), 0, 1, 0, 0},
    {&__pyx_n_s_compressionType_2, __pyx_k_compressionType_2, sizeof(__pyx_k_compressionType_2), 0, 0, 1, 1},
    {&__pyx_kp_u_compressionType_ValueError, __pyx_k_compressionType_ValueError, sizeof(__pyx_k_compressionType_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_conditional, __pyx_k_conditional, sizeof(__pyx_k_conditional), 0, 1, 0, 0},
    {&__pyx_n_s_conditional_2, __pyx_k_conditional_2, sizeof(__pyx_k_conditional_2), 0, 0, 1, 1},
    {&__pyx_kp_u_conditional_ValueError, __pyx_k_conditional_ValueError, sizeof(__pyx_k_conditional_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_config, __pyx_k_config, sizeof(__pyx_k_config), 0, 0, 1, 1},
    {&__pyx_n_s_conn, __pyx_k_conn, sizeof(__pyx_k_conn), 0, 0, 1, 1},
    {&__pyx_n_s_coobFill, __pyx_k_coobFill, sizeof(__pyx_k_coobFill), 0, 0, 1, 1},
    {&__pyx_kp_u_cooperative, __pyx_k_cooperative, sizeof(__pyx_k_cooperative), 0, 1, 0, 0},
    {&__pyx_n_s_cooperative_2, __pyx_k_cooperative_2, sizeof(__pyx_k_cooperative_2), 0, 0, 1, 1},
    {&__pyx_kp_u_cooperative_ValueError, __pyx_k_cooperative_ValueError, sizeof(__pyx_k_cooperative_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_coption, __pyx_k_coption, sizeof(__pyx_k_coption), 0, 0, 1, 1},
    {&__pyx_n_s_coptions, __pyx_k_coptions, sizeof(__pyx_k_coptions), 0, 0, 1, 1},
    {&__pyx_kp_u_copyCtx, __pyx_k_copyCtx, sizeof(__pyx_k_copyCtx), 0, 1, 0, 0},
    {&__pyx_n_s_copyCtx_2, __pyx_k_copyCtx_2, sizeof(__pyx_k_copyCtx_2), 0, 0, 1, 1},
    {&__pyx_kp_u_copyCtx_ValueError, __pyx_k_copyCtx_ValueError, sizeof(__pyx_k_copyCtx_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_copyParams, __pyx_k_copyParams, sizeof(__pyx_k_copyParams), 0, 1, 0, 0},
    {&__pyx_n_s_copyParams_2, __pyx_k_copyParams_2, sizeof(__pyx_k_copyParams_2), 0, 0, 1, 1},
    {&__pyx_kp_u_copyParams_ValueError, __pyx_k_copyParams_ValueError, sizeof(__pyx_k_copyParams_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_coriginalGraph, __pyx_k_coriginalGraph, sizeof(__pyx_k_coriginalGraph), 0, 0, 1, 1},
    {&__pyx_n_s_cosHandle, __pyx_k_cosHandle, sizeof(__pyx_k_cosHandle), 0, 0, 1, 1},
    {&__pyx_n_s_cosHandle_ptr, __pyx_k_cosHandle_ptr, sizeof(__pyx_k_cosHandle_ptr), 0, 0, 1, 1},
    {&__pyx_kp_u_count, __pyx_k_count, sizeof(__pyx_k_count), 0, 1, 0, 0},
    {&__pyx_n_s_count_2, __pyx_k_count_2, sizeof(__pyx_k_count_2), 0, 0, 1, 1},
    {&__pyx_kp_u_count_ValueError, __pyx_k_count_ValueError, sizeof(__pyx_k_count_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_cp, __pyx_k_cp, sizeof(__pyx_k_cp), 0, 0, 1, 1},
    {&__pyx_n_s_cpAllocateArray_ptr, __pyx_k_cpAllocateArray_ptr, sizeof(__pyx_k_cpAllocateArray_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cpCopy_ptr, __pyx_k_cpCopy_ptr, sizeof(__pyx_k_cpCopy_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cpCudaDevices, __pyx_k_cpCudaDevices, sizeof(__pyx_k_cpCudaDevices), 0, 0, 1, 1},
    {&__pyx_n_s_cpCudaResource, __pyx_k_cpCudaResource, sizeof(__pyx_k_cpCudaResource), 0, 0, 1, 1},
    {&__pyx_n_s_cpExportTableId_ptr, __pyx_k_cpExportTableId_ptr, sizeof(__pyx_k_cpExportTableId_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cpMipmappedArrayDesc_ptr, __pyx_k_cpMipmappedArrayDesc_ptr, sizeof(__pyx_k_cpMipmappedArrayDesc_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cpResDesc_ptr, __pyx_k_cpResDesc_ptr, sizeof(__pyx_k_cpResDesc_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cpResViewDesc_ptr, __pyx_k_cpResViewDesc_ptr, sizeof(__pyx_k_cpResViewDesc_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cpStream, __pyx_k_cpStream, sizeof(__pyx_k_cpStream), 0, 0, 1, 1},
    {&__pyx_n_s_cpTexDesc_ptr, __pyx_k_cpTexDesc_ptr, sizeof(__pyx_k_cpTexDesc_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cp_ptr, __pyx_k_cp_ptr, sizeof(__pyx_k_cp_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cparamArray, __pyx_k_cparamArray, sizeof(__pyx_k_cparamArray), 0, 0, 1, 1},
    {&__pyx_n_s_cparamsArray, __pyx_k_cparamsArray, sizeof(__pyx_k_cparamsArray), 0, 0, 1, 1},
    {&__pyx_n_s_cpeerContext, __pyx_k_cpeerContext, sizeof(__pyx_k_cpeerContext), 0, 0, 1, 1},
    {&__pyx_n_s_cpeerDev, __pyx_k_cpeerDev, sizeof(__pyx_k_cpeerDev), 0, 0, 1, 1},
    {&__pyx_n_s_cpformat, __pyx_k_cpformat, sizeof(__pyx_k_cpformat), 0, 0, 1, 1},
    {&__pyx_n_s_cpixelBoxLowerCorner, __pyx_k_cpixelBoxLowerCorner, sizeof(__pyx_k_cpixelBoxLowerCorner), 0, 0, 1, 1},
    {&__pyx_n_s_cpixelBoxUpperCorner, __pyx_k_cpixelBoxUpperCorner, sizeof(__pyx_k_cpixelBoxUpperCorner), 0, 0, 1, 1},
    {&__pyx_n_s_cpixelsPerColumn, __pyx_k_cpixelsPerColumn, sizeof(__pyx_k_cpixelsPerColumn), 0, 0, 1, 1},
    {&__pyx_n_s_cpool, __pyx_k_cpool, sizeof(__pyx_k_cpool), 0, 0, 1, 1},
    {&__pyx_n_s_cpoolProps_ptr, __pyx_k_cpoolProps_ptr, sizeof(__pyx_k_cpoolProps_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cprop_ptr, __pyx_k_cprop_ptr, sizeof(__pyx_k_cprop_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cptr, __pyx_k_cptr, sizeof(__pyx_k_cptr), 0, 0, 1, 1},
    {&__pyx_n_s_cptr_ptr, __pyx_k_cptr_ptr, sizeof(__pyx_k_cptr_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cresource, __pyx_k_cresource, sizeof(__pyx_k_cresource), 0, 0, 1, 1},
    {&__pyx_n_s_cresources, __pyx_k_cresources, sizeof(__pyx_k_cresources), 0, 0, 1, 1},
    {&__pyx_n_s_cresult, __pyx_k_cresult, sizeof(__pyx_k_cresult), 0, 0, 1, 1},
    {&__pyx_n_s_crootNodes, __pyx_k_crootNodes, sizeof(__pyx_k_crootNodes), 0, 0, 1, 1},
    {&__pyx_n_s_cscope, __pyx_k_cscope, sizeof(__pyx_k_cscope), 0, 0, 1, 1},
    {&__pyx_n_s_csemHandleDesc_ptr, __pyx_k_csemHandleDesc_ptr, sizeof(__pyx_k_csemHandleDesc_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cshHandleType, __pyx_k_cshHandleType, sizeof(__pyx_k_cshHandleType), 0, 0, 1, 1},
    {&__pyx_n_s_cshareData_ptr, __pyx_k_cshareData_ptr, sizeof(__pyx_k_cshareData_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cshareableHandle, __pyx_k_cshareableHandle, sizeof(__pyx_k_cshareableHandle), 0, 0, 1, 1},
    {&__pyx_n_s_cshareableHandle_ptr, __pyx_k_cshareableHandle_ptr, sizeof(__pyx_k_cshareableHandle_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_csrc, __pyx_k_csrc, sizeof(__pyx_k_csrc), 0, 0, 1, 1},
    {&__pyx_n_s_csrcArray, __pyx_k_csrcArray, sizeof(__pyx_k_csrcArray), 0, 0, 1, 1},
    {&__pyx_n_s_csrcContext, __pyx_k_csrcContext, sizeof(__pyx_k_csrcContext), 0, 0, 1, 1},
    {&__pyx_n_s_csrcDevice, __pyx_k_csrcDevice, sizeof(__pyx_k_csrcDevice), 0, 0, 1, 1},
    {&__pyx_n_s_csrcHost, __pyx_k_csrcHost, sizeof(__pyx_k_csrcHost), 0, 0, 1, 1},
    {&__pyx_n_s_csrcHost_ptr, __pyx_k_csrcHost_ptr, sizeof(__pyx_k_csrcHost_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cstate, __pyx_k_cstate, sizeof(__pyx_k_cstate), 0, 0, 1, 1},
    {&__pyx_n_s_cstream, __pyx_k_cstream, sizeof(__pyx_k_cstream), 0, 0, 1, 1},
    {&__pyx_n_s_csurfObject, __pyx_k_csurfObject, sizeof(__pyx_k_csurfObject), 0, 0, 1, 1},
    {&__pyx_n_s_cswizzle, __pyx_k_cswizzle, sizeof(__pyx_k_cswizzle), 0, 0, 1, 1},
    {&__pyx_n_s_ctarget, __pyx_k_ctarget, sizeof(__pyx_k_ctarget), 0, 0, 1, 1},
    {&__pyx_n_s_ctensorDataType, __pyx_k_ctensorDataType, sizeof(__pyx_k_ctensorDataType), 0, 0, 1, 1},
    {&__pyx_n_s_ctensorMap_ptr, __pyx_k_ctensorMap_ptr, sizeof(__pyx_k_ctensorMap_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_ctensorRank, __pyx_k_ctensorRank, sizeof(__pyx_k_ctensorRank), 0, 0, 1, 1},
    {&__pyx_n_s_ctexObject, __pyx_k_ctexObject, sizeof(__pyx_k_ctexObject), 0, 0, 1, 1},
    {&__pyx_n_s_cto, __pyx_k_cto, sizeof(__pyx_k_cto), 0, 0, 1, 1},
    {&__pyx_kp_u_ctx, __pyx_k_ctx, sizeof(__pyx_k_ctx), 0, 1, 0, 0},
    {&__pyx_n_s_ctxId, __pyx_k_ctxId, sizeof(__pyx_k_ctxId), 0, 0, 1, 1},
    {&__pyx_n_s_ctx_2, __pyx_k_ctx_2, sizeof(__pyx_k_ctx_2), 0, 0, 1, 1},
    {&__pyx_kp_u_ctx_ValueError, __pyx_k_ctx_ValueError, sizeof(__pyx_k_ctx_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_ctypename, __pyx_k_ctypename, sizeof(__pyx_k_ctypename), 0, 0, 1, 1},
    {&__pyx_n_s_ctypes, __pyx_k_ctypes, sizeof(__pyx_k_ctypes), 0, 0, 1, 1},
    {&__pyx_n_s_cuArray3DCreate, __pyx_k_cuArray3DCreate, sizeof(__pyx_k_cuArray3DCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuArray3DGetDescriptor, __pyx_k_cuArray3DGetDescriptor, sizeof(__pyx_k_cuArray3DGetDescriptor), 0, 0, 1, 1},
    {&__pyx_n_s_cuArrayCreate, __pyx_k_cuArrayCreate, sizeof(__pyx_k_cuArrayCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuArrayDestroy, __pyx_k_cuArrayDestroy, sizeof(__pyx_k_cuArrayDestroy), 0, 0, 1, 1},
    {&__pyx_n_s_cuArrayGetDescriptor, __pyx_k_cuArrayGetDescriptor, sizeof(__pyx_k_cuArrayGetDescriptor), 0, 0, 1, 1},
    {&__pyx_n_s_cuArrayGetMemoryRequirements, __pyx_k_cuArrayGetMemoryRequirements, sizeof(__pyx_k_cuArrayGetMemoryRequirements), 0, 0, 1, 1},
    {&__pyx_n_s_cuArrayGetPlane, __pyx_k_cuArrayGetPlane, sizeof(__pyx_k_cuArrayGetPlane), 0, 0, 1, 1},
    {&__pyx_n_s_cuArrayGetSparseProperties, __pyx_k_cuArrayGetSparseProperties, sizeof(__pyx_k_cuArrayGetSparseProperties), 0, 0, 1, 1},
    {&__pyx_n_s_cuCoredumpGetAttribute, __pyx_k_cuCoredumpGetAttribute, sizeof(__pyx_k_cuCoredumpGetAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuCoredumpGetAttributeGlobal, __pyx_k_cuCoredumpGetAttributeGlobal, sizeof(__pyx_k_cuCoredumpGetAttributeGlobal), 0, 0, 1, 1},
    {&__pyx_n_s_cuCoredumpSetAttribute, __pyx_k_cuCoredumpSetAttribute, sizeof(__pyx_k_cuCoredumpSetAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuCoredumpSetAttributeGlobal, __pyx_k_cuCoredumpSetAttributeGlobal, sizeof(__pyx_k_cuCoredumpSetAttributeGlobal), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxAttach, __pyx_k_cuCtxAttach, sizeof(__pyx_k_cuCtxAttach), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxCreate, __pyx_k_cuCtxCreate, sizeof(__pyx_k_cuCtxCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxCreate_v3, __pyx_k_cuCtxCreate_v3, sizeof(__pyx_k_cuCtxCreate_v3), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxCreate_v3_locals_genexpr, __pyx_k_cuCtxCreate_v3_locals_genexpr, sizeof(__pyx_k_cuCtxCreate_v3_locals_genexpr), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxDestroy, __pyx_k_cuCtxDestroy, sizeof(__pyx_k_cuCtxDestroy), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxDetach, __pyx_k_cuCtxDetach, sizeof(__pyx_k_cuCtxDetach), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxDisablePeerAccess, __pyx_k_cuCtxDisablePeerAccess, sizeof(__pyx_k_cuCtxDisablePeerAccess), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxEnablePeerAccess, __pyx_k_cuCtxEnablePeerAccess, sizeof(__pyx_k_cuCtxEnablePeerAccess), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxFromGreenCtx, __pyx_k_cuCtxFromGreenCtx, sizeof(__pyx_k_cuCtxFromGreenCtx), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxGetApiVersion, __pyx_k_cuCtxGetApiVersion, sizeof(__pyx_k_cuCtxGetApiVersion), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxGetCacheConfig, __pyx_k_cuCtxGetCacheConfig, sizeof(__pyx_k_cuCtxGetCacheConfig), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxGetCurrent, __pyx_k_cuCtxGetCurrent, sizeof(__pyx_k_cuCtxGetCurrent), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxGetDevResource, __pyx_k_cuCtxGetDevResource, sizeof(__pyx_k_cuCtxGetDevResource), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxGetDevice, __pyx_k_cuCtxGetDevice, sizeof(__pyx_k_cuCtxGetDevice), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxGetExecAffinity, __pyx_k_cuCtxGetExecAffinity, sizeof(__pyx_k_cuCtxGetExecAffinity), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxGetFlags, __pyx_k_cuCtxGetFlags, sizeof(__pyx_k_cuCtxGetFlags), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxGetId, __pyx_k_cuCtxGetId, sizeof(__pyx_k_cuCtxGetId), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxGetLimit, __pyx_k_cuCtxGetLimit, sizeof(__pyx_k_cuCtxGetLimit), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxGetSharedMemConfig, __pyx_k_cuCtxGetSharedMemConfig, sizeof(__pyx_k_cuCtxGetSharedMemConfig), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxGetStreamPriorityRange, __pyx_k_cuCtxGetStreamPriorityRange, sizeof(__pyx_k_cuCtxGetStreamPriorityRange), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxPopCurrent, __pyx_k_cuCtxPopCurrent, sizeof(__pyx_k_cuCtxPopCurrent), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxPushCurrent, __pyx_k_cuCtxPushCurrent, sizeof(__pyx_k_cuCtxPushCurrent), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxResetPersistingL2Cache, __pyx_k_cuCtxResetPersistingL2Cache, sizeof(__pyx_k_cuCtxResetPersistingL2Cache), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxSetCacheConfig, __pyx_k_cuCtxSetCacheConfig, sizeof(__pyx_k_cuCtxSetCacheConfig), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxSetCurrent, __pyx_k_cuCtxSetCurrent, sizeof(__pyx_k_cuCtxSetCurrent), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxSetFlags, __pyx_k_cuCtxSetFlags, sizeof(__pyx_k_cuCtxSetFlags), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxSetLimit, __pyx_k_cuCtxSetLimit, sizeof(__pyx_k_cuCtxSetLimit), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxSetSharedMemConfig, __pyx_k_cuCtxSetSharedMemConfig, sizeof(__pyx_k_cuCtxSetSharedMemConfig), 0, 0, 1, 1},
    {&__pyx_n_s_cuCtxSynchronize, __pyx_k_cuCtxSynchronize, sizeof(__pyx_k_cuCtxSynchronize), 0, 0, 1, 1},
    {&__pyx_n_s_cuDestroyExternalMemory, __pyx_k_cuDestroyExternalMemory, sizeof(__pyx_k_cuDestroyExternalMemory), 0, 0, 1, 1},
    {&__pyx_n_s_cuDestroyExternalSemaphore, __pyx_k_cuDestroyExternalSemaphore, sizeof(__pyx_k_cuDestroyExternalSemaphore), 0, 0, 1, 1},
    {&__pyx_n_s_cuDevResourceGenerateDesc, __pyx_k_cuDevResourceGenerateDesc, sizeof(__pyx_k_cuDevResourceGenerateDesc), 0, 0, 1, 1},
    {&__pyx_n_s_cuDevResourceGenerateDesc_locals, __pyx_k_cuDevResourceGenerateDesc_locals, sizeof(__pyx_k_cuDevResourceGenerateDesc_locals), 0, 0, 1, 1},
    {&__pyx_n_s_cuDevSmResourceSplitByCount, __pyx_k_cuDevSmResourceSplitByCount, sizeof(__pyx_k_cuDevSmResourceSplitByCount), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceCanAccessPeer, __pyx_k_cuDeviceCanAccessPeer, sizeof(__pyx_k_cuDeviceCanAccessPeer), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceComputeCapability, __pyx_k_cuDeviceComputeCapability, sizeof(__pyx_k_cuDeviceComputeCapability), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGet, __pyx_k_cuDeviceGet, sizeof(__pyx_k_cuDeviceGet), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGetAttribute, __pyx_k_cuDeviceGetAttribute, sizeof(__pyx_k_cuDeviceGetAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGetByPCIBusId, __pyx_k_cuDeviceGetByPCIBusId, sizeof(__pyx_k_cuDeviceGetByPCIBusId), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGetCount, __pyx_k_cuDeviceGetCount, sizeof(__pyx_k_cuDeviceGetCount), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGetDefaultMemPool, __pyx_k_cuDeviceGetDefaultMemPool, sizeof(__pyx_k_cuDeviceGetDefaultMemPool), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGetDevResource, __pyx_k_cuDeviceGetDevResource, sizeof(__pyx_k_cuDeviceGetDevResource), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGetExecAffinitySupport, __pyx_k_cuDeviceGetExecAffinitySupport, sizeof(__pyx_k_cuDeviceGetExecAffinitySupport), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGetGraphMemAttribute, __pyx_k_cuDeviceGetGraphMemAttribute, sizeof(__pyx_k_cuDeviceGetGraphMemAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGetLuid, __pyx_k_cuDeviceGetLuid, sizeof(__pyx_k_cuDeviceGetLuid), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGetMemPool, __pyx_k_cuDeviceGetMemPool, sizeof(__pyx_k_cuDeviceGetMemPool), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGetName, __pyx_k_cuDeviceGetName, sizeof(__pyx_k_cuDeviceGetName), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGetNvSciSyncAttributes, __pyx_k_cuDeviceGetNvSciSyncAttributes, sizeof(__pyx_k_cuDeviceGetNvSciSyncAttributes), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGetP2PAttribute, __pyx_k_cuDeviceGetP2PAttribute, sizeof(__pyx_k_cuDeviceGetP2PAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGetPCIBusId, __pyx_k_cuDeviceGetPCIBusId, sizeof(__pyx_k_cuDeviceGetPCIBusId), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGetProperties, __pyx_k_cuDeviceGetProperties, sizeof(__pyx_k_cuDeviceGetProperties), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGetTexture1DLinearMaxWid, __pyx_k_cuDeviceGetTexture1DLinearMaxWid, sizeof(__pyx_k_cuDeviceGetTexture1DLinearMaxWid), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGetUuid, __pyx_k_cuDeviceGetUuid, sizeof(__pyx_k_cuDeviceGetUuid), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGetUuid_v2, __pyx_k_cuDeviceGetUuid_v2, sizeof(__pyx_k_cuDeviceGetUuid_v2), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceGraphMemTrim, __pyx_k_cuDeviceGraphMemTrim, sizeof(__pyx_k_cuDeviceGraphMemTrim), 0, 0, 1, 1},
    {&__pyx_n_s_cuDevicePrimaryCtxGetState, __pyx_k_cuDevicePrimaryCtxGetState, sizeof(__pyx_k_cuDevicePrimaryCtxGetState), 0, 0, 1, 1},
    {&__pyx_n_s_cuDevicePrimaryCtxRelease, __pyx_k_cuDevicePrimaryCtxRelease, sizeof(__pyx_k_cuDevicePrimaryCtxRelease), 0, 0, 1, 1},
    {&__pyx_n_s_cuDevicePrimaryCtxReset, __pyx_k_cuDevicePrimaryCtxReset, sizeof(__pyx_k_cuDevicePrimaryCtxReset), 0, 0, 1, 1},
    {&__pyx_n_s_cuDevicePrimaryCtxRetain, __pyx_k_cuDevicePrimaryCtxRetain, sizeof(__pyx_k_cuDevicePrimaryCtxRetain), 0, 0, 1, 1},
    {&__pyx_n_s_cuDevicePrimaryCtxSetFlags, __pyx_k_cuDevicePrimaryCtxSetFlags, sizeof(__pyx_k_cuDevicePrimaryCtxSetFlags), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceRegisterAsyncNotificatio, __pyx_k_cuDeviceRegisterAsyncNotificatio, sizeof(__pyx_k_cuDeviceRegisterAsyncNotificatio), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceSetGraphMemAttribute, __pyx_k_cuDeviceSetGraphMemAttribute, sizeof(__pyx_k_cuDeviceSetGraphMemAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceSetMemPool, __pyx_k_cuDeviceSetMemPool, sizeof(__pyx_k_cuDeviceSetMemPool), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceTotalMem, __pyx_k_cuDeviceTotalMem, sizeof(__pyx_k_cuDeviceTotalMem), 0, 0, 1, 1},
    {&__pyx_n_s_cuDeviceUnregisterAsyncNotificat, __pyx_k_cuDeviceUnregisterAsyncNotificat, sizeof(__pyx_k_cuDeviceUnregisterAsyncNotificat), 0, 0, 1, 1},
    {&__pyx_n_s_cuDriverGetVersion, __pyx_k_cuDriverGetVersion, sizeof(__pyx_k_cuDriverGetVersion), 0, 0, 1, 1},
    {&__pyx_n_s_cuEGLStreamConsumerAcquireFrame, __pyx_k_cuEGLStreamConsumerAcquireFrame, sizeof(__pyx_k_cuEGLStreamConsumerAcquireFrame), 0, 0, 1, 1},
    {&__pyx_n_s_cuEGLStreamConsumerConnect, __pyx_k_cuEGLStreamConsumerConnect, sizeof(__pyx_k_cuEGLStreamConsumerConnect), 0, 0, 1, 1},
    {&__pyx_n_s_cuEGLStreamConsumerConnectWithFl, __pyx_k_cuEGLStreamConsumerConnectWithFl, sizeof(__pyx_k_cuEGLStreamConsumerConnectWithFl), 0, 0, 1, 1},
    {&__pyx_n_s_cuEGLStreamConsumerDisconnect, __pyx_k_cuEGLStreamConsumerDisconnect, sizeof(__pyx_k_cuEGLStreamConsumerDisconnect), 0, 0, 1, 1},
    {&__pyx_n_s_cuEGLStreamConsumerReleaseFrame, __pyx_k_cuEGLStreamConsumerReleaseFrame, sizeof(__pyx_k_cuEGLStreamConsumerReleaseFrame), 0, 0, 1, 1},
    {&__pyx_n_s_cuEGLStreamProducerConnect, __pyx_k_cuEGLStreamProducerConnect, sizeof(__pyx_k_cuEGLStreamProducerConnect), 0, 0, 1, 1},
    {&__pyx_n_s_cuEGLStreamProducerDisconnect, __pyx_k_cuEGLStreamProducerDisconnect, sizeof(__pyx_k_cuEGLStreamProducerDisconnect), 0, 0, 1, 1},
    {&__pyx_n_s_cuEGLStreamProducerPresentFrame, __pyx_k_cuEGLStreamProducerPresentFrame, sizeof(__pyx_k_cuEGLStreamProducerPresentFrame), 0, 0, 1, 1},
    {&__pyx_n_s_cuEGLStreamProducerReturnFrame, __pyx_k_cuEGLStreamProducerReturnFrame, sizeof(__pyx_k_cuEGLStreamProducerReturnFrame), 0, 0, 1, 1},
    {&__pyx_n_s_cuEventCreate, __pyx_k_cuEventCreate, sizeof(__pyx_k_cuEventCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuEventCreateFromEGLSync, __pyx_k_cuEventCreateFromEGLSync, sizeof(__pyx_k_cuEventCreateFromEGLSync), 0, 0, 1, 1},
    {&__pyx_n_s_cuEventDestroy, __pyx_k_cuEventDestroy, sizeof(__pyx_k_cuEventDestroy), 0, 0, 1, 1},
    {&__pyx_n_s_cuEventElapsedTime, __pyx_k_cuEventElapsedTime, sizeof(__pyx_k_cuEventElapsedTime), 0, 0, 1, 1},
    {&__pyx_n_s_cuEventQuery, __pyx_k_cuEventQuery, sizeof(__pyx_k_cuEventQuery), 0, 0, 1, 1},
    {&__pyx_n_s_cuEventRecord, __pyx_k_cuEventRecord, sizeof(__pyx_k_cuEventRecord), 0, 0, 1, 1},
    {&__pyx_n_s_cuEventRecordWithFlags, __pyx_k_cuEventRecordWithFlags, sizeof(__pyx_k_cuEventRecordWithFlags), 0, 0, 1, 1},
    {&__pyx_n_s_cuEventSynchronize, __pyx_k_cuEventSynchronize, sizeof(__pyx_k_cuEventSynchronize), 0, 0, 1, 1},
    {&__pyx_n_s_cuExternalMemoryGetMappedBuffer, __pyx_k_cuExternalMemoryGetMappedBuffer, sizeof(__pyx_k_cuExternalMemoryGetMappedBuffer), 0, 0, 1, 1},
    {&__pyx_n_s_cuExternalMemoryGetMappedMipmapp, __pyx_k_cuExternalMemoryGetMappedMipmapp, sizeof(__pyx_k_cuExternalMemoryGetMappedMipmapp), 0, 0, 1, 1},
    {&__pyx_n_s_cuFlushGPUDirectRDMAWrites, __pyx_k_cuFlushGPUDirectRDMAWrites, sizeof(__pyx_k_cuFlushGPUDirectRDMAWrites), 0, 0, 1, 1},
    {&__pyx_kp_u_cuFormat, __pyx_k_cuFormat, sizeof(__pyx_k_cuFormat), 0, 1, 0, 0},
    {&__pyx_n_s_cuFormat_2, __pyx_k_cuFormat_2, sizeof(__pyx_k_cuFormat_2), 0, 0, 1, 1},
    {&__pyx_kp_u_cuFormat_ValueError, __pyx_k_cuFormat_ValueError, sizeof(__pyx_k_cuFormat_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_cuFuncGetAttribute, __pyx_k_cuFuncGetAttribute, sizeof(__pyx_k_cuFuncGetAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuFuncGetModule, __pyx_k_cuFuncGetModule, sizeof(__pyx_k_cuFuncGetModule), 0, 0, 1, 1},
    {&__pyx_n_s_cuFuncGetName, __pyx_k_cuFuncGetName, sizeof(__pyx_k_cuFuncGetName), 0, 0, 1, 1},
    {&__pyx_n_s_cuFuncGetParamInfo, __pyx_k_cuFuncGetParamInfo, sizeof(__pyx_k_cuFuncGetParamInfo), 0, 0, 1, 1},
    {&__pyx_n_s_cuFuncIsLoaded, __pyx_k_cuFuncIsLoaded, sizeof(__pyx_k_cuFuncIsLoaded), 0, 0, 1, 1},
    {&__pyx_n_s_cuFuncLoad, __pyx_k_cuFuncLoad, sizeof(__pyx_k_cuFuncLoad), 0, 0, 1, 1},
    {&__pyx_n_s_cuFuncSetAttribute, __pyx_k_cuFuncSetAttribute, sizeof(__pyx_k_cuFuncSetAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuFuncSetBlockShape, __pyx_k_cuFuncSetBlockShape, sizeof(__pyx_k_cuFuncSetBlockShape), 0, 0, 1, 1},
    {&__pyx_n_s_cuFuncSetCacheConfig, __pyx_k_cuFuncSetCacheConfig, sizeof(__pyx_k_cuFuncSetCacheConfig), 0, 0, 1, 1},
    {&__pyx_n_s_cuFuncSetSharedMemConfig, __pyx_k_cuFuncSetSharedMemConfig, sizeof(__pyx_k_cuFuncSetSharedMemConfig), 0, 0, 1, 1},
    {&__pyx_n_s_cuFuncSetSharedSize, __pyx_k_cuFuncSetSharedSize, sizeof(__pyx_k_cuFuncSetSharedSize), 0, 0, 1, 1},
    {&__pyx_n_s_cuGLGetDevices, __pyx_k_cuGLGetDevices, sizeof(__pyx_k_cuGLGetDevices), 0, 0, 1, 1},
    {&__pyx_n_s_cuGetErrorName, __pyx_k_cuGetErrorName, sizeof(__pyx_k_cuGetErrorName), 0, 0, 1, 1},
    {&__pyx_n_s_cuGetErrorString, __pyx_k_cuGetErrorString, sizeof(__pyx_k_cuGetErrorString), 0, 0, 1, 1},
    {&__pyx_n_s_cuGetExportTable, __pyx_k_cuGetExportTable, sizeof(__pyx_k_cuGetExportTable), 0, 0, 1, 1},
    {&__pyx_n_s_cuGetProcAddress, __pyx_k_cuGetProcAddress, sizeof(__pyx_k_cuGetProcAddress), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddBatchMemOpNode, __pyx_k_cuGraphAddBatchMemOpNode, sizeof(__pyx_k_cuGraphAddBatchMemOpNode), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddBatchMemOpNode_locals, __pyx_k_cuGraphAddBatchMemOpNode_locals, sizeof(__pyx_k_cuGraphAddBatchMemOpNode_locals), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddChildGraphNode, __pyx_k_cuGraphAddChildGraphNode, sizeof(__pyx_k_cuGraphAddChildGraphNode), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddChildGraphNode_locals, __pyx_k_cuGraphAddChildGraphNode_locals, sizeof(__pyx_k_cuGraphAddChildGraphNode_locals), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddDependencies, __pyx_k_cuGraphAddDependencies, sizeof(__pyx_k_cuGraphAddDependencies), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddDependencies_locals_ge, __pyx_k_cuGraphAddDependencies_locals_ge, sizeof(__pyx_k_cuGraphAddDependencies_locals_ge), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddDependencies_v2, __pyx_k_cuGraphAddDependencies_v2, sizeof(__pyx_k_cuGraphAddDependencies_v2), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddDependencies_v2_locals, __pyx_k_cuGraphAddDependencies_v2_locals, sizeof(__pyx_k_cuGraphAddDependencies_v2_locals), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddEmptyNode, __pyx_k_cuGraphAddEmptyNode, sizeof(__pyx_k_cuGraphAddEmptyNode), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddEmptyNode_locals_genex, __pyx_k_cuGraphAddEmptyNode_locals_genex, sizeof(__pyx_k_cuGraphAddEmptyNode_locals_genex), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddEventRecordNode, __pyx_k_cuGraphAddEventRecordNode, sizeof(__pyx_k_cuGraphAddEventRecordNode), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddEventRecordNode_locals, __pyx_k_cuGraphAddEventRecordNode_locals, sizeof(__pyx_k_cuGraphAddEventRecordNode_locals), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddEventWaitNode, __pyx_k_cuGraphAddEventWaitNode, sizeof(__pyx_k_cuGraphAddEventWaitNode), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddEventWaitNode_locals_g, __pyx_k_cuGraphAddEventWaitNode_locals_g, sizeof(__pyx_k_cuGraphAddEventWaitNode_locals_g), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddExternalSemaphoresSign, __pyx_k_cuGraphAddExternalSemaphoresSign, sizeof(__pyx_k_cuGraphAddExternalSemaphoresSign), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddExternalSemaphoresSign_2, __pyx_k_cuGraphAddExternalSemaphoresSign_2, sizeof(__pyx_k_cuGraphAddExternalSemaphoresSign_2), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddExternalSemaphoresWait, __pyx_k_cuGraphAddExternalSemaphoresWait, sizeof(__pyx_k_cuGraphAddExternalSemaphoresWait), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddExternalSemaphoresWait_2, __pyx_k_cuGraphAddExternalSemaphoresWait_2, sizeof(__pyx_k_cuGraphAddExternalSemaphoresWait_2), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddHostNode, __pyx_k_cuGraphAddHostNode, sizeof(__pyx_k_cuGraphAddHostNode), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddHostNode_locals_genexp, __pyx_k_cuGraphAddHostNode_locals_genexp, sizeof(__pyx_k_cuGraphAddHostNode_locals_genexp), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddKernelNode, __pyx_k_cuGraphAddKernelNode, sizeof(__pyx_k_cuGraphAddKernelNode), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddKernelNode_locals_gene, __pyx_k_cuGraphAddKernelNode_locals_gene, sizeof(__pyx_k_cuGraphAddKernelNode_locals_gene), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddMemAllocNode, __pyx_k_cuGraphAddMemAllocNode, sizeof(__pyx_k_cuGraphAddMemAllocNode), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddMemAllocNode_locals_ge, __pyx_k_cuGraphAddMemAllocNode_locals_ge, sizeof(__pyx_k_cuGraphAddMemAllocNode_locals_ge), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddMemFreeNode, __pyx_k_cuGraphAddMemFreeNode, sizeof(__pyx_k_cuGraphAddMemFreeNode), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddMemFreeNode_locals_gen, __pyx_k_cuGraphAddMemFreeNode_locals_gen, sizeof(__pyx_k_cuGraphAddMemFreeNode_locals_gen), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddMemcpyNode, __pyx_k_cuGraphAddMemcpyNode, sizeof(__pyx_k_cuGraphAddMemcpyNode), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddMemcpyNode_locals_gene, __pyx_k_cuGraphAddMemcpyNode_locals_gene, sizeof(__pyx_k_cuGraphAddMemcpyNode_locals_gene), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddMemsetNode, __pyx_k_cuGraphAddMemsetNode, sizeof(__pyx_k_cuGraphAddMemsetNode), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddMemsetNode_locals_gene, __pyx_k_cuGraphAddMemsetNode_locals_gene, sizeof(__pyx_k_cuGraphAddMemsetNode_locals_gene), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddNode, __pyx_k_cuGraphAddNode, sizeof(__pyx_k_cuGraphAddNode), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddNode_locals_genexpr, __pyx_k_cuGraphAddNode_locals_genexpr, sizeof(__pyx_k_cuGraphAddNode_locals_genexpr), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddNode_v2, __pyx_k_cuGraphAddNode_v2, sizeof(__pyx_k_cuGraphAddNode_v2), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphAddNode_v2_locals_genexpr, __pyx_k_cuGraphAddNode_v2_locals_genexpr, sizeof(__pyx_k_cuGraphAddNode_v2_locals_genexpr), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphBatchMemOpNodeGetParams, __pyx_k_cuGraphBatchMemOpNodeGetParams, sizeof(__pyx_k_cuGraphBatchMemOpNodeGetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphBatchMemOpNodeSetParams, __pyx_k_cuGraphBatchMemOpNodeSetParams, sizeof(__pyx_k_cuGraphBatchMemOpNodeSetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphChildGraphNodeGetGraph, __pyx_k_cuGraphChildGraphNodeGetGraph, sizeof(__pyx_k_cuGraphChildGraphNodeGetGraph), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphClone, __pyx_k_cuGraphClone, sizeof(__pyx_k_cuGraphClone), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphConditionalHandleCreate, __pyx_k_cuGraphConditionalHandleCreate, sizeof(__pyx_k_cuGraphConditionalHandleCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphCreate, __pyx_k_cuGraphCreate, sizeof(__pyx_k_cuGraphCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphDebugDotPrint, __pyx_k_cuGraphDebugDotPrint, sizeof(__pyx_k_cuGraphDebugDotPrint), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphDestroy, __pyx_k_cuGraphDestroy, sizeof(__pyx_k_cuGraphDestroy), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphDestroyNode, __pyx_k_cuGraphDestroyNode, sizeof(__pyx_k_cuGraphDestroyNode), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphEventRecordNodeGetEvent, __pyx_k_cuGraphEventRecordNodeGetEvent, sizeof(__pyx_k_cuGraphEventRecordNodeGetEvent), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphEventRecordNodeSetEvent, __pyx_k_cuGraphEventRecordNodeSetEvent, sizeof(__pyx_k_cuGraphEventRecordNodeSetEvent), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphEventWaitNodeGetEvent, __pyx_k_cuGraphEventWaitNodeGetEvent, sizeof(__pyx_k_cuGraphEventWaitNodeGetEvent), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphEventWaitNodeSetEvent, __pyx_k_cuGraphEventWaitNodeSetEvent, sizeof(__pyx_k_cuGraphEventWaitNodeSetEvent), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExecBatchMemOpNodeSetPara, __pyx_k_cuGraphExecBatchMemOpNodeSetPara, sizeof(__pyx_k_cuGraphExecBatchMemOpNodeSetPara), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExecChildGraphNodeSetPara, __pyx_k_cuGraphExecChildGraphNodeSetPara, sizeof(__pyx_k_cuGraphExecChildGraphNodeSetPara), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExecDestroy, __pyx_k_cuGraphExecDestroy, sizeof(__pyx_k_cuGraphExecDestroy), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExecEventRecordNodeSetEve, __pyx_k_cuGraphExecEventRecordNodeSetEve, sizeof(__pyx_k_cuGraphExecEventRecordNodeSetEve), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExecEventWaitNodeSetEvent, __pyx_k_cuGraphExecEventWaitNodeSetEvent, sizeof(__pyx_k_cuGraphExecEventWaitNodeSetEvent), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExecExternalSemaphoresSig, __pyx_k_cuGraphExecExternalSemaphoresSig, sizeof(__pyx_k_cuGraphExecExternalSemaphoresSig), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExecExternalSemaphoresWai, __pyx_k_cuGraphExecExternalSemaphoresWai, sizeof(__pyx_k_cuGraphExecExternalSemaphoresWai), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExecGetFlags, __pyx_k_cuGraphExecGetFlags, sizeof(__pyx_k_cuGraphExecGetFlags), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExecHostNodeSetParams, __pyx_k_cuGraphExecHostNodeSetParams, sizeof(__pyx_k_cuGraphExecHostNodeSetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExecKernelNodeSetParams, __pyx_k_cuGraphExecKernelNodeSetParams, sizeof(__pyx_k_cuGraphExecKernelNodeSetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExecMemcpyNodeSetParams, __pyx_k_cuGraphExecMemcpyNodeSetParams, sizeof(__pyx_k_cuGraphExecMemcpyNodeSetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExecMemsetNodeSetParams, __pyx_k_cuGraphExecMemsetNodeSetParams, sizeof(__pyx_k_cuGraphExecMemsetNodeSetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExecNodeSetParams, __pyx_k_cuGraphExecNodeSetParams, sizeof(__pyx_k_cuGraphExecNodeSetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExecUpdate, __pyx_k_cuGraphExecUpdate, sizeof(__pyx_k_cuGraphExecUpdate), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExternalSemaphoresSignalN, __pyx_k_cuGraphExternalSemaphoresSignalN, sizeof(__pyx_k_cuGraphExternalSemaphoresSignalN), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExternalSemaphoresSignalN_2, __pyx_k_cuGraphExternalSemaphoresSignalN_2, sizeof(__pyx_k_cuGraphExternalSemaphoresSignalN_2), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExternalSemaphoresWaitNod, __pyx_k_cuGraphExternalSemaphoresWaitNod, sizeof(__pyx_k_cuGraphExternalSemaphoresWaitNod), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphExternalSemaphoresWaitNod_2, __pyx_k_cuGraphExternalSemaphoresWaitNod_2, sizeof(__pyx_k_cuGraphExternalSemaphoresWaitNod_2), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphGetEdges, __pyx_k_cuGraphGetEdges, sizeof(__pyx_k_cuGraphGetEdges), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphGetEdges_v2, __pyx_k_cuGraphGetEdges_v2, sizeof(__pyx_k_cuGraphGetEdges_v2), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphGetNodes, __pyx_k_cuGraphGetNodes, sizeof(__pyx_k_cuGraphGetNodes), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphGetRootNodes, __pyx_k_cuGraphGetRootNodes, sizeof(__pyx_k_cuGraphGetRootNodes), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphHostNodeGetParams, __pyx_k_cuGraphHostNodeGetParams, sizeof(__pyx_k_cuGraphHostNodeGetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphHostNodeSetParams, __pyx_k_cuGraphHostNodeSetParams, sizeof(__pyx_k_cuGraphHostNodeSetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphInstantiate, __pyx_k_cuGraphInstantiate, sizeof(__pyx_k_cuGraphInstantiate), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphInstantiateWithParams, __pyx_k_cuGraphInstantiateWithParams, sizeof(__pyx_k_cuGraphInstantiateWithParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphKernelNodeCopyAttributes, __pyx_k_cuGraphKernelNodeCopyAttributes, sizeof(__pyx_k_cuGraphKernelNodeCopyAttributes), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphKernelNodeGetAttribute, __pyx_k_cuGraphKernelNodeGetAttribute, sizeof(__pyx_k_cuGraphKernelNodeGetAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphKernelNodeGetParams, __pyx_k_cuGraphKernelNodeGetParams, sizeof(__pyx_k_cuGraphKernelNodeGetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphKernelNodeSetAttribute, __pyx_k_cuGraphKernelNodeSetAttribute, sizeof(__pyx_k_cuGraphKernelNodeSetAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphKernelNodeSetParams, __pyx_k_cuGraphKernelNodeSetParams, sizeof(__pyx_k_cuGraphKernelNodeSetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphLaunch, __pyx_k_cuGraphLaunch, sizeof(__pyx_k_cuGraphLaunch), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphMemAllocNodeGetParams, __pyx_k_cuGraphMemAllocNodeGetParams, sizeof(__pyx_k_cuGraphMemAllocNodeGetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphMemFreeNodeGetParams, __pyx_k_cuGraphMemFreeNodeGetParams, sizeof(__pyx_k_cuGraphMemFreeNodeGetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphMemcpyNodeGetParams, __pyx_k_cuGraphMemcpyNodeGetParams, sizeof(__pyx_k_cuGraphMemcpyNodeGetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphMemcpyNodeSetParams, __pyx_k_cuGraphMemcpyNodeSetParams, sizeof(__pyx_k_cuGraphMemcpyNodeSetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphMemsetNodeGetParams, __pyx_k_cuGraphMemsetNodeGetParams, sizeof(__pyx_k_cuGraphMemsetNodeGetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphMemsetNodeSetParams, __pyx_k_cuGraphMemsetNodeSetParams, sizeof(__pyx_k_cuGraphMemsetNodeSetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphNodeFindInClone, __pyx_k_cuGraphNodeFindInClone, sizeof(__pyx_k_cuGraphNodeFindInClone), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphNodeGetDependencies, __pyx_k_cuGraphNodeGetDependencies, sizeof(__pyx_k_cuGraphNodeGetDependencies), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphNodeGetDependencies_v2, __pyx_k_cuGraphNodeGetDependencies_v2, sizeof(__pyx_k_cuGraphNodeGetDependencies_v2), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphNodeGetDependentNodes, __pyx_k_cuGraphNodeGetDependentNodes, sizeof(__pyx_k_cuGraphNodeGetDependentNodes), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphNodeGetDependentNodes_v2, __pyx_k_cuGraphNodeGetDependentNodes_v2, sizeof(__pyx_k_cuGraphNodeGetDependentNodes_v2), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphNodeGetEnabled, __pyx_k_cuGraphNodeGetEnabled, sizeof(__pyx_k_cuGraphNodeGetEnabled), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphNodeGetType, __pyx_k_cuGraphNodeGetType, sizeof(__pyx_k_cuGraphNodeGetType), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphNodeSetEnabled, __pyx_k_cuGraphNodeSetEnabled, sizeof(__pyx_k_cuGraphNodeSetEnabled), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphNodeSetParams, __pyx_k_cuGraphNodeSetParams, sizeof(__pyx_k_cuGraphNodeSetParams), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphReleaseUserObject, __pyx_k_cuGraphReleaseUserObject, sizeof(__pyx_k_cuGraphReleaseUserObject), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphRemoveDependencies, __pyx_k_cuGraphRemoveDependencies, sizeof(__pyx_k_cuGraphRemoveDependencies), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphRemoveDependencies_locals, __pyx_k_cuGraphRemoveDependencies_locals, sizeof(__pyx_k_cuGraphRemoveDependencies_locals), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphRemoveDependencies_v2, __pyx_k_cuGraphRemoveDependencies_v2, sizeof(__pyx_k_cuGraphRemoveDependencies_v2), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphRemoveDependencies_v2_loc, __pyx_k_cuGraphRemoveDependencies_v2_loc, sizeof(__pyx_k_cuGraphRemoveDependencies_v2_loc), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphRetainUserObject, __pyx_k_cuGraphRetainUserObject, sizeof(__pyx_k_cuGraphRetainUserObject), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphUpload, __pyx_k_cuGraphUpload, sizeof(__pyx_k_cuGraphUpload), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphicsEGLRegisterImage, __pyx_k_cuGraphicsEGLRegisterImage, sizeof(__pyx_k_cuGraphicsEGLRegisterImage), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphicsGLRegisterBuffer, __pyx_k_cuGraphicsGLRegisterBuffer, sizeof(__pyx_k_cuGraphicsGLRegisterBuffer), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphicsGLRegisterImage, __pyx_k_cuGraphicsGLRegisterImage, sizeof(__pyx_k_cuGraphicsGLRegisterImage), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphicsMapResources, __pyx_k_cuGraphicsMapResources, sizeof(__pyx_k_cuGraphicsMapResources), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphicsResourceGetMappedEglFr, __pyx_k_cuGraphicsResourceGetMappedEglFr, sizeof(__pyx_k_cuGraphicsResourceGetMappedEglFr), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphicsResourceGetMappedMipma, __pyx_k_cuGraphicsResourceGetMappedMipma, sizeof(__pyx_k_cuGraphicsResourceGetMappedMipma), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphicsResourceGetMappedPoint, __pyx_k_cuGraphicsResourceGetMappedPoint, sizeof(__pyx_k_cuGraphicsResourceGetMappedPoint), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphicsResourceSetMapFlags, __pyx_k_cuGraphicsResourceSetMapFlags, sizeof(__pyx_k_cuGraphicsResourceSetMapFlags), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphicsSubResourceGetMappedAr, __pyx_k_cuGraphicsSubResourceGetMappedAr, sizeof(__pyx_k_cuGraphicsSubResourceGetMappedAr), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphicsUnmapResources, __pyx_k_cuGraphicsUnmapResources, sizeof(__pyx_k_cuGraphicsUnmapResources), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphicsUnregisterResource, __pyx_k_cuGraphicsUnregisterResource, sizeof(__pyx_k_cuGraphicsUnregisterResource), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphicsVDPAURegisterOutputSur, __pyx_k_cuGraphicsVDPAURegisterOutputSur, sizeof(__pyx_k_cuGraphicsVDPAURegisterOutputSur), 0, 0, 1, 1},
    {&__pyx_n_s_cuGraphicsVDPAURegisterVideoSurf, __pyx_k_cuGraphicsVDPAURegisterVideoSurf, sizeof(__pyx_k_cuGraphicsVDPAURegisterVideoSurf), 0, 0, 1, 1},
    {&__pyx_n_s_cuGreenCtxCreate, __pyx_k_cuGreenCtxCreate, sizeof(__pyx_k_cuGreenCtxCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuGreenCtxDestroy, __pyx_k_cuGreenCtxDestroy, sizeof(__pyx_k_cuGreenCtxDestroy), 0, 0, 1, 1},
    {&__pyx_n_s_cuGreenCtxGetDevResource, __pyx_k_cuGreenCtxGetDevResource, sizeof(__pyx_k_cuGreenCtxGetDevResource), 0, 0, 1, 1},
    {&__pyx_n_s_cuGreenCtxRecordEvent, __pyx_k_cuGreenCtxRecordEvent, sizeof(__pyx_k_cuGreenCtxRecordEvent), 0, 0, 1, 1},
    {&__pyx_n_s_cuGreenCtxWaitEvent, __pyx_k_cuGreenCtxWaitEvent, sizeof(__pyx_k_cuGreenCtxWaitEvent), 0, 0, 1, 1},
    {&__pyx_n_s_cuImportExternalMemory, __pyx_k_cuImportExternalMemory, sizeof(__pyx_k_cuImportExternalMemory), 0, 0, 1, 1},
    {&__pyx_n_s_cuImportExternalSemaphore, __pyx_k_cuImportExternalSemaphore, sizeof(__pyx_k_cuImportExternalSemaphore), 0, 0, 1, 1},
    {&__pyx_n_s_cuInit, __pyx_k_cuInit, sizeof(__pyx_k_cuInit), 0, 0, 1, 1},
    {&__pyx_n_s_cuIpcCloseMemHandle, __pyx_k_cuIpcCloseMemHandle, sizeof(__pyx_k_cuIpcCloseMemHandle), 0, 0, 1, 1},
    {&__pyx_n_s_cuIpcGetEventHandle, __pyx_k_cuIpcGetEventHandle, sizeof(__pyx_k_cuIpcGetEventHandle), 0, 0, 1, 1},
    {&__pyx_n_s_cuIpcGetMemHandle, __pyx_k_cuIpcGetMemHandle, sizeof(__pyx_k_cuIpcGetMemHandle), 0, 0, 1, 1},
    {&__pyx_n_s_cuIpcOpenEventHandle, __pyx_k_cuIpcOpenEventHandle, sizeof(__pyx_k_cuIpcOpenEventHandle), 0, 0, 1, 1},
    {&__pyx_n_s_cuIpcOpenMemHandle, __pyx_k_cuIpcOpenMemHandle, sizeof(__pyx_k_cuIpcOpenMemHandle), 0, 0, 1, 1},
    {&__pyx_n_s_cuKernelGetAttribute, __pyx_k_cuKernelGetAttribute, sizeof(__pyx_k_cuKernelGetAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuKernelGetFunction, __pyx_k_cuKernelGetFunction, sizeof(__pyx_k_cuKernelGetFunction), 0, 0, 1, 1},
    {&__pyx_n_s_cuKernelGetName, __pyx_k_cuKernelGetName, sizeof(__pyx_k_cuKernelGetName), 0, 0, 1, 1},
    {&__pyx_n_s_cuKernelGetParamInfo, __pyx_k_cuKernelGetParamInfo, sizeof(__pyx_k_cuKernelGetParamInfo), 0, 0, 1, 1},
    {&__pyx_n_s_cuKernelSetAttribute, __pyx_k_cuKernelSetAttribute, sizeof(__pyx_k_cuKernelSetAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuKernelSetCacheConfig, __pyx_k_cuKernelSetCacheConfig, sizeof(__pyx_k_cuKernelSetCacheConfig), 0, 0, 1, 1},
    {&__pyx_n_s_cuLaunch, __pyx_k_cuLaunch, sizeof(__pyx_k_cuLaunch), 0, 0, 1, 1},
    {&__pyx_n_s_cuLaunchCooperativeKernel, __pyx_k_cuLaunchCooperativeKernel, sizeof(__pyx_k_cuLaunchCooperativeKernel), 0, 0, 1, 1},
    {&__pyx_n_s_cuLaunchCooperativeKernelMultiDe, __pyx_k_cuLaunchCooperativeKernelMultiDe, sizeof(__pyx_k_cuLaunchCooperativeKernelMultiDe), 0, 0, 1, 1},
    {&__pyx_n_s_cuLaunchCooperativeKernelMultiDe_2, __pyx_k_cuLaunchCooperativeKernelMultiDe_2, sizeof(__pyx_k_cuLaunchCooperativeKernelMultiDe_2), 0, 0, 1, 1},
    {&__pyx_n_s_cuLaunchGrid, __pyx_k_cuLaunchGrid, sizeof(__pyx_k_cuLaunchGrid), 0, 0, 1, 1},
    {&__pyx_n_s_cuLaunchGridAsync, __pyx_k_cuLaunchGridAsync, sizeof(__pyx_k_cuLaunchGridAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuLaunchHostFunc, __pyx_k_cuLaunchHostFunc, sizeof(__pyx_k_cuLaunchHostFunc), 0, 0, 1, 1},
    {&__pyx_n_s_cuLaunchKernel, __pyx_k_cuLaunchKernel, sizeof(__pyx_k_cuLaunchKernel), 0, 0, 1, 1},
    {&__pyx_n_s_cuLaunchKernelEx, __pyx_k_cuLaunchKernelEx, sizeof(__pyx_k_cuLaunchKernelEx), 0, 0, 1, 1},
    {&__pyx_n_s_cuLibraryEnumerateKernels, __pyx_k_cuLibraryEnumerateKernels, sizeof(__pyx_k_cuLibraryEnumerateKernels), 0, 0, 1, 1},
    {&__pyx_n_s_cuLibraryGetGlobal, __pyx_k_cuLibraryGetGlobal, sizeof(__pyx_k_cuLibraryGetGlobal), 0, 0, 1, 1},
    {&__pyx_n_s_cuLibraryGetKernel, __pyx_k_cuLibraryGetKernel, sizeof(__pyx_k_cuLibraryGetKernel), 0, 0, 1, 1},
    {&__pyx_n_s_cuLibraryGetKernelCount, __pyx_k_cuLibraryGetKernelCount, sizeof(__pyx_k_cuLibraryGetKernelCount), 0, 0, 1, 1},
    {&__pyx_n_s_cuLibraryGetManaged, __pyx_k_cuLibraryGetManaged, sizeof(__pyx_k_cuLibraryGetManaged), 0, 0, 1, 1},
    {&__pyx_n_s_cuLibraryGetModule, __pyx_k_cuLibraryGetModule, sizeof(__pyx_k_cuLibraryGetModule), 0, 0, 1, 1},
    {&__pyx_n_s_cuLibraryGetUnifiedFunction, __pyx_k_cuLibraryGetUnifiedFunction, sizeof(__pyx_k_cuLibraryGetUnifiedFunction), 0, 0, 1, 1},
    {&__pyx_n_s_cuLibraryLoadData, __pyx_k_cuLibraryLoadData, sizeof(__pyx_k_cuLibraryLoadData), 0, 0, 1, 1},
    {&__pyx_n_s_cuLibraryLoadData_locals_genexpr, __pyx_k_cuLibraryLoadData_locals_genexpr, sizeof(__pyx_k_cuLibraryLoadData_locals_genexpr), 0, 0, 1, 1},
    {&__pyx_n_s_cuLibraryLoadFromFile, __pyx_k_cuLibraryLoadFromFile, sizeof(__pyx_k_cuLibraryLoadFromFile), 0, 0, 1, 1},
    {&__pyx_n_s_cuLibraryLoadFromFile_locals_gen, __pyx_k_cuLibraryLoadFromFile_locals_gen, sizeof(__pyx_k_cuLibraryLoadFromFile_locals_gen), 0, 0, 1, 1},
    {&__pyx_n_s_cuLibraryUnload, __pyx_k_cuLibraryUnload, sizeof(__pyx_k_cuLibraryUnload), 0, 0, 1, 1},
    {&__pyx_n_s_cuLinkAddData, __pyx_k_cuLinkAddData, sizeof(__pyx_k_cuLinkAddData), 0, 0, 1, 1},
    {&__pyx_n_s_cuLinkAddData_locals_genexpr, __pyx_k_cuLinkAddData_locals_genexpr, sizeof(__pyx_k_cuLinkAddData_locals_genexpr), 0, 0, 1, 1},
    {&__pyx_n_s_cuLinkAddFile, __pyx_k_cuLinkAddFile, sizeof(__pyx_k_cuLinkAddFile), 0, 0, 1, 1},
    {&__pyx_n_s_cuLinkAddFile_locals_genexpr, __pyx_k_cuLinkAddFile_locals_genexpr, sizeof(__pyx_k_cuLinkAddFile_locals_genexpr), 0, 0, 1, 1},
    {&__pyx_n_s_cuLinkComplete, __pyx_k_cuLinkComplete, sizeof(__pyx_k_cuLinkComplete), 0, 0, 1, 1},
    {&__pyx_n_s_cuLinkCreate, __pyx_k_cuLinkCreate, sizeof(__pyx_k_cuLinkCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuLinkCreate_locals_genexpr, __pyx_k_cuLinkCreate_locals_genexpr, sizeof(__pyx_k_cuLinkCreate_locals_genexpr), 0, 0, 1, 1},
    {&__pyx_n_s_cuLinkDestroy, __pyx_k_cuLinkDestroy, sizeof(__pyx_k_cuLinkDestroy), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemAddressFree, __pyx_k_cuMemAddressFree, sizeof(__pyx_k_cuMemAddressFree), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemAddressReserve, __pyx_k_cuMemAddressReserve, sizeof(__pyx_k_cuMemAddressReserve), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemAdvise, __pyx_k_cuMemAdvise, sizeof(__pyx_k_cuMemAdvise), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemAdvise_v2, __pyx_k_cuMemAdvise_v2, sizeof(__pyx_k_cuMemAdvise_v2), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemAlloc, __pyx_k_cuMemAlloc, sizeof(__pyx_k_cuMemAlloc), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemAllocAsync, __pyx_k_cuMemAllocAsync, sizeof(__pyx_k_cuMemAllocAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemAllocFromPoolAsync, __pyx_k_cuMemAllocFromPoolAsync, sizeof(__pyx_k_cuMemAllocFromPoolAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemAllocHost, __pyx_k_cuMemAllocHost, sizeof(__pyx_k_cuMemAllocHost), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemAllocManaged, __pyx_k_cuMemAllocManaged, sizeof(__pyx_k_cuMemAllocManaged), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemAllocPitch, __pyx_k_cuMemAllocPitch, sizeof(__pyx_k_cuMemAllocPitch), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemCreate, __pyx_k_cuMemCreate, sizeof(__pyx_k_cuMemCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemExportToShareableHandle, __pyx_k_cuMemExportToShareableHandle, sizeof(__pyx_k_cuMemExportToShareableHandle), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemFree, __pyx_k_cuMemFree, sizeof(__pyx_k_cuMemFree), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemFreeAsync, __pyx_k_cuMemFreeAsync, sizeof(__pyx_k_cuMemFreeAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemFreeHost, __pyx_k_cuMemFreeHost, sizeof(__pyx_k_cuMemFreeHost), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemGetAccess, __pyx_k_cuMemGetAccess, sizeof(__pyx_k_cuMemGetAccess), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemGetAddressRange, __pyx_k_cuMemGetAddressRange, sizeof(__pyx_k_cuMemGetAddressRange), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemGetAllocationGranularity, __pyx_k_cuMemGetAllocationGranularity, sizeof(__pyx_k_cuMemGetAllocationGranularity), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemGetAllocationPropertiesFrom, __pyx_k_cuMemGetAllocationPropertiesFrom, sizeof(__pyx_k_cuMemGetAllocationPropertiesFrom), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemGetHandleForAddressRange, __pyx_k_cuMemGetHandleForAddressRange, sizeof(__pyx_k_cuMemGetHandleForAddressRange), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemGetInfo, __pyx_k_cuMemGetInfo, sizeof(__pyx_k_cuMemGetInfo), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemHostAlloc, __pyx_k_cuMemHostAlloc, sizeof(__pyx_k_cuMemHostAlloc), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemHostGetDevicePointer, __pyx_k_cuMemHostGetDevicePointer, sizeof(__pyx_k_cuMemHostGetDevicePointer), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemHostGetFlags, __pyx_k_cuMemHostGetFlags, sizeof(__pyx_k_cuMemHostGetFlags), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemHostRegister, __pyx_k_cuMemHostRegister, sizeof(__pyx_k_cuMemHostRegister), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemHostUnregister, __pyx_k_cuMemHostUnregister, sizeof(__pyx_k_cuMemHostUnregister), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemImportFromShareableHandle, __pyx_k_cuMemImportFromShareableHandle, sizeof(__pyx_k_cuMemImportFromShareableHandle), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemMap, __pyx_k_cuMemMap, sizeof(__pyx_k_cuMemMap), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemMapArrayAsync, __pyx_k_cuMemMapArrayAsync, sizeof(__pyx_k_cuMemMapArrayAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemMapArrayAsync_locals_genexp, __pyx_k_cuMemMapArrayAsync_locals_genexp, sizeof(__pyx_k_cuMemMapArrayAsync_locals_genexp), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemPoolCreate, __pyx_k_cuMemPoolCreate, sizeof(__pyx_k_cuMemPoolCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemPoolDestroy, __pyx_k_cuMemPoolDestroy, sizeof(__pyx_k_cuMemPoolDestroy), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemPoolExportPointer, __pyx_k_cuMemPoolExportPointer, sizeof(__pyx_k_cuMemPoolExportPointer), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemPoolExportToShareableHandle, __pyx_k_cuMemPoolExportToShareableHandle, sizeof(__pyx_k_cuMemPoolExportToShareableHandle), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemPoolGetAccess, __pyx_k_cuMemPoolGetAccess, sizeof(__pyx_k_cuMemPoolGetAccess), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemPoolGetAttribute, __pyx_k_cuMemPoolGetAttribute, sizeof(__pyx_k_cuMemPoolGetAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemPoolImportFromShareableHand, __pyx_k_cuMemPoolImportFromShareableHand, sizeof(__pyx_k_cuMemPoolImportFromShareableHand), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemPoolImportPointer, __pyx_k_cuMemPoolImportPointer, sizeof(__pyx_k_cuMemPoolImportPointer), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemPoolSetAccess, __pyx_k_cuMemPoolSetAccess, sizeof(__pyx_k_cuMemPoolSetAccess), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemPoolSetAccess_locals_genexp, __pyx_k_cuMemPoolSetAccess_locals_genexp, sizeof(__pyx_k_cuMemPoolSetAccess_locals_genexp), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemPoolSetAttribute, __pyx_k_cuMemPoolSetAttribute, sizeof(__pyx_k_cuMemPoolSetAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemPoolTrimTo, __pyx_k_cuMemPoolTrimTo, sizeof(__pyx_k_cuMemPoolTrimTo), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemPrefetchAsync, __pyx_k_cuMemPrefetchAsync, sizeof(__pyx_k_cuMemPrefetchAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemPrefetchAsync_v2, __pyx_k_cuMemPrefetchAsync_v2, sizeof(__pyx_k_cuMemPrefetchAsync_v2), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemRangeGetAttribute, __pyx_k_cuMemRangeGetAttribute, sizeof(__pyx_k_cuMemRangeGetAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemRangeGetAttributes, __pyx_k_cuMemRangeGetAttributes, sizeof(__pyx_k_cuMemRangeGetAttributes), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemRangeGetAttributes_locals_g, __pyx_k_cuMemRangeGetAttributes_locals_g, sizeof(__pyx_k_cuMemRangeGetAttributes_locals_g), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemRelease, __pyx_k_cuMemRelease, sizeof(__pyx_k_cuMemRelease), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemRetainAllocationHandle, __pyx_k_cuMemRetainAllocationHandle, sizeof(__pyx_k_cuMemRetainAllocationHandle), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemSetAccess, __pyx_k_cuMemSetAccess, sizeof(__pyx_k_cuMemSetAccess), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemSetAccess_locals_genexpr, __pyx_k_cuMemSetAccess_locals_genexpr, sizeof(__pyx_k_cuMemSetAccess_locals_genexpr), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemUnmap, __pyx_k_cuMemUnmap, sizeof(__pyx_k_cuMemUnmap), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpy, __pyx_k_cuMemcpy, sizeof(__pyx_k_cuMemcpy), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpy2D, __pyx_k_cuMemcpy2D, sizeof(__pyx_k_cuMemcpy2D), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpy2DAsync, __pyx_k_cuMemcpy2DAsync, sizeof(__pyx_k_cuMemcpy2DAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpy2DUnaligned, __pyx_k_cuMemcpy2DUnaligned, sizeof(__pyx_k_cuMemcpy2DUnaligned), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpy3D, __pyx_k_cuMemcpy3D, sizeof(__pyx_k_cuMemcpy3D), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpy3DAsync, __pyx_k_cuMemcpy3DAsync, sizeof(__pyx_k_cuMemcpy3DAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpy3DPeer, __pyx_k_cuMemcpy3DPeer, sizeof(__pyx_k_cuMemcpy3DPeer), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpy3DPeerAsync, __pyx_k_cuMemcpy3DPeerAsync, sizeof(__pyx_k_cuMemcpy3DPeerAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpyAsync, __pyx_k_cuMemcpyAsync, sizeof(__pyx_k_cuMemcpyAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpyAtoA, __pyx_k_cuMemcpyAtoA, sizeof(__pyx_k_cuMemcpyAtoA), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpyAtoD, __pyx_k_cuMemcpyAtoD, sizeof(__pyx_k_cuMemcpyAtoD), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpyAtoH, __pyx_k_cuMemcpyAtoH, sizeof(__pyx_k_cuMemcpyAtoH), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpyAtoHAsync, __pyx_k_cuMemcpyAtoHAsync, sizeof(__pyx_k_cuMemcpyAtoHAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpyDtoA, __pyx_k_cuMemcpyDtoA, sizeof(__pyx_k_cuMemcpyDtoA), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpyDtoD, __pyx_k_cuMemcpyDtoD, sizeof(__pyx_k_cuMemcpyDtoD), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpyDtoDAsync, __pyx_k_cuMemcpyDtoDAsync, sizeof(__pyx_k_cuMemcpyDtoDAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpyDtoH, __pyx_k_cuMemcpyDtoH, sizeof(__pyx_k_cuMemcpyDtoH), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpyDtoHAsync, __pyx_k_cuMemcpyDtoHAsync, sizeof(__pyx_k_cuMemcpyDtoHAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpyHtoA, __pyx_k_cuMemcpyHtoA, sizeof(__pyx_k_cuMemcpyHtoA), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpyHtoAAsync, __pyx_k_cuMemcpyHtoAAsync, sizeof(__pyx_k_cuMemcpyHtoAAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpyHtoD, __pyx_k_cuMemcpyHtoD, sizeof(__pyx_k_cuMemcpyHtoD), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpyHtoDAsync, __pyx_k_cuMemcpyHtoDAsync, sizeof(__pyx_k_cuMemcpyHtoDAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpyPeer, __pyx_k_cuMemcpyPeer, sizeof(__pyx_k_cuMemcpyPeer), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemcpyPeerAsync, __pyx_k_cuMemcpyPeerAsync, sizeof(__pyx_k_cuMemcpyPeerAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemsetD16, __pyx_k_cuMemsetD16, sizeof(__pyx_k_cuMemsetD16), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemsetD16Async, __pyx_k_cuMemsetD16Async, sizeof(__pyx_k_cuMemsetD16Async), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemsetD2D16, __pyx_k_cuMemsetD2D16, sizeof(__pyx_k_cuMemsetD2D16), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemsetD2D16Async, __pyx_k_cuMemsetD2D16Async, sizeof(__pyx_k_cuMemsetD2D16Async), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemsetD2D32, __pyx_k_cuMemsetD2D32, sizeof(__pyx_k_cuMemsetD2D32), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemsetD2D32Async, __pyx_k_cuMemsetD2D32Async, sizeof(__pyx_k_cuMemsetD2D32Async), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemsetD2D8, __pyx_k_cuMemsetD2D8, sizeof(__pyx_k_cuMemsetD2D8), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemsetD2D8Async, __pyx_k_cuMemsetD2D8Async, sizeof(__pyx_k_cuMemsetD2D8Async), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemsetD32, __pyx_k_cuMemsetD32, sizeof(__pyx_k_cuMemsetD32), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemsetD32Async, __pyx_k_cuMemsetD32Async, sizeof(__pyx_k_cuMemsetD32Async), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemsetD8, __pyx_k_cuMemsetD8, sizeof(__pyx_k_cuMemsetD8), 0, 0, 1, 1},
    {&__pyx_n_s_cuMemsetD8Async, __pyx_k_cuMemsetD8Async, sizeof(__pyx_k_cuMemsetD8Async), 0, 0, 1, 1},
    {&__pyx_n_s_cuMipmappedArrayCreate, __pyx_k_cuMipmappedArrayCreate, sizeof(__pyx_k_cuMipmappedArrayCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuMipmappedArrayDestroy, __pyx_k_cuMipmappedArrayDestroy, sizeof(__pyx_k_cuMipmappedArrayDestroy), 0, 0, 1, 1},
    {&__pyx_n_s_cuMipmappedArrayGetLevel, __pyx_k_cuMipmappedArrayGetLevel, sizeof(__pyx_k_cuMipmappedArrayGetLevel), 0, 0, 1, 1},
    {&__pyx_n_s_cuMipmappedArrayGetMemoryRequire, __pyx_k_cuMipmappedArrayGetMemoryRequire, sizeof(__pyx_k_cuMipmappedArrayGetMemoryRequire), 0, 0, 1, 1},
    {&__pyx_n_s_cuMipmappedArrayGetSparsePropert, __pyx_k_cuMipmappedArrayGetSparsePropert, sizeof(__pyx_k_cuMipmappedArrayGetSparsePropert), 0, 0, 1, 1},
    {&__pyx_n_s_cuModuleEnumerateFunctions, __pyx_k_cuModuleEnumerateFunctions, sizeof(__pyx_k_cuModuleEnumerateFunctions), 0, 0, 1, 1},
    {&__pyx_n_s_cuModuleGetFunction, __pyx_k_cuModuleGetFunction, sizeof(__pyx_k_cuModuleGetFunction), 0, 0, 1, 1},
    {&__pyx_n_s_cuModuleGetFunctionCount, __pyx_k_cuModuleGetFunctionCount, sizeof(__pyx_k_cuModuleGetFunctionCount), 0, 0, 1, 1},
    {&__pyx_n_s_cuModuleGetGlobal, __pyx_k_cuModuleGetGlobal, sizeof(__pyx_k_cuModuleGetGlobal), 0, 0, 1, 1},
    {&__pyx_n_s_cuModuleGetLoadingMode, __pyx_k_cuModuleGetLoadingMode, sizeof(__pyx_k_cuModuleGetLoadingMode), 0, 0, 1, 1},
    {&__pyx_n_s_cuModuleGetSurfRef, __pyx_k_cuModuleGetSurfRef, sizeof(__pyx_k_cuModuleGetSurfRef), 0, 0, 1, 1},
    {&__pyx_n_s_cuModuleGetTexRef, __pyx_k_cuModuleGetTexRef, sizeof(__pyx_k_cuModuleGetTexRef), 0, 0, 1, 1},
    {&__pyx_n_s_cuModuleLoad, __pyx_k_cuModuleLoad, sizeof(__pyx_k_cuModuleLoad), 0, 0, 1, 1},
    {&__pyx_n_s_cuModuleLoadData, __pyx_k_cuModuleLoadData, sizeof(__pyx_k_cuModuleLoadData), 0, 0, 1, 1},
    {&__pyx_n_s_cuModuleLoadDataEx, __pyx_k_cuModuleLoadDataEx, sizeof(__pyx_k_cuModuleLoadDataEx), 0, 0, 1, 1},
    {&__pyx_n_s_cuModuleLoadDataEx_locals_genexp, __pyx_k_cuModuleLoadDataEx_locals_genexp, sizeof(__pyx_k_cuModuleLoadDataEx_locals_genexp), 0, 0, 1, 1},
    {&__pyx_n_s_cuModuleLoadFatBinary, __pyx_k_cuModuleLoadFatBinary, sizeof(__pyx_k_cuModuleLoadFatBinary), 0, 0, 1, 1},
    {&__pyx_n_s_cuModuleUnload, __pyx_k_cuModuleUnload, sizeof(__pyx_k_cuModuleUnload), 0, 0, 1, 1},
    {&__pyx_n_s_cuMulticastAddDevice, __pyx_k_cuMulticastAddDevice, sizeof(__pyx_k_cuMulticastAddDevice), 0, 0, 1, 1},
    {&__pyx_n_s_cuMulticastBindAddr, __pyx_k_cuMulticastBindAddr, sizeof(__pyx_k_cuMulticastBindAddr), 0, 0, 1, 1},
    {&__pyx_n_s_cuMulticastBindMem, __pyx_k_cuMulticastBindMem, sizeof(__pyx_k_cuMulticastBindMem), 0, 0, 1, 1},
    {&__pyx_n_s_cuMulticastCreate, __pyx_k_cuMulticastCreate, sizeof(__pyx_k_cuMulticastCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuMulticastGetGranularity, __pyx_k_cuMulticastGetGranularity, sizeof(__pyx_k_cuMulticastGetGranularity), 0, 0, 1, 1},
    {&__pyx_n_s_cuMulticastUnbind, __pyx_k_cuMulticastUnbind, sizeof(__pyx_k_cuMulticastUnbind), 0, 0, 1, 1},
    {&__pyx_n_s_cuOccupancyAvailableDynamicSMemP, __pyx_k_cuOccupancyAvailableDynamicSMemP, sizeof(__pyx_k_cuOccupancyAvailableDynamicSMemP), 0, 0, 1, 1},
    {&__pyx_n_s_cuOccupancyMaxActiveBlocksPerMul, __pyx_k_cuOccupancyMaxActiveBlocksPerMul, sizeof(__pyx_k_cuOccupancyMaxActiveBlocksPerMul), 0, 0, 1, 1},
    {&__pyx_n_s_cuOccupancyMaxActiveBlocksPerMul_2, __pyx_k_cuOccupancyMaxActiveBlocksPerMul_2, sizeof(__pyx_k_cuOccupancyMaxActiveBlocksPerMul_2), 0, 0, 1, 1},
    {&__pyx_n_s_cuOccupancyMaxActiveClusters, __pyx_k_cuOccupancyMaxActiveClusters, sizeof(__pyx_k_cuOccupancyMaxActiveClusters), 0, 0, 1, 1},
    {&__pyx_n_s_cuOccupancyMaxPotentialBlockSize, __pyx_k_cuOccupancyMaxPotentialBlockSize, sizeof(__pyx_k_cuOccupancyMaxPotentialBlockSize), 0, 0, 1, 1},
    {&__pyx_n_s_cuOccupancyMaxPotentialBlockSize_2, __pyx_k_cuOccupancyMaxPotentialBlockSize_2, sizeof(__pyx_k_cuOccupancyMaxPotentialBlockSize_2), 0, 0, 1, 1},
    {&__pyx_n_s_cuOccupancyMaxPotentialClusterSi, __pyx_k_cuOccupancyMaxPotentialClusterSi, sizeof(__pyx_k_cuOccupancyMaxPotentialClusterSi), 0, 0, 1, 1},
    {&__pyx_n_s_cuParamSetSize, __pyx_k_cuParamSetSize, sizeof(__pyx_k_cuParamSetSize), 0, 0, 1, 1},
    {&__pyx_n_s_cuParamSetTexRef, __pyx_k_cuParamSetTexRef, sizeof(__pyx_k_cuParamSetTexRef), 0, 0, 1, 1},
    {&__pyx_n_s_cuParamSetf, __pyx_k_cuParamSetf, sizeof(__pyx_k_cuParamSetf), 0, 0, 1, 1},
    {&__pyx_n_s_cuParamSeti, __pyx_k_cuParamSeti, sizeof(__pyx_k_cuParamSeti), 0, 0, 1, 1},
    {&__pyx_n_s_cuParamSetv, __pyx_k_cuParamSetv, sizeof(__pyx_k_cuParamSetv), 0, 0, 1, 1},
    {&__pyx_n_s_cuPointerGetAttribute, __pyx_k_cuPointerGetAttribute, sizeof(__pyx_k_cuPointerGetAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuPointerGetAttributes, __pyx_k_cuPointerGetAttributes, sizeof(__pyx_k_cuPointerGetAttributes), 0, 0, 1, 1},
    {&__pyx_n_s_cuPointerGetAttributes_locals_ge, __pyx_k_cuPointerGetAttributes_locals_ge, sizeof(__pyx_k_cuPointerGetAttributes_locals_ge), 0, 0, 1, 1},
    {&__pyx_n_s_cuPointerSetAttribute, __pyx_k_cuPointerSetAttribute, sizeof(__pyx_k_cuPointerSetAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuProfilerStart, __pyx_k_cuProfilerStart, sizeof(__pyx_k_cuProfilerStart), 0, 0, 1, 1},
    {&__pyx_n_s_cuProfilerStop, __pyx_k_cuProfilerStop, sizeof(__pyx_k_cuProfilerStop), 0, 0, 1, 1},
    {&__pyx_n_s_cuSignalExternalSemaphoresAsync, __pyx_k_cuSignalExternalSemaphoresAsync, sizeof(__pyx_k_cuSignalExternalSemaphoresAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuSignalExternalSemaphoresAsync_2, __pyx_k_cuSignalExternalSemaphoresAsync_2, sizeof(__pyx_k_cuSignalExternalSemaphoresAsync_2), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamAddCallback, __pyx_k_cuStreamAddCallback, sizeof(__pyx_k_cuStreamAddCallback), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamAttachMemAsync, __pyx_k_cuStreamAttachMemAsync, sizeof(__pyx_k_cuStreamAttachMemAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamBatchMemOp, __pyx_k_cuStreamBatchMemOp, sizeof(__pyx_k_cuStreamBatchMemOp), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamBatchMemOp_locals_genexp, __pyx_k_cuStreamBatchMemOp_locals_genexp, sizeof(__pyx_k_cuStreamBatchMemOp_locals_genexp), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamBeginCapture, __pyx_k_cuStreamBeginCapture, sizeof(__pyx_k_cuStreamBeginCapture), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamBeginCaptureToGraph, __pyx_k_cuStreamBeginCaptureToGraph, sizeof(__pyx_k_cuStreamBeginCaptureToGraph), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamBeginCaptureToGraph_loca, __pyx_k_cuStreamBeginCaptureToGraph_loca, sizeof(__pyx_k_cuStreamBeginCaptureToGraph_loca), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamCopyAttributes, __pyx_k_cuStreamCopyAttributes, sizeof(__pyx_k_cuStreamCopyAttributes), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamCreate, __pyx_k_cuStreamCreate, sizeof(__pyx_k_cuStreamCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamCreateWithPriority, __pyx_k_cuStreamCreateWithPriority, sizeof(__pyx_k_cuStreamCreateWithPriority), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamDestroy, __pyx_k_cuStreamDestroy, sizeof(__pyx_k_cuStreamDestroy), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamEndCapture, __pyx_k_cuStreamEndCapture, sizeof(__pyx_k_cuStreamEndCapture), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamGetAttribute, __pyx_k_cuStreamGetAttribute, sizeof(__pyx_k_cuStreamGetAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamGetCaptureInfo, __pyx_k_cuStreamGetCaptureInfo, sizeof(__pyx_k_cuStreamGetCaptureInfo), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamGetCaptureInfo_v3, __pyx_k_cuStreamGetCaptureInfo_v3, sizeof(__pyx_k_cuStreamGetCaptureInfo_v3), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamGetCtx, __pyx_k_cuStreamGetCtx, sizeof(__pyx_k_cuStreamGetCtx), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamGetFlags, __pyx_k_cuStreamGetFlags, sizeof(__pyx_k_cuStreamGetFlags), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamGetGreenCtx, __pyx_k_cuStreamGetGreenCtx, sizeof(__pyx_k_cuStreamGetGreenCtx), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamGetId, __pyx_k_cuStreamGetId, sizeof(__pyx_k_cuStreamGetId), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamGetPriority, __pyx_k_cuStreamGetPriority, sizeof(__pyx_k_cuStreamGetPriority), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamIsCapturing, __pyx_k_cuStreamIsCapturing, sizeof(__pyx_k_cuStreamIsCapturing), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamQuery, __pyx_k_cuStreamQuery, sizeof(__pyx_k_cuStreamQuery), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamSetAttribute, __pyx_k_cuStreamSetAttribute, sizeof(__pyx_k_cuStreamSetAttribute), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamSynchronize, __pyx_k_cuStreamSynchronize, sizeof(__pyx_k_cuStreamSynchronize), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamUpdateCaptureDependencie, __pyx_k_cuStreamUpdateCaptureDependencie, sizeof(__pyx_k_cuStreamUpdateCaptureDependencie), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamUpdateCaptureDependencie_2, __pyx_k_cuStreamUpdateCaptureDependencie_2, sizeof(__pyx_k_cuStreamUpdateCaptureDependencie_2), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamUpdateCaptureDependencie_3, __pyx_k_cuStreamUpdateCaptureDependencie_3, sizeof(__pyx_k_cuStreamUpdateCaptureDependencie_3), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamUpdateCaptureDependencie_4, __pyx_k_cuStreamUpdateCaptureDependencie_4, sizeof(__pyx_k_cuStreamUpdateCaptureDependencie_4), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamWaitEvent, __pyx_k_cuStreamWaitEvent, sizeof(__pyx_k_cuStreamWaitEvent), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamWaitValue32, __pyx_k_cuStreamWaitValue32, sizeof(__pyx_k_cuStreamWaitValue32), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamWaitValue64, __pyx_k_cuStreamWaitValue64, sizeof(__pyx_k_cuStreamWaitValue64), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamWriteValue32, __pyx_k_cuStreamWriteValue32, sizeof(__pyx_k_cuStreamWriteValue32), 0, 0, 1, 1},
    {&__pyx_n_s_cuStreamWriteValue64, __pyx_k_cuStreamWriteValue64, sizeof(__pyx_k_cuStreamWriteValue64), 0, 0, 1, 1},
    {&__pyx_n_s_cuSurfObjectCreate, __pyx_k_cuSurfObjectCreate, sizeof(__pyx_k_cuSurfObjectCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuSurfObjectDestroy, __pyx_k_cuSurfObjectDestroy, sizeof(__pyx_k_cuSurfObjectDestroy), 0, 0, 1, 1},
    {&__pyx_n_s_cuSurfObjectGetResourceDesc, __pyx_k_cuSurfObjectGetResourceDesc, sizeof(__pyx_k_cuSurfObjectGetResourceDesc), 0, 0, 1, 1},
    {&__pyx_n_s_cuSurfRefGetArray, __pyx_k_cuSurfRefGetArray, sizeof(__pyx_k_cuSurfRefGetArray), 0, 0, 1, 1},
    {&__pyx_n_s_cuSurfRefSetArray, __pyx_k_cuSurfRefSetArray, sizeof(__pyx_k_cuSurfRefSetArray), 0, 0, 1, 1},
    {&__pyx_n_s_cuTensorMapEncodeIm2col, __pyx_k_cuTensorMapEncodeIm2col, sizeof(__pyx_k_cuTensorMapEncodeIm2col), 0, 0, 1, 1},
    {&__pyx_n_s_cuTensorMapEncodeIm2col_locals_g, __pyx_k_cuTensorMapEncodeIm2col_locals_g, sizeof(__pyx_k_cuTensorMapEncodeIm2col_locals_g), 0, 0, 1, 1},
    {&__pyx_n_s_cuTensorMapEncodeTiled, __pyx_k_cuTensorMapEncodeTiled, sizeof(__pyx_k_cuTensorMapEncodeTiled), 0, 0, 1, 1},
    {&__pyx_n_s_cuTensorMapEncodeTiled_locals_ge, __pyx_k_cuTensorMapEncodeTiled_locals_ge, sizeof(__pyx_k_cuTensorMapEncodeTiled_locals_ge), 0, 0, 1, 1},
    {&__pyx_n_s_cuTensorMapReplaceAddress, __pyx_k_cuTensorMapReplaceAddress, sizeof(__pyx_k_cuTensorMapReplaceAddress), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexObjectCreate, __pyx_k_cuTexObjectCreate, sizeof(__pyx_k_cuTexObjectCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexObjectDestroy, __pyx_k_cuTexObjectDestroy, sizeof(__pyx_k_cuTexObjectDestroy), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexObjectGetResourceDesc, __pyx_k_cuTexObjectGetResourceDesc, sizeof(__pyx_k_cuTexObjectGetResourceDesc), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexObjectGetResourceViewDesc, __pyx_k_cuTexObjectGetResourceViewDesc, sizeof(__pyx_k_cuTexObjectGetResourceViewDesc), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexObjectGetTextureDesc, __pyx_k_cuTexObjectGetTextureDesc, sizeof(__pyx_k_cuTexObjectGetTextureDesc), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefCreate, __pyx_k_cuTexRefCreate, sizeof(__pyx_k_cuTexRefCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefDestroy, __pyx_k_cuTexRefDestroy, sizeof(__pyx_k_cuTexRefDestroy), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefGetAddress, __pyx_k_cuTexRefGetAddress, sizeof(__pyx_k_cuTexRefGetAddress), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefGetAddressMode, __pyx_k_cuTexRefGetAddressMode, sizeof(__pyx_k_cuTexRefGetAddressMode), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefGetArray, __pyx_k_cuTexRefGetArray, sizeof(__pyx_k_cuTexRefGetArray), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefGetBorderColor, __pyx_k_cuTexRefGetBorderColor, sizeof(__pyx_k_cuTexRefGetBorderColor), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefGetFilterMode, __pyx_k_cuTexRefGetFilterMode, sizeof(__pyx_k_cuTexRefGetFilterMode), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefGetFlags, __pyx_k_cuTexRefGetFlags, sizeof(__pyx_k_cuTexRefGetFlags), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefGetFormat, __pyx_k_cuTexRefGetFormat, sizeof(__pyx_k_cuTexRefGetFormat), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefGetMaxAnisotropy, __pyx_k_cuTexRefGetMaxAnisotropy, sizeof(__pyx_k_cuTexRefGetMaxAnisotropy), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefGetMipmapFilterMode, __pyx_k_cuTexRefGetMipmapFilterMode, sizeof(__pyx_k_cuTexRefGetMipmapFilterMode), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefGetMipmapLevelBias, __pyx_k_cuTexRefGetMipmapLevelBias, sizeof(__pyx_k_cuTexRefGetMipmapLevelBias), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefGetMipmapLevelClamp, __pyx_k_cuTexRefGetMipmapLevelClamp, sizeof(__pyx_k_cuTexRefGetMipmapLevelClamp), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefGetMipmappedArray, __pyx_k_cuTexRefGetMipmappedArray, sizeof(__pyx_k_cuTexRefGetMipmappedArray), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefSetAddress, __pyx_k_cuTexRefSetAddress, sizeof(__pyx_k_cuTexRefSetAddress), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefSetAddress2D, __pyx_k_cuTexRefSetAddress2D, sizeof(__pyx_k_cuTexRefSetAddress2D), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefSetAddressMode, __pyx_k_cuTexRefSetAddressMode, sizeof(__pyx_k_cuTexRefSetAddressMode), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefSetArray, __pyx_k_cuTexRefSetArray, sizeof(__pyx_k_cuTexRefSetArray), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefSetBorderColor, __pyx_k_cuTexRefSetBorderColor, sizeof(__pyx_k_cuTexRefSetBorderColor), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefSetFilterMode, __pyx_k_cuTexRefSetFilterMode, sizeof(__pyx_k_cuTexRefSetFilterMode), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefSetFlags, __pyx_k_cuTexRefSetFlags, sizeof(__pyx_k_cuTexRefSetFlags), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefSetFormat, __pyx_k_cuTexRefSetFormat, sizeof(__pyx_k_cuTexRefSetFormat), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefSetMaxAnisotropy, __pyx_k_cuTexRefSetMaxAnisotropy, sizeof(__pyx_k_cuTexRefSetMaxAnisotropy), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefSetMipmapFilterMode, __pyx_k_cuTexRefSetMipmapFilterMode, sizeof(__pyx_k_cuTexRefSetMipmapFilterMode), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefSetMipmapLevelBias, __pyx_k_cuTexRefSetMipmapLevelBias, sizeof(__pyx_k_cuTexRefSetMipmapLevelBias), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefSetMipmapLevelClamp, __pyx_k_cuTexRefSetMipmapLevelClamp, sizeof(__pyx_k_cuTexRefSetMipmapLevelClamp), 0, 0, 1, 1},
    {&__pyx_n_s_cuTexRefSetMipmappedArray, __pyx_k_cuTexRefSetMipmappedArray, sizeof(__pyx_k_cuTexRefSetMipmappedArray), 0, 0, 1, 1},
    {&__pyx_n_s_cuThreadExchangeStreamCaptureMod, __pyx_k_cuThreadExchangeStreamCaptureMod, sizeof(__pyx_k_cuThreadExchangeStreamCaptureMod), 0, 0, 1, 1},
    {&__pyx_n_s_cuUserObjectCreate, __pyx_k_cuUserObjectCreate, sizeof(__pyx_k_cuUserObjectCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuUserObjectRelease, __pyx_k_cuUserObjectRelease, sizeof(__pyx_k_cuUserObjectRelease), 0, 0, 1, 1},
    {&__pyx_n_s_cuUserObjectRetain, __pyx_k_cuUserObjectRetain, sizeof(__pyx_k_cuUserObjectRetain), 0, 0, 1, 1},
    {&__pyx_n_s_cuVDPAUCtxCreate, __pyx_k_cuVDPAUCtxCreate, sizeof(__pyx_k_cuVDPAUCtxCreate), 0, 0, 1, 1},
    {&__pyx_n_s_cuVDPAUGetDevice, __pyx_k_cuVDPAUGetDevice, sizeof(__pyx_k_cuVDPAUGetDevice), 0, 0, 1, 1},
    {&__pyx_n_s_cuWaitExternalSemaphoresAsync, __pyx_k_cuWaitExternalSemaphoresAsync, sizeof(__pyx_k_cuWaitExternalSemaphoresAsync), 0, 0, 1, 1},
    {&__pyx_n_s_cuWaitExternalSemaphoresAsync_lo, __pyx_k_cuWaitExternalSemaphoresAsync_lo, sizeof(__pyx_k_cuWaitExternalSemaphoresAsync_lo), 0, 0, 1, 1},
    {&__pyx_n_s_cubinOut, __pyx_k_cubinOut, sizeof(__pyx_k_cubinOut), 0, 0, 1, 1},
    {&__pyx_n_s_cudaDeviceCount, __pyx_k_cudaDeviceCount, sizeof(__pyx_k_cudaDeviceCount), 0, 0, 1, 1},
    {&__pyx_n_s_cudaVersion, __pyx_k_cudaVersion, sizeof(__pyx_k_cudaVersion), 0, 0, 1, 1},
    {&__pyx_n_s_cuda_cuda, __pyx_k_cuda_cuda, sizeof(__pyx_k_cuda_cuda), 0, 0, 1, 1},
    {&__pyx_kp_s_cuda_cuda_pyx, __pyx_k_cuda_cuda_pyx, sizeof(__pyx_k_cuda_cuda_pyx), 0, 0, 1, 0},
    {&__pyx_n_s_cuserData, __pyx_k_cuserData, sizeof(__pyx_k_cuserData), 0, 0, 1, 1},
    {&__pyx_n_s_cuserData_ptr, __pyx_k_cuserData_ptr, sizeof(__pyx_k_cuserData_ptr), 0, 0, 1, 1},
    {&__pyx_kp_u_cuuint32_t, __pyx_k_cuuint32_t, sizeof(__pyx_k_cuuint32_t), 0, 1, 0, 0},
    {&__pyx_n_s_cuuint32_t_2, __pyx_k_cuuint32_t_2, sizeof(__pyx_k_cuuint32_t_2), 0, 0, 1, 1},
    {&__pyx_n_s_cuuint32_t___reduce_cython, __pyx_k_cuuint32_t___reduce_cython, sizeof(__pyx_k_cuuint32_t___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_cuuint32_t___setstate_cython, __pyx_k_cuuint32_t___setstate_cython, sizeof(__pyx_k_cuuint32_t___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_cuuint32_t_getPtr, __pyx_k_cuuint32_t_getPtr, sizeof(__pyx_k_cuuint32_t_getPtr), 0, 0, 1, 1},
    {&__pyx_kp_u_cuuint64_t, __pyx_k_cuuint64_t, sizeof(__pyx_k_cuuint64_t), 0, 1, 0, 0},
    {&__pyx_n_s_cuuint64_t_2, __pyx_k_cuuint64_t_2, sizeof(__pyx_k_cuuint64_t_2), 0, 0, 1, 1},
    {&__pyx_n_s_cuuint64_t___reduce_cython, __pyx_k_cuuint64_t___reduce_cython, sizeof(__pyx_k_cuuint64_t___reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_cuuint64_t___setstate_cython, __pyx_k_cuuint64_t___setstate_cython, sizeof(__pyx_k_cuuint64_t___setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_cuuint64_t_getPtr, __pyx_k_cuuint64_t_getPtr, sizeof(__pyx_k_cuuint64_t_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_cvalue, __pyx_k_cvalue, sizeof(__pyx_k_cvalue), 0, 0, 1, 1},
    {&__pyx_n_s_cvalue_ptr, __pyx_k_cvalue_ptr, sizeof(__pyx_k_cvalue_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cvdpDevice, __pyx_k_cvdpDevice, sizeof(__pyx_k_cvdpDevice), 0, 0, 1, 1},
    {&__pyx_n_s_cvdpGetProcAddress, __pyx_k_cvdpGetProcAddress, sizeof(__pyx_k_cvdpGetProcAddress), 0, 0, 1, 1},
    {&__pyx_n_s_cvdpSurface, __pyx_k_cvdpSurface, sizeof(__pyx_k_cvdpSurface), 0, 0, 1, 1},
    {&__pyx_n_s_cvoidStarHelper_ptr, __pyx_k_cvoidStarHelper_ptr, sizeof(__pyx_k_cvoidStarHelper_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_cwidth, __pyx_k_cwidth, sizeof(__pyx_k_cwidth), 0, 0, 1, 1},
    {&__pyx_kp_u_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 1, 0, 0},
    {&__pyx_n_s_dataSize, __pyx_k_dataSize, sizeof(__pyx_k_dataSize), 0, 0, 1, 1},
    {&__pyx_n_s_dataSizes, __pyx_k_dataSizes, sizeof(__pyx_k_dataSizes), 0, 0, 1, 1},
    {&__pyx_kp_u_dataTable, __pyx_k_dataTable, sizeof(__pyx_k_dataTable), 0, 1, 0, 0},
    {&__pyx_n_s_dataTable_2, __pyx_k_dataTable_2, sizeof(__pyx_k_dataTable_2), 0, 0, 1, 1},
    {&__pyx_kp_u_dataTable_ValueError, __pyx_k_dataTable_ValueError, sizeof(__pyx_k_dataTable_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_dataWindowSize, __pyx_k_dataWindowSize, sizeof(__pyx_k_dataWindowSize), 0, 1, 0, 0},
    {&__pyx_n_s_dataWindowSize_2, __pyx_k_dataWindowSize_2, sizeof(__pyx_k_dataWindowSize_2), 0, 0, 1, 1},
    {&__pyx_kp_u_dataWindowSize_ValueError, __pyx_k_dataWindowSize_ValueError, sizeof(__pyx_k_dataWindowSize_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_data_2, __pyx_k_data_2, sizeof(__pyx_k_data_2), 0, 0, 1, 1},
    {&__pyx_kp_u_data_ValueError, __pyx_k_data_ValueError, sizeof(__pyx_k_data_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_data_length_must_be_64_is, __pyx_k_data_length_must_be_64_is, sizeof(__pyx_k_data_length_must_be_64_is), 0, 1, 0, 0},
    {&__pyx_kp_u_default, __pyx_k_default, sizeof(__pyx_k_default), 0, 1, 0, 0},
    {&__pyx_n_s_defaultLaunchValue, __pyx_k_defaultLaunchValue, sizeof(__pyx_k_defaultLaunchValue), 0, 0, 1, 1},
    {&__pyx_n_s_default_2, __pyx_k_default_2, sizeof(__pyx_k_default_2), 0, 0, 1, 1},
    {&__pyx_kp_u_default__ValueError, __pyx_k_default__ValueError, sizeof(__pyx_k_default__ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_dependencies, __pyx_k_dependencies, sizeof(__pyx_k_dependencies), 0, 0, 1, 1},
    {&__pyx_n_s_dependencyData, __pyx_k_dependencyData, sizeof(__pyx_k_dependencyData), 0, 0, 1, 1},
    {&__pyx_kp_u_depth, __pyx_k_depth, sizeof(__pyx_k_depth), 0, 1, 0, 0},
    {&__pyx_n_s_depth_2, __pyx_k_depth_2, sizeof(__pyx_k_depth_2), 0, 0, 1, 1},
    {&__pyx_kp_u_depth_ValueError, __pyx_k_depth_ValueError, sizeof(__pyx_k_depth_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_desc, __pyx_k_desc, sizeof(__pyx_k_desc), 0, 0, 1, 1},
    {&__pyx_n_s_destroy, __pyx_k_destroy, sizeof(__pyx_k_destroy), 0, 0, 1, 1},
    {&__pyx_n_s_dev, __pyx_k_dev, sizeof(__pyx_k_dev), 0, 0, 1, 1},
    {&__pyx_kp_u_devNode, __pyx_k_devNode, sizeof(__pyx_k_devNode), 0, 1, 0, 0},
    {&__pyx_n_s_devNode_2, __pyx_k_devNode_2, sizeof(__pyx_k_devNode_2), 0, 0, 1, 1},
    {&__pyx_kp_u_devNode_ValueError, __pyx_k_devNode_ValueError, sizeof(__pyx_k_devNode_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_devPtr, __pyx_k_devPtr, sizeof(__pyx_k_devPtr), 0, 1, 0, 0},
    {&__pyx_n_s_devPtr_2, __pyx_k_devPtr_2, sizeof(__pyx_k_devPtr_2), 0, 0, 1, 1},
    {&__pyx_kp_u_devPtr_ValueError, __pyx_k_devPtr_ValueError, sizeof(__pyx_k_devPtr_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_device, __pyx_k_device, sizeof(__pyx_k_device), 0, 0, 1, 1},
    {&__pyx_kp_u_deviceBitMask, __pyx_k_deviceBitMask, sizeof(__pyx_k_deviceBitMask), 0, 1, 0, 0},
    {&__pyx_n_s_deviceBitMask_2, __pyx_k_deviceBitMask_2, sizeof(__pyx_k_deviceBitMask_2), 0, 0, 1, 1},
    {&__pyx_kp_u_deviceBitMask_ValueError, __pyx_k_deviceBitMask_ValueError, sizeof(__pyx_k_deviceBitMask_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_deviceList, __pyx_k_deviceList, sizeof(__pyx_k_deviceList), 0, 0, 1, 1},
    {&__pyx_n_s_deviceNodeMask, __pyx_k_deviceNodeMask, sizeof(__pyx_k_deviceNodeMask), 0, 0, 1, 1},
    {&__pyx_kp_u_deviceUpdatable, __pyx_k_deviceUpdatable, sizeof(__pyx_k_deviceUpdatable), 0, 1, 0, 0},
    {&__pyx_kp_u_deviceUpdatableKernelNode, __pyx_k_deviceUpdatableKernelNode, sizeof(__pyx_k_deviceUpdatableKernelNode), 0, 1, 0, 0},
    {&__pyx_n_s_deviceUpdatableKernelNode_2, __pyx_k_deviceUpdatableKernelNode_2, sizeof(__pyx_k_deviceUpdatableKernelNode_2), 0, 0, 1, 1},
    {&__pyx_kp_u_deviceUpdatableKernelNode_ValueE, __pyx_k_deviceUpdatableKernelNode_ValueE, sizeof(__pyx_k_deviceUpdatableKernelNode_ValueE), 0, 1, 0, 0},
    {&__pyx_n_s_deviceUpdatable_2, __pyx_k_deviceUpdatable_2, sizeof(__pyx_k_deviceUpdatable_2), 0, 0, 1, 1},
    {&__pyx_kp_u_deviceUpdatable_ValueError, __pyx_k_deviceUpdatable_ValueError, sizeof(__pyx_k_deviceUpdatable_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1},
    {&__pyx_n_s_dim, __pyx_k_dim, sizeof(__pyx_k_dim), 0, 0, 1, 1},
    {&__pyx_kp_u_disable, __pyx_k_disable, sizeof(__pyx_k_disable), 0, 1, 0, 0},
    {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1},
    {&__pyx_kp_u_dptr, __pyx_k_dptr, sizeof(__pyx_k_dptr), 0, 1, 0, 0},
    {&__pyx_n_s_dptr_2, __pyx_k_dptr_2, sizeof(__pyx_k_dptr_2), 0, 0, 1, 1},
    {&__pyx_kp_u_dptr_ValueError, __pyx_k_dptr_ValueError, sizeof(__pyx_k_dptr_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_dptr_out, __pyx_k_dptr_out, sizeof(__pyx_k_dptr_out), 0, 0, 1, 1},
    {&__pyx_n_s_driverVersion, __pyx_k_driverVersion, sizeof(__pyx_k_driverVersion), 0, 0, 1, 1},
    {&__pyx_kp_u_dst, __pyx_k_dst, sizeof(__pyx_k_dst), 0, 1, 0, 0},
    {&__pyx_kp_u_dstArray, __pyx_k_dstArray, sizeof(__pyx_k_dstArray), 0, 1, 0, 0},
    {&__pyx_n_s_dstArray_2, __pyx_k_dstArray_2, sizeof(__pyx_k_dstArray_2), 0, 0, 1, 1},
    {&__pyx_kp_u_dstArray_ValueError, __pyx_k_dstArray_ValueError, sizeof(__pyx_k_dstArray_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_dstContext, __pyx_k_dstContext, sizeof(__pyx_k_dstContext), 0, 1, 0, 0},
    {&__pyx_n_s_dstContext_2, __pyx_k_dstContext_2, sizeof(__pyx_k_dstContext_2), 0, 0, 1, 1},
    {&__pyx_kp_u_dstContext_ValueError, __pyx_k_dstContext_ValueError, sizeof(__pyx_k_dstContext_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_dstDevice, __pyx_k_dstDevice, sizeof(__pyx_k_dstDevice), 0, 1, 0, 0},
    {&__pyx_n_s_dstDevice_2, __pyx_k_dstDevice_2, sizeof(__pyx_k_dstDevice_2), 0, 0, 1, 1},
    {&__pyx_kp_u_dstDevice_ValueError, __pyx_k_dstDevice_ValueError, sizeof(__pyx_k_dstDevice_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_dstHeight, __pyx_k_dstHeight, sizeof(__pyx_k_dstHeight), 0, 1, 0, 0},
    {&__pyx_n_s_dstHeight_2, __pyx_k_dstHeight_2, sizeof(__pyx_k_dstHeight_2), 0, 0, 1, 1},
    {&__pyx_kp_u_dstHeight_ValueError, __pyx_k_dstHeight_ValueError, sizeof(__pyx_k_dstHeight_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_dstHost, __pyx_k_dstHost, sizeof(__pyx_k_dstHost), 0, 1, 0, 0},
    {&__pyx_n_s_dstHost_2, __pyx_k_dstHost_2, sizeof(__pyx_k_dstHost_2), 0, 0, 1, 1},
    {&__pyx_kp_u_dstHost_ValueError, __pyx_k_dstHost_ValueError, sizeof(__pyx_k_dstHost_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_dstLOD, __pyx_k_dstLOD, sizeof(__pyx_k_dstLOD), 0, 1, 0, 0},
    {&__pyx_n_s_dstLOD_2, __pyx_k_dstLOD_2, sizeof(__pyx_k_dstLOD_2), 0, 0, 1, 1},
    {&__pyx_kp_u_dstLOD_ValueError, __pyx_k_dstLOD_ValueError, sizeof(__pyx_k_dstLOD_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_dstMemoryType, __pyx_k_dstMemoryType, sizeof(__pyx_k_dstMemoryType), 0, 1, 0, 0},
    {&__pyx_n_s_dstMemoryType_2, __pyx_k_dstMemoryType_2, sizeof(__pyx_k_dstMemoryType_2), 0, 0, 1, 1},
    {&__pyx_kp_u_dstMemoryType_ValueError, __pyx_k_dstMemoryType_ValueError, sizeof(__pyx_k_dstMemoryType_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_dstOffset, __pyx_k_dstOffset, sizeof(__pyx_k_dstOffset), 0, 0, 1, 1},
    {&__pyx_kp_u_dstPitch, __pyx_k_dstPitch, sizeof(__pyx_k_dstPitch), 0, 1, 0, 0},
    {&__pyx_n_s_dstPitch_2, __pyx_k_dstPitch_2, sizeof(__pyx_k_dstPitch_2), 0, 0, 1, 1},
    {&__pyx_kp_u_dstPitch_ValueError, __pyx_k_dstPitch_ValueError, sizeof(__pyx_k_dstPitch_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_dstXInBytes, __pyx_k_dstXInBytes, sizeof(__pyx_k_dstXInBytes), 0, 1, 0, 0},
    {&__pyx_n_s_dstXInBytes_2, __pyx_k_dstXInBytes_2, sizeof(__pyx_k_dstXInBytes_2), 0, 0, 1, 1},
    {&__pyx_kp_u_dstXInBytes_ValueError, __pyx_k_dstXInBytes_ValueError, sizeof(__pyx_k_dstXInBytes_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_dstY, __pyx_k_dstY, sizeof(__pyx_k_dstY), 0, 1, 0, 0},
    {&__pyx_n_s_dstY_2, __pyx_k_dstY_2, sizeof(__pyx_k_dstY_2), 0, 0, 1, 1},
    {&__pyx_kp_u_dstY_ValueError, __pyx_k_dstY_ValueError, sizeof(__pyx_k_dstY_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_dstZ, __pyx_k_dstZ, sizeof(__pyx_k_dstZ), 0, 1, 0, 0},
    {&__pyx_n_s_dstZ_2, __pyx_k_dstZ_2, sizeof(__pyx_k_dstZ_2), 0, 0, 1, 1},
    {&__pyx_kp_u_dstZ_ValueError, __pyx_k_dstZ_ValueError, sizeof(__pyx_k_dstZ_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_dst_2, __pyx_k_dst_2, sizeof(__pyx_k_dst_2), 0, 0, 1, 1},
    {&__pyx_kp_u_dst_ValueError, __pyx_k_dst_ValueError, sizeof(__pyx_k_dst_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_dynamicSMemSize, __pyx_k_dynamicSMemSize, sizeof(__pyx_k_dynamicSMemSize), 0, 0, 1, 1},
    {&__pyx_n_s_dynamicSmemSize, __pyx_k_dynamicSmemSize, sizeof(__pyx_k_dynamicSmemSize), 0, 0, 1, 1},
    {&__pyx_n_s_edgeData, __pyx_k_edgeData, sizeof(__pyx_k_edgeData), 0, 0, 1, 1},
    {&__pyx_kp_u_eglColorFormat, __pyx_k_eglColorFormat, sizeof(__pyx_k_eglColorFormat), 0, 1, 0, 0},
    {&__pyx_n_s_eglColorFormat_2, __pyx_k_eglColorFormat_2, sizeof(__pyx_k_eglColorFormat_2), 0, 0, 1, 1},
    {&__pyx_kp_u_eglColorFormat_ValueError, __pyx_k_eglColorFormat_ValueError, sizeof(__pyx_k_eglColorFormat_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_eglFrame, __pyx_k_eglFrame, sizeof(__pyx_k_eglFrame), 0, 0, 1, 1},
    {&__pyx_n_s_eglSync, __pyx_k_eglSync, sizeof(__pyx_k_eglSync), 0, 0, 1, 1},
    {&__pyx_n_s_eglframe, __pyx_k_eglframe, sizeof(__pyx_k_eglframe), 0, 0, 1, 1},
    {&__pyx_kp_u_elementSize, __pyx_k_elementSize, sizeof(__pyx_k_elementSize), 0, 1, 0, 0},
    {&__pyx_n_s_elementSize_2, __pyx_k_elementSize_2, sizeof(__pyx_k_elementSize_2), 0, 0, 1, 1},
    {&__pyx_kp_u_elementSize_ValueError, __pyx_k_elementSize_ValueError, sizeof(__pyx_k_elementSize_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_elementStrides, __pyx_k_elementStrides, sizeof(__pyx_k_elementStrides), 0, 0, 1, 1},
    {&__pyx_kp_u_enable, __pyx_k_enable, sizeof(__pyx_k_enable), 0, 1, 0, 0},
    {&__pyx_n_s_enum, __pyx_k_enum, sizeof(__pyx_k_enum), 0, 0, 1, 1},
    {&__pyx_n_s_enumerate, __pyx_k_enumerate, sizeof(__pyx_k_enumerate), 0, 0, 1, 1},
    {&__pyx_n_s_err, __pyx_k_err, sizeof(__pyx_k_err), 0, 0, 1, 1},
    {&__pyx_n_s_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 0, 1, 1},
    {&__pyx_kp_u_errorFromNode, __pyx_k_errorFromNode, sizeof(__pyx_k_errorFromNode), 0, 1, 0, 0},
    {&__pyx_n_s_errorFromNode_2, __pyx_k_errorFromNode_2, sizeof(__pyx_k_errorFromNode_2), 0, 0, 1, 1},
    {&__pyx_kp_u_errorFromNode_ValueError, __pyx_k_errorFromNode_ValueError, sizeof(__pyx_k_errorFromNode_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_errorNode, __pyx_k_errorNode, sizeof(__pyx_k_errorNode), 0, 1, 0, 0},
    {&__pyx_n_s_errorNode_2, __pyx_k_errorNode_2, sizeof(__pyx_k_errorNode_2), 0, 0, 1, 1},
    {&__pyx_kp_u_errorNode_ValueError, __pyx_k_errorNode_ValueError, sizeof(__pyx_k_errorNode_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_event, __pyx_k_event, sizeof(__pyx_k_event), 0, 1, 0, 0},
    {&__pyx_kp_u_eventRecord, __pyx_k_eventRecord, sizeof(__pyx_k_eventRecord), 0, 1, 0, 0},
    {&__pyx_n_s_eventRecord_2, __pyx_k_eventRecord_2, sizeof(__pyx_k_eventRecord_2), 0, 0, 1, 1},
    {&__pyx_kp_u_eventRecord_ValueError, __pyx_k_eventRecord_ValueError, sizeof(__pyx_k_eventRecord_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_eventWait, __pyx_k_eventWait, sizeof(__pyx_k_eventWait), 0, 1, 0, 0},
    {&__pyx_n_s_eventWait_2, __pyx_k_eventWait_2, sizeof(__pyx_k_eventWait_2), 0, 0, 1, 1},
    {&__pyx_kp_u_eventWait_ValueError, __pyx_k_eventWait_ValueError, sizeof(__pyx_k_eventWait_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_event_2, __pyx_k_event_2, sizeof(__pyx_k_event_2), 0, 0, 1, 1},
    {&__pyx_kp_u_event_ValueError, __pyx_k_event_ValueError, sizeof(__pyx_k_event_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_event_out, __pyx_k_event_out, sizeof(__pyx_k_event_out), 0, 0, 1, 1},
    {&__pyx_n_s_extMem, __pyx_k_extMem, sizeof(__pyx_k_extMem), 0, 0, 1, 1},
    {&__pyx_n_s_extMem_out, __pyx_k_extMem_out, sizeof(__pyx_k_extMem_out), 0, 0, 1, 1},
    {&__pyx_n_s_extSem, __pyx_k_extSem, sizeof(__pyx_k_extSem), 0, 0, 1, 1},
    {&__pyx_kp_u_extSemArray, __pyx_k_extSemArray, sizeof(__pyx_k_extSemArray), 0, 1, 0, 0},
    {&__pyx_n_s_extSemArray_2, __pyx_k_extSemArray_2, sizeof(__pyx_k_extSemArray_2), 0, 0, 1, 1},
    {&__pyx_kp_u_extSemArray_ValueError, __pyx_k_extSemArray_ValueError, sizeof(__pyx_k_extSemArray_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_extSemSignal, __pyx_k_extSemSignal, sizeof(__pyx_k_extSemSignal), 0, 1, 0, 0},
    {&__pyx_n_s_extSemSignal_2, __pyx_k_extSemSignal_2, sizeof(__pyx_k_extSemSignal_2), 0, 0, 1, 1},
    {&__pyx_kp_u_extSemSignal_ValueError, __pyx_k_extSemSignal_ValueError, sizeof(__pyx_k_extSemSignal_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_extSemWait, __pyx_k_extSemWait, sizeof(__pyx_k_extSemWait), 0, 1, 0, 0},
    {&__pyx_n_s_extSemWait_2, __pyx_k_extSemWait_2, sizeof(__pyx_k_extSemWait_2), 0, 0, 1, 1},
    {&__pyx_kp_u_extSemWait_ValueError, __pyx_k_extSemWait_ValueError, sizeof(__pyx_k_extSemWait_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_extSem_out, __pyx_k_extSem_out, sizeof(__pyx_k_extSem_out), 0, 0, 1, 1},
    {&__pyx_kp_u_extentDepth, __pyx_k_extentDepth, sizeof(__pyx_k_extentDepth), 0, 1, 0, 0},
    {&__pyx_n_s_extentDepth_2, __pyx_k_extentDepth_2, sizeof(__pyx_k_extentDepth_2), 0, 0, 1, 1},
    {&__pyx_kp_u_extentDepth_ValueError, __pyx_k_extentDepth_ValueError, sizeof(__pyx_k_extentDepth_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_extentHeight, __pyx_k_extentHeight, sizeof(__pyx_k_extentHeight), 0, 1, 0, 0},
    {&__pyx_n_s_extentHeight_2, __pyx_k_extentHeight_2, sizeof(__pyx_k_extentHeight_2), 0, 0, 1, 1},
    {&__pyx_kp_u_extentHeight_ValueError, __pyx_k_extentHeight_ValueError, sizeof(__pyx_k_extentHeight_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_extentWidth, __pyx_k_extentWidth, sizeof(__pyx_k_extentWidth), 0, 1, 0, 0},
    {&__pyx_n_s_extentWidth_2, __pyx_k_extentWidth_2, sizeof(__pyx_k_extentWidth_2), 0, 0, 1, 1},
    {&__pyx_kp_u_extentWidth_ValueError, __pyx_k_extentWidth_ValueError, sizeof(__pyx_k_extentWidth_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_extra, __pyx_k_extra, sizeof(__pyx_k_extra), 0, 1, 0, 0},
    {&__pyx_n_s_extra_2, __pyx_k_extra_2, sizeof(__pyx_k_extra_2), 0, 0, 1, 1},
    {&__pyx_kp_u_extra_ValueError, __pyx_k_extra_ValueError, sizeof(__pyx_k_extra_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 0, 1, 1},
    {&__pyx_n_s_fatCubin, __pyx_k_fatCubin, sizeof(__pyx_k_fatCubin), 0, 0, 1, 1},
    {&__pyx_kp_u_fd, __pyx_k_fd, sizeof(__pyx_k_fd), 0, 1, 0, 0},
    {&__pyx_n_s_fd_2, __pyx_k_fd_2, sizeof(__pyx_k_fd_2), 0, 0, 1, 1},
    {&__pyx_kp_u_fd_ValueError, __pyx_k_fd_ValueError, sizeof(__pyx_k_fd_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_fence, __pyx_k_fence, sizeof(__pyx_k_fence), 0, 1, 0, 0},
    {&__pyx_n_s_fence_2, __pyx_k_fence_2, sizeof(__pyx_k_fence_2), 0, 0, 1, 1},
    {&__pyx_kp_u_fence_3, __pyx_k_fence_3, sizeof(__pyx_k_fence_3), 0, 1, 0, 0},
    {&__pyx_kp_u_fence_ValueError, __pyx_k_fence_ValueError, sizeof(__pyx_k_fence_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_fileName, __pyx_k_fileName, sizeof(__pyx_k_fileName), 0, 0, 1, 1},
    {&__pyx_kp_u_filterMode, __pyx_k_filterMode, sizeof(__pyx_k_filterMode), 0, 1, 0, 0},
    {&__pyx_n_s_filterMode_2, __pyx_k_filterMode_2, sizeof(__pyx_k_filterMode_2), 0, 0, 1, 1},
    {&__pyx_kp_u_filterMode_ValueError, __pyx_k_filterMode_ValueError, sizeof(__pyx_k_filterMode_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_firstLayer, __pyx_k_firstLayer, sizeof(__pyx_k_firstLayer), 0, 1, 0, 0},
    {&__pyx_n_s_firstLayer_2, __pyx_k_firstLayer_2, sizeof(__pyx_k_firstLayer_2), 0, 0, 1, 1},
    {&__pyx_kp_u_firstLayer_ValueError, __pyx_k_firstLayer_ValueError, sizeof(__pyx_k_firstLayer_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_firstMipmapLevel, __pyx_k_firstMipmapLevel, sizeof(__pyx_k_firstMipmapLevel), 0, 1, 0, 0},
    {&__pyx_n_s_firstMipmapLevel_2, __pyx_k_firstMipmapLevel_2, sizeof(__pyx_k_firstMipmapLevel_2), 0, 0, 1, 1},
    {&__pyx_kp_u_firstMipmapLevel_ValueError, __pyx_k_firstMipmapLevel_ValueError, sizeof(__pyx_k_firstMipmapLevel_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_flags, __pyx_k_flags, sizeof(__pyx_k_flags), 0, 1, 0, 0},
    {&__pyx_n_s_flags_2, __pyx_k_flags_2, sizeof(__pyx_k_flags_2), 0, 0, 1, 1},
    {&__pyx_kp_u_flags_ValueError, __pyx_k_flags_ValueError, sizeof(__pyx_k_flags_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_flushRemoteWrites, __pyx_k_flushRemoteWrites, sizeof(__pyx_k_flushRemoteWrites), 0, 1, 0, 0},
    {&__pyx_n_s_flushRemoteWrites_2, __pyx_k_flushRemoteWrites_2, sizeof(__pyx_k_flushRemoteWrites_2), 0, 0, 1, 1},
    {&__pyx_kp_u_flushRemoteWrites_ValueError, __pyx_k_flushRemoteWrites_ValueError, sizeof(__pyx_k_flushRemoteWrites_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_fm, __pyx_k_fm, sizeof(__pyx_k_fm), 0, 0, 1, 1},
    {&__pyx_n_s_fmt, __pyx_k_fmt, sizeof(__pyx_k_fmt), 0, 0, 1, 1},
    {&__pyx_kp_u_fn, __pyx_k_fn, sizeof(__pyx_k_fn), 0, 1, 0, 0},
    {&__pyx_n_s_fn_2, __pyx_k_fn_2, sizeof(__pyx_k_fn_2), 0, 0, 1, 1},
    {&__pyx_kp_u_fn_ValueError, __pyx_k_fn_ValueError, sizeof(__pyx_k_fn_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_fname, __pyx_k_fname, sizeof(__pyx_k_fname), 0, 0, 1, 1},
    {&__pyx_kp_u_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 1, 0, 0},
    {&__pyx_n_s_format_2, __pyx_k_format_2, sizeof(__pyx_k_format_2), 0, 0, 1, 1},
    {&__pyx_kp_u_format_ValueError, __pyx_k_format_ValueError, sizeof(__pyx_k_format_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_fptr, __pyx_k_fptr, sizeof(__pyx_k_fptr), 0, 0, 1, 1},
    {&__pyx_kp_u_frame, __pyx_k_frame, sizeof(__pyx_k_frame), 0, 1, 0, 0},
    {&__pyx_kp_u_frameType, __pyx_k_frameType, sizeof(__pyx_k_frameType), 0, 1, 0, 0},
    {&__pyx_n_s_frameType_2, __pyx_k_frameType_2, sizeof(__pyx_k_frameType_2), 0, 0, 1, 1},
    {&__pyx_kp_u_frameType_ValueError, __pyx_k_frameType_ValueError, sizeof(__pyx_k_frameType_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_frame_2, __pyx_k_frame_2, sizeof(__pyx_k_frame_2), 0, 0, 1, 1},
    {&__pyx_kp_u_frame_ValueError, __pyx_k_frame_ValueError, sizeof(__pyx_k_frame_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_free, __pyx_k_free, sizeof(__pyx_k_free), 0, 1, 0, 0},
    {&__pyx_n_s_free_2, __pyx_k_free_2, sizeof(__pyx_k_free_2), 0, 0, 1, 1},
    {&__pyx_kp_u_free_ValueError, __pyx_k_free_ValueError, sizeof(__pyx_k_free_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_from, __pyx_k_from, sizeof(__pyx_k_from), 0, 0, 1, 1},
    {&__pyx_kp_u_from_port, __pyx_k_from_port, sizeof(__pyx_k_from_port), 0, 1, 0, 0},
    {&__pyx_n_s_from_port_2, __pyx_k_from_port_2, sizeof(__pyx_k_from_port_2), 0, 0, 1, 1},
    {&__pyx_kp_u_from_port_ValueError, __pyx_k_from_port_ValueError, sizeof(__pyx_k_from_port_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_func, __pyx_k_func, sizeof(__pyx_k_func), 0, 1, 0, 0},
    {&__pyx_n_s_func_2, __pyx_k_func_2, sizeof(__pyx_k_func_2), 0, 0, 1, 1},
    {&__pyx_kp_u_func_ValueError, __pyx_k_func_ValueError, sizeof(__pyx_k_func_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_function, __pyx_k_function, sizeof(__pyx_k_function), 0, 1, 0, 0},
    {&__pyx_kp_u_functionTable, __pyx_k_functionTable, sizeof(__pyx_k_functionTable), 0, 1, 0, 0},
    {&__pyx_n_s_functionTable_2, __pyx_k_functionTable_2, sizeof(__pyx_k_functionTable_2), 0, 0, 1, 1},
    {&__pyx_kp_u_functionTable_ValueError, __pyx_k_functionTable_ValueError, sizeof(__pyx_k_functionTable_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_functionWindowSize, __pyx_k_functionWindowSize, sizeof(__pyx_k_functionWindowSize), 0, 1, 0, 0},
    {&__pyx_n_s_functionWindowSize_2, __pyx_k_functionWindowSize_2, sizeof(__pyx_k_functionWindowSize_2), 0, 0, 1, 1},
    {&__pyx_kp_u_functionWindowSize_ValueError, __pyx_k_functionWindowSize_ValueError, sizeof(__pyx_k_functionWindowSize_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_function_2, __pyx_k_function_2, sizeof(__pyx_k_function_2), 0, 0, 1, 1},
    {&__pyx_kp_u_function_ValueError, __pyx_k_function_ValueError, sizeof(__pyx_k_function_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_gc, __pyx_k_gc, sizeof(__pyx_k_gc), 0, 1, 0, 0},
    {&__pyx_n_s_genexpr, __pyx_k_genexpr, sizeof(__pyx_k_genexpr), 0, 0, 1, 1},
    {&__pyx_n_s_getPtr, __pyx_k_getPtr, sizeof(__pyx_k_getPtr), 0, 0, 1, 1},
    {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1},
    {&__pyx_n_s_globalAddress, __pyx_k_globalAddress, sizeof(__pyx_k_globalAddress), 0, 0, 1, 1},
    {&__pyx_n_s_globalDim, __pyx_k_globalDim, sizeof(__pyx_k_globalDim), 0, 0, 1, 1},
    {&__pyx_n_s_globalStrides, __pyx_k_globalStrides, sizeof(__pyx_k_globalStrides), 0, 0, 1, 1},
    {&__pyx_kp_u_gpuDirectRDMACapable, __pyx_k_gpuDirectRDMACapable, sizeof(__pyx_k_gpuDirectRDMACapable), 0, 1, 0, 0},
    {&__pyx_n_s_gpuDirectRDMACapable_2, __pyx_k_gpuDirectRDMACapable_2, sizeof(__pyx_k_gpuDirectRDMACapable_2), 0, 0, 1, 1},
    {&__pyx_kp_u_gpuDirectRDMACapable_ValueError, __pyx_k_gpuDirectRDMACapable_ValueError, sizeof(__pyx_k_gpuDirectRDMACapable_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_granularity, __pyx_k_granularity, sizeof(__pyx_k_granularity), 0, 0, 1, 1},
    {&__pyx_kp_u_graph, __pyx_k_graph, sizeof(__pyx_k_graph), 0, 1, 0, 0},
    {&__pyx_n_s_graph_2, __pyx_k_graph_2, sizeof(__pyx_k_graph_2), 0, 0, 1, 1},
    {&__pyx_kp_u_graph_3, __pyx_k_graph_3, sizeof(__pyx_k_graph_3), 0, 1, 0, 0},
    {&__pyx_kp_u_graph_ValueError, __pyx_k_graph_ValueError, sizeof(__pyx_k_graph_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_graph_length, __pyx_k_graph_length, sizeof(__pyx_k_graph_length), 0, 0, 1, 1},
    {&__pyx_n_s_graph_out, __pyx_k_graph_out, sizeof(__pyx_k_graph_out), 0, 0, 1, 1},
    {&__pyx_n_s_greatestPriority, __pyx_k_greatestPriority, sizeof(__pyx_k_greatestPriority), 0, 0, 1, 1},
    {&__pyx_kp_u_gridDimX, __pyx_k_gridDimX, sizeof(__pyx_k_gridDimX), 0, 1, 0, 0},
    {&__pyx_n_s_gridDimX_2, __pyx_k_gridDimX_2, sizeof(__pyx_k_gridDimX_2), 0, 0, 1, 1},
    {&__pyx_kp_u_gridDimX_ValueError, __pyx_k_gridDimX_ValueError, sizeof(__pyx_k_gridDimX_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_gridDimY, __pyx_k_gridDimY, sizeof(__pyx_k_gridDimY), 0, 1, 0, 0},
    {&__pyx_n_s_gridDimY_2, __pyx_k_gridDimY_2, sizeof(__pyx_k_gridDimY_2), 0, 0, 1, 1},
    {&__pyx_kp_u_gridDimY_ValueError, __pyx_k_gridDimY_ValueError, sizeof(__pyx_k_gridDimY_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_gridDimZ, __pyx_k_gridDimZ, sizeof(__pyx_k_gridDimZ), 0, 1, 0, 0},
    {&__pyx_n_s_gridDimZ_2, __pyx_k_gridDimZ_2, sizeof(__pyx_k_gridDimZ_2), 0, 0, 1, 1},
    {&__pyx_kp_u_gridDimZ_ValueError, __pyx_k_gridDimZ_ValueError, sizeof(__pyx_k_gridDimZ_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_grid_height, __pyx_k_grid_height, sizeof(__pyx_k_grid_height), 0, 0, 1, 1},
    {&__pyx_n_s_grid_width, __pyx_k_grid_width, sizeof(__pyx_k_grid_width), 0, 0, 1, 1},
    {&__pyx_kp_u_hArray, __pyx_k_hArray, sizeof(__pyx_k_hArray), 0, 1, 0, 0},
    {&__pyx_n_s_hArray_2, __pyx_k_hArray_2, sizeof(__pyx_k_hArray_2), 0, 0, 1, 1},
    {&__pyx_kp_u_hArray_ValueError, __pyx_k_hArray_ValueError, sizeof(__pyx_k_hArray_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_hClonedGraph, __pyx_k_hClonedGraph, sizeof(__pyx_k_hClonedGraph), 0, 0, 1, 1},
    {&__pyx_n_s_hCtx, __pyx_k_hCtx, sizeof(__pyx_k_hCtx), 0, 0, 1, 1},
    {&__pyx_n_s_hEnd, __pyx_k_hEnd, sizeof(__pyx_k_hEnd), 0, 0, 1, 1},
    {&__pyx_kp_u_hErrNode_out, __pyx_k_hErrNode_out, sizeof(__pyx_k_hErrNode_out), 0, 1, 0, 0},
    {&__pyx_n_s_hErrNode_out_2, __pyx_k_hErrNode_out_2, sizeof(__pyx_k_hErrNode_out_2), 0, 0, 1, 1},
    {&__pyx_kp_u_hErrNode_out_ValueError, __pyx_k_hErrNode_out_ValueError, sizeof(__pyx_k_hErrNode_out_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_hEvent, __pyx_k_hEvent, sizeof(__pyx_k_hEvent), 0, 0, 1, 1},
    {&__pyx_n_s_hGraph, __pyx_k_hGraph, sizeof(__pyx_k_hGraph), 0, 0, 1, 1},
    {&__pyx_n_s_hGraphExec, __pyx_k_hGraphExec, sizeof(__pyx_k_hGraphExec), 0, 0, 1, 1},
    {&__pyx_kp_u_hMipmappedArray, __pyx_k_hMipmappedArray, sizeof(__pyx_k_hMipmappedArray), 0, 1, 0, 0},
    {&__pyx_n_s_hMipmappedArray_2, __pyx_k_hMipmappedArray_2, sizeof(__pyx_k_hMipmappedArray_2), 0, 0, 1, 1},
    {&__pyx_kp_u_hMipmappedArray_ValueError, __pyx_k_hMipmappedArray_ValueError, sizeof(__pyx_k_hMipmappedArray_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_hNode, __pyx_k_hNode, sizeof(__pyx_k_hNode), 0, 0, 1, 1},
    {&__pyx_n_s_hOriginalNode, __pyx_k_hOriginalNode, sizeof(__pyx_k_hOriginalNode), 0, 0, 1, 1},
    {&__pyx_n_s_hStart, __pyx_k_hStart, sizeof(__pyx_k_hStart), 0, 0, 1, 1},
    {&__pyx_kp_u_hStream, __pyx_k_hStream, sizeof(__pyx_k_hStream), 0, 1, 0, 0},
    {&__pyx_n_s_hStream_2, __pyx_k_hStream_2, sizeof(__pyx_k_hStream_2), 0, 0, 1, 1},
    {&__pyx_kp_u_hStream_ValueError, __pyx_k_hStream_ValueError, sizeof(__pyx_k_hStream_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_hSurfRef, __pyx_k_hSurfRef, sizeof(__pyx_k_hSurfRef), 0, 0, 1, 1},
    {&__pyx_n_s_hTexRef, __pyx_k_hTexRef, sizeof(__pyx_k_hTexRef), 0, 0, 1, 1},
    {&__pyx_kp_u_hUploadStream, __pyx_k_hUploadStream, sizeof(__pyx_k_hUploadStream), 0, 1, 0, 0},
    {&__pyx_n_s_hUploadStream_2, __pyx_k_hUploadStream_2, sizeof(__pyx_k_hUploadStream_2), 0, 0, 1, 1},
    {&__pyx_kp_u_hUploadStream_ValueError, __pyx_k_hUploadStream_ValueError, sizeof(__pyx_k_hUploadStream_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_handle, __pyx_k_handle, sizeof(__pyx_k_handle), 0, 1, 0, 0},
    {&__pyx_n_s_handleType, __pyx_k_handleType, sizeof(__pyx_k_handleType), 0, 0, 1, 1},
    {&__pyx_kp_u_handleTypes, __pyx_k_handleTypes, sizeof(__pyx_k_handleTypes), 0, 1, 0, 0},
    {&__pyx_n_s_handleTypes_2, __pyx_k_handleTypes_2, sizeof(__pyx_k_handleTypes_2), 0, 0, 1, 1},
    {&__pyx_kp_u_handleTypes_ValueError, __pyx_k_handleTypes_ValueError, sizeof(__pyx_k_handleTypes_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_handle_2, __pyx_k_handle_2, sizeof(__pyx_k_handle_2), 0, 0, 1, 1},
    {&__pyx_kp_u_handle_3, __pyx_k_handle_3, sizeof(__pyx_k_handle_3), 0, 1, 0, 0},
    {&__pyx_kp_u_handle_ValueError, __pyx_k_handle_ValueError, sizeof(__pyx_k_handle_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_height, __pyx_k_height, sizeof(__pyx_k_height), 0, 1, 0, 0},
    {&__pyx_n_s_height_2, __pyx_k_height_2, sizeof(__pyx_k_height_2), 0, 0, 1, 1},
    {&__pyx_kp_u_height_ValueError, __pyx_k_height_ValueError, sizeof(__pyx_k_height_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_hex, __pyx_k_hex, sizeof(__pyx_k_hex), 0, 0, 1, 1},
    {&__pyx_n_s_hfunc, __pyx_k_hfunc, sizeof(__pyx_k_hfunc), 0, 0, 1, 1},
    {&__pyx_kp_u_hitProp, __pyx_k_hitProp, sizeof(__pyx_k_hitProp), 0, 1, 0, 0},
    {&__pyx_n_s_hitProp_2, __pyx_k_hitProp_2, sizeof(__pyx_k_hitProp_2), 0, 0, 1, 1},
    {&__pyx_kp_u_hitProp_ValueError, __pyx_k_hitProp_ValueError, sizeof(__pyx_k_hitProp_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_hitRatio, __pyx_k_hitRatio, sizeof(__pyx_k_hitRatio), 0, 1, 0, 0},
    {&__pyx_n_s_hitRatio_2, __pyx_k_hitRatio_2, sizeof(__pyx_k_hitRatio_2), 0, 0, 1, 1},
    {&__pyx_kp_u_hitRatio_ValueError, __pyx_k_hitRatio_ValueError, sizeof(__pyx_k_hitRatio_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_hmod, __pyx_k_hmod, sizeof(__pyx_k_hmod), 0, 0, 1, 1},
    {&__pyx_kp_u_host, __pyx_k_host, sizeof(__pyx_k_host), 0, 1, 0, 0},
    {&__pyx_n_s_host_2, __pyx_k_host_2, sizeof(__pyx_k_host_2), 0, 0, 1, 1},
    {&__pyx_kp_u_host_ValueError, __pyx_k_host_ValueError, sizeof(__pyx_k_host_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_id, __pyx_k_id, sizeof(__pyx_k_id), 0, 1, 0, 0},
    {&__pyx_n_s_id_2, __pyx_k_id_2, sizeof(__pyx_k_id_2), 0, 0, 1, 1},
    {&__pyx_kp_u_id_ValueError, __pyx_k_id_ValueError, sizeof(__pyx_k_id_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_id_out, __pyx_k_id_out, sizeof(__pyx_k_id_out), 0, 0, 1, 1},
    {&__pyx_n_s_idx, __pyx_k_idx, sizeof(__pyx_k_idx), 0, 0, 1, 1},
    {&__pyx_n_s_image, __pyx_k_image, sizeof(__pyx_k_image), 0, 0, 1, 1},
    {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
    {&__pyx_n_s_index, __pyx_k_index, sizeof(__pyx_k_index), 0, 0, 1, 1},
    {&__pyx_kp_u_info, __pyx_k_info, sizeof(__pyx_k_info), 0, 1, 0, 0},
    {&__pyx_n_s_info_2, __pyx_k_info_2, sizeof(__pyx_k_info_2), 0, 0, 1, 1},
    {&__pyx_kp_u_info_ValueError, __pyx_k_info_ValueError, sizeof(__pyx_k_info_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_init_subclass, __pyx_k_init_subclass, sizeof(__pyx_k_init_subclass), 0, 0, 1, 1},
    {&__pyx_n_s_init_value, __pyx_k_init_value, sizeof(__pyx_k_init_value), 0, 0, 1, 1},
    {&__pyx_n_s_initialRefcount, __pyx_k_initialRefcount, sizeof(__pyx_k_initialRefcount), 0, 0, 1, 1},
    {&__pyx_n_s_initializing, __pyx_k_initializing, sizeof(__pyx_k_initializing), 0, 0, 1, 1},
    {&__pyx_n_s_input, __pyx_k_input, sizeof(__pyx_k_input), 0, 0, 1, 1},
    {&__pyx_n_s_instantiateParams, __pyx_k_instantiateParams, sizeof(__pyx_k_instantiateParams), 0, 0, 1, 1},
    {&__pyx_n_s_int, __pyx_k_int, sizeof(__pyx_k_int), 0, 0, 1, 1},
    {&__pyx_n_s_interleave, __pyx_k_interleave, sizeof(__pyx_k_interleave), 0, 0, 1, 1},
    {&__pyx_kp_u_internal_padding, __pyx_k_internal_padding, sizeof(__pyx_k_internal_padding), 0, 1, 0, 0},
    {&__pyx_n_s_internal_padding_2, __pyx_k_internal_padding_2, sizeof(__pyx_k_internal_padding_2), 0, 0, 1, 1},
    {&__pyx_kp_u_internal_padding_ValueError, __pyx_k_internal_padding_ValueError, sizeof(__pyx_k_internal_padding_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_internal_padding_length_must_be, __pyx_k_internal_padding_length_must_be, sizeof(__pyx_k_internal_padding_length_must_be), 0, 1, 0, 0},
    {&__pyx_n_s_isEnabled, __pyx_k_isEnabled, sizeof(__pyx_k_isEnabled), 0, 0, 1, 1},
    {&__pyx_n_s_is_coroutine, __pyx_k_is_coroutine, sizeof(__pyx_k_is_coroutine), 0, 0, 1, 1},
    {&__pyx_n_s_is_getter, __pyx_k_is_getter, sizeof(__pyx_k_is_getter), 0, 0, 1, 1},
    {&__pyx_kp_u_isenabled, __pyx_k_isenabled, sizeof(__pyx_k_isenabled), 0, 1, 0, 0},
    {&__pyx_n_s_jitOptions, __pyx_k_jitOptions, sizeof(__pyx_k_jitOptions), 0, 0, 1, 1},
    {&__pyx_n_s_jitOptionsValues, __pyx_k_jitOptionsValues, sizeof(__pyx_k_jitOptionsValues), 0, 0, 1, 1},
    {&__pyx_kp_u_kern, __pyx_k_kern, sizeof(__pyx_k_kern), 0, 1, 0, 0},
    {&__pyx_n_s_kern_2, __pyx_k_kern_2, sizeof(__pyx_k_kern_2), 0, 0, 1, 1},
    {&__pyx_kp_u_kern_ValueError, __pyx_k_kern_ValueError, sizeof(__pyx_k_kern_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_kernel, __pyx_k_kernel, sizeof(__pyx_k_kernel), 0, 1, 0, 0},
    {&__pyx_kp_u_kernelParams, __pyx_k_kernelParams, sizeof(__pyx_k_kernelParams), 0, 1, 0, 0},
    {&__pyx_n_s_kernelParams_2, __pyx_k_kernelParams_2, sizeof(__pyx_k_kernelParams_2), 0, 0, 1, 1},
    {&__pyx_kp_u_kernelParams_ValueError, __pyx_k_kernelParams_ValueError, sizeof(__pyx_k_kernelParams_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_kernel_2, __pyx_k_kernel_2, sizeof(__pyx_k_kernel_2), 0, 0, 1, 1},
    {&__pyx_kp_u_kernel_ValueError, __pyx_k_kernel_ValueError, sizeof(__pyx_k_kernel_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_key, __pyx_k_key, sizeof(__pyx_k_key), 0, 1, 0, 0},
    {&__pyx_n_s_key_2, __pyx_k_key_2, sizeof(__pyx_k_key_2), 0, 0, 1, 1},
    {&__pyx_kp_u_key_ValueError, __pyx_k_key_ValueError, sizeof(__pyx_k_key_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_keyedMutex, __pyx_k_keyedMutex, sizeof(__pyx_k_keyedMutex), 0, 1, 0, 0},
    {&__pyx_n_s_keyedMutex_2, __pyx_k_keyedMutex_2, sizeof(__pyx_k_keyedMutex_2), 0, 0, 1, 1},
    {&__pyx_kp_u_keyedMutex_ValueError, __pyx_k_keyedMutex_ValueError, sizeof(__pyx_k_keyedMutex_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_l2Promotion, __pyx_k_l2Promotion, sizeof(__pyx_k_l2Promotion), 0, 0, 1, 1},
    {&__pyx_kp_u_lastLayer, __pyx_k_lastLayer, sizeof(__pyx_k_lastLayer), 0, 1, 0, 0},
    {&__pyx_n_s_lastLayer_2, __pyx_k_lastLayer_2, sizeof(__pyx_k_lastLayer_2), 0, 0, 1, 1},
    {&__pyx_kp_u_lastLayer_ValueError, __pyx_k_lastLayer_ValueError, sizeof(__pyx_k_lastLayer_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_lastMipmapLevel, __pyx_k_lastMipmapLevel, sizeof(__pyx_k_lastMipmapLevel), 0, 1, 0, 0},
    {&__pyx_n_s_lastMipmapLevel_2, __pyx_k_lastMipmapLevel_2, sizeof(__pyx_k_lastMipmapLevel_2), 0, 0, 1, 1},
    {&__pyx_kp_u_lastMipmapLevel_ValueError, __pyx_k_lastMipmapLevel_ValueError, sizeof(__pyx_k_lastMipmapLevel_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_launchCompletionEvent, __pyx_k_launchCompletionEvent, sizeof(__pyx_k_launchCompletionEvent), 0, 1, 0, 0},
    {&__pyx_n_s_launchCompletionEvent_2, __pyx_k_launchCompletionEvent_2, sizeof(__pyx_k_launchCompletionEvent_2), 0, 0, 1, 1},
    {&__pyx_kp_u_launchCompletionEvent_ValueError, __pyx_k_launchCompletionEvent_ValueError, sizeof(__pyx_k_launchCompletionEvent_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_launchParamsList, __pyx_k_launchParamsList, sizeof(__pyx_k_launchParamsList), 0, 0, 1, 1},
    {&__pyx_kp_u_layer, __pyx_k_layer, sizeof(__pyx_k_layer), 0, 1, 0, 0},
    {&__pyx_n_s_layer_2, __pyx_k_layer_2, sizeof(__pyx_k_layer_2), 0, 0, 1, 1},
    {&__pyx_kp_u_layer_ValueError, __pyx_k_layer_ValueError, sizeof(__pyx_k_layer_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_leastPriority, __pyx_k_leastPriority, sizeof(__pyx_k_leastPriority), 0, 0, 1, 1},
    {&__pyx_n_s_length, __pyx_k_length, sizeof(__pyx_k_length), 0, 0, 1, 1},
    {&__pyx_kp_u_level, __pyx_k_level, sizeof(__pyx_k_level), 0, 1, 0, 0},
    {&__pyx_n_s_level_2, __pyx_k_level_2, sizeof(__pyx_k_level_2), 0, 0, 1, 1},
    {&__pyx_kp_u_level_ValueError, __pyx_k_level_ValueError, sizeof(__pyx_k_level_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_lib, __pyx_k_lib, sizeof(__pyx_k_lib), 0, 0, 1, 1},
    {&__pyx_n_s_library, __pyx_k_library, sizeof(__pyx_k_library), 0, 0, 1, 1},
    {&__pyx_n_s_libraryOptionValues, __pyx_k_libraryOptionValues, sizeof(__pyx_k_libraryOptionValues), 0, 0, 1, 1},
    {&__pyx_n_s_libraryOptions, __pyx_k_libraryOptions, sizeof(__pyx_k_libraryOptions), 0, 0, 1, 1},
    {&__pyx_n_s_limit, __pyx_k_limit, sizeof(__pyx_k_limit), 0, 0, 1, 1},
    {&__pyx_kp_u_linear, __pyx_k_linear, sizeof(__pyx_k_linear), 0, 1, 0, 0},
    {&__pyx_n_s_linear_2, __pyx_k_linear_2, sizeof(__pyx_k_linear_2), 0, 0, 1, 1},
    {&__pyx_kp_u_linear_ValueError, __pyx_k_linear_ValueError, sizeof(__pyx_k_linear_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_location, __pyx_k_location, sizeof(__pyx_k_location), 0, 1, 0, 0},
    {&__pyx_n_s_location_2, __pyx_k_location_2, sizeof(__pyx_k_location_2), 0, 0, 1, 1},
    {&__pyx_kp_u_location_ValueError, __pyx_k_location_ValueError, sizeof(__pyx_k_location_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_luid, __pyx_k_luid, sizeof(__pyx_k_luid), 0, 0, 1, 1},
    {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
    {&__pyx_n_s_major, __pyx_k_major, sizeof(__pyx_k_major), 0, 0, 1, 1},
    {&__pyx_n_s_map, __pyx_k_map, sizeof(__pyx_k_map), 0, 0, 1, 1},
    {&__pyx_n_s_mapInfoList, __pyx_k_mapInfoList, sizeof(__pyx_k_mapInfoList), 0, 0, 1, 1},
    {&__pyx_n_s_maxAniso, __pyx_k_maxAniso, sizeof(__pyx_k_maxAniso), 0, 0, 1, 1},
    {&__pyx_kp_u_maxAnisotropy, __pyx_k_maxAnisotropy, sizeof(__pyx_k_maxAnisotropy), 0, 1, 0, 0},
    {&__pyx_n_s_maxAnisotropy_2, __pyx_k_maxAnisotropy_2, sizeof(__pyx_k_maxAnisotropy_2), 0, 0, 1, 1},
    {&__pyx_kp_u_maxAnisotropy_ValueError, __pyx_k_maxAnisotropy_ValueError, sizeof(__pyx_k_maxAnisotropy_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_maxGridSize, __pyx_k_maxGridSize, sizeof(__pyx_k_maxGridSize), 0, 1, 0, 0},
    {&__pyx_n_s_maxGridSize_2, __pyx_k_maxGridSize_2, sizeof(__pyx_k_maxGridSize_2), 0, 0, 1, 1},
    {&__pyx_kp_u_maxGridSize_ValueError, __pyx_k_maxGridSize_ValueError, sizeof(__pyx_k_maxGridSize_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_maxMipmapLevelClamp, __pyx_k_maxMipmapLevelClamp, sizeof(__pyx_k_maxMipmapLevelClamp), 0, 1, 0, 0},
    {&__pyx_n_s_maxMipmapLevelClamp_2, __pyx_k_maxMipmapLevelClamp_2, sizeof(__pyx_k_maxMipmapLevelClamp_2), 0, 0, 1, 1},
    {&__pyx_kp_u_maxMipmapLevelClamp_ValueError, __pyx_k_maxMipmapLevelClamp_ValueError, sizeof(__pyx_k_maxMipmapLevelClamp_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_maxSize, __pyx_k_maxSize, sizeof(__pyx_k_maxSize), 0, 1, 0, 0},
    {&__pyx_n_s_maxSize_2, __pyx_k_maxSize_2, sizeof(__pyx_k_maxSize_2), 0, 0, 1, 1},
    {&__pyx_kp_u_maxSize_ValueError, __pyx_k_maxSize_ValueError, sizeof(__pyx_k_maxSize_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_maxThreadsDim, __pyx_k_maxThreadsDim, sizeof(__pyx_k_maxThreadsDim), 0, 1, 0, 0},
    {&__pyx_n_s_maxThreadsDim_2, __pyx_k_maxThreadsDim_2, sizeof(__pyx_k_maxThreadsDim_2), 0, 0, 1, 1},
    {&__pyx_kp_u_maxThreadsDim_ValueError, __pyx_k_maxThreadsDim_ValueError, sizeof(__pyx_k_maxThreadsDim_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_maxThreadsPerBlock, __pyx_k_maxThreadsPerBlock, sizeof(__pyx_k_maxThreadsPerBlock), 0, 1, 0, 0},
    {&__pyx_n_s_maxThreadsPerBlock_2, __pyx_k_maxThreadsPerBlock_2, sizeof(__pyx_k_maxThreadsPerBlock_2), 0, 0, 1, 1},
    {&__pyx_kp_u_maxThreadsPerBlock_ValueError, __pyx_k_maxThreadsPerBlock_ValueError, sizeof(__pyx_k_maxThreadsPerBlock_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_maxWidthInElements, __pyx_k_maxWidthInElements, sizeof(__pyx_k_maxWidthInElements), 0, 0, 1, 1},
    {&__pyx_n_s_mcHandle, __pyx_k_mcHandle, sizeof(__pyx_k_mcHandle), 0, 0, 1, 1},
    {&__pyx_n_s_mcOffset, __pyx_k_mcOffset, sizeof(__pyx_k_mcOffset), 0, 0, 1, 1},
    {&__pyx_kp_u_memHandle, __pyx_k_memHandle, sizeof(__pyx_k_memHandle), 0, 1, 0, 0},
    {&__pyx_n_s_memHandleDesc, __pyx_k_memHandleDesc, sizeof(__pyx_k_memHandleDesc), 0, 0, 1, 1},
    {&__pyx_kp_u_memHandleType, __pyx_k_memHandleType, sizeof(__pyx_k_memHandleType), 0, 1, 0, 0},
    {&__pyx_n_s_memHandleType_2, __pyx_k_memHandleType_2, sizeof(__pyx_k_memHandleType_2), 0, 0, 1, 1},
    {&__pyx_kp_u_memHandleType_ValueError, __pyx_k_memHandleType_ValueError, sizeof(__pyx_k_memHandleType_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_memHandle_2, __pyx_k_memHandle_2, sizeof(__pyx_k_memHandle_2), 0, 0, 1, 1},
    {&__pyx_kp_u_memHandle_3, __pyx_k_memHandle_3, sizeof(__pyx_k_memHandle_3), 0, 1, 0, 0},
    {&__pyx_kp_u_memHandle_ValueError, __pyx_k_memHandle_ValueError, sizeof(__pyx_k_memHandle_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_memOffset, __pyx_k_memOffset, sizeof(__pyx_k_memOffset), 0, 0, 1, 1},
    {&__pyx_kp_u_memOp, __pyx_k_memOp, sizeof(__pyx_k_memOp), 0, 1, 0, 0},
    {&__pyx_n_s_memOp_2, __pyx_k_memOp_2, sizeof(__pyx_k_memOp_2), 0, 0, 1, 1},
    {&__pyx_kp_u_memOp_ValueError, __pyx_k_memOp_ValueError, sizeof(__pyx_k_memOp_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_memOperationType, __pyx_k_memOperationType, sizeof(__pyx_k_memOperationType), 0, 1, 0, 0},
    {&__pyx_n_s_memOperationType_2, __pyx_k_memOperationType_2, sizeof(__pyx_k_memOperationType_2), 0, 0, 1, 1},
    {&__pyx_kp_u_memOperationType_ValueError, __pyx_k_memOperationType_ValueError, sizeof(__pyx_k_memOperationType_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_memPitch, __pyx_k_memPitch, sizeof(__pyx_k_memPitch), 0, 1, 0, 0},
    {&__pyx_n_s_memPitch_2, __pyx_k_memPitch_2, sizeof(__pyx_k_memPitch_2), 0, 0, 1, 1},
    {&__pyx_kp_u_memPitch_ValueError, __pyx_k_memPitch_ValueError, sizeof(__pyx_k_memPitch_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_memPool, __pyx_k_memPool, sizeof(__pyx_k_memPool), 0, 0, 1, 1},
    {&__pyx_kp_u_memSyncDomain, __pyx_k_memSyncDomain, sizeof(__pyx_k_memSyncDomain), 0, 1, 0, 0},
    {&__pyx_kp_u_memSyncDomainMap, __pyx_k_memSyncDomainMap, sizeof(__pyx_k_memSyncDomainMap), 0, 1, 0, 0},
    {&__pyx_n_s_memSyncDomainMap_2, __pyx_k_memSyncDomainMap_2, sizeof(__pyx_k_memSyncDomainMap_2), 0, 0, 1, 1},
    {&__pyx_kp_u_memSyncDomainMap_ValueError, __pyx_k_memSyncDomainMap_ValueError, sizeof(__pyx_k_memSyncDomainMap_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_memSyncDomain_2, __pyx_k_memSyncDomain_2, sizeof(__pyx_k_memSyncDomain_2), 0, 0, 1, 1},
    {&__pyx_kp_u_memSyncDomain_ValueError, __pyx_k_memSyncDomain_ValueError, sizeof(__pyx_k_memSyncDomain_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_memcpy, __pyx_k_memcpy, sizeof(__pyx_k_memcpy), 0, 1, 0, 0},
    {&__pyx_n_s_memcpy_2, __pyx_k_memcpy_2, sizeof(__pyx_k_memcpy_2), 0, 0, 1, 1},
    {&__pyx_kp_u_memcpy_ValueError, __pyx_k_memcpy_ValueError, sizeof(__pyx_k_memcpy_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_memoryBarrier, __pyx_k_memoryBarrier, sizeof(__pyx_k_memoryBarrier), 0, 1, 0, 0},
    {&__pyx_n_s_memoryBarrier_2, __pyx_k_memoryBarrier_2, sizeof(__pyx_k_memoryBarrier_2), 0, 0, 1, 1},
    {&__pyx_kp_u_memoryBarrier_ValueError, __pyx_k_memoryBarrier_ValueError, sizeof(__pyx_k_memoryBarrier_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_memoryRequirements, __pyx_k_memoryRequirements, sizeof(__pyx_k_memoryRequirements), 0, 0, 1, 1},
    {&__pyx_n_s_memptr, __pyx_k_memptr, sizeof(__pyx_k_memptr), 0, 0, 1, 1},
    {&__pyx_kp_u_memset, __pyx_k_memset, sizeof(__pyx_k_memset), 0, 1, 0, 0},
    {&__pyx_n_s_memsetParams, __pyx_k_memsetParams, sizeof(__pyx_k_memsetParams), 0, 0, 1, 1},
    {&__pyx_n_s_memset_2, __pyx_k_memset_2, sizeof(__pyx_k_memset_2), 0, 0, 1, 1},
    {&__pyx_kp_u_memset_ValueError, __pyx_k_memset_ValueError, sizeof(__pyx_k_memset_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1},
    {&__pyx_n_s_minBytesToKeep, __pyx_k_minBytesToKeep, sizeof(__pyx_k_minBytesToKeep), 0, 0, 1, 1},
    {&__pyx_n_s_minCount, __pyx_k_minCount, sizeof(__pyx_k_minCount), 0, 0, 1, 1},
    {&__pyx_n_s_minGridSize, __pyx_k_minGridSize, sizeof(__pyx_k_minGridSize), 0, 0, 1, 1},
    {&__pyx_kp_u_minMipmapLevelClamp, __pyx_k_minMipmapLevelClamp, sizeof(__pyx_k_minMipmapLevelClamp), 0, 1, 0, 0},
    {&__pyx_n_s_minMipmapLevelClamp_2, __pyx_k_minMipmapLevelClamp_2, sizeof(__pyx_k_minMipmapLevelClamp_2), 0, 0, 1, 1},
    {&__pyx_kp_u_minMipmapLevelClamp_ValueError, __pyx_k_minMipmapLevelClamp_ValueError, sizeof(__pyx_k_minMipmapLevelClamp_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_minor, __pyx_k_minor, sizeof(__pyx_k_minor), 0, 0, 1, 1},
    {&__pyx_n_s_mipLevel, __pyx_k_mipLevel, sizeof(__pyx_k_mipLevel), 0, 0, 1, 1},
    {&__pyx_kp_u_mipmap, __pyx_k_mipmap, sizeof(__pyx_k_mipmap), 0, 1, 0, 0},
    {&__pyx_n_s_mipmapDesc, __pyx_k_mipmapDesc, sizeof(__pyx_k_mipmapDesc), 0, 0, 1, 1},
    {&__pyx_kp_u_mipmapFilterMode, __pyx_k_mipmapFilterMode, sizeof(__pyx_k_mipmapFilterMode), 0, 1, 0, 0},
    {&__pyx_n_s_mipmapFilterMode_2, __pyx_k_mipmapFilterMode_2, sizeof(__pyx_k_mipmapFilterMode_2), 0, 0, 1, 1},
    {&__pyx_kp_u_mipmapFilterMode_ValueError, __pyx_k_mipmapFilterMode_ValueError, sizeof(__pyx_k_mipmapFilterMode_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_mipmapLevelBias, __pyx_k_mipmapLevelBias, sizeof(__pyx_k_mipmapLevelBias), 0, 1, 0, 0},
    {&__pyx_n_s_mipmapLevelBias_2, __pyx_k_mipmapLevelBias_2, sizeof(__pyx_k_mipmapLevelBias_2), 0, 0, 1, 1},
    {&__pyx_kp_u_mipmapLevelBias_ValueError, __pyx_k_mipmapLevelBias_ValueError, sizeof(__pyx_k_mipmapLevelBias_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_mipmap_2, __pyx_k_mipmap_2, sizeof(__pyx_k_mipmap_2), 0, 0, 1, 1},
    {&__pyx_kp_u_mipmap_3, __pyx_k_mipmap_3, sizeof(__pyx_k_mipmap_3), 0, 1, 0, 0},
    {&__pyx_kp_u_mipmap_ValueError, __pyx_k_mipmap_ValueError, sizeof(__pyx_k_mipmap_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_miptail, __pyx_k_miptail, sizeof(__pyx_k_miptail), 0, 1, 0, 0},
    {&__pyx_kp_u_miptailFirstLevel, __pyx_k_miptailFirstLevel, sizeof(__pyx_k_miptailFirstLevel), 0, 1, 0, 0},
    {&__pyx_n_s_miptailFirstLevel_2, __pyx_k_miptailFirstLevel_2, sizeof(__pyx_k_miptailFirstLevel_2), 0, 0, 1, 1},
    {&__pyx_kp_u_miptailFirstLevel_ValueError, __pyx_k_miptailFirstLevel_ValueError, sizeof(__pyx_k_miptailFirstLevel_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_miptailSize, __pyx_k_miptailSize, sizeof(__pyx_k_miptailSize), 0, 1, 0, 0},
    {&__pyx_n_s_miptailSize_2, __pyx_k_miptailSize_2, sizeof(__pyx_k_miptailSize_2), 0, 0, 1, 1},
    {&__pyx_kp_u_miptailSize_ValueError, __pyx_k_miptailSize_ValueError, sizeof(__pyx_k_miptailSize_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_miptail_2, __pyx_k_miptail_2, sizeof(__pyx_k_miptail_2), 0, 0, 1, 1},
    {&__pyx_kp_u_miptail_ValueError, __pyx_k_miptail_ValueError, sizeof(__pyx_k_miptail_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_missProp, __pyx_k_missProp, sizeof(__pyx_k_missProp), 0, 1, 0, 0},
    {&__pyx_n_s_missProp_2, __pyx_k_missProp_2, sizeof(__pyx_k_missProp_2), 0, 0, 1, 1},
    {&__pyx_kp_u_missProp_ValueError, __pyx_k_missProp_ValueError, sizeof(__pyx_k_missProp_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_mod, __pyx_k_mod, sizeof(__pyx_k_mod), 0, 0, 1, 1},
    {&__pyx_n_s_mode, __pyx_k_mode, sizeof(__pyx_k_mode), 0, 0, 1, 1},
    {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1},
    {&__pyx_n_s_module_2, __pyx_k_module_2, sizeof(__pyx_k_module_2), 0, 0, 1, 1},
    {&__pyx_n_s_mro_entries, __pyx_k_mro_entries, sizeof(__pyx_k_mro_entries), 0, 0, 1, 1},
    {&__pyx_kp_u_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 1, 0, 0},
    {&__pyx_n_s_name_2, __pyx_k_name_2, sizeof(__pyx_k_name_2), 0, 0, 1, 1},
    {&__pyx_n_s_name_3, __pyx_k_name_3, sizeof(__pyx_k_name_3), 0, 0, 1, 1},
    {&__pyx_kp_u_name_ValueError, __pyx_k_name_ValueError, sizeof(__pyx_k_name_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_nbGroups, __pyx_k_nbGroups, sizeof(__pyx_k_nbGroups), 0, 0, 1, 1},
    {&__pyx_n_s_nbResources, __pyx_k_nbResources, sizeof(__pyx_k_nbResources), 0, 0, 1, 1},
    {&__pyx_kp_s_no_default___reduce___due_to_non, __pyx_k_no_default___reduce___due_to_non, sizeof(__pyx_k_no_default___reduce___due_to_non), 0, 0, 1, 0},
    {&__pyx_n_s_nodeParams, __pyx_k_nodeParams, sizeof(__pyx_k_nodeParams), 0, 0, 1, 1},
    {&__pyx_n_s_nodeParams_out, __pyx_k_nodeParams_out, sizeof(__pyx_k_nodeParams_out), 0, 0, 1, 1},
    {&__pyx_kp_u_not_enough_values_found_during_a, __pyx_k_not_enough_values_found_during_a, sizeof(__pyx_k_not_enough_values_found_during_a), 0, 1, 0, 0},
    {&__pyx_n_s_numAttributes, __pyx_k_numAttributes, sizeof(__pyx_k_numAttributes), 0, 0, 1, 1},
    {&__pyx_kp_u_numAttrs, __pyx_k_numAttrs, sizeof(__pyx_k_numAttrs), 0, 1, 0, 0},
    {&__pyx_n_s_numAttrs_2, __pyx_k_numAttrs_2, sizeof(__pyx_k_numAttrs_2), 0, 0, 1, 1},
    {&__pyx_kp_u_numAttrs_ValueError, __pyx_k_numAttrs_ValueError, sizeof(__pyx_k_numAttrs_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_numBlocks, __pyx_k_numBlocks, sizeof(__pyx_k_numBlocks), 0, 0, 1, 1},
    {&__pyx_kp_u_numChannels, __pyx_k_numChannels, sizeof(__pyx_k_numChannels), 0, 1, 0, 0},
    {&__pyx_n_s_numChannels_2, __pyx_k_numChannels_2, sizeof(__pyx_k_numChannels_2), 0, 0, 1, 1},
    {&__pyx_kp_u_numChannels_ValueError, __pyx_k_numChannels_ValueError, sizeof(__pyx_k_numChannels_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_numClusters, __pyx_k_numClusters, sizeof(__pyx_k_numClusters), 0, 0, 1, 1},
    {&__pyx_n_s_numDependencies, __pyx_k_numDependencies, sizeof(__pyx_k_numDependencies), 0, 0, 1, 1},
    {&__pyx_n_s_numDependencies_out, __pyx_k_numDependencies_out, sizeof(__pyx_k_numDependencies_out), 0, 0, 1, 1},
    {&__pyx_n_s_numDependentNodes, __pyx_k_numDependentNodes, sizeof(__pyx_k_numDependentNodes), 0, 0, 1, 1},
    {&__pyx_kp_u_numDevices, __pyx_k_numDevices, sizeof(__pyx_k_numDevices), 0, 1, 0, 0},
    {&__pyx_n_s_numDevices_2, __pyx_k_numDevices_2, sizeof(__pyx_k_numDevices_2), 0, 0, 1, 1},
    {&__pyx_kp_u_numDevices_ValueError, __pyx_k_numDevices_ValueError, sizeof(__pyx_k_numDevices_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_numEdges, __pyx_k_numEdges, sizeof(__pyx_k_numEdges), 0, 0, 1, 1},
    {&__pyx_kp_u_numExtSems, __pyx_k_numExtSems, sizeof(__pyx_k_numExtSems), 0, 1, 0, 0},
    {&__pyx_n_s_numExtSems_2, __pyx_k_numExtSems_2, sizeof(__pyx_k_numExtSems_2), 0, 0, 1, 1},
    {&__pyx_kp_u_numExtSems_ValueError, __pyx_k_numExtSems_ValueError, sizeof(__pyx_k_numExtSems_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_numFunctions, __pyx_k_numFunctions, sizeof(__pyx_k_numFunctions), 0, 0, 1, 1},
    {&__pyx_n_s_numJitOptions, __pyx_k_numJitOptions, sizeof(__pyx_k_numJitOptions), 0, 0, 1, 1},
    {&__pyx_n_s_numKernels, __pyx_k_numKernels, sizeof(__pyx_k_numKernels), 0, 0, 1, 1},
    {&__pyx_kp_u_numLevels, __pyx_k_numLevels, sizeof(__pyx_k_numLevels), 0, 1, 0, 0},
    {&__pyx_n_s_numLevels_2, __pyx_k_numLevels_2, sizeof(__pyx_k_numLevels_2), 0, 0, 1, 1},
    {&__pyx_kp_u_numLevels_ValueError, __pyx_k_numLevels_ValueError, sizeof(__pyx_k_numLevels_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_numLibraryOptions, __pyx_k_numLibraryOptions, sizeof(__pyx_k_numLibraryOptions), 0, 0, 1, 1},
    {&__pyx_n_s_numMipmapLevels, __pyx_k_numMipmapLevels, sizeof(__pyx_k_numMipmapLevels), 0, 0, 1, 1},
    {&__pyx_n_s_numNodes, __pyx_k_numNodes, sizeof(__pyx_k_numNodes), 0, 0, 1, 1},
    {&__pyx_n_s_numOptions, __pyx_k_numOptions, sizeof(__pyx_k_numOptions), 0, 0, 1, 1},
    {&__pyx_n_s_numParams, __pyx_k_numParams, sizeof(__pyx_k_numParams), 0, 0, 1, 1},
    {&__pyx_n_s_numRootNodes, __pyx_k_numRootNodes, sizeof(__pyx_k_numRootNodes), 0, 0, 1, 1},
    {&__pyx_kp_u_num_bytes, __pyx_k_num_bytes, sizeof(__pyx_k_num_bytes), 0, 1, 0, 0},
    {&__pyx_n_s_num_bytes_2, __pyx_k_num_bytes_2, sizeof(__pyx_k_num_bytes_2), 0, 0, 1, 1},
    {&__pyx_kp_u_num_bytes_ValueError, __pyx_k_num_bytes_ValueError, sizeof(__pyx_k_num_bytes_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_numbytes, __pyx_k_numbytes, sizeof(__pyx_k_numbytes), 0, 0, 1, 1},
    {&__pyx_kp_u_nvSciBufObject, __pyx_k_nvSciBufObject, sizeof(__pyx_k_nvSciBufObject), 0, 1, 0, 0},
    {&__pyx_n_s_nvSciBufObject_2, __pyx_k_nvSciBufObject_2, sizeof(__pyx_k_nvSciBufObject_2), 0, 0, 1, 1},
    {&__pyx_kp_u_nvSciBufObject_ValueError, __pyx_k_nvSciBufObject_ValueError, sizeof(__pyx_k_nvSciBufObject_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_nvSciSync, __pyx_k_nvSciSync, sizeof(__pyx_k_nvSciSync), 0, 1, 0, 0},
    {&__pyx_n_s_nvSciSyncAttrList, __pyx_k_nvSciSyncAttrList, sizeof(__pyx_k_nvSciSyncAttrList), 0, 0, 1, 1},
    {&__pyx_kp_u_nvSciSyncObj, __pyx_k_nvSciSyncObj, sizeof(__pyx_k_nvSciSyncObj), 0, 1, 0, 0},
    {&__pyx_n_s_nvSciSyncObj_2, __pyx_k_nvSciSyncObj_2, sizeof(__pyx_k_nvSciSyncObj_2), 0, 0, 1, 1},
    {&__pyx_kp_u_nvSciSyncObj_ValueError, __pyx_k_nvSciSyncObj_ValueError, sizeof(__pyx_k_nvSciSyncObj_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_nvSciSync_2, __pyx_k_nvSciSync_2, sizeof(__pyx_k_nvSciSync_2), 0, 0, 1, 1},
    {&__pyx_kp_u_nvSciSync_ValueError, __pyx_k_nvSciSync_ValueError, sizeof(__pyx_k_nvSciSync_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_obj, __pyx_k_obj, sizeof(__pyx_k_obj), 0, 0, 1, 1},
    {&__pyx_n_s_objType, __pyx_k_objType, sizeof(__pyx_k_objType), 0, 0, 1, 1},
    {&__pyx_n_s_object, __pyx_k_object, sizeof(__pyx_k_object), 0, 0, 1, 1},
    {&__pyx_n_s_object_out, __pyx_k_object_out, sizeof(__pyx_k_object_out), 0, 0, 1, 1},
    {&__pyx_kp_u_offset, __pyx_k_offset, sizeof(__pyx_k_offset), 0, 1, 0, 0},
    {&__pyx_kp_u_offsetX, __pyx_k_offsetX, sizeof(__pyx_k_offsetX), 0, 1, 0, 0},
    {&__pyx_n_s_offsetX_2, __pyx_k_offsetX_2, sizeof(__pyx_k_offsetX_2), 0, 0, 1, 1},
    {&__pyx_kp_u_offsetX_ValueError, __pyx_k_offsetX_ValueError, sizeof(__pyx_k_offsetX_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_offsetY, __pyx_k_offsetY, sizeof(__pyx_k_offsetY), 0, 1, 0, 0},
    {&__pyx_n_s_offsetY_2, __pyx_k_offsetY_2, sizeof(__pyx_k_offsetY_2), 0, 0, 1, 1},
    {&__pyx_kp_u_offsetY_ValueError, __pyx_k_offsetY_ValueError, sizeof(__pyx_k_offsetY_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_offsetZ, __pyx_k_offsetZ, sizeof(__pyx_k_offsetZ), 0, 1, 0, 0},
    {&__pyx_n_s_offsetZ_2, __pyx_k_offsetZ_2, sizeof(__pyx_k_offsetZ_2), 0, 0, 1, 1},
    {&__pyx_kp_u_offsetZ_ValueError, __pyx_k_offsetZ_ValueError, sizeof(__pyx_k_offsetZ_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_offset_2, __pyx_k_offset_2, sizeof(__pyx_k_offset_2), 0, 0, 1, 1},
    {&__pyx_kp_u_offset_ValueError, __pyx_k_offset_ValueError, sizeof(__pyx_k_offset_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_oobFill, __pyx_k_oobFill, sizeof(__pyx_k_oobFill), 0, 0, 1, 1},
    {&__pyx_kp_u_opaque, __pyx_k_opaque, sizeof(__pyx_k_opaque), 0, 1, 0, 0},
    {&__pyx_n_s_opaque_2, __pyx_k_opaque_2, sizeof(__pyx_k_opaque_2), 0, 0, 1, 1},
    {&__pyx_kp_u_opaque_ValueError, __pyx_k_opaque_ValueError, sizeof(__pyx_k_opaque_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_operation, __pyx_k_operation, sizeof(__pyx_k_operation), 0, 1, 0, 0},
    {&__pyx_n_s_operation_2, __pyx_k_operation_2, sizeof(__pyx_k_operation_2), 0, 0, 1, 1},
    {&__pyx_kp_u_operation_ValueError, __pyx_k_operation_ValueError, sizeof(__pyx_k_operation_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_option, __pyx_k_option, sizeof(__pyx_k_option), 0, 0, 1, 1},
    {&__pyx_n_s_optionValues, __pyx_k_optionValues, sizeof(__pyx_k_optionValues), 0, 0, 1, 1},
    {&__pyx_n_s_options, __pyx_k_options, sizeof(__pyx_k_options), 0, 0, 1, 1},
    {&__pyx_n_s_ordinal, __pyx_k_ordinal, sizeof(__pyx_k_ordinal), 0, 0, 1, 1},
    {&__pyx_n_s_originalGraph, __pyx_k_originalGraph, sizeof(__pyx_k_originalGraph), 0, 0, 1, 1},
    {&__pyx_n_s_osHandle, __pyx_k_osHandle, sizeof(__pyx_k_osHandle), 0, 0, 1, 1},
    {&__pyx_kp_u_overBudget, __pyx_k_overBudget, sizeof(__pyx_k_overBudget), 0, 1, 0, 0},
    {&__pyx_n_s_overBudget_2, __pyx_k_overBudget_2, sizeof(__pyx_k_overBudget_2), 0, 0, 1, 1},
    {&__pyx_kp_u_overBudget_ValueError, __pyx_k_overBudget_ValueError, sizeof(__pyx_k_overBudget_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_oversize, __pyx_k_oversize, sizeof(__pyx_k_oversize), 0, 1, 0, 0},
    {&__pyx_n_s_oversize_2, __pyx_k_oversize_2, sizeof(__pyx_k_oversize_2), 0, 0, 1, 1},
    {&__pyx_kp_u_oversize_ValueError, __pyx_k_oversize_ValueError, sizeof(__pyx_k_oversize_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_oversize_length_must_be_48_is, __pyx_k_oversize_length_must_be_48_is, sizeof(__pyx_k_oversize_length_must_be_48_is), 0, 1, 0, 0},
    {&__pyx_n_s_p, __pyx_k_p, sizeof(__pyx_k_p), 0, 0, 1, 1},
    {&__pyx_kp_u_p2pToken, __pyx_k_p2pToken, sizeof(__pyx_k_p2pToken), 0, 1, 0, 0},
    {&__pyx_n_s_p2pToken_2, __pyx_k_p2pToken_2, sizeof(__pyx_k_p2pToken_2), 0, 0, 1, 1},
    {&__pyx_kp_u_p2pToken_ValueError, __pyx_k_p2pToken_ValueError, sizeof(__pyx_k_p2pToken_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_pAllocateArray, __pyx_k_pAllocateArray, sizeof(__pyx_k_pAllocateArray), 0, 0, 1, 1},
    {&__pyx_kp_u_pArray, __pyx_k_pArray, sizeof(__pyx_k_pArray), 0, 1, 0, 0},
    {&__pyx_n_s_pArrayDescriptor, __pyx_k_pArrayDescriptor, sizeof(__pyx_k_pArrayDescriptor), 0, 0, 1, 1},
    {&__pyx_n_s_pArray_2, __pyx_k_pArray_2, sizeof(__pyx_k_pArray_2), 0, 0, 1, 1},
    {&__pyx_kp_u_pArray_ValueError, __pyx_k_pArray_ValueError, sizeof(__pyx_k_pArray_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_pBorderColor, __pyx_k_pBorderColor, sizeof(__pyx_k_pBorderColor), 0, 0, 1, 1},
    {&__pyx_n_s_pConfig, __pyx_k_pConfig, sizeof(__pyx_k_pConfig), 0, 0, 1, 1},
    {&__pyx_n_s_pContext, __pyx_k_pContext, sizeof(__pyx_k_pContext), 0, 0, 1, 1},
    {&__pyx_n_s_pCopy, __pyx_k_pCopy, sizeof(__pyx_k_pCopy), 0, 0, 1, 1},
    {&__pyx_n_s_pCtx, __pyx_k_pCtx, sizeof(__pyx_k_pCtx), 0, 0, 1, 1},
    {&__pyx_n_s_pCudaDeviceCount, __pyx_k_pCudaDeviceCount, sizeof(__pyx_k_pCudaDeviceCount), 0, 0, 1, 1},
    {&__pyx_n_s_pCudaResource, __pyx_k_pCudaResource, sizeof(__pyx_k_pCudaResource), 0, 0, 1, 1},
    {&__pyx_n_s_pDevPtr, __pyx_k_pDevPtr, sizeof(__pyx_k_pDevPtr), 0, 0, 1, 1},
    {&__pyx_n_s_pDevice, __pyx_k_pDevice, sizeof(__pyx_k_pDevice), 0, 0, 1, 1},
    {&__pyx_n_s_pExecAffinity, __pyx_k_pExecAffinity, sizeof(__pyx_k_pExecAffinity), 0, 0, 1, 1},
    {&__pyx_n_s_pExportTableId, __pyx_k_pExportTableId, sizeof(__pyx_k_pExportTableId), 0, 0, 1, 1},
    {&__pyx_n_s_pFlags, __pyx_k_pFlags, sizeof(__pyx_k_pFlags), 0, 0, 1, 1},
    {&__pyx_n_s_pFormat, __pyx_k_pFormat, sizeof(__pyx_k_pFormat), 0, 0, 1, 1},
    {&__pyx_n_s_pFunc, __pyx_k_pFunc, sizeof(__pyx_k_pFunc), 0, 0, 1, 1},
    {&__pyx_n_s_pHandle, __pyx_k_pHandle, sizeof(__pyx_k_pHandle), 0, 0, 1, 1},
    {&__pyx_n_s_pHandle_out, __pyx_k_pHandle_out, sizeof(__pyx_k_pHandle_out), 0, 0, 1, 1},
    {&__pyx_n_s_pKernel, __pyx_k_pKernel, sizeof(__pyx_k_pKernel), 0, 0, 1, 1},
    {&__pyx_n_s_pLevelArray, __pyx_k_pLevelArray, sizeof(__pyx_k_pLevelArray), 0, 0, 1, 1},
    {&__pyx_n_s_pMilliseconds, __pyx_k_pMilliseconds, sizeof(__pyx_k_pMilliseconds), 0, 0, 1, 1},
    {&__pyx_n_s_pMipmappedArray, __pyx_k_pMipmappedArray, sizeof(__pyx_k_pMipmappedArray), 0, 0, 1, 1},
    {&__pyx_n_s_pMipmappedArrayDesc, __pyx_k_pMipmappedArrayDesc, sizeof(__pyx_k_pMipmappedArrayDesc), 0, 0, 1, 1},
    {&__pyx_n_s_pMod, __pyx_k_pMod, sizeof(__pyx_k_pMod), 0, 0, 1, 1},
    {&__pyx_n_s_pNumChannels, __pyx_k_pNumChannels, sizeof(__pyx_k_pNumChannels), 0, 0, 1, 1},
    {&__pyx_kp_u_pPitch, __pyx_k_pPitch, sizeof(__pyx_k_pPitch), 0, 1, 0, 0},
    {&__pyx_n_s_pPitch_2, __pyx_k_pPitch_2, sizeof(__pyx_k_pPitch_2), 0, 0, 1, 1},
    {&__pyx_kp_u_pPitch_ValueError, __pyx_k_pPitch_ValueError, sizeof(__pyx_k_pPitch_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_pPlaneArray, __pyx_k_pPlaneArray, sizeof(__pyx_k_pPlaneArray), 0, 0, 1, 1},
    {&__pyx_n_s_pResDesc, __pyx_k_pResDesc, sizeof(__pyx_k_pResDesc), 0, 0, 1, 1},
    {&__pyx_n_s_pResViewDesc, __pyx_k_pResViewDesc, sizeof(__pyx_k_pResViewDesc), 0, 0, 1, 1},
    {&__pyx_n_s_pSize, __pyx_k_pSize, sizeof(__pyx_k_pSize), 0, 0, 1, 1},
    {&__pyx_n_s_pStr, __pyx_k_pStr, sizeof(__pyx_k_pStr), 0, 0, 1, 1},
    {&__pyx_n_s_pStream, __pyx_k_pStream, sizeof(__pyx_k_pStream), 0, 0, 1, 1},
    {&__pyx_n_s_pSurfObject, __pyx_k_pSurfObject, sizeof(__pyx_k_pSurfObject), 0, 0, 1, 1},
    {&__pyx_n_s_pSurfRef, __pyx_k_pSurfRef, sizeof(__pyx_k_pSurfRef), 0, 0, 1, 1},
    {&__pyx_n_s_pTexDesc, __pyx_k_pTexDesc, sizeof(__pyx_k_pTexDesc), 0, 0, 1, 1},
    {&__pyx_n_s_pTexObject, __pyx_k_pTexObject, sizeof(__pyx_k_pTexObject), 0, 0, 1, 1},
    {&__pyx_n_s_pTexRef, __pyx_k_pTexRef, sizeof(__pyx_k_pTexRef), 0, 0, 1, 1},
    {&__pyx_kp_u_pad, __pyx_k_pad, sizeof(__pyx_k_pad), 0, 1, 0, 0},
    {&__pyx_n_s_pad_2, __pyx_k_pad_2, sizeof(__pyx_k_pad_2), 0, 0, 1, 1},
    {&__pyx_kp_u_pad_ValueError, __pyx_k_pad_ValueError, sizeof(__pyx_k_pad_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_pad_length_must_be_64_is, __pyx_k_pad_length_must_be_64_is, sizeof(__pyx_k_pad_length_must_be_64_is), 0, 1, 0, 0},
    {&__pyx_n_s_paddr, __pyx_k_paddr, sizeof(__pyx_k_paddr), 0, 0, 1, 1},
    {&__pyx_n_s_pam, __pyx_k_pam, sizeof(__pyx_k_pam), 0, 0, 1, 1},
    {&__pyx_kp_u_param, __pyx_k_param, sizeof(__pyx_k_param), 0, 1, 0, 0},
    {&__pyx_kp_u_paramArray, __pyx_k_paramArray, sizeof(__pyx_k_paramArray), 0, 1, 0, 0},
    {&__pyx_n_s_paramArray_2, __pyx_k_paramArray_2, sizeof(__pyx_k_paramArray_2), 0, 0, 1, 1},
    {&__pyx_kp_u_paramArray_ValueError, __pyx_k_paramArray_ValueError, sizeof(__pyx_k_paramArray_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_paramIndex, __pyx_k_paramIndex, sizeof(__pyx_k_paramIndex), 0, 0, 1, 1},
    {&__pyx_n_s_paramOffset, __pyx_k_paramOffset, sizeof(__pyx_k_paramOffset), 0, 0, 1, 1},
    {&__pyx_n_s_paramSize, __pyx_k_paramSize, sizeof(__pyx_k_paramSize), 0, 0, 1, 1},
    {&__pyx_n_s_param_2, __pyx_k_param_2, sizeof(__pyx_k_param_2), 0, 0, 1, 1},
    {&__pyx_kp_u_param_ValueError, __pyx_k_param_ValueError, sizeof(__pyx_k_param_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_params, __pyx_k_params, sizeof(__pyx_k_params), 0, 1, 0, 0},
    {&__pyx_kp_u_paramsArray, __pyx_k_paramsArray, sizeof(__pyx_k_paramsArray), 0, 1, 0, 0},
    {&__pyx_n_s_paramsArray_2, __pyx_k_paramsArray_2, sizeof(__pyx_k_paramsArray_2), 0, 0, 1, 1},
    {&__pyx_kp_u_paramsArray_ValueError, __pyx_k_paramsArray_ValueError, sizeof(__pyx_k_paramsArray_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_params_2, __pyx_k_params_2, sizeof(__pyx_k_params_2), 0, 0, 1, 1},
    {&__pyx_kp_u_params_ValueError, __pyx_k_params_ValueError, sizeof(__pyx_k_params_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_params_out, __pyx_k_params_out, sizeof(__pyx_k_params_out), 0, 0, 1, 1},
    {&__pyx_n_s_parray, __pyx_k_parray, sizeof(__pyx_k_parray), 0, 0, 1, 1},
    {&__pyx_n_s_path, __pyx_k_path, sizeof(__pyx_k_path), 0, 0, 1, 1},
    {&__pyx_n_s_pbase, __pyx_k_pbase, sizeof(__pyx_k_pbase), 0, 0, 1, 1},
    {&__pyx_n_s_pbias, __pyx_k_pbias, sizeof(__pyx_k_pbias), 0, 0, 1, 1},
    {&__pyx_n_s_pblockSizeToDynamicSMemSize, __pyx_k_pblockSizeToDynamicSMemSize, sizeof(__pyx_k_pblockSizeToDynamicSMemSize), 0, 0, 1, 1},
    {&__pyx_n_s_pbuffer, __pyx_k_pbuffer, sizeof(__pyx_k_pbuffer), 0, 0, 1, 1},
    {&__pyx_n_s_pcallback, __pyx_k_pcallback, sizeof(__pyx_k_pcallback), 0, 0, 1, 1},
    {&__pyx_n_s_pcallbackFunc, __pyx_k_pcallbackFunc, sizeof(__pyx_k_pcallbackFunc), 0, 0, 1, 1},
    {&__pyx_n_s_pchannelsPerPixel, __pyx_k_pchannelsPerPixel, sizeof(__pyx_k_pchannelsPerPixel), 0, 0, 1, 1},
    {&__pyx_n_s_pchildGraph, __pyx_k_pchildGraph, sizeof(__pyx_k_pchildGraph), 0, 0, 1, 1},
    {&__pyx_n_s_pciBusId, __pyx_k_pciBusId, sizeof(__pyx_k_pciBusId), 0, 0, 1, 1},
    {&__pyx_n_s_pconfig, __pyx_k_pconfig, sizeof(__pyx_k_pconfig), 0, 0, 1, 1},
    {&__pyx_n_s_pconn, __pyx_k_pconn, sizeof(__pyx_k_pconn), 0, 0, 1, 1},
    {&__pyx_n_s_pctx, __pyx_k_pctx, sizeof(__pyx_k_pctx), 0, 0, 1, 1},
    {&__pyx_n_s_pdesc, __pyx_k_pdesc, sizeof(__pyx_k_pdesc), 0, 0, 1, 1},
    {&__pyx_n_s_pdestroy, __pyx_k_pdestroy, sizeof(__pyx_k_pdestroy), 0, 0, 1, 1},
    {&__pyx_n_s_pdev, __pyx_k_pdev, sizeof(__pyx_k_pdev), 0, 0, 1, 1},
    {&__pyx_n_s_pdevPtr, __pyx_k_pdevPtr, sizeof(__pyx_k_pdevPtr), 0, 0, 1, 1},
    {&__pyx_n_s_pdevice, __pyx_k_pdevice, sizeof(__pyx_k_pdevice), 0, 0, 1, 1},
    {&__pyx_n_s_pdptr, __pyx_k_pdptr, sizeof(__pyx_k_pdptr), 0, 0, 1, 1},
    {&__pyx_n_s_pdst, __pyx_k_pdst, sizeof(__pyx_k_pdst), 0, 0, 1, 1},
    {&__pyx_n_s_pdstArray, __pyx_k_pdstArray, sizeof(__pyx_k_pdstArray), 0, 0, 1, 1},
    {&__pyx_n_s_pdstContext, __pyx_k_pdstContext, sizeof(__pyx_k_pdstContext), 0, 0, 1, 1},
    {&__pyx_n_s_pdstDevice, __pyx_k_pdstDevice, sizeof(__pyx_k_pdstDevice), 0, 0, 1, 1},
    {&__pyx_n_s_peerContext, __pyx_k_peerContext, sizeof(__pyx_k_peerContext), 0, 0, 1, 1},
    {&__pyx_n_s_peerDev, __pyx_k_peerDev, sizeof(__pyx_k_peerDev), 0, 0, 1, 1},
    {&__pyx_n_s_peglSync, __pyx_k_peglSync, sizeof(__pyx_k_peglSync), 0, 0, 1, 1},
    {&__pyx_n_s_pevent, __pyx_k_pevent, sizeof(__pyx_k_pevent), 0, 0, 1, 1},
    {&__pyx_n_s_pextMem, __pyx_k_pextMem, sizeof(__pyx_k_pextMem), 0, 0, 1, 1},
    {&__pyx_n_s_pextSem, __pyx_k_pextSem, sizeof(__pyx_k_pextSem), 0, 0, 1, 1},
    {&__pyx_n_s_pf, __pyx_k_pf, sizeof(__pyx_k_pf), 0, 0, 1, 1},
    {&__pyx_n_s_pflags, __pyx_k_pflags, sizeof(__pyx_k_pflags), 0, 0, 1, 1},
    {&__pyx_n_s_pfm, __pyx_k_pfm, sizeof(__pyx_k_pfm), 0, 0, 1, 1},
    {&__pyx_n_s_pfn, __pyx_k_pfn, sizeof(__pyx_k_pfn), 0, 0, 1, 1},
    {&__pyx_n_s_pformat, __pyx_k_pformat, sizeof(__pyx_k_pformat), 0, 0, 1, 1},
    {&__pyx_n_s_pfunc, __pyx_k_pfunc, sizeof(__pyx_k_pfunc), 0, 0, 1, 1},
    {&__pyx_n_s_pfunction, __pyx_k_pfunction, sizeof(__pyx_k_pfunction), 0, 0, 1, 1},
    {&__pyx_n_s_pgraph, __pyx_k_pgraph, sizeof(__pyx_k_pgraph), 0, 0, 1, 1},
    {&__pyx_n_s_phArray, __pyx_k_phArray, sizeof(__pyx_k_phArray), 0, 0, 1, 1},
    {&__pyx_n_s_phClonedGraph, __pyx_k_phClonedGraph, sizeof(__pyx_k_phClonedGraph), 0, 0, 1, 1},
    {&__pyx_n_s_phCtx, __pyx_k_phCtx, sizeof(__pyx_k_phCtx), 0, 0, 1, 1},
    {&__pyx_n_s_phDesc, __pyx_k_phDesc, sizeof(__pyx_k_phDesc), 0, 0, 1, 1},
    {&__pyx_n_s_phEnd, __pyx_k_phEnd, sizeof(__pyx_k_phEnd), 0, 0, 1, 1},
    {&__pyx_n_s_phEvent, __pyx_k_phEvent, sizeof(__pyx_k_phEvent), 0, 0, 1, 1},
    {&__pyx_n_s_phGraph, __pyx_k_phGraph, sizeof(__pyx_k_phGraph), 0, 0, 1, 1},
    {&__pyx_n_s_phGraphClone, __pyx_k_phGraphClone, sizeof(__pyx_k_phGraphClone), 0, 0, 1, 1},
    {&__pyx_n_s_phGraphExec, __pyx_k_phGraphExec, sizeof(__pyx_k_phGraphExec), 0, 0, 1, 1},
    {&__pyx_n_s_phGraphNode, __pyx_k_phGraphNode, sizeof(__pyx_k_phGraphNode), 0, 0, 1, 1},
    {&__pyx_kp_u_phGraph_out, __pyx_k_phGraph_out, sizeof(__pyx_k_phGraph_out), 0, 1, 0, 0},
    {&__pyx_n_s_phGraph_out_2, __pyx_k_phGraph_out_2, sizeof(__pyx_k_phGraph_out_2), 0, 0, 1, 1},
    {&__pyx_kp_u_phGraph_out_ValueError, __pyx_k_phGraph_out_ValueError, sizeof(__pyx_k_phGraph_out_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_phMipmappedArray, __pyx_k_phMipmappedArray, sizeof(__pyx_k_phMipmappedArray), 0, 0, 1, 1},
    {&__pyx_n_s_phNode, __pyx_k_phNode, sizeof(__pyx_k_phNode), 0, 0, 1, 1},
    {&__pyx_n_s_phOriginalNode, __pyx_k_phOriginalNode, sizeof(__pyx_k_phOriginalNode), 0, 0, 1, 1},
    {&__pyx_n_s_phStart, __pyx_k_phStart, sizeof(__pyx_k_phStart), 0, 0, 1, 1},
    {&__pyx_n_s_phStream, __pyx_k_phStream, sizeof(__pyx_k_phStream), 0, 0, 1, 1},
    {&__pyx_n_s_phSurfRef, __pyx_k_phSurfRef, sizeof(__pyx_k_phSurfRef), 0, 0, 1, 1},
    {&__pyx_n_s_phTexRef, __pyx_k_phTexRef, sizeof(__pyx_k_phTexRef), 0, 0, 1, 1},
    {&__pyx_n_s_phandle, __pyx_k_phandle, sizeof(__pyx_k_phandle), 0, 0, 1, 1},
    {&__pyx_n_s_pheight, __pyx_k_pheight, sizeof(__pyx_k_pheight), 0, 0, 1, 1},
    {&__pyx_n_s_phfunc, __pyx_k_phfunc, sizeof(__pyx_k_phfunc), 0, 0, 1, 1},
    {&__pyx_n_s_phmod, __pyx_k_phmod, sizeof(__pyx_k_phmod), 0, 0, 1, 1},
    {&__pyx_n_s_pi, __pyx_k_pi, sizeof(__pyx_k_pi), 0, 0, 1, 1},
    {&__pyx_n_s_pimage, __pyx_k_pimage, sizeof(__pyx_k_pimage), 0, 0, 1, 1},
    {&__pyx_kp_u_pitch, __pyx_k_pitch, sizeof(__pyx_k_pitch), 0, 1, 0, 0},
    {&__pyx_kp_u_pitch2D, __pyx_k_pitch2D, sizeof(__pyx_k_pitch2D), 0, 1, 0, 0},
    {&__pyx_n_s_pitch2D_2, __pyx_k_pitch2D_2, sizeof(__pyx_k_pitch2D_2), 0, 0, 1, 1},
    {&__pyx_kp_u_pitch2D_ValueError, __pyx_k_pitch2D_ValueError, sizeof(__pyx_k_pitch2D_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_pitchInBytes, __pyx_k_pitchInBytes, sizeof(__pyx_k_pitchInBytes), 0, 1, 0, 0},
    {&__pyx_n_s_pitchInBytes_2, __pyx_k_pitchInBytes_2, sizeof(__pyx_k_pitchInBytes_2), 0, 0, 1, 1},
    {&__pyx_kp_u_pitchInBytes_ValueError, __pyx_k_pitchInBytes_ValueError, sizeof(__pyx_k_pitchInBytes_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_pitch_2, __pyx_k_pitch_2, sizeof(__pyx_k_pitch_2), 0, 0, 1, 1},
    {&__pyx_kp_u_pitch_ValueError, __pyx_k_pitch_ValueError, sizeof(__pyx_k_pitch_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_pixelBoxLowerCorner, __pyx_k_pixelBoxLowerCorner, sizeof(__pyx_k_pixelBoxLowerCorner), 0, 0, 1, 1},
    {&__pyx_n_s_pixelBoxUpperCorner, __pyx_k_pixelBoxUpperCorner, sizeof(__pyx_k_pixelBoxUpperCorner), 0, 0, 1, 1},
    {&__pyx_n_s_pixelsPerColumn, __pyx_k_pixelsPerColumn, sizeof(__pyx_k_pixelsPerColumn), 0, 0, 1, 1},
    {&__pyx_n_s_pkernel, __pyx_k_pkernel, sizeof(__pyx_k_pkernel), 0, 0, 1, 1},
    {&__pyx_kp_u_planeCount, __pyx_k_planeCount, sizeof(__pyx_k_planeCount), 0, 1, 0, 0},
    {&__pyx_n_s_planeCount_2, __pyx_k_planeCount_2, sizeof(__pyx_k_planeCount_2), 0, 0, 1, 1},
    {&__pyx_kp_u_planeCount_ValueError, __pyx_k_planeCount_ValueError, sizeof(__pyx_k_planeCount_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_planeIdx, __pyx_k_planeIdx, sizeof(__pyx_k_planeIdx), 0, 0, 1, 1},
    {&__pyx_n_s_plib, __pyx_k_plib, sizeof(__pyx_k_plib), 0, 0, 1, 1},
    {&__pyx_n_s_plibrary, __pyx_k_plibrary, sizeof(__pyx_k_plibrary), 0, 0, 1, 1},
    {&__pyx_n_s_pmaxAniso, __pyx_k_pmaxAniso, sizeof(__pyx_k_pmaxAniso), 0, 0, 1, 1},
    {&__pyx_n_s_pmaxMipmapLevelClamp, __pyx_k_pmaxMipmapLevelClamp, sizeof(__pyx_k_pmaxMipmapLevelClamp), 0, 0, 1, 1},
    {&__pyx_n_s_pmcHandle, __pyx_k_pmcHandle, sizeof(__pyx_k_pmcHandle), 0, 0, 1, 1},
    {&__pyx_n_s_pmemHandle, __pyx_k_pmemHandle, sizeof(__pyx_k_pmemHandle), 0, 0, 1, 1},
    {&__pyx_n_s_pmemPool, __pyx_k_pmemPool, sizeof(__pyx_k_pmemPool), 0, 0, 1, 1},
    {&__pyx_n_s_pmemptr, __pyx_k_pmemptr, sizeof(__pyx_k_pmemptr), 0, 0, 1, 1},
    {&__pyx_n_s_pminMipmapLevelClamp, __pyx_k_pminMipmapLevelClamp, sizeof(__pyx_k_pminMipmapLevelClamp), 0, 0, 1, 1},
    {&__pyx_n_s_pmipmap, __pyx_k_pmipmap, sizeof(__pyx_k_pmipmap), 0, 0, 1, 1},
    {&__pyx_n_s_pmod, __pyx_k_pmod, sizeof(__pyx_k_pmod), 0, 0, 1, 1},
    {&__pyx_n_s_pobject, __pyx_k_pobject, sizeof(__pyx_k_pobject), 0, 0, 1, 1},
    {&__pyx_n_s_pool, __pyx_k_pool, sizeof(__pyx_k_pool), 0, 0, 1, 1},
    {&__pyx_kp_u_poolProps, __pyx_k_poolProps, sizeof(__pyx_k_poolProps), 0, 1, 0, 0},
    {&__pyx_n_s_poolProps_2, __pyx_k_poolProps_2, sizeof(__pyx_k_poolProps_2), 0, 0, 1, 1},
    {&__pyx_kp_u_poolProps_ValueError, __pyx_k_poolProps_ValueError, sizeof(__pyx_k_poolProps_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_pool_out, __pyx_k_pool_out, sizeof(__pyx_k_pool_out), 0, 0, 1, 1},
    {&__pyx_n_s_poriginalGraph, __pyx_k_poriginalGraph, sizeof(__pyx_k_poriginalGraph), 0, 0, 1, 1},
    {&__pyx_n_s_pp, __pyx_k_pp, sizeof(__pyx_k_pp), 0, 0, 1, 1},
    {&__pyx_n_s_ppCudaResource, __pyx_k_ppCudaResource, sizeof(__pyx_k_ppCudaResource), 0, 0, 1, 1},
    {&__pyx_n_s_ppExportTable, __pyx_k_ppExportTable, sizeof(__pyx_k_ppExportTable), 0, 0, 1, 1},
    {&__pyx_n_s_ppStream, __pyx_k_ppStream, sizeof(__pyx_k_ppStream), 0, 0, 1, 1},
    {&__pyx_n_s_ppeerContext, __pyx_k_ppeerContext, sizeof(__pyx_k_ppeerContext), 0, 0, 1, 1},
    {&__pyx_n_s_ppeerDev, __pyx_k_ppeerDev, sizeof(__pyx_k_ppeerDev), 0, 0, 1, 1},
    {&__pyx_n_s_ppixelsPerColumn, __pyx_k_ppixelsPerColumn, sizeof(__pyx_k_ppixelsPerColumn), 0, 0, 1, 1},
    {&__pyx_n_s_ppool, __pyx_k_ppool, sizeof(__pyx_k_ppool), 0, 0, 1, 1},
    {&__pyx_n_s_pptr, __pyx_k_pptr, sizeof(__pyx_k_pptr), 0, 0, 1, 1},
    {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1},
    {&__pyx_n_s_presource, __pyx_k_presource, sizeof(__pyx_k_presource), 0, 0, 1, 1},
    {&__pyx_n_s_presources, __pyx_k_presources, sizeof(__pyx_k_presources), 0, 0, 1, 1},
    {&__pyx_kp_u_priority, __pyx_k_priority, sizeof(__pyx_k_priority), 0, 1, 0, 0},
    {&__pyx_n_s_priority_2, __pyx_k_priority_2, sizeof(__pyx_k_priority_2), 0, 0, 1, 1},
    {&__pyx_kp_u_priority_ValueError, __pyx_k_priority_ValueError, sizeof(__pyx_k_priority_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_programmaticEvent, __pyx_k_programmaticEvent, sizeof(__pyx_k_programmaticEvent), 0, 1, 0, 0},
    {&__pyx_n_s_programmaticEvent_2, __pyx_k_programmaticEvent_2, sizeof(__pyx_k_programmaticEvent_2), 0, 0, 1, 1},
    {&__pyx_kp_u_programmaticEvent_ValueError, __pyx_k_programmaticEvent_ValueError, sizeof(__pyx_k_programmaticEvent_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_programmaticStreamSerializationA, __pyx_k_programmaticStreamSerializationA, sizeof(__pyx_k_programmaticStreamSerializationA), 0, 1, 0, 0},
    {&__pyx_n_s_programmaticStreamSerializationA_2, __pyx_k_programmaticStreamSerializationA_2, sizeof(__pyx_k_programmaticStreamSerializationA_2), 0, 0, 1, 1},
    {&__pyx_kp_u_programmaticStreamSerializationA_3, __pyx_k_programmaticStreamSerializationA_3, sizeof(__pyx_k_programmaticStreamSerializationA_3), 0, 1, 0, 0},
    {&__pyx_n_s_prop, __pyx_k_prop, sizeof(__pyx_k_prop), 0, 0, 1, 1},
    {&__pyx_n_s_psize, __pyx_k_psize, sizeof(__pyx_k_psize), 0, 0, 1, 1},
    {&__pyx_n_s_psrc, __pyx_k_psrc, sizeof(__pyx_k_psrc), 0, 0, 1, 1},
    {&__pyx_n_s_psrcArray, __pyx_k_psrcArray, sizeof(__pyx_k_psrcArray), 0, 0, 1, 1},
    {&__pyx_n_s_psrcContext, __pyx_k_psrcContext, sizeof(__pyx_k_psrcContext), 0, 0, 1, 1},
    {&__pyx_n_s_psrcDevice, __pyx_k_psrcDevice, sizeof(__pyx_k_psrcDevice), 0, 0, 1, 1},
    {&__pyx_n_s_pstate, __pyx_k_pstate, sizeof(__pyx_k_pstate), 0, 0, 1, 1},
    {&__pyx_n_s_pstream, __pyx_k_pstream, sizeof(__pyx_k_pstream), 0, 0, 1, 1},
    {&__pyx_n_s_psurfObject, __pyx_k_psurfObject, sizeof(__pyx_k_psurfObject), 0, 0, 1, 1},
    {&__pyx_n_s_ptarget, __pyx_k_ptarget, sizeof(__pyx_k_ptarget), 0, 0, 1, 1},
    {&__pyx_n_s_ptensorRank, __pyx_k_ptensorRank, sizeof(__pyx_k_ptensorRank), 0, 0, 1, 1},
    {&__pyx_n_s_ptexObject, __pyx_k_ptexObject, sizeof(__pyx_k_ptexObject), 0, 0, 1, 1},
    {&__pyx_n_s_ptr, __pyx_k_ptr, sizeof(__pyx_k_ptr), 0, 0, 1, 1},
    {&__pyx_n_s_ptr_2, __pyx_k_ptr_2, sizeof(__pyx_k_ptr_2), 0, 0, 1, 1},
    {&__pyx_n_s_ptr_out, __pyx_k_ptr_out, sizeof(__pyx_k_ptr_out), 0, 0, 1, 1},
    {&__pyx_n_s_pvalue, __pyx_k_pvalue, sizeof(__pyx_k_pvalue), 0, 0, 1, 1},
    {&__pyx_n_s_pvdpDevice, __pyx_k_pvdpDevice, sizeof(__pyx_k_pvdpDevice), 0, 0, 1, 1},
    {&__pyx_n_s_pvdpGetProcAddress, __pyx_k_pvdpGetProcAddress, sizeof(__pyx_k_pvdpGetProcAddress), 0, 0, 1, 1},
    {&__pyx_n_s_pvdpSurface, __pyx_k_pvdpSurface, sizeof(__pyx_k_pvdpSurface), 0, 0, 1, 1},
    {&__pyx_n_s_pwidth, __pyx_k_pwidth, sizeof(__pyx_k_pwidth), 0, 0, 1, 1},
    {&__pyx_n_s_pyObj, __pyx_k_pyObj, sizeof(__pyx_k_pyObj), 0, 0, 1, 1},
    {&__pyx_n_s_pyattributes, __pyx_k_pyattributes, sizeof(__pyx_k_pyattributes), 0, 0, 1, 1},
    {&__pyx_n_s_pydataSizes, __pyx_k_pydataSizes, sizeof(__pyx_k_pydataSizes), 0, 0, 1, 1},
    {&__pyx_n_s_pydependencies, __pyx_k_pydependencies, sizeof(__pyx_k_pydependencies), 0, 0, 1, 1},
    {&__pyx_n_s_pydependencies_out, __pyx_k_pydependencies_out, sizeof(__pyx_k_pydependencies_out), 0, 0, 1, 1},
    {&__pyx_n_s_pydependentNodes, __pyx_k_pydependentNodes, sizeof(__pyx_k_pydependentNodes), 0, 0, 1, 1},
    {&__pyx_n_s_pyedgeData, __pyx_k_pyedgeData, sizeof(__pyx_k_pyedgeData), 0, 0, 1, 1},
    {&__pyx_n_s_pyedgeData_out, __pyx_k_pyedgeData_out, sizeof(__pyx_k_pyedgeData_out), 0, 0, 1, 1},
    {&__pyx_n_s_pyfrom, __pyx_k_pyfrom, sizeof(__pyx_k_pyfrom), 0, 0, 1, 1},
    {&__pyx_n_s_pyfunctions, __pyx_k_pyfunctions, sizeof(__pyx_k_pyfunctions), 0, 0, 1, 1},
    {&__pyx_n_s_pyjitOptions, __pyx_k_pyjitOptions, sizeof(__pyx_k_pyjitOptions), 0, 0, 1, 1},
    {&__pyx_n_s_pykernels, __pyx_k_pykernels, sizeof(__pyx_k_pykernels), 0, 0, 1, 1},
    {&__pyx_n_s_pylibraryOptions, __pyx_k_pylibraryOptions, sizeof(__pyx_k_pylibraryOptions), 0, 0, 1, 1},
    {&__pyx_n_s_pylist, __pyx_k_pylist, sizeof(__pyx_k_pylist), 0, 0, 1, 1},
    {&__pyx_n_s_pyname, __pyx_k_pyname, sizeof(__pyx_k_pyname), 0, 0, 1, 1},
    {&__pyx_n_s_pynodes, __pyx_k_pynodes, sizeof(__pyx_k_pynodes), 0, 0, 1, 1},
    {&__pyx_n_s_pyoptionValues, __pyx_k_pyoptionValues, sizeof(__pyx_k_pyoptionValues), 0, 0, 1, 1},
    {&__pyx_n_s_pyoptions, __pyx_k_pyoptions, sizeof(__pyx_k_pyoptions), 0, 0, 1, 1},
    {&__pyx_n_s_pypCudaDevices, __pyx_k_pypCudaDevices, sizeof(__pyx_k_pypCudaDevices), 0, 0, 1, 1},
    {&__pyx_n_s_pypciBusId, __pyx_k_pypciBusId, sizeof(__pyx_k_pypciBusId), 0, 0, 1, 1},
    {&__pyx_n_s_pypixelBoxLowerCorner, __pyx_k_pypixelBoxLowerCorner, sizeof(__pyx_k_pypixelBoxLowerCorner), 0, 0, 1, 1},
    {&__pyx_n_s_pypixelBoxUpperCorner, __pyx_k_pypixelBoxUpperCorner, sizeof(__pyx_k_pypixelBoxUpperCorner), 0, 0, 1, 1},
    {&__pyx_n_s_pyresult, __pyx_k_pyresult, sizeof(__pyx_k_pyresult), 0, 0, 1, 1},
    {&__pyx_n_s_pyrootNodes, __pyx_k_pyrootNodes, sizeof(__pyx_k_pyrootNodes), 0, 0, 1, 1},
    {&__pyx_n_s_pyto, __pyx_k_pyto, sizeof(__pyx_k_pyto), 0, 0, 1, 1},
    {&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1},
    {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1},
    {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},
    {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1},
    {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1},
    {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1},
    {&__pyx_kp_u_regsPerBlock, __pyx_k_regsPerBlock, sizeof(__pyx_k_regsPerBlock), 0, 1, 0, 0},
    {&__pyx_n_s_regsPerBlock_2, __pyx_k_regsPerBlock_2, sizeof(__pyx_k_regsPerBlock_2), 0, 0, 1, 1},
    {&__pyx_kp_u_regsPerBlock_ValueError, __pyx_k_regsPerBlock_ValueError, sizeof(__pyx_k_regsPerBlock_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_remaining, __pyx_k_remaining, sizeof(__pyx_k_remaining), 0, 0, 1, 1},
    {&__pyx_kp_u_remote, __pyx_k_remote, sizeof(__pyx_k_remote), 0, 1, 0, 0},
    {&__pyx_n_s_remote_2, __pyx_k_remote_2, sizeof(__pyx_k_remote_2), 0, 0, 1, 1},
    {&__pyx_kp_u_remote_ValueError, __pyx_k_remote_ValueError, sizeof(__pyx_k_remote_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_requestedHandleTypes, __pyx_k_requestedHandleTypes, sizeof(__pyx_k_requestedHandleTypes), 0, 1, 0, 0},
    {&__pyx_n_s_requestedHandleTypes_2, __pyx_k_requestedHandleTypes_2, sizeof(__pyx_k_requestedHandleTypes_2), 0, 0, 1, 1},
    {&__pyx_kp_u_requestedHandleTypes_ValueError, __pyx_k_requestedHandleTypes_ValueError, sizeof(__pyx_k_requestedHandleTypes_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_res, __pyx_k_res, sizeof(__pyx_k_res), 0, 1, 0, 0},
    {&__pyx_kp_u_resType, __pyx_k_resType, sizeof(__pyx_k_resType), 0, 1, 0, 0},
    {&__pyx_n_s_resType_2, __pyx_k_resType_2, sizeof(__pyx_k_resType_2), 0, 0, 1, 1},
    {&__pyx_kp_u_resType_ValueError, __pyx_k_resType_ValueError, sizeof(__pyx_k_resType_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_res_2, __pyx_k_res_2, sizeof(__pyx_k_res_2), 0, 0, 1, 1},
    {&__pyx_kp_u_res_ValueError, __pyx_k_res_ValueError, sizeof(__pyx_k_res_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_reserved, __pyx_k_reserved, sizeof(__pyx_k_reserved), 0, 1, 0, 0},
    {&__pyx_kp_u_reserved0, __pyx_k_reserved0, sizeof(__pyx_k_reserved0), 0, 1, 0, 0},
    {&__pyx_n_s_reserved0_2, __pyx_k_reserved0_2, sizeof(__pyx_k_reserved0_2), 0, 0, 1, 1},
    {&__pyx_kp_u_reserved0_ValueError, __pyx_k_reserved0_ValueError, sizeof(__pyx_k_reserved0_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_reserved1, __pyx_k_reserved1, sizeof(__pyx_k_reserved1), 0, 1, 0, 0},
    {&__pyx_n_s_reserved1_2, __pyx_k_reserved1_2, sizeof(__pyx_k_reserved1_2), 0, 0, 1, 1},
    {&__pyx_kp_u_reserved1_ValueError, __pyx_k_reserved1_ValueError, sizeof(__pyx_k_reserved1_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_reserved2, __pyx_k_reserved2, sizeof(__pyx_k_reserved2), 0, 1, 0, 0},
    {&__pyx_n_s_reserved2_2, __pyx_k_reserved2_2, sizeof(__pyx_k_reserved2_2), 0, 0, 1, 1},
    {&__pyx_kp_u_reserved2_ValueError, __pyx_k_reserved2_ValueError, sizeof(__pyx_k_reserved2_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_reserved_2, __pyx_k_reserved_2, sizeof(__pyx_k_reserved_2), 0, 0, 1, 1},
    {&__pyx_kp_u_reserved_3, __pyx_k_reserved_3, sizeof(__pyx_k_reserved_3), 0, 1, 0, 0},
    {&__pyx_kp_u_reserved_ValueError, __pyx_k_reserved_ValueError, sizeof(__pyx_k_reserved_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_reserved_length_must_be_4_is, __pyx_k_reserved_length_must_be_4_is, sizeof(__pyx_k_reserved_length_must_be_4_is), 0, 1, 0, 0},
    {&__pyx_kp_u_reserved_length_must_be_56_is, __pyx_k_reserved_length_must_be_56_is, sizeof(__pyx_k_reserved_length_must_be_56_is), 0, 1, 0, 0},
    {&__pyx_kp_u_reserved_length_must_be_5_is, __pyx_k_reserved_length_must_be_5_is, sizeof(__pyx_k_reserved_length_must_be_5_is), 0, 1, 0, 0},
    {&__pyx_kp_u_reserved_length_must_be_64_is, __pyx_k_reserved_length_must_be_64_is, sizeof(__pyx_k_reserved_length_must_be_64_is), 0, 1, 0, 0},
    {&__pyx_kp_u_resource, __pyx_k_resource, sizeof(__pyx_k_resource), 0, 1, 0, 0},
    {&__pyx_kp_u_resourceType, __pyx_k_resourceType, sizeof(__pyx_k_resourceType), 0, 1, 0, 0},
    {&__pyx_n_s_resourceType_2, __pyx_k_resourceType_2, sizeof(__pyx_k_resourceType_2), 0, 0, 1, 1},
    {&__pyx_kp_u_resourceType_ValueError, __pyx_k_resourceType_ValueError, sizeof(__pyx_k_resourceType_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_resource_2, __pyx_k_resource_2, sizeof(__pyx_k_resource_2), 0, 0, 1, 1},
    {&__pyx_kp_u_resource_ValueError, __pyx_k_resource_ValueError, sizeof(__pyx_k_resource_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_resources, __pyx_k_resources, sizeof(__pyx_k_resources), 0, 0, 1, 1},
    {&__pyx_kp_u_result, __pyx_k_result, sizeof(__pyx_k_result), 0, 1, 0, 0},
    {&__pyx_n_s_resultInfo, __pyx_k_resultInfo, sizeof(__pyx_k_resultInfo), 0, 0, 1, 1},
    {&__pyx_n_s_result_2, __pyx_k_result_2, sizeof(__pyx_k_result_2), 0, 0, 1, 1},
    {&__pyx_kp_u_result_ValueError, __pyx_k_result_ValueError, sizeof(__pyx_k_result_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_result_out, __pyx_k_result_out, sizeof(__pyx_k_result_out), 0, 1, 0, 0},
    {&__pyx_n_s_result_out_2, __pyx_k_result_out_2, sizeof(__pyx_k_result_out_2), 0, 0, 1, 1},
    {&__pyx_kp_u_result_out_ValueError, __pyx_k_result_out_ValueError, sizeof(__pyx_k_result_out_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_scope, __pyx_k_scope, sizeof(__pyx_k_scope), 0, 0, 1, 1},
    {&__pyx_n_s_self, __pyx_k_self, sizeof(__pyx_k_self), 0, 0, 1, 1},
    {&__pyx_n_s_semHandleDesc, __pyx_k_semHandleDesc, sizeof(__pyx_k_semHandleDesc), 0, 0, 1, 1},
    {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1},
    {&__pyx_n_s_set_name, __pyx_k_set_name, sizeof(__pyx_k_set_name), 0, 0, 1, 1},
    {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1},
    {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1},
    {&__pyx_n_s_shHandleType, __pyx_k_shHandleType, sizeof(__pyx_k_shHandleType), 0, 0, 1, 1},
    {&__pyx_n_s_shareData, __pyx_k_shareData, sizeof(__pyx_k_shareData), 0, 0, 1, 1},
    {&__pyx_n_s_shareData_out, __pyx_k_shareData_out, sizeof(__pyx_k_shareData_out), 0, 0, 1, 1},
    {&__pyx_kp_u_sharedMemBytes, __pyx_k_sharedMemBytes, sizeof(__pyx_k_sharedMemBytes), 0, 1, 0, 0},
    {&__pyx_n_s_sharedMemBytes_2, __pyx_k_sharedMemBytes_2, sizeof(__pyx_k_sharedMemBytes_2), 0, 0, 1, 1},
    {&__pyx_kp_u_sharedMemBytes_ValueError, __pyx_k_sharedMemBytes_ValueError, sizeof(__pyx_k_sharedMemBytes_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_sharedMemPerBlock, __pyx_k_sharedMemPerBlock, sizeof(__pyx_k_sharedMemPerBlock), 0, 1, 0, 0},
    {&__pyx_n_s_sharedMemPerBlock_2, __pyx_k_sharedMemPerBlock_2, sizeof(__pyx_k_sharedMemPerBlock_2), 0, 0, 1, 1},
    {&__pyx_kp_u_sharedMemPerBlock_ValueError, __pyx_k_sharedMemPerBlock_ValueError, sizeof(__pyx_k_sharedMemPerBlock_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 1, 0, 0},
    {&__pyx_kp_u_sizeInBytes, __pyx_k_sizeInBytes, sizeof(__pyx_k_sizeInBytes), 0, 1, 0, 0},
    {&__pyx_n_s_sizeInBytes_2, __pyx_k_sizeInBytes_2, sizeof(__pyx_k_sizeInBytes_2), 0, 0, 1, 1},
    {&__pyx_kp_u_sizeInBytes_ValueError, __pyx_k_sizeInBytes_ValueError, sizeof(__pyx_k_sizeInBytes_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_sizeOut, __pyx_k_sizeOut, sizeof(__pyx_k_sizeOut), 0, 0, 1, 1},
    {&__pyx_n_s_size_2, __pyx_k_size_2, sizeof(__pyx_k_size_2), 0, 0, 1, 1},
    {&__pyx_kp_u_size_ValueError, __pyx_k_size_ValueError, sizeof(__pyx_k_size_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_sizeof, __pyx_k_sizeof, sizeof(__pyx_k_sizeof), 0, 0, 1, 1},
    {&__pyx_kp_u_sm, __pyx_k_sm, sizeof(__pyx_k_sm), 0, 1, 0, 0},
    {&__pyx_kp_u_smCount, __pyx_k_smCount, sizeof(__pyx_k_smCount), 0, 1, 0, 0},
    {&__pyx_n_s_smCount_2, __pyx_k_smCount_2, sizeof(__pyx_k_smCount_2), 0, 0, 1, 1},
    {&__pyx_kp_u_smCount_3, __pyx_k_smCount_3, sizeof(__pyx_k_smCount_3), 0, 1, 0, 0},
    {&__pyx_kp_u_smCount_ValueError, __pyx_k_smCount_ValueError, sizeof(__pyx_k_smCount_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_sm_2, __pyx_k_sm_2, sizeof(__pyx_k_sm_2), 0, 0, 1, 1},
    {&__pyx_kp_u_sm_ValueError, __pyx_k_sm_ValueError, sizeof(__pyx_k_sm_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_sparseLevel, __pyx_k_sparseLevel, sizeof(__pyx_k_sparseLevel), 0, 1, 0, 0},
    {&__pyx_n_s_sparseLevel_2, __pyx_k_sparseLevel_2, sizeof(__pyx_k_sparseLevel_2), 0, 0, 1, 1},
    {&__pyx_kp_u_sparseLevel_ValueError, __pyx_k_sparseLevel_ValueError, sizeof(__pyx_k_sparseLevel_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_sparseProperties, __pyx_k_sparseProperties, sizeof(__pyx_k_sparseProperties), 0, 0, 1, 1},
    {&__pyx_n_s_spec, __pyx_k_spec, sizeof(__pyx_k_spec), 0, 0, 1, 1},
    {&__pyx_n_s_splitlines, __pyx_k_splitlines, sizeof(__pyx_k_splitlines), 0, 0, 1, 1},
    {&__pyx_n_s_src, __pyx_k_src, sizeof(__pyx_k_src), 0, 0, 1, 1},
    {&__pyx_kp_u_srcArray, __pyx_k_srcArray, sizeof(__pyx_k_srcArray), 0, 1, 0, 0},
    {&__pyx_n_s_srcArray_2, __pyx_k_srcArray_2, sizeof(__pyx_k_srcArray_2), 0, 0, 1, 1},
    {&__pyx_kp_u_srcArray_ValueError, __pyx_k_srcArray_ValueError, sizeof(__pyx_k_srcArray_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_srcContext, __pyx_k_srcContext, sizeof(__pyx_k_srcContext), 0, 1, 0, 0},
    {&__pyx_n_s_srcContext_2, __pyx_k_srcContext_2, sizeof(__pyx_k_srcContext_2), 0, 0, 1, 1},
    {&__pyx_kp_u_srcContext_ValueError, __pyx_k_srcContext_ValueError, sizeof(__pyx_k_srcContext_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_srcDevice, __pyx_k_srcDevice, sizeof(__pyx_k_srcDevice), 0, 1, 0, 0},
    {&__pyx_n_s_srcDevice_2, __pyx_k_srcDevice_2, sizeof(__pyx_k_srcDevice_2), 0, 0, 1, 1},
    {&__pyx_kp_u_srcDevice_ValueError, __pyx_k_srcDevice_ValueError, sizeof(__pyx_k_srcDevice_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_srcHeight, __pyx_k_srcHeight, sizeof(__pyx_k_srcHeight), 0, 1, 0, 0},
    {&__pyx_n_s_srcHeight_2, __pyx_k_srcHeight_2, sizeof(__pyx_k_srcHeight_2), 0, 0, 1, 1},
    {&__pyx_kp_u_srcHeight_ValueError, __pyx_k_srcHeight_ValueError, sizeof(__pyx_k_srcHeight_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_srcHost, __pyx_k_srcHost, sizeof(__pyx_k_srcHost), 0, 1, 0, 0},
    {&__pyx_n_s_srcHost_2, __pyx_k_srcHost_2, sizeof(__pyx_k_srcHost_2), 0, 0, 1, 1},
    {&__pyx_kp_u_srcHost_ValueError, __pyx_k_srcHost_ValueError, sizeof(__pyx_k_srcHost_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_srcLOD, __pyx_k_srcLOD, sizeof(__pyx_k_srcLOD), 0, 1, 0, 0},
    {&__pyx_n_s_srcLOD_2, __pyx_k_srcLOD_2, sizeof(__pyx_k_srcLOD_2), 0, 0, 1, 1},
    {&__pyx_kp_u_srcLOD_ValueError, __pyx_k_srcLOD_ValueError, sizeof(__pyx_k_srcLOD_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_srcMemoryType, __pyx_k_srcMemoryType, sizeof(__pyx_k_srcMemoryType), 0, 1, 0, 0},
    {&__pyx_n_s_srcMemoryType_2, __pyx_k_srcMemoryType_2, sizeof(__pyx_k_srcMemoryType_2), 0, 0, 1, 1},
    {&__pyx_kp_u_srcMemoryType_ValueError, __pyx_k_srcMemoryType_ValueError, sizeof(__pyx_k_srcMemoryType_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_srcOffset, __pyx_k_srcOffset, sizeof(__pyx_k_srcOffset), 0, 0, 1, 1},
    {&__pyx_kp_u_srcPitch, __pyx_k_srcPitch, sizeof(__pyx_k_srcPitch), 0, 1, 0, 0},
    {&__pyx_n_s_srcPitch_2, __pyx_k_srcPitch_2, sizeof(__pyx_k_srcPitch_2), 0, 0, 1, 1},
    {&__pyx_kp_u_srcPitch_ValueError, __pyx_k_srcPitch_ValueError, sizeof(__pyx_k_srcPitch_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_srcXInBytes, __pyx_k_srcXInBytes, sizeof(__pyx_k_srcXInBytes), 0, 1, 0, 0},
    {&__pyx_n_s_srcXInBytes_2, __pyx_k_srcXInBytes_2, sizeof(__pyx_k_srcXInBytes_2), 0, 0, 1, 1},
    {&__pyx_kp_u_srcXInBytes_ValueError, __pyx_k_srcXInBytes_ValueError, sizeof(__pyx_k_srcXInBytes_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_srcY, __pyx_k_srcY, sizeof(__pyx_k_srcY), 0, 1, 0, 0},
    {&__pyx_n_s_srcY_2, __pyx_k_srcY_2, sizeof(__pyx_k_srcY_2), 0, 0, 1, 1},
    {&__pyx_kp_u_srcY_ValueError, __pyx_k_srcY_ValueError, sizeof(__pyx_k_srcY_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_srcZ, __pyx_k_srcZ, sizeof(__pyx_k_srcZ), 0, 1, 0, 0},
    {&__pyx_n_s_srcZ_2, __pyx_k_srcZ_2, sizeof(__pyx_k_srcZ_2), 0, 0, 1, 1},
    {&__pyx_kp_u_srcZ_ValueError, __pyx_k_srcZ_ValueError, sizeof(__pyx_k_srcZ_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 0, 1, 1},
    {&__pyx_n_s_stateOut, __pyx_k_stateOut, sizeof(__pyx_k_stateOut), 0, 0, 1, 1},
    {&__pyx_n_s_stream, __pyx_k_stream, sizeof(__pyx_k_stream), 0, 0, 1, 1},
    {&__pyx_n_s_streamId, __pyx_k_streamId, sizeof(__pyx_k_streamId), 0, 0, 1, 1},
    {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0},
    {&__pyx_kp_u_subresource, __pyx_k_subresource, sizeof(__pyx_k_subresource), 0, 1, 0, 0},
    {&__pyx_kp_u_subresourceType, __pyx_k_subresourceType, sizeof(__pyx_k_subresourceType), 0, 1, 0, 0},
    {&__pyx_n_s_subresourceType_2, __pyx_k_subresourceType_2, sizeof(__pyx_k_subresourceType_2), 0, 0, 1, 1},
    {&__pyx_kp_u_subresourceType_ValueError, __pyx_k_subresourceType_ValueError, sizeof(__pyx_k_subresourceType_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_subresource_2, __pyx_k_subresource_2, sizeof(__pyx_k_subresource_2), 0, 0, 1, 1},
    {&__pyx_kp_u_subresource_ValueError, __pyx_k_subresource_ValueError, sizeof(__pyx_k_subresource_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_super, __pyx_k_super, sizeof(__pyx_k_super), 0, 0, 1, 1},
    {&__pyx_n_s_surfObject, __pyx_k_surfObject, sizeof(__pyx_k_surfObject), 0, 0, 1, 1},
    {&__pyx_n_s_swizzle, __pyx_k_swizzle, sizeof(__pyx_k_swizzle), 0, 0, 1, 1},
    {&__pyx_n_s_symbol, __pyx_k_symbol, sizeof(__pyx_k_symbol), 0, 0, 1, 1},
    {&__pyx_n_s_symbolStatus, __pyx_k_symbolStatus, sizeof(__pyx_k_symbolStatus), 0, 0, 1, 1},
    {&__pyx_kp_u_syncPolicy, __pyx_k_syncPolicy, sizeof(__pyx_k_syncPolicy), 0, 1, 0, 0},
    {&__pyx_n_s_syncPolicy_2, __pyx_k_syncPolicy_2, sizeof(__pyx_k_syncPolicy_2), 0, 0, 1, 1},
    {&__pyx_kp_u_syncPolicy_ValueError, __pyx_k_syncPolicy_ValueError, sizeof(__pyx_k_syncPolicy_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_target, __pyx_k_target, sizeof(__pyx_k_target), 0, 0, 1, 1},
    {&__pyx_n_s_tensorDataType, __pyx_k_tensorDataType, sizeof(__pyx_k_tensorDataType), 0, 0, 1, 1},
    {&__pyx_n_s_tensorMap, __pyx_k_tensorMap, sizeof(__pyx_k_tensorMap), 0, 0, 1, 1},
    {&__pyx_n_s_tensorRank, __pyx_k_tensorRank, sizeof(__pyx_k_tensorRank), 0, 0, 1, 1},
    {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
    {&__pyx_n_s_texObject, __pyx_k_texObject, sizeof(__pyx_k_texObject), 0, 0, 1, 1},
    {&__pyx_kp_u_textureAlign, __pyx_k_textureAlign, sizeof(__pyx_k_textureAlign), 0, 1, 0, 0},
    {&__pyx_n_s_textureAlign_2, __pyx_k_textureAlign_2, sizeof(__pyx_k_textureAlign_2), 0, 0, 1, 1},
    {&__pyx_kp_u_textureAlign_ValueError, __pyx_k_textureAlign_ValueError, sizeof(__pyx_k_textureAlign_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_texunit, __pyx_k_texunit, sizeof(__pyx_k_texunit), 0, 0, 1, 1},
    {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1},
    {&__pyx_kp_u_tileExtent, __pyx_k_tileExtent, sizeof(__pyx_k_tileExtent), 0, 1, 0, 0},
    {&__pyx_n_s_tileExtent_2, __pyx_k_tileExtent_2, sizeof(__pyx_k_tileExtent_2), 0, 0, 1, 1},
    {&__pyx_kp_u_tileExtent_ValueError, __pyx_k_tileExtent_ValueError, sizeof(__pyx_k_tileExtent_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_timeout, __pyx_k_timeout, sizeof(__pyx_k_timeout), 0, 0, 1, 1},
    {&__pyx_kp_u_timeoutMs, __pyx_k_timeoutMs, sizeof(__pyx_k_timeoutMs), 0, 1, 0, 0},
    {&__pyx_n_s_timeoutMs_2, __pyx_k_timeoutMs_2, sizeof(__pyx_k_timeoutMs_2), 0, 0, 1, 1},
    {&__pyx_kp_u_timeoutMs_ValueError, __pyx_k_timeoutMs_ValueError, sizeof(__pyx_k_timeoutMs_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_to, __pyx_k_to, sizeof(__pyx_k_to), 0, 0, 1, 1},
    {&__pyx_kp_u_to_port, __pyx_k_to_port, sizeof(__pyx_k_to_port), 0, 1, 0, 0},
    {&__pyx_n_s_to_port_2, __pyx_k_to_port_2, sizeof(__pyx_k_to_port_2), 0, 0, 1, 1},
    {&__pyx_kp_u_to_port_ValueError, __pyx_k_to_port_ValueError, sizeof(__pyx_k_to_port_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_total, __pyx_k_total, sizeof(__pyx_k_total), 0, 0, 1, 1},
    {&__pyx_kp_u_totalConstantMemory, __pyx_k_totalConstantMemory, sizeof(__pyx_k_totalConstantMemory), 0, 1, 0, 0},
    {&__pyx_n_s_totalConstantMemory_2, __pyx_k_totalConstantMemory_2, sizeof(__pyx_k_totalConstantMemory_2), 0, 0, 1, 1},
    {&__pyx_kp_u_totalConstantMemory_ValueError, __pyx_k_totalConstantMemory_ValueError, sizeof(__pyx_k_totalConstantMemory_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_triggerAtBlockStart, __pyx_k_triggerAtBlockStart, sizeof(__pyx_k_triggerAtBlockStart), 0, 1, 0, 0},
    {&__pyx_n_s_triggerAtBlockStart_2, __pyx_k_triggerAtBlockStart_2, sizeof(__pyx_k_triggerAtBlockStart_2), 0, 0, 1, 1},
    {&__pyx_kp_u_triggerAtBlockStart_ValueError, __pyx_k_triggerAtBlockStart_ValueError, sizeof(__pyx_k_triggerAtBlockStart_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_type, __pyx_k_type, sizeof(__pyx_k_type), 0, 1, 0, 0},
    {&__pyx_n_s_type_2, __pyx_k_type_2, sizeof(__pyx_k_type_2), 0, 0, 1, 1},
    {&__pyx_kp_u_type_ValueError, __pyx_k_type_ValueError, sizeof(__pyx_k_type_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_typename, __pyx_k_typename, sizeof(__pyx_k_typename), 0, 0, 1, 1},
    {&__pyx_n_s_typing, __pyx_k_typing, sizeof(__pyx_k_typing), 0, 0, 1, 1},
    {&__pyx_n_s_uc, __pyx_k_uc, sizeof(__pyx_k_uc), 0, 0, 1, 1},
    {&__pyx_n_s_ui, __pyx_k_ui, sizeof(__pyx_k_ui), 0, 0, 1, 1},
    {&__pyx_n_s_us, __pyx_k_us, sizeof(__pyx_k_us), 0, 0, 1, 1},
    {&__pyx_kp_u_usage, __pyx_k_usage, sizeof(__pyx_k_usage), 0, 1, 0, 0},
    {&__pyx_n_s_usage_2, __pyx_k_usage_2, sizeof(__pyx_k_usage_2), 0, 0, 1, 1},
    {&__pyx_kp_u_usage_ValueError, __pyx_k_usage_ValueError, sizeof(__pyx_k_usage_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_useFlags, __pyx_k_useFlags, sizeof(__pyx_k_useFlags), 0, 0, 1, 1},
    {&__pyx_kp_u_userData, __pyx_k_userData, sizeof(__pyx_k_userData), 0, 1, 0, 0},
    {&__pyx_n_s_userData_2, __pyx_k_userData_2, sizeof(__pyx_k_userData_2), 0, 0, 1, 1},
    {&__pyx_kp_u_userData_ValueError, __pyx_k_userData_ValueError, sizeof(__pyx_k_userData_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_uuid, __pyx_k_uuid, sizeof(__pyx_k_uuid), 0, 0, 1, 1},
    {&__pyx_kp_u_vaSpaceToken, __pyx_k_vaSpaceToken, sizeof(__pyx_k_vaSpaceToken), 0, 1, 0, 0},
    {&__pyx_n_s_vaSpaceToken_2, __pyx_k_vaSpaceToken_2, sizeof(__pyx_k_vaSpaceToken_2), 0, 0, 1, 1},
    {&__pyx_kp_u_vaSpaceToken_ValueError, __pyx_k_vaSpaceToken_ValueError, sizeof(__pyx_k_vaSpaceToken_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_val, __pyx_k_val, sizeof(__pyx_k_val), 0, 1, 0, 0},
    {&__pyx_n_s_val_2, __pyx_k_val_2, sizeof(__pyx_k_val_2), 0, 0, 1, 1},
    {&__pyx_kp_u_val_ValueError, __pyx_k_val_ValueError, sizeof(__pyx_k_val_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 1, 0, 0},
    {&__pyx_kp_u_value64, __pyx_k_value64, sizeof(__pyx_k_value64), 0, 1, 0, 0},
    {&__pyx_n_s_value64_2, __pyx_k_value64_2, sizeof(__pyx_k_value64_2), 0, 0, 1, 1},
    {&__pyx_kp_u_value64_ValueError, __pyx_k_value64_ValueError, sizeof(__pyx_k_value64_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_value_2, __pyx_k_value_2, sizeof(__pyx_k_value_2), 0, 0, 1, 1},
    {&__pyx_kp_u_value_3, __pyx_k_value_3, sizeof(__pyx_k_value_3), 0, 1, 0, 0},
    {&__pyx_kp_u_value_ValueError, __pyx_k_value_ValueError, sizeof(__pyx_k_value_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_value_out, __pyx_k_value_out, sizeof(__pyx_k_value_out), 0, 0, 1, 1},
    {&__pyx_n_s_vdpDevice, __pyx_k_vdpDevice, sizeof(__pyx_k_vdpDevice), 0, 0, 1, 1},
    {&__pyx_n_s_vdpGetProcAddress, __pyx_k_vdpGetProcAddress, sizeof(__pyx_k_vdpGetProcAddress), 0, 0, 1, 1},
    {&__pyx_n_s_vdpSurface, __pyx_k_vdpSurface, sizeof(__pyx_k_vdpSurface), 0, 0, 1, 1},
    {&__pyx_n_s_version, __pyx_k_version, sizeof(__pyx_k_version), 0, 0, 1, 1},
    {&__pyx_n_s_voidStarHelperdata, __pyx_k_voidStarHelperdata, sizeof(__pyx_k_voidStarHelperdata), 0, 0, 1, 1},
    {&__pyx_n_s_voidStarHelperjitOptionsValues, __pyx_k_voidStarHelperjitOptionsValues, sizeof(__pyx_k_voidStarHelperjitOptionsValues), 0, 0, 1, 1},
    {&__pyx_n_s_voidStarHelperlibraryOptionValue, __pyx_k_voidStarHelperlibraryOptionValue, sizeof(__pyx_k_voidStarHelperlibraryOptionValue), 0, 0, 1, 1},
    {&__pyx_n_s_voidStarHelperoptionValues, __pyx_k_voidStarHelperoptionValues, sizeof(__pyx_k_voidStarHelperoptionValues), 0, 0, 1, 1},
    {&__pyx_kp_u_waitValue, __pyx_k_waitValue, sizeof(__pyx_k_waitValue), 0, 1, 0, 0},
    {&__pyx_n_s_waitValue_2, __pyx_k_waitValue_2, sizeof(__pyx_k_waitValue_2), 0, 0, 1, 1},
    {&__pyx_kp_u_waitValue_ValueError, __pyx_k_waitValue_ValueError, sizeof(__pyx_k_waitValue_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_width, __pyx_k_width, sizeof(__pyx_k_width), 0, 1, 0, 0},
    {&__pyx_n_s_width_2, __pyx_k_width_2, sizeof(__pyx_k_width_2), 0, 0, 1, 1},
    {&__pyx_kp_u_width_ValueError, __pyx_k_width_ValueError, sizeof(__pyx_k_width_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_win32, __pyx_k_win32, sizeof(__pyx_k_win32), 0, 1, 0, 0},
    {&__pyx_kp_u_win32HandleMetaData, __pyx_k_win32HandleMetaData, sizeof(__pyx_k_win32HandleMetaData), 0, 1, 0, 0},
    {&__pyx_n_s_win32HandleMetaData_2, __pyx_k_win32HandleMetaData_2, sizeof(__pyx_k_win32HandleMetaData_2), 0, 0, 1, 1},
    {&__pyx_kp_u_win32HandleMetaData_ValueError, __pyx_k_win32HandleMetaData_ValueError, sizeof(__pyx_k_win32HandleMetaData_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_win32SecurityAttributes, __pyx_k_win32SecurityAttributes, sizeof(__pyx_k_win32SecurityAttributes), 0, 1, 0, 0},
    {&__pyx_n_s_win32SecurityAttributes_2, __pyx_k_win32SecurityAttributes_2, sizeof(__pyx_k_win32SecurityAttributes_2), 0, 0, 1, 1},
    {&__pyx_kp_u_win32SecurityAttributes_ValueErr, __pyx_k_win32SecurityAttributes_ValueErr, sizeof(__pyx_k_win32SecurityAttributes_ValueErr), 0, 1, 0, 0},
    {&__pyx_n_s_win32_2, __pyx_k_win32_2, sizeof(__pyx_k_win32_2), 0, 0, 1, 1},
    {&__pyx_kp_u_win32_ValueError, __pyx_k_win32_ValueError, sizeof(__pyx_k_win32_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_writeValue, __pyx_k_writeValue, sizeof(__pyx_k_writeValue), 0, 1, 0, 0},
    {&__pyx_n_s_writeValue_2, __pyx_k_writeValue_2, sizeof(__pyx_k_writeValue_2), 0, 0, 1, 1},
    {&__pyx_kp_u_writeValue_ValueError, __pyx_k_writeValue_ValueError, sizeof(__pyx_k_writeValue_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_x, __pyx_k_x, sizeof(__pyx_k_x), 0, 0, 1, 1},
    {&__pyx_n_u_x, __pyx_k_x, sizeof(__pyx_k_x), 0, 1, 0, 1},
    {&__pyx_kp_u_x_2, __pyx_k_x_2, sizeof(__pyx_k_x_2), 0, 1, 0, 0},
    {&__pyx_kp_u_x_ValueError, __pyx_k_x_ValueError, sizeof(__pyx_k_x_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_y, __pyx_k_y, sizeof(__pyx_k_y), 0, 1, 0, 0},
    {&__pyx_n_s_y_2, __pyx_k_y_2, sizeof(__pyx_k_y_2), 0, 0, 1, 1},
    {&__pyx_kp_u_y_ValueError, __pyx_k_y_ValueError, sizeof(__pyx_k_y_ValueError), 0, 1, 0, 0},
    {&__pyx_kp_u_z, __pyx_k_z, sizeof(__pyx_k_z), 0, 1, 0, 0},
    {&__pyx_n_s_z_2, __pyx_k_z_2, sizeof(__pyx_k_z_2), 0, 0, 1, 1},
    {&__pyx_kp_u_z_ValueError, __pyx_k_z_ValueError, sizeof(__pyx_k_z_ValueError), 0, 1, 0, 0},
    {&__pyx_n_s_zip, __pyx_k_zip, sizeof(__pyx_k_zip), 0, 0, 1, 1},
    {0, 0, 0, 0, 0, 0, 0}
  };
  return __Pyx_InitStrings(__pyx_string_tab);
}
/* #### Code section: cached_builtins ### */
static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
  __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(0, 2, __pyx_L1_error)
  __pyx_builtin_hex = __Pyx_GetBuiltinName(__pyx_n_s_hex); if (!__pyx_builtin_hex) __PYX_ERR(1, 4523, __pyx_L1_error)
  __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(1, 5412, __pyx_L1_error)
  __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(1, 5467, __pyx_L1_error)
  __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(1, 6144, __pyx_L1_error)
  __pyx_builtin_MemoryError = __Pyx_GetBuiltinName(__pyx_n_s_MemoryError); if (!__pyx_builtin_MemoryError) __PYX_ERR(1, 6157, __pyx_L1_error)
  __pyx_builtin_IndexError = __Pyx_GetBuiltinName(__pyx_n_s_IndexError); if (!__pyx_builtin_IndexError) __PYX_ERR(1, 15068, __pyx_L1_error)
  __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(1, 18369, __pyx_L1_error)
  __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) __PYX_ERR(1, 18372, __pyx_L1_error)
  __pyx_builtin_OverflowError = __Pyx_GetBuiltinName(__pyx_n_s_OverflowError); if (!__pyx_builtin_OverflowError) __PYX_ERR(0, 83, __pyx_L1_error)
  return 0;
  __pyx_L1_error:;
  return -1;
}
/* #### Code section: cached_constants ### */

static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);

  /* "cuda/cuda.pyx":17398
 *     paramsArray = [] if paramsArray is None else paramsArray
 *     if not all(isinstance(_x, (CUexecAffinityParam,)) for _x in paramsArray):
 *         raise TypeError("Argument 'paramsArray' is not instance of type (expected List[ccuda.CUexecAffinityParam,]")             # <<<<<<<<<<<<<<
 *     cdef CUcontext pctx = CUcontext()
 *     cdef ccuda.CUexecAffinityParam* cparamsArray = NULL
 */
  __pyx_tuple__508 = PyTuple_Pack(1, __pyx_kp_u_Argument_paramsArray_is_not_inst); if (unlikely(!__pyx_tuple__508)) __PYX_ERR(1, 17398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__508);
  __Pyx_GIVEREF(__pyx_tuple__508);

  /* "cuda/cuda.pyx":18365
 *     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 List[ccuda.CUjit_option]")             # <<<<<<<<<<<<<<
 *     cdef CUmodule module = CUmodule()
 *     cimage = utils.HelperInputVoidPtr(image)
 */
  __pyx_tuple__534 = PyTuple_Pack(1, __pyx_kp_u_Argument_options_is_not_instance); if (unlikely(!__pyx_tuple__534)) __PYX_ERR(1, 18365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__534);
  __Pyx_GIVEREF(__pyx_tuple__534);

  /* "cuda/cuda.pyx":19059
 *     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 List[ccuda.CUlibraryOption]")             # <<<<<<<<<<<<<<
 *     jitOptionsValues = [] if jitOptionsValues is None else jitOptionsValues
 *     jitOptions = [] if jitOptions is None else jitOptions
 */
  __pyx_tuple__551 = PyTuple_Pack(1, __pyx_kp_u_Argument_libraryOptions_is_not_i); if (unlikely(!__pyx_tuple__551)) __PYX_ERR(1, 19059, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__551);
  __Pyx_GIVEREF(__pyx_tuple__551);

  /* "cuda/cuda.pyx":19063
 *     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 List[ccuda.CUjit_option]")             # <<<<<<<<<<<<<<
 *     cdef CUlibrary library = CUlibrary()
 *     ccode = utils.HelperInputVoidPtr(code)
 */
  __pyx_tuple__552 = PyTuple_Pack(1, __pyx_kp_u_Argument_jitOptions_is_not_insta); if (unlikely(!__pyx_tuple__552)) __PYX_ERR(1, 19063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__552);
  __Pyx_GIVEREF(__pyx_tuple__552);

  /* "cuda/cuda.pyx":24502
 *     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 List[ccuda.CUarrayMapInfo,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUarrayMapInfo* cmapInfoList = NULL
 *     if len(mapInfoList) > 0:
 */
  __pyx_tuple__646 = PyTuple_Pack(1, __pyx_kp_u_Argument_mapInfoList_is_not_inst); if (unlikely(!__pyx_tuple__646)) __PYX_ERR(1, 24502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__646);
  __Pyx_GIVEREF(__pyx_tuple__646);

  /* "cuda/cuda.pyx":24606
 *     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 List[ccuda.CUmemAccessDesc,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUdeviceptr cptr
 *     if ptr is None:
 */
  __pyx_tuple__649 = PyTuple_Pack(1, __pyx_kp_u_Argument_desc_is_not_instance_of); if (unlikely(!__pyx_tuple__649)) __PYX_ERR(1, 24606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__649);
  __Pyx_GIVEREF(__pyx_tuple__649);

  /* "cuda/cuda.pyx":25178
 *     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 List[ccuda.CUmemAccessDesc,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUmemoryPool cpool
 *     if pool is None:
 */
  __pyx_tuple__662 = PyTuple_Pack(1, __pyx_kp_u_Argument_map_is_not_instance_of); if (unlikely(!__pyx_tuple__662)) __PYX_ERR(1, 25178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__662);
  __Pyx_GIVEREF(__pyx_tuple__662);

  /* "cuda/cuda.pyx":26944
 *     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 List[ccuda.CUmem_range_attribute]")             # <<<<<<<<<<<<<<
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")
 */
  __pyx_tuple__684 = PyTuple_Pack(1, __pyx_kp_u_Argument_attributes_is_not_insta); if (unlikely(!__pyx_tuple__684)) __PYX_ERR(1, 26944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__684);
  __Pyx_GIVEREF(__pyx_tuple__684);

  /* "cuda/cuda.pyx":26946
 *         raise TypeError("Argument 'attributes' is not instance of type (expected List[ccuda.CUmem_range_attribute]")
 *     if not all(isinstance(_x, (int)) for _x in dataSizes):
 *         raise TypeError("Argument 'dataSizes' is not instance of type (expected List[int]")             # <<<<<<<<<<<<<<
 *     pylist = [utils.HelperCUmem_range_attribute(pyattributes, pydataSizes) for (pyattributes, pydataSizes) in zip(attributes, dataSizes)]
 *     cdef utils.InputVoidPtrPtrHelper voidStarHelperdata = utils.InputVoidPtrPtrHelper(pylist)
 */
  __pyx_tuple__685 = PyTuple_Pack(1, __pyx_kp_u_Argument_dataSizes_is_not_instan); if (unlikely(!__pyx_tuple__685)) __PYX_ERR(1, 26946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__685);
  __Pyx_GIVEREF(__pyx_tuple__685);

  /* "cuda/cuda.pyx":27088
 *     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 List[ccuda.CUpointer_attribute]")             # <<<<<<<<<<<<<<
 *     if numAttributes > len(attributes): raise RuntimeError("List is too small: " + str(len(attributes)) + " < " + str(numAttributes))
 *     cdef vector[ccuda.CUpointer_attribute] cattributes = [pyattributes.value for pyattributes in (attributes)]
 */
  __pyx_tuple__688 = PyTuple_Pack(1, __pyx_kp_u_Argument_attributes_is_not_insta_2); if (unlikely(!__pyx_tuple__688)) __PYX_ERR(1, 27088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__688);
  __Pyx_GIVEREF(__pyx_tuple__688);

  /* "cuda/cuda.pyx":27626
 *     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 List[ccuda.CUgraphEdgeData,]")             # <<<<<<<<<<<<<<
 *     dependencies = [] if dependencies is None else dependencies
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in dependencies):
 */
  __pyx_tuple__699 = PyTuple_Pack(1, __pyx_kp_u_Argument_dependencyData_is_not_i); if (unlikely(!__pyx_tuple__699)) __PYX_ERR(1, 27626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__699);
  __Pyx_GIVEREF(__pyx_tuple__699);

  /* "cuda/cuda.pyx":27629
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
  __pyx_tuple__700 = PyTuple_Pack(1, __pyx_kp_u_Argument_dependencies_is_not_ins); if (unlikely(!__pyx_tuple__700)) __PYX_ERR(1, 27629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__700);
  __Pyx_GIVEREF(__pyx_tuple__700);

  /* "cuda/cuda.pyx":29436
 *     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 List[ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS,]")             # <<<<<<<<<<<<<<
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):
 */
  __pyx_tuple__728 = PyTuple_Pack(1, __pyx_kp_u_Argument_paramsArray_is_not_inst_2); if (unlikely(!__pyx_tuple__728)) __PYX_ERR(1, 29436, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__728);
  __Pyx_GIVEREF(__pyx_tuple__728);

  /* "cuda/cuda.pyx":29439
 *     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 List[ccuda.CUexternalSemaphore,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUexternalSemaphore* cextSemArray = NULL
 *     if len(extSemArray) > 0:
 */
  __pyx_tuple__729 = PyTuple_Pack(1, __pyx_kp_u_Argument_extSemArray_is_not_inst); if (unlikely(!__pyx_tuple__729)) __PYX_ERR(1, 29439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__729);
  __Pyx_GIVEREF(__pyx_tuple__729);

  /* "cuda/cuda.pyx":29559
 *     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 List[ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS,]")             # <<<<<<<<<<<<<<
 *     extSemArray = [] if extSemArray is None else extSemArray
 *     if not all(isinstance(_x, (CUexternalSemaphore,)) for _x in extSemArray):
 */
  __pyx_tuple__731 = PyTuple_Pack(1, __pyx_kp_u_Argument_paramsArray_is_not_inst_3); if (unlikely(!__pyx_tuple__731)) __PYX_ERR(1, 29559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__731);
  __Pyx_GIVEREF(__pyx_tuple__731);

  /* "cuda/cuda.pyx":29934
 *     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 List[ccuda.CUstreamBatchMemOpParams,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUstream cstream
 *     if stream is None:
 */
  __pyx_tuple__738 = PyTuple_Pack(1, __pyx_kp_u_Argument_paramArray_is_not_insta); if (unlikely(!__pyx_tuple__738)) __PYX_ERR(1, 29934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__738);
  __Pyx_GIVEREF(__pyx_tuple__738);

  /* "cuda/cuda.pyx":31038
 *     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 List[ccuda.CUDA_LAUNCH_PARAMS,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUDA_LAUNCH_PARAMS* claunchParamsList = NULL
 *     if len(launchParamsList) > 0:
 */
  __pyx_tuple__751 = PyTuple_Pack(1, __pyx_kp_u_Argument_launchParamsList_is_not); if (unlikely(!__pyx_tuple__751)) __PYX_ERR(1, 31038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__751);
  __Pyx_GIVEREF(__pyx_tuple__751);

  /* "cuda/cuda.pyx":34376
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     from_ = [] if from_ is None else from_
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in from_):
 */
  __pyx_tuple__815 = PyTuple_Pack(1, __pyx_kp_u_Argument_to_is_not_instance_of_t); if (unlikely(!__pyx_tuple__815)) __PYX_ERR(1, 34376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__815);
  __Pyx_GIVEREF(__pyx_tuple__815);

  /* "cuda/cuda.pyx":34379
 *     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 List[ccuda.CUgraphNode,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.CUgraph chGraph
 *     if hGraph is None:
 */
  __pyx_tuple__816 = PyTuple_Pack(1, __pyx_kp_u_Argument_from__is_not_instance_o); if (unlikely(!__pyx_tuple__816)) __PYX_ERR(1, 34379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__816);
  __Pyx_GIVEREF(__pyx_tuple__816);

  /* "cuda/cuda.pyx":34448
 *     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 List[ccuda.CUgraphEdgeData,]")             # <<<<<<<<<<<<<<
 *     to = [] if to is None else to
 *     if not all(isinstance(_x, (CUgraphNode,)) for _x in to):
 */
  __pyx_tuple__818 = PyTuple_Pack(1, __pyx_kp_u_Argument_edgeData_is_not_instanc); if (unlikely(!__pyx_tuple__818)) __PYX_ERR(1, 34448, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__818);
  __Pyx_GIVEREF(__pyx_tuple__818);

  /* "cuda/cuda.pyx":39051
 *     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 List[ccuda.cuuint32_t,]")             # <<<<<<<<<<<<<<
 *     boxDim = [] if boxDim is None else boxDim
 *     if not all(isinstance(_x, (cuuint32_t,)) for _x in boxDim):
 */
  __pyx_tuple__900 = PyTuple_Pack(1, __pyx_kp_u_Argument_elementStrides_is_not_i); if (unlikely(!__pyx_tuple__900)) __PYX_ERR(1, 39051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__900);
  __Pyx_GIVEREF(__pyx_tuple__900);

  /* "cuda/cuda.pyx":39054
 *     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 List[ccuda.cuuint32_t,]")             # <<<<<<<<<<<<<<
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
 */
  __pyx_tuple__901 = PyTuple_Pack(1, __pyx_kp_u_Argument_boxDim_is_not_instance); if (unlikely(!__pyx_tuple__901)) __PYX_ERR(1, 39054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__901);
  __Pyx_GIVEREF(__pyx_tuple__901);

  /* "cuda/cuda.pyx":39057
 *     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 List[ccuda.cuuint64_t,]")             # <<<<<<<<<<<<<<
 *     globalDim = [] if globalDim is None else globalDim
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalDim):
 */
  __pyx_tuple__902 = PyTuple_Pack(1, __pyx_kp_u_Argument_globalStrides_is_not_in); if (unlikely(!__pyx_tuple__902)) __PYX_ERR(1, 39057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__902);
  __Pyx_GIVEREF(__pyx_tuple__902);

  /* "cuda/cuda.pyx":39060
 *     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 List[ccuda.cuuint64_t,]")             # <<<<<<<<<<<<<<
 *     cdef ccuda.cuuint32_t ctensorRank
 *     if tensorRank is None:
 */
  __pyx_tuple__903 = PyTuple_Pack(1, __pyx_kp_u_Argument_globalDim_is_not_instan); if (unlikely(!__pyx_tuple__903)) __PYX_ERR(1, 39060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__903);
  __Pyx_GIVEREF(__pyx_tuple__903);

  /* "cuda/cuda.pyx":39332
 *     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 List[ccuda.int]")             # <<<<<<<<<<<<<<
 *     pixelBoxLowerCorner = [] if pixelBoxLowerCorner is None else pixelBoxLowerCorner
 *     if not all(isinstance(_x, (int)) for _x in pixelBoxLowerCorner):
 */
  __pyx_tuple__905 = PyTuple_Pack(1, __pyx_kp_u_Argument_pixelBoxUpperCorner_is); if (unlikely(!__pyx_tuple__905)) __PYX_ERR(1, 39332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__905);
  __Pyx_GIVEREF(__pyx_tuple__905);

  /* "cuda/cuda.pyx":39335
 *     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 List[ccuda.int]")             # <<<<<<<<<<<<<<
 *     globalStrides = [] if globalStrides is None else globalStrides
 *     if not all(isinstance(_x, (cuuint64_t,)) for _x in globalStrides):
 */
  __pyx_tuple__906 = PyTuple_Pack(1, __pyx_kp_u_Argument_pixelBoxLowerCorner_is); if (unlikely(!__pyx_tuple__906)) __PYX_ERR(1, 39335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__906);
  __Pyx_GIVEREF(__pyx_tuple__906);

  /* "cuda/cuda.pyx":40837
 *     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 List[ccuda.CUdevResource,]")             # <<<<<<<<<<<<<<
 *     cdef CUdevResourceDesc phDesc = CUdevResourceDesc()
 *     cdef ccuda.CUdevResource* cresources = NULL
 */
  __pyx_tuple__933 = PyTuple_Pack(1, __pyx_kp_u_Argument_resources_is_not_instan_2); if (unlikely(!__pyx_tuple__933)) __PYX_ERR(1, 40837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__933);
  __Pyx_GIVEREF(__pyx_tuple__933);

  /* "cuda/cuda.pyx":4113
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_tuple__962 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__962)) __PYX_ERR(1, 4113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__962);
  __Pyx_GIVEREF(__pyx_tuple__962);
  __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4113, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(1, 4113, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_tuple__963 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__963)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__963);
  __Pyx_GIVEREF(__pyx_tuple__963);
  __pyx_codeobj__4 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__4)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4140
 *     def __int__(self):
 *         return <int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__5 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4140, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__5)) __PYX_ERR(1, 4140, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__6 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__6)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__7 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4167
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__8 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4167, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__8)) __PYX_ERR(1, 4167, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4194
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(1, 4194, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4219
 *     def __int__(self):
 *         return <uint64_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4219, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(1, 4219, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4500
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4500, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(1, 4500, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4528
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4528, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(1, 4528, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4556
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4556, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) __PYX_ERR(1, 4556, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4584
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4584, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(1, 4584, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4612
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4612, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) __PYX_ERR(1, 4612, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4640
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4640, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(1, 4640, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4668
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4668, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) __PYX_ERR(1, 4668, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4696
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4696, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) __PYX_ERR(1, 4696, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4724
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4724, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(1, 4724, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4752
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4752, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(1, 4752, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4780
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4780, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) __PYX_ERR(1, 4780, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4808
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4808, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(1, 4808, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4836
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4836, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) __PYX_ERR(1, 4836, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4864
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4864, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(1, 4864, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4892
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4892, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(1, 4892, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4920
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4920, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(1, 4920, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4948
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4948, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) __PYX_ERR(1, 4948, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":4976
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 4976, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) __PYX_ERR(1, 4976, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5004
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5004, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) __PYX_ERR(1, 5004, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5032
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5032, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) __PYX_ERR(1, 5032, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5060
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5060, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) __PYX_ERR(1, 5060, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5088
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5088, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) __PYX_ERR(1, 5088, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5114
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) __PYX_ERR(1, 5114, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5142
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) __PYX_ERR(1, 5142, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5170
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__89 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5170, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__89)) __PYX_ERR(1, 5170, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__91 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__91)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5198
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5198, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) __PYX_ERR(1, 5198, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__93 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__93)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5224
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__95 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5224, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__95)) __PYX_ERR(1, 5224, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__97 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__97)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5250
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5250, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) __PYX_ERR(1, 5250, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__99 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__99)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5276
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__101 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5276, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__101)) __PYX_ERR(1, 5276, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__103 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__103)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5302
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5302, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) __PYX_ERR(1, 5302, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__105 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__105)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5328
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) __PYX_ERR(1, 5328, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5354
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5354, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) __PYX_ERR(1, 5354, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5380
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5380, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) __PYX_ERR(1, 5380, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5405
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5405, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) __PYX_ERR(1, 5405, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__119 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__119)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5448
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__121 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5448, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) __PYX_ERR(1, 5448, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5494
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5494, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) __PYX_ERR(1, 5494, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__125 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__125)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5548
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__127 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5548, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__127)) __PYX_ERR(1, 5548, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__129 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5611
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].waitValue
 *     def __repr__(self):
 */
  __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5611, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) __PYX_ERR(1, 5611, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__131 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__131)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5752
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].writeValue
 *     def __repr__(self):
 */
  __pyx_codeobj__133 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5752, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__133)) __PYX_ERR(1, 5752, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__135 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__135)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5882
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].flushRemoteWrites
 *     def __repr__(self):
 */
  __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5882, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) __PYX_ERR(1, 5882, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__137 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__137)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5933
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].memoryBarrier
 *     def __repr__(self):
 */
  __pyx_codeobj__139 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5933, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__139)) __PYX_ERR(1, 5933, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__141 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__141)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":5999
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 5999, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) __PYX_ERR(1, 5999, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__145 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__145)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":6097
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 6097, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) __PYX_ERR(1, 6097, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__147 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__147)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":6201
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__149 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 6201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__149)) __PYX_ERR(1, 6201, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__151 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__151)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":6294
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].info.overBudget
 *     def __repr__(self):
 */
  __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 6294, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) __PYX_ERR(1, 6294, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__153 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__153)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":6333
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].info
 *     def __repr__(self):
 */
  __pyx_codeobj__155 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 6333, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__155)) __PYX_ERR(1, 6333, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__157 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__157)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":6380
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 6380, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) __PYX_ERR(1, 6380, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__159 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__159)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":6451
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__161 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 6451, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__161)) __PYX_ERR(1, 6451, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__163 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__163)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":6604
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 6604, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) __PYX_ERR(1, 6604, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__165 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__165)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":6706
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__167 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 6706, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__167)) __PYX_ERR(1, 6706, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__169 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__169)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":6875
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 6875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) __PYX_ERR(1, 6875, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__171 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__171)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":7082
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__173 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 7082, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__173)) __PYX_ERR(1, 7082, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__175 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__175)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":7273
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 7273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) __PYX_ERR(1, 7273, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__177 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__177)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":7389
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__179 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 7389, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__179)) __PYX_ERR(1, 7389, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__181 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__181)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":7513
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__182 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 7513, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__182)) __PYX_ERR(1, 7513, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__183 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__183)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__184 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__184)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":7578
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__185 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 7578, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__185)) __PYX_ERR(1, 7578, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__186 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__186)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__187 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__187)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":7661
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__188 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 7661, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__188)) __PYX_ERR(1, 7661, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__189 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__189)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__190 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__190)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":7786
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__191 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 7786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__191)) __PYX_ERR(1, 7786, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__192 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__192)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__193 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__193)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":7870
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__194 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 7870, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__194)) __PYX_ERR(1, 7870, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__195 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__195)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__196 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__196)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":7979
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__197 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 7979, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__197)) __PYX_ERR(1, 7979, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__198 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__198)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__199 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__199)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":8032
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].clusterDim
 *     def __repr__(self):
 */
  __pyx_codeobj__200 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 8032, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__200)) __PYX_ERR(1, 8032, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__201 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__201)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__202 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__202)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":8095
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].programmaticEvent
 *     def __repr__(self):
 */
  __pyx_codeobj__203 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 8095, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__203)) __PYX_ERR(1, 8095, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__204 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__204)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__205 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__205)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":8165
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].launchCompletionEvent
 *     def __repr__(self):
 */
  __pyx_codeobj__206 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 8165, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__206)) __PYX_ERR(1, 8165, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__207 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__207)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__208 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__208)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":8225
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].deviceUpdatableKernelNode
 *     def __repr__(self):
 */
  __pyx_codeobj__209 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 8225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__209)) __PYX_ERR(1, 8225, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__210 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__210)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__211 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__211)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":8333
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__212 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 8333, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__212)) __PYX_ERR(1, 8333, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__213 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__213)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__214 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__214)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":8509
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__215 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 8509, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__215)) __PYX_ERR(1, 8509, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__216 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__216)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__217 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__217)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":8581
 *         if self._attrs is not NULL:
 *             free(self._attrs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__218 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 8581, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__218)) __PYX_ERR(1, 8581, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__219 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__219)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__220 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__220)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":8738
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__221 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 8738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__221)) __PYX_ERR(1, 8738, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__222 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__222)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__223 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__223)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":8777
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].param
 *     def __repr__(self):
 */
  __pyx_codeobj__224 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 8777, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__224)) __PYX_ERR(1, 8777, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__225 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__225)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__226 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__226)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":8824
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__227 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 8824, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__227)) __PYX_ERR(1, 8824, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__228 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__228)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__229 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__229)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":8881
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__230 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 8881, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__230)) __PYX_ERR(1, 8881, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__231 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__231)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__232 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__232)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":8989
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__233 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 8989, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__233)) __PYX_ERR(1, 8989, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__234 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__234)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__235 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__235)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":9274
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__236 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 9274, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__236)) __PYX_ERR(1, 9274, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__237 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__237)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__238 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__238)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":9654
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__239 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 9654, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__239)) __PYX_ERR(1, 9654, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__240 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__240)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__241 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__241)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":10002
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__242 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 10002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__242)) __PYX_ERR(1, 10002, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__243 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__243)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__244 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__244)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":10090
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__245 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 10090, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__245)) __PYX_ERR(1, 10090, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__246 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__246)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__247 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__247)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":10173
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__248 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 10173, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__248)) __PYX_ERR(1, 10173, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__249 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__249)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__250 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__250)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":10266
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].tileExtent
 *     def __repr__(self):
 */
  __pyx_codeobj__251 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 10266, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__251)) __PYX_ERR(1, 10266, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__252 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__252)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__253 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__253)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":10338
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__254 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 10338, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__254)) __PYX_ERR(1, 10338, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__255 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__255)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__256 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__256)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":10425
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__257 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 10425, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__257)) __PYX_ERR(1, 10425, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__258 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__258)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__259 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__259)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":10484
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.array
 *     def __repr__(self):
 */
  __pyx_codeobj__260 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 10484, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__260)) __PYX_ERR(1, 10484, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__261 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__261)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__262 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__262)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":10532
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.mipmap
 *     def __repr__(self):
 */
  __pyx_codeobj__263 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 10532, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__263)) __PYX_ERR(1, 10532, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__264 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__264)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__265 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__265)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":10586
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.linear
 *     def __repr__(self):
 */
  __pyx_codeobj__266 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 10586, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__266)) __PYX_ERR(1, 10586, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__267 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__267)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__268 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__268)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":10675
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.pitch2D
 *     def __repr__(self):
 */
  __pyx_codeobj__269 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 10675, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__269)) __PYX_ERR(1, 10675, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__270 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__270)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__271 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__271)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":10774
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.reserved
 *     def __repr__(self):
 */
  __pyx_codeobj__272 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 10774, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__272)) __PYX_ERR(1, 10774, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__273 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__273)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__274 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__274)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":10825
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res
 *     def __repr__(self):
 */
  __pyx_codeobj__275 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 10825, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__275)) __PYX_ERR(1, 10825, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__276 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__276)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__277 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__277)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":10914
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__278 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 10914, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__278)) __PYX_ERR(1, 10914, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__279 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__279)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__280 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__280)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":10995
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__281 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 10995, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__281)) __PYX_ERR(1, 10995, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__282 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__282)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__283 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__283)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":11144
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__284 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 11144, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__284)) __PYX_ERR(1, 11144, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__285 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__285)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__286 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__286)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":11268
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__287 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 11268, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__287)) __PYX_ERR(1, 11268, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__288 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__288)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__289 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__289)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":11313
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__290 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 11313, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__290)) __PYX_ERR(1, 11313, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__291 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__291)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__292 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__292)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":11385
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__293 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 11385, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__293)) __PYX_ERR(1, 11385, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__294 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__294)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__295 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__295)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":11535
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].handle.win32
 *     def __repr__(self):
 */
  __pyx_codeobj__296 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 11535, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__296)) __PYX_ERR(1, 11535, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__297 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__297)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__298 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__298)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":11590
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].handle
 *     def __repr__(self):
 */
  __pyx_codeobj__299 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 11590, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__299)) __PYX_ERR(1, 11590, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__300 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__300)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__301 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__301)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":11664
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__302 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 11664, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__302)) __PYX_ERR(1, 11664, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__303 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__303)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__304 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__304)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":11753
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__305 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 11753, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__305)) __PYX_ERR(1, 11753, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__306 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__306)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__307 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__307)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":11833
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__308 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 11833, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__308)) __PYX_ERR(1, 11833, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__309 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__309)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__310 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__310)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":11904
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].handle.win32
 *     def __repr__(self):
 */
  __pyx_codeobj__311 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 11904, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__311)) __PYX_ERR(1, 11904, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__312 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__312)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__313 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__313)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":11959
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].handle
 *     def __repr__(self):
 */
  __pyx_codeobj__314 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 11959, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__314)) __PYX_ERR(1, 11959, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__315 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__315)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__316 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__316)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":12031
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__317 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 12031, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__317)) __PYX_ERR(1, 12031, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__318 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__318)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__319 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__319)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":12100
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.fence
 *     def __repr__(self):
 */
  __pyx_codeobj__320 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 12100, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__320)) __PYX_ERR(1, 12100, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__321 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__321)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__322 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__322)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":12141
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.nvSciSync
 *     def __repr__(self):
 */
  __pyx_codeobj__323 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 12141, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__323)) __PYX_ERR(1, 12141, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__324 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__324)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__325 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__325)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":12191
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.keyedMutex
 *     def __repr__(self):
 */
  __pyx_codeobj__326 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 12191, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__326)) __PYX_ERR(1, 12191, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__327 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__327)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__328 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__328)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":12238
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params
 *     def __repr__(self):
 */
  __pyx_codeobj__329 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 12238, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__329)) __PYX_ERR(1, 12238, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__330 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__330)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__331 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__331)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":12322
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__332 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 12322, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__332)) __PYX_ERR(1, 12322, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__333 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__333)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__334 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__334)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":12381
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.fence
 *     def __repr__(self):
 */
  __pyx_codeobj__335 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 12381, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__335)) __PYX_ERR(1, 12381, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__336 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__336)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__337 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__337)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":12422
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.nvSciSync
 *     def __repr__(self):
 */
  __pyx_codeobj__338 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 12422, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__338)) __PYX_ERR(1, 12422, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__339 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__339)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__340 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__340)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":12474
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.keyedMutex
 *     def __repr__(self):
 */
  __pyx_codeobj__341 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 12474, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__341)) __PYX_ERR(1, 12474, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__342 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__342)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__343 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__343)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":12531
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params
 *     def __repr__(self):
 */
  __pyx_codeobj__344 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 12531, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__344)) __PYX_ERR(1, 12531, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__345 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__345)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__346 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__346)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":12615
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__347 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 12615, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__347)) __PYX_ERR(1, 12615, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__348 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__348)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__349 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__349)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":12686
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__350 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 12686, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__350)) __PYX_ERR(1, 12686, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__351 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__351)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__352 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__352)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":12787
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__353 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 12787, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__353)) __PYX_ERR(1, 12787, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__354 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__354)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__355 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__355)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":12888
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__356 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 12888, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__356)) __PYX_ERR(1, 12888, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__357 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__357)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__358 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__358)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":12989
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__359 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 12989, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__359)) __PYX_ERR(1, 12989, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__360 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__360)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__361 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__361)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":13081
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].resource
 *     def __repr__(self):
 */
  __pyx_codeobj__362 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 13081, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__362)) __PYX_ERR(1, 13081, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__363 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__363)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__364 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__364)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":13162
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].subresource.sparseLevel
 *     def __repr__(self):
 */
  __pyx_codeobj__365 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 13162, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__365)) __PYX_ERR(1, 13162, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__366 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__366)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__367 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__367)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":13275
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].subresource.miptail
 *     def __repr__(self):
 */
  __pyx_codeobj__368 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 13275, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__368)) __PYX_ERR(1, 13275, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__369 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__369)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__370 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__370)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":13337
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].subresource
 *     def __repr__(self):
 */
  __pyx_codeobj__371 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 13337, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__371)) __PYX_ERR(1, 13337, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__372 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__372)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__373 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__373)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":13386
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].memHandle
 *     def __repr__(self):
 */
  __pyx_codeobj__374 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 13386, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__374)) __PYX_ERR(1, 13386, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__375 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__375)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__376 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__376)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":13463
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__377 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 13463, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__377)) __PYX_ERR(1, 13463, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__378 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__378)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__379 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__379)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":13608
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__380 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 13608, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__380)) __PYX_ERR(1, 13608, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__381 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__381)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__382 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__382)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":13663
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].allocFlags
 *     def __repr__(self):
 */
  __pyx_codeobj__383 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 13663, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__383)) __PYX_ERR(1, 13663, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__384 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__384)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__385 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__385)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":13752
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__386 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 13752, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__386)) __PYX_ERR(1, 13752, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__387 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__387)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__388 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__388)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":13845
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__389 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 13845, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__389)) __PYX_ERR(1, 13845, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__390 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__390)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__391 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__391)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":13920
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__392 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 13920, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__392)) __PYX_ERR(1, 13920, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__393 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__393)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__394 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__394)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":13981
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__395 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 13981, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__395)) __PYX_ERR(1, 13981, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__396 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__396)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__397 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__397)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":14078
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__398 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 14078, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__398)) __PYX_ERR(1, 14078, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__399 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__399)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__400 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__400)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":14175
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__401 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 14175, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__401)) __PYX_ERR(1, 14175, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__402 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__402)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__403 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__403)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":14235
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__404 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 14235, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__404)) __PYX_ERR(1, 14235, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__405 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__405)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__406 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__406)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":14356
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__407 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 14356, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__407)) __PYX_ERR(1, 14356, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__408 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__408)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__409 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__409)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":14463
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__410 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 14463, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__410)) __PYX_ERR(1, 14463, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__411 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__411)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__412 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__412)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":14516
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__413 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 14516, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__413)) __PYX_ERR(1, 14516, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__414 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__414)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__415 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__415)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":14568
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__416 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 14568, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__416)) __PYX_ERR(1, 14568, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__417 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__417)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__418 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__418)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":14620
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__419 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 14620, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__419)) __PYX_ERR(1, 14620, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__420 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__420)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__421 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__421)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":14718
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__422 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 14718, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__422)) __PYX_ERR(1, 14718, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__423 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__423)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__424 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__424)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":14920
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__425 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 14920, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__425)) __PYX_ERR(1, 14920, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__426 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__426)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__427 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__427)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":14969
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__428 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 14969, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__428)) __PYX_ERR(1, 14969, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__429 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__429)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__430 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__430)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":15046
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].frame
 *     def __repr__(self):
 */
  __pyx_codeobj__431 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 15046, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__431)) __PYX_ERR(1, 15046, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__432 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__432)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__433 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__433)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":15130
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_codeobj__434 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 15130, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__434)) __PYX_ERR(1, 15130, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__435 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__435)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__436 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__436)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":15261
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__437 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 15261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__437)) __PYX_ERR(1, 15261, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__438 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__438)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__439 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__439)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":15286
 *     def __int__(self):
 *         return <uint64_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__440 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 15286, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__440)) __PYX_ERR(1, 15286, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__441 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__441)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__442 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__442)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":15313
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__443 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 15313, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__443)) __PYX_ERR(1, 15313, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__444 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__444)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__445 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__445)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":15340
 *     def __int__(self):
 *         return <int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__446 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 15340, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__446)) __PYX_ERR(1, 15340, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__447 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__447)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__448 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__448)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":15367
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__449 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 15367, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__449)) __PYX_ERR(1, 15367, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__450 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__450)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__451 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__451)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":15394
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__452 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 15394, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__452)) __PYX_ERR(1, 15394, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__453 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__453)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__454 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__454)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":15419
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__455 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 15419, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__455)) __PYX_ERR(1, 15419, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__456 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__456)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__457 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__457)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":15444
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__458 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 15444, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__458)) __PYX_ERR(1, 15444, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__459 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__459)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__460 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__460)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":15469
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__461 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 15469, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__461)) __PYX_ERR(1, 15469, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__462 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__462)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__463 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__463)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":15494
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__464 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 15494, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__464)) __PYX_ERR(1, 15494, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__465 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__465)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__466 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__466)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":15519
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__467 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 15519, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__467)) __PYX_ERR(1, 15519, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__468 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__468)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__469 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__469)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":15544
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__470 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 15544, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__470)) __PYX_ERR(1, 15544, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__471 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__471)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__472 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__472)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":15569
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__473 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 15569, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__473)) __PYX_ERR(1, 15569, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__474 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__474)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__475 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__475)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":15594
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_codeobj__476 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_getPtr, 15594, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__476)) __PYX_ERR(1, 15594, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_codeobj__477 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__962, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__477)) __PYX_ERR(0, 1, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_codeobj__478 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__963, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__478)) __PYX_ERR(0, 3, __pyx_L1_error)

  /* "cuda/cuda.pyx":15597
 *         return <void_ptr>self._ptr
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetErrorString(error not None : CUresult):
 *     """ Gets the string description of an error code.
 */
  __pyx_tuple__964 = PyTuple_Pack(4, __pyx_n_s_error, __pyx_n_s_cerror, __pyx_n_s_pStr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__964)) __PYX_ERR(1, 15597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__964);
  __Pyx_GIVEREF(__pyx_tuple__964);
  __pyx_codeobj__479 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__964, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGetErrorString, 15597, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__479)) __PYX_ERR(1, 15597, __pyx_L1_error)

  /* "cuda/cuda.pyx":15627
 *     return (CUresult(err), <bytes>pStr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetErrorName(error not None : CUresult):
 *     """ Gets the string representation of an error code enum name.
 */
  __pyx_codeobj__480 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__964, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGetErrorName, 15627, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__480)) __PYX_ERR(1, 15627, __pyx_L1_error)

  /* "cuda/cuda.pyx":15657
 *     return (CUresult(err), <bytes>pStr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuInit(unsigned int Flags):
 *     """ Initialize the CUDA driver API Initializes the driver API and must be called before any other function from the driver API in the current process. Currently, the `Flags` parameter must be 0. If :py:obj:`~.cuInit()` has not been called, any function from the driver API will return :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`.
 */
  __pyx_tuple__965 = PyTuple_Pack(2, __pyx_n_s_Flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__965)) __PYX_ERR(1, 15657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__965);
  __Pyx_GIVEREF(__pyx_tuple__965);
  __pyx_codeobj__481 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__965, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuInit, 15657, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__481)) __PYX_ERR(1, 15657, __pyx_L1_error)

  /* "cuda/cuda.pyx":15674
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDriverGetVersion():
 *     """ Returns the latest CUDA version supported by driver.
 */
  __pyx_tuple__966 = PyTuple_Pack(2, __pyx_n_s_driverVersion, __pyx_n_s_err); if (unlikely(!__pyx_tuple__966)) __PYX_ERR(1, 15674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__966);
  __Pyx_GIVEREF(__pyx_tuple__966);
  __pyx_codeobj__482 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__966, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDriverGetVersion, 15674, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__482)) __PYX_ERR(1, 15674, __pyx_L1_error)

  /* "cuda/cuda.pyx":15700
 *     return (CUresult(err), driverVersion)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGet(int ordinal):
 *     """ Returns a handle to a compute device.
 */
  __pyx_tuple__967 = PyTuple_Pack(3, __pyx_n_s_ordinal, __pyx_n_s_device, __pyx_n_s_err); if (unlikely(!__pyx_tuple__967)) __PYX_ERR(1, 15700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__967);
  __Pyx_GIVEREF(__pyx_tuple__967);
  __pyx_codeobj__483 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__967, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGet, 15700, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__483)) __PYX_ERR(1, 15700, __pyx_L1_error)

  /* "cuda/cuda.pyx":15727
 *     return (CUresult(err), device)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetCount():
 *     """ Returns the number of compute-capable devices.
 */
  __pyx_tuple__968 = PyTuple_Pack(2, __pyx_n_s_count_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__968)) __PYX_ERR(1, 15727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__968);
  __Pyx_GIVEREF(__pyx_tuple__968);
  __pyx_codeobj__484 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__968, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGetCount, 15727, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__484)) __PYX_ERR(1, 15727, __pyx_L1_error)

  /* "cuda/cuda.pyx":15750
 *     return (CUresult(err), count)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetName(int length, dev):
 *     """ Returns an identifier string for the device.
 */
  __pyx_tuple__969 = PyTuple_Pack(7, __pyx_n_s_length, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_pyname, __pyx_n_s_name_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__969)) __PYX_ERR(1, 15750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__969);
  __Pyx_GIVEREF(__pyx_tuple__969);
  __pyx_codeobj__485 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__969, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGetName, 15750, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__485)) __PYX_ERR(1, 15750, __pyx_L1_error)

  /* "cuda/cuda.pyx":15790
 *     return (CUresult(err), pyname)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetUuid(dev):
 *     """ Return an UUID for the device.
 */
  __pyx_tuple__970 = PyTuple_Pack(5, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_uuid, __pyx_n_s_err); if (unlikely(!__pyx_tuple__970)) __PYX_ERR(1, 15790, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__970);
  __Pyx_GIVEREF(__pyx_tuple__970);
  __pyx_codeobj__487 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__970, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGetUuid, 15790, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__487)) __PYX_ERR(1, 15790, __pyx_L1_error)

  /* "cuda/cuda.pyx":15830
 *     return (CUresult(err), uuid)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetUuid_v2(dev):
 *     """ Return an UUID for the device (11.4+)
 */
  __pyx_codeobj__488 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__970, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGetUuid_v2, 15830, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__488)) __PYX_ERR(1, 15830, __pyx_L1_error)

  /* "cuda/cuda.pyx":15867
 *     return (CUresult(err), uuid)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetLuid(dev):
 *     """ Return an LUID and device node mask for the device.
 */
  __pyx_tuple__971 = PyTuple_Pack(6, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_luid, __pyx_n_s_deviceNodeMask, __pyx_n_s_err); if (unlikely(!__pyx_tuple__971)) __PYX_ERR(1, 15867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__971);
  __Pyx_GIVEREF(__pyx_tuple__971);
  __pyx_codeobj__489 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__971, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGetLuid, 15867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__489)) __PYX_ERR(1, 15867, __pyx_L1_error)

  /* "cuda/cuda.pyx":15906
 *     return (CUresult(err), <bytes>luid, deviceNodeMask)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceTotalMem(dev):
 *     """ Returns the total amount of memory on the device.
 */
  __pyx_tuple__972 = PyTuple_Pack(5, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_numbytes, __pyx_n_s_err); if (unlikely(!__pyx_tuple__972)) __PYX_ERR(1, 15906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__972);
  __Pyx_GIVEREF(__pyx_tuple__972);
  __pyx_codeobj__490 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__972, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceTotalMem, 15906, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__490)) __PYX_ERR(1, 15906, __pyx_L1_error)

  /* "cuda/cuda.pyx":15942
 *     return (CUresult(err), numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetTexture1DLinearMaxWidth(pformat not None : CUarray_format, unsigned numChannels, dev):
 *     """ Returns the maximum number of elements allocatable in a 1D linear texture for a given texture element size.
 */
  __pyx_tuple__973 = PyTuple_Pack(8, __pyx_n_s_pformat, __pyx_n_s_numChannels_2, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_maxWidthInElements, __pyx_n_s_cpformat, __pyx_n_s_err); if (unlikely(!__pyx_tuple__973)) __PYX_ERR(1, 15942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__973);
  __Pyx_GIVEREF(__pyx_tuple__973);
  __pyx_codeobj__491 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__973, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGetTexture1DLinearMaxWid, 15942, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__491)) __PYX_ERR(1, 15942, __pyx_L1_error)

  /* "cuda/cuda.pyx":15985
 *     return (CUresult(err), maxWidthInElements)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetAttribute(attrib not None : CUdevice_attribute, dev):
 *     """ Returns information about the device.
 */
  __pyx_tuple__974 = PyTuple_Pack(7, __pyx_n_s_attrib, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_pi, __pyx_n_s_cattrib, __pyx_n_s_err); if (unlikely(!__pyx_tuple__974)) __PYX_ERR(1, 15985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__974);
  __Pyx_GIVEREF(__pyx_tuple__974);
  __pyx_codeobj__492 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__974, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGetAttribute, 15985, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__492)) __PYX_ERR(1, 15985, __pyx_L1_error)

  /* "cuda/cuda.pyx":16402
 *     return (CUresult(err), pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetNvSciSyncAttributes(nvSciSyncAttrList, dev, int flags):
 *     """ Return NvSciSync attributes that this device can support.
 */
  __pyx_tuple__975 = PyTuple_Pack(8, __pyx_n_s_nvSciSyncAttrList, __pyx_n_s_dev, __pyx_n_s_flags_2, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_cnvSciSyncAttrList, __pyx_n_s_cnvSciSyncAttrList_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__975)) __PYX_ERR(1, 16402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__975);
  __Pyx_GIVEREF(__pyx_tuple__975);
  __pyx_codeobj__493 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__975, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGetNvSciSyncAttributes, 16402, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__493)) __PYX_ERR(1, 16402, __pyx_L1_error)

  /* "cuda/cuda.pyx":16497
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceSetMemPool(dev, pool):
 *     """ Sets the current memory pool of a device.
 */
  __pyx_tuple__976 = PyTuple_Pack(7, __pyx_n_s_dev, __pyx_n_s_pool, __pyx_n_s_cpool, __pyx_n_s_ppool, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_err); if (unlikely(!__pyx_tuple__976)) __PYX_ERR(1, 16497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__976);
  __Pyx_GIVEREF(__pyx_tuple__976);
  __pyx_codeobj__494 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__976, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceSetMemPool, 16497, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__494)) __PYX_ERR(1, 16497, __pyx_L1_error)

  /* "cuda/cuda.pyx":16547
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetMemPool(dev):
 *     """ Gets the current mempool for a device.
 */
  __pyx_tuple__977 = PyTuple_Pack(5, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_pool, __pyx_n_s_err); if (unlikely(!__pyx_tuple__977)) __PYX_ERR(1, 16547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__977);
  __Pyx_GIVEREF(__pyx_tuple__977);
  __pyx_codeobj__495 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__977, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGetMemPool, 16547, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__495)) __PYX_ERR(1, 16547, __pyx_L1_error)

  /* "cuda/cuda.pyx":16586
 *     return (CUresult(err), pool)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetDefaultMemPool(dev):
 *     """ Returns the default mempool of a device.
 */
  __pyx_tuple__978 = PyTuple_Pack(5, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_pool_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__978)) __PYX_ERR(1, 16586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__978);
  __Pyx_GIVEREF(__pyx_tuple__978);
  __pyx_codeobj__496 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__978, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGetDefaultMemPool, 16586, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__496)) __PYX_ERR(1, 16586, __pyx_L1_error)

  /* "cuda/cuda.pyx":16622
 *     return (CUresult(err), pool_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetExecAffinitySupport(typename not None : CUexecAffinityType, dev):
 *     """ Returns information about the execution affinity support of the device.
 */
  __pyx_tuple__979 = PyTuple_Pack(7, __pyx_n_s_typename, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_pi, __pyx_n_s_ctypename, __pyx_n_s_err); if (unlikely(!__pyx_tuple__979)) __PYX_ERR(1, 16622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__979);
  __Pyx_GIVEREF(__pyx_tuple__979);
  __pyx_codeobj__497 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__979, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGetExecAffinitySupport, 16622, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__497)) __PYX_ERR(1, 16622, __pyx_L1_error)

  /* "cuda/cuda.pyx":16665
 *     return (CUresult(err), pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFlushGPUDirectRDMAWrites(target not None : CUflushGPUDirectRDMAWritesTarget, scope not None : CUflushGPUDirectRDMAWritesScope):
 *     """ Blocks until remote writes are visible to the specified scope.
 */
  __pyx_tuple__980 = PyTuple_Pack(5, __pyx_n_s_target, __pyx_n_s_scope, __pyx_n_s_ctarget, __pyx_n_s_cscope, __pyx_n_s_err); if (unlikely(!__pyx_tuple__980)) __PYX_ERR(1, 16665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__980);
  __Pyx_GIVEREF(__pyx_tuple__980);
  __pyx_codeobj__498 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__980, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuFlushGPUDirectRDMAWrites, 16665, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__498)) __PYX_ERR(1, 16665, __pyx_L1_error)

  /* "cuda/cuda.pyx":16702
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetProperties(dev):
 *     """ Returns properties for a selected device.
 */
  __pyx_tuple__981 = PyTuple_Pack(5, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_prop, __pyx_n_s_err); if (unlikely(!__pyx_tuple__981)) __PYX_ERR(1, 16702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__981);
  __Pyx_GIVEREF(__pyx_tuple__981);
  __pyx_codeobj__499 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__981, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGetProperties, 16702, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__499)) __PYX_ERR(1, 16702, __pyx_L1_error)

  /* "cuda/cuda.pyx":16777
 *     return (CUresult(err), prop)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceComputeCapability(dev):
 *     """ Returns the compute capability of the device.
 */
  __pyx_tuple__982 = PyTuple_Pack(6, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_major, __pyx_n_s_minor, __pyx_n_s_err); if (unlikely(!__pyx_tuple__982)) __PYX_ERR(1, 16777, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__982);
  __Pyx_GIVEREF(__pyx_tuple__982);
  __pyx_codeobj__500 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__982, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceComputeCapability, 16777, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__500)) __PYX_ERR(1, 16777, __pyx_L1_error)

  /* "cuda/cuda.pyx":16821
 *     return (CUresult(err), major, minor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxRetain(dev):
 *     """ Retain the primary context on the GPU.
 */
  __pyx_tuple__983 = PyTuple_Pack(5, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_pctx, __pyx_n_s_err); if (unlikely(!__pyx_tuple__983)) __PYX_ERR(1, 16821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__983);
  __Pyx_GIVEREF(__pyx_tuple__983);
  __pyx_codeobj__501 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__983, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDevicePrimaryCtxRetain, 16821, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__501)) __PYX_ERR(1, 16821, __pyx_L1_error)

  /* "cuda/cuda.pyx":16874
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxRelease(dev):
 *     """ Release the primary context on the GPU.
 */
  __pyx_tuple__984 = PyTuple_Pack(4, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_err); if (unlikely(!__pyx_tuple__984)) __PYX_ERR(1, 16874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__984);
  __Pyx_GIVEREF(__pyx_tuple__984);
  __pyx_codeobj__502 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__984, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDevicePrimaryCtxRelease, 16874, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__502)) __PYX_ERR(1, 16874, __pyx_L1_error)

  /* "cuda/cuda.pyx":16917
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxSetFlags(dev, unsigned int flags):
 *     """ Set flags for the primary context.
 */
  __pyx_tuple__985 = PyTuple_Pack(5, __pyx_n_s_dev, __pyx_n_s_flags_2, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_err); if (unlikely(!__pyx_tuple__985)) __PYX_ERR(1, 16917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__985);
  __Pyx_GIVEREF(__pyx_tuple__985);
  __pyx_codeobj__503 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__985, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDevicePrimaryCtxSetFlags, 16917, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__503)) __PYX_ERR(1, 16917, __pyx_L1_error)

  /* "cuda/cuda.pyx":17028
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxGetState(dev):
 *     """ Get the state of the primary context.
 */
  __pyx_tuple__986 = PyTuple_Pack(6, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_flags_2, __pyx_n_s_active, __pyx_n_s_err); if (unlikely(!__pyx_tuple__986)) __PYX_ERR(1, 17028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__986);
  __Pyx_GIVEREF(__pyx_tuple__986);
  __pyx_codeobj__504 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__986, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDevicePrimaryCtxGetState, 17028, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__504)) __PYX_ERR(1, 17028, __pyx_L1_error)

  /* "cuda/cuda.pyx":17068
 *     return (CUresult(err), flags, active)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxReset(dev):
 *     """ Destroy all allocations and reset all state on the primary context.
 */
  __pyx_codeobj__505 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__984, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDevicePrimaryCtxReset, 17068, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__505)) __PYX_ERR(1, 17068, __pyx_L1_error)

  /* "cuda/cuda.pyx":17110
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate(unsigned int flags, dev):
 *     """ Create a CUDA context.
 */
  __pyx_tuple__987 = PyTuple_Pack(6, __pyx_n_s_flags_2, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_pctx, __pyx_n_s_err); if (unlikely(!__pyx_tuple__987)) __PYX_ERR(1, 17110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__987);
  __Pyx_GIVEREF(__pyx_tuple__987);
  __pyx_codeobj__506 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__987, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxCreate, 17110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__506)) __PYX_ERR(1, 17110, __pyx_L1_error)

  /* "cuda/cuda.pyx":17250
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate_v3(paramsArray : Optional[List[CUexecAffinityParam]], int numParams, unsigned int flags, dev):
 *     """ Create a CUDA context with execution affinity.
 */
  __pyx_tuple__988 = PyTuple_Pack(12, __pyx_n_s_paramsArray_2, __pyx_n_s_numParams, __pyx_n_s_flags_2, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_pctx, __pyx_n_s_cparamsArray, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__988)) __PYX_ERR(1, 17250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__988);
  __Pyx_GIVEREF(__pyx_tuple__988);
  __pyx_codeobj__507 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__988, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxCreate_v3, 17250, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__507)) __PYX_ERR(1, 17250, __pyx_L1_error)

  /* "cuda/cuda.pyx":17412
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDestroy(ctx):
 *     """ Destroy a CUDA context.
 */
  __pyx_tuple__989 = PyTuple_Pack(4, __pyx_n_s_ctx_2, __pyx_n_s_cctx, __pyx_n_s_pctx, __pyx_n_s_err); if (unlikely(!__pyx_tuple__989)) __PYX_ERR(1, 17412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__989);
  __Pyx_GIVEREF(__pyx_tuple__989);
  __pyx_codeobj__509 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__989, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxDestroy, 17412, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__509)) __PYX_ERR(1, 17412, __pyx_L1_error)

  /* "cuda/cuda.pyx":17465
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxPushCurrent(ctx):
 *     """ Pushes a context on the current CPU thread.
 */
  __pyx_codeobj__510 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__989, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxPushCurrent, 17465, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__510)) __PYX_ERR(1, 17465, __pyx_L1_error)

  /* "cuda/cuda.pyx":17503
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxPopCurrent():
 *     """ Pops the current CUDA context from the current CPU thread.
 */
  __pyx_tuple__990 = PyTuple_Pack(2, __pyx_n_s_pctx, __pyx_n_s_err); if (unlikely(!__pyx_tuple__990)) __PYX_ERR(1, 17503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__990);
  __Pyx_GIVEREF(__pyx_tuple__990);
  __pyx_codeobj__511 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__990, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxPopCurrent, 17503, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__511)) __PYX_ERR(1, 17503, __pyx_L1_error)

  /* "cuda/cuda.pyx":17530
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetCurrent(ctx):
 *     """ Binds the specified CUDA context to the calling CPU thread.
 */
  __pyx_codeobj__512 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__989, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxSetCurrent, 17530, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__512)) __PYX_ERR(1, 17530, __pyx_L1_error)

  /* "cuda/cuda.pyx":17570
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetCurrent():
 *     """ Returns the CUDA context bound to the calling CPU thread.
 */
  __pyx_codeobj__513 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__990, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxGetCurrent, 17570, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__513)) __PYX_ERR(1, 17570, __pyx_L1_error)

  /* "cuda/cuda.pyx":17593
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetDevice():
 *     """ Returns the device ID for the current context.
 */
  __pyx_tuple__991 = PyTuple_Pack(2, __pyx_n_s_device, __pyx_n_s_err); if (unlikely(!__pyx_tuple__991)) __PYX_ERR(1, 17593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__991);
  __Pyx_GIVEREF(__pyx_tuple__991);
  __pyx_codeobj__514 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__991, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxGetDevice, 17593, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__514)) __PYX_ERR(1, 17593, __pyx_L1_error)

  /* "cuda/cuda.pyx":17614
 *     return (CUresult(err), device)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetFlags():
 *     """ Returns the flags for the current context.
 */
  __pyx_tuple__992 = PyTuple_Pack(2, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__992)) __PYX_ERR(1, 17614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__992);
  __Pyx_GIVEREF(__pyx_tuple__992);
  __pyx_codeobj__515 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__992, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxGetFlags, 17614, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__515)) __PYX_ERR(1, 17614, __pyx_L1_error)

  /* "cuda/cuda.pyx":17636
 *     return (CUresult(err), flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetFlags(unsigned int flags):
 *     """ Sets the flags for the current context.
 */
  __pyx_codeobj__516 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__992, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxSetFlags, 17636, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__516)) __PYX_ERR(1, 17636, __pyx_L1_error)

  /* "cuda/cuda.pyx":17660
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetId(ctx):
 *     """ Returns the unique Id associated with the context supplied.
 */
  __pyx_tuple__993 = PyTuple_Pack(5, __pyx_n_s_ctx_2, __pyx_n_s_cctx, __pyx_n_s_pctx, __pyx_n_s_ctxId, __pyx_n_s_err); if (unlikely(!__pyx_tuple__993)) __PYX_ERR(1, 17660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__993);
  __Pyx_GIVEREF(__pyx_tuple__993);
  __pyx_codeobj__517 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__993, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxGetId, 17660, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__517)) __PYX_ERR(1, 17660, __pyx_L1_error)

  /* "cuda/cuda.pyx":17698
 *     return (CUresult(err), ctxId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSynchronize():
 *     """ Block for a context's tasks to complete.
 */
  __pyx_tuple__994 = PyTuple_Pack(1, __pyx_n_s_err); if (unlikely(!__pyx_tuple__994)) __PYX_ERR(1, 17698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__994);
  __Pyx_GIVEREF(__pyx_tuple__994);
  __pyx_codeobj__518 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__994, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxSynchronize, 17698, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__518)) __PYX_ERR(1, 17698, __pyx_L1_error)

  /* "cuda/cuda.pyx":17720
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetLimit(limit not None : CUlimit, size_t value):
 *     """ Set resource limits.
 */
  __pyx_tuple__995 = PyTuple_Pack(4, __pyx_n_s_limit, __pyx_n_s_value_2, __pyx_n_s_climit, __pyx_n_s_err); if (unlikely(!__pyx_tuple__995)) __PYX_ERR(1, 17720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__995);
  __Pyx_GIVEREF(__pyx_tuple__995);
  __pyx_codeobj__519 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__995, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxSetLimit, 17720, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__519)) __PYX_ERR(1, 17720, __pyx_L1_error)

  /* "cuda/cuda.pyx":17823
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetLimit(limit not None : CUlimit):
 *     """ Returns resource limits.
 */
  __pyx_tuple__996 = PyTuple_Pack(4, __pyx_n_s_limit, __pyx_n_s_pvalue, __pyx_n_s_climit, __pyx_n_s_err); if (unlikely(!__pyx_tuple__996)) __PYX_ERR(1, 17823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__996);
  __Pyx_GIVEREF(__pyx_tuple__996);
  __pyx_codeobj__520 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__996, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxGetLimit, 17823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__520)) __PYX_ERR(1, 17823, __pyx_L1_error)

  /* "cuda/cuda.pyx":17876
 *     return (CUresult(err), pvalue)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetCacheConfig():
 *     """ Returns the preferred cache configuration for the current context.
 */
  __pyx_tuple__997 = PyTuple_Pack(2, __pyx_n_s_pconfig, __pyx_n_s_err); if (unlikely(!__pyx_tuple__997)) __PYX_ERR(1, 17876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__997);
  __Pyx_GIVEREF(__pyx_tuple__997);
  __pyx_codeobj__521 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__997, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxGetCacheConfig, 17876, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__521)) __PYX_ERR(1, 17876, __pyx_L1_error)

  /* "cuda/cuda.pyx":17918
 *     return (CUresult(err), CUfunc_cache(pconfig))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetCacheConfig(config not None : CUfunc_cache):
 *     """ Sets the preferred cache configuration for the current context.
 */
  __pyx_tuple__998 = PyTuple_Pack(3, __pyx_n_s_config, __pyx_n_s_cconfig, __pyx_n_s_err); if (unlikely(!__pyx_tuple__998)) __PYX_ERR(1, 17918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__998);
  __Pyx_GIVEREF(__pyx_tuple__998);
  __pyx_codeobj__522 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__998, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxSetCacheConfig, 17918, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__522)) __PYX_ERR(1, 17918, __pyx_L1_error)

  /* "cuda/cuda.pyx":17972
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetApiVersion(ctx):
 *     """ Gets the context's API version.
 */
  __pyx_tuple__999 = PyTuple_Pack(5, __pyx_n_s_ctx_2, __pyx_n_s_cctx, __pyx_n_s_pctx, __pyx_n_s_version, __pyx_n_s_err); if (unlikely(!__pyx_tuple__999)) __PYX_ERR(1, 17972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__999);
  __Pyx_GIVEREF(__pyx_tuple__999);
  __pyx_codeobj__523 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__999, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxGetApiVersion, 17972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__523)) __PYX_ERR(1, 17972, __pyx_L1_error)

  /* "cuda/cuda.pyx":18015
 *     return (CUresult(err), version)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetStreamPriorityRange():
 *     """ Returns numerical values that correspond to the least and greatest stream priorities.
 */
  __pyx_tuple__1000 = PyTuple_Pack(3, __pyx_n_s_leastPriority, __pyx_n_s_greatestPriority, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1000)) __PYX_ERR(1, 18015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1000);
  __Pyx_GIVEREF(__pyx_tuple__1000);
  __pyx_codeobj__524 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1000, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxGetStreamPriorityRange, 18015, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__524)) __PYX_ERR(1, 18015, __pyx_L1_error)

  /* "cuda/cuda.pyx":18055
 *     return (CUresult(err), leastPriority, greatestPriority)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxResetPersistingL2Cache():
 *     """ Resets all persisting lines in cache to normal status.
 */
  __pyx_codeobj__525 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__994, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxResetPersistingL2Cache, 18055, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__525)) __PYX_ERR(1, 18055, __pyx_L1_error)

  /* "cuda/cuda.pyx":18074
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetExecAffinity(typename not None : CUexecAffinityType):
 *     """ Returns the execution affinity setting for the current context.
 */
  __pyx_tuple__1001 = PyTuple_Pack(4, __pyx_n_s_typename, __pyx_n_s_pExecAffinity, __pyx_n_s_ctypename, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1001)) __PYX_ERR(1, 18074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1001);
  __Pyx_GIVEREF(__pyx_tuple__1001);
  __pyx_codeobj__526 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1001, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxGetExecAffinity, 18074, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__526)) __PYX_ERR(1, 18074, __pyx_L1_error)

  /* "cuda/cuda.pyx":18105
 *     return (CUresult(err), pExecAffinity)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxAttach(unsigned int flags):
 *     """ Increment a context's usage-count.
 */
  __pyx_tuple__1002 = PyTuple_Pack(3, __pyx_n_s_flags_2, __pyx_n_s_pctx, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1002)) __PYX_ERR(1, 18105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1002);
  __Pyx_GIVEREF(__pyx_tuple__1002);
  __pyx_codeobj__527 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1002, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxAttach, 18105, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__527)) __PYX_ERR(1, 18105, __pyx_L1_error)

  /* "cuda/cuda.pyx":18140
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDetach(ctx):
 *     """ Decrement a context's usage-count.
 */
  __pyx_codeobj__528 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__989, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxDetach, 18140, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__528)) __PYX_ERR(1, 18140, __pyx_L1_error)

  /* "cuda/cuda.pyx":18179
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetSharedMemConfig():
 *     """ Returns the current shared memory configuration for the current context.
 */
  __pyx_tuple__1003 = PyTuple_Pack(2, __pyx_n_s_pConfig, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1003)) __PYX_ERR(1, 18179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1003);
  __Pyx_GIVEREF(__pyx_tuple__1003);
  __pyx_codeobj__529 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1003, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxGetSharedMemConfig, 18179, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__529)) __PYX_ERR(1, 18179, __pyx_L1_error)

  /* "cuda/cuda.pyx":18216
 *     return (CUresult(err), CUsharedconfig(pConfig))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetSharedMemConfig(config not None : CUsharedconfig):
 *     """ Sets the shared memory configuration for the current context.
 */
  __pyx_codeobj__530 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__998, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxSetSharedMemConfig, 18216, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__530)) __PYX_ERR(1, 18216, __pyx_L1_error)

  /* "cuda/cuda.pyx":18267
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoad(char* fname):
 *     """ Loads a compute module.
 */
  __pyx_tuple__1004 = PyTuple_Pack(3, __pyx_n_s_fname, __pyx_n_s_module_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1004)) __PYX_ERR(1, 18267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1004);
  __Pyx_GIVEREF(__pyx_tuple__1004);
  __pyx_codeobj__531 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1004, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuModuleLoad, 18267, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__531)) __PYX_ERR(1, 18267, __pyx_L1_error)

  /* "cuda/cuda.pyx":18300
 *     return (CUresult(err), module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadData(image):
 *     """ Load a module's data.
 */
  __pyx_tuple__1005 = PyTuple_Pack(5, __pyx_n_s_image, __pyx_n_s_module_2, __pyx_n_s_cimage, __pyx_n_s_cimage_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1005)) __PYX_ERR(1, 18300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1005);
  __Pyx_GIVEREF(__pyx_tuple__1005);
  __pyx_codeobj__532 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1005, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuModuleLoadData, 18300, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__532)) __PYX_ERR(1, 18300, __pyx_L1_error)

  /* "cuda/cuda.pyx":18331
 *     return (CUresult(err), module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadDataEx(image, unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[List[Any]]):
 *     """ Load a module's data with options.
 */
  __pyx_tuple__1006 = PyTuple_Pack(16, __pyx_n_s_image, __pyx_n_s_numOptions, __pyx_n_s_options, __pyx_n_s_optionValues, __pyx_n_s_module_2, __pyx_n_s_cimage, __pyx_n_s_cimage_ptr, __pyx_n_s_coptions, __pyx_n_s_pylist, __pyx_n_s_voidStarHelperoptionValues, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_pyoptions, __pyx_n_s_pyoptions, __pyx_n_s_pyoptionValues); if (unlikely(!__pyx_tuple__1006)) __PYX_ERR(1, 18331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1006);
  __Pyx_GIVEREF(__pyx_tuple__1006);
  __pyx_codeobj__533 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 16, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1006, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuModuleLoadDataEx, 18331, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__533)) __PYX_ERR(1, 18331, __pyx_L1_error)

  /* "cuda/cuda.pyx":18377
 *     return (CUresult(err), module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadFatBinary(fatCubin):
 *     """ Load a module's data.
 */
  __pyx_tuple__1007 = PyTuple_Pack(5, __pyx_n_s_fatCubin, __pyx_n_s_module_2, __pyx_n_s_cfatCubin, __pyx_n_s_cfatCubin_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1007)) __PYX_ERR(1, 18377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1007);
  __Pyx_GIVEREF(__pyx_tuple__1007);
  __pyx_codeobj__536 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1007, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuModuleLoadFatBinary, 18377, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__536)) __PYX_ERR(1, 18377, __pyx_L1_error)

  /* "cuda/cuda.pyx":18414
 *     return (CUresult(err), module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleUnload(hmod):
 *     """ Unloads a module.
 */
  __pyx_tuple__1008 = PyTuple_Pack(4, __pyx_n_s_hmod, __pyx_n_s_chmod, __pyx_n_s_phmod, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1008)) __PYX_ERR(1, 18414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1008);
  __Pyx_GIVEREF(__pyx_tuple__1008);
  __pyx_codeobj__537 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1008, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuModuleUnload, 18414, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__537)) __PYX_ERR(1, 18414, __pyx_L1_error)

  /* "cuda/cuda.pyx":18449
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetLoadingMode():
 *     """ Query lazy loading mode.
 */
  __pyx_tuple__1009 = PyTuple_Pack(2, __pyx_n_s_mode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1009)) __PYX_ERR(1, 18449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1009);
  __Pyx_GIVEREF(__pyx_tuple__1009);
  __pyx_codeobj__538 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1009, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuModuleGetLoadingMode, 18449, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__538)) __PYX_ERR(1, 18449, __pyx_L1_error)

  /* "cuda/cuda.pyx":18471
 *     return (CUresult(err), CUmoduleLoadingMode(mode))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetFunction(hmod, char* name):
 *     """ Returns a function handle.
 */
  __pyx_tuple__1010 = PyTuple_Pack(6, __pyx_n_s_hmod, __pyx_n_s_name_2, __pyx_n_s_chmod, __pyx_n_s_phmod, __pyx_n_s_hfunc, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1010)) __PYX_ERR(1, 18471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1010);
  __Pyx_GIVEREF(__pyx_tuple__1010);
  __pyx_codeobj__539 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1010, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuModuleGetFunction, 18471, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__539)) __PYX_ERR(1, 18471, __pyx_L1_error)

  /* "cuda/cuda.pyx":18511
 *     return (CUresult(err), hfunc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetFunctionCount(mod):
 *     """ Returns the number of functions within a module.
 */
  __pyx_tuple__1011 = PyTuple_Pack(5, __pyx_n_s_mod, __pyx_n_s_cmod, __pyx_n_s_pmod, __pyx_n_s_count_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1011)) __PYX_ERR(1, 18511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1011);
  __Pyx_GIVEREF(__pyx_tuple__1011);
  __pyx_codeobj__540 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1011, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuModuleGetFunctionCount, 18511, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__540)) __PYX_ERR(1, 18511, __pyx_L1_error)

  /* "cuda/cuda.pyx":18542
 *     return (CUresult(err), count)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleEnumerateFunctions(unsigned int numFunctions, mod):
 *     """ Returns the function handles within a module.
 */
  __pyx_tuple__1012 = PyTuple_Pack(8, __pyx_n_s_numFunctions, __pyx_n_s_mod, __pyx_n_s_cmod, __pyx_n_s_pmod, __pyx_n_s_cfunctions, __pyx_n_s_pyfunctions, __pyx_n_s_err, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1012)) __PYX_ERR(1, 18542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1012);
  __Pyx_GIVEREF(__pyx_tuple__1012);
  __pyx_codeobj__541 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1012, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuModuleEnumerateFunctions, 18542, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__541)) __PYX_ERR(1, 18542, __pyx_L1_error)

  /* "cuda/cuda.pyx":18596
 *     return (CUresult(err), pyfunctions)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetGlobal(hmod, char* name):
 *     """ Returns a global pointer from a module.
 */
  __pyx_tuple__1013 = PyTuple_Pack(7, __pyx_n_s_hmod, __pyx_n_s_name_2, __pyx_n_s_chmod, __pyx_n_s_phmod, __pyx_n_s_dptr_2, __pyx_n_s_numbytes, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1013)) __PYX_ERR(1, 18596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1013);
  __Pyx_GIVEREF(__pyx_tuple__1013);
  __pyx_codeobj__542 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1013, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuModuleGetGlobal, 18596, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__542)) __PYX_ERR(1, 18596, __pyx_L1_error)

  /* "cuda/cuda.pyx":18640
 *     return (CUresult(err), dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkCreate(unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[List[Any]]):
 *     """ Creates a pending JIT linker invocation.
 */
  __pyx_tuple__1014 = PyTuple_Pack(14, __pyx_n_s_numOptions, __pyx_n_s_options, __pyx_n_s_optionValues, __pyx_n_s_coptions, __pyx_n_s_pylist, __pyx_n_s_voidStarHelperoptionValues, __pyx_n_s_stateOut, __pyx_n_s_err, __pyx_n_s_option, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_pyoptions, __pyx_n_s_pyoptions, __pyx_n_s_pyoptionValues); if (unlikely(!__pyx_tuple__1014)) __PYX_ERR(1, 18640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1014);
  __Pyx_GIVEREF(__pyx_tuple__1014);
  __pyx_codeobj__543 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1014, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLinkCreate, 18640, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__543)) __PYX_ERR(1, 18640, __pyx_L1_error)

  /* "cuda/cuda.pyx":18701
 *     return (CUresult(err), stateOut)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddData(state, typename not None : CUjitInputType, data, size_t size, char* name, unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[List[Any]]):
 *     """ Add an input to a pending linker invocation.
 */
  __pyx_tuple__1015 = PyTuple_Pack(22, __pyx_n_s_state, __pyx_n_s_typename, __pyx_n_s_data_2, __pyx_n_s_size_2, __pyx_n_s_name_2, __pyx_n_s_numOptions, __pyx_n_s_options, __pyx_n_s_optionValues, __pyx_n_s_cstate, __pyx_n_s_pstate, __pyx_n_s_ctypename, __pyx_n_s_cdata, __pyx_n_s_cdata_ptr, __pyx_n_s_coptions, __pyx_n_s_pylist, __pyx_n_s_voidStarHelperoptionValues, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_pyoptions, __pyx_n_s_pyoptions, __pyx_n_s_pyoptionValues); if (unlikely(!__pyx_tuple__1015)) __PYX_ERR(1, 18701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1015);
  __Pyx_GIVEREF(__pyx_tuple__1015);
  __pyx_codeobj__544 = (PyObject*)__Pyx_PyCode_New(8, 0, 0, 22, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1015, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLinkAddData, 18701, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__544)) __PYX_ERR(1, 18701, __pyx_L1_error)

  /* "cuda/cuda.pyx":18771
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddFile(state, typename not None : CUjitInputType, char* path, unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[List[Any]]):
 *     """ Add a file input to a pending linker invocation.
 */
  __pyx_tuple__1016 = PyTuple_Pack(18, __pyx_n_s_state, __pyx_n_s_typename, __pyx_n_s_path, __pyx_n_s_numOptions, __pyx_n_s_options, __pyx_n_s_optionValues, __pyx_n_s_cstate, __pyx_n_s_pstate, __pyx_n_s_ctypename, __pyx_n_s_coptions, __pyx_n_s_pylist, __pyx_n_s_voidStarHelperoptionValues, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_pyoptions, __pyx_n_s_pyoptions, __pyx_n_s_pyoptionValues); if (unlikely(!__pyx_tuple__1016)) __PYX_ERR(1, 18771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1016);
  __Pyx_GIVEREF(__pyx_tuple__1016);
  __pyx_codeobj__545 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 18, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1016, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLinkAddFile, 18771, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__545)) __PYX_ERR(1, 18771, __pyx_L1_error)

  /* "cuda/cuda.pyx":18837
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkComplete(state):
 *     """ Complete a pending linker invocation.
 */
  __pyx_tuple__1017 = PyTuple_Pack(6, __pyx_n_s_state, __pyx_n_s_cstate, __pyx_n_s_pstate, __pyx_n_s_cubinOut, __pyx_n_s_sizeOut, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1017)) __PYX_ERR(1, 18837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1017);
  __Pyx_GIVEREF(__pyx_tuple__1017);
  __pyx_codeobj__546 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1017, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLinkComplete, 18837, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__546)) __PYX_ERR(1, 18837, __pyx_L1_error)

  /* "cuda/cuda.pyx":18879
 *     return (CUresult(err), cubinOut, sizeOut)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkDestroy(state):
 *     """ Destroys state for a JIT linker invocation.
 */
  __pyx_tuple__1018 = PyTuple_Pack(4, __pyx_n_s_state, __pyx_n_s_cstate, __pyx_n_s_pstate, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1018)) __PYX_ERR(1, 18879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1018);
  __Pyx_GIVEREF(__pyx_tuple__1018);
  __pyx_codeobj__547 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1018, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLinkDestroy, 18879, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__547)) __PYX_ERR(1, 18879, __pyx_L1_error)

  /* "cuda/cuda.pyx":18909
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetTexRef(hmod, char* name):
 *     """ Returns a handle to a texture reference.
 */
  __pyx_tuple__1019 = PyTuple_Pack(6, __pyx_n_s_hmod, __pyx_n_s_name_2, __pyx_n_s_chmod, __pyx_n_s_phmod, __pyx_n_s_pTexRef, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1019)) __PYX_ERR(1, 18909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1019);
  __Pyx_GIVEREF(__pyx_tuple__1019);
  __pyx_codeobj__548 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1019, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuModuleGetTexRef, 18909, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__548)) __PYX_ERR(1, 18909, __pyx_L1_error)

  /* "cuda/cuda.pyx":18953
 *     return (CUresult(err), pTexRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetSurfRef(hmod, char* name):
 *     """ Returns a handle to a surface reference.
 */
  __pyx_tuple__1020 = PyTuple_Pack(6, __pyx_n_s_hmod, __pyx_n_s_name_2, __pyx_n_s_chmod, __pyx_n_s_phmod, __pyx_n_s_pSurfRef, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1020)) __PYX_ERR(1, 18953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1020);
  __Pyx_GIVEREF(__pyx_tuple__1020);
  __pyx_codeobj__549 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1020, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuModuleGetSurfRef, 18953, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__549)) __PYX_ERR(1, 18953, __pyx_L1_error)

  /* "cuda/cuda.pyx":18995
 *     return (CUresult(err), pSurfRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadData(code, jitOptions : Optional[List[CUjit_option]], jitOptionsValues : Optional[List[Any]], unsigned int numJitOptions, libraryOptions : Optional[List[CUlibraryOption]], libraryOptionValues : Optional[List[Any]], unsigned int numLibraryOptions):
 *     """ Load a library with specified code and options.
 */
  __pyx_tuple__1021 = PyTuple_Pack(25, __pyx_n_s_code, __pyx_n_s_jitOptions, __pyx_n_s_jitOptionsValues, __pyx_n_s_numJitOptions, __pyx_n_s_libraryOptions, __pyx_n_s_libraryOptionValues, __pyx_n_s_numLibraryOptions, __pyx_n_s_library, __pyx_n_s_ccode, __pyx_n_s_ccode_ptr, __pyx_n_s_cjitOptions, __pyx_n_s_pylist, __pyx_n_s_voidStarHelperjitOptionsValues, __pyx_n_s_clibraryOptions, __pyx_n_s_voidStarHelperlibraryOptionValue, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_pyjitOptions, __pyx_n_s_pyoptions, __pyx_n_s_pyoptionValues, __pyx_n_s_pylibraryOptions, __pyx_n_s_pyoptions, __pyx_n_s_pyoptionValues); if (unlikely(!__pyx_tuple__1021)) __PYX_ERR(1, 18995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1021);
  __Pyx_GIVEREF(__pyx_tuple__1021);
  __pyx_codeobj__550 = (PyObject*)__Pyx_PyCode_New(7, 0, 0, 25, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1021, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLibraryLoadData, 18995, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__550)) __PYX_ERR(1, 18995, __pyx_L1_error)

  /* "cuda/cuda.pyx":19080
 *     return (CUresult(err), library)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadFromFile(char* fileName, jitOptions : Optional[List[CUjit_option]], jitOptionsValues : Optional[List[Any]], unsigned int numJitOptions, libraryOptions : Optional[List[CUlibraryOption]], libraryOptionValues : Optional[List[Any]], unsigned int numLibraryOptions):
 *     """ Load a library with specified file and options.
 */
  __pyx_tuple__1022 = PyTuple_Pack(23, __pyx_n_s_fileName, __pyx_n_s_jitOptions, __pyx_n_s_jitOptionsValues, __pyx_n_s_numJitOptions, __pyx_n_s_libraryOptions, __pyx_n_s_libraryOptionValues, __pyx_n_s_numLibraryOptions, __pyx_n_s_library, __pyx_n_s_cjitOptions, __pyx_n_s_pylist, __pyx_n_s_voidStarHelperjitOptionsValues, __pyx_n_s_clibraryOptions, __pyx_n_s_voidStarHelperlibraryOptionValue, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_pyjitOptions, __pyx_n_s_pyoptions, __pyx_n_s_pyoptionValues, __pyx_n_s_pylibraryOptions, __pyx_n_s_pyoptions, __pyx_n_s_pyoptionValues); if (unlikely(!__pyx_tuple__1022)) __PYX_ERR(1, 19080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1022);
  __Pyx_GIVEREF(__pyx_tuple__1022);
  __pyx_codeobj__553 = (PyObject*)__Pyx_PyCode_New(7, 0, 0, 23, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1022, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLibraryLoadFromFile, 19080, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__553)) __PYX_ERR(1, 19080, __pyx_L1_error)

  /* "cuda/cuda.pyx":19164
 *     return (CUresult(err), library)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryUnload(library):
 *     """ Unloads a library.
 */
  __pyx_tuple__1023 = PyTuple_Pack(4, __pyx_n_s_library, __pyx_n_s_clibrary, __pyx_n_s_plibrary, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1023)) __PYX_ERR(1, 19164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1023);
  __Pyx_GIVEREF(__pyx_tuple__1023);
  __pyx_codeobj__554 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1023, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLibraryUnload, 19164, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__554)) __PYX_ERR(1, 19164, __pyx_L1_error)

  /* "cuda/cuda.pyx":19196
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetKernel(library, char* name):
 *     """ Returns a kernel handle.
 */
  __pyx_tuple__1024 = PyTuple_Pack(6, __pyx_n_s_library, __pyx_n_s_name_2, __pyx_n_s_clibrary, __pyx_n_s_plibrary, __pyx_n_s_pKernel, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1024)) __PYX_ERR(1, 19196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1024);
  __Pyx_GIVEREF(__pyx_tuple__1024);
  __pyx_codeobj__555 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1024, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLibraryGetKernel, 19196, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__555)) __PYX_ERR(1, 19196, __pyx_L1_error)

  /* "cuda/cuda.pyx":19235
 *     return (CUresult(err), pKernel)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetKernelCount(lib):
 *     """ Returns the number of kernels within a library.
 */
  __pyx_tuple__1025 = PyTuple_Pack(5, __pyx_n_s_lib, __pyx_n_s_clib, __pyx_n_s_plib, __pyx_n_s_count_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1025)) __PYX_ERR(1, 19235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1025);
  __Pyx_GIVEREF(__pyx_tuple__1025);
  __pyx_codeobj__556 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1025, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLibraryGetKernelCount, 19235, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__556)) __PYX_ERR(1, 19235, __pyx_L1_error)

  /* "cuda/cuda.pyx":19266
 *     return (CUresult(err), count)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryEnumerateKernels(unsigned int numKernels, lib):
 *     """ Retrieve the kernel handles within a library.
 */
  __pyx_tuple__1026 = PyTuple_Pack(8, __pyx_n_s_numKernels, __pyx_n_s_lib, __pyx_n_s_clib, __pyx_n_s_plib, __pyx_n_s_ckernels, __pyx_n_s_pykernels, __pyx_n_s_err, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1026)) __PYX_ERR(1, 19266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1026);
  __Pyx_GIVEREF(__pyx_tuple__1026);
  __pyx_codeobj__557 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1026, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLibraryEnumerateKernels, 19266, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__557)) __PYX_ERR(1, 19266, __pyx_L1_error)

  /* "cuda/cuda.pyx":19314
 *     return (CUresult(err), pykernels)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetModule(library):
 *     """ Returns a module handle.
 */
  __pyx_tuple__1027 = PyTuple_Pack(5, __pyx_n_s_library, __pyx_n_s_clibrary, __pyx_n_s_plibrary, __pyx_n_s_pMod, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1027)) __PYX_ERR(1, 19314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1027);
  __Pyx_GIVEREF(__pyx_tuple__1027);
  __pyx_codeobj__558 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1027, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLibraryGetModule, 19314, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__558)) __PYX_ERR(1, 19314, __pyx_L1_error)

  /* "cuda/cuda.pyx":19351
 *     return (CUresult(err), pMod)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetFunction(kernel):
 *     """ Returns a function handle.
 */
  __pyx_tuple__1028 = PyTuple_Pack(5, __pyx_n_s_kernel_2, __pyx_n_s_ckernel, __pyx_n_s_pkernel, __pyx_n_s_pFunc, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1028)) __PYX_ERR(1, 19351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1028);
  __Pyx_GIVEREF(__pyx_tuple__1028);
  __pyx_codeobj__559 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1028, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuKernelGetFunction, 19351, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__559)) __PYX_ERR(1, 19351, __pyx_L1_error)

  /* "cuda/cuda.pyx":19388
 *     return (CUresult(err), pFunc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetGlobal(library, char* name):
 *     """ Returns a global device pointer.
 */
  __pyx_tuple__1029 = PyTuple_Pack(7, __pyx_n_s_library, __pyx_n_s_name_2, __pyx_n_s_clibrary, __pyx_n_s_plibrary, __pyx_n_s_dptr_2, __pyx_n_s_numbytes, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1029)) __PYX_ERR(1, 19388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1029);
  __Pyx_GIVEREF(__pyx_tuple__1029);
  __pyx_codeobj__560 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1029, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLibraryGetGlobal, 19388, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__560)) __PYX_ERR(1, 19388, __pyx_L1_error)

  /* "cuda/cuda.pyx":19432
 *     return (CUresult(err), dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetManaged(library, char* name):
 *     """ Returns a pointer to managed memory.
 */
  __pyx_codeobj__561 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1029, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLibraryGetManaged, 19432, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__561)) __PYX_ERR(1, 19432, __pyx_L1_error)

  /* "cuda/cuda.pyx":19482
 *     return (CUresult(err), dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetUnifiedFunction(library, char* symbol):
 *     """ Returns a pointer to a unified function.
 */
  __pyx_tuple__1030 = PyTuple_Pack(6, __pyx_n_s_library, __pyx_n_s_symbol, __pyx_n_s_clibrary, __pyx_n_s_plibrary, __pyx_n_s_fptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1030)) __PYX_ERR(1, 19482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1030);
  __Pyx_GIVEREF(__pyx_tuple__1030);
  __pyx_codeobj__562 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1030, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLibraryGetUnifiedFunction, 19482, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__562)) __PYX_ERR(1, 19482, __pyx_L1_error)

  /* "cuda/cuda.pyx":19524
 *     return (CUresult(err), fptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetAttribute(attrib not None : CUfunction_attribute, kernel, dev):
 *     """ Returns information about a kernel.
 */
  __pyx_tuple__1031 = PyTuple_Pack(10, __pyx_n_s_attrib, __pyx_n_s_kernel_2, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_ckernel, __pyx_n_s_pkernel, __pyx_n_s_pi, __pyx_n_s_cattrib, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1031)) __PYX_ERR(1, 19524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1031);
  __Pyx_GIVEREF(__pyx_tuple__1031);
  __pyx_codeobj__563 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1031, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuKernelGetAttribute, 19524, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__563)) __PYX_ERR(1, 19524, __pyx_L1_error)

  /* "cuda/cuda.pyx":19655
 *     return (CUresult(err), pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelSetAttribute(attrib not None : CUfunction_attribute, int val, kernel, dev):
 *     """ Sets information about a kernel.
 */
  __pyx_tuple__1032 = PyTuple_Pack(10, __pyx_n_s_attrib, __pyx_n_s_val_2, __pyx_n_s_kernel_2, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_ckernel, __pyx_n_s_pkernel, __pyx_n_s_cattrib, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1032)) __PYX_ERR(1, 19655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1032);
  __Pyx_GIVEREF(__pyx_tuple__1032);
  __pyx_codeobj__564 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1032, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuKernelSetAttribute, 19655, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__564)) __PYX_ERR(1, 19655, __pyx_L1_error)

  /* "cuda/cuda.pyx":19764
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelSetCacheConfig(kernel, config not None : CUfunc_cache, dev):
 *     """ Sets the preferred cache configuration for a device kernel.
 */
  __pyx_tuple__1033 = PyTuple_Pack(9, __pyx_n_s_kernel_2, __pyx_n_s_config, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_ckernel, __pyx_n_s_pkernel, __pyx_n_s_cconfig, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1033)) __PYX_ERR(1, 19764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1033);
  __Pyx_GIVEREF(__pyx_tuple__1033);
  __pyx_codeobj__565 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1033, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuKernelSetCacheConfig, 19764, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__565)) __PYX_ERR(1, 19764, __pyx_L1_error)

  /* "cuda/cuda.pyx":19846
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetName(hfunc):
 *     """ Returns the function name for a :py:obj:`~.CUkernel` handle.
 */
  __pyx_tuple__1034 = PyTuple_Pack(5, __pyx_n_s_hfunc, __pyx_n_s_chfunc, __pyx_n_s_phfunc, __pyx_n_s_name_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1034)) __PYX_ERR(1, 19846, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1034);
  __Pyx_GIVEREF(__pyx_tuple__1034);
  __pyx_codeobj__566 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1034, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuKernelGetName, 19846, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__566)) __PYX_ERR(1, 19846, __pyx_L1_error)

  /* "cuda/cuda.pyx":19883
 *     return (CUresult(err), <bytes>name)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetParamInfo(kernel, size_t paramIndex):
 *     """ Returns the offset and size of a kernel parameter in the device-side parameter layout.
 */
  __pyx_tuple__1035 = PyTuple_Pack(7, __pyx_n_s_kernel_2, __pyx_n_s_paramIndex, __pyx_n_s_ckernel, __pyx_n_s_pkernel, __pyx_n_s_paramOffset, __pyx_n_s_paramSize, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1035)) __PYX_ERR(1, 19883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1035);
  __Pyx_GIVEREF(__pyx_tuple__1035);
  __pyx_codeobj__567 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1035, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuKernelGetParamInfo, 19883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__567)) __PYX_ERR(1, 19883, __pyx_L1_error)

  /* "cuda/cuda.pyx":19933
 *     return (CUresult(err), paramOffset, paramSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetInfo():
 *     """ Gets free and total memory.
 */
  __pyx_tuple__1036 = PyTuple_Pack(3, __pyx_n_s_free_2, __pyx_n_s_total, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1036)) __PYX_ERR(1, 19933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1036);
  __Pyx_GIVEREF(__pyx_tuple__1036);
  __pyx_codeobj__568 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1036, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemGetInfo, 19933, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__568)) __PYX_ERR(1, 19933, __pyx_L1_error)

  /* "cuda/cuda.pyx":19972
 *     return (CUresult(err), free, total)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAlloc(size_t bytesize):
 *     """ Allocates device memory.
 */
  __pyx_tuple__1037 = PyTuple_Pack(3, __pyx_n_s_bytesize_2, __pyx_n_s_dptr_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1037)) __PYX_ERR(1, 19972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1037);
  __Pyx_GIVEREF(__pyx_tuple__1037);
  __pyx_codeobj__569 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1037, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemAlloc, 19972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__569)) __PYX_ERR(1, 19972, __pyx_L1_error)

  /* "cuda/cuda.pyx":20002
 *     return (CUresult(err), dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocPitch(size_t WidthInBytes, size_t Height, unsigned int ElementSizeBytes):
 *     """ Allocates pitched device memory.
 */
  __pyx_tuple__1038 = PyTuple_Pack(6, __pyx_n_s_WidthInBytes_2, __pyx_n_s_Height_2, __pyx_n_s_ElementSizeBytes, __pyx_n_s_dptr_2, __pyx_n_s_pPitch_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1038)) __PYX_ERR(1, 20002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1038);
  __Pyx_GIVEREF(__pyx_tuple__1038);
  __pyx_codeobj__570 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1038, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemAllocPitch, 20002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__570)) __PYX_ERR(1, 20002, __pyx_L1_error)

  /* "cuda/cuda.pyx":20065
 *     return (CUresult(err), dptr, pPitch)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFree(dptr):
 *     """ Frees device memory.
 */
  __pyx_tuple__1039 = PyTuple_Pack(4, __pyx_n_s_dptr_2, __pyx_n_s_cdptr, __pyx_n_s_pdptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1039)) __PYX_ERR(1, 20065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1039);
  __Pyx_GIVEREF(__pyx_tuple__1039);
  __pyx_codeobj__571 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1039, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemFree, 20065, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__571)) __PYX_ERR(1, 20065, __pyx_L1_error)

  /* "cuda/cuda.pyx":20109
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAddressRange(dptr):
 *     """ Get information on memory allocations.
 */
  __pyx_tuple__1040 = PyTuple_Pack(6, __pyx_n_s_dptr_2, __pyx_n_s_cdptr, __pyx_n_s_pdptr, __pyx_n_s_pbase, __pyx_n_s_psize, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1040)) __PYX_ERR(1, 20109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1040);
  __Pyx_GIVEREF(__pyx_tuple__1040);
  __pyx_codeobj__572 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1040, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemGetAddressRange, 20109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__572)) __PYX_ERR(1, 20109, __pyx_L1_error)

  /* "cuda/cuda.pyx":20150
 *     return (CUresult(err), pbase, psize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocHost(size_t bytesize):
 *     """ Allocates page-locked host memory.
 */
  __pyx_tuple__1041 = PyTuple_Pack(3, __pyx_n_s_bytesize_2, __pyx_n_s_pp, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1041)) __PYX_ERR(1, 20150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1041);
  __Pyx_GIVEREF(__pyx_tuple__1041);
  __pyx_codeobj__573 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1041, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemAllocHost, 20150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__573)) __PYX_ERR(1, 20150, __pyx_L1_error)

  /* "cuda/cuda.pyx":20201
 *     return (CUresult(err), pp)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFreeHost(p):
 *     """ Frees page-locked host memory.
 */
  __pyx_tuple__1042 = PyTuple_Pack(4, __pyx_n_s_p, __pyx_n_s_cp, __pyx_n_s_cp_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1042)) __PYX_ERR(1, 20201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1042);
  __Pyx_GIVEREF(__pyx_tuple__1042);
  __pyx_codeobj__574 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1042, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemFreeHost, 20201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__574)) __PYX_ERR(1, 20201, __pyx_L1_error)

  /* "cuda/cuda.pyx":20227
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostAlloc(size_t bytesize, unsigned int Flags):
 *     """ Allocates page-locked host memory.
 */
  __pyx_tuple__1043 = PyTuple_Pack(4, __pyx_n_s_bytesize_2, __pyx_n_s_Flags_2, __pyx_n_s_pp, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1043)) __PYX_ERR(1, 20227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1043);
  __Pyx_GIVEREF(__pyx_tuple__1043);
  __pyx_codeobj__575 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1043, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemHostAlloc, 20227, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__575)) __PYX_ERR(1, 20227, __pyx_L1_error)

  /* "cuda/cuda.pyx":20314
 *     return (CUresult(err), pp)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostGetDevicePointer(p, unsigned int Flags):
 *     """ Passes back device pointer of mapped pinned memory.
 */
  __pyx_tuple__1044 = PyTuple_Pack(6, __pyx_n_s_p, __pyx_n_s_Flags_2, __pyx_n_s_pdptr, __pyx_n_s_cp, __pyx_n_s_cp_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1044)) __PYX_ERR(1, 20314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1044);
  __Pyx_GIVEREF(__pyx_tuple__1044);
  __pyx_codeobj__576 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1044, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemHostGetDevicePointer, 20314, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__576)) __PYX_ERR(1, 20314, __pyx_L1_error)

  /* "cuda/cuda.pyx":20371
 *     return (CUresult(err), pdptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostGetFlags(p):
 *     """ Passes back flags that were used for a pinned allocation.
 */
  __pyx_tuple__1045 = PyTuple_Pack(5, __pyx_n_s_p, __pyx_n_s_pFlags, __pyx_n_s_cp, __pyx_n_s_cp_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1045)) __PYX_ERR(1, 20371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1045);
  __Pyx_GIVEREF(__pyx_tuple__1045);
  __pyx_codeobj__577 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1045, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemHostGetFlags, 20371, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__577)) __PYX_ERR(1, 20371, __pyx_L1_error)

  /* "cuda/cuda.pyx":20404
 *     return (CUresult(err), pFlags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocManaged(size_t bytesize, unsigned int flags):
 *     """ Allocates memory that will be automatically managed by the Unified Memory system.
 */
  __pyx_tuple__1046 = PyTuple_Pack(4, __pyx_n_s_bytesize_2, __pyx_n_s_flags_2, __pyx_n_s_dptr_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1046)) __PYX_ERR(1, 20404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1046);
  __Pyx_GIVEREF(__pyx_tuple__1046);
  __pyx_codeobj__578 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1046, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemAllocManaged, 20404, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__578)) __PYX_ERR(1, 20404, __pyx_L1_error)

  /* "cuda/cuda.pyx":20535
 *     return (CUresult(err), dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceRegisterAsyncNotification(device, callbackFunc, userData):
 *     """ Registers a callback function to receive async notifications.
 */
  __pyx_tuple__1047 = PyTuple_Pack(11, __pyx_n_s_device, __pyx_n_s_callbackFunc, __pyx_n_s_userData_2, __pyx_n_s_ccallbackFunc, __pyx_n_s_pcallbackFunc, __pyx_n_s_cdevice, __pyx_n_s_pdevice, __pyx_n_s_cuserData, __pyx_n_s_cuserData_ptr, __pyx_n_s_callback, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1047)) __PYX_ERR(1, 20535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1047);
  __Pyx_GIVEREF(__pyx_tuple__1047);
  __pyx_codeobj__579 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1047, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceRegisterAsyncNotificatio, 20535, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__579)) __PYX_ERR(1, 20535, __pyx_L1_error)

  /* "cuda/cuda.pyx":20602
 *     return (CUresult(err), callback)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceUnregisterAsyncNotification(device, callback):
 *     """ Unregisters an async notification callback.
 */
  __pyx_tuple__1048 = PyTuple_Pack(7, __pyx_n_s_device, __pyx_n_s_callback, __pyx_n_s_ccallback, __pyx_n_s_pcallback, __pyx_n_s_cdevice, __pyx_n_s_pdevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1048)) __PYX_ERR(1, 20602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1048);
  __Pyx_GIVEREF(__pyx_tuple__1048);
  __pyx_codeobj__580 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1048, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceUnregisterAsyncNotificat, 20602, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__580)) __PYX_ERR(1, 20602, __pyx_L1_error)

  /* "cuda/cuda.pyx":20647
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetByPCIBusId(char* pciBusId):
 *     """ Returns a handle to a compute device.
 */
  __pyx_tuple__1049 = PyTuple_Pack(3, __pyx_n_s_pciBusId, __pyx_n_s_dev, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1049)) __PYX_ERR(1, 20647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1049);
  __Pyx_GIVEREF(__pyx_tuple__1049);
  __pyx_codeobj__581 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1049, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGetByPCIBusId, 20647, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__581)) __PYX_ERR(1, 20647, __pyx_L1_error)

  /* "cuda/cuda.pyx":20676
 *     return (CUresult(err), dev)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetPCIBusId(int length, dev):
 *     """ Returns a PCI Bus Id string for the device.
 */
  __pyx_tuple__1050 = PyTuple_Pack(7, __pyx_n_s_length, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_pypciBusId, __pyx_n_s_pciBusId, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1050)) __PYX_ERR(1, 20676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1050);
  __Pyx_GIVEREF(__pyx_tuple__1050);
  __pyx_codeobj__582 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1050, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGetPCIBusId, 20676, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__582)) __PYX_ERR(1, 20676, __pyx_L1_error)

  /* "cuda/cuda.pyx":20720
 *     return (CUresult(err), pypciBusId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcGetEventHandle(event):
 *     """ Gets an interprocess handle for a previously allocated event.
 */
  __pyx_tuple__1051 = PyTuple_Pack(5, __pyx_n_s_event_2, __pyx_n_s_cevent, __pyx_n_s_pevent, __pyx_n_s_pHandle, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1051)) __PYX_ERR(1, 20720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1051);
  __Pyx_GIVEREF(__pyx_tuple__1051);
  __pyx_codeobj__583 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1051, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuIpcGetEventHandle, 20720, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__583)) __PYX_ERR(1, 20720, __pyx_L1_error)

  /* "cuda/cuda.pyx":20775
 *     return (CUresult(err), pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcOpenEventHandle(handle not None : CUipcEventHandle):
 *     """ Opens an interprocess event handle for use in the current process.
 */
  __pyx_tuple__1052 = PyTuple_Pack(3, __pyx_n_s_handle_2, __pyx_n_s_phEvent, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1052)) __PYX_ERR(1, 20775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1052);
  __Pyx_GIVEREF(__pyx_tuple__1052);
  __pyx_codeobj__584 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1052, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuIpcOpenEventHandle, 20775, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__584)) __PYX_ERR(1, 20775, __pyx_L1_error)

  /* "cuda/cuda.pyx":20815
 *     return (CUresult(err), phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcGetMemHandle(dptr):
 *     """ Gets an interprocess memory handle for an existing device memory allocation.
 */
  __pyx_tuple__1053 = PyTuple_Pack(5, __pyx_n_s_dptr_2, __pyx_n_s_cdptr, __pyx_n_s_pdptr, __pyx_n_s_pHandle, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1053)) __PYX_ERR(1, 20815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1053);
  __Pyx_GIVEREF(__pyx_tuple__1053);
  __pyx_codeobj__585 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1053, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuIpcGetMemHandle, 20815, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__585)) __PYX_ERR(1, 20815, __pyx_L1_error)

  /* "cuda/cuda.pyx":20865
 *     return (CUresult(err), pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcOpenMemHandle(handle not None : CUipcMemHandle, unsigned int Flags):
 *     """ Opens an interprocess memory handle exported from another process and returns a device pointer usable in the local process.
 */
  __pyx_tuple__1054 = PyTuple_Pack(4, __pyx_n_s_handle_2, __pyx_n_s_Flags_2, __pyx_n_s_pdptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1054)) __PYX_ERR(1, 20865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1054);
  __Pyx_GIVEREF(__pyx_tuple__1054);
  __pyx_codeobj__586 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1054, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuIpcOpenMemHandle, 20865, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__586)) __PYX_ERR(1, 20865, __pyx_L1_error)

  /* "cuda/cuda.pyx":20927
 *     return (CUresult(err), pdptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcCloseMemHandle(dptr):
 *     """ Attempts to close memory mapped with :py:obj:`~.cuIpcOpenMemHandle`.
 */
  __pyx_codeobj__587 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1039, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuIpcCloseMemHandle, 20927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__587)) __PYX_ERR(1, 20927, __pyx_L1_error)

  /* "cuda/cuda.pyx":20972
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostRegister(p, size_t bytesize, unsigned int Flags):
 *     """ Registers an existing host memory range for use by CUDA.
 */
  __pyx_tuple__1055 = PyTuple_Pack(6, __pyx_n_s_p, __pyx_n_s_bytesize_2, __pyx_n_s_Flags_2, __pyx_n_s_cp, __pyx_n_s_cp_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1055)) __PYX_ERR(1, 20972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1055);
  __Pyx_GIVEREF(__pyx_tuple__1055);
  __pyx_codeobj__588 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1055, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemHostRegister, 20972, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__588)) __PYX_ERR(1, 20972, __pyx_L1_error)

  /* "cuda/cuda.pyx":21073
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostUnregister(p):
 *     """ Unregisters a memory range that was registered with cuMemHostRegister.
 */
  __pyx_codeobj__589 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1042, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemHostUnregister, 21073, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__589)) __PYX_ERR(1, 21073, __pyx_L1_error)

  /* "cuda/cuda.pyx":21102
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy(dst, src, size_t ByteCount):
 *     """ Copies memory.
 */
  __pyx_tuple__1056 = PyTuple_Pack(8, __pyx_n_s_dst_2, __pyx_n_s_src, __pyx_n_s_ByteCount, __pyx_n_s_csrc, __pyx_n_s_psrc, __pyx_n_s_cdst, __pyx_n_s_pdst, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1056)) __PYX_ERR(1, 21102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1056);
  __Pyx_GIVEREF(__pyx_tuple__1056);
  __pyx_codeobj__590 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1056, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpy, 21102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__590)) __PYX_ERR(1, 21102, __pyx_L1_error)

  /* "cuda/cuda.pyx":21152
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyPeer(dstDevice, dstContext, srcDevice, srcContext, size_t ByteCount):
 *     """ Copies device memory between two contexts.
 */
  __pyx_tuple__1057 = PyTuple_Pack(14, __pyx_n_s_dstDevice_2, __pyx_n_s_dstContext_2, __pyx_n_s_srcDevice_2, __pyx_n_s_srcContext_2, __pyx_n_s_ByteCount, __pyx_n_s_csrcContext, __pyx_n_s_psrcContext, __pyx_n_s_csrcDevice, __pyx_n_s_psrcDevice, __pyx_n_s_cdstContext, __pyx_n_s_pdstContext, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1057)) __PYX_ERR(1, 21152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1057);
  __Pyx_GIVEREF(__pyx_tuple__1057);
  __pyx_codeobj__591 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1057, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpyPeer, 21152, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__591)) __PYX_ERR(1, 21152, __pyx_L1_error)

  /* "cuda/cuda.pyx":21223
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoD(dstDevice, srcHost, size_t ByteCount):
 *     """ Copies memory from Host to Device.
 */
  __pyx_tuple__1058 = PyTuple_Pack(8, __pyx_n_s_dstDevice_2, __pyx_n_s_srcHost_2, __pyx_n_s_ByteCount, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_csrcHost, __pyx_n_s_csrcHost_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1058)) __PYX_ERR(1, 21223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1058);
  __Pyx_GIVEREF(__pyx_tuple__1058);
  __pyx_codeobj__592 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1058, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpyHtoD, 21223, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__592)) __PYX_ERR(1, 21223, __pyx_L1_error)

  /* "cuda/cuda.pyx":21263
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoH(dstHost, srcDevice, size_t ByteCount):
 *     """ Copies memory from Device to Host.
 */
  __pyx_tuple__1059 = PyTuple_Pack(8, __pyx_n_s_dstHost_2, __pyx_n_s_srcDevice_2, __pyx_n_s_ByteCount, __pyx_n_s_csrcDevice, __pyx_n_s_psrcDevice, __pyx_n_s_cdstHost, __pyx_n_s_cdstHost_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1059)) __PYX_ERR(1, 21263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1059);
  __Pyx_GIVEREF(__pyx_tuple__1059);
  __pyx_codeobj__593 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1059, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpyDtoH, 21263, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__593)) __PYX_ERR(1, 21263, __pyx_L1_error)

  /* "cuda/cuda.pyx":21303
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoD(dstDevice, srcDevice, size_t ByteCount):
 *     """ Copies memory from Device to Device.
 */
  __pyx_tuple__1060 = PyTuple_Pack(8, __pyx_n_s_dstDevice_2, __pyx_n_s_srcDevice_2, __pyx_n_s_ByteCount, __pyx_n_s_csrcDevice, __pyx_n_s_psrcDevice, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1060)) __PYX_ERR(1, 21303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1060);
  __Pyx_GIVEREF(__pyx_tuple__1060);
  __pyx_codeobj__594 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1060, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpyDtoD, 21303, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__594)) __PYX_ERR(1, 21303, __pyx_L1_error)

  /* "cuda/cuda.pyx":21350
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoA(dstArray, size_t dstOffset, srcDevice, size_t ByteCount):
 *     """ Copies memory from Device to Array.
 */
  __pyx_tuple__1061 = PyTuple_Pack(9, __pyx_n_s_dstArray_2, __pyx_n_s_dstOffset, __pyx_n_s_srcDevice_2, __pyx_n_s_ByteCount, __pyx_n_s_csrcDevice, __pyx_n_s_psrcDevice, __pyx_n_s_cdstArray, __pyx_n_s_pdstArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1061)) __PYX_ERR(1, 21350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1061);
  __Pyx_GIVEREF(__pyx_tuple__1061);
  __pyx_codeobj__595 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1061, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpyDtoA, 21350, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__595)) __PYX_ERR(1, 21350, __pyx_L1_error)

  /* "cuda/cuda.pyx":21400
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoD(dstDevice, srcArray, size_t srcOffset, size_t ByteCount):
 *     """ Copies memory from Array to Device.
 */
  __pyx_tuple__1062 = PyTuple_Pack(9, __pyx_n_s_dstDevice_2, __pyx_n_s_srcArray_2, __pyx_n_s_srcOffset, __pyx_n_s_ByteCount, __pyx_n_s_csrcArray, __pyx_n_s_psrcArray, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1062)) __PYX_ERR(1, 21400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1062);
  __Pyx_GIVEREF(__pyx_tuple__1062);
  __pyx_codeobj__596 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1062, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpyAtoD, 21400, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__596)) __PYX_ERR(1, 21400, __pyx_L1_error)

  /* "cuda/cuda.pyx":21452
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoA(dstArray, size_t dstOffset, srcHost, size_t ByteCount):
 *     """ Copies memory from Host to Array.
 */
  __pyx_tuple__1063 = PyTuple_Pack(9, __pyx_n_s_dstArray_2, __pyx_n_s_dstOffset, __pyx_n_s_srcHost_2, __pyx_n_s_ByteCount, __pyx_n_s_cdstArray, __pyx_n_s_pdstArray, __pyx_n_s_csrcHost, __pyx_n_s_csrcHost_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1063)) __PYX_ERR(1, 21452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1063);
  __Pyx_GIVEREF(__pyx_tuple__1063);
  __pyx_codeobj__597 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1063, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpyHtoA, 21452, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__597)) __PYX_ERR(1, 21452, __pyx_L1_error)

  /* "cuda/cuda.pyx":21495
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoH(dstHost, srcArray, size_t srcOffset, size_t ByteCount):
 *     """ Copies memory from Array to Host.
 */
  __pyx_tuple__1064 = PyTuple_Pack(9, __pyx_n_s_dstHost_2, __pyx_n_s_srcArray_2, __pyx_n_s_srcOffset, __pyx_n_s_ByteCount, __pyx_n_s_csrcArray, __pyx_n_s_psrcArray, __pyx_n_s_cdstHost, __pyx_n_s_cdstHost_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1064)) __PYX_ERR(1, 21495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1064);
  __Pyx_GIVEREF(__pyx_tuple__1064);
  __pyx_codeobj__598 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1064, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpyAtoH, 21495, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__598)) __PYX_ERR(1, 21495, __pyx_L1_error)

  /* "cuda/cuda.pyx":21538
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoA(dstArray, size_t dstOffset, srcArray, size_t srcOffset, size_t ByteCount):
 *     """ Copies memory from Array to Array.
 */
  __pyx_tuple__1065 = PyTuple_Pack(10, __pyx_n_s_dstArray_2, __pyx_n_s_dstOffset, __pyx_n_s_srcArray_2, __pyx_n_s_srcOffset, __pyx_n_s_ByteCount, __pyx_n_s_csrcArray, __pyx_n_s_psrcArray, __pyx_n_s_cdstArray, __pyx_n_s_pdstArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1065)) __PYX_ERR(1, 21538, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1065);
  __Pyx_GIVEREF(__pyx_tuple__1065);
  __pyx_codeobj__599 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1065, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpyAtoA, 21538, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__599)) __PYX_ERR(1, 21538, __pyx_L1_error)

  /* "cuda/cuda.pyx":21593
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2D(pCopy : Optional[CUDA_MEMCPY2D]):
 *     """ Copies memory for 2D arrays.
 */
  __pyx_tuple__1066 = PyTuple_Pack(3, __pyx_n_s_pCopy, __pyx_n_s_cpCopy_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1066)) __PYX_ERR(1, 21593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1066);
  __Pyx_GIVEREF(__pyx_tuple__1066);
  __pyx_codeobj__600 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1066, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpy2D, 21593, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__600)) __PYX_ERR(1, 21593, __pyx_L1_error)

  /* "cuda/cuda.pyx":21716
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2DUnaligned(pCopy : Optional[CUDA_MEMCPY2D]):
 *     """ Copies memory for 2D arrays.
 */
  __pyx_codeobj__601 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1066, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpy2DUnaligned, 21716, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__601)) __PYX_ERR(1, 21716, __pyx_L1_error)

  /* "cuda/cuda.pyx":21839
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3D(pCopy : Optional[CUDA_MEMCPY3D]):
 *     """ Copies memory for 3D arrays.
 */
  __pyx_codeobj__602 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1066, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpy3D, 21839, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__602)) __PYX_ERR(1, 21839, __pyx_L1_error)

  /* "cuda/cuda.pyx":21965
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DPeer(pCopy : Optional[CUDA_MEMCPY3D_PEER]):
 *     """ Copies memory between contexts.
 */
  __pyx_codeobj__603 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1066, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpy3DPeer, 21965, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__603)) __PYX_ERR(1, 21965, __pyx_L1_error)

  /* "cuda/cuda.pyx":21991
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAsync(dst, src, size_t ByteCount, hStream):
 *     """ Copies memory asynchronously.
 */
  __pyx_tuple__1067 = PyTuple_Pack(11, __pyx_n_s_dst_2, __pyx_n_s_src, __pyx_n_s_ByteCount, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_csrc, __pyx_n_s_psrc, __pyx_n_s_cdst, __pyx_n_s_pdst, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1067)) __PYX_ERR(1, 21991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1067);
  __Pyx_GIVEREF(__pyx_tuple__1067);
  __pyx_codeobj__604 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1067, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpyAsync, 21991, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__604)) __PYX_ERR(1, 21991, __pyx_L1_error)

  /* "cuda/cuda.pyx":22052
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyPeerAsync(dstDevice, dstContext, srcDevice, srcContext, size_t ByteCount, hStream):
 *     """ Copies device memory between two contexts asynchronously.
 */
  __pyx_tuple__1068 = PyTuple_Pack(17, __pyx_n_s_dstDevice_2, __pyx_n_s_dstContext_2, __pyx_n_s_srcDevice_2, __pyx_n_s_srcContext_2, __pyx_n_s_ByteCount, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_csrcContext, __pyx_n_s_psrcContext, __pyx_n_s_csrcDevice, __pyx_n_s_psrcDevice, __pyx_n_s_cdstContext, __pyx_n_s_pdstContext, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1068)) __PYX_ERR(1, 22052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1068);
  __Pyx_GIVEREF(__pyx_tuple__1068);
  __pyx_codeobj__605 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 17, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1068, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpyPeerAsync, 22052, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__605)) __PYX_ERR(1, 22052, __pyx_L1_error)

  /* "cuda/cuda.pyx":22134
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoDAsync(dstDevice, srcHost, size_t ByteCount, hStream):
 *     """ Copies memory from Host to Device.
 */
  __pyx_tuple__1069 = PyTuple_Pack(11, __pyx_n_s_dstDevice_2, __pyx_n_s_srcHost_2, __pyx_n_s_ByteCount, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_csrcHost, __pyx_n_s_csrcHost_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1069)) __PYX_ERR(1, 22134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1069);
  __Pyx_GIVEREF(__pyx_tuple__1069);
  __pyx_codeobj__606 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1069, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpyHtoDAsync, 22134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__606)) __PYX_ERR(1, 22134, __pyx_L1_error)

  /* "cuda/cuda.pyx":22185
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoHAsync(dstHost, srcDevice, size_t ByteCount, hStream):
 *     """ Copies memory from Device to Host.
 */
  __pyx_tuple__1070 = PyTuple_Pack(11, __pyx_n_s_dstHost_2, __pyx_n_s_srcDevice_2, __pyx_n_s_ByteCount, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_csrcDevice, __pyx_n_s_psrcDevice, __pyx_n_s_cdstHost, __pyx_n_s_cdstHost_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1070)) __PYX_ERR(1, 22185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1070);
  __Pyx_GIVEREF(__pyx_tuple__1070);
  __pyx_codeobj__607 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1070, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpyDtoHAsync, 22185, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__607)) __PYX_ERR(1, 22185, __pyx_L1_error)

  /* "cuda/cuda.pyx":22236
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoDAsync(dstDevice, srcDevice, size_t ByteCount, hStream):
 *     """ Copies memory from Device to Device.
 */
  __pyx_tuple__1071 = PyTuple_Pack(11, __pyx_n_s_dstDevice_2, __pyx_n_s_srcDevice_2, __pyx_n_s_ByteCount, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_csrcDevice, __pyx_n_s_psrcDevice, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1071)) __PYX_ERR(1, 22236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1071);
  __Pyx_GIVEREF(__pyx_tuple__1071);
  __pyx_codeobj__608 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1071, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpyDtoDAsync, 22236, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__608)) __PYX_ERR(1, 22236, __pyx_L1_error)

  /* "cuda/cuda.pyx":22294
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoAAsync(dstArray, size_t dstOffset, srcHost, size_t ByteCount, hStream):
 *     """ Copies memory from Host to Array.
 */
  __pyx_tuple__1072 = PyTuple_Pack(12, __pyx_n_s_dstArray_2, __pyx_n_s_dstOffset, __pyx_n_s_srcHost_2, __pyx_n_s_ByteCount, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cdstArray, __pyx_n_s_pdstArray, __pyx_n_s_csrcHost, __pyx_n_s_csrcHost_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1072)) __PYX_ERR(1, 22294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1072);
  __Pyx_GIVEREF(__pyx_tuple__1072);
  __pyx_codeobj__609 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1072, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpyHtoAAsync, 22294, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__609)) __PYX_ERR(1, 22294, __pyx_L1_error)

  /* "cuda/cuda.pyx":22348
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoHAsync(dstHost, srcArray, size_t srcOffset, size_t ByteCount, hStream):
 *     """ Copies memory from Array to Host.
 */
  __pyx_tuple__1073 = PyTuple_Pack(12, __pyx_n_s_dstHost_2, __pyx_n_s_srcArray_2, __pyx_n_s_srcOffset, __pyx_n_s_ByteCount, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_csrcArray, __pyx_n_s_psrcArray, __pyx_n_s_cdstHost, __pyx_n_s_cdstHost_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1073)) __PYX_ERR(1, 22348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1073);
  __Pyx_GIVEREF(__pyx_tuple__1073);
  __pyx_codeobj__610 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1073, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpyAtoHAsync, 22348, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__610)) __PYX_ERR(1, 22348, __pyx_L1_error)

  /* "cuda/cuda.pyx":22402
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2DAsync(pCopy : Optional[CUDA_MEMCPY2D], hStream):
 *     """ Copies memory for 2D arrays.
 */
  __pyx_tuple__1074 = PyTuple_Pack(6, __pyx_n_s_pCopy, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cpCopy_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1074)) __PYX_ERR(1, 22402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1074);
  __Pyx_GIVEREF(__pyx_tuple__1074);
  __pyx_codeobj__611 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1074, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpy2DAsync, 22402, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__611)) __PYX_ERR(1, 22402, __pyx_L1_error)

  /* "cuda/cuda.pyx":22543
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DAsync(pCopy : Optional[CUDA_MEMCPY3D], hStream):
 *     """ Copies memory for 3D arrays.
 */
  __pyx_codeobj__612 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1074, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpy3DAsync, 22543, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__612)) __PYX_ERR(1, 22543, __pyx_L1_error)

  /* "cuda/cuda.pyx":22680
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DPeerAsync(pCopy : Optional[CUDA_MEMCPY3D_PEER], hStream):
 *     """ Copies memory between contexts asynchronously.
 */
  __pyx_codeobj__613 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1074, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemcpy3DPeerAsync, 22680, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__613)) __PYX_ERR(1, 22680, __pyx_L1_error)

  /* "cuda/cuda.pyx":22717
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD8(dstDevice, unsigned char uc, size_t N):
 *     """ Initializes device memory.
 */
  __pyx_tuple__1075 = PyTuple_Pack(6, __pyx_n_s_dstDevice_2, __pyx_n_s_uc, __pyx_n_s_N, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1075)) __PYX_ERR(1, 22717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1075);
  __Pyx_GIVEREF(__pyx_tuple__1075);
  __pyx_codeobj__614 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1075, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemsetD8, 22717, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__614)) __PYX_ERR(1, 22717, __pyx_L1_error)

  /* "cuda/cuda.pyx":22753
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD16(dstDevice, unsigned short us, size_t N):
 *     """ Initializes device memory.
 */
  __pyx_tuple__1076 = PyTuple_Pack(6, __pyx_n_s_dstDevice_2, __pyx_n_s_us, __pyx_n_s_N, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1076)) __PYX_ERR(1, 22753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1076);
  __Pyx_GIVEREF(__pyx_tuple__1076);
  __pyx_codeobj__615 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1076, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemsetD16, 22753, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__615)) __PYX_ERR(1, 22753, __pyx_L1_error)

  /* "cuda/cuda.pyx":22790
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD32(dstDevice, unsigned int ui, size_t N):
 *     """ Initializes device memory.
 */
  __pyx_tuple__1077 = PyTuple_Pack(6, __pyx_n_s_dstDevice_2, __pyx_n_s_ui, __pyx_n_s_N, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1077)) __PYX_ERR(1, 22790, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1077);
  __Pyx_GIVEREF(__pyx_tuple__1077);
  __pyx_codeobj__616 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1077, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemsetD32, 22790, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__616)) __PYX_ERR(1, 22790, __pyx_L1_error)

  /* "cuda/cuda.pyx":22827
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D8(dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height):
 *     """ Initializes device memory.
 */
  __pyx_tuple__1078 = PyTuple_Pack(8, __pyx_n_s_dstDevice_2, __pyx_n_s_dstPitch_2, __pyx_n_s_uc, __pyx_n_s_Width_2, __pyx_n_s_Height_2, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1078)) __PYX_ERR(1, 22827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1078);
  __Pyx_GIVEREF(__pyx_tuple__1078);
  __pyx_codeobj__617 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1078, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemsetD2D8, 22827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__617)) __PYX_ERR(1, 22827, __pyx_L1_error)

  /* "cuda/cuda.pyx":22871
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D16(dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height):
 *     """ Initializes device memory.
 */
  __pyx_tuple__1079 = PyTuple_Pack(8, __pyx_n_s_dstDevice_2, __pyx_n_s_dstPitch_2, __pyx_n_s_us, __pyx_n_s_Width_2, __pyx_n_s_Height_2, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1079)) __PYX_ERR(1, 22871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1079);
  __Pyx_GIVEREF(__pyx_tuple__1079);
  __pyx_codeobj__618 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1079, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemsetD2D16, 22871, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__618)) __PYX_ERR(1, 22871, __pyx_L1_error)

  /* "cuda/cuda.pyx":22916
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D32(dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height):
 *     """ Initializes device memory.
 */
  __pyx_tuple__1080 = PyTuple_Pack(8, __pyx_n_s_dstDevice_2, __pyx_n_s_dstPitch_2, __pyx_n_s_ui, __pyx_n_s_Width_2, __pyx_n_s_Height_2, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1080)) __PYX_ERR(1, 22916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1080);
  __Pyx_GIVEREF(__pyx_tuple__1080);
  __pyx_codeobj__619 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1080, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemsetD2D32, 22916, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__619)) __PYX_ERR(1, 22916, __pyx_L1_error)

  /* "cuda/cuda.pyx":22961
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD8Async(dstDevice, unsigned char uc, size_t N, hStream):
 *     """ Sets device memory.
 */
  __pyx_tuple__1081 = PyTuple_Pack(9, __pyx_n_s_dstDevice_2, __pyx_n_s_uc, __pyx_n_s_N, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1081)) __PYX_ERR(1, 22961, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1081);
  __Pyx_GIVEREF(__pyx_tuple__1081);
  __pyx_codeobj__620 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1081, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemsetD8Async, 22961, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__620)) __PYX_ERR(1, 22961, __pyx_L1_error)

  /* "cuda/cuda.pyx":23008
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD16Async(dstDevice, unsigned short us, size_t N, hStream):
 *     """ Sets device memory.
 */
  __pyx_tuple__1082 = PyTuple_Pack(9, __pyx_n_s_dstDevice_2, __pyx_n_s_us, __pyx_n_s_N, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1082)) __PYX_ERR(1, 23008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1082);
  __Pyx_GIVEREF(__pyx_tuple__1082);
  __pyx_codeobj__621 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1082, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemsetD16Async, 23008, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__621)) __PYX_ERR(1, 23008, __pyx_L1_error)

  /* "cuda/cuda.pyx":23056
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD32Async(dstDevice, unsigned int ui, size_t N, hStream):
 *     """ Sets device memory.
 */
  __pyx_tuple__1083 = PyTuple_Pack(9, __pyx_n_s_dstDevice_2, __pyx_n_s_ui, __pyx_n_s_N, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1083)) __PYX_ERR(1, 23056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1083);
  __Pyx_GIVEREF(__pyx_tuple__1083);
  __pyx_codeobj__622 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1083, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemsetD32Async, 23056, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__622)) __PYX_ERR(1, 23056, __pyx_L1_error)

  /* "cuda/cuda.pyx":23104
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D8Async(dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height, hStream):
 *     """ Sets device memory.
 */
  __pyx_tuple__1084 = PyTuple_Pack(11, __pyx_n_s_dstDevice_2, __pyx_n_s_dstPitch_2, __pyx_n_s_uc, __pyx_n_s_Width_2, __pyx_n_s_Height_2, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1084)) __PYX_ERR(1, 23104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1084);
  __Pyx_GIVEREF(__pyx_tuple__1084);
  __pyx_codeobj__623 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1084, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemsetD2D8Async, 23104, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__623)) __PYX_ERR(1, 23104, __pyx_L1_error)

  /* "cuda/cuda.pyx":23159
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D16Async(dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height, hStream):
 *     """ Sets device memory.
 */
  __pyx_tuple__1085 = PyTuple_Pack(11, __pyx_n_s_dstDevice_2, __pyx_n_s_dstPitch_2, __pyx_n_s_us, __pyx_n_s_Width_2, __pyx_n_s_Height_2, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1085)) __PYX_ERR(1, 23159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1085);
  __Pyx_GIVEREF(__pyx_tuple__1085);
  __pyx_codeobj__624 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1085, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemsetD2D16Async, 23159, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__624)) __PYX_ERR(1, 23159, __pyx_L1_error)

  /* "cuda/cuda.pyx":23215
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D32Async(dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height, hStream):
 *     """ Sets device memory.
 */
  __pyx_tuple__1086 = PyTuple_Pack(11, __pyx_n_s_dstDevice_2, __pyx_n_s_dstPitch_2, __pyx_n_s_ui, __pyx_n_s_Width_2, __pyx_n_s_Height_2, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1086)) __PYX_ERR(1, 23215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1086);
  __Pyx_GIVEREF(__pyx_tuple__1086);
  __pyx_codeobj__625 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1086, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemsetD2D32Async, 23215, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__625)) __PYX_ERR(1, 23215, __pyx_L1_error)

  /* "cuda/cuda.pyx":23271
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayCreate(pAllocateArray : Optional[CUDA_ARRAY_DESCRIPTOR]):
 *     """ Creates a 1D or 2D CUDA array.
 */
  __pyx_tuple__1087 = PyTuple_Pack(4, __pyx_n_s_pAllocateArray, __pyx_n_s_pHandle, __pyx_n_s_cpAllocateArray_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1087)) __PYX_ERR(1, 23271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1087);
  __Pyx_GIVEREF(__pyx_tuple__1087);
  __pyx_codeobj__626 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1087, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuArrayCreate, 23271, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__626)) __PYX_ERR(1, 23271, __pyx_L1_error)

  /* "cuda/cuda.pyx":23336
 *     return (CUresult(err), pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetDescriptor(hArray):
 *     """ Get a 1D or 2D CUDA array descriptor.
 */
  __pyx_tuple__1088 = PyTuple_Pack(5, __pyx_n_s_hArray_2, __pyx_n_s_chArray, __pyx_n_s_phArray, __pyx_n_s_pArrayDescriptor, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1088)) __PYX_ERR(1, 23336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1088);
  __Pyx_GIVEREF(__pyx_tuple__1088);
  __pyx_codeobj__627 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1088, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuArrayGetDescriptor, 23336, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__627)) __PYX_ERR(1, 23336, __pyx_L1_error)

  /* "cuda/cuda.pyx":23374
 *     return (CUresult(err), pArrayDescriptor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetSparseProperties(array):
 *     """ Returns the layout properties of a sparse CUDA array.
 */
  __pyx_tuple__1089 = PyTuple_Pack(5, __pyx_n_s_array_2, __pyx_n_s_carray, __pyx_n_s_parray, __pyx_n_s_sparseProperties, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1089)) __PYX_ERR(1, 23374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1089);
  __Pyx_GIVEREF(__pyx_tuple__1089);
  __pyx_codeobj__628 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1089, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuArrayGetSparseProperties, 23374, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__628)) __PYX_ERR(1, 23374, __pyx_L1_error)

  /* "cuda/cuda.pyx":23425
 *     return (CUresult(err), sparseProperties)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayGetSparseProperties(mipmap):
 *     """ Returns the layout properties of a sparse CUDA mipmapped array.
 */
  __pyx_tuple__1090 = PyTuple_Pack(5, __pyx_n_s_mipmap_2, __pyx_n_s_cmipmap, __pyx_n_s_pmipmap, __pyx_n_s_sparseProperties, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1090)) __PYX_ERR(1, 23425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1090);
  __Pyx_GIVEREF(__pyx_tuple__1090);
  __pyx_codeobj__629 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1090, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMipmappedArrayGetSparsePropert, 23425, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__629)) __PYX_ERR(1, 23425, __pyx_L1_error)

  /* "cuda/cuda.pyx":23478
 *     return (CUresult(err), sparseProperties)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetMemoryRequirements(array, device):
 *     """ Returns the memory requirements of a CUDA array.
 */
  __pyx_tuple__1091 = PyTuple_Pack(8, __pyx_n_s_array_2, __pyx_n_s_device, __pyx_n_s_cdevice, __pyx_n_s_pdevice, __pyx_n_s_carray, __pyx_n_s_parray, __pyx_n_s_memoryRequirements, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1091)) __PYX_ERR(1, 23478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1091);
  __Pyx_GIVEREF(__pyx_tuple__1091);
  __pyx_codeobj__630 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1091, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuArrayGetMemoryRequirements, 23478, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__630)) __PYX_ERR(1, 23478, __pyx_L1_error)

  /* "cuda/cuda.pyx":23532
 *     return (CUresult(err), memoryRequirements)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayGetMemoryRequirements(mipmap, device):
 *     """ Returns the memory requirements of a CUDA mipmapped array.
 */
  __pyx_tuple__1092 = PyTuple_Pack(8, __pyx_n_s_mipmap_2, __pyx_n_s_device, __pyx_n_s_cdevice, __pyx_n_s_pdevice, __pyx_n_s_cmipmap, __pyx_n_s_pmipmap, __pyx_n_s_memoryRequirements, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1092)) __PYX_ERR(1, 23532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1092);
  __Pyx_GIVEREF(__pyx_tuple__1092);
  __pyx_codeobj__631 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1092, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMipmappedArrayGetMemoryRequire, 23532, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__631)) __PYX_ERR(1, 23532, __pyx_L1_error)

  /* "cuda/cuda.pyx":23587
 *     return (CUresult(err), memoryRequirements)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetPlane(hArray, unsigned int planeIdx):
 *     """ Gets a CUDA array plane from a CUDA array.
 */
  __pyx_tuple__1093 = PyTuple_Pack(6, __pyx_n_s_hArray_2, __pyx_n_s_planeIdx, __pyx_n_s_chArray, __pyx_n_s_phArray, __pyx_n_s_pPlaneArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1093)) __PYX_ERR(1, 23587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1093);
  __Pyx_GIVEREF(__pyx_tuple__1093);
  __pyx_codeobj__632 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1093, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuArrayGetPlane, 23587, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__632)) __PYX_ERR(1, 23587, __pyx_L1_error)

  /* "cuda/cuda.pyx":23638
 *     return (CUresult(err), pPlaneArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayDestroy(hArray):
 *     """ Destroys a CUDA array.
 */
  __pyx_tuple__1094 = PyTuple_Pack(4, __pyx_n_s_hArray_2, __pyx_n_s_chArray, __pyx_n_s_phArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1094)) __PYX_ERR(1, 23638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1094);
  __Pyx_GIVEREF(__pyx_tuple__1094);
  __pyx_codeobj__633 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1094, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuArrayDestroy, 23638, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__633)) __PYX_ERR(1, 23638, __pyx_L1_error)

  /* "cuda/cuda.pyx":23670
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArray3DCreate(pAllocateArray : Optional[CUDA_ARRAY3D_DESCRIPTOR]):
 *     """ Creates a 3D CUDA array.
 */
  __pyx_codeobj__634 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1087, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuArray3DCreate, 23670, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__634)) __PYX_ERR(1, 23670, __pyx_L1_error)

  /* "cuda/cuda.pyx":23799
 *     return (CUresult(err), pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArray3DGetDescriptor(hArray):
 *     """ Get a 3D CUDA array descriptor.
 */
  __pyx_codeobj__635 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1088, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuArray3DGetDescriptor, 23799, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__635)) __PYX_ERR(1, 23799, __pyx_L1_error)

  /* "cuda/cuda.pyx":23841
 *     return (CUresult(err), pArrayDescriptor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayCreate(pMipmappedArrayDesc : Optional[CUDA_ARRAY3D_DESCRIPTOR], unsigned int numMipmapLevels):
 *     """ Creates a CUDA mipmapped array.
 */
  __pyx_tuple__1095 = PyTuple_Pack(5, __pyx_n_s_pMipmappedArrayDesc, __pyx_n_s_numMipmapLevels, __pyx_n_s_pHandle, __pyx_n_s_cpMipmappedArrayDesc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1095)) __PYX_ERR(1, 23841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1095);
  __Pyx_GIVEREF(__pyx_tuple__1095);
  __pyx_codeobj__636 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1095, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMipmappedArrayCreate, 23841, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__636)) __PYX_ERR(1, 23841, __pyx_L1_error)

  /* "cuda/cuda.pyx":23958
 *     return (CUresult(err), pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayGetLevel(hMipmappedArray, unsigned int level):
 *     """ Gets a mipmap level of a CUDA mipmapped array.
 */
  __pyx_tuple__1096 = PyTuple_Pack(6, __pyx_n_s_hMipmappedArray_2, __pyx_n_s_level_2, __pyx_n_s_chMipmappedArray, __pyx_n_s_phMipmappedArray, __pyx_n_s_pLevelArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1096)) __PYX_ERR(1, 23958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1096);
  __Pyx_GIVEREF(__pyx_tuple__1096);
  __pyx_codeobj__637 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1096, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMipmappedArrayGetLevel, 23958, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__637)) __PYX_ERR(1, 23958, __pyx_L1_error)

  /* "cuda/cuda.pyx":23999
 *     return (CUresult(err), pLevelArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayDestroy(hMipmappedArray):
 *     """ Destroys a CUDA mipmapped array.
 */
  __pyx_tuple__1097 = PyTuple_Pack(4, __pyx_n_s_hMipmappedArray_2, __pyx_n_s_chMipmappedArray, __pyx_n_s_phMipmappedArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1097)) __PYX_ERR(1, 23999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1097);
  __Pyx_GIVEREF(__pyx_tuple__1097);
  __pyx_codeobj__638 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1097, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMipmappedArrayDestroy, 23999, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__638)) __PYX_ERR(1, 23999, __pyx_L1_error)

  /* "cuda/cuda.pyx":24031
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetHandleForAddressRange(dptr, size_t size, handleType not None : CUmemRangeHandleType, unsigned long long flags):
 *     """ Retrieve handle for an address range.
 */
  __pyx_tuple__1098 = PyTuple_Pack(10, __pyx_n_s_dptr_2, __pyx_n_s_size_2, __pyx_n_s_handleType, __pyx_n_s_flags_2, __pyx_n_s_cdptr, __pyx_n_s_pdptr, __pyx_n_s_handle_2, __pyx_n_s_chandle_ptr, __pyx_n_s_chandleType, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1098)) __PYX_ERR(1, 24031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1098);
  __Pyx_GIVEREF(__pyx_tuple__1098);
  __pyx_codeobj__639 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1098, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemGetHandleForAddressRange, 24031, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__639)) __PYX_ERR(1, 24031, __pyx_L1_error)

  /* "cuda/cuda.pyx":24095
 *     return (CUresult(err), handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAddressReserve(size_t size, size_t alignment, addr, unsigned long long flags):
 *     """ Allocate an address range reservation.
 */
  __pyx_tuple__1099 = PyTuple_Pack(8, __pyx_n_s_size_2, __pyx_n_s_alignment_2, __pyx_n_s_addr, __pyx_n_s_flags_2, __pyx_n_s_caddr, __pyx_n_s_paddr, __pyx_n_s_ptr_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1099)) __PYX_ERR(1, 24095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1099);
  __Pyx_GIVEREF(__pyx_tuple__1099);
  __pyx_codeobj__640 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1099, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemAddressReserve, 24095, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__640)) __PYX_ERR(1, 24095, __pyx_L1_error)

  /* "cuda/cuda.pyx":24140
 *     return (CUresult(err), ptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAddressFree(ptr, size_t size):
 *     """ Free an address range reservation.
 */
  __pyx_tuple__1100 = PyTuple_Pack(5, __pyx_n_s_ptr_2, __pyx_n_s_size_2, __pyx_n_s_cptr, __pyx_n_s_pptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1100)) __PYX_ERR(1, 24140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1100);
  __Pyx_GIVEREF(__pyx_tuple__1100);
  __pyx_codeobj__641 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemAddressFree, 24140, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__641)) __PYX_ERR(1, 24140, __pyx_L1_error)

  /* "cuda/cuda.pyx":24176
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemCreate(size_t size, prop : Optional[CUmemAllocationProp], unsigned long long flags):
 *     """ Create a CUDA memory handle representing a memory allocation of a given size described by the given properties.
 */
  __pyx_tuple__1101 = PyTuple_Pack(6, __pyx_n_s_size_2, __pyx_n_s_prop, __pyx_n_s_flags_2, __pyx_n_s_handle_2, __pyx_n_s_cprop_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1101)) __PYX_ERR(1, 24176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1101);
  __Pyx_GIVEREF(__pyx_tuple__1101);
  __pyx_codeobj__642 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemCreate, 24176, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__642)) __PYX_ERR(1, 24176, __pyx_L1_error)

  /* "cuda/cuda.pyx":24231
 *     return (CUresult(err), handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRelease(handle):
 *     """ Release a memory handle representing a memory allocation which was previously allocated through cuMemCreate.
 */
  __pyx_tuple__1102 = PyTuple_Pack(4, __pyx_n_s_handle_2, __pyx_n_s_chandle, __pyx_n_s_phandle, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1102)) __PYX_ERR(1, 24231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1102);
  __Pyx_GIVEREF(__pyx_tuple__1102);
  __pyx_codeobj__643 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemRelease, 24231, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__643)) __PYX_ERR(1, 24231, __pyx_L1_error)

  /* "cuda/cuda.pyx":24272
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemMap(ptr, size_t size, size_t offset, handle, unsigned long long flags):
 *     """ Maps an allocation handle to a reserved virtual address range.
 */
  __pyx_tuple__1103 = PyTuple_Pack(10, __pyx_n_s_ptr_2, __pyx_n_s_size_2, __pyx_n_s_offset_2, __pyx_n_s_handle_2, __pyx_n_s_flags_2, __pyx_n_s_chandle, __pyx_n_s_phandle, __pyx_n_s_cptr, __pyx_n_s_pptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1103)) __PYX_ERR(1, 24272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1103);
  __Pyx_GIVEREF(__pyx_tuple__1103);
  __pyx_codeobj__644 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemMap, 24272, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__644)) __PYX_ERR(1, 24272, __pyx_L1_error)

  /* "cuda/cuda.pyx":24347
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemMapArrayAsync(mapInfoList : Optional[List[CUarrayMapInfo]], unsigned int count, hStream):
 *     """ Maps or unmaps subregions of sparse CUDA arrays and sparse CUDA mipmapped arrays.
 */
  __pyx_tuple__1104 = PyTuple_Pack(10, __pyx_n_s_mapInfoList, __pyx_n_s_count_2, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cmapInfoList, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1104)) __PYX_ERR(1, 24347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1104);
  __Pyx_GIVEREF(__pyx_tuple__1104);
  __pyx_codeobj__645 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemMapArrayAsync, 24347, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__645)) __PYX_ERR(1, 24347, __pyx_L1_error)

  /* "cuda/cuda.pyx":24516
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemUnmap(ptr, size_t size):
 *     """ Unmap the backing memory of a given address range.
 */
  __pyx_codeobj__647 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemUnmap, 24516, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__647)) __PYX_ERR(1, 24516, __pyx_L1_error)

  /* "cuda/cuda.pyx":24561
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemSetAccess(ptr, size_t size, desc : Optional[List[CUmemAccessDesc]], size_t count):
 *     """ Set the access flags for each location specified in `desc` for the given virtual address range.
 */
  __pyx_tuple__1105 = PyTuple_Pack(11, __pyx_n_s_ptr_2, __pyx_n_s_size_2, __pyx_n_s_desc, __pyx_n_s_count_2, __pyx_n_s_cptr, __pyx_n_s_pptr, __pyx_n_s_cdesc, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1105)) __PYX_ERR(1, 24561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1105);
  __Pyx_GIVEREF(__pyx_tuple__1105);
  __pyx_codeobj__648 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemSetAccess, 24561, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__648)) __PYX_ERR(1, 24561, __pyx_L1_error)

  /* "cuda/cuda.pyx":24629
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAccess(location : Optional[CUmemLocation], ptr):
 *     """ Get the access `flags` set for the given `location` and `ptr`.
 */
  __pyx_tuple__1106 = PyTuple_Pack(7, __pyx_n_s_location_2, __pyx_n_s_ptr_2, __pyx_n_s_cptr, __pyx_n_s_pptr, __pyx_n_s_flags_2, __pyx_n_s_clocation_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1106)) __PYX_ERR(1, 24629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1106);
  __Pyx_GIVEREF(__pyx_tuple__1106);
  __pyx_codeobj__650 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemGetAccess, 24629, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__650)) __PYX_ERR(1, 24629, __pyx_L1_error)

  /* "cuda/cuda.pyx":24665
 *     return (CUresult(err), flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemExportToShareableHandle(handle, handleType not None : CUmemAllocationHandleType, unsigned long long flags):
 *     """ Exports an allocation to a requested shareable handle type.
 */
  __pyx_tuple__1107 = PyTuple_Pack(9, __pyx_n_s_handle_2, __pyx_n_s_handleType, __pyx_n_s_flags_2, __pyx_n_s_chandle, __pyx_n_s_phandle, __pyx_n_s_cshareableHandle, __pyx_n_s_cshareableHandle_ptr, __pyx_n_s_chandleType, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1107)) __PYX_ERR(1, 24665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1107);
  __Pyx_GIVEREF(__pyx_tuple__1107);
  __pyx_codeobj__651 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemExportToShareableHandle, 24665, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__651)) __PYX_ERR(1, 24665, __pyx_L1_error)

  /* "cuda/cuda.pyx":24720
 *     return (CUresult(err), cshareableHandle.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemImportFromShareableHandle(osHandle, shHandleType not None : CUmemAllocationHandleType):
 *     """ Imports an allocation from a requested shareable handle type.
 */
  __pyx_tuple__1108 = PyTuple_Pack(7, __pyx_n_s_osHandle, __pyx_n_s_shHandleType, __pyx_n_s_handle_2, __pyx_n_s_cosHandle, __pyx_n_s_cosHandle_ptr, __pyx_n_s_cshHandleType, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1108)) __PYX_ERR(1, 24720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1108);
  __Pyx_GIVEREF(__pyx_tuple__1108);
  __pyx_codeobj__652 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemImportFromShareableHandle, 24720, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__652)) __PYX_ERR(1, 24720, __pyx_L1_error)

  /* "cuda/cuda.pyx":24758
 *     return (CUresult(err), handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAllocationGranularity(prop : Optional[CUmemAllocationProp], option not None : CUmemAllocationGranularity_flags):
 *     """ Calculates either the minimal or recommended granularity.
 */
  __pyx_tuple__1109 = PyTuple_Pack(6, __pyx_n_s_prop, __pyx_n_s_option, __pyx_n_s_granularity, __pyx_n_s_cprop_ptr, __pyx_n_s_coption, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1109)) __PYX_ERR(1, 24758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1109);
  __Pyx_GIVEREF(__pyx_tuple__1109);
  __pyx_codeobj__653 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemGetAllocationGranularity, 24758, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__653)) __PYX_ERR(1, 24758, __pyx_L1_error)

  /* "cuda/cuda.pyx":24791
 *     return (CUresult(err), granularity)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAllocationPropertiesFromHandle(handle):
 *     """ Retrieve the contents of the property structure defining properties for this handle.
 */
  __pyx_tuple__1110 = PyTuple_Pack(5, __pyx_n_s_handle_2, __pyx_n_s_chandle, __pyx_n_s_phandle, __pyx_n_s_prop, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1110)) __PYX_ERR(1, 24791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1110);
  __Pyx_GIVEREF(__pyx_tuple__1110);
  __pyx_codeobj__654 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemGetAllocationPropertiesFrom, 24791, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__654)) __PYX_ERR(1, 24791, __pyx_L1_error)

  /* "cuda/cuda.pyx":24825
 *     return (CUresult(err), prop)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRetainAllocationHandle(addr):
 *     """ Given an address `addr`, returns the allocation handle of the backing memory allocation.
 */
  __pyx_tuple__1111 = PyTuple_Pack(5, __pyx_n_s_addr, __pyx_n_s_handle_2, __pyx_n_s_caddr, __pyx_n_s_caddr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1111)) __PYX_ERR(1, 24825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1111);
  __Pyx_GIVEREF(__pyx_tuple__1111);
  __pyx_codeobj__655 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemRetainAllocationHandle, 24825, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__655)) __PYX_ERR(1, 24825, __pyx_L1_error)

  /* "cuda/cuda.pyx":24860
 *     return (CUresult(err), handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFreeAsync(dptr, hStream):
 *     """ Frees memory with stream ordered semantics.
 */
  __pyx_tuple__1112 = PyTuple_Pack(7, __pyx_n_s_dptr_2, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cdptr, __pyx_n_s_pdptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1112)) __PYX_ERR(1, 24860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1112);
  __Pyx_GIVEREF(__pyx_tuple__1112);
  __pyx_codeobj__656 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemFreeAsync, 24860, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__656)) __PYX_ERR(1, 24860, __pyx_L1_error)

  /* "cuda/cuda.pyx":24906
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocAsync(size_t bytesize, hStream):
 *     """ Allocates memory with stream ordered semantics.
 */
  __pyx_tuple__1113 = PyTuple_Pack(6, __pyx_n_s_bytesize_2, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_dptr_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1113)) __PYX_ERR(1, 24906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1113);
  __Pyx_GIVEREF(__pyx_tuple__1113);
  __pyx_codeobj__657 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemAllocAsync, 24906, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__657)) __PYX_ERR(1, 24906, __pyx_L1_error)

  /* "cuda/cuda.pyx":24955
 *     return (CUresult(err), dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolTrimTo(pool, size_t minBytesToKeep):
 *     """ Tries to release memory back to the OS.
 */
  __pyx_tuple__1114 = PyTuple_Pack(5, __pyx_n_s_pool, __pyx_n_s_minBytesToKeep, __pyx_n_s_cpool, __pyx_n_s_ppool, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1114)) __PYX_ERR(1, 24955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1114);
  __Pyx_GIVEREF(__pyx_tuple__1114);
  __pyx_codeobj__658 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemPoolTrimTo, 24955, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__658)) __PYX_ERR(1, 24955, __pyx_L1_error)

  /* "cuda/cuda.pyx":25002
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolSetAttribute(pool, attr not None : CUmemPool_attribute, value):
 *     """ Sets attributes of a memory pool.
 */
  __pyx_tuple__1115 = PyTuple_Pack(9, __pyx_n_s_pool, __pyx_n_s_attr, __pyx_n_s_value_2, __pyx_n_s_cpool, __pyx_n_s_ppool, __pyx_n_s_cattr, __pyx_n_s_cvalue, __pyx_n_s_cvalue_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1115)) __PYX_ERR(1, 25002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1115);
  __Pyx_GIVEREF(__pyx_tuple__1115);
  __pyx_codeobj__659 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemPoolSetAttribute, 25002, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__659)) __PYX_ERR(1, 25002, __pyx_L1_error)

  /* "cuda/cuda.pyx":25074
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolGetAttribute(pool, attr not None : CUmemPool_attribute):
 *     """ Gets attributes of a memory pool.
 */
  __pyx_tuple__1116 = PyTuple_Pack(8, __pyx_n_s_pool, __pyx_n_s_attr, __pyx_n_s_cpool, __pyx_n_s_ppool, __pyx_n_s_cattr, __pyx_n_s_cvalue, __pyx_n_s_cvalue_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1116)) __PYX_ERR(1, 25074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1116);
  __Pyx_GIVEREF(__pyx_tuple__1116);
  __pyx_codeobj__660 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemPoolGetAttribute, 25074, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__660)) __PYX_ERR(1, 25074, __pyx_L1_error)

  /* "cuda/cuda.pyx":25153
 *     return (CUresult(err), cvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolSetAccess(pool, map : Optional[List[CUmemAccessDesc]], size_t count):
 *     """ Controls visibility of pools between devices.
 */
  __pyx_tuple__1117 = PyTuple_Pack(10, __pyx_n_s_pool, __pyx_n_s_map, __pyx_n_s_count_2, __pyx_n_s_cpool, __pyx_n_s_ppool, __pyx_n_s_cmap, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1117)) __PYX_ERR(1, 25153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1117);
  __Pyx_GIVEREF(__pyx_tuple__1117);
  __pyx_codeobj__661 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemPoolSetAccess, 25153, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__661)) __PYX_ERR(1, 25153, __pyx_L1_error)

  /* "cuda/cuda.pyx":25201
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolGetAccess(memPool, location : Optional[CUmemLocation]):
 *     """ Returns the accessibility of a pool from a device.
 */
  __pyx_tuple__1118 = PyTuple_Pack(7, __pyx_n_s_memPool, __pyx_n_s_location_2, __pyx_n_s_cmemPool, __pyx_n_s_pmemPool, __pyx_n_s_flags_2, __pyx_n_s_clocation_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1118)) __PYX_ERR(1, 25201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1118);
  __Pyx_GIVEREF(__pyx_tuple__1118);
  __pyx_codeobj__663 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemPoolGetAccess, 25201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__663)) __PYX_ERR(1, 25201, __pyx_L1_error)

  /* "cuda/cuda.pyx":25240
 *     return (CUresult(err), CUmemAccess_flags(flags))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolCreate(poolProps : Optional[CUmemPoolProps]):
 *     """ Creates a memory pool.
 */
  __pyx_tuple__1119 = PyTuple_Pack(4, __pyx_n_s_poolProps_2, __pyx_n_s_pool, __pyx_n_s_cpoolProps_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1119)) __PYX_ERR(1, 25240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1119);
  __Pyx_GIVEREF(__pyx_tuple__1119);
  __pyx_codeobj__664 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemPoolCreate, 25240, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__664)) __PYX_ERR(1, 25240, __pyx_L1_error)

  /* "cuda/cuda.pyx":25285
 *     return (CUresult(err), pool)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolDestroy(pool):
 *     """ Destroys the specified memory pool.
 */
  __pyx_tuple__1120 = PyTuple_Pack(4, __pyx_n_s_pool, __pyx_n_s_cpool, __pyx_n_s_ppool, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1120)) __PYX_ERR(1, 25285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1120);
  __Pyx_GIVEREF(__pyx_tuple__1120);
  __pyx_codeobj__665 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemPoolDestroy, 25285, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__665)) __PYX_ERR(1, 25285, __pyx_L1_error)

  /* "cuda/cuda.pyx":25328
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocFromPoolAsync(size_t bytesize, pool, hStream):
 *     """ Allocates memory from a specified pool with stream ordered semantics.
 */
  __pyx_tuple__1121 = PyTuple_Pack(9, __pyx_n_s_bytesize_2, __pyx_n_s_pool, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cpool, __pyx_n_s_ppool, __pyx_n_s_dptr_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1121)) __PYX_ERR(1, 25328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1121);
  __Pyx_GIVEREF(__pyx_tuple__1121);
  __pyx_codeobj__666 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemAllocFromPoolAsync, 25328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__666)) __PYX_ERR(1, 25328, __pyx_L1_error)

  /* "cuda/cuda.pyx":25383
 *     return (CUresult(err), dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolExportToShareableHandle(pool, handleType not None : CUmemAllocationHandleType, unsigned long long flags):
 *     """ Exports a memory pool to the requested handle type.
 */
  __pyx_tuple__1122 = PyTuple_Pack(9, __pyx_n_s_pool, __pyx_n_s_handleType, __pyx_n_s_flags_2, __pyx_n_s_cpool, __pyx_n_s_ppool, __pyx_n_s_chandle_out, __pyx_n_s_chandle_out_ptr, __pyx_n_s_chandleType, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1122)) __PYX_ERR(1, 25383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1122);
  __Pyx_GIVEREF(__pyx_tuple__1122);
  __pyx_codeobj__667 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemPoolExportToShareableHandle, 25383, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__667)) __PYX_ERR(1, 25383, __pyx_L1_error)

  /* "cuda/cuda.pyx":25435
 *     return (CUresult(err), chandle_out.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolImportFromShareableHandle(handle, handleType not None : CUmemAllocationHandleType, unsigned long long flags):
 *     """ imports a memory pool from a shared handle.
 */
  __pyx_tuple__1123 = PyTuple_Pack(8, __pyx_n_s_handle_2, __pyx_n_s_handleType, __pyx_n_s_flags_2, __pyx_n_s_pool_out, __pyx_n_s_chandle, __pyx_n_s_chandle_ptr, __pyx_n_s_chandleType, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1123)) __PYX_ERR(1, 25435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1123);
  __Pyx_GIVEREF(__pyx_tuple__1123);
  __pyx_codeobj__668 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemPoolImportFromShareableHand, 25435, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__668)) __PYX_ERR(1, 25435, __pyx_L1_error)

  /* "cuda/cuda.pyx":25473
 *     return (CUresult(err), pool_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolExportPointer(ptr):
 *     """ Export data to share a memory pool allocation between processes.
 */
  __pyx_tuple__1124 = PyTuple_Pack(5, __pyx_n_s_ptr_2, __pyx_n_s_cptr, __pyx_n_s_pptr, __pyx_n_s_shareData_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1124)) __PYX_ERR(1, 25473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1124);
  __Pyx_GIVEREF(__pyx_tuple__1124);
  __pyx_codeobj__669 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemPoolExportPointer, 25473, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__669)) __PYX_ERR(1, 25473, __pyx_L1_error)

  /* "cuda/cuda.pyx":25511
 *     return (CUresult(err), shareData_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolImportPointer(pool, shareData : Optional[CUmemPoolPtrExportData]):
 *     """ Import a memory pool allocation from another process.
 */
  __pyx_tuple__1125 = PyTuple_Pack(7, __pyx_n_s_pool, __pyx_n_s_shareData, __pyx_n_s_cpool, __pyx_n_s_ppool, __pyx_n_s_ptr_out, __pyx_n_s_cshareData_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1125)) __PYX_ERR(1, 25511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1125);
  __Pyx_GIVEREF(__pyx_tuple__1125);
  __pyx_codeobj__670 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemPoolImportPointer, 25511, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__670)) __PYX_ERR(1, 25511, __pyx_L1_error)

  /* "cuda/cuda.pyx":25559
 *     return (CUresult(err), ptr_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastCreate(prop : Optional[CUmulticastObjectProp]):
 *     """ Create a generic allocation handle representing a multicast object described by the given properties.
 */
  __pyx_tuple__1126 = PyTuple_Pack(4, __pyx_n_s_prop, __pyx_n_s_mcHandle, __pyx_n_s_cprop_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1126)) __PYX_ERR(1, 25559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1126);
  __Pyx_GIVEREF(__pyx_tuple__1126);
  __pyx_codeobj__671 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMulticastCreate, 25559, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__671)) __PYX_ERR(1, 25559, __pyx_L1_error)

  /* "cuda/cuda.pyx":25614
 *     return (CUresult(err), mcHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastAddDevice(mcHandle, dev):
 *     """ Associate a device to a multicast object.
 */
  __pyx_tuple__1127 = PyTuple_Pack(7, __pyx_n_s_mcHandle, __pyx_n_s_dev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_cmcHandle, __pyx_n_s_pmcHandle, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1127)) __PYX_ERR(1, 25614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1127);
  __Pyx_GIVEREF(__pyx_tuple__1127);
  __pyx_codeobj__672 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMulticastAddDevice, 25614, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__672)) __PYX_ERR(1, 25614, __pyx_L1_error)

  /* "cuda/cuda.pyx":25668
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastBindMem(mcHandle, size_t mcOffset, memHandle, size_t memOffset, size_t size, unsigned long long flags):
 *     """ Bind a memory allocation represented by a handle to a multicast object.
 */
  __pyx_tuple__1128 = PyTuple_Pack(11, __pyx_n_s_mcHandle, __pyx_n_s_mcOffset, __pyx_n_s_memHandle_2, __pyx_n_s_memOffset, __pyx_n_s_size_2, __pyx_n_s_flags_2, __pyx_n_s_cmemHandle, __pyx_n_s_pmemHandle, __pyx_n_s_cmcHandle, __pyx_n_s_pmcHandle, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1128)) __PYX_ERR(1, 25668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1128);
  __Pyx_GIVEREF(__pyx_tuple__1128);
  __pyx_codeobj__673 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMulticastBindMem, 25668, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__673)) __PYX_ERR(1, 25668, __pyx_L1_error)

  /* "cuda/cuda.pyx":25741
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastBindAddr(mcHandle, size_t mcOffset, memptr, size_t size, unsigned long long flags):
 *     """ Bind a memory allocation represented by a virtual address to a multicast object.
 */
  __pyx_tuple__1129 = PyTuple_Pack(10, __pyx_n_s_mcHandle, __pyx_n_s_mcOffset, __pyx_n_s_memptr, __pyx_n_s_size_2, __pyx_n_s_flags_2, __pyx_n_s_cmemptr, __pyx_n_s_pmemptr, __pyx_n_s_cmcHandle, __pyx_n_s_pmcHandle, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1129)) __PYX_ERR(1, 25741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1129);
  __Pyx_GIVEREF(__pyx_tuple__1129);
  __pyx_codeobj__674 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMulticastBindAddr, 25741, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__674)) __PYX_ERR(1, 25741, __pyx_L1_error)

  /* "cuda/cuda.pyx":25810
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastUnbind(mcHandle, dev, size_t mcOffset, size_t size):
 *     """ Unbind any memory allocations bound to a multicast object at a given offset and upto a given size.
 */
  __pyx_tuple__1130 = PyTuple_Pack(9, __pyx_n_s_mcHandle, __pyx_n_s_dev, __pyx_n_s_mcOffset, __pyx_n_s_size_2, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_cmcHandle, __pyx_n_s_pmcHandle, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1130)) __PYX_ERR(1, 25810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1130);
  __Pyx_GIVEREF(__pyx_tuple__1130);
  __pyx_codeobj__675 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMulticastUnbind, 25810, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__675)) __PYX_ERR(1, 25810, __pyx_L1_error)

  /* "cuda/cuda.pyx":25867
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastGetGranularity(prop : Optional[CUmulticastObjectProp], option not None : CUmulticastGranularity_flags):
 *     """ Calculates either the minimal or recommended granularity for multicast object.
 */
  __pyx_codeobj__676 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMulticastGetGranularity, 25867, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__676)) __PYX_ERR(1, 25867, __pyx_L1_error)

  /* "cuda/cuda.pyx":25900
 *     return (CUresult(err), granularity)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerGetAttribute(attribute not None : CUpointer_attribute, ptr):
 *     """ Returns information about a pointer.
 */
  __pyx_tuple__1131 = PyTuple_Pack(8, __pyx_n_s_attribute, __pyx_n_s_ptr_2, __pyx_n_s_cptr, __pyx_n_s_pptr, __pyx_n_s_cdata, __pyx_n_s_cdata_ptr, __pyx_n_s_cattribute, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1131)) __PYX_ERR(1, 25900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1131);
  __Pyx_GIVEREF(__pyx_tuple__1131);
  __pyx_codeobj__677 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuPointerGetAttribute, 25900, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__677)) __PYX_ERR(1, 25900, __pyx_L1_error)

  /* "cuda/cuda.pyx":26102
 *     return (CUresult(err), cdata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchAsync(devPtr, size_t count, dstDevice, hStream):
 *     """ Prefetches memory to the specified destination device.
 */
  __pyx_tuple__1132 = PyTuple_Pack(11, __pyx_n_s_devPtr_2, __pyx_n_s_count_2, __pyx_n_s_dstDevice_2, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_cdevPtr, __pyx_n_s_pdevPtr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1132)) __PYX_ERR(1, 26102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1132);
  __Pyx_GIVEREF(__pyx_tuple__1132);
  __pyx_codeobj__678 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemPrefetchAsync, 26102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__678)) __PYX_ERR(1, 26102, __pyx_L1_error)

  /* "cuda/cuda.pyx":26216
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchAsync_v2(devPtr, size_t count, location not None : CUmemLocation, unsigned int flags, hStream):
 *     """ Prefetches memory to the specified destination location.
 */
  __pyx_tuple__1133 = PyTuple_Pack(10, __pyx_n_s_devPtr_2, __pyx_n_s_count_2, __pyx_n_s_location_2, __pyx_n_s_flags_2, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cdevPtr, __pyx_n_s_pdevPtr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1133)) __PYX_ERR(1, 26216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1133);
  __Pyx_GIVEREF(__pyx_tuple__1133);
  __pyx_codeobj__679 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemPrefetchAsync_v2, 26216, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__679)) __PYX_ERR(1, 26216, __pyx_L1_error)

  /* "cuda/cuda.pyx":26336
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAdvise(devPtr, size_t count, advice not None : CUmem_advise, device):
 *     """ Advise about the usage of a given memory range.
 */
  __pyx_tuple__1134 = PyTuple_Pack(10, __pyx_n_s_devPtr_2, __pyx_n_s_count_2, __pyx_n_s_advice, __pyx_n_s_device, __pyx_n_s_cdevice, __pyx_n_s_pdevice, __pyx_n_s_cdevPtr, __pyx_n_s_pdevPtr, __pyx_n_s_cadvice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1134)) __PYX_ERR(1, 26336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1134);
  __Pyx_GIVEREF(__pyx_tuple__1134);
  __pyx_codeobj__680 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemAdvise, 26336, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__680)) __PYX_ERR(1, 26336, __pyx_L1_error)

  /* "cuda/cuda.pyx":26519
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAdvise_v2(devPtr, size_t count, advice not None : CUmem_advise, location not None : CUmemLocation):
 *     """ Advise about the usage of a given memory range.
 */
  __pyx_tuple__1135 = PyTuple_Pack(8, __pyx_n_s_devPtr_2, __pyx_n_s_count_2, __pyx_n_s_advice, __pyx_n_s_location_2, __pyx_n_s_cdevPtr, __pyx_n_s_pdevPtr, __pyx_n_s_cadvice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1135)) __PYX_ERR(1, 26519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1135);
  __Pyx_GIVEREF(__pyx_tuple__1135);
  __pyx_codeobj__681 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemAdvise_v2, 26519, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__681)) __PYX_ERR(1, 26519, __pyx_L1_error)

  /* "cuda/cuda.pyx":26722
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRangeGetAttribute(size_t dataSize, attribute not None : CUmem_range_attribute, devPtr, size_t count):
 *     """ Query an attribute of a given memory range.
 */
  __pyx_tuple__1136 = PyTuple_Pack(10, __pyx_n_s_dataSize, __pyx_n_s_attribute, __pyx_n_s_devPtr_2, __pyx_n_s_count_2, __pyx_n_s_cdevPtr, __pyx_n_s_pdevPtr, __pyx_n_s_cdata, __pyx_n_s_cdata_ptr, __pyx_n_s_cattribute, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1136)) __PYX_ERR(1, 26722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1136);
  __Pyx_GIVEREF(__pyx_tuple__1136);
  __pyx_codeobj__682 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemRangeGetAttribute, 26722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__682)) __PYX_ERR(1, 26722, __pyx_L1_error)

  /* "cuda/cuda.pyx":26875
 *     return (CUresult(err), cdata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRangeGetAttributes(dataSizes : List[int], attributes : Optional[List[CUmem_range_attribute]], size_t numAttributes, devPtr, size_t count):
 *     """ Query attributes of a given memory range.
 */
  __pyx_tuple__1137 = PyTuple_Pack(20, __pyx_n_s_dataSizes, __pyx_n_s_attributes, __pyx_n_s_numAttributes, __pyx_n_s_devPtr_2, __pyx_n_s_count_2, __pyx_n_s_cdevPtr, __pyx_n_s_pdevPtr, __pyx_n_s_pylist, __pyx_n_s_voidStarHelperdata, __pyx_n_s_cvoidStarHelper_ptr, __pyx_n_s_cdataSizes, __pyx_n_s_cattributes, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_pyattributes, __pyx_n_s_pydataSizes, __pyx_n_s_pyattributes, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__1137)) __PYX_ERR(1, 26875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1137);
  __Pyx_GIVEREF(__pyx_tuple__1137);
  __pyx_codeobj__683 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 20, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuMemRangeGetAttributes, 26875, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__683)) __PYX_ERR(1, 26875, __pyx_L1_error)

  /* "cuda/cuda.pyx":26957
 *     return (CUresult(err), [obj.pyObj() for obj in pylist])
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerSetAttribute(value, attribute not None : CUpointer_attribute, ptr):
 *     """ Set attributes on a previously allocated memory region.
 */
  __pyx_tuple__1138 = PyTuple_Pack(9, __pyx_n_s_value_2, __pyx_n_s_attribute, __pyx_n_s_ptr_2, __pyx_n_s_cptr, __pyx_n_s_pptr, __pyx_n_s_cvalue, __pyx_n_s_cvalue_ptr, __pyx_n_s_cattribute, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1138)) __PYX_ERR(1, 26957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1138);
  __Pyx_GIVEREF(__pyx_tuple__1138);
  __pyx_codeobj__686 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuPointerSetAttribute, 26957, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__686)) __PYX_ERR(1, 26957, __pyx_L1_error)

  /* "cuda/cuda.pyx":27010
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerGetAttributes(unsigned int numAttributes, attributes : Optional[List[CUpointer_attribute]], ptr):
 *     """ Returns information about a pointer.
 */
  __pyx_tuple__1139 = PyTuple_Pack(15, __pyx_n_s_numAttributes, __pyx_n_s_attributes, __pyx_n_s_ptr_2, __pyx_n_s_cptr, __pyx_n_s_pptr, __pyx_n_s_cattributes, __pyx_n_s_pylist, __pyx_n_s_voidStarHelperdata, __pyx_n_s_cvoidStarHelper_ptr, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_pyattributes, __pyx_n_s_pyattributes, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__1139)) __PYX_ERR(1, 27010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1139);
  __Pyx_GIVEREF(__pyx_tuple__1139);
  __pyx_codeobj__687 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 15, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuPointerGetAttributes, 27010, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__687)) __PYX_ERR(1, 27010, __pyx_L1_error)

  /* "cuda/cuda.pyx":27097
 *     return (CUresult(err), [obj.pyObj() for obj in pylist])
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamCreate(unsigned int Flags):
 *     """ Create a stream.
 */
  __pyx_tuple__1140 = PyTuple_Pack(3, __pyx_n_s_Flags_2, __pyx_n_s_phStream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1140)) __PYX_ERR(1, 27097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1140);
  __Pyx_GIVEREF(__pyx_tuple__1140);
  __pyx_codeobj__689 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamCreate, 27097, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__689)) __PYX_ERR(1, 27097, __pyx_L1_error)

  /* "cuda/cuda.pyx":27133
 *     return (CUresult(err), phStream)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamCreateWithPriority(unsigned int flags, int priority):
 *     """ Create a stream with the given priority.
 */
  __pyx_tuple__1141 = PyTuple_Pack(4, __pyx_n_s_flags_2, __pyx_n_s_priority_2, __pyx_n_s_phStream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1141)) __PYX_ERR(1, 27133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1141);
  __Pyx_GIVEREF(__pyx_tuple__1141);
  __pyx_codeobj__690 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamCreateWithPriority, 27133, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__690)) __PYX_ERR(1, 27133, __pyx_L1_error)

  /* "cuda/cuda.pyx":27182
 *     return (CUresult(err), phStream)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetPriority(hStream):
 *     """ Query the priority of a given stream.
 */
  __pyx_tuple__1142 = PyTuple_Pack(5, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_priority_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1142)) __PYX_ERR(1, 27182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1142);
  __Pyx_GIVEREF(__pyx_tuple__1142);
  __pyx_codeobj__691 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamGetPriority, 27182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__691)) __PYX_ERR(1, 27182, __pyx_L1_error)

  /* "cuda/cuda.pyx":27224
 *     return (CUresult(err), priority)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetFlags(hStream):
 *     """ Query the flags of a given stream.
 */
  __pyx_tuple__1143 = PyTuple_Pack(5, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1143)) __PYX_ERR(1, 27224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1143);
  __Pyx_GIVEREF(__pyx_tuple__1143);
  __pyx_codeobj__692 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamGetFlags, 27224, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__692)) __PYX_ERR(1, 27224, __pyx_L1_error)

  /* "cuda/cuda.pyx":27263
 *     return (CUresult(err), flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetId(hStream):
 *     """ Returns the unique Id associated with the stream handle supplied.
 */
  __pyx_tuple__1144 = PyTuple_Pack(5, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_streamId, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1144)) __PYX_ERR(1, 27263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1144);
  __Pyx_GIVEREF(__pyx_tuple__1144);
  __pyx_codeobj__693 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1144, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamGetId, 27263, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__693)) __PYX_ERR(1, 27263, __pyx_L1_error)

  /* "cuda/cuda.pyx":27315
 *     return (CUresult(err), streamId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCtx(hStream):
 *     """ Query the context associated with a stream.
 */
  __pyx_tuple__1145 = PyTuple_Pack(5, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_pctx, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1145)) __PYX_ERR(1, 27315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1145);
  __Pyx_GIVEREF(__pyx_tuple__1145);
  __pyx_codeobj__694 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamGetCtx, 27315, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__694)) __PYX_ERR(1, 27315, __pyx_L1_error)

  /* "cuda/cuda.pyx":27370
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWaitEvent(hStream, hEvent, unsigned int Flags):
 *     """ Make a compute stream wait on an event.
 */
  __pyx_tuple__1146 = PyTuple_Pack(8, __pyx_n_s_hStream_2, __pyx_n_s_hEvent, __pyx_n_s_Flags_2, __pyx_n_s_chEvent, __pyx_n_s_phEvent, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1146)) __PYX_ERR(1, 27370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1146);
  __Pyx_GIVEREF(__pyx_tuple__1146);
  __pyx_codeobj__695 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1146, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamWaitEvent, 27370, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__695)) __PYX_ERR(1, 27370, __pyx_L1_error)

  /* "cuda/cuda.pyx":27427
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamAddCallback(hStream, callback, userData, unsigned int flags):
 *     """ Add a callback to a compute stream.
 */
  __pyx_tuple__1147 = PyTuple_Pack(11, __pyx_n_s_hStream_2, __pyx_n_s_callback, __pyx_n_s_userData_2, __pyx_n_s_flags_2, __pyx_n_s_ccallback, __pyx_n_s_pcallback, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cuserData, __pyx_n_s_cuserData_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1147)) __PYX_ERR(1, 27427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1147);
  __Pyx_GIVEREF(__pyx_tuple__1147);
  __pyx_codeobj__696 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamAddCallback, 27427, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__696)) __PYX_ERR(1, 27427, __pyx_L1_error)

  /* "cuda/cuda.pyx":27519
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBeginCapture(hStream, mode not None : CUstreamCaptureMode):
 *     """ Begins graph capture on a stream.
 */
  __pyx_tuple__1148 = PyTuple_Pack(6, __pyx_n_s_hStream_2, __pyx_n_s_mode, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cmode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1148)) __PYX_ERR(1, 27519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1148);
  __Pyx_GIVEREF(__pyx_tuple__1148);
  __pyx_codeobj__697 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamBeginCapture, 27519, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__697)) __PYX_ERR(1, 27519, __pyx_L1_error)

  /* "cuda/cuda.pyx":27572
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBeginCaptureToGraph(hStream, hGraph, dependencies : Optional[List[CUgraphNode]], dependencyData : Optional[List[CUgraphEdgeData]], size_t numDependencies, mode not None : CUstreamCaptureMode):
 *     """ Begins graph capture on a stream to an existing graph.
 */
  __pyx_tuple__1149 = PyTuple_Pack(18, __pyx_n_s_hStream_2, __pyx_n_s_hGraph, __pyx_n_s_dependencies, __pyx_n_s_dependencyData, __pyx_n_s_numDependencies, __pyx_n_s_mode, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cdependencies, __pyx_n_s_idx, __pyx_n_s_cdependencyData, __pyx_n_s_cmode, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1149)) __PYX_ERR(1, 27572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1149);
  __Pyx_GIVEREF(__pyx_tuple__1149);
  __pyx_codeobj__698 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 18, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamBeginCaptureToGraph, 27572, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__698)) __PYX_ERR(1, 27572, __pyx_L1_error)

  /* "cuda/cuda.pyx":27673
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuThreadExchangeStreamCaptureMode(mode not None : CUstreamCaptureMode):
 *     """ Swaps the stream capture interaction mode for a thread.
 */
  __pyx_tuple__1150 = PyTuple_Pack(3, __pyx_n_s_mode, __pyx_n_s_cmode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1150)) __PYX_ERR(1, 27673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1150);
  __Pyx_GIVEREF(__pyx_tuple__1150);
  __pyx_codeobj__701 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1150, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuThreadExchangeStreamCaptureMod, 27673, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__701)) __PYX_ERR(1, 27673, __pyx_L1_error)

  /* "cuda/cuda.pyx":27741
 *     return (CUresult(err), CUstreamCaptureMode(cmode))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamEndCapture(hStream):
 *     """ Ends capture on a stream, returning the captured graph.
 */
  __pyx_tuple__1151 = PyTuple_Pack(5, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_phGraph, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1151)) __PYX_ERR(1, 27741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1151);
  __Pyx_GIVEREF(__pyx_tuple__1151);
  __pyx_codeobj__702 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamEndCapture, 27741, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__702)) __PYX_ERR(1, 27741, __pyx_L1_error)

  /* "cuda/cuda.pyx":27784
 *     return (CUresult(err), phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamIsCapturing(hStream):
 *     """ Returns a stream's capture status.
 */
  __pyx_tuple__1152 = PyTuple_Pack(5, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_captureStatus, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1152)) __PYX_ERR(1, 27784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1152);
  __Pyx_GIVEREF(__pyx_tuple__1152);
  __pyx_codeobj__703 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1152, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamIsCapturing, 27784, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__703)) __PYX_ERR(1, 27784, __pyx_L1_error)

  /* "cuda/cuda.pyx":27842
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCaptureInfo(hStream):
 *     """ Query a stream's capture state.
 */
  __pyx_tuple__1153 = PyTuple_Pack(11, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_captureStatus_out, __pyx_n_s_id_out, __pyx_n_s_graph_out, __pyx_n_s_cdependencies_out, __pyx_n_s_pydependencies_out, __pyx_n_s_numDependencies_out, __pyx_n_s_err, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1153)) __PYX_ERR(1, 27842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1153);
  __Pyx_GIVEREF(__pyx_tuple__1153);
  __pyx_codeobj__704 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamGetCaptureInfo, 27842, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__704)) __PYX_ERR(1, 27842, __pyx_L1_error)

  /* "cuda/cuda.pyx":27921
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCaptureInfo_v3(hStream):
 *     """ Query a stream's capture state (12.3+)
 */
  __pyx_tuple__1154 = PyTuple_Pack(14, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_captureStatus_out, __pyx_n_s_id_out, __pyx_n_s_graph_out, __pyx_n_s_cdependencies_out, __pyx_n_s_pydependencies_out, __pyx_n_s_cedgeData_out, __pyx_n_s_pyedgeData_out, __pyx_n_s_numDependencies_out, __pyx_n_s_err, __pyx_n_s_idx, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1154)) __PYX_ERR(1, 27921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1154);
  __Pyx_GIVEREF(__pyx_tuple__1154);
  __pyx_codeobj__705 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamGetCaptureInfo_v3, 27921, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__705)) __PYX_ERR(1, 27921, __pyx_L1_error)

  /* "cuda/cuda.pyx":28016
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, pyedgeData_out, numDependencies_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies(hStream, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (11.3+)
 */
  __pyx_tuple__1155 = PyTuple_Pack(11, __pyx_n_s_hStream_2, __pyx_n_s_dependencies, __pyx_n_s_numDependencies, __pyx_n_s_flags_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cdependencies, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1155)) __PYX_ERR(1, 28016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1155);
  __Pyx_GIVEREF(__pyx_tuple__1155);
  __pyx_codeobj__706 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamUpdateCaptureDependencie_3, 28016, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__706)) __PYX_ERR(1, 28016, __pyx_L1_error)

  /* "cuda/cuda.pyx":28087
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies_v2(hStream, dependencies : Optional[List[CUgraphNode]], dependencyData : Optional[List[CUgraphEdgeData]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (12.3+)
 */
  __pyx_tuple__1156 = PyTuple_Pack(14, __pyx_n_s_hStream_2, __pyx_n_s_dependencies, __pyx_n_s_dependencyData, __pyx_n_s_numDependencies, __pyx_n_s_flags_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cdependencies, __pyx_n_s_idx, __pyx_n_s_cdependencyData, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1156)) __PYX_ERR(1, 28087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1156);
  __Pyx_GIVEREF(__pyx_tuple__1156);
  __pyx_codeobj__707 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1156, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamUpdateCaptureDependencie_4, 28087, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__707)) __PYX_ERR(1, 28087, __pyx_L1_error)

  /* "cuda/cuda.pyx":28167
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamAttachMemAsync(hStream, dptr, size_t length, unsigned int flags):
 *     """ Attach memory to a stream asynchronously.
 */
  __pyx_tuple__1157 = PyTuple_Pack(9, __pyx_n_s_hStream_2, __pyx_n_s_dptr_2, __pyx_n_s_length, __pyx_n_s_flags_2, __pyx_n_s_cdptr, __pyx_n_s_pdptr, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1157)) __PYX_ERR(1, 28167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1157);
  __Pyx_GIVEREF(__pyx_tuple__1157);
  __pyx_codeobj__708 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamAttachMemAsync, 28167, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__708)) __PYX_ERR(1, 28167, __pyx_L1_error)

  /* "cuda/cuda.pyx":28278
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamQuery(hStream):
 *     """ Determine status of a compute stream.
 */
  __pyx_tuple__1158 = PyTuple_Pack(4, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1158)) __PYX_ERR(1, 28278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1158);
  __Pyx_GIVEREF(__pyx_tuple__1158);
  __pyx_codeobj__709 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1158, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamQuery, 28278, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__709)) __PYX_ERR(1, 28278, __pyx_L1_error)

  /* "cuda/cuda.pyx":28316
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamSynchronize(hStream):
 *     """ Wait until a stream's tasks are completed.
 */
  __pyx_codeobj__710 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1158, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamSynchronize, 28316, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__710)) __PYX_ERR(1, 28316, __pyx_L1_error)

  /* "cuda/cuda.pyx":28353
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamDestroy(hStream):
 *     """ Destroys a stream.
 */
  __pyx_codeobj__711 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1158, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamDestroy, 28353, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__711)) __PYX_ERR(1, 28353, __pyx_L1_error)

  /* "cuda/cuda.pyx":28391
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamCopyAttributes(dst, src):
 *     """ Copies attributes from source stream to destination stream.
 */
  __pyx_tuple__1159 = PyTuple_Pack(7, __pyx_n_s_dst_2, __pyx_n_s_src, __pyx_n_s_csrc, __pyx_n_s_psrc, __pyx_n_s_cdst, __pyx_n_s_pdst, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1159)) __PYX_ERR(1, 28391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1159);
  __Pyx_GIVEREF(__pyx_tuple__1159);
  __pyx_codeobj__712 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamCopyAttributes, 28391, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__712)) __PYX_ERR(1, 28391, __pyx_L1_error)

  /* "cuda/cuda.pyx":28435
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetAttribute(hStream, attr not None : CUstreamAttrID):
 *     """ Queries stream attribute.
 */
  __pyx_tuple__1160 = PyTuple_Pack(7, __pyx_n_s_hStream_2, __pyx_n_s_attr, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cattr, __pyx_n_s_value_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1160)) __PYX_ERR(1, 28435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1160);
  __Pyx_GIVEREF(__pyx_tuple__1160);
  __pyx_codeobj__713 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1160, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamGetAttribute, 28435, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__713)) __PYX_ERR(1, 28435, __pyx_L1_error)

  /* "cuda/cuda.pyx":28474
 *     return (CUresult(err), value_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamSetAttribute(hStream, attr not None : CUstreamAttrID, value : Optional[CUstreamAttrValue]):
 *     """ Sets stream attribute.
 */
  __pyx_tuple__1161 = PyTuple_Pack(8, __pyx_n_s_hStream_2, __pyx_n_s_attr, __pyx_n_s_value_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cattr, __pyx_n_s_cvalue_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1161)) __PYX_ERR(1, 28474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1161);
  __Pyx_GIVEREF(__pyx_tuple__1161);
  __pyx_codeobj__714 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamSetAttribute, 28474, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__714)) __PYX_ERR(1, 28474, __pyx_L1_error)

  /* "cuda/cuda.pyx":28514
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventCreate(unsigned int Flags):
 *     """ Creates an event.
 */
  __pyx_tuple__1162 = PyTuple_Pack(3, __pyx_n_s_Flags_2, __pyx_n_s_phEvent, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1162)) __PYX_ERR(1, 28514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1162);
  __Pyx_GIVEREF(__pyx_tuple__1162);
  __pyx_codeobj__715 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1162, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuEventCreate, 28514, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__715)) __PYX_ERR(1, 28514, __pyx_L1_error)

  /* "cuda/cuda.pyx":28559
 *     return (CUresult(err), phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventRecord(hEvent, hStream):
 *     """ Records an event.
 */
  __pyx_tuple__1163 = PyTuple_Pack(7, __pyx_n_s_hEvent, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_chEvent, __pyx_n_s_phEvent, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1163)) __PYX_ERR(1, 28559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1163);
  __Pyx_GIVEREF(__pyx_tuple__1163);
  __pyx_codeobj__716 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuEventRecord, 28559, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__716)) __PYX_ERR(1, 28559, __pyx_L1_error)

  /* "cuda/cuda.pyx":28616
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventRecordWithFlags(hEvent, hStream, unsigned int flags):
 *     """ Records an event.
 */
  __pyx_tuple__1164 = PyTuple_Pack(8, __pyx_n_s_hEvent, __pyx_n_s_hStream_2, __pyx_n_s_flags_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_chEvent, __pyx_n_s_phEvent, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1164)) __PYX_ERR(1, 28616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1164);
  __Pyx_GIVEREF(__pyx_tuple__1164);
  __pyx_codeobj__717 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1164, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuEventRecordWithFlags, 28616, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__717)) __PYX_ERR(1, 28616, __pyx_L1_error)

  /* "cuda/cuda.pyx":28683
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventQuery(hEvent):
 *     """ Queries an event's status.
 */
  __pyx_tuple__1165 = PyTuple_Pack(4, __pyx_n_s_hEvent, __pyx_n_s_chEvent, __pyx_n_s_phEvent, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1165)) __PYX_ERR(1, 28683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1165);
  __Pyx_GIVEREF(__pyx_tuple__1165);
  __pyx_codeobj__718 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuEventQuery, 28683, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__718)) __PYX_ERR(1, 28683, __pyx_L1_error)

  /* "cuda/cuda.pyx":28725
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventSynchronize(hEvent):
 *     """ Waits for an event to complete.
 */
  __pyx_codeobj__719 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuEventSynchronize, 28725, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__719)) __PYX_ERR(1, 28725, __pyx_L1_error)

  /* "cuda/cuda.pyx":28766
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventDestroy(hEvent):
 *     """ Destroys an event.
 */
  __pyx_codeobj__720 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuEventDestroy, 28766, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__720)) __PYX_ERR(1, 28766, __pyx_L1_error)

  /* "cuda/cuda.pyx":28804
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventElapsedTime(hStart, hEnd):
 *     """ Computes the elapsed time between two events.
 */
  __pyx_tuple__1166 = PyTuple_Pack(8, __pyx_n_s_hStart, __pyx_n_s_hEnd, __pyx_n_s_chEnd, __pyx_n_s_phEnd, __pyx_n_s_chStart, __pyx_n_s_phStart, __pyx_n_s_pMilliseconds, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1166)) __PYX_ERR(1, 28804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1166);
  __Pyx_GIVEREF(__pyx_tuple__1166);
  __pyx_codeobj__721 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1166, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuEventElapsedTime, 28804, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__721)) __PYX_ERR(1, 28804, __pyx_L1_error)

  /* "cuda/cuda.pyx":28869
 *     return (CUresult(err), pMilliseconds)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuImportExternalMemory(memHandleDesc : Optional[CUDA_EXTERNAL_MEMORY_HANDLE_DESC]):
 *     """ Imports an external memory object.
 */
  __pyx_tuple__1167 = PyTuple_Pack(4, __pyx_n_s_memHandleDesc, __pyx_n_s_extMem_out, __pyx_n_s_cmemHandleDesc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1167)) __PYX_ERR(1, 28869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1167);
  __Pyx_GIVEREF(__pyx_tuple__1167);
  __pyx_codeobj__722 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuImportExternalMemory, 28869, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__722)) __PYX_ERR(1, 28869, __pyx_L1_error)

  /* "cuda/cuda.pyx":29019
 *     return (CUresult(err), extMem_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuExternalMemoryGetMappedBuffer(extMem, bufferDesc : Optional[CUDA_EXTERNAL_MEMORY_BUFFER_DESC]):
 *     """ Maps a buffer onto an imported memory object.
 */
  __pyx_tuple__1168 = PyTuple_Pack(7, __pyx_n_s_extMem, __pyx_n_s_bufferDesc, __pyx_n_s_cextMem, __pyx_n_s_pextMem, __pyx_n_s_devPtr_2, __pyx_n_s_cbufferDesc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1168)) __PYX_ERR(1, 29019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1168);
  __Pyx_GIVEREF(__pyx_tuple__1168);
  __pyx_codeobj__723 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1168, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuExternalMemoryGetMappedBuffer, 29019, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__723)) __PYX_ERR(1, 29019, __pyx_L1_error)

  /* "cuda/cuda.pyx":29084
 *     return (CUresult(err), devPtr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuExternalMemoryGetMappedMipmappedArray(extMem, mipmapDesc : Optional[CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC]):
 *     """ Maps a CUDA mipmapped array onto an external memory object.
 */
  __pyx_tuple__1169 = PyTuple_Pack(7, __pyx_n_s_extMem, __pyx_n_s_mipmapDesc, __pyx_n_s_cextMem, __pyx_n_s_pextMem, __pyx_n_s_mipmap_2, __pyx_n_s_cmipmapDesc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1169)) __PYX_ERR(1, 29084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1169);
  __Pyx_GIVEREF(__pyx_tuple__1169);
  __pyx_codeobj__724 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuExternalMemoryGetMappedMipmapp, 29084, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__724)) __PYX_ERR(1, 29084, __pyx_L1_error)

  /* "cuda/cuda.pyx":29152
 *     return (CUresult(err), mipmap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDestroyExternalMemory(extMem):
 *     """ Destroys an external memory object.
 */
  __pyx_tuple__1170 = PyTuple_Pack(4, __pyx_n_s_extMem, __pyx_n_s_cextMem, __pyx_n_s_pextMem, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1170)) __PYX_ERR(1, 29152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1170);
  __Pyx_GIVEREF(__pyx_tuple__1170);
  __pyx_codeobj__725 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1170, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDestroyExternalMemory, 29152, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__725)) __PYX_ERR(1, 29152, __pyx_L1_error)

  /* "cuda/cuda.pyx":29187
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuImportExternalSemaphore(semHandleDesc : Optional[CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC]):
 *     """ Imports an external semaphore.
 */
  __pyx_tuple__1171 = PyTuple_Pack(4, __pyx_n_s_semHandleDesc, __pyx_n_s_extSem_out, __pyx_n_s_csemHandleDesc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1171)) __PYX_ERR(1, 29187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1171);
  __Pyx_GIVEREF(__pyx_tuple__1171);
  __pyx_codeobj__726 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuImportExternalSemaphore, 29187, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__726)) __PYX_ERR(1, 29187, __pyx_L1_error)

  /* "cuda/cuda.pyx":29332
 *     return (CUresult(err), extSem_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSignalExternalSemaphoresAsync(extSemArray : Optional[List[CUexternalSemaphore]], paramsArray : Optional[List[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS]], unsigned int numExtSems, stream):
 *     """ Signals a set of external semaphore objects.
 */
  __pyx_tuple__1172 = PyTuple_Pack(13, __pyx_n_s_extSemArray_2, __pyx_n_s_paramsArray_2, __pyx_n_s_numExtSems_2, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cextSemArray, __pyx_n_s_idx, __pyx_n_s_cparamsArray, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1172)) __PYX_ERR(1, 29332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1172);
  __Pyx_GIVEREF(__pyx_tuple__1172);
  __pyx_codeobj__727 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1172, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuSignalExternalSemaphoresAsync_2, 29332, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__727)) __PYX_ERR(1, 29332, __pyx_L1_error)

  /* "cuda/cuda.pyx":29464
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuWaitExternalSemaphoresAsync(extSemArray : Optional[List[CUexternalSemaphore]], paramsArray : Optional[List[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS]], unsigned int numExtSems, stream):
 *     """ Waits on a set of external semaphore objects.
 */
  __pyx_codeobj__730 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1172, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuWaitExternalSemaphoresAsync, 29464, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__730)) __PYX_ERR(1, 29464, __pyx_L1_error)

  /* "cuda/cuda.pyx":29587
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDestroyExternalSemaphore(extSem):
 *     """ Destroys an external semaphore.
 */
  __pyx_tuple__1173 = PyTuple_Pack(4, __pyx_n_s_extSem, __pyx_n_s_cextSem, __pyx_n_s_pextSem, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1173)) __PYX_ERR(1, 29587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1173);
  __Pyx_GIVEREF(__pyx_tuple__1173);
  __pyx_codeobj__732 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDestroyExternalSemaphore, 29587, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__732)) __PYX_ERR(1, 29587, __pyx_L1_error)

  /* "cuda/cuda.pyx":29621
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWaitValue32(stream, addr, value, unsigned int flags):
 *     """ Wait on a memory location.
 */
  __pyx_tuple__1174 = PyTuple_Pack(11, __pyx_n_s_stream, __pyx_n_s_addr, __pyx_n_s_value_2, __pyx_n_s_flags_2, __pyx_n_s_cvalue, __pyx_n_s_pvalue, __pyx_n_s_caddr, __pyx_n_s_paddr, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1174)) __PYX_ERR(1, 29621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1174);
  __Pyx_GIVEREF(__pyx_tuple__1174);
  __pyx_codeobj__733 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1174, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamWaitValue32, 29621, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__733)) __PYX_ERR(1, 29621, __pyx_L1_error)

  /* "cuda/cuda.pyx":29694
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWaitValue64(stream, addr, value, unsigned int flags):
 *     """ Wait on a memory location.
 */
  __pyx_codeobj__734 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1174, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamWaitValue64, 29694, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__734)) __PYX_ERR(1, 29694, __pyx_L1_error)

  /* "cuda/cuda.pyx":29765
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWriteValue32(stream, addr, value, unsigned int flags):
 *     """ Write a value to memory.
 */
  __pyx_codeobj__735 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1174, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamWriteValue32, 29765, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__735)) __PYX_ERR(1, 29765, __pyx_L1_error)

  /* "cuda/cuda.pyx":29826
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWriteValue64(stream, addr, value, unsigned int flags):
 *     """ Write a value to memory.
 */
  __pyx_codeobj__736 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1174, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamWriteValue64, 29826, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__736)) __PYX_ERR(1, 29826, __pyx_L1_error)

  /* "cuda/cuda.pyx":29889
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBatchMemOp(stream, unsigned int count, paramArray : Optional[List[CUstreamBatchMemOpParams]], unsigned int flags):
 *     """ Batch operations to synchronize the stream via memory operations.
 */
  __pyx_tuple__1175 = PyTuple_Pack(11, __pyx_n_s_stream, __pyx_n_s_count_2, __pyx_n_s_paramArray_2, __pyx_n_s_flags_2, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_cparamArray, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1175)) __PYX_ERR(1, 29889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1175);
  __Pyx_GIVEREF(__pyx_tuple__1175);
  __pyx_codeobj__737 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamBatchMemOp, 29889, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__737)) __PYX_ERR(1, 29889, __pyx_L1_error)

  /* "cuda/cuda.pyx":29957
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetAttribute(attrib not None : CUfunction_attribute, hfunc):
 *     """ Returns information about a function.
 */
  __pyx_tuple__1176 = PyTuple_Pack(7, __pyx_n_s_attrib, __pyx_n_s_hfunc, __pyx_n_s_chfunc, __pyx_n_s_phfunc, __pyx_n_s_pi, __pyx_n_s_cattrib, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1176)) __PYX_ERR(1, 29957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1176);
  __Pyx_GIVEREF(__pyx_tuple__1176);
  __pyx_codeobj__739 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1176, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuFuncGetAttribute, 29957, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__739)) __PYX_ERR(1, 29957, __pyx_L1_error)

  /* "cuda/cuda.pyx":30088
 *     return (CUresult(err), pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetAttribute(hfunc, attrib not None : CUfunction_attribute, int value):
 *     """ Sets information about a function.
 */
  __pyx_tuple__1177 = PyTuple_Pack(7, __pyx_n_s_hfunc, __pyx_n_s_attrib, __pyx_n_s_value_2, __pyx_n_s_chfunc, __pyx_n_s_phfunc, __pyx_n_s_cattrib, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1177)) __PYX_ERR(1, 30088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1177);
  __Pyx_GIVEREF(__pyx_tuple__1177);
  __pyx_codeobj__740 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuFuncSetAttribute, 30088, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__740)) __PYX_ERR(1, 30088, __pyx_L1_error)

  /* "cuda/cuda.pyx":30175
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetCacheConfig(hfunc, config not None : CUfunc_cache):
 *     """ Sets the preferred cache configuration for a device function.
 */
  __pyx_tuple__1178 = PyTuple_Pack(6, __pyx_n_s_hfunc, __pyx_n_s_config, __pyx_n_s_chfunc, __pyx_n_s_phfunc, __pyx_n_s_cconfig, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1178)) __PYX_ERR(1, 30175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1178);
  __Pyx_GIVEREF(__pyx_tuple__1178);
  __pyx_codeobj__741 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1178, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuFuncSetCacheConfig, 30175, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__741)) __PYX_ERR(1, 30175, __pyx_L1_error)

  /* "cuda/cuda.pyx":30238
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetModule(hfunc):
 *     """ Returns a module handle.
 */
  __pyx_tuple__1179 = PyTuple_Pack(5, __pyx_n_s_hfunc, __pyx_n_s_chfunc, __pyx_n_s_phfunc, __pyx_n_s_hmod, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1179)) __PYX_ERR(1, 30238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1179);
  __Pyx_GIVEREF(__pyx_tuple__1179);
  __pyx_codeobj__742 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuFuncGetModule, 30238, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__742)) __PYX_ERR(1, 30238, __pyx_L1_error)

  /* "cuda/cuda.pyx":30277
 *     return (CUresult(err), hmod)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetName(hfunc):
 *     """ Returns the function name for a :py:obj:`~.CUfunction` handle.
 */
  __pyx_codeobj__743 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1034, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuFuncGetName, 30277, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__743)) __PYX_ERR(1, 30277, __pyx_L1_error)

  /* "cuda/cuda.pyx":30314
 *     return (CUresult(err), <bytes>name)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetParamInfo(func, size_t paramIndex):
 *     """ Returns the offset and size of a kernel parameter in the device-side parameter layout.
 */
  __pyx_tuple__1180 = PyTuple_Pack(7, __pyx_n_s_func_2, __pyx_n_s_paramIndex, __pyx_n_s_cfunc, __pyx_n_s_pfunc, __pyx_n_s_paramOffset, __pyx_n_s_paramSize, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1180)) __PYX_ERR(1, 30314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1180);
  __Pyx_GIVEREF(__pyx_tuple__1180);
  __pyx_codeobj__744 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1180, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuFuncGetParamInfo, 30314, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__744)) __PYX_ERR(1, 30314, __pyx_L1_error)

  /* "cuda/cuda.pyx":30364
 *     return (CUresult(err), paramOffset, paramSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncIsLoaded(function):
 *     """ Returns if the function is loaded.
 */
  __pyx_tuple__1181 = PyTuple_Pack(5, __pyx_n_s_function_2, __pyx_n_s_cfunction, __pyx_n_s_pfunction, __pyx_n_s_state, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1181)) __PYX_ERR(1, 30364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1181);
  __Pyx_GIVEREF(__pyx_tuple__1181);
  __pyx_codeobj__745 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1181, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuFuncIsLoaded, 30364, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__745)) __PYX_ERR(1, 30364, __pyx_L1_error)

  /* "cuda/cuda.pyx":30399
 *     return (CUresult(err), CUfunctionLoadingState(state))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncLoad(function):
 *     """ Loads a function.
 */
  __pyx_tuple__1182 = PyTuple_Pack(4, __pyx_n_s_function_2, __pyx_n_s_cfunction, __pyx_n_s_pfunction, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1182)) __PYX_ERR(1, 30399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1182);
  __Pyx_GIVEREF(__pyx_tuple__1182);
  __pyx_codeobj__746 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1182, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuFuncLoad, 30399, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__746)) __PYX_ERR(1, 30399, __pyx_L1_error)

  /* "cuda/cuda.pyx":30432
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchKernel(f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hStream, kernelParams, void_ptr extra):
 *     """ Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel`.
 */
  __pyx_tuple__1183 = PyTuple_Pack(17, __pyx_n_s_f, __pyx_n_s_gridDimX_2, __pyx_n_s_gridDimY_2, __pyx_n_s_gridDimZ_2, __pyx_n_s_blockDimX_2, __pyx_n_s_blockDimY_2, __pyx_n_s_blockDimZ_2, __pyx_n_s_sharedMemBytes_2, __pyx_n_s_hStream_2, __pyx_n_s_kernelParams_2, __pyx_n_s_extra_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cf, __pyx_n_s_pf, __pyx_n_s_ckernelParams, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1183)) __PYX_ERR(1, 30432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1183);
  __Pyx_GIVEREF(__pyx_tuple__1183);
  __pyx_codeobj__747 = (PyObject*)__Pyx_PyCode_New(11, 0, 0, 17, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1183, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLaunchKernel, 30432, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__747)) __PYX_ERR(1, 30432, __pyx_L1_error)

  /* "cuda/cuda.pyx":30562
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchKernelEx(config : Optional[CUlaunchConfig], f, kernelParams, void_ptr extra):
 *     """ Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel` with launch-time configuration.
 */
  __pyx_tuple__1184 = PyTuple_Pack(9, __pyx_n_s_config, __pyx_n_s_f, __pyx_n_s_kernelParams_2, __pyx_n_s_extra_2, __pyx_n_s_cf, __pyx_n_s_pf, __pyx_n_s_cconfig_ptr, __pyx_n_s_ckernelParams, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1184)) __PYX_ERR(1, 30562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1184);
  __Pyx_GIVEREF(__pyx_tuple__1184);
  __pyx_codeobj__748 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1184, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLaunchKernelEx, 30562, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__748)) __PYX_ERR(1, 30562, __pyx_L1_error)

  /* "cuda/cuda.pyx":30767
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchCooperativeKernel(f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hStream, kernelParams):
 *     """ Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel` where thread blocks can cooperate and synchronize as they execute.
 */
  __pyx_tuple__1185 = PyTuple_Pack(16, __pyx_n_s_f, __pyx_n_s_gridDimX_2, __pyx_n_s_gridDimY_2, __pyx_n_s_gridDimZ_2, __pyx_n_s_blockDimX_2, __pyx_n_s_blockDimY_2, __pyx_n_s_blockDimZ_2, __pyx_n_s_sharedMemBytes_2, __pyx_n_s_hStream_2, __pyx_n_s_kernelParams_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cf, __pyx_n_s_pf, __pyx_n_s_ckernelParams, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1185)) __PYX_ERR(1, 30767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1185);
  __Pyx_GIVEREF(__pyx_tuple__1185);
  __pyx_codeobj__749 = (PyObject*)__Pyx_PyCode_New(10, 0, 0, 16, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1185, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLaunchCooperativeKernel, 30767, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__749)) __PYX_ERR(1, 30767, __pyx_L1_error)

  /* "cuda/cuda.pyx":30884
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchCooperativeKernelMultiDevice(launchParamsList : Optional[List[CUDA_LAUNCH_PARAMS]], unsigned int numDevices, unsigned int flags):
 *     """ Launches CUDA functions on multiple devices where thread blocks can cooperate and synchronize as they execute.
 */
  __pyx_tuple__1186 = PyTuple_Pack(8, __pyx_n_s_launchParamsList, __pyx_n_s_numDevices_2, __pyx_n_s_flags_2, __pyx_n_s_claunchParamsList, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1186)) __PYX_ERR(1, 30884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1186);
  __Pyx_GIVEREF(__pyx_tuple__1186);
  __pyx_codeobj__750 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1186, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLaunchCooperativeKernelMultiDe_2, 30884, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__750)) __PYX_ERR(1, 30884, __pyx_L1_error)

  /* "cuda/cuda.pyx":31052
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchHostFunc(hStream, fn, userData):
 *     """ Enqueues a host function call in a stream.
 */
  __pyx_tuple__1187 = PyTuple_Pack(10, __pyx_n_s_hStream_2, __pyx_n_s_fn_2, __pyx_n_s_userData_2, __pyx_n_s_cfn, __pyx_n_s_pfn, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cuserData, __pyx_n_s_cuserData_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1187)) __PYX_ERR(1, 31052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1187);
  __Pyx_GIVEREF(__pyx_tuple__1187);
  __pyx_codeobj__752 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1187, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLaunchHostFunc, 31052, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__752)) __PYX_ERR(1, 31052, __pyx_L1_error)

  /* "cuda/cuda.pyx":31136
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetBlockShape(hfunc, int x, int y, int z):
 *     """ Sets the block-dimensions for the function.
 */
  __pyx_tuple__1188 = PyTuple_Pack(7, __pyx_n_s_hfunc, __pyx_n_s_x, __pyx_n_s_y_2, __pyx_n_s_z_2, __pyx_n_s_chfunc, __pyx_n_s_phfunc, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1188)) __PYX_ERR(1, 31136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1188);
  __Pyx_GIVEREF(__pyx_tuple__1188);
  __pyx_codeobj__753 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1188, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuFuncSetBlockShape, 31136, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__753)) __PYX_ERR(1, 31136, __pyx_L1_error)

  /* "cuda/cuda.pyx":31177
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetSharedSize(hfunc, unsigned int numbytes):
 *     """ Sets the dynamic shared-memory size for the function.
 */
  __pyx_tuple__1189 = PyTuple_Pack(5, __pyx_n_s_hfunc, __pyx_n_s_numbytes, __pyx_n_s_chfunc, __pyx_n_s_phfunc, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1189)) __PYX_ERR(1, 31177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1189);
  __Pyx_GIVEREF(__pyx_tuple__1189);
  __pyx_codeobj__754 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1189, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuFuncSetSharedSize, 31177, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__754)) __PYX_ERR(1, 31177, __pyx_L1_error)

  /* "cuda/cuda.pyx":31215
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetSize(hfunc, unsigned int numbytes):
 *     """ Sets the parameter size for the function.
 */
  __pyx_codeobj__755 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1189, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuParamSetSize, 31215, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__755)) __PYX_ERR(1, 31215, __pyx_L1_error)

  /* "cuda/cuda.pyx":31252
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSeti(hfunc, int offset, unsigned int value):
 *     """ Adds an integer parameter to the function's argument list.
 */
  __pyx_tuple__1190 = PyTuple_Pack(6, __pyx_n_s_hfunc, __pyx_n_s_offset_2, __pyx_n_s_value_2, __pyx_n_s_chfunc, __pyx_n_s_phfunc, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1190)) __PYX_ERR(1, 31252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1190);
  __Pyx_GIVEREF(__pyx_tuple__1190);
  __pyx_codeobj__756 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1190, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuParamSeti, 31252, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__756)) __PYX_ERR(1, 31252, __pyx_L1_error)

  /* "cuda/cuda.pyx":31292
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetf(hfunc, int offset, float value):
 *     """ Adds a floating-point parameter to the function's argument list.
 */
  __pyx_codeobj__757 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1190, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuParamSetf, 31292, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__757)) __PYX_ERR(1, 31292, __pyx_L1_error)

  /* "cuda/cuda.pyx":31332
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetv(hfunc, int offset, ptr, unsigned int numbytes):
 *     """ Adds arbitrary data to the function's argument list.
 */
  __pyx_tuple__1191 = PyTuple_Pack(9, __pyx_n_s_hfunc, __pyx_n_s_offset_2, __pyx_n_s_ptr_2, __pyx_n_s_numbytes, __pyx_n_s_chfunc, __pyx_n_s_phfunc, __pyx_n_s_cptr, __pyx_n_s_cptr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1191)) __PYX_ERR(1, 31332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1191);
  __Pyx_GIVEREF(__pyx_tuple__1191);
  __pyx_codeobj__758 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1191, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuParamSetv, 31332, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__758)) __PYX_ERR(1, 31332, __pyx_L1_error)

  /* "cuda/cuda.pyx":31376
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunch(f):
 *     """ Launches a CUDA function.
 */
  __pyx_tuple__1192 = PyTuple_Pack(4, __pyx_n_s_f, __pyx_n_s_cf, __pyx_n_s_pf, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1192)) __PYX_ERR(1, 31376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1192);
  __Pyx_GIVEREF(__pyx_tuple__1192);
  __pyx_codeobj__759 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1192, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLaunch, 31376, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__759)) __PYX_ERR(1, 31376, __pyx_L1_error)

  /* "cuda/cuda.pyx":31424
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchGrid(f, int grid_width, int grid_height):
 *     """ Launches a CUDA function.
 */
  __pyx_tuple__1193 = PyTuple_Pack(6, __pyx_n_s_f, __pyx_n_s_grid_width, __pyx_n_s_grid_height, __pyx_n_s_cf, __pyx_n_s_pf, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1193)) __PYX_ERR(1, 31424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1193);
  __Pyx_GIVEREF(__pyx_tuple__1193);
  __pyx_codeobj__760 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1193, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLaunchGrid, 31424, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__760)) __PYX_ERR(1, 31424, __pyx_L1_error)

  /* "cuda/cuda.pyx":31476
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchGridAsync(f, int grid_width, int grid_height, hStream):
 *     """ Launches a CUDA function.
 */
  __pyx_tuple__1194 = PyTuple_Pack(9, __pyx_n_s_f, __pyx_n_s_grid_width, __pyx_n_s_grid_height, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cf, __pyx_n_s_pf, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1194)) __PYX_ERR(1, 31476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1194);
  __Pyx_GIVEREF(__pyx_tuple__1194);
  __pyx_codeobj__761 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1194, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuLaunchGridAsync, 31476, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__761)) __PYX_ERR(1, 31476, __pyx_L1_error)

  /* "cuda/cuda.pyx":31545
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetTexRef(hfunc, int texunit, hTexRef):
 *     """ Adds a texture-reference to the function's argument list.
 */
  __pyx_tuple__1195 = PyTuple_Pack(8, __pyx_n_s_hfunc, __pyx_n_s_texunit, __pyx_n_s_hTexRef, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_chfunc, __pyx_n_s_phfunc, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1195)) __PYX_ERR(1, 31545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1195);
  __Pyx_GIVEREF(__pyx_tuple__1195);
  __pyx_codeobj__762 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1195, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuParamSetTexRef, 31545, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__762)) __PYX_ERR(1, 31545, __pyx_L1_error)

  /* "cuda/cuda.pyx":31592
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetSharedMemConfig(hfunc, config not None : CUsharedconfig):
 *     """ Sets the shared memory configuration for a device function.
 */
  __pyx_codeobj__763 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1178, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuFuncSetSharedMemConfig, 31592, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__763)) __PYX_ERR(1, 31592, __pyx_L1_error)

  /* "cuda/cuda.pyx":31662
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphCreate(unsigned int flags):
 *     """ Creates a graph.
 */
  __pyx_tuple__1196 = PyTuple_Pack(3, __pyx_n_s_flags_2, __pyx_n_s_phGraph, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1196)) __PYX_ERR(1, 31662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1196);
  __Pyx_GIVEREF(__pyx_tuple__1196);
  __pyx_codeobj__764 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1196, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphCreate, 31662, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__764)) __PYX_ERR(1, 31662, __pyx_L1_error)

  /* "cuda/cuda.pyx":31688
 *     return (CUresult(err), phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddKernelNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_KERNEL_NODE_PARAMS]):
 *     """ Creates a kernel execution node and adds it to a graph.
 */
  __pyx_tuple__1197 = PyTuple_Pack(13, __pyx_n_s_hGraph, __pyx_n_s_dependencies, __pyx_n_s_numDependencies, __pyx_n_s_nodeParams, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_phGraphNode, __pyx_n_s_cdependencies, __pyx_n_s_idx, __pyx_n_s_cnodeParams_ptr, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1197)) __PYX_ERR(1, 31688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1197);
  __Pyx_GIVEREF(__pyx_tuple__1197);
  __pyx_codeobj__765 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphAddKernelNode, 31688, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__765)) __PYX_ERR(1, 31688, __pyx_L1_error)

  /* "cuda/cuda.pyx":31805
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeGetParams(hNode):
 *     """ Returns a kernel node's parameters.
 */
  __pyx_tuple__1198 = PyTuple_Pack(5, __pyx_n_s_hNode, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_nodeParams, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1198)) __PYX_ERR(1, 31805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1198);
  __Pyx_GIVEREF(__pyx_tuple__1198);
  __pyx_codeobj__766 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1198, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphKernelNodeGetParams, 31805, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__766)) __PYX_ERR(1, 31805, __pyx_L1_error)

  /* "cuda/cuda.pyx":31849
 *     return (CUresult(err), nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeSetParams(hNode, nodeParams : Optional[CUDA_KERNEL_NODE_PARAMS]):
 *     """ Sets a kernel node's parameters.
 */
  __pyx_tuple__1199 = PyTuple_Pack(6, __pyx_n_s_hNode, __pyx_n_s_nodeParams, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_cnodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1199)) __PYX_ERR(1, 31849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1199);
  __Pyx_GIVEREF(__pyx_tuple__1199);
  __pyx_codeobj__767 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphKernelNodeSetParams, 31849, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__767)) __PYX_ERR(1, 31849, __pyx_L1_error)

  /* "cuda/cuda.pyx":31884
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemcpyNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, copyParams : Optional[CUDA_MEMCPY3D], ctx):
 *     """ Creates a memcpy node and adds it to a graph.
 */
  __pyx_tuple__1200 = PyTuple_Pack(16, __pyx_n_s_hGraph, __pyx_n_s_dependencies, __pyx_n_s_numDependencies, __pyx_n_s_copyParams_2, __pyx_n_s_ctx_2, __pyx_n_s_cctx, __pyx_n_s_pctx, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_phGraphNode, __pyx_n_s_cdependencies, __pyx_n_s_idx, __pyx_n_s_ccopyParams_ptr, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1200)) __PYX_ERR(1, 31884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1200);
  __Pyx_GIVEREF(__pyx_tuple__1200);
  __pyx_codeobj__768 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 16, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1200, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphAddMemcpyNode, 31884, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__768)) __PYX_ERR(1, 31884, __pyx_L1_error)

  /* "cuda/cuda.pyx":31969
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemcpyNodeGetParams(hNode):
 *     """ Returns a memcpy node's parameters.
 */
  __pyx_codeobj__769 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1198, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphMemcpyNodeGetParams, 31969, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__769)) __PYX_ERR(1, 31969, __pyx_L1_error)

  /* "cuda/cuda.pyx":32004
 *     return (CUresult(err), nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemcpyNodeSetParams(hNode, nodeParams : Optional[CUDA_MEMCPY3D]):
 *     """ Sets a memcpy node's parameters.
 */
  __pyx_codeobj__770 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphMemcpyNodeSetParams, 32004, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__770)) __PYX_ERR(1, 32004, __pyx_L1_error)

  /* "cuda/cuda.pyx":32039
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemsetNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, memsetParams : Optional[CUDA_MEMSET_NODE_PARAMS], ctx):
 *     """ Creates a memset node and adds it to a graph.
 */
  __pyx_tuple__1201 = PyTuple_Pack(16, __pyx_n_s_hGraph, __pyx_n_s_dependencies, __pyx_n_s_numDependencies, __pyx_n_s_memsetParams, __pyx_n_s_ctx_2, __pyx_n_s_cctx, __pyx_n_s_pctx, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_phGraphNode, __pyx_n_s_cdependencies, __pyx_n_s_idx, __pyx_n_s_cmemsetParams_ptr, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1201)) __PYX_ERR(1, 32039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1201);
  __Pyx_GIVEREF(__pyx_tuple__1201);
  __pyx_codeobj__771 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 16, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1201, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphAddMemsetNode, 32039, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__771)) __PYX_ERR(1, 32039, __pyx_L1_error)

  /* "cuda/cuda.pyx":32114
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemsetNodeGetParams(hNode):
 *     """ Returns a memset node's parameters.
 */
  __pyx_codeobj__772 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1198, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphMemsetNodeGetParams, 32114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__772)) __PYX_ERR(1, 32114, __pyx_L1_error)

  /* "cuda/cuda.pyx":32149
 *     return (CUresult(err), nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemsetNodeSetParams(hNode, nodeParams : Optional[CUDA_MEMSET_NODE_PARAMS]):
 *     """ Sets a memset node's parameters.
 */
  __pyx_codeobj__773 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphMemsetNodeSetParams, 32149, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__773)) __PYX_ERR(1, 32149, __pyx_L1_error)

  /* "cuda/cuda.pyx":32184
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddHostNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_HOST_NODE_PARAMS]):
 *     """ Creates a host execution node and adds it to a graph.
 */
  __pyx_codeobj__774 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphAddHostNode, 32184, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__774)) __PYX_ERR(1, 32184, __pyx_L1_error)

  /* "cuda/cuda.pyx":32248
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphHostNodeGetParams(hNode):
 *     """ Returns a host node's parameters.
 */
  __pyx_codeobj__775 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1198, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphHostNodeGetParams, 32248, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__775)) __PYX_ERR(1, 32248, __pyx_L1_error)

  /* "cuda/cuda.pyx":32283
 *     return (CUresult(err), nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphHostNodeSetParams(hNode, nodeParams : Optional[CUDA_HOST_NODE_PARAMS]):
 *     """ Sets a host node's parameters.
 */
  __pyx_codeobj__776 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphHostNodeSetParams, 32283, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__776)) __PYX_ERR(1, 32283, __pyx_L1_error)

  /* "cuda/cuda.pyx":32318
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddChildGraphNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, childGraph):
 *     """ Creates a child graph node and adds it to a graph.
 */
  __pyx_tuple__1202 = PyTuple_Pack(14, __pyx_n_s_hGraph, __pyx_n_s_dependencies, __pyx_n_s_numDependencies, __pyx_n_s_childGraph, __pyx_n_s_cchildGraph, __pyx_n_s_pchildGraph, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_phGraphNode, __pyx_n_s_cdependencies, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1202)) __PYX_ERR(1, 32318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1202);
  __Pyx_GIVEREF(__pyx_tuple__1202);
  __pyx_codeobj__777 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1202, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphAddChildGraphNode, 32318, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__777)) __PYX_ERR(1, 32318, __pyx_L1_error)

  /* "cuda/cuda.pyx":32393
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphChildGraphNodeGetGraph(hNode):
 *     """ Gets a handle to the embedded graph of a child graph node.
 */
  __pyx_tuple__1203 = PyTuple_Pack(5, __pyx_n_s_hNode, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_phGraph, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1203)) __PYX_ERR(1, 32393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1203);
  __Pyx_GIVEREF(__pyx_tuple__1203);
  __pyx_codeobj__778 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1203, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphChildGraphNodeGetGraph, 32393, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__778)) __PYX_ERR(1, 32393, __pyx_L1_error)

  /* "cuda/cuda.pyx":32433
 *     return (CUresult(err), phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEmptyNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies):
 *     """ Creates an empty node and adds it to a graph.
 */
  __pyx_tuple__1204 = PyTuple_Pack(11, __pyx_n_s_hGraph, __pyx_n_s_dependencies, __pyx_n_s_numDependencies, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_phGraphNode, __pyx_n_s_cdependencies, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1204)) __PYX_ERR(1, 32433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1204);
  __Pyx_GIVEREF(__pyx_tuple__1204);
  __pyx_codeobj__779 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1204, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphAddEmptyNode, 32433, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__779)) __PYX_ERR(1, 32433, __pyx_L1_error)

  /* "cuda/cuda.pyx":32497
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventRecordNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, event):
 *     """ Creates an event record node and adds it to a graph.
 */
  __pyx_tuple__1205 = PyTuple_Pack(14, __pyx_n_s_hGraph, __pyx_n_s_dependencies, __pyx_n_s_numDependencies, __pyx_n_s_event_2, __pyx_n_s_cevent, __pyx_n_s_pevent, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_phGraphNode, __pyx_n_s_cdependencies, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1205)) __PYX_ERR(1, 32497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1205);
  __Pyx_GIVEREF(__pyx_tuple__1205);
  __pyx_codeobj__780 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1205, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphAddEventRecordNode, 32497, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__780)) __PYX_ERR(1, 32497, __pyx_L1_error)

  /* "cuda/cuda.pyx":32569
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventRecordNodeGetEvent(hNode):
 *     """ Returns the event associated with an event record node.
 */
  __pyx_tuple__1206 = PyTuple_Pack(5, __pyx_n_s_hNode, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_event_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1206)) __PYX_ERR(1, 32569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1206);
  __Pyx_GIVEREF(__pyx_tuple__1206);
  __pyx_codeobj__781 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1206, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphEventRecordNodeGetEvent, 32569, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__781)) __PYX_ERR(1, 32569, __pyx_L1_error)

  /* "cuda/cuda.pyx":32604
 *     return (CUresult(err), event_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventRecordNodeSetEvent(hNode, event):
 *     """ Sets an event record node's event.
 */
  __pyx_tuple__1207 = PyTuple_Pack(7, __pyx_n_s_hNode, __pyx_n_s_event_2, __pyx_n_s_cevent, __pyx_n_s_pevent, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1207)) __PYX_ERR(1, 32604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1207);
  __Pyx_GIVEREF(__pyx_tuple__1207);
  __pyx_codeobj__782 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1207, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphEventRecordNodeSetEvent, 32604, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__782)) __PYX_ERR(1, 32604, __pyx_L1_error)

  /* "cuda/cuda.pyx":32647
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventWaitNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, event):
 *     """ Creates an event wait node and adds it to a graph.
 */
  __pyx_codeobj__783 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1205, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphAddEventWaitNode, 32647, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__783)) __PYX_ERR(1, 32647, __pyx_L1_error)

  /* "cuda/cuda.pyx":32721
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventWaitNodeGetEvent(hNode):
 *     """ Returns the event associated with an event wait node.
 */
  __pyx_codeobj__784 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1206, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphEventWaitNodeGetEvent, 32721, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__784)) __PYX_ERR(1, 32721, __pyx_L1_error)

  /* "cuda/cuda.pyx":32756
 *     return (CUresult(err), event_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventWaitNodeSetEvent(hNode, event):
 *     """ Sets an event wait node's event.
 */
  __pyx_codeobj__785 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1207, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphEventWaitNodeSetEvent, 32756, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__785)) __PYX_ERR(1, 32756, __pyx_L1_error)

  /* "cuda/cuda.pyx":32799
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresSignalNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]):
 *     """ Creates an external semaphore signal node and adds it to a graph.
 */
  __pyx_codeobj__786 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphAddExternalSemaphoresSign_2, 32799, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__786)) __PYX_ERR(1, 32799, __pyx_L1_error)

  /* "cuda/cuda.pyx":32864
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresSignalNodeGetParams(hNode):
 *     """ Returns an external semaphore signal node's parameters.
 */
  __pyx_tuple__1208 = PyTuple_Pack(5, __pyx_n_s_hNode, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_params_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1208)) __PYX_ERR(1, 32864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1208);
  __Pyx_GIVEREF(__pyx_tuple__1208);
  __pyx_codeobj__787 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1208, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExternalSemaphoresSignalN, 32864, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__787)) __PYX_ERR(1, 32864, __pyx_L1_error)

  /* "cuda/cuda.pyx":32905
 *     return (CUresult(err), params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresSignalNodeSetParams(hNode, nodeParams : Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]):
 *     """ Sets an external semaphore signal node's parameters.
 */
  __pyx_codeobj__788 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExternalSemaphoresSignalN_2, 32905, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__788)) __PYX_ERR(1, 32905, __pyx_L1_error)

  /* "cuda/cuda.pyx":32941
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresWaitNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]):
 *     """ Creates an external semaphore wait node and adds it to a graph.
 */
  __pyx_codeobj__789 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphAddExternalSemaphoresWait_2, 32941, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__789)) __PYX_ERR(1, 32941, __pyx_L1_error)

  /* "cuda/cuda.pyx":33006
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresWaitNodeGetParams(hNode):
 *     """ Returns an external semaphore wait node's parameters.
 */
  __pyx_codeobj__790 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1208, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExternalSemaphoresWaitNod, 33006, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__790)) __PYX_ERR(1, 33006, __pyx_L1_error)

  /* "cuda/cuda.pyx":33047
 *     return (CUresult(err), params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresWaitNodeSetParams(hNode, nodeParams : Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]):
 *     """ Sets an external semaphore wait node's parameters.
 */
  __pyx_codeobj__791 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExternalSemaphoresWaitNod_2, 33047, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__791)) __PYX_ERR(1, 33047, __pyx_L1_error)

  /* "cuda/cuda.pyx":33083
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddBatchMemOpNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]):
 *     """ Creates a batch memory operation node and adds it to a graph.
 */
  __pyx_codeobj__792 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphAddBatchMemOpNode, 33083, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__792)) __PYX_ERR(1, 33083, __pyx_L1_error)

  /* "cuda/cuda.pyx":33151
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphBatchMemOpNodeGetParams(hNode):
 *     """ Returns a batch mem op node's parameters.
 */
  __pyx_tuple__1209 = PyTuple_Pack(5, __pyx_n_s_hNode, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_nodeParams_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1209)) __PYX_ERR(1, 33151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1209);
  __Pyx_GIVEREF(__pyx_tuple__1209);
  __pyx_codeobj__793 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1209, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphBatchMemOpNodeGetParams, 33151, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__793)) __PYX_ERR(1, 33151, __pyx_L1_error)

  /* "cuda/cuda.pyx":33191
 *     return (CUresult(err), nodeParams_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphBatchMemOpNodeSetParams(hNode, nodeParams : Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]):
 *     """ Sets a batch mem op node's parameters.
 */
  __pyx_codeobj__794 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphBatchMemOpNodeSetParams, 33191, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__794)) __PYX_ERR(1, 33191, __pyx_L1_error)

  /* "cuda/cuda.pyx":33229
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecBatchMemOpNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]):
 *     """ Sets the parameters for a batch mem op node in the given graphExec.
 */
  __pyx_tuple__1210 = PyTuple_Pack(9, __pyx_n_s_hGraphExec, __pyx_n_s_hNode, __pyx_n_s_nodeParams, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_chGraphExec, __pyx_n_s_phGraphExec, __pyx_n_s_cnodeParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1210)) __PYX_ERR(1, 33229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1210);
  __Pyx_GIVEREF(__pyx_tuple__1210);
  __pyx_codeobj__795 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1210, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExecBatchMemOpNodeSetPara, 33229, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__795)) __PYX_ERR(1, 33229, __pyx_L1_error)

  /* "cuda/cuda.pyx":33298
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemAllocNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_MEM_ALLOC_NODE_PARAMS]):
 *     """ Creates an allocation node and adds it to a graph.
 */
  __pyx_codeobj__796 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphAddMemAllocNode, 33298, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__796)) __PYX_ERR(1, 33298, __pyx_L1_error)

  /* "cuda/cuda.pyx":33402
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemAllocNodeGetParams(hNode):
 *     """ Returns a memory alloc node's parameters.
 */
  __pyx_codeobj__797 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1208, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphMemAllocNodeGetParams, 33402, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__797)) __PYX_ERR(1, 33402, __pyx_L1_error)

  /* "cuda/cuda.pyx":33440
 *     return (CUresult(err), params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemFreeNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, dptr):
 *     """ Creates a memory free node and adds it to a graph.
 */
  __pyx_tuple__1211 = PyTuple_Pack(14, __pyx_n_s_hGraph, __pyx_n_s_dependencies, __pyx_n_s_numDependencies, __pyx_n_s_dptr_2, __pyx_n_s_cdptr, __pyx_n_s_pdptr, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_phGraphNode, __pyx_n_s_cdependencies, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1211)) __PYX_ERR(1, 33440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1211);
  __Pyx_GIVEREF(__pyx_tuple__1211);
  __pyx_codeobj__798 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1211, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphAddMemFreeNode, 33440, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__798)) __PYX_ERR(1, 33440, __pyx_L1_error)

  /* "cuda/cuda.pyx":33529
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemFreeNodeGetParams(hNode):
 *     """ Returns a memory free node's parameters.
 */
  __pyx_tuple__1212 = PyTuple_Pack(5, __pyx_n_s_hNode, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_dptr_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1212)) __PYX_ERR(1, 33529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1212);
  __Pyx_GIVEREF(__pyx_tuple__1212);
  __pyx_codeobj__799 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1212, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphMemFreeNodeGetParams, 33529, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__799)) __PYX_ERR(1, 33529, __pyx_L1_error)

  /* "cuda/cuda.pyx":33564
 *     return (CUresult(err), dptr_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGraphMemTrim(device):
 *     """ Free unused memory that was cached on the specified device for use with graphs back to the OS.
 */
  __pyx_tuple__1213 = PyTuple_Pack(4, __pyx_n_s_device, __pyx_n_s_cdevice, __pyx_n_s_pdevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1213)) __PYX_ERR(1, 33564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1213);
  __Pyx_GIVEREF(__pyx_tuple__1213);
  __pyx_codeobj__800 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1213, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGraphMemTrim, 33564, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__800)) __PYX_ERR(1, 33564, __pyx_L1_error)

  /* "cuda/cuda.pyx":33598
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetGraphMemAttribute(device, attr not None : CUgraphMem_attribute):
 *     """ Query asynchronous allocation attributes related to graphs.
 */
  __pyx_tuple__1214 = PyTuple_Pack(8, __pyx_n_s_device, __pyx_n_s_attr, __pyx_n_s_cdevice, __pyx_n_s_pdevice, __pyx_n_s_cattr, __pyx_n_s_cvalue, __pyx_n_s_cvalue_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1214)) __PYX_ERR(1, 33598, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1214);
  __Pyx_GIVEREF(__pyx_tuple__1214);
  __pyx_codeobj__801 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1214, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGetGraphMemAttribute, 33598, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__801)) __PYX_ERR(1, 33598, __pyx_L1_error)

  /* "cuda/cuda.pyx":33652
 *     return (CUresult(err), cvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceSetGraphMemAttribute(device, attr not None : CUgraphMem_attribute, value):
 *     """ Set asynchronous allocation attributes related to graphs.
 */
  __pyx_tuple__1215 = PyTuple_Pack(9, __pyx_n_s_device, __pyx_n_s_attr, __pyx_n_s_value_2, __pyx_n_s_cdevice, __pyx_n_s_pdevice, __pyx_n_s_cattr, __pyx_n_s_cvalue, __pyx_n_s_cvalue_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1215)) __PYX_ERR(1, 33652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1215);
  __Pyx_GIVEREF(__pyx_tuple__1215);
  __pyx_codeobj__802 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1215, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceSetGraphMemAttribute, 33652, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__802)) __PYX_ERR(1, 33652, __pyx_L1_error)

  /* "cuda/cuda.pyx":33699
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphClone(originalGraph):
 *     """ Clones a graph.
 */
  __pyx_tuple__1216 = PyTuple_Pack(5, __pyx_n_s_originalGraph, __pyx_n_s_coriginalGraph, __pyx_n_s_poriginalGraph, __pyx_n_s_phGraphClone, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1216)) __PYX_ERR(1, 33699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1216);
  __Pyx_GIVEREF(__pyx_tuple__1216);
  __pyx_codeobj__803 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1216, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphClone, 33699, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__803)) __PYX_ERR(1, 33699, __pyx_L1_error)

  /* "cuda/cuda.pyx":33740
 *     return (CUresult(err), phGraphClone)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeFindInClone(hOriginalNode, hClonedGraph):
 *     """ Finds a cloned version of a node.
 */
  __pyx_tuple__1217 = PyTuple_Pack(8, __pyx_n_s_hOriginalNode, __pyx_n_s_hClonedGraph, __pyx_n_s_chClonedGraph, __pyx_n_s_phClonedGraph, __pyx_n_s_chOriginalNode, __pyx_n_s_phOriginalNode, __pyx_n_s_phNode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1217)) __PYX_ERR(1, 33740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1217);
  __Pyx_GIVEREF(__pyx_tuple__1217);
  __pyx_codeobj__804 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1217, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphNodeFindInClone, 33740, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__804)) __PYX_ERR(1, 33740, __pyx_L1_error)

  /* "cuda/cuda.pyx":33793
 *     return (CUresult(err), phNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetType(hNode):
 *     """ Returns a node's type.
 */
  __pyx_tuple__1218 = PyTuple_Pack(5, __pyx_n_s_hNode, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_typename, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1218)) __PYX_ERR(1, 33793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1218);
  __Pyx_GIVEREF(__pyx_tuple__1218);
  __pyx_codeobj__805 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1218, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphNodeGetType, 33793, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__805)) __PYX_ERR(1, 33793, __pyx_L1_error)

  /* "cuda/cuda.pyx":33828
 *     return (CUresult(err), CUgraphNodeType(typename))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetNodes(hGraph, size_t numNodes = 0):
 *     """ Returns a graph's nodes.
 */
  __pyx_tuple__1219 = PyTuple_Pack(9, __pyx_n_s_hGraph, __pyx_n_s_numNodes, __pyx_n_s_graph_length, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_cnodes, __pyx_n_s_pynodes, __pyx_n_s_err, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1219)) __PYX_ERR(1, 33828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1219);
  __Pyx_GIVEREF(__pyx_tuple__1219);
  __pyx_codeobj__806 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1219, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphGetNodes, 33828, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__806)) __PYX_ERR(1, 33828, __pyx_L1_error)

  /* "cuda/cuda.pyx":33882
 *     return (CUresult(err), pynodes, numNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetRootNodes(hGraph, size_t numRootNodes = 0):
 *     """ Returns a graph's root nodes.
 */
  __pyx_tuple__1220 = PyTuple_Pack(9, __pyx_n_s_hGraph, __pyx_n_s_numRootNodes, __pyx_n_s_graph_length, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_crootNodes, __pyx_n_s_pyrootNodes, __pyx_n_s_err, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1220)) __PYX_ERR(1, 33882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1220);
  __Pyx_GIVEREF(__pyx_tuple__1220);
  __pyx_codeobj__807 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1220, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphGetRootNodes, 33882, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__807)) __PYX_ERR(1, 33882, __pyx_L1_error)

  /* "cuda/cuda.pyx":33936
 *     return (CUresult(err), pyrootNodes, numRootNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetEdges(hGraph, size_t numEdges = 0):
 *     """ Returns a graph's dependency edges.
 */
  __pyx_tuple__1221 = PyTuple_Pack(12, __pyx_n_s_hGraph, __pyx_n_s_numEdges, __pyx_n_s_graph_length, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_cfrom, __pyx_n_s_pyfrom, __pyx_n_s_cto, __pyx_n_s_pyto, __pyx_n_s_err, __pyx_n_s_idx, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1221)) __PYX_ERR(1, 33936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1221);
  __Pyx_GIVEREF(__pyx_tuple__1221);
  __pyx_codeobj__808 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1221, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphGetEdges, 33936, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__808)) __PYX_ERR(1, 33936, __pyx_L1_error)

  /* "cuda/cuda.pyx":34004
 *     return (CUresult(err), pyfrom_, pyto, numEdges)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetEdges_v2(hGraph, size_t numEdges = 0):
 *     """ Returns a graph's dependency edges (12.3+)
 */
  __pyx_tuple__1222 = PyTuple_Pack(15, __pyx_n_s_hGraph, __pyx_n_s_numEdges, __pyx_n_s_graph_length, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_cfrom, __pyx_n_s_pyfrom, __pyx_n_s_cto, __pyx_n_s_pyto, __pyx_n_s_cedgeData, __pyx_n_s_pyedgeData, __pyx_n_s_err, __pyx_n_s_idx, __pyx_n_s_idx, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1222)) __PYX_ERR(1, 34004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1222);
  __Pyx_GIVEREF(__pyx_tuple__1222);
  __pyx_codeobj__809 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 15, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1222, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphGetEdges_v2, 34004, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__809)) __PYX_ERR(1, 34004, __pyx_L1_error)

  /* "cuda/cuda.pyx":34089
 *     return (CUresult(err), pyfrom_, pyto, pyedgeData, numEdges)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependencies(hNode, size_t numDependencies = 0):
 *     """ Returns a node's dependencies.
 */
  __pyx_tuple__1223 = PyTuple_Pack(9, __pyx_n_s_hNode, __pyx_n_s_numDependencies, __pyx_n_s_graph_length, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_cdependencies, __pyx_n_s_pydependencies, __pyx_n_s_err, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1223)) __PYX_ERR(1, 34089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1223);
  __Pyx_GIVEREF(__pyx_tuple__1223);
  __pyx_codeobj__810 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1223, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphNodeGetDependencies, 34089, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__810)) __PYX_ERR(1, 34089, __pyx_L1_error)

  /* "cuda/cuda.pyx":34144
 *     return (CUresult(err), pydependencies, numDependencies)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependencies_v2(hNode, size_t numDependencies = 0):
 *     """ Returns a node's dependencies (12.3+)
 */
  __pyx_tuple__1224 = PyTuple_Pack(12, __pyx_n_s_hNode, __pyx_n_s_numDependencies, __pyx_n_s_graph_length, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_cdependencies, __pyx_n_s_pydependencies, __pyx_n_s_cedgeData, __pyx_n_s_pyedgeData, __pyx_n_s_err, __pyx_n_s_idx, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1224)) __PYX_ERR(1, 34144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1224);
  __Pyx_GIVEREF(__pyx_tuple__1224);
  __pyx_codeobj__811 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1224, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphNodeGetDependencies_v2, 34144, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__811)) __PYX_ERR(1, 34144, __pyx_L1_error)

  /* "cuda/cuda.pyx":34216
 *     return (CUresult(err), pydependencies, pyedgeData, numDependencies)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependentNodes(hNode, size_t numDependentNodes = 0):
 *     """ Returns a node's dependent nodes.
 */
  __pyx_tuple__1225 = PyTuple_Pack(9, __pyx_n_s_hNode, __pyx_n_s_numDependentNodes, __pyx_n_s_graph_length, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_cdependentNodes, __pyx_n_s_pydependentNodes, __pyx_n_s_err, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1225)) __PYX_ERR(1, 34216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1225);
  __Pyx_GIVEREF(__pyx_tuple__1225);
  __pyx_codeobj__812 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1225, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphNodeGetDependentNodes, 34216, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__812)) __PYX_ERR(1, 34216, __pyx_L1_error)

  /* "cuda/cuda.pyx":34271
 *     return (CUresult(err), pydependentNodes, numDependentNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependentNodes_v2(hNode, size_t numDependentNodes = 0):
 *     """ Returns a node's dependent nodes (12.3+)
 */
  __pyx_tuple__1226 = PyTuple_Pack(12, __pyx_n_s_hNode, __pyx_n_s_numDependentNodes, __pyx_n_s_graph_length, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_cdependentNodes, __pyx_n_s_pydependentNodes, __pyx_n_s_cedgeData, __pyx_n_s_pyedgeData, __pyx_n_s_err, __pyx_n_s_idx, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1226)) __PYX_ERR(1, 34271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1226);
  __Pyx_GIVEREF(__pyx_tuple__1226);
  __pyx_codeobj__813 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1226, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphNodeGetDependentNodes_v2, 34271, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__813)) __PYX_ERR(1, 34271, __pyx_L1_error)

  /* "cuda/cuda.pyx":34343
 *     return (CUresult(err), pydependentNodes, pyedgeData, numDependentNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], size_t numDependencies):
 *     """ Adds dependency edges to a graph.
 */
  __pyx_tuple__1227 = PyTuple_Pack(13, __pyx_n_s_hGraph, __pyx_n_s_from, __pyx_n_s_to, __pyx_n_s_numDependencies, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_cfrom, __pyx_n_s_idx, __pyx_n_s_cto, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1227)) __PYX_ERR(1, 34343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1227);
  __Pyx_GIVEREF(__pyx_tuple__1227);
  __pyx_codeobj__814 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1227, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphAddDependencies, 34343, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__814)) __PYX_ERR(1, 34343, __pyx_L1_error)

  /* "cuda/cuda.pyx":34412
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies_v2(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], edgeData : Optional[List[CUgraphEdgeData]], size_t numDependencies):
 *     """ Adds dependency edges to a graph (12.3+)
 */
  __pyx_tuple__1228 = PyTuple_Pack(16, __pyx_n_s_hGraph, __pyx_n_s_from, __pyx_n_s_to, __pyx_n_s_edgeData, __pyx_n_s_numDependencies, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_cfrom, __pyx_n_s_idx, __pyx_n_s_cto, __pyx_n_s_cedgeData, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1228)) __PYX_ERR(1, 34412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1228);
  __Pyx_GIVEREF(__pyx_tuple__1228);
  __pyx_codeobj__817 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 16, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1228, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphAddDependencies_v2, 34412, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__817)) __PYX_ERR(1, 34412, __pyx_L1_error)

  /* "cuda/cuda.pyx":34496
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], size_t numDependencies):
 *     """ Removes dependency edges from a graph.
 */
  __pyx_codeobj__819 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1227, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphRemoveDependencies, 34496, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__819)) __PYX_ERR(1, 34496, __pyx_L1_error)

  /* "cuda/cuda.pyx":34569
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies_v2(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], edgeData : Optional[List[CUgraphEdgeData]], size_t numDependencies):
 *     """ Removes dependency edges from a graph (12.3+)
 */
  __pyx_codeobj__820 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 16, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1228, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphRemoveDependencies_v2, 34569, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__820)) __PYX_ERR(1, 34569, __pyx_L1_error)

  /* "cuda/cuda.pyx":34659
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDestroyNode(hNode):
 *     """ Remove a node from the graph.
 */
  __pyx_tuple__1229 = PyTuple_Pack(4, __pyx_n_s_hNode, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1229)) __PYX_ERR(1, 34659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1229);
  __Pyx_GIVEREF(__pyx_tuple__1229);
  __pyx_codeobj__821 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1229, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphDestroyNode, 34659, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__821)) __PYX_ERR(1, 34659, __pyx_L1_error)

  /* "cuda/cuda.pyx":34695
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphInstantiate(hGraph, unsigned long long flags):
 *     """ Creates an executable graph from a graph.
 */
  __pyx_tuple__1230 = PyTuple_Pack(6, __pyx_n_s_hGraph, __pyx_n_s_flags_2, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_phGraphExec, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1230)) __PYX_ERR(1, 34695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1230);
  __Pyx_GIVEREF(__pyx_tuple__1230);
  __pyx_codeobj__822 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1230, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphInstantiate, 34695, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__822)) __PYX_ERR(1, 34695, __pyx_L1_error)

  /* "cuda/cuda.pyx":34795
 *     return (CUresult(err), phGraphExec)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphInstantiateWithParams(hGraph, instantiateParams : Optional[CUDA_GRAPH_INSTANTIATE_PARAMS]):
 *     """ Creates an executable graph from a graph.
 */
  __pyx_tuple__1231 = PyTuple_Pack(7, __pyx_n_s_hGraph, __pyx_n_s_instantiateParams, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_phGraphExec, __pyx_n_s_cinstantiateParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1231)) __PYX_ERR(1, 34795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1231);
  __Pyx_GIVEREF(__pyx_tuple__1231);
  __pyx_codeobj__823 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1231, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphInstantiateWithParams, 34795, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__823)) __PYX_ERR(1, 34795, __pyx_L1_error)

  /* "cuda/cuda.pyx":34936
 *     return (CUresult(err), phGraphExec)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecGetFlags(hGraphExec):
 *     """ Query the instantiation flags of an executable graph.
 */
  __pyx_tuple__1232 = PyTuple_Pack(5, __pyx_n_s_hGraphExec, __pyx_n_s_chGraphExec, __pyx_n_s_phGraphExec, __pyx_n_s_flags_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1232)) __PYX_ERR(1, 34936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1232);
  __Pyx_GIVEREF(__pyx_tuple__1232);
  __pyx_codeobj__824 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1232, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExecGetFlags, 34936, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__824)) __PYX_ERR(1, 34936, __pyx_L1_error)

  /* "cuda/cuda.pyx":34974
 *     return (CUresult(err), flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecKernelNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_KERNEL_NODE_PARAMS]):
 *     """ Sets the parameters for a kernel node in the given graphExec.
 */
  __pyx_codeobj__825 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1210, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExecKernelNodeSetParams, 34974, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__825)) __PYX_ERR(1, 34974, __pyx_L1_error)

  /* "cuda/cuda.pyx":35053
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecMemcpyNodeSetParams(hGraphExec, hNode, copyParams : Optional[CUDA_MEMCPY3D], ctx):
 *     """ Sets the parameters for a memcpy node in the given graphExec.
 */
  __pyx_tuple__1233 = PyTuple_Pack(12, __pyx_n_s_hGraphExec, __pyx_n_s_hNode, __pyx_n_s_copyParams_2, __pyx_n_s_ctx_2, __pyx_n_s_cctx, __pyx_n_s_pctx, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_chGraphExec, __pyx_n_s_phGraphExec, __pyx_n_s_ccopyParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1233)) __PYX_ERR(1, 35053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1233);
  __Pyx_GIVEREF(__pyx_tuple__1233);
  __pyx_codeobj__826 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1233, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExecMemcpyNodeSetParams, 35053, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__826)) __PYX_ERR(1, 35053, __pyx_L1_error)

  /* "cuda/cuda.pyx":35127
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecMemsetNodeSetParams(hGraphExec, hNode, memsetParams : Optional[CUDA_MEMSET_NODE_PARAMS], ctx):
 *     """ Sets the parameters for a memset node in the given graphExec.
 */
  __pyx_tuple__1234 = PyTuple_Pack(12, __pyx_n_s_hGraphExec, __pyx_n_s_hNode, __pyx_n_s_memsetParams, __pyx_n_s_ctx_2, __pyx_n_s_cctx, __pyx_n_s_pctx, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_chGraphExec, __pyx_n_s_phGraphExec, __pyx_n_s_cmemsetParams_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1234)) __PYX_ERR(1, 35127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1234);
  __Pyx_GIVEREF(__pyx_tuple__1234);
  __pyx_codeobj__827 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1234, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExecMemsetNodeSetParams, 35127, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__827)) __PYX_ERR(1, 35127, __pyx_L1_error)

  /* "cuda/cuda.pyx":35201
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecHostNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_HOST_NODE_PARAMS]):
 *     """ Sets the parameters for a host node in the given graphExec.
 */
  __pyx_codeobj__828 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1210, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExecHostNodeSetParams, 35201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__828)) __PYX_ERR(1, 35201, __pyx_L1_error)

  /* "cuda/cuda.pyx":35254
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecChildGraphNodeSetParams(hGraphExec, hNode, childGraph):
 *     """ Updates node parameters in the child graph node in the given graphExec.
 */
  __pyx_tuple__1235 = PyTuple_Pack(10, __pyx_n_s_hGraphExec, __pyx_n_s_hNode, __pyx_n_s_childGraph, __pyx_n_s_cchildGraph, __pyx_n_s_pchildGraph, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_chGraphExec, __pyx_n_s_phGraphExec, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1235)) __PYX_ERR(1, 35254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1235);
  __Pyx_GIVEREF(__pyx_tuple__1235);
  __pyx_codeobj__829 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1235, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExecChildGraphNodeSetPara, 35254, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__829)) __PYX_ERR(1, 35254, __pyx_L1_error)

  /* "cuda/cuda.pyx":35323
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecEventRecordNodeSetEvent(hGraphExec, hNode, event):
 *     """ Sets the event for an event record node in the given graphExec.
 */
  __pyx_tuple__1236 = PyTuple_Pack(10, __pyx_n_s_hGraphExec, __pyx_n_s_hNode, __pyx_n_s_event_2, __pyx_n_s_cevent, __pyx_n_s_pevent, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_chGraphExec, __pyx_n_s_phGraphExec, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1236)) __PYX_ERR(1, 35323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1236);
  __Pyx_GIVEREF(__pyx_tuple__1236);
  __pyx_codeobj__830 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1236, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExecEventRecordNodeSetEve, 35323, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__830)) __PYX_ERR(1, 35323, __pyx_L1_error)

  /* "cuda/cuda.pyx":35385
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecEventWaitNodeSetEvent(hGraphExec, hNode, event):
 *     """ Sets the event for an event wait node in the given graphExec.
 */
  __pyx_codeobj__831 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1236, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExecEventWaitNodeSetEvent, 35385, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__831)) __PYX_ERR(1, 35385, __pyx_L1_error)

  /* "cuda/cuda.pyx":35447
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecExternalSemaphoresSignalNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]):
 *     """ Sets the parameters for an external semaphore signal node in the given graphExec.
 */
  __pyx_codeobj__832 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1210, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExecExternalSemaphoresSig, 35447, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__832)) __PYX_ERR(1, 35447, __pyx_L1_error)

  /* "cuda/cuda.pyx":35505
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecExternalSemaphoresWaitNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]):
 *     """ Sets the parameters for an external semaphore wait node in the given graphExec.
 */
  __pyx_codeobj__833 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1210, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExecExternalSemaphoresWai, 35505, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__833)) __PYX_ERR(1, 35505, __pyx_L1_error)

  /* "cuda/cuda.pyx":35563
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeSetEnabled(hGraphExec, hNode, unsigned int isEnabled):
 *     """ Enables or disables the specified node in the given graphExec.
 */
  __pyx_tuple__1237 = PyTuple_Pack(8, __pyx_n_s_hGraphExec, __pyx_n_s_hNode, __pyx_n_s_isEnabled, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_chGraphExec, __pyx_n_s_phGraphExec, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1237)) __PYX_ERR(1, 35563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1237);
  __Pyx_GIVEREF(__pyx_tuple__1237);
  __pyx_codeobj__834 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1237, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphNodeSetEnabled, 35563, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__834)) __PYX_ERR(1, 35563, __pyx_L1_error)

  /* "cuda/cuda.pyx":35630
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetEnabled(hGraphExec, hNode):
 *     """ Query whether a node in the given graphExec is enabled.
 */
  __pyx_tuple__1238 = PyTuple_Pack(8, __pyx_n_s_hGraphExec, __pyx_n_s_hNode, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_chGraphExec, __pyx_n_s_phGraphExec, __pyx_n_s_isEnabled, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1238)) __PYX_ERR(1, 35630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1238);
  __Pyx_GIVEREF(__pyx_tuple__1238);
  __pyx_codeobj__835 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1238, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphNodeGetEnabled, 35630, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__835)) __PYX_ERR(1, 35630, __pyx_L1_error)

  /* "cuda/cuda.pyx":35687
 *     return (CUresult(err), isEnabled)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphUpload(hGraphExec, hStream):
 *     """ Uploads an executable graph in a stream.
 */
  __pyx_tuple__1239 = PyTuple_Pack(7, __pyx_n_s_hGraphExec, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_chGraphExec, __pyx_n_s_phGraphExec, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1239)) __PYX_ERR(1, 35687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1239);
  __Pyx_GIVEREF(__pyx_tuple__1239);
  __pyx_codeobj__836 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1239, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphUpload, 35687, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__836)) __PYX_ERR(1, 35687, __pyx_L1_error)

  /* "cuda/cuda.pyx":35734
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphLaunch(hGraphExec, hStream):
 *     """ Launches an executable graph in a stream.
 */
  __pyx_codeobj__837 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1239, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphLaunch, 35734, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__837)) __PYX_ERR(1, 35734, __pyx_L1_error)

  /* "cuda/cuda.pyx":35786
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecDestroy(hGraphExec):
 *     """ Destroys an executable graph.
 */
  __pyx_tuple__1240 = PyTuple_Pack(4, __pyx_n_s_hGraphExec, __pyx_n_s_chGraphExec, __pyx_n_s_phGraphExec, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1240)) __PYX_ERR(1, 35786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1240);
  __Pyx_GIVEREF(__pyx_tuple__1240);
  __pyx_codeobj__838 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1240, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExecDestroy, 35786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__838)) __PYX_ERR(1, 35786, __pyx_L1_error)

  /* "cuda/cuda.pyx":35820
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDestroy(hGraph):
 *     """ Destroys a graph.
 */
  __pyx_tuple__1241 = PyTuple_Pack(4, __pyx_n_s_hGraph, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1241)) __PYX_ERR(1, 35820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1241);
  __Pyx_GIVEREF(__pyx_tuple__1241);
  __pyx_codeobj__839 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1241, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphDestroy, 35820, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__839)) __PYX_ERR(1, 35820, __pyx_L1_error)

  /* "cuda/cuda.pyx":35852
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecUpdate(hGraphExec, hGraph):
 *     """ Check whether an executable graph can be updated with a graph and perform the update if possible.
 */
  __pyx_tuple__1242 = PyTuple_Pack(8, __pyx_n_s_hGraphExec, __pyx_n_s_hGraph, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_chGraphExec, __pyx_n_s_phGraphExec, __pyx_n_s_resultInfo, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1242)) __PYX_ERR(1, 35852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1242);
  __Pyx_GIVEREF(__pyx_tuple__1242);
  __pyx_codeobj__840 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1242, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExecUpdate, 35852, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__840)) __PYX_ERR(1, 35852, __pyx_L1_error)

  /* "cuda/cuda.pyx":36024
 *     return (CUresult(err), resultInfo)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeCopyAttributes(dst, src):
 *     """ Copies attributes from source node to destination node.
 */
  __pyx_codeobj__841 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphKernelNodeCopyAttributes, 36024, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__841)) __PYX_ERR(1, 36024, __pyx_L1_error)

  /* "cuda/cuda.pyx":36069
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeGetAttribute(hNode, attr not None : CUkernelNodeAttrID):
 *     """ Queries node attribute.
 */
  __pyx_tuple__1243 = PyTuple_Pack(7, __pyx_n_s_hNode, __pyx_n_s_attr, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_cattr, __pyx_n_s_value_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1243)) __PYX_ERR(1, 36069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1243);
  __Pyx_GIVEREF(__pyx_tuple__1243);
  __pyx_codeobj__842 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1243, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphKernelNodeGetAttribute, 36069, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__842)) __PYX_ERR(1, 36069, __pyx_L1_error)

  /* "cuda/cuda.pyx":36108
 *     return (CUresult(err), value_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeSetAttribute(hNode, attr not None : CUkernelNodeAttrID, value : Optional[CUkernelNodeAttrValue]):
 *     """ Sets node attribute.
 */
  __pyx_tuple__1244 = PyTuple_Pack(8, __pyx_n_s_hNode, __pyx_n_s_attr, __pyx_n_s_value_2, __pyx_n_s_chNode, __pyx_n_s_phNode, __pyx_n_s_cattr, __pyx_n_s_cvalue_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1244)) __PYX_ERR(1, 36108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1244);
  __Pyx_GIVEREF(__pyx_tuple__1244);
  __pyx_codeobj__843 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1244, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphKernelNodeSetAttribute, 36108, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__843)) __PYX_ERR(1, 36108, __pyx_L1_error)

  /* "cuda/cuda.pyx":36147
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDebugDotPrint(hGraph, char* path, unsigned int flags):
 *     """ Write a DOT file describing graph structure.
 */
  __pyx_tuple__1245 = PyTuple_Pack(6, __pyx_n_s_hGraph, __pyx_n_s_path, __pyx_n_s_flags_2, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1245)) __PYX_ERR(1, 36147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1245);
  __Pyx_GIVEREF(__pyx_tuple__1245);
  __pyx_codeobj__844 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1245, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphDebugDotPrint, 36147, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__844)) __PYX_ERR(1, 36147, __pyx_L1_error)

  /* "cuda/cuda.pyx":36184
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuUserObjectCreate(ptr, destroy, unsigned int initialRefcount, unsigned int flags):
 *     """ Create a user object.
 */
  __pyx_tuple__1246 = PyTuple_Pack(10, __pyx_n_s_ptr_2, __pyx_n_s_destroy, __pyx_n_s_initialRefcount, __pyx_n_s_flags_2, __pyx_n_s_cdestroy, __pyx_n_s_pdestroy, __pyx_n_s_object_out, __pyx_n_s_cptr, __pyx_n_s_cptr_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1246)) __PYX_ERR(1, 36184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1246);
  __Pyx_GIVEREF(__pyx_tuple__1246);
  __pyx_codeobj__845 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1246, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuUserObjectCreate, 36184, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__845)) __PYX_ERR(1, 36184, __pyx_L1_error)

  /* "cuda/cuda.pyx":36241
 *     return (CUresult(err), object_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuUserObjectRetain(object, unsigned int count):
 *     """ Retain a reference to a user object.
 */
  __pyx_tuple__1247 = PyTuple_Pack(5, __pyx_n_s_object, __pyx_n_s_count_2, __pyx_n_s_cobject, __pyx_n_s_pobject, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1247)) __PYX_ERR(1, 36241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1247);
  __Pyx_GIVEREF(__pyx_tuple__1247);
  __pyx_codeobj__846 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1247, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuUserObjectRetain, 36241, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__846)) __PYX_ERR(1, 36241, __pyx_L1_error)

  /* "cuda/cuda.pyx":36280
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuUserObjectRelease(object, unsigned int count):
 *     """ Release a reference to a user object.
 */
  __pyx_codeobj__847 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1247, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuUserObjectRelease, 36280, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__847)) __PYX_ERR(1, 36280, __pyx_L1_error)

  /* "cuda/cuda.pyx":36322
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRetainUserObject(graph, object, unsigned int count, unsigned int flags):
 *     """ Retain a reference to a user object from a graph.
 */
  __pyx_tuple__1248 = PyTuple_Pack(9, __pyx_n_s_graph_2, __pyx_n_s_object, __pyx_n_s_count_2, __pyx_n_s_flags_2, __pyx_n_s_cobject, __pyx_n_s_pobject, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1248)) __PYX_ERR(1, 36322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1248);
  __Pyx_GIVEREF(__pyx_tuple__1248);
  __pyx_codeobj__848 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1248, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphRetainUserObject, 36322, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__848)) __PYX_ERR(1, 36322, __pyx_L1_error)

  /* "cuda/cuda.pyx":36376
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphReleaseUserObject(graph, object, unsigned int count):
 *     """ Release a user object reference from a graph.
 */
  __pyx_tuple__1249 = PyTuple_Pack(8, __pyx_n_s_graph_2, __pyx_n_s_object, __pyx_n_s_count_2, __pyx_n_s_cobject, __pyx_n_s_pobject, __pyx_n_s_cgraph, __pyx_n_s_pgraph, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1249)) __PYX_ERR(1, 36376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1249);
  __Pyx_GIVEREF(__pyx_tuple__1249);
  __pyx_codeobj__849 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1249, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphReleaseUserObject, 36376, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__849)) __PYX_ERR(1, 36376, __pyx_L1_error)

  /* "cuda/cuda.pyx":36425
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph.
 */
  __pyx_codeobj__850 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphAddNode, 36425, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__850)) __PYX_ERR(1, 36425, __pyx_L1_error)

  /* "cuda/cuda.pyx":36498
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode_v2(hGraph, dependencies : Optional[List[CUgraphNode]], dependencyData : Optional[List[CUgraphEdgeData]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph (12.3+)
 */
  __pyx_tuple__1250 = PyTuple_Pack(16, __pyx_n_s_hGraph, __pyx_n_s_dependencies, __pyx_n_s_dependencyData, __pyx_n_s_numDependencies, __pyx_n_s_nodeParams, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_phGraphNode, __pyx_n_s_cdependencies, __pyx_n_s_idx, __pyx_n_s_cdependencyData, __pyx_n_s_cnodeParams_ptr, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1250)) __PYX_ERR(1, 36498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1250);
  __Pyx_GIVEREF(__pyx_tuple__1250);
  __pyx_codeobj__851 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 16, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1250, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphAddNode_v2, 36498, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__851)) __PYX_ERR(1, 36498, __pyx_L1_error)

  /* "cuda/cuda.pyx":36587
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeSetParams(hNode, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Update's a graph node's parameters.
 */
  __pyx_codeobj__852 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphNodeSetParams, 36587, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__852)) __PYX_ERR(1, 36587, __pyx_L1_error)

  /* "cuda/cuda.pyx":36628
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Update's a graph node's parameters in an instantiated graph.
 */
  __pyx_codeobj__853 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1210, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphExecNodeSetParams, 36628, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__853)) __PYX_ERR(1, 36628, __pyx_L1_error)

  /* "cuda/cuda.pyx":36686
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphConditionalHandleCreate(hGraph, ctx, unsigned int defaultLaunchValue, unsigned int flags):
 *     """ Create a conditional handle.
 */
  __pyx_tuple__1251 = PyTuple_Pack(10, __pyx_n_s_hGraph, __pyx_n_s_ctx_2, __pyx_n_s_defaultLaunchValue, __pyx_n_s_flags_2, __pyx_n_s_cctx, __pyx_n_s_pctx, __pyx_n_s_chGraph, __pyx_n_s_phGraph, __pyx_n_s_pHandle_out, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1251)) __PYX_ERR(1, 36686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1251);
  __Pyx_GIVEREF(__pyx_tuple__1251);
  __pyx_codeobj__854 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1251, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphConditionalHandleCreate, 36686, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__854)) __PYX_ERR(1, 36686, __pyx_L1_error)

  /* "cuda/cuda.pyx":36745
 *     return (CUresult(err), pHandle_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxActiveBlocksPerMultiprocessor(func, int blockSize, size_t dynamicSMemSize):
 *     """ Returns occupancy of a function.
 */
  __pyx_tuple__1252 = PyTuple_Pack(7, __pyx_n_s_func_2, __pyx_n_s_blockSize, __pyx_n_s_dynamicSMemSize, __pyx_n_s_cfunc, __pyx_n_s_pfunc, __pyx_n_s_numBlocks, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1252)) __PYX_ERR(1, 36745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1252);
  __Pyx_GIVEREF(__pyx_tuple__1252);
  __pyx_codeobj__855 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1252, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuOccupancyMaxActiveBlocksPerMul, 36745, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__855)) __PYX_ERR(1, 36745, __pyx_L1_error)

  /* "cuda/cuda.pyx":36785
 *     return (CUresult(err), numBlocks)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(func, int blockSize, size_t dynamicSMemSize, unsigned int flags):
 *     """ Returns occupancy of a function.
 */
  __pyx_tuple__1253 = PyTuple_Pack(8, __pyx_n_s_func_2, __pyx_n_s_blockSize, __pyx_n_s_dynamicSMemSize, __pyx_n_s_flags_2, __pyx_n_s_cfunc, __pyx_n_s_pfunc, __pyx_n_s_numBlocks, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1253)) __PYX_ERR(1, 36785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1253);
  __Pyx_GIVEREF(__pyx_tuple__1253);
  __pyx_codeobj__856 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1253, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuOccupancyMaxActiveBlocksPerMul_2, 36785, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__856)) __PYX_ERR(1, 36785, __pyx_L1_error)

  /* "cuda/cuda.pyx":36843
 *     return (CUresult(err), numBlocks)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxPotentialBlockSize(func, blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit):
 *     """ Suggest a launch configuration with reasonable occupancy.
 */
  __pyx_tuple__1254 = PyTuple_Pack(11, __pyx_n_s_func_2, __pyx_n_s_blockSizeToDynamicSMemSize, __pyx_n_s_dynamicSMemSize, __pyx_n_s_blockSizeLimit, __pyx_n_s_cblockSizeToDynamicSMemSize, __pyx_n_s_pblockSizeToDynamicSMemSize, __pyx_n_s_cfunc, __pyx_n_s_pfunc, __pyx_n_s_minGridSize, __pyx_n_s_blockSize, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1254)) __PYX_ERR(1, 36843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1254);
  __Pyx_GIVEREF(__pyx_tuple__1254);
  __pyx_codeobj__857 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1254, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuOccupancyMaxPotentialBlockSize, 36843, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__857)) __PYX_ERR(1, 36843, __pyx_L1_error)

  /* "cuda/cuda.pyx":36920
 *     return (CUresult(err), minGridSize, blockSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxPotentialBlockSizeWithFlags(func, blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit, unsigned int flags):
 *     """ Suggest a launch configuration with reasonable occupancy.
 */
  __pyx_tuple__1255 = PyTuple_Pack(12, __pyx_n_s_func_2, __pyx_n_s_blockSizeToDynamicSMemSize, __pyx_n_s_dynamicSMemSize, __pyx_n_s_blockSizeLimit, __pyx_n_s_flags_2, __pyx_n_s_cblockSizeToDynamicSMemSize, __pyx_n_s_pblockSizeToDynamicSMemSize, __pyx_n_s_cfunc, __pyx_n_s_pfunc, __pyx_n_s_minGridSize, __pyx_n_s_blockSize, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1255)) __PYX_ERR(1, 36920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1255);
  __Pyx_GIVEREF(__pyx_tuple__1255);
  __pyx_codeobj__858 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1255, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuOccupancyMaxPotentialBlockSize_2, 36920, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__858)) __PYX_ERR(1, 36920, __pyx_L1_error)

  /* "cuda/cuda.pyx":36996
 *     return (CUresult(err), minGridSize, blockSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyAvailableDynamicSMemPerBlock(func, int numBlocks, int blockSize):
 *     """ Returns dynamic shared memory available per block when launching `numBlocks` blocks on SM.
 */
  __pyx_tuple__1256 = PyTuple_Pack(7, __pyx_n_s_func_2, __pyx_n_s_numBlocks, __pyx_n_s_blockSize, __pyx_n_s_cfunc, __pyx_n_s_pfunc, __pyx_n_s_dynamicSmemSize, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1256)) __PYX_ERR(1, 36996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1256);
  __Pyx_GIVEREF(__pyx_tuple__1256);
  __pyx_codeobj__859 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1256, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuOccupancyAvailableDynamicSMemP, 36996, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__859)) __PYX_ERR(1, 36996, __pyx_L1_error)

  /* "cuda/cuda.pyx":37032
 *     return (CUresult(err), dynamicSmemSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxPotentialClusterSize(func, config : Optional[CUlaunchConfig]):
 *     """ Given the kernel function (`func`) and launch configuration (`config`), return the maximum cluster size in `*clusterSize`.
 */
  __pyx_tuple__1257 = PyTuple_Pack(7, __pyx_n_s_func_2, __pyx_n_s_config, __pyx_n_s_cfunc, __pyx_n_s_pfunc, __pyx_n_s_clusterSize, __pyx_n_s_cconfig_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1257)) __PYX_ERR(1, 37032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1257);
  __Pyx_GIVEREF(__pyx_tuple__1257);
  __pyx_codeobj__860 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1257, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuOccupancyMaxPotentialClusterSi, 37032, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__860)) __PYX_ERR(1, 37032, __pyx_L1_error)

  /* "cuda/cuda.pyx":37080
 *     return (CUresult(err), clusterSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxActiveClusters(func, config : Optional[CUlaunchConfig]):
 *     """ Given the kernel function (`func`) and launch configuration (`config`), return the maximum number of clusters that could co-exist on the target device in `*numClusters`.
 */
  __pyx_tuple__1258 = PyTuple_Pack(7, __pyx_n_s_func_2, __pyx_n_s_config, __pyx_n_s_cfunc, __pyx_n_s_pfunc, __pyx_n_s_numClusters, __pyx_n_s_cconfig_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1258)) __PYX_ERR(1, 37080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1258);
  __Pyx_GIVEREF(__pyx_tuple__1258);
  __pyx_codeobj__861 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1258, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuOccupancyMaxActiveClusters, 37080, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__861)) __PYX_ERR(1, 37080, __pyx_L1_error)

  /* "cuda/cuda.pyx":37128
 *     return (CUresult(err), numClusters)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetArray(hTexRef, hArray, unsigned int Flags):
 *     """ Binds an array as a texture reference.
 */
  __pyx_tuple__1259 = PyTuple_Pack(8, __pyx_n_s_hTexRef, __pyx_n_s_hArray_2, __pyx_n_s_Flags_2, __pyx_n_s_chArray, __pyx_n_s_phArray, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1259)) __PYX_ERR(1, 37128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1259);
  __Pyx_GIVEREF(__pyx_tuple__1259);
  __pyx_codeobj__862 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1259, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefSetArray, 37128, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__862)) __PYX_ERR(1, 37128, __pyx_L1_error)

  /* "cuda/cuda.pyx":37179
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmappedArray(hTexRef, hMipmappedArray, unsigned int Flags):
 *     """ Binds a mipmapped array to a texture reference.
 */
  __pyx_tuple__1260 = PyTuple_Pack(8, __pyx_n_s_hTexRef, __pyx_n_s_hMipmappedArray_2, __pyx_n_s_Flags_2, __pyx_n_s_chMipmappedArray, __pyx_n_s_phMipmappedArray, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1260)) __PYX_ERR(1, 37179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1260);
  __Pyx_GIVEREF(__pyx_tuple__1260);
  __pyx_codeobj__863 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1260, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefSetMipmappedArray, 37179, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__863)) __PYX_ERR(1, 37179, __pyx_L1_error)

  /* "cuda/cuda.pyx":37230
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetAddress(hTexRef, dptr, size_t numbytes):
 *     """ Binds an address as a texture reference.
 */
  __pyx_tuple__1261 = PyTuple_Pack(9, __pyx_n_s_hTexRef, __pyx_n_s_dptr_2, __pyx_n_s_numbytes, __pyx_n_s_cdptr, __pyx_n_s_pdptr, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_ByteOffset, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1261)) __PYX_ERR(1, 37230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1261);
  __Pyx_GIVEREF(__pyx_tuple__1261);
  __pyx_codeobj__864 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1261, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefSetAddress, 37230, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__864)) __PYX_ERR(1, 37230, __pyx_L1_error)

  /* "cuda/cuda.pyx":37301
 *     return (CUresult(err), ByteOffset)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetAddress2D(hTexRef, desc : Optional[CUDA_ARRAY_DESCRIPTOR], dptr, size_t Pitch):
 *     """ Binds an address as a 2D texture reference.
 */
  __pyx_tuple__1262 = PyTuple_Pack(10, __pyx_n_s_hTexRef, __pyx_n_s_desc, __pyx_n_s_dptr_2, __pyx_n_s_Pitch, __pyx_n_s_cdptr, __pyx_n_s_pdptr, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_cdesc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1262)) __PYX_ERR(1, 37301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1262);
  __Pyx_GIVEREF(__pyx_tuple__1262);
  __pyx_codeobj__865 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1262, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefSetAddress2D, 37301, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__865)) __PYX_ERR(1, 37301, __pyx_L1_error)

  /* "cuda/cuda.pyx":37380
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetFormat(hTexRef, fmt not None : CUarray_format, int NumPackedComponents):
 *     """ Sets the format for a texture reference.
 */
  __pyx_tuple__1263 = PyTuple_Pack(7, __pyx_n_s_hTexRef, __pyx_n_s_fmt, __pyx_n_s_NumPackedComponents, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_cfmt, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1263)) __PYX_ERR(1, 37380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1263);
  __Pyx_GIVEREF(__pyx_tuple__1263);
  __pyx_codeobj__866 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1263, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefSetFormat, 37380, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__866)) __PYX_ERR(1, 37380, __pyx_L1_error)

  /* "cuda/cuda.pyx":37423
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetAddressMode(hTexRef, int dim, am not None : CUaddress_mode):
 *     """ Sets the addressing mode for a texture reference.
 */
  __pyx_tuple__1264 = PyTuple_Pack(7, __pyx_n_s_hTexRef, __pyx_n_s_dim, __pyx_n_s_am, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_cam, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1264)) __PYX_ERR(1, 37423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1264);
  __Pyx_GIVEREF(__pyx_tuple__1264);
  __pyx_codeobj__867 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1264, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefSetAddressMode, 37423, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__867)) __PYX_ERR(1, 37423, __pyx_L1_error)

  /* "cuda/cuda.pyx":37473
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetFilterMode(hTexRef, fm not None : CUfilter_mode):
 *     """ Sets the filtering mode for a texture reference.
 */
  __pyx_tuple__1265 = PyTuple_Pack(6, __pyx_n_s_hTexRef, __pyx_n_s_fm, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_cfm, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1265)) __PYX_ERR(1, 37473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1265);
  __Pyx_GIVEREF(__pyx_tuple__1265);
  __pyx_codeobj__868 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1265, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefSetFilterMode, 37473, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__868)) __PYX_ERR(1, 37473, __pyx_L1_error)

  /* "cuda/cuda.pyx":37517
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmapFilterMode(hTexRef, fm not None : CUfilter_mode):
 *     """ Sets the mipmap filtering mode for a texture reference.
 */
  __pyx_codeobj__869 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1265, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefSetMipmapFilterMode, 37517, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__869)) __PYX_ERR(1, 37517, __pyx_L1_error)

  /* "cuda/cuda.pyx":37561
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmapLevelBias(hTexRef, float bias):
 *     """ Sets the mipmap level bias for a texture reference.
 */
  __pyx_tuple__1266 = PyTuple_Pack(5, __pyx_n_s_hTexRef, __pyx_n_s_bias, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1266)) __PYX_ERR(1, 37561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1266);
  __Pyx_GIVEREF(__pyx_tuple__1266);
  __pyx_codeobj__870 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1266, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefSetMipmapLevelBias, 37561, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__870)) __PYX_ERR(1, 37561, __pyx_L1_error)

  /* "cuda/cuda.pyx":37602
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmapLevelClamp(hTexRef, float minMipmapLevelClamp, float maxMipmapLevelClamp):
 *     """ Sets the mipmap min/max mipmap level clamps for a texture reference.
 */
  __pyx_tuple__1267 = PyTuple_Pack(6, __pyx_n_s_hTexRef, __pyx_n_s_minMipmapLevelClamp_2, __pyx_n_s_maxMipmapLevelClamp_2, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1267)) __PYX_ERR(1, 37602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1267);
  __Pyx_GIVEREF(__pyx_tuple__1267);
  __pyx_codeobj__871 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1267, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefSetMipmapLevelClamp, 37602, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__871)) __PYX_ERR(1, 37602, __pyx_L1_error)

  /* "cuda/cuda.pyx":37645
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMaxAnisotropy(hTexRef, unsigned int maxAniso):
 *     """ Sets the maximum anisotropy for a texture reference.
 */
  __pyx_tuple__1268 = PyTuple_Pack(5, __pyx_n_s_hTexRef, __pyx_n_s_maxAniso, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1268)) __PYX_ERR(1, 37645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1268);
  __Pyx_GIVEREF(__pyx_tuple__1268);
  __pyx_codeobj__872 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1268, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefSetMaxAnisotropy, 37645, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__872)) __PYX_ERR(1, 37645, __pyx_L1_error)

  /* "cuda/cuda.pyx":37685
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetBorderColor(hTexRef, float pBorderColor):
 *     """ Sets the border color for a texture reference.
 */
  __pyx_tuple__1269 = PyTuple_Pack(5, __pyx_n_s_hTexRef, __pyx_n_s_pBorderColor, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1269)) __PYX_ERR(1, 37685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1269);
  __Pyx_GIVEREF(__pyx_tuple__1269);
  __pyx_codeobj__873 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1269, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefSetBorderColor, 37685, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__873)) __PYX_ERR(1, 37685, __pyx_L1_error)

  /* "cuda/cuda.pyx":37730
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetFlags(hTexRef, unsigned int Flags):
 *     """ Sets the flags for a texture reference.
 */
  __pyx_tuple__1270 = PyTuple_Pack(5, __pyx_n_s_hTexRef, __pyx_n_s_Flags_2, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1270)) __PYX_ERR(1, 37730, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1270);
  __Pyx_GIVEREF(__pyx_tuple__1270);
  __pyx_codeobj__874 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1270, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefSetFlags, 37730, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__874)) __PYX_ERR(1, 37730, __pyx_L1_error)

  /* "cuda/cuda.pyx":37785
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetAddress(hTexRef):
 *     """ Gets the address associated with a texture reference.
 */
  __pyx_tuple__1271 = PyTuple_Pack(5, __pyx_n_s_hTexRef, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_pdptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1271)) __PYX_ERR(1, 37785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1271);
  __Pyx_GIVEREF(__pyx_tuple__1271);
  __pyx_codeobj__875 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1271, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefGetAddress, 37785, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__875)) __PYX_ERR(1, 37785, __pyx_L1_error)

  /* "cuda/cuda.pyx":37824
 *     return (CUresult(err), pdptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetArray(hTexRef):
 *     """ Gets the array bound to a texture reference.
 */
  __pyx_tuple__1272 = PyTuple_Pack(5, __pyx_n_s_hTexRef, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_phArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1272)) __PYX_ERR(1, 37824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1272);
  __Pyx_GIVEREF(__pyx_tuple__1272);
  __pyx_codeobj__876 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1272, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefGetArray, 37824, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__876)) __PYX_ERR(1, 37824, __pyx_L1_error)

  /* "cuda/cuda.pyx":37863
 *     return (CUresult(err), phArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmappedArray(hTexRef):
 *     """ Gets the mipmapped array bound to a texture reference.
 */
  __pyx_tuple__1273 = PyTuple_Pack(5, __pyx_n_s_hTexRef, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_phMipmappedArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1273)) __PYX_ERR(1, 37863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1273);
  __Pyx_GIVEREF(__pyx_tuple__1273);
  __pyx_codeobj__877 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1273, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefGetMipmappedArray, 37863, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__877)) __PYX_ERR(1, 37863, __pyx_L1_error)

  /* "cuda/cuda.pyx":37903
 *     return (CUresult(err), phMipmappedArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetAddressMode(hTexRef, int dim):
 *     """ Gets the addressing mode used by a texture reference.
 */
  __pyx_tuple__1274 = PyTuple_Pack(6, __pyx_n_s_hTexRef, __pyx_n_s_dim, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_pam, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1274)) __PYX_ERR(1, 37903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1274);
  __Pyx_GIVEREF(__pyx_tuple__1274);
  __pyx_codeobj__878 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1274, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefGetAddressMode, 37903, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__878)) __PYX_ERR(1, 37903, __pyx_L1_error)

  /* "cuda/cuda.pyx":37944
 *     return (CUresult(err), CUaddress_mode(pam))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetFilterMode(hTexRef):
 *     """ Gets the filter-mode used by a texture reference.
 */
  __pyx_tuple__1275 = PyTuple_Pack(5, __pyx_n_s_hTexRef, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_pfm, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1275)) __PYX_ERR(1, 37944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1275);
  __Pyx_GIVEREF(__pyx_tuple__1275);
  __pyx_codeobj__879 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1275, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefGetFilterMode, 37944, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__879)) __PYX_ERR(1, 37944, __pyx_L1_error)

  /* "cuda/cuda.pyx":37982
 *     return (CUresult(err), CUfilter_mode(pfm))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetFormat(hTexRef):
 *     """ Gets the format used by a texture reference.
 */
  __pyx_tuple__1276 = PyTuple_Pack(6, __pyx_n_s_hTexRef, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_pFormat, __pyx_n_s_pNumChannels, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1276)) __PYX_ERR(1, 37982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1276);
  __Pyx_GIVEREF(__pyx_tuple__1276);
  __pyx_codeobj__880 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1276, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefGetFormat, 37982, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__880)) __PYX_ERR(1, 37982, __pyx_L1_error)

  /* "cuda/cuda.pyx":38024
 *     return (CUresult(err), CUarray_format(pFormat), pNumChannels)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmapFilterMode(hTexRef):
 *     """ Gets the mipmap filtering mode for a texture reference.
 */
  __pyx_codeobj__881 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1275, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefGetMipmapFilterMode, 38024, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__881)) __PYX_ERR(1, 38024, __pyx_L1_error)

  /* "cuda/cuda.pyx":38062
 *     return (CUresult(err), CUfilter_mode(pfm))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmapLevelBias(hTexRef):
 *     """ Gets the mipmap level bias for a texture reference.
 */
  __pyx_tuple__1277 = PyTuple_Pack(5, __pyx_n_s_hTexRef, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_pbias, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1277)) __PYX_ERR(1, 38062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1277);
  __Pyx_GIVEREF(__pyx_tuple__1277);
  __pyx_codeobj__882 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1277, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefGetMipmapLevelBias, 38062, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__882)) __PYX_ERR(1, 38062, __pyx_L1_error)

  /* "cuda/cuda.pyx":38101
 *     return (CUresult(err), pbias)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmapLevelClamp(hTexRef):
 *     """ Gets the min/max mipmap level clamps for a texture reference.
 */
  __pyx_tuple__1278 = PyTuple_Pack(6, __pyx_n_s_hTexRef, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_pminMipmapLevelClamp, __pyx_n_s_pmaxMipmapLevelClamp, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1278)) __PYX_ERR(1, 38101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1278);
  __Pyx_GIVEREF(__pyx_tuple__1278);
  __pyx_codeobj__883 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1278, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefGetMipmapLevelClamp, 38101, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__883)) __PYX_ERR(1, 38101, __pyx_L1_error)

  /* "cuda/cuda.pyx":38143
 *     return (CUresult(err), pminMipmapLevelClamp, pmaxMipmapLevelClamp)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMaxAnisotropy(hTexRef):
 *     """ Gets the maximum anisotropy for a texture reference.
 */
  __pyx_tuple__1279 = PyTuple_Pack(5, __pyx_n_s_hTexRef, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_pmaxAniso, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1279)) __PYX_ERR(1, 38143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1279);
  __Pyx_GIVEREF(__pyx_tuple__1279);
  __pyx_codeobj__884 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1279, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefGetMaxAnisotropy, 38143, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__884)) __PYX_ERR(1, 38143, __pyx_L1_error)

  /* "cuda/cuda.pyx":38181
 *     return (CUresult(err), pmaxAniso)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetBorderColor(hTexRef):
 *     """ Gets the border color used by a texture reference.
 */
  __pyx_tuple__1280 = PyTuple_Pack(5, __pyx_n_s_hTexRef, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_pBorderColor, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1280)) __PYX_ERR(1, 38181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1280);
  __Pyx_GIVEREF(__pyx_tuple__1280);
  __pyx_codeobj__885 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1280, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefGetBorderColor, 38181, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__885)) __PYX_ERR(1, 38181, __pyx_L1_error)

  /* "cuda/cuda.pyx":38222
 *     return (CUresult(err), pBorderColor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetFlags(hTexRef):
 *     """ Gets the flags used by a texture reference.
 */
  __pyx_tuple__1281 = PyTuple_Pack(5, __pyx_n_s_hTexRef, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_pFlags, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1281)) __PYX_ERR(1, 38222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1281);
  __Pyx_GIVEREF(__pyx_tuple__1281);
  __pyx_codeobj__886 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1281, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefGetFlags, 38222, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__886)) __PYX_ERR(1, 38222, __pyx_L1_error)

  /* "cuda/cuda.pyx":38259
 *     return (CUresult(err), pFlags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefCreate():
 *     """ Creates a texture reference.
 */
  __pyx_tuple__1282 = PyTuple_Pack(2, __pyx_n_s_pTexRef, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1282)) __PYX_ERR(1, 38259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1282);
  __Pyx_GIVEREF(__pyx_tuple__1282);
  __pyx_codeobj__887 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1282, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefCreate, 38259, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__887)) __PYX_ERR(1, 38259, __pyx_L1_error)

  /* "cuda/cuda.pyx":38287
 *     return (CUresult(err), pTexRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefDestroy(hTexRef):
 *     """ Destroys a texture reference.
 */
  __pyx_tuple__1283 = PyTuple_Pack(4, __pyx_n_s_hTexRef, __pyx_n_s_chTexRef, __pyx_n_s_phTexRef, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1283)) __PYX_ERR(1, 38287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1283);
  __Pyx_GIVEREF(__pyx_tuple__1283);
  __pyx_codeobj__888 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1283, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexRefDestroy, 38287, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__888)) __PYX_ERR(1, 38287, __pyx_L1_error)

  /* "cuda/cuda.pyx":38321
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfRefSetArray(hSurfRef, hArray, unsigned int Flags):
 *     """ Sets the CUDA array for a surface reference.
 */
  __pyx_tuple__1284 = PyTuple_Pack(8, __pyx_n_s_hSurfRef, __pyx_n_s_hArray_2, __pyx_n_s_Flags_2, __pyx_n_s_chArray, __pyx_n_s_phArray, __pyx_n_s_chSurfRef, __pyx_n_s_phSurfRef, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1284)) __PYX_ERR(1, 38321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1284);
  __Pyx_GIVEREF(__pyx_tuple__1284);
  __pyx_codeobj__889 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1284, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuSurfRefSetArray, 38321, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__889)) __PYX_ERR(1, 38321, __pyx_L1_error)

  /* "cuda/cuda.pyx":38373
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfRefGetArray(hSurfRef):
 *     """ Passes back the CUDA array bound to a surface reference.
 */
  __pyx_tuple__1285 = PyTuple_Pack(5, __pyx_n_s_hSurfRef, __pyx_n_s_chSurfRef, __pyx_n_s_phSurfRef, __pyx_n_s_phArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1285)) __PYX_ERR(1, 38373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1285);
  __Pyx_GIVEREF(__pyx_tuple__1285);
  __pyx_codeobj__890 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1285, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuSurfRefGetArray, 38373, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__890)) __PYX_ERR(1, 38373, __pyx_L1_error)

  /* "cuda/cuda.pyx":38412
 *     return (CUresult(err), phArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectCreate(pResDesc : Optional[CUDA_RESOURCE_DESC], pTexDesc : Optional[CUDA_TEXTURE_DESC], pResViewDesc : Optional[CUDA_RESOURCE_VIEW_DESC]):
 *     """ Creates a texture object.
 */
  __pyx_tuple__1286 = PyTuple_Pack(8, __pyx_n_s_pResDesc, __pyx_n_s_pTexDesc, __pyx_n_s_pResViewDesc, __pyx_n_s_pTexObject, __pyx_n_s_cpResDesc_ptr, __pyx_n_s_cpTexDesc_ptr, __pyx_n_s_cpResViewDesc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1286)) __PYX_ERR(1, 38412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1286);
  __Pyx_GIVEREF(__pyx_tuple__1286);
  __pyx_codeobj__891 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1286, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexObjectCreate, 38412, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__891)) __PYX_ERR(1, 38412, __pyx_L1_error)

  /* "cuda/cuda.pyx":38645
 *     return (CUresult(err), pTexObject)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectDestroy(texObject):
 *     """ Destroys a texture object.
 */
  __pyx_tuple__1287 = PyTuple_Pack(4, __pyx_n_s_texObject, __pyx_n_s_ctexObject, __pyx_n_s_ptexObject, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1287)) __PYX_ERR(1, 38645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1287);
  __Pyx_GIVEREF(__pyx_tuple__1287);
  __pyx_codeobj__892 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1287, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexObjectDestroy, 38645, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__892)) __PYX_ERR(1, 38645, __pyx_L1_error)

  /* "cuda/cuda.pyx":38677
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetResourceDesc(texObject):
 *     """ Returns a texture object's resource descriptor.
 */
  __pyx_tuple__1288 = PyTuple_Pack(5, __pyx_n_s_texObject, __pyx_n_s_ctexObject, __pyx_n_s_ptexObject, __pyx_n_s_pResDesc, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1288)) __PYX_ERR(1, 38677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1288);
  __Pyx_GIVEREF(__pyx_tuple__1288);
  __pyx_codeobj__893 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1288, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexObjectGetResourceDesc, 38677, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__893)) __PYX_ERR(1, 38677, __pyx_L1_error)

  /* "cuda/cuda.pyx":38713
 *     return (CUresult(err), pResDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetTextureDesc(texObject):
 *     """ Returns a texture object's texture descriptor.
 */
  __pyx_tuple__1289 = PyTuple_Pack(5, __pyx_n_s_texObject, __pyx_n_s_ctexObject, __pyx_n_s_ptexObject, __pyx_n_s_pTexDesc, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1289)) __PYX_ERR(1, 38713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1289);
  __Pyx_GIVEREF(__pyx_tuple__1289);
  __pyx_codeobj__894 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1289, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexObjectGetTextureDesc, 38713, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__894)) __PYX_ERR(1, 38713, __pyx_L1_error)

  /* "cuda/cuda.pyx":38749
 *     return (CUresult(err), pTexDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetResourceViewDesc(texObject):
 *     """ Returns a texture object's resource view descriptor.
 */
  __pyx_tuple__1290 = PyTuple_Pack(5, __pyx_n_s_texObject, __pyx_n_s_ctexObject, __pyx_n_s_ptexObject, __pyx_n_s_pResViewDesc, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1290)) __PYX_ERR(1, 38749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1290);
  __Pyx_GIVEREF(__pyx_tuple__1290);
  __pyx_codeobj__895 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1290, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTexObjectGetResourceViewDesc, 38749, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__895)) __PYX_ERR(1, 38749, __pyx_L1_error)

  /* "cuda/cuda.pyx":38786
 *     return (CUresult(err), pResViewDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectCreate(pResDesc : Optional[CUDA_RESOURCE_DESC]):
 *     """ Creates a surface object.
 */
  __pyx_tuple__1291 = PyTuple_Pack(4, __pyx_n_s_pResDesc, __pyx_n_s_pSurfObject, __pyx_n_s_cpResDesc_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1291)) __PYX_ERR(1, 38786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1291);
  __Pyx_GIVEREF(__pyx_tuple__1291);
  __pyx_codeobj__896 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1291, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuSurfObjectCreate, 38786, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__896)) __PYX_ERR(1, 38786, __pyx_L1_error)

  /* "cuda/cuda.pyx":38823
 *     return (CUresult(err), pSurfObject)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectDestroy(surfObject):
 *     """ Destroys a surface object.
 */
  __pyx_tuple__1292 = PyTuple_Pack(4, __pyx_n_s_surfObject, __pyx_n_s_csurfObject, __pyx_n_s_psurfObject, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1292)) __PYX_ERR(1, 38823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1292);
  __Pyx_GIVEREF(__pyx_tuple__1292);
  __pyx_codeobj__897 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuSurfObjectDestroy, 38823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__897)) __PYX_ERR(1, 38823, __pyx_L1_error)

  /* "cuda/cuda.pyx":38855
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectGetResourceDesc(surfObject):
 *     """ Returns a surface object's resource descriptor.
 */
  __pyx_tuple__1293 = PyTuple_Pack(5, __pyx_n_s_surfObject, __pyx_n_s_csurfObject, __pyx_n_s_psurfObject, __pyx_n_s_pResDesc, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1293)) __PYX_ERR(1, 38855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1293);
  __Pyx_GIVEREF(__pyx_tuple__1293);
  __pyx_codeobj__898 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1293, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuSurfObjectGetResourceDesc, 38855, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__898)) __PYX_ERR(1, 38855, __pyx_L1_error)

  /* "cuda/cuda.pyx":38891
 *     return (CUresult(err), pResDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeTiled(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[List[cuuint64_t]], globalStrides : Optional[List[cuuint64_t]], boxDim : Optional[List[cuuint32_t]], elementStrides : Optional[List[cuuint32_t]], interleave not None : CUtensorMapInterleave, swizzle not None : CUtensorMapSwizzle, l2Promotion not None : CUtensorMapL2promotion, oobFill not None : CUtensorMapFloatOOBfill):
 *     """ Create a tensor map descriptor object representing tiled memory region.
 */
  __pyx_tuple__1294 = PyTuple_Pack(32, __pyx_n_s_tensorDataType, __pyx_n_s_tensorRank, __pyx_n_s_globalAddress, __pyx_n_s_globalDim, __pyx_n_s_globalStrides, __pyx_n_s_boxDim, __pyx_n_s_elementStrides, __pyx_n_s_interleave, __pyx_n_s_swizzle, __pyx_n_s_l2Promotion, __pyx_n_s_oobFill, __pyx_n_s_ctensorRank, __pyx_n_s_ptensorRank, __pyx_n_s_tensorMap, __pyx_n_s_ctensorDataType, __pyx_n_s_cglobalAddress, __pyx_n_s_cglobalAddress_ptr, __pyx_n_s_cglobalDim, __pyx_n_s_idx, __pyx_n_s_cglobalStrides, __pyx_n_s_cboxDim, __pyx_n_s_celementStrides, __pyx_n_s_cinterleave, __pyx_n_s_cswizzle, __pyx_n_s_cl2Promotion, __pyx_n_s_coobFill, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1294)) __PYX_ERR(1, 38891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1294);
  __Pyx_GIVEREF(__pyx_tuple__1294);
  __pyx_codeobj__899 = (PyObject*)__Pyx_PyCode_New(11, 0, 0, 32, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1294, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTensorMapEncodeTiled, 38891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__899)) __PYX_ERR(1, 38891, __pyx_L1_error)

  /* "cuda/cuda.pyx":39121
 *     return (CUresult(err), tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeIm2col(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[List[cuuint64_t]], globalStrides : Optional[List[cuuint64_t]], pixelBoxLowerCorner : Optional[List[int]], pixelBoxUpperCorner : Optional[List[int]], channelsPerPixel, pixelsPerColumn, elementStrides : Optional[List[cuuint32_t]], interleave not None : CUtensorMapInterleave, swizzle not None : CUtensorMapSwizzle, l2Promotion not None : CUtensorMapL2promotion, oobFill not None : CUtensorMapFloatOOBfill):
 *     """ Create a tensor map descriptor object representing im2col memory region.
 */
  __pyx_tuple__1295 = PyTuple_Pack(43, __pyx_n_s_tensorDataType, __pyx_n_s_tensorRank, __pyx_n_s_globalAddress, __pyx_n_s_globalDim, __pyx_n_s_globalStrides, __pyx_n_s_pixelBoxLowerCorner, __pyx_n_s_pixelBoxUpperCorner, __pyx_n_s_channelsPerPixel, __pyx_n_s_pixelsPerColumn, __pyx_n_s_elementStrides, __pyx_n_s_interleave, __pyx_n_s_swizzle, __pyx_n_s_l2Promotion, __pyx_n_s_oobFill, __pyx_n_s_cpixelsPerColumn, __pyx_n_s_ppixelsPerColumn, __pyx_n_s_cchannelsPerPixel, __pyx_n_s_pchannelsPerPixel, __pyx_n_s_ctensorRank, __pyx_n_s_ptensorRank, __pyx_n_s_tensorMap, __pyx_n_s_ctensorDataType, __pyx_n_s_cglobalAddress, __pyx_n_s_cglobalAddress_ptr, __pyx_n_s_cglobalDim, __pyx_n_s_idx, __pyx_n_s_cglobalStrides, __pyx_n_s_cpixelBoxLowerCorner, __pyx_n_s_cpixelBoxUpperCorner, __pyx_n_s_celementStrides, __pyx_n_s_cinterleave, __pyx_n_s_cswizzle, __pyx_n_s_cl2Promotion, __pyx_n_s_coobFill, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_pypixelBoxLowerCorner, __pyx_n_s_pypixelBoxUpperCorner); if (unlikely(!__pyx_tuple__1295)) __PYX_ERR(1, 39121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1295);
  __Pyx_GIVEREF(__pyx_tuple__1295);
  __pyx_codeobj__904 = (PyObject*)__Pyx_PyCode_New(14, 0, 0, 43, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1295, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTensorMapEncodeIm2col, 39121, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__904)) __PYX_ERR(1, 39121, __pyx_L1_error)

  /* "cuda/cuda.pyx":39394
 *     return (CUresult(err), tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapReplaceAddress(tensorMap : Optional[CUtensorMap], globalAddress):
 *     """ Modify an existing tensor map descriptor with an updated global address.
 */
  __pyx_tuple__1296 = PyTuple_Pack(6, __pyx_n_s_tensorMap, __pyx_n_s_globalAddress, __pyx_n_s_ctensorMap_ptr, __pyx_n_s_cglobalAddress, __pyx_n_s_cglobalAddress_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1296)) __PYX_ERR(1, 39394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1296);
  __Pyx_GIVEREF(__pyx_tuple__1296);
  __pyx_codeobj__907 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1296, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuTensorMapReplaceAddress, 39394, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__907)) __PYX_ERR(1, 39394, __pyx_L1_error)

  /* "cuda/cuda.pyx":39428
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceCanAccessPeer(dev, peerDev):
 *     """ Queries if a device may directly access a peer device's memory.
 */
  __pyx_tuple__1297 = PyTuple_Pack(8, __pyx_n_s_dev, __pyx_n_s_peerDev, __pyx_n_s_cpeerDev, __pyx_n_s_ppeerDev, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_canAccessPeer, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1297)) __PYX_ERR(1, 39428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1297);
  __Pyx_GIVEREF(__pyx_tuple__1297);
  __pyx_codeobj__908 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1297, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceCanAccessPeer, 39428, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__908)) __PYX_ERR(1, 39428, __pyx_L1_error)

  /* "cuda/cuda.pyx":39480
 *     return (CUresult(err), canAccessPeer)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxEnablePeerAccess(peerContext, unsigned int Flags):
 *     """ Enables direct access to memory allocations in a peer context.
 */
  __pyx_tuple__1298 = PyTuple_Pack(5, __pyx_n_s_peerContext, __pyx_n_s_Flags_2, __pyx_n_s_cpeerContext, __pyx_n_s_ppeerContext, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1298)) __PYX_ERR(1, 39480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1298);
  __Pyx_GIVEREF(__pyx_tuple__1298);
  __pyx_codeobj__909 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1298, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxEnablePeerAccess, 39480, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__909)) __PYX_ERR(1, 39480, __pyx_L1_error)

  /* "cuda/cuda.pyx":39547
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDisablePeerAccess(peerContext):
 *     """ Disables direct access to memory allocations in a peer context and unregisters any registered allocations.
 */
  __pyx_tuple__1299 = PyTuple_Pack(4, __pyx_n_s_peerContext, __pyx_n_s_cpeerContext, __pyx_n_s_ppeerContext, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1299)) __PYX_ERR(1, 39547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1299);
  __Pyx_GIVEREF(__pyx_tuple__1299);
  __pyx_codeobj__910 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1299, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxDisablePeerAccess, 39547, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__910)) __PYX_ERR(1, 39547, __pyx_L1_error)

  /* "cuda/cuda.pyx":39584
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetP2PAttribute(attrib not None : CUdevice_P2PAttribute, srcDevice, dstDevice):
 *     """ Queries attributes of the link between two devices.
 */
  __pyx_tuple__1300 = PyTuple_Pack(10, __pyx_n_s_attrib, __pyx_n_s_srcDevice_2, __pyx_n_s_dstDevice_2, __pyx_n_s_cdstDevice, __pyx_n_s_pdstDevice, __pyx_n_s_csrcDevice, __pyx_n_s_psrcDevice, __pyx_n_s_value_2, __pyx_n_s_cattrib, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1300)) __PYX_ERR(1, 39584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1300);
  __Pyx_GIVEREF(__pyx_tuple__1300);
  __pyx_codeobj__911 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1300, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGetP2PAttribute, 39584, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__911)) __PYX_ERR(1, 39584, __pyx_L1_error)

  /* "cuda/cuda.pyx":39654
 *     return (CUresult(err), value)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsUnregisterResource(resource):
 *     """ Unregisters a graphics resource for access by CUDA.
 */
  __pyx_tuple__1301 = PyTuple_Pack(4, __pyx_n_s_resource_2, __pyx_n_s_cresource, __pyx_n_s_presource, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1301)) __PYX_ERR(1, 39654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1301);
  __Pyx_GIVEREF(__pyx_tuple__1301);
  __pyx_codeobj__912 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1301, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphicsUnregisterResource, 39654, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__912)) __PYX_ERR(1, 39654, __pyx_L1_error)

  /* "cuda/cuda.pyx":39690
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsSubResourceGetMappedArray(resource, unsigned int arrayIndex, unsigned int mipLevel):
 *     """ Get an array through which to access a subresource of a mapped graphics resource.
 */
  __pyx_tuple__1302 = PyTuple_Pack(7, __pyx_n_s_resource_2, __pyx_n_s_arrayIndex, __pyx_n_s_mipLevel, __pyx_n_s_cresource, __pyx_n_s_presource, __pyx_n_s_pArray_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1302)) __PYX_ERR(1, 39690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1302);
  __Pyx_GIVEREF(__pyx_tuple__1302);
  __pyx_codeobj__913 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1302, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphicsSubResourceGetMappedAr, 39690, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__913)) __PYX_ERR(1, 39690, __pyx_L1_error)

  /* "cuda/cuda.pyx":39743
 *     return (CUresult(err), pArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceGetMappedMipmappedArray(resource):
 *     """ Get a mipmapped array through which to access a mapped graphics resource.
 */
  __pyx_tuple__1303 = PyTuple_Pack(5, __pyx_n_s_resource_2, __pyx_n_s_cresource, __pyx_n_s_presource, __pyx_n_s_pMipmappedArray, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1303)) __PYX_ERR(1, 39743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1303);
  __Pyx_GIVEREF(__pyx_tuple__1303);
  __pyx_codeobj__914 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1303, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphicsResourceGetMappedMipma, 39743, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__914)) __PYX_ERR(1, 39743, __pyx_L1_error)

  /* "cuda/cuda.pyx":39785
 *     return (CUresult(err), pMipmappedArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceGetMappedPointer(resource):
 *     """ Get a device pointer through which to access a mapped graphics resource.
 */
  __pyx_tuple__1304 = PyTuple_Pack(6, __pyx_n_s_resource_2, __pyx_n_s_cresource, __pyx_n_s_presource, __pyx_n_s_pDevPtr, __pyx_n_s_pSize, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1304)) __PYX_ERR(1, 39785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1304);
  __Pyx_GIVEREF(__pyx_tuple__1304);
  __pyx_codeobj__915 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1304, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphicsResourceGetMappedPoint, 39785, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__915)) __PYX_ERR(1, 39785, __pyx_L1_error)

  /* "cuda/cuda.pyx":39827
 *     return (CUresult(err), pDevPtr, pSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceSetMapFlags(resource, unsigned int flags):
 *     """ Set usage flags for mapping a graphics resource.
 */
  __pyx_tuple__1305 = PyTuple_Pack(5, __pyx_n_s_resource_2, __pyx_n_s_flags_2, __pyx_n_s_cresource, __pyx_n_s_presource, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1305)) __PYX_ERR(1, 39827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1305);
  __Pyx_GIVEREF(__pyx_tuple__1305);
  __pyx_codeobj__916 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1305, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphicsResourceSetMapFlags, 39827, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__916)) __PYX_ERR(1, 39827, __pyx_L1_error)

  /* "cuda/cuda.pyx":39883
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsMapResources(unsigned int count, resources, hStream):
 *     """ Map graphics resources for access by CUDA.
 */
  __pyx_tuple__1306 = PyTuple_Pack(8, __pyx_n_s_count_2, __pyx_n_s_resources, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_cresources, __pyx_n_s_presources, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1306)) __PYX_ERR(1, 39883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1306);
  __Pyx_GIVEREF(__pyx_tuple__1306);
  __pyx_codeobj__917 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1306, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphicsMapResources, 39883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__917)) __PYX_ERR(1, 39883, __pyx_L1_error)

  /* "cuda/cuda.pyx":39943
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsUnmapResources(unsigned int count, resources, hStream):
 *     """ Unmap graphics resources.
 */
  __pyx_codeobj__918 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1306, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphicsUnmapResources, 39943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__918)) __PYX_ERR(1, 39943, __pyx_L1_error)

  /* "cuda/cuda.pyx":40001
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetProcAddress(char* symbol, int cudaVersion, flags):
 *     """ Returns the requested driver API function pointer.
 */
  __pyx_tuple__1307 = PyTuple_Pack(8, __pyx_n_s_symbol, __pyx_n_s_cudaVersion, __pyx_n_s_flags_2, __pyx_n_s_cflags, __pyx_n_s_pflags, __pyx_n_s_pfn, __pyx_n_s_symbolStatus, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1307)) __PYX_ERR(1, 40001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1307);
  __Pyx_GIVEREF(__pyx_tuple__1307);
  __pyx_codeobj__919 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1307, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGetProcAddress, 40001, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__919)) __PYX_ERR(1, 40001, __pyx_L1_error)

  /* "cuda/cuda.pyx":40100
 *     return (CUresult(err), pfn, CUdriverProcAddressQueryResult(symbolStatus))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpGetAttribute(attrib not None : CUcoredumpSettings):
 *     """ Allows caller to fetch a coredump attribute value for the current context.
 */
  __pyx_tuple__1308 = PyTuple_Pack(6, __pyx_n_s_attrib, __pyx_n_s_cattrib, __pyx_n_s_cvalue, __pyx_n_s_cvalue_ptr, __pyx_n_s_size_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1308)) __PYX_ERR(1, 40100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1308);
  __Pyx_GIVEREF(__pyx_tuple__1308);
  __pyx_codeobj__920 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1308, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCoredumpGetAttribute, 40100, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__920)) __PYX_ERR(1, 40100, __pyx_L1_error)

  /* "cuda/cuda.pyx":40178
 *     return (CUresult(err), cvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpGetAttributeGlobal(attrib not None : CUcoredumpSettings):
 *     """ Allows caller to fetch a coredump attribute value for the entire application.
 */
  __pyx_codeobj__921 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1308, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCoredumpGetAttributeGlobal, 40178, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__921)) __PYX_ERR(1, 40178, __pyx_L1_error)

  /* "cuda/cuda.pyx":40251
 *     return (CUresult(err), cvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpSetAttribute(attrib not None : CUcoredumpSettings, value):
 *     """ Allows caller to set a coredump attribute value for the current context.
 */
  __pyx_tuple__1309 = PyTuple_Pack(7, __pyx_n_s_attrib, __pyx_n_s_value_2, __pyx_n_s_cattrib, __pyx_n_s_cvalue, __pyx_n_s_cvalue_ptr, __pyx_n_s_size_2, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1309)) __PYX_ERR(1, 40251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1309);
  __Pyx_GIVEREF(__pyx_tuple__1309);
  __pyx_codeobj__922 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1309, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCoredumpSetAttribute, 40251, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__922)) __PYX_ERR(1, 40251, __pyx_L1_error)

  /* "cuda/cuda.pyx":40331
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpSetAttributeGlobal(attrib not None : CUcoredumpSettings, value):
 *     """ Allows caller to set a coredump attribute value globally.
 */
  __pyx_codeobj__923 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1309, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCoredumpSetAttributeGlobal, 40331, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__923)) __PYX_ERR(1, 40331, __pyx_L1_error)

  /* "cuda/cuda.pyx":40416
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetExportTable(pExportTableId : Optional[CUuuid]):
 *     """
 */
  __pyx_tuple__1310 = PyTuple_Pack(4, __pyx_n_s_pExportTableId, __pyx_n_s_ppExportTable, __pyx_n_s_cpExportTableId_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1310)) __PYX_ERR(1, 40416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1310);
  __Pyx_GIVEREF(__pyx_tuple__1310);
  __pyx_codeobj__924 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1310, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGetExportTable, 40416, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__924)) __PYX_ERR(1, 40416, __pyx_L1_error)

  /* "cuda/cuda.pyx":40437
 *     return (CUresult(err), ppExportTable)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxCreate(desc, dev, unsigned int flags):
 *     """ Creates a green context with a specified set of resources.
 */
  __pyx_tuple__1311 = PyTuple_Pack(9, __pyx_n_s_desc, __pyx_n_s_dev, __pyx_n_s_flags_2, __pyx_n_s_cdev, __pyx_n_s_pdev, __pyx_n_s_cdesc, __pyx_n_s_pdesc, __pyx_n_s_phCtx, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1311)) __PYX_ERR(1, 40437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1311);
  __Pyx_GIVEREF(__pyx_tuple__1311);
  __pyx_codeobj__925 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1311, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGreenCtxCreate, 40437, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__925)) __PYX_ERR(1, 40437, __pyx_L1_error)

  /* "cuda/cuda.pyx":40509
 *     return (CUresult(err), phCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxDestroy(hCtx):
 *     """ Destroys a green context.
 */
  __pyx_tuple__1312 = PyTuple_Pack(4, __pyx_n_s_hCtx, __pyx_n_s_chCtx, __pyx_n_s_phCtx, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1312)) __PYX_ERR(1, 40509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1312);
  __Pyx_GIVEREF(__pyx_tuple__1312);
  __pyx_codeobj__926 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1312, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGreenCtxDestroy, 40509, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__926)) __PYX_ERR(1, 40509, __pyx_L1_error)

  /* "cuda/cuda.pyx":40544
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxFromGreenCtx(hCtx):
 *     """ Converts a green context into the primary context.
 */
  __pyx_tuple__1313 = PyTuple_Pack(5, __pyx_n_s_hCtx, __pyx_n_s_chCtx, __pyx_n_s_phCtx, __pyx_n_s_pContext, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1313)) __PYX_ERR(1, 40544, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1313);
  __Pyx_GIVEREF(__pyx_tuple__1313);
  __pyx_codeobj__927 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1313, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxFromGreenCtx, 40544, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__927)) __PYX_ERR(1, 40544, __pyx_L1_error)

  /* "cuda/cuda.pyx":40588
 *     return (CUresult(err), pContext)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetDevResource(device, typename not None : CUdevResourceType):
 *     """ Get device resources.
 */
  __pyx_tuple__1314 = PyTuple_Pack(7, __pyx_n_s_device, __pyx_n_s_typename, __pyx_n_s_cdevice, __pyx_n_s_pdevice, __pyx_n_s_resource_2, __pyx_n_s_ctypename, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1314)) __PYX_ERR(1, 40588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1314);
  __Pyx_GIVEREF(__pyx_tuple__1314);
  __pyx_codeobj__928 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1314, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDeviceGetDevResource, 40588, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__928)) __PYX_ERR(1, 40588, __pyx_L1_error)

  /* "cuda/cuda.pyx":40630
 *     return (CUresult(err), resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetDevResource(hCtx, typename not None : CUdevResourceType):
 *     """ Get context resources.
 */
  __pyx_tuple__1315 = PyTuple_Pack(7, __pyx_n_s_hCtx, __pyx_n_s_typename, __pyx_n_s_chCtx, __pyx_n_s_phCtx, __pyx_n_s_resource_2, __pyx_n_s_ctypename, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1315)) __PYX_ERR(1, 40630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1315);
  __Pyx_GIVEREF(__pyx_tuple__1315);
  __pyx_codeobj__929 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1315, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuCtxGetDevResource, 40630, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__929)) __PYX_ERR(1, 40630, __pyx_L1_error)

  /* "cuda/cuda.pyx":40669
 *     return (CUresult(err), resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxGetDevResource(hCtx, typename not None : CUdevResourceType):
 *     """ Get green context resources.
 */
  __pyx_codeobj__930 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1315, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGreenCtxGetDevResource, 40669, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__930)) __PYX_ERR(1, 40669, __pyx_L1_error)

  /* "cuda/cuda.pyx":40708
 *     return (CUresult(err), resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevSmResourceSplitByCount(unsigned int nbGroups, input_ : Optional[CUdevResource], unsigned int useFlags, unsigned int minCount):
 *     """ Splits `CU_DEV_RESOURCE_TYPE_SM` resources.
 */
  __pyx_tuple__1316 = PyTuple_Pack(12, __pyx_n_s_nbGroups, __pyx_n_s_input, __pyx_n_s_useFlags, __pyx_n_s_minCount, __pyx_n_s_cresult, __pyx_n_s_pyresult, __pyx_n_s_cnbGroups, __pyx_n_s_cinput__ptr, __pyx_n_s_remaining, __pyx_n_s_err, __pyx_n_s_idx, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1316)) __PYX_ERR(1, 40708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1316);
  __Pyx_GIVEREF(__pyx_tuple__1316);
  __pyx_codeobj__931 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1316, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDevSmResourceSplitByCount, 40708, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__931)) __PYX_ERR(1, 40708, __pyx_L1_error)

  /* "cuda/cuda.pyx":40804
 *     return (CUresult(err), pyresult, cnbGroups, remaining)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevResourceGenerateDesc(resources : Optional[List[CUdevResource]], unsigned int nbResources):
 *     """ Generate a resource descriptor.
 */
  __pyx_tuple__1317 = PyTuple_Pack(8, __pyx_n_s_resources, __pyx_n_s_nbResources, __pyx_n_s_phDesc, __pyx_n_s_cresources, __pyx_n_s_idx, __pyx_n_s_err, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__1317)) __PYX_ERR(1, 40804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1317);
  __Pyx_GIVEREF(__pyx_tuple__1317);
  __pyx_codeobj__932 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1317, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuDevResourceGenerateDesc, 40804, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__932)) __PYX_ERR(1, 40804, __pyx_L1_error)

  /* "cuda/cuda.pyx":40852
 *     return (CUresult(err), phDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxRecordEvent(hCtx, hEvent):
 *     """ Records an event.
 */
  __pyx_tuple__1318 = PyTuple_Pack(7, __pyx_n_s_hCtx, __pyx_n_s_hEvent, __pyx_n_s_chEvent, __pyx_n_s_phEvent, __pyx_n_s_chCtx, __pyx_n_s_phCtx, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1318)) __PYX_ERR(1, 40852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1318);
  __Pyx_GIVEREF(__pyx_tuple__1318);
  __pyx_codeobj__934 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1318, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGreenCtxRecordEvent, 40852, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__934)) __PYX_ERR(1, 40852, __pyx_L1_error)

  /* "cuda/cuda.pyx":40904
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxWaitEvent(hCtx, hEvent):
 *     """ Make a green context wait on an event.
 */
  __pyx_codeobj__935 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1318, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGreenCtxWaitEvent, 40904, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__935)) __PYX_ERR(1, 40904, __pyx_L1_error)

  /* "cuda/cuda.pyx":40955
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetGreenCtx(hStream):
 *     """ Query the green context associated with a stream.
 */
  __pyx_tuple__1319 = PyTuple_Pack(5, __pyx_n_s_hStream_2, __pyx_n_s_chStream, __pyx_n_s_phStream, __pyx_n_s_phCtx, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1319)) __PYX_ERR(1, 40955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1319);
  __Pyx_GIVEREF(__pyx_tuple__1319);
  __pyx_codeobj__936 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1319, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuStreamGetGreenCtx, 40955, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__936)) __PYX_ERR(1, 40955, __pyx_L1_error)

  /* "cuda/cuda.pyx":41006
 *     return (CUresult(err), phCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuProfilerStart():
 *     """ Enable profiling.
 */
  __pyx_codeobj__937 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__994, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuProfilerStart, 41006, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__937)) __PYX_ERR(1, 41006, __pyx_L1_error)

  /* "cuda/cuda.pyx":41030
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuProfilerStop():
 *     """ Disable profiling.
 */
  __pyx_codeobj__938 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__994, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuProfilerStop, 41030, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__938)) __PYX_ERR(1, 41030, __pyx_L1_error)

  /* "cuda/cuda.pyx":41054
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsEGLRegisterImage(image, unsigned int flags):
 *     """ Registers an EGL image.
 */
  __pyx_tuple__1320 = PyTuple_Pack(6, __pyx_n_s_image, __pyx_n_s_flags_2, __pyx_n_s_cimage, __pyx_n_s_pimage, __pyx_n_s_pCudaResource, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1320)) __PYX_ERR(1, 41054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1320);
  __Pyx_GIVEREF(__pyx_tuple__1320);
  __pyx_codeobj__939 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1320, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphicsEGLRegisterImage, 41054, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__939)) __PYX_ERR(1, 41054, __pyx_L1_error)

  /* "cuda/cuda.pyx":41125
 *     return (CUresult(err), pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerConnect(stream):
 *     """ Connect CUDA to EGLStream as a consumer.
 */
  __pyx_tuple__1321 = PyTuple_Pack(5, __pyx_n_s_stream, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_conn, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1321)) __PYX_ERR(1, 41125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1321);
  __Pyx_GIVEREF(__pyx_tuple__1321);
  __pyx_codeobj__940 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1321, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuEGLStreamConsumerConnect, 41125, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__940)) __PYX_ERR(1, 41125, __pyx_L1_error)

  /* "cuda/cuda.pyx":41163
 *     return (CUresult(err), conn)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerConnectWithFlags(stream, unsigned int flags):
 *     """ Connect CUDA to EGLStream as a consumer with given flags.
 */
  __pyx_tuple__1322 = PyTuple_Pack(6, __pyx_n_s_stream, __pyx_n_s_flags_2, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_conn, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1322)) __PYX_ERR(1, 41163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1322);
  __Pyx_GIVEREF(__pyx_tuple__1322);
  __pyx_codeobj__941 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1322, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuEGLStreamConsumerConnectWithFl, 41163, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__941)) __PYX_ERR(1, 41163, __pyx_L1_error)

  /* "cuda/cuda.pyx":41205
 *     return (CUresult(err), conn)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerDisconnect(conn):
 *     """ Disconnect CUDA as a consumer to EGLStream .
 */
  __pyx_tuple__1323 = PyTuple_Pack(4, __pyx_n_s_conn, __pyx_n_s_cconn, __pyx_n_s_pconn, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1323)) __PYX_ERR(1, 41205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1323);
  __Pyx_GIVEREF(__pyx_tuple__1323);
  __pyx_codeobj__942 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1323, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuEGLStreamConsumerDisconnect, 41205, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__942)) __PYX_ERR(1, 41205, __pyx_L1_error)

  /* "cuda/cuda.pyx":41238
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerAcquireFrame(conn, pCudaResource, pStream, unsigned int timeout):
 *     """ Acquire an image frame from the EGLStream with CUDA as a consumer.
 */
  __pyx_tuple__1324 = PyTuple_Pack(11, __pyx_n_s_conn, __pyx_n_s_pCudaResource, __pyx_n_s_pStream, __pyx_n_s_timeout, __pyx_n_s_cpStream, __pyx_n_s_ppStream, __pyx_n_s_cpCudaResource, __pyx_n_s_ppCudaResource, __pyx_n_s_cconn, __pyx_n_s_pconn, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1324)) __PYX_ERR(1, 41238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1324);
  __Pyx_GIVEREF(__pyx_tuple__1324);
  __pyx_codeobj__943 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1324, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuEGLStreamConsumerAcquireFrame, 41238, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__943)) __PYX_ERR(1, 41238, __pyx_L1_error)

  /* "cuda/cuda.pyx":41306
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerReleaseFrame(conn, pCudaResource, pStream):
 *     """ Releases the last frame acquired from the EGLStream.
 */
  __pyx_tuple__1325 = PyTuple_Pack(10, __pyx_n_s_conn, __pyx_n_s_pCudaResource, __pyx_n_s_pStream, __pyx_n_s_cpStream, __pyx_n_s_ppStream, __pyx_n_s_cpCudaResource, __pyx_n_s_ppCudaResource, __pyx_n_s_cconn, __pyx_n_s_pconn, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1325)) __PYX_ERR(1, 41306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1325);
  __Pyx_GIVEREF(__pyx_tuple__1325);
  __pyx_codeobj__944 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1325, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuEGLStreamConsumerReleaseFrame, 41306, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__944)) __PYX_ERR(1, 41306, __pyx_L1_error)

  /* "cuda/cuda.pyx":41366
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerConnect(stream, width, height):
 *     """ Connect CUDA to EGLStream as a producer.
 */
  __pyx_tuple__1326 = PyTuple_Pack(11, __pyx_n_s_stream, __pyx_n_s_width_2, __pyx_n_s_height_2, __pyx_n_s_cheight, __pyx_n_s_pheight, __pyx_n_s_cwidth, __pyx_n_s_pwidth, __pyx_n_s_cstream, __pyx_n_s_pstream, __pyx_n_s_conn, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1326)) __PYX_ERR(1, 41366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1326);
  __Pyx_GIVEREF(__pyx_tuple__1326);
  __pyx_codeobj__945 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1326, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuEGLStreamProducerConnect, 41366, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__945)) __PYX_ERR(1, 41366, __pyx_L1_error)

  /* "cuda/cuda.pyx":41426
 *     return (CUresult(err), conn)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerDisconnect(conn):
 *     """ Disconnect CUDA as a producer to EGLStream .
 */
  __pyx_codeobj__946 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1323, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuEGLStreamProducerDisconnect, 41426, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__946)) __PYX_ERR(1, 41426, __pyx_L1_error)

  /* "cuda/cuda.pyx":41459
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerPresentFrame(conn, eglframe not None : CUeglFrame, pStream):
 *     """ Present a CUDA eglFrame to the EGLStream with CUDA as a producer.
 */
  __pyx_tuple__1327 = PyTuple_Pack(8, __pyx_n_s_conn, __pyx_n_s_eglframe, __pyx_n_s_pStream, __pyx_n_s_cpStream, __pyx_n_s_ppStream, __pyx_n_s_cconn, __pyx_n_s_pconn, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1327)) __PYX_ERR(1, 41459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1327);
  __Pyx_GIVEREF(__pyx_tuple__1327);
  __pyx_codeobj__947 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1327, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuEGLStreamProducerPresentFrame, 41459, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__947)) __PYX_ERR(1, 41459, __pyx_L1_error)

  /* "cuda/cuda.pyx":41525
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerReturnFrame(conn, eglframe : Optional[CUeglFrame], pStream):
 *     """ Return the CUDA eglFrame to the EGLStream released by the consumer.
 */
  __pyx_tuple__1328 = PyTuple_Pack(9, __pyx_n_s_conn, __pyx_n_s_eglframe, __pyx_n_s_pStream, __pyx_n_s_cpStream, __pyx_n_s_ppStream, __pyx_n_s_cconn, __pyx_n_s_pconn, __pyx_n_s_ceglframe_ptr, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1328)) __PYX_ERR(1, 41525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1328);
  __Pyx_GIVEREF(__pyx_tuple__1328);
  __pyx_codeobj__948 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1328, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuEGLStreamProducerReturnFrame, 41525, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__948)) __PYX_ERR(1, 41525, __pyx_L1_error)

  /* "cuda/cuda.pyx":41576
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceGetMappedEglFrame(resource, unsigned int index, unsigned int mipLevel):
 *     """ Get an eglFrame through which to access a registered EGL graphics resource.
 */
  __pyx_tuple__1329 = PyTuple_Pack(7, __pyx_n_s_resource_2, __pyx_n_s_index, __pyx_n_s_mipLevel, __pyx_n_s_cresource, __pyx_n_s_presource, __pyx_n_s_eglFrame, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1329)) __PYX_ERR(1, 41576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1329);
  __Pyx_GIVEREF(__pyx_tuple__1329);
  __pyx_codeobj__949 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1329, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphicsResourceGetMappedEglFr, 41576, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__949)) __PYX_ERR(1, 41576, __pyx_L1_error)

  /* "cuda/cuda.pyx":41620
 *     return (CUresult(err), eglFrame)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventCreateFromEGLSync(eglSync, unsigned int flags):
 *     """ Creates an event from EGLSync object.
 */
  __pyx_tuple__1330 = PyTuple_Pack(6, __pyx_n_s_eglSync, __pyx_n_s_flags_2, __pyx_n_s_ceglSync, __pyx_n_s_peglSync, __pyx_n_s_phEvent, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1330)) __PYX_ERR(1, 41620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1330);
  __Pyx_GIVEREF(__pyx_tuple__1330);
  __pyx_codeobj__950 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1330, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuEventCreateFromEGLSync, 41620, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__950)) __PYX_ERR(1, 41620, __pyx_L1_error)

  /* "cuda/cuda.pyx":41674
 *     return (CUresult(err), phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsGLRegisterBuffer(buffer, unsigned int Flags):
 *     """ Registers an OpenGL buffer object.
 */
  __pyx_tuple__1331 = PyTuple_Pack(6, __pyx_n_s_buffer, __pyx_n_s_Flags_2, __pyx_n_s_cbuffer, __pyx_n_s_pbuffer, __pyx_n_s_pCudaResource, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1331)) __PYX_ERR(1, 41674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1331);
  __Pyx_GIVEREF(__pyx_tuple__1331);
  __pyx_codeobj__951 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1331, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphicsGLRegisterBuffer, 41674, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__951)) __PYX_ERR(1, 41674, __pyx_L1_error)

  /* "cuda/cuda.pyx":41726
 *     return (CUresult(err), pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsGLRegisterImage(image, target, unsigned int Flags):
 *     """ Register an OpenGL texture or renderbuffer object.
 */
  __pyx_tuple__1332 = PyTuple_Pack(9, __pyx_n_s_image, __pyx_n_s_target, __pyx_n_s_Flags_2, __pyx_n_s_ctarget, __pyx_n_s_ptarget, __pyx_n_s_cimage, __pyx_n_s_pimage, __pyx_n_s_pCudaResource, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1332)) __PYX_ERR(1, 41726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1332);
  __Pyx_GIVEREF(__pyx_tuple__1332);
  __pyx_codeobj__952 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1332, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphicsGLRegisterImage, 41726, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__952)) __PYX_ERR(1, 41726, __pyx_L1_error)

  /* "cuda/cuda.pyx":41822
 *     return (CUresult(err), pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGLGetDevices(unsigned int cudaDeviceCount, deviceList not None : CUGLDeviceList):
 *     """ Gets the CUDA devices associated with the current OpenGL context.
 */
  __pyx_tuple__1333 = PyTuple_Pack(8, __pyx_n_s_cudaDeviceCount, __pyx_n_s_deviceList, __pyx_n_s_pCudaDeviceCount, __pyx_n_s_cpCudaDevices, __pyx_n_s_pypCudaDevices, __pyx_n_s_cdeviceList, __pyx_n_s_err, __pyx_n_s_idx); if (unlikely(!__pyx_tuple__1333)) __PYX_ERR(1, 41822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1333);
  __Pyx_GIVEREF(__pyx_tuple__1333);
  __pyx_codeobj__953 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1333, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGLGetDevices, 41822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__953)) __PYX_ERR(1, 41822, __pyx_L1_error)

  /* "cuda/cuda.pyx":41885
 *     return (CUresult(err), pCudaDeviceCount, pypCudaDevices)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuVDPAUGetDevice(vdpDevice, vdpGetProcAddress):
 *     """ Gets the CUDA device associated with a VDPAU device.
 */
  __pyx_tuple__1334 = PyTuple_Pack(8, __pyx_n_s_vdpDevice, __pyx_n_s_vdpGetProcAddress, __pyx_n_s_cvdpGetProcAddress, __pyx_n_s_pvdpGetProcAddress, __pyx_n_s_cvdpDevice, __pyx_n_s_pvdpDevice, __pyx_n_s_pDevice, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1334)) __PYX_ERR(1, 41885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1334);
  __Pyx_GIVEREF(__pyx_tuple__1334);
  __pyx_codeobj__954 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1334, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuVDPAUGetDevice, 41885, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__954)) __PYX_ERR(1, 41885, __pyx_L1_error)

  /* "cuda/cuda.pyx":41933
 *     return (CUresult(err), pDevice)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuVDPAUCtxCreate(unsigned int flags, device, vdpDevice, vdpGetProcAddress):
 *     """ Create a CUDA context for interoperability with VDPAU.
 */
  __pyx_tuple__1335 = PyTuple_Pack(12, __pyx_n_s_flags_2, __pyx_n_s_device, __pyx_n_s_vdpDevice, __pyx_n_s_vdpGetProcAddress, __pyx_n_s_cvdpGetProcAddress, __pyx_n_s_pvdpGetProcAddress, __pyx_n_s_cvdpDevice, __pyx_n_s_pvdpDevice, __pyx_n_s_cdevice, __pyx_n_s_pdevice, __pyx_n_s_pCtx, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1335)) __PYX_ERR(1, 41933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1335);
  __Pyx_GIVEREF(__pyx_tuple__1335);
  __pyx_codeobj__955 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1335, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuVDPAUCtxCreate, 41933, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__955)) __PYX_ERR(1, 41933, __pyx_L1_error)

  /* "cuda/cuda.pyx":41997
 *     return (CUresult(err), pCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsVDPAURegisterVideoSurface(vdpSurface, unsigned int flags):
 *     """ Registers a VDPAU VdpVideoSurface object.
 */
  __pyx_tuple__1336 = PyTuple_Pack(6, __pyx_n_s_vdpSurface, __pyx_n_s_flags_2, __pyx_n_s_cvdpSurface, __pyx_n_s_pvdpSurface, __pyx_n_s_pCudaResource, __pyx_n_s_err); if (unlikely(!__pyx_tuple__1336)) __PYX_ERR(1, 41997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1336);
  __Pyx_GIVEREF(__pyx_tuple__1336);
  __pyx_codeobj__956 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1336, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphicsVDPAURegisterVideoSurf, 41997, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__956)) __PYX_ERR(1, 41997, __pyx_L1_error)

  /* "cuda/cuda.pyx":42055
 *     return (CUresult(err), pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsVDPAURegisterOutputSurface(vdpSurface, unsigned int flags):
 *     """ Registers a VDPAU VdpOutputSurface object.
 */
  __pyx_codeobj__957 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1336, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_cuGraphicsVDPAURegisterOutputSur, 42055, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__957)) __PYX_ERR(1, 42055, __pyx_L1_error)

  /* "cuda/cuda.pyx":42113
 *     return (CUresult(err), pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def sizeof(objType):
 *     """ Returns the size of provided CUDA Python structure in bytes
 */
  __pyx_tuple__1337 = PyTuple_Pack(1, __pyx_n_s_objType); if (unlikely(!__pyx_tuple__1337)) __PYX_ERR(1, 42113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__1337);
  __Pyx_GIVEREF(__pyx_tuple__1337);
  __pyx_codeobj__958 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__1337, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_cuda_cuda_pyx, __pyx_n_s_sizeof, 42113, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__958)) __PYX_ERR(1, 42113, __pyx_L1_error)
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_RefNannyFinishContext();
  return -1;
}
/* #### Code section: init_constants ### */

static CYTHON_SMALL_CODE int __Pyx_InitConstants(void) {
  if (__Pyx_CreateStringTabAndInitStrings() < 0) __PYX_ERR(1, 1, __pyx_L1_error);
  __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_int_127 = PyInt_FromLong(127); if (unlikely(!__pyx_int_127)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_int_256 = PyInt_FromLong(256); if (unlikely(!__pyx_int_256)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_int_neg_129 = PyInt_FromLong(-129); if (unlikely(!__pyx_int_neg_129)) __PYX_ERR(1, 1, __pyx_L1_error)
  return 0;
  __pyx_L1_error:;
  return -1;
}
/* #### Code section: init_globals ### */

static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
  return 0;
}
/* #### Code section: init_module ### */

static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/

static int __Pyx_modinit_global_init_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);
  /*--- Global init code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_variable_export_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);
  /*--- Variable export code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_function_export_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);
  /*--- Function export code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_type_init_code(void) {
  __Pyx_RefNannyDeclarations
  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_ptype_4cuda_4cuda_CUcontext = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUcontext_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUcontext)) __PYX_ERR(1, 4503, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUcontext_spec, __pyx_ptype_4cuda_4cuda_CUcontext) < 0) __PYX_ERR(1, 4503, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUcontext = &__pyx_type_4cuda_4cuda_CUcontext;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUcontext) < 0) __PYX_ERR(1, 4503, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUcontext->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUcontext->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUcontext->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUcontext->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUcontext_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUcontext) < 0) __PYX_ERR(1, 4503, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUcontext) < 0) __PYX_ERR(1, 4503, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUmodule = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmodule_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmodule)) __PYX_ERR(1, 4531, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmodule_spec, __pyx_ptype_4cuda_4cuda_CUmodule) < 0) __PYX_ERR(1, 4531, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmodule = &__pyx_type_4cuda_4cuda_CUmodule;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmodule) < 0) __PYX_ERR(1, 4531, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmodule->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmodule->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmodule->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmodule->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmodule_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmodule) < 0) __PYX_ERR(1, 4531, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUmodule) < 0) __PYX_ERR(1, 4531, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUfunction = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUfunction_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUfunction)) __PYX_ERR(1, 4559, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUfunction_spec, __pyx_ptype_4cuda_4cuda_CUfunction) < 0) __PYX_ERR(1, 4559, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUfunction = &__pyx_type_4cuda_4cuda_CUfunction;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUfunction) < 0) __PYX_ERR(1, 4559, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUfunction->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUfunction->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUfunction->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUfunction->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUfunction_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUfunction) < 0) __PYX_ERR(1, 4559, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUfunction) < 0) __PYX_ERR(1, 4559, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUlibrary = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUlibrary_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUlibrary)) __PYX_ERR(1, 4587, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUlibrary_spec, __pyx_ptype_4cuda_4cuda_CUlibrary) < 0) __PYX_ERR(1, 4587, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUlibrary = &__pyx_type_4cuda_4cuda_CUlibrary;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUlibrary) < 0) __PYX_ERR(1, 4587, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUlibrary->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUlibrary->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUlibrary->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUlibrary->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUlibrary_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUlibrary) < 0) __PYX_ERR(1, 4587, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUlibrary) < 0) __PYX_ERR(1, 4587, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUkernel = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUkernel_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUkernel)) __PYX_ERR(1, 4615, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUkernel_spec, __pyx_ptype_4cuda_4cuda_CUkernel) < 0) __PYX_ERR(1, 4615, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUkernel = &__pyx_type_4cuda_4cuda_CUkernel;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUkernel) < 0) __PYX_ERR(1, 4615, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUkernel->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUkernel->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUkernel->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUkernel->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUkernel_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUkernel) < 0) __PYX_ERR(1, 4615, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUkernel) < 0) __PYX_ERR(1, 4615, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUarray = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUarray_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUarray)) __PYX_ERR(1, 4643, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUarray_spec, __pyx_ptype_4cuda_4cuda_CUarray) < 0) __PYX_ERR(1, 4643, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUarray = &__pyx_type_4cuda_4cuda_CUarray;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUarray) < 0) __PYX_ERR(1, 4643, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUarray->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUarray->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUarray->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUarray->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUarray_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUarray) < 0) __PYX_ERR(1, 4643, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUarray) < 0) __PYX_ERR(1, 4643, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUmipmappedArray = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmipmappedArray_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmipmappedArray)) __PYX_ERR(1, 4671, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmipmappedArray_spec, __pyx_ptype_4cuda_4cuda_CUmipmappedArray) < 0) __PYX_ERR(1, 4671, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmipmappedArray = &__pyx_type_4cuda_4cuda_CUmipmappedArray;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmipmappedArray) < 0) __PYX_ERR(1, 4671, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmipmappedArray->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmipmappedArray->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmipmappedArray->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmipmappedArray->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmipmappedArray_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmipmappedArray) < 0) __PYX_ERR(1, 4671, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUmipmappedArray) < 0) __PYX_ERR(1, 4671, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUtexref = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUtexref_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUtexref)) __PYX_ERR(1, 4699, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUtexref_spec, __pyx_ptype_4cuda_4cuda_CUtexref) < 0) __PYX_ERR(1, 4699, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUtexref = &__pyx_type_4cuda_4cuda_CUtexref;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUtexref) < 0) __PYX_ERR(1, 4699, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUtexref->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUtexref->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUtexref->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUtexref->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUtexref_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUtexref) < 0) __PYX_ERR(1, 4699, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUtexref) < 0) __PYX_ERR(1, 4699, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUsurfref = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUsurfref_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUsurfref)) __PYX_ERR(1, 4727, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUsurfref_spec, __pyx_ptype_4cuda_4cuda_CUsurfref) < 0) __PYX_ERR(1, 4727, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUsurfref = &__pyx_type_4cuda_4cuda_CUsurfref;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUsurfref) < 0) __PYX_ERR(1, 4727, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUsurfref->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUsurfref->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUsurfref->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUsurfref->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUsurfref_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUsurfref) < 0) __PYX_ERR(1, 4727, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUsurfref) < 0) __PYX_ERR(1, 4727, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUevent = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUevent_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUevent)) __PYX_ERR(1, 4755, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUevent_spec, __pyx_ptype_4cuda_4cuda_CUevent) < 0) __PYX_ERR(1, 4755, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUevent = &__pyx_type_4cuda_4cuda_CUevent;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUevent) < 0) __PYX_ERR(1, 4755, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUevent->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUevent->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUevent->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUevent->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUevent_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUevent) < 0) __PYX_ERR(1, 4755, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUevent) < 0) __PYX_ERR(1, 4755, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUstream = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUstream_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUstream)) __PYX_ERR(1, 4783, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUstream_spec, __pyx_ptype_4cuda_4cuda_CUstream) < 0) __PYX_ERR(1, 4783, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUstream = &__pyx_type_4cuda_4cuda_CUstream;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUstream) < 0) __PYX_ERR(1, 4783, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUstream->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUstream->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUstream->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUstream->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUstream_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUstream) < 0) __PYX_ERR(1, 4783, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUstream) < 0) __PYX_ERR(1, 4783, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUgraphicsResource = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUgraphicsResource_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUgraphicsResource)) __PYX_ERR(1, 4811, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUgraphicsResource_spec, __pyx_ptype_4cuda_4cuda_CUgraphicsResource) < 0) __PYX_ERR(1, 4811, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUgraphicsResource = &__pyx_type_4cuda_4cuda_CUgraphicsResource;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUgraphicsResource) < 0) __PYX_ERR(1, 4811, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUgraphicsResource->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUgraphicsResource->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUgraphicsResource->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUgraphicsResource->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUgraphicsResource_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphicsResource) < 0) __PYX_ERR(1, 4811, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphicsResource) < 0) __PYX_ERR(1, 4811, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUexternalMemory = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUexternalMemory_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUexternalMemory)) __PYX_ERR(1, 4839, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUexternalMemory_spec, __pyx_ptype_4cuda_4cuda_CUexternalMemory) < 0) __PYX_ERR(1, 4839, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUexternalMemory = &__pyx_type_4cuda_4cuda_CUexternalMemory;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUexternalMemory) < 0) __PYX_ERR(1, 4839, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUexternalMemory->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUexternalMemory->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUexternalMemory->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUexternalMemory->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUexternalMemory_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUexternalMemory) < 0) __PYX_ERR(1, 4839, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUexternalMemory) < 0) __PYX_ERR(1, 4839, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUexternalSemaphore = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUexternalSemaphore_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUexternalSemaphore)) __PYX_ERR(1, 4867, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUexternalSemaphore_spec, __pyx_ptype_4cuda_4cuda_CUexternalSemaphore) < 0) __PYX_ERR(1, 4867, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUexternalSemaphore = &__pyx_type_4cuda_4cuda_CUexternalSemaphore;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUexternalSemaphore) < 0) __PYX_ERR(1, 4867, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUexternalSemaphore->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUexternalSemaphore->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUexternalSemaphore->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUexternalSemaphore->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUexternalSemaphore_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUexternalSemaphore) < 0) __PYX_ERR(1, 4867, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUexternalSemaphore) < 0) __PYX_ERR(1, 4867, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUgraph = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUgraph_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUgraph)) __PYX_ERR(1, 4895, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUgraph_spec, __pyx_ptype_4cuda_4cuda_CUgraph) < 0) __PYX_ERR(1, 4895, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUgraph = &__pyx_type_4cuda_4cuda_CUgraph;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUgraph) < 0) __PYX_ERR(1, 4895, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUgraph->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUgraph->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUgraph->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUgraph->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUgraph_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUgraph) < 0) __PYX_ERR(1, 4895, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUgraph) < 0) __PYX_ERR(1, 4895, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUgraphNode = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUgraphNode_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUgraphNode)) __PYX_ERR(1, 4923, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUgraphNode_spec, __pyx_ptype_4cuda_4cuda_CUgraphNode) < 0) __PYX_ERR(1, 4923, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUgraphNode = &__pyx_type_4cuda_4cuda_CUgraphNode;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUgraphNode) < 0) __PYX_ERR(1, 4923, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUgraphNode->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUgraphNode->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUgraphNode->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUgraphNode->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUgraphNode_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphNode) < 0) __PYX_ERR(1, 4923, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphNode) < 0) __PYX_ERR(1, 4923, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUgraphExec = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUgraphExec_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUgraphExec)) __PYX_ERR(1, 4951, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUgraphExec_spec, __pyx_ptype_4cuda_4cuda_CUgraphExec) < 0) __PYX_ERR(1, 4951, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUgraphExec = &__pyx_type_4cuda_4cuda_CUgraphExec;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUgraphExec) < 0) __PYX_ERR(1, 4951, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUgraphExec->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUgraphExec->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUgraphExec->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUgraphExec->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUgraphExec_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphExec) < 0) __PYX_ERR(1, 4951, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphExec) < 0) __PYX_ERR(1, 4951, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUmemoryPool = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemoryPool_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemoryPool)) __PYX_ERR(1, 4979, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemoryPool_spec, __pyx_ptype_4cuda_4cuda_CUmemoryPool) < 0) __PYX_ERR(1, 4979, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemoryPool = &__pyx_type_4cuda_4cuda_CUmemoryPool;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemoryPool) < 0) __PYX_ERR(1, 4979, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemoryPool->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemoryPool->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemoryPool->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemoryPool->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemoryPool_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemoryPool) < 0) __PYX_ERR(1, 4979, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUmemoryPool) < 0) __PYX_ERR(1, 4979, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUuserObject = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUuserObject_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUuserObject)) __PYX_ERR(1, 5007, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUuserObject_spec, __pyx_ptype_4cuda_4cuda_CUuserObject) < 0) __PYX_ERR(1, 5007, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUuserObject = &__pyx_type_4cuda_4cuda_CUuserObject;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUuserObject) < 0) __PYX_ERR(1, 5007, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUuserObject->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUuserObject->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUuserObject->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUuserObject->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUuserObject_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUuserObject) < 0) __PYX_ERR(1, 5007, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUuserObject) < 0) __PYX_ERR(1, 5007, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUgraphDeviceNode = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUgraphDeviceNode_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUgraphDeviceNode)) __PYX_ERR(1, 5035, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUgraphDeviceNode_spec, __pyx_ptype_4cuda_4cuda_CUgraphDeviceNode) < 0) __PYX_ERR(1, 5035, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUgraphDeviceNode = &__pyx_type_4cuda_4cuda_CUgraphDeviceNode;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUgraphDeviceNode) < 0) __PYX_ERR(1, 5035, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUgraphDeviceNode->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUgraphDeviceNode->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUgraphDeviceNode->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUgraphDeviceNode->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUgraphDeviceNode_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphDeviceNode) < 0) __PYX_ERR(1, 5035, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphDeviceNode) < 0) __PYX_ERR(1, 5035, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUasyncCallbackHandle_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle)) __PYX_ERR(1, 5063, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUasyncCallbackHandle_spec, __pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle) < 0) __PYX_ERR(1, 5063, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle = &__pyx_type_4cuda_4cuda_CUasyncCallbackHandle;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle) < 0) __PYX_ERR(1, 5063, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUasyncCallbackHandle_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle) < 0) __PYX_ERR(1, 5063, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle) < 0) __PYX_ERR(1, 5063, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUlinkState = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUlinkState_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUlinkState)) __PYX_ERR(1, 5091, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUlinkState_spec, __pyx_ptype_4cuda_4cuda_CUlinkState) < 0) __PYX_ERR(1, 5091, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUlinkState = &__pyx_type_4cuda_4cuda_CUlinkState;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUlinkState) < 0) __PYX_ERR(1, 5091, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUlinkState->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUlinkState->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUlinkState->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUlinkState->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUlinkState_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUlinkState) < 0) __PYX_ERR(1, 5091, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUlinkState) < 0) __PYX_ERR(1, 5091, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUgreenCtx = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUgreenCtx_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUgreenCtx)) __PYX_ERR(1, 5117, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUgreenCtx_spec, __pyx_ptype_4cuda_4cuda_CUgreenCtx) < 0) __PYX_ERR(1, 5117, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUgreenCtx = &__pyx_type_4cuda_4cuda_CUgreenCtx;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUgreenCtx) < 0) __PYX_ERR(1, 5117, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUgreenCtx->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUgreenCtx->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUgreenCtx->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUgreenCtx->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUgreenCtx_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUgreenCtx) < 0) __PYX_ERR(1, 5117, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUgreenCtx) < 0) __PYX_ERR(1, 5117, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUdevResourceDesc = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUdevResourceDesc_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUdevResourceDesc)) __PYX_ERR(1, 5145, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUdevResourceDesc_spec, __pyx_ptype_4cuda_4cuda_CUdevResourceDesc) < 0) __PYX_ERR(1, 5145, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUdevResourceDesc = &__pyx_type_4cuda_4cuda_CUdevResourceDesc;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUdevResourceDesc) < 0) __PYX_ERR(1, 5145, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUdevResourceDesc->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUdevResourceDesc->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUdevResourceDesc->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUdevResourceDesc->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUdevResourceDesc_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUdevResourceDesc) < 0) __PYX_ERR(1, 5145, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUdevResourceDesc) < 0) __PYX_ERR(1, 5145, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUeglStreamConnection = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUeglStreamConnection_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUeglStreamConnection)) __PYX_ERR(1, 5173, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUeglStreamConnection_spec, __pyx_ptype_4cuda_4cuda_CUeglStreamConnection) < 0) __PYX_ERR(1, 5173, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUeglStreamConnection = &__pyx_type_4cuda_4cuda_CUeglStreamConnection;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUeglStreamConnection) < 0) __PYX_ERR(1, 5173, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUeglStreamConnection->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUeglStreamConnection->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUeglStreamConnection->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUeglStreamConnection->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUeglStreamConnection_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUeglStreamConnection) < 0) __PYX_ERR(1, 5173, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUeglStreamConnection) < 0) __PYX_ERR(1, 5173, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_EGLImageKHR = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_EGLImageKHR_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_EGLImageKHR)) __PYX_ERR(1, 5201, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_EGLImageKHR_spec, __pyx_ptype_4cuda_4cuda_EGLImageKHR) < 0) __PYX_ERR(1, 5201, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_EGLImageKHR = &__pyx_type_4cuda_4cuda_EGLImageKHR;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_EGLImageKHR) < 0) __PYX_ERR(1, 5201, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_EGLImageKHR->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_EGLImageKHR->tp_dictoffset && __pyx_ptype_4cuda_4cuda_EGLImageKHR->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_EGLImageKHR->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EGLImageKHR_2, (PyObject *) __pyx_ptype_4cuda_4cuda_EGLImageKHR) < 0) __PYX_ERR(1, 5201, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_EGLImageKHR) < 0) __PYX_ERR(1, 5201, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_EGLStreamKHR = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_EGLStreamKHR_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_EGLStreamKHR)) __PYX_ERR(1, 5227, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_EGLStreamKHR_spec, __pyx_ptype_4cuda_4cuda_EGLStreamKHR) < 0) __PYX_ERR(1, 5227, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_EGLStreamKHR = &__pyx_type_4cuda_4cuda_EGLStreamKHR;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_EGLStreamKHR) < 0) __PYX_ERR(1, 5227, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_EGLStreamKHR->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_EGLStreamKHR->tp_dictoffset && __pyx_ptype_4cuda_4cuda_EGLStreamKHR->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_EGLStreamKHR->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EGLStreamKHR_2, (PyObject *) __pyx_ptype_4cuda_4cuda_EGLStreamKHR) < 0) __PYX_ERR(1, 5227, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_EGLStreamKHR) < 0) __PYX_ERR(1, 5227, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_EGLSyncKHR = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_EGLSyncKHR_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_EGLSyncKHR)) __PYX_ERR(1, 5253, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_EGLSyncKHR_spec, __pyx_ptype_4cuda_4cuda_EGLSyncKHR) < 0) __PYX_ERR(1, 5253, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_EGLSyncKHR = &__pyx_type_4cuda_4cuda_EGLSyncKHR;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_EGLSyncKHR) < 0) __PYX_ERR(1, 5253, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_EGLSyncKHR->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_EGLSyncKHR->tp_dictoffset && __pyx_ptype_4cuda_4cuda_EGLSyncKHR->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_EGLSyncKHR->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EGLSyncKHR_2, (PyObject *) __pyx_ptype_4cuda_4cuda_EGLSyncKHR) < 0) __PYX_ERR(1, 5253, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_EGLSyncKHR) < 0) __PYX_ERR(1, 5253, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUasyncCallback = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUasyncCallback_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUasyncCallback)) __PYX_ERR(1, 5279, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUasyncCallback_spec, __pyx_ptype_4cuda_4cuda_CUasyncCallback) < 0) __PYX_ERR(1, 5279, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUasyncCallback = &__pyx_type_4cuda_4cuda_CUasyncCallback;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUasyncCallback) < 0) __PYX_ERR(1, 5279, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUasyncCallback->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUasyncCallback->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUasyncCallback->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUasyncCallback->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUasyncCallback_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUasyncCallback) < 0) __PYX_ERR(1, 5279, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUasyncCallback) < 0) __PYX_ERR(1, 5279, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUhostFn = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUhostFn_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUhostFn)) __PYX_ERR(1, 5305, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUhostFn_spec, __pyx_ptype_4cuda_4cuda_CUhostFn) < 0) __PYX_ERR(1, 5305, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUhostFn = &__pyx_type_4cuda_4cuda_CUhostFn;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUhostFn) < 0) __PYX_ERR(1, 5305, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUhostFn->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUhostFn->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUhostFn->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUhostFn->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUhostFn_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUhostFn) < 0) __PYX_ERR(1, 5305, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUhostFn) < 0) __PYX_ERR(1, 5305, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUstreamCallback = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUstreamCallback_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUstreamCallback)) __PYX_ERR(1, 5331, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUstreamCallback_spec, __pyx_ptype_4cuda_4cuda_CUstreamCallback) < 0) __PYX_ERR(1, 5331, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUstreamCallback = &__pyx_type_4cuda_4cuda_CUstreamCallback;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUstreamCallback) < 0) __PYX_ERR(1, 5331, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUstreamCallback->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUstreamCallback->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUstreamCallback->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUstreamCallback->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUstreamCallback_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUstreamCallback) < 0) __PYX_ERR(1, 5331, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUstreamCallback) < 0) __PYX_ERR(1, 5331, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUoccupancyB2DSize_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize)) __PYX_ERR(1, 5357, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUoccupancyB2DSize_spec, __pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize) < 0) __PYX_ERR(1, 5357, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize = &__pyx_type_4cuda_4cuda_CUoccupancyB2DSize;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize) < 0) __PYX_ERR(1, 5357, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUoccupancyB2DSize_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize) < 0) __PYX_ERR(1, 5357, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize) < 0) __PYX_ERR(1, 5357, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUuuid_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUuuid_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUuuid_st)) __PYX_ERR(1, 5383, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUuuid_st_spec, __pyx_ptype_4cuda_4cuda_CUuuid_st) < 0) __PYX_ERR(1, 5383, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUuuid_st = &__pyx_type_4cuda_4cuda_CUuuid_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUuuid_st) < 0) __PYX_ERR(1, 5383, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUuuid_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUuuid_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUuuid_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUuuid_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUuuid_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUuuid_st) < 0) __PYX_ERR(1, 5383, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUuuid_st) < 0) __PYX_ERR(1, 5383, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemFabricHandle_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st)) __PYX_ERR(1, 5421, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemFabricHandle_st_spec, __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st) < 0) __PYX_ERR(1, 5421, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st = &__pyx_type_4cuda_4cuda_CUmemFabricHandle_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st) < 0) __PYX_ERR(1, 5421, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemFabricHandle_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st) < 0) __PYX_ERR(1, 5421, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st) < 0) __PYX_ERR(1, 5421, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUipcEventHandle_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUipcEventHandle_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUipcEventHandle_st)) __PYX_ERR(1, 5470, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUipcEventHandle_st_spec, __pyx_ptype_4cuda_4cuda_CUipcEventHandle_st) < 0) __PYX_ERR(1, 5470, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUipcEventHandle_st = &__pyx_type_4cuda_4cuda_CUipcEventHandle_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUipcEventHandle_st) < 0) __PYX_ERR(1, 5470, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUipcEventHandle_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUipcEventHandle_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUipcEventHandle_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUipcEventHandle_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUipcEventHandle_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUipcEventHandle_st) < 0) __PYX_ERR(1, 5470, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUipcEventHandle_st) < 0) __PYX_ERR(1, 5470, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUipcMemHandle_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUipcMemHandle_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUipcMemHandle_st)) __PYX_ERR(1, 5524, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUipcMemHandle_st_spec, __pyx_ptype_4cuda_4cuda_CUipcMemHandle_st) < 0) __PYX_ERR(1, 5524, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUipcMemHandle_st = &__pyx_type_4cuda_4cuda_CUipcMemHandle_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUipcMemHandle_st) < 0) __PYX_ERR(1, 5524, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUipcMemHandle_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUipcMemHandle_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUipcMemHandle_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUipcMemHandle_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUipcMemHandle_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUipcMemHandle_st) < 0) __PYX_ERR(1, 5524, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUipcMemHandle_st) < 0) __PYX_ERR(1, 5524, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUstreamMemOpWaitValueParams_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st)) __PYX_ERR(1, 5578, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUstreamMemOpWaitValueParams_st_spec, __pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st) < 0) __PYX_ERR(1, 5578, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st = &__pyx_type_4cuda_4cuda_CUstreamMemOpWaitValueParams_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st) < 0) __PYX_ERR(1, 5578, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUstreamMemOpWaitValueParams_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st) < 0) __PYX_ERR(1, 5578, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st) < 0) __PYX_ERR(1, 5578, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUstreamMemOpWriteValueParams_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st)) __PYX_ERR(1, 5719, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUstreamMemOpWriteValueParams_st_spec, __pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st) < 0) __PYX_ERR(1, 5719, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st = &__pyx_type_4cuda_4cuda_CUstreamMemOpWriteValueParams_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st) < 0) __PYX_ERR(1, 5719, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUstreamMemOpWriteValueParams_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st) < 0) __PYX_ERR(1, 5719, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st) < 0) __PYX_ERR(1, 5719, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st)) __PYX_ERR(1, 5860, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st_spec, __pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st) < 0) __PYX_ERR(1, 5860, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st = &__pyx_type_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st) < 0) __PYX_ERR(1, 5860, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUstreamMemOpFlushRemoteWritesPa, (PyObject *) __pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st) < 0) __PYX_ERR(1, 5860, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st) < 0) __PYX_ERR(1, 5860, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st)) __PYX_ERR(1, 5911, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st_spec, __pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st) < 0) __PYX_ERR(1, 5911, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st = &__pyx_type_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st) < 0) __PYX_ERR(1, 5911, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUstreamMemOpMemoryBarrierParams, (PyObject *) __pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st) < 0) __PYX_ERR(1, 5911, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st) < 0) __PYX_ERR(1, 5911, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_union_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union)) __PYX_ERR(1, 5962, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_union_spec, __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union) < 0) __PYX_ERR(1, 5962, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union = &__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_union;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union) < 0) __PYX_ERR(1, 5962, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUstreamBatchMemOpParams_union, (PyObject *) __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union) < 0) __PYX_ERR(1, 5962, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union) < 0) __PYX_ERR(1, 5962, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st)) __PYX_ERR(1, 6068, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st) < 0) __PYX_ERR(1, 6068, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st = &__pyx_type_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st) < 0) __PYX_ERR(1, 6068, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st) < 0) __PYX_ERR(1, 6068, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st) < 0) __PYX_ERR(1, 6068, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st)) __PYX_ERR(1, 6170, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 6170, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st = &__pyx_type_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 6170, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 6170, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 6170, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct0 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct0_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct0)) __PYX_ERR(1, 6274, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct0_spec, __pyx_ptype_4cuda_4cuda_anon_struct0) < 0) __PYX_ERR(1, 6274, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct0 = &__pyx_type_4cuda_4cuda_anon_struct0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct0) < 0) __PYX_ERR(1, 6274, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct0->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct0->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct0->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct0->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct0, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct0) < 0) __PYX_ERR(1, 6274, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct0) < 0) __PYX_ERR(1, 6274, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_union2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_union2_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_union2)) __PYX_ERR(1, 6313, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_union2_spec, __pyx_ptype_4cuda_4cuda_anon_union2) < 0) __PYX_ERR(1, 6313, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_union2 = &__pyx_type_4cuda_4cuda_anon_union2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_union2) < 0) __PYX_ERR(1, 6313, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_union2->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_union2->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_union2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_union2->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_union2, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_union2) < 0) __PYX_ERR(1, 6313, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_union2) < 0) __PYX_ERR(1, 6313, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUasyncNotificationInfo_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st)) __PYX_ERR(1, 6352, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUasyncNotificationInfo_st_spec, __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st) < 0) __PYX_ERR(1, 6352, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st = &__pyx_type_4cuda_4cuda_CUasyncNotificationInfo_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st) < 0) __PYX_ERR(1, 6352, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUasyncNotificationInfo_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st) < 0) __PYX_ERR(1, 6352, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st) < 0) __PYX_ERR(1, 6352, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUdevprop_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUdevprop_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUdevprop_st)) __PYX_ERR(1, 6409, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUdevprop_st_spec, __pyx_ptype_4cuda_4cuda_CUdevprop_st) < 0) __PYX_ERR(1, 6409, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUdevprop_st = &__pyx_type_4cuda_4cuda_CUdevprop_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUdevprop_st) < 0) __PYX_ERR(1, 6409, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUdevprop_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUdevprop_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUdevprop_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUdevprop_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUdevprop_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUdevprop_st) < 0) __PYX_ERR(1, 6409, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUdevprop_st) < 0) __PYX_ERR(1, 6409, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUaccessPolicyWindow_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st)) __PYX_ERR(1, 6560, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUaccessPolicyWindow_st_spec, __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st) < 0) __PYX_ERR(1, 6560, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st = &__pyx_type_4cuda_4cuda_CUaccessPolicyWindow_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st) < 0) __PYX_ERR(1, 6560, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUaccessPolicyWindow_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st) < 0) __PYX_ERR(1, 6560, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st) < 0) __PYX_ERR(1, 6560, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st)) __PYX_ERR(1, 6664, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st) < 0) __PYX_ERR(1, 6664, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st = &__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st) < 0) __PYX_ERR(1, 6664, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st) < 0) __PYX_ERR(1, 6664, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st) < 0) __PYX_ERR(1, 6664, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st)) __PYX_ERR(1, 6825, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 6825, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st = &__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 6825, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 6825, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 6825, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st)) __PYX_ERR(1, 7032, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st) < 0) __PYX_ERR(1, 7032, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st = &__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st) < 0) __PYX_ERR(1, 7032, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st) < 0) __PYX_ERR(1, 7032, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st) < 0) __PYX_ERR(1, 7032, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st)) __PYX_ERR(1, 7239, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st) < 0) __PYX_ERR(1, 7239, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st = &__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st) < 0) __PYX_ERR(1, 7239, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st) < 0) __PYX_ERR(1, 7239, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st) < 0) __PYX_ERR(1, 7239, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st)) __PYX_ERR(1, 7352, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 7352, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st = &__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 7352, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 7352, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 7352, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st)) __PYX_ERR(1, 7487, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st) < 0) __PYX_ERR(1, 7487, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st = &__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st) < 0) __PYX_ERR(1, 7487, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_HOST_NODE_PARAMS_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st) < 0) __PYX_ERR(1, 7487, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st) < 0) __PYX_ERR(1, 7487, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st)) __PYX_ERR(1, 7552, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 7552, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st = &__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 7552, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 7552, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 7552, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS)) __PYX_ERR(1, 7617, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS_spec, __pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS) < 0) __PYX_ERR(1, 7617, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS = &__pyx_type_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS) < 0) __PYX_ERR(1, 7617, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS) < 0) __PYX_ERR(1, 7617, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS) < 0) __PYX_ERR(1, 7617, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUgraphEdgeData_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st)) __PYX_ERR(1, 7737, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUgraphEdgeData_st_spec, __pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st) < 0) __PYX_ERR(1, 7737, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st = &__pyx_type_4cuda_4cuda_CUgraphEdgeData_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st) < 0) __PYX_ERR(1, 7737, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUgraphEdgeData_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st) < 0) __PYX_ERR(1, 7737, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st) < 0) __PYX_ERR(1, 7737, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st)) __PYX_ERR(1, 7838, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st) < 0) __PYX_ERR(1, 7838, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st = &__pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st) < 0) __PYX_ERR(1, 7838, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st) < 0) __PYX_ERR(1, 7838, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st) < 0) __PYX_ERR(1, 7838, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st)) __PYX_ERR(1, 7947, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap_st_spec, __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st) < 0) __PYX_ERR(1, 7947, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st = &__pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st) < 0) __PYX_ERR(1, 7947, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUlaunchMemSyncDomainMap_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st) < 0) __PYX_ERR(1, 7947, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st) < 0) __PYX_ERR(1, 7947, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct1_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct1)) __PYX_ERR(1, 8008, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct1_spec, __pyx_ptype_4cuda_4cuda_anon_struct1) < 0) __PYX_ERR(1, 8008, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct1 = &__pyx_type_4cuda_4cuda_anon_struct1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct1) < 0) __PYX_ERR(1, 8008, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct1, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct1) < 0) __PYX_ERR(1, 8008, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct1) < 0) __PYX_ERR(1, 8008, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct2_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct2)) __PYX_ERR(1, 8071, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct2_spec, __pyx_ptype_4cuda_4cuda_anon_struct2) < 0) __PYX_ERR(1, 8071, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct2 = &__pyx_type_4cuda_4cuda_anon_struct2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct2) < 0) __PYX_ERR(1, 8071, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct2->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct2->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct2->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct2, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct2) < 0) __PYX_ERR(1, 8071, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct2) < 0) __PYX_ERR(1, 8071, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct3 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct3_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct3)) __PYX_ERR(1, 8143, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct3_spec, __pyx_ptype_4cuda_4cuda_anon_struct3) < 0) __PYX_ERR(1, 8143, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct3 = &__pyx_type_4cuda_4cuda_anon_struct3;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct3) < 0) __PYX_ERR(1, 8143, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct3->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct3->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct3->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct3->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct3, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct3) < 0) __PYX_ERR(1, 8143, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct3) < 0) __PYX_ERR(1, 8143, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct4 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct4_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct4)) __PYX_ERR(1, 8203, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct4_spec, __pyx_ptype_4cuda_4cuda_anon_struct4) < 0) __PYX_ERR(1, 8203, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct4 = &__pyx_type_4cuda_4cuda_anon_struct4;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct4) < 0) __PYX_ERR(1, 8203, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct4->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct4->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct4->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct4->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct4, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct4) < 0) __PYX_ERR(1, 8203, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct4) < 0) __PYX_ERR(1, 8203, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUlaunchAttributeValue_union_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union)) __PYX_ERR(1, 8263, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUlaunchAttributeValue_union_spec, __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union) < 0) __PYX_ERR(1, 8263, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union = &__pyx_type_4cuda_4cuda_CUlaunchAttributeValue_union;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union) < 0) __PYX_ERR(1, 8263, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUlaunchAttributeValue_union, (PyObject *) __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union) < 0) __PYX_ERR(1, 8263, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union) < 0) __PYX_ERR(1, 8263, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUlaunchAttribute_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st)) __PYX_ERR(1, 8483, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUlaunchAttribute_st_spec, __pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st) < 0) __PYX_ERR(1, 8483, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st = &__pyx_type_4cuda_4cuda_CUlaunchAttribute_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st) < 0) __PYX_ERR(1, 8483, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUlaunchAttribute_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st) < 0) __PYX_ERR(1, 8483, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st) < 0) __PYX_ERR(1, 8483, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUlaunchConfig_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUlaunchConfig_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUlaunchConfig_st)) __PYX_ERR(1, 8538, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUlaunchConfig_st_spec, __pyx_ptype_4cuda_4cuda_CUlaunchConfig_st) < 0) __PYX_ERR(1, 8538, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUlaunchConfig_st = &__pyx_type_4cuda_4cuda_CUlaunchConfig_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUlaunchConfig_st) < 0) __PYX_ERR(1, 8538, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUlaunchConfig_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUlaunchConfig_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUlaunchConfig_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUlaunchConfig_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUlaunchConfig_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUlaunchConfig_st) < 0) __PYX_ERR(1, 8538, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUlaunchConfig_st) < 0) __PYX_ERR(1, 8538, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUexecAffinitySmCount_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st)) __PYX_ERR(1, 8714, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUexecAffinitySmCount_st_spec, __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st) < 0) __PYX_ERR(1, 8714, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st = &__pyx_type_4cuda_4cuda_CUexecAffinitySmCount_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st) < 0) __PYX_ERR(1, 8714, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUexecAffinitySmCount_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st) < 0) __PYX_ERR(1, 8714, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st) < 0) __PYX_ERR(1, 8714, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_union3 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_union3_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_union3)) __PYX_ERR(1, 8757, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_union3_spec, __pyx_ptype_4cuda_4cuda_anon_union3) < 0) __PYX_ERR(1, 8757, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_union3 = &__pyx_type_4cuda_4cuda_anon_union3;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_union3) < 0) __PYX_ERR(1, 8757, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_union3->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_union3->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_union3->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_union3->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_union3, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_union3) < 0) __PYX_ERR(1, 8757, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_union3) < 0) __PYX_ERR(1, 8757, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUexecAffinityParam_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st)) __PYX_ERR(1, 8796, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUexecAffinityParam_st_spec, __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st) < 0) __PYX_ERR(1, 8796, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st = &__pyx_type_4cuda_4cuda_CUexecAffinityParam_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st) < 0) __PYX_ERR(1, 8796, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUexecAffinityParam_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st) < 0) __PYX_ERR(1, 8796, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st) < 0) __PYX_ERR(1, 8796, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st)) __PYX_ERR(1, 8853, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st_spec, __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st) < 0) __PYX_ERR(1, 8853, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st = &__pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st) < 0) __PYX_ERR(1, 8853, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUlibraryHostUniversalFunctionAn, (PyObject *) __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st) < 0) __PYX_ERR(1, 8853, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st) < 0) __PYX_ERR(1, 8853, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st)) __PYX_ERR(1, 8932, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st) < 0) __PYX_ERR(1, 8932, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st = &__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st) < 0) __PYX_ERR(1, 8932, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEMCPY2D_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st) < 0) __PYX_ERR(1, 8932, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st) < 0) __PYX_ERR(1, 8932, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st)) __PYX_ERR(1, 9198, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st) < 0) __PYX_ERR(1, 9198, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st = &__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st) < 0) __PYX_ERR(1, 9198, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEMCPY3D_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st) < 0) __PYX_ERR(1, 9198, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st) < 0) __PYX_ERR(1, 9198, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st)) __PYX_ERR(1, 9575, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st) < 0) __PYX_ERR(1, 9575, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st = &__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st) < 0) __PYX_ERR(1, 9575, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEMCPY3D_PEER_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st) < 0) __PYX_ERR(1, 9575, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st) < 0) __PYX_ERR(1, 9575, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st)) __PYX_ERR(1, 9971, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st) < 0) __PYX_ERR(1, 9971, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st = &__pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st) < 0) __PYX_ERR(1, 9971, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st) < 0) __PYX_ERR(1, 9971, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st) < 0) __PYX_ERR(1, 9971, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st)) __PYX_ERR(1, 10060, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st) < 0) __PYX_ERR(1, 10060, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st = &__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st) < 0) __PYX_ERR(1, 10060, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st) < 0) __PYX_ERR(1, 10060, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st) < 0) __PYX_ERR(1, 10060, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st)) __PYX_ERR(1, 10139, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st) < 0) __PYX_ERR(1, 10139, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st = &__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st) < 0) __PYX_ERR(1, 10139, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st) < 0) __PYX_ERR(1, 10139, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st) < 0) __PYX_ERR(1, 10139, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct5 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct5_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct5)) __PYX_ERR(1, 10242, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct5_spec, __pyx_ptype_4cuda_4cuda_anon_struct5) < 0) __PYX_ERR(1, 10242, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct5 = &__pyx_type_4cuda_4cuda_anon_struct5;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct5) < 0) __PYX_ERR(1, 10242, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct5->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct5->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct5->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct5->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct5, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct5) < 0) __PYX_ERR(1, 10242, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct5) < 0) __PYX_ERR(1, 10242, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st)) __PYX_ERR(1, 10305, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st) < 0) __PYX_ERR(1, 10305, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st = &__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st) < 0) __PYX_ERR(1, 10305, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st) < 0) __PYX_ERR(1, 10305, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st) < 0) __PYX_ERR(1, 10305, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st)) __PYX_ERR(1, 10397, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st) < 0) __PYX_ERR(1, 10397, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st = &__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st) < 0) __PYX_ERR(1, 10397, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st) < 0) __PYX_ERR(1, 10397, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st) < 0) __PYX_ERR(1, 10397, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct6 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct6_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct6)) __PYX_ERR(1, 10464, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct6_spec, __pyx_ptype_4cuda_4cuda_anon_struct6) < 0) __PYX_ERR(1, 10464, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct6 = &__pyx_type_4cuda_4cuda_anon_struct6;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct6) < 0) __PYX_ERR(1, 10464, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct6->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct6->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct6->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct6->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct6, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct6) < 0) __PYX_ERR(1, 10464, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct6) < 0) __PYX_ERR(1, 10464, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct7 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct7_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct7)) __PYX_ERR(1, 10512, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct7_spec, __pyx_ptype_4cuda_4cuda_anon_struct7) < 0) __PYX_ERR(1, 10512, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct7 = &__pyx_type_4cuda_4cuda_anon_struct7;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct7) < 0) __PYX_ERR(1, 10512, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct7->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct7->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct7->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct7->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct7, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct7) < 0) __PYX_ERR(1, 10512, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct7) < 0) __PYX_ERR(1, 10512, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct8 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct8_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct8)) __PYX_ERR(1, 10560, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct8_spec, __pyx_ptype_4cuda_4cuda_anon_struct8) < 0) __PYX_ERR(1, 10560, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct8 = &__pyx_type_4cuda_4cuda_anon_struct8;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct8) < 0) __PYX_ERR(1, 10560, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct8->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct8->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct8->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct8->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct8, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct8) < 0) __PYX_ERR(1, 10560, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct8) < 0) __PYX_ERR(1, 10560, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct9 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct9_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct9)) __PYX_ERR(1, 10645, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct9_spec, __pyx_ptype_4cuda_4cuda_anon_struct9) < 0) __PYX_ERR(1, 10645, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct9 = &__pyx_type_4cuda_4cuda_anon_struct9;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct9) < 0) __PYX_ERR(1, 10645, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct9->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct9->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct9->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct9->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct9, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct9) < 0) __PYX_ERR(1, 10645, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct9) < 0) __PYX_ERR(1, 10645, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct10 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct10_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct10)) __PYX_ERR(1, 10754, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct10_spec, __pyx_ptype_4cuda_4cuda_anon_struct10) < 0) __PYX_ERR(1, 10754, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct10 = &__pyx_type_4cuda_4cuda_anon_struct10;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct10) < 0) __PYX_ERR(1, 10754, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct10->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct10->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct10->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct10->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct10, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct10) < 0) __PYX_ERR(1, 10754, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct10) < 0) __PYX_ERR(1, 10754, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_union4 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_union4_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_union4)) __PYX_ERR(1, 10793, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_union4_spec, __pyx_ptype_4cuda_4cuda_anon_union4) < 0) __PYX_ERR(1, 10793, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_union4 = &__pyx_type_4cuda_4cuda_anon_union4;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_union4) < 0) __PYX_ERR(1, 10793, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_union4->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_union4->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_union4->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_union4->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_union4, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_union4) < 0) __PYX_ERR(1, 10793, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_union4) < 0) __PYX_ERR(1, 10793, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st)) __PYX_ERR(1, 10884, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st) < 0) __PYX_ERR(1, 10884, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st = &__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st) < 0) __PYX_ERR(1, 10884, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_RESOURCE_DESC_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st) < 0) __PYX_ERR(1, 10884, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st) < 0) __PYX_ERR(1, 10884, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st)) __PYX_ERR(1, 10953, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st) < 0) __PYX_ERR(1, 10953, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st = &__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st) < 0) __PYX_ERR(1, 10953, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_TEXTURE_DESC_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st) < 0) __PYX_ERR(1, 10953, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st) < 0) __PYX_ERR(1, 10953, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st)) __PYX_ERR(1, 11104, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st) < 0) __PYX_ERR(1, 11104, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st = &__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st) < 0) __PYX_ERR(1, 11104, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st) < 0) __PYX_ERR(1, 11104, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st) < 0) __PYX_ERR(1, 11104, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUtensorMap_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUtensorMap_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUtensorMap_st)) __PYX_ERR(1, 11243, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUtensorMap_st_spec, __pyx_ptype_4cuda_4cuda_CUtensorMap_st) < 0) __PYX_ERR(1, 11243, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUtensorMap_st = &__pyx_type_4cuda_4cuda_CUtensorMap_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUtensorMap_st) < 0) __PYX_ERR(1, 11243, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUtensorMap_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUtensorMap_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUtensorMap_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUtensorMap_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUtensorMap_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUtensorMap_st) < 0) __PYX_ERR(1, 11243, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUtensorMap_st) < 0) __PYX_ERR(1, 11243, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st)) __PYX_ERR(1, 11287, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st) < 0) __PYX_ERR(1, 11287, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st = &__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st) < 0) __PYX_ERR(1, 11287, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st) < 0) __PYX_ERR(1, 11287, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st) < 0) __PYX_ERR(1, 11287, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st)) __PYX_ERR(1, 11342, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st) < 0) __PYX_ERR(1, 11342, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st = &__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st) < 0) __PYX_ERR(1, 11342, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_LAUNCH_PARAMS_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st) < 0) __PYX_ERR(1, 11342, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st) < 0) __PYX_ERR(1, 11342, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct11 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct11_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct11)) __PYX_ERR(1, 11513, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct11_spec, __pyx_ptype_4cuda_4cuda_anon_struct11) < 0) __PYX_ERR(1, 11513, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct11 = &__pyx_type_4cuda_4cuda_anon_struct11;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct11) < 0) __PYX_ERR(1, 11513, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct11->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct11->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct11->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct11->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct11, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct11) < 0) __PYX_ERR(1, 11513, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct11) < 0) __PYX_ERR(1, 11513, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_union5 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_union5_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_union5)) __PYX_ERR(1, 11566, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_union5_spec, __pyx_ptype_4cuda_4cuda_anon_union5) < 0) __PYX_ERR(1, 11566, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_union5 = &__pyx_type_4cuda_4cuda_anon_union5;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_union5) < 0) __PYX_ERR(1, 11566, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_union5->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_union5->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_union5->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_union5->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_union5, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_union5) < 0) __PYX_ERR(1, 11566, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_union5) < 0) __PYX_ERR(1, 11566, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st)) __PYX_ERR(1, 11630, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st) < 0) __PYX_ERR(1, 11630, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st = &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st) < 0) __PYX_ERR(1, 11630, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st) < 0) __PYX_ERR(1, 11630, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st) < 0) __PYX_ERR(1, 11630, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st)) __PYX_ERR(1, 11723, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st) < 0) __PYX_ERR(1, 11723, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st = &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st) < 0) __PYX_ERR(1, 11723, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st) < 0) __PYX_ERR(1, 11723, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st) < 0) __PYX_ERR(1, 11723, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st)) __PYX_ERR(1, 11802, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st) < 0) __PYX_ERR(1, 11802, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st = &__pyx_type_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st) < 0) __PYX_ERR(1, 11802, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st) < 0) __PYX_ERR(1, 11802, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st) < 0) __PYX_ERR(1, 11802, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct12 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct12_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct12)) __PYX_ERR(1, 11882, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct12_spec, __pyx_ptype_4cuda_4cuda_anon_struct12) < 0) __PYX_ERR(1, 11882, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct12 = &__pyx_type_4cuda_4cuda_anon_struct12;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct12) < 0) __PYX_ERR(1, 11882, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct12->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct12->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct12->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct12->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct12, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct12) < 0) __PYX_ERR(1, 11882, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct12) < 0) __PYX_ERR(1, 11882, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_union6 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_union6_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_union6)) __PYX_ERR(1, 11935, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_union6_spec, __pyx_ptype_4cuda_4cuda_anon_union6) < 0) __PYX_ERR(1, 11935, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_union6 = &__pyx_type_4cuda_4cuda_anon_union6;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_union6) < 0) __PYX_ERR(1, 11935, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_union6->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_union6->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_union6->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_union6->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_union6, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_union6) < 0) __PYX_ERR(1, 11935, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_union6) < 0) __PYX_ERR(1, 11935, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st)) __PYX_ERR(1, 11999, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st) < 0) __PYX_ERR(1, 11999, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st = &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st) < 0) __PYX_ERR(1, 11999, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st) < 0) __PYX_ERR(1, 11999, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st) < 0) __PYX_ERR(1, 11999, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct13 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct13_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct13)) __PYX_ERR(1, 12080, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct13_spec, __pyx_ptype_4cuda_4cuda_anon_struct13) < 0) __PYX_ERR(1, 12080, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct13 = &__pyx_type_4cuda_4cuda_anon_struct13;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct13) < 0) __PYX_ERR(1, 12080, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct13->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct13->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct13->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct13->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct13, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct13) < 0) __PYX_ERR(1, 12080, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct13) < 0) __PYX_ERR(1, 12080, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_union7 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_union7_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_union7)) __PYX_ERR(1, 12119, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_union7_spec, __pyx_ptype_4cuda_4cuda_anon_union7) < 0) __PYX_ERR(1, 12119, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_union7 = &__pyx_type_4cuda_4cuda_anon_union7;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_union7) < 0) __PYX_ERR(1, 12119, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_union7->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_union7->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_union7->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_union7->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_union7, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_union7) < 0) __PYX_ERR(1, 12119, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_union7) < 0) __PYX_ERR(1, 12119, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct14 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct14_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct14)) __PYX_ERR(1, 12171, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct14_spec, __pyx_ptype_4cuda_4cuda_anon_struct14) < 0) __PYX_ERR(1, 12171, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct14 = &__pyx_type_4cuda_4cuda_anon_struct14;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct14) < 0) __PYX_ERR(1, 12171, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct14->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct14->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct14->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct14->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct14, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct14) < 0) __PYX_ERR(1, 12171, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct14) < 0) __PYX_ERR(1, 12171, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct15 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct15_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct15)) __PYX_ERR(1, 12210, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct15_spec, __pyx_ptype_4cuda_4cuda_anon_struct15) < 0) __PYX_ERR(1, 12210, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct15 = &__pyx_type_4cuda_4cuda_anon_struct15;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct15) < 0) __PYX_ERR(1, 12210, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct15->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct15->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct15->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct15->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct15, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct15) < 0) __PYX_ERR(1, 12210, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct15) < 0) __PYX_ERR(1, 12210, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st)) __PYX_ERR(1, 12287, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st) < 0) __PYX_ERR(1, 12287, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st = &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st) < 0) __PYX_ERR(1, 12287, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st) < 0) __PYX_ERR(1, 12287, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st) < 0) __PYX_ERR(1, 12287, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct16 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct16_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct16)) __PYX_ERR(1, 12361, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct16_spec, __pyx_ptype_4cuda_4cuda_anon_struct16) < 0) __PYX_ERR(1, 12361, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct16 = &__pyx_type_4cuda_4cuda_anon_struct16;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct16) < 0) __PYX_ERR(1, 12361, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct16->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct16->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct16->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct16->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct16, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct16) < 0) __PYX_ERR(1, 12361, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct16) < 0) __PYX_ERR(1, 12361, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_union8 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_union8_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_union8)) __PYX_ERR(1, 12400, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_union8_spec, __pyx_ptype_4cuda_4cuda_anon_union8) < 0) __PYX_ERR(1, 12400, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_union8 = &__pyx_type_4cuda_4cuda_anon_union8;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_union8) < 0) __PYX_ERR(1, 12400, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_union8->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_union8->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_union8->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_union8->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_union8, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_union8) < 0) __PYX_ERR(1, 12400, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_union8) < 0) __PYX_ERR(1, 12400, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct17 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct17_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct17)) __PYX_ERR(1, 12452, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct17_spec, __pyx_ptype_4cuda_4cuda_anon_struct17) < 0) __PYX_ERR(1, 12452, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct17 = &__pyx_type_4cuda_4cuda_anon_struct17;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct17) < 0) __PYX_ERR(1, 12452, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct17->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct17->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct17->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct17->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct17, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct17) < 0) __PYX_ERR(1, 12452, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct17) < 0) __PYX_ERR(1, 12452, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct18 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct18_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct18)) __PYX_ERR(1, 12503, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct18_spec, __pyx_ptype_4cuda_4cuda_anon_struct18) < 0) __PYX_ERR(1, 12503, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct18 = &__pyx_type_4cuda_4cuda_anon_struct18;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct18) < 0) __PYX_ERR(1, 12503, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct18->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct18->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct18->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct18->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct18, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct18) < 0) __PYX_ERR(1, 12503, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct18) < 0) __PYX_ERR(1, 12503, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st)) __PYX_ERR(1, 12580, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st) < 0) __PYX_ERR(1, 12580, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st = &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st) < 0) __PYX_ERR(1, 12580, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st) < 0) __PYX_ERR(1, 12580, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st) < 0) __PYX_ERR(1, 12580, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st)) __PYX_ERR(1, 12654, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st) < 0) __PYX_ERR(1, 12654, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st = &__pyx_type_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st) < 0) __PYX_ERR(1, 12654, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st) < 0) __PYX_ERR(1, 12654, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st) < 0) __PYX_ERR(1, 12654, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st)) __PYX_ERR(1, 12755, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 12755, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st = &__pyx_type_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 12755, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 12755, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 12755, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st)) __PYX_ERR(1, 12856, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st) < 0) __PYX_ERR(1, 12856, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st = &__pyx_type_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st) < 0) __PYX_ERR(1, 12856, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st) < 0) __PYX_ERR(1, 12856, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st) < 0) __PYX_ERR(1, 12856, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st)) __PYX_ERR(1, 12957, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 12957, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st = &__pyx_type_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 12957, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 12957, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 12957, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_union9 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_union9_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_union9)) __PYX_ERR(1, 13058, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_union9_spec, __pyx_ptype_4cuda_4cuda_anon_union9) < 0) __PYX_ERR(1, 13058, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_union9 = &__pyx_type_4cuda_4cuda_anon_union9;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_union9) < 0) __PYX_ERR(1, 13058, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_union9->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_union9->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_union9->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_union9->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_union9, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_union9) < 0) __PYX_ERR(1, 13058, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_union9) < 0) __PYX_ERR(1, 13058, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct19 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct19_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct19)) __PYX_ERR(1, 13128, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct19_spec, __pyx_ptype_4cuda_4cuda_anon_struct19) < 0) __PYX_ERR(1, 13128, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct19 = &__pyx_type_4cuda_4cuda_anon_struct19;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct19) < 0) __PYX_ERR(1, 13128, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct19->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct19->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct19->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct19->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct19, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct19) < 0) __PYX_ERR(1, 13128, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct19) < 0) __PYX_ERR(1, 13128, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct20 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct20_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct20)) __PYX_ERR(1, 13251, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct20_spec, __pyx_ptype_4cuda_4cuda_anon_struct20) < 0) __PYX_ERR(1, 13251, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct20 = &__pyx_type_4cuda_4cuda_anon_struct20;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct20) < 0) __PYX_ERR(1, 13251, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct20->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct20->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct20->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct20->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct20, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct20) < 0) __PYX_ERR(1, 13251, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct20) < 0) __PYX_ERR(1, 13251, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_union10 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_union10_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_union10)) __PYX_ERR(1, 13314, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_union10_spec, __pyx_ptype_4cuda_4cuda_anon_union10) < 0) __PYX_ERR(1, 13314, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_union10 = &__pyx_type_4cuda_4cuda_anon_union10;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_union10) < 0) __PYX_ERR(1, 13314, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_union10->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_union10->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_union10->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_union10->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_union10, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_union10) < 0) __PYX_ERR(1, 13314, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_union10) < 0) __PYX_ERR(1, 13314, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_union11 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_union11_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_union11)) __PYX_ERR(1, 13366, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_union11_spec, __pyx_ptype_4cuda_4cuda_anon_union11) < 0) __PYX_ERR(1, 13366, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_union11 = &__pyx_type_4cuda_4cuda_anon_union11;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_union11) < 0) __PYX_ERR(1, 13366, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_union11->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_union11->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_union11->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_union11->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_union11, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_union11) < 0) __PYX_ERR(1, 13366, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_union11) < 0) __PYX_ERR(1, 13366, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUarrayMapInfo_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st)) __PYX_ERR(1, 13414, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUarrayMapInfo_st_spec, __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st) < 0) __PYX_ERR(1, 13414, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st = &__pyx_type_4cuda_4cuda_CUarrayMapInfo_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st) < 0) __PYX_ERR(1, 13414, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUarrayMapInfo_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st) < 0) __PYX_ERR(1, 13414, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st) < 0) __PYX_ERR(1, 13414, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUmemLocation_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemLocation_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemLocation_st)) __PYX_ERR(1, 13582, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemLocation_st_spec, __pyx_ptype_4cuda_4cuda_CUmemLocation_st) < 0) __PYX_ERR(1, 13582, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemLocation_st = &__pyx_type_4cuda_4cuda_CUmemLocation_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemLocation_st) < 0) __PYX_ERR(1, 13582, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemLocation_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemLocation_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemLocation_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemLocation_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemLocation_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemLocation_st) < 0) __PYX_ERR(1, 13582, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUmemLocation_st) < 0) __PYX_ERR(1, 13582, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_struct21 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_struct21_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_struct21)) __PYX_ERR(1, 13637, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_struct21_spec, __pyx_ptype_4cuda_4cuda_anon_struct21) < 0) __PYX_ERR(1, 13637, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_struct21 = &__pyx_type_4cuda_4cuda_anon_struct21;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_struct21) < 0) __PYX_ERR(1, 13637, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_struct21->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_struct21->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_struct21->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_struct21->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_struct21, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct21) < 0) __PYX_ERR(1, 13637, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_struct21) < 0) __PYX_ERR(1, 13637, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemAllocationProp_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st)) __PYX_ERR(1, 13715, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemAllocationProp_st_spec, __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st) < 0) __PYX_ERR(1, 13715, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st = &__pyx_type_4cuda_4cuda_CUmemAllocationProp_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st) < 0) __PYX_ERR(1, 13715, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemAllocationProp_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st) < 0) __PYX_ERR(1, 13715, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st) < 0) __PYX_ERR(1, 13715, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmulticastObjectProp_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st)) __PYX_ERR(1, 13812, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmulticastObjectProp_st_spec, __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st) < 0) __PYX_ERR(1, 13812, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st = &__pyx_type_4cuda_4cuda_CUmulticastObjectProp_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st) < 0) __PYX_ERR(1, 13812, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmulticastObjectProp_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st) < 0) __PYX_ERR(1, 13812, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st) < 0) __PYX_ERR(1, 13812, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemAccessDesc_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st)) __PYX_ERR(1, 13894, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemAccessDesc_st_spec, __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st) < 0) __PYX_ERR(1, 13894, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st = &__pyx_type_4cuda_4cuda_CUmemAccessDesc_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st) < 0) __PYX_ERR(1, 13894, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemAccessDesc_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st) < 0) __PYX_ERR(1, 13894, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st) < 0) __PYX_ERR(1, 13894, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st)) __PYX_ERR(1, 13949, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_st_spec, __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st) < 0) __PYX_ERR(1, 13949, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st = &__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st) < 0) __PYX_ERR(1, 13949, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUgraphExecUpdateResultInfo_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st) < 0) __PYX_ERR(1, 13949, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st) < 0) __PYX_ERR(1, 13949, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUmemPoolProps_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemPoolProps_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemPoolProps_st)) __PYX_ERR(1, 14038, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemPoolProps_st_spec, __pyx_ptype_4cuda_4cuda_CUmemPoolProps_st) < 0) __PYX_ERR(1, 14038, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemPoolProps_st = &__pyx_type_4cuda_4cuda_CUmemPoolProps_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemPoolProps_st) < 0) __PYX_ERR(1, 14038, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemPoolProps_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemPoolProps_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemPoolProps_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemPoolProps_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemPoolProps_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemPoolProps_st) < 0) __PYX_ERR(1, 14038, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUmemPoolProps_st) < 0) __PYX_ERR(1, 14038, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st)) __PYX_ERR(1, 14151, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_st_spec, __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st) < 0) __PYX_ERR(1, 14151, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st = &__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st) < 0) __PYX_ERR(1, 14151, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemPoolPtrExportData_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st) < 0) __PYX_ERR(1, 14151, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st) < 0) __PYX_ERR(1, 14151, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st)) __PYX_ERR(1, 14197, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st) < 0) __PYX_ERR(1, 14197, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st = &__pyx_type_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st) < 0) __PYX_ERR(1, 14197, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st) < 0) __PYX_ERR(1, 14197, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st) < 0) __PYX_ERR(1, 14197, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st)) __PYX_ERR(1, 14318, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 14318, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st = &__pyx_type_4cuda_4cuda_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_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 14318, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 14318, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st) < 0) __PYX_ERR(1, 14318, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st)) __PYX_ERR(1, 14439, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st) < 0) __PYX_ERR(1, 14439, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st = &__pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st) < 0) __PYX_ERR(1, 14439, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st) < 0) __PYX_ERR(1, 14439, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st) < 0) __PYX_ERR(1, 14439, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st)) __PYX_ERR(1, 14491, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st) < 0) __PYX_ERR(1, 14491, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st = &__pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st) < 0) __PYX_ERR(1, 14491, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st) < 0) __PYX_ERR(1, 14491, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st) < 0) __PYX_ERR(1, 14491, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st)) __PYX_ERR(1, 14544, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st) < 0) __PYX_ERR(1, 14544, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st = &__pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st) < 0) __PYX_ERR(1, 14544, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st) < 0) __PYX_ERR(1, 14544, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st) < 0) __PYX_ERR(1, 14544, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st)) __PYX_ERR(1, 14596, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st_spec, __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st) < 0) __PYX_ERR(1, 14596, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st = &__pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st) < 0) __PYX_ERR(1, 14596, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st) < 0) __PYX_ERR(1, 14596, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st) < 0) __PYX_ERR(1, 14596, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUgraphNodeParams_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st)) __PYX_ERR(1, 14648, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUgraphNodeParams_st_spec, __pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st) < 0) __PYX_ERR(1, 14648, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st = &__pyx_type_4cuda_4cuda_CUgraphNodeParams_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st) < 0) __PYX_ERR(1, 14648, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUgraphNodeParams_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st) < 0) __PYX_ERR(1, 14648, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st) < 0) __PYX_ERR(1, 14648, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUdevSmResource_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUdevSmResource_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUdevSmResource_st)) __PYX_ERR(1, 14897, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUdevSmResource_st_spec, __pyx_ptype_4cuda_4cuda_CUdevSmResource_st) < 0) __PYX_ERR(1, 14897, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUdevSmResource_st = &__pyx_type_4cuda_4cuda_CUdevSmResource_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUdevSmResource_st) < 0) __PYX_ERR(1, 14897, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUdevSmResource_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUdevSmResource_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUdevSmResource_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUdevSmResource_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUdevSmResource_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUdevSmResource_st) < 0) __PYX_ERR(1, 14897, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUdevSmResource_st) < 0) __PYX_ERR(1, 14897, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUdevResource_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUdevResource_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUdevResource_st)) __PYX_ERR(1, 14939, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUdevResource_st_spec, __pyx_ptype_4cuda_4cuda_CUdevResource_st) < 0) __PYX_ERR(1, 14939, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUdevResource_st = &__pyx_type_4cuda_4cuda_CUdevResource_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUdevResource_st) < 0) __PYX_ERR(1, 14939, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUdevResource_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUdevResource_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUdevResource_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUdevResource_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUdevResource_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUdevResource_st) < 0) __PYX_ERR(1, 14939, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUdevResource_st) < 0) __PYX_ERR(1, 14939, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_anon_union14 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_anon_union14_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_anon_union14)) __PYX_ERR(1, 15024, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_anon_union14_spec, __pyx_ptype_4cuda_4cuda_anon_union14) < 0) __PYX_ERR(1, 15024, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_anon_union14 = &__pyx_type_4cuda_4cuda_anon_union14;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_anon_union14) < 0) __PYX_ERR(1, 15024, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_anon_union14->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_anon_union14->tp_dictoffset && __pyx_ptype_4cuda_4cuda_anon_union14->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_anon_union14->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_anon_union14, (PyObject *) __pyx_ptype_4cuda_4cuda_anon_union14) < 0) __PYX_ERR(1, 15024, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_anon_union14) < 0) __PYX_ERR(1, 15024, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUeglFrame_st = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUeglFrame_st_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUeglFrame_st)) __PYX_ERR(1, 15084, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUeglFrame_st_spec, __pyx_ptype_4cuda_4cuda_CUeglFrame_st) < 0) __PYX_ERR(1, 15084, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUeglFrame_st = &__pyx_type_4cuda_4cuda_CUeglFrame_st;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUeglFrame_st) < 0) __PYX_ERR(1, 15084, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUeglFrame_st->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUeglFrame_st->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUeglFrame_st->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUeglFrame_st->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUeglFrame_st, (PyObject *) __pyx_ptype_4cuda_4cuda_CUeglFrame_st) < 0) __PYX_ERR(1, 15084, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUeglFrame_st) < 0) __PYX_ERR(1, 15084, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUdeviceptr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUdeviceptr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUdeviceptr)) __PYX_ERR(1, 4089, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUdeviceptr_spec, __pyx_ptype_4cuda_4cuda_CUdeviceptr) < 0) __PYX_ERR(1, 4089, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUdeviceptr = &__pyx_type_4cuda_4cuda_CUdeviceptr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUdeviceptr) < 0) __PYX_ERR(1, 4089, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUdeviceptr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUdeviceptr->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUdeviceptr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUdeviceptr->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUdeviceptr_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUdeviceptr) < 0) __PYX_ERR(1, 4089, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUdeviceptr) < 0) __PYX_ERR(1, 4089, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUdevice = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUdevice_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUdevice)) __PYX_ERR(1, 4116, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUdevice_spec, __pyx_ptype_4cuda_4cuda_CUdevice) < 0) __PYX_ERR(1, 4116, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUdevice = &__pyx_type_4cuda_4cuda_CUdevice;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUdevice) < 0) __PYX_ERR(1, 4116, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUdevice->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUdevice->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUdevice->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUdevice->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUdevice_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUdevice) < 0) __PYX_ERR(1, 4116, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUdevice) < 0) __PYX_ERR(1, 4116, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUtexObject = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUtexObject_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUtexObject)) __PYX_ERR(1, 4143, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUtexObject_spec, __pyx_ptype_4cuda_4cuda_CUtexObject) < 0) __PYX_ERR(1, 4143, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUtexObject = &__pyx_type_4cuda_4cuda_CUtexObject;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUtexObject) < 0) __PYX_ERR(1, 4143, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUtexObject->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUtexObject->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUtexObject->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUtexObject->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUtexObject_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUtexObject) < 0) __PYX_ERR(1, 4143, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUtexObject) < 0) __PYX_ERR(1, 4143, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUsurfObject = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUsurfObject_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUsurfObject)) __PYX_ERR(1, 4170, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUsurfObject_spec, __pyx_ptype_4cuda_4cuda_CUsurfObject) < 0) __PYX_ERR(1, 4170, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUsurfObject = &__pyx_type_4cuda_4cuda_CUsurfObject;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUsurfObject) < 0) __PYX_ERR(1, 4170, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUsurfObject->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUsurfObject->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUsurfObject->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUsurfObject->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUsurfObject_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUsurfObject) < 0) __PYX_ERR(1, 4170, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUsurfObject) < 0) __PYX_ERR(1, 4170, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUgraphConditionalHandle_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle)) __PYX_ERR(1, 4197, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUgraphConditionalHandle_spec, __pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle) < 0) __PYX_ERR(1, 4197, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle = &__pyx_type_4cuda_4cuda_CUgraphConditionalHandle;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle) < 0) __PYX_ERR(1, 4197, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUgraphConditionalHandle_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle) < 0) __PYX_ERR(1, 4197, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle) < 0) __PYX_ERR(1, 4197, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUuuid_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUuuid = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUuuid_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUuuid)) __PYX_ERR(2, 3316, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUuuid_spec, __pyx_ptype_4cuda_4cuda_CUuuid) < 0) __PYX_ERR(2, 3316, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUuuid = &__pyx_type_4cuda_4cuda_CUuuid;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUuuid->tp_base = __pyx_ptype_4cuda_4cuda_CUuuid_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUuuid) < 0) __PYX_ERR(2, 3316, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUuuid->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUuuid->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUuuid->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUuuid->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUuuid, (PyObject *) __pyx_ptype_4cuda_4cuda_CUuuid) < 0) __PYX_ERR(2, 3316, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemFabricHandle_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1)) __PYX_ERR(2, 3331, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemFabricHandle_v1_spec, __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1) < 0) __PYX_ERR(2, 3331, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1 = &__pyx_type_4cuda_4cuda_CUmemFabricHandle_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1) < 0) __PYX_ERR(2, 3331, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemFabricHandle_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1) < 0) __PYX_ERR(2, 3331, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUmemFabricHandle = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemFabricHandle_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemFabricHandle)) __PYX_ERR(2, 3351, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemFabricHandle_spec, __pyx_ptype_4cuda_4cuda_CUmemFabricHandle) < 0) __PYX_ERR(2, 3351, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemFabricHandle = &__pyx_type_4cuda_4cuda_CUmemFabricHandle;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUmemFabricHandle->tp_base = __pyx_ptype_4cuda_4cuda_CUmemFabricHandle_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemFabricHandle) < 0) __PYX_ERR(2, 3351, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemFabricHandle->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemFabricHandle->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemFabricHandle->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemFabricHandle->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemFabricHandle, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemFabricHandle) < 0) __PYX_ERR(2, 3351, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUipcEventHandle_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUipcEventHandle_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1)) __PYX_ERR(2, 3371, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUipcEventHandle_v1_spec, __pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1) < 0) __PYX_ERR(2, 3371, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1 = &__pyx_type_4cuda_4cuda_CUipcEventHandle_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUipcEventHandle_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1) < 0) __PYX_ERR(2, 3371, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUipcEventHandle_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1) < 0) __PYX_ERR(2, 3371, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUipcEventHandle = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUipcEventHandle_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUipcEventHandle)) __PYX_ERR(2, 3388, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUipcEventHandle_spec, __pyx_ptype_4cuda_4cuda_CUipcEventHandle) < 0) __PYX_ERR(2, 3388, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUipcEventHandle = &__pyx_type_4cuda_4cuda_CUipcEventHandle;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUipcEventHandle->tp_base = __pyx_ptype_4cuda_4cuda_CUipcEventHandle_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUipcEventHandle) < 0) __PYX_ERR(2, 3388, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUipcEventHandle->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUipcEventHandle->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUipcEventHandle->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUipcEventHandle->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUipcEventHandle, (PyObject *) __pyx_ptype_4cuda_4cuda_CUipcEventHandle) < 0) __PYX_ERR(2, 3388, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUipcMemHandle_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUipcMemHandle_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1)) __PYX_ERR(2, 3405, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUipcMemHandle_v1_spec, __pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1) < 0) __PYX_ERR(2, 3405, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1 = &__pyx_type_4cuda_4cuda_CUipcMemHandle_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUipcMemHandle_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1) < 0) __PYX_ERR(2, 3405, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUipcMemHandle_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1) < 0) __PYX_ERR(2, 3405, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUipcMemHandle = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUipcMemHandle_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUipcMemHandle)) __PYX_ERR(2, 3422, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUipcMemHandle_spec, __pyx_ptype_4cuda_4cuda_CUipcMemHandle) < 0) __PYX_ERR(2, 3422, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUipcMemHandle = &__pyx_type_4cuda_4cuda_CUipcMemHandle;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUipcMemHandle->tp_base = __pyx_ptype_4cuda_4cuda_CUipcMemHandle_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUipcMemHandle) < 0) __PYX_ERR(2, 3422, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUipcMemHandle->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUipcMemHandle->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUipcMemHandle->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUipcMemHandle->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUipcMemHandle, (PyObject *) __pyx_ptype_4cuda_4cuda_CUipcMemHandle) < 0) __PYX_ERR(2, 3422, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1)) __PYX_ERR(2, 3439, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_v1_spec, __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1) < 0) __PYX_ERR(2, 3439, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1 = &__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1) < 0) __PYX_ERR(2, 3439, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUstreamBatchMemOpParams_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1) < 0) __PYX_ERR(2, 3439, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams)) __PYX_ERR(2, 3466, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams_spec, __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams) < 0) __PYX_ERR(2, 3466, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams = &__pyx_type_4cuda_4cuda_CUstreamBatchMemOpParams;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams->tp_base = __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams) < 0) __PYX_ERR(2, 3466, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUstreamBatchMemOpParams, (PyObject *) __pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams) < 0) __PYX_ERR(2, 3466, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3493, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1)) __PYX_ERR(2, 3493, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 3493, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 = &__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 3493, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 3493, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS)) __PYX_ERR(2, 3514, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_spec, __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS) < 0) __PYX_ERR(2, 3514, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS = &__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS) < 0) __PYX_ERR(2, 3514, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS) < 0) __PYX_ERR(2, 3514, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2)) __PYX_ERR(2, 3535, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_spec, __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 3535, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 = &__pyx_type_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 3535, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 3535, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUasyncNotificationInfo_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo)) __PYX_ERR(2, 3558, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUasyncNotificationInfo_spec, __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo) < 0) __PYX_ERR(2, 3558, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo = &__pyx_type_4cuda_4cuda_CUasyncNotificationInfo;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo->tp_base = __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo) < 0) __PYX_ERR(2, 3558, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUasyncNotificationInfo, (PyObject *) __pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo) < 0) __PYX_ERR(2, 3558, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUdevprop_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUdevprop_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUdevprop_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUdevprop_v1)) __PYX_ERR(2, 3577, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUdevprop_v1_spec, __pyx_ptype_4cuda_4cuda_CUdevprop_v1) < 0) __PYX_ERR(2, 3577, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUdevprop_v1 = &__pyx_type_4cuda_4cuda_CUdevprop_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUdevprop_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUdevprop_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUdevprop_v1) < 0) __PYX_ERR(2, 3577, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUdevprop_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUdevprop_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUdevprop_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUdevprop_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUdevprop_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUdevprop_v1) < 0) __PYX_ERR(2, 3577, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUdevprop_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUdevprop = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUdevprop_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUdevprop)) __PYX_ERR(2, 3612, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUdevprop_spec, __pyx_ptype_4cuda_4cuda_CUdevprop) < 0) __PYX_ERR(2, 3612, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUdevprop = &__pyx_type_4cuda_4cuda_CUdevprop;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUdevprop->tp_base = __pyx_ptype_4cuda_4cuda_CUdevprop_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUdevprop) < 0) __PYX_ERR(2, 3612, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUdevprop->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUdevprop->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUdevprop->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUdevprop->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUdevprop, (PyObject *) __pyx_ptype_4cuda_4cuda_CUdevprop) < 0) __PYX_ERR(2, 3612, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUaccessPolicyWindow_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1)) __PYX_ERR(2, 3647, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUaccessPolicyWindow_v1_spec, __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1) < 0) __PYX_ERR(2, 3647, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1 = &__pyx_type_4cuda_4cuda_CUaccessPolicyWindow_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1) < 0) __PYX_ERR(2, 3647, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUaccessPolicyWindow_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1) < 0) __PYX_ERR(2, 3647, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUaccessPolicyWindow_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow)) __PYX_ERR(2, 3684, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUaccessPolicyWindow_spec, __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow) < 0) __PYX_ERR(2, 3684, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow = &__pyx_type_4cuda_4cuda_CUaccessPolicyWindow;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow->tp_base = __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow) < 0) __PYX_ERR(2, 3684, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUaccessPolicyWindow, (PyObject *) __pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow) < 0) __PYX_ERR(2, 3684, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1)) __PYX_ERR(2, 3721, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 3721, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1 = &__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 3721, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 3721, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3756, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2)) __PYX_ERR(2, 3756, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_spec, __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 3756, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2 = &__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 3756, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 3756, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS)) __PYX_ERR(2, 3797, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_spec, __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS) < 0) __PYX_ERR(2, 3797, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS = &__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS) < 0) __PYX_ERR(2, 3797, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_KERNEL_NODE_PARAMS, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS) < 0) __PYX_ERR(2, 3797, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3838, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3)) __PYX_ERR(2, 3838, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_spec, __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3) < 0) __PYX_ERR(2, 3838, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3 = &__pyx_type_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3) < 0) __PYX_ERR(2, 3838, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3) < 0) __PYX_ERR(2, 3838, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1)) __PYX_ERR(2, 3879, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 3879, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1 = &__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 3879, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 3879, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS)) __PYX_ERR(2, 3906, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS) < 0) __PYX_ERR(2, 3906, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS = &__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS) < 0) __PYX_ERR(2, 3906, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEMSET_NODE_PARAMS, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS) < 0) __PYX_ERR(2, 3906, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2)) __PYX_ERR(2, 3933, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 3933, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2 = &__pyx_type_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 3933, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 3933, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1)) __PYX_ERR(2, 3962, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 3962, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1 = &__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 3962, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_HOST_NODE_PARAMS_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 3962, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS)) __PYX_ERR(2, 3981, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_spec, __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS) < 0) __PYX_ERR(2, 3981, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS = &__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS) < 0) __PYX_ERR(2, 3981, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_HOST_NODE_PARAMS, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS) < 0) __PYX_ERR(2, 3981, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2)) __PYX_ERR(2, 4000, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_spec, __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 4000, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2 = &__pyx_type_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 4000, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_HOST_NODE_PARAMS_v2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 4000, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUgraphEdgeData = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUgraphEdgeData_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUgraphEdgeData)) __PYX_ERR(2, 4019, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUgraphEdgeData_spec, __pyx_ptype_4cuda_4cuda_CUgraphEdgeData) < 0) __PYX_ERR(2, 4019, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUgraphEdgeData = &__pyx_type_4cuda_4cuda_CUgraphEdgeData;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUgraphEdgeData->tp_base = __pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUgraphEdgeData) < 0) __PYX_ERR(2, 4019, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUgraphEdgeData->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUgraphEdgeData->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUgraphEdgeData->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUgraphEdgeData->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUgraphEdgeData, (PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphEdgeData) < 0) __PYX_ERR(2, 4019, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS)) __PYX_ERR(2, 4061, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_spec, __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS) < 0) __PYX_ERR(2, 4061, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS = &__pyx_type_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS) < 0) __PYX_ERR(2, 4061, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS) < 0) __PYX_ERR(2, 4061, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap)) __PYX_ERR(2, 4084, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap_spec, __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap) < 0) __PYX_ERR(2, 4084, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap = &__pyx_type_4cuda_4cuda_CUlaunchMemSyncDomainMap;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap->tp_base = __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap) < 0) __PYX_ERR(2, 4084, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUlaunchMemSyncDomainMap, (PyObject *) __pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap) < 0) __PYX_ERR(2, 4084, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUlaunchAttributeValue_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue)) __PYX_ERR(2, 4109, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUlaunchAttributeValue_spec, __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue) < 0) __PYX_ERR(2, 4109, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue = &__pyx_type_4cuda_4cuda_CUlaunchAttributeValue;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue->tp_base = __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue) < 0) __PYX_ERR(2, 4109, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUlaunchAttributeValue, (PyObject *) __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue) < 0) __PYX_ERR(2, 4109, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUlaunchAttribute = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUlaunchAttribute_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUlaunchAttribute)) __PYX_ERR(2, 4167, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUlaunchAttribute_spec, __pyx_ptype_4cuda_4cuda_CUlaunchAttribute) < 0) __PYX_ERR(2, 4167, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUlaunchAttribute = &__pyx_type_4cuda_4cuda_CUlaunchAttribute;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUlaunchAttribute->tp_base = __pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUlaunchAttribute) < 0) __PYX_ERR(2, 4167, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUlaunchAttribute->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUlaunchAttribute->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUlaunchAttribute->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUlaunchAttribute->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUlaunchAttribute, (PyObject *) __pyx_ptype_4cuda_4cuda_CUlaunchAttribute) < 0) __PYX_ERR(2, 4167, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchConfig_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUlaunchConfig = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUlaunchConfig_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUlaunchConfig)) __PYX_ERR(2, 4186, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUlaunchConfig_spec, __pyx_ptype_4cuda_4cuda_CUlaunchConfig) < 0) __PYX_ERR(2, 4186, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUlaunchConfig = &__pyx_type_4cuda_4cuda_CUlaunchConfig;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUlaunchConfig->tp_base = __pyx_ptype_4cuda_4cuda_CUlaunchConfig_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUlaunchConfig) < 0) __PYX_ERR(2, 4186, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUlaunchConfig->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUlaunchConfig->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUlaunchConfig->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUlaunchConfig->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUlaunchConfig, (PyObject *) __pyx_ptype_4cuda_4cuda_CUlaunchConfig) < 0) __PYX_ERR(2, 4186, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUkernelNodeAttrValue_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1)) __PYX_ERR(2, 4221, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUkernelNodeAttrValue_v1_spec, __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1) < 0) __PYX_ERR(2, 4221, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1 = &__pyx_type_4cuda_4cuda_CUkernelNodeAttrValue_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1) < 0) __PYX_ERR(2, 4221, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUkernelNodeAttrValue_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1) < 0) __PYX_ERR(2, 4221, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUkernelNodeAttrValue_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue)) __PYX_ERR(2, 4279, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUkernelNodeAttrValue_spec, __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue) < 0) __PYX_ERR(2, 4279, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue = &__pyx_type_4cuda_4cuda_CUkernelNodeAttrValue;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue->tp_base = __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue) < 0) __PYX_ERR(2, 4279, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUkernelNodeAttrValue, (PyObject *) __pyx_ptype_4cuda_4cuda_CUkernelNodeAttrValue) < 0) __PYX_ERR(2, 4279, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUstreamAttrValue_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1)) __PYX_ERR(2, 4337, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUstreamAttrValue_v1_spec, __pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1) < 0) __PYX_ERR(2, 4337, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1 = &__pyx_type_4cuda_4cuda_CUstreamAttrValue_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1) < 0) __PYX_ERR(2, 4337, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUstreamAttrValue_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1) < 0) __PYX_ERR(2, 4337, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUstreamAttrValue = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUstreamAttrValue_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUstreamAttrValue)) __PYX_ERR(2, 4395, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUstreamAttrValue_spec, __pyx_ptype_4cuda_4cuda_CUstreamAttrValue) < 0) __PYX_ERR(2, 4395, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUstreamAttrValue = &__pyx_type_4cuda_4cuda_CUstreamAttrValue;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUstreamAttrValue->tp_base = __pyx_ptype_4cuda_4cuda_CUstreamAttrValue_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUstreamAttrValue) < 0) __PYX_ERR(2, 4395, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUstreamAttrValue->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUstreamAttrValue->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUstreamAttrValue->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUstreamAttrValue->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUstreamAttrValue, (PyObject *) __pyx_ptype_4cuda_4cuda_CUstreamAttrValue) < 0) __PYX_ERR(2, 4395, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUexecAffinitySmCount_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1)) __PYX_ERR(2, 4453, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUexecAffinitySmCount_v1_spec, __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1) < 0) __PYX_ERR(2, 4453, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1 = &__pyx_type_4cuda_4cuda_CUexecAffinitySmCount_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1) < 0) __PYX_ERR(2, 4453, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUexecAffinitySmCount_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1) < 0) __PYX_ERR(2, 4453, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUexecAffinitySmCount_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount)) __PYX_ERR(2, 4470, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUexecAffinitySmCount_spec, __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount) < 0) __PYX_ERR(2, 4470, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount = &__pyx_type_4cuda_4cuda_CUexecAffinitySmCount;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount->tp_base = __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount) < 0) __PYX_ERR(2, 4470, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUexecAffinitySmCount, (PyObject *) __pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount) < 0) __PYX_ERR(2, 4470, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4487, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUexecAffinityParam_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1)) __PYX_ERR(2, 4487, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUexecAffinityParam_v1_spec, __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1) < 0) __PYX_ERR(2, 4487, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1 = &__pyx_type_4cuda_4cuda_CUexecAffinityParam_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1) < 0) __PYX_ERR(2, 4487, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUexecAffinityParam_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1) < 0) __PYX_ERR(2, 4487, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUexecAffinityParam = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUexecAffinityParam_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUexecAffinityParam)) __PYX_ERR(2, 4506, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUexecAffinityParam_spec, __pyx_ptype_4cuda_4cuda_CUexecAffinityParam) < 0) __PYX_ERR(2, 4506, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUexecAffinityParam = &__pyx_type_4cuda_4cuda_CUexecAffinityParam;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUexecAffinityParam->tp_base = __pyx_ptype_4cuda_4cuda_CUexecAffinityParam_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUexecAffinityParam) < 0) __PYX_ERR(2, 4506, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUexecAffinityParam->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUexecAffinityParam->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUexecAffinityParam->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUexecAffinityParam->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUexecAffinityParam, (PyObject *) __pyx_ptype_4cuda_4cuda_CUexecAffinityParam) < 0) __PYX_ERR(2, 4506, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable)) __PYX_ERR(2, 4525, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_spec, __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable) < 0) __PYX_ERR(2, 4525, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable = &__pyx_type_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable->tp_base = __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable) < 0) __PYX_ERR(2, 4525, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUlibraryHostUniversalFunctionAn_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable) < 0) __PYX_ERR(2, 4525, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2)) __PYX_ERR(2, 4546, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_v2_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2) < 0) __PYX_ERR(2, 4546, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2 = &__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2) < 0) __PYX_ERR(2, 4546, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEMCPY2D_v2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2) < 0) __PYX_ERR(2, 4546, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D)) __PYX_ERR(2, 4593, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D) < 0) __PYX_ERR(2, 4593, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D = &__pyx_type_4cuda_4cuda_CUDA_MEMCPY2D;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_v2;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D) < 0) __PYX_ERR(2, 4593, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEMCPY2D, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D) < 0) __PYX_ERR(2, 4593, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2)) __PYX_ERR(2, 4640, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_v2_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2) < 0) __PYX_ERR(2, 4640, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2 = &__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2) < 0) __PYX_ERR(2, 4640, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEMCPY3D_v2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2) < 0) __PYX_ERR(2, 4640, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D)) __PYX_ERR(2, 4706, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D) < 0) __PYX_ERR(2, 4706, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D = &__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_v2;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D) < 0) __PYX_ERR(2, 4706, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEMCPY3D, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D) < 0) __PYX_ERR(2, 4706, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4772, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1)) __PYX_ERR(2, 4772, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1) < 0) __PYX_ERR(2, 4772, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1 = &__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1) < 0) __PYX_ERR(2, 4772, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEMCPY3D_PEER_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1) < 0) __PYX_ERR(2, 4772, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER)) __PYX_ERR(2, 4839, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER) < 0) __PYX_ERR(2, 4839, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER = &__pyx_type_4cuda_4cuda_CUDA_MEMCPY3D_PEER;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER) < 0) __PYX_ERR(2, 4839, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEMCPY3D_PEER, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER) < 0) __PYX_ERR(2, 4839, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS)) __PYX_ERR(2, 4906, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS) < 0) __PYX_ERR(2, 4906, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS = &__pyx_type_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS) < 0) __PYX_ERR(2, 4906, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEMCPY_NODE_PARAMS, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS) < 0) __PYX_ERR(2, 4906, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2)) __PYX_ERR(2, 4929, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2_spec, __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2) < 0) __PYX_ERR(2, 4929, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2 = &__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2) < 0) __PYX_ERR(2, 4929, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_ARRAY_DESCRIPTOR_v2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2) < 0) __PYX_ERR(2, 4929, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR)) __PYX_ERR(2, 4952, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_spec, __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR) < 0) __PYX_ERR(2, 4952, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR = &__pyx_type_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_v2;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR) < 0) __PYX_ERR(2, 4952, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_ARRAY_DESCRIPTOR, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR) < 0) __PYX_ERR(2, 4952, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2)) __PYX_ERR(2, 4975, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2_spec, __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2) < 0) __PYX_ERR(2, 4975, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2 = &__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2) < 0) __PYX_ERR(2, 4975, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_v2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2) < 0) __PYX_ERR(2, 4975, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR)) __PYX_ERR(2, 5002, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_spec, __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR) < 0) __PYX_ERR(2, 5002, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR = &__pyx_type_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_v2;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR) < 0) __PYX_ERR(2, 5002, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR) < 0) __PYX_ERR(2, 5002, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1)) __PYX_ERR(2, 5029, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1) < 0) __PYX_ERR(2, 5029, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1 = &__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1) < 0) __PYX_ERR(2, 5029, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1) < 0) __PYX_ERR(2, 5029, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES)) __PYX_ERR(2, 5055, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_spec, __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES) < 0) __PYX_ERR(2, 5055, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES = &__pyx_type_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES) < 0) __PYX_ERR(2, 5055, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES) < 0) __PYX_ERR(2, 5055, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1)) __PYX_ERR(2, 5081, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1) < 0) __PYX_ERR(2, 5081, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 = &__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1) < 0) __PYX_ERR(2, 5081, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_v, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1) < 0) __PYX_ERR(2, 5081, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS)) __PYX_ERR(2, 5102, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_spec, __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS) < 0) __PYX_ERR(2, 5102, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS = &__pyx_type_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS) < 0) __PYX_ERR(2, 5102, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS) < 0) __PYX_ERR(2, 5102, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1)) __PYX_ERR(2, 5123, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1) < 0) __PYX_ERR(2, 5123, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1 = &__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1) < 0) __PYX_ERR(2, 5123, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_RESOURCE_DESC_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1) < 0) __PYX_ERR(2, 5123, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC)) __PYX_ERR(2, 5144, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC_spec, __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC) < 0) __PYX_ERR(2, 5144, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC = &__pyx_type_4cuda_4cuda_CUDA_RESOURCE_DESC;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC) < 0) __PYX_ERR(2, 5144, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_RESOURCE_DESC, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC) < 0) __PYX_ERR(2, 5144, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1)) __PYX_ERR(2, 5165, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1) < 0) __PYX_ERR(2, 5165, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1 = &__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1) < 0) __PYX_ERR(2, 5165, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_TEXTURE_DESC_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1) < 0) __PYX_ERR(2, 5165, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC)) __PYX_ERR(2, 5200, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC_spec, __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC) < 0) __PYX_ERR(2, 5200, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC = &__pyx_type_4cuda_4cuda_CUDA_TEXTURE_DESC;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC) < 0) __PYX_ERR(2, 5200, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_TEXTURE_DESC, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC) < 0) __PYX_ERR(2, 5200, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1)) __PYX_ERR(2, 5235, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1) < 0) __PYX_ERR(2, 5235, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1 = &__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1) < 0) __PYX_ERR(2, 5235, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_RESOURCE_VIEW_DESC_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1) < 0) __PYX_ERR(2, 5235, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC)) __PYX_ERR(2, 5268, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_spec, __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC) < 0) __PYX_ERR(2, 5268, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC = &__pyx_type_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC) < 0) __PYX_ERR(2, 5268, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_RESOURCE_VIEW_DESC, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC) < 0) __PYX_ERR(2, 5268, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUtensorMap_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUtensorMap = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUtensorMap_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUtensorMap)) __PYX_ERR(2, 5301, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUtensorMap_spec, __pyx_ptype_4cuda_4cuda_CUtensorMap) < 0) __PYX_ERR(2, 5301, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUtensorMap = &__pyx_type_4cuda_4cuda_CUtensorMap;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUtensorMap->tp_base = __pyx_ptype_4cuda_4cuda_CUtensorMap_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUtensorMap) < 0) __PYX_ERR(2, 5301, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUtensorMap->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUtensorMap->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUtensorMap->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUtensorMap->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUtensorMap, (PyObject *) __pyx_ptype_4cuda_4cuda_CUtensorMap) < 0) __PYX_ERR(2, 5301, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1)) __PYX_ERR(2, 5319, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1) < 0) __PYX_ERR(2, 5319, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 = &__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1) < 0) __PYX_ERR(2, 5319, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1) < 0) __PYX_ERR(2, 5319, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS)) __PYX_ERR(2, 5338, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_spec, __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS) < 0) __PYX_ERR(2, 5338, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS = &__pyx_type_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS) < 0) __PYX_ERR(2, 5338, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_3, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS) < 0) __PYX_ERR(2, 5338, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1)) __PYX_ERR(2, 5357, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1) < 0) __PYX_ERR(2, 5357, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1 = &__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1) < 0) __PYX_ERR(2, 5357, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_LAUNCH_PARAMS_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1) < 0) __PYX_ERR(2, 5357, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS)) __PYX_ERR(2, 5392, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS_spec, __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS) < 0) __PYX_ERR(2, 5392, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS = &__pyx_type_4cuda_4cuda_CUDA_LAUNCH_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS) < 0) __PYX_ERR(2, 5392, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_LAUNCH_PARAMS, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS) < 0) __PYX_ERR(2, 5392, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1)) __PYX_ERR(2, 5427, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1) < 0) __PYX_ERR(2, 5427, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 = &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1) < 0) __PYX_ERR(2, 5427, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1) < 0) __PYX_ERR(2, 5427, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC)) __PYX_ERR(2, 5452, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC) < 0) __PYX_ERR(2, 5452, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC = &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC) < 0) __PYX_ERR(2, 5452, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_3, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC) < 0) __PYX_ERR(2, 5452, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1)) __PYX_ERR(2, 5477, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1) < 0) __PYX_ERR(2, 5477, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 = &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1) < 0) __PYX_ERR(2, 5477, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1) < 0) __PYX_ERR(2, 5477, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC)) __PYX_ERR(2, 5500, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC) < 0) __PYX_ERR(2, 5500, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC = &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC) < 0) __PYX_ERR(2, 5500, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_3, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC) < 0) __PYX_ERR(2, 5500, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1)) __PYX_ERR(2, 5523, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1) < 0) __PYX_ERR(2, 5523, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 = &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1) < 0) __PYX_ERR(2, 5523, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1) < 0) __PYX_ERR(2, 5523, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC)) __PYX_ERR(2, 5547, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC) < 0) __PYX_ERR(2, 5547, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC = &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC) < 0) __PYX_ERR(2, 5547, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_3, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC) < 0) __PYX_ERR(2, 5547, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1)) __PYX_ERR(2, 5571, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1) < 0) __PYX_ERR(2, 5571, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 = &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1) < 0) __PYX_ERR(2, 5571, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1) < 0) __PYX_ERR(2, 5571, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC)) __PYX_ERR(2, 5594, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC) < 0) __PYX_ERR(2, 5594, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC = &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC) < 0) __PYX_ERR(2, 5594, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_3, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC) < 0) __PYX_ERR(2, 5594, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1)) __PYX_ERR(2, 5617, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1) < 0) __PYX_ERR(2, 5617, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 = &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1) < 0) __PYX_ERR(2, 5617, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1) < 0) __PYX_ERR(2, 5617, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS)) __PYX_ERR(2, 5645, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) < 0) __PYX_ERR(2, 5645, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS = &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) < 0) __PYX_ERR(2, 5645, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_3, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS) < 0) __PYX_ERR(2, 5645, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1)) __PYX_ERR(2, 5673, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1) < 0) __PYX_ERR(2, 5673, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 = &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1) < 0) __PYX_ERR(2, 5673, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1) < 0) __PYX_ERR(2, 5673, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS)) __PYX_ERR(2, 5701, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) < 0) __PYX_ERR(2, 5701, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS = &__pyx_type_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) < 0) __PYX_ERR(2, 5701, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_3, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS) < 0) __PYX_ERR(2, 5701, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1)) __PYX_ERR(2, 5729, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 5729, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 = &__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 5729, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_3, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 5729, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS)) __PYX_ERR(2, 5751, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS) < 0) __PYX_ERR(2, 5751, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS = &__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS) < 0) __PYX_ERR(2, 5751, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_4, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS) < 0) __PYX_ERR(2, 5751, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2)) __PYX_ERR(2, 5773, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 5773, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 = &__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 5773, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_5, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 5773, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1)) __PYX_ERR(2, 5795, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 5795, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 = &__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 5795, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 5795, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS)) __PYX_ERR(2, 5817, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS) < 0) __PYX_ERR(2, 5817, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS = &__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS) < 0) __PYX_ERR(2, 5817, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS) < 0) __PYX_ERR(2, 5817, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2)) __PYX_ERR(2, 5839, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_spec, __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 5839, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 = &__pyx_type_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 5839, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 5839, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle)) __PYX_ERR(1, 4478, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle_spec, __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle) < 0) __PYX_ERR(1, 4478, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle = &__pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle) < 0) __PYX_ERR(1, 4478, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemGenericAllocationHandle_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle) < 0) __PYX_ERR(1, 4478, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle) < 0) __PYX_ERR(1, 4478, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUarrayMapInfo_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1)) __PYX_ERR(2, 5873, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUarrayMapInfo_v1_spec, __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1) < 0) __PYX_ERR(2, 5873, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1 = &__pyx_type_4cuda_4cuda_CUarrayMapInfo_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1) < 0) __PYX_ERR(2, 5873, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUarrayMapInfo_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1) < 0) __PYX_ERR(2, 5873, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUarrayMapInfo = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUarrayMapInfo_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUarrayMapInfo)) __PYX_ERR(2, 5911, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUarrayMapInfo_spec, __pyx_ptype_4cuda_4cuda_CUarrayMapInfo) < 0) __PYX_ERR(2, 5911, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUarrayMapInfo = &__pyx_type_4cuda_4cuda_CUarrayMapInfo;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUarrayMapInfo->tp_base = __pyx_ptype_4cuda_4cuda_CUarrayMapInfo_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUarrayMapInfo) < 0) __PYX_ERR(2, 5911, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUarrayMapInfo->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUarrayMapInfo->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUarrayMapInfo->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUarrayMapInfo->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUarrayMapInfo, (PyObject *) __pyx_ptype_4cuda_4cuda_CUarrayMapInfo) < 0) __PYX_ERR(2, 5911, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUmemLocation_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUmemLocation_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemLocation_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemLocation_v1)) __PYX_ERR(2, 5949, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemLocation_v1_spec, __pyx_ptype_4cuda_4cuda_CUmemLocation_v1) < 0) __PYX_ERR(2, 5949, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemLocation_v1 = &__pyx_type_4cuda_4cuda_CUmemLocation_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUmemLocation_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUmemLocation_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemLocation_v1) < 0) __PYX_ERR(2, 5949, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemLocation_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemLocation_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemLocation_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemLocation_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemLocation_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemLocation_v1) < 0) __PYX_ERR(2, 5949, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUmemLocation_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUmemLocation = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemLocation_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemLocation)) __PYX_ERR(2, 5968, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemLocation_spec, __pyx_ptype_4cuda_4cuda_CUmemLocation) < 0) __PYX_ERR(2, 5968, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemLocation = &__pyx_type_4cuda_4cuda_CUmemLocation;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUmemLocation->tp_base = __pyx_ptype_4cuda_4cuda_CUmemLocation_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemLocation) < 0) __PYX_ERR(2, 5968, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemLocation->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemLocation->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemLocation->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemLocation->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemLocation, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemLocation) < 0) __PYX_ERR(2, 5968, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5987, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemAllocationProp_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1)) __PYX_ERR(2, 5987, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemAllocationProp_v1_spec, __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1) < 0) __PYX_ERR(2, 5987, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1 = &__pyx_type_4cuda_4cuda_CUmemAllocationProp_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1) < 0) __PYX_ERR(2, 5987, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemAllocationProp_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1) < 0) __PYX_ERR(2, 5987, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUmemAllocationProp = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemAllocationProp_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemAllocationProp)) __PYX_ERR(2, 6016, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemAllocationProp_spec, __pyx_ptype_4cuda_4cuda_CUmemAllocationProp) < 0) __PYX_ERR(2, 6016, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemAllocationProp = &__pyx_type_4cuda_4cuda_CUmemAllocationProp;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUmemAllocationProp->tp_base = __pyx_ptype_4cuda_4cuda_CUmemAllocationProp_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemAllocationProp) < 0) __PYX_ERR(2, 6016, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemAllocationProp->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemAllocationProp->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemAllocationProp->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemAllocationProp->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemAllocationProp, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemAllocationProp) < 0) __PYX_ERR(2, 6016, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmulticastObjectProp_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1)) __PYX_ERR(2, 6045, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmulticastObjectProp_v1_spec, __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1) < 0) __PYX_ERR(2, 6045, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1 = &__pyx_type_4cuda_4cuda_CUmulticastObjectProp_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1) < 0) __PYX_ERR(2, 6045, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmulticastObjectProp_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1) < 0) __PYX_ERR(2, 6045, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6071, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmulticastObjectProp_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp)) __PYX_ERR(2, 6071, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmulticastObjectProp_spec, __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp) < 0) __PYX_ERR(2, 6071, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp = &__pyx_type_4cuda_4cuda_CUmulticastObjectProp;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp->tp_base = __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp) < 0) __PYX_ERR(2, 6071, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmulticastObjectProp, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmulticastObjectProp) < 0) __PYX_ERR(2, 6071, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemAccessDesc_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1)) __PYX_ERR(2, 6097, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemAccessDesc_v1_spec, __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1) < 0) __PYX_ERR(2, 6097, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1 = &__pyx_type_4cuda_4cuda_CUmemAccessDesc_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1) < 0) __PYX_ERR(2, 6097, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemAccessDesc_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1) < 0) __PYX_ERR(2, 6097, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUmemAccessDesc = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemAccessDesc_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemAccessDesc)) __PYX_ERR(2, 6116, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemAccessDesc_spec, __pyx_ptype_4cuda_4cuda_CUmemAccessDesc) < 0) __PYX_ERR(2, 6116, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemAccessDesc = &__pyx_type_4cuda_4cuda_CUmemAccessDesc;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUmemAccessDesc->tp_base = __pyx_ptype_4cuda_4cuda_CUmemAccessDesc_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemAccessDesc) < 0) __PYX_ERR(2, 6116, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemAccessDesc->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemAccessDesc->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemAccessDesc->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemAccessDesc->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemAccessDesc, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemAccessDesc) < 0) __PYX_ERR(2, 6116, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1)) __PYX_ERR(2, 6135, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1_spec, __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1) < 0) __PYX_ERR(2, 6135, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1 = &__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1) < 0) __PYX_ERR(2, 6135, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUgraphExecUpdateResultInfo_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1) < 0) __PYX_ERR(2, 6135, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo)) __PYX_ERR(2, 6159, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo_spec, __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo) < 0) __PYX_ERR(2, 6159, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo = &__pyx_type_4cuda_4cuda_CUgraphExecUpdateResultInfo;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo->tp_base = __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo) < 0) __PYX_ERR(2, 6159, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUgraphExecUpdateResultInfo, (PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo) < 0) __PYX_ERR(2, 6159, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUmemPoolProps_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemPoolProps_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1)) __PYX_ERR(2, 6183, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemPoolProps_v1_spec, __pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1) < 0) __PYX_ERR(2, 6183, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1 = &__pyx_type_4cuda_4cuda_CUmemPoolProps_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUmemPoolProps_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1) < 0) __PYX_ERR(2, 6183, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemPoolProps_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1) < 0) __PYX_ERR(2, 6183, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUmemPoolProps = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemPoolProps_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemPoolProps)) __PYX_ERR(2, 6216, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemPoolProps_spec, __pyx_ptype_4cuda_4cuda_CUmemPoolProps) < 0) __PYX_ERR(2, 6216, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemPoolProps = &__pyx_type_4cuda_4cuda_CUmemPoolProps;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUmemPoolProps->tp_base = __pyx_ptype_4cuda_4cuda_CUmemPoolProps_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemPoolProps) < 0) __PYX_ERR(2, 6216, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemPoolProps->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemPoolProps->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemPoolProps->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemPoolProps->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemPoolProps, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemPoolProps) < 0) __PYX_ERR(2, 6216, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1)) __PYX_ERR(2, 6249, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_v1_spec, __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1) < 0) __PYX_ERR(2, 6249, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1 = &__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1) < 0) __PYX_ERR(2, 6249, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemPoolPtrExportData_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1) < 0) __PYX_ERR(2, 6249, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData)) __PYX_ERR(2, 6266, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData_spec, __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData) < 0) __PYX_ERR(2, 6266, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData = &__pyx_type_4cuda_4cuda_CUmemPoolPtrExportData;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData->tp_base = __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData) < 0) __PYX_ERR(2, 6266, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemPoolPtrExportData, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData) < 0) __PYX_ERR(2, 6266, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1)) __PYX_ERR(2, 6283, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 6283, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1 = &__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 6283, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1) < 0) __PYX_ERR(2, 6283, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS)) __PYX_ERR(2, 6312, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS) < 0) __PYX_ERR(2, 6312, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS = &__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS) < 0) __PYX_ERR(2, 6312, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS) < 0) __PYX_ERR(2, 6312, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2)) __PYX_ERR(2, 6341, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 6341, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2 = &__pyx_type_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 6341, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2) < 0) __PYX_ERR(2, 6341, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS)) __PYX_ERR(2, 6370, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_spec, __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS) < 0) __PYX_ERR(2, 6370, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS = &__pyx_type_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS) < 0) __PYX_ERR(2, 6370, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS) < 0) __PYX_ERR(2, 6370, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS)) __PYX_ERR(2, 6387, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_spec, __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS) < 0) __PYX_ERR(2, 6387, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS = &__pyx_type_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS) < 0) __PYX_ERR(2, 6387, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS) < 0) __PYX_ERR(2, 6387, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS)) __PYX_ERR(2, 6405, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_spec, __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS) < 0) __PYX_ERR(2, 6405, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS = &__pyx_type_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS) < 0) __PYX_ERR(2, 6405, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS) < 0) __PYX_ERR(2, 6405, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS)) __PYX_ERR(2, 6422, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_spec, __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS) < 0) __PYX_ERR(2, 6422, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS = &__pyx_type_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS->tp_base = __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS) < 0) __PYX_ERR(2, 6422, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS, (PyObject *) __pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS) < 0) __PYX_ERR(2, 6422, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUgraphNodeParams = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUgraphNodeParams_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUgraphNodeParams)) __PYX_ERR(2, 6439, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUgraphNodeParams_spec, __pyx_ptype_4cuda_4cuda_CUgraphNodeParams) < 0) __PYX_ERR(2, 6439, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUgraphNodeParams = &__pyx_type_4cuda_4cuda_CUgraphNodeParams;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUgraphNodeParams->tp_base = __pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUgraphNodeParams) < 0) __PYX_ERR(2, 6439, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUgraphNodeParams->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUgraphNodeParams->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUgraphNodeParams->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUgraphNodeParams->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUgraphNodeParams, (PyObject *) __pyx_ptype_4cuda_4cuda_CUgraphNodeParams) < 0) __PYX_ERR(2, 6439, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUdevSmResource_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUdevSmResource = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUdevSmResource_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUdevSmResource)) __PYX_ERR(2, 6488, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUdevSmResource_spec, __pyx_ptype_4cuda_4cuda_CUdevSmResource) < 0) __PYX_ERR(2, 6488, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUdevSmResource = &__pyx_type_4cuda_4cuda_CUdevSmResource;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUdevSmResource->tp_base = __pyx_ptype_4cuda_4cuda_CUdevSmResource_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUdevSmResource) < 0) __PYX_ERR(2, 6488, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUdevSmResource->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUdevSmResource->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUdevSmResource->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUdevSmResource->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUdevSmResource, (PyObject *) __pyx_ptype_4cuda_4cuda_CUdevSmResource) < 0) __PYX_ERR(2, 6488, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUdevResource_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUdevResource_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUdevResource_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUdevResource_v1)) __PYX_ERR(2, 6504, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUdevResource_v1_spec, __pyx_ptype_4cuda_4cuda_CUdevResource_v1) < 0) __PYX_ERR(2, 6504, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUdevResource_v1 = &__pyx_type_4cuda_4cuda_CUdevResource_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUdevResource_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUdevResource_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUdevResource_v1) < 0) __PYX_ERR(2, 6504, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUdevResource_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUdevResource_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUdevResource_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUdevResource_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUdevResource_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUdevResource_v1) < 0) __PYX_ERR(2, 6504, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUdevResource_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUdevResource = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUdevResource_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUdevResource)) __PYX_ERR(2, 6525, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUdevResource_spec, __pyx_ptype_4cuda_4cuda_CUdevResource) < 0) __PYX_ERR(2, 6525, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUdevResource = &__pyx_type_4cuda_4cuda_CUdevResource;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUdevResource->tp_base = __pyx_ptype_4cuda_4cuda_CUdevResource_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUdevResource) < 0) __PYX_ERR(2, 6525, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUdevResource->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUdevResource->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUdevResource->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUdevResource->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUdevResource, (PyObject *) __pyx_ptype_4cuda_4cuda_CUdevResource) < 0) __PYX_ERR(2, 6525, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUeglFrame_st); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUeglFrame_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUeglFrame_v1_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUeglFrame_v1)) __PYX_ERR(2, 6546, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUeglFrame_v1_spec, __pyx_ptype_4cuda_4cuda_CUeglFrame_v1) < 0) __PYX_ERR(2, 6546, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUeglFrame_v1 = &__pyx_type_4cuda_4cuda_CUeglFrame_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUeglFrame_v1->tp_base = __pyx_ptype_4cuda_4cuda_CUeglFrame_st;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUeglFrame_v1) < 0) __PYX_ERR(2, 6546, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUeglFrame_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUeglFrame_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUeglFrame_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUeglFrame_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUeglFrame_v1, (PyObject *) __pyx_ptype_4cuda_4cuda_CUeglFrame_v1) < 0) __PYX_ERR(2, 6546, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_4cuda_4cuda_CUeglFrame_v1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4cuda_CUeglFrame = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUeglFrame_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_ptype_4cuda_4cuda_CUeglFrame)) __PYX_ERR(2, 6583, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUeglFrame_spec, __pyx_ptype_4cuda_4cuda_CUeglFrame) < 0) __PYX_ERR(2, 6583, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUeglFrame = &__pyx_type_4cuda_4cuda_CUeglFrame;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_ptype_4cuda_4cuda_CUeglFrame->tp_base = __pyx_ptype_4cuda_4cuda_CUeglFrame_v1;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUeglFrame) < 0) __PYX_ERR(2, 6583, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUeglFrame->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUeglFrame->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUeglFrame->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUeglFrame->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUeglFrame, (PyObject *) __pyx_ptype_4cuda_4cuda_CUeglFrame) < 0) __PYX_ERR(2, 6583, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_cuuint32_t = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_cuuint32_t_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_cuuint32_t)) __PYX_ERR(1, 15239, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_cuuint32_t_spec, __pyx_ptype_4cuda_4cuda_cuuint32_t) < 0) __PYX_ERR(1, 15239, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_cuuint32_t = &__pyx_type_4cuda_4cuda_cuuint32_t;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_cuuint32_t) < 0) __PYX_ERR(1, 15239, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_cuuint32_t->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_cuuint32_t->tp_dictoffset && __pyx_ptype_4cuda_4cuda_cuuint32_t->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_cuuint32_t->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cuuint32_t_2, (PyObject *) __pyx_ptype_4cuda_4cuda_cuuint32_t) < 0) __PYX_ERR(1, 15239, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_cuuint32_t) < 0) __PYX_ERR(1, 15239, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_cuuint64_t = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_cuuint64_t_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_cuuint64_t)) __PYX_ERR(1, 15264, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_cuuint64_t_spec, __pyx_ptype_4cuda_4cuda_cuuint64_t) < 0) __PYX_ERR(1, 15264, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_cuuint64_t = &__pyx_type_4cuda_4cuda_cuuint64_t;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_cuuint64_t) < 0) __PYX_ERR(1, 15264, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_cuuint64_t->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_cuuint64_t->tp_dictoffset && __pyx_ptype_4cuda_4cuda_cuuint64_t->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_cuuint64_t->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_cuuint64_t_2, (PyObject *) __pyx_ptype_4cuda_4cuda_cuuint64_t) < 0) __PYX_ERR(1, 15264, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_cuuint64_t) < 0) __PYX_ERR(1, 15264, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUdeviceptr_v2 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUdeviceptr_v2_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUdeviceptr_v2)) __PYX_ERR(1, 15289, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUdeviceptr_v2_spec, __pyx_ptype_4cuda_4cuda_CUdeviceptr_v2) < 0) __PYX_ERR(1, 15289, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUdeviceptr_v2 = &__pyx_type_4cuda_4cuda_CUdeviceptr_v2;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUdeviceptr_v2) < 0) __PYX_ERR(1, 15289, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUdeviceptr_v2->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUdeviceptr_v2->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUdeviceptr_v2->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUdeviceptr_v2->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUdeviceptr_v2_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUdeviceptr_v2) < 0) __PYX_ERR(1, 15289, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUdeviceptr_v2) < 0) __PYX_ERR(1, 15289, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUdevice_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUdevice_v1_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUdevice_v1)) __PYX_ERR(1, 15316, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUdevice_v1_spec, __pyx_ptype_4cuda_4cuda_CUdevice_v1) < 0) __PYX_ERR(1, 15316, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUdevice_v1 = &__pyx_type_4cuda_4cuda_CUdevice_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUdevice_v1) < 0) __PYX_ERR(1, 15316, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUdevice_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUdevice_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUdevice_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUdevice_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUdevice_v1_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUdevice_v1) < 0) __PYX_ERR(1, 15316, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUdevice_v1) < 0) __PYX_ERR(1, 15316, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUtexObject_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUtexObject_v1_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUtexObject_v1)) __PYX_ERR(1, 15343, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUtexObject_v1_spec, __pyx_ptype_4cuda_4cuda_CUtexObject_v1) < 0) __PYX_ERR(1, 15343, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUtexObject_v1 = &__pyx_type_4cuda_4cuda_CUtexObject_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUtexObject_v1) < 0) __PYX_ERR(1, 15343, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUtexObject_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUtexObject_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUtexObject_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUtexObject_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUtexObject_v1_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUtexObject_v1) < 0) __PYX_ERR(1, 15343, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUtexObject_v1) < 0) __PYX_ERR(1, 15343, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUsurfObject_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUsurfObject_v1_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUsurfObject_v1)) __PYX_ERR(1, 15370, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUsurfObject_v1_spec, __pyx_ptype_4cuda_4cuda_CUsurfObject_v1) < 0) __PYX_ERR(1, 15370, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUsurfObject_v1 = &__pyx_type_4cuda_4cuda_CUsurfObject_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUsurfObject_v1) < 0) __PYX_ERR(1, 15370, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUsurfObject_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUsurfObject_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUsurfObject_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUsurfObject_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUsurfObject_v1_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUsurfObject_v1) < 0) __PYX_ERR(1, 15370, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUsurfObject_v1) < 0) __PYX_ERR(1, 15370, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1 = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle_v1_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1)) __PYX_ERR(1, 15397, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle_v1_spec, __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1) < 0) __PYX_ERR(1, 15397, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1 = &__pyx_type_4cuda_4cuda_CUmemGenericAllocationHandle_v1;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1) < 0) __PYX_ERR(1, 15397, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1->tp_dictoffset && __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_CUmemGenericAllocationHandle_v1_2, (PyObject *) __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1) < 0) __PYX_ERR(1, 15397, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1) < 0) __PYX_ERR(1, 15397, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_GLenum = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_GLenum_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_GLenum)) __PYX_ERR(1, 15422, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_GLenum_spec, __pyx_ptype_4cuda_4cuda_GLenum) < 0) __PYX_ERR(1, 15422, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_GLenum = &__pyx_type_4cuda_4cuda_GLenum;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_GLenum) < 0) __PYX_ERR(1, 15422, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_GLenum->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_GLenum->tp_dictoffset && __pyx_ptype_4cuda_4cuda_GLenum->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_GLenum->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GLenum_2, (PyObject *) __pyx_ptype_4cuda_4cuda_GLenum) < 0) __PYX_ERR(1, 15422, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_GLenum) < 0) __PYX_ERR(1, 15422, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_GLuint = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_GLuint_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_GLuint)) __PYX_ERR(1, 15447, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_GLuint_spec, __pyx_ptype_4cuda_4cuda_GLuint) < 0) __PYX_ERR(1, 15447, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_GLuint = &__pyx_type_4cuda_4cuda_GLuint;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_GLuint) < 0) __PYX_ERR(1, 15447, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_GLuint->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_GLuint->tp_dictoffset && __pyx_ptype_4cuda_4cuda_GLuint->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_GLuint->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GLuint_2, (PyObject *) __pyx_ptype_4cuda_4cuda_GLuint) < 0) __PYX_ERR(1, 15447, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_GLuint) < 0) __PYX_ERR(1, 15447, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_EGLint = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_EGLint_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_EGLint)) __PYX_ERR(1, 15472, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_EGLint_spec, __pyx_ptype_4cuda_4cuda_EGLint) < 0) __PYX_ERR(1, 15472, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_EGLint = &__pyx_type_4cuda_4cuda_EGLint;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_EGLint) < 0) __PYX_ERR(1, 15472, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_EGLint->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_EGLint->tp_dictoffset && __pyx_ptype_4cuda_4cuda_EGLint->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_EGLint->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_EGLint_2, (PyObject *) __pyx_ptype_4cuda_4cuda_EGLint) < 0) __PYX_ERR(1, 15472, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_EGLint) < 0) __PYX_ERR(1, 15472, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_VdpDevice = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_VdpDevice_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_VdpDevice)) __PYX_ERR(1, 15497, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_VdpDevice_spec, __pyx_ptype_4cuda_4cuda_VdpDevice) < 0) __PYX_ERR(1, 15497, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_VdpDevice = &__pyx_type_4cuda_4cuda_VdpDevice;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_VdpDevice) < 0) __PYX_ERR(1, 15497, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_VdpDevice->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_VdpDevice->tp_dictoffset && __pyx_ptype_4cuda_4cuda_VdpDevice->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_VdpDevice->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_VdpDevice_2, (PyObject *) __pyx_ptype_4cuda_4cuda_VdpDevice) < 0) __PYX_ERR(1, 15497, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_VdpDevice) < 0) __PYX_ERR(1, 15497, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_VdpGetProcAddress = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_VdpGetProcAddress_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_VdpGetProcAddress)) __PYX_ERR(1, 15522, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_VdpGetProcAddress_spec, __pyx_ptype_4cuda_4cuda_VdpGetProcAddress) < 0) __PYX_ERR(1, 15522, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_VdpGetProcAddress = &__pyx_type_4cuda_4cuda_VdpGetProcAddress;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_VdpGetProcAddress) < 0) __PYX_ERR(1, 15522, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_VdpGetProcAddress->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_VdpGetProcAddress->tp_dictoffset && __pyx_ptype_4cuda_4cuda_VdpGetProcAddress->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_VdpGetProcAddress->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_VdpGetProcAddress_2, (PyObject *) __pyx_ptype_4cuda_4cuda_VdpGetProcAddress) < 0) __PYX_ERR(1, 15522, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_VdpGetProcAddress) < 0) __PYX_ERR(1, 15522, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_VdpVideoSurface = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_VdpVideoSurface_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_VdpVideoSurface)) __PYX_ERR(1, 15547, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_VdpVideoSurface_spec, __pyx_ptype_4cuda_4cuda_VdpVideoSurface) < 0) __PYX_ERR(1, 15547, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_VdpVideoSurface = &__pyx_type_4cuda_4cuda_VdpVideoSurface;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_VdpVideoSurface) < 0) __PYX_ERR(1, 15547, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_VdpVideoSurface->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_VdpVideoSurface->tp_dictoffset && __pyx_ptype_4cuda_4cuda_VdpVideoSurface->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_VdpVideoSurface->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_VdpVideoSurface_2, (PyObject *) __pyx_ptype_4cuda_4cuda_VdpVideoSurface) < 0) __PYX_ERR(1, 15547, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_VdpVideoSurface) < 0) __PYX_ERR(1, 15547, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda_VdpOutputSurface = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda_VdpOutputSurface_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda_VdpOutputSurface)) __PYX_ERR(1, 15572, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda_VdpOutputSurface_spec, __pyx_ptype_4cuda_4cuda_VdpOutputSurface) < 0) __PYX_ERR(1, 15572, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda_VdpOutputSurface = &__pyx_type_4cuda_4cuda_VdpOutputSurface;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda_VdpOutputSurface) < 0) __PYX_ERR(1, 15572, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda_VdpOutputSurface->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda_VdpOutputSurface->tp_dictoffset && __pyx_ptype_4cuda_4cuda_VdpOutputSurface->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda_VdpOutputSurface->tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_VdpOutputSurface_2, (PyObject *) __pyx_ptype_4cuda_4cuda_VdpOutputSurface) < 0) __PYX_ERR(1, 15572, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_4cuda_4cuda_VdpOutputSurface) < 0) __PYX_ERR(1, 15572, __pyx_L1_error)
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct__genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct__genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct__genexpr)) __PYX_ERR(1, 17397, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct__genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct__genexpr) < 0) __PYX_ERR(1, 17397, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct__genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct__genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct__genexpr) < 0) __PYX_ERR(1, 17397, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct__genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct__genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct__genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct__genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_1_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_1_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_1_genexpr)) __PYX_ERR(1, 18364, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_1_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_1_genexpr) < 0) __PYX_ERR(1, 18364, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_1_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_1_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_1_genexpr) < 0) __PYX_ERR(1, 18364, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_1_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_1_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_1_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_1_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_2_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_2_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_2_genexpr)) __PYX_ERR(1, 18687, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_2_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_2_genexpr) < 0) __PYX_ERR(1, 18687, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_2_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_2_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_2_genexpr) < 0) __PYX_ERR(1, 18687, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_2_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_2_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_2_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_2_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_3_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_3_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_3_genexpr)) __PYX_ERR(1, 18749, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_3_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_3_genexpr) < 0) __PYX_ERR(1, 18749, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_3_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_3_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_3_genexpr) < 0) __PYX_ERR(1, 18749, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_3_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_3_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_3_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_3_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_4_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_4_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_4_genexpr)) __PYX_ERR(1, 18817, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_4_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_4_genexpr) < 0) __PYX_ERR(1, 18817, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_4_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_4_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_4_genexpr) < 0) __PYX_ERR(1, 18817, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_4_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_4_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_4_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_4_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_5_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_5_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_5_genexpr)) __PYX_ERR(1, 19058, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_5_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_5_genexpr) < 0) __PYX_ERR(1, 19058, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_5_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_5_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_5_genexpr) < 0) __PYX_ERR(1, 19058, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_5_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_5_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_5_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_5_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_6_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_6_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_6_genexpr)) __PYX_ERR(1, 19062, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_6_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_6_genexpr) < 0) __PYX_ERR(1, 19062, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_6_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_6_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_6_genexpr) < 0) __PYX_ERR(1, 19062, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_6_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_6_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_6_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_6_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_7_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_7_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_7_genexpr)) __PYX_ERR(1, 19144, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_7_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_7_genexpr) < 0) __PYX_ERR(1, 19144, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_7_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_7_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_7_genexpr) < 0) __PYX_ERR(1, 19144, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_7_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_7_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_7_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_7_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_8_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_8_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_8_genexpr)) __PYX_ERR(1, 19148, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_8_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_8_genexpr) < 0) __PYX_ERR(1, 19148, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_8_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_8_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_8_genexpr) < 0) __PYX_ERR(1, 19148, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_8_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_8_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_8_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_8_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_9_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_9_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_9_genexpr)) __PYX_ERR(1, 24501, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_9_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_9_genexpr) < 0) __PYX_ERR(1, 24501, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_9_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_9_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_9_genexpr) < 0) __PYX_ERR(1, 24501, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_9_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_9_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_9_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_9_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_10_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_10_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_10_genexpr)) __PYX_ERR(1, 24605, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_10_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_10_genexpr) < 0) __PYX_ERR(1, 24605, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_10_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_10_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_10_genexpr) < 0) __PYX_ERR(1, 24605, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_10_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_10_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_10_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_10_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_11_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_11_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_11_genexpr)) __PYX_ERR(1, 25177, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_11_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_11_genexpr) < 0) __PYX_ERR(1, 25177, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_11_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_11_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_11_genexpr) < 0) __PYX_ERR(1, 25177, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_11_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_11_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_11_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_11_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_12_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_12_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_12_genexpr)) __PYX_ERR(1, 26943, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_12_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_12_genexpr) < 0) __PYX_ERR(1, 26943, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_12_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_12_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_12_genexpr) < 0) __PYX_ERR(1, 26943, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_12_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_12_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_12_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_12_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_13_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_13_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_13_genexpr)) __PYX_ERR(1, 26945, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_13_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_13_genexpr) < 0) __PYX_ERR(1, 26945, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_13_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_13_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_13_genexpr) < 0) __PYX_ERR(1, 26945, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_13_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_13_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_13_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_13_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_14_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_14_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_14_genexpr)) __PYX_ERR(1, 27087, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_14_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_14_genexpr) < 0) __PYX_ERR(1, 27087, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_14_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_14_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_14_genexpr) < 0) __PYX_ERR(1, 27087, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_14_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_14_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_14_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_14_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_15_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_15_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_15_genexpr)) __PYX_ERR(1, 27625, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_15_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_15_genexpr) < 0) __PYX_ERR(1, 27625, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_15_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_15_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_15_genexpr) < 0) __PYX_ERR(1, 27625, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_15_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_15_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_15_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_15_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_16_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_16_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_16_genexpr)) __PYX_ERR(1, 27628, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_16_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_16_genexpr) < 0) __PYX_ERR(1, 27628, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_16_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_16_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_16_genexpr) < 0) __PYX_ERR(1, 27628, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_16_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_16_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_16_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_16_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_17_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_17_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_17_genexpr)) __PYX_ERR(1, 28062, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_17_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_17_genexpr) < 0) __PYX_ERR(1, 28062, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_17_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_17_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_17_genexpr) < 0) __PYX_ERR(1, 28062, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_17_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_17_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_17_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_17_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_18_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_18_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_18_genexpr)) __PYX_ERR(1, 28131, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_18_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_18_genexpr) < 0) __PYX_ERR(1, 28131, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_18_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_18_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_18_genexpr) < 0) __PYX_ERR(1, 28131, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_18_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_18_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_18_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_18_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_19_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_19_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_19_genexpr)) __PYX_ERR(1, 28134, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_19_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_19_genexpr) < 0) __PYX_ERR(1, 28134, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_19_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_19_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_19_genexpr) < 0) __PYX_ERR(1, 28134, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_19_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_19_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_19_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_19_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_20_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_20_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_20_genexpr)) __PYX_ERR(1, 29435, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_20_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_20_genexpr) < 0) __PYX_ERR(1, 29435, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_20_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_20_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_20_genexpr) < 0) __PYX_ERR(1, 29435, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_20_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_20_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_20_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_20_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_21_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_21_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_21_genexpr)) __PYX_ERR(1, 29438, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_21_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_21_genexpr) < 0) __PYX_ERR(1, 29438, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_21_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_21_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_21_genexpr) < 0) __PYX_ERR(1, 29438, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_21_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_21_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_21_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_21_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_22_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_22_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_22_genexpr)) __PYX_ERR(1, 29558, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_22_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_22_genexpr) < 0) __PYX_ERR(1, 29558, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_22_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_22_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_22_genexpr) < 0) __PYX_ERR(1, 29558, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_22_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_22_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_22_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_22_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_23_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_23_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_23_genexpr)) __PYX_ERR(1, 29561, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_23_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_23_genexpr) < 0) __PYX_ERR(1, 29561, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_23_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_23_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_23_genexpr) < 0) __PYX_ERR(1, 29561, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_23_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_23_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_23_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_23_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_24_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_24_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_24_genexpr)) __PYX_ERR(1, 29933, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_24_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_24_genexpr) < 0) __PYX_ERR(1, 29933, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_24_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_24_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_24_genexpr) < 0) __PYX_ERR(1, 29933, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_24_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_24_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_24_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_24_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_25_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_25_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_25_genexpr)) __PYX_ERR(1, 31037, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_25_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_25_genexpr) < 0) __PYX_ERR(1, 31037, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_25_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_25_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_25_genexpr) < 0) __PYX_ERR(1, 31037, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_25_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_25_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_25_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_25_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_26_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_26_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_26_genexpr)) __PYX_ERR(1, 31778, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_26_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_26_genexpr) < 0) __PYX_ERR(1, 31778, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_26_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_26_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_26_genexpr) < 0) __PYX_ERR(1, 31778, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_26_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_26_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_26_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_26_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_27_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_27_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_27_genexpr)) __PYX_ERR(1, 31942, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_27_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_27_genexpr) < 0) __PYX_ERR(1, 31942, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_27_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_27_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_27_genexpr) < 0) __PYX_ERR(1, 31942, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_27_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_27_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_27_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_27_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_28_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_28_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_28_genexpr)) __PYX_ERR(1, 32087, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_28_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_28_genexpr) < 0) __PYX_ERR(1, 32087, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_28_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_28_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_28_genexpr) < 0) __PYX_ERR(1, 32087, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_28_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_28_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_28_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_28_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_29_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_29_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_29_genexpr)) __PYX_ERR(1, 32221, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_29_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_29_genexpr) < 0) __PYX_ERR(1, 32221, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_29_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_29_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_29_genexpr) < 0) __PYX_ERR(1, 32221, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_29_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_29_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_29_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_29_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_30_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_30_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_30_genexpr)) __PYX_ERR(1, 32367, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_30_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_30_genexpr) < 0) __PYX_ERR(1, 32367, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_30_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_30_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_30_genexpr) < 0) __PYX_ERR(1, 32367, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_30_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_30_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_30_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_30_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_31_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_31_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_31_genexpr)) __PYX_ERR(1, 32471, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_31_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_31_genexpr) < 0) __PYX_ERR(1, 32471, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_31_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_31_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_31_genexpr) < 0) __PYX_ERR(1, 32471, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_31_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_31_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_31_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_31_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_32_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_32_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_32_genexpr)) __PYX_ERR(1, 32543, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_32_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_32_genexpr) < 0) __PYX_ERR(1, 32543, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_32_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_32_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_32_genexpr) < 0) __PYX_ERR(1, 32543, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_32_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_32_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_32_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_32_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_33_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_33_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_33_genexpr)) __PYX_ERR(1, 32695, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_33_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_33_genexpr) < 0) __PYX_ERR(1, 32695, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_33_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_33_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_33_genexpr) < 0) __PYX_ERR(1, 32695, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_33_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_33_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_33_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_33_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_34_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_34_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_34_genexpr)) __PYX_ERR(1, 32837, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_34_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_34_genexpr) < 0) __PYX_ERR(1, 32837, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_34_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_34_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_34_genexpr) < 0) __PYX_ERR(1, 32837, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_34_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_34_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_34_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_34_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_35_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_35_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_35_genexpr)) __PYX_ERR(1, 32979, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_35_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_35_genexpr) < 0) __PYX_ERR(1, 32979, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_35_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_35_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_35_genexpr) < 0) __PYX_ERR(1, 32979, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_35_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_35_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_35_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_35_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_36_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_36_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_36_genexpr)) __PYX_ERR(1, 33124, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_36_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_36_genexpr) < 0) __PYX_ERR(1, 33124, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_36_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_36_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_36_genexpr) < 0) __PYX_ERR(1, 33124, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_36_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_36_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_36_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_36_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_37_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_37_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_37_genexpr)) __PYX_ERR(1, 33375, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_37_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_37_genexpr) < 0) __PYX_ERR(1, 33375, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_37_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_37_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_37_genexpr) < 0) __PYX_ERR(1, 33375, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_37_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_37_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_37_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_37_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_38_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_38_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_38_genexpr)) __PYX_ERR(1, 33503, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_38_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_38_genexpr) < 0) __PYX_ERR(1, 33503, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_38_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_38_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_38_genexpr) < 0) __PYX_ERR(1, 33503, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_38_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_38_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_38_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_38_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_39_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_39_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_39_genexpr)) __PYX_ERR(1, 34375, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_39_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_39_genexpr) < 0) __PYX_ERR(1, 34375, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_39_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_39_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_39_genexpr) < 0) __PYX_ERR(1, 34375, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_39_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_39_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_39_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_39_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_40_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_40_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_40_genexpr)) __PYX_ERR(1, 34378, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_40_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_40_genexpr) < 0) __PYX_ERR(1, 34378, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_40_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_40_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_40_genexpr) < 0) __PYX_ERR(1, 34378, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_40_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_40_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_40_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_40_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_41_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_41_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_41_genexpr)) __PYX_ERR(1, 34447, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_41_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_41_genexpr) < 0) __PYX_ERR(1, 34447, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_41_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_41_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_41_genexpr) < 0) __PYX_ERR(1, 34447, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_41_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_41_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_41_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_41_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_42_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_42_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_42_genexpr)) __PYX_ERR(1, 34450, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_42_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_42_genexpr) < 0) __PYX_ERR(1, 34450, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_42_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_42_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_42_genexpr) < 0) __PYX_ERR(1, 34450, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_42_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_42_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_42_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_42_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_43_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_43_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_43_genexpr)) __PYX_ERR(1, 34453, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_43_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_43_genexpr) < 0) __PYX_ERR(1, 34453, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_43_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_43_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_43_genexpr) < 0) __PYX_ERR(1, 34453, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_43_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_43_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_43_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_43_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_44_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_44_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_44_genexpr)) __PYX_ERR(1, 34532, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_44_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_44_genexpr) < 0) __PYX_ERR(1, 34532, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_44_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_44_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_44_genexpr) < 0) __PYX_ERR(1, 34532, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_44_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_44_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_44_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_44_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_45_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_45_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_45_genexpr)) __PYX_ERR(1, 34535, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_45_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_45_genexpr) < 0) __PYX_ERR(1, 34535, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_45_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_45_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_45_genexpr) < 0) __PYX_ERR(1, 34535, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_45_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_45_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_45_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_45_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_46_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_46_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_46_genexpr)) __PYX_ERR(1, 34610, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_46_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_46_genexpr) < 0) __PYX_ERR(1, 34610, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_46_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_46_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_46_genexpr) < 0) __PYX_ERR(1, 34610, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_46_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_46_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_46_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_46_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_47_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_47_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_47_genexpr)) __PYX_ERR(1, 34613, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_47_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_47_genexpr) < 0) __PYX_ERR(1, 34613, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_47_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_47_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_47_genexpr) < 0) __PYX_ERR(1, 34613, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_47_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_47_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_47_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_47_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_48_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_48_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_48_genexpr)) __PYX_ERR(1, 34616, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_48_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_48_genexpr) < 0) __PYX_ERR(1, 34616, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_48_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_48_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_48_genexpr) < 0) __PYX_ERR(1, 34616, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_48_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_48_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_48_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_48_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_49_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_49_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_49_genexpr)) __PYX_ERR(1, 36471, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_49_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_49_genexpr) < 0) __PYX_ERR(1, 36471, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_49_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_49_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_49_genexpr) < 0) __PYX_ERR(1, 36471, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_49_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_49_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_49_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_49_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_50_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_50_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_50_genexpr)) __PYX_ERR(1, 36547, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_50_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_50_genexpr) < 0) __PYX_ERR(1, 36547, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_50_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_50_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_50_genexpr) < 0) __PYX_ERR(1, 36547, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_50_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_50_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_50_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_50_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_51_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_51_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_51_genexpr)) __PYX_ERR(1, 36550, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_51_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_51_genexpr) < 0) __PYX_ERR(1, 36550, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_51_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_51_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_51_genexpr) < 0) __PYX_ERR(1, 36550, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_51_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_51_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_51_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_51_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_52_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_52_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_52_genexpr)) __PYX_ERR(1, 39050, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_52_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_52_genexpr) < 0) __PYX_ERR(1, 39050, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_52_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_52_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_52_genexpr) < 0) __PYX_ERR(1, 39050, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_52_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_52_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_52_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_52_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_53_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_53_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_53_genexpr)) __PYX_ERR(1, 39053, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_53_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_53_genexpr) < 0) __PYX_ERR(1, 39053, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_53_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_53_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_53_genexpr) < 0) __PYX_ERR(1, 39053, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_53_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_53_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_53_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_53_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_54_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_54_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_54_genexpr)) __PYX_ERR(1, 39056, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_54_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_54_genexpr) < 0) __PYX_ERR(1, 39056, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_54_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_54_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_54_genexpr) < 0) __PYX_ERR(1, 39056, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_54_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_54_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_54_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_54_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_55_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_55_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_55_genexpr)) __PYX_ERR(1, 39059, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_55_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_55_genexpr) < 0) __PYX_ERR(1, 39059, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_55_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_55_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_55_genexpr) < 0) __PYX_ERR(1, 39059, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_55_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_55_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_55_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_55_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_56_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_56_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_56_genexpr)) __PYX_ERR(1, 39310, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_56_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_56_genexpr) < 0) __PYX_ERR(1, 39310, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_56_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_56_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_56_genexpr) < 0) __PYX_ERR(1, 39310, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_56_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_56_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_56_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_56_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_57_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_57_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_57_genexpr)) __PYX_ERR(1, 39331, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_57_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_57_genexpr) < 0) __PYX_ERR(1, 39331, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_57_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_57_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_57_genexpr) < 0) __PYX_ERR(1, 39331, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_57_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_57_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_57_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_57_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_58_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_58_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_58_genexpr)) __PYX_ERR(1, 39334, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_58_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_58_genexpr) < 0) __PYX_ERR(1, 39334, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_58_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_58_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_58_genexpr) < 0) __PYX_ERR(1, 39334, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_58_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_58_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_58_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_58_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_59_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_59_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_59_genexpr)) __PYX_ERR(1, 39337, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_59_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_59_genexpr) < 0) __PYX_ERR(1, 39337, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_59_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_59_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_59_genexpr) < 0) __PYX_ERR(1, 39337, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_59_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_59_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_59_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_59_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_60_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_60_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_60_genexpr)) __PYX_ERR(1, 39340, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_60_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_60_genexpr) < 0) __PYX_ERR(1, 39340, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_60_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_60_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_60_genexpr) < 0) __PYX_ERR(1, 39340, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_60_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_60_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_60_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_60_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_61_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_4cuda_4cuda___pyx_scope_struct_61_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_61_genexpr)) __PYX_ERR(1, 40836, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_4cuda_4cuda___pyx_scope_struct_61_genexpr_spec, __pyx_ptype_4cuda_4cuda___pyx_scope_struct_61_genexpr) < 0) __PYX_ERR(1, 40836, __pyx_L1_error)
  #else
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_61_genexpr = &__pyx_type_4cuda_4cuda___pyx_scope_struct_61_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_ptype_4cuda_4cuda___pyx_scope_struct_61_genexpr) < 0) __PYX_ERR(1, 40836, __pyx_L1_error)
  #endif
  #if PY_MAJOR_VERSION < 3
  __pyx_ptype_4cuda_4cuda___pyx_scope_struct_61_genexpr->tp_print = 0;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_4cuda_4cuda___pyx_scope_struct_61_genexpr->tp_dictoffset && __pyx_ptype_4cuda_4cuda___pyx_scope_struct_61_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_ptype_4cuda_4cuda___pyx_scope_struct_61_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
  }
  #endif
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_type_import_code(void) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
  /*--- Type import code ---*/
  __pyx_t_1 = PyImport_ImportModule("cuda._lib.utils"); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4cuda_4_lib_5utils_HelperKernelParams = __Pyx_ImportType_3_0_7(__pyx_t_1, "cuda._lib.utils", "HelperKernelParams", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct __pyx_obj_4cuda_4_lib_5utils_HelperKernelParams),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_4cuda_4_lib_5utils_HelperKernelParams) __PYX_ERR(3, 12, __pyx_L1_error)
  __pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr = __Pyx_ImportType_3_0_7(__pyx_t_1, "cuda._lib.utils", "HelperInputVoidPtr", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct __pyx_obj_4cuda_4_lib_5utils_HelperInputVoidPtr),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_4cuda_4_lib_5utils_HelperInputVoidPtr) __PYX_ERR(3, 20, __pyx_L1_error)
  __pyx_ptype_4cuda_4_lib_5utils_HelperCUmemPool_attribute = __Pyx_ImportType_3_0_7(__pyx_t_1, "cuda._lib.utils", "HelperCUmemPool_attribute", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemPool_attribute), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemPool_attribute),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemPool_attribute) __PYX_ERR(3, 25, __pyx_L1_error)
  __pyx_ptype_4cuda_4_lib_5utils_HelperCUmem_range_attribute = __Pyx_ImportType_3_0_7(__pyx_t_1, "cuda._lib.utils", "HelperCUmem_range_attribute", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmem_range_attribute), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmem_range_attribute),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_4cuda_4_lib_5utils_HelperCUmem_range_attribute) __PYX_ERR(3, 34, __pyx_L1_error)
  __pyx_ptype_4cuda_4_lib_5utils_HelperCUpointer_attribute = __Pyx_ImportType_3_0_7(__pyx_t_1, "cuda._lib.utils", "HelperCUpointer_attribute", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUpointer_attribute), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUpointer_attribute),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_4cuda_4_lib_5utils_HelperCUpointer_attribute) __PYX_ERR(3, 43, __pyx_L1_error)
  __pyx_ptype_4cuda_4_lib_5utils_HelperCUgraphMem_attribute = __Pyx_ImportType_3_0_7(__pyx_t_1, "cuda._lib.utils", "HelperCUgraphMem_attribute", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUgraphMem_attribute), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUgraphMem_attribute),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_4cuda_4_lib_5utils_HelperCUgraphMem_attribute) __PYX_ERR(3, 59, __pyx_L1_error)
  __pyx_ptype_4cuda_4_lib_5utils_HelperCUjit_option = __Pyx_ImportType_3_0_7(__pyx_t_1, "cuda._lib.utils", "HelperCUjit_option", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUjit_option), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUjit_option),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_4cuda_4_lib_5utils_HelperCUjit_option) __PYX_ERR(3, 67, __pyx_L1_error)
  __pyx_ptype_4cuda_4_lib_5utils_HelperCUlibraryOption = __Pyx_ImportType_3_0_7(__pyx_t_1, "cuda._lib.utils", "HelperCUlibraryOption", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUlibraryOption), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUlibraryOption),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_4cuda_4_lib_5utils_HelperCUlibraryOption) __PYX_ERR(3, 82, __pyx_L1_error)
  __pyx_ptype_4cuda_4_lib_5utils_HelperCUmemAllocationHandleType = __Pyx_ImportType_3_0_7(__pyx_t_1, "cuda._lib.utils", "HelperCUmemAllocationHandleType", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemAllocationHandleType), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUmemAllocationHandleType),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_4cuda_4_lib_5utils_HelperCUmemAllocationHandleType) __PYX_ERR(3, 89, __pyx_L1_error)
  __pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper = __Pyx_ImportType_3_0_7(__pyx_t_1, "cuda._lib.utils", "InputVoidPtrPtrHelper", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct __pyx_obj_4cuda_4_lib_5utils_InputVoidPtrPtrHelper),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_4cuda_4_lib_5utils_InputVoidPtrPtrHelper) __PYX_ERR(3, 99, __pyx_L1_error)
  __pyx_ptype_4cuda_4_lib_5utils_HelperCUcoredumpSettings = __Pyx_ImportType_3_0_7(__pyx_t_1, "cuda._lib.utils", "HelperCUcoredumpSettings", sizeof(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUcoredumpSettings), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(struct __pyx_obj_4cuda_4_lib_5utils_HelperCUcoredumpSettings),__Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_4cuda_4_lib_5utils_HelperCUcoredumpSettings) __PYX_ERR(3, 102, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_7cpython_4type_type = __Pyx_ImportType_3_0_7(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", 
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(PyTypeObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(PyTypeObject),
  #else
  sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_7(PyHeapTypeObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn_3_0_7); if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(4, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_variable_import_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);
  /*--- Variable import code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_function_import_code(void) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);
  /*--- Function import code ---*/
  __pyx_t_1 = PyImport_ImportModule("cuda.ccuda"); if (!__pyx_t_1) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGetErrorString", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGetErrorString, "CUresult (CUresult, char const **)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGetErrorName", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGetErrorName, "CUresult (CUresult, char const **)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuInit", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuInit, "CUresult (unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDriverGetVersion", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDriverGetVersion, "CUresult (int *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGet", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGet, "CUresult (CUdevice *, int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGetCount", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGetCount, "CUresult (int *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGetName", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGetName, "CUresult (char *, int, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGetUuid", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGetUuid, "CUresult (CUuuid *, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGetUuid_v2", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGetUuid_v2, "CUresult (CUuuid *, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGetLuid", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGetLuid, "CUresult (char *, unsigned int *, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceTotalMem", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceTotalMem, "CUresult (size_t *, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGetTexture1DLinearMaxWidth", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGetTexture1DLinearMaxWidth, "CUresult (size_t *, CUarray_format, unsigned int, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGetAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGetAttribute, "CUresult (int *, CUdevice_attribute, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGetNvSciSyncAttributes", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGetNvSciSyncAttributes, "CUresult (void *, CUdevice, int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceSetMemPool", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceSetMemPool, "CUresult (CUdevice, CUmemoryPool)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGetMemPool", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGetMemPool, "CUresult (CUmemoryPool *, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGetDefaultMemPool", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGetDefaultMemPool, "CUresult (CUmemoryPool *, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGetExecAffinitySupport", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGetExecAffinitySupport, "CUresult (int *, CUexecAffinityType, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuFlushGPUDirectRDMAWrites", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuFlushGPUDirectRDMAWrites, "CUresult (CUflushGPUDirectRDMAWritesTarget, CUflushGPUDirectRDMAWritesScope)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGetProperties", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGetProperties, "CUresult (CUdevprop *, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceComputeCapability", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceComputeCapability, "CUresult (int *, int *, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDevicePrimaryCtxRetain", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDevicePrimaryCtxRetain, "CUresult (CUcontext *, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDevicePrimaryCtxRelease", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDevicePrimaryCtxRelease, "CUresult (CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDevicePrimaryCtxSetFlags", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDevicePrimaryCtxSetFlags, "CUresult (CUdevice, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDevicePrimaryCtxGetState", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDevicePrimaryCtxGetState, "CUresult (CUdevice, unsigned int *, int *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDevicePrimaryCtxReset", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDevicePrimaryCtxReset, "CUresult (CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxCreate, "CUresult (CUcontext *, unsigned int, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxCreate_v3", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxCreate_v3, "CUresult (CUcontext *, CUexecAffinityParam *, int, unsigned int, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxDestroy", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxDestroy, "CUresult (CUcontext)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxPushCurrent", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxPushCurrent, "CUresult (CUcontext)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxPopCurrent", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxPopCurrent, "CUresult (CUcontext *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxSetCurrent", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxSetCurrent, "CUresult (CUcontext)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxGetCurrent", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxGetCurrent, "CUresult (CUcontext *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxGetDevice", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxGetDevice, "CUresult (CUdevice *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxGetFlags", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxGetFlags, "CUresult (unsigned int *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxSetFlags", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxSetFlags, "CUresult (unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxGetId", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxGetId, "CUresult (CUcontext, unsigned PY_LONG_LONG *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxSynchronize", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxSynchronize, "CUresult (void)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxSetLimit", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxSetLimit, "CUresult (CUlimit, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxGetLimit", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxGetLimit, "CUresult (size_t *, CUlimit)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxGetCacheConfig", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxGetCacheConfig, "CUresult (CUfunc_cache *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxSetCacheConfig", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxSetCacheConfig, "CUresult (CUfunc_cache)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxGetApiVersion", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxGetApiVersion, "CUresult (CUcontext, unsigned int *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxGetStreamPriorityRange", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxGetStreamPriorityRange, "CUresult (int *, int *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxResetPersistingL2Cache", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxResetPersistingL2Cache, "CUresult (void)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxGetExecAffinity", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxGetExecAffinity, "CUresult (CUexecAffinityParam *, CUexecAffinityType)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxAttach", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxAttach, "CUresult (CUcontext *, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxDetach", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxDetach, "CUresult (CUcontext)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxGetSharedMemConfig", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxGetSharedMemConfig, "CUresult (CUsharedconfig *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxSetSharedMemConfig", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxSetSharedMemConfig, "CUresult (CUsharedconfig)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuModuleLoad", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuModuleLoad, "CUresult (CUmodule *, char const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuModuleLoadData", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuModuleLoadData, "CUresult (CUmodule *, void const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuModuleLoadDataEx", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuModuleLoadDataEx, "CUresult (CUmodule *, void const *, unsigned int, CUjit_option *, void **)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuModuleLoadFatBinary", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuModuleLoadFatBinary, "CUresult (CUmodule *, void const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuModuleUnload", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuModuleUnload, "CUresult (CUmodule)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuModuleGetLoadingMode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuModuleGetLoadingMode, "CUresult (CUmoduleLoadingMode *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuModuleGetFunction", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuModuleGetFunction, "CUresult (CUfunction *, CUmodule, char const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuModuleGetFunctionCount", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuModuleGetFunctionCount, "CUresult (unsigned int *, CUmodule)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuModuleEnumerateFunctions", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuModuleEnumerateFunctions, "CUresult (CUfunction *, unsigned int, CUmodule)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuModuleGetGlobal", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuModuleGetGlobal, "CUresult (CUdeviceptr *, size_t *, CUmodule, char const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLinkCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLinkCreate, "CUresult (unsigned int, CUjit_option *, void **, CUlinkState *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLinkAddData", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLinkAddData, "CUresult (CUlinkState, CUjitInputType, void *, size_t, char const *, unsigned int, CUjit_option *, void **)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLinkAddFile", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLinkAddFile, "CUresult (CUlinkState, CUjitInputType, char const *, unsigned int, CUjit_option *, void **)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLinkComplete", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLinkComplete, "CUresult (CUlinkState, void **, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLinkDestroy", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLinkDestroy, "CUresult (CUlinkState)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuModuleGetTexRef", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuModuleGetTexRef, "CUresult (CUtexref *, CUmodule, char const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuModuleGetSurfRef", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuModuleGetSurfRef, "CUresult (CUsurfref *, CUmodule, char const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLibraryLoadData", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLibraryLoadData, "CUresult (CUlibrary *, void const *, CUjit_option *, void **, unsigned int, CUlibraryOption *, void **, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLibraryLoadFromFile", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLibraryLoadFromFile, "CUresult (CUlibrary *, char const *, CUjit_option *, void **, unsigned int, CUlibraryOption *, void **, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLibraryUnload", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLibraryUnload, "CUresult (CUlibrary)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLibraryGetKernel", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLibraryGetKernel, "CUresult (CUkernel *, CUlibrary, char const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLibraryGetKernelCount", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLibraryGetKernelCount, "CUresult (unsigned int *, CUlibrary)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLibraryEnumerateKernels", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLibraryEnumerateKernels, "CUresult (CUkernel *, unsigned int, CUlibrary)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLibraryGetModule", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLibraryGetModule, "CUresult (CUmodule *, CUlibrary)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuKernelGetFunction", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuKernelGetFunction, "CUresult (CUfunction *, CUkernel)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLibraryGetGlobal", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLibraryGetGlobal, "CUresult (CUdeviceptr *, size_t *, CUlibrary, char const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLibraryGetManaged", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLibraryGetManaged, "CUresult (CUdeviceptr *, size_t *, CUlibrary, char const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLibraryGetUnifiedFunction", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLibraryGetUnifiedFunction, "CUresult (void **, CUlibrary, char const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuKernelGetAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuKernelGetAttribute, "CUresult (int *, CUfunction_attribute, CUkernel, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuKernelSetAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuKernelSetAttribute, "CUresult (CUfunction_attribute, int, CUkernel, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuKernelSetCacheConfig", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuKernelSetCacheConfig, "CUresult (CUkernel, CUfunc_cache, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuKernelGetName", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuKernelGetName, "CUresult (char const **, CUkernel)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuKernelGetParamInfo", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuKernelGetParamInfo, "CUresult (CUkernel, size_t, size_t *, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemGetInfo", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemGetInfo, "CUresult (size_t *, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemAlloc", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemAlloc, "CUresult (CUdeviceptr *, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemAllocPitch", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemAllocPitch, "CUresult (CUdeviceptr *, size_t *, size_t, size_t, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemFree", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemFree, "CUresult (CUdeviceptr)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemGetAddressRange", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemGetAddressRange, "CUresult (CUdeviceptr *, size_t *, CUdeviceptr)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemAllocHost", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemAllocHost, "CUresult (void **, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemFreeHost", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemFreeHost, "CUresult (void *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemHostAlloc", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemHostAlloc, "CUresult (void **, size_t, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemHostGetDevicePointer", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemHostGetDevicePointer, "CUresult (CUdeviceptr *, void *, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemHostGetFlags", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemHostGetFlags, "CUresult (unsigned int *, void *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemAllocManaged", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemAllocManaged, "CUresult (CUdeviceptr *, size_t, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceRegisterAsyncNotification", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceRegisterAsyncNotification, "CUresult (CUdevice, CUasyncCallback, void *, CUasyncCallbackHandle *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceUnregisterAsyncNotification", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceUnregisterAsyncNotification, "CUresult (CUdevice, CUasyncCallbackHandle)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGetByPCIBusId", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGetByPCIBusId, "CUresult (CUdevice *, char const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGetPCIBusId", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGetPCIBusId, "CUresult (char *, int, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuIpcGetEventHandle", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuIpcGetEventHandle, "CUresult (CUipcEventHandle *, CUevent)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuIpcOpenEventHandle", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuIpcOpenEventHandle, "CUresult (CUevent *, CUipcEventHandle)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuIpcGetMemHandle", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuIpcGetMemHandle, "CUresult (CUipcMemHandle *, CUdeviceptr)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuIpcOpenMemHandle", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuIpcOpenMemHandle, "CUresult (CUdeviceptr *, CUipcMemHandle, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuIpcCloseMemHandle", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuIpcCloseMemHandle, "CUresult (CUdeviceptr)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemHostRegister", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemHostRegister, "CUresult (void *, size_t, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemHostUnregister", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemHostUnregister, "CUresult (void *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpy", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpy, "CUresult (CUdeviceptr, CUdeviceptr, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpyPeer", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpyPeer, "CUresult (CUdeviceptr, CUcontext, CUdeviceptr, CUcontext, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpyHtoD", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpyHtoD, "CUresult (CUdeviceptr, void const *, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpyDtoH", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpyDtoH, "CUresult (void *, CUdeviceptr, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpyDtoD", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpyDtoD, "CUresult (CUdeviceptr, CUdeviceptr, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpyDtoA", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpyDtoA, "CUresult (CUarray, size_t, CUdeviceptr, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpyAtoD", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpyAtoD, "CUresult (CUdeviceptr, CUarray, size_t, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpyHtoA", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpyHtoA, "CUresult (CUarray, size_t, void const *, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpyAtoH", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpyAtoH, "CUresult (void *, CUarray, size_t, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpyAtoA", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpyAtoA, "CUresult (CUarray, size_t, CUarray, size_t, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpy2D", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpy2D, "CUresult (CUDA_MEMCPY2D const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpy2DUnaligned", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpy2DUnaligned, "CUresult (CUDA_MEMCPY2D const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpy3D", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpy3D, "CUresult (CUDA_MEMCPY3D const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpy3DPeer", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpy3DPeer, "CUresult (CUDA_MEMCPY3D_PEER const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpyAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpyAsync, "CUresult (CUdeviceptr, CUdeviceptr, size_t, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpyPeerAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpyPeerAsync, "CUresult (CUdeviceptr, CUcontext, CUdeviceptr, CUcontext, size_t, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpyHtoDAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpyHtoDAsync, "CUresult (CUdeviceptr, void const *, size_t, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpyDtoHAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpyDtoHAsync, "CUresult (void *, CUdeviceptr, size_t, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpyDtoDAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpyDtoDAsync, "CUresult (CUdeviceptr, CUdeviceptr, size_t, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpyHtoAAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpyHtoAAsync, "CUresult (CUarray, size_t, void const *, size_t, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpyAtoHAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpyAtoHAsync, "CUresult (void *, CUarray, size_t, size_t, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpy2DAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpy2DAsync, "CUresult (CUDA_MEMCPY2D const *, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpy3DAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpy3DAsync, "CUresult (CUDA_MEMCPY3D const *, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemcpy3DPeerAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemcpy3DPeerAsync, "CUresult (CUDA_MEMCPY3D_PEER const *, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemsetD8", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemsetD8, "CUresult (CUdeviceptr, unsigned char, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemsetD16", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemsetD16, "CUresult (CUdeviceptr, unsigned short, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemsetD32", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemsetD32, "CUresult (CUdeviceptr, unsigned int, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemsetD2D8", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemsetD2D8, "CUresult (CUdeviceptr, size_t, unsigned char, size_t, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemsetD2D16", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemsetD2D16, "CUresult (CUdeviceptr, size_t, unsigned short, size_t, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemsetD2D32", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemsetD2D32, "CUresult (CUdeviceptr, size_t, unsigned int, size_t, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemsetD8Async", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemsetD8Async, "CUresult (CUdeviceptr, unsigned char, size_t, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemsetD16Async", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemsetD16Async, "CUresult (CUdeviceptr, unsigned short, size_t, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemsetD32Async", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemsetD32Async, "CUresult (CUdeviceptr, unsigned int, size_t, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemsetD2D8Async", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemsetD2D8Async, "CUresult (CUdeviceptr, size_t, unsigned char, size_t, size_t, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemsetD2D16Async", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemsetD2D16Async, "CUresult (CUdeviceptr, size_t, unsigned short, size_t, size_t, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemsetD2D32Async", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemsetD2D32Async, "CUresult (CUdeviceptr, size_t, unsigned int, size_t, size_t, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuArrayCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuArrayCreate, "CUresult (CUarray *, CUDA_ARRAY_DESCRIPTOR const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuArrayGetDescriptor", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuArrayGetDescriptor, "CUresult (CUDA_ARRAY_DESCRIPTOR *, CUarray)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuArrayGetSparseProperties", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuArrayGetSparseProperties, "CUresult (CUDA_ARRAY_SPARSE_PROPERTIES *, CUarray)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMipmappedArrayGetSparseProperties", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMipmappedArrayGetSparseProperties, "CUresult (CUDA_ARRAY_SPARSE_PROPERTIES *, CUmipmappedArray)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuArrayGetMemoryRequirements", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuArrayGetMemoryRequirements, "CUresult (CUDA_ARRAY_MEMORY_REQUIREMENTS *, CUarray, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMipmappedArrayGetMemoryRequirements", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMipmappedArrayGetMemoryRequirements, "CUresult (CUDA_ARRAY_MEMORY_REQUIREMENTS *, CUmipmappedArray, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuArrayGetPlane", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuArrayGetPlane, "CUresult (CUarray *, CUarray, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuArrayDestroy", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuArrayDestroy, "CUresult (CUarray)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuArray3DCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuArray3DCreate, "CUresult (CUarray *, CUDA_ARRAY3D_DESCRIPTOR const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuArray3DGetDescriptor", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuArray3DGetDescriptor, "CUresult (CUDA_ARRAY3D_DESCRIPTOR *, CUarray)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMipmappedArrayCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMipmappedArrayCreate, "CUresult (CUmipmappedArray *, CUDA_ARRAY3D_DESCRIPTOR const *, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMipmappedArrayGetLevel", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMipmappedArrayGetLevel, "CUresult (CUarray *, CUmipmappedArray, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMipmappedArrayDestroy", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMipmappedArrayDestroy, "CUresult (CUmipmappedArray)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemGetHandleForAddressRange", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemGetHandleForAddressRange, "CUresult (void *, CUdeviceptr, size_t, CUmemRangeHandleType, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemAddressReserve", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemAddressReserve, "CUresult (CUdeviceptr *, size_t, size_t, CUdeviceptr, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemAddressFree", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemAddressFree, "CUresult (CUdeviceptr, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemCreate, "CUresult (CUmemGenericAllocationHandle *, size_t, CUmemAllocationProp const *, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemRelease", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemRelease, "CUresult (CUmemGenericAllocationHandle)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemMap", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemMap, "CUresult (CUdeviceptr, size_t, size_t, CUmemGenericAllocationHandle, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemMapArrayAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemMapArrayAsync, "CUresult (CUarrayMapInfo *, unsigned int, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemUnmap", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemUnmap, "CUresult (CUdeviceptr, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemSetAccess", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemSetAccess, "CUresult (CUdeviceptr, size_t, CUmemAccessDesc const *, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemGetAccess", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemGetAccess, "CUresult (unsigned PY_LONG_LONG *, CUmemLocation const *, CUdeviceptr)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemExportToShareableHandle", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemExportToShareableHandle, "CUresult (void *, CUmemGenericAllocationHandle, CUmemAllocationHandleType, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemImportFromShareableHandle", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemImportFromShareableHandle, "CUresult (CUmemGenericAllocationHandle *, void *, CUmemAllocationHandleType)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemGetAllocationGranularity", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemGetAllocationGranularity, "CUresult (size_t *, CUmemAllocationProp const *, CUmemAllocationGranularity_flags)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemGetAllocationPropertiesFromHandle", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemGetAllocationPropertiesFromHandle, "CUresult (CUmemAllocationProp *, CUmemGenericAllocationHandle)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemRetainAllocationHandle", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemRetainAllocationHandle, "CUresult (CUmemGenericAllocationHandle *, void *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemFreeAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemFreeAsync, "CUresult (CUdeviceptr, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemAllocAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemAllocAsync, "CUresult (CUdeviceptr *, size_t, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemPoolTrimTo", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemPoolTrimTo, "CUresult (CUmemoryPool, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemPoolSetAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemPoolSetAttribute, "CUresult (CUmemoryPool, CUmemPool_attribute, void *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemPoolGetAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemPoolGetAttribute, "CUresult (CUmemoryPool, CUmemPool_attribute, void *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemPoolSetAccess", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemPoolSetAccess, "CUresult (CUmemoryPool, CUmemAccessDesc const *, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemPoolGetAccess", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemPoolGetAccess, "CUresult (CUmemAccess_flags *, CUmemoryPool, CUmemLocation *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemPoolCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemPoolCreate, "CUresult (CUmemoryPool *, CUmemPoolProps const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemPoolDestroy", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemPoolDestroy, "CUresult (CUmemoryPool)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemAllocFromPoolAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemAllocFromPoolAsync, "CUresult (CUdeviceptr *, size_t, CUmemoryPool, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemPoolExportToShareableHandle", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemPoolExportToShareableHandle, "CUresult (void *, CUmemoryPool, CUmemAllocationHandleType, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemPoolImportFromShareableHandle", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemPoolImportFromShareableHandle, "CUresult (CUmemoryPool *, void *, CUmemAllocationHandleType, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemPoolExportPointer", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemPoolExportPointer, "CUresult (CUmemPoolPtrExportData *, CUdeviceptr)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemPoolImportPointer", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemPoolImportPointer, "CUresult (CUdeviceptr *, CUmemoryPool, CUmemPoolPtrExportData *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMulticastCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMulticastCreate, "CUresult (CUmemGenericAllocationHandle *, CUmulticastObjectProp const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMulticastAddDevice", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMulticastAddDevice, "CUresult (CUmemGenericAllocationHandle, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMulticastBindMem", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMulticastBindMem, "CUresult (CUmemGenericAllocationHandle, size_t, CUmemGenericAllocationHandle, size_t, size_t, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMulticastBindAddr", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMulticastBindAddr, "CUresult (CUmemGenericAllocationHandle, size_t, CUdeviceptr, size_t, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMulticastUnbind", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMulticastUnbind, "CUresult (CUmemGenericAllocationHandle, CUdevice, size_t, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMulticastGetGranularity", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMulticastGetGranularity, "CUresult (size_t *, CUmulticastObjectProp const *, CUmulticastGranularity_flags)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuPointerGetAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuPointerGetAttribute, "CUresult (void *, CUpointer_attribute, CUdeviceptr)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemPrefetchAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemPrefetchAsync, "CUresult (CUdeviceptr, size_t, CUdevice, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemPrefetchAsync_v2", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemPrefetchAsync_v2, "CUresult (CUdeviceptr, size_t, CUmemLocation, unsigned int, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemAdvise", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemAdvise, "CUresult (CUdeviceptr, size_t, CUmem_advise, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemAdvise_v2", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemAdvise_v2, "CUresult (CUdeviceptr, size_t, CUmem_advise, CUmemLocation)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemRangeGetAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemRangeGetAttribute, "CUresult (void *, size_t, CUmem_range_attribute, CUdeviceptr, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuMemRangeGetAttributes", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuMemRangeGetAttributes, "CUresult (void **, size_t *, CUmem_range_attribute *, size_t, CUdeviceptr, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuPointerSetAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuPointerSetAttribute, "CUresult (void const *, CUpointer_attribute, CUdeviceptr)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuPointerGetAttributes", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuPointerGetAttributes, "CUresult (unsigned int, CUpointer_attribute *, void **, CUdeviceptr)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamCreate, "CUresult (CUstream *, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamCreateWithPriority", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamCreateWithPriority, "CUresult (CUstream *, unsigned int, int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamGetPriority", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamGetPriority, "CUresult (CUstream, int *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamGetFlags", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamGetFlags, "CUresult (CUstream, unsigned int *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamGetId", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamGetId, "CUresult (CUstream, unsigned PY_LONG_LONG *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamGetCtx", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamGetCtx, "CUresult (CUstream, CUcontext *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamWaitEvent", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamWaitEvent, "CUresult (CUstream, CUevent, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamAddCallback", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamAddCallback, "CUresult (CUstream, CUstreamCallback, void *, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamBeginCapture", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamBeginCapture, "CUresult (CUstream, CUstreamCaptureMode)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamBeginCaptureToGraph", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamBeginCaptureToGraph, "CUresult (CUstream, CUgraph, CUgraphNode const *, CUgraphEdgeData const *, size_t, CUstreamCaptureMode)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuThreadExchangeStreamCaptureMode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuThreadExchangeStreamCaptureMode, "CUresult (CUstreamCaptureMode *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamEndCapture", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamEndCapture, "CUresult (CUstream, CUgraph *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamIsCapturing", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamIsCapturing, "CUresult (CUstream, CUstreamCaptureStatus *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamGetCaptureInfo", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamGetCaptureInfo, "CUresult (CUstream, CUstreamCaptureStatus *, cuuint64_t *, CUgraph *, CUgraphNode const **, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamGetCaptureInfo_v3", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamGetCaptureInfo_v3, "CUresult (CUstream, CUstreamCaptureStatus *, cuuint64_t *, CUgraph *, CUgraphNode const **, CUgraphEdgeData const **, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamUpdateCaptureDependencies", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamUpdateCaptureDependencies, "CUresult (CUstream, CUgraphNode *, size_t, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamUpdateCaptureDependencies_v2", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamUpdateCaptureDependencies_v2, "CUresult (CUstream, CUgraphNode *, CUgraphEdgeData const *, size_t, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamAttachMemAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamAttachMemAsync, "CUresult (CUstream, CUdeviceptr, size_t, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamQuery", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamQuery, "CUresult (CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamSynchronize", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamSynchronize, "CUresult (CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamDestroy", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamDestroy, "CUresult (CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamCopyAttributes", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamCopyAttributes, "CUresult (CUstream, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamGetAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamGetAttribute, "CUresult (CUstream, CUstreamAttrID, CUstreamAttrValue *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamSetAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamSetAttribute, "CUresult (CUstream, CUstreamAttrID, CUstreamAttrValue const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuEventCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuEventCreate, "CUresult (CUevent *, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuEventRecord", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuEventRecord, "CUresult (CUevent, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuEventRecordWithFlags", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuEventRecordWithFlags, "CUresult (CUevent, CUstream, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuEventQuery", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuEventQuery, "CUresult (CUevent)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuEventSynchronize", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuEventSynchronize, "CUresult (CUevent)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuEventDestroy", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuEventDestroy, "CUresult (CUevent)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuEventElapsedTime", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuEventElapsedTime, "CUresult (float *, CUevent, CUevent)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuImportExternalMemory", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuImportExternalMemory, "CUresult (CUexternalMemory *, CUDA_EXTERNAL_MEMORY_HANDLE_DESC const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuExternalMemoryGetMappedBuffer", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuExternalMemoryGetMappedBuffer, "CUresult (CUdeviceptr *, CUexternalMemory, CUDA_EXTERNAL_MEMORY_BUFFER_DESC const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuExternalMemoryGetMappedMipmappedArray", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuExternalMemoryGetMappedMipmappedArray, "CUresult (CUmipmappedArray *, CUexternalMemory, CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDestroyExternalMemory", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDestroyExternalMemory, "CUresult (CUexternalMemory)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuImportExternalSemaphore", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuImportExternalSemaphore, "CUresult (CUexternalSemaphore *, CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuSignalExternalSemaphoresAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuSignalExternalSemaphoresAsync, "CUresult (CUexternalSemaphore const *, CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS const *, unsigned int, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuWaitExternalSemaphoresAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuWaitExternalSemaphoresAsync, "CUresult (CUexternalSemaphore const *, CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS const *, unsigned int, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDestroyExternalSemaphore", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDestroyExternalSemaphore, "CUresult (CUexternalSemaphore)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamWaitValue32", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamWaitValue32, "CUresult (CUstream, CUdeviceptr, cuuint32_t, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamWaitValue64", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamWaitValue64, "CUresult (CUstream, CUdeviceptr, cuuint64_t, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamWriteValue32", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamWriteValue32, "CUresult (CUstream, CUdeviceptr, cuuint32_t, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamWriteValue64", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamWriteValue64, "CUresult (CUstream, CUdeviceptr, cuuint64_t, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamBatchMemOp", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamBatchMemOp, "CUresult (CUstream, unsigned int, CUstreamBatchMemOpParams *, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuFuncGetAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuFuncGetAttribute, "CUresult (int *, CUfunction_attribute, CUfunction)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuFuncSetAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuFuncSetAttribute, "CUresult (CUfunction, CUfunction_attribute, int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuFuncSetCacheConfig", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuFuncSetCacheConfig, "CUresult (CUfunction, CUfunc_cache)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuFuncGetModule", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuFuncGetModule, "CUresult (CUmodule *, CUfunction)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuFuncGetName", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuFuncGetName, "CUresult (char const **, CUfunction)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuFuncGetParamInfo", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuFuncGetParamInfo, "CUresult (CUfunction, size_t, size_t *, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuFuncIsLoaded", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuFuncIsLoaded, "CUresult (CUfunctionLoadingState *, CUfunction)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuFuncLoad", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuFuncLoad, "CUresult (CUfunction)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLaunchKernel", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLaunchKernel, "CUresult (CUfunction, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, CUstream, void **, void **)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLaunchKernelEx", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLaunchKernelEx, "CUresult (CUlaunchConfig const *, CUfunction, void **, void **)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLaunchCooperativeKernel", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLaunchCooperativeKernel, "CUresult (CUfunction, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, CUstream, void **)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLaunchCooperativeKernelMultiDevice", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLaunchCooperativeKernelMultiDevice, "CUresult (CUDA_LAUNCH_PARAMS *, unsigned int, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLaunchHostFunc", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLaunchHostFunc, "CUresult (CUstream, CUhostFn, void *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuFuncSetBlockShape", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuFuncSetBlockShape, "CUresult (CUfunction, int, int, int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuFuncSetSharedSize", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuFuncSetSharedSize, "CUresult (CUfunction, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuParamSetSize", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuParamSetSize, "CUresult (CUfunction, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuParamSeti", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuParamSeti, "CUresult (CUfunction, int, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuParamSetf", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuParamSetf, "CUresult (CUfunction, int, float)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuParamSetv", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuParamSetv, "CUresult (CUfunction, int, void *, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLaunch", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLaunch, "CUresult (CUfunction)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLaunchGrid", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLaunchGrid, "CUresult (CUfunction, int, int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuLaunchGridAsync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuLaunchGridAsync, "CUresult (CUfunction, int, int, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuParamSetTexRef", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuParamSetTexRef, "CUresult (CUfunction, int, CUtexref)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuFuncSetSharedMemConfig", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuFuncSetSharedMemConfig, "CUresult (CUfunction, CUsharedconfig)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphCreate, "CUresult (CUgraph *, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphAddKernelNode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphAddKernelNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_KERNEL_NODE_PARAMS const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphKernelNodeGetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphKernelNodeGetParams, "CUresult (CUgraphNode, CUDA_KERNEL_NODE_PARAMS *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphKernelNodeSetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphKernelNodeSetParams, "CUresult (CUgraphNode, CUDA_KERNEL_NODE_PARAMS const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphAddMemcpyNode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphAddMemcpyNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_MEMCPY3D const *, CUcontext)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphMemcpyNodeGetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphMemcpyNodeGetParams, "CUresult (CUgraphNode, CUDA_MEMCPY3D *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphMemcpyNodeSetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphMemcpyNodeSetParams, "CUresult (CUgraphNode, CUDA_MEMCPY3D const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphAddMemsetNode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphAddMemsetNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_MEMSET_NODE_PARAMS const *, CUcontext)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphMemsetNodeGetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphMemsetNodeGetParams, "CUresult (CUgraphNode, CUDA_MEMSET_NODE_PARAMS *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphMemsetNodeSetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphMemsetNodeSetParams, "CUresult (CUgraphNode, CUDA_MEMSET_NODE_PARAMS const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphAddHostNode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphAddHostNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_HOST_NODE_PARAMS const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphHostNodeGetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphHostNodeGetParams, "CUresult (CUgraphNode, CUDA_HOST_NODE_PARAMS *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphHostNodeSetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphHostNodeSetParams, "CUresult (CUgraphNode, CUDA_HOST_NODE_PARAMS const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphAddChildGraphNode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphAddChildGraphNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUgraph)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphChildGraphNodeGetGraph", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphChildGraphNodeGetGraph, "CUresult (CUgraphNode, CUgraph *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphAddEmptyNode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphAddEmptyNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphAddEventRecordNode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphAddEventRecordNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUevent)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphEventRecordNodeGetEvent", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphEventRecordNodeGetEvent, "CUresult (CUgraphNode, CUevent *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphEventRecordNodeSetEvent", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphEventRecordNodeSetEvent, "CUresult (CUgraphNode, CUevent)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphAddEventWaitNode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphAddEventWaitNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUevent)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphEventWaitNodeGetEvent", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphEventWaitNodeGetEvent, "CUresult (CUgraphNode, CUevent *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphEventWaitNodeSetEvent", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphEventWaitNodeSetEvent, "CUresult (CUgraphNode, CUevent)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphAddExternalSemaphoresSignalNode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphAddExternalSemaphoresSignalNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExternalSemaphoresSignalNodeGetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExternalSemaphoresSignalNodeGetParams, "CUresult (CUgraphNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExternalSemaphoresSignalNodeSetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExternalSemaphoresSignalNodeSetParams, "CUresult (CUgraphNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphAddExternalSemaphoresWaitNode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphAddExternalSemaphoresWaitNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_EXT_SEM_WAIT_NODE_PARAMS const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExternalSemaphoresWaitNodeGetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExternalSemaphoresWaitNodeGetParams, "CUresult (CUgraphNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExternalSemaphoresWaitNodeSetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExternalSemaphoresWaitNodeSetParams, "CUresult (CUgraphNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphAddBatchMemOpNode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphAddBatchMemOpNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_BATCH_MEM_OP_NODE_PARAMS const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphBatchMemOpNodeGetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphBatchMemOpNodeGetParams, "CUresult (CUgraphNode, CUDA_BATCH_MEM_OP_NODE_PARAMS *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphBatchMemOpNodeSetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphBatchMemOpNodeSetParams, "CUresult (CUgraphNode, CUDA_BATCH_MEM_OP_NODE_PARAMS const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExecBatchMemOpNodeSetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExecBatchMemOpNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUDA_BATCH_MEM_OP_NODE_PARAMS const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphAddMemAllocNode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphAddMemAllocNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUDA_MEM_ALLOC_NODE_PARAMS *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphMemAllocNodeGetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphMemAllocNodeGetParams, "CUresult (CUgraphNode, CUDA_MEM_ALLOC_NODE_PARAMS *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphAddMemFreeNode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphAddMemFreeNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUdeviceptr)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphMemFreeNodeGetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphMemFreeNodeGetParams, "CUresult (CUgraphNode, CUdeviceptr *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGraphMemTrim", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGraphMemTrim, "CUresult (CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGetGraphMemAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGetGraphMemAttribute, "CUresult (CUdevice, CUgraphMem_attribute, void *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceSetGraphMemAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceSetGraphMemAttribute, "CUresult (CUdevice, CUgraphMem_attribute, void *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphClone", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphClone, "CUresult (CUgraph *, CUgraph)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphNodeFindInClone", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphNodeFindInClone, "CUresult (CUgraphNode *, CUgraphNode, CUgraph)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphNodeGetType", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphNodeGetType, "CUresult (CUgraphNode, CUgraphNodeType *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphGetNodes", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphGetNodes, "CUresult (CUgraph, CUgraphNode *, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphGetRootNodes", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphGetRootNodes, "CUresult (CUgraph, CUgraphNode *, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphGetEdges", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphGetEdges, "CUresult (CUgraph, CUgraphNode *, CUgraphNode *, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphGetEdges_v2", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphGetEdges_v2, "CUresult (CUgraph, CUgraphNode *, CUgraphNode *, CUgraphEdgeData *, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphNodeGetDependencies", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphNodeGetDependencies, "CUresult (CUgraphNode, CUgraphNode *, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphNodeGetDependencies_v2", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphNodeGetDependencies_v2, "CUresult (CUgraphNode, CUgraphNode *, CUgraphEdgeData *, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphNodeGetDependentNodes", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphNodeGetDependentNodes, "CUresult (CUgraphNode, CUgraphNode *, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphNodeGetDependentNodes_v2", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphNodeGetDependentNodes_v2, "CUresult (CUgraphNode, CUgraphNode *, CUgraphEdgeData *, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphAddDependencies", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphAddDependencies, "CUresult (CUgraph, CUgraphNode const *, CUgraphNode const *, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphAddDependencies_v2", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphAddDependencies_v2, "CUresult (CUgraph, CUgraphNode const *, CUgraphNode const *, CUgraphEdgeData const *, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphRemoveDependencies", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphRemoveDependencies, "CUresult (CUgraph, CUgraphNode const *, CUgraphNode const *, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphRemoveDependencies_v2", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphRemoveDependencies_v2, "CUresult (CUgraph, CUgraphNode const *, CUgraphNode const *, CUgraphEdgeData const *, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphDestroyNode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphDestroyNode, "CUresult (CUgraphNode)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphInstantiate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphInstantiate, "CUresult (CUgraphExec *, CUgraph, unsigned PY_LONG_LONG)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphInstantiateWithParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphInstantiateWithParams, "CUresult (CUgraphExec *, CUgraph, CUDA_GRAPH_INSTANTIATE_PARAMS *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExecGetFlags", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExecGetFlags, "CUresult (CUgraphExec, cuuint64_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExecKernelNodeSetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExecKernelNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUDA_KERNEL_NODE_PARAMS const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExecMemcpyNodeSetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExecMemcpyNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUDA_MEMCPY3D const *, CUcontext)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExecMemsetNodeSetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExecMemsetNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUDA_MEMSET_NODE_PARAMS const *, CUcontext)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExecHostNodeSetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExecHostNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUDA_HOST_NODE_PARAMS const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExecChildGraphNodeSetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExecChildGraphNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUgraph)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExecEventRecordNodeSetEvent", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExecEventRecordNodeSetEvent, "CUresult (CUgraphExec, CUgraphNode, CUevent)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExecEventWaitNodeSetEvent", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExecEventWaitNodeSetEvent, "CUresult (CUgraphExec, CUgraphNode, CUevent)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExecExternalSemaphoresSignalNodeSetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExecExternalSemaphoresSignalNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUDA_EXT_SEM_SIGNAL_NODE_PARAMS const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExecExternalSemaphoresWaitNodeSetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExecExternalSemaphoresWaitNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUDA_EXT_SEM_WAIT_NODE_PARAMS const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphNodeSetEnabled", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphNodeSetEnabled, "CUresult (CUgraphExec, CUgraphNode, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphNodeGetEnabled", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphNodeGetEnabled, "CUresult (CUgraphExec, CUgraphNode, unsigned int *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphUpload", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphUpload, "CUresult (CUgraphExec, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphLaunch", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphLaunch, "CUresult (CUgraphExec, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExecDestroy", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExecDestroy, "CUresult (CUgraphExec)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphDestroy", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphDestroy, "CUresult (CUgraph)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExecUpdate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExecUpdate, "CUresult (CUgraphExec, CUgraph, CUgraphExecUpdateResultInfo *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphKernelNodeCopyAttributes", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphKernelNodeCopyAttributes, "CUresult (CUgraphNode, CUgraphNode)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphKernelNodeGetAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphKernelNodeGetAttribute, "CUresult (CUgraphNode, CUkernelNodeAttrID, CUkernelNodeAttrValue *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphKernelNodeSetAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphKernelNodeSetAttribute, "CUresult (CUgraphNode, CUkernelNodeAttrID, CUkernelNodeAttrValue const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphDebugDotPrint", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphDebugDotPrint, "CUresult (CUgraph, char const *, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuUserObjectCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuUserObjectCreate, "CUresult (CUuserObject *, void *, CUhostFn, unsigned int, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuUserObjectRetain", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuUserObjectRetain, "CUresult (CUuserObject, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuUserObjectRelease", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuUserObjectRelease, "CUresult (CUuserObject, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphRetainUserObject", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphRetainUserObject, "CUresult (CUgraph, CUuserObject, unsigned int, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphReleaseUserObject", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphReleaseUserObject, "CUresult (CUgraph, CUuserObject, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphAddNode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphAddNode, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, size_t, CUgraphNodeParams *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphAddNode_v2", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphAddNode_v2, "CUresult (CUgraphNode *, CUgraph, CUgraphNode const *, CUgraphEdgeData const *, size_t, CUgraphNodeParams *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphNodeSetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphNodeSetParams, "CUresult (CUgraphNode, CUgraphNodeParams *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphExecNodeSetParams", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphExecNodeSetParams, "CUresult (CUgraphExec, CUgraphNode, CUgraphNodeParams *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphConditionalHandleCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphConditionalHandleCreate, "CUresult (CUgraphConditionalHandle *, CUgraph, CUcontext, unsigned int, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuOccupancyMaxActiveBlocksPerMultiprocessor", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuOccupancyMaxActiveBlocksPerMultiprocessor, "CUresult (int *, CUfunction, int, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, "CUresult (int *, CUfunction, int, size_t, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuOccupancyMaxPotentialBlockSize", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuOccupancyMaxPotentialBlockSize, "CUresult (int *, int *, CUfunction, CUoccupancyB2DSize, size_t, int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuOccupancyMaxPotentialBlockSizeWithFlags", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuOccupancyMaxPotentialBlockSizeWithFlags, "CUresult (int *, int *, CUfunction, CUoccupancyB2DSize, size_t, int, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuOccupancyAvailableDynamicSMemPerBlock", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuOccupancyAvailableDynamicSMemPerBlock, "CUresult (size_t *, CUfunction, int, int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuOccupancyMaxPotentialClusterSize", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuOccupancyMaxPotentialClusterSize, "CUresult (int *, CUfunction, CUlaunchConfig const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuOccupancyMaxActiveClusters", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuOccupancyMaxActiveClusters, "CUresult (int *, CUfunction, CUlaunchConfig const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefSetArray", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefSetArray, "CUresult (CUtexref, CUarray, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefSetMipmappedArray", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefSetMipmappedArray, "CUresult (CUtexref, CUmipmappedArray, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefSetAddress", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefSetAddress, "CUresult (size_t *, CUtexref, CUdeviceptr, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefSetAddress2D", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefSetAddress2D, "CUresult (CUtexref, CUDA_ARRAY_DESCRIPTOR const *, CUdeviceptr, size_t)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefSetFormat", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefSetFormat, "CUresult (CUtexref, CUarray_format, int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefSetAddressMode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefSetAddressMode, "CUresult (CUtexref, int, CUaddress_mode)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefSetFilterMode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefSetFilterMode, "CUresult (CUtexref, CUfilter_mode)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefSetMipmapFilterMode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefSetMipmapFilterMode, "CUresult (CUtexref, CUfilter_mode)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefSetMipmapLevelBias", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefSetMipmapLevelBias, "CUresult (CUtexref, float)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefSetMipmapLevelClamp", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefSetMipmapLevelClamp, "CUresult (CUtexref, float, float)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefSetMaxAnisotropy", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefSetMaxAnisotropy, "CUresult (CUtexref, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefSetBorderColor", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefSetBorderColor, "CUresult (CUtexref, float *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefSetFlags", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefSetFlags, "CUresult (CUtexref, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefGetAddress", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefGetAddress, "CUresult (CUdeviceptr *, CUtexref)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefGetArray", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefGetArray, "CUresult (CUarray *, CUtexref)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefGetMipmappedArray", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefGetMipmappedArray, "CUresult (CUmipmappedArray *, CUtexref)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefGetAddressMode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefGetAddressMode, "CUresult (CUaddress_mode *, CUtexref, int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefGetFilterMode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefGetFilterMode, "CUresult (CUfilter_mode *, CUtexref)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefGetFormat", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefGetFormat, "CUresult (CUarray_format *, int *, CUtexref)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefGetMipmapFilterMode", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefGetMipmapFilterMode, "CUresult (CUfilter_mode *, CUtexref)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefGetMipmapLevelBias", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefGetMipmapLevelBias, "CUresult (float *, CUtexref)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefGetMipmapLevelClamp", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefGetMipmapLevelClamp, "CUresult (float *, float *, CUtexref)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefGetMaxAnisotropy", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefGetMaxAnisotropy, "CUresult (int *, CUtexref)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefGetBorderColor", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefGetBorderColor, "CUresult (float *, CUtexref)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefGetFlags", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefGetFlags, "CUresult (unsigned int *, CUtexref)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefCreate, "CUresult (CUtexref *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexRefDestroy", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexRefDestroy, "CUresult (CUtexref)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuSurfRefSetArray", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuSurfRefSetArray, "CUresult (CUsurfref, CUarray, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuSurfRefGetArray", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuSurfRefGetArray, "CUresult (CUarray *, CUsurfref)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexObjectCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexObjectCreate, "CUresult (CUtexObject *, CUDA_RESOURCE_DESC const *, CUDA_TEXTURE_DESC const *, CUDA_RESOURCE_VIEW_DESC const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexObjectDestroy", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexObjectDestroy, "CUresult (CUtexObject)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexObjectGetResourceDesc", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexObjectGetResourceDesc, "CUresult (CUDA_RESOURCE_DESC *, CUtexObject)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexObjectGetTextureDesc", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexObjectGetTextureDesc, "CUresult (CUDA_TEXTURE_DESC *, CUtexObject)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTexObjectGetResourceViewDesc", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTexObjectGetResourceViewDesc, "CUresult (CUDA_RESOURCE_VIEW_DESC *, CUtexObject)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuSurfObjectCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuSurfObjectCreate, "CUresult (CUsurfObject *, CUDA_RESOURCE_DESC const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuSurfObjectDestroy", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuSurfObjectDestroy, "CUresult (CUsurfObject)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuSurfObjectGetResourceDesc", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuSurfObjectGetResourceDesc, "CUresult (CUDA_RESOURCE_DESC *, CUsurfObject)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTensorMapEncodeTiled", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTensorMapEncodeTiled, "CUresult (CUtensorMap *, CUtensorMapDataType, cuuint32_t, void *, cuuint64_t const *, cuuint64_t const *, cuuint32_t const *, cuuint32_t const *, CUtensorMapInterleave, CUtensorMapSwizzle, CUtensorMapL2promotion, CUtensorMapFloatOOBfill)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTensorMapEncodeIm2col", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTensorMapEncodeIm2col, "CUresult (CUtensorMap *, CUtensorMapDataType, cuuint32_t, void *, cuuint64_t const *, cuuint64_t const *, int const *, int const *, cuuint32_t, cuuint32_t, cuuint32_t const *, CUtensorMapInterleave, CUtensorMapSwizzle, CUtensorMapL2promotion, CUtensorMapFloatOOBfill)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuTensorMapReplaceAddress", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuTensorMapReplaceAddress, "CUresult (CUtensorMap *, void *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceCanAccessPeer", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceCanAccessPeer, "CUresult (int *, CUdevice, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxEnablePeerAccess", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxEnablePeerAccess, "CUresult (CUcontext, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxDisablePeerAccess", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxDisablePeerAccess, "CUresult (CUcontext)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGetP2PAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGetP2PAttribute, "CUresult (int *, CUdevice_P2PAttribute, CUdevice, CUdevice)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphicsUnregisterResource", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphicsUnregisterResource, "CUresult (CUgraphicsResource)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphicsSubResourceGetMappedArray", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphicsSubResourceGetMappedArray, "CUresult (CUarray *, CUgraphicsResource, unsigned int, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphicsResourceGetMappedMipmappedArray", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphicsResourceGetMappedMipmappedArray, "CUresult (CUmipmappedArray *, CUgraphicsResource)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphicsResourceGetMappedPointer", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphicsResourceGetMappedPointer, "CUresult (CUdeviceptr *, size_t *, CUgraphicsResource)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphicsResourceSetMapFlags", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphicsResourceSetMapFlags, "CUresult (CUgraphicsResource, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphicsMapResources", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphicsMapResources, "CUresult (unsigned int, CUgraphicsResource *, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphicsUnmapResources", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphicsUnmapResources, "CUresult (unsigned int, CUgraphicsResource *, CUstream)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGetProcAddress", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGetProcAddress, "CUresult (char const *, void **, int, cuuint64_t, CUdriverProcAddressQueryResult *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCoredumpGetAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCoredumpGetAttribute, "CUresult (CUcoredumpSettings, void *, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCoredumpGetAttributeGlobal", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCoredumpGetAttributeGlobal, "CUresult (CUcoredumpSettings, void *, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCoredumpSetAttribute", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCoredumpSetAttribute, "CUresult (CUcoredumpSettings, void *, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCoredumpSetAttributeGlobal", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCoredumpSetAttributeGlobal, "CUresult (CUcoredumpSettings, void *, size_t *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGetExportTable", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGetExportTable, "CUresult (void const **, CUuuid const *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGreenCtxCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGreenCtxCreate, "CUresult (CUgreenCtx *, CUdevResourceDesc, CUdevice, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGreenCtxDestroy", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGreenCtxDestroy, "CUresult (CUgreenCtx)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxFromGreenCtx", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxFromGreenCtx, "CUresult (CUcontext *, CUgreenCtx)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDeviceGetDevResource", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDeviceGetDevResource, "CUresult (CUdevice, CUdevResource *, CUdevResourceType)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuCtxGetDevResource", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuCtxGetDevResource, "CUresult (CUcontext, CUdevResource *, CUdevResourceType)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGreenCtxGetDevResource", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGreenCtxGetDevResource, "CUresult (CUgreenCtx, CUdevResource *, CUdevResourceType)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDevSmResourceSplitByCount", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDevSmResourceSplitByCount, "CUresult (CUdevResource *, unsigned int *, CUdevResource const *, CUdevResource *, unsigned int, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuDevResourceGenerateDesc", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuDevResourceGenerateDesc, "CUresult (CUdevResourceDesc *, CUdevResource *, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGreenCtxRecordEvent", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGreenCtxRecordEvent, "CUresult (CUgreenCtx, CUevent)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGreenCtxWaitEvent", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGreenCtxWaitEvent, "CUresult (CUgreenCtx, CUevent)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuStreamGetGreenCtx", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuStreamGetGreenCtx, "CUresult (CUstream, CUgreenCtx *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuProfilerStart", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuProfilerStart, "CUresult (void)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuProfilerStop", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuProfilerStop, "CUresult (void)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphicsEGLRegisterImage", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphicsEGLRegisterImage, "CUresult (CUgraphicsResource *, __pyx_t_4cuda_5ccuda_EGLImageKHR, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuEGLStreamConsumerConnect", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuEGLStreamConsumerConnect, "CUresult (__pyx_t_4cuda_5ccuda_CUeglStreamConnection *, __pyx_t_4cuda_5ccuda_EGLStreamKHR)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuEGLStreamConsumerConnectWithFlags", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuEGLStreamConsumerConnectWithFlags, "CUresult (__pyx_t_4cuda_5ccuda_CUeglStreamConnection *, __pyx_t_4cuda_5ccuda_EGLStreamKHR, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuEGLStreamConsumerDisconnect", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuEGLStreamConsumerDisconnect, "CUresult (__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuEGLStreamConsumerAcquireFrame", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuEGLStreamConsumerAcquireFrame, "CUresult (__pyx_t_4cuda_5ccuda_CUeglStreamConnection *, CUgraphicsResource *, CUstream *, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuEGLStreamConsumerReleaseFrame", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuEGLStreamConsumerReleaseFrame, "CUresult (__pyx_t_4cuda_5ccuda_CUeglStreamConnection *, CUgraphicsResource, CUstream *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuEGLStreamProducerConnect", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuEGLStreamProducerConnect, "CUresult (__pyx_t_4cuda_5ccuda_CUeglStreamConnection *, __pyx_t_4cuda_5ccuda_EGLStreamKHR, __pyx_t_4cuda_5ccuda_EGLint, __pyx_t_4cuda_5ccuda_EGLint)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuEGLStreamProducerDisconnect", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuEGLStreamProducerDisconnect, "CUresult (__pyx_t_4cuda_5ccuda_CUeglStreamConnection *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuEGLStreamProducerPresentFrame", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuEGLStreamProducerPresentFrame, "CUresult (__pyx_t_4cuda_5ccuda_CUeglStreamConnection *, __pyx_t_4cuda_5ccuda_CUeglFrame, CUstream *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuEGLStreamProducerReturnFrame", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuEGLStreamProducerReturnFrame, "CUresult (__pyx_t_4cuda_5ccuda_CUeglStreamConnection *, __pyx_t_4cuda_5ccuda_CUeglFrame *, CUstream *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphicsResourceGetMappedEglFrame", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphicsResourceGetMappedEglFrame, "CUresult (__pyx_t_4cuda_5ccuda_CUeglFrame *, CUgraphicsResource, unsigned int, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuEventCreateFromEGLSync", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuEventCreateFromEGLSync, "CUresult (CUevent *, __pyx_t_4cuda_5ccuda_EGLSyncKHR, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphicsGLRegisterBuffer", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphicsGLRegisterBuffer, "CUresult (CUgraphicsResource *, __pyx_t_4cuda_5ccuda_GLuint, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphicsGLRegisterImage", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphicsGLRegisterImage, "CUresult (CUgraphicsResource *, __pyx_t_4cuda_5ccuda_GLuint, __pyx_t_4cuda_5ccuda_GLenum, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGLGetDevices", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGLGetDevices, "CUresult (unsigned int *, CUdevice *, unsigned int, __pyx_t_4cuda_5ccuda_CUGLDeviceList)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuVDPAUGetDevice", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuVDPAUGetDevice, "CUresult (CUdevice *, __pyx_t_4cuda_5ccuda_VdpDevice, __pyx_t_4cuda_5ccuda_VdpGetProcAddress *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuVDPAUCtxCreate", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuVDPAUCtxCreate, "CUresult (CUcontext *, unsigned int, CUdevice, __pyx_t_4cuda_5ccuda_VdpDevice, __pyx_t_4cuda_5ccuda_VdpGetProcAddress *)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphicsVDPAURegisterVideoSurface", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphicsVDPAURegisterVideoSurface, "CUresult (CUgraphicsResource *, __pyx_t_4cuda_5ccuda_VdpVideoSurface, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction_3_0_7(__pyx_t_1, "cuGraphicsVDPAURegisterOutputSurface", (void (**)(void))&__pyx_f_4cuda_5ccuda_cuGraphicsVDPAURegisterOutputSurface, "CUresult (CUgraphicsResource *, __pyx_t_4cuda_5ccuda_VdpOutputSurface, unsigned int)") < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}


#if PY_MAJOR_VERSION >= 3
#if CYTHON_PEP489_MULTI_PHASE_INIT
static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
static int __pyx_pymod_exec_cuda(PyObject* module); /*proto*/
static PyModuleDef_Slot __pyx_moduledef_slots[] = {
  {Py_mod_create, (void*)__pyx_pymod_create},
  {Py_mod_exec, (void*)__pyx_pymod_exec_cuda},
  {0, NULL}
};
#endif

#ifdef __cplusplus
namespace {
  struct PyModuleDef __pyx_moduledef =
  #else
  static struct PyModuleDef __pyx_moduledef =
  #endif
  {
      PyModuleDef_HEAD_INIT,
      "cuda",
      0, /* m_doc */
    #if CYTHON_PEP489_MULTI_PHASE_INIT
      0, /* m_size */
    #elif CYTHON_USE_MODULE_STATE
      sizeof(__pyx_mstate), /* m_size */
    #else
      -1, /* m_size */
    #endif
      __pyx_methods /* m_methods */,
    #if CYTHON_PEP489_MULTI_PHASE_INIT
      __pyx_moduledef_slots, /* m_slots */
    #else
      NULL, /* m_reload */
    #endif
    #if CYTHON_USE_MODULE_STATE
      __pyx_m_traverse, /* m_traverse */
      __pyx_m_clear, /* m_clear */
      NULL /* m_free */
    #else
      NULL, /* m_traverse */
      NULL, /* m_clear */
      NULL /* m_free */
    #endif
  };
  #ifdef __cplusplus
} /* anonymous namespace */
#endif
#endif

#ifndef CYTHON_NO_PYINIT_EXPORT
#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
#elif PY_MAJOR_VERSION < 3
#ifdef __cplusplus
#define __Pyx_PyMODINIT_FUNC extern "C" void
#else
#define __Pyx_PyMODINIT_FUNC void
#endif
#else
#ifdef __cplusplus
#define __Pyx_PyMODINIT_FUNC extern "C" PyObject *
#else
#define __Pyx_PyMODINIT_FUNC PyObject *
#endif
#endif


#if PY_MAJOR_VERSION < 3
__Pyx_PyMODINIT_FUNC initcuda(void) CYTHON_SMALL_CODE; /*proto*/
__Pyx_PyMODINIT_FUNC initcuda(void)
#else
__Pyx_PyMODINIT_FUNC PyInit_cuda(void) CYTHON_SMALL_CODE; /*proto*/
__Pyx_PyMODINIT_FUNC PyInit_cuda(void)
#if CYTHON_PEP489_MULTI_PHASE_INIT
{
  return PyModuleDef_Init(&__pyx_moduledef);
}
static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
    #if PY_VERSION_HEX >= 0x030700A1
    static PY_INT64_T main_interpreter_id = -1;
    PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
    if (main_interpreter_id == -1) {
        main_interpreter_id = current_id;
        return (unlikely(current_id == -1)) ? -1 : 0;
    } else if (unlikely(main_interpreter_id != current_id))
    #else
    static PyInterpreterState *main_interpreter = NULL;
    PyInterpreterState *current_interpreter = PyThreadState_Get()->interp;
    if (!main_interpreter) {
        main_interpreter = current_interpreter;
    } else if (unlikely(main_interpreter != current_interpreter))
    #endif
    {
        PyErr_SetString(
            PyExc_ImportError,
            "Interpreter change detected - this module can only be loaded into one interpreter per process.");
        return -1;
    }
    return 0;
}
#if CYTHON_COMPILING_IN_LIMITED_API
static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *module, const char* from_name, const char* to_name, int allow_none)
#else
static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none)
#endif
{
    PyObject *value = PyObject_GetAttrString(spec, from_name);
    int result = 0;
    if (likely(value)) {
        if (allow_none || value != Py_None) {
#if CYTHON_COMPILING_IN_LIMITED_API
            result = PyModule_AddObject(module, to_name, value);
#else
            result = PyDict_SetItemString(moddict, to_name, value);
#endif
        }
        Py_DECREF(value);
    } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
        PyErr_Clear();
    } else {
        result = -1;
    }
    return result;
}
static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def) {
    PyObject *module = NULL, *moddict, *modname;
    CYTHON_UNUSED_VAR(def);
    if (__Pyx_check_single_interpreter())
        return NULL;
    if (__pyx_m)
        return __Pyx_NewRef(__pyx_m);
    modname = PyObject_GetAttrString(spec, "name");
    if (unlikely(!modname)) goto bad;
    module = PyModule_NewObject(modname);
    Py_DECREF(modname);
    if (unlikely(!module)) goto bad;
#if CYTHON_COMPILING_IN_LIMITED_API
    moddict = module;
#else
    moddict = PyModule_GetDict(module);
    if (unlikely(!moddict)) goto bad;
#endif
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;
    return module;
bad:
    Py_XDECREF(module);
    return NULL;
}


static CYTHON_SMALL_CODE int __pyx_pymod_exec_cuda(PyObject *__pyx_pyinit_module)
#endif
#endif
{
  int stringtab_initialized = 0;
  #if CYTHON_USE_MODULE_STATE
  int pystate_addmodule_run = 0;
  #endif
  __Pyx_TraceDeclarations
  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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  if (__pyx_m) {
    if (__pyx_m == __pyx_pyinit_module) return 0;
    PyErr_SetString(PyExc_RuntimeError, "Module 'cuda' has already been imported. Re-initialisation is not supported.");
    return -1;
  }
  #elif PY_MAJOR_VERSION >= 3
  if (__pyx_m) return __Pyx_NewRef(__pyx_m);
  #endif
  /*--- Module creation code ---*/
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  __pyx_m = __pyx_pyinit_module;
  Py_INCREF(__pyx_m);
  #else
  #if PY_MAJOR_VERSION < 3
  __pyx_m = Py_InitModule4("cuda", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
  if (unlikely(!__pyx_m)) __PYX_ERR(1, 1, __pyx_L1_error)
  #elif CYTHON_USE_MODULE_STATE
  __pyx_t_1 = PyModule_Create(&__pyx_moduledef); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  {
    int add_module_result = PyState_AddModule(__pyx_t_1, &__pyx_moduledef);
    __pyx_t_1 = 0; /* transfer ownership from __pyx_t_1 to "cuda" pseudovariable */
    if (unlikely((add_module_result < 0))) __PYX_ERR(1, 1, __pyx_L1_error)
    pystate_addmodule_run = 1;
  }
  #else
  __pyx_m = PyModule_Create(&__pyx_moduledef);
  if (unlikely(!__pyx_m)) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif
  #endif
  CYTHON_UNUSED_VAR(__pyx_t_1);
  __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(1, 1, __pyx_L1_error)
  Py_INCREF(__pyx_d);
  __pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_cython_runtime = __Pyx_PyImport_AddModuleRef((const char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(1, 1, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #if CYTHON_REFNANNY
__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
if (!__Pyx_RefNanny) {
  PyErr_Clear();
  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
  if (!__Pyx_RefNanny)
      Py_FatalError("failed to import 'refnanny' module");
}
#endif
  __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_cuda(void)", 0);
  if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #ifdef __Pxy_PyFrame_Initialize_Offsets
  __Pxy_PyFrame_Initialize_Offsets();
  #endif
  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(1, 1, __pyx_L1_error)
  #ifdef __Pyx_CyFunction_USED
  if (__pyx_CyFunction_init(__pyx_m) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_FusedFunction_USED
  if (__pyx_FusedFunction_init(__pyx_m) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Coroutine_USED
  if (__pyx_Coroutine_init(__pyx_m) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Generator_USED
  if (__pyx_Generator_init(__pyx_m) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_AsyncGen_USED
  if (__pyx_AsyncGen_init(__pyx_m) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_StopAsyncIteration_USED
  if (__pyx_StopAsyncIteration_init(__pyx_m) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif
  /*--- Library function declarations ---*/
  /*--- Threads initialization code ---*/
  #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
  PyEval_InitThreads();
  #endif
  /*--- Initialize various global constants etc. ---*/
  if (__Pyx_InitConstants() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  stringtab_initialized = 1;
  if (__Pyx_InitGlobals() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
  if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif
  if (__pyx_module_is_main_cuda__cuda) {
    if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name_3, __pyx_n_s_main) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  }
  #if PY_MAJOR_VERSION >= 3
  {
    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(1, 1, __pyx_L1_error)
    if (!PyDict_GetItemString(modules, "cuda.cuda")) {
      if (unlikely((PyDict_SetItemString(modules, "cuda.cuda", __pyx_m) < 0))) __PYX_ERR(1, 1, __pyx_L1_error)
    }
  }
  #endif
  /*--- Builtin init code ---*/
  if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  /*--- Constants init code ---*/
  if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  /*--- Global type/function init code ---*/
  (void)__Pyx_modinit_global_init_code();
  (void)__Pyx_modinit_variable_export_code();
  (void)__Pyx_modinit_function_export_code();
  if (unlikely((__Pyx_modinit_type_init_code() < 0))) __PYX_ERR(1, 1, __pyx_L1_error)
  if (unlikely((__Pyx_modinit_type_import_code() < 0))) __PYX_ERR(1, 1, __pyx_L1_error)
  (void)__Pyx_modinit_variable_import_code();
  if (unlikely((__Pyx_modinit_function_import_code() < 0))) __PYX_ERR(1, 1, __pyx_L1_error)
  /*--- Execution code ---*/
  #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
  if (__Pyx_patch_abc() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  #endif
  __Pyx_TraceCall("__Pyx_PyMODINIT_FUNC PyInit_cuda(void)", __pyx_f[1], 1, 0, __PYX_ERR(1, 1, __pyx_L1_error));

  /* "cuda/cuda.pyx":8
 * # this software and related documentation outside the terms of the EULA
 * # is strictly prohibited.
 * from typing import List, Tuple, Any, Optional             # <<<<<<<<<<<<<<
 * from enum import IntEnum
 * import cython
 */
  __pyx_t_2 = PyList_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_n_s_List);
  __Pyx_GIVEREF(__pyx_n_s_List);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_List)) __PYX_ERR(1, 8, __pyx_L1_error);
  __Pyx_INCREF(__pyx_n_s_Tuple);
  __Pyx_GIVEREF(__pyx_n_s_Tuple);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_Tuple)) __PYX_ERR(1, 8, __pyx_L1_error);
  __Pyx_INCREF(__pyx_n_s_Any);
  __Pyx_GIVEREF(__pyx_n_s_Any);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_Any)) __PYX_ERR(1, 8, __pyx_L1_error);
  __Pyx_INCREF(__pyx_n_s_Optional);
  __Pyx_GIVEREF(__pyx_n_s_Optional);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_Optional)) __PYX_ERR(1, 8, __pyx_L1_error);
  __pyx_t_3 = __Pyx_Import(__pyx_n_s_typing, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_List); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_List, __pyx_t_2) < 0) __PYX_ERR(1, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_Tuple); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Tuple, __pyx_t_2) < 0) __PYX_ERR(1, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_Any); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Any, __pyx_t_2) < 0) __PYX_ERR(1, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_Optional); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_Optional, __pyx_t_2) < 0) __PYX_ERR(1, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":9
 * # is strictly prohibited.
 * from typing import List, Tuple, Any, Optional
 * from enum import IntEnum             # <<<<<<<<<<<<<<
 * import cython
 * import ctypes
 */
  __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_n_s_IntEnum);
  __Pyx_GIVEREF(__pyx_n_s_IntEnum);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_IntEnum)) __PYX_ERR(1, 9, __pyx_L1_error);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_enum, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_IntEnum, __pyx_t_3) < 0) __PYX_ERR(1, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":11
 * from enum import IntEnum
 * import cython
 * import ctypes             # <<<<<<<<<<<<<<
 * from libc.stdlib cimport calloc, free
 * from libc cimport string
 */
  __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_ctypes, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_ctypes, __pyx_t_2) < 0) __PYX_ERR(1, 11, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":45
 * 
 * #: CUDA API version number
 * CUDA_VERSION = ccuda.CUDA_VERSION             # <<<<<<<<<<<<<<
 * 
 * #: CUDA IPC handle size
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_VERSION); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 45, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_VERSION, __pyx_t_2) < 0) __PYX_ERR(1, 45, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":48
 * 
 * #: CUDA IPC handle size
 * CU_IPC_HANDLE_SIZE = ccuda.CU_IPC_HANDLE_SIZE             # <<<<<<<<<<<<<<
 * 
 * #: Legacy stream handle
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_IPC_HANDLE_SIZE); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_IPC_HANDLE_SIZE, __pyx_t_2) < 0) __PYX_ERR(1, 48, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":56
 * #:
 * #: See details of the \link_sync_behavior
 * CU_STREAM_LEGACY = ccuda.CU_STREAM_LEGACY             # <<<<<<<<<<<<<<
 * 
 * #: Per-thread stream handle
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_STREAM_LEGACY); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_STREAM_LEGACY, __pyx_t_2) < 0) __PYX_ERR(1, 56, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":64
 * #:
 * #: See details of the \link_sync_behavior
 * CU_STREAM_PER_THREAD = ccuda.CU_STREAM_PER_THREAD             # <<<<<<<<<<<<<<
 * 
 * CU_COMPUTE_ACCELERATED_TARGET_BASE = ccuda.CU_COMPUTE_ACCELERATED_TARGET_BASE
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_STREAM_PER_THREAD); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 64, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_STREAM_PER_THREAD, __pyx_t_2) < 0) __PYX_ERR(1, 64, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":66
 * CU_STREAM_PER_THREAD = ccuda.CU_STREAM_PER_THREAD
 * 
 * CU_COMPUTE_ACCELERATED_TARGET_BASE = ccuda.CU_COMPUTE_ACCELERATED_TARGET_BASE             # <<<<<<<<<<<<<<
 * 
 * #: Conditional node handle flags Default value is applied when graph is
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_COMPUTE_ACCELERATED_TARGET_BASE); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 66, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_COMPUTE_ACCELERATED_TARGET_BA, __pyx_t_2) < 0) __PYX_ERR(1, 66, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":70
 * #: Conditional node handle flags Default value is applied when graph is
 * #: launched.
 * CU_GRAPH_COND_ASSIGN_DEFAULT = ccuda.CU_GRAPH_COND_ASSIGN_DEFAULT             # <<<<<<<<<<<<<<
 * 
 * #: This port activates when the kernel has finished executing.
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_GRAPH_COND_ASSIGN_DEFAULT); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 70, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_GRAPH_COND_ASSIGN_DEFAULT, __pyx_t_2) < 0) __PYX_ERR(1, 70, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":73
 * 
 * #: This port activates when the kernel has finished executing.
 * CU_GRAPH_KERNEL_NODE_PORT_DEFAULT = ccuda.CU_GRAPH_KERNEL_NODE_PORT_DEFAULT             # <<<<<<<<<<<<<<
 * 
 * #: This port activates when all blocks of the kernel have performed
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_GRAPH_KERNEL_NODE_PORT_DEFAULT); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 73, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_DEFAUL, __pyx_t_2) < 0) __PYX_ERR(1, 73, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":79
 * #: used with edge type :py:obj:`~.CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC`.
 * #: See also :py:obj:`~.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT`.
 * CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC = ccuda.CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC             # <<<<<<<<<<<<<<
 * 
 * #: This port activates when all blocks of the kernel have begun execution.
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 79, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_PROGRA, __pyx_t_2) < 0) __PYX_ERR(1, 79, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":83
 * #: This port activates when all blocks of the kernel have begun execution.
 * #: See also :py:obj:`~.CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT`.
 * CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER = ccuda.CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW = ccuda.CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_GRAPH_KERNEL_NODE_PORT_LAUNCH, __pyx_t_2) < 0) __PYX_ERR(1, 83, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":85
 * CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER = ccuda.CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW = ccuda.CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE = ccuda.CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_ACCESS, __pyx_t_2) < 0) __PYX_ERR(1, 85, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":87
 * CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW = ccuda.CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE = ccuda.CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION = ccuda.CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 87, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_COOPERA, __pyx_t_2) < 0) __PYX_ERR(1, 87, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":89
 * CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE = ccuda.CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION = ccuda.CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = ccuda.CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 89, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER, __pyx_t_2) < 0) __PYX_ERR(1, 89, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":91
 * CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION = ccuda.CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = ccuda.CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_PRIORITY = ccuda.CU_KERNEL_NODE_ATTRIBUTE_PRIORITY
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 91, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_2, __pyx_t_2) < 0) __PYX_ERR(1, 91, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":93
 * CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = ccuda.CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_PRIORITY = ccuda.CU_KERNEL_NODE_ATTRIBUTE_PRIORITY             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = ccuda.CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_PRIORITY); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 93, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_PRIORIT, __pyx_t_2) < 0) __PYX_ERR(1, 93, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":95
 * CU_KERNEL_NODE_ATTRIBUTE_PRIORITY = ccuda.CU_KERNEL_NODE_ATTRIBUTE_PRIORITY
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = ccuda.CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN = ccuda.CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN, __pyx_t_2) < 0) __PYX_ERR(1, 95, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":97
 * CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = ccuda.CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN = ccuda.CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN             # <<<<<<<<<<<<<<
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = ccuda.CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 97, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_MEM_SYN_2, __pyx_t_2) < 0) __PYX_ERR(1, 97, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":99
 * CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN = ccuda.CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN
 * 
 * CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = ccuda.CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE             # <<<<<<<<<<<<<<
 * 
 * CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = ccuda.CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 99, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_KERNEL_NODE_ATTRIBUTE_DEVICE, __pyx_t_2) < 0) __PYX_ERR(1, 99, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":101
 * CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = ccuda.CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE
 * 
 * CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = ccuda.CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW             # <<<<<<<<<<<<<<
 * 
 * CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = ccuda.CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_STREAM_ATTRIBUTE_ACCESS_POLIC, __pyx_t_2) < 0) __PYX_ERR(1, 101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":103
 * CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW = ccuda.CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW
 * 
 * CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = ccuda.CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY             # <<<<<<<<<<<<<<
 * 
 * CU_STREAM_ATTRIBUTE_PRIORITY = ccuda.CU_STREAM_ATTRIBUTE_PRIORITY
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_STREAM_ATTRIBUTE_SYNCHRONIZAT, __pyx_t_2) < 0) __PYX_ERR(1, 103, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":105
 * CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY = ccuda.CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY
 * 
 * CU_STREAM_ATTRIBUTE_PRIORITY = ccuda.CU_STREAM_ATTRIBUTE_PRIORITY             # <<<<<<<<<<<<<<
 * 
 * CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = ccuda.CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_STREAM_ATTRIBUTE_PRIORITY); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_STREAM_ATTRIBUTE_PRIORITY, __pyx_t_2) < 0) __PYX_ERR(1, 105, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":107
 * CU_STREAM_ATTRIBUTE_PRIORITY = ccuda.CU_STREAM_ATTRIBUTE_PRIORITY
 * 
 * CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = ccuda.CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP             # <<<<<<<<<<<<<<
 * 
 * CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN = ccuda.CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM, __pyx_t_2) < 0) __PYX_ERR(1, 107, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":109
 * CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = ccuda.CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP
 * 
 * CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN = ccuda.CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN             # <<<<<<<<<<<<<<
 * 
 * #: If set, host memory is portable between CUDA contexts. Flag for
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_STREAM_ATTRIBUTE_MEM_SYNC_DOM_2, __pyx_t_2) < 0) __PYX_ERR(1, 109, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":113
 * #: If set, host memory is portable between CUDA contexts. Flag for
 * #: :py:obj:`~.cuMemHostAlloc()`
 * CU_MEMHOSTALLOC_PORTABLE = ccuda.CU_MEMHOSTALLOC_PORTABLE             # <<<<<<<<<<<<<<
 * 
 * #: If set, host memory is mapped into CUDA address space and
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_MEMHOSTALLOC_PORTABLE); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_MEMHOSTALLOC_PORTABLE, __pyx_t_2) < 0) __PYX_ERR(1, 113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":118
 * #: :py:obj:`~.cuMemHostGetDevicePointer()` may be called on the host
 * #: pointer. Flag for :py:obj:`~.cuMemHostAlloc()`
 * CU_MEMHOSTALLOC_DEVICEMAP = ccuda.CU_MEMHOSTALLOC_DEVICEMAP             # <<<<<<<<<<<<<<
 * 
 * #: If set, host memory is allocated as write-combined - fast to write,
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_MEMHOSTALLOC_DEVICEMAP); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_MEMHOSTALLOC_DEVICEMAP, __pyx_t_2) < 0) __PYX_ERR(1, 118, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":123
 * #: faster to DMA, slow to read except via SSE4 streaming load instruction
 * #: (MOVNTDQA). Flag for :py:obj:`~.cuMemHostAlloc()`
 * CU_MEMHOSTALLOC_WRITECOMBINED = ccuda.CU_MEMHOSTALLOC_WRITECOMBINED             # <<<<<<<<<<<<<<
 * 
 * #: If set, host memory is portable between CUDA contexts. Flag for
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_MEMHOSTALLOC_WRITECOMBINED); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_MEMHOSTALLOC_WRITECOMBINED, __pyx_t_2) < 0) __PYX_ERR(1, 123, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":127
 * #: If set, host memory is portable between CUDA contexts. Flag for
 * #: :py:obj:`~.cuMemHostRegister()`
 * CU_MEMHOSTREGISTER_PORTABLE = ccuda.CU_MEMHOSTREGISTER_PORTABLE             # <<<<<<<<<<<<<<
 * 
 * #: If set, host memory is mapped into CUDA address space and
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_MEMHOSTREGISTER_PORTABLE); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_MEMHOSTREGISTER_PORTABLE, __pyx_t_2) < 0) __PYX_ERR(1, 127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":132
 * #: :py:obj:`~.cuMemHostGetDevicePointer()` may be called on the host
 * #: pointer. Flag for :py:obj:`~.cuMemHostRegister()`
 * CU_MEMHOSTREGISTER_DEVICEMAP = ccuda.CU_MEMHOSTREGISTER_DEVICEMAP             # <<<<<<<<<<<<<<
 * 
 * #: If set, the passed memory pointer is treated as pointing to some memory-
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_MEMHOSTREGISTER_DEVICEMAP); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_MEMHOSTREGISTER_DEVICEMAP, __pyx_t_2) < 0) __PYX_ERR(1, 132, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":143
 * #: :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED` is returned. Flag for
 * #: :py:obj:`~.cuMemHostRegister()`
 * CU_MEMHOSTREGISTER_IOMEMORY = ccuda.CU_MEMHOSTREGISTER_IOMEMORY             # <<<<<<<<<<<<<<
 * 
 * #: If set, the passed memory pointer is treated as pointing to memory that
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_MEMHOSTREGISTER_IOMEMORY); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_MEMHOSTREGISTER_IOMEMORY, __pyx_t_2) < 0) __PYX_ERR(1, 143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":155
 * #: have this attribute set will cause :py:obj:`~.cuMemHostRegister` to
 * #: error with :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`.
 * CU_MEMHOSTREGISTER_READ_ONLY = ccuda.CU_MEMHOSTREGISTER_READ_ONLY             # <<<<<<<<<<<<<<
 * 
 * #: Indicates that the layered sparse CUDA array or CUDA mipmapped array has
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_MEMHOSTREGISTER_READ_ONLY); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_MEMHOSTREGISTER_READ_ONLY, __pyx_t_2) < 0) __PYX_ERR(1, 155, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":159
 * #: Indicates that the layered sparse CUDA array or CUDA mipmapped array has
 * #: a single mip tail region for all layers
 * CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL = ccuda.CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL             # <<<<<<<<<<<<<<
 * 
 * #: Size of tensor map descriptor
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_ARRAY_SPARSE_PROPERTIES_SINGL, __pyx_t_2) < 0) __PYX_ERR(1, 159, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":162
 * 
 * #: Size of tensor map descriptor
 * CU_TENSOR_MAP_NUM_QWORDS = ccuda.CU_TENSOR_MAP_NUM_QWORDS             # <<<<<<<<<<<<<<
 * 
 * #: Indicates that the external memory object is a dedicated resource
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_TENSOR_MAP_NUM_QWORDS); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_TENSOR_MAP_NUM_QWORDS, __pyx_t_2) < 0) __PYX_ERR(1, 162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":165
 * 
 * #: Indicates that the external memory object is a dedicated resource
 * CUDA_EXTERNAL_MEMORY_DEDICATED = ccuda.CUDA_EXTERNAL_MEMORY_DEDICATED             # <<<<<<<<<<<<<<
 * 
 * #: When the `flags` parameter of
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_EXTERNAL_MEMORY_DEDICATED); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_EXTERNAL_MEMORY_DEDICATED, __pyx_t_2) < 0) __PYX_ERR(1, 165, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":175
 * #: performed by default to ensure data coherency with other importers of
 * #: the same NvSciBuf memory objects.
 * CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC = ccuda.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC             # <<<<<<<<<<<<<<
 * 
 * #: When the `flags` parameter of
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_S, __pyx_t_2) < 0) __PYX_ERR(1, 175, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":185
 * #: performed by default to ensure data coherency with other importers of
 * #: the same NvSciBuf memory objects.
 * CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC = ccuda.CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC             # <<<<<<<<<<<<<<
 * 
 * #: When `flags` of :py:obj:`~.cuDeviceGetNvSciSyncAttributes` is set to
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_SKI, __pyx_t_2) < 0) __PYX_ERR(1, 185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":191
 * #: NvSciSyncAttr to be filled by
 * #: :py:obj:`~.cuDeviceGetNvSciSyncAttributes`.
 * CUDA_NVSCISYNC_ATTR_SIGNAL = ccuda.CUDA_NVSCISYNC_ATTR_SIGNAL             # <<<<<<<<<<<<<<
 * 
 * #: When `flags` of :py:obj:`~.cuDeviceGetNvSciSyncAttributes` is set to
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_NVSCISYNC_ATTR_SIGNAL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_NVSCISYNC_ATTR_SIGNAL, __pyx_t_2) < 0) __PYX_ERR(1, 191, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":196
 * #: this, it indicates that application needs waiter specific NvSciSyncAttr
 * #: to be filled by :py:obj:`~.cuDeviceGetNvSciSyncAttributes`.
 * CUDA_NVSCISYNC_ATTR_WAIT = ccuda.CUDA_NVSCISYNC_ATTR_WAIT             # <<<<<<<<<<<<<<
 * 
 * #: This flag if set indicates that the memory will be used as a tile pool.
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_NVSCISYNC_ATTR_WAIT); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_NVSCISYNC_ATTR_WAIT, __pyx_t_2) < 0) __PYX_ERR(1, 196, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":199
 * 
 * #: This flag if set indicates that the memory will be used as a tile pool.
 * CU_MEM_CREATE_USAGE_TILE_POOL = ccuda.CU_MEM_CREATE_USAGE_TILE_POOL             # <<<<<<<<<<<<<<
 * 
 * #: If set, each kernel launched as part of
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_MEM_CREATE_USAGE_TILE_POOL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_MEM_CREATE_USAGE_TILE_POOL, __pyx_t_2) < 0) __PYX_ERR(1, 199, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":205
 * #: work in the stream corresponding to that GPU to complete before the
 * #: kernel begins execution.
 * CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC = ccuda.CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC             # <<<<<<<<<<<<<<
 * 
 * #: If set, any subsequent work pushed in a stream that participated in a
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_COOPERATIVE_LAUNCH_MULTI_DE, __pyx_t_2) < 0) __PYX_ERR(1, 205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":211
 * #: for the kernel launched on the GPU corresponding to that stream to
 * #: complete before it begins execution.
 * CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC = ccuda.CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC             # <<<<<<<<<<<<<<
 * 
 * #: If set, the CUDA array is a collection of layers, where each layer is
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_COOPERATIVE_LAUNCH_MULTI_DE_2, __pyx_t_2) < 0) __PYX_ERR(1, 211, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":217
 * #: CUDA_ARRAY3D_DESCRIPTOR specifies the number of layers, not the depth of
 * #: a 3D array.
 * CUDA_ARRAY3D_LAYERED = ccuda.CUDA_ARRAY3D_LAYERED             # <<<<<<<<<<<<<<
 * 
 * #: Deprecated, use CUDA_ARRAY3D_LAYERED
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_LAYERED); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_ARRAY3D_LAYERED, __pyx_t_2) < 0) __PYX_ERR(1, 217, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":220
 * 
 * #: Deprecated, use CUDA_ARRAY3D_LAYERED
 * CUDA_ARRAY3D_2DARRAY = ccuda.CUDA_ARRAY3D_2DARRAY             # <<<<<<<<<<<<<<
 * 
 * #: This flag must be set in order to bind a surface reference to the CUDA
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_2DARRAY); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_ARRAY3D_2DARRAY, __pyx_t_2) < 0) __PYX_ERR(1, 220, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":224
 * #: This flag must be set in order to bind a surface reference to the CUDA
 * #: array
 * CUDA_ARRAY3D_SURFACE_LDST = ccuda.CUDA_ARRAY3D_SURFACE_LDST             # <<<<<<<<<<<<<<
 * 
 * #: If set, the CUDA array is a collection of six 2D arrays, representing
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_SURFACE_LDST); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_ARRAY3D_SURFACE_LDST, __pyx_t_2) < 0) __PYX_ERR(1, 224, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":231
 * #: is also set, then the CUDA array is a collection of cubemaps and Depth
 * #: must be a multiple of six.
 * CUDA_ARRAY3D_CUBEMAP = ccuda.CUDA_ARRAY3D_CUBEMAP             # <<<<<<<<<<<<<<
 * 
 * #: This flag must be set in order to perform texture gather operations on a
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_CUBEMAP); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_ARRAY3D_CUBEMAP, __pyx_t_2) < 0) __PYX_ERR(1, 231, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":235
 * #: This flag must be set in order to perform texture gather operations on a
 * #: CUDA array.
 * CUDA_ARRAY3D_TEXTURE_GATHER = ccuda.CUDA_ARRAY3D_TEXTURE_GATHER             # <<<<<<<<<<<<<<
 * 
 * #: This flag if set indicates that the CUDA array is a DEPTH_TEXTURE.
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_TEXTURE_GATHER); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_ARRAY3D_TEXTURE_GATHER, __pyx_t_2) < 0) __PYX_ERR(1, 235, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":238
 * 
 * #: This flag if set indicates that the CUDA array is a DEPTH_TEXTURE.
 * CUDA_ARRAY3D_DEPTH_TEXTURE = ccuda.CUDA_ARRAY3D_DEPTH_TEXTURE             # <<<<<<<<<<<<<<
 * 
 * #: This flag indicates that the CUDA array may be bound as a color target
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_DEPTH_TEXTURE); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_ARRAY3D_DEPTH_TEXTURE, __pyx_t_2) < 0) __PYX_ERR(1, 238, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":242
 * #: This flag indicates that the CUDA array may be bound as a color target
 * #: in an external graphics API
 * CUDA_ARRAY3D_COLOR_ATTACHMENT = ccuda.CUDA_ARRAY3D_COLOR_ATTACHMENT             # <<<<<<<<<<<<<<
 * 
 * #: This flag if set indicates that the CUDA array or CUDA mipmapped array
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_COLOR_ATTACHMENT); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_ARRAY3D_COLOR_ATTACHMENT, __pyx_t_2) < 0) __PYX_ERR(1, 242, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":246
 * #: This flag if set indicates that the CUDA array or CUDA mipmapped array
 * #: is a sparse CUDA array or CUDA mipmapped array respectively
 * CUDA_ARRAY3D_SPARSE = ccuda.CUDA_ARRAY3D_SPARSE             # <<<<<<<<<<<<<<
 * 
 * #: This flag if set indicates that the CUDA array or CUDA mipmapped array
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_SPARSE); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_ARRAY3D_SPARSE, __pyx_t_2) < 0) __PYX_ERR(1, 246, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":250
 * #: This flag if set indicates that the CUDA array or CUDA mipmapped array
 * #: will allow deferred memory mapping
 * CUDA_ARRAY3D_DEFERRED_MAPPING = ccuda.CUDA_ARRAY3D_DEFERRED_MAPPING             # <<<<<<<<<<<<<<
 * 
 * #: Override the texref format with a format inferred from the array. Flag
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_ARRAY3D_DEFERRED_MAPPING); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_ARRAY3D_DEFERRED_MAPPING, __pyx_t_2) < 0) __PYX_ERR(1, 250, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":254
 * #: Override the texref format with a format inferred from the array. Flag
 * #: for :py:obj:`~.cuTexRefSetArray()`
 * CU_TRSA_OVERRIDE_FORMAT = ccuda.CU_TRSA_OVERRIDE_FORMAT             # <<<<<<<<<<<<<<
 * 
 * #: Read the texture as integers rather than promoting the values to floats
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_TRSA_OVERRIDE_FORMAT); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_TRSA_OVERRIDE_FORMAT, __pyx_t_2) < 0) __PYX_ERR(1, 254, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":259
 * #: in the range [0,1]. Flag for :py:obj:`~.cuTexRefSetFlags()` and
 * #: :py:obj:`~.cuTexObjectCreate()`
 * CU_TRSF_READ_AS_INTEGER = ccuda.CU_TRSF_READ_AS_INTEGER             # <<<<<<<<<<<<<<
 * 
 * #: Use normalized texture coordinates in the range [0,1) instead of
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_TRSF_READ_AS_INTEGER); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_TRSF_READ_AS_INTEGER, __pyx_t_2) < 0) __PYX_ERR(1, 259, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":264
 * #: [0,dim). Flag for :py:obj:`~.cuTexRefSetFlags()` and
 * #: :py:obj:`~.cuTexObjectCreate()`
 * CU_TRSF_NORMALIZED_COORDINATES = ccuda.CU_TRSF_NORMALIZED_COORDINATES             # <<<<<<<<<<<<<<
 * 
 * #: Perform sRGB->linear conversion during texture read. Flag for
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_TRSF_NORMALIZED_COORDINATES); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_TRSF_NORMALIZED_COORDINATES, __pyx_t_2) < 0) __PYX_ERR(1, 264, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":268
 * #: Perform sRGB->linear conversion during texture read. Flag for
 * #: :py:obj:`~.cuTexRefSetFlags()` and :py:obj:`~.cuTexObjectCreate()`
 * CU_TRSF_SRGB = ccuda.CU_TRSF_SRGB             # <<<<<<<<<<<<<<
 * 
 * #: Disable any trilinear filtering optimizations. Flag for
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_TRSF_SRGB); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_TRSF_SRGB, __pyx_t_2) < 0) __PYX_ERR(1, 268, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":272
 * #: Disable any trilinear filtering optimizations. Flag for
 * #: :py:obj:`~.cuTexRefSetFlags()` and :py:obj:`~.cuTexObjectCreate()`
 * CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION = ccuda.CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION             # <<<<<<<<<<<<<<
 * 
 * #: Enable seamless cube map filtering. Flag for
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_TRSF_DISABLE_TRILINEAR_OPTIMI, __pyx_t_2) < 0) __PYX_ERR(1, 272, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":276
 * #: Enable seamless cube map filtering. Flag for
 * #: :py:obj:`~.cuTexObjectCreate()`
 * CU_TRSF_SEAMLESS_CUBEMAP = ccuda.CU_TRSF_SEAMLESS_CUBEMAP             # <<<<<<<<<<<<<<
 * 
 * #: C++ compile time constant for CU_LAUNCH_PARAM_END
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_TRSF_SEAMLESS_CUBEMAP); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_TRSF_SEAMLESS_CUBEMAP, __pyx_t_2) < 0) __PYX_ERR(1, 276, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":279
 * 
 * #: C++ compile time constant for CU_LAUNCH_PARAM_END
 * CU_LAUNCH_PARAM_END_AS_INT = ccuda.CU_LAUNCH_PARAM_END_AS_INT             # <<<<<<<<<<<<<<
 * 
 * #: End of array terminator for the `extra` parameter to
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_LAUNCH_PARAM_END_AS_INT); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_LAUNCH_PARAM_END_AS_INT, __pyx_t_2) < 0) __PYX_ERR(1, 279, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":283
 * #: End of array terminator for the `extra` parameter to
 * #: :py:obj:`~.cuLaunchKernel`
 * CU_LAUNCH_PARAM_END = ccuda.CU_LAUNCH_PARAM_END             # <<<<<<<<<<<<<<
 * 
 * #: C++ compile time constant for CU_LAUNCH_PARAM_BUFFER_POINTER
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_LAUNCH_PARAM_END); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_LAUNCH_PARAM_END, __pyx_t_2) < 0) __PYX_ERR(1, 283, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":286
 * 
 * #: C++ compile time constant for CU_LAUNCH_PARAM_BUFFER_POINTER
 * CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT = ccuda.CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT             # <<<<<<<<<<<<<<
 * 
 * #: Indicator that the next value in the `extra` parameter to
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_LAUNCH_PARAM_BUFFER_POINTER_A, __pyx_t_2) < 0) __PYX_ERR(1, 286, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":295
 * #: `extra` array, then :py:obj:`~.CU_LAUNCH_PARAM_BUFFER_POINTER` will have
 * #: no effect.
 * CU_LAUNCH_PARAM_BUFFER_POINTER = ccuda.CU_LAUNCH_PARAM_BUFFER_POINTER             # <<<<<<<<<<<<<<
 * 
 * #: C++ compile time constant for CU_LAUNCH_PARAM_BUFFER_SIZE
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_LAUNCH_PARAM_BUFFER_POINTER); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_LAUNCH_PARAM_BUFFER_POINTER, __pyx_t_2) < 0) __PYX_ERR(1, 295, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":298
 * 
 * #: C++ compile time constant for CU_LAUNCH_PARAM_BUFFER_SIZE
 * CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT = ccuda.CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT             # <<<<<<<<<<<<<<
 * 
 * #: Indicator that the next value in the `extra` parameter to
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_LAUNCH_PARAM_BUFFER_SIZE_AS_I, __pyx_t_2) < 0) __PYX_ERR(1, 298, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":307
 * #: `extra` array if the value associated with
 * #: :py:obj:`~.CU_LAUNCH_PARAM_BUFFER_SIZE` is not zero.
 * CU_LAUNCH_PARAM_BUFFER_SIZE = ccuda.CU_LAUNCH_PARAM_BUFFER_SIZE             # <<<<<<<<<<<<<<
 * 
 * #: For texture references loaded into the module, use default texunit from
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_LAUNCH_PARAM_BUFFER_SIZE); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_LAUNCH_PARAM_BUFFER_SIZE, __pyx_t_2) < 0) __PYX_ERR(1, 307, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":311
 * #: For texture references loaded into the module, use default texunit from
 * #: texture reference.
 * CU_PARAM_TR_DEFAULT = ccuda.CU_PARAM_TR_DEFAULT             # <<<<<<<<<<<<<<
 * 
 * #: Device that represents the CPU
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_PARAM_TR_DEFAULT); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_PARAM_TR_DEFAULT, __pyx_t_2) < 0) __PYX_ERR(1, 311, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":314
 * 
 * #: Device that represents the CPU
 * CU_DEVICE_CPU = ccuda.CU_DEVICE_CPU             # <<<<<<<<<<<<<<
 * 
 * #: Device that represents an invalid device
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_DEVICE_CPU); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_DEVICE_CPU, __pyx_t_2) < 0) __PYX_ERR(1, 314, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":317
 * 
 * #: Device that represents an invalid device
 * CU_DEVICE_INVALID = ccuda.CU_DEVICE_INVALID             # <<<<<<<<<<<<<<
 * 
 * RESOURCE_ABI_VERSION = ccuda.RESOURCE_ABI_VERSION
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CU_DEVICE_INVALID); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CU_DEVICE_INVALID, __pyx_t_2) < 0) __PYX_ERR(1, 317, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":319
 * CU_DEVICE_INVALID = ccuda.CU_DEVICE_INVALID
 * 
 * RESOURCE_ABI_VERSION = ccuda.RESOURCE_ABI_VERSION             # <<<<<<<<<<<<<<
 * 
 * RESOURCE_ABI_EXTERNAL_BYTES = ccuda.RESOURCE_ABI_EXTERNAL_BYTES
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_RESOURCE_ABI_VERSION); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_RESOURCE_ABI_VERSION, __pyx_t_2) < 0) __PYX_ERR(1, 319, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":321
 * RESOURCE_ABI_VERSION = ccuda.RESOURCE_ABI_VERSION
 * 
 * RESOURCE_ABI_EXTERNAL_BYTES = ccuda.RESOURCE_ABI_EXTERNAL_BYTES             # <<<<<<<<<<<<<<
 * 
 * #: Maximum number of planes per frame
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_RESOURCE_ABI_EXTERNAL_BYTES); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_RESOURCE_ABI_EXTERNAL_BYTES, __pyx_t_2) < 0) __PYX_ERR(1, 321, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":324
 * 
 * #: Maximum number of planes per frame
 * MAX_PLANES = ccuda.MAX_PLANES             # <<<<<<<<<<<<<<
 * 
 * #: Indicates that timeout for :py:obj:`~.cuEGLStreamConsumerAcquireFrame`
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_MAX_PLANES); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAX_PLANES, __pyx_t_2) < 0) __PYX_ERR(1, 324, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":328
 * #: Indicates that timeout for :py:obj:`~.cuEGLStreamConsumerAcquireFrame`
 * #: is infinite.
 * CUDA_EGL_INFINITE_TIMEOUT = ccuda.CUDA_EGL_INFINITE_TIMEOUT             # <<<<<<<<<<<<<<
 * 
 * class CUipcMem_flags(IntEnum):
 */
  __pyx_t_2 = __Pyx_PyInt_From___pyx_anon_enum(__pyx_e_4cuda_5ccuda_CUDA_EGL_INFINITE_TIMEOUT); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_EGL_INFINITE_TIMEOUT, __pyx_t_2) < 0) __PYX_ERR(1, 328, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":330
 * CUDA_EGL_INFINITE_TIMEOUT = ccuda.CUDA_EGL_INFINITE_TIMEOUT
 * 
 * class CUipcMem_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Ipc Mem Flags
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 330, __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)) __PYX_ERR(1, 330, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUipcMem_flags, __pyx_n_s_CUipcMem_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_CUDA_Ipc_Mem_Flags); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 330, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":336
 * 
 *     #: Automatically enable peer access between remote devices as needed
 *     CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS = ccuda.CUipcMem_flags_enum.CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS             # <<<<<<<<<<<<<<
 * 
 * class CUmemAttach_flags(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUipcMem_flags_enum(CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_IPC_MEM_LAZY_ENABLE_PEER_ACCE, __pyx_t_3) < 0) __PYX_ERR(1, 336, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":330
 * CUDA_EGL_INFINITE_TIMEOUT = ccuda.CUDA_EGL_INFINITE_TIMEOUT
 * 
 * class CUipcMem_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Ipc Mem Flags
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUipcMem_flags, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUipcMem_flags, __pyx_t_3) < 0) __PYX_ERR(1, 330, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":338
 *     CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS = ccuda.CUipcMem_flags_enum.CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS
 * 
 * class CUmemAttach_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Mem Attach Flags
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 338, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUmemAttach_flags, __pyx_n_s_CUmemAttach_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_CUDA_Mem_Attach_Flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 338, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":344
 * 
 *     #: Memory can be accessed by any stream on any device
 *     CU_MEM_ATTACH_GLOBAL = ccuda.CUmemAttach_flags_enum.CU_MEM_ATTACH_GLOBAL             # <<<<<<<<<<<<<<
 * 
 *     #: Memory cannot be accessed by any stream on any device
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmemAttach_flags_enum(CU_MEM_ATTACH_GLOBAL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MEM_ATTACH_GLOBAL, __pyx_t_4) < 0) __PYX_ERR(1, 344, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":347
 * 
 *     #: Memory cannot be accessed by any stream on any device
 *     CU_MEM_ATTACH_HOST = ccuda.CUmemAttach_flags_enum.CU_MEM_ATTACH_HOST             # <<<<<<<<<<<<<<
 * 
 *     #: Memory can only be accessed by a single stream on the associated
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmemAttach_flags_enum(CU_MEM_ATTACH_HOST); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MEM_ATTACH_HOST, __pyx_t_4) < 0) __PYX_ERR(1, 347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":351
 *     #: Memory can only be accessed by a single stream on the associated
 *     #: device
 *     CU_MEM_ATTACH_SINGLE = ccuda.CUmemAttach_flags_enum.CU_MEM_ATTACH_SINGLE             # <<<<<<<<<<<<<<
 * 
 * class CUctx_flags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmemAttach_flags_enum(CU_MEM_ATTACH_SINGLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MEM_ATTACH_SINGLE, __pyx_t_4) < 0) __PYX_ERR(1, 351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":338
 *     CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS = ccuda.CUipcMem_flags_enum.CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS
 * 
 * class CUmemAttach_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Mem Attach Flags
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUmemAttach_flags, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUmemAttach_flags, __pyx_t_4) < 0) __PYX_ERR(1, 338, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":353
 *     CU_MEM_ATTACH_SINGLE = ccuda.CUmemAttach_flags_enum.CU_MEM_ATTACH_SINGLE
 * 
 * class CUctx_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Context creation flags
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 353, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUctx_flags, __pyx_n_s_CUctx_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Context_creation_flags); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 353, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":359
 * 
 *     #: Automatic scheduling
 *     CU_CTX_SCHED_AUTO = ccuda.CUctx_flags_enum.CU_CTX_SCHED_AUTO             # <<<<<<<<<<<<<<
 * 
 *     #: Set spin as default scheduling
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUctx_flags_enum(CU_CTX_SCHED_AUTO); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_CTX_SCHED_AUTO, __pyx_t_5) < 0) __PYX_ERR(1, 359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":362
 * 
 *     #: Set spin as default scheduling
 *     CU_CTX_SCHED_SPIN = ccuda.CUctx_flags_enum.CU_CTX_SCHED_SPIN             # <<<<<<<<<<<<<<
 * 
 *     #: Set yield as default scheduling
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUctx_flags_enum(CU_CTX_SCHED_SPIN); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_CTX_SCHED_SPIN, __pyx_t_5) < 0) __PYX_ERR(1, 362, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":365
 * 
 *     #: Set yield as default scheduling
 *     CU_CTX_SCHED_YIELD = ccuda.CUctx_flags_enum.CU_CTX_SCHED_YIELD             # <<<<<<<<<<<<<<
 * 
 *     #: Set blocking synchronization as default scheduling
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUctx_flags_enum(CU_CTX_SCHED_YIELD); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_CTX_SCHED_YIELD, __pyx_t_5) < 0) __PYX_ERR(1, 365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":368
 * 
 *     #: Set blocking synchronization as default scheduling
 *     CU_CTX_SCHED_BLOCKING_SYNC = ccuda.CUctx_flags_enum.CU_CTX_SCHED_BLOCKING_SYNC             # <<<<<<<<<<<<<<
 * 
 *     #: Set blocking synchronization as default scheduling [Deprecated]
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUctx_flags_enum(CU_CTX_SCHED_BLOCKING_SYNC); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_CTX_SCHED_BLOCKING_SYNC, __pyx_t_5) < 0) __PYX_ERR(1, 368, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":371
 * 
 *     #: Set blocking synchronization as default scheduling [Deprecated]
 *     CU_CTX_BLOCKING_SYNC = ccuda.CUctx_flags_enum.CU_CTX_BLOCKING_SYNC             # <<<<<<<<<<<<<<
 *     CU_CTX_SCHED_MASK = ccuda.CUctx_flags_enum.CU_CTX_SCHED_MASK
 * 
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUctx_flags_enum(CU_CTX_BLOCKING_SYNC); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_CTX_BLOCKING_SYNC, __pyx_t_5) < 0) __PYX_ERR(1, 371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":372
 *     #: Set blocking synchronization as default scheduling [Deprecated]
 *     CU_CTX_BLOCKING_SYNC = ccuda.CUctx_flags_enum.CU_CTX_BLOCKING_SYNC
 *     CU_CTX_SCHED_MASK = ccuda.CUctx_flags_enum.CU_CTX_SCHED_MASK             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUctx_flags_enum(CU_CTX_SCHED_MASK); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_CTX_SCHED_MASK, __pyx_t_5) < 0) __PYX_ERR(1, 372, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":375
 * 
 *     #: [Deprecated]
 *     CU_CTX_MAP_HOST = ccuda.CUctx_flags_enum.CU_CTX_MAP_HOST             # <<<<<<<<<<<<<<
 * 
 *     #: Keep local memory allocation after launch
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUctx_flags_enum(CU_CTX_MAP_HOST); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_CTX_MAP_HOST, __pyx_t_5) < 0) __PYX_ERR(1, 375, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":378
 * 
 *     #: Keep local memory allocation after launch
 *     CU_CTX_LMEM_RESIZE_TO_MAX = ccuda.CUctx_flags_enum.CU_CTX_LMEM_RESIZE_TO_MAX             # <<<<<<<<<<<<<<
 * 
 *     #: Trigger coredumps from exceptions in this context
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUctx_flags_enum(CU_CTX_LMEM_RESIZE_TO_MAX); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_CTX_LMEM_RESIZE_TO_MAX, __pyx_t_5) < 0) __PYX_ERR(1, 378, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":381
 * 
 *     #: Trigger coredumps from exceptions in this context
 *     CU_CTX_COREDUMP_ENABLE = ccuda.CUctx_flags_enum.CU_CTX_COREDUMP_ENABLE             # <<<<<<<<<<<<<<
 * 
 *     #: Enable user pipe to trigger coredumps in this context
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUctx_flags_enum(CU_CTX_COREDUMP_ENABLE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_CTX_COREDUMP_ENABLE, __pyx_t_5) < 0) __PYX_ERR(1, 381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":384
 * 
 *     #: Enable user pipe to trigger coredumps in this context
 *     CU_CTX_USER_COREDUMP_ENABLE = ccuda.CUctx_flags_enum.CU_CTX_USER_COREDUMP_ENABLE             # <<<<<<<<<<<<<<
 * 
 *     #: Ensure synchronous memory operations on this context will
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUctx_flags_enum(CU_CTX_USER_COREDUMP_ENABLE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_CTX_USER_COREDUMP_ENABLE, __pyx_t_5) < 0) __PYX_ERR(1, 384, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":388
 *     #: Ensure synchronous memory operations on this context will
 *     #: synchronize
 *     CU_CTX_SYNC_MEMOPS = ccuda.CUctx_flags_enum.CU_CTX_SYNC_MEMOPS             # <<<<<<<<<<<<<<
 *     CU_CTX_FLAGS_MASK = ccuda.CUctx_flags_enum.CU_CTX_FLAGS_MASK
 * 
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUctx_flags_enum(CU_CTX_SYNC_MEMOPS); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_CTX_SYNC_MEMOPS, __pyx_t_5) < 0) __PYX_ERR(1, 388, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":389
 *     #: synchronize
 *     CU_CTX_SYNC_MEMOPS = ccuda.CUctx_flags_enum.CU_CTX_SYNC_MEMOPS
 *     CU_CTX_FLAGS_MASK = ccuda.CUctx_flags_enum.CU_CTX_FLAGS_MASK             # <<<<<<<<<<<<<<
 * 
 * class CUevent_sched_flags(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUctx_flags_enum(CU_CTX_FLAGS_MASK); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_CTX_FLAGS_MASK, __pyx_t_5) < 0) __PYX_ERR(1, 389, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":353
 *     CU_MEM_ATTACH_SINGLE = ccuda.CUmemAttach_flags_enum.CU_MEM_ATTACH_SINGLE
 * 
 * class CUctx_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Context creation flags
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUctx_flags, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUctx_flags, __pyx_t_5) < 0) __PYX_ERR(1, 353, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":391
 *     CU_CTX_FLAGS_MASK = ccuda.CUctx_flags_enum.CU_CTX_FLAGS_MASK
 * 
 * class CUevent_sched_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Event sched flags
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 391, __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)) __PYX_ERR(1, 391, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUevent_sched_flags, __pyx_n_s_CUevent_sched_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Event_sched_flags); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 391, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":397
 * 
 *     #: Automatic scheduling
 *     CU_EVENT_SCHED_AUTO = ccuda.CUevent_sched_flags_enum.CU_EVENT_SCHED_AUTO             # <<<<<<<<<<<<<<
 * 
 *     #: Set spin as default scheduling
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUevent_sched_flags_enum(CU_EVENT_SCHED_AUTO); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_EVENT_SCHED_AUTO, __pyx_t_3) < 0) __PYX_ERR(1, 397, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":400
 * 
 *     #: Set spin as default scheduling
 *     CU_EVENT_SCHED_SPIN = ccuda.CUevent_sched_flags_enum.CU_EVENT_SCHED_SPIN             # <<<<<<<<<<<<<<
 * 
 *     #: Set yield as default scheduling
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUevent_sched_flags_enum(CU_EVENT_SCHED_SPIN); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_EVENT_SCHED_SPIN, __pyx_t_3) < 0) __PYX_ERR(1, 400, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":403
 * 
 *     #: Set yield as default scheduling
 *     CU_EVENT_SCHED_YIELD = ccuda.CUevent_sched_flags_enum.CU_EVENT_SCHED_YIELD             # <<<<<<<<<<<<<<
 * 
 *     #: Set blocking synchronization as default scheduling
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUevent_sched_flags_enum(CU_EVENT_SCHED_YIELD); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_EVENT_SCHED_YIELD, __pyx_t_3) < 0) __PYX_ERR(1, 403, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":406
 * 
 *     #: Set blocking synchronization as default scheduling
 *     CU_EVENT_SCHED_BLOCKING_SYNC = ccuda.CUevent_sched_flags_enum.CU_EVENT_SCHED_BLOCKING_SYNC             # <<<<<<<<<<<<<<
 * 
 * class cl_event_flags(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUevent_sched_flags_enum(CU_EVENT_SCHED_BLOCKING_SYNC); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_EVENT_SCHED_BLOCKING_SYNC, __pyx_t_3) < 0) __PYX_ERR(1, 406, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":391
 *     CU_CTX_FLAGS_MASK = ccuda.CUctx_flags_enum.CU_CTX_FLAGS_MASK
 * 
 * class CUevent_sched_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Event sched flags
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUevent_sched_flags, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUevent_sched_flags, __pyx_t_3) < 0) __PYX_ERR(1, 391, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":408
 *     CU_EVENT_SCHED_BLOCKING_SYNC = ccuda.CUevent_sched_flags_enum.CU_EVENT_SCHED_BLOCKING_SYNC
 * 
 * class cl_event_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     NVCL event scheduling flags
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 408, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_cl_event_flags, __pyx_n_s_cl_event_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_NVCL_event_scheduling_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 408, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":414
 * 
 *     #: Automatic scheduling
 *     NVCL_EVENT_SCHED_AUTO = ccuda.cl_event_flags_enum.NVCL_EVENT_SCHED_AUTO             # <<<<<<<<<<<<<<
 * 
 *     #: Set spin as default scheduling
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cl_event_flags_enum(NVCL_EVENT_SCHED_AUTO); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_NVCL_EVENT_SCHED_AUTO, __pyx_t_4) < 0) __PYX_ERR(1, 414, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":417
 * 
 *     #: Set spin as default scheduling
 *     NVCL_EVENT_SCHED_SPIN = ccuda.cl_event_flags_enum.NVCL_EVENT_SCHED_SPIN             # <<<<<<<<<<<<<<
 * 
 *     #: Set yield as default scheduling
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cl_event_flags_enum(NVCL_EVENT_SCHED_SPIN); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_NVCL_EVENT_SCHED_SPIN, __pyx_t_4) < 0) __PYX_ERR(1, 417, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":420
 * 
 *     #: Set yield as default scheduling
 *     NVCL_EVENT_SCHED_YIELD = ccuda.cl_event_flags_enum.NVCL_EVENT_SCHED_YIELD             # <<<<<<<<<<<<<<
 * 
 *     #: Set blocking synchronization as default scheduling
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cl_event_flags_enum(NVCL_EVENT_SCHED_YIELD); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_NVCL_EVENT_SCHED_YIELD, __pyx_t_4) < 0) __PYX_ERR(1, 420, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":423
 * 
 *     #: Set blocking synchronization as default scheduling
 *     NVCL_EVENT_SCHED_BLOCKING_SYNC = ccuda.cl_event_flags_enum.NVCL_EVENT_SCHED_BLOCKING_SYNC             # <<<<<<<<<<<<<<
 * 
 * class cl_context_flags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cl_event_flags_enum(NVCL_EVENT_SCHED_BLOCKING_SYNC); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_NVCL_EVENT_SCHED_BLOCKING_SYNC, __pyx_t_4) < 0) __PYX_ERR(1, 423, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":408
 *     CU_EVENT_SCHED_BLOCKING_SYNC = ccuda.CUevent_sched_flags_enum.CU_EVENT_SCHED_BLOCKING_SYNC
 * 
 * class cl_event_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     NVCL event scheduling flags
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_cl_event_flags, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cl_event_flags, __pyx_t_4) < 0) __PYX_ERR(1, 408, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":425
 *     NVCL_EVENT_SCHED_BLOCKING_SYNC = ccuda.cl_event_flags_enum.NVCL_EVENT_SCHED_BLOCKING_SYNC
 * 
 * class cl_context_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     NVCL context scheduling flags
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 425, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_cl_context_flags, __pyx_n_s_cl_context_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_NVCL_context_scheduling_flags); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 425, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":431
 * 
 *     #: Automatic scheduling
 *     NVCL_CTX_SCHED_AUTO = ccuda.cl_context_flags_enum.NVCL_CTX_SCHED_AUTO             # <<<<<<<<<<<<<<
 * 
 *     #: Set spin as default scheduling
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__cl_context_flags_enum(NVCL_CTX_SCHED_AUTO); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_NVCL_CTX_SCHED_AUTO, __pyx_t_5) < 0) __PYX_ERR(1, 431, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":434
 * 
 *     #: Set spin as default scheduling
 *     NVCL_CTX_SCHED_SPIN = ccuda.cl_context_flags_enum.NVCL_CTX_SCHED_SPIN             # <<<<<<<<<<<<<<
 * 
 *     #: Set yield as default scheduling
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__cl_context_flags_enum(NVCL_CTX_SCHED_SPIN); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_NVCL_CTX_SCHED_SPIN, __pyx_t_5) < 0) __PYX_ERR(1, 434, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":437
 * 
 *     #: Set yield as default scheduling
 *     NVCL_CTX_SCHED_YIELD = ccuda.cl_context_flags_enum.NVCL_CTX_SCHED_YIELD             # <<<<<<<<<<<<<<
 * 
 *     #: Set blocking synchronization as default scheduling
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__cl_context_flags_enum(NVCL_CTX_SCHED_YIELD); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_NVCL_CTX_SCHED_YIELD, __pyx_t_5) < 0) __PYX_ERR(1, 437, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":440
 * 
 *     #: Set blocking synchronization as default scheduling
 *     NVCL_CTX_SCHED_BLOCKING_SYNC = ccuda.cl_context_flags_enum.NVCL_CTX_SCHED_BLOCKING_SYNC             # <<<<<<<<<<<<<<
 * 
 * class CUstream_flags(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__cl_context_flags_enum(NVCL_CTX_SCHED_BLOCKING_SYNC); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_NVCL_CTX_SCHED_BLOCKING_SYNC, __pyx_t_5) < 0) __PYX_ERR(1, 440, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":425
 *     NVCL_EVENT_SCHED_BLOCKING_SYNC = ccuda.cl_event_flags_enum.NVCL_EVENT_SCHED_BLOCKING_SYNC
 * 
 * class cl_context_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     NVCL context scheduling flags
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_cl_context_flags, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cl_context_flags, __pyx_t_5) < 0) __PYX_ERR(1, 425, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":442
 *     NVCL_CTX_SCHED_BLOCKING_SYNC = ccuda.cl_context_flags_enum.NVCL_CTX_SCHED_BLOCKING_SYNC
 * 
 * class CUstream_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Stream creation flags
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 442, __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)) __PYX_ERR(1, 442, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUstream_flags, __pyx_n_s_CUstream_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Stream_creation_flags); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 442, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":448
 * 
 *     #: Default stream flag
 *     CU_STREAM_DEFAULT = ccuda.CUstream_flags_enum.CU_STREAM_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: Stream does not synchronize with stream 0 (the NULL stream)
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUstream_flags_enum(CU_STREAM_DEFAULT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 448, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_STREAM_DEFAULT, __pyx_t_3) < 0) __PYX_ERR(1, 448, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":451
 * 
 *     #: Stream does not synchronize with stream 0 (the NULL stream)
 *     CU_STREAM_NON_BLOCKING = ccuda.CUstream_flags_enum.CU_STREAM_NON_BLOCKING             # <<<<<<<<<<<<<<
 * 
 * class CUevent_flags(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUstream_flags_enum(CU_STREAM_NON_BLOCKING); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_STREAM_NON_BLOCKING, __pyx_t_3) < 0) __PYX_ERR(1, 451, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":442
 *     NVCL_CTX_SCHED_BLOCKING_SYNC = ccuda.cl_context_flags_enum.NVCL_CTX_SCHED_BLOCKING_SYNC
 * 
 * class CUstream_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Stream creation flags
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUstream_flags, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUstream_flags, __pyx_t_3) < 0) __PYX_ERR(1, 442, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":453
 *     CU_STREAM_NON_BLOCKING = ccuda.CUstream_flags_enum.CU_STREAM_NON_BLOCKING
 * 
 * class CUevent_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Event creation flags
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 453, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUevent_flags, __pyx_n_s_CUevent_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Event_creation_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 453, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":459
 * 
 *     #: Default event flag
 *     CU_EVENT_DEFAULT = ccuda.CUevent_flags_enum.CU_EVENT_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: Event uses blocking synchronization
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUevent_flags_enum(CU_EVENT_DEFAULT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EVENT_DEFAULT, __pyx_t_4) < 0) __PYX_ERR(1, 459, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":462
 * 
 *     #: Event uses blocking synchronization
 *     CU_EVENT_BLOCKING_SYNC = ccuda.CUevent_flags_enum.CU_EVENT_BLOCKING_SYNC             # <<<<<<<<<<<<<<
 * 
 *     #: Event will not record timing data
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUevent_flags_enum(CU_EVENT_BLOCKING_SYNC); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EVENT_BLOCKING_SYNC, __pyx_t_4) < 0) __PYX_ERR(1, 462, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":465
 * 
 *     #: Event will not record timing data
 *     CU_EVENT_DISABLE_TIMING = ccuda.CUevent_flags_enum.CU_EVENT_DISABLE_TIMING             # <<<<<<<<<<<<<<
 * 
 *     #: Event is suitable for interprocess use. CU_EVENT_DISABLE_TIMING must
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUevent_flags_enum(CU_EVENT_DISABLE_TIMING); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EVENT_DISABLE_TIMING, __pyx_t_4) < 0) __PYX_ERR(1, 465, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":469
 *     #: Event is suitable for interprocess use. CU_EVENT_DISABLE_TIMING must
 *     #: be set
 *     CU_EVENT_INTERPROCESS = ccuda.CUevent_flags_enum.CU_EVENT_INTERPROCESS             # <<<<<<<<<<<<<<
 * 
 * class CUevent_record_flags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUevent_flags_enum(CU_EVENT_INTERPROCESS); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EVENT_INTERPROCESS, __pyx_t_4) < 0) __PYX_ERR(1, 469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":453
 *     CU_STREAM_NON_BLOCKING = ccuda.CUstream_flags_enum.CU_STREAM_NON_BLOCKING
 * 
 * class CUevent_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Event creation flags
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUevent_flags, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUevent_flags, __pyx_t_4) < 0) __PYX_ERR(1, 453, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":471
 *     CU_EVENT_INTERPROCESS = ccuda.CUevent_flags_enum.CU_EVENT_INTERPROCESS
 * 
 * class CUevent_record_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Event record flags
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 471, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUevent_record_flags, __pyx_n_s_CUevent_record_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Event_record_flags); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 471, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":477
 * 
 *     #: Default event record flag
 *     CU_EVENT_RECORD_DEFAULT = ccuda.CUevent_record_flags_enum.CU_EVENT_RECORD_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: When using stream capture, create an event record node instead of
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUevent_record_flags_enum(CU_EVENT_RECORD_DEFAULT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_EVENT_RECORD_DEFAULT, __pyx_t_5) < 0) __PYX_ERR(1, 477, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":482
 *     #: the default behavior. This flag is invalid when used outside of
 *     #: capture.
 *     CU_EVENT_RECORD_EXTERNAL = ccuda.CUevent_record_flags_enum.CU_EVENT_RECORD_EXTERNAL             # <<<<<<<<<<<<<<
 * 
 * class CUevent_wait_flags(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUevent_record_flags_enum(CU_EVENT_RECORD_EXTERNAL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_EVENT_RECORD_EXTERNAL, __pyx_t_5) < 0) __PYX_ERR(1, 482, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":471
 *     CU_EVENT_INTERPROCESS = ccuda.CUevent_flags_enum.CU_EVENT_INTERPROCESS
 * 
 * class CUevent_record_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Event record flags
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUevent_record_flags, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUevent_record_flags, __pyx_t_5) < 0) __PYX_ERR(1, 471, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":484
 *     CU_EVENT_RECORD_EXTERNAL = ccuda.CUevent_record_flags_enum.CU_EVENT_RECORD_EXTERNAL
 * 
 * class CUevent_wait_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Event wait flags
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 484, __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)) __PYX_ERR(1, 484, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUevent_wait_flags, __pyx_n_s_CUevent_wait_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Event_wait_flags); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 484, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":490
 * 
 *     #: Default event wait flag
 *     CU_EVENT_WAIT_DEFAULT = ccuda.CUevent_wait_flags_enum.CU_EVENT_WAIT_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: When using stream capture, create an event wait node instead of the
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUevent_wait_flags_enum(CU_EVENT_WAIT_DEFAULT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_EVENT_WAIT_DEFAULT, __pyx_t_3) < 0) __PYX_ERR(1, 490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":494
 *     #: When using stream capture, create an event wait node instead of the
 *     #: default behavior. This flag is invalid when used outside of capture.
 *     CU_EVENT_WAIT_EXTERNAL = ccuda.CUevent_wait_flags_enum.CU_EVENT_WAIT_EXTERNAL             # <<<<<<<<<<<<<<
 * 
 * class CUstreamWaitValue_flags(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUevent_wait_flags_enum(CU_EVENT_WAIT_EXTERNAL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_EVENT_WAIT_EXTERNAL, __pyx_t_3) < 0) __PYX_ERR(1, 494, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":484
 *     CU_EVENT_RECORD_EXTERNAL = ccuda.CUevent_record_flags_enum.CU_EVENT_RECORD_EXTERNAL
 * 
 * class CUevent_wait_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Event wait flags
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUevent_wait_flags, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUevent_wait_flags, __pyx_t_3) < 0) __PYX_ERR(1, 484, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":496
 *     CU_EVENT_WAIT_EXTERNAL = ccuda.CUevent_wait_flags_enum.CU_EVENT_WAIT_EXTERNAL
 * 
 * class CUstreamWaitValue_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.cuStreamWaitValue32` and
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 496, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUstreamWaitValue_flags, __pyx_n_s_CUstreamWaitValue_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Flags_for_py_obj_cuStreamWaitVa); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 496, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":505
 *     #: values). Note this is a cyclic comparison which ignores wraparound.
 *     #: (Default behavior.)
 *     CU_STREAM_WAIT_VALUE_GEQ = ccuda.CUstreamWaitValue_flags_enum.CU_STREAM_WAIT_VALUE_GEQ             # <<<<<<<<<<<<<<
 * 
 *     #: Wait until *addr == value.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUstreamWaitValue_flags_enum(CU_STREAM_WAIT_VALUE_GEQ); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_STREAM_WAIT_VALUE_GEQ, __pyx_t_4) < 0) __PYX_ERR(1, 505, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":508
 * 
 *     #: Wait until *addr == value.
 *     CU_STREAM_WAIT_VALUE_EQ = ccuda.CUstreamWaitValue_flags_enum.CU_STREAM_WAIT_VALUE_EQ             # <<<<<<<<<<<<<<
 * 
 *     #: Wait until (*addr & value) != 0.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUstreamWaitValue_flags_enum(CU_STREAM_WAIT_VALUE_EQ); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_STREAM_WAIT_VALUE_EQ, __pyx_t_4) < 0) __PYX_ERR(1, 508, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":511
 * 
 *     #: Wait until (*addr & value) != 0.
 *     CU_STREAM_WAIT_VALUE_AND = ccuda.CUstreamWaitValue_flags_enum.CU_STREAM_WAIT_VALUE_AND             # <<<<<<<<<<<<<<
 * 
 *     #: Wait until ~(*addr | value) != 0. Support for this operation can be
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUstreamWaitValue_flags_enum(CU_STREAM_WAIT_VALUE_AND); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_STREAM_WAIT_VALUE_AND, __pyx_t_4) < 0) __PYX_ERR(1, 511, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":516
 *     #: queried with :py:obj:`~.cuDeviceGetAttribute()` and
 *     #: :py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR`.
 *     CU_STREAM_WAIT_VALUE_NOR = ccuda.CUstreamWaitValue_flags_enum.CU_STREAM_WAIT_VALUE_NOR             # <<<<<<<<<<<<<<
 * 
 *     #: Follow the wait operation with a flush of outstanding remote writes.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUstreamWaitValue_flags_enum(CU_STREAM_WAIT_VALUE_NOR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_STREAM_WAIT_VALUE_NOR, __pyx_t_4) < 0) __PYX_ERR(1, 516, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":528
 *     #: restricted to selected platforms and can be queried with
 *     #: :py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES`.
 *     CU_STREAM_WAIT_VALUE_FLUSH = ccuda.CUstreamWaitValue_flags_enum.CU_STREAM_WAIT_VALUE_FLUSH             # <<<<<<<<<<<<<<
 * 
 * class CUstreamWriteValue_flags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUstreamWaitValue_flags_enum(CU_STREAM_WAIT_VALUE_FLUSH); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_STREAM_WAIT_VALUE_FLUSH, __pyx_t_4) < 0) __PYX_ERR(1, 528, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":496
 *     CU_EVENT_WAIT_EXTERNAL = ccuda.CUevent_wait_flags_enum.CU_EVENT_WAIT_EXTERNAL
 * 
 * class CUstreamWaitValue_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.cuStreamWaitValue32` and
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUstreamWaitValue_flags, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUstreamWaitValue_flags, __pyx_t_4) < 0) __PYX_ERR(1, 496, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":530
 *     CU_STREAM_WAIT_VALUE_FLUSH = ccuda.CUstreamWaitValue_flags_enum.CU_STREAM_WAIT_VALUE_FLUSH
 * 
 * class CUstreamWriteValue_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.cuStreamWriteValue32`
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 530, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUstreamWriteValue_flags, __pyx_n_s_CUstreamWriteValue_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Flags_for_py_obj_cuStreamWriteV); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 530, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":536
 * 
 *     #: Default behavior
 *     CU_STREAM_WRITE_VALUE_DEFAULT = ccuda.CUstreamWriteValue_flags_enum.CU_STREAM_WRITE_VALUE_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: Permits the write to be reordered with writes which were issued
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUstreamWriteValue_flags_enum(CU_STREAM_WRITE_VALUE_DEFAULT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_STREAM_WRITE_VALUE_DEFAULT, __pyx_t_5) < 0) __PYX_ERR(1, 536, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":544
 *     #: is scoped to the stream rather than a CUDA thread. This flag is not
 *     #: supported in the v2 API.
 *     CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = ccuda.CUstreamWriteValue_flags_enum.CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER             # <<<<<<<<<<<<<<
 * 
 * class CUstreamBatchMemOpType(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUstreamWriteValue_flags_enum(CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 544, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_STREAM_WRITE_VALUE_NO_MEMORY, __pyx_t_5) < 0) __PYX_ERR(1, 544, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":530
 *     CU_STREAM_WAIT_VALUE_FLUSH = ccuda.CUstreamWaitValue_flags_enum.CU_STREAM_WAIT_VALUE_FLUSH
 * 
 * class CUstreamWriteValue_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.cuStreamWriteValue32`
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUstreamWriteValue_flags, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUstreamWriteValue_flags, __pyx_t_5) < 0) __PYX_ERR(1, 530, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":546
 *     CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = ccuda.CUstreamWriteValue_flags_enum.CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER
 * 
 * class CUstreamBatchMemOpType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Operations for :py:obj:`~.cuStreamBatchMemOp`
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 546, __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)) __PYX_ERR(1, 546, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUstreamBatchMemOpType, __pyx_n_s_CUstreamBatchMemOpType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Operations_for_py_obj_cuStreamB); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 546, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":552
 * 
 *     #: Represents a :py:obj:`~.cuStreamWaitValue32` operation
 *     CU_STREAM_MEM_OP_WAIT_VALUE_32 = ccuda.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_WAIT_VALUE_32             # <<<<<<<<<<<<<<
 * 
 *     #: Represents a :py:obj:`~.cuStreamWriteValue32` operation
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUstreamBatchMemOpType_enum(CU_STREAM_MEM_OP_WAIT_VALUE_32); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 552, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_STREAM_MEM_OP_WAIT_VALUE_32, __pyx_t_3) < 0) __PYX_ERR(1, 552, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":555
 * 
 *     #: Represents a :py:obj:`~.cuStreamWriteValue32` operation
 *     CU_STREAM_MEM_OP_WRITE_VALUE_32 = ccuda.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_WRITE_VALUE_32             # <<<<<<<<<<<<<<
 * 
 *     #: This has the same effect as :py:obj:`~.CU_STREAM_WAIT_VALUE_FLUSH`,
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUstreamBatchMemOpType_enum(CU_STREAM_MEM_OP_WRITE_VALUE_32); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_STREAM_MEM_OP_WRITE_VALUE_32, __pyx_t_3) < 0) __PYX_ERR(1, 555, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":559
 *     #: This has the same effect as :py:obj:`~.CU_STREAM_WAIT_VALUE_FLUSH`,
 *     #: but as a standalone operation.
 *     CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES = ccuda.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES             # <<<<<<<<<<<<<<
 * 
 *     #: Represents a :py:obj:`~.cuStreamWaitValue64` operation
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUstreamBatchMemOpType_enum(CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_STREAM_MEM_OP_FLUSH_REMOTE_WR, __pyx_t_3) < 0) __PYX_ERR(1, 559, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":562
 * 
 *     #: Represents a :py:obj:`~.cuStreamWaitValue64` operation
 *     CU_STREAM_MEM_OP_WAIT_VALUE_64 = ccuda.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_WAIT_VALUE_64             # <<<<<<<<<<<<<<
 * 
 *     #: Represents a :py:obj:`~.cuStreamWriteValue64` operation
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUstreamBatchMemOpType_enum(CU_STREAM_MEM_OP_WAIT_VALUE_64); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_STREAM_MEM_OP_WAIT_VALUE_64, __pyx_t_3) < 0) __PYX_ERR(1, 562, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":565
 * 
 *     #: Represents a :py:obj:`~.cuStreamWriteValue64` operation
 *     CU_STREAM_MEM_OP_WRITE_VALUE_64 = ccuda.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_WRITE_VALUE_64             # <<<<<<<<<<<<<<
 * 
 *     #: Insert a memory barrier of the specified type
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUstreamBatchMemOpType_enum(CU_STREAM_MEM_OP_WRITE_VALUE_64); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_STREAM_MEM_OP_WRITE_VALUE_64, __pyx_t_3) < 0) __PYX_ERR(1, 565, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":568
 * 
 *     #: Insert a memory barrier of the specified type
 *     CU_STREAM_MEM_OP_BARRIER = ccuda.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_BARRIER             # <<<<<<<<<<<<<<
 * 
 * class CUstreamMemoryBarrier_flags(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUstreamBatchMemOpType_enum(CU_STREAM_MEM_OP_BARRIER); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_STREAM_MEM_OP_BARRIER, __pyx_t_3) < 0) __PYX_ERR(1, 568, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":546
 *     CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = ccuda.CUstreamWriteValue_flags_enum.CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER
 * 
 * class CUstreamBatchMemOpType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Operations for :py:obj:`~.cuStreamBatchMemOp`
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUstreamBatchMemOpType, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUstreamBatchMemOpType, __pyx_t_3) < 0) __PYX_ERR(1, 546, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":570
 *     CU_STREAM_MEM_OP_BARRIER = ccuda.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_BARRIER
 * 
 * class CUstreamMemoryBarrier_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.cuStreamMemoryBarrier`
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 570, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUstreamMemoryBarrier_flags, __pyx_n_s_CUstreamMemoryBarrier_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Flags_for_py_obj_cuStreamMemory); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 570, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":576
 * 
 *     #: System-wide memory barrier.
 *     CU_STREAM_MEMORY_BARRIER_TYPE_SYS = ccuda.CUstreamMemoryBarrier_flags_enum.CU_STREAM_MEMORY_BARRIER_TYPE_SYS             # <<<<<<<<<<<<<<
 * 
 *     #: Limit memory barrier scope to the GPU.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUstreamMemoryBarrier_flags_enum(CU_STREAM_MEMORY_BARRIER_TYPE_SYS); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_STREAM_MEMORY_BARRIER_TYPE_SY, __pyx_t_4) < 0) __PYX_ERR(1, 576, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":579
 * 
 *     #: Limit memory barrier scope to the GPU.
 *     CU_STREAM_MEMORY_BARRIER_TYPE_GPU = ccuda.CUstreamMemoryBarrier_flags_enum.CU_STREAM_MEMORY_BARRIER_TYPE_GPU             # <<<<<<<<<<<<<<
 * 
 * class CUoccupancy_flags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUstreamMemoryBarrier_flags_enum(CU_STREAM_MEMORY_BARRIER_TYPE_GPU); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_STREAM_MEMORY_BARRIER_TYPE_GP, __pyx_t_4) < 0) __PYX_ERR(1, 579, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":570
 *     CU_STREAM_MEM_OP_BARRIER = ccuda.CUstreamBatchMemOpType_enum.CU_STREAM_MEM_OP_BARRIER
 * 
 * class CUstreamMemoryBarrier_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.cuStreamMemoryBarrier`
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUstreamMemoryBarrier_flags, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUstreamMemoryBarrier_flags, __pyx_t_4) < 0) __PYX_ERR(1, 570, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":581
 *     CU_STREAM_MEMORY_BARRIER_TYPE_GPU = ccuda.CUstreamMemoryBarrier_flags_enum.CU_STREAM_MEMORY_BARRIER_TYPE_GPU
 * 
 * class CUoccupancy_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Occupancy calculator flag
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 581, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUoccupancy_flags, __pyx_n_s_CUoccupancy_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Occupancy_calculator_flag); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 581, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":587
 * 
 *     #: Default behavior
 *     CU_OCCUPANCY_DEFAULT = ccuda.CUoccupancy_flags_enum.CU_OCCUPANCY_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: Assume global caching is enabled and cannot be automatically turned
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUoccupancy_flags_enum(CU_OCCUPANCY_DEFAULT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_OCCUPANCY_DEFAULT, __pyx_t_5) < 0) __PYX_ERR(1, 587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":591
 *     #: Assume global caching is enabled and cannot be automatically turned
 *     #: off
 *     CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = ccuda.CUoccupancy_flags_enum.CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE             # <<<<<<<<<<<<<<
 * 
 * class CUstreamUpdateCaptureDependencies_flags(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUoccupancy_flags_enum(CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_OCCUPANCY_DISABLE_CACHING_OVE, __pyx_t_5) < 0) __PYX_ERR(1, 591, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":581
 *     CU_STREAM_MEMORY_BARRIER_TYPE_GPU = ccuda.CUstreamMemoryBarrier_flags_enum.CU_STREAM_MEMORY_BARRIER_TYPE_GPU
 * 
 * class CUoccupancy_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Occupancy calculator flag
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUoccupancy_flags, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUoccupancy_flags, __pyx_t_5) < 0) __PYX_ERR(1, 581, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":593
 *     CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = ccuda.CUoccupancy_flags_enum.CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE
 * 
 * class CUstreamUpdateCaptureDependencies_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.cuStreamUpdateCaptureDependencies`
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 593, __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)) __PYX_ERR(1, 593, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUstreamUpdateCaptureDependencie, __pyx_n_s_CUstreamUpdateCaptureDependencie, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Flags_for_py_obj_cuStreamUpdate); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 593, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":599
 * 
 *     #: Add new nodes to the dependency set
 *     CU_STREAM_ADD_CAPTURE_DEPENDENCIES = ccuda.CUstreamUpdateCaptureDependencies_flags_enum.CU_STREAM_ADD_CAPTURE_DEPENDENCIES             # <<<<<<<<<<<<<<
 * 
 *     #: Replace the dependency set with the new nodes
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUstreamUpdateCaptureDependencies_flags_enum(CU_STREAM_ADD_CAPTURE_DEPENDENCIES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_STREAM_ADD_CAPTURE_DEPENDENCI, __pyx_t_3) < 0) __PYX_ERR(1, 599, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":602
 * 
 *     #: Replace the dependency set with the new nodes
 *     CU_STREAM_SET_CAPTURE_DEPENDENCIES = ccuda.CUstreamUpdateCaptureDependencies_flags_enum.CU_STREAM_SET_CAPTURE_DEPENDENCIES             # <<<<<<<<<<<<<<
 * 
 * class CUasyncNotificationType(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUstreamUpdateCaptureDependencies_flags_enum(CU_STREAM_SET_CAPTURE_DEPENDENCIES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_STREAM_SET_CAPTURE_DEPENDENCI, __pyx_t_3) < 0) __PYX_ERR(1, 602, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":593
 *     CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = ccuda.CUoccupancy_flags_enum.CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE
 * 
 * class CUstreamUpdateCaptureDependencies_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for :py:obj:`~.cuStreamUpdateCaptureDependencies`
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUstreamUpdateCaptureDependencie, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUstreamUpdateCaptureDependencie, __pyx_t_3) < 0) __PYX_ERR(1, 593, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":604
 *     CU_STREAM_SET_CAPTURE_DEPENDENCIES = ccuda.CUstreamUpdateCaptureDependencies_flags_enum.CU_STREAM_SET_CAPTURE_DEPENDENCIES
 * 
 * class CUasyncNotificationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Types of async notification that can be sent
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 604, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUasyncNotificationType, __pyx_n_s_CUasyncNotificationType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Types_of_async_notification_tha); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 604, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":608
 *     Types of async notification that can be sent
 *     """
 *     CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET = ccuda.CUasyncNotificationType_enum.CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET             # <<<<<<<<<<<<<<
 * 
 * class CUarray_format(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUasyncNotificationType_enum(CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_ASYNC_NOTIFICATION_TYPE_OVER, __pyx_t_4) < 0) __PYX_ERR(1, 608, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":604
 *     CU_STREAM_SET_CAPTURE_DEPENDENCIES = ccuda.CUstreamUpdateCaptureDependencies_flags_enum.CU_STREAM_SET_CAPTURE_DEPENDENCIES
 * 
 * class CUasyncNotificationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Types of async notification that can be sent
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUasyncNotificationType, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUasyncNotificationType, __pyx_t_4) < 0) __PYX_ERR(1, 604, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":610
 *     CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET = ccuda.CUasyncNotificationType_enum.CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET
 * 
 * class CUarray_format(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Array formats
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 610, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUarray_format, __pyx_n_s_CUarray_format, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Array_formats); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 610, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":616
 * 
 *     #: Unsigned 8-bit integers
 *     CU_AD_FORMAT_UNSIGNED_INT8 = ccuda.CUarray_format_enum.CU_AD_FORMAT_UNSIGNED_INT8             # <<<<<<<<<<<<<<
 * 
 *     #: Unsigned 16-bit integers
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNSIGNED_INT8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT8, __pyx_t_5) < 0) __PYX_ERR(1, 616, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":619
 * 
 *     #: Unsigned 16-bit integers
 *     CU_AD_FORMAT_UNSIGNED_INT16 = ccuda.CUarray_format_enum.CU_AD_FORMAT_UNSIGNED_INT16             # <<<<<<<<<<<<<<
 * 
 *     #: Unsigned 32-bit integers
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNSIGNED_INT16); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT16, __pyx_t_5) < 0) __PYX_ERR(1, 619, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":622
 * 
 *     #: Unsigned 32-bit integers
 *     CU_AD_FORMAT_UNSIGNED_INT32 = ccuda.CUarray_format_enum.CU_AD_FORMAT_UNSIGNED_INT32             # <<<<<<<<<<<<<<
 * 
 *     #: Signed 8-bit integers
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNSIGNED_INT32); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_UNSIGNED_INT32, __pyx_t_5) < 0) __PYX_ERR(1, 622, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":625
 * 
 *     #: Signed 8-bit integers
 *     CU_AD_FORMAT_SIGNED_INT8 = ccuda.CUarray_format_enum.CU_AD_FORMAT_SIGNED_INT8             # <<<<<<<<<<<<<<
 * 
 *     #: Signed 16-bit integers
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_SIGNED_INT8); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_SIGNED_INT8, __pyx_t_5) < 0) __PYX_ERR(1, 625, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":628
 * 
 *     #: Signed 16-bit integers
 *     CU_AD_FORMAT_SIGNED_INT16 = ccuda.CUarray_format_enum.CU_AD_FORMAT_SIGNED_INT16             # <<<<<<<<<<<<<<
 * 
 *     #: Signed 32-bit integers
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_SIGNED_INT16); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_SIGNED_INT16, __pyx_t_5) < 0) __PYX_ERR(1, 628, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":631
 * 
 *     #: Signed 32-bit integers
 *     CU_AD_FORMAT_SIGNED_INT32 = ccuda.CUarray_format_enum.CU_AD_FORMAT_SIGNED_INT32             # <<<<<<<<<<<<<<
 * 
 *     #: 16-bit floating point
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_SIGNED_INT32); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_SIGNED_INT32, __pyx_t_5) < 0) __PYX_ERR(1, 631, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":634
 * 
 *     #: 16-bit floating point
 *     CU_AD_FORMAT_HALF = ccuda.CUarray_format_enum.CU_AD_FORMAT_HALF             # <<<<<<<<<<<<<<
 * 
 *     #: 32-bit floating point
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_HALF); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_HALF, __pyx_t_5) < 0) __PYX_ERR(1, 634, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":637
 * 
 *     #: 32-bit floating point
 *     CU_AD_FORMAT_FLOAT = ccuda.CUarray_format_enum.CU_AD_FORMAT_FLOAT             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC1 compression)
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_FLOAT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_FLOAT, __pyx_t_5) < 0) __PYX_ERR(1, 637, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":641
 *     #: 4 channel unsigned normalized block-compressed (BC1 compression)
 *     #: format
 *     CU_AD_FORMAT_BC1_UNORM = ccuda.CUarray_format_enum.CU_AD_FORMAT_BC1_UNORM             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC1 compression)
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC1_UNORM); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_BC1_UNORM, __pyx_t_5) < 0) __PYX_ERR(1, 641, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":645
 *     #: 4 channel unsigned normalized block-compressed (BC1 compression)
 *     #: format with sRGB encoding
 *     CU_AD_FORMAT_BC1_UNORM_SRGB = ccuda.CUarray_format_enum.CU_AD_FORMAT_BC1_UNORM_SRGB             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC2 compression)
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC1_UNORM_SRGB); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_BC1_UNORM_SRGB, __pyx_t_5) < 0) __PYX_ERR(1, 645, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":649
 *     #: 4 channel unsigned normalized block-compressed (BC2 compression)
 *     #: format
 *     CU_AD_FORMAT_BC2_UNORM = ccuda.CUarray_format_enum.CU_AD_FORMAT_BC2_UNORM             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC2 compression)
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC2_UNORM); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_BC2_UNORM, __pyx_t_5) < 0) __PYX_ERR(1, 649, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":653
 *     #: 4 channel unsigned normalized block-compressed (BC2 compression)
 *     #: format with sRGB encoding
 *     CU_AD_FORMAT_BC2_UNORM_SRGB = ccuda.CUarray_format_enum.CU_AD_FORMAT_BC2_UNORM_SRGB             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC3 compression)
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC2_UNORM_SRGB); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_BC2_UNORM_SRGB, __pyx_t_5) < 0) __PYX_ERR(1, 653, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":657
 *     #: 4 channel unsigned normalized block-compressed (BC3 compression)
 *     #: format
 *     CU_AD_FORMAT_BC3_UNORM = ccuda.CUarray_format_enum.CU_AD_FORMAT_BC3_UNORM             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC3 compression)
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC3_UNORM); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_BC3_UNORM, __pyx_t_5) < 0) __PYX_ERR(1, 657, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":661
 *     #: 4 channel unsigned normalized block-compressed (BC3 compression)
 *     #: format with sRGB encoding
 *     CU_AD_FORMAT_BC3_UNORM_SRGB = ccuda.CUarray_format_enum.CU_AD_FORMAT_BC3_UNORM_SRGB             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned normalized block-compressed (BC4 compression)
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC3_UNORM_SRGB); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_BC3_UNORM_SRGB, __pyx_t_5) < 0) __PYX_ERR(1, 661, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":665
 *     #: 1 channel unsigned normalized block-compressed (BC4 compression)
 *     #: format
 *     CU_AD_FORMAT_BC4_UNORM = ccuda.CUarray_format_enum.CU_AD_FORMAT_BC4_UNORM             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed normalized block-compressed (BC4 compression)
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC4_UNORM); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_BC4_UNORM, __pyx_t_5) < 0) __PYX_ERR(1, 665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":669
 *     #: 1 channel signed normalized block-compressed (BC4 compression)
 *     #: format
 *     CU_AD_FORMAT_BC4_SNORM = ccuda.CUarray_format_enum.CU_AD_FORMAT_BC4_SNORM             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned normalized block-compressed (BC5 compression)
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC4_SNORM); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_BC4_SNORM, __pyx_t_5) < 0) __PYX_ERR(1, 669, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":673
 *     #: 2 channel unsigned normalized block-compressed (BC5 compression)
 *     #: format
 *     CU_AD_FORMAT_BC5_UNORM = ccuda.CUarray_format_enum.CU_AD_FORMAT_BC5_UNORM             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed normalized block-compressed (BC5 compression)
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC5_UNORM); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_BC5_UNORM, __pyx_t_5) < 0) __PYX_ERR(1, 673, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":677
 *     #: 2 channel signed normalized block-compressed (BC5 compression)
 *     #: format
 *     CU_AD_FORMAT_BC5_SNORM = ccuda.CUarray_format_enum.CU_AD_FORMAT_BC5_SNORM             # <<<<<<<<<<<<<<
 * 
 *     #: 3 channel unsigned half-float block-compressed (BC6H compression)
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC5_SNORM); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_BC5_SNORM, __pyx_t_5) < 0) __PYX_ERR(1, 677, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":681
 *     #: 3 channel unsigned half-float block-compressed (BC6H compression)
 *     #: format
 *     CU_AD_FORMAT_BC6H_UF16 = ccuda.CUarray_format_enum.CU_AD_FORMAT_BC6H_UF16             # <<<<<<<<<<<<<<
 * 
 *     #: 3 channel signed half-float block-compressed (BC6H compression)
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC6H_UF16); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_BC6H_UF16, __pyx_t_5) < 0) __PYX_ERR(1, 681, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":685
 *     #: 3 channel signed half-float block-compressed (BC6H compression)
 *     #: format
 *     CU_AD_FORMAT_BC6H_SF16 = ccuda.CUarray_format_enum.CU_AD_FORMAT_BC6H_SF16             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC7 compression)
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC6H_SF16); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_BC6H_SF16, __pyx_t_5) < 0) __PYX_ERR(1, 685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":689
 *     #: 4 channel unsigned normalized block-compressed (BC7 compression)
 *     #: format
 *     CU_AD_FORMAT_BC7_UNORM = ccuda.CUarray_format_enum.CU_AD_FORMAT_BC7_UNORM             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned normalized block-compressed (BC7 compression)
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC7_UNORM); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_BC7_UNORM, __pyx_t_5) < 0) __PYX_ERR(1, 689, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":693
 *     #: 4 channel unsigned normalized block-compressed (BC7 compression)
 *     #: format with sRGB encoding
 *     CU_AD_FORMAT_BC7_UNORM_SRGB = ccuda.CUarray_format_enum.CU_AD_FORMAT_BC7_UNORM_SRGB             # <<<<<<<<<<<<<<
 * 
 *     #: 8-bit YUV planar format, with 4:2:0 sampling
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_BC7_UNORM_SRGB); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_BC7_UNORM_SRGB, __pyx_t_5) < 0) __PYX_ERR(1, 693, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":696
 * 
 *     #: 8-bit YUV planar format, with 4:2:0 sampling
 *     CU_AD_FORMAT_NV12 = ccuda.CUarray_format_enum.CU_AD_FORMAT_NV12             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned 8-bit normalized integer
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_NV12); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_NV12, __pyx_t_5) < 0) __PYX_ERR(1, 696, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":699
 * 
 *     #: 1 channel unsigned 8-bit normalized integer
 *     CU_AD_FORMAT_UNORM_INT8X1 = ccuda.CUarray_format_enum.CU_AD_FORMAT_UNORM_INT8X1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned 8-bit normalized integer
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNORM_INT8X1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_UNORM_INT8X1, __pyx_t_5) < 0) __PYX_ERR(1, 699, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":702
 * 
 *     #: 2 channel unsigned 8-bit normalized integer
 *     CU_AD_FORMAT_UNORM_INT8X2 = ccuda.CUarray_format_enum.CU_AD_FORMAT_UNORM_INT8X2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned 8-bit normalized integer
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNORM_INT8X2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_UNORM_INT8X2, __pyx_t_5) < 0) __PYX_ERR(1, 702, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":705
 * 
 *     #: 4 channel unsigned 8-bit normalized integer
 *     CU_AD_FORMAT_UNORM_INT8X4 = ccuda.CUarray_format_enum.CU_AD_FORMAT_UNORM_INT8X4             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned 16-bit normalized integer
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNORM_INT8X4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_UNORM_INT8X4, __pyx_t_5) < 0) __PYX_ERR(1, 705, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":708
 * 
 *     #: 1 channel unsigned 16-bit normalized integer
 *     CU_AD_FORMAT_UNORM_INT16X1 = ccuda.CUarray_format_enum.CU_AD_FORMAT_UNORM_INT16X1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned 16-bit normalized integer
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNORM_INT16X1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_UNORM_INT16X1, __pyx_t_5) < 0) __PYX_ERR(1, 708, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":711
 * 
 *     #: 2 channel unsigned 16-bit normalized integer
 *     CU_AD_FORMAT_UNORM_INT16X2 = ccuda.CUarray_format_enum.CU_AD_FORMAT_UNORM_INT16X2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned 16-bit normalized integer
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNORM_INT16X2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_UNORM_INT16X2, __pyx_t_5) < 0) __PYX_ERR(1, 711, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":714
 * 
 *     #: 4 channel unsigned 16-bit normalized integer
 *     CU_AD_FORMAT_UNORM_INT16X4 = ccuda.CUarray_format_enum.CU_AD_FORMAT_UNORM_INT16X4             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed 8-bit normalized integer
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_UNORM_INT16X4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_UNORM_INT16X4, __pyx_t_5) < 0) __PYX_ERR(1, 714, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":717
 * 
 *     #: 1 channel signed 8-bit normalized integer
 *     CU_AD_FORMAT_SNORM_INT8X1 = ccuda.CUarray_format_enum.CU_AD_FORMAT_SNORM_INT8X1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed 8-bit normalized integer
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_SNORM_INT8X1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_SNORM_INT8X1, __pyx_t_5) < 0) __PYX_ERR(1, 717, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":720
 * 
 *     #: 2 channel signed 8-bit normalized integer
 *     CU_AD_FORMAT_SNORM_INT8X2 = ccuda.CUarray_format_enum.CU_AD_FORMAT_SNORM_INT8X2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel signed 8-bit normalized integer
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_SNORM_INT8X2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_SNORM_INT8X2, __pyx_t_5) < 0) __PYX_ERR(1, 720, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":723
 * 
 *     #: 4 channel signed 8-bit normalized integer
 *     CU_AD_FORMAT_SNORM_INT8X4 = ccuda.CUarray_format_enum.CU_AD_FORMAT_SNORM_INT8X4             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed 16-bit normalized integer
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_SNORM_INT8X4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_SNORM_INT8X4, __pyx_t_5) < 0) __PYX_ERR(1, 723, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":726
 * 
 *     #: 1 channel signed 16-bit normalized integer
 *     CU_AD_FORMAT_SNORM_INT16X1 = ccuda.CUarray_format_enum.CU_AD_FORMAT_SNORM_INT16X1             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed 16-bit normalized integer
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_SNORM_INT16X1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_SNORM_INT16X1, __pyx_t_5) < 0) __PYX_ERR(1, 726, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":729
 * 
 *     #: 2 channel signed 16-bit normalized integer
 *     CU_AD_FORMAT_SNORM_INT16X2 = ccuda.CUarray_format_enum.CU_AD_FORMAT_SNORM_INT16X2             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel signed 16-bit normalized integer
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_SNORM_INT16X2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_SNORM_INT16X2, __pyx_t_5) < 0) __PYX_ERR(1, 729, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":732
 * 
 *     #: 4 channel signed 16-bit normalized integer
 *     CU_AD_FORMAT_SNORM_INT16X4 = ccuda.CUarray_format_enum.CU_AD_FORMAT_SNORM_INT16X4             # <<<<<<<<<<<<<<
 * 
 * class CUaddress_mode(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUarray_format_enum(CU_AD_FORMAT_SNORM_INT16X4); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_AD_FORMAT_SNORM_INT16X4, __pyx_t_5) < 0) __PYX_ERR(1, 732, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":610
 *     CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET = ccuda.CUasyncNotificationType_enum.CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET
 * 
 * class CUarray_format(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Array formats
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUarray_format, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUarray_format, __pyx_t_5) < 0) __PYX_ERR(1, 610, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":734
 *     CU_AD_FORMAT_SNORM_INT16X4 = ccuda.CUarray_format_enum.CU_AD_FORMAT_SNORM_INT16X4
 * 
 * class CUaddress_mode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Texture reference addressing modes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 734, __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)) __PYX_ERR(1, 734, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUaddress_mode, __pyx_n_s_CUaddress_mode, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Texture_reference_addressing_mo); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 734, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":740
 * 
 *     #: Wrapping address mode
 *     CU_TR_ADDRESS_MODE_WRAP = ccuda.CUaddress_mode_enum.CU_TR_ADDRESS_MODE_WRAP             # <<<<<<<<<<<<<<
 * 
 *     #: Clamp to edge address mode
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUaddress_mode_enum(CU_TR_ADDRESS_MODE_WRAP); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_TR_ADDRESS_MODE_WRAP, __pyx_t_3) < 0) __PYX_ERR(1, 740, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":743
 * 
 *     #: Clamp to edge address mode
 *     CU_TR_ADDRESS_MODE_CLAMP = ccuda.CUaddress_mode_enum.CU_TR_ADDRESS_MODE_CLAMP             # <<<<<<<<<<<<<<
 * 
 *     #: Mirror address mode
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUaddress_mode_enum(CU_TR_ADDRESS_MODE_CLAMP); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_TR_ADDRESS_MODE_CLAMP, __pyx_t_3) < 0) __PYX_ERR(1, 743, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":746
 * 
 *     #: Mirror address mode
 *     CU_TR_ADDRESS_MODE_MIRROR = ccuda.CUaddress_mode_enum.CU_TR_ADDRESS_MODE_MIRROR             # <<<<<<<<<<<<<<
 * 
 *     #: Border address mode
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUaddress_mode_enum(CU_TR_ADDRESS_MODE_MIRROR); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_TR_ADDRESS_MODE_MIRROR, __pyx_t_3) < 0) __PYX_ERR(1, 746, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":749
 * 
 *     #: Border address mode
 *     CU_TR_ADDRESS_MODE_BORDER = ccuda.CUaddress_mode_enum.CU_TR_ADDRESS_MODE_BORDER             # <<<<<<<<<<<<<<
 * 
 * class CUfilter_mode(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUaddress_mode_enum(CU_TR_ADDRESS_MODE_BORDER); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_TR_ADDRESS_MODE_BORDER, __pyx_t_3) < 0) __PYX_ERR(1, 749, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":734
 *     CU_AD_FORMAT_SNORM_INT16X4 = ccuda.CUarray_format_enum.CU_AD_FORMAT_SNORM_INT16X4
 * 
 * class CUaddress_mode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Texture reference addressing modes
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUaddress_mode, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUaddress_mode, __pyx_t_3) < 0) __PYX_ERR(1, 734, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":751
 *     CU_TR_ADDRESS_MODE_BORDER = ccuda.CUaddress_mode_enum.CU_TR_ADDRESS_MODE_BORDER
 * 
 * class CUfilter_mode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Texture reference filtering modes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 751, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUfilter_mode, __pyx_n_s_CUfilter_mode, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Texture_reference_filtering_mod); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 751, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":757
 * 
 *     #: Point filter mode
 *     CU_TR_FILTER_MODE_POINT = ccuda.CUfilter_mode_enum.CU_TR_FILTER_MODE_POINT             # <<<<<<<<<<<<<<
 * 
 *     #: Linear filter mode
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfilter_mode_enum(CU_TR_FILTER_MODE_POINT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TR_FILTER_MODE_POINT, __pyx_t_4) < 0) __PYX_ERR(1, 757, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":760
 * 
 *     #: Linear filter mode
 *     CU_TR_FILTER_MODE_LINEAR = ccuda.CUfilter_mode_enum.CU_TR_FILTER_MODE_LINEAR             # <<<<<<<<<<<<<<
 * 
 * class CUdevice_attribute(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfilter_mode_enum(CU_TR_FILTER_MODE_LINEAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 760, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TR_FILTER_MODE_LINEAR, __pyx_t_4) < 0) __PYX_ERR(1, 760, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":751
 *     CU_TR_ADDRESS_MODE_BORDER = ccuda.CUaddress_mode_enum.CU_TR_ADDRESS_MODE_BORDER
 * 
 * class CUfilter_mode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Texture reference filtering modes
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUfilter_mode, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 751, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUfilter_mode, __pyx_t_4) < 0) __PYX_ERR(1, 751, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":762
 *     CU_TR_FILTER_MODE_LINEAR = ccuda.CUfilter_mode_enum.CU_TR_FILTER_MODE_LINEAR
 * 
 * class CUdevice_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Device properties
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 762, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUdevice_attribute, __pyx_n_s_CUdevice_attribute, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Device_properties); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 762, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":768
 * 
 *     #: Maximum number of threads per block
 *     CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum block dimension X
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_THREADS, __pyx_t_5) < 0) __PYX_ERR(1, 768, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":771
 * 
 *     #: Maximum block dimension X
 *     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum block dimension Y
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI, __pyx_t_5) < 0) __PYX_ERR(1, 771, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":774
 * 
 *     #: Maximum block dimension Y
 *     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum block dimension Z
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_2, __pyx_t_5) < 0) __PYX_ERR(1, 774, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":777
 * 
 *     #: Maximum block dimension Z
 *     CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum grid dimension X
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 777, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DI_3, __pyx_t_5) < 0) __PYX_ERR(1, 777, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":780
 * 
 *     #: Maximum grid dimension X
 *     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum grid dimension Y
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM, __pyx_t_5) < 0) __PYX_ERR(1, 780, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":783
 * 
 *     #: Maximum grid dimension Y
 *     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum grid dimension Z
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_2, __pyx_t_5) < 0) __PYX_ERR(1, 783, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":786
 * 
 *     #: Maximum grid dimension Z
 *     CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum shared memory available per block in bytes
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_3, __pyx_t_5) < 0) __PYX_ERR(1, 786, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":789
 * 
 *     #: Maximum shared memory available per block in bytes
 *     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M, __pyx_t_5) < 0) __PYX_ERR(1, 789, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":792
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK
 *     CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: Memory available on device for constant variables in a CUDA C kernel
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_SHARED_MEMOR, __pyx_t_5) < 0) __PYX_ERR(1, 792, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":796
 *     #: Memory available on device for constant variables in a CUDA C kernel
 *     #: in bytes
 *     CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY             # <<<<<<<<<<<<<<
 * 
 *     #: Warp size in threads
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_TOTAL_CONSTA, __pyx_t_5) < 0) __PYX_ERR(1, 796, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":799
 * 
 *     #: Warp size in threads
 *     CU_DEVICE_ATTRIBUTE_WARP_SIZE = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_WARP_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum pitch in bytes allowed by memory copies
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_WARP_SIZE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 799, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_WARP_SIZE, __pyx_t_5) < 0) __PYX_ERR(1, 799, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":802
 * 
 *     #: Maximum pitch in bytes allowed by memory copies
 *     CU_DEVICE_ATTRIBUTE_MAX_PITCH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_PITCH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum number of 32-bit registers available per block
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_PITCH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_PITCH, __pyx_t_5) < 0) __PYX_ERR(1, 802, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":805
 * 
 *     #: Maximum number of 32-bit registers available per block
 *     CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_REGISTER, __pyx_t_5) < 0) __PYX_ERR(1, 805, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":808
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK
 *     CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: Typical clock frequency in kilohertz
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 808, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_REGISTERS_PE, __pyx_t_5) < 0) __PYX_ERR(1, 808, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":811
 * 
 *     #: Typical clock frequency in kilohertz
 *     CU_DEVICE_ATTRIBUTE_CLOCK_RATE = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CLOCK_RATE             # <<<<<<<<<<<<<<
 * 
 *     #: Alignment requirement for textures
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CLOCK_RATE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_CLOCK_RATE, __pyx_t_5) < 0) __PYX_ERR(1, 811, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":814
 * 
 *     #: Alignment requirement for textures
 *     CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT             # <<<<<<<<<<<<<<
 * 
 *     #: Device can possibly copy memory and execute a kernel concurrently.
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 814, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_TEXTURE_ALIG, __pyx_t_5) < 0) __PYX_ERR(1, 814, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":818
 *     #: Device can possibly copy memory and execute a kernel concurrently.
 *     #: Deprecated. Use instead CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT.
 *     CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GPU_OVERLAP             # <<<<<<<<<<<<<<
 * 
 *     #: Number of multiprocessors on device
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GPU_OVERLAP); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_OVERLAP, __pyx_t_5) < 0) __PYX_ERR(1, 818, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":821
 * 
 *     #: Number of multiprocessors on device
 *     CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT             # <<<<<<<<<<<<<<
 * 
 *     #: Specifies whether there is a run time limit on kernels
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTIPROCESS, __pyx_t_5) < 0) __PYX_ERR(1, 821, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":824
 * 
 *     #: Specifies whether there is a run time limit on kernels
 *     CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT             # <<<<<<<<<<<<<<
 * 
 *     #: Device is integrated with host memory
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_KERNEL_EXEC, __pyx_t_5) < 0) __PYX_ERR(1, 824, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":827
 * 
 *     #: Device is integrated with host memory
 *     CU_DEVICE_ATTRIBUTE_INTEGRATED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_INTEGRATED             # <<<<<<<<<<<<<<
 * 
 *     #: Device can map host memory into CUDA address space
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_INTEGRATED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_INTEGRATED, __pyx_t_5) < 0) __PYX_ERR(1, 827, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":830
 * 
 *     #: Device can map host memory into CUDA address space
 *     CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY             # <<<<<<<<<<<<<<
 * 
 *     #: Compute mode (See :py:obj:`~.CUcomputemode` for details)
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST, __pyx_t_5) < 0) __PYX_ERR(1, 830, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":833
 * 
 *     #: Compute mode (See :py:obj:`~.CUcomputemode` for details)
 *     CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_COMPUTE_MODE             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 1D texture width
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_COMPUTE_MODE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_MODE, __pyx_t_5) < 0) __PYX_ERR(1, 833, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":836
 * 
 *     #: Maximum 1D texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D texture width
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT, __pyx_t_5) < 0) __PYX_ERR(1, 836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":839
 * 
 *     #: Maximum 2D texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D texture height
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_2, __pyx_t_5) < 0) __PYX_ERR(1, 839, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":842
 * 
 *     #: Maximum 2D texture height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D texture width
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_3, __pyx_t_5) < 0) __PYX_ERR(1, 842, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":845
 * 
 *     #: Maximum 3D texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D texture height
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_4, __pyx_t_5) < 0) __PYX_ERR(1, 845, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":848
 * 
 *     #: Maximum 3D texture height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D texture depth
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_5, __pyx_t_5) < 0) __PYX_ERR(1, 848, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":851
 * 
 *     #: Maximum 3D texture depth
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D layered texture width
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_6, __pyx_t_5) < 0) __PYX_ERR(1, 851, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":854
 * 
 *     #: Maximum 2D layered texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 854, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_7, __pyx_t_5) < 0) __PYX_ERR(1, 854, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":857
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D layered texture height
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_8, __pyx_t_5) < 0) __PYX_ERR(1, 857, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":860
 * 
 *     #: Maximum 2D layered texture height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_9, __pyx_t_5) < 0) __PYX_ERR(1, 860, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":863
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a 2D layered texture
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_10, __pyx_t_5) < 0) __PYX_ERR(1, 863, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":866
 * 
 *     #: Maximum layers in a 2D layered texture
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_11, __pyx_t_5) < 0) __PYX_ERR(1, 866, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":869
 * 
 *     #: Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES             # <<<<<<<<<<<<<<
 * 
 *     #: Alignment requirement for surfaces
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_12, __pyx_t_5) < 0) __PYX_ERR(1, 869, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":872
 * 
 *     #: Alignment requirement for surfaces
 *     CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT             # <<<<<<<<<<<<<<
 * 
 *     #: Device can possibly execute multiple kernels concurrently
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_SURFACE_ALIG, __pyx_t_5) < 0) __PYX_ERR(1, 872, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":875
 * 
 *     #: Device can possibly execute multiple kernels concurrently
 *     CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS             # <<<<<<<<<<<<<<
 * 
 *     #: Device has ECC support enabled
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_CONCURRENT_K, __pyx_t_5) < 0) __PYX_ERR(1, 875, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":878
 * 
 *     #: Device has ECC support enabled
 *     CU_DEVICE_ATTRIBUTE_ECC_ENABLED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_ECC_ENABLED             # <<<<<<<<<<<<<<
 * 
 *     #: PCI bus ID of the device
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_ECC_ENABLED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 878, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_ECC_ENABLED, __pyx_t_5) < 0) __PYX_ERR(1, 878, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":881
 * 
 *     #: PCI bus ID of the device
 *     CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_PCI_BUS_ID             # <<<<<<<<<<<<<<
 * 
 *     #: PCI device ID of the device
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_PCI_BUS_ID); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_BUS_ID, __pyx_t_5) < 0) __PYX_ERR(1, 881, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":884
 * 
 *     #: PCI device ID of the device
 *     CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID             # <<<<<<<<<<<<<<
 * 
 *     #: Device is using TCC driver model
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_DEVICE_I, __pyx_t_5) < 0) __PYX_ERR(1, 884, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":887
 * 
 *     #: Device is using TCC driver model
 *     CU_DEVICE_ATTRIBUTE_TCC_DRIVER = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_TCC_DRIVER             # <<<<<<<<<<<<<<
 * 
 *     #: Peak memory clock frequency in kilohertz
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_TCC_DRIVER); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_TCC_DRIVER, __pyx_t_5) < 0) __PYX_ERR(1, 887, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":890
 * 
 *     #: Peak memory clock frequency in kilohertz
 *     CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE             # <<<<<<<<<<<<<<
 * 
 *     #: Global memory bus width in bits
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK, __pyx_t_5) < 0) __PYX_ERR(1, 890, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":893
 * 
 *     #: Global memory bus width in bits
 *     CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Size of L2 cache in bytes
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_GLOBAL_MEMOR, __pyx_t_5) < 0) __PYX_ERR(1, 893, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":896
 * 
 *     #: Size of L2 cache in bytes
 *     CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum resident threads per multiprocessor
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 896, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZ, __pyx_t_5) < 0) __PYX_ERR(1, 896, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":899
 * 
 *     #: Maximum resident threads per multiprocessor
 *     CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR             # <<<<<<<<<<<<<<
 * 
 *     #: Number of asynchronous engines
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_THREADS_2, __pyx_t_5) < 0) __PYX_ERR(1, 899, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":902
 * 
 *     #: Number of asynchronous engines
 *     CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT             # <<<<<<<<<<<<<<
 * 
 *     #: Device shares a unified address space with the host
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE, __pyx_t_5) < 0) __PYX_ERR(1, 902, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":905
 * 
 *     #: Device shares a unified address space with the host
 *     CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 1D layered texture width
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_UNIFIED_ADDR, __pyx_t_5) < 0) __PYX_ERR(1, 905, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":908
 * 
 *     #: Maximum 1D layered texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a 1D layered texture
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_13, __pyx_t_5) < 0) __PYX_ERR(1, 908, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":911
 * 
 *     #: Maximum layers in a 1D layered texture
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, do not use.
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_14, __pyx_t_5) < 0) __PYX_ERR(1, 911, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":914
 * 
 *     #: Deprecated, do not use.
 *     CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D texture width if CUDA_ARRAY3D_TEXTURE_GATHER is set
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GA, __pyx_t_5) < 0) __PYX_ERR(1, 914, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":917
 * 
 *     #: Maximum 2D texture width if CUDA_ARRAY3D_TEXTURE_GATHER is set
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D texture height if CUDA_ARRAY3D_TEXTURE_GATHER is set
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_15, __pyx_t_5) < 0) __PYX_ERR(1, 917, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":920
 * 
 *     #: Maximum 2D texture height if CUDA_ARRAY3D_TEXTURE_GATHER is set
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Alternate maximum 3D texture width
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_16, __pyx_t_5) < 0) __PYX_ERR(1, 920, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":923
 * 
 *     #: Alternate maximum 3D texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE             # <<<<<<<<<<<<<<
 * 
 *     #: Alternate maximum 3D texture height
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_17, __pyx_t_5) < 0) __PYX_ERR(1, 923, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":926
 * 
 *     #: Alternate maximum 3D texture height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE             # <<<<<<<<<<<<<<
 * 
 *     #: Alternate maximum 3D texture depth
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 926, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_18, __pyx_t_5) < 0) __PYX_ERR(1, 926, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":929
 * 
 *     #: Alternate maximum 3D texture depth
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE             # <<<<<<<<<<<<<<
 * 
 *     #: PCI domain ID of the device
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 929, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_19, __pyx_t_5) < 0) __PYX_ERR(1, 929, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":932
 * 
 *     #: PCI domain ID of the device
 *     CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID             # <<<<<<<<<<<<<<
 * 
 *     #: Pitch alignment requirement for textures
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_I, __pyx_t_5) < 0) __PYX_ERR(1, 932, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":935
 * 
 *     #: Pitch alignment requirement for textures
 *     CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum cubemap texture width/height
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_TEXTURE_PITC, __pyx_t_5) < 0) __PYX_ERR(1, 935, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":938
 * 
 *     #: Maximum cubemap texture width/height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum cubemap layered texture width/height
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 938, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_20, __pyx_t_5) < 0) __PYX_ERR(1, 938, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":941
 * 
 *     #: Maximum cubemap layered texture width/height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a cubemap layered texture
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_21, __pyx_t_5) < 0) __PYX_ERR(1, 941, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":944
 * 
 *     #: Maximum layers in a cubemap layered texture
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 1D surface width
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_22, __pyx_t_5) < 0) __PYX_ERR(1, 944, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":947
 * 
 *     #: Maximum 1D surface width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D surface width
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF, __pyx_t_5) < 0) __PYX_ERR(1, 947, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":950
 * 
 *     #: Maximum 2D surface width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D surface height
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_2, __pyx_t_5) < 0) __PYX_ERR(1, 950, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":953
 * 
 *     #: Maximum 2D surface height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D surface width
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_3, __pyx_t_5) < 0) __PYX_ERR(1, 953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":956
 * 
 *     #: Maximum 3D surface width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D surface height
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_4, __pyx_t_5) < 0) __PYX_ERR(1, 956, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":959
 * 
 *     #: Maximum 3D surface height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 3D surface depth
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 959, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_5, __pyx_t_5) < 0) __PYX_ERR(1, 959, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":962
 * 
 *     #: Maximum 3D surface depth
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 1D layered surface width
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_6, __pyx_t_5) < 0) __PYX_ERR(1, 962, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":965
 * 
 *     #: Maximum 1D layered surface width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a 1D layered surface
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_7, __pyx_t_5) < 0) __PYX_ERR(1, 965, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":968
 * 
 *     #: Maximum layers in a 1D layered surface
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D layered surface width
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 968, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_8, __pyx_t_5) < 0) __PYX_ERR(1, 968, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":971
 * 
 *     #: Maximum 2D layered surface width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D layered surface height
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_9, __pyx_t_5) < 0) __PYX_ERR(1, 971, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":974
 * 
 *     #: Maximum 2D layered surface height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a 2D layered surface
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_10, __pyx_t_5) < 0) __PYX_ERR(1, 974, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":977
 * 
 *     #: Maximum layers in a 2D layered surface
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum cubemap surface width
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_11, __pyx_t_5) < 0) __PYX_ERR(1, 977, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":980
 * 
 *     #: Maximum cubemap surface width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum cubemap layered surface width
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_12, __pyx_t_5) < 0) __PYX_ERR(1, 980, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":983
 * 
 *     #: Maximum cubemap layered surface width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum layers in a cubemap layered surface
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_13, __pyx_t_5) < 0) __PYX_ERR(1, 983, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":986
 * 
 *     #: Maximum layers in a cubemap layered surface
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, do not use. Use cudaDeviceGetTexture1DLinearMaxWidth()
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 986, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_SURF_14, __pyx_t_5) < 0) __PYX_ERR(1, 986, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":990
 *     #: Deprecated, do not use. Use cudaDeviceGetTexture1DLinearMaxWidth()
 *     #: or :py:obj:`~.cuDeviceGetTexture1DLinearMaxWidth()` instead.
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D linear texture width
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 990, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_23, __pyx_t_5) < 0) __PYX_ERR(1, 990, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":993
 * 
 *     #: Maximum 2D linear texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D linear texture height
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_24, __pyx_t_5) < 0) __PYX_ERR(1, 993, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":996
 * 
 *     #: Maximum 2D linear texture height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum 2D linear texture pitch in bytes
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_25, __pyx_t_5) < 0) __PYX_ERR(1, 996, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":999
 * 
 *     #: Maximum 2D linear texture pitch in bytes
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum mipmapped 2D texture width
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_26, __pyx_t_5) < 0) __PYX_ERR(1, 999, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1002
 * 
 *     #: Maximum mipmapped 2D texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum mipmapped 2D texture height
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_27, __pyx_t_5) < 0) __PYX_ERR(1, 1002, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1005
 * 
 *     #: Maximum mipmapped 2D texture height
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: Major compute capability version number
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_28, __pyx_t_5) < 0) __PYX_ERR(1, 1005, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1008
 * 
 *     #: Major compute capability version number
 *     CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR             # <<<<<<<<<<<<<<
 * 
 *     #: Minor compute capability version number
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA, __pyx_t_5) < 0) __PYX_ERR(1, 1008, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1011
 * 
 *     #: Minor compute capability version number
 *     CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum mipmapped 1D texture width
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_CAPA_2, __pyx_t_5) < 0) __PYX_ERR(1, 1011, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1014
 * 
 *     #: Maximum mipmapped 1D texture width
 *     CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports stream priorities
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXT_29, __pyx_t_5) < 0) __PYX_ERR(1, 1014, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1017
 * 
 *     #: Device supports stream priorities
 *     CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports caching globals in L1
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_STREAM_PRIOR, __pyx_t_5) < 0) __PYX_ERR(1, 1017, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1020
 * 
 *     #: Device supports caching globals in L1
 *     CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports caching locals in L1
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CA, __pyx_t_5) < 0) __PYX_ERR(1, 1020, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1023
 * 
 *     #: Device supports caching locals in L1
 *     CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum shared memory available per multiprocessor in bytes
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_LOCAL_L1_CAC, __pyx_t_5) < 0) __PYX_ERR(1, 1023, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1026
 * 
 *     #: Maximum shared memory available per multiprocessor in bytes
 *     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum number of 32-bit registers available per multiprocessor
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_2, __pyx_t_5) < 0) __PYX_ERR(1, 1026, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1029
 * 
 *     #: Maximum number of 32-bit registers available per multiprocessor
 *     CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR             # <<<<<<<<<<<<<<
 * 
 *     #: Device can allocate managed memory on this system
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_REGISTER_2, __pyx_t_5) < 0) __PYX_ERR(1, 1029, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1032
 * 
 *     #: Device can allocate managed memory on this system
 *     CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY             # <<<<<<<<<<<<<<
 * 
 *     #: Device is on a multi-GPU board
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MANAGED_MEMO, __pyx_t_5) < 0) __PYX_ERR(1, 1032, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1035
 * 
 *     #: Device is on a multi-GPU board
 *     CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD             # <<<<<<<<<<<<<<
 * 
 *     #: Unique id for a group of devices on the same multi-GPU board
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO, __pyx_t_5) < 0) __PYX_ERR(1, 1035, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1038
 * 
 *     #: Unique id for a group of devices on the same multi-GPU board
 *     CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID             # <<<<<<<<<<<<<<
 * 
 *     #: Link between the device and the host supports native atomic
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTI_GPU_BO_2, __pyx_t_5) < 0) __PYX_ERR(1, 1038, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1043
 *     #: operations (this is a placeholder attribute, and is not supported on
 *     #: any current hardware)
 *     CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Ratio of single precision performance (in floating-point operations
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_NATIVE, __pyx_t_5) < 0) __PYX_ERR(1, 1043, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1047
 *     #: Ratio of single precision performance (in floating-point operations
 *     #: per second) to double precision performance
 *     CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports coherently accessing pageable memory without calling
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_SINGLE_TO_DO, __pyx_t_5) < 0) __PYX_ERR(1, 1047, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1051
 *     #: Device supports coherently accessing pageable memory without calling
 *     #: cudaHostRegister on it
 *     CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS             # <<<<<<<<<<<<<<
 * 
 *     #: Device can coherently access managed memory concurrently with the
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM, __pyx_t_5) < 0) __PYX_ERR(1, 1051, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1055
 *     #: Device can coherently access managed memory concurrently with the
 *     #: CPU
 *     CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports compute preemption.
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_CONCURRENT_M, __pyx_t_5) < 0) __PYX_ERR(1, 1055, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1058
 * 
 *     #: Device supports compute preemption.
 *     CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device can access host registered memory at the same virtual address
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1058, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_COMPUTE_PREE, __pyx_t_5) < 0) __PYX_ERR(1, 1058, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1062
 *     #: Device can access host registered memory at the same virtual address
 *     #: as the CPU
 *     CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, along with v1 MemOps API, :py:obj:`~.cuStreamBatchMemOp`
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_HOST, __pyx_t_5) < 0) __PYX_ERR(1, 1062, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1066
 *     #: Deprecated, along with v1 MemOps API, :py:obj:`~.cuStreamBatchMemOp`
 *     #: and related APIs are supported.
 *     CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1 = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, along with v1 MemOps API, 64-bit operations are
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE, __pyx_t_5) < 0) __PYX_ERR(1, 1066, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1070
 *     #: Deprecated, along with v1 MemOps API, 64-bit operations are
 *     #: supported in :py:obj:`~.cuStreamBatchMemOp` and related APIs.
 *     CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1 = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, along with v1 MemOps API,
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B, __pyx_t_5) < 0) __PYX_ERR(1, 1070, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1074
 *     #: Deprecated, along with v1 MemOps API,
 *     #: :py:obj:`~.CU_STREAM_WAIT_VALUE_NOR` is supported.
 *     CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1 = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports launching cooperative kernels via
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_2, __pyx_t_5) < 0) __PYX_ERR(1, 1074, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1078
 *     #: Device supports launching cooperative kernels via
 *     #: :py:obj:`~.cuLaunchCooperativeKernel`
 *     CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, :py:obj:`~.cuLaunchCooperativeKernelMultiDevice` is
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_COOPERATIVE, __pyx_t_5) < 0) __PYX_ERR(1, 1078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1082
 *     #: Deprecated, :py:obj:`~.cuLaunchCooperativeKernelMultiDevice` is
 *     #: deprecated.
 *     CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum optin shared memory per block
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_COOPERATIVE_2, __pyx_t_5) < 0) __PYX_ERR(1, 1082, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1085
 * 
 *     #: Maximum optin shared memory per block
 *     CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN             # <<<<<<<<<<<<<<
 * 
 *     #: The :py:obj:`~.CU_STREAM_WAIT_VALUE_FLUSH` flag and the
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1085, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_SHARED_M_3, __pyx_t_5) < 0) __PYX_ERR(1, 1085, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1091
 *     #: on the device. See :py:obj:`~.Stream Memory Operations` for
 *     #: additional details.
 *     CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports host memory registration via
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_FLUSH_RE, __pyx_t_5) < 0) __PYX_ERR(1, 1091, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1095
 *     #: Device supports host memory registration via
 *     #: :py:obj:`~.cudaHostRegister`.
 *     CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device accesses pageable memory via the host's page tables.
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_REGISTE, __pyx_t_5) < 0) __PYX_ERR(1, 1095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1098
 * 
 *     #: Device accesses pageable memory via the host's page tables.
 *     CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES             # <<<<<<<<<<<<<<
 * 
 *     #: The host can directly access managed memory on the device without
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_PAGEABLE_MEM_2, __pyx_t_5) < 0) __PYX_ERR(1, 1098, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1102
 *     #: The host can directly access managed memory on the device without
 *     #: migration.
 *     CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST             # <<<<<<<<<<<<<<
 * 
 *     #: Deprecated, Use
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_DIRECT_MANAG, __pyx_t_5) < 0) __PYX_ERR(1, 1102, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1106
 *     #: Deprecated, Use
 *     #: CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED
 *     CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports virtual memory management APIs like
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDR, __pyx_t_5) < 0) __PYX_ERR(1, 1106, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1111
 *     #: :py:obj:`~.cuMemAddressReserve`, :py:obj:`~.cuMemCreate`,
 *     #: :py:obj:`~.cuMemMap` and related APIs
 *     CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports exporting memory to a posix file descriptor with
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMO, __pyx_t_5) < 0) __PYX_ERR(1, 1111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1116
 *     #: :py:obj:`~.cuMemExportToShareableHandle`, if requested via
 *     #: :py:obj:`~.cuMemCreate`
 *     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports exporting memory to a Win32 NT handle with
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE, __pyx_t_5) < 0) __PYX_ERR(1, 1116, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1121
 *     #: :py:obj:`~.cuMemExportToShareableHandle`, if requested via
 *     #: :py:obj:`~.cuMemCreate`
 *     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports exporting memory to a Win32 KMT handle with
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_2, __pyx_t_5) < 0) __PYX_ERR(1, 1121, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1126
 *     #: :py:obj:`~.cuMemExportToShareableHandle`, if requested via
 *     #: :py:obj:`~.cuMemCreate`
 *     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum number of blocks per multiprocessor
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_3, __pyx_t_5) < 0) __PYX_ERR(1, 1126, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1129
 * 
 *     #: Maximum number of blocks per multiprocessor
 *     CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports compression of memory
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_P, __pyx_t_5) < 0) __PYX_ERR(1, 1129, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1132
 * 
 *     #: Device supports compression of memory
 *     CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum L2 persisting lines capacity setting in bytes.
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_GENERIC_COMP, __pyx_t_5) < 0) __PYX_ERR(1, 1132, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1135
 * 
 *     #: Maximum L2 persisting lines capacity setting in bytes.
 *     CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum value of :py:obj:`~.CUaccessPolicyWindow.num_bytes`.
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_PERSISTI, __pyx_t_5) < 0) __PYX_ERR(1, 1135, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1138
 * 
 *     #: Maximum value of :py:obj:`~.CUaccessPolicyWindow.num_bytes`.
 *     CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports specifying the GPUDirect RDMA flag with
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX_ACCESS_P, __pyx_t_5) < 0) __PYX_ERR(1, 1138, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1142
 *     #: Device supports specifying the GPUDirect RDMA flag with
 *     #: :py:obj:`~.cuMemCreate`
 *     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Shared memory reserved by CUDA driver per block in bytes
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R, __pyx_t_5) < 0) __PYX_ERR(1, 1142, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1145
 * 
 *     #: Shared memory reserved by CUDA driver per block in bytes
 *     CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports sparse CUDA arrays and sparse CUDA mipmapped arrays
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_RESERVED_SHA, __pyx_t_5) < 0) __PYX_ERR(1, 1145, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1148
 * 
 *     #: Device supports sparse CUDA arrays and sparse CUDA mipmapped arrays
 *     CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports using the :py:obj:`~.cuMemHostRegister` flag
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_SPARSE_CUDA, __pyx_t_5) < 0) __PYX_ERR(1, 1148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1153
 *     #: :py:obj:`~.CU_MEMHOSTERGISTER_READ_ONLY` to register memory that
 *     #: must be mapped as read-only to the GPU
 *     CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: External timeline semaphore interop is supported on the device
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_READ_ONLY_HO, __pyx_t_5) < 0) __PYX_ERR(1, 1153, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1156
 * 
 *     #: External timeline semaphore interop is supported on the device
 *     CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports using the :py:obj:`~.cuMemAllocAsync` and
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_TIMELINE_SEM, __pyx_t_5) < 0) __PYX_ERR(1, 1156, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1160
 *     #: Device supports using the :py:obj:`~.cuMemAllocAsync` and
 *     #: :py:obj:`~.cuMemPool` family of APIs
 *     CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports GPUDirect RDMA APIs, like nvidia_p2p_get_pages (see
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMORY_POOLS, __pyx_t_5) < 0) __PYX_ERR(1, 1160, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1164
 *     #: Device supports GPUDirect RDMA APIs, like nvidia_p2p_get_pages (see
 *     #: https://docs.nvidia.com/cuda/gpudirect-rdma for more information)
 *     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: The returned attribute shall be interpreted as a bitmask, where the
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_2, __pyx_t_5) < 0) __PYX_ERR(1, 1164, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1169
 *     #: individual bits are described by the
 *     #: :py:obj:`~.CUflushGPUDirectRDMAWritesOptions` enum
 *     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS             # <<<<<<<<<<<<<<
 * 
 *     #: GPUDirect RDMA writes to the device do not need to be flushed for
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_3, __pyx_t_5) < 0) __PYX_ERR(1, 1169, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1175
 *     #: :py:obj:`~.CUGPUDirectRDMAWritesOrdering` for the numerical values
 *     #: returned here.
 *     CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING             # <<<<<<<<<<<<<<
 * 
 *     #: Handle types supported with mempool based IPC
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_GPU_DIRECT_R_4, __pyx_t_5) < 0) __PYX_ERR(1, 1175, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1178
 * 
 *     #: Handle types supported with mempool based IPC
 *     CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES             # <<<<<<<<<<<<<<
 * 
 *     #: Indicates device supports cluster launch
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPP, __pyx_t_5) < 0) __PYX_ERR(1, 1178, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1181
 * 
 *     #: Indicates device supports cluster launch
 *     CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports deferred mapping CUDA arrays and CUDA mipmapped
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_CLUSTER_LAUN, __pyx_t_5) < 0) __PYX_ERR(1, 1181, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1185
 *     #: Device supports deferred mapping CUDA arrays and CUDA mipmapped
 *     #: arrays
 *     CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: 64-bit operations are supported in :py:obj:`~.cuStreamBatchMemOp`
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_DEFERRED_MAP, __pyx_t_5) < 0) __PYX_ERR(1, 1185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1189
 *     #: 64-bit operations are supported in :py:obj:`~.cuStreamBatchMemOp`
 *     #: and related MemOp APIs.
 *     CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS             # <<<<<<<<<<<<<<
 * 
 *     #: :py:obj:`~.CU_STREAM_WAIT_VALUE_NOR` is supported by MemOp APIs.
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_64_B_2, __pyx_t_5) < 0) __PYX_ERR(1, 1189, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1192
 * 
 *     #: :py:obj:`~.CU_STREAM_WAIT_VALUE_NOR` is supported by MemOp APIs.
 *     CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports buffer sharing with dma_buf mechanism.
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_CAN_USE_STRE_3, __pyx_t_5) < 0) __PYX_ERR(1, 1192, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1195
 * 
 *     #: Device supports buffer sharing with dma_buf mechanism.
 *     CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports IPC Events.
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPP, __pyx_t_5) < 0) __PYX_ERR(1, 1195, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1198
 * 
 *     #: Device supports IPC Events.
 *     CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Number of memory domains the device supports.
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_IPC_EVENT_SU, __pyx_t_5) < 0) __PYX_ERR(1, 1198, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1201
 * 
 *     #: Number of memory domains the device supports.
 *     CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports accessing memory using Tensor Map.
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOM, __pyx_t_5) < 0) __PYX_ERR(1, 1201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1204
 * 
 *     #: Device supports accessing memory using Tensor Map.
 *     CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports exporting memory to a fabric handle with
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_TENSOR_MAP_A, __pyx_t_5) < 0) __PYX_ERR(1, 1204, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1209
 *     #: :py:obj:`~.cuMemExportToShareableHandle()` or requested with
 *     #: :py:obj:`~.cuMemCreate()`
 *     CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports unified function pointers.
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_4, __pyx_t_5) < 0) __PYX_ERR(1, 1209, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1212
 * 
 *     #: Device supports unified function pointers.
 *     CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS             # <<<<<<<<<<<<<<
 *     CU_DEVICE_ATTRIBUTE_NUMA_CONFIG = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_NUMA_CONFIG
 *     CU_DEVICE_ATTRIBUTE_NUMA_ID = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_NUMA_ID
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_UNIFIED_FUNC, __pyx_t_5) < 0) __PYX_ERR(1, 1212, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1213
 *     #: Device supports unified function pointers.
 *     CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS
 *     CU_DEVICE_ATTRIBUTE_NUMA_CONFIG = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_NUMA_CONFIG             # <<<<<<<<<<<<<<
 *     CU_DEVICE_ATTRIBUTE_NUMA_ID = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_NUMA_ID
 * 
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_NUMA_CONFIG); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_NUMA_CONFIG, __pyx_t_5) < 0) __PYX_ERR(1, 1213, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1214
 *     CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS
 *     CU_DEVICE_ATTRIBUTE_NUMA_CONFIG = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_NUMA_CONFIG
 *     CU_DEVICE_ATTRIBUTE_NUMA_ID = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_NUMA_ID             # <<<<<<<<<<<<<<
 * 
 *     #: Device supports switch multicast and reduction operations.
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_NUMA_ID); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_NUMA_ID, __pyx_t_5) < 0) __PYX_ERR(1, 1214, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1217
 * 
 *     #: Device supports switch multicast and reduction operations.
 *     CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Indicates if contexts created on this device will be shared via MPS
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MULTICAST_SU, __pyx_t_5) < 0) __PYX_ERR(1, 1217, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1220
 * 
 *     #: Indicates if contexts created on this device will be shared via MPS
 *     CU_DEVICE_ATTRIBUTE_MPS_ENABLED = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MPS_ENABLED             # <<<<<<<<<<<<<<
 * 
 *     #: NUMA ID of the host node closest to the device. Returns -1 when
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MPS_ENABLED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MPS_ENABLED, __pyx_t_5) < 0) __PYX_ERR(1, 1220, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1224
 *     #: NUMA ID of the host node closest to the device. Returns -1 when
 *     #: system does not support NUMA.
 *     CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID             # <<<<<<<<<<<<<<
 *     CU_DEVICE_ATTRIBUTE_MAX = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX
 * 
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID, __pyx_t_5) < 0) __PYX_ERR(1, 1224, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1225
 *     #: system does not support NUMA.
 *     CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID
 *     CU_DEVICE_ATTRIBUTE_MAX = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX             # <<<<<<<<<<<<<<
 * 
 * class CUpointer_attribute(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_attribute_enum(CU_DEVICE_ATTRIBUTE_MAX); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_ATTRIBUTE_MAX, __pyx_t_5) < 0) __PYX_ERR(1, 1225, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":762
 *     CU_TR_FILTER_MODE_LINEAR = ccuda.CUfilter_mode_enum.CU_TR_FILTER_MODE_LINEAR
 * 
 * class CUdevice_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Device properties
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUdevice_attribute, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUdevice_attribute, __pyx_t_5) < 0) __PYX_ERR(1, 762, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1227
 *     CU_DEVICE_ATTRIBUTE_MAX = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX
 * 
 * class CUpointer_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Pointer information
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1227, __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)) __PYX_ERR(1, 1227, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUpointer_attribute, __pyx_n_s_CUpointer_attribute, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Pointer_information); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 1227, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1234
 *     #: The :py:obj:`~.CUcontext` on which a pointer was allocated or
 *     #: registered
 *     CU_POINTER_ATTRIBUTE_CONTEXT = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_CONTEXT             # <<<<<<<<<<<<<<
 * 
 *     #: The :py:obj:`~.CUmemorytype` describing the physical location of a
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_CONTEXT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_CONTEXT, __pyx_t_3) < 0) __PYX_ERR(1, 1234, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1238
 *     #: The :py:obj:`~.CUmemorytype` describing the physical location of a
 *     #: pointer
 *     CU_POINTER_ATTRIBUTE_MEMORY_TYPE = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_TYPE             # <<<<<<<<<<<<<<
 * 
 *     #: The address at which a pointer's memory may be accessed on the
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_MEMORY_TYPE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_MEMORY_TYPE, __pyx_t_3) < 0) __PYX_ERR(1, 1238, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1242
 *     #: The address at which a pointer's memory may be accessed on the
 *     #: device
 *     CU_POINTER_ATTRIBUTE_DEVICE_POINTER = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_POINTER             # <<<<<<<<<<<<<<
 * 
 *     #: The address at which a pointer's memory may be accessed on the host
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_DEVICE_POINTER); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_DEVICE_POIN, __pyx_t_3) < 0) __PYX_ERR(1, 1242, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1245
 * 
 *     #: The address at which a pointer's memory may be accessed on the host
 *     CU_POINTER_ATTRIBUTE_HOST_POINTER = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_HOST_POINTER             # <<<<<<<<<<<<<<
 * 
 *     #: A pair of tokens for use with the nv-p2p.h Linux kernel interface
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_HOST_POINTER); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_HOST_POINTE, __pyx_t_3) < 0) __PYX_ERR(1, 1245, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1248
 * 
 *     #: A pair of tokens for use with the nv-p2p.h Linux kernel interface
 *     CU_POINTER_ATTRIBUTE_P2P_TOKENS = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_P2P_TOKENS             # <<<<<<<<<<<<<<
 * 
 *     #: Synchronize every synchronous memory operation initiated on this
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_P2P_TOKENS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_P2P_TOKENS, __pyx_t_3) < 0) __PYX_ERR(1, 1248, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1252
 *     #: Synchronize every synchronous memory operation initiated on this
 *     #: region
 *     CU_POINTER_ATTRIBUTE_SYNC_MEMOPS = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS             # <<<<<<<<<<<<<<
 * 
 *     #: A process-wide unique ID for an allocated memory region
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_SYNC_MEMOPS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS, __pyx_t_3) < 0) __PYX_ERR(1, 1252, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1255
 * 
 *     #: A process-wide unique ID for an allocated memory region
 *     CU_POINTER_ATTRIBUTE_BUFFER_ID = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_BUFFER_ID             # <<<<<<<<<<<<<<
 * 
 *     #: Indicates if the pointer points to managed memory
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_BUFFER_ID); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_BUFFER_ID, __pyx_t_3) < 0) __PYX_ERR(1, 1255, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1258
 * 
 *     #: Indicates if the pointer points to managed memory
 *     CU_POINTER_ATTRIBUTE_IS_MANAGED = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_MANAGED             # <<<<<<<<<<<<<<
 * 
 *     #: A device ordinal of a device on which a pointer was allocated or
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_IS_MANAGED); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_IS_MANAGED, __pyx_t_3) < 0) __PYX_ERR(1, 1258, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1262
 *     #: A device ordinal of a device on which a pointer was allocated or
 *     #: registered
 *     CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL             # <<<<<<<<<<<<<<
 * 
 *     #: 1 if this pointer maps to an allocation that is suitable for
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_DEVICE_ORDI, __pyx_t_3) < 0) __PYX_ERR(1, 1262, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1266
 *     #: 1 if this pointer maps to an allocation that is suitable for
 *     #: :py:obj:`~.cudaIpcGetMemHandle`, 0 otherwise
 *     CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE             # <<<<<<<<<<<<<<
 * 
 *     #: Starting address for this requested pointer
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_IS_LEGACY_C, __pyx_t_3) < 0) __PYX_ERR(1, 1266, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1269
 * 
 *     #: Starting address for this requested pointer
 *     CU_POINTER_ATTRIBUTE_RANGE_START_ADDR = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_START_ADDR             # <<<<<<<<<<<<<<
 * 
 *     #: Size of the address range for this requested pointer
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_RANGE_START_ADDR); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_RANGE_START, __pyx_t_3) < 0) __PYX_ERR(1, 1269, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1272
 * 
 *     #: Size of the address range for this requested pointer
 *     CU_POINTER_ATTRIBUTE_RANGE_SIZE = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_RANGE_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: 1 if this pointer is in a valid address range that is mapped to a
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_RANGE_SIZE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_RANGE_SIZE, __pyx_t_3) < 0) __PYX_ERR(1, 1272, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1276
 *     #: 1 if this pointer is in a valid address range that is mapped to a
 *     #: backing allocation, 0 otherwise
 *     CU_POINTER_ATTRIBUTE_MAPPED = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MAPPED             # <<<<<<<<<<<<<<
 * 
 *     #: Bitmask of allowed :py:obj:`~.CUmemAllocationHandleType` for this
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_MAPPED); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPED, __pyx_t_3) < 0) __PYX_ERR(1, 1276, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1280
 *     #: Bitmask of allowed :py:obj:`~.CUmemAllocationHandleType` for this
 *     #: allocation
 *     CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES             # <<<<<<<<<<<<<<
 * 
 *     #: 1 if the memory this pointer is referencing can be used with the
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_ALLOWED_HAN, __pyx_t_3) < 0) __PYX_ERR(1, 1280, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1284
 *     #: 1 if the memory this pointer is referencing can be used with the
 *     #: GPUDirect RDMA API
 *     CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE             # <<<<<<<<<<<<<<
 * 
 *     #: Returns the access flags the device associated with the current
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_IS_GPU_DIRE, __pyx_t_3) < 0) __PYX_ERR(1, 1284, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1289
 *     #: context has on the corresponding memory referenced by the pointer
 *     #: given
 *     CU_POINTER_ATTRIBUTE_ACCESS_FLAGS = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAGS             # <<<<<<<<<<<<<<
 * 
 *     #: Returns the mempool handle for the allocation if it was allocated
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_ACCESS_FLAGS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG, __pyx_t_3) < 0) __PYX_ERR(1, 1289, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1293
 *     #: Returns the mempool handle for the allocation if it was allocated
 *     #: from a mempool. Otherwise returns NULL.
 *     CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE             # <<<<<<<<<<<<<<
 * 
 *     #: Size of the actual underlying mapping that the pointer belongs to
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1293, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_MEMPOOL_HAN, __pyx_t_3) < 0) __PYX_ERR(1, 1293, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1296
 * 
 *     #: Size of the actual underlying mapping that the pointer belongs to
 *     CU_POINTER_ATTRIBUTE_MAPPING_SIZE = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MAPPING_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: The start address of the mapping that the pointer belongs to
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_MAPPING_SIZE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPING_SIZ, __pyx_t_3) < 0) __PYX_ERR(1, 1296, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1299
 * 
 *     #: The start address of the mapping that the pointer belongs to
 *     CU_POINTER_ATTRIBUTE_MAPPING_BASE_ADDR = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MAPPING_BASE_ADDR             # <<<<<<<<<<<<<<
 * 
 *     #: A process-wide unique id corresponding to the physical allocation
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_MAPPING_BASE_ADDR); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_MAPPING_BAS, __pyx_t_3) < 0) __PYX_ERR(1, 1299, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1303
 *     #: A process-wide unique id corresponding to the physical allocation
 *     #: the pointer belongs to
 *     CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID             # <<<<<<<<<<<<<<
 * 
 * class CUfunction_attribute(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUpointer_attribute_enum(CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_MEMORY_BLOC, __pyx_t_3) < 0) __PYX_ERR(1, 1303, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1227
 *     CU_DEVICE_ATTRIBUTE_MAX = ccuda.CUdevice_attribute_enum.CU_DEVICE_ATTRIBUTE_MAX
 * 
 * class CUpointer_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Pointer information
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUpointer_attribute, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUpointer_attribute, __pyx_t_3) < 0) __PYX_ERR(1, 1227, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1305
 *     CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID
 * 
 * class CUfunction_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Function properties
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 1305, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUfunction_attribute, __pyx_n_s_CUfunction_attribute, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Function_properties); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 1305, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1313
 *     #: the function would fail. This number depends on both the function
 *     #: and the device on which the function is currently loaded.
 *     CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: The size in bytes of statically-allocated shared memory required by
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FUNC_ATTRIBUTE_MAX_THREADS_PE, __pyx_t_4) < 0) __PYX_ERR(1, 1313, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1318
 *     #: this function. This does not include dynamically-allocated shared
 *     #: memory requested by the user at runtime.
 *     CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES             # <<<<<<<<<<<<<<
 * 
 *     #: The size in bytes of user-allocated constant memory required by this
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FUNC_ATTRIBUTE_SHARED_SIZE_BY, __pyx_t_4) < 0) __PYX_ERR(1, 1318, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1322
 *     #: The size in bytes of user-allocated constant memory required by this
 *     #: function.
 *     CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES             # <<<<<<<<<<<<<<
 * 
 *     #: The size in bytes of local memory used by each thread of this
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FUNC_ATTRIBUTE_CONST_SIZE_BYT, __pyx_t_4) < 0) __PYX_ERR(1, 1322, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1326
 *     #: The size in bytes of local memory used by each thread of this
 *     #: function.
 *     CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES             # <<<<<<<<<<<<<<
 * 
 *     #: The number of registers used by each thread of this function.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYT, __pyx_t_4) < 0) __PYX_ERR(1, 1326, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1329
 * 
 *     #: The number of registers used by each thread of this function.
 *     CU_FUNC_ATTRIBUTE_NUM_REGS = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_NUM_REGS             # <<<<<<<<<<<<<<
 * 
 *     #: The PTX virtual architecture version for which the function was
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_NUM_REGS); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FUNC_ATTRIBUTE_NUM_REGS, __pyx_t_4) < 0) __PYX_ERR(1, 1329, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1336
 *     #: Note that this may return the undefined value of 0 for cubins
 *     #: compiled prior to CUDA 3.0.
 *     CU_FUNC_ATTRIBUTE_PTX_VERSION = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_PTX_VERSION             # <<<<<<<<<<<<<<
 * 
 *     #: The binary architecture version for which the function was compiled.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_PTX_VERSION); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FUNC_ATTRIBUTE_PTX_VERSION, __pyx_t_4) < 0) __PYX_ERR(1, 1336, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1343
 *     #: Note that this will return a value of 10 for legacy cubins that do
 *     #: not have a properly-encoded binary architecture version.
 *     CU_FUNC_ATTRIBUTE_BINARY_VERSION = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_BINARY_VERSION             # <<<<<<<<<<<<<<
 * 
 *     #: The attribute to indicate whether the function has been compiled
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_BINARY_VERSION); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FUNC_ATTRIBUTE_BINARY_VERSION, __pyx_t_4) < 0) __PYX_ERR(1, 1343, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1347
 *     #: The attribute to indicate whether the function has been compiled
 *     #: with user specified option "-Xptxas --dlcm=ca" set .
 *     CU_FUNC_ATTRIBUTE_CACHE_MODE_CA = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_CACHE_MODE_CA             # <<<<<<<<<<<<<<
 * 
 *     #: The maximum size in bytes of dynamically-allocated shared memory
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_CACHE_MODE_CA); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FUNC_ATTRIBUTE_CACHE_MODE_CA, __pyx_t_4) < 0) __PYX_ERR(1, 1347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1353
 *     #: shared memory size is larger than this value, the launch will fail.
 *     #: See :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES             # <<<<<<<<<<<<<<
 * 
 *     #: On devices where the L1 cache and shared memory use the same
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SH, __pyx_t_4) < 0) __PYX_ERR(1, 1353, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1362
 *     #: required to execute the function. See
 *     #: :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT             # <<<<<<<<<<<<<<
 * 
 *     #: If this attribute is set, the kernel must launch with a valid
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FUNC_ATTRIBUTE_PREFERRED_SHAR, __pyx_t_4) < 0) __PYX_ERR(1, 1362, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1367
 *     #: cluster size specified. See :py:obj:`~.cuFuncSetAttribute`,
 *     #: :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_MUST_BE_SET = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_MUST_BE_SET             # <<<<<<<<<<<<<<
 * 
 *     #: The required cluster width in blocks. The values must either all be
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_MUST_BE_SET); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_M, __pyx_t_4) < 0) __PYX_ERR(1, 1367, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1376
 *     #: runtime. Setting it at runtime will return CUDA_ERROR_NOT_PERMITTED.
 *     #: See :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH             # <<<<<<<<<<<<<<
 * 
 *     #: The required cluster height in blocks. The values must either all be
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST, __pyx_t_4) < 0) __PYX_ERR(1, 1376, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1386
 *     #: CUDA_ERROR_NOT_PERMITTED. See :py:obj:`~.cuFuncSetAttribute`,
 *     #: :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT             # <<<<<<<<<<<<<<
 * 
 *     #: The required cluster depth in blocks. The values must either all be
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_2, __pyx_t_4) < 0) __PYX_ERR(1, 1386, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1396
 *     #: CUDA_ERROR_NOT_PERMITTED. See :py:obj:`~.cuFuncSetAttribute`,
 *     #: :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH             # <<<<<<<<<<<<<<
 * 
 *     #: Whether the function can be launched with non-portable cluster size.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FUNC_ATTRIBUTE_REQUIRED_CLUST_3, __pyx_t_4) < 0) __PYX_ERR(1, 1396, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1417
 *     #: not guaranteed to be portable. See :py:obj:`~.cuFuncSetAttribute`,
 *     #: :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED             # <<<<<<<<<<<<<<
 * 
 *     #: The block scheduling policy of a function. The value type is
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FUNC_ATTRIBUTE_NON_PORTABLE_C, __pyx_t_4) < 0) __PYX_ERR(1, 1417, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1422
 *     #: CUclusterSchedulingPolicy / cudaClusterSchedulingPolicy. See
 *     #: :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE             # <<<<<<<<<<<<<<
 *     CU_FUNC_ATTRIBUTE_MAX = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_MAX
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDU, __pyx_t_4) < 0) __PYX_ERR(1, 1422, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1423
 *     #: :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute`
 *     CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE
 *     CU_FUNC_ATTRIBUTE_MAX = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_MAX             # <<<<<<<<<<<<<<
 * 
 * class CUfunc_cache(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUfunction_attribute_enum(CU_FUNC_ATTRIBUTE_MAX); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FUNC_ATTRIBUTE_MAX, __pyx_t_4) < 0) __PYX_ERR(1, 1423, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1305
 *     CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID = ccuda.CUpointer_attribute_enum.CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID
 * 
 * class CUfunction_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Function properties
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUfunction_attribute, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUfunction_attribute, __pyx_t_4) < 0) __PYX_ERR(1, 1305, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1425
 *     CU_FUNC_ATTRIBUTE_MAX = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_MAX
 * 
 * class CUfunc_cache(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Function cache configurations
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 1425, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUfunc_cache, __pyx_n_s_CUfunc_cache, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Function_cache_configurations); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 1425, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1431
 * 
 *     #: no preference for shared memory or L1 (default)
 *     CU_FUNC_CACHE_PREFER_NONE = ccuda.CUfunc_cache_enum.CU_FUNC_CACHE_PREFER_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: prefer larger shared memory and smaller L1 cache
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUfunc_cache_enum(CU_FUNC_CACHE_PREFER_NONE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1431, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_FUNC_CACHE_PREFER_NONE, __pyx_t_5) < 0) __PYX_ERR(1, 1431, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1434
 * 
 *     #: prefer larger shared memory and smaller L1 cache
 *     CU_FUNC_CACHE_PREFER_SHARED = ccuda.CUfunc_cache_enum.CU_FUNC_CACHE_PREFER_SHARED             # <<<<<<<<<<<<<<
 * 
 *     #: prefer larger L1 cache and smaller shared memory
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUfunc_cache_enum(CU_FUNC_CACHE_PREFER_SHARED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_FUNC_CACHE_PREFER_SHARED, __pyx_t_5) < 0) __PYX_ERR(1, 1434, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1437
 * 
 *     #: prefer larger L1 cache and smaller shared memory
 *     CU_FUNC_CACHE_PREFER_L1 = ccuda.CUfunc_cache_enum.CU_FUNC_CACHE_PREFER_L1             # <<<<<<<<<<<<<<
 * 
 *     #: prefer equal sized L1 cache and shared memory
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUfunc_cache_enum(CU_FUNC_CACHE_PREFER_L1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_FUNC_CACHE_PREFER_L1, __pyx_t_5) < 0) __PYX_ERR(1, 1437, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1440
 * 
 *     #: prefer equal sized L1 cache and shared memory
 *     CU_FUNC_CACHE_PREFER_EQUAL = ccuda.CUfunc_cache_enum.CU_FUNC_CACHE_PREFER_EQUAL             # <<<<<<<<<<<<<<
 * 
 * class CUsharedconfig(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUfunc_cache_enum(CU_FUNC_CACHE_PREFER_EQUAL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_FUNC_CACHE_PREFER_EQUAL, __pyx_t_5) < 0) __PYX_ERR(1, 1440, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1425
 *     CU_FUNC_ATTRIBUTE_MAX = ccuda.CUfunction_attribute_enum.CU_FUNC_ATTRIBUTE_MAX
 * 
 * class CUfunc_cache(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Function cache configurations
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUfunc_cache, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUfunc_cache, __pyx_t_5) < 0) __PYX_ERR(1, 1425, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1442
 *     CU_FUNC_CACHE_PREFER_EQUAL = ccuda.CUfunc_cache_enum.CU_FUNC_CACHE_PREFER_EQUAL
 * 
 * class CUsharedconfig(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     [Deprecated]  Shared memory configurations
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1442, __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)) __PYX_ERR(1, 1442, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUsharedconfig, __pyx_n_s_CUsharedconfig, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Deprecated_Shared_memory_config); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 1442, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1448
 * 
 *     #: set default shared memory bank size
 *     CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE = ccuda.CUsharedconfig_enum.CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: set shared memory bank width to four bytes
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUsharedconfig_enum(CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1448, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_SHARED_MEM_CONFIG_DEFAULT_BAN, __pyx_t_3) < 0) __PYX_ERR(1, 1448, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1451
 * 
 *     #: set shared memory bank width to four bytes
 *     CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE = ccuda.CUsharedconfig_enum.CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: set shared memory bank width to eight bytes
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUsharedconfig_enum(CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_SHARED_MEM_CONFIG_FOUR_BYTE_B, __pyx_t_3) < 0) __PYX_ERR(1, 1451, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1454
 * 
 *     #: set shared memory bank width to eight bytes
 *     CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = ccuda.CUsharedconfig_enum.CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE             # <<<<<<<<<<<<<<
 * 
 * class CUshared_carveout(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUsharedconfig_enum(CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_SHARED_MEM_CONFIG_EIGHT_BYTE, __pyx_t_3) < 0) __PYX_ERR(1, 1454, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1442
 *     CU_FUNC_CACHE_PREFER_EQUAL = ccuda.CUfunc_cache_enum.CU_FUNC_CACHE_PREFER_EQUAL
 * 
 * class CUsharedconfig(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     [Deprecated]  Shared memory configurations
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUsharedconfig, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUsharedconfig, __pyx_t_3) < 0) __PYX_ERR(1, 1442, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1456
 *     CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = ccuda.CUsharedconfig_enum.CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE
 * 
 * class CUshared_carveout(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Shared memory carveout configurations. These may be passed to
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 1456, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUshared_carveout, __pyx_n_s_CUshared_carveout, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Shared_memory_carveout_configur); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 1456, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1463
 * 
 *     #: No preference for shared memory or L1 (default)
 *     CU_SHAREDMEM_CARVEOUT_DEFAULT = ccuda.CUshared_carveout_enum.CU_SHAREDMEM_CARVEOUT_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: Prefer maximum available L1 cache, minimum shared memory
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUshared_carveout_enum(CU_SHAREDMEM_CARVEOUT_DEFAULT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_SHAREDMEM_CARVEOUT_DEFAULT, __pyx_t_4) < 0) __PYX_ERR(1, 1463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1466
 * 
 *     #: Prefer maximum available L1 cache, minimum shared memory
 *     CU_SHAREDMEM_CARVEOUT_MAX_L1 = ccuda.CUshared_carveout_enum.CU_SHAREDMEM_CARVEOUT_MAX_L1             # <<<<<<<<<<<<<<
 * 
 *     #: Prefer maximum available shared memory, minimum L1 cache
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUshared_carveout_enum(CU_SHAREDMEM_CARVEOUT_MAX_L1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_SHAREDMEM_CARVEOUT_MAX_L1, __pyx_t_4) < 0) __PYX_ERR(1, 1466, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1469
 * 
 *     #: Prefer maximum available shared memory, minimum L1 cache
 *     CU_SHAREDMEM_CARVEOUT_MAX_SHARED = ccuda.CUshared_carveout_enum.CU_SHAREDMEM_CARVEOUT_MAX_SHARED             # <<<<<<<<<<<<<<
 * 
 * class CUmemorytype(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUshared_carveout_enum(CU_SHAREDMEM_CARVEOUT_MAX_SHARED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_SHAREDMEM_CARVEOUT_MAX_SHARED, __pyx_t_4) < 0) __PYX_ERR(1, 1469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1456
 *     CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE = ccuda.CUsharedconfig_enum.CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE
 * 
 * class CUshared_carveout(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Shared memory carveout configurations. These may be passed to
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUshared_carveout, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUshared_carveout, __pyx_t_4) < 0) __PYX_ERR(1, 1456, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1471
 *     CU_SHAREDMEM_CARVEOUT_MAX_SHARED = ccuda.CUshared_carveout_enum.CU_SHAREDMEM_CARVEOUT_MAX_SHARED
 * 
 * class CUmemorytype(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 1471, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUmemorytype, __pyx_n_s_CUmemorytype, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Memory_types); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 1471, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1477
 * 
 *     #: Host memory
 *     CU_MEMORYTYPE_HOST = ccuda.CUmemorytype_enum.CU_MEMORYTYPE_HOST             # <<<<<<<<<<<<<<
 * 
 *     #: Device memory
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmemorytype_enum(CU_MEMORYTYPE_HOST); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1477, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEMORYTYPE_HOST, __pyx_t_5) < 0) __PYX_ERR(1, 1477, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1480
 * 
 *     #: Device memory
 *     CU_MEMORYTYPE_DEVICE = ccuda.CUmemorytype_enum.CU_MEMORYTYPE_DEVICE             # <<<<<<<<<<<<<<
 * 
 *     #: Array memory
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmemorytype_enum(CU_MEMORYTYPE_DEVICE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEMORYTYPE_DEVICE, __pyx_t_5) < 0) __PYX_ERR(1, 1480, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1483
 * 
 *     #: Array memory
 *     CU_MEMORYTYPE_ARRAY = ccuda.CUmemorytype_enum.CU_MEMORYTYPE_ARRAY             # <<<<<<<<<<<<<<
 * 
 *     #: Unified device or host memory
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmemorytype_enum(CU_MEMORYTYPE_ARRAY); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEMORYTYPE_ARRAY, __pyx_t_5) < 0) __PYX_ERR(1, 1483, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1486
 * 
 *     #: Unified device or host memory
 *     CU_MEMORYTYPE_UNIFIED = ccuda.CUmemorytype_enum.CU_MEMORYTYPE_UNIFIED             # <<<<<<<<<<<<<<
 * 
 * class CUcomputemode(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmemorytype_enum(CU_MEMORYTYPE_UNIFIED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEMORYTYPE_UNIFIED, __pyx_t_5) < 0) __PYX_ERR(1, 1486, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1471
 *     CU_SHAREDMEM_CARVEOUT_MAX_SHARED = ccuda.CUshared_carveout_enum.CU_SHAREDMEM_CARVEOUT_MAX_SHARED
 * 
 * class CUmemorytype(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory types
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUmemorytype, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUmemorytype, __pyx_t_5) < 0) __PYX_ERR(1, 1471, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1488
 *     CU_MEMORYTYPE_UNIFIED = ccuda.CUmemorytype_enum.CU_MEMORYTYPE_UNIFIED
 * 
 * class CUcomputemode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Compute Modes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1488, __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)) __PYX_ERR(1, 1488, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUcomputemode, __pyx_n_s_CUcomputemode, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Compute_Modes); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 1488, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1494
 * 
 *     #: Default compute mode (Multiple contexts allowed per device)
 *     CU_COMPUTEMODE_DEFAULT = ccuda.CUcomputemode_enum.CU_COMPUTEMODE_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: Compute-prohibited mode (No contexts can be created on this device
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUcomputemode_enum(CU_COMPUTEMODE_DEFAULT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_COMPUTEMODE_DEFAULT, __pyx_t_3) < 0) __PYX_ERR(1, 1494, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1498
 *     #: Compute-prohibited mode (No contexts can be created on this device
 *     #: at this time)
 *     CU_COMPUTEMODE_PROHIBITED = ccuda.CUcomputemode_enum.CU_COMPUTEMODE_PROHIBITED             # <<<<<<<<<<<<<<
 * 
 *     #: Compute-exclusive-process mode (Only one context used by a single
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUcomputemode_enum(CU_COMPUTEMODE_PROHIBITED); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_COMPUTEMODE_PROHIBITED, __pyx_t_3) < 0) __PYX_ERR(1, 1498, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1502
 *     #: Compute-exclusive-process mode (Only one context used by a single
 *     #: process can be present on this device at a time)
 *     CU_COMPUTEMODE_EXCLUSIVE_PROCESS = ccuda.CUcomputemode_enum.CU_COMPUTEMODE_EXCLUSIVE_PROCESS             # <<<<<<<<<<<<<<
 * 
 * class CUmem_advise(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUcomputemode_enum(CU_COMPUTEMODE_EXCLUSIVE_PROCESS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_COMPUTEMODE_EXCLUSIVE_PROCESS, __pyx_t_3) < 0) __PYX_ERR(1, 1502, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1488
 *     CU_MEMORYTYPE_UNIFIED = ccuda.CUmemorytype_enum.CU_MEMORYTYPE_UNIFIED
 * 
 * class CUcomputemode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Compute Modes
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUcomputemode, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUcomputemode, __pyx_t_3) < 0) __PYX_ERR(1, 1488, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1504
 *     CU_COMPUTEMODE_EXCLUSIVE_PROCESS = ccuda.CUcomputemode_enum.CU_COMPUTEMODE_EXCLUSIVE_PROCESS
 * 
 * class CUmem_advise(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory advise values
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 1504, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUmem_advise, __pyx_n_s_CUmem_advise, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Memory_advise_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 1504, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1510
 * 
 *     #: Data will mostly be read and only occasionally be written to
 *     CU_MEM_ADVISE_SET_READ_MOSTLY = ccuda.CUmem_advise_enum.CU_MEM_ADVISE_SET_READ_MOSTLY             # <<<<<<<<<<<<<<
 * 
 *     #: Undo the effect of :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY`
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmem_advise_enum(CU_MEM_ADVISE_SET_READ_MOSTLY); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MEM_ADVISE_SET_READ_MOSTLY, __pyx_t_4) < 0) __PYX_ERR(1, 1510, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1513
 * 
 *     #: Undo the effect of :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY`
 *     CU_MEM_ADVISE_UNSET_READ_MOSTLY = ccuda.CUmem_advise_enum.CU_MEM_ADVISE_UNSET_READ_MOSTLY             # <<<<<<<<<<<<<<
 * 
 *     #: Set the preferred location for the data as the specified device
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmem_advise_enum(CU_MEM_ADVISE_UNSET_READ_MOSTLY); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MEM_ADVISE_UNSET_READ_MOSTLY, __pyx_t_4) < 0) __PYX_ERR(1, 1513, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1516
 * 
 *     #: Set the preferred location for the data as the specified device
 *     CU_MEM_ADVISE_SET_PREFERRED_LOCATION = ccuda.CUmem_advise_enum.CU_MEM_ADVISE_SET_PREFERRED_LOCATION             # <<<<<<<<<<<<<<
 * 
 *     #: Clear the preferred location for the data
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmem_advise_enum(CU_MEM_ADVISE_SET_PREFERRED_LOCATION); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MEM_ADVISE_SET_PREFERRED_LOCA, __pyx_t_4) < 0) __PYX_ERR(1, 1516, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1519
 * 
 *     #: Clear the preferred location for the data
 *     CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION = ccuda.CUmem_advise_enum.CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION             # <<<<<<<<<<<<<<
 * 
 *     #: Data will be accessed by the specified device, so prevent page
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmem_advise_enum(CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MEM_ADVISE_UNSET_PREFERRED_LO, __pyx_t_4) < 0) __PYX_ERR(1, 1519, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1523
 *     #: Data will be accessed by the specified device, so prevent page
 *     #: faults as much as possible
 *     CU_MEM_ADVISE_SET_ACCESSED_BY = ccuda.CUmem_advise_enum.CU_MEM_ADVISE_SET_ACCESSED_BY             # <<<<<<<<<<<<<<
 * 
 *     #: Let the Unified Memory subsystem decide on the page faulting policy
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmem_advise_enum(CU_MEM_ADVISE_SET_ACCESSED_BY); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MEM_ADVISE_SET_ACCESSED_BY, __pyx_t_4) < 0) __PYX_ERR(1, 1523, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1527
 *     #: Let the Unified Memory subsystem decide on the page faulting policy
 *     #: for the specified device
 *     CU_MEM_ADVISE_UNSET_ACCESSED_BY = ccuda.CUmem_advise_enum.CU_MEM_ADVISE_UNSET_ACCESSED_BY             # <<<<<<<<<<<<<<
 * 
 * class CUmem_range_attribute(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmem_advise_enum(CU_MEM_ADVISE_UNSET_ACCESSED_BY); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MEM_ADVISE_UNSET_ACCESSED_BY, __pyx_t_4) < 0) __PYX_ERR(1, 1527, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1504
 *     CU_COMPUTEMODE_EXCLUSIVE_PROCESS = ccuda.CUcomputemode_enum.CU_COMPUTEMODE_EXCLUSIVE_PROCESS
 * 
 * class CUmem_advise(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory advise values
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUmem_advise, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1504, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUmem_advise, __pyx_t_4) < 0) __PYX_ERR(1, 1504, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1529
 *     CU_MEM_ADVISE_UNSET_ACCESSED_BY = ccuda.CUmem_advise_enum.CU_MEM_ADVISE_UNSET_ACCESSED_BY
 * 
 * class CUmem_range_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 1529, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUmem_range_attribute, __pyx_n_s_CUmem_range_attribute, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s__961); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 1529, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1536
 *     #: Whether the range will mostly be read and only occasionally be
 *     #: written to
 *     CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY = ccuda.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY             # <<<<<<<<<<<<<<
 * 
 *     #: The preferred location of the range
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmem_range_attribute_enum(CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_READ_MOST, __pyx_t_5) < 0) __PYX_ERR(1, 1536, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1539
 * 
 *     #: The preferred location of the range
 *     CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION = ccuda.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION             # <<<<<<<<<<<<<<
 * 
 *     #: Memory range has :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY` set for
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmem_range_attribute_enum(CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED, __pyx_t_5) < 0) __PYX_ERR(1, 1539, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1543
 *     #: Memory range has :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY` set for
 *     #: specified device
 *     CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY = ccuda.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY             # <<<<<<<<<<<<<<
 * 
 *     #: The last location to which the range was prefetched
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmem_range_attribute_enum(CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_ACCESSED, __pyx_t_5) < 0) __PYX_ERR(1, 1543, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1546
 * 
 *     #: The last location to which the range was prefetched
 *     CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION = ccuda.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION             # <<<<<<<<<<<<<<
 * 
 *     #: The preferred location type of the range
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmem_range_attribute_enum(CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1546, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF, __pyx_t_5) < 0) __PYX_ERR(1, 1546, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1549
 * 
 *     #: The preferred location type of the range
 *     CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_TYPE = ccuda.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_TYPE             # <<<<<<<<<<<<<<
 * 
 *     #: The preferred location id of the range
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmem_range_attribute_enum(CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_TYPE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1549, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_2, __pyx_t_5) < 0) __PYX_ERR(1, 1549, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1552
 * 
 *     #: The preferred location id of the range
 *     CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_ID = ccuda.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_ID             # <<<<<<<<<<<<<<
 * 
 *     #: The last location type to which the range was prefetched
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmem_range_attribute_enum(CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_ID); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1552, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_PREFERRED_3, __pyx_t_5) < 0) __PYX_ERR(1, 1552, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1555
 * 
 *     #: The last location type to which the range was prefetched
 *     CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_TYPE = ccuda.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_TYPE             # <<<<<<<<<<<<<<
 * 
 *     #: The last location id to which the range was prefetched
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmem_range_attribute_enum(CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_TYPE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_2, __pyx_t_5) < 0) __PYX_ERR(1, 1555, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1558
 * 
 *     #: The last location id to which the range was prefetched
 *     CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID = ccuda.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID             # <<<<<<<<<<<<<<
 * 
 * class CUjit_option(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmem_range_attribute_enum(CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEM_RANGE_ATTRIBUTE_LAST_PREF_3, __pyx_t_5) < 0) __PYX_ERR(1, 1558, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1529
 *     CU_MEM_ADVISE_UNSET_ACCESSED_BY = ccuda.CUmem_advise_enum.CU_MEM_ADVISE_UNSET_ACCESSED_BY
 * 
 * class CUmem_range_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUmem_range_attribute, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUmem_range_attribute, __pyx_t_5) < 0) __PYX_ERR(1, 1529, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1560
 *     CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID = ccuda.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID
 * 
 * class CUjit_option(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Online compiler and linker options
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1560, __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)) __PYX_ERR(1, 1560, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUjit_option, __pyx_n_s_CUjit_option, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Online_compiler_and_linker_opti); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 1560, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1568
 *     #: Option type: unsigned int
 *     #: Applies to: compiler only
 *     CU_JIT_MAX_REGISTERS = ccuda.CUjit_option_enum.CU_JIT_MAX_REGISTERS             # <<<<<<<<<<<<<<
 * 
 *     #: IN: Specifies minimum number of threads per block to target
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_MAX_REGISTERS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_MAX_REGISTERS, __pyx_t_3) < 0) __PYX_ERR(1, 1568, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1581
 *     #: Option type: unsigned int
 *     #: Applies to: compiler only
 *     CU_JIT_THREADS_PER_BLOCK = ccuda.CUjit_option_enum.CU_JIT_THREADS_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: Overwrites the option value with the total wall clock time, in
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_THREADS_PER_BLOCK); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_THREADS_PER_BLOCK, __pyx_t_3) < 0) __PYX_ERR(1, 1581, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1587
 *     #: Option type: float
 *     #: Applies to: compiler and linker
 *     CU_JIT_WALL_TIME = ccuda.CUjit_option_enum.CU_JIT_WALL_TIME             # <<<<<<<<<<<<<<
 * 
 *     #: Pointer to a buffer in which to print any log messages that are
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_WALL_TIME); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_WALL_TIME, __pyx_t_3) < 0) __PYX_ERR(1, 1587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1594
 *     #: Option type: char *
 *     #: Applies to: compiler and linker
 *     CU_JIT_INFO_LOG_BUFFER = ccuda.CUjit_option_enum.CU_JIT_INFO_LOG_BUFFER             # <<<<<<<<<<<<<<
 * 
 *     #: IN: Log buffer size in bytes. Log messages will be capped at this
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_INFO_LOG_BUFFER); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_INFO_LOG_BUFFER, __pyx_t_3) < 0) __PYX_ERR(1, 1594, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1601
 *     #: Option type: unsigned int
 *     #: Applies to: compiler and linker
 *     CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES = ccuda.CUjit_option_enum.CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES             # <<<<<<<<<<<<<<
 * 
 *     #: Pointer to a buffer in which to print any log messages that reflect
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1601, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_INFO_LOG_BUFFER_SIZE_BYTE, __pyx_t_3) < 0) __PYX_ERR(1, 1601, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1608
 *     #: Option type: char *
 *     #: Applies to: compiler and linker
 *     CU_JIT_ERROR_LOG_BUFFER = ccuda.CUjit_option_enum.CU_JIT_ERROR_LOG_BUFFER             # <<<<<<<<<<<<<<
 * 
 *     #: IN: Log buffer size in bytes. Log messages will be capped at this
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_ERROR_LOG_BUFFER); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_ERROR_LOG_BUFFER, __pyx_t_3) < 0) __PYX_ERR(1, 1608, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1615
 *     #: Option type: unsigned int
 *     #: Applies to: compiler and linker
 *     CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES = ccuda.CUjit_option_enum.CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES             # <<<<<<<<<<<<<<
 * 
 *     #: Level of optimizations to apply to generated code (0 - 4), with 4
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_ERROR_LOG_BUFFER_SIZE_BYT, __pyx_t_3) < 0) __PYX_ERR(1, 1615, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1621
 *     #: Option type: unsigned int
 *     #: Applies to: compiler only
 *     CU_JIT_OPTIMIZATION_LEVEL = ccuda.CUjit_option_enum.CU_JIT_OPTIMIZATION_LEVEL             # <<<<<<<<<<<<<<
 * 
 *     #: No option value required. Determines the target based on the current
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_OPTIMIZATION_LEVEL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_OPTIMIZATION_LEVEL, __pyx_t_3) < 0) __PYX_ERR(1, 1621, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1627
 *     #: Option type: No option value needed
 *     #: Applies to: compiler and linker
 *     CU_JIT_TARGET_FROM_CUCONTEXT = ccuda.CUjit_option_enum.CU_JIT_TARGET_FROM_CUCONTEXT             # <<<<<<<<<<<<<<
 * 
 *     #: Target is chosen based on supplied :py:obj:`~.CUjit_target`. Cannot
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_TARGET_FROM_CUCONTEXT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_TARGET_FROM_CUCONTEXT, __pyx_t_3) < 0) __PYX_ERR(1, 1627, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1634
 *     #: :py:obj:`~.CUjit_target`
 *     #: Applies to: compiler and linker
 *     CU_JIT_TARGET = ccuda.CUjit_option_enum.CU_JIT_TARGET             # <<<<<<<<<<<<<<
 * 
 *     #: Specifies choice of fallback strategy if matching cubin is not
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_TARGET); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_TARGET, __pyx_t_3) < 0) __PYX_ERR(1, 1634, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1643
 *     #: :py:obj:`~.CUjit_fallback`
 *     #: Applies to: compiler only
 *     CU_JIT_FALLBACK_STRATEGY = ccuda.CUjit_option_enum.CU_JIT_FALLBACK_STRATEGY             # <<<<<<<<<<<<<<
 * 
 *     #: Specifies whether to create debug information in output (-g) (0:
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_FALLBACK_STRATEGY); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_FALLBACK_STRATEGY, __pyx_t_3) < 0) __PYX_ERR(1, 1643, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1649
 *     #: Option type: int
 *     #: Applies to: compiler and linker
 *     CU_JIT_GENERATE_DEBUG_INFO = ccuda.CUjit_option_enum.CU_JIT_GENERATE_DEBUG_INFO             # <<<<<<<<<<<<<<
 * 
 *     #: Generate verbose log messages (0: false, default)
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_GENERATE_DEBUG_INFO); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_GENERATE_DEBUG_INFO, __pyx_t_3) < 0) __PYX_ERR(1, 1649, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1654
 *     #: Option type: int
 *     #: Applies to: compiler and linker
 *     CU_JIT_LOG_VERBOSE = ccuda.CUjit_option_enum.CU_JIT_LOG_VERBOSE             # <<<<<<<<<<<<<<
 * 
 *     #: Generate line number information (-lineinfo) (0: false, default)
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_LOG_VERBOSE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_LOG_VERBOSE, __pyx_t_3) < 0) __PYX_ERR(1, 1654, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1659
 *     #: Option type: int
 *     #: Applies to: compiler only
 *     CU_JIT_GENERATE_LINE_INFO = ccuda.CUjit_option_enum.CU_JIT_GENERATE_LINE_INFO             # <<<<<<<<<<<<<<
 * 
 *     #: Specifies whether to enable caching explicitly (-dlcm)
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_GENERATE_LINE_INFO); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_GENERATE_LINE_INFO, __pyx_t_3) < 0) __PYX_ERR(1, 1659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1666
 *     #: :py:obj:`~.CUjit_cacheMode_enum`
 *     #: Applies to: compiler only
 *     CU_JIT_CACHE_MODE = ccuda.CUjit_option_enum.CU_JIT_CACHE_MODE             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_CACHE_MODE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_CACHE_MODE, __pyx_t_3) < 0) __PYX_ERR(1, 1666, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1669
 * 
 *     #: [Deprecated]
 *     CU_JIT_NEW_SM3X_OPT = ccuda.CUjit_option_enum.CU_JIT_NEW_SM3X_OPT             # <<<<<<<<<<<<<<
 * 
 *     #: This jit option is used for internal purpose only.
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_NEW_SM3X_OPT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_NEW_SM3X_OPT, __pyx_t_3) < 0) __PYX_ERR(1, 1669, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1672
 * 
 *     #: This jit option is used for internal purpose only.
 *     CU_JIT_FAST_COMPILE = ccuda.CUjit_option_enum.CU_JIT_FAST_COMPILE             # <<<<<<<<<<<<<<
 * 
 *     #: Array of device symbol names that will be relocated to the
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_FAST_COMPILE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_FAST_COMPILE, __pyx_t_3) < 0) __PYX_ERR(1, 1672, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1686
 *     #: Option type: const char **
 *     #: Applies to: dynamic linker only
 *     CU_JIT_GLOBAL_SYMBOL_NAMES = ccuda.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_NAMES             # <<<<<<<<<<<<<<
 * 
 *     #: Array of host addresses that will be used to relocate corresponding
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_GLOBAL_SYMBOL_NAMES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_GLOBAL_SYMBOL_NAMES, __pyx_t_3) < 0) __PYX_ERR(1, 1686, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1693
 *     #: Option type: void **
 *     #: Applies to: dynamic linker only
 *     CU_JIT_GLOBAL_SYMBOL_ADDRESSES = ccuda.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_ADDRESSES             # <<<<<<<<<<<<<<
 * 
 *     #: Number of entries in :py:obj:`~.CU_JIT_GLOBAL_SYMBOL_NAMES` and
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_GLOBAL_SYMBOL_ADDRESSES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_GLOBAL_SYMBOL_ADDRESSES, __pyx_t_3) < 0) __PYX_ERR(1, 1693, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1699
 *     #: Option type: unsigned int
 *     #: Applies to: dynamic linker only
 *     CU_JIT_GLOBAL_SYMBOL_COUNT = ccuda.CUjit_option_enum.CU_JIT_GLOBAL_SYMBOL_COUNT             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_GLOBAL_SYMBOL_COUNT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_GLOBAL_SYMBOL_COUNT, __pyx_t_3) < 0) __PYX_ERR(1, 1699, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1704
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_LTO = ccuda.CUjit_option_enum.CU_JIT_LTO             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_LTO); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_LTO, __pyx_t_3) < 0) __PYX_ERR(1, 1704, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1709
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_FTZ = ccuda.CUjit_option_enum.CU_JIT_FTZ             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_FTZ); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_FTZ, __pyx_t_3) < 0) __PYX_ERR(1, 1709, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1714
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_PREC_DIV = ccuda.CUjit_option_enum.CU_JIT_PREC_DIV             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_PREC_DIV); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_PREC_DIV, __pyx_t_3) < 0) __PYX_ERR(1, 1714, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1719
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_PREC_SQRT = ccuda.CUjit_option_enum.CU_JIT_PREC_SQRT             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_PREC_SQRT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_PREC_SQRT, __pyx_t_3) < 0) __PYX_ERR(1, 1719, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1724
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_FMA = ccuda.CUjit_option_enum.CU_JIT_FMA             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_FMA); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_FMA, __pyx_t_3) < 0) __PYX_ERR(1, 1724, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1729
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_REFERENCED_KERNEL_NAMES = ccuda.CUjit_option_enum.CU_JIT_REFERENCED_KERNEL_NAMES             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_REFERENCED_KERNEL_NAMES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_REFERENCED_KERNEL_NAMES, __pyx_t_3) < 0) __PYX_ERR(1, 1729, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1734
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_REFERENCED_KERNEL_COUNT = ccuda.CUjit_option_enum.CU_JIT_REFERENCED_KERNEL_COUNT             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_REFERENCED_KERNEL_COUNT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_REFERENCED_KERNEL_COUNT, __pyx_t_3) < 0) __PYX_ERR(1, 1734, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1739
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_REFERENCED_VARIABLE_NAMES = ccuda.CUjit_option_enum.CU_JIT_REFERENCED_VARIABLE_NAMES             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_REFERENCED_VARIABLE_NAMES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_REFERENCED_VARIABLE_NAMES, __pyx_t_3) < 0) __PYX_ERR(1, 1739, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1744
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_REFERENCED_VARIABLE_COUNT = ccuda.CUjit_option_enum.CU_JIT_REFERENCED_VARIABLE_COUNT             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_REFERENCED_VARIABLE_COUNT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_REFERENCED_VARIABLE_COUNT, __pyx_t_3) < 0) __PYX_ERR(1, 1744, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1749
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES = ccuda.CUjit_option_enum.CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES             # <<<<<<<<<<<<<<
 * 
 *     #: Generate position independent code (0: false)
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_OPTIMIZE_UNUSED_DEVICE_VA, __pyx_t_3) < 0) __PYX_ERR(1, 1749, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1754
 *     #: Option type: int
 *     #: Applies to: compiler only
 *     CU_JIT_POSITION_INDEPENDENT_CODE = ccuda.CUjit_option_enum.CU_JIT_POSITION_INDEPENDENT_CODE             # <<<<<<<<<<<<<<
 * 
 *     #: This option hints to the JIT compiler the minimum number of CTAs
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_POSITION_INDEPENDENT_CODE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_POSITION_INDEPENDENT_CODE, __pyx_t_3) < 0) __PYX_ERR(1, 1754, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1766
 *     #: precedence over the PTX directive. Option type: unsigned int
 *     #: Applies to: compiler only
 *     CU_JIT_MIN_CTA_PER_SM = ccuda.CUjit_option_enum.CU_JIT_MIN_CTA_PER_SM             # <<<<<<<<<<<<<<
 * 
 *     #: Maximum number threads in a thread block, computed as the product of
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_MIN_CTA_PER_SM); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1766, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_MIN_CTA_PER_SM, __pyx_t_3) < 0) __PYX_ERR(1, 1766, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1777
 *     #: precedence over the PTX directive. Option type: int
 *     #: Applies to: compiler only
 *     CU_JIT_MAX_THREADS_PER_BLOCK = ccuda.CUjit_option_enum.CU_JIT_MAX_THREADS_PER_BLOCK             # <<<<<<<<<<<<<<
 * 
 *     #: This option lets the values specified using
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_MAX_THREADS_PER_BLOCK); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1777, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_MAX_THREADS_PER_BLOCK, __pyx_t_3) < 0) __PYX_ERR(1, 1777, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1786
 *     #: directives. (0: Disable, default; 1: Enable) Option type: int
 *     #: Applies to: compiler only
 *     CU_JIT_OVERRIDE_DIRECTIVE_VALUES = ccuda.CUjit_option_enum.CU_JIT_OVERRIDE_DIRECTIVE_VALUES             # <<<<<<<<<<<<<<
 *     CU_JIT_NUM_OPTIONS = ccuda.CUjit_option_enum.CU_JIT_NUM_OPTIONS
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_OVERRIDE_DIRECTIVE_VALUES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_OVERRIDE_DIRECTIVE_VALUES, __pyx_t_3) < 0) __PYX_ERR(1, 1786, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1787
 *     #: Applies to: compiler only
 *     CU_JIT_OVERRIDE_DIRECTIVE_VALUES = ccuda.CUjit_option_enum.CU_JIT_OVERRIDE_DIRECTIVE_VALUES
 *     CU_JIT_NUM_OPTIONS = ccuda.CUjit_option_enum.CU_JIT_NUM_OPTIONS             # <<<<<<<<<<<<<<
 * 
 * class CUjit_target(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_option_enum(CU_JIT_NUM_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_NUM_OPTIONS, __pyx_t_3) < 0) __PYX_ERR(1, 1787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1560
 *     CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID = ccuda.CUmem_range_attribute_enum.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID
 * 
 * class CUjit_option(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Online compiler and linker options
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUjit_option, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUjit_option, __pyx_t_3) < 0) __PYX_ERR(1, 1560, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1789
 *     CU_JIT_NUM_OPTIONS = ccuda.CUjit_option_enum.CU_JIT_NUM_OPTIONS
 * 
 * class CUjit_target(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Online compilation targets
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 1789, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUjit_target, __pyx_n_s_CUjit_target, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Online_compilation_targets); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 1789, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1795
 * 
 *     #: Compute device class 3.0
 *     CU_TARGET_COMPUTE_30 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_30             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 3.2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_30); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_30, __pyx_t_4) < 0) __PYX_ERR(1, 1795, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1798
 * 
 *     #: Compute device class 3.2
 *     CU_TARGET_COMPUTE_32 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_32             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 3.5
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_32); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_32, __pyx_t_4) < 0) __PYX_ERR(1, 1798, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1801
 * 
 *     #: Compute device class 3.5
 *     CU_TARGET_COMPUTE_35 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_35             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 3.7
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_35); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_35, __pyx_t_4) < 0) __PYX_ERR(1, 1801, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1804
 * 
 *     #: Compute device class 3.7
 *     CU_TARGET_COMPUTE_37 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_37             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 5.0
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_37); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_37, __pyx_t_4) < 0) __PYX_ERR(1, 1804, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1807
 * 
 *     #: Compute device class 5.0
 *     CU_TARGET_COMPUTE_50 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_50             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 5.2
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_50); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1807, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_50, __pyx_t_4) < 0) __PYX_ERR(1, 1807, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1810
 * 
 *     #: Compute device class 5.2
 *     CU_TARGET_COMPUTE_52 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_52             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 5.3
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_52); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_52, __pyx_t_4) < 0) __PYX_ERR(1, 1810, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1813
 * 
 *     #: Compute device class 5.3
 *     CU_TARGET_COMPUTE_53 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_53             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 6.0.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_53); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_53, __pyx_t_4) < 0) __PYX_ERR(1, 1813, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1816
 * 
 *     #: Compute device class 6.0.
 *     CU_TARGET_COMPUTE_60 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_60             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 6.1.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_60); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_60, __pyx_t_4) < 0) __PYX_ERR(1, 1816, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1819
 * 
 *     #: Compute device class 6.1.
 *     CU_TARGET_COMPUTE_61 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_61             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 6.2.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_61); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_61, __pyx_t_4) < 0) __PYX_ERR(1, 1819, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1822
 * 
 *     #: Compute device class 6.2.
 *     CU_TARGET_COMPUTE_62 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_62             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 7.0.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_62); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_62, __pyx_t_4) < 0) __PYX_ERR(1, 1822, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1825
 * 
 *     #: Compute device class 7.0.
 *     CU_TARGET_COMPUTE_70 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_70             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 7.2.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_70); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_70, __pyx_t_4) < 0) __PYX_ERR(1, 1825, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1828
 * 
 *     #: Compute device class 7.2.
 *     CU_TARGET_COMPUTE_72 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_72             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 7.5.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_72); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_72, __pyx_t_4) < 0) __PYX_ERR(1, 1828, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1831
 * 
 *     #: Compute device class 7.5.
 *     CU_TARGET_COMPUTE_75 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_75             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 8.0.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_75); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_75, __pyx_t_4) < 0) __PYX_ERR(1, 1831, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1834
 * 
 *     #: Compute device class 8.0.
 *     CU_TARGET_COMPUTE_80 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_80             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 8.6.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_80); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_80, __pyx_t_4) < 0) __PYX_ERR(1, 1834, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1837
 * 
 *     #: Compute device class 8.6.
 *     CU_TARGET_COMPUTE_86 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_86             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 8.7.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_86); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_86, __pyx_t_4) < 0) __PYX_ERR(1, 1837, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1840
 * 
 *     #: Compute device class 8.7.
 *     CU_TARGET_COMPUTE_87 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_87             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 8.9.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_87); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_87, __pyx_t_4) < 0) __PYX_ERR(1, 1840, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1843
 * 
 *     #: Compute device class 8.9.
 *     CU_TARGET_COMPUTE_89 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_89             # <<<<<<<<<<<<<<
 * 
 *     #: Compute device class 9.0. Compute device class 9.0. with accelerated
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_89); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_89, __pyx_t_4) < 0) __PYX_ERR(1, 1843, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1847
 *     #: Compute device class 9.0. Compute device class 9.0. with accelerated
 *     #: features.
 *     CU_TARGET_COMPUTE_90 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_90             # <<<<<<<<<<<<<<
 *     CU_TARGET_COMPUTE_90A = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_90A
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_90); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1847, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_90, __pyx_t_4) < 0) __PYX_ERR(1, 1847, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1848
 *     #: features.
 *     CU_TARGET_COMPUTE_90 = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_90
 *     CU_TARGET_COMPUTE_90A = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_90A             # <<<<<<<<<<<<<<
 * 
 * class CUjit_fallback(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjit_target_enum(CU_TARGET_COMPUTE_90A); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TARGET_COMPUTE_90A, __pyx_t_4) < 0) __PYX_ERR(1, 1848, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1789
 *     CU_JIT_NUM_OPTIONS = ccuda.CUjit_option_enum.CU_JIT_NUM_OPTIONS
 * 
 * class CUjit_target(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Online compilation targets
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUjit_target, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUjit_target, __pyx_t_4) < 0) __PYX_ERR(1, 1789, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1850
 *     CU_TARGET_COMPUTE_90A = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_90A
 * 
 * class CUjit_fallback(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Cubin matching fallback strategies
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 1850, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUjit_fallback, __pyx_n_s_CUjit_fallback, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Cubin_matching_fallback_strateg); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 1850, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1856
 * 
 *     #: Prefer to compile ptx if exact binary match not found
 *     CU_PREFER_PTX = ccuda.CUjit_fallback_enum.CU_PREFER_PTX             # <<<<<<<<<<<<<<
 * 
 *     #: Prefer to fall back to compatible binary code if exact match not
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUjit_fallback_enum(CU_PREFER_PTX); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_PREFER_PTX, __pyx_t_5) < 0) __PYX_ERR(1, 1856, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1860
 *     #: Prefer to fall back to compatible binary code if exact match not
 *     #: found
 *     CU_PREFER_BINARY = ccuda.CUjit_fallback_enum.CU_PREFER_BINARY             # <<<<<<<<<<<<<<
 * 
 * class CUjit_cacheMode(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUjit_fallback_enum(CU_PREFER_BINARY); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_PREFER_BINARY, __pyx_t_5) < 0) __PYX_ERR(1, 1860, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1850
 *     CU_TARGET_COMPUTE_90A = ccuda.CUjit_target_enum.CU_TARGET_COMPUTE_90A
 * 
 * class CUjit_fallback(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Cubin matching fallback strategies
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUjit_fallback, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUjit_fallback, __pyx_t_5) < 0) __PYX_ERR(1, 1850, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1862
 *     CU_PREFER_BINARY = ccuda.CUjit_fallback_enum.CU_PREFER_BINARY
 * 
 * class CUjit_cacheMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Caching modes for dlcm
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1862, __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)) __PYX_ERR(1, 1862, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUjit_cacheMode, __pyx_n_s_CUjit_cacheMode, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Caching_modes_for_dlcm); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 1862, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1868
 * 
 *     #: Compile with no -dlcm flag specified
 *     CU_JIT_CACHE_OPTION_NONE = ccuda.CUjit_cacheMode_enum.CU_JIT_CACHE_OPTION_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: Compile with L1 cache disabled
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_cacheMode_enum(CU_JIT_CACHE_OPTION_NONE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_CACHE_OPTION_NONE, __pyx_t_3) < 0) __PYX_ERR(1, 1868, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1871
 * 
 *     #: Compile with L1 cache disabled
 *     CU_JIT_CACHE_OPTION_CG = ccuda.CUjit_cacheMode_enum.CU_JIT_CACHE_OPTION_CG             # <<<<<<<<<<<<<<
 * 
 *     #: Compile with L1 cache enabled
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_cacheMode_enum(CU_JIT_CACHE_OPTION_CG); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_CACHE_OPTION_CG, __pyx_t_3) < 0) __PYX_ERR(1, 1871, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1874
 * 
 *     #: Compile with L1 cache enabled
 *     CU_JIT_CACHE_OPTION_CA = ccuda.CUjit_cacheMode_enum.CU_JIT_CACHE_OPTION_CA             # <<<<<<<<<<<<<<
 * 
 * class CUjitInputType(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUjit_cacheMode_enum(CU_JIT_CACHE_OPTION_CA); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_JIT_CACHE_OPTION_CA, __pyx_t_3) < 0) __PYX_ERR(1, 1874, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1862
 *     CU_PREFER_BINARY = ccuda.CUjit_fallback_enum.CU_PREFER_BINARY
 * 
 * class CUjit_cacheMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Caching modes for dlcm
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUjit_cacheMode, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUjit_cacheMode, __pyx_t_3) < 0) __PYX_ERR(1, 1862, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1876
 *     CU_JIT_CACHE_OPTION_CA = ccuda.CUjit_cacheMode_enum.CU_JIT_CACHE_OPTION_CA
 * 
 * class CUjitInputType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Device code formats
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 1876, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUjitInputType, __pyx_n_s_CUjitInputType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Device_code_formats); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 1876, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1883
 *     #: Compiled device-class-specific device code
 *     #: Applicable options: none
 *     CU_JIT_INPUT_CUBIN = ccuda.CUjitInputType_enum.CU_JIT_INPUT_CUBIN             # <<<<<<<<<<<<<<
 * 
 *     #: PTX source code
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjitInputType_enum(CU_JIT_INPUT_CUBIN); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_JIT_INPUT_CUBIN, __pyx_t_4) < 0) __PYX_ERR(1, 1883, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1887
 *     #: PTX source code
 *     #: Applicable options: PTX compiler options
 *     CU_JIT_INPUT_PTX = ccuda.CUjitInputType_enum.CU_JIT_INPUT_PTX             # <<<<<<<<<<<<<<
 * 
 *     #: Bundle of multiple cubins and/or PTX of some device code
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjitInputType_enum(CU_JIT_INPUT_PTX); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_JIT_INPUT_PTX, __pyx_t_4) < 0) __PYX_ERR(1, 1887, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1892
 *     #: Applicable options: PTX compiler options,
 *     #: :py:obj:`~.CU_JIT_FALLBACK_STRATEGY`
 *     CU_JIT_INPUT_FATBINARY = ccuda.CUjitInputType_enum.CU_JIT_INPUT_FATBINARY             # <<<<<<<<<<<<<<
 * 
 *     #: Host object with embedded device code
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjitInputType_enum(CU_JIT_INPUT_FATBINARY); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_JIT_INPUT_FATBINARY, __pyx_t_4) < 0) __PYX_ERR(1, 1892, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1897
 *     #: Applicable options: PTX compiler options,
 *     #: :py:obj:`~.CU_JIT_FALLBACK_STRATEGY`
 *     CU_JIT_INPUT_OBJECT = ccuda.CUjitInputType_enum.CU_JIT_INPUT_OBJECT             # <<<<<<<<<<<<<<
 * 
 *     #: Archive of host objects with embedded device code
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjitInputType_enum(CU_JIT_INPUT_OBJECT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_JIT_INPUT_OBJECT, __pyx_t_4) < 0) __PYX_ERR(1, 1897, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1902
 *     #: Applicable options: PTX compiler options,
 *     #: :py:obj:`~.CU_JIT_FALLBACK_STRATEGY`
 *     CU_JIT_INPUT_LIBRARY = ccuda.CUjitInputType_enum.CU_JIT_INPUT_LIBRARY             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjitInputType_enum(CU_JIT_INPUT_LIBRARY); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_JIT_INPUT_LIBRARY, __pyx_t_4) < 0) __PYX_ERR(1, 1902, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1907
 *     #:
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_INPUT_NVVM = ccuda.CUjitInputType_enum.CU_JIT_INPUT_NVVM             # <<<<<<<<<<<<<<
 *     CU_JIT_NUM_INPUT_TYPES = ccuda.CUjitInputType_enum.CU_JIT_NUM_INPUT_TYPES
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjitInputType_enum(CU_JIT_INPUT_NVVM); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_JIT_INPUT_NVVM, __pyx_t_4) < 0) __PYX_ERR(1, 1907, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1908
 *     #: Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0
 *     CU_JIT_INPUT_NVVM = ccuda.CUjitInputType_enum.CU_JIT_INPUT_NVVM
 *     CU_JIT_NUM_INPUT_TYPES = ccuda.CUjitInputType_enum.CU_JIT_NUM_INPUT_TYPES             # <<<<<<<<<<<<<<
 * 
 * class CUgraphicsRegisterFlags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUjitInputType_enum(CU_JIT_NUM_INPUT_TYPES); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_JIT_NUM_INPUT_TYPES, __pyx_t_4) < 0) __PYX_ERR(1, 1908, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1876
 *     CU_JIT_CACHE_OPTION_CA = ccuda.CUjit_cacheMode_enum.CU_JIT_CACHE_OPTION_CA
 * 
 * class CUjitInputType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Device code formats
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUjitInputType, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUjitInputType, __pyx_t_4) < 0) __PYX_ERR(1, 1876, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1910
 *     CU_JIT_NUM_INPUT_TYPES = ccuda.CUjitInputType_enum.CU_JIT_NUM_INPUT_TYPES
 * 
 * class CUgraphicsRegisterFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to register a graphics resource
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 1910, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUgraphicsRegisterFlags, __pyx_n_s_CUgraphicsRegisterFlags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Flags_to_register_a_graphics_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 1910, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1914
 *     Flags to register a graphics resource
 *     """
 *     CU_GRAPHICS_REGISTER_FLAGS_NONE = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_NONE             # <<<<<<<<<<<<<<
 *     CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY
 *     CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphicsRegisterFlags_enum(CU_GRAPHICS_REGISTER_FLAGS_NONE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_NONE, __pyx_t_5) < 0) __PYX_ERR(1, 1914, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1915
 *     """
 *     CU_GRAPHICS_REGISTER_FLAGS_NONE = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_NONE
 *     CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY             # <<<<<<<<<<<<<<
 *     CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD
 *     CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphicsRegisterFlags_enum(CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_READ, __pyx_t_5) < 0) __PYX_ERR(1, 1915, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1916
 *     CU_GRAPHICS_REGISTER_FLAGS_NONE = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_NONE
 *     CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY
 *     CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD             # <<<<<<<<<<<<<<
 *     CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST
 *     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphicsRegisterFlags_enum(CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_WRITE, __pyx_t_5) < 0) __PYX_ERR(1, 1916, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1917
 *     CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY
 *     CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD
 *     CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST             # <<<<<<<<<<<<<<
 *     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER
 * 
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphicsRegisterFlags_enum(CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_SURFA, __pyx_t_5) < 0) __PYX_ERR(1, 1917, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1918
 *     CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD
 *     CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST
 *     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER             # <<<<<<<<<<<<<<
 * 
 * class CUgraphicsMapResourceFlags(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphicsRegisterFlags_enum(CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GRAPHICS_REGISTER_FLAGS_TEXTU, __pyx_t_5) < 0) __PYX_ERR(1, 1918, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1910
 *     CU_JIT_NUM_INPUT_TYPES = ccuda.CUjitInputType_enum.CU_JIT_NUM_INPUT_TYPES
 * 
 * class CUgraphicsRegisterFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to register a graphics resource
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUgraphicsRegisterFlags, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUgraphicsRegisterFlags, __pyx_t_5) < 0) __PYX_ERR(1, 1910, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1920
 *     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER
 * 
 * class CUgraphicsMapResourceFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for mapping and unmapping interop resources
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1920, __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)) __PYX_ERR(1, 1920, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUgraphicsMapResourceFlags, __pyx_n_s_CUgraphicsMapResourceFlags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Flags_for_mapping_and_unmapping); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 1920, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1924
 *     Flags for mapping and unmapping interop resources
 *     """
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = ccuda.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE             # <<<<<<<<<<<<<<
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = ccuda.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = ccuda.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphicsMapResourceFlags_enum(CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_N, __pyx_t_3) < 0) __PYX_ERR(1, 1924, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1925
 *     """
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = ccuda.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = ccuda.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY             # <<<<<<<<<<<<<<
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = ccuda.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphicsMapResourceFlags_enum(CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_R, __pyx_t_3) < 0) __PYX_ERR(1, 1925, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1926
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = ccuda.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = ccuda.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = ccuda.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD             # <<<<<<<<<<<<<<
 * 
 * class CUarray_cubemap_face(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphicsMapResourceFlags_enum(CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1926, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPHICS_MAP_RESOURCE_FLAGS_W, __pyx_t_3) < 0) __PYX_ERR(1, 1926, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1920
 *     CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER = ccuda.CUgraphicsRegisterFlags_enum.CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER
 * 
 * class CUgraphicsMapResourceFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for mapping and unmapping interop resources
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUgraphicsMapResourceFlags, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUgraphicsMapResourceFlags, __pyx_t_3) < 0) __PYX_ERR(1, 1920, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1928
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = ccuda.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD
 * 
 * class CUarray_cubemap_face(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Array indices for cube faces
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 1928, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUarray_cubemap_face, __pyx_n_s_CUarray_cubemap_face, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Array_indices_for_cube_faces); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 1928, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1934
 * 
 *     #: Positive X face of cubemap
 *     CU_CUBEMAP_FACE_POSITIVE_X = ccuda.CUarray_cubemap_face_enum.CU_CUBEMAP_FACE_POSITIVE_X             # <<<<<<<<<<<<<<
 * 
 *     #: Negative X face of cubemap
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUarray_cubemap_face_enum(CU_CUBEMAP_FACE_POSITIVE_X); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_X, __pyx_t_4) < 0) __PYX_ERR(1, 1934, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1937
 * 
 *     #: Negative X face of cubemap
 *     CU_CUBEMAP_FACE_NEGATIVE_X = ccuda.CUarray_cubemap_face_enum.CU_CUBEMAP_FACE_NEGATIVE_X             # <<<<<<<<<<<<<<
 * 
 *     #: Positive Y face of cubemap
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUarray_cubemap_face_enum(CU_CUBEMAP_FACE_NEGATIVE_X); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_X, __pyx_t_4) < 0) __PYX_ERR(1, 1937, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1940
 * 
 *     #: Positive Y face of cubemap
 *     CU_CUBEMAP_FACE_POSITIVE_Y = ccuda.CUarray_cubemap_face_enum.CU_CUBEMAP_FACE_POSITIVE_Y             # <<<<<<<<<<<<<<
 * 
 *     #: Negative Y face of cubemap
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUarray_cubemap_face_enum(CU_CUBEMAP_FACE_POSITIVE_Y); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1940, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_Y, __pyx_t_4) < 0) __PYX_ERR(1, 1940, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1943
 * 
 *     #: Negative Y face of cubemap
 *     CU_CUBEMAP_FACE_NEGATIVE_Y = ccuda.CUarray_cubemap_face_enum.CU_CUBEMAP_FACE_NEGATIVE_Y             # <<<<<<<<<<<<<<
 * 
 *     #: Positive Z face of cubemap
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUarray_cubemap_face_enum(CU_CUBEMAP_FACE_NEGATIVE_Y); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_Y, __pyx_t_4) < 0) __PYX_ERR(1, 1943, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1946
 * 
 *     #: Positive Z face of cubemap
 *     CU_CUBEMAP_FACE_POSITIVE_Z = ccuda.CUarray_cubemap_face_enum.CU_CUBEMAP_FACE_POSITIVE_Z             # <<<<<<<<<<<<<<
 * 
 *     #: Negative Z face of cubemap
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUarray_cubemap_face_enum(CU_CUBEMAP_FACE_POSITIVE_Z); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_CUBEMAP_FACE_POSITIVE_Z, __pyx_t_4) < 0) __PYX_ERR(1, 1946, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1949
 * 
 *     #: Negative Z face of cubemap
 *     CU_CUBEMAP_FACE_NEGATIVE_Z = ccuda.CUarray_cubemap_face_enum.CU_CUBEMAP_FACE_NEGATIVE_Z             # <<<<<<<<<<<<<<
 * 
 * class CUlimit(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUarray_cubemap_face_enum(CU_CUBEMAP_FACE_NEGATIVE_Z); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_CUBEMAP_FACE_NEGATIVE_Z, __pyx_t_4) < 0) __PYX_ERR(1, 1949, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1928
 *     CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = ccuda.CUgraphicsMapResourceFlags_enum.CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD
 * 
 * class CUarray_cubemap_face(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Array indices for cube faces
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUarray_cubemap_face, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUarray_cubemap_face, __pyx_t_4) < 0) __PYX_ERR(1, 1928, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1951
 *     CU_CUBEMAP_FACE_NEGATIVE_Z = ccuda.CUarray_cubemap_face_enum.CU_CUBEMAP_FACE_NEGATIVE_Z
 * 
 * class CUlimit(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Limits
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 1951, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUlimit, __pyx_n_s_CUlimit, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Limits); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 1951, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1957
 * 
 *     #: GPU thread stack size
 *     CU_LIMIT_STACK_SIZE = ccuda.CUlimit_enum.CU_LIMIT_STACK_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: GPU printf FIFO size
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlimit_enum(CU_LIMIT_STACK_SIZE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LIMIT_STACK_SIZE, __pyx_t_5) < 0) __PYX_ERR(1, 1957, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1960
 * 
 *     #: GPU printf FIFO size
 *     CU_LIMIT_PRINTF_FIFO_SIZE = ccuda.CUlimit_enum.CU_LIMIT_PRINTF_FIFO_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: GPU malloc heap size
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlimit_enum(CU_LIMIT_PRINTF_FIFO_SIZE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LIMIT_PRINTF_FIFO_SIZE, __pyx_t_5) < 0) __PYX_ERR(1, 1960, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1963
 * 
 *     #: GPU malloc heap size
 *     CU_LIMIT_MALLOC_HEAP_SIZE = ccuda.CUlimit_enum.CU_LIMIT_MALLOC_HEAP_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: GPU device runtime launch synchronize depth
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlimit_enum(CU_LIMIT_MALLOC_HEAP_SIZE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LIMIT_MALLOC_HEAP_SIZE, __pyx_t_5) < 0) __PYX_ERR(1, 1963, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1966
 * 
 *     #: GPU device runtime launch synchronize depth
 *     CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH = ccuda.CUlimit_enum.CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH             # <<<<<<<<<<<<<<
 * 
 *     #: GPU device runtime pending launch count
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlimit_enum(CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1966, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH, __pyx_t_5) < 0) __PYX_ERR(1, 1966, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1969
 * 
 *     #: GPU device runtime pending launch count
 *     CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT = ccuda.CUlimit_enum.CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT             # <<<<<<<<<<<<<<
 * 
 *     #: A value between 0 and 128 that indicates the maximum fetch
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlimit_enum(CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1969, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LIMIT_DEV_RUNTIME_PENDING_LAU, __pyx_t_5) < 0) __PYX_ERR(1, 1969, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1973
 *     #: A value between 0 and 128 that indicates the maximum fetch
 *     #: granularity of L2 (in Bytes). This is a hint
 *     CU_LIMIT_MAX_L2_FETCH_GRANULARITY = ccuda.CUlimit_enum.CU_LIMIT_MAX_L2_FETCH_GRANULARITY             # <<<<<<<<<<<<<<
 * 
 *     #: A size in bytes for L2 persisting lines cache size
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlimit_enum(CU_LIMIT_MAX_L2_FETCH_GRANULARITY); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LIMIT_MAX_L2_FETCH_GRANULARIT, __pyx_t_5) < 0) __PYX_ERR(1, 1973, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1976
 * 
 *     #: A size in bytes for L2 persisting lines cache size
 *     CU_LIMIT_PERSISTING_L2_CACHE_SIZE = ccuda.CUlimit_enum.CU_LIMIT_PERSISTING_L2_CACHE_SIZE             # <<<<<<<<<<<<<<
 *     CU_LIMIT_MAX = ccuda.CUlimit_enum.CU_LIMIT_MAX
 * 
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlimit_enum(CU_LIMIT_PERSISTING_L2_CACHE_SIZE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LIMIT_PERSISTING_L2_CACHE_SIZ, __pyx_t_5) < 0) __PYX_ERR(1, 1976, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1977
 *     #: A size in bytes for L2 persisting lines cache size
 *     CU_LIMIT_PERSISTING_L2_CACHE_SIZE = ccuda.CUlimit_enum.CU_LIMIT_PERSISTING_L2_CACHE_SIZE
 *     CU_LIMIT_MAX = ccuda.CUlimit_enum.CU_LIMIT_MAX             # <<<<<<<<<<<<<<
 * 
 * class CUresourcetype(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlimit_enum(CU_LIMIT_MAX); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1977, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LIMIT_MAX, __pyx_t_5) < 0) __PYX_ERR(1, 1977, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":1951
 *     CU_CUBEMAP_FACE_NEGATIVE_Z = ccuda.CUarray_cubemap_face_enum.CU_CUBEMAP_FACE_NEGATIVE_Z
 * 
 * class CUlimit(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Limits
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUlimit, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUlimit, __pyx_t_5) < 0) __PYX_ERR(1, 1951, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1979
 *     CU_LIMIT_MAX = ccuda.CUlimit_enum.CU_LIMIT_MAX
 * 
 * class CUresourcetype(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Resource types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1979, __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)) __PYX_ERR(1, 1979, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUresourcetype, __pyx_n_s_CUresourcetype, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Resource_types); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 1979, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1985
 * 
 *     #: Array resource
 *     CU_RESOURCE_TYPE_ARRAY = ccuda.CUresourcetype_enum.CU_RESOURCE_TYPE_ARRAY             # <<<<<<<<<<<<<<
 * 
 *     #: Mipmapped array resource
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourcetype_enum(CU_RESOURCE_TYPE_ARRAY); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RESOURCE_TYPE_ARRAY, __pyx_t_3) < 0) __PYX_ERR(1, 1985, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1988
 * 
 *     #: Mipmapped array resource
 *     CU_RESOURCE_TYPE_MIPMAPPED_ARRAY = ccuda.CUresourcetype_enum.CU_RESOURCE_TYPE_MIPMAPPED_ARRAY             # <<<<<<<<<<<<<<
 * 
 *     #: Linear resource
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourcetype_enum(CU_RESOURCE_TYPE_MIPMAPPED_ARRAY); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RESOURCE_TYPE_MIPMAPPED_ARRAY, __pyx_t_3) < 0) __PYX_ERR(1, 1988, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1991
 * 
 *     #: Linear resource
 *     CU_RESOURCE_TYPE_LINEAR = ccuda.CUresourcetype_enum.CU_RESOURCE_TYPE_LINEAR             # <<<<<<<<<<<<<<
 * 
 *     #: Pitch 2D resource
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourcetype_enum(CU_RESOURCE_TYPE_LINEAR); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RESOURCE_TYPE_LINEAR, __pyx_t_3) < 0) __PYX_ERR(1, 1991, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1994
 * 
 *     #: Pitch 2D resource
 *     CU_RESOURCE_TYPE_PITCH2D = ccuda.CUresourcetype_enum.CU_RESOURCE_TYPE_PITCH2D             # <<<<<<<<<<<<<<
 * 
 * class CUaccessProperty(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourcetype_enum(CU_RESOURCE_TYPE_PITCH2D); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RESOURCE_TYPE_PITCH2D, __pyx_t_3) < 0) __PYX_ERR(1, 1994, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1979
 *     CU_LIMIT_MAX = ccuda.CUlimit_enum.CU_LIMIT_MAX
 * 
 * class CUresourcetype(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Resource types
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUresourcetype, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUresourcetype, __pyx_t_3) < 0) __PYX_ERR(1, 1979, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":1996
 *     CU_RESOURCE_TYPE_PITCH2D = ccuda.CUresourcetype_enum.CU_RESOURCE_TYPE_PITCH2D
 * 
 * class CUaccessProperty(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies performance hint with :py:obj:`~.CUaccessPolicyWindow`
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 1996, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUaccessProperty, __pyx_n_s_CUaccessProperty, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Specifies_performance_hint_with); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 1996, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2003
 * 
 *     #: Normal cache persistence.
 *     CU_ACCESS_PROPERTY_NORMAL = ccuda.CUaccessProperty_enum.CU_ACCESS_PROPERTY_NORMAL             # <<<<<<<<<<<<<<
 * 
 *     #: Streaming access is less likely to persit from cache.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUaccessProperty_enum(CU_ACCESS_PROPERTY_NORMAL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_ACCESS_PROPERTY_NORMAL, __pyx_t_4) < 0) __PYX_ERR(1, 2003, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2006
 * 
 *     #: Streaming access is less likely to persit from cache.
 *     CU_ACCESS_PROPERTY_STREAMING = ccuda.CUaccessProperty_enum.CU_ACCESS_PROPERTY_STREAMING             # <<<<<<<<<<<<<<
 * 
 *     #: Persisting access is more likely to persist in cache.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUaccessProperty_enum(CU_ACCESS_PROPERTY_STREAMING); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_ACCESS_PROPERTY_STREAMING, __pyx_t_4) < 0) __PYX_ERR(1, 2006, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2009
 * 
 *     #: Persisting access is more likely to persist in cache.
 *     CU_ACCESS_PROPERTY_PERSISTING = ccuda.CUaccessProperty_enum.CU_ACCESS_PROPERTY_PERSISTING             # <<<<<<<<<<<<<<
 * 
 * class CUgraphConditionalNodeType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUaccessProperty_enum(CU_ACCESS_PROPERTY_PERSISTING); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_ACCESS_PROPERTY_PERSISTING, __pyx_t_4) < 0) __PYX_ERR(1, 2009, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":1996
 *     CU_RESOURCE_TYPE_PITCH2D = ccuda.CUresourcetype_enum.CU_RESOURCE_TYPE_PITCH2D
 * 
 * class CUaccessProperty(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies performance hint with :py:obj:`~.CUaccessPolicyWindow`
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUaccessProperty, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUaccessProperty, __pyx_t_4) < 0) __PYX_ERR(1, 1996, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2011
 *     CU_ACCESS_PROPERTY_PERSISTING = ccuda.CUaccessProperty_enum.CU_ACCESS_PROPERTY_PERSISTING
 * 
 * class CUgraphConditionalNodeType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Conditional node types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 2011, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUgraphConditionalNodeType, __pyx_n_s_CUgraphConditionalNodeType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Conditional_node_types); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 2011, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2018
 *     #: Conditional 'if' Node. Body executed once if condition value is non-
 *     #: zero.
 *     CU_GRAPH_COND_TYPE_IF = ccuda.CUgraphConditionalNodeType_enum.CU_GRAPH_COND_TYPE_IF             # <<<<<<<<<<<<<<
 * 
 *     #: Conditional 'while' Node. Body executed repeatedly while condition
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphConditionalNodeType_enum(CU_GRAPH_COND_TYPE_IF); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2018, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GRAPH_COND_TYPE_IF, __pyx_t_5) < 0) __PYX_ERR(1, 2018, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2022
 *     #: Conditional 'while' Node. Body executed repeatedly while condition
 *     #: value is non-zero.
 *     CU_GRAPH_COND_TYPE_WHILE = ccuda.CUgraphConditionalNodeType_enum.CU_GRAPH_COND_TYPE_WHILE             # <<<<<<<<<<<<<<
 * 
 * class CUgraphNodeType(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphConditionalNodeType_enum(CU_GRAPH_COND_TYPE_WHILE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GRAPH_COND_TYPE_WHILE, __pyx_t_5) < 0) __PYX_ERR(1, 2022, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2011
 *     CU_ACCESS_PROPERTY_PERSISTING = ccuda.CUaccessProperty_enum.CU_ACCESS_PROPERTY_PERSISTING
 * 
 * class CUgraphConditionalNodeType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Conditional node types
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUgraphConditionalNodeType, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUgraphConditionalNodeType, __pyx_t_5) < 0) __PYX_ERR(1, 2011, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2024
 *     CU_GRAPH_COND_TYPE_WHILE = ccuda.CUgraphConditionalNodeType_enum.CU_GRAPH_COND_TYPE_WHILE
 * 
 * class CUgraphNodeType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Graph node types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2024, __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)) __PYX_ERR(1, 2024, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUgraphNodeType, __pyx_n_s_CUgraphNodeType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Graph_node_types); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 2024, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2030
 * 
 *     #: GPU kernel node
 *     CU_GRAPH_NODE_TYPE_KERNEL = ccuda.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_KERNEL             # <<<<<<<<<<<<<<
 * 
 *     #: Memcpy node
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_KERNEL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_NODE_TYPE_KERNEL, __pyx_t_3) < 0) __PYX_ERR(1, 2030, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2033
 * 
 *     #: Memcpy node
 *     CU_GRAPH_NODE_TYPE_MEMCPY = ccuda.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_MEMCPY             # <<<<<<<<<<<<<<
 * 
 *     #: Memset node
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_MEMCPY); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_NODE_TYPE_MEMCPY, __pyx_t_3) < 0) __PYX_ERR(1, 2033, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2036
 * 
 *     #: Memset node
 *     CU_GRAPH_NODE_TYPE_MEMSET = ccuda.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_MEMSET             # <<<<<<<<<<<<<<
 * 
 *     #: Host (executable) node
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_MEMSET); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_NODE_TYPE_MEMSET, __pyx_t_3) < 0) __PYX_ERR(1, 2036, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2039
 * 
 *     #: Host (executable) node
 *     CU_GRAPH_NODE_TYPE_HOST = ccuda.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_HOST             # <<<<<<<<<<<<<<
 * 
 *     #: Node which executes an embedded graph
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_HOST); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_NODE_TYPE_HOST, __pyx_t_3) < 0) __PYX_ERR(1, 2039, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2042
 * 
 *     #: Node which executes an embedded graph
 *     CU_GRAPH_NODE_TYPE_GRAPH = ccuda.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_GRAPH             # <<<<<<<<<<<<<<
 * 
 *     #: Empty (no-op) node
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_GRAPH); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_NODE_TYPE_GRAPH, __pyx_t_3) < 0) __PYX_ERR(1, 2042, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2045
 * 
 *     #: Empty (no-op) node
 *     CU_GRAPH_NODE_TYPE_EMPTY = ccuda.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_EMPTY             # <<<<<<<<<<<<<<
 * 
 *     #: External event wait node
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_EMPTY); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_NODE_TYPE_EMPTY, __pyx_t_3) < 0) __PYX_ERR(1, 2045, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2048
 * 
 *     #: External event wait node
 *     CU_GRAPH_NODE_TYPE_WAIT_EVENT = ccuda.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_WAIT_EVENT             # <<<<<<<<<<<<<<
 * 
 *     #: External event record node
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_WAIT_EVENT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2048, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_NODE_TYPE_WAIT_EVENT, __pyx_t_3) < 0) __PYX_ERR(1, 2048, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2051
 * 
 *     #: External event record node
 *     CU_GRAPH_NODE_TYPE_EVENT_RECORD = ccuda.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_EVENT_RECORD             # <<<<<<<<<<<<<<
 * 
 *     #: External semaphore signal node
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_EVENT_RECORD); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2051, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_NODE_TYPE_EVENT_RECORD, __pyx_t_3) < 0) __PYX_ERR(1, 2051, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2054
 * 
 *     #: External semaphore signal node
 *     CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL = ccuda.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL             # <<<<<<<<<<<<<<
 * 
 *     #: External semaphore wait node
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIG, __pyx_t_3) < 0) __PYX_ERR(1, 2054, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2057
 * 
 *     #: External semaphore wait node
 *     CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT = ccuda.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT             # <<<<<<<<<<<<<<
 * 
 *     #: Memory Allocation Node
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAI, __pyx_t_3) < 0) __PYX_ERR(1, 2057, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2060
 * 
 *     #: Memory Allocation Node
 *     CU_GRAPH_NODE_TYPE_MEM_ALLOC = ccuda.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_MEM_ALLOC             # <<<<<<<<<<<<<<
 * 
 *     #: Memory Free Node
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_MEM_ALLOC); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_NODE_TYPE_MEM_ALLOC, __pyx_t_3) < 0) __PYX_ERR(1, 2060, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2063
 * 
 *     #: Memory Free Node
 *     CU_GRAPH_NODE_TYPE_MEM_FREE = ccuda.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_MEM_FREE             # <<<<<<<<<<<<<<
 * 
 *     #: Batch MemOp Node
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_MEM_FREE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_NODE_TYPE_MEM_FREE, __pyx_t_3) < 0) __PYX_ERR(1, 2063, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2066
 * 
 *     #: Batch MemOp Node
 *     CU_GRAPH_NODE_TYPE_BATCH_MEM_OP = ccuda.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_BATCH_MEM_OP             # <<<<<<<<<<<<<<
 * 
 *     #: Conditional Node                                         May be used
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_BATCH_MEM_OP); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_NODE_TYPE_BATCH_MEM_OP, __pyx_t_3) < 0) __PYX_ERR(1, 2066, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2093
 *     #:                                         call
 *     #: :py:obj:`~.cudaGraphSetConditional` from device code.
 *     CU_GRAPH_NODE_TYPE_CONDITIONAL = ccuda.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_CONDITIONAL             # <<<<<<<<<<<<<<
 * 
 * class CUgraphDependencyType(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphNodeType_enum(CU_GRAPH_NODE_TYPE_CONDITIONAL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_NODE_TYPE_CONDITIONAL, __pyx_t_3) < 0) __PYX_ERR(1, 2093, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2024
 *     CU_GRAPH_COND_TYPE_WHILE = ccuda.CUgraphConditionalNodeType_enum.CU_GRAPH_COND_TYPE_WHILE
 * 
 * class CUgraphNodeType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Graph node types
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUgraphNodeType, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUgraphNodeType, __pyx_t_3) < 0) __PYX_ERR(1, 2024, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2095
 *     CU_GRAPH_NODE_TYPE_CONDITIONAL = ccuda.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_CONDITIONAL
 * 
 * class CUgraphDependencyType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Type annotations that can be applied to graph edges as part of
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 2095, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUgraphDependencyType, __pyx_n_s_CUgraphDependencyType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Type_annotations_that_can_be_ap); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 2095, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2102
 * 
 *     #: This is an ordinary dependency.
 *     CU_GRAPH_DEPENDENCY_TYPE_DEFAULT = ccuda.CUgraphDependencyType_enum.CU_GRAPH_DEPENDENCY_TYPE_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: This dependency type allows the downstream node to use
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUgraphDependencyType_enum(CU_GRAPH_DEPENDENCY_TYPE_DEFAULT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_GRAPH_DEPENDENCY_TYPE_DEFAULT, __pyx_t_4) < 0) __PYX_ERR(1, 2102, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2109
 *     #: :py:obj:`~.CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC` or
 *     #: :py:obj:`~.CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER` outgoing port.
 *     CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC = ccuda.CUgraphDependencyType_enum.CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC             # <<<<<<<<<<<<<<
 * 
 * class CUgraphInstantiateResult(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUgraphDependencyType_enum(CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_GRAPH_DEPENDENCY_TYPE_PROGRAM, __pyx_t_4) < 0) __PYX_ERR(1, 2109, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2095
 *     CU_GRAPH_NODE_TYPE_CONDITIONAL = ccuda.CUgraphNodeType_enum.CU_GRAPH_NODE_TYPE_CONDITIONAL
 * 
 * class CUgraphDependencyType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Type annotations that can be applied to graph edges as part of
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUgraphDependencyType, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUgraphDependencyType, __pyx_t_4) < 0) __PYX_ERR(1, 2095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2111
 *     CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC = ccuda.CUgraphDependencyType_enum.CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC
 * 
 * class CUgraphInstantiateResult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Graph instantiation results
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 2111, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUgraphInstantiateResult, __pyx_n_s_CUgraphInstantiateResult, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Graph_instantiation_results); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 2111, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2117
 * 
 *     #: Instantiation succeeded
 *     CUDA_GRAPH_INSTANTIATE_SUCCESS = ccuda.CUgraphInstantiateResult_enum.CUDA_GRAPH_INSTANTIATE_SUCCESS             # <<<<<<<<<<<<<<
 * 
 *     #: Instantiation failed for an unexpected reason which is described in
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphInstantiateResult_enum(CUDA_GRAPH_INSTANTIATE_SUCCESS); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CUDA_GRAPH_INSTANTIATE_SUCCESS, __pyx_t_5) < 0) __PYX_ERR(1, 2117, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2121
 *     #: Instantiation failed for an unexpected reason which is described in
 *     #: the return value of the function
 *     CUDA_GRAPH_INSTANTIATE_ERROR = ccuda.CUgraphInstantiateResult_enum.CUDA_GRAPH_INSTANTIATE_ERROR             # <<<<<<<<<<<<<<
 * 
 *     #: Instantiation failed due to invalid structure, such as cycles
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphInstantiateResult_enum(CUDA_GRAPH_INSTANTIATE_ERROR); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CUDA_GRAPH_INSTANTIATE_ERROR, __pyx_t_5) < 0) __PYX_ERR(1, 2121, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2124
 * 
 *     #: Instantiation failed due to invalid structure, such as cycles
 *     CUDA_GRAPH_INSTANTIATE_INVALID_STRUCTURE = ccuda.CUgraphInstantiateResult_enum.CUDA_GRAPH_INSTANTIATE_INVALID_STRUCTURE             # <<<<<<<<<<<<<<
 * 
 *     #: Instantiation for device launch failed because the graph contained
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphInstantiateResult_enum(CUDA_GRAPH_INSTANTIATE_INVALID_STRUCTURE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CUDA_GRAPH_INSTANTIATE_INVALID_S, __pyx_t_5) < 0) __PYX_ERR(1, 2124, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2128
 *     #: Instantiation for device launch failed because the graph contained
 *     #: an unsupported operation
 *     CUDA_GRAPH_INSTANTIATE_NODE_OPERATION_NOT_SUPPORTED = ccuda.CUgraphInstantiateResult_enum.CUDA_GRAPH_INSTANTIATE_NODE_OPERATION_NOT_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Instantiation for device launch failed due to the nodes belonging to
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphInstantiateResult_enum(CUDA_GRAPH_INSTANTIATE_NODE_OPERATION_NOT_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CUDA_GRAPH_INSTANTIATE_NODE_OPER, __pyx_t_5) < 0) __PYX_ERR(1, 2128, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2132
 *     #: Instantiation for device launch failed due to the nodes belonging to
 *     #: different contexts
 *     CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED = ccuda.CUgraphInstantiateResult_enum.CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 * class CUsynchronizationPolicy(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphInstantiateResult_enum(CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CUDA_GRAPH_INSTANTIATE_MULTIPLE, __pyx_t_5) < 0) __PYX_ERR(1, 2132, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2111
 *     CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC = ccuda.CUgraphDependencyType_enum.CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC
 * 
 * class CUgraphInstantiateResult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Graph instantiation results
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUgraphInstantiateResult, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUgraphInstantiateResult, __pyx_t_5) < 0) __PYX_ERR(1, 2111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2134
 *     CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED = ccuda.CUgraphInstantiateResult_enum.CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED
 * 
 * class CUsynchronizationPolicy(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2134, __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)) __PYX_ERR(1, 2134, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUsynchronizationPolicy, __pyx_n_s_CUsynchronizationPolicy, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s__961); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 2134, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2138
 * 
 *     """
 *     CU_SYNC_POLICY_AUTO = ccuda.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_AUTO             # <<<<<<<<<<<<<<
 *     CU_SYNC_POLICY_SPIN = ccuda.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_SPIN
 *     CU_SYNC_POLICY_YIELD = ccuda.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_YIELD
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUsynchronizationPolicy_enum(CU_SYNC_POLICY_AUTO); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_SYNC_POLICY_AUTO, __pyx_t_3) < 0) __PYX_ERR(1, 2138, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2139
 *     """
 *     CU_SYNC_POLICY_AUTO = ccuda.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_AUTO
 *     CU_SYNC_POLICY_SPIN = ccuda.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_SPIN             # <<<<<<<<<<<<<<
 *     CU_SYNC_POLICY_YIELD = ccuda.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_YIELD
 *     CU_SYNC_POLICY_BLOCKING_SYNC = ccuda.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_BLOCKING_SYNC
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUsynchronizationPolicy_enum(CU_SYNC_POLICY_SPIN); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_SYNC_POLICY_SPIN, __pyx_t_3) < 0) __PYX_ERR(1, 2139, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2140
 *     CU_SYNC_POLICY_AUTO = ccuda.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_AUTO
 *     CU_SYNC_POLICY_SPIN = ccuda.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_SPIN
 *     CU_SYNC_POLICY_YIELD = ccuda.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_YIELD             # <<<<<<<<<<<<<<
 *     CU_SYNC_POLICY_BLOCKING_SYNC = ccuda.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_BLOCKING_SYNC
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUsynchronizationPolicy_enum(CU_SYNC_POLICY_YIELD); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_SYNC_POLICY_YIELD, __pyx_t_3) < 0) __PYX_ERR(1, 2140, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2141
 *     CU_SYNC_POLICY_SPIN = ccuda.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_SPIN
 *     CU_SYNC_POLICY_YIELD = ccuda.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_YIELD
 *     CU_SYNC_POLICY_BLOCKING_SYNC = ccuda.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_BLOCKING_SYNC             # <<<<<<<<<<<<<<
 * 
 * class CUclusterSchedulingPolicy(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUsynchronizationPolicy_enum(CU_SYNC_POLICY_BLOCKING_SYNC); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_SYNC_POLICY_BLOCKING_SYNC, __pyx_t_3) < 0) __PYX_ERR(1, 2141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2134
 *     CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED = ccuda.CUgraphInstantiateResult_enum.CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED
 * 
 * class CUsynchronizationPolicy(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUsynchronizationPolicy, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUsynchronizationPolicy, __pyx_t_3) < 0) __PYX_ERR(1, 2134, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2143
 *     CU_SYNC_POLICY_BLOCKING_SYNC = ccuda.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_BLOCKING_SYNC
 * 
 * class CUclusterSchedulingPolicy(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Cluster scheduling policies. These may be passed to
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 2143, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUclusterSchedulingPolicy, __pyx_n_s_CUclusterSchedulingPolicy, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Cluster_scheduling_policies_The); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 2143, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2150
 * 
 *     #: the default policy
 *     CU_CLUSTER_SCHEDULING_POLICY_DEFAULT = ccuda.CUclusterSchedulingPolicy_enum.CU_CLUSTER_SCHEDULING_POLICY_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: spread the blocks within a cluster to the SMs
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUclusterSchedulingPolicy_enum(CU_CLUSTER_SCHEDULING_POLICY_DEFAULT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_DEF, __pyx_t_4) < 0) __PYX_ERR(1, 2150, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2153
 * 
 *     #: spread the blocks within a cluster to the SMs
 *     CU_CLUSTER_SCHEDULING_POLICY_SPREAD = ccuda.CUclusterSchedulingPolicy_enum.CU_CLUSTER_SCHEDULING_POLICY_SPREAD             # <<<<<<<<<<<<<<
 * 
 *     #: allow the hardware to load-balance the blocks in a cluster to the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUclusterSchedulingPolicy_enum(CU_CLUSTER_SCHEDULING_POLICY_SPREAD); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_SPR, __pyx_t_4) < 0) __PYX_ERR(1, 2153, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2157
 *     #: allow the hardware to load-balance the blocks in a cluster to the
 *     #: SMs
 *     CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING = ccuda.CUclusterSchedulingPolicy_enum.CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING             # <<<<<<<<<<<<<<
 * 
 * class CUlaunchMemSyncDomain(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUclusterSchedulingPolicy_enum(CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_CLUSTER_SCHEDULING_POLICY_LOA, __pyx_t_4) < 0) __PYX_ERR(1, 2157, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2143
 *     CU_SYNC_POLICY_BLOCKING_SYNC = ccuda.CUsynchronizationPolicy_enum.CU_SYNC_POLICY_BLOCKING_SYNC
 * 
 * class CUclusterSchedulingPolicy(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Cluster scheduling policies. These may be passed to
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUclusterSchedulingPolicy, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUclusterSchedulingPolicy, __pyx_t_4) < 0) __PYX_ERR(1, 2143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2159
 *     CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING = ccuda.CUclusterSchedulingPolicy_enum.CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING
 * 
 * class CUlaunchMemSyncDomain(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory Synchronization Domain  A kernel can be launched in a
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 2159, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUlaunchMemSyncDomain, __pyx_n_s_CUlaunchMemSyncDomain, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Memory_Synchronization_Domain_A); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 2159, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2182
 * 
 *     #: Launch kernels in the default domain
 *     CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAULT = ccuda.CUlaunchMemSyncDomain_enum.CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: Launch kernels in the remote domain
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlaunchMemSyncDomain_enum(CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAULT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAUL, __pyx_t_5) < 0) __PYX_ERR(1, 2182, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2185
 * 
 *     #: Launch kernels in the remote domain
 *     CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE = ccuda.CUlaunchMemSyncDomain_enum.CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE             # <<<<<<<<<<<<<<
 * 
 * class CUlaunchAttributeID(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlaunchMemSyncDomain_enum(CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE, __pyx_t_5) < 0) __PYX_ERR(1, 2185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2159
 *     CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING = ccuda.CUclusterSchedulingPolicy_enum.CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING
 * 
 * class CUlaunchMemSyncDomain(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory Synchronization Domain  A kernel can be launched in a
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUlaunchMemSyncDomain, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUlaunchMemSyncDomain, __pyx_t_5) < 0) __PYX_ERR(1, 2159, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2187
 *     CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE = ccuda.CUlaunchMemSyncDomain_enum.CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE
 * 
 * class CUlaunchAttributeID(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes enum; used as id field of
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2187, __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)) __PYX_ERR(1, 2187, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUlaunchAttributeID, __pyx_n_s_CUlaunchAttributeID, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Launch_attributes_enum_used_as); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 2187, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2194
 * 
 *     #: Ignored entry, for convenient composition
 *     CU_LAUNCH_ATTRIBUTE_IGNORE = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_IGNORE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_IGNORE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_IGNORE, __pyx_t_3) < 0) __PYX_ERR(1, 2194, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2198
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.accessPolicyWindow`.
 *     CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC, __pyx_t_3) < 0) __PYX_ERR(1, 2198, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2202
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.cooperative`.
 *     CU_LAUNCH_ATTRIBUTE_COOPERATIVE = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_COOPERATIVE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams. See
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_COOPERATIVE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_COOPERATIVE, __pyx_t_3) < 0) __PYX_ERR(1, 2202, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2206
 *     #: Valid for streams. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.syncPolicy`.
 *     CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT, __pyx_t_3) < 0) __PYX_ERR(1, 2206, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2210
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.clusterDim`.
 *     CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME, __pyx_t_3) < 0) __PYX_ERR(1, 2210, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2214
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.clusterSchedulingPolicyPreference`.
 *     CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Setting
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE, __pyx_t_3) < 0) __PYX_ERR(1, 2214, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2225
 *     #: the programmatic sync (cudaGridDependencySynchronize() or equivalent
 *     #: PTX instructions).
 *     CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Set
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC, __pyx_t_3) < 0) __PYX_ERR(1, 2225, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2248
 *     #: The event must disable timing (i.e. must be created with the
 *     #: :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag set).
 *     CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2, __pyx_t_3) < 0) __PYX_ERR(1, 2248, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2252
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.priority`.
 *     CU_LAUNCH_ATTRIBUTE_PRIORITY = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PRIORITY             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PRIORITY); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_PRIORITY, __pyx_t_3) < 0) __PYX_ERR(1, 2252, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2256
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.memSyncDomainMap`.
 *     CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2256, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM, __pyx_t_3) < 0) __PYX_ERR(1, 2256, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2260
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.memSyncDomain`.
 *     CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Set
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2, __pyx_t_3) < 0) __PYX_ERR(1, 2260, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2280
 *     #: The event must disable timing (i.e. must be created with the
 *     #: :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag set).
 *     CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. This attribute is graphs-only, and
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL, __pyx_t_3) < 0) __PYX_ERR(1, 2280, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2313
 *     #: updatable nodes, the graph must be uploaded before it is launched
 *     #: again.
 *     CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE             # <<<<<<<<<<<<<<
 * 
 * class CUstreamCaptureStatus(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT, __pyx_t_3) < 0) __PYX_ERR(1, 2313, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2187
 *     CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE = ccuda.CUlaunchMemSyncDomain_enum.CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE
 * 
 * class CUlaunchAttributeID(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes enum; used as id field of
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUlaunchAttributeID, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUlaunchAttributeID, __pyx_t_3) < 0) __PYX_ERR(1, 2187, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2315
 *     CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE
 * 
 * class CUstreamCaptureStatus(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Possible stream capture statuses returned by
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 2315, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUstreamCaptureStatus, __pyx_n_s_CUstreamCaptureStatus, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Possible_stream_capture_statuse); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 2315, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2322
 * 
 *     #: Stream is not capturing
 *     CU_STREAM_CAPTURE_STATUS_NONE = ccuda.CUstreamCaptureStatus_enum.CU_STREAM_CAPTURE_STATUS_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: Stream is actively capturing
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUstreamCaptureStatus_enum(CU_STREAM_CAPTURE_STATUS_NONE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_STREAM_CAPTURE_STATUS_NONE, __pyx_t_4) < 0) __PYX_ERR(1, 2322, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2325
 * 
 *     #: Stream is actively capturing
 *     CU_STREAM_CAPTURE_STATUS_ACTIVE = ccuda.CUstreamCaptureStatus_enum.CU_STREAM_CAPTURE_STATUS_ACTIVE             # <<<<<<<<<<<<<<
 * 
 *     #: Stream is part of a capture sequence that has been invalidated, but
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUstreamCaptureStatus_enum(CU_STREAM_CAPTURE_STATUS_ACTIVE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2325, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_STREAM_CAPTURE_STATUS_ACTIVE, __pyx_t_4) < 0) __PYX_ERR(1, 2325, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2329
 *     #: Stream is part of a capture sequence that has been invalidated, but
 *     #: not terminated
 *     CU_STREAM_CAPTURE_STATUS_INVALIDATED = ccuda.CUstreamCaptureStatus_enum.CU_STREAM_CAPTURE_STATUS_INVALIDATED             # <<<<<<<<<<<<<<
 * 
 * class CUstreamCaptureMode(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUstreamCaptureStatus_enum(CU_STREAM_CAPTURE_STATUS_INVALIDATED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_STREAM_CAPTURE_STATUS_INVALID, __pyx_t_4) < 0) __PYX_ERR(1, 2329, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2315
 *     CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE
 * 
 * class CUstreamCaptureStatus(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Possible stream capture statuses returned by
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUstreamCaptureStatus, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUstreamCaptureStatus, __pyx_t_4) < 0) __PYX_ERR(1, 2315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2331
 *     CU_STREAM_CAPTURE_STATUS_INVALIDATED = ccuda.CUstreamCaptureStatus_enum.CU_STREAM_CAPTURE_STATUS_INVALIDATED
 * 
 * class CUstreamCaptureMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Possible modes for stream capture thread interactions. For more
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 2331, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUstreamCaptureMode, __pyx_n_s_CUstreamCaptureMode, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Possible_modes_for_stream_captu); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 2331, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2337
 *     :py:obj:`~.cuThreadExchangeStreamCaptureMode`
 *     """
 *     CU_STREAM_CAPTURE_MODE_GLOBAL = ccuda.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_GLOBAL             # <<<<<<<<<<<<<<
 *     CU_STREAM_CAPTURE_MODE_THREAD_LOCAL = ccuda.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_THREAD_LOCAL
 *     CU_STREAM_CAPTURE_MODE_RELAXED = ccuda.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_RELAXED
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUstreamCaptureMode_enum(CU_STREAM_CAPTURE_MODE_GLOBAL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_STREAM_CAPTURE_MODE_GLOBAL, __pyx_t_5) < 0) __PYX_ERR(1, 2337, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2338
 *     """
 *     CU_STREAM_CAPTURE_MODE_GLOBAL = ccuda.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_GLOBAL
 *     CU_STREAM_CAPTURE_MODE_THREAD_LOCAL = ccuda.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_THREAD_LOCAL             # <<<<<<<<<<<<<<
 *     CU_STREAM_CAPTURE_MODE_RELAXED = ccuda.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_RELAXED
 * 
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUstreamCaptureMode_enum(CU_STREAM_CAPTURE_MODE_THREAD_LOCAL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_STREAM_CAPTURE_MODE_THREAD_LO, __pyx_t_5) < 0) __PYX_ERR(1, 2338, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2339
 *     CU_STREAM_CAPTURE_MODE_GLOBAL = ccuda.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_GLOBAL
 *     CU_STREAM_CAPTURE_MODE_THREAD_LOCAL = ccuda.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_THREAD_LOCAL
 *     CU_STREAM_CAPTURE_MODE_RELAXED = ccuda.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_RELAXED             # <<<<<<<<<<<<<<
 * 
 * class CUdriverProcAddress_flags(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUstreamCaptureMode_enum(CU_STREAM_CAPTURE_MODE_RELAXED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_STREAM_CAPTURE_MODE_RELAXED, __pyx_t_5) < 0) __PYX_ERR(1, 2339, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2331
 *     CU_STREAM_CAPTURE_STATUS_INVALIDATED = ccuda.CUstreamCaptureStatus_enum.CU_STREAM_CAPTURE_STATUS_INVALIDATED
 * 
 * class CUstreamCaptureMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Possible modes for stream capture thread interactions. For more
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUstreamCaptureMode, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUstreamCaptureMode, __pyx_t_5) < 0) __PYX_ERR(1, 2331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2341
 *     CU_STREAM_CAPTURE_MODE_RELAXED = ccuda.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_RELAXED
 * 
 * class CUdriverProcAddress_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to specify search options. For more details see
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2341, __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)) __PYX_ERR(1, 2341, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUdriverProcAddress_flags, __pyx_n_s_CUdriverProcAddress_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Flags_to_specify_search_options); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 2341, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2348
 * 
 *     #: Default search mode for driver symbols.
 *     CU_GET_PROC_ADDRESS_DEFAULT = ccuda.CUdriverProcAddress_flags_enum.CU_GET_PROC_ADDRESS_DEFAULT             # <<<<<<<<<<<<<<
 * 
 *     #: Search for legacy versions of driver symbols.
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUdriverProcAddress_flags_enum(CU_GET_PROC_ADDRESS_DEFAULT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GET_PROC_ADDRESS_DEFAULT, __pyx_t_3) < 0) __PYX_ERR(1, 2348, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2351
 * 
 *     #: Search for legacy versions of driver symbols.
 *     CU_GET_PROC_ADDRESS_LEGACY_STREAM = ccuda.CUdriverProcAddress_flags_enum.CU_GET_PROC_ADDRESS_LEGACY_STREAM             # <<<<<<<<<<<<<<
 * 
 *     #: Search for per-thread versions of driver symbols.
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUdriverProcAddress_flags_enum(CU_GET_PROC_ADDRESS_LEGACY_STREAM); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GET_PROC_ADDRESS_LEGACY_STREA, __pyx_t_3) < 0) __PYX_ERR(1, 2351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2354
 * 
 *     #: Search for per-thread versions of driver symbols.
 *     CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM = ccuda.CUdriverProcAddress_flags_enum.CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM             # <<<<<<<<<<<<<<
 * 
 * class CUdriverProcAddressQueryResult(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUdriverProcAddress_flags_enum(CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GET_PROC_ADDRESS_PER_THREAD_D, __pyx_t_3) < 0) __PYX_ERR(1, 2354, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2341
 *     CU_STREAM_CAPTURE_MODE_RELAXED = ccuda.CUstreamCaptureMode_enum.CU_STREAM_CAPTURE_MODE_RELAXED
 * 
 * class CUdriverProcAddress_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to specify search options. For more details see
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUdriverProcAddress_flags, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUdriverProcAddress_flags, __pyx_t_3) < 0) __PYX_ERR(1, 2341, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2356
 *     CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM = ccuda.CUdriverProcAddress_flags_enum.CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM
 * 
 * class CUdriverProcAddressQueryResult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to indicate search status. For more details see
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 2356, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUdriverProcAddressQueryResult, __pyx_n_s_CUdriverProcAddressQueryResult, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Flags_to_indicate_search_status); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 2356, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2363
 * 
 *     #: Symbol was succesfully found
 *     CU_GET_PROC_ADDRESS_SUCCESS = ccuda.CUdriverProcAddressQueryResult_enum.CU_GET_PROC_ADDRESS_SUCCESS             # <<<<<<<<<<<<<<
 * 
 *     #: Symbol was not found in search
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUdriverProcAddressQueryResult_enum(CU_GET_PROC_ADDRESS_SUCCESS); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_GET_PROC_ADDRESS_SUCCESS, __pyx_t_4) < 0) __PYX_ERR(1, 2363, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2366
 * 
 *     #: Symbol was not found in search
 *     CU_GET_PROC_ADDRESS_SYMBOL_NOT_FOUND = ccuda.CUdriverProcAddressQueryResult_enum.CU_GET_PROC_ADDRESS_SYMBOL_NOT_FOUND             # <<<<<<<<<<<<<<
 * 
 *     #: Symbol was found but version supplied was not sufficient
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUdriverProcAddressQueryResult_enum(CU_GET_PROC_ADDRESS_SYMBOL_NOT_FOUND); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_GET_PROC_ADDRESS_SYMBOL_NOT_F, __pyx_t_4) < 0) __PYX_ERR(1, 2366, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2369
 * 
 *     #: Symbol was found but version supplied was not sufficient
 *     CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT = ccuda.CUdriverProcAddressQueryResult_enum.CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT             # <<<<<<<<<<<<<<
 * 
 * class CUexecAffinityType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUdriverProcAddressQueryResult_enum(CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_GET_PROC_ADDRESS_VERSION_NOT, __pyx_t_4) < 0) __PYX_ERR(1, 2369, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2356
 *     CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM = ccuda.CUdriverProcAddress_flags_enum.CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM
 * 
 * class CUdriverProcAddressQueryResult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to indicate search status. For more details see
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUdriverProcAddressQueryResult, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUdriverProcAddressQueryResult, __pyx_t_4) < 0) __PYX_ERR(1, 2356, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2371
 *     CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT = ccuda.CUdriverProcAddressQueryResult_enum.CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT
 * 
 * class CUexecAffinityType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Execution Affinity Types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 2371, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUexecAffinityType, __pyx_n_s_CUexecAffinityType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Execution_Affinity_Types); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 2371, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2377
 * 
 *     #: Create a context with limited SMs.
 *     CU_EXEC_AFFINITY_TYPE_SM_COUNT = ccuda.CUexecAffinityType_enum.CU_EXEC_AFFINITY_TYPE_SM_COUNT             # <<<<<<<<<<<<<<
 *     CU_EXEC_AFFINITY_TYPE_MAX = ccuda.CUexecAffinityType_enum.CU_EXEC_AFFINITY_TYPE_MAX
 * 
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUexecAffinityType_enum(CU_EXEC_AFFINITY_TYPE_SM_COUNT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_EXEC_AFFINITY_TYPE_SM_COUNT, __pyx_t_5) < 0) __PYX_ERR(1, 2377, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2378
 *     #: Create a context with limited SMs.
 *     CU_EXEC_AFFINITY_TYPE_SM_COUNT = ccuda.CUexecAffinityType_enum.CU_EXEC_AFFINITY_TYPE_SM_COUNT
 *     CU_EXEC_AFFINITY_TYPE_MAX = ccuda.CUexecAffinityType_enum.CU_EXEC_AFFINITY_TYPE_MAX             # <<<<<<<<<<<<<<
 * 
 * class CUlibraryOption(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUexecAffinityType_enum(CU_EXEC_AFFINITY_TYPE_MAX); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_EXEC_AFFINITY_TYPE_MAX, __pyx_t_5) < 0) __PYX_ERR(1, 2378, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2371
 *     CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT = ccuda.CUdriverProcAddressQueryResult_enum.CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT
 * 
 * class CUexecAffinityType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Execution Affinity Types
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUexecAffinityType, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUexecAffinityType, __pyx_t_5) < 0) __PYX_ERR(1, 2371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2380
 *     CU_EXEC_AFFINITY_TYPE_MAX = ccuda.CUexecAffinityType_enum.CU_EXEC_AFFINITY_TYPE_MAX
 * 
 * class CUlibraryOption(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Library options to be specified with
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2380, __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)) __PYX_ERR(1, 2380, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUlibraryOption, __pyx_n_s_CUlibraryOption, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Library_options_to_be_specified); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 2380, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2386
 *     :py:obj:`~.cuLibraryLoadFromFile()`
 *     """
 *     CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE = ccuda.CUlibraryOption_enum.CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE             # <<<<<<<<<<<<<<
 * 
 *     #: Specifes that the argument `code` passed to
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlibraryOption_enum(CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_LIBRARY_HOST_UNIVERSAL_FUNCTI, __pyx_t_3) < 0) __PYX_ERR(1, 2386, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2397
 *     #: :py:obj:`~.cuLibraryLoadFromFile()` is invalid and will return
 *     #: :py:obj:`~.CUDA_ERROR_INVALID_VALUE`.
 *     CU_LIBRARY_BINARY_IS_PRESERVED = ccuda.CUlibraryOption_enum.CU_LIBRARY_BINARY_IS_PRESERVED             # <<<<<<<<<<<<<<
 *     CU_LIBRARY_NUM_OPTIONS = ccuda.CUlibraryOption_enum.CU_LIBRARY_NUM_OPTIONS
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlibraryOption_enum(CU_LIBRARY_BINARY_IS_PRESERVED); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_LIBRARY_BINARY_IS_PRESERVED, __pyx_t_3) < 0) __PYX_ERR(1, 2397, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2398
 *     #: :py:obj:`~.CUDA_ERROR_INVALID_VALUE`.
 *     CU_LIBRARY_BINARY_IS_PRESERVED = ccuda.CUlibraryOption_enum.CU_LIBRARY_BINARY_IS_PRESERVED
 *     CU_LIBRARY_NUM_OPTIONS = ccuda.CUlibraryOption_enum.CU_LIBRARY_NUM_OPTIONS             # <<<<<<<<<<<<<<
 * 
 * class CUresult(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUlibraryOption_enum(CU_LIBRARY_NUM_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2398, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_LIBRARY_NUM_OPTIONS, __pyx_t_3) < 0) __PYX_ERR(1, 2398, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2380
 *     CU_EXEC_AFFINITY_TYPE_MAX = ccuda.CUexecAffinityType_enum.CU_EXEC_AFFINITY_TYPE_MAX
 * 
 * class CUlibraryOption(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Library options to be specified with
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUlibraryOption, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUlibraryOption, __pyx_t_3) < 0) __PYX_ERR(1, 2380, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2400
 *     CU_LIBRARY_NUM_OPTIONS = ccuda.CUlibraryOption_enum.CU_LIBRARY_NUM_OPTIONS
 * 
 * class CUresult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Error codes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 2400, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUresult, __pyx_n_s_CUresult, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Error_codes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 2400, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2408
 *     #: this also means that the operation being queried is complete (see
 *     #: :py:obj:`~.cuEventQuery()` and :py:obj:`~.cuStreamQuery()`).
 *     CUDA_SUCCESS = ccuda.cudaError_enum.CUDA_SUCCESS             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that one or more of the parameters passed to the API
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_SUCCESS); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_SUCCESS, __pyx_t_4) < 0) __PYX_ERR(1, 2408, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2412
 *     #: This indicates that one or more of the parameters passed to the API
 *     #: call is not within an acceptable range of values.
 *     CUDA_ERROR_INVALID_VALUE = ccuda.cudaError_enum.CUDA_ERROR_INVALID_VALUE             # <<<<<<<<<<<<<<
 * 
 *     #: The API call failed because it was unable to allocate enough memory
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_INVALID_VALUE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_INVALID_VALUE, __pyx_t_4) < 0) __PYX_ERR(1, 2412, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2416
 *     #: The API call failed because it was unable to allocate enough memory
 *     #: or other resources to perform the requested operation.
 *     CUDA_ERROR_OUT_OF_MEMORY = ccuda.cudaError_enum.CUDA_ERROR_OUT_OF_MEMORY             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the CUDA driver has not been initialized with
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_OUT_OF_MEMORY); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_OUT_OF_MEMORY, __pyx_t_4) < 0) __PYX_ERR(1, 2416, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2420
 *     #: This indicates that the CUDA driver has not been initialized with
 *     #: :py:obj:`~.cuInit()` or that initialization has failed.
 *     CUDA_ERROR_NOT_INITIALIZED = ccuda.cudaError_enum.CUDA_ERROR_NOT_INITIALIZED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the CUDA driver is in the process of shutting
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_NOT_INITIALIZED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_NOT_INITIALIZED, __pyx_t_4) < 0) __PYX_ERR(1, 2420, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2424
 *     #: This indicates that the CUDA driver is in the process of shutting
 *     #: down.
 *     CUDA_ERROR_DEINITIALIZED = ccuda.cudaError_enum.CUDA_ERROR_DEINITIALIZED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates profiler is not initialized for this run. This can
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_DEINITIALIZED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_DEINITIALIZED, __pyx_t_4) < 0) __PYX_ERR(1, 2424, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2429
 *     #: happen when the application is running with external profiling tools
 *     #: like visual profiler.
 *     CUDA_ERROR_PROFILER_DISABLED = ccuda.cudaError_enum.CUDA_ERROR_PROFILER_DISABLED             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_PROFILER_DISABLED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_PROFILER_DISABLED, __pyx_t_4) < 0) __PYX_ERR(1, 2429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2432
 * 
 *     #: [Deprecated]
 *     CUDA_ERROR_PROFILER_NOT_INITIALIZED = ccuda.cudaError_enum.CUDA_ERROR_PROFILER_NOT_INITIALIZED             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_PROFILER_NOT_INITIALIZED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_PROFILER_NOT_INITIALI, __pyx_t_4) < 0) __PYX_ERR(1, 2432, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2435
 * 
 *     #: [Deprecated]
 *     CUDA_ERROR_PROFILER_ALREADY_STARTED = ccuda.cudaError_enum.CUDA_ERROR_PROFILER_ALREADY_STARTED             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_PROFILER_ALREADY_STARTED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_PROFILER_ALREADY_STAR, __pyx_t_4) < 0) __PYX_ERR(1, 2435, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2438
 * 
 *     #: [Deprecated]
 *     CUDA_ERROR_PROFILER_ALREADY_STOPPED = ccuda.cudaError_enum.CUDA_ERROR_PROFILER_ALREADY_STOPPED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the CUDA driver that the application has loaded
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_PROFILER_ALREADY_STOPPED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_PROFILER_ALREADY_STOP, __pyx_t_4) < 0) __PYX_ERR(1, 2438, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2443
 *     #: is a stub library. Applications that run with the stub rather than a
 *     #: real driver loaded will result in CUDA API returning this error.
 *     CUDA_ERROR_STUB_LIBRARY = ccuda.cudaError_enum.CUDA_ERROR_STUB_LIBRARY             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that requested CUDA device is unavailable at the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_STUB_LIBRARY); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_STUB_LIBRARY, __pyx_t_4) < 0) __PYX_ERR(1, 2443, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2449
 *     #: :py:obj:`~.CU_COMPUTEMODE_EXCLUSIVE_PROCESS` or
 *     #: :py:obj:`~.CU_COMPUTEMODE_PROHIBITED`.
 *     CUDA_ERROR_DEVICE_UNAVAILABLE = ccuda.cudaError_enum.CUDA_ERROR_DEVICE_UNAVAILABLE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that no CUDA-capable devices were detected by the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_DEVICE_UNAVAILABLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_DEVICE_UNAVAILABLE, __pyx_t_4) < 0) __PYX_ERR(1, 2449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2453
 *     #: This indicates that no CUDA-capable devices were detected by the
 *     #: installed CUDA driver.
 *     CUDA_ERROR_NO_DEVICE = ccuda.cudaError_enum.CUDA_ERROR_NO_DEVICE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the device ordinal supplied by the user does not
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_NO_DEVICE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_NO_DEVICE, __pyx_t_4) < 0) __PYX_ERR(1, 2453, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2458
 *     #: correspond to a valid CUDA device or that the action requested is
 *     #: invalid for the specified device.
 *     CUDA_ERROR_INVALID_DEVICE = ccuda.cudaError_enum.CUDA_ERROR_INVALID_DEVICE             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the Grid license is not applied.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_INVALID_DEVICE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_INVALID_DEVICE, __pyx_t_4) < 0) __PYX_ERR(1, 2458, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2461
 * 
 *     #: This error indicates that the Grid license is not applied.
 *     CUDA_ERROR_DEVICE_NOT_LICENSED = ccuda.cudaError_enum.CUDA_ERROR_DEVICE_NOT_LICENSED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the device kernel image is invalid. This can
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_DEVICE_NOT_LICENSED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_DEVICE_NOT_LICENSED, __pyx_t_4) < 0) __PYX_ERR(1, 2461, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2465
 *     #: This indicates that the device kernel image is invalid. This can
 *     #: also indicate an invalid CUDA module.
 *     CUDA_ERROR_INVALID_IMAGE = ccuda.cudaError_enum.CUDA_ERROR_INVALID_IMAGE             # <<<<<<<<<<<<<<
 * 
 *     #: This most frequently indicates that there is no context bound to the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_INVALID_IMAGE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_INVALID_IMAGE, __pyx_t_4) < 0) __PYX_ERR(1, 2465, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2476
 *     #: was not converted to a :py:obj:`~.CUcontext` using
 *     #: :py:obj:`~.cuCtxFromGreenCtx` API.
 *     CUDA_ERROR_INVALID_CONTEXT = ccuda.cudaError_enum.CUDA_ERROR_INVALID_CONTEXT             # <<<<<<<<<<<<<<
 * 
 *     #: This indicated that the context being supplied as a parameter to the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_INVALID_CONTEXT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_INVALID_CONTEXT, __pyx_t_4) < 0) __PYX_ERR(1, 2476, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2480
 *     #: This indicated that the context being supplied as a parameter to the
 *     #: API call was already the active context. [Deprecated]
 *     CUDA_ERROR_CONTEXT_ALREADY_CURRENT = ccuda.cudaError_enum.CUDA_ERROR_CONTEXT_ALREADY_CURRENT             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a map or register operation has failed.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_CONTEXT_ALREADY_CURRENT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_CONTEXT_ALREADY_CURRE, __pyx_t_4) < 0) __PYX_ERR(1, 2480, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2483
 * 
 *     #: This indicates that a map or register operation has failed.
 *     CUDA_ERROR_MAP_FAILED = ccuda.cudaError_enum.CUDA_ERROR_MAP_FAILED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an unmap or unregister operation has failed.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_MAP_FAILED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_MAP_FAILED, __pyx_t_4) < 0) __PYX_ERR(1, 2483, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2486
 * 
 *     #: This indicates that an unmap or unregister operation has failed.
 *     CUDA_ERROR_UNMAP_FAILED = ccuda.cudaError_enum.CUDA_ERROR_UNMAP_FAILED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the specified array is currently mapped and thus
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_UNMAP_FAILED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_UNMAP_FAILED, __pyx_t_4) < 0) __PYX_ERR(1, 2486, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2490
 *     #: This indicates that the specified array is currently mapped and thus
 *     #: cannot be destroyed.
 *     CUDA_ERROR_ARRAY_IS_MAPPED = ccuda.cudaError_enum.CUDA_ERROR_ARRAY_IS_MAPPED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the resource is already mapped.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_ARRAY_IS_MAPPED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_ARRAY_IS_MAPPED, __pyx_t_4) < 0) __PYX_ERR(1, 2490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2493
 * 
 *     #: This indicates that the resource is already mapped.
 *     CUDA_ERROR_ALREADY_MAPPED = ccuda.cudaError_enum.CUDA_ERROR_ALREADY_MAPPED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that there is no kernel image available that is
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_ALREADY_MAPPED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2493, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_ALREADY_MAPPED, __pyx_t_4) < 0) __PYX_ERR(1, 2493, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2499
 *     #: generation options for a particular CUDA source file that do not
 *     #: include the corresponding device configuration.
 *     CUDA_ERROR_NO_BINARY_FOR_GPU = ccuda.cudaError_enum.CUDA_ERROR_NO_BINARY_FOR_GPU             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a resource has already been acquired.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_NO_BINARY_FOR_GPU); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_NO_BINARY_FOR_GPU, __pyx_t_4) < 0) __PYX_ERR(1, 2499, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2502
 * 
 *     #: This indicates that a resource has already been acquired.
 *     CUDA_ERROR_ALREADY_ACQUIRED = ccuda.cudaError_enum.CUDA_ERROR_ALREADY_ACQUIRED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a resource is not mapped.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_ALREADY_ACQUIRED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_ALREADY_ACQUIRED, __pyx_t_4) < 0) __PYX_ERR(1, 2502, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2505
 * 
 *     #: This indicates that a resource is not mapped.
 *     CUDA_ERROR_NOT_MAPPED = ccuda.cudaError_enum.CUDA_ERROR_NOT_MAPPED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a mapped resource is not available for access as
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_NOT_MAPPED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_NOT_MAPPED, __pyx_t_4) < 0) __PYX_ERR(1, 2505, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2509
 *     #: This indicates that a mapped resource is not available for access as
 *     #: an array.
 *     CUDA_ERROR_NOT_MAPPED_AS_ARRAY = ccuda.cudaError_enum.CUDA_ERROR_NOT_MAPPED_AS_ARRAY             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a mapped resource is not available for access as
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_NOT_MAPPED_AS_ARRAY); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_NOT_MAPPED_AS_ARRAY, __pyx_t_4) < 0) __PYX_ERR(1, 2509, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2513
 *     #: This indicates that a mapped resource is not available for access as
 *     #: a pointer.
 *     CUDA_ERROR_NOT_MAPPED_AS_POINTER = ccuda.cudaError_enum.CUDA_ERROR_NOT_MAPPED_AS_POINTER             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an uncorrectable ECC error was detected during
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_NOT_MAPPED_AS_POINTER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_NOT_MAPPED_AS_POINTER, __pyx_t_4) < 0) __PYX_ERR(1, 2513, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2517
 *     #: This indicates that an uncorrectable ECC error was detected during
 *     #: execution.
 *     CUDA_ERROR_ECC_UNCORRECTABLE = ccuda.cudaError_enum.CUDA_ERROR_ECC_UNCORRECTABLE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the :py:obj:`~.CUlimit` passed to the API call
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_ECC_UNCORRECTABLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_ECC_UNCORRECTABLE, __pyx_t_4) < 0) __PYX_ERR(1, 2517, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2521
 *     #: This indicates that the :py:obj:`~.CUlimit` passed to the API call
 *     #: is not supported by the active device.
 *     CUDA_ERROR_UNSUPPORTED_LIMIT = ccuda.cudaError_enum.CUDA_ERROR_UNSUPPORTED_LIMIT             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the :py:obj:`~.CUcontext` passed to the API call
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_UNSUPPORTED_LIMIT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_UNSUPPORTED_LIMIT, __pyx_t_4) < 0) __PYX_ERR(1, 2521, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2526
 *     #: can only be bound to a single CPU thread at a time but is already
 *     #: bound to a CPU thread.
 *     CUDA_ERROR_CONTEXT_ALREADY_IN_USE = ccuda.cudaError_enum.CUDA_ERROR_CONTEXT_ALREADY_IN_USE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that peer access is not supported across the given
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_CONTEXT_ALREADY_IN_USE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_CONTEXT_ALREADY_IN_US, __pyx_t_4) < 0) __PYX_ERR(1, 2526, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2530
 *     #: This indicates that peer access is not supported across the given
 *     #: devices.
 *     CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = ccuda.cudaError_enum.CUDA_ERROR_PEER_ACCESS_UNSUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a PTX JIT compilation failed.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_PEER_ACCESS_UNSUPPORTED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_PEER_ACCESS_UNSUPPORT, __pyx_t_4) < 0) __PYX_ERR(1, 2530, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2533
 * 
 *     #: This indicates that a PTX JIT compilation failed.
 *     CUDA_ERROR_INVALID_PTX = ccuda.cudaError_enum.CUDA_ERROR_INVALID_PTX             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates an error with OpenGL or DirectX context.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_INVALID_PTX); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_INVALID_PTX, __pyx_t_4) < 0) __PYX_ERR(1, 2533, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2536
 * 
 *     #: This indicates an error with OpenGL or DirectX context.
 *     CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = ccuda.cudaError_enum.CUDA_ERROR_INVALID_GRAPHICS_CONTEXT             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an uncorrectable NVLink error was detected
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_INVALID_GRAPHICS_CONTEXT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_INVALID_GRAPHICS_CONT, __pyx_t_4) < 0) __PYX_ERR(1, 2536, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2540
 *     #: This indicates that an uncorrectable NVLink error was detected
 *     #: during the execution.
 *     CUDA_ERROR_NVLINK_UNCORRECTABLE = ccuda.cudaError_enum.CUDA_ERROR_NVLINK_UNCORRECTABLE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the PTX JIT compiler library was not found.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_NVLINK_UNCORRECTABLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_NVLINK_UNCORRECTABLE, __pyx_t_4) < 0) __PYX_ERR(1, 2540, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2543
 * 
 *     #: This indicates that the PTX JIT compiler library was not found.
 *     CUDA_ERROR_JIT_COMPILER_NOT_FOUND = ccuda.cudaError_enum.CUDA_ERROR_JIT_COMPILER_NOT_FOUND             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the provided PTX was compiled with an
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_JIT_COMPILER_NOT_FOUND); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_JIT_COMPILER_NOT_FOUN, __pyx_t_4) < 0) __PYX_ERR(1, 2543, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2547
 *     #: This indicates that the provided PTX was compiled with an
 *     #: unsupported toolchain.
 *     CUDA_ERROR_UNSUPPORTED_PTX_VERSION = ccuda.cudaError_enum.CUDA_ERROR_UNSUPPORTED_PTX_VERSION             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the PTX JIT compilation was disabled.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_UNSUPPORTED_PTX_VERSION); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_UNSUPPORTED_PTX_VERSI, __pyx_t_4) < 0) __PYX_ERR(1, 2547, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2550
 * 
 *     #: This indicates that the PTX JIT compilation was disabled.
 *     CUDA_ERROR_JIT_COMPILATION_DISABLED = ccuda.cudaError_enum.CUDA_ERROR_JIT_COMPILATION_DISABLED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the :py:obj:`~.CUexecAffinityType` passed to the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_JIT_COMPILATION_DISABLED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_JIT_COMPILATION_DISAB, __pyx_t_4) < 0) __PYX_ERR(1, 2550, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2554
 *     #: This indicates that the :py:obj:`~.CUexecAffinityType` passed to the
 *     #: API call is not supported by the active device.
 *     CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY = ccuda.cudaError_enum.CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the code to be compiled by the PTX JIT contains
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_UNSUPPORTED_EXEC_AFFI, __pyx_t_4) < 0) __PYX_ERR(1, 2554, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2558
 *     #: This indicates that the code to be compiled by the PTX JIT contains
 *     #: unsupported call to cudaDeviceSynchronize.
 *     CUDA_ERROR_UNSUPPORTED_DEVSIDE_SYNC = ccuda.cudaError_enum.CUDA_ERROR_UNSUPPORTED_DEVSIDE_SYNC             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the device kernel source is invalid. This
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_UNSUPPORTED_DEVSIDE_SYNC); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_UNSUPPORTED_DEVSIDE_S, __pyx_t_4) < 0) __PYX_ERR(1, 2558, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2563
 *     #: includes compilation/linker errors encountered in device code or
 *     #: user error.
 *     CUDA_ERROR_INVALID_SOURCE = ccuda.cudaError_enum.CUDA_ERROR_INVALID_SOURCE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the file specified was not found.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_INVALID_SOURCE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_INVALID_SOURCE, __pyx_t_4) < 0) __PYX_ERR(1, 2563, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2566
 * 
 *     #: This indicates that the file specified was not found.
 *     CUDA_ERROR_FILE_NOT_FOUND = ccuda.cudaError_enum.CUDA_ERROR_FILE_NOT_FOUND             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a link to a shared object failed to resolve.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_FILE_NOT_FOUND); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_FILE_NOT_FOUND, __pyx_t_4) < 0) __PYX_ERR(1, 2566, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2569
 * 
 *     #: This indicates that a link to a shared object failed to resolve.
 *     CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = ccuda.cudaError_enum.CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that initialization of a shared object failed.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_SHARED_OBJECT_SYMBOL, __pyx_t_4) < 0) __PYX_ERR(1, 2569, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2572
 * 
 *     #: This indicates that initialization of a shared object failed.
 *     CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = ccuda.cudaError_enum.CUDA_ERROR_SHARED_OBJECT_INIT_FAILED             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an OS call failed.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_SHARED_OBJECT_INIT_FAILED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_SHARED_OBJECT_INIT_FA, __pyx_t_4) < 0) __PYX_ERR(1, 2572, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2575
 * 
 *     #: This indicates that an OS call failed.
 *     CUDA_ERROR_OPERATING_SYSTEM = ccuda.cudaError_enum.CUDA_ERROR_OPERATING_SYSTEM             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a resource handle passed to the API call was not
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_OPERATING_SYSTEM); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_OPERATING_SYSTEM, __pyx_t_4) < 0) __PYX_ERR(1, 2575, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2580
 *     #: valid. Resource handles are opaque types like :py:obj:`~.CUstream`
 *     #: and :py:obj:`~.CUevent`.
 *     CUDA_ERROR_INVALID_HANDLE = ccuda.cudaError_enum.CUDA_ERROR_INVALID_HANDLE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a resource required by the API call is not in a
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_INVALID_HANDLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_INVALID_HANDLE, __pyx_t_4) < 0) __PYX_ERR(1, 2580, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2584
 *     #: This indicates that a resource required by the API call is not in a
 *     #: valid state to perform the requested operation.
 *     CUDA_ERROR_ILLEGAL_STATE = ccuda.cudaError_enum.CUDA_ERROR_ILLEGAL_STATE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates an attempt was made to introspect an object in a way
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_ILLEGAL_STATE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_ILLEGAL_STATE, __pyx_t_4) < 0) __PYX_ERR(1, 2584, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2591
 *     #: version used to introspect it or omission of optional return
 *     #: arguments.
 *     CUDA_ERROR_LOSSY_QUERY = ccuda.cudaError_enum.CUDA_ERROR_LOSSY_QUERY             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a named symbol was not found. Examples of
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_LOSSY_QUERY); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_LOSSY_QUERY, __pyx_t_4) < 0) __PYX_ERR(1, 2591, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2596
 *     #: symbols are global/constant variable names, driver function names,
 *     #: texture names, and surface names.
 *     CUDA_ERROR_NOT_FOUND = ccuda.cudaError_enum.CUDA_ERROR_NOT_FOUND             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that asynchronous operations issued previously have
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_NOT_FOUND); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_NOT_FOUND, __pyx_t_4) < 0) __PYX_ERR(1, 2596, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2603
 *     #: completion). Calls that may return this value include
 *     #: :py:obj:`~.cuEventQuery()` and :py:obj:`~.cuStreamQuery()`.
 *     CUDA_ERROR_NOT_READY = ccuda.cudaError_enum.CUDA_ERROR_NOT_READY             # <<<<<<<<<<<<<<
 * 
 *     #: While executing a kernel, the device encountered a load or store
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_NOT_READY); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_NOT_READY, __pyx_t_4) < 0) __PYX_ERR(1, 2603, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2610
 *     #: error. To continue using CUDA, the process must be terminated and
 *     #: relaunched.
 *     CUDA_ERROR_ILLEGAL_ADDRESS = ccuda.cudaError_enum.CUDA_ERROR_ILLEGAL_ADDRESS             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that a launch did not occur because it did not have
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_ILLEGAL_ADDRESS); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_ILLEGAL_ADDRESS, __pyx_t_4) < 0) __PYX_ERR(1, 2610, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2619
 *     #: pointer when a 32-bit int is expected) is equivalent to passing too
 *     #: many arguments and can also result in this error.
 *     CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = ccuda.cudaError_enum.CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that the device kernel took too long to execute. This
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_LAUNCH_OUT_OF_RESOURC, __pyx_t_4) < 0) __PYX_ERR(1, 2619, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2627
 *     #: any further CUDA work will return the same error. To continue using
 *     #: CUDA, the process must be terminated and relaunched.
 *     CUDA_ERROR_LAUNCH_TIMEOUT = ccuda.cudaError_enum.CUDA_ERROR_LAUNCH_TIMEOUT             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates a kernel launch that uses an incompatible
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_LAUNCH_TIMEOUT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_LAUNCH_TIMEOUT, __pyx_t_4) < 0) __PYX_ERR(1, 2627, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2631
 *     #: This error indicates a kernel launch that uses an incompatible
 *     #: texturing mode.
 *     CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = ccuda.cudaError_enum.CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that a call to
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_LAUNCH_INCOMPATIBLE_T, __pyx_t_4) < 0) __PYX_ERR(1, 2631, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2636
 *     #: :py:obj:`~.cuCtxEnablePeerAccess()` is trying to re-enable peer
 *     #: access to a context which has already had peer access to it enabled.
 *     CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED = ccuda.cudaError_enum.CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that :py:obj:`~.cuCtxDisablePeerAccess()` is
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_PEER_ACCESS_ALREADY_E, __pyx_t_4) < 0) __PYX_ERR(1, 2636, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2641
 *     #: trying to disable peer access which has not been enabled yet via
 *     #: :py:obj:`~.cuCtxEnablePeerAccess()`.
 *     CUDA_ERROR_PEER_ACCESS_NOT_ENABLED = ccuda.cudaError_enum.CUDA_ERROR_PEER_ACCESS_NOT_ENABLED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the primary context for the specified
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_PEER_ACCESS_NOT_ENABLED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_PEER_ACCESS_NOT_ENABL, __pyx_t_4) < 0) __PYX_ERR(1, 2641, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2645
 *     #: This error indicates that the primary context for the specified
 *     #: device has already been initialized.
 *     CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE = ccuda.cudaError_enum.CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the context current to the calling thread
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_PRIMARY_CONTEXT_ACTIV, __pyx_t_4) < 0) __PYX_ERR(1, 2645, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2650
 *     #: has been destroyed using :py:obj:`~.cuCtxDestroy`, or is a primary
 *     #: context which has not yet been initialized.
 *     CUDA_ERROR_CONTEXT_IS_DESTROYED = ccuda.cudaError_enum.CUDA_ERROR_CONTEXT_IS_DESTROYED             # <<<<<<<<<<<<<<
 * 
 *     #: A device-side assert triggered during kernel execution. The context
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_CONTEXT_IS_DESTROYED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_CONTEXT_IS_DESTROYED, __pyx_t_4) < 0) __PYX_ERR(1, 2650, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2656
 *     #: memory allocations from this context are invalid and must be
 *     #: reconstructed if the program is to continue using CUDA.
 *     CUDA_ERROR_ASSERT = ccuda.cudaError_enum.CUDA_ERROR_ASSERT             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the hardware resources required to enable
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_ASSERT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_ASSERT, __pyx_t_4) < 0) __PYX_ERR(1, 2656, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2661
 *     #: peer access have been exhausted for one or more of the devices
 *     #: passed to :py:obj:`~.cuCtxEnablePeerAccess()`.
 *     CUDA_ERROR_TOO_MANY_PEERS = ccuda.cudaError_enum.CUDA_ERROR_TOO_MANY_PEERS             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the memory range passed to
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_TOO_MANY_PEERS); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_TOO_MANY_PEERS, __pyx_t_4) < 0) __PYX_ERR(1, 2661, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2665
 *     #: This error indicates that the memory range passed to
 *     #: :py:obj:`~.cuMemHostRegister()` has already been registered.
 *     CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED = ccuda.cudaError_enum.CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the pointer passed to
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_HOST_MEMORY_ALREADY_R, __pyx_t_4) < 0) __PYX_ERR(1, 2665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2670
 *     #: :py:obj:`~.cuMemHostUnregister()` does not correspond to any
 *     #: currently registered memory region.
 *     CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED = ccuda.cudaError_enum.CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED             # <<<<<<<<<<<<<<
 * 
 *     #: While executing a kernel, the device encountered a stack error. This
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_HOST_MEMORY_NOT_REGIS, __pyx_t_4) < 0) __PYX_ERR(1, 2670, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2677
 *     #: CUDA work will return the same error. To continue using CUDA, the
 *     #: process must be terminated and relaunched.
 *     CUDA_ERROR_HARDWARE_STACK_ERROR = ccuda.cudaError_enum.CUDA_ERROR_HARDWARE_STACK_ERROR             # <<<<<<<<<<<<<<
 * 
 *     #: While executing a kernel, the device encountered an illegal
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_HARDWARE_STACK_ERROR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_HARDWARE_STACK_ERROR, __pyx_t_4) < 0) __PYX_ERR(1, 2677, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2683
 *     #: any further CUDA work will return the same error. To continue using
 *     #: CUDA, the process must be terminated and relaunched.
 *     CUDA_ERROR_ILLEGAL_INSTRUCTION = ccuda.cudaError_enum.CUDA_ERROR_ILLEGAL_INSTRUCTION             # <<<<<<<<<<<<<<
 * 
 *     #: While executing a kernel, the device encountered a load or store
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_ILLEGAL_INSTRUCTION); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_ILLEGAL_INSTRUCTION, __pyx_t_4) < 0) __PYX_ERR(1, 2683, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2690
 *     #: return the same error. To continue using CUDA, the process must be
 *     #: terminated and relaunched.
 *     CUDA_ERROR_MISALIGNED_ADDRESS = ccuda.cudaError_enum.CUDA_ERROR_MISALIGNED_ADDRESS             # <<<<<<<<<<<<<<
 * 
 *     #: While executing a kernel, the device encountered an instruction
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_MISALIGNED_ADDRESS); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_MISALIGNED_ADDRESS, __pyx_t_4) < 0) __PYX_ERR(1, 2690, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2699
 *     #: error. To continue using CUDA, the process must be terminated and
 *     #: relaunched.
 *     CUDA_ERROR_INVALID_ADDRESS_SPACE = ccuda.cudaError_enum.CUDA_ERROR_INVALID_ADDRESS_SPACE             # <<<<<<<<<<<<<<
 * 
 *     #: While executing a kernel, the device program counter wrapped its
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_INVALID_ADDRESS_SPACE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_INVALID_ADDRESS_SPACE, __pyx_t_4) < 0) __PYX_ERR(1, 2699, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2705
 *     #: any further CUDA work will return the same error. To continue using
 *     #: CUDA, the process must be terminated and relaunched.
 *     CUDA_ERROR_INVALID_PC = ccuda.cudaError_enum.CUDA_ERROR_INVALID_PC             # <<<<<<<<<<<<<<
 * 
 *     #: An exception occurred on the device while executing a kernel. Common
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_INVALID_PC); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_INVALID_PC, __pyx_t_4) < 0) __PYX_ERR(1, 2705, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2715
 *     #: error. To continue using CUDA, the process must be terminated and
 *     #: relaunched.
 *     CUDA_ERROR_LAUNCH_FAILED = ccuda.cudaError_enum.CUDA_ERROR_LAUNCH_FAILED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the number of blocks launched per grid for
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_LAUNCH_FAILED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2715, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_LAUNCH_FAILED, __pyx_t_4) < 0) __PYX_ERR(1, 2715, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2726
 *     #: times the number of multiprocessors as specified by the device
 *     #: attribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT`.
 *     CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE = ccuda.cudaError_enum.CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the attempted operation is not permitted.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_COOPERATIVE_LAUNCH_TO, __pyx_t_4) < 0) __PYX_ERR(1, 2726, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2729
 * 
 *     #: This error indicates that the attempted operation is not permitted.
 *     CUDA_ERROR_NOT_PERMITTED = ccuda.cudaError_enum.CUDA_ERROR_NOT_PERMITTED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the attempted operation is not supported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_NOT_PERMITTED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_NOT_PERMITTED, __pyx_t_4) < 0) __PYX_ERR(1, 2729, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2733
 *     #: This error indicates that the attempted operation is not supported
 *     #: on the current system or device.
 *     CUDA_ERROR_NOT_SUPPORTED = ccuda.cudaError_enum.CUDA_ERROR_NOT_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the system is not yet ready to start any
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_NOT_SUPPORTED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2733, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_NOT_SUPPORTED, __pyx_t_4) < 0) __PYX_ERR(1, 2733, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2740
 *     #: running. More information about this error can be found in the
 *     #: system specific user guide.
 *     CUDA_ERROR_SYSTEM_NOT_READY = ccuda.cudaError_enum.CUDA_ERROR_SYSTEM_NOT_READY             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that there is a mismatch between the versions
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_SYSTEM_NOT_READY); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_SYSTEM_NOT_READY, __pyx_t_4) < 0) __PYX_ERR(1, 2740, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2745
 *     #: of the display driver and the CUDA driver. Refer to the
 *     #: compatibility documentation for supported versions.
 *     CUDA_ERROR_SYSTEM_DRIVER_MISMATCH = ccuda.cudaError_enum.CUDA_ERROR_SYSTEM_DRIVER_MISMATCH             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the system was upgraded to run with
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_SYSTEM_DRIVER_MISMATCH); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_SYSTEM_DRIVER_MISMATC, __pyx_t_4) < 0) __PYX_ERR(1, 2745, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2753
 *     #: supported hardware is visible during initialization via the
 *     #: CUDA_VISIBLE_DEVICES environment variable.
 *     CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE = ccuda.cudaError_enum.CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the MPS client failed to connect to the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_COMPAT_NOT_SUPPORTED, __pyx_t_4) < 0) __PYX_ERR(1, 2753, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2757
 *     #: This error indicates that the MPS client failed to connect to the
 *     #: MPS control daemon or the MPS server.
 *     CUDA_ERROR_MPS_CONNECTION_FAILED = ccuda.cudaError_enum.CUDA_ERROR_MPS_CONNECTION_FAILED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the remote procedural call between the MPS
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_MPS_CONNECTION_FAILED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_MPS_CONNECTION_FAILED, __pyx_t_4) < 0) __PYX_ERR(1, 2757, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2761
 *     #: This error indicates that the remote procedural call between the MPS
 *     #: server and the MPS client failed.
 *     CUDA_ERROR_MPS_RPC_FAILURE = ccuda.cudaError_enum.CUDA_ERROR_MPS_RPC_FAILURE             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the MPS server is not ready to accept new
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_MPS_RPC_FAILURE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2761, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_MPS_RPC_FAILURE, __pyx_t_4) < 0) __PYX_ERR(1, 2761, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2766
 *     #: MPS client requests. This error can be returned when the MPS server
 *     #: is in the process of recovering from a fatal failure.
 *     CUDA_ERROR_MPS_SERVER_NOT_READY = ccuda.cudaError_enum.CUDA_ERROR_MPS_SERVER_NOT_READY             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the hardware resources required to create
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_MPS_SERVER_NOT_READY); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2766, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_MPS_SERVER_NOT_READY, __pyx_t_4) < 0) __PYX_ERR(1, 2766, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2770
 *     #: This error indicates that the hardware resources required to create
 *     #: MPS client have been exhausted.
 *     CUDA_ERROR_MPS_MAX_CLIENTS_REACHED = ccuda.cudaError_enum.CUDA_ERROR_MPS_MAX_CLIENTS_REACHED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates the the hardware resources required to support
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_MPS_MAX_CLIENTS_REACHED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2770, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_MPS_MAX_CLIENTS_REACH, __pyx_t_4) < 0) __PYX_ERR(1, 2770, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2774
 *     #: This error indicates the the hardware resources required to support
 *     #: device connections have been exhausted.
 *     CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED = ccuda.cudaError_enum.CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the MPS client has been terminated by the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_MPS_MAX_CONNECTIONS_R, __pyx_t_4) < 0) __PYX_ERR(1, 2774, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2779
 *     #: server. To continue using CUDA, the process must be terminated and
 *     #: relaunched.
 *     CUDA_ERROR_MPS_CLIENT_TERMINATED = ccuda.cudaError_enum.CUDA_ERROR_MPS_CLIENT_TERMINATED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the module is using CUDA Dynamic
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_MPS_CLIENT_TERMINATED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_MPS_CLIENT_TERMINATED, __pyx_t_4) < 0) __PYX_ERR(1, 2779, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2784
 *     #: Parallelism, but the current configuration, like MPS, does not
 *     #: support it.
 *     CUDA_ERROR_CDP_NOT_SUPPORTED = ccuda.cudaError_enum.CUDA_ERROR_CDP_NOT_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that a module contains an unsupported
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_CDP_NOT_SUPPORTED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_CDP_NOT_SUPPORTED, __pyx_t_4) < 0) __PYX_ERR(1, 2784, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2788
 *     #: This error indicates that a module contains an unsupported
 *     #: interaction between different versions of CUDA Dynamic Parallelism.
 *     CUDA_ERROR_CDP_VERSION_MISMATCH = ccuda.cudaError_enum.CUDA_ERROR_CDP_VERSION_MISMATCH             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the operation is not permitted when the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_CDP_VERSION_MISMATCH); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_CDP_VERSION_MISMATCH, __pyx_t_4) < 0) __PYX_ERR(1, 2788, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2792
 *     #: This error indicates that the operation is not permitted when the
 *     #: stream is capturing.
 *     CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED = ccuda.cudaError_enum.CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the current capture sequence on the stream
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNSUPP, __pyx_t_4) < 0) __PYX_ERR(1, 2792, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2796
 *     #: This error indicates that the current capture sequence on the stream
 *     #: has been invalidated due to a previous error.
 *     CUDA_ERROR_STREAM_CAPTURE_INVALIDATED = ccuda.cudaError_enum.CUDA_ERROR_STREAM_CAPTURE_INVALIDATED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the operation would have resulted in a
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_STREAM_CAPTURE_INVALIDATED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_INVALI, __pyx_t_4) < 0) __PYX_ERR(1, 2796, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2800
 *     #: This error indicates that the operation would have resulted in a
 *     #: merge of two independent capture sequences.
 *     CUDA_ERROR_STREAM_CAPTURE_MERGE = ccuda.cudaError_enum.CUDA_ERROR_STREAM_CAPTURE_MERGE             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the capture was not initiated in this
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_STREAM_CAPTURE_MERGE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_MERGE, __pyx_t_4) < 0) __PYX_ERR(1, 2800, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2804
 *     #: This error indicates that the capture was not initiated in this
 *     #: stream.
 *     CUDA_ERROR_STREAM_CAPTURE_UNMATCHED = ccuda.cudaError_enum.CUDA_ERROR_STREAM_CAPTURE_UNMATCHED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the capture sequence contains a fork that
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_STREAM_CAPTURE_UNMATCHED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNMATC, __pyx_t_4) < 0) __PYX_ERR(1, 2804, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2808
 *     #: This error indicates that the capture sequence contains a fork that
 *     #: was not joined to the primary stream.
 *     CUDA_ERROR_STREAM_CAPTURE_UNJOINED = ccuda.cudaError_enum.CUDA_ERROR_STREAM_CAPTURE_UNJOINED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that a dependency would have been created which
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_STREAM_CAPTURE_UNJOINED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2808, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_UNJOIN, __pyx_t_4) < 0) __PYX_ERR(1, 2808, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2813
 *     #: crosses the capture sequence boundary. Only implicit in-stream
 *     #: ordering dependencies are allowed to cross the boundary.
 *     CUDA_ERROR_STREAM_CAPTURE_ISOLATION = ccuda.cudaError_enum.CUDA_ERROR_STREAM_CAPTURE_ISOLATION             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates a disallowed implicit dependency on a current
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_STREAM_CAPTURE_ISOLATION); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_ISOLAT, __pyx_t_4) < 0) __PYX_ERR(1, 2813, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2817
 *     #: This error indicates a disallowed implicit dependency on a current
 *     #: capture sequence from cudaStreamLegacy.
 *     CUDA_ERROR_STREAM_CAPTURE_IMPLICIT = ccuda.cudaError_enum.CUDA_ERROR_STREAM_CAPTURE_IMPLICIT             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the operation is not permitted on an event
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_STREAM_CAPTURE_IMPLICIT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_IMPLIC, __pyx_t_4) < 0) __PYX_ERR(1, 2817, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2821
 *     #: This error indicates that the operation is not permitted on an event
 *     #: which was last recorded in a capturing stream.
 *     CUDA_ERROR_CAPTURED_EVENT = ccuda.cudaError_enum.CUDA_ERROR_CAPTURED_EVENT             # <<<<<<<<<<<<<<
 * 
 *     #: A stream capture sequence not initiated with the
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_CAPTURED_EVENT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_CAPTURED_EVENT, __pyx_t_4) < 0) __PYX_ERR(1, 2821, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2827
 *     #: :py:obj:`~.cuStreamBeginCapture` was passed to
 *     #: :py:obj:`~.cuStreamEndCapture` in a different thread.
 *     CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD = ccuda.cudaError_enum.CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the timeout specified for the wait
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_STREAM_CAPTURE_WRONG, __pyx_t_4) < 0) __PYX_ERR(1, 2827, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2831
 *     #: This error indicates that the timeout specified for the wait
 *     #: operation has lapsed.
 *     CUDA_ERROR_TIMEOUT = ccuda.cudaError_enum.CUDA_ERROR_TIMEOUT             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates that the graph update was not performed because
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_TIMEOUT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_TIMEOUT, __pyx_t_4) < 0) __PYX_ERR(1, 2831, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2836
 *     #: it included changes which violated constraints specific to
 *     #: instantiated graph update.
 *     CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE = ccuda.cudaError_enum.CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an async error has occurred in a device outside
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_GRAPH_EXEC_UPDATE_FAI, __pyx_t_4) < 0) __PYX_ERR(1, 2836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2845
 *     #: return the same error. To continue using CUDA, the process must be
 *     #: terminated and relaunched.
 *     CUDA_ERROR_EXTERNAL_DEVICE = ccuda.cudaError_enum.CUDA_ERROR_EXTERNAL_DEVICE             # <<<<<<<<<<<<<<
 * 
 *     #: Indicates a kernel launch error due to cluster misconfiguration.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_EXTERNAL_DEVICE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_EXTERNAL_DEVICE, __pyx_t_4) < 0) __PYX_ERR(1, 2845, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2848
 * 
 *     #: Indicates a kernel launch error due to cluster misconfiguration.
 *     CUDA_ERROR_INVALID_CLUSTER_SIZE = ccuda.cudaError_enum.CUDA_ERROR_INVALID_CLUSTER_SIZE             # <<<<<<<<<<<<<<
 * 
 *     #: Indiciates a function handle is not loaded when calling an API that
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_INVALID_CLUSTER_SIZE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_INVALID_CLUSTER_SIZE, __pyx_t_4) < 0) __PYX_ERR(1, 2848, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2852
 *     #: Indiciates a function handle is not loaded when calling an API that
 *     #: requires a loaded function.
 *     CUDA_ERROR_FUNCTION_NOT_LOADED = ccuda.cudaError_enum.CUDA_ERROR_FUNCTION_NOT_LOADED             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates one or more resources passed in are not valid
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_FUNCTION_NOT_LOADED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_FUNCTION_NOT_LOADED, __pyx_t_4) < 0) __PYX_ERR(1, 2852, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2856
 *     #: This error indicates one or more resources passed in are not valid
 *     #: resource types for the operation.
 *     CUDA_ERROR_INVALID_RESOURCE_TYPE = ccuda.cudaError_enum.CUDA_ERROR_INVALID_RESOURCE_TYPE             # <<<<<<<<<<<<<<
 * 
 *     #: This error indicates one or more resources are insufficient or non-
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_INVALID_RESOURCE_TYPE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_INVALID_RESOURCE_TYPE, __pyx_t_4) < 0) __PYX_ERR(1, 2856, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2860
 *     #: This error indicates one or more resources are insufficient or non-
 *     #: applicable for the operation.
 *     CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION = ccuda.cudaError_enum.CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION             # <<<<<<<<<<<<<<
 * 
 *     #: This indicates that an unknown internal error has occurred.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_INVALID_RESOURCE_CONF, __pyx_t_4) < 0) __PYX_ERR(1, 2860, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2863
 * 
 *     #: This indicates that an unknown internal error has occurred.
 *     CUDA_ERROR_UNKNOWN = ccuda.cudaError_enum.CUDA_ERROR_UNKNOWN             # <<<<<<<<<<<<<<
 * 
 * class CUdevice_P2PAttribute(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__cudaError_enum(CUDA_ERROR_UNKNOWN); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CUDA_ERROR_UNKNOWN, __pyx_t_4) < 0) __PYX_ERR(1, 2863, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2400
 *     CU_LIBRARY_NUM_OPTIONS = ccuda.CUlibraryOption_enum.CU_LIBRARY_NUM_OPTIONS
 * 
 * class CUresult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Error codes
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUresult, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUresult, __pyx_t_4) < 0) __PYX_ERR(1, 2400, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2865
 *     CUDA_ERROR_UNKNOWN = ccuda.cudaError_enum.CUDA_ERROR_UNKNOWN
 * 
 * class CUdevice_P2PAttribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     P2P Attributes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 2865, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUdevice_P2PAttribute, __pyx_n_s_CUdevice_P2PAttribute, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_P2P_Attributes); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 2865, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2872
 *     #: A relative value indicating the performance of the link between two
 *     #: devices
 *     CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK = ccuda.CUdevice_P2PAttribute_enum.CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK             # <<<<<<<<<<<<<<
 * 
 *     #: P2P Access is enable
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_P2PAttribute_enum(CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_PERFORMA, __pyx_t_5) < 0) __PYX_ERR(1, 2872, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2875
 * 
 *     #: P2P Access is enable
 *     CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED = ccuda.CUdevice_P2PAttribute_enum.CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Atomic operation over the link supported
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_P2PAttribute_enum(CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_S, __pyx_t_5) < 0) __PYX_ERR(1, 2875, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2878
 * 
 *     #: Atomic operation over the link supported
 *     CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED = ccuda.CUdevice_P2PAttribute_enum.CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: [Deprecated]
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_P2PAttribute_enum(CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2878, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_NATIVE_A, __pyx_t_5) < 0) __PYX_ERR(1, 2878, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2881
 * 
 *     #: [Deprecated]
 *     CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED = ccuda.CUdevice_P2PAttribute_enum.CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: Accessing CUDA arrays over the link supported
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_P2PAttribute_enum(CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_ACCESS_A, __pyx_t_5) < 0) __PYX_ERR(1, 2881, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2884
 * 
 *     #: Accessing CUDA arrays over the link supported
 *     CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED = ccuda.CUdevice_P2PAttribute_enum.CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 * class CUresourceViewFormat(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUdevice_P2PAttribute_enum(CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARR, __pyx_t_5) < 0) __PYX_ERR(1, 2884, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":2865
 *     CUDA_ERROR_UNKNOWN = ccuda.cudaError_enum.CUDA_ERROR_UNKNOWN
 * 
 * class CUdevice_P2PAttribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     P2P Attributes
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUdevice_P2PAttribute, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUdevice_P2PAttribute, __pyx_t_5) < 0) __PYX_ERR(1, 2865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2886
 *     CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED = ccuda.CUdevice_P2PAttribute_enum.CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED
 * 
 * class CUresourceViewFormat(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Resource view format
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2886, __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)) __PYX_ERR(1, 2886, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUresourceViewFormat, __pyx_n_s_CUresourceViewFormat, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Resource_view_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 2886, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2892
 * 
 *     #: No resource view format (use underlying resource format)
 *     CU_RES_VIEW_FORMAT_NONE = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned 8-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_NONE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_NONE, __pyx_t_3) < 0) __PYX_ERR(1, 2892, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2895
 * 
 *     #: 1 channel unsigned 8-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_1X8 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_1X8             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned 8-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_1X8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2895, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X8, __pyx_t_3) < 0) __PYX_ERR(1, 2895, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2898
 * 
 *     #: 2 channel unsigned 8-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_2X8 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_2X8             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned 8-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_2X8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X8, __pyx_t_3) < 0) __PYX_ERR(1, 2898, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2901
 * 
 *     #: 4 channel unsigned 8-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_4X8 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_4X8             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed 8-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_4X8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X8, __pyx_t_3) < 0) __PYX_ERR(1, 2901, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2904
 * 
 *     #: 1 channel signed 8-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_1X8 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_1X8             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed 8-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_1X8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X8, __pyx_t_3) < 0) __PYX_ERR(1, 2904, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2907
 * 
 *     #: 2 channel signed 8-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_2X8 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_2X8             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel signed 8-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_2X8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X8, __pyx_t_3) < 0) __PYX_ERR(1, 2907, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2910
 * 
 *     #: 4 channel signed 8-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_4X8 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_4X8             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned 16-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_4X8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X8, __pyx_t_3) < 0) __PYX_ERR(1, 2910, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2913
 * 
 *     #: 1 channel unsigned 16-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_1X16 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_1X16             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned 16-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_1X16); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X16, __pyx_t_3) < 0) __PYX_ERR(1, 2913, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2916
 * 
 *     #: 2 channel unsigned 16-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_2X16 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_2X16             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned 16-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_2X16); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X16, __pyx_t_3) < 0) __PYX_ERR(1, 2916, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2919
 * 
 *     #: 4 channel unsigned 16-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_4X16 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_4X16             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed 16-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_4X16); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2919, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X16, __pyx_t_3) < 0) __PYX_ERR(1, 2919, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2922
 * 
 *     #: 1 channel signed 16-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_1X16 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_1X16             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed 16-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_1X16); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2922, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X16, __pyx_t_3) < 0) __PYX_ERR(1, 2922, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2925
 * 
 *     #: 2 channel signed 16-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_2X16 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_2X16             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel signed 16-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_2X16); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X16, __pyx_t_3) < 0) __PYX_ERR(1, 2925, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2928
 * 
 *     #: 4 channel signed 16-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_4X16 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_4X16             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel unsigned 32-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_4X16); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X16, __pyx_t_3) < 0) __PYX_ERR(1, 2928, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2931
 * 
 *     #: 1 channel unsigned 32-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_1X32 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_1X32             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel unsigned 32-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_1X32); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_1X32, __pyx_t_3) < 0) __PYX_ERR(1, 2931, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2934
 * 
 *     #: 2 channel unsigned 32-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_2X32 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_2X32             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel unsigned 32-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_2X32); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_2X32, __pyx_t_3) < 0) __PYX_ERR(1, 2934, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2937
 * 
 *     #: 4 channel unsigned 32-bit integers
 *     CU_RES_VIEW_FORMAT_UINT_4X32 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UINT_4X32             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel signed 32-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UINT_4X32); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_UINT_4X32, __pyx_t_3) < 0) __PYX_ERR(1, 2937, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2940
 * 
 *     #: 1 channel signed 32-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_1X32 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_1X32             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel signed 32-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_1X32); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2940, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_1X32, __pyx_t_3) < 0) __PYX_ERR(1, 2940, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2943
 * 
 *     #: 2 channel signed 32-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_2X32 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_2X32             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel signed 32-bit integers
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_2X32); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_2X32, __pyx_t_3) < 0) __PYX_ERR(1, 2943, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2946
 * 
 *     #: 4 channel signed 32-bit integers
 *     CU_RES_VIEW_FORMAT_SINT_4X32 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SINT_4X32             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel 16-bit floating point
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SINT_4X32); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_SINT_4X32, __pyx_t_3) < 0) __PYX_ERR(1, 2946, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2949
 * 
 *     #: 1 channel 16-bit floating point
 *     CU_RES_VIEW_FORMAT_FLOAT_1X16 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_FLOAT_1X16             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel 16-bit floating point
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_FLOAT_1X16); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_1X16, __pyx_t_3) < 0) __PYX_ERR(1, 2949, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2952
 * 
 *     #: 2 channel 16-bit floating point
 *     CU_RES_VIEW_FORMAT_FLOAT_2X16 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_FLOAT_2X16             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel 16-bit floating point
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_FLOAT_2X16); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_2X16, __pyx_t_3) < 0) __PYX_ERR(1, 2952, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2955
 * 
 *     #: 4 channel 16-bit floating point
 *     CU_RES_VIEW_FORMAT_FLOAT_4X16 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_FLOAT_4X16             # <<<<<<<<<<<<<<
 * 
 *     #: 1 channel 32-bit floating point
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_FLOAT_4X16); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_4X16, __pyx_t_3) < 0) __PYX_ERR(1, 2955, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2958
 * 
 *     #: 1 channel 32-bit floating point
 *     CU_RES_VIEW_FORMAT_FLOAT_1X32 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_FLOAT_1X32             # <<<<<<<<<<<<<<
 * 
 *     #: 2 channel 32-bit floating point
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_FLOAT_1X32); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_1X32, __pyx_t_3) < 0) __PYX_ERR(1, 2958, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2961
 * 
 *     #: 2 channel 32-bit floating point
 *     CU_RES_VIEW_FORMAT_FLOAT_2X32 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_FLOAT_2X32             # <<<<<<<<<<<<<<
 * 
 *     #: 4 channel 32-bit floating point
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_FLOAT_2X32); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2961, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_2X32, __pyx_t_3) < 0) __PYX_ERR(1, 2961, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2964
 * 
 *     #: 4 channel 32-bit floating point
 *     CU_RES_VIEW_FORMAT_FLOAT_4X32 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_FLOAT_4X32             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 1
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_FLOAT_4X32); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_FLOAT_4X32, __pyx_t_3) < 0) __PYX_ERR(1, 2964, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2967
 * 
 *     #: Block compressed 1
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC1 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC1             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 2
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UNSIGNED_BC1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2967, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC1, __pyx_t_3) < 0) __PYX_ERR(1, 2967, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2970
 * 
 *     #: Block compressed 2
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC2 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC2             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 3
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UNSIGNED_BC2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC2, __pyx_t_3) < 0) __PYX_ERR(1, 2970, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2973
 * 
 *     #: Block compressed 3
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC3 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC3             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 4 unsigned
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UNSIGNED_BC3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC3, __pyx_t_3) < 0) __PYX_ERR(1, 2973, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2976
 * 
 *     #: Block compressed 4 unsigned
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC4 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC4             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 4 signed
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UNSIGNED_BC4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC4, __pyx_t_3) < 0) __PYX_ERR(1, 2976, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2979
 * 
 *     #: Block compressed 4 signed
 *     CU_RES_VIEW_FORMAT_SIGNED_BC4 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SIGNED_BC4             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 5 unsigned
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SIGNED_BC4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC4, __pyx_t_3) < 0) __PYX_ERR(1, 2979, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2982
 * 
 *     #: Block compressed 5 unsigned
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC5 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC5             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 5 signed
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UNSIGNED_BC5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC5, __pyx_t_3) < 0) __PYX_ERR(1, 2982, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2985
 * 
 *     #: Block compressed 5 signed
 *     CU_RES_VIEW_FORMAT_SIGNED_BC5 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SIGNED_BC5             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 6 unsigned half-float
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SIGNED_BC5); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC5, __pyx_t_3) < 0) __PYX_ERR(1, 2985, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2988
 * 
 *     #: Block compressed 6 unsigned half-float
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC6H = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC6H             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 6 signed half-float
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UNSIGNED_BC6H); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2988, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC6H, __pyx_t_3) < 0) __PYX_ERR(1, 2988, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2991
 * 
 *     #: Block compressed 6 signed half-float
 *     CU_RES_VIEW_FORMAT_SIGNED_BC6H = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_SIGNED_BC6H             # <<<<<<<<<<<<<<
 * 
 *     #: Block compressed 7
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_SIGNED_BC6H); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_SIGNED_BC6H, __pyx_t_3) < 0) __PYX_ERR(1, 2991, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2994
 * 
 *     #: Block compressed 7
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC7             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapDataType(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(CU_RES_VIEW_FORMAT_UNSIGNED_BC7); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_RES_VIEW_FORMAT_UNSIGNED_BC7, __pyx_t_3) < 0) __PYX_ERR(1, 2994, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":2886
 *     CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED = ccuda.CUdevice_P2PAttribute_enum.CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED
 * 
 * class CUresourceViewFormat(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Resource view format
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUresourceViewFormat, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2886, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUresourceViewFormat, __pyx_t_3) < 0) __PYX_ERR(1, 2886, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":2996
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC7
 * 
 * class CUtensorMapDataType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map data type
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 2996, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 2996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUtensorMapDataType, __pyx_n_s_CUtensorMapDataType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Tensor_map_data_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 2996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 2996, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3000
 *     Tensor map data type
 *     """
 *     CU_TENSOR_MAP_DATA_TYPE_UINT8 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT8             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_UINT16 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT16
 *     CU_TENSOR_MAP_DATA_TYPE_UINT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT32
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_UINT8); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT8, __pyx_t_4) < 0) __PYX_ERR(1, 3000, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3001
 *     """
 *     CU_TENSOR_MAP_DATA_TYPE_UINT8 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT8
 *     CU_TENSOR_MAP_DATA_TYPE_UINT16 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT16             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_UINT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT32
 *     CU_TENSOR_MAP_DATA_TYPE_INT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT32
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_UINT16); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT16, __pyx_t_4) < 0) __PYX_ERR(1, 3001, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3002
 *     CU_TENSOR_MAP_DATA_TYPE_UINT8 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT8
 *     CU_TENSOR_MAP_DATA_TYPE_UINT16 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT16
 *     CU_TENSOR_MAP_DATA_TYPE_UINT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT32             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_INT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT32
 *     CU_TENSOR_MAP_DATA_TYPE_UINT64 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT64
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_UINT32); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT32, __pyx_t_4) < 0) __PYX_ERR(1, 3002, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3003
 *     CU_TENSOR_MAP_DATA_TYPE_UINT16 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT16
 *     CU_TENSOR_MAP_DATA_TYPE_UINT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT32
 *     CU_TENSOR_MAP_DATA_TYPE_INT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT32             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_UINT64 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT64
 *     CU_TENSOR_MAP_DATA_TYPE_INT64 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT64
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_INT32); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_INT32, __pyx_t_4) < 0) __PYX_ERR(1, 3003, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3004
 *     CU_TENSOR_MAP_DATA_TYPE_UINT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT32
 *     CU_TENSOR_MAP_DATA_TYPE_INT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT32
 *     CU_TENSOR_MAP_DATA_TYPE_UINT64 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT64             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_INT64 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT64
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT16 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT16
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_UINT64); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_UINT64, __pyx_t_4) < 0) __PYX_ERR(1, 3004, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3005
 *     CU_TENSOR_MAP_DATA_TYPE_INT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT32
 *     CU_TENSOR_MAP_DATA_TYPE_UINT64 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT64
 *     CU_TENSOR_MAP_DATA_TYPE_INT64 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT64             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT16 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT16
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_INT64); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_INT64, __pyx_t_4) < 0) __PYX_ERR(1, 3005, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3006
 *     CU_TENSOR_MAP_DATA_TYPE_UINT64 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_UINT64
 *     CU_TENSOR_MAP_DATA_TYPE_INT64 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT64
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT16 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT16             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT64 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT64
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_FLOAT16); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT16, __pyx_t_4) < 0) __PYX_ERR(1, 3006, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3007
 *     CU_TENSOR_MAP_DATA_TYPE_INT64 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_INT64
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT16 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT16
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT64 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT64
 *     CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_BFLOAT16
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_FLOAT32); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3007, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT32, __pyx_t_4) < 0) __PYX_ERR(1, 3007, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3008
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT16 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT16
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT64 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT64             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_BFLOAT16
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_FLOAT64); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT64, __pyx_t_4) < 0) __PYX_ERR(1, 3008, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3009
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT64 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT64
 *     CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_BFLOAT16             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_BFLOAT16); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_BFLOAT16, __pyx_t_4) < 0) __PYX_ERR(1, 3009, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3010
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT64 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT64
 *     CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_BFLOAT16
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_FLOAT32_2, __pyx_t_4) < 0) __PYX_ERR(1, 3010, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3011
 *     CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_BFLOAT16
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_TFLOAT32); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32, __pyx_t_4) < 0) __PYX_ERR(1, 3011, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3012
 *     CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapInterleave(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUtensorMapDataType_enum(CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_2, __pyx_t_4) < 0) __PYX_ERR(1, 3012, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":2996
 *     CU_RES_VIEW_FORMAT_UNSIGNED_BC7 = ccuda.CUresourceViewFormat_enum.CU_RES_VIEW_FORMAT_UNSIGNED_BC7
 * 
 * class CUtensorMapDataType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map data type
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUtensorMapDataType, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 2996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUtensorMapDataType, __pyx_t_4) < 0) __PYX_ERR(1, 2996, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3014
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ
 * 
 * class CUtensorMapInterleave(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map interleave layout type
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 3014, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUtensorMapInterleave, __pyx_n_s_CUtensorMapInterleave, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Tensor_map_interleave_layout_ty); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 3014, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3018
 *     Tensor map interleave layout type
 *     """
 *     CU_TENSOR_MAP_INTERLEAVE_NONE = ccuda.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_NONE             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_INTERLEAVE_16B = ccuda.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_16B
 *     CU_TENSOR_MAP_INTERLEAVE_32B = ccuda.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_32B
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUtensorMapInterleave_enum(CU_TENSOR_MAP_INTERLEAVE_NONE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3018, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_NONE, __pyx_t_5) < 0) __PYX_ERR(1, 3018, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3019
 *     """
 *     CU_TENSOR_MAP_INTERLEAVE_NONE = ccuda.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_NONE
 *     CU_TENSOR_MAP_INTERLEAVE_16B = ccuda.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_16B             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_INTERLEAVE_32B = ccuda.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_32B
 * 
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUtensorMapInterleave_enum(CU_TENSOR_MAP_INTERLEAVE_16B); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_16B, __pyx_t_5) < 0) __PYX_ERR(1, 3019, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3020
 *     CU_TENSOR_MAP_INTERLEAVE_NONE = ccuda.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_NONE
 *     CU_TENSOR_MAP_INTERLEAVE_16B = ccuda.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_16B
 *     CU_TENSOR_MAP_INTERLEAVE_32B = ccuda.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_32B             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapSwizzle(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUtensorMapInterleave_enum(CU_TENSOR_MAP_INTERLEAVE_32B); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_TENSOR_MAP_INTERLEAVE_32B, __pyx_t_5) < 0) __PYX_ERR(1, 3020, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3014
 *     CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ = ccuda.CUtensorMapDataType_enum.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ
 * 
 * class CUtensorMapInterleave(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map interleave layout type
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUtensorMapInterleave, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUtensorMapInterleave, __pyx_t_5) < 0) __PYX_ERR(1, 3014, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3022
 *     CU_TENSOR_MAP_INTERLEAVE_32B = ccuda.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_32B
 * 
 * class CUtensorMapSwizzle(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map swizzling mode of shared memory banks
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3022, __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)) __PYX_ERR(1, 3022, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUtensorMapSwizzle, __pyx_n_s_CUtensorMapSwizzle, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Tensor_map_swizzling_mode_of_sh); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 3022, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3026
 *     Tensor map swizzling mode of shared memory banks
 *     """
 *     CU_TENSOR_MAP_SWIZZLE_NONE = ccuda.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_NONE             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_SWIZZLE_32B = ccuda.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_32B
 *     CU_TENSOR_MAP_SWIZZLE_64B = ccuda.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_64B
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUtensorMapSwizzle_enum(CU_TENSOR_MAP_SWIZZLE_NONE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_TENSOR_MAP_SWIZZLE_NONE, __pyx_t_3) < 0) __PYX_ERR(1, 3026, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3027
 *     """
 *     CU_TENSOR_MAP_SWIZZLE_NONE = ccuda.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_NONE
 *     CU_TENSOR_MAP_SWIZZLE_32B = ccuda.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_32B             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_SWIZZLE_64B = ccuda.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_64B
 *     CU_TENSOR_MAP_SWIZZLE_128B = ccuda.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUtensorMapSwizzle_enum(CU_TENSOR_MAP_SWIZZLE_32B); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_TENSOR_MAP_SWIZZLE_32B, __pyx_t_3) < 0) __PYX_ERR(1, 3027, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3028
 *     CU_TENSOR_MAP_SWIZZLE_NONE = ccuda.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_NONE
 *     CU_TENSOR_MAP_SWIZZLE_32B = ccuda.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_32B
 *     CU_TENSOR_MAP_SWIZZLE_64B = ccuda.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_64B             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_SWIZZLE_128B = ccuda.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUtensorMapSwizzle_enum(CU_TENSOR_MAP_SWIZZLE_64B); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_TENSOR_MAP_SWIZZLE_64B, __pyx_t_3) < 0) __PYX_ERR(1, 3028, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3029
 *     CU_TENSOR_MAP_SWIZZLE_32B = ccuda.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_32B
 *     CU_TENSOR_MAP_SWIZZLE_64B = ccuda.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_64B
 *     CU_TENSOR_MAP_SWIZZLE_128B = ccuda.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapL2promotion(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUtensorMapSwizzle_enum(CU_TENSOR_MAP_SWIZZLE_128B); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_TENSOR_MAP_SWIZZLE_128B, __pyx_t_3) < 0) __PYX_ERR(1, 3029, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3022
 *     CU_TENSOR_MAP_INTERLEAVE_32B = ccuda.CUtensorMapInterleave_enum.CU_TENSOR_MAP_INTERLEAVE_32B
 * 
 * class CUtensorMapSwizzle(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map swizzling mode of shared memory banks
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUtensorMapSwizzle, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUtensorMapSwizzle, __pyx_t_3) < 0) __PYX_ERR(1, 3022, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3031
 *     CU_TENSOR_MAP_SWIZZLE_128B = ccuda.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B
 * 
 * class CUtensorMapL2promotion(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map L2 promotion type
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 3031, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUtensorMapL2promotion, __pyx_n_s_CUtensorMapL2promotion, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Tensor_map_L2_promotion_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 3031, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3035
 *     Tensor map L2 promotion type
 *     """
 *     CU_TENSOR_MAP_L2_PROMOTION_NONE = ccuda.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_NONE             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_64B = ccuda.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_64B
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_128B = ccuda.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_128B
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUtensorMapL2promotion_enum(CU_TENSOR_MAP_L2_PROMOTION_NONE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3035, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_NONE, __pyx_t_4) < 0) __PYX_ERR(1, 3035, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3036
 *     """
 *     CU_TENSOR_MAP_L2_PROMOTION_NONE = ccuda.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_NONE
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_64B = ccuda.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_64B             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_128B = ccuda.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_128B
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_256B = ccuda.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_256B
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUtensorMapL2promotion_enum(CU_TENSOR_MAP_L2_PROMOTION_L2_64B); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_64, __pyx_t_4) < 0) __PYX_ERR(1, 3036, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3037
 *     CU_TENSOR_MAP_L2_PROMOTION_NONE = ccuda.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_NONE
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_64B = ccuda.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_64B
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_128B = ccuda.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_128B             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_256B = ccuda.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_256B
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUtensorMapL2promotion_enum(CU_TENSOR_MAP_L2_PROMOTION_L2_128B); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3037, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_12, __pyx_t_4) < 0) __PYX_ERR(1, 3037, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3038
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_64B = ccuda.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_64B
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_128B = ccuda.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_128B
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_256B = ccuda.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_256B             # <<<<<<<<<<<<<<
 * 
 * class CUtensorMapFloatOOBfill(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUtensorMapL2promotion_enum(CU_TENSOR_MAP_L2_PROMOTION_L2_256B); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_TENSOR_MAP_L2_PROMOTION_L2_25, __pyx_t_4) < 0) __PYX_ERR(1, 3038, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3031
 *     CU_TENSOR_MAP_SWIZZLE_128B = ccuda.CUtensorMapSwizzle_enum.CU_TENSOR_MAP_SWIZZLE_128B
 * 
 * class CUtensorMapL2promotion(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map L2 promotion type
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUtensorMapL2promotion, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUtensorMapL2promotion, __pyx_t_4) < 0) __PYX_ERR(1, 3031, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3040
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_256B = ccuda.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_256B
 * 
 * class CUtensorMapFloatOOBfill(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map out-of-bounds fill type
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 3040, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUtensorMapFloatOOBfill, __pyx_n_s_CUtensorMapFloatOOBfill, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Tensor_map_out_of_bounds_fill_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 3040, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3044
 *     Tensor map out-of-bounds fill type
 *     """
 *     CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE = ccuda.CUtensorMapFloatOOBfill_enum.CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE             # <<<<<<<<<<<<<<
 *     CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA = ccuda.CUtensorMapFloatOOBfill_enum.CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA
 * 
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUtensorMapFloatOOBfill_enum(CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_TENSOR_MAP_FLOAT_OOB_FILL_NON, __pyx_t_5) < 0) __PYX_ERR(1, 3044, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3045
 *     """
 *     CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE = ccuda.CUtensorMapFloatOOBfill_enum.CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE
 *     CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA = ccuda.CUtensorMapFloatOOBfill_enum.CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA             # <<<<<<<<<<<<<<
 * 
 * class CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUtensorMapFloatOOBfill_enum(CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN, __pyx_t_5) < 0) __PYX_ERR(1, 3045, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3040
 *     CU_TENSOR_MAP_L2_PROMOTION_L2_256B = ccuda.CUtensorMapL2promotion_enum.CU_TENSOR_MAP_L2_PROMOTION_L2_256B
 * 
 * class CUtensorMapFloatOOBfill(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Tensor map out-of-bounds fill type
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUtensorMapFloatOOBfill, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3040, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUtensorMapFloatOOBfill, __pyx_t_5) < 0) __PYX_ERR(1, 3040, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3047
 *     CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA = ccuda.CUtensorMapFloatOOBfill_enum.CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA
 * 
 * class CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Access flags that specify the level of access the current context's
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3047, __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)) __PYX_ERR(1, 3047, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUDA_POINTER_ATTRIBUTE_ACCESS_FL, __pyx_n_s_CUDA_POINTER_ATTRIBUTE_ACCESS_FL, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Access_flags_that_specify_the_l); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 3047, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3056
 *     #: must be staged through accessible memory in order to complete
 *     #: certain operations
 *     CU_POINTER_ATTRIBUTE_ACCESS_FLAG_NONE = ccuda.CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAG_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: Read-only access, meaning writes to this memory are considered
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum(CU_POINTER_ATTRIBUTE_ACCESS_FLAG_NONE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_2, __pyx_t_3) < 0) __PYX_ERR(1, 3056, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3060
 *     #: Read-only access, meaning writes to this memory are considered
 *     #: invalid accesses and thus return error in that case.
 *     CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READ = ccuda.CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READ             # <<<<<<<<<<<<<<
 * 
 *     #: Read-write access, the device has full read-write access to the
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum(CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READ); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_3, __pyx_t_3) < 0) __PYX_ERR(1, 3060, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3064
 *     #: Read-write access, the device has full read-write access to the
 *     #: memory
 *     CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE = ccuda.CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE             # <<<<<<<<<<<<<<
 * 
 * class CUexternalMemoryHandleType(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum(CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_POINTER_ATTRIBUTE_ACCESS_FLAG_4, __pyx_t_3) < 0) __PYX_ERR(1, 3064, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3047
 *     CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA = ccuda.CUtensorMapFloatOOBfill_enum.CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA
 * 
 * class CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Access flags that specify the level of access the current context's
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUDA_POINTER_ATTRIBUTE_ACCESS_FL, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUDA_POINTER_ATTRIBUTE_ACCESS_FL, __pyx_t_3) < 0) __PYX_ERR(1, 3047, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3066
 *     CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE = ccuda.CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE
 * 
 * class CUexternalMemoryHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     External memory handle types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 3066, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUexternalMemoryHandleType, __pyx_n_s_CUexternalMemoryHandleType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_External_memory_handle_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 3066, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3072
 * 
 *     #: Handle is an opaque file descriptor
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD = ccuda.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque shared NT handle
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUexternalMemoryHandleType_enum(CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O, __pyx_t_4) < 0) __PYX_ERR(1, 3072, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3075
 * 
 *     #: Handle is an opaque shared NT handle
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32 = ccuda.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque, globally shared handle
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUexternalMemoryHandleType_enum(CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_2, __pyx_t_4) < 0) __PYX_ERR(1, 3075, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3078
 * 
 *     #: Handle is an opaque, globally shared handle
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT = ccuda.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a D3D12 heap object
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUexternalMemoryHandleType_enum(CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_O_3, __pyx_t_4) < 0) __PYX_ERR(1, 3078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3081
 * 
 *     #: Handle is a D3D12 heap object
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP = ccuda.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a D3D12 committed resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUexternalMemoryHandleType_enum(CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D, __pyx_t_4) < 0) __PYX_ERR(1, 3081, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3084
 * 
 *     #: Handle is a D3D12 committed resource
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE = ccuda.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a shared NT handle to a D3D11 resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUexternalMemoryHandleType_enum(CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_2, __pyx_t_4) < 0) __PYX_ERR(1, 3084, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3087
 * 
 *     #: Handle is a shared NT handle to a D3D11 resource
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE = ccuda.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a globally shared handle to a D3D11 resource
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUexternalMemoryHandleType_enum(CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_3, __pyx_t_4) < 0) __PYX_ERR(1, 3087, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3090
 * 
 *     #: Handle is a globally shared handle to a D3D11 resource
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT = ccuda.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an NvSciBuf object
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUexternalMemoryHandleType_enum(CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_D_4, __pyx_t_4) < 0) __PYX_ERR(1, 3090, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3093
 * 
 *     #: Handle is an NvSciBuf object
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF = ccuda.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF             # <<<<<<<<<<<<<<
 * 
 * class CUexternalSemaphoreHandleType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUexternalMemoryHandleType_enum(CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EXTERNAL_MEMORY_HANDLE_TYPE_N, __pyx_t_4) < 0) __PYX_ERR(1, 3093, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3066
 *     CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE = ccuda.CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum.CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE
 * 
 * class CUexternalMemoryHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     External memory handle types
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUexternalMemoryHandleType, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUexternalMemoryHandleType, __pyx_t_4) < 0) __PYX_ERR(1, 3066, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3095
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF = ccuda.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF
 * 
 * class CUexternalSemaphoreHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore handle types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 3095, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUexternalSemaphoreHandleType, __pyx_n_s_CUexternalSemaphoreHandleType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_External_semaphore_handle_types); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 3095, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3101
 * 
 *     #: Handle is an opaque file descriptor
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD = ccuda.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque shared NT handle
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP, __pyx_t_5) < 0) __PYX_ERR(1, 3101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3104
 * 
 *     #: Handle is an opaque shared NT handle
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32 = ccuda.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque, globally shared handle
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_2, __pyx_t_5) < 0) __PYX_ERR(1, 3104, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3107
 * 
 *     #: Handle is an opaque, globally shared handle
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT = ccuda.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a shared NT handle referencing a D3D12 fence object
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_3, __pyx_t_5) < 0) __PYX_ERR(1, 3107, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3110
 * 
 *     #: Handle is a shared NT handle referencing a D3D12 fence object
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE = ccuda.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a shared NT handle referencing a D3D11 fence object
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_4, __pyx_t_5) < 0) __PYX_ERR(1, 3110, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3113
 * 
 *     #: Handle is a shared NT handle referencing a D3D11 fence object
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE = ccuda.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE             # <<<<<<<<<<<<<<
 * 
 *     #: Opaque handle to NvSciSync Object
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_5, __pyx_t_5) < 0) __PYX_ERR(1, 3113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3116
 * 
 *     #: Opaque handle to NvSciSync Object
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC = ccuda.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a shared NT handle referencing a D3D11 keyed mutex object
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_6, __pyx_t_5) < 0) __PYX_ERR(1, 3116, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3119
 * 
 *     #: Handle is a shared NT handle referencing a D3D11 keyed mutex object
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX = ccuda.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is a globally shared handle referencing a D3D11 keyed mutex
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_7, __pyx_t_5) < 0) __PYX_ERR(1, 3119, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3123
 *     #: Handle is a globally shared handle referencing a D3D11 keyed mutex
 *     #: object
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT = ccuda.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque file descriptor referencing a timeline semaphore
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_8, __pyx_t_5) < 0) __PYX_ERR(1, 3123, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3126
 * 
 *     #: Handle is an opaque file descriptor referencing a timeline semaphore
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD = ccuda.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD             # <<<<<<<<<<<<<<
 * 
 *     #: Handle is an opaque shared NT handle referencing a timeline
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_9, __pyx_t_5) < 0) __PYX_ERR(1, 3126, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3130
 *     #: Handle is an opaque shared NT handle referencing a timeline
 *     #: semaphore
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32 = ccuda.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32             # <<<<<<<<<<<<<<
 * 
 * class CUmemAllocationHandleType(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUexternalSemaphoreHandleType_enum(CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_EXTERNAL_SEMAPHORE_HANDLE_TYP_10, __pyx_t_5) < 0) __PYX_ERR(1, 3130, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3095
 *     CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF = ccuda.CUexternalMemoryHandleType_enum.CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF
 * 
 * class CUexternalSemaphoreHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     External semaphore handle types
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUexternalSemaphoreHandleType, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUexternalSemaphoreHandleType, __pyx_t_5) < 0) __PYX_ERR(1, 3095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3132
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32 = ccuda.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32
 * 
 * class CUmemAllocationHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for specifying particular handle types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3132, __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)) __PYX_ERR(1, 3132, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUmemAllocationHandleType, __pyx_n_s_CUmemAllocationHandleType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Flags_for_specifying_particular); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 3132, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3138
 * 
 *     #: Does not allow any export mechanism. >
 *     CU_MEM_HANDLE_TYPE_NONE = ccuda.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: Allows a file descriptor to be used for exporting. Permitted only on
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemAllocationHandleType_enum(CU_MEM_HANDLE_TYPE_NONE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEM_HANDLE_TYPE_NONE, __pyx_t_3) < 0) __PYX_ERR(1, 3138, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3142
 *     #: Allows a file descriptor to be used for exporting. Permitted only on
 *     #: POSIX systems. (int)
 *     CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR = ccuda.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR             # <<<<<<<<<<<<<<
 * 
 *     #: Allows a Win32 NT handle to be used for exporting. (HANDLE)
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemAllocationHandleType_enum(CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEM_HANDLE_TYPE_POSIX_FILE_DE, __pyx_t_3) < 0) __PYX_ERR(1, 3142, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3145
 * 
 *     #: Allows a Win32 NT handle to be used for exporting. (HANDLE)
 *     CU_MEM_HANDLE_TYPE_WIN32 = ccuda.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32             # <<<<<<<<<<<<<<
 * 
 *     #: Allows a Win32 KMT handle to be used for exporting. (D3DKMT_HANDLE)
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemAllocationHandleType_enum(CU_MEM_HANDLE_TYPE_WIN32); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEM_HANDLE_TYPE_WIN32, __pyx_t_3) < 0) __PYX_ERR(1, 3145, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3148
 * 
 *     #: Allows a Win32 KMT handle to be used for exporting. (D3DKMT_HANDLE)
 *     CU_MEM_HANDLE_TYPE_WIN32_KMT = ccuda.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_WIN32_KMT             # <<<<<<<<<<<<<<
 * 
 *     #: Allows a fabric handle to be used for exporting. (CUmemFabricHandle)
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemAllocationHandleType_enum(CU_MEM_HANDLE_TYPE_WIN32_KMT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEM_HANDLE_TYPE_WIN32_KMT, __pyx_t_3) < 0) __PYX_ERR(1, 3148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3151
 * 
 *     #: Allows a fabric handle to be used for exporting. (CUmemFabricHandle)
 *     CU_MEM_HANDLE_TYPE_FABRIC = ccuda.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_FABRIC             # <<<<<<<<<<<<<<
 *     CU_MEM_HANDLE_TYPE_MAX = ccuda.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_MAX
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemAllocationHandleType_enum(CU_MEM_HANDLE_TYPE_FABRIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEM_HANDLE_TYPE_FABRIC, __pyx_t_3) < 0) __PYX_ERR(1, 3151, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3152
 *     #: Allows a fabric handle to be used for exporting. (CUmemFabricHandle)
 *     CU_MEM_HANDLE_TYPE_FABRIC = ccuda.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_FABRIC
 *     CU_MEM_HANDLE_TYPE_MAX = ccuda.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_MAX             # <<<<<<<<<<<<<<
 * 
 * class CUmemAccess_flags(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemAllocationHandleType_enum(CU_MEM_HANDLE_TYPE_MAX); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEM_HANDLE_TYPE_MAX, __pyx_t_3) < 0) __PYX_ERR(1, 3152, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3132
 *     CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32 = ccuda.CUexternalSemaphoreHandleType_enum.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32
 * 
 * class CUmemAllocationHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for specifying particular handle types
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUmemAllocationHandleType, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUmemAllocationHandleType, __pyx_t_3) < 0) __PYX_ERR(1, 3132, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3154
 *     CU_MEM_HANDLE_TYPE_MAX = ccuda.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_MAX
 * 
 * class CUmemAccess_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the memory protection flags for mapping.
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 3154, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUmemAccess_flags, __pyx_n_s_CUmemAccess_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Specifies_the_memory_protection); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 3154, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3160
 * 
 *     #: Default, make the address range not accessible
 *     CU_MEM_ACCESS_FLAGS_PROT_NONE = ccuda.CUmemAccess_flags_enum.CU_MEM_ACCESS_FLAGS_PROT_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: Make the address range read accessible
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmemAccess_flags_enum(CU_MEM_ACCESS_FLAGS_PROT_NONE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_NONE, __pyx_t_4) < 0) __PYX_ERR(1, 3160, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3163
 * 
 *     #: Make the address range read accessible
 *     CU_MEM_ACCESS_FLAGS_PROT_READ = ccuda.CUmemAccess_flags_enum.CU_MEM_ACCESS_FLAGS_PROT_READ             # <<<<<<<<<<<<<<
 * 
 *     #: Make the address range read-write accessible
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmemAccess_flags_enum(CU_MEM_ACCESS_FLAGS_PROT_READ); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_READ, __pyx_t_4) < 0) __PYX_ERR(1, 3163, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3166
 * 
 *     #: Make the address range read-write accessible
 *     CU_MEM_ACCESS_FLAGS_PROT_READWRITE = ccuda.CUmemAccess_flags_enum.CU_MEM_ACCESS_FLAGS_PROT_READWRITE             # <<<<<<<<<<<<<<
 *     CU_MEM_ACCESS_FLAGS_PROT_MAX = ccuda.CUmemAccess_flags_enum.CU_MEM_ACCESS_FLAGS_PROT_MAX
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmemAccess_flags_enum(CU_MEM_ACCESS_FLAGS_PROT_READWRITE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_READWRI, __pyx_t_4) < 0) __PYX_ERR(1, 3166, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3167
 *     #: Make the address range read-write accessible
 *     CU_MEM_ACCESS_FLAGS_PROT_READWRITE = ccuda.CUmemAccess_flags_enum.CU_MEM_ACCESS_FLAGS_PROT_READWRITE
 *     CU_MEM_ACCESS_FLAGS_PROT_MAX = ccuda.CUmemAccess_flags_enum.CU_MEM_ACCESS_FLAGS_PROT_MAX             # <<<<<<<<<<<<<<
 * 
 * class CUmemLocationType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmemAccess_flags_enum(CU_MEM_ACCESS_FLAGS_PROT_MAX); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MEM_ACCESS_FLAGS_PROT_MAX, __pyx_t_4) < 0) __PYX_ERR(1, 3167, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3154
 *     CU_MEM_HANDLE_TYPE_MAX = ccuda.CUmemAllocationHandleType_enum.CU_MEM_HANDLE_TYPE_MAX
 * 
 * class CUmemAccess_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the memory protection flags for mapping.
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUmemAccess_flags, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUmemAccess_flags, __pyx_t_4) < 0) __PYX_ERR(1, 3154, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3169
 *     CU_MEM_ACCESS_FLAGS_PROT_MAX = ccuda.CUmemAccess_flags_enum.CU_MEM_ACCESS_FLAGS_PROT_MAX
 * 
 * class CUmemLocationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the type of location
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 3169, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUmemLocationType, __pyx_n_s_CUmemLocationType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Specifies_the_type_of_location); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 3169, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3173
 *     Specifies the type of location
 *     """
 *     CU_MEM_LOCATION_TYPE_INVALID = ccuda.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_INVALID             # <<<<<<<<<<<<<<
 * 
 *     #: Location is a device location, thus id is a device ordinal
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmemLocationType_enum(CU_MEM_LOCATION_TYPE_INVALID); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEM_LOCATION_TYPE_INVALID, __pyx_t_5) < 0) __PYX_ERR(1, 3173, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3176
 * 
 *     #: Location is a device location, thus id is a device ordinal
 *     CU_MEM_LOCATION_TYPE_DEVICE = ccuda.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_DEVICE             # <<<<<<<<<<<<<<
 * 
 *     #: Location is host, id is ignored
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmemLocationType_enum(CU_MEM_LOCATION_TYPE_DEVICE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEM_LOCATION_TYPE_DEVICE, __pyx_t_5) < 0) __PYX_ERR(1, 3176, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3179
 * 
 *     #: Location is host, id is ignored
 *     CU_MEM_LOCATION_TYPE_HOST = ccuda.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_HOST             # <<<<<<<<<<<<<<
 * 
 *     #: Location is a host NUMA node, thus id is a host NUMA node id
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmemLocationType_enum(CU_MEM_LOCATION_TYPE_HOST); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEM_LOCATION_TYPE_HOST, __pyx_t_5) < 0) __PYX_ERR(1, 3179, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3182
 * 
 *     #: Location is a host NUMA node, thus id is a host NUMA node id
 *     CU_MEM_LOCATION_TYPE_HOST_NUMA = ccuda.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_HOST_NUMA             # <<<<<<<<<<<<<<
 * 
 *     #: Location is a host NUMA node of the current thread, id is ignored
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmemLocationType_enum(CU_MEM_LOCATION_TYPE_HOST_NUMA); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEM_LOCATION_TYPE_HOST_NUMA, __pyx_t_5) < 0) __PYX_ERR(1, 3182, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3185
 * 
 *     #: Location is a host NUMA node of the current thread, id is ignored
 *     CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT = ccuda.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT             # <<<<<<<<<<<<<<
 *     CU_MEM_LOCATION_TYPE_MAX = ccuda.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_MAX
 * 
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmemLocationType_enum(CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEM_LOCATION_TYPE_HOST_NUMA_C, __pyx_t_5) < 0) __PYX_ERR(1, 3185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3186
 *     #: Location is a host NUMA node of the current thread, id is ignored
 *     CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT = ccuda.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT
 *     CU_MEM_LOCATION_TYPE_MAX = ccuda.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_MAX             # <<<<<<<<<<<<<<
 * 
 * class CUmemAllocationType(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmemLocationType_enum(CU_MEM_LOCATION_TYPE_MAX); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEM_LOCATION_TYPE_MAX, __pyx_t_5) < 0) __PYX_ERR(1, 3186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3169
 *     CU_MEM_ACCESS_FLAGS_PROT_MAX = ccuda.CUmemAccess_flags_enum.CU_MEM_ACCESS_FLAGS_PROT_MAX
 * 
 * class CUmemLocationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the type of location
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUmemLocationType, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUmemLocationType, __pyx_t_5) < 0) __PYX_ERR(1, 3169, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3188
 *     CU_MEM_LOCATION_TYPE_MAX = ccuda.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_MAX
 * 
 * class CUmemAllocationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Defines the allocation types available
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3188, __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)) __PYX_ERR(1, 3188, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUmemAllocationType, __pyx_n_s_CUmemAllocationType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Defines_the_allocation_types_av); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 3188, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3192
 *     Defines the allocation types available
 *     """
 *     CU_MEM_ALLOCATION_TYPE_INVALID = ccuda.CUmemAllocationType_enum.CU_MEM_ALLOCATION_TYPE_INVALID             # <<<<<<<<<<<<<<
 * 
 *     #: This allocation type is 'pinned', i.e. cannot migrate from its
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemAllocationType_enum(CU_MEM_ALLOCATION_TYPE_INVALID); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEM_ALLOCATION_TYPE_INVALID, __pyx_t_3) < 0) __PYX_ERR(1, 3192, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3196
 *     #: This allocation type is 'pinned', i.e. cannot migrate from its
 *     #: current location while the application is actively using it
 *     CU_MEM_ALLOCATION_TYPE_PINNED = ccuda.CUmemAllocationType_enum.CU_MEM_ALLOCATION_TYPE_PINNED             # <<<<<<<<<<<<<<
 *     CU_MEM_ALLOCATION_TYPE_MAX = ccuda.CUmemAllocationType_enum.CU_MEM_ALLOCATION_TYPE_MAX
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemAllocationType_enum(CU_MEM_ALLOCATION_TYPE_PINNED); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEM_ALLOCATION_TYPE_PINNED, __pyx_t_3) < 0) __PYX_ERR(1, 3196, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3197
 *     #: current location while the application is actively using it
 *     CU_MEM_ALLOCATION_TYPE_PINNED = ccuda.CUmemAllocationType_enum.CU_MEM_ALLOCATION_TYPE_PINNED
 *     CU_MEM_ALLOCATION_TYPE_MAX = ccuda.CUmemAllocationType_enum.CU_MEM_ALLOCATION_TYPE_MAX             # <<<<<<<<<<<<<<
 * 
 * class CUmemAllocationGranularity_flags(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemAllocationType_enum(CU_MEM_ALLOCATION_TYPE_MAX); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEM_ALLOCATION_TYPE_MAX, __pyx_t_3) < 0) __PYX_ERR(1, 3197, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3188
 *     CU_MEM_LOCATION_TYPE_MAX = ccuda.CUmemLocationType_enum.CU_MEM_LOCATION_TYPE_MAX
 * 
 * class CUmemAllocationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Defines the allocation types available
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUmemAllocationType, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUmemAllocationType, __pyx_t_3) < 0) __PYX_ERR(1, 3188, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3199
 *     CU_MEM_ALLOCATION_TYPE_MAX = ccuda.CUmemAllocationType_enum.CU_MEM_ALLOCATION_TYPE_MAX
 * 
 * class CUmemAllocationGranularity_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flag for requesting different optimal and required granularities
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 3199, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUmemAllocationGranularity_flags, __pyx_n_s_CUmemAllocationGranularity_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Flag_for_requesting_different_o); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 3199, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3206
 * 
 *     #: Minimum required granularity for allocation
 *     CU_MEM_ALLOC_GRANULARITY_MINIMUM = ccuda.CUmemAllocationGranularity_flags_enum.CU_MEM_ALLOC_GRANULARITY_MINIMUM             # <<<<<<<<<<<<<<
 * 
 *     #: Recommended granularity for allocation for best performance
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmemAllocationGranularity_flags_enum(CU_MEM_ALLOC_GRANULARITY_MINIMUM); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MEM_ALLOC_GRANULARITY_MINIMUM, __pyx_t_4) < 0) __PYX_ERR(1, 3206, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3209
 * 
 *     #: Recommended granularity for allocation for best performance
 *     CU_MEM_ALLOC_GRANULARITY_RECOMMENDED = ccuda.CUmemAllocationGranularity_flags_enum.CU_MEM_ALLOC_GRANULARITY_RECOMMENDED             # <<<<<<<<<<<<<<
 * 
 * class CUmemRangeHandleType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmemAllocationGranularity_flags_enum(CU_MEM_ALLOC_GRANULARITY_RECOMMENDED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MEM_ALLOC_GRANULARITY_RECOMME, __pyx_t_4) < 0) __PYX_ERR(1, 3209, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3199
 *     CU_MEM_ALLOCATION_TYPE_MAX = ccuda.CUmemAllocationType_enum.CU_MEM_ALLOCATION_TYPE_MAX
 * 
 * class CUmemAllocationGranularity_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flag for requesting different optimal and required granularities
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUmemAllocationGranularity_flags, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUmemAllocationGranularity_flags, __pyx_t_4) < 0) __PYX_ERR(1, 3199, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3211
 *     CU_MEM_ALLOC_GRANULARITY_RECOMMENDED = ccuda.CUmemAllocationGranularity_flags_enum.CU_MEM_ALLOC_GRANULARITY_RECOMMENDED
 * 
 * class CUmemRangeHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the handle type for address range
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 3211, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUmemRangeHandleType, __pyx_n_s_CUmemRangeHandleType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Specifies_the_handle_type_for_a); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 3211, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3215
 *     Specifies the handle type for address range
 *     """
 *     CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD = ccuda.CUmemRangeHandleType_enum.CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD             # <<<<<<<<<<<<<<
 *     CU_MEM_RANGE_HANDLE_TYPE_MAX = ccuda.CUmemRangeHandleType_enum.CU_MEM_RANGE_HANDLE_TYPE_MAX
 * 
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmemRangeHandleType_enum(CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF, __pyx_t_5) < 0) __PYX_ERR(1, 3215, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3216
 *     """
 *     CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD = ccuda.CUmemRangeHandleType_enum.CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD
 *     CU_MEM_RANGE_HANDLE_TYPE_MAX = ccuda.CUmemRangeHandleType_enum.CU_MEM_RANGE_HANDLE_TYPE_MAX             # <<<<<<<<<<<<<<
 * 
 * class CUarraySparseSubresourceType(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmemRangeHandleType_enum(CU_MEM_RANGE_HANDLE_TYPE_MAX); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEM_RANGE_HANDLE_TYPE_MAX, __pyx_t_5) < 0) __PYX_ERR(1, 3216, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3211
 *     CU_MEM_ALLOC_GRANULARITY_RECOMMENDED = ccuda.CUmemAllocationGranularity_flags_enum.CU_MEM_ALLOC_GRANULARITY_RECOMMENDED
 * 
 * class CUmemRangeHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies the handle type for address range
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUmemRangeHandleType, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUmemRangeHandleType, __pyx_t_5) < 0) __PYX_ERR(1, 3211, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3218
 *     CU_MEM_RANGE_HANDLE_TYPE_MAX = ccuda.CUmemRangeHandleType_enum.CU_MEM_RANGE_HANDLE_TYPE_MAX
 * 
 * class CUarraySparseSubresourceType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Sparse subresource types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3218, __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)) __PYX_ERR(1, 3218, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUarraySparseSubresourceType, __pyx_n_s_CUarraySparseSubresourceType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Sparse_subresource_types); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 3218, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3222
 *     Sparse subresource types
 *     """
 *     CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL = ccuda.CUarraySparseSubresourceType_enum.CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL             # <<<<<<<<<<<<<<
 *     CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL = ccuda.CUarraySparseSubresourceType_enum.CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUarraySparseSubresourceType_enum(CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE, __pyx_t_3) < 0) __PYX_ERR(1, 3222, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3223
 *     """
 *     CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL = ccuda.CUarraySparseSubresourceType_enum.CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL
 *     CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL = ccuda.CUarraySparseSubresourceType_enum.CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL             # <<<<<<<<<<<<<<
 * 
 * class CUmemOperationType(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUarraySparseSubresourceType_enum(CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_2, __pyx_t_3) < 0) __PYX_ERR(1, 3223, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3218
 *     CU_MEM_RANGE_HANDLE_TYPE_MAX = ccuda.CUmemRangeHandleType_enum.CU_MEM_RANGE_HANDLE_TYPE_MAX
 * 
 * class CUarraySparseSubresourceType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Sparse subresource types
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUarraySparseSubresourceType, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUarraySparseSubresourceType, __pyx_t_3) < 0) __PYX_ERR(1, 3218, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3225
 *     CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL = ccuda.CUarraySparseSubresourceType_enum.CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL
 * 
 * class CUmemOperationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory operation types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 3225, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUmemOperationType, __pyx_n_s_CUmemOperationType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Memory_operation_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 3225, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3229
 *     Memory operation types
 *     """
 *     CU_MEM_OPERATION_TYPE_MAP = ccuda.CUmemOperationType_enum.CU_MEM_OPERATION_TYPE_MAP             # <<<<<<<<<<<<<<
 *     CU_MEM_OPERATION_TYPE_UNMAP = ccuda.CUmemOperationType_enum.CU_MEM_OPERATION_TYPE_UNMAP
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmemOperationType_enum(CU_MEM_OPERATION_TYPE_MAP); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MEM_OPERATION_TYPE_MAP, __pyx_t_4) < 0) __PYX_ERR(1, 3229, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3230
 *     """
 *     CU_MEM_OPERATION_TYPE_MAP = ccuda.CUmemOperationType_enum.CU_MEM_OPERATION_TYPE_MAP
 *     CU_MEM_OPERATION_TYPE_UNMAP = ccuda.CUmemOperationType_enum.CU_MEM_OPERATION_TYPE_UNMAP             # <<<<<<<<<<<<<<
 * 
 * class CUmemHandleType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmemOperationType_enum(CU_MEM_OPERATION_TYPE_UNMAP); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MEM_OPERATION_TYPE_UNMAP, __pyx_t_4) < 0) __PYX_ERR(1, 3230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3225
 *     CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL = ccuda.CUarraySparseSubresourceType_enum.CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL
 * 
 * class CUmemOperationType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory operation types
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUmemOperationType, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUmemOperationType, __pyx_t_4) < 0) __PYX_ERR(1, 3225, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3232
 *     CU_MEM_OPERATION_TYPE_UNMAP = ccuda.CUmemOperationType_enum.CU_MEM_OPERATION_TYPE_UNMAP
 * 
 * class CUmemHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory handle types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 3232, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUmemHandleType, __pyx_n_s_CUmemHandleType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Memory_handle_types); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 3232, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3236
 *     Memory handle types
 *     """
 *     CU_MEM_HANDLE_TYPE_GENERIC = ccuda.CUmemHandleType_enum.CU_MEM_HANDLE_TYPE_GENERIC             # <<<<<<<<<<<<<<
 * 
 * class CUmemAllocationCompType(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmemHandleType_enum(CU_MEM_HANDLE_TYPE_GENERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MEM_HANDLE_TYPE_GENERIC, __pyx_t_5) < 0) __PYX_ERR(1, 3236, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3232
 *     CU_MEM_OPERATION_TYPE_UNMAP = ccuda.CUmemOperationType_enum.CU_MEM_OPERATION_TYPE_UNMAP
 * 
 * class CUmemHandleType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Memory handle types
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUmemHandleType, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUmemHandleType, __pyx_t_5) < 0) __PYX_ERR(1, 3232, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3238
 *     CU_MEM_HANDLE_TYPE_GENERIC = ccuda.CUmemHandleType_enum.CU_MEM_HANDLE_TYPE_GENERIC
 * 
 * class CUmemAllocationCompType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies compression attribute for an allocation.
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3238, __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)) __PYX_ERR(1, 3238, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUmemAllocationCompType, __pyx_n_s_CUmemAllocationCompType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Specifies_compression_attribute); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 3238, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3244
 * 
 *     #: Allocating non-compressible memory
 *     CU_MEM_ALLOCATION_COMP_NONE = ccuda.CUmemAllocationCompType_enum.CU_MEM_ALLOCATION_COMP_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: Allocating compressible memory
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemAllocationCompType_enum(CU_MEM_ALLOCATION_COMP_NONE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEM_ALLOCATION_COMP_NONE, __pyx_t_3) < 0) __PYX_ERR(1, 3244, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3247
 * 
 *     #: Allocating compressible memory
 *     CU_MEM_ALLOCATION_COMP_GENERIC = ccuda.CUmemAllocationCompType_enum.CU_MEM_ALLOCATION_COMP_GENERIC             # <<<<<<<<<<<<<<
 * 
 * class CUmulticastGranularity_flags(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemAllocationCompType_enum(CU_MEM_ALLOCATION_COMP_GENERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEM_ALLOCATION_COMP_GENERIC, __pyx_t_3) < 0) __PYX_ERR(1, 3247, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3238
 *     CU_MEM_HANDLE_TYPE_GENERIC = ccuda.CUmemHandleType_enum.CU_MEM_HANDLE_TYPE_GENERIC
 * 
 * class CUmemAllocationCompType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Specifies compression attribute for an allocation.
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUmemAllocationCompType, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUmemAllocationCompType, __pyx_t_3) < 0) __PYX_ERR(1, 3238, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3249
 *     CU_MEM_ALLOCATION_COMP_GENERIC = ccuda.CUmemAllocationCompType_enum.CU_MEM_ALLOCATION_COMP_GENERIC
 * 
 * class CUmulticastGranularity_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for querying different granularities for a multicast object
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 3249, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUmulticastGranularity_flags, __pyx_n_s_CUmulticastGranularity_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Flags_for_querying_different_gr); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 3249, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3255
 * 
 *     #: Minimum required granularity
 *     CU_MULTICAST_GRANULARITY_MINIMUM = ccuda.CUmulticastGranularity_flags_enum.CU_MULTICAST_GRANULARITY_MINIMUM             # <<<<<<<<<<<<<<
 * 
 *     #: Recommended granularity for best performance
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmulticastGranularity_flags_enum(CU_MULTICAST_GRANULARITY_MINIMUM); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MULTICAST_GRANULARITY_MINIMUM, __pyx_t_4) < 0) __PYX_ERR(1, 3255, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3258
 * 
 *     #: Recommended granularity for best performance
 *     CU_MULTICAST_GRANULARITY_RECOMMENDED = ccuda.CUmulticastGranularity_flags_enum.CU_MULTICAST_GRANULARITY_RECOMMENDED             # <<<<<<<<<<<<<<
 * 
 * class CUgraphExecUpdateResult(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUmulticastGranularity_flags_enum(CU_MULTICAST_GRANULARITY_RECOMMENDED); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_MULTICAST_GRANULARITY_RECOMME, __pyx_t_4) < 0) __PYX_ERR(1, 3258, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3249
 *     CU_MEM_ALLOCATION_COMP_GENERIC = ccuda.CUmemAllocationCompType_enum.CU_MEM_ALLOCATION_COMP_GENERIC
 * 
 * class CUmulticastGranularity_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for querying different granularities for a multicast object
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUmulticastGranularity_flags, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUmulticastGranularity_flags, __pyx_t_4) < 0) __PYX_ERR(1, 3249, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3260
 *     CU_MULTICAST_GRANULARITY_RECOMMENDED = ccuda.CUmulticastGranularity_flags_enum.CU_MULTICAST_GRANULARITY_RECOMMENDED
 * 
 * class CUgraphExecUpdateResult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Graph Update error types
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 3260, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUgraphExecUpdateResult, __pyx_n_s_CUgraphExecUpdateResult, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_CUDA_Graph_Update_error_types); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 3260, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3266
 * 
 *     #: The update succeeded
 *     CU_GRAPH_EXEC_UPDATE_SUCCESS = ccuda.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_SUCCESS             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed for an unexpected reason which is described in the
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_SUCCESS); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GRAPH_EXEC_UPDATE_SUCCESS, __pyx_t_5) < 0) __PYX_ERR(1, 3266, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3270
 *     #: The update failed for an unexpected reason which is described in the
 *     #: return value of the function
 *     CU_GRAPH_EXEC_UPDATE_ERROR = ccuda.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because the topology changed
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_ERROR); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR, __pyx_t_5) < 0) __PYX_ERR(1, 3270, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3273
 * 
 *     #: The update failed because the topology changed
 *     CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED = ccuda.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because a node type changed
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_TOPOL, __pyx_t_5) < 0) __PYX_ERR(1, 3273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3276
 * 
 *     #: The update failed because a node type changed
 *     CU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED = ccuda.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because the function of a kernel node changed
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_NODE, __pyx_t_5) < 0) __PYX_ERR(1, 3276, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3280
 *     #: The update failed because the function of a kernel node changed
 *     #: (CUDA driver < 11.2)
 *     CU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED = ccuda.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because the parameters changed in a way that is
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_FUNCT, __pyx_t_5) < 0) __PYX_ERR(1, 3280, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3284
 *     #: The update failed because the parameters changed in a way that is
 *     #: not supported
 *     CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED = ccuda.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because something about the node is not supported
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_PARAM, __pyx_t_5) < 0) __PYX_ERR(1, 3284, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3287
 * 
 *     #: The update failed because something about the node is not supported
 *     CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED = ccuda.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because the function of a kernel node changed in
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_NOT_S, __pyx_t_5) < 0) __PYX_ERR(1, 3287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3291
 *     #: The update failed because the function of a kernel node changed in
 *     #: an unsupported way
 *     CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE = ccuda.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE             # <<<<<<<<<<<<<<
 * 
 *     #: The update failed because the node attributes changed in a way that
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_UNSUP, __pyx_t_5) < 0) __PYX_ERR(1, 3291, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3295
 *     #: The update failed because the node attributes changed in a way that
 *     #: is not supported
 *     CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED = ccuda.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED             # <<<<<<<<<<<<<<
 * 
 * class CUmemPool_attribute(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUgraphExecUpdateResult_enum(CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GRAPH_EXEC_UPDATE_ERROR_ATTRI, __pyx_t_5) < 0) __PYX_ERR(1, 3295, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3260
 *     CU_MULTICAST_GRANULARITY_RECOMMENDED = ccuda.CUmulticastGranularity_flags_enum.CU_MULTICAST_GRANULARITY_RECOMMENDED
 * 
 * class CUgraphExecUpdateResult(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Graph Update error types
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUgraphExecUpdateResult, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUgraphExecUpdateResult, __pyx_t_5) < 0) __PYX_ERR(1, 3260, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3297
 *     CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED = ccuda.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED
 * 
 * class CUmemPool_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA memory pool attributes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3297, __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)) __PYX_ERR(1, 3297, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUmemPool_attribute, __pyx_n_s_CUmemPool_attribute, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_CUDA_memory_pool_attributes); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 3297, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3307
 *     #: events and null stream interactions can create the required stream
 *     #: ordered dependencies. (default enabled)
 *     CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES = ccuda.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = int) Allow reuse of already completed frees when there
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemPool_attribute_enum(CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVE, __pyx_t_3) < 0) __PYX_ERR(1, 3307, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3311
 *     #: (value type = int) Allow reuse of already completed frees when there
 *     #: is no dependency between the free and allocation. (default enabled)
 *     CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC = ccuda.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = int) Allow cuMemAllocAsync to insert new stream
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemPool_attribute_enum(CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPO, __pyx_t_3) < 0) __PYX_ERR(1, 3311, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3316
 *     #: dependencies in order to establish the stream ordering required to
 *     #: reuse a piece of memory released by cuFreeAsync (default enabled).
 *     CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES = ccuda.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) Amount of reserved memory in bytes to hold
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemPool_attribute_enum(CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEMPOOL_ATTR_REUSE_ALLOW_INTE, __pyx_t_3) < 0) __PYX_ERR(1, 3316, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3323
 *     #: the allocator will try to release memory back to the OS on the next
 *     #: call to stream, event or context synchronize. (default 0)
 *     CU_MEMPOOL_ATTR_RELEASE_THRESHOLD = ccuda.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RELEASE_THRESHOLD             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) Amount of backing memory currently
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemPool_attribute_enum(CU_MEMPOOL_ATTR_RELEASE_THRESHOLD); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEMPOOL_ATTR_RELEASE_THRESHOL, __pyx_t_3) < 0) __PYX_ERR(1, 3323, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3327
 *     #: (value type = cuuint64_t) Amount of backing memory currently
 *     #: allocated for the mempool.
 *     CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT = ccuda.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) High watermark of backing memory allocated
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemPool_attribute_enum(CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEMPOOL_ATTR_RESERVED_MEM_CUR, __pyx_t_3) < 0) __PYX_ERR(1, 3327, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3332
 *     #: for the mempool since the last time it was reset. High watermark can
 *     #: only be reset to zero.
 *     CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH = ccuda.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) Amount of memory from the pool that is
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemPool_attribute_enum(CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEMPOOL_ATTR_RESERVED_MEM_HIG, __pyx_t_3) < 0) __PYX_ERR(1, 3332, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3336
 *     #: (value type = cuuint64_t) Amount of memory from the pool that is
 *     #: currently in use by the application.
 *     CU_MEMPOOL_ATTR_USED_MEM_CURRENT = ccuda.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_CURRENT             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) High watermark of the amount of memory
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemPool_attribute_enum(CU_MEMPOOL_ATTR_USED_MEM_CURRENT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEMPOOL_ATTR_USED_MEM_CURRENT, __pyx_t_3) < 0) __PYX_ERR(1, 3336, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3341
 *     #: from the pool that was in use by the application since the last time
 *     #: it was reset. High watermark can only be reset to zero.
 *     CU_MEMPOOL_ATTR_USED_MEM_HIGH = ccuda.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_HIGH             # <<<<<<<<<<<<<<
 * 
 * class CUgraphMem_attribute(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUmemPool_attribute_enum(CU_MEMPOOL_ATTR_USED_MEM_HIGH); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_MEMPOOL_ATTR_USED_MEM_HIGH, __pyx_t_3) < 0) __PYX_ERR(1, 3341, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3297
 *     CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED = ccuda.CUgraphExecUpdateResult_enum.CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED
 * 
 * class CUmemPool_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA memory pool attributes
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUmemPool_attribute, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUmemPool_attribute, __pyx_t_3) < 0) __PYX_ERR(1, 3297, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3343
 *     CU_MEMPOOL_ATTR_USED_MEM_HIGH = ccuda.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_HIGH
 * 
 * class CUgraphMem_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 3343, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUgraphMem_attribute, __pyx_n_s_CUgraphMem_attribute, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s__961); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 3343, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3350
 *     #: (value type = cuuint64_t) Amount of memory, in bytes, currently
 *     #: associated with graphs
 *     CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT = ccuda.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) High watermark of memory, in bytes,
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUgraphMem_attribute_enum(CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_GRAPH_MEM_ATTR_USED_MEM_CURRE, __pyx_t_4) < 0) __PYX_ERR(1, 3350, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3355
 *     #: associated with graphs since the last time it was reset. High
 *     #: watermark can only be reset to zero.
 *     CU_GRAPH_MEM_ATTR_USED_MEM_HIGH = ccuda.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_USED_MEM_HIGH             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) Amount of memory, in bytes, currently
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUgraphMem_attribute_enum(CU_GRAPH_MEM_ATTR_USED_MEM_HIGH); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_GRAPH_MEM_ATTR_USED_MEM_HIGH, __pyx_t_4) < 0) __PYX_ERR(1, 3355, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3359
 *     #: (value type = cuuint64_t) Amount of memory, in bytes, currently
 *     #: allocated for use by the CUDA graphs asynchronous allocator.
 *     CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT = ccuda.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT             # <<<<<<<<<<<<<<
 * 
 *     #: (value type = cuuint64_t) High watermark of memory, in bytes,
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUgraphMem_attribute_enum(CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_GRAPH_MEM_ATTR_RESERVED_MEM_C, __pyx_t_4) < 0) __PYX_ERR(1, 3359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3364
 *     #: currently allocated for use by the CUDA graphs asynchronous
 *     #: allocator.
 *     CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH = ccuda.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH             # <<<<<<<<<<<<<<
 * 
 * class CUflushGPUDirectRDMAWritesOptions(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUgraphMem_attribute_enum(CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_GRAPH_MEM_ATTR_RESERVED_MEM_H, __pyx_t_4) < 0) __PYX_ERR(1, 3364, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3343
 *     CU_MEMPOOL_ATTR_USED_MEM_HIGH = ccuda.CUmemPool_attribute_enum.CU_MEMPOOL_ATTR_USED_MEM_HIGH
 * 
 * class CUgraphMem_attribute(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUgraphMem_attribute, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUgraphMem_attribute, __pyx_t_4) < 0) __PYX_ERR(1, 3343, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3366
 *     CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH = ccuda.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH
 * 
 * class CUflushGPUDirectRDMAWritesOptions(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Bitmasks for
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 3366, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUflushGPUDirectRDMAWritesOption, __pyx_n_s_CUflushGPUDirectRDMAWritesOption, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Bitmasks_for_py_obj_CU_DEVICE_A); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 3366, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3374
 *     #: :py:obj:`~.cuFlushGPUDirectRDMAWrites()` and its CUDA Runtime API
 *     #: counterpart are supported on the device.
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST = ccuda.CUflushGPUDirectRDMAWritesOptions_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST             # <<<<<<<<<<<<<<
 * 
 *     #: The :py:obj:`~.CU_STREAM_WAIT_VALUE_FLUSH` flag and the
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUflushGPUDirectRDMAWritesOptions_enum(CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES, __pyx_t_5) < 0) __PYX_ERR(1, 3374, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3379
 *     #: :py:obj:`~.CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES` MemOp are supported
 *     #: on the device.
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS = ccuda.CUflushGPUDirectRDMAWritesOptions_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS             # <<<<<<<<<<<<<<
 * 
 * class CUGPUDirectRDMAWritesOrdering(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUflushGPUDirectRDMAWritesOptions_enum(CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_2, __pyx_t_5) < 0) __PYX_ERR(1, 3379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3366
 *     CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH = ccuda.CUgraphMem_attribute_enum.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH
 * 
 * class CUflushGPUDirectRDMAWritesOptions(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Bitmasks for
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUflushGPUDirectRDMAWritesOption, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUflushGPUDirectRDMAWritesOption, __pyx_t_5) < 0) __PYX_ERR(1, 3366, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3381
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS = ccuda.CUflushGPUDirectRDMAWritesOptions_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS
 * 
 * class CUGPUDirectRDMAWritesOrdering(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Platform native ordering for GPUDirect RDMA writes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3381, __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)) __PYX_ERR(1, 3381, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUGPUDirectRDMAWritesOrdering, __pyx_n_s_CUGPUDirectRDMAWritesOrdering, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Platform_native_ordering_for_GP); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 3381, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3389
 *     #: :py:obj:`~.cuFlushGPUDirectRDMAWrites()` can be leveraged if
 *     #: supported.
 *     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE = ccuda.CUGPUDirectRDMAWritesOrdering_enum.CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: Natively, the device can consistently consume remote writes,
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUGPUDirectRDMAWritesOrdering_enum(CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI, __pyx_t_3) < 0) __PYX_ERR(1, 3389, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3393
 *     #: Natively, the device can consistently consume remote writes,
 *     #: although other CUDA devices may not.
 *     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER = ccuda.CUGPUDirectRDMAWritesOrdering_enum.CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER             # <<<<<<<<<<<<<<
 * 
 *     #: Any CUDA device in the system can consistently consume remote writes
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUGPUDirectRDMAWritesOrdering_enum(CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_2, __pyx_t_3) < 0) __PYX_ERR(1, 3393, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3397
 *     #: Any CUDA device in the system can consistently consume remote writes
 *     #: to this device.
 *     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES = ccuda.CUGPUDirectRDMAWritesOrdering_enum.CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES             # <<<<<<<<<<<<<<
 * 
 * class CUflushGPUDirectRDMAWritesScope(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUGPUDirectRDMAWritesOrdering_enum(CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GPU_DIRECT_RDMA_WRITES_ORDERI_3, __pyx_t_3) < 0) __PYX_ERR(1, 3397, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3381
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS = ccuda.CUflushGPUDirectRDMAWritesOptions_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS
 * 
 * class CUGPUDirectRDMAWritesOrdering(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Platform native ordering for GPUDirect RDMA writes
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUGPUDirectRDMAWritesOrdering, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUGPUDirectRDMAWritesOrdering, __pyx_t_3) < 0) __PYX_ERR(1, 3381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3399
 *     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES = ccuda.CUGPUDirectRDMAWritesOrdering_enum.CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES
 * 
 * class CUflushGPUDirectRDMAWritesScope(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     The scopes for :py:obj:`~.cuFlushGPUDirectRDMAWrites`
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 3399, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUflushGPUDirectRDMAWritesScope, __pyx_n_s_CUflushGPUDirectRDMAWritesScope, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_The_scopes_for_py_obj_cuFlushGP); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 3399, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3406
 *     #: Blocks until remote writes are visible to the CUDA device context
 *     #: owning the data.
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER = ccuda.CUflushGPUDirectRDMAWritesScope_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER             # <<<<<<<<<<<<<<
 * 
 *     #: Blocks until remote writes are visible to all CUDA device contexts.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUflushGPUDirectRDMAWritesScope_enum(CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_3, __pyx_t_4) < 0) __PYX_ERR(1, 3406, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3409
 * 
 *     #: Blocks until remote writes are visible to all CUDA device contexts.
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES = ccuda.CUflushGPUDirectRDMAWritesScope_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES             # <<<<<<<<<<<<<<
 * 
 * class CUflushGPUDirectRDMAWritesTarget(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUflushGPUDirectRDMAWritesScope_enum(CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_4, __pyx_t_4) < 0) __PYX_ERR(1, 3409, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3399
 *     CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES = ccuda.CUGPUDirectRDMAWritesOrdering_enum.CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES
 * 
 * class CUflushGPUDirectRDMAWritesScope(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     The scopes for :py:obj:`~.cuFlushGPUDirectRDMAWrites`
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUflushGPUDirectRDMAWritesScope, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUflushGPUDirectRDMAWritesScope, __pyx_t_4) < 0) __PYX_ERR(1, 3399, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3411
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES = ccuda.CUflushGPUDirectRDMAWritesScope_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES
 * 
 * class CUflushGPUDirectRDMAWritesTarget(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     The targets for :py:obj:`~.cuFlushGPUDirectRDMAWrites`
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 3411, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUflushGPUDirectRDMAWritesTarget, __pyx_n_s_CUflushGPUDirectRDMAWritesTarget, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_The_targets_for_py_obj_cuFlushG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 3411, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3418
 *     #: Sets the target for :py:obj:`~.cuFlushGPUDirectRDMAWrites()` to the
 *     #: currently active CUDA device context.
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX = ccuda.CUflushGPUDirectRDMAWritesTarget_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX             # <<<<<<<<<<<<<<
 * 
 * class CUgraphDebugDot_flags(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUflushGPUDirectRDMAWritesTarget_enum(CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_FLUSH_GPU_DIRECT_RDMA_WRITES_5, __pyx_t_5) < 0) __PYX_ERR(1, 3418, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3411
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES = ccuda.CUflushGPUDirectRDMAWritesScope_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES
 * 
 * class CUflushGPUDirectRDMAWritesTarget(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     The targets for :py:obj:`~.cuFlushGPUDirectRDMAWrites`
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUflushGPUDirectRDMAWritesTarget, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUflushGPUDirectRDMAWritesTarget, __pyx_t_5) < 0) __PYX_ERR(1, 3411, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3420
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX = ccuda.CUflushGPUDirectRDMAWritesTarget_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX
 * 
 * class CUgraphDebugDot_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     The additional write options for :py:obj:`~.cuGraphDebugDotPrint`
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3420, __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)) __PYX_ERR(1, 3420, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUgraphDebugDot_flags, __pyx_n_s_CUgraphDebugDot_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_The_additional_write_options_fo); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 3420, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3426
 * 
 *     #: Output all debug data as if every debug flag is enabled
 *     CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE             # <<<<<<<<<<<<<<
 * 
 *     #: Use CUDA Runtime structures for output
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE, __pyx_t_3) < 0) __PYX_ERR(1, 3426, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3429
 * 
 *     #: Use CUDA Runtime structures for output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES             # <<<<<<<<<<<<<<
 * 
 *     #: Adds CUDA_KERNEL_NODE_PARAMS values to output
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME, __pyx_t_3) < 0) __PYX_ERR(1, 3429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3432
 * 
 *     #: Adds CUDA_KERNEL_NODE_PARAMS values to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds CUDA_MEMCPY3D values to output
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL, __pyx_t_3) < 0) __PYX_ERR(1, 3432, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3435
 * 
 *     #: Adds CUDA_MEMCPY3D values to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds CUDA_MEMSET_NODE_PARAMS values to output
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY, __pyx_t_3) < 0) __PYX_ERR(1, 3435, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3438
 * 
 *     #: Adds CUDA_MEMSET_NODE_PARAMS values to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds CUDA_HOST_NODE_PARAMS values to output
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET, __pyx_t_3) < 0) __PYX_ERR(1, 3438, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3441
 * 
 *     #: Adds CUDA_HOST_NODE_PARAMS values to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds CUevent handle from record and wait nodes to output
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3441, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NO, __pyx_t_3) < 0) __PYX_ERR(1, 3441, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3444
 * 
 *     #: Adds CUevent handle from record and wait nodes to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds CUDA_EXT_SEM_SIGNAL_NODE_PARAMS values to output
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3444, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_N, __pyx_t_3) < 0) __PYX_ERR(1, 3444, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3447
 * 
 *     #: Adds CUDA_EXT_SEM_SIGNAL_NODE_PARAMS values to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds CUDA_EXT_SEM_WAIT_NODE_PARAMS values to output
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM, __pyx_t_3) < 0) __PYX_ERR(1, 3447, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3450
 * 
 *     #: Adds CUDA_EXT_SEM_WAIT_NODE_PARAMS values to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds CUkernelNodeAttrValue values to output
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEM_2, __pyx_t_3) < 0) __PYX_ERR(1, 3450, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3453
 * 
 *     #: Adds CUkernelNodeAttrValue values to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES             # <<<<<<<<<<<<<<
 * 
 *     #: Adds node handles and every kernel function handle to output
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_2, __pyx_t_3) < 0) __PYX_ERR(1, 3453, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3456
 * 
 *     #: Adds node handles and every kernel function handle to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES             # <<<<<<<<<<<<<<
 * 
 *     #: Adds memory alloc node parameters to output
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES, __pyx_t_3) < 0) __PYX_ERR(1, 3456, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3459
 * 
 *     #: Adds memory alloc node parameters to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds memory free node parameters to output
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALL, __pyx_t_3) < 0) __PYX_ERR(1, 3459, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3462
 * 
 *     #: Adds memory free node parameters to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds batch mem op node parameters to output
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FRE, __pyx_t_3) < 0) __PYX_ERR(1, 3462, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3465
 * 
 *     #: Adds batch mem op node parameters to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_MEM_OP_NODE_PARAMS = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_MEM_OP_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 *     #: Adds edge numbering information
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_MEM_OP_NODE_PARAMS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_M, __pyx_t_3) < 0) __PYX_ERR(1, 3465, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3468
 * 
 *     #: Adds edge numbering information
 *     CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_TOPO_INFO = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_TOPO_INFO             # <<<<<<<<<<<<<<
 * 
 *     #: Adds conditional node parameters to output
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_TOPO_INFO); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_T, __pyx_t_3) < 0) __PYX_ERR(1, 3468, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3471
 * 
 *     #: Adds conditional node parameters to output
 *     CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS             # <<<<<<<<<<<<<<
 * 
 * class CUuserObject_flags(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GRAPH_DEBUG_DOT_FLAGS_CONDITI, __pyx_t_3) < 0) __PYX_ERR(1, 3471, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3420
 *     CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX = ccuda.CUflushGPUDirectRDMAWritesTarget_enum.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX
 * 
 * class CUgraphDebugDot_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     The additional write options for :py:obj:`~.cuGraphDebugDotPrint`
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUgraphDebugDot_flags, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUgraphDebugDot_flags, __pyx_t_3) < 0) __PYX_ERR(1, 3420, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3473
 *     CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS
 * 
 * class CUuserObject_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for user objects for graphs
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 3473, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUuserObject_flags, __pyx_n_s_CUuserObject_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Flags_for_user_objects_for_grap); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 3473, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3480
 *     #: Indicates the destructor execution is not synchronized by any CUDA
 *     #: handle.
 *     CU_USER_OBJECT_NO_DESTRUCTOR_SYNC = ccuda.CUuserObject_flags_enum.CU_USER_OBJECT_NO_DESTRUCTOR_SYNC             # <<<<<<<<<<<<<<
 * 
 * class CUuserObjectRetain_flags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUuserObject_flags_enum(CU_USER_OBJECT_NO_DESTRUCTOR_SYNC); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_USER_OBJECT_NO_DESTRUCTOR_SYN, __pyx_t_4) < 0) __PYX_ERR(1, 3480, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3473
 *     CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS = ccuda.CUgraphDebugDot_flags_enum.CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS
 * 
 * class CUuserObject_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for user objects for graphs
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUuserObject_flags, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUuserObject_flags, __pyx_t_4) < 0) __PYX_ERR(1, 3473, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3482
 *     CU_USER_OBJECT_NO_DESTRUCTOR_SYNC = ccuda.CUuserObject_flags_enum.CU_USER_OBJECT_NO_DESTRUCTOR_SYNC
 * 
 * class CUuserObjectRetain_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for retaining user object references for graphs
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 3482, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUuserObjectRetain_flags, __pyx_n_s_CUuserObjectRetain_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Flags_for_retaining_user_object); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 3482, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3489
 *     #: Transfer references from the caller rather than creating new
 *     #: references.
 *     CU_GRAPH_USER_OBJECT_MOVE = ccuda.CUuserObjectRetain_flags_enum.CU_GRAPH_USER_OBJECT_MOVE             # <<<<<<<<<<<<<<
 * 
 * class CUgraphInstantiate_flags(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUuserObjectRetain_flags_enum(CU_GRAPH_USER_OBJECT_MOVE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GRAPH_USER_OBJECT_MOVE, __pyx_t_5) < 0) __PYX_ERR(1, 3489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3482
 *     CU_USER_OBJECT_NO_DESTRUCTOR_SYNC = ccuda.CUuserObject_flags_enum.CU_USER_OBJECT_NO_DESTRUCTOR_SYNC
 * 
 * class CUuserObjectRetain_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for retaining user object references for graphs
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUuserObjectRetain_flags, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUuserObjectRetain_flags, __pyx_t_5) < 0) __PYX_ERR(1, 3482, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3491
 *     CU_GRAPH_USER_OBJECT_MOVE = ccuda.CUuserObjectRetain_flags_enum.CU_GRAPH_USER_OBJECT_MOVE
 * 
 * class CUgraphInstantiate_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for instantiating a graph
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3491, __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)) __PYX_ERR(1, 3491, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUgraphInstantiate_flags, __pyx_n_s_CUgraphInstantiate_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Flags_for_instantiating_a_graph); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 3491, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3497
 * 
 *     #: Automatically free memory allocated in a graph before relaunching.
 *     CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH = ccuda.CUgraphInstantiate_flags_enum.CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH             # <<<<<<<<<<<<<<
 * 
 *     #: Automatically upload the graph after instantiation. Only supported
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphInstantiate_flags_enum(CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_AUTO, __pyx_t_3) < 0) __PYX_ERR(1, 3497, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3502
 *     #: by :py:obj:`~.cuGraphInstantiateWithParams`. The upload will be
 *     #: performed using the stream provided in `instantiateParams`.
 *     CUDA_GRAPH_INSTANTIATE_FLAG_UPLOAD = ccuda.CUgraphInstantiate_flags_enum.CUDA_GRAPH_INSTANTIATE_FLAG_UPLOAD             # <<<<<<<<<<<<<<
 * 
 *     #: Instantiate the graph to be launchable from the device. This flag
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphInstantiate_flags_enum(CUDA_GRAPH_INSTANTIATE_FLAG_UPLOAD); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_UPLO, __pyx_t_3) < 0) __PYX_ERR(1, 3502, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3508
 *     #: flag cannot be used in conjunction with
 *     #: CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH.
 *     CUDA_GRAPH_INSTANTIATE_FLAG_DEVICE_LAUNCH = ccuda.CUgraphInstantiate_flags_enum.CUDA_GRAPH_INSTANTIATE_FLAG_DEVICE_LAUNCH             # <<<<<<<<<<<<<<
 * 
 *     #: Run the graph using the per-node priority attributes rather than the
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphInstantiate_flags_enum(CUDA_GRAPH_INSTANTIATE_FLAG_DEVICE_LAUNCH); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_DEVI, __pyx_t_3) < 0) __PYX_ERR(1, 3508, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3512
 *     #: Run the graph using the per-node priority attributes rather than the
 *     #: priority of the stream it is launched into.
 *     CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY = ccuda.CUgraphInstantiate_flags_enum.CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY             # <<<<<<<<<<<<<<
 * 
 * class CUdeviceNumaConfig(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUgraphInstantiate_flags_enum(CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3512, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CUDA_GRAPH_INSTANTIATE_FLAG_USE, __pyx_t_3) < 0) __PYX_ERR(1, 3512, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3491
 *     CU_GRAPH_USER_OBJECT_MOVE = ccuda.CUuserObjectRetain_flags_enum.CU_GRAPH_USER_OBJECT_MOVE
 * 
 * class CUgraphInstantiate_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for instantiating a graph
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUgraphInstantiate_flags, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUgraphInstantiate_flags, __pyx_t_3) < 0) __PYX_ERR(1, 3491, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3514
 *     CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY = ccuda.CUgraphInstantiate_flags_enum.CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY
 * 
 * class CUdeviceNumaConfig(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 3514, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUdeviceNumaConfig, __pyx_n_s_CUdeviceNumaConfig, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s__961); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 3514, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3520
 * 
 *     #: The GPU is not a NUMA node
 *     CU_DEVICE_NUMA_CONFIG_NONE = ccuda.CUdeviceNumaConfig_enum.CU_DEVICE_NUMA_CONFIG_NONE             # <<<<<<<<<<<<<<
 * 
 *     #: The GPU is a NUMA node, CU_DEVICE_ATTRIBUTE_NUMA_ID contains its
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUdeviceNumaConfig_enum(CU_DEVICE_NUMA_CONFIG_NONE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_DEVICE_NUMA_CONFIG_NONE, __pyx_t_4) < 0) __PYX_ERR(1, 3520, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3524
 *     #: The GPU is a NUMA node, CU_DEVICE_ATTRIBUTE_NUMA_ID contains its
 *     #: NUMA ID
 *     CU_DEVICE_NUMA_CONFIG_NUMA_NODE = ccuda.CUdeviceNumaConfig_enum.CU_DEVICE_NUMA_CONFIG_NUMA_NODE             # <<<<<<<<<<<<<<
 * 
 * class CUmoduleLoadingMode(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUdeviceNumaConfig_enum(CU_DEVICE_NUMA_CONFIG_NUMA_NODE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_DEVICE_NUMA_CONFIG_NUMA_NODE, __pyx_t_4) < 0) __PYX_ERR(1, 3524, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3514
 *     CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY = ccuda.CUgraphInstantiate_flags_enum.CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY
 * 
 * class CUdeviceNumaConfig(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUdeviceNumaConfig, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUdeviceNumaConfig, __pyx_t_4) < 0) __PYX_ERR(1, 3514, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3526
 *     CU_DEVICE_NUMA_CONFIG_NUMA_NODE = ccuda.CUdeviceNumaConfig_enum.CU_DEVICE_NUMA_CONFIG_NUMA_NODE
 * 
 * class CUmoduleLoadingMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Lazy Loading status
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 3526, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUmoduleLoadingMode, __pyx_n_s_CUmoduleLoadingMode, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_CUDA_Lazy_Loading_status); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 3526, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3532
 * 
 *     #: Lazy Kernel Loading is not enabled
 *     CU_MODULE_EAGER_LOADING = ccuda.CUmoduleLoadingMode_enum.CU_MODULE_EAGER_LOADING             # <<<<<<<<<<<<<<
 * 
 *     #: Lazy Kernel Loading is enabled
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmoduleLoadingMode_enum(CU_MODULE_EAGER_LOADING); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MODULE_EAGER_LOADING, __pyx_t_5) < 0) __PYX_ERR(1, 3532, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3535
 * 
 *     #: Lazy Kernel Loading is enabled
 *     CU_MODULE_LAZY_LOADING = ccuda.CUmoduleLoadingMode_enum.CU_MODULE_LAZY_LOADING             # <<<<<<<<<<<<<<
 * 
 * class CUfunctionLoadingState(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUmoduleLoadingMode_enum(CU_MODULE_LAZY_LOADING); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_MODULE_LAZY_LOADING, __pyx_t_5) < 0) __PYX_ERR(1, 3535, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3526
 *     CU_DEVICE_NUMA_CONFIG_NUMA_NODE = ccuda.CUdeviceNumaConfig_enum.CU_DEVICE_NUMA_CONFIG_NUMA_NODE
 * 
 * class CUmoduleLoadingMode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA Lazy Loading status
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUmoduleLoadingMode, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUmoduleLoadingMode, __pyx_t_5) < 0) __PYX_ERR(1, 3526, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3537
 *     CU_MODULE_LAZY_LOADING = ccuda.CUmoduleLoadingMode_enum.CU_MODULE_LAZY_LOADING
 * 
 * class CUfunctionLoadingState(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3537, __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)) __PYX_ERR(1, 3537, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUfunctionLoadingState, __pyx_n_s_CUfunctionLoadingState, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s__961); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 3537, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3541
 * 
 *     """
 *     CU_FUNCTION_LOADING_STATE_UNLOADED = ccuda.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_UNLOADED             # <<<<<<<<<<<<<<
 *     CU_FUNCTION_LOADING_STATE_LOADED = ccuda.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_LOADED
 *     CU_FUNCTION_LOADING_STATE_MAX = ccuda.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_MAX
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUfunctionLoadingState_enum(CU_FUNCTION_LOADING_STATE_UNLOADED); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_FUNCTION_LOADING_STATE_UNLOAD, __pyx_t_3) < 0) __PYX_ERR(1, 3541, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3542
 *     """
 *     CU_FUNCTION_LOADING_STATE_UNLOADED = ccuda.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_UNLOADED
 *     CU_FUNCTION_LOADING_STATE_LOADED = ccuda.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_LOADED             # <<<<<<<<<<<<<<
 *     CU_FUNCTION_LOADING_STATE_MAX = ccuda.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_MAX
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUfunctionLoadingState_enum(CU_FUNCTION_LOADING_STATE_LOADED); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_FUNCTION_LOADING_STATE_LOADED, __pyx_t_3) < 0) __PYX_ERR(1, 3542, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3543
 *     CU_FUNCTION_LOADING_STATE_UNLOADED = ccuda.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_UNLOADED
 *     CU_FUNCTION_LOADING_STATE_LOADED = ccuda.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_LOADED
 *     CU_FUNCTION_LOADING_STATE_MAX = ccuda.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_MAX             # <<<<<<<<<<<<<<
 * 
 * class CUcoredumpSettings(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum__CUfunctionLoadingState_enum(CU_FUNCTION_LOADING_STATE_MAX); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_FUNCTION_LOADING_STATE_MAX, __pyx_t_3) < 0) __PYX_ERR(1, 3543, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3537
 *     CU_MODULE_LAZY_LOADING = ccuda.CUmoduleLoadingMode_enum.CU_MODULE_LAZY_LOADING
 * 
 * class CUfunctionLoadingState(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUfunctionLoadingState, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUfunctionLoadingState, __pyx_t_3) < 0) __PYX_ERR(1, 3537, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3545
 *     CU_FUNCTION_LOADING_STATE_MAX = ccuda.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_MAX
 * 
 * class CUcoredumpSettings(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for choosing a coredump attribute to get/set
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 3545, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUcoredumpSettings, __pyx_n_s_CUcoredumpSettings, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Flags_for_choosing_a_coredump_a); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 3545, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3549
 *     Flags for choosing a coredump attribute to get/set
 *     """
 *     CU_COREDUMP_ENABLE_ON_EXCEPTION = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_ON_EXCEPTION             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_TRIGGER_HOST = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST
 *     CU_COREDUMP_LIGHTWEIGHT = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUcoredumpSettings_enum(CU_COREDUMP_ENABLE_ON_EXCEPTION); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3549, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_COREDUMP_ENABLE_ON_EXCEPTION, __pyx_t_4) < 0) __PYX_ERR(1, 3549, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3550
 *     """
 *     CU_COREDUMP_ENABLE_ON_EXCEPTION = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_ON_EXCEPTION
 *     CU_COREDUMP_TRIGGER_HOST = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_LIGHTWEIGHT = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT
 *     CU_COREDUMP_ENABLE_USER_TRIGGER = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUcoredumpSettings_enum(CU_COREDUMP_TRIGGER_HOST); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_COREDUMP_TRIGGER_HOST, __pyx_t_4) < 0) __PYX_ERR(1, 3550, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3551
 *     CU_COREDUMP_ENABLE_ON_EXCEPTION = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_ON_EXCEPTION
 *     CU_COREDUMP_TRIGGER_HOST = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST
 *     CU_COREDUMP_LIGHTWEIGHT = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_ENABLE_USER_TRIGGER = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER
 *     CU_COREDUMP_FILE = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_FILE
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUcoredumpSettings_enum(CU_COREDUMP_LIGHTWEIGHT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_COREDUMP_LIGHTWEIGHT, __pyx_t_4) < 0) __PYX_ERR(1, 3551, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3552
 *     CU_COREDUMP_TRIGGER_HOST = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_TRIGGER_HOST
 *     CU_COREDUMP_LIGHTWEIGHT = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT
 *     CU_COREDUMP_ENABLE_USER_TRIGGER = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_FILE = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_FILE
 *     CU_COREDUMP_PIPE = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_PIPE
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUcoredumpSettings_enum(CU_COREDUMP_ENABLE_USER_TRIGGER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3552, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_COREDUMP_ENABLE_USER_TRIGGER, __pyx_t_4) < 0) __PYX_ERR(1, 3552, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3553
 *     CU_COREDUMP_LIGHTWEIGHT = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_LIGHTWEIGHT
 *     CU_COREDUMP_ENABLE_USER_TRIGGER = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER
 *     CU_COREDUMP_FILE = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_FILE             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_PIPE = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_PIPE
 *     CU_COREDUMP_MAX = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_MAX
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUcoredumpSettings_enum(CU_COREDUMP_FILE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_COREDUMP_FILE, __pyx_t_4) < 0) __PYX_ERR(1, 3553, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3554
 *     CU_COREDUMP_ENABLE_USER_TRIGGER = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_ENABLE_USER_TRIGGER
 *     CU_COREDUMP_FILE = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_FILE
 *     CU_COREDUMP_PIPE = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_PIPE             # <<<<<<<<<<<<<<
 *     CU_COREDUMP_MAX = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_MAX
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUcoredumpSettings_enum(CU_COREDUMP_PIPE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_COREDUMP_PIPE, __pyx_t_4) < 0) __PYX_ERR(1, 3554, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3555
 *     CU_COREDUMP_FILE = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_FILE
 *     CU_COREDUMP_PIPE = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_PIPE
 *     CU_COREDUMP_MAX = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_MAX             # <<<<<<<<<<<<<<
 * 
 * class CUgreenCtxCreate_flags(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUcoredumpSettings_enum(CU_COREDUMP_MAX); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_COREDUMP_MAX, __pyx_t_4) < 0) __PYX_ERR(1, 3555, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3545
 *     CU_FUNCTION_LOADING_STATE_MAX = ccuda.CUfunctionLoadingState_enum.CU_FUNCTION_LOADING_STATE_MAX
 * 
 * class CUcoredumpSettings(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags for choosing a coredump attribute to get/set
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUcoredumpSettings, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUcoredumpSettings, __pyx_t_4) < 0) __PYX_ERR(1, 3545, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3557
 *     CU_COREDUMP_MAX = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_MAX
 * 
 * class CUgreenCtxCreate_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 3557, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUgreenCtxCreate_flags, __pyx_n_s_CUgreenCtxCreate_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s__961); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 3557, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3563
 * 
 *     #: Required. Creates a default stream to use inside the green context
 *     CU_GREEN_CTX_DEFAULT_STREAM = ccuda.CUgreenCtxCreate_flags.CU_GREEN_CTX_DEFAULT_STREAM             # <<<<<<<<<<<<<<
 * 
 * class CUdevResourceType(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_CUgreenCtxCreate_flags(CU_GREEN_CTX_DEFAULT_STREAM); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GREEN_CTX_DEFAULT_STREAM, __pyx_t_5) < 0) __PYX_ERR(1, 3563, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3557
 *     CU_COREDUMP_MAX = ccuda.CUcoredumpSettings_enum.CU_COREDUMP_MAX
 * 
 * class CUgreenCtxCreate_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 * 
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUgreenCtxCreate_flags, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUgreenCtxCreate_flags, __pyx_t_5) < 0) __PYX_ERR(1, 3557, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3565
 *     CU_GREEN_CTX_DEFAULT_STREAM = ccuda.CUgreenCtxCreate_flags.CU_GREEN_CTX_DEFAULT_STREAM
 * 
 * class CUdevResourceType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Type of resource
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3565, __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)) __PYX_ERR(1, 3565, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUdevResourceType, __pyx_n_s_CUdevResourceType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Type_of_resource); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 3565, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3569
 *     Type of resource
 *     """
 *     CU_DEV_RESOURCE_TYPE_INVALID = ccuda.CUdevResourceType.CU_DEV_RESOURCE_TYPE_INVALID             # <<<<<<<<<<<<<<
 * 
 *     #: Streaming multiprocessors related information
 */
  __pyx_t_3 = __Pyx_PyInt_From_CUdevResourceType(CU_DEV_RESOURCE_TYPE_INVALID); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_DEV_RESOURCE_TYPE_INVALID, __pyx_t_3) < 0) __PYX_ERR(1, 3569, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3572
 * 
 *     #: Streaming multiprocessors related information
 *     CU_DEV_RESOURCE_TYPE_SM = ccuda.CUdevResourceType.CU_DEV_RESOURCE_TYPE_SM             # <<<<<<<<<<<<<<
 * 
 * class CUoutput_mode(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_CUdevResourceType(CU_DEV_RESOURCE_TYPE_SM); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_DEV_RESOURCE_TYPE_SM, __pyx_t_3) < 0) __PYX_ERR(1, 3572, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3565
 *     CU_GREEN_CTX_DEFAULT_STREAM = ccuda.CUgreenCtxCreate_flags.CU_GREEN_CTX_DEFAULT_STREAM
 * 
 * class CUdevResourceType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Type of resource
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUdevResourceType, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUdevResourceType, __pyx_t_3) < 0) __PYX_ERR(1, 3565, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3574
 *     CU_DEV_RESOURCE_TYPE_SM = ccuda.CUdevResourceType.CU_DEV_RESOURCE_TYPE_SM
 * 
 * class CUoutput_mode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Profiler Output Modes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 3574, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUoutput_mode, __pyx_n_s_CUoutput_mode, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Profiler_Output_Modes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 3574, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3580
 * 
 *     #: Output mode Key-Value pair format.
 *     CU_OUT_KEY_VALUE_PAIR = ccuda.CUoutput_mode_enum.CU_OUT_KEY_VALUE_PAIR             # <<<<<<<<<<<<<<
 * 
 *     #: Output mode Comma separated values format.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUoutput_mode_enum(CU_OUT_KEY_VALUE_PAIR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_OUT_KEY_VALUE_PAIR, __pyx_t_4) < 0) __PYX_ERR(1, 3580, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3583
 * 
 *     #: Output mode Comma separated values format.
 *     CU_OUT_CSV = ccuda.CUoutput_mode_enum.CU_OUT_CSV             # <<<<<<<<<<<<<<
 * 
 * class CUeglFrameType(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUoutput_mode_enum(CU_OUT_CSV); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_OUT_CSV, __pyx_t_4) < 0) __PYX_ERR(1, 3583, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3574
 *     CU_DEV_RESOURCE_TYPE_SM = ccuda.CUdevResourceType.CU_DEV_RESOURCE_TYPE_SM
 * 
 * class CUoutput_mode(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Profiler Output Modes
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUoutput_mode, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUoutput_mode, __pyx_t_4) < 0) __PYX_ERR(1, 3574, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3585
 *     CU_OUT_CSV = ccuda.CUoutput_mode_enum.CU_OUT_CSV
 * 
 * class CUeglFrameType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EglFrame type - array or pointer
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 3585, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUeglFrameType, __pyx_n_s_CUeglFrameType, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_CUDA_EglFrame_type_array_or_poi); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 3585, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3591
 * 
 *     #: Frame type CUDA array
 *     CU_EGL_FRAME_TYPE_ARRAY = ccuda.CUeglFrameType_enum.CU_EGL_FRAME_TYPE_ARRAY             # <<<<<<<<<<<<<<
 * 
 *     #: Frame type pointer
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglFrameType_enum(__pyx_e_4cuda_5ccuda_CU_EGL_FRAME_TYPE_ARRAY); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_EGL_FRAME_TYPE_ARRAY, __pyx_t_5) < 0) __PYX_ERR(1, 3591, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3594
 * 
 *     #: Frame type pointer
 *     CU_EGL_FRAME_TYPE_PITCH = ccuda.CUeglFrameType_enum.CU_EGL_FRAME_TYPE_PITCH             # <<<<<<<<<<<<<<
 * 
 * class CUeglResourceLocationFlags(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglFrameType_enum(__pyx_e_4cuda_5ccuda_CU_EGL_FRAME_TYPE_PITCH); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_EGL_FRAME_TYPE_PITCH, __pyx_t_5) < 0) __PYX_ERR(1, 3594, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":3585
 *     CU_OUT_CSV = ccuda.CUoutput_mode_enum.CU_OUT_CSV
 * 
 * class CUeglFrameType(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EglFrame type - array or pointer
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUeglFrameType, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUeglFrameType, __pyx_t_5) < 0) __PYX_ERR(1, 3585, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3596
 *     CU_EGL_FRAME_TYPE_PITCH = ccuda.CUeglFrameType_enum.CU_EGL_FRAME_TYPE_PITCH
 * 
 * class CUeglResourceLocationFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Resource location flags- sysmem or vidmem  For CUDA context on
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3596, __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)) __PYX_ERR(1, 3596, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUeglResourceLocationFlags, __pyx_n_s_CUeglResourceLocationFlags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Resource_location_flags_sysmem); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 3596, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3612
 * 
 *     #: Resource location sysmem
 *     CU_EGL_RESOURCE_LOCATION_SYSMEM = ccuda.CUeglResourceLocationFlags_enum.CU_EGL_RESOURCE_LOCATION_SYSMEM             # <<<<<<<<<<<<<<
 * 
 *     #: Resource location vidmem
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum(__pyx_e_4cuda_5ccuda_CU_EGL_RESOURCE_LOCATION_SYSMEM); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_EGL_RESOURCE_LOCATION_SYSMEM, __pyx_t_3) < 0) __PYX_ERR(1, 3612, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3615
 * 
 *     #: Resource location vidmem
 *     CU_EGL_RESOURCE_LOCATION_VIDMEM = ccuda.CUeglResourceLocationFlags_enum.CU_EGL_RESOURCE_LOCATION_VIDMEM             # <<<<<<<<<<<<<<
 * 
 * class CUeglColorFormat(IntEnum):
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum(__pyx_e_4cuda_5ccuda_CU_EGL_RESOURCE_LOCATION_VIDMEM); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_EGL_RESOURCE_LOCATION_VIDMEM, __pyx_t_3) < 0) __PYX_ERR(1, 3615, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":3596
 *     CU_EGL_FRAME_TYPE_PITCH = ccuda.CUeglFrameType_enum.CU_EGL_FRAME_TYPE_PITCH
 * 
 * class CUeglResourceLocationFlags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Resource location flags- sysmem or vidmem  For CUDA context on
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUeglResourceLocationFlags, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUeglResourceLocationFlags, __pyx_t_3) < 0) __PYX_ERR(1, 3596, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":3617
 *     CU_EGL_RESOURCE_LOCATION_VIDMEM = ccuda.CUeglResourceLocationFlags_enum.CU_EGL_RESOURCE_LOCATION_VIDMEM
 * 
 * class CUeglColorFormat(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EGL Color Format - The different planar and multiplanar
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 3617, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 3617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUeglColorFormat, __pyx_n_s_CUeglColorFormat, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_CUDA_EGL_Color_Format_The_diffe); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 3617, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3627
 *     #: Y, U, V in three surfaces, each in a separate surface, U/V width =
 *     #: 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YUV420_PLANAR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV420_PLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, UV in two surfaces (UV as one surface) with VU byte ordering,
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV420_PLANAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA, __pyx_t_4) < 0) __PYX_ERR(1, 3627, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3631
 *     #: Y, UV in two surfaces (UV as one surface) with VU byte ordering,
 *     #: width, height ratio same as YUV420Planar.
 *     CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V each in a separate surface, U/V width = 1/2 Y width, U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP, __pyx_t_4) < 0) __PYX_ERR(1, 3631, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3635
 *     #: Y, U, V each in a separate surface, U/V width = 1/2 Y width, U/V
 *     #: height = Y height.
 *     CU_EGL_COLOR_FORMAT_YUV422_PLANAR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV422_PLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, UV in two surfaces with VU byte ordering, width, height ratio
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV422_PLANAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_PLANA, __pyx_t_4) < 0) __PYX_ERR(1, 3635, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3639
 *     #: Y, UV in two surfaces with VU byte ordering, width, height ratio
 *     #: same as YUV422Planar.
 *     CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: R/G/B three channels in one surface with BGR byte ordering. Only
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_SEMIP, __pyx_t_4) < 0) __PYX_ERR(1, 3639, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3643
 *     #: R/G/B three channels in one surface with BGR byte ordering. Only
 *     #: pitch linear format supported.
 *     CU_EGL_COLOR_FORMAT_RGB = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_RGB             # <<<<<<<<<<<<<<
 * 
 *     #: R/G/B three channels in one surface with RGB byte ordering. Only
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_RGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_RGB, __pyx_t_4) < 0) __PYX_ERR(1, 3643, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3647
 *     #: R/G/B three channels in one surface with RGB byte ordering. Only
 *     #: pitch linear format supported.
 *     CU_EGL_COLOR_FORMAT_BGR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BGR             # <<<<<<<<<<<<<<
 * 
 *     #: R/G/B/A four channels in one surface with BGRA byte ordering.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BGR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BGR, __pyx_t_4) < 0) __PYX_ERR(1, 3647, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3650
 * 
 *     #: R/G/B/A four channels in one surface with BGRA byte ordering.
 *     CU_EGL_COLOR_FORMAT_ARGB = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_ARGB             # <<<<<<<<<<<<<<
 * 
 *     #: R/G/B/A four channels in one surface with ABGR byte ordering.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_ARGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_ARGB, __pyx_t_4) < 0) __PYX_ERR(1, 3650, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3653
 * 
 *     #: R/G/B/A four channels in one surface with ABGR byte ordering.
 *     CU_EGL_COLOR_FORMAT_RGBA = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_RGBA             # <<<<<<<<<<<<<<
 * 
 *     #: single luminance channel in one surface.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_RGBA); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_RGBA, __pyx_t_4) < 0) __PYX_ERR(1, 3653, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3656
 * 
 *     #: single luminance channel in one surface.
 *     CU_EGL_COLOR_FORMAT_L = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_L             # <<<<<<<<<<<<<<
 * 
 *     #: single color channel in one surface.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_L); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_L, __pyx_t_4) < 0) __PYX_ERR(1, 3656, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3659
 * 
 *     #: single color channel in one surface.
 *     CU_EGL_COLOR_FORMAT_R = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_R             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in three surfaces, each in a separate surface, U/V width = Y
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_R); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_R, __pyx_t_4) < 0) __PYX_ERR(1, 3659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3663
 *     #: Y, U, V in three surfaces, each in a separate surface, U/V width = Y
 *     #: width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YUV444_PLANAR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV444_PLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, UV in two surfaces (UV as one surface) with VU byte ordering,
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV444_PLANAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_PLANA, __pyx_t_4) < 0) __PYX_ERR(1, 3663, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3667
 *     #: Y, UV in two surfaces (UV as one surface) with VU byte ordering,
 *     #: width, height ratio same as YUV444Planar.
 *     CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in one surface, interleaved as UYVY in one channel.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_SEMIP, __pyx_t_4) < 0) __PYX_ERR(1, 3667, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3670
 * 
 *     #: Y, U, V in one surface, interleaved as UYVY in one channel.
 *     CU_EGL_COLOR_FORMAT_YUYV_422 = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUYV_422             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in one surface, interleaved as YUYV in one channel.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUYV_422); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUYV_422, __pyx_t_4) < 0) __PYX_ERR(1, 3670, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3673
 * 
 *     #: Y, U, V in one surface, interleaved as YUYV in one channel.
 *     CU_EGL_COLOR_FORMAT_UYVY_422 = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_UYVY_422             # <<<<<<<<<<<<<<
 * 
 *     #: R/G/B/A four channels in one surface with RGBA byte ordering.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_UYVY_422); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_UYVY_422, __pyx_t_4) < 0) __PYX_ERR(1, 3673, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3676
 * 
 *     #: R/G/B/A four channels in one surface with RGBA byte ordering.
 *     CU_EGL_COLOR_FORMAT_ABGR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_ABGR             # <<<<<<<<<<<<<<
 * 
 *     #: R/G/B/A four channels in one surface with ARGB byte ordering.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_ABGR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_ABGR, __pyx_t_4) < 0) __PYX_ERR(1, 3676, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3679
 * 
 *     #: R/G/B/A four channels in one surface with ARGB byte ordering.
 *     CU_EGL_COLOR_FORMAT_BGRA = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BGRA             # <<<<<<<<<<<<<<
 * 
 *     #: Alpha color format - one channel in one surface.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BGRA); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BGRA, __pyx_t_4) < 0) __PYX_ERR(1, 3679, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3682
 * 
 *     #: Alpha color format - one channel in one surface.
 *     CU_EGL_COLOR_FORMAT_A = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_A             # <<<<<<<<<<<<<<
 * 
 *     #: R/G color format - two channels in one surface with GR byte ordering
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_A); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_A, __pyx_t_4) < 0) __PYX_ERR(1, 3682, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3685
 * 
 *     #: R/G color format - two channels in one surface with GR byte ordering
 *     CU_EGL_COLOR_FORMAT_RG = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_RG             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V, A four channels in one surface, interleaved as VUYA.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_RG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_RG, __pyx_t_4) < 0) __PYX_ERR(1, 3685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3688
 * 
 *     #: Y, U, V, A four channels in one surface, interleaved as VUYA.
 *     CU_EGL_COLOR_FORMAT_AYUV = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_AYUV             # <<<<<<<<<<<<<<
 * 
 *     #: Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_AYUV); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_AYUV, __pyx_t_4) < 0) __PYX_ERR(1, 3688, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3692
 *     #: Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V
 *     #: width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_SEMIP, __pyx_t_4) < 0) __PYX_ERR(1, 3692, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3696
 *     #: Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V
 *     #: width = 1/2 Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_SEMIP, __pyx_t_4) < 0) __PYX_ERR(1, 3696, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3700
 *     #: Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V
 *     #: width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y10, V10U10 in two surfaces (VU as one surface) with UV byte
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP, __pyx_t_4) < 0) __PYX_ERR(1, 3700, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3704
 *     #: Y10, V10U10 in two surfaces (VU as one surface) with UV byte
 *     #: ordering, U/V width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y10, V10U10 in two surfaces (VU as one surface) with UV byte
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3704, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44, __pyx_t_4) < 0) __PYX_ERR(1, 3704, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3708
 *     #: Y10, V10U10 in two surfaces (VU as one surface) with UV byte
 *     #: ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y12, V12U12 in two surfaces (VU as one surface) with UV byte
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42, __pyx_t_4) < 0) __PYX_ERR(1, 3708, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3712
 *     #: Y12, V12U12 in two surfaces (VU as one surface) with UV byte
 *     #: ordering, U/V width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y12, V12U12 in two surfaces (VU as one surface) with UV byte
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44, __pyx_t_4) < 0) __PYX_ERR(1, 3712, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3716
 *     #: Y12, V12U12 in two surfaces (VU as one surface) with UV byte
 *     #: ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in one surface, interleaved as YVYU in one
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42, __pyx_t_4) < 0) __PYX_ERR(1, 3716, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3720
 *     #: Extended Range Y, U, V in one surface, interleaved as YVYU in one
 *     #: channel.
 *     CU_EGL_COLOR_FORMAT_VYUY_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_VYUY_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in one surface, interleaved as YUYV in one
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_VYUY_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_VYUY_ER, __pyx_t_4) < 0) __PYX_ERR(1, 3720, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3724
 *     #: Extended Range Y, U, V in one surface, interleaved as YUYV in one
 *     #: channel.
 *     CU_EGL_COLOR_FORMAT_UYVY_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_UYVY_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in one surface, interleaved as UYVY in one
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_UYVY_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_UYVY_ER, __pyx_t_4) < 0) __PYX_ERR(1, 3724, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3728
 *     #: Extended Range Y, U, V in one surface, interleaved as UYVY in one
 *     #: channel.
 *     CU_EGL_COLOR_FORMAT_YUYV_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUYV_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in one surface, interleaved as VYUY in one
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUYV_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUYV_ER, __pyx_t_4) < 0) __PYX_ERR(1, 3728, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3732
 *     #: Extended Range Y, U, V in one surface, interleaved as VYUY in one
 *     #: channel.
 *     CU_EGL_COLOR_FORMAT_YVYU_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVYU_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V three channels in one surface, interleaved as
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVYU_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVYU_ER, __pyx_t_4) < 0) __PYX_ERR(1, 3732, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3736
 *     #: Extended Range Y, U, V three channels in one surface, interleaved as
 *     #: VUY. Only pitch linear format supported.
 *     CU_EGL_COLOR_FORMAT_YUV_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V, A four channels in one surface, interleaved
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3736, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV_ER, __pyx_t_4) < 0) __PYX_ERR(1, 3736, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3740
 *     #: Extended Range Y, U, V, A four channels in one surface, interleaved
 *     #: as AVUY.
 *     CU_EGL_COLOR_FORMAT_YUVA_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUVA_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V, A four channels in one surface, interleaved
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUVA_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUVA_ER, __pyx_t_4) < 0) __PYX_ERR(1, 3740, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3744
 *     #: Extended Range Y, U, V, A four channels in one surface, interleaved
 *     #: as VUYA.
 *     CU_EGL_COLOR_FORMAT_AYUV_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_AYUV_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in three surfaces, U/V width = Y width, U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_AYUV_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_AYUV_ER, __pyx_t_4) < 0) __PYX_ERR(1, 3744, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3748
 *     #: Extended Range Y, U, V in three surfaces, U/V width = Y width, U/V
 *     #: height = Y height.
 *     CU_EGL_COLOR_FORMAT_YUV444_PLANAR_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV444_PLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in three surfaces, U/V width = 1/2 Y width,
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV444_PLANAR_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_PLANA_2, __pyx_t_4) < 0) __PYX_ERR(1, 3748, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3752
 *     #: Extended Range Y, U, V in three surfaces, U/V width = 1/2 Y width,
 *     #: U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YUV422_PLANAR_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV422_PLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, U, V in three surfaces, U/V width = 1/2 Y width,
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV422_PLANAR_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_PLANA_2, __pyx_t_4) < 0) __PYX_ERR(1, 3752, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3756
 *     #: Extended Range Y, U, V in three surfaces, U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YUV420_PLANAR_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV420_PLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, UV in two surfaces (UV as one surface) with VU
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV420_PLANAR_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3756, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_2, __pyx_t_4) < 0) __PYX_ERR(1, 3756, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3760
 *     #: Extended Range Y, UV in two surfaces (UV as one surface) with VU
 *     #: byte ordering, U/V width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, UV in two surfaces (UV as one surface) with VU
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3760, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV444_SEMIP_2, __pyx_t_4) < 0) __PYX_ERR(1, 3760, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3764
 *     #: Extended Range Y, UV in two surfaces (UV as one surface) with VU
 *     #: byte ordering, U/V width = 1/2 Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, UV in two surfaces (UV as one surface) with VU
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV422_SEMIP_2, __pyx_t_4) < 0) __PYX_ERR(1, 3764, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3768
 *     #: Extended Range Y, UV in two surfaces (UV as one surface) with VU
 *     #: byte ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, V, U in three surfaces, U/V width = Y width, U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_2, __pyx_t_4) < 0) __PYX_ERR(1, 3768, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3772
 *     #: Extended Range Y, V, U in three surfaces, U/V width = Y width, U/V
 *     #: height = Y height.
 *     CU_EGL_COLOR_FORMAT_YVU444_PLANAR_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU444_PLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, V, U in three surfaces, U/V width = 1/2 Y width,
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU444_PLANAR_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3772, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_PLANA, __pyx_t_4) < 0) __PYX_ERR(1, 3772, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3776
 *     #: Extended Range Y, V, U in three surfaces, U/V width = 1/2 Y width,
 *     #: U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YVU422_PLANAR_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU422_PLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, V, U in three surfaces, U/V width = 1/2 Y width,
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU422_PLANAR_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_PLANA, __pyx_t_4) < 0) __PYX_ERR(1, 3776, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3780
 *     #: Extended Range Y, V, U in three surfaces, U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YVU420_PLANAR_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU420_PLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, VU in two surfaces (VU as one surface) with UV
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU420_PLANAR_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA, __pyx_t_4) < 0) __PYX_ERR(1, 3780, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3784
 *     #: Extended Range Y, VU in two surfaces (VU as one surface) with UV
 *     #: byte ordering, U/V width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, VU in two surfaces (VU as one surface) with UV
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_SEMIP_2, __pyx_t_4) < 0) __PYX_ERR(1, 3784, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3788
 *     #: Extended Range Y, VU in two surfaces (VU as one surface) with UV
 *     #: byte ordering, U/V width = 1/2 Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y, VU in two surfaces (VU as one surface) with UV
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_SEMIP_2, __pyx_t_4) < 0) __PYX_ERR(1, 3788, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3792
 *     #: Extended Range Y, VU in two surfaces (VU as one surface) with UV
 *     #: byte ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved RGGB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3792, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_2, __pyx_t_4) < 0) __PYX_ERR(1, 3792, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3796
 *     #: Bayer format - one channel in one surface with interleaved RGGB
 *     #: ordering.
 *     CU_EGL_COLOR_FORMAT_BAYER_RGGB = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_RGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved BGGR
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_RGGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_RGGB, __pyx_t_4) < 0) __PYX_ERR(1, 3796, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3800
 *     #: Bayer format - one channel in one surface with interleaved BGGR
 *     #: ordering.
 *     CU_EGL_COLOR_FORMAT_BAYER_BGGR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_BGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved GRBG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_BGGR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_BGGR, __pyx_t_4) < 0) __PYX_ERR(1, 3800, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3804
 *     #: Bayer format - one channel in one surface with interleaved GRBG
 *     #: ordering.
 *     CU_EGL_COLOR_FORMAT_BAYER_GRBG = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_GRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved GBRG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_GRBG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_GRBG, __pyx_t_4) < 0) __PYX_ERR(1, 3804, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3808
 *     #: Bayer format - one channel in one surface with interleaved GBRG
 *     #: ordering.
 *     CU_EGL_COLOR_FORMAT_BAYER_GBRG = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_GBRG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer10 format - one channel in one surface with interleaved RGGB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_GBRG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3808, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_GBRG, __pyx_t_4) < 0) __PYX_ERR(1, 3808, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3812
 *     #: Bayer10 format - one channel in one surface with interleaved RGGB
 *     #: ordering. Out of 16 bits, 10 bits used 6 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER10_RGGB = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER10_RGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer10 format - one channel in one surface with interleaved BGGR
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER10_RGGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_RGGB, __pyx_t_4) < 0) __PYX_ERR(1, 3812, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3816
 *     #: Bayer10 format - one channel in one surface with interleaved BGGR
 *     #: ordering. Out of 16 bits, 10 bits used 6 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER10_BGGR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER10_BGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer10 format - one channel in one surface with interleaved GRBG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER10_BGGR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3816, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_BGGR, __pyx_t_4) < 0) __PYX_ERR(1, 3816, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3820
 *     #: Bayer10 format - one channel in one surface with interleaved GRBG
 *     #: ordering. Out of 16 bits, 10 bits used 6 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER10_GRBG = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER10_GRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer10 format - one channel in one surface with interleaved GBRG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER10_GRBG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_GRBG, __pyx_t_4) < 0) __PYX_ERR(1, 3820, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3824
 *     #: Bayer10 format - one channel in one surface with interleaved GBRG
 *     #: ordering. Out of 16 bits, 10 bits used 6 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER10_GBRG = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER10_GBRG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved RGGB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER10_GBRG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_GBRG, __pyx_t_4) < 0) __PYX_ERR(1, 3824, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3828
 *     #: Bayer12 format - one channel in one surface with interleaved RGGB
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_RGGB = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_RGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved BGGR
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_RGGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_RGGB, __pyx_t_4) < 0) __PYX_ERR(1, 3828, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3832
 *     #: Bayer12 format - one channel in one surface with interleaved BGGR
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_BGGR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_BGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved GRBG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_BGGR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_BGGR, __pyx_t_4) < 0) __PYX_ERR(1, 3832, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3836
 *     #: Bayer12 format - one channel in one surface with interleaved GRBG
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_GRBG = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_GRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved GBRG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_GRBG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_GRBG, __pyx_t_4) < 0) __PYX_ERR(1, 3836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3840
 *     #: Bayer12 format - one channel in one surface with interleaved GBRG
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_GBRG = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_GBRG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer14 format - one channel in one surface with interleaved RGGB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_GBRG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3840, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_GBRG, __pyx_t_4) < 0) __PYX_ERR(1, 3840, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3844
 *     #: Bayer14 format - one channel in one surface with interleaved RGGB
 *     #: ordering. Out of 16 bits, 14 bits used 2 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER14_RGGB = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER14_RGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer14 format - one channel in one surface with interleaved BGGR
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER14_RGGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_RGGB, __pyx_t_4) < 0) __PYX_ERR(1, 3844, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3848
 *     #: Bayer14 format - one channel in one surface with interleaved BGGR
 *     #: ordering. Out of 16 bits, 14 bits used 2 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER14_BGGR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER14_BGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer14 format - one channel in one surface with interleaved GRBG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER14_BGGR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3848, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_BGGR, __pyx_t_4) < 0) __PYX_ERR(1, 3848, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3852
 *     #: Bayer14 format - one channel in one surface with interleaved GRBG
 *     #: ordering. Out of 16 bits, 14 bits used 2 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER14_GRBG = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER14_GRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer14 format - one channel in one surface with interleaved GBRG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER14_GRBG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_GRBG, __pyx_t_4) < 0) __PYX_ERR(1, 3852, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3856
 *     #: Bayer14 format - one channel in one surface with interleaved GBRG
 *     #: ordering. Out of 16 bits, 14 bits used 2 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER14_GBRG = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER14_GBRG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer20 format - one channel in one surface with interleaved RGGB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER14_GBRG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER14_GBRG, __pyx_t_4) < 0) __PYX_ERR(1, 3856, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3860
 *     #: Bayer20 format - one channel in one surface with interleaved RGGB
 *     #: ordering. Out of 32 bits, 20 bits used 12 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER20_RGGB = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER20_RGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer20 format - one channel in one surface with interleaved BGGR
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER20_RGGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_RGGB, __pyx_t_4) < 0) __PYX_ERR(1, 3860, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3864
 *     #: Bayer20 format - one channel in one surface with interleaved BGGR
 *     #: ordering. Out of 32 bits, 20 bits used 12 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER20_BGGR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER20_BGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer20 format - one channel in one surface with interleaved GRBG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER20_BGGR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_BGGR, __pyx_t_4) < 0) __PYX_ERR(1, 3864, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3868
 *     #: Bayer20 format - one channel in one surface with interleaved GRBG
 *     #: ordering. Out of 32 bits, 20 bits used 12 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER20_GRBG = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER20_GRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer20 format - one channel in one surface with interleaved GBRG
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER20_GRBG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_GRBG, __pyx_t_4) < 0) __PYX_ERR(1, 3868, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3872
 *     #: Bayer20 format - one channel in one surface with interleaved GBRG
 *     #: ordering. Out of 32 bits, 20 bits used 12 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER20_GBRG = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER20_GBRG             # <<<<<<<<<<<<<<
 * 
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width = Y
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER20_GBRG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER20_GBRG, __pyx_t_4) < 0) __PYX_ERR(1, 3872, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3876
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width = Y
 *     #: width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YVU444_PLANAR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU444_PLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width =
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU444_PLANAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU444_PLANA_2, __pyx_t_4) < 0) __PYX_ERR(1, 3876, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3880
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width =
 *     #: 1/2 Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_YVU422_PLANAR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU422_PLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width =
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU422_PLANAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU422_PLANA_2, __pyx_t_4) < 0) __PYX_ERR(1, 3880, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3884
 *     #: Y, V, U in three surfaces, each in a separate surface, U/V width =
 *     #: 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YVU420_PLANAR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU420_PLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Nvidia proprietary Bayer ISP format - one channel in one surface
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU420_PLANAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_2, __pyx_t_4) < 0) __PYX_ERR(1, 3884, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3889
 *     #: with interleaved RGGB ordering and mapped to opaque integer
 *     #: datatype.
 *     CU_EGL_COLOR_FORMAT_BAYER_ISP_RGGB = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_ISP_RGGB             # <<<<<<<<<<<<<<
 * 
 *     #: Nvidia proprietary Bayer ISP format - one channel in one surface
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_ISP_RGGB); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_RG, __pyx_t_4) < 0) __PYX_ERR(1, 3889, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3894
 *     #: with interleaved BGGR ordering and mapped to opaque integer
 *     #: datatype.
 *     CU_EGL_COLOR_FORMAT_BAYER_ISP_BGGR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_ISP_BGGR             # <<<<<<<<<<<<<<
 * 
 *     #: Nvidia proprietary Bayer ISP format - one channel in one surface
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_ISP_BGGR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_BG, __pyx_t_4) < 0) __PYX_ERR(1, 3894, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3899
 *     #: with interleaved GRBG ordering and mapped to opaque integer
 *     #: datatype.
 *     CU_EGL_COLOR_FORMAT_BAYER_ISP_GRBG = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_ISP_GRBG             # <<<<<<<<<<<<<<
 * 
 *     #: Nvidia proprietary Bayer ISP format - one channel in one surface
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_ISP_GRBG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_GR, __pyx_t_4) < 0) __PYX_ERR(1, 3899, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3904
 *     #: with interleaved GBRG ordering and mapped to opaque integer
 *     #: datatype.
 *     CU_EGL_COLOR_FORMAT_BAYER_ISP_GBRG = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_ISP_GBRG             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved BCCR
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_ISP_GBRG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_ISP_GB, __pyx_t_4) < 0) __PYX_ERR(1, 3904, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3908
 *     #: Bayer format - one channel in one surface with interleaved BCCR
 *     #: ordering.
 *     CU_EGL_COLOR_FORMAT_BAYER_BCCR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_BCCR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved RCCB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_BCCR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_BCCR, __pyx_t_4) < 0) __PYX_ERR(1, 3908, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3912
 *     #: Bayer format - one channel in one surface with interleaved RCCB
 *     #: ordering.
 *     CU_EGL_COLOR_FORMAT_BAYER_RCCB = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_RCCB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved CRBC
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_RCCB); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_RCCB, __pyx_t_4) < 0) __PYX_ERR(1, 3912, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3916
 *     #: Bayer format - one channel in one surface with interleaved CRBC
 *     #: ordering.
 *     CU_EGL_COLOR_FORMAT_BAYER_CRBC = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_CRBC             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer format - one channel in one surface with interleaved CBRC
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_CRBC); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_CRBC, __pyx_t_4) < 0) __PYX_ERR(1, 3916, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3920
 *     #: Bayer format - one channel in one surface with interleaved CBRC
 *     #: ordering.
 *     CU_EGL_COLOR_FORMAT_BAYER_CBRC = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER_CBRC             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer10 format - one channel in one surface with interleaved CCCC
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER_CBRC); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER_CBRC, __pyx_t_4) < 0) __PYX_ERR(1, 3920, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3924
 *     #: Bayer10 format - one channel in one surface with interleaved CCCC
 *     #: ordering. Out of 16 bits, 10 bits used 6 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER10_CCCC = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER10_CCCC             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved BCCR
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER10_CCCC); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER10_CCCC, __pyx_t_4) < 0) __PYX_ERR(1, 3924, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3928
 *     #: Bayer12 format - one channel in one surface with interleaved BCCR
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_BCCR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_BCCR             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved RCCB
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_BCCR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_BCCR, __pyx_t_4) < 0) __PYX_ERR(1, 3928, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3932
 *     #: Bayer12 format - one channel in one surface with interleaved RCCB
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_RCCB = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_RCCB             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved CRBC
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_RCCB); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3932, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_RCCB, __pyx_t_4) < 0) __PYX_ERR(1, 3932, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3936
 *     #: Bayer12 format - one channel in one surface with interleaved CRBC
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_CRBC = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_CRBC             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved CBRC
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_CRBC); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CRBC, __pyx_t_4) < 0) __PYX_ERR(1, 3936, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3940
 *     #: Bayer12 format - one channel in one surface with interleaved CBRC
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_CBRC = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_CBRC             # <<<<<<<<<<<<<<
 * 
 *     #: Bayer12 format - one channel in one surface with interleaved CCCC
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_CBRC); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3940, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CBRC, __pyx_t_4) < 0) __PYX_ERR(1, 3940, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3944
 *     #: Bayer12 format - one channel in one surface with interleaved CCCC
 *     #: ordering. Out of 16 bits, 12 bits used 4 bits No-op.
 *     CU_EGL_COLOR_FORMAT_BAYER12_CCCC = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_BAYER12_CCCC             # <<<<<<<<<<<<<<
 * 
 *     #: Color format for single Y plane.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_BAYER12_CCCC); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_BAYER12_CCCC, __pyx_t_4) < 0) __PYX_ERR(1, 3944, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3947
 * 
 *     #: Color format for single Y plane.
 *     CU_EGL_COLOR_FORMAT_Y = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y             # <<<<<<<<<<<<<<
 * 
 *     #: Y, UV in two surfaces (UV as one surface) U/V width = 1/2 Y width,
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y, __pyx_t_4) < 0) __PYX_ERR(1, 3947, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3951
 *     #: Y, UV in two surfaces (UV as one surface) U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_2020 = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_2020             # <<<<<<<<<<<<<<
 * 
 *     #: Y, VU in two surfaces (VU as one surface) U/V width = 1/2 Y width,
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_2020); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_3, __pyx_t_4) < 0) __PYX_ERR(1, 3951, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3955
 *     #: Y, VU in two surfaces (VU as one surface) U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_2020 = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_2020             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V each in a separate surface, U/V width = 1/2 Y width, U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_2020); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_3, __pyx_t_4) < 0) __PYX_ERR(1, 3955, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3959
 *     #: Y, U, V each in a separate surface, U/V width = 1/2 Y width, U/V
 *     #: height= 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YUV420_PLANAR_2020 = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV420_PLANAR_2020             # <<<<<<<<<<<<<<
 * 
 *     #: Y, V, U each in a separate surface, U/V width = 1/2 Y width, U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV420_PLANAR_2020); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3959, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_3, __pyx_t_4) < 0) __PYX_ERR(1, 3959, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3963
 *     #: Y, V, U each in a separate surface, U/V width = 1/2 Y width, U/V
 *     #: height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YVU420_PLANAR_2020 = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU420_PLANAR_2020             # <<<<<<<<<<<<<<
 * 
 *     #: Y, UV in two surfaces (UV as one surface) U/V width = 1/2 Y width,
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU420_PLANAR_2020); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_3, __pyx_t_4) < 0) __PYX_ERR(1, 3963, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3967
 *     #: Y, UV in two surfaces (UV as one surface) U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_709 = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_709             # <<<<<<<<<<<<<<
 * 
 *     #: Y, VU in two surfaces (VU as one surface) U/V width = 1/2 Y width,
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_709); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3967, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_SEMIP_4, __pyx_t_4) < 0) __PYX_ERR(1, 3967, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3971
 *     #: Y, VU in two surfaces (VU as one surface) U/V width = 1/2 Y width,
 *     #: U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_709 = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_709             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V each in a separate surface, U/V width = 1/2 Y width, U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_709); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_SEMIP_4, __pyx_t_4) < 0) __PYX_ERR(1, 3971, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3975
 *     #: Y, U, V each in a separate surface, U/V width = 1/2 Y width, U/V
 *     #: height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YUV420_PLANAR_709 = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV420_PLANAR_709             # <<<<<<<<<<<<<<
 * 
 *     #: Y, V, U each in a separate surface, U/V width = 1/2 Y width, U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV420_PLANAR_709); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV420_PLANA_4, __pyx_t_4) < 0) __PYX_ERR(1, 3975, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3979
 *     #: Y, V, U each in a separate surface, U/V width = 1/2 Y width, U/V
 *     #: height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_YVU420_PLANAR_709 = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVU420_PLANAR_709             # <<<<<<<<<<<<<<
 * 
 *     #: Y10, V10U10 in two surfaces (VU as one surface), U/V width = 1/2 Y
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVU420_PLANAR_709); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVU420_PLANA_4, __pyx_t_4) < 0) __PYX_ERR(1, 3979, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3983
 *     #: Y10, V10U10 in two surfaces (VU as one surface), U/V width = 1/2 Y
 *     #: width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709 = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709             # <<<<<<<<<<<<<<
 * 
 *     #: Y10, V10U10 in two surfaces (VU as one surface), U/V width = 1/2 Y
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_2, __pyx_t_4) < 0) __PYX_ERR(1, 3983, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3987
 *     #: Y10, V10U10 in two surfaces (VU as one surface), U/V width = 1/2 Y
 *     #: width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_2020 = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_2020             # <<<<<<<<<<<<<<
 * 
 *     #: Y10, V10U10 in two surfaces(VU as one surface) U/V width = 1/2 Y
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_2020); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3987, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_3, __pyx_t_4) < 0) __PYX_ERR(1, 3987, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3991
 *     #: Y10, V10U10 in two surfaces(VU as one surface) U/V width = 1/2 Y
 *     #: width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_2020 = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_2020             # <<<<<<<<<<<<<<
 * 
 *     #: Y10, V10U10 in two surfaces(VU as one surface) U/V width = 1/2 Y
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_2020); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_4, __pyx_t_4) < 0) __PYX_ERR(1, 3991, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3995
 *     #: Y10, V10U10 in two surfaces(VU as one surface) U/V width = 1/2 Y
 *     #: width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR             # <<<<<<<<<<<<<<
 * 
 *     #: Y10, V10U10 in two surfaces(VU as one surface) U/V width = 1/2 Y
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_5, __pyx_t_4) < 0) __PYX_ERR(1, 3995, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3999
 *     #: Y10, V10U10 in two surfaces(VU as one surface) U/V width = 1/2 Y
 *     #: width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_709 = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_709             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y plane.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_709); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_6, __pyx_t_4) < 0) __PYX_ERR(1, 3999, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4002
 * 
 *     #: Extended Range Color format for single Y plane.
 *     CU_EGL_COLOR_FORMAT_Y_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y plane.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y_ER, __pyx_t_4) < 0) __PYX_ERR(1, 4002, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4005
 * 
 *     #: Extended Range Color format for single Y plane.
 *     CU_EGL_COLOR_FORMAT_Y_709_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y_709_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y10 plane.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y_709_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y_709_ER, __pyx_t_4) < 0) __PYX_ERR(1, 4005, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4008
 * 
 *     #: Extended Range Color format for single Y10 plane.
 *     CU_EGL_COLOR_FORMAT_Y10_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y10 plane.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10_ER, __pyx_t_4) < 0) __PYX_ERR(1, 4008, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4011
 * 
 *     #: Extended Range Color format for single Y10 plane.
 *     CU_EGL_COLOR_FORMAT_Y10_709_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10_709_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y12 plane.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10_709_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10_709_ER, __pyx_t_4) < 0) __PYX_ERR(1, 4011, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4014
 * 
 *     #: Extended Range Color format for single Y12 plane.
 *     CU_EGL_COLOR_FORMAT_Y12_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y12_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Color format for single Y12 plane.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y12_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y12_ER, __pyx_t_4) < 0) __PYX_ERR(1, 4014, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4017
 * 
 *     #: Extended Range Color format for single Y12 plane.
 *     CU_EGL_COLOR_FORMAT_Y12_709_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y12_709_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V, A four channels in one surface, interleaved as AVUY.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y12_709_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y12_709_ER, __pyx_t_4) < 0) __PYX_ERR(1, 4017, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4020
 * 
 *     #: Y, U, V, A four channels in one surface, interleaved as AVUY.
 *     CU_EGL_COLOR_FORMAT_YUVA = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUVA             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V three channels in one surface, interleaved as VUY. Only
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUVA); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUVA, __pyx_t_4) < 0) __PYX_ERR(1, 4020, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4024
 *     #: Y, U, V three channels in one surface, interleaved as VUY. Only
 *     #: pitch linear format supported.
 *     CU_EGL_COLOR_FORMAT_YUV = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YUV             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in one surface, interleaved as YVYU in one channel.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YUV); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YUV, __pyx_t_4) < 0) __PYX_ERR(1, 4024, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4027
 * 
 *     #: Y, U, V in one surface, interleaved as YVYU in one channel.
 *     CU_EGL_COLOR_FORMAT_YVYU = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_YVYU             # <<<<<<<<<<<<<<
 * 
 *     #: Y, U, V in one surface, interleaved as VYUY in one channel.
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_YVYU); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_YVYU, __pyx_t_4) < 0) __PYX_ERR(1, 4027, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4030
 * 
 *     #: Y, U, V in one surface, interleaved as VYUY in one channel.
 *     CU_EGL_COLOR_FORMAT_VYUY = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_VYUY             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y10, V10U10 in two surfaces(VU as one surface) U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_VYUY); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_VYUY, __pyx_t_4) < 0) __PYX_ERR(1, 4030, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4034
 *     #: Extended Range Y10, V10U10 in two surfaces(VU as one surface) U/V
 *     #: width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y10, V10U10 in two surfaces(VU as one surface) U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_7, __pyx_t_4) < 0) __PYX_ERR(1, 4034, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4038
 *     #: Extended Range Y10, V10U10 in two surfaces(VU as one surface) U/V
 *     #: width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_42_8, __pyx_t_4) < 0) __PYX_ERR(1, 4038, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4042
 *     #: Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V
 *     #: width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4042, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44_2, __pyx_t_4) < 0) __PYX_ERR(1, 4042, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4046
 *     #: Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V
 *     #: width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_709_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_709_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_709_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y10V10U10_44_3, __pyx_t_4) < 0) __PYX_ERR(1, 4046, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4050
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
 *     #: width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4050, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42_2, __pyx_t_4) < 0) __PYX_ERR(1, 4050, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4054
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
 *     #: width = 1/2 Y width, U/V height = 1/2 Y height.
 *     CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_709_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_709_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_709_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_42_3, __pyx_t_4) < 0) __PYX_ERR(1, 4054, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4058
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
 *     #: width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_ER             # <<<<<<<<<<<<<<
 * 
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4058, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44_2, __pyx_t_4) < 0) __PYX_ERR(1, 4058, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4062
 *     #: Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V
 *     #: width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_709_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_709_ER             # <<<<<<<<<<<<<<
 *     CU_EGL_COLOR_FORMAT_MAX = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_MAX
 * 
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_709_ER); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_Y12V12U12_44_3, __pyx_t_4) < 0) __PYX_ERR(1, 4062, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4063
 *     #: width = Y width, U/V height = Y height.
 *     CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_709_ER = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_709_ER
 *     CU_EGL_COLOR_FORMAT_MAX = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_MAX             # <<<<<<<<<<<<<<
 * 
 * class CUGLDeviceList(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(__pyx_e_4cuda_5ccuda_CU_EGL_COLOR_FORMAT_MAX); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_EGL_COLOR_FORMAT_MAX, __pyx_t_4) < 0) __PYX_ERR(1, 4063, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":3617
 *     CU_EGL_RESOURCE_LOCATION_VIDMEM = ccuda.CUeglResourceLocationFlags_enum.CU_EGL_RESOURCE_LOCATION_VIDMEM
 * 
 * class CUeglColorFormat(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA EGL Color Format - The different planar and multiplanar
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUeglColorFormat, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUeglColorFormat, __pyx_t_4) < 0) __PYX_ERR(1, 3617, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4065
 *     CU_EGL_COLOR_FORMAT_MAX = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_MAX
 * 
 * class CUGLDeviceList(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA devices corresponding to an OpenGL device
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 4065, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUGLDeviceList, __pyx_n_s_CUGLDeviceList, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_CUDA_devices_corresponding_to_a); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 4065, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4071
 * 
 *     #: The CUDA devices for all GPUs used by the current OpenGL context
 *     CU_GL_DEVICE_LIST_ALL = ccuda.CUGLDeviceList_enum.CU_GL_DEVICE_LIST_ALL             # <<<<<<<<<<<<<<
 * 
 *     #: The CUDA devices for the GPUs used by the current OpenGL context in
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUGLDeviceList_enum(__pyx_e_4cuda_5ccuda_CU_GL_DEVICE_LIST_ALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4071, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GL_DEVICE_LIST_ALL, __pyx_t_5) < 0) __PYX_ERR(1, 4071, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4075
 *     #: The CUDA devices for the GPUs used by the current OpenGL context in
 *     #: its currently rendering frame
 *     CU_GL_DEVICE_LIST_CURRENT_FRAME = ccuda.CUGLDeviceList_enum.CU_GL_DEVICE_LIST_CURRENT_FRAME             # <<<<<<<<<<<<<<
 * 
 *     #: The CUDA devices for the GPUs to be used by the current OpenGL
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUGLDeviceList_enum(__pyx_e_4cuda_5ccuda_CU_GL_DEVICE_LIST_CURRENT_FRAME); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GL_DEVICE_LIST_CURRENT_FRAME, __pyx_t_5) < 0) __PYX_ERR(1, 4075, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4079
 *     #: The CUDA devices for the GPUs to be used by the current OpenGL
 *     #: context in the next frame
 *     CU_GL_DEVICE_LIST_NEXT_FRAME = ccuda.CUGLDeviceList_enum.CU_GL_DEVICE_LIST_NEXT_FRAME             # <<<<<<<<<<<<<<
 * 
 * class CUGLmap_flags(IntEnum):
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUGLDeviceList_enum(__pyx_e_4cuda_5ccuda_CU_GL_DEVICE_LIST_NEXT_FRAME); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_GL_DEVICE_LIST_NEXT_FRAME, __pyx_t_5) < 0) __PYX_ERR(1, 4079, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4065
 *     CU_EGL_COLOR_FORMAT_MAX = ccuda.CUeglColorFormat_enum.CU_EGL_COLOR_FORMAT_MAX
 * 
 * class CUGLDeviceList(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     CUDA devices corresponding to an OpenGL device
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUGLDeviceList, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUGLDeviceList, __pyx_t_5) < 0) __PYX_ERR(1, 4065, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4081
 *     CU_GL_DEVICE_LIST_NEXT_FRAME = ccuda.CUGLDeviceList_enum.CU_GL_DEVICE_LIST_NEXT_FRAME
 * 
 * class CUGLmap_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to map or unmap a resource
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4081, __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)) __PYX_ERR(1, 4081, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_2, __pyx_n_s_CUGLmap_flags, __pyx_n_s_CUGLmap_flags, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Flags_to_map_or_unmap_a_resourc); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__pyx_t_2 != __pyx_t_3) {
    if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_3) < 0))) __PYX_ERR(1, 4081, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":4085
 *     Flags to map or unmap a resource
 *     """
 *     CU_GL_MAP_RESOURCE_FLAGS_NONE = ccuda.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_NONE             # <<<<<<<<<<<<<<
 *     CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = ccuda.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY
 *     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = ccuda.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUGLmap_flags_enum(__pyx_e_4cuda_5ccuda_CU_GL_MAP_RESOURCE_FLAGS_NONE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4085, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_NONE, __pyx_t_3) < 0) __PYX_ERR(1, 4085, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":4086
 *     """
 *     CU_GL_MAP_RESOURCE_FLAGS_NONE = ccuda.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_NONE
 *     CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = ccuda.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY             # <<<<<<<<<<<<<<
 *     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = ccuda.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD
 * 
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUGLmap_flags_enum(__pyx_e_4cuda_5ccuda_CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_READ_ON, __pyx_t_3) < 0) __PYX_ERR(1, 4086, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":4087
 *     CU_GL_MAP_RESOURCE_FLAGS_NONE = ccuda.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_NONE
 *     CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = ccuda.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY
 *     CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = ccuda.CUGLmap_flags_enum.CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD             # <<<<<<<<<<<<<<
 * 
 * cdef class CUdeviceptr:
 */
  __pyx_t_3 = __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUGLmap_flags_enum(__pyx_e_4cuda_5ccuda_CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_CU_GL_MAP_RESOURCE_FLAGS_WRITE_D, __pyx_t_3) < 0) __PYX_ERR(1, 4087, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":4081
 *     CU_GL_DEVICE_LIST_NEXT_FRAME = ccuda.CUGLDeviceList_enum.CU_GL_DEVICE_LIST_NEXT_FRAME
 * 
 * class CUGLmap_flags(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Flags to map or unmap a resource
 */
  __pyx_t_3 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_CUGLmap_flags, __pyx_t_2, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUGLmap_flags, __pyx_t_3) < 0) __PYX_ERR(1, 4081, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4113
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUdeviceptr_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdeviceptr_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__2)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUdeviceptr);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUdeviceptr_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdeviceptr___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUdeviceptr_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdeviceptr___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__4)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4140
 *     def __int__(self):
 *         return <int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUdevice_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevice_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__5)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4140, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUdevice);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUdevice_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevice___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__6)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUdevice_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevice___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__7)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4167
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUtexObject_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUtexObject_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__8)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexObject, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4167, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUtexObject);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUtexObject_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUtexObject___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__9)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUtexObject_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUtexObject___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__10)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4194
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12CUsurfObject_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUsurfObject_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__11)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUsurfObject, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4194, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUsurfObject);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12CUsurfObject_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUsurfObject___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__12)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12CUsurfObject_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUsurfObject___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__13)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4219
 *     def __int__(self):
 *         return <uint64_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_24CUgraphConditionalHandle_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphConditionalHandle_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4219, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUgraphConditionalHandle);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_24CUgraphConditionalHandle_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphConditionalHandle___reduc, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__15)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_24CUgraphConditionalHandle_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphConditionalHandle___setst, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__16)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4222
 *         return <void_ptr>self._ptr
 * 
 * class CUkernelNodeAttrID(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes enum; used as id field of
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(1, 4222, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_2, __pyx_n_s_CUkernelNodeAttrID, __pyx_n_s_CUkernelNodeAttrID, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Launch_attributes_enum_used_as); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (__pyx_t_2 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_3, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 4222, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4229
 * 
 *     #: Ignored entry, for convenient composition
 *     CU_LAUNCH_ATTRIBUTE_IGNORE = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_IGNORE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_IGNORE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_IGNORE, __pyx_t_4) < 0) __PYX_ERR(1, 4229, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4233
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.accessPolicyWindow`.
 *     CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC, __pyx_t_4) < 0) __PYX_ERR(1, 4233, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4237
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.cooperative`.
 *     CU_LAUNCH_ATTRIBUTE_COOPERATIVE = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_COOPERATIVE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams. See
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_COOPERATIVE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_COOPERATIVE, __pyx_t_4) < 0) __PYX_ERR(1, 4237, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4241
 *     #: Valid for streams. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.syncPolicy`.
 *     CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT, __pyx_t_4) < 0) __PYX_ERR(1, 4241, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4245
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.clusterDim`.
 *     CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME, __pyx_t_4) < 0) __PYX_ERR(1, 4245, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4249
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.clusterSchedulingPolicyPreference`.
 *     CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Setting
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE, __pyx_t_4) < 0) __PYX_ERR(1, 4249, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4260
 *     #: the programmatic sync (cudaGridDependencySynchronize() or equivalent
 *     #: PTX instructions).
 *     CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Set
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC, __pyx_t_4) < 0) __PYX_ERR(1, 4260, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4283
 *     #: The event must disable timing (i.e. must be created with the
 *     #: :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag set).
 *     CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2, __pyx_t_4) < 0) __PYX_ERR(1, 4283, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4287
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.priority`.
 *     CU_LAUNCH_ATTRIBUTE_PRIORITY = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PRIORITY             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PRIORITY); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_PRIORITY, __pyx_t_4) < 0) __PYX_ERR(1, 4287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4291
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.memSyncDomainMap`.
 *     CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM, __pyx_t_4) < 0) __PYX_ERR(1, 4291, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4295
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.memSyncDomain`.
 *     CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Set
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2, __pyx_t_4) < 0) __PYX_ERR(1, 4295, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4315
 *     #: The event must disable timing (i.e. must be created with the
 *     #: :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag set).
 *     CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. This attribute is graphs-only, and
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL, __pyx_t_4) < 0) __PYX_ERR(1, 4315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4348
 *     #: updatable nodes, the graph must be uploaded before it is launched
 *     #: again.
 *     CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE             # <<<<<<<<<<<<<<
 * 
 * class CUstreamAttrID(IntEnum):
 */
  __pyx_t_4 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT, __pyx_t_4) < 0) __PYX_ERR(1, 4348, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "cuda/cuda.pyx":4222
 *         return <void_ptr>self._ptr
 * 
 * class CUkernelNodeAttrID(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes enum; used as id field of
 */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_CUkernelNodeAttrID, __pyx_t_2, __pyx_t_3, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUkernelNodeAttrID, __pyx_t_4) < 0) __PYX_ERR(1, 4222, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4350
 *     CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE
 * 
 * class CUstreamAttrID(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes enum; used as id field of
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IntEnum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(1, 4350, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 4350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_CUstreamAttrID, __pyx_n_s_CUstreamAttrID, (PyObject *) NULL, __pyx_n_s_cuda_cuda, __pyx_kp_s_Launch_attributes_enum_used_as); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 4350, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4357
 * 
 *     #: Ignored entry, for convenient composition
 *     CU_LAUNCH_ATTRIBUTE_IGNORE = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_IGNORE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_IGNORE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_IGNORE, __pyx_t_5) < 0) __PYX_ERR(1, 4357, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4361
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.accessPolicyWindow`.
 *     CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_ACCESS_POLIC, __pyx_t_5) < 0) __PYX_ERR(1, 4361, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4365
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.cooperative`.
 *     CU_LAUNCH_ATTRIBUTE_COOPERATIVE = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_COOPERATIVE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams. See
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_COOPERATIVE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_COOPERATIVE, __pyx_t_5) < 0) __PYX_ERR(1, 4365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4369
 *     #: Valid for streams. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.syncPolicy`.
 *     CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_SYNCHRONIZAT, __pyx_t_5) < 0) __PYX_ERR(1, 4369, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4373
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.clusterDim`.
 *     CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. See
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_DIME, __pyx_t_5) < 0) __PYX_ERR(1, 4373, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4377
 *     #: Valid for graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.clusterSchedulingPolicyPreference`.
 *     CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Setting
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHE, __pyx_t_5) < 0) __PYX_ERR(1, 4377, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4388
 *     #: the programmatic sync (cudaGridDependencySynchronize() or equivalent
 *     #: PTX instructions).
 *     CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Set
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC, __pyx_t_5) < 0) __PYX_ERR(1, 4388, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4411
 *     #: The event must disable timing (i.e. must be created with the
 *     #: :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag set).
 *     CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_2, __pyx_t_5) < 0) __PYX_ERR(1, 4411, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4415
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.priority`.
 *     CU_LAUNCH_ATTRIBUTE_PRIORITY = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_PRIORITY             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_PRIORITY); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_PRIORITY, __pyx_t_5) < 0) __PYX_ERR(1, 4415, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4419
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.memSyncDomainMap`.
 *     CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for streams, graph nodes, launches. See
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM, __pyx_t_5) < 0) __PYX_ERR(1, 4419, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4423
 *     #: Valid for streams, graph nodes, launches. See
 *     #: :py:obj:`~.CUlaunchAttributeValue.memSyncDomain`.
 *     CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for launches. Set
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOM_2, __pyx_t_5) < 0) __PYX_ERR(1, 4423, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4443
 *     #: The event must disable timing (i.e. must be created with the
 *     #: :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag set).
 *     CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT             # <<<<<<<<<<<<<<
 * 
 *     #: Valid for graph nodes, launches. This attribute is graphs-only, and
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPL, __pyx_t_5) < 0) __PYX_ERR(1, 4443, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4476
 *     #: updatable nodes, the graph must be uploaded before it is launched
 *     #: again.
 *     CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE             # <<<<<<<<<<<<<<
 * 
 * cdef class CUmemGenericAllocationHandle:
 */
  __pyx_t_5 = __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_n_s_CU_LAUNCH_ATTRIBUTE_DEVICE_UPDAT, __pyx_t_5) < 0) __PYX_ERR(1, 4476, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "cuda/cuda.pyx":4350
 *     CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE = ccuda.CUlaunchAttributeID_enum.CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE
 * 
 * class CUstreamAttrID(IntEnum):             # <<<<<<<<<<<<<<
 *     """
 *     Launch attributes enum; used as id field of
 */
  __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CUstreamAttrID, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 4350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUstreamAttrID, __pyx_t_5) < 0) __PYX_ERR(1, 4350, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4500
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_28CUmemGenericAllocationHandle_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemGenericAllocationHandle_get, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__17)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4500, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_28CUmemGenericAllocationHandle_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemGenericAllocationHandle___r, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__18)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_28CUmemGenericAllocationHandle_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemGenericAllocationHandle___s, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__19)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4528
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_9CUcontext_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUcontext_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__20)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUcontext, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4528, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUcontext);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_9CUcontext_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUcontext___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__21)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_9CUcontext_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUcontext___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__22)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4556
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUmodule_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmodule_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__23)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUmodule, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4556, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUmodule);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUmodule_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmodule___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUmodule_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmodule___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__25)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4584
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_10CUfunction_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUfunction_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__26)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUfunction, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4584, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUfunction);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_10CUfunction_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUfunction___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__27)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_10CUfunction_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUfunction___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4612
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_9CUlibrary_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlibrary_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__29)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUlibrary, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4612, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUlibrary);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_9CUlibrary_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlibrary___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__30)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_9CUlibrary_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlibrary___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__31)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4640
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUkernel_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUkernel_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__32)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUkernel, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4640, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUkernel);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUkernel_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUkernel___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__33)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUkernel_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUkernel___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__34)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4668
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_7CUarray_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUarray_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__35)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUarray, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4668, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUarray);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_7CUarray_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUarray___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__36)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_7CUarray_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUarray___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4696
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUmipmappedArray_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmipmappedArray_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__38)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUmipmappedArray, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4696, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUmipmappedArray);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUmipmappedArray_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmipmappedArray___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUmipmappedArray_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmipmappedArray___setstate_cyth, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__40)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4724
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUtexref_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUtexref_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__41)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexref, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4724, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUtexref);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUtexref_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUtexref___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__42)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUtexref_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUtexref___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__43)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4752
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_9CUsurfref_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUsurfref_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__44)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUsurfref, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4752, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUsurfref);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_9CUsurfref_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUsurfref___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__45)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_9CUsurfref_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUsurfref___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__46)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4780
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_7CUevent_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUevent_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__47)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUevent, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4780, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUevent);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_7CUevent_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUevent___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__48)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_7CUevent_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUevent___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__49)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4808
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUstream_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstream_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__50)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4808, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUstream, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4808, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUstream);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUstream_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstream___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__51)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUstream_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstream___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__52)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4836
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_18CUgraphicsResource_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphicsResource_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__53)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphicsResource, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUgraphicsResource);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_18CUgraphicsResource_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphicsResource___reduce_cyth, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__54)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_18CUgraphicsResource_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphicsResource___setstate_cy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__55)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4864
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUexternalMemory_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUexternalMemory_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__56)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUexternalMemory, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4864, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUexternalMemory);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUexternalMemory_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUexternalMemory___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__57)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUexternalMemory_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUexternalMemory___setstate_cyth, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__58)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4892
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_19CUexternalSemaphore_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUexternalSemaphore_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__59)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUexternalSemaphore, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4892, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUexternalSemaphore);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_19CUexternalSemaphore_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUexternalSemaphore___reduce_cyt, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__60)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_19CUexternalSemaphore_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUexternalSemaphore___setstate_c, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__61)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4920
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_7CUgraph_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraph_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__62)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraph, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4920, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUgraph);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_7CUgraph_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraph___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__63)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_7CUgraph_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraph___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__64)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4948
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUgraphNode_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphNode_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__65)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNode, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4948, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUgraphNode);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUgraphNode_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphNode___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__66)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUgraphNode_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphNode___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__67)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":4976
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUgraphExec_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphExec_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__68)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 4976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExec, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 4976, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUgraphExec);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUgraphExec_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphExec___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__69)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUgraphExec_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphExec___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__70)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5004
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12CUmemoryPool_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemoryPool_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__71)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemoryPool, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5004, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUmemoryPool);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12CUmemoryPool_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemoryPool___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__72)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12CUmemoryPool_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemoryPool___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__73)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5032
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12CUuserObject_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUuserObject_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__74)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUuserObject, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5032, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUuserObject);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12CUuserObject_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUuserObject___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__75)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12CUuserObject_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUuserObject___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__76)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5060
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUgraphDeviceNode_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphDeviceNode_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__77)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5060, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphDeviceNode, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5060, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUgraphDeviceNode);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUgraphDeviceNode_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphDeviceNode___reduce_cytho, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__78)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUgraphDeviceNode_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphDeviceNode___setstate_cyt, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__79)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5088
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_21CUasyncCallbackHandle_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUasyncCallbackHandle_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__80)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5088, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUasyncCallbackHandle);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_21CUasyncCallbackHandle_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUasyncCallbackHandle___reduce_c, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__81)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_21CUasyncCallbackHandle_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUasyncCallbackHandle___setstate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__82)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5114
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUlinkState_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlinkState_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__83)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUlinkState, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5114, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUlinkState);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUlinkState_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlinkState___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__84)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUlinkState_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlinkState___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__85)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5142
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_10CUgreenCtx_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgreenCtx_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__86)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUgreenCtx, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5142, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUgreenCtx);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_10CUgreenCtx_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgreenCtx___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__87)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_10CUgreenCtx_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgreenCtx___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__88)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5170
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUdevResourceDesc_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevResourceDesc_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__89)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5170, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevResourceDesc, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5170, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUdevResourceDesc);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUdevResourceDesc_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevResourceDesc___reduce_cytho, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__90)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUdevResourceDesc_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevResourceDesc___setstate_cyt, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__91)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5198
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_21CUeglStreamConnection_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUeglStreamConnection_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__92)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUeglStreamConnection, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5198, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUeglStreamConnection);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_21CUeglStreamConnection_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUeglStreamConnection___reduce_c, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__93)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_21CUeglStreamConnection_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUeglStreamConnection___setstate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__94)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5224
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11EGLImageKHR_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLImageKHR_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__95)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_EGLImageKHR, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5224, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_EGLImageKHR);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11EGLImageKHR_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLImageKHR___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__96)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11EGLImageKHR_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLImageKHR___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__97)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5250
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12EGLStreamKHR_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLStreamKHR_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__98)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_EGLStreamKHR, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5250, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_EGLStreamKHR);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12EGLStreamKHR_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLStreamKHR___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__99)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12EGLStreamKHR_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLStreamKHR___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__100)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5276
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_10EGLSyncKHR_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLSyncKHR_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__101)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_EGLSyncKHR, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5276, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_EGLSyncKHR);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_10EGLSyncKHR_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLSyncKHR___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__102)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_10EGLSyncKHR_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLSyncKHR___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__103)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5302
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_15CUasyncCallback_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUasyncCallback_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__104)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUasyncCallback, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5302, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUasyncCallback);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_15CUasyncCallback_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUasyncCallback___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__105)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_15CUasyncCallback_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUasyncCallback___setstate_cytho, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__106)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5328
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUhostFn_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUhostFn_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__107)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUhostFn, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5328, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUhostFn);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUhostFn_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUhostFn___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__108)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_8CUhostFn_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUhostFn___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__109)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5354
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUstreamCallback_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamCallback_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__110)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamCallback, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5354, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUstreamCallback);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUstreamCallback_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamCallback___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__111)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUstreamCallback_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamCallback___setstate_cyth, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__112)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5380
 *     def __int__(self):
 *         return <void_ptr>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_18CUoccupancyB2DSize_11getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUoccupancyB2DSize_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__113)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5380, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUoccupancyB2DSize);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_18CUoccupancyB2DSize_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUoccupancyB2DSize___reduce_cyth, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__114)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_18CUoccupancyB2DSize_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUoccupancyB2DSize___setstate_cy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__115)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5405
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_9CUuuid_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUuuid_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__116)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUuuid_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5405, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUuuid_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_9CUuuid_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUuuid_st___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__119)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_9CUuuid_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUuuid_st___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__120)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5448
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_20CUmemFabricHandle_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemFabricHandle_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__121)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5448, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5448, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUmemFabricHandle_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_20CUmemFabricHandle_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemFabricHandle_st___reduce_cy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__122)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_20CUmemFabricHandle_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemFabricHandle_st___setstate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__123)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5494
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_19CUipcEventHandle_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUipcEventHandle_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__124)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUipcEventHandle_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5494, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUipcEventHandle_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_19CUipcEventHandle_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUipcEventHandle_st___reduce_cyt, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__125)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_19CUipcEventHandle_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUipcEventHandle_st___setstate_c, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__126)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5548
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUipcMemHandle_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUipcMemHandle_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__127)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUipcMemHandle_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5548, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUipcMemHandle_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUipcMemHandle_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUipcMemHandle_st___reduce_cytho, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__128)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUipcMemHandle_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUipcMemHandle_st___setstate_cyt, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__129)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5611
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].waitValue
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamMemOpWaitValueParams_st_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__130)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5611, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUstreamMemOpWaitValueParams_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamMemOpWaitValueParams_st_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__131)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_31CUstreamMemOpWaitValueParams_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamMemOpWaitValueParams_st_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__132)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5752
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].writeValue
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamMemOpWriteValueParams_st_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__133)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5752, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUstreamMemOpWriteValueParams_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamMemOpWriteValueParams_st_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__134)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUstreamMemOpWriteValueParams_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamMemOpWriteValueParams_st_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__135)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5882
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].flushRemoteWrites
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__136)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5882, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUstreamMemOpFlushRemoteWritesParams_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__137)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_39CUstreamMemOpFlushRemoteWritesParams_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamMemOpFlushRemoteWritesPa_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__138)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5933
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].memoryBarrier
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamMemOpMemoryBarrierParams_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__139)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5933, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUstreamMemOpMemoryBarrierParams_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamMemOpMemoryBarrierParams_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__140)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUstreamMemOpMemoryBarrierParams_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamMemOpMemoryBarrierParams_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__141)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":5999
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_30CUstreamBatchMemOpParams_union_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamBatchMemOpParams_union_g, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__142)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 5999, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUstreamBatchMemOpParams_union);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_30CUstreamBatchMemOpParams_union_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamBatchMemOpParams_union_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__144)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_30CUstreamBatchMemOpParams_union_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUstreamBatchMemOpParams_union_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__145)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":6097
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__146)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 6097, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__147)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_5, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__148)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":6201
 *         if self._paramArray is not NULL:
 *             free(self._paramArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__149)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 6201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__150)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_5, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__151)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":6294
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].info.overBudget
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct0_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct0_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__152)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct0, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 6294, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct0);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct0_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct0___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__153)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct0_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct0___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__154)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":6333
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].info
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union2_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union2_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__155)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union2, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 6333, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_union2);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union2_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union2___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__156)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union2_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union2___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__157)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":6380
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUasyncNotificationInfo_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUasyncNotificationInfo_st_getPt, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__158)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 6380, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUasyncNotificationInfo_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUasyncNotificationInfo_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUasyncNotificationInfo_st___red, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__159)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUasyncNotificationInfo_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUasyncNotificationInfo_st___set, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__160)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":6451
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12CUdevprop_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevprop_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__161)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevprop_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 6451, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUdevprop_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12CUdevprop_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevprop_st___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__162)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12CUdevprop_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevprop_st___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__163)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":6604
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_23CUaccessPolicyWindow_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUaccessPolicyWindow_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__164)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 6604, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUaccessPolicyWindow_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_23CUaccessPolicyWindow_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUaccessPolicyWindow_st___reduce, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__165)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_23CUaccessPolicyWindow_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUaccessPolicyWindow_st___setsta, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__166)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":6706
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st_getPt, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__167)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 6706, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st___red, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__168)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUDA_KERNEL_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_st___set, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__169)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":6875
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_ge, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__170)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 6875, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v2_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__171)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v2_st_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__172)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7082
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_ge, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__173)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 7082, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_KERNEL_NODE_PARAMS_v3_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__174)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_29CUDA_KERNEL_NODE_PARAMS_v3_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_KERNEL_NODE_PARAMS_v3_st_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__175)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7273
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st_getPt, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__176)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 7273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st___red, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__177)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUDA_MEMSET_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_st___set, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__178)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7389
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_ge, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__179)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 7389, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_MEMSET_NODE_PARAMS_v2_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__180)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_29CUDA_MEMSET_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMSET_NODE_PARAMS_v2_st_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__181)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7513
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_HOST_NODE_PARAMS_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__182)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 7513, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_HOST_NODE_PARAMS_st___reduc, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__183)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_24CUDA_HOST_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_HOST_NODE_PARAMS_st___setst, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__184)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7578
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st_getP, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__185)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 7578, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_HOST_NODE_PARAMS_v2_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st___re, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__186)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_27CUDA_HOST_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_HOST_NODE_PARAMS_v2_st___se, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__187)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7661
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS_get, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__188)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 7661, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_CONDITIONAL_NODE_PARAMS);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS___r, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__189)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_28CUDA_CONDITIONAL_NODE_PARAMS_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_CONDITIONAL_NODE_PARAMS___s, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__190)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7786
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_18CUgraphEdgeData_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphEdgeData_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__191)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 7786, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUgraphEdgeData_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_18CUgraphEdgeData_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphEdgeData_st___reduce_cyth, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__192)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_18CUgraphEdgeData_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphEdgeData_st___setstate_cy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__193)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7870
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__194)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 7870, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_GRAPH_INSTANTIATE_PARAMS_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__195)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUDA_GRAPH_INSTANTIATE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_GRAPH_INSTANTIATE_PARAMS_st_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__196)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":7979
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlaunchMemSyncDomainMap_st_getP, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__197)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 7979, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUlaunchMemSyncDomainMap_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlaunchMemSyncDomainMap_st___re, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__198)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_27CUlaunchMemSyncDomainMap_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlaunchMemSyncDomainMap_st___se, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__199)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8032
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].clusterDim
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct1_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct1_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__200)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct1, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 8032, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct1);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct1_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct1___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__201)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct1_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct1___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__202)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8095
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].programmaticEvent
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct2_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct2_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__203)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct2, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 8095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct2);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct2_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct2___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__204)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct2_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct2___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__205)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8165
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].launchCompletionEvent
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct3_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct3_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__206)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct3, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 8165, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct3);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct3_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct3___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__207)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct3_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct3___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__208)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8225
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].deviceUpdatableKernelNode
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct4_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct4_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__209)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct4, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 8225, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct4);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct4_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct4___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__210)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct4_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct4___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__211)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8333
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_28CUlaunchAttributeValue_union_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlaunchAttributeValue_union_get, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__212)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 8333, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUlaunchAttributeValue_union);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_28CUlaunchAttributeValue_union_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlaunchAttributeValue_union___r, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__213)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_28CUlaunchAttributeValue_union_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlaunchAttributeValue_union___s, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__214)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8509
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_20CUlaunchAttribute_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlaunchAttribute_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__215)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 8509, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUlaunchAttribute_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_20CUlaunchAttribute_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlaunchAttribute_st___reduce_cy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__216)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_20CUlaunchAttribute_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlaunchAttribute_st___setstate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__217)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8581
 *         if self._attrs is not NULL:
 *             free(self._attrs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUlaunchConfig_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlaunchConfig_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__218)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUlaunchConfig_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 8581, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUlaunchConfig_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUlaunchConfig_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlaunchConfig_st___reduce_cytho, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__219)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUlaunchConfig_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlaunchConfig_st___setstate_cyt, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__220)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8738
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_24CUexecAffinitySmCount_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUexecAffinitySmCount_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__221)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8738, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 8738, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUexecAffinitySmCount_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_24CUexecAffinitySmCount_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUexecAffinitySmCount_st___reduc, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__222)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_24CUexecAffinitySmCount_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUexecAffinitySmCount_st___setst, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__223)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8777
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].param
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union3_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union3_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__224)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8777, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union3, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 8777, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_union3);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union3_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union3___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__225)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union3_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union3___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__226)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8824
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_22CUexecAffinityParam_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUexecAffinityParam_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__227)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 8824, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUexecAffinityParam_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_22CUexecAffinityParam_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUexecAffinityParam_st___reduce, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__228)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_22CUexecAffinityParam_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUexecAffinityParam_st___setstat, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__229)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8881
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlibraryHostUniversalFunctionAn_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__230)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 8881, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUlibraryHostUniversalFunctionAndDataTable_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlibraryHostUniversalFunctionAn_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__231)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_45CUlibraryHostUniversalFunctionAndDataTable_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUlibraryHostUniversalFunctionAn_5, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__232)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":8989
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUDA_MEMCPY2D_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMCPY2D_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__233)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 8989, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY2D_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUDA_MEMCPY2D_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMCPY2D_st___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__234)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUDA_MEMCPY2D_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMCPY2D_st___setstate_cyth, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__235)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":9274
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUDA_MEMCPY3D_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMCPY3D_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__236)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 9274, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUDA_MEMCPY3D_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMCPY3D_st___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__237)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUDA_MEMCPY3D_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMCPY3D_st___setstate_cyth, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__238)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":9654
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMCPY3D_PEER_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__239)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 9654, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY3D_PEER_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMCPY3D_PEER_st___reduce_c, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__240)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_21CUDA_MEMCPY3D_PEER_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMCPY3D_PEER_st___setstate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__241)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10002
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st_getPt, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__242)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 10002, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_MEMCPY_NODE_PARAMS_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st___red, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__243)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUDA_MEMCPY_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEMCPY_NODE_PARAMS_st___set, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__244)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10090
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__245)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 10090, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_DESCRIPTOR_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st___reduc, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__246)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_24CUDA_ARRAY_DESCRIPTOR_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_ARRAY_DESCRIPTOR_st___setst, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__247)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10173
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st_getPt, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__248)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 10173, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_ARRAY3D_DESCRIPTOR_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st___red, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__249)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUDA_ARRAY3D_DESCRIPTOR_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_ARRAY3D_DESCRIPTOR_st___set, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__250)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10266
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].tileExtent
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct5_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct5_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__251)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct5, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 10266, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct5);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct5_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct5___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__252)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct5_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct5___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__253)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10338
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__254)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 10338, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_SPARSE_PROPERTIES_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__255)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_31CUDA_ARRAY_SPARSE_PROPERTIES_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_ARRAY_SPARSE_PROPERTIES_st_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__256)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10425
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__257)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 10425, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_ARRAY_MEMORY_REQUIREMENTS_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__258)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_33CUDA_ARRAY_MEMORY_REQUIREMENTS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_ARRAY_MEMORY_REQUIREMENTS_s_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__259)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10484
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.array
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct6_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct6_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__260)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10484, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct6, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 10484, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct6);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct6_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct6___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__261)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct6_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct6___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__262)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10532
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.mipmap
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct7_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct7_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__263)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct7, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 10532, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct7);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct7_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct7___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__264)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct7_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct7___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__265)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10586
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.linear
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct8_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct8_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__266)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct8, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 10586, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct8);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct8_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct8___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__267)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct8_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct8___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__268)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10675
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.pitch2D
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct9_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct9_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__269)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct9, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 10675, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct9);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct9_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct9___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__270)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_struct9_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct9___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__271)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10774
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res.reserved
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct10_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct10_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__272)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct10, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 10774, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct10);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct10_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct10___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__273)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct10_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct10___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__274)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10825
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].res
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union4_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union4_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__275)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union4, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 10825, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_union4);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union4_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union4___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__276)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union4_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union4___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__277)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10914
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_RESOURCE_DESC_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__278)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10914, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 10914, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_DESC_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_RESOURCE_DESC_st___reduce_c, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__279)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_21CUDA_RESOURCE_DESC_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_RESOURCE_DESC_st___setstate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__280)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":10995
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_TEXTURE_DESC_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__281)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 10995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 10995, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_TEXTURE_DESC_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_TEXTURE_DESC_st___reduce_cy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__282)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_20CUDA_TEXTURE_DESC_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_TEXTURE_DESC_st___setstate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__283)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":11144
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st_getPt, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__284)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 11144, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_RESOURCE_VIEW_DESC_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st___red, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__285)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_26CUDA_RESOURCE_VIEW_DESC_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_RESOURCE_VIEW_DESC_st___set, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__286)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":11268
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_14CUtensorMap_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUtensorMap_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__287)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUtensorMap_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 11268, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUtensorMap_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_14CUtensorMap_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUtensorMap_st___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__288)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_14CUtensorMap_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUtensorMap_st___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__289)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":11313
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__290)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 11313, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_5, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__291)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_36CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_POINTER_ATTRIBUTE_P2P_TOKEN_6, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__292)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":11385
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_LAUNCH_PARAMS_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__293)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 11385, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_LAUNCH_PARAMS_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_LAUNCH_PARAMS_st___reduce_c, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__294)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_21CUDA_LAUNCH_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_LAUNCH_PARAMS_st___setstate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__295)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":11535
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].handle.win32
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct11_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct11_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__296)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct11, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 11535, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct11);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct11_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct11___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__297)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct11_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct11___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__298)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":11590
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].handle
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union5_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union5_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__299)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union5, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 11590, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_union5);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union5_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union5___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__300)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union5_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union5___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__301)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":11664
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__302)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 11664, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_5, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__303)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_MEMORY_HANDLE_DESC_6, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__304)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":11753
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__305)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 11753, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_5, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__306)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_MEMORY_BUFFER_DESC_6, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__307)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":11833
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__308)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 11833, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_5, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__309)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_44CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_MEMORY_MIPMAPPED_A_6, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__310)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":11904
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].handle.win32
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct12_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct12_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__311)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct12, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 11904, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct12);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct12_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct12___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__312)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct12_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct12___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__313)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":11959
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].handle
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union6_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union6_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__314)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 11959, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union6, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 11959, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_union6);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union6_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union6___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__315)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union6_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union6___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__316)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12031
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__317)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 12031, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_5, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__318)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_HANDLE_D_6, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__319)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12100
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.fence
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct13_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct13_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__320)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct13, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 12100, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct13);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct13_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct13___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__321)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct13_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct13___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__322)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12141
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.nvSciSync
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union7_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union7_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__323)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union7, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 12141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_union7);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union7_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union7___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__324)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union7_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union7___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__325)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12191
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.keyedMutex
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct14_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct14_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__326)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct14, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 12191, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct14);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct14_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct14___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__327)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct14_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct14___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__328)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12238
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct15_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct15_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__329)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct15, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 12238, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct15);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct15_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct15___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__330)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct15_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct15___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__331)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12322
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__332)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 12322, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_5, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__333)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_40CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_SIGNAL_P_6, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__334)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12381
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.fence
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct16_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct16_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__335)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct16, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 12381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct16);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct16_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct16___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__336)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct16_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct16___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__337)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12422
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.nvSciSync
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union8_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union8_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__338)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12422, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union8, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 12422, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_union8);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union8_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union8___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__339)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union8_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union8___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__340)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12474
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params.keyedMutex
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct17_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct17_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__341)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct17, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 12474, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct17);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct17_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct17___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__342)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct17_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct17___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__343)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12531
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].params
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct18_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct18_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__344)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12531, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct18, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 12531, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct18);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct18_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct18___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__345)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct18_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct18___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__346)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12615
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__347)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 12615, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_5, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__348)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_38CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXTERNAL_SEMAPHORE_WAIT_PAR_6, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__349)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12686
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_6, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__350)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 12686, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_7, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__351)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_34CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_8, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__352)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12787
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_9, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__353)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 12787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_10, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__354)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_37CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_11, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__355)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12888
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__356)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 12888, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__357)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_st_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__358)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":12989
 *         if self._paramsArray is not NULL:
 *             free(self._paramsArray)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__359)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 12989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 12989, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__360)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_5, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__361)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13081
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].resource
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union9_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union9_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__362)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union9, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 13081, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_union9);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union9_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union9___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__363)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11anon_union9_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union9___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__364)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13162
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].subresource.sparseLevel
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct19_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct19_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__365)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct19, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 13162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct19);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct19_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct19___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__366)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct19_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct19___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__367)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13275
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].subresource.miptail
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct20_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct20_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__368)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct20, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 13275, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct20);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct20_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct20___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__369)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct20_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct20___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__370)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13337
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].subresource
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_union10_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union10_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__371)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union10, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 13337, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_union10);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_union10_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union10___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__372)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_union10_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union10___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__373)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13386
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].memHandle
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_union11_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union11_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__374)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union11, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 13386, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_union11);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_union11_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union11___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__375)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_union11_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union11___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__376)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13463
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUarrayMapInfo_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUarrayMapInfo_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__377)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 13463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUarrayMapInfo_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUarrayMapInfo_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUarrayMapInfo_st___reduce_cytho, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__378)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUarrayMapInfo_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUarrayMapInfo_st___setstate_cyt, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__379)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13608
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUmemLocation_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemLocation_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__380)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemLocation_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 13608, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUmemLocation_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUmemLocation_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemLocation_st___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__381)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUmemLocation_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemLocation_st___setstate_cyth, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__382)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13663
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].allocFlags
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct21_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct21_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__383)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_struct21, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 13663, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_struct21);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct21_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct21___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__384)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13anon_struct21_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_struct21___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__385)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13752
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_22CUmemAllocationProp_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemAllocationProp_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__386)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 13752, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUmemAllocationProp_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_22CUmemAllocationProp_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemAllocationProp_st___reduce, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__387)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_22CUmemAllocationProp_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemAllocationProp_st___setstat, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__388)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13845
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_24CUmulticastObjectProp_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmulticastObjectProp_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__389)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 13845, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUmulticastObjectProp_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_24CUmulticastObjectProp_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmulticastObjectProp_st___reduc, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__390)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_24CUmulticastObjectProp_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmulticastObjectProp_st___setst, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__391)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13920
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_18CUmemAccessDesc_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemAccessDesc_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__392)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 13920, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUmemAccessDesc_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_18CUmemAccessDesc_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemAccessDesc_st___reduce_cyth, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__393)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_18CUmemAccessDesc_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemAccessDesc_st___setstate_cy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__394)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":13981
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphExecUpdateResultInfo_st_g, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__395)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 13981, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUgraphExecUpdateResultInfo_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphExecUpdateResultInfo_st_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__396)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_30CUgraphExecUpdateResultInfo_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphExecUpdateResultInfo_st_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__397)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14078
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUmemPoolProps_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemPoolProps_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__398)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemPoolProps_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 14078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUmemPoolProps_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUmemPoolProps_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemPoolProps_st___reduce_cytho, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__399)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17CUmemPoolProps_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemPoolProps_st___setstate_cyt, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__400)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14175
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_25CUmemPoolPtrExportData_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemPoolPtrExportData_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__401)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 14175, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUmemPoolPtrExportData_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_25CUmemPoolPtrExportData_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemPoolPtrExportData_st___redu, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__402)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_25CUmemPoolPtrExportData_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemPoolPtrExportData_st___sets, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__403)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14235
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__404)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 14235, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__405)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v1_st_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__406)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14356
 *         if self._accessDescs is not NULL:
 *             free(self._accessDescs)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__407)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 14356, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__408)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEM_ALLOC_NODE_PARAMS_v2_st_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__409)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14463
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st_get, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__410)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 14463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_MEM_FREE_NODE_PARAMS_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st___r, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__411)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_28CUDA_MEM_FREE_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_MEM_FREE_NODE_PARAMS_st___s, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__412)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14516
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__413)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 14516, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_CHILD_GRAPH_NODE_PARAMS_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__414)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_31CUDA_CHILD_GRAPH_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_CHILD_GRAPH_NODE_PARAMS_st_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__415)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14568
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__416)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 14568, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_EVENT_RECORD_NODE_PARAMS_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__417)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_32CUDA_EVENT_RECORD_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EVENT_RECORD_NODE_PARAMS_st_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__418)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14620
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_g, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__419)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 14620, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUDA_EVENT_WAIT_NODE_PARAMS_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__420)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_30CUDA_EVENT_WAIT_NODE_PARAMS_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUDA_EVENT_WAIT_NODE_PARAMS_st_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__421)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14718
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_20CUgraphNodeParams_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphNodeParams_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__422)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 14718, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUgraphNodeParams_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_20CUgraphNodeParams_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphNodeParams_st___reduce_cy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__423)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_20CUgraphNodeParams_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUgraphNodeParams_st___setstate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__424)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14920
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_18CUdevSmResource_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevSmResource_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__425)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevSmResource_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 14920, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUdevSmResource_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_18CUdevSmResource_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevSmResource_st___reduce_cyth, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__426)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_18CUdevSmResource_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevSmResource_st___setstate_cy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__427)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":14969
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUdevResource_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevResource_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__428)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14969, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevResource_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 14969, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUdevResource_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUdevResource_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevResource_st___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__429)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16CUdevResource_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevResource_st___setstate_cyth, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__430)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15046
 *     def __dealloc__(self):
 *         pass
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>&self._ptr[0].frame
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_union14_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union14_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__431)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15046, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_anon_union14, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 15046, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_anon_union14);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_union14_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union14___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__432)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_12anon_union14_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_anon_union14___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__433)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15130
 *         if self._val_ptr is not NULL:
 *             free(self._val_ptr)
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 *     def __repr__(self):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13CUeglFrame_st_7getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUeglFrame_st_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__434)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUeglFrame_st, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 15130, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUeglFrame_st);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13CUeglFrame_st_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUeglFrame_st___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__435)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13CUeglFrame_st_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUeglFrame_st___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__436)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15261
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_10cuuint32_t_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cuuint32_t_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__437)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint32_t, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 15261, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_cuuint32_t);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_10cuuint32_t_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cuuint32_t___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__438)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_10cuuint32_t_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cuuint32_t___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__439)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15286
 *     def __int__(self):
 *         return <uint64_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_10cuuint64_t_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cuuint64_t_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__440)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_cuuint64_t, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 15286, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_cuuint64_t);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_10cuuint64_t_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cuuint64_t___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__441)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_10cuuint64_t_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_cuuint64_t___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__442)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15313
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_14CUdeviceptr_v2_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdeviceptr_v2_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__443)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUdeviceptr_v2, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 15313, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUdeviceptr_v2);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_14CUdeviceptr_v2_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdeviceptr_v2___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__444)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_14CUdeviceptr_v2_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdeviceptr_v2___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__445)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15340
 *     def __int__(self):
 *         return <int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUdevice_v1_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevice_v1_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__446)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUdevice_v1, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 15340, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUdevice_v1);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUdevice_v1_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevice_v1___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__447)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11CUdevice_v1_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUdevice_v1___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__448)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15367
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_14CUtexObject_v1_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUtexObject_v1_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__449)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUtexObject_v1, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 15367, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUtexObject_v1);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_14CUtexObject_v1_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUtexObject_v1___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__450)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_14CUtexObject_v1_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUtexObject_v1___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__451)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15394
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_15CUsurfObject_v1_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUsurfObject_v1_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__452)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUsurfObject_v1, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 15394, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUsurfObject_v1);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_15CUsurfObject_v1_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUsurfObject_v1___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__453)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_15CUsurfObject_v1_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUsurfObject_v1___setstate_cytho, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__454)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15419
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemGenericAllocationHandle_v1_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__455)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 15419, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_CUmemGenericAllocationHandle_v1);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemGenericAllocationHandle_v1_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__456)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_31CUmemGenericAllocationHandle_v1_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_CUmemGenericAllocationHandle_v1_5, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__457)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15444
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_6GLenum_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GLenum_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__458)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15444, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_GLenum, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 15444, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_GLenum);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_6GLenum_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GLenum___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__459)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_6GLenum_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GLenum___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__460)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15469
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_6GLuint_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GLuint_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__461)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_GLuint, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 15469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_GLuint);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_6GLuint_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GLuint___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__462)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_6GLuint_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GLuint___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__463)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15494
 *     def __int__(self):
 *         return <unsigned int>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_6EGLint_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLint_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__464)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_EGLint, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 15494, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_EGLint);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_6EGLint_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLint___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__465)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_6EGLint_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_EGLint___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__466)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15519
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_9VdpDevice_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpDevice_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__467)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_VdpDevice, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 15519, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_VdpDevice);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_9VdpDevice_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpDevice___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__468)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_9VdpDevice_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpDevice___setstate_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__469)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15544
 *     def __int__(self):
 *         return <unsigned long long>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17VdpGetProcAddress_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpGetProcAddress_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__470)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15544, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_VdpGetProcAddress, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 15544, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_VdpGetProcAddress);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17VdpGetProcAddress_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpGetProcAddress___reduce_cytho, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__471)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17VdpGetProcAddress_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpGetProcAddress___setstate_cyt, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__472)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15569
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_15VdpVideoSurface_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpVideoSurface_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__473)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_VdpVideoSurface, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 15569, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_VdpVideoSurface);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_15VdpVideoSurface_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpVideoSurface___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__474)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_15VdpVideoSurface_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpVideoSurface___setstate_cytho, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__475)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15594
 *     def __int__(self):
 *         return <uint32_t>self._ptr[0]
 *     def getPtr(self):             # <<<<<<<<<<<<<<
 *         return <void_ptr>self._ptr
 * 
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16VdpOutputSurface_9getPtr, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpOutputSurface_getPtr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__476)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_4cuda_4cuda_VdpOutputSurface, __pyx_n_s_getPtr, __pyx_t_2) < 0) __PYX_ERR(1, 15594, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  PyType_Modified(__pyx_ptype_4cuda_4cuda_VdpOutputSurface);

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16VdpOutputSurface_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpOutputSurface___reduce_cython, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__477)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_16VdpOutputSurface_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VdpOutputSurface___setstate_cyth, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__478)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15597
 *         return <void_ptr>self._ptr
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetErrorString(error not None : CUresult):
 *     """ Gets the string description of an error code.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_error, __pyx_n_s_CUresult) < 0) __PYX_ERR(1, 15597, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_1cuGetErrorString, 0, __pyx_n_s_cuGetErrorString, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__479)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGetErrorString, __pyx_t_3) < 0) __PYX_ERR(1, 15597, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":15627
 *     return (CUresult(err), <bytes>pStr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetErrorName(error not None : CUresult):
 *     """ Gets the string representation of an error code enum name.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_error, __pyx_n_s_CUresult) < 0) __PYX_ERR(1, 15627, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_3cuGetErrorName, 0, __pyx_n_s_cuGetErrorName, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__480)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGetErrorName, __pyx_t_2) < 0) __PYX_ERR(1, 15627, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15657
 *     return (CUresult(err), <bytes>pStr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuInit(unsigned int Flags):
 *     """ Initialize the CUDA driver API Initializes the driver API and must be called before any other function from the driver API in the current process. Currently, the `Flags` parameter must be 0. If :py:obj:`~.cuInit()` has not been called, any function from the driver API will return :py:obj:`~.CUDA_ERROR_NOT_INITIALIZED`.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_5cuInit, 0, __pyx_n_s_cuInit, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__481)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuInit, __pyx_t_2) < 0) __PYX_ERR(1, 15657, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15674
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDriverGetVersion():
 *     """ Returns the latest CUDA version supported by driver.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_7cuDriverGetVersion, 0, __pyx_n_s_cuDriverGetVersion, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__482)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDriverGetVersion, __pyx_t_2) < 0) __PYX_ERR(1, 15674, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15700
 *     return (CUresult(err), driverVersion)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGet(int ordinal):
 *     """ Returns a handle to a compute device.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_9cuDeviceGet, 0, __pyx_n_s_cuDeviceGet, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__483)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGet, __pyx_t_2) < 0) __PYX_ERR(1, 15700, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15727
 *     return (CUresult(err), device)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetCount():
 *     """ Returns the number of compute-capable devices.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_11cuDeviceGetCount, 0, __pyx_n_s_cuDeviceGetCount, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__484)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGetCount, __pyx_t_2) < 0) __PYX_ERR(1, 15727, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15750
 *     return (CUresult(err), count)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetName(int length, dev):
 *     """ Returns an identifier string for the device.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_13cuDeviceGetName, 0, __pyx_n_s_cuDeviceGetName, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__485)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGetName, __pyx_t_2) < 0) __PYX_ERR(1, 15750, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15790
 *     return (CUresult(err), pyname)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetUuid(dev):
 *     """ Return an UUID for the device.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_15cuDeviceGetUuid, 0, __pyx_n_s_cuDeviceGetUuid, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__487)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15790, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGetUuid, __pyx_t_2) < 0) __PYX_ERR(1, 15790, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15830
 *     return (CUresult(err), uuid)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetUuid_v2(dev):
 *     """ Return an UUID for the device (11.4+)
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_17cuDeviceGetUuid_v2, 0, __pyx_n_s_cuDeviceGetUuid_v2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__488)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGetUuid_v2, __pyx_t_2) < 0) __PYX_ERR(1, 15830, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15867
 *     return (CUresult(err), uuid)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetLuid(dev):
 *     """ Return an LUID and device node mask for the device.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_19cuDeviceGetLuid, 0, __pyx_n_s_cuDeviceGetLuid, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__489)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGetLuid, __pyx_t_2) < 0) __PYX_ERR(1, 15867, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15906
 *     return (CUresult(err), <bytes>luid, deviceNodeMask)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceTotalMem(dev):
 *     """ Returns the total amount of memory on the device.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_21cuDeviceTotalMem, 0, __pyx_n_s_cuDeviceTotalMem, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__490)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceTotalMem, __pyx_t_2) < 0) __PYX_ERR(1, 15906, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":15942
 *     return (CUresult(err), numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetTexture1DLinearMaxWidth(pformat not None : CUarray_format, unsigned numChannels, dev):
 *     """ Returns the maximum number of elements allocatable in a 1D linear texture for a given texture element size.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_pformat, __pyx_n_s_CUarray_format) < 0) __PYX_ERR(1, 15942, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_23cuDeviceGetTexture1DLinearMaxWidth, 0, __pyx_n_s_cuDeviceGetTexture1DLinearMaxWid, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__491)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGetTexture1DLinearMaxWid, __pyx_t_3) < 0) __PYX_ERR(1, 15942, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":15985
 *     return (CUresult(err), maxWidthInElements)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetAttribute(attrib not None : CUdevice_attribute, dev):
 *     """ Returns information about the device.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attrib, __pyx_n_s_CUdevice_attribute) < 0) __PYX_ERR(1, 15985, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_25cuDeviceGetAttribute, 0, __pyx_n_s_cuDeviceGetAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__492)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15985, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGetAttribute, __pyx_t_2) < 0) __PYX_ERR(1, 15985, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":16402
 *     return (CUresult(err), pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetNvSciSyncAttributes(nvSciSyncAttrList, dev, int flags):
 *     """ Return NvSciSync attributes that this device can support.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_27cuDeviceGetNvSciSyncAttributes, 0, __pyx_n_s_cuDeviceGetNvSciSyncAttributes, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__493)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGetNvSciSyncAttributes, __pyx_t_2) < 0) __PYX_ERR(1, 16402, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":16497
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceSetMemPool(dev, pool):
 *     """ Sets the current memory pool of a device.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_29cuDeviceSetMemPool, 0, __pyx_n_s_cuDeviceSetMemPool, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__494)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceSetMemPool, __pyx_t_2) < 0) __PYX_ERR(1, 16497, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":16547
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetMemPool(dev):
 *     """ Gets the current mempool for a device.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_31cuDeviceGetMemPool, 0, __pyx_n_s_cuDeviceGetMemPool, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__495)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGetMemPool, __pyx_t_2) < 0) __PYX_ERR(1, 16547, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":16586
 *     return (CUresult(err), pool)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetDefaultMemPool(dev):
 *     """ Returns the default mempool of a device.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_33cuDeviceGetDefaultMemPool, 0, __pyx_n_s_cuDeviceGetDefaultMemPool, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__496)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGetDefaultMemPool, __pyx_t_2) < 0) __PYX_ERR(1, 16586, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":16622
 *     return (CUresult(err), pool_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetExecAffinitySupport(typename not None : CUexecAffinityType, dev):
 *     """ Returns information about the execution affinity support of the device.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_typename, __pyx_n_s_CUexecAffinityType) < 0) __PYX_ERR(1, 16622, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_35cuDeviceGetExecAffinitySupport, 0, __pyx_n_s_cuDeviceGetExecAffinitySupport, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__497)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 16622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGetExecAffinitySupport, __pyx_t_3) < 0) __PYX_ERR(1, 16622, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":16665
 *     return (CUresult(err), pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFlushGPUDirectRDMAWrites(target not None : CUflushGPUDirectRDMAWritesTarget, scope not None : CUflushGPUDirectRDMAWritesScope):
 *     """ Blocks until remote writes are visible to the specified scope.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 16665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_target, __pyx_n_s_CUflushGPUDirectRDMAWritesTarget) < 0) __PYX_ERR(1, 16665, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_scope, __pyx_n_s_CUflushGPUDirectRDMAWritesScope) < 0) __PYX_ERR(1, 16665, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_37cuFlushGPUDirectRDMAWrites, 0, __pyx_n_s_cuFlushGPUDirectRDMAWrites, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__498)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuFlushGPUDirectRDMAWrites, __pyx_t_2) < 0) __PYX_ERR(1, 16665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":16702
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetProperties(dev):
 *     """ Returns properties for a selected device.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_39cuDeviceGetProperties, 0, __pyx_n_s_cuDeviceGetProperties, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__499)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGetProperties, __pyx_t_2) < 0) __PYX_ERR(1, 16702, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":16777
 *     return (CUresult(err), prop)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceComputeCapability(dev):
 *     """ Returns the compute capability of the device.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_41cuDeviceComputeCapability, 0, __pyx_n_s_cuDeviceComputeCapability, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__500)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16777, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceComputeCapability, __pyx_t_2) < 0) __PYX_ERR(1, 16777, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":16821
 *     return (CUresult(err), major, minor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxRetain(dev):
 *     """ Retain the primary context on the GPU.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_43cuDevicePrimaryCtxRetain, 0, __pyx_n_s_cuDevicePrimaryCtxRetain, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__501)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDevicePrimaryCtxRetain, __pyx_t_2) < 0) __PYX_ERR(1, 16821, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":16874
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxRelease(dev):
 *     """ Release the primary context on the GPU.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_45cuDevicePrimaryCtxRelease, 0, __pyx_n_s_cuDevicePrimaryCtxRelease, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__502)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDevicePrimaryCtxRelease, __pyx_t_2) < 0) __PYX_ERR(1, 16874, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":16917
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxSetFlags(dev, unsigned int flags):
 *     """ Set flags for the primary context.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_47cuDevicePrimaryCtxSetFlags, 0, __pyx_n_s_cuDevicePrimaryCtxSetFlags, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__503)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDevicePrimaryCtxSetFlags, __pyx_t_2) < 0) __PYX_ERR(1, 16917, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":17028
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxGetState(dev):
 *     """ Get the state of the primary context.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_49cuDevicePrimaryCtxGetState, 0, __pyx_n_s_cuDevicePrimaryCtxGetState, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__504)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDevicePrimaryCtxGetState, __pyx_t_2) < 0) __PYX_ERR(1, 17028, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":17068
 *     return (CUresult(err), flags, active)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevicePrimaryCtxReset(dev):
 *     """ Destroy all allocations and reset all state on the primary context.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_51cuDevicePrimaryCtxReset, 0, __pyx_n_s_cuDevicePrimaryCtxReset, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__505)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17068, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDevicePrimaryCtxReset, __pyx_t_2) < 0) __PYX_ERR(1, 17068, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":17110
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate(unsigned int flags, dev):
 *     """ Create a CUDA context.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_53cuCtxCreate, 0, __pyx_n_s_cuCtxCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__506)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxCreate, __pyx_t_2) < 0) __PYX_ERR(1, 17110, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":17250
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxCreate_v3(paramsArray : Optional[List[CUexecAffinityParam]], int numParams, unsigned int flags, dev):
 *     """ Create a CUDA context with execution affinity.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_paramsArray_2, __pyx_kp_s_Optional_List_CUexecAffinityPara) < 0) __PYX_ERR(1, 17250, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_55cuCtxCreate_v3, 0, __pyx_n_s_cuCtxCreate_v3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__507)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxCreate_v3, __pyx_t_3) < 0) __PYX_ERR(1, 17250, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":17412
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDestroy(ctx):
 *     """ Destroy a CUDA context.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_57cuCtxDestroy, 0, __pyx_n_s_cuCtxDestroy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__509)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxDestroy, __pyx_t_3) < 0) __PYX_ERR(1, 17412, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":17465
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxPushCurrent(ctx):
 *     """ Pushes a context on the current CPU thread.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_59cuCtxPushCurrent, 0, __pyx_n_s_cuCtxPushCurrent, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__510)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxPushCurrent, __pyx_t_3) < 0) __PYX_ERR(1, 17465, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":17503
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxPopCurrent():
 *     """ Pops the current CUDA context from the current CPU thread.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_61cuCtxPopCurrent, 0, __pyx_n_s_cuCtxPopCurrent, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__511)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxPopCurrent, __pyx_t_3) < 0) __PYX_ERR(1, 17503, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":17530
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetCurrent(ctx):
 *     """ Binds the specified CUDA context to the calling CPU thread.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_63cuCtxSetCurrent, 0, __pyx_n_s_cuCtxSetCurrent, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__512)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxSetCurrent, __pyx_t_3) < 0) __PYX_ERR(1, 17530, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":17570
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetCurrent():
 *     """ Returns the CUDA context bound to the calling CPU thread.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_65cuCtxGetCurrent, 0, __pyx_n_s_cuCtxGetCurrent, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__513)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxGetCurrent, __pyx_t_3) < 0) __PYX_ERR(1, 17570, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":17593
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetDevice():
 *     """ Returns the device ID for the current context.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_67cuCtxGetDevice, 0, __pyx_n_s_cuCtxGetDevice, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__514)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxGetDevice, __pyx_t_3) < 0) __PYX_ERR(1, 17593, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":17614
 *     return (CUresult(err), device)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetFlags():
 *     """ Returns the flags for the current context.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_69cuCtxGetFlags, 0, __pyx_n_s_cuCtxGetFlags, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__515)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxGetFlags, __pyx_t_3) < 0) __PYX_ERR(1, 17614, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":17636
 *     return (CUresult(err), flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetFlags(unsigned int flags):
 *     """ Sets the flags for the current context.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_71cuCtxSetFlags, 0, __pyx_n_s_cuCtxSetFlags, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__516)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxSetFlags, __pyx_t_3) < 0) __PYX_ERR(1, 17636, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":17660
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetId(ctx):
 *     """ Returns the unique Id associated with the context supplied.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_73cuCtxGetId, 0, __pyx_n_s_cuCtxGetId, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__517)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxGetId, __pyx_t_3) < 0) __PYX_ERR(1, 17660, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":17698
 *     return (CUresult(err), ctxId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSynchronize():
 *     """ Block for a context's tasks to complete.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_75cuCtxSynchronize, 0, __pyx_n_s_cuCtxSynchronize, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__518)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxSynchronize, __pyx_t_3) < 0) __PYX_ERR(1, 17698, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":17720
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetLimit(limit not None : CUlimit, size_t value):
 *     """ Set resource limits.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_limit, __pyx_n_s_CUlimit) < 0) __PYX_ERR(1, 17720, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_77cuCtxSetLimit, 0, __pyx_n_s_cuCtxSetLimit, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__519)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxSetLimit, __pyx_t_2) < 0) __PYX_ERR(1, 17720, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":17823
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetLimit(limit not None : CUlimit):
 *     """ Returns resource limits.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_limit, __pyx_n_s_CUlimit) < 0) __PYX_ERR(1, 17823, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_79cuCtxGetLimit, 0, __pyx_n_s_cuCtxGetLimit, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__520)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxGetLimit, __pyx_t_3) < 0) __PYX_ERR(1, 17823, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":17876
 *     return (CUresult(err), pvalue)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetCacheConfig():
 *     """ Returns the preferred cache configuration for the current context.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_81cuCtxGetCacheConfig, 0, __pyx_n_s_cuCtxGetCacheConfig, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__521)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxGetCacheConfig, __pyx_t_3) < 0) __PYX_ERR(1, 17876, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":17918
 *     return (CUresult(err), CUfunc_cache(pconfig))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetCacheConfig(config not None : CUfunc_cache):
 *     """ Sets the preferred cache configuration for the current context.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 17918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_config, __pyx_n_s_CUfunc_cache) < 0) __PYX_ERR(1, 17918, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_83cuCtxSetCacheConfig, 0, __pyx_n_s_cuCtxSetCacheConfig, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__522)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxSetCacheConfig, __pyx_t_2) < 0) __PYX_ERR(1, 17918, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":17972
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetApiVersion(ctx):
 *     """ Gets the context's API version.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_85cuCtxGetApiVersion, 0, __pyx_n_s_cuCtxGetApiVersion, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__523)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 17972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxGetApiVersion, __pyx_t_2) < 0) __PYX_ERR(1, 17972, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":18015
 *     return (CUresult(err), version)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetStreamPriorityRange():
 *     """ Returns numerical values that correspond to the least and greatest stream priorities.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_87cuCtxGetStreamPriorityRange, 0, __pyx_n_s_cuCtxGetStreamPriorityRange, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__524)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18015, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxGetStreamPriorityRange, __pyx_t_2) < 0) __PYX_ERR(1, 18015, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":18055
 *     return (CUresult(err), leastPriority, greatestPriority)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxResetPersistingL2Cache():
 *     """ Resets all persisting lines in cache to normal status.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_89cuCtxResetPersistingL2Cache, 0, __pyx_n_s_cuCtxResetPersistingL2Cache, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__525)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxResetPersistingL2Cache, __pyx_t_2) < 0) __PYX_ERR(1, 18055, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":18074
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetExecAffinity(typename not None : CUexecAffinityType):
 *     """ Returns the execution affinity setting for the current context.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_typename, __pyx_n_s_CUexecAffinityType) < 0) __PYX_ERR(1, 18074, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_91cuCtxGetExecAffinity, 0, __pyx_n_s_cuCtxGetExecAffinity, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__526)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxGetExecAffinity, __pyx_t_3) < 0) __PYX_ERR(1, 18074, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18105
 *     return (CUresult(err), pExecAffinity)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxAttach(unsigned int flags):
 *     """ Increment a context's usage-count.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_93cuCtxAttach, 0, __pyx_n_s_cuCtxAttach, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__527)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxAttach, __pyx_t_3) < 0) __PYX_ERR(1, 18105, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18140
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDetach(ctx):
 *     """ Decrement a context's usage-count.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_95cuCtxDetach, 0, __pyx_n_s_cuCtxDetach, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__528)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxDetach, __pyx_t_3) < 0) __PYX_ERR(1, 18140, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18179
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetSharedMemConfig():
 *     """ Returns the current shared memory configuration for the current context.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_97cuCtxGetSharedMemConfig, 0, __pyx_n_s_cuCtxGetSharedMemConfig, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__529)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxGetSharedMemConfig, __pyx_t_3) < 0) __PYX_ERR(1, 18179, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18216
 *     return (CUresult(err), CUsharedconfig(pConfig))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxSetSharedMemConfig(config not None : CUsharedconfig):
 *     """ Sets the shared memory configuration for the current context.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_config, __pyx_n_s_CUsharedconfig) < 0) __PYX_ERR(1, 18216, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_99cuCtxSetSharedMemConfig, 0, __pyx_n_s_cuCtxSetSharedMemConfig, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__530)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxSetSharedMemConfig, __pyx_t_2) < 0) __PYX_ERR(1, 18216, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":18267
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoad(char* fname):
 *     """ Loads a compute module.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_101cuModuleLoad, 0, __pyx_n_s_cuModuleLoad, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__531)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuModuleLoad, __pyx_t_2) < 0) __PYX_ERR(1, 18267, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":18300
 *     return (CUresult(err), module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadData(image):
 *     """ Load a module's data.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_103cuModuleLoadData, 0, __pyx_n_s_cuModuleLoadData, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__532)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuModuleLoadData, __pyx_t_2) < 0) __PYX_ERR(1, 18300, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":18331
 *     return (CUresult(err), module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadDataEx(image, unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[List[Any]]):
 *     """ Load a module's data with options.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_options, __pyx_kp_s_Optional_List_CUjit_option) < 0) __PYX_ERR(1, 18331, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_optionValues, __pyx_kp_s_Optional_List_Any) < 0) __PYX_ERR(1, 18331, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_105cuModuleLoadDataEx, 0, __pyx_n_s_cuModuleLoadDataEx, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__533)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuModuleLoadDataEx, __pyx_t_3) < 0) __PYX_ERR(1, 18331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18377
 *     return (CUresult(err), module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleLoadFatBinary(fatCubin):
 *     """ Load a module's data.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_107cuModuleLoadFatBinary, 0, __pyx_n_s_cuModuleLoadFatBinary, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__536)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuModuleLoadFatBinary, __pyx_t_3) < 0) __PYX_ERR(1, 18377, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18414
 *     return (CUresult(err), module)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleUnload(hmod):
 *     """ Unloads a module.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_109cuModuleUnload, 0, __pyx_n_s_cuModuleUnload, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__537)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuModuleUnload, __pyx_t_3) < 0) __PYX_ERR(1, 18414, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18449
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetLoadingMode():
 *     """ Query lazy loading mode.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_111cuModuleGetLoadingMode, 0, __pyx_n_s_cuModuleGetLoadingMode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__538)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuModuleGetLoadingMode, __pyx_t_3) < 0) __PYX_ERR(1, 18449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18471
 *     return (CUresult(err), CUmoduleLoadingMode(mode))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetFunction(hmod, char* name):
 *     """ Returns a function handle.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_113cuModuleGetFunction, 0, __pyx_n_s_cuModuleGetFunction, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__539)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuModuleGetFunction, __pyx_t_3) < 0) __PYX_ERR(1, 18471, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18511
 *     return (CUresult(err), hfunc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetFunctionCount(mod):
 *     """ Returns the number of functions within a module.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_115cuModuleGetFunctionCount, 0, __pyx_n_s_cuModuleGetFunctionCount, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__540)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuModuleGetFunctionCount, __pyx_t_3) < 0) __PYX_ERR(1, 18511, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18542
 *     return (CUresult(err), count)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleEnumerateFunctions(unsigned int numFunctions, mod):
 *     """ Returns the function handles within a module.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_117cuModuleEnumerateFunctions, 0, __pyx_n_s_cuModuleEnumerateFunctions, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__541)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18542, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuModuleEnumerateFunctions, __pyx_t_3) < 0) __PYX_ERR(1, 18542, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18596
 *     return (CUresult(err), pyfunctions)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetGlobal(hmod, char* name):
 *     """ Returns a global pointer from a module.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_119cuModuleGetGlobal, 0, __pyx_n_s_cuModuleGetGlobal, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__542)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuModuleGetGlobal, __pyx_t_3) < 0) __PYX_ERR(1, 18596, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18640
 *     return (CUresult(err), dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkCreate(unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[List[Any]]):
 *     """ Creates a pending JIT linker invocation.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_options, __pyx_kp_s_Optional_List_CUjit_option) < 0) __PYX_ERR(1, 18640, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_optionValues, __pyx_kp_s_Optional_List_Any) < 0) __PYX_ERR(1, 18640, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_121cuLinkCreate, 0, __pyx_n_s_cuLinkCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__543)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLinkCreate, __pyx_t_2) < 0) __PYX_ERR(1, 18640, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":18701
 *     return (CUresult(err), stateOut)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddData(state, typename not None : CUjitInputType, data, size_t size, char* name, unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[List[Any]]):
 *     """ Add an input to a pending linker invocation.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_typename, __pyx_n_s_CUjitInputType) < 0) __PYX_ERR(1, 18701, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_options, __pyx_kp_s_Optional_List_CUjit_option) < 0) __PYX_ERR(1, 18701, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_optionValues, __pyx_kp_s_Optional_List_Any) < 0) __PYX_ERR(1, 18701, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_123cuLinkAddData, 0, __pyx_n_s_cuLinkAddData, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__544)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLinkAddData, __pyx_t_3) < 0) __PYX_ERR(1, 18701, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":18771
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkAddFile(state, typename not None : CUjitInputType, char* path, unsigned int numOptions, options : Optional[List[CUjit_option]], optionValues : Optional[List[Any]]):
 *     """ Add a file input to a pending linker invocation.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_typename, __pyx_n_s_CUjitInputType) < 0) __PYX_ERR(1, 18771, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_options, __pyx_kp_s_Optional_List_CUjit_option) < 0) __PYX_ERR(1, 18771, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_optionValues, __pyx_kp_s_Optional_List_Any) < 0) __PYX_ERR(1, 18771, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_125cuLinkAddFile, 0, __pyx_n_s_cuLinkAddFile, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__545)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLinkAddFile, __pyx_t_2) < 0) __PYX_ERR(1, 18771, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":18837
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkComplete(state):
 *     """ Complete a pending linker invocation.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_127cuLinkComplete, 0, __pyx_n_s_cuLinkComplete, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__546)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLinkComplete, __pyx_t_2) < 0) __PYX_ERR(1, 18837, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":18879
 *     return (CUresult(err), cubinOut, sizeOut)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLinkDestroy(state):
 *     """ Destroys state for a JIT linker invocation.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_129cuLinkDestroy, 0, __pyx_n_s_cuLinkDestroy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__547)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLinkDestroy, __pyx_t_2) < 0) __PYX_ERR(1, 18879, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":18909
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetTexRef(hmod, char* name):
 *     """ Returns a handle to a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_131cuModuleGetTexRef, 0, __pyx_n_s_cuModuleGetTexRef, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__548)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuModuleGetTexRef, __pyx_t_2) < 0) __PYX_ERR(1, 18909, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":18953
 *     return (CUresult(err), pTexRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuModuleGetSurfRef(hmod, char* name):
 *     """ Returns a handle to a surface reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_133cuModuleGetSurfRef, 0, __pyx_n_s_cuModuleGetSurfRef, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__549)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuModuleGetSurfRef, __pyx_t_2) < 0) __PYX_ERR(1, 18953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":18995
 *     return (CUresult(err), pSurfRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadData(code, jitOptions : Optional[List[CUjit_option]], jitOptionsValues : Optional[List[Any]], unsigned int numJitOptions, libraryOptions : Optional[List[CUlibraryOption]], libraryOptionValues : Optional[List[Any]], unsigned int numLibraryOptions):
 *     """ Load a library with specified code and options.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_jitOptions, __pyx_kp_s_Optional_List_CUjit_option) < 0) __PYX_ERR(1, 18995, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_jitOptionsValues, __pyx_kp_s_Optional_List_Any) < 0) __PYX_ERR(1, 18995, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_libraryOptions, __pyx_kp_s_Optional_List_CUlibraryOption) < 0) __PYX_ERR(1, 18995, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_libraryOptionValues, __pyx_kp_s_Optional_List_Any) < 0) __PYX_ERR(1, 18995, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_135cuLibraryLoadData, 0, __pyx_n_s_cuLibraryLoadData, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__550)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 18995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLibraryLoadData, __pyx_t_3) < 0) __PYX_ERR(1, 18995, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":19080
 *     return (CUresult(err), library)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryLoadFromFile(char* fileName, jitOptions : Optional[List[CUjit_option]], jitOptionsValues : Optional[List[Any]], unsigned int numJitOptions, libraryOptions : Optional[List[CUlibraryOption]], libraryOptionValues : Optional[List[Any]], unsigned int numLibraryOptions):
 *     """ Load a library with specified file and options.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_jitOptions, __pyx_kp_s_Optional_List_CUjit_option) < 0) __PYX_ERR(1, 19080, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_jitOptionsValues, __pyx_kp_s_Optional_List_Any) < 0) __PYX_ERR(1, 19080, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_libraryOptions, __pyx_kp_s_Optional_List_CUlibraryOption) < 0) __PYX_ERR(1, 19080, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_libraryOptionValues, __pyx_kp_s_Optional_List_Any) < 0) __PYX_ERR(1, 19080, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_137cuLibraryLoadFromFile, 0, __pyx_n_s_cuLibraryLoadFromFile, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__553)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLibraryLoadFromFile, __pyx_t_2) < 0) __PYX_ERR(1, 19080, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":19164
 *     return (CUresult(err), library)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryUnload(library):
 *     """ Unloads a library.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_139cuLibraryUnload, 0, __pyx_n_s_cuLibraryUnload, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__554)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLibraryUnload, __pyx_t_2) < 0) __PYX_ERR(1, 19164, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":19196
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetKernel(library, char* name):
 *     """ Returns a kernel handle.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_141cuLibraryGetKernel, 0, __pyx_n_s_cuLibraryGetKernel, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__555)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLibraryGetKernel, __pyx_t_2) < 0) __PYX_ERR(1, 19196, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":19235
 *     return (CUresult(err), pKernel)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetKernelCount(lib):
 *     """ Returns the number of kernels within a library.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_143cuLibraryGetKernelCount, 0, __pyx_n_s_cuLibraryGetKernelCount, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__556)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLibraryGetKernelCount, __pyx_t_2) < 0) __PYX_ERR(1, 19235, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":19266
 *     return (CUresult(err), count)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryEnumerateKernels(unsigned int numKernels, lib):
 *     """ Retrieve the kernel handles within a library.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_145cuLibraryEnumerateKernels, 0, __pyx_n_s_cuLibraryEnumerateKernels, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__557)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLibraryEnumerateKernels, __pyx_t_2) < 0) __PYX_ERR(1, 19266, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":19314
 *     return (CUresult(err), pykernels)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetModule(library):
 *     """ Returns a module handle.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_147cuLibraryGetModule, 0, __pyx_n_s_cuLibraryGetModule, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__558)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLibraryGetModule, __pyx_t_2) < 0) __PYX_ERR(1, 19314, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":19351
 *     return (CUresult(err), pMod)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetFunction(kernel):
 *     """ Returns a function handle.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_149cuKernelGetFunction, 0, __pyx_n_s_cuKernelGetFunction, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__559)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuKernelGetFunction, __pyx_t_2) < 0) __PYX_ERR(1, 19351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":19388
 *     return (CUresult(err), pFunc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetGlobal(library, char* name):
 *     """ Returns a global device pointer.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_151cuLibraryGetGlobal, 0, __pyx_n_s_cuLibraryGetGlobal, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__560)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLibraryGetGlobal, __pyx_t_2) < 0) __PYX_ERR(1, 19388, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":19432
 *     return (CUresult(err), dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetManaged(library, char* name):
 *     """ Returns a pointer to managed memory.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_153cuLibraryGetManaged, 0, __pyx_n_s_cuLibraryGetManaged, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__561)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLibraryGetManaged, __pyx_t_2) < 0) __PYX_ERR(1, 19432, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":19482
 *     return (CUresult(err), dptr, numbytes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLibraryGetUnifiedFunction(library, char* symbol):
 *     """ Returns a pointer to a unified function.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_155cuLibraryGetUnifiedFunction, 0, __pyx_n_s_cuLibraryGetUnifiedFunction, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__562)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLibraryGetUnifiedFunction, __pyx_t_2) < 0) __PYX_ERR(1, 19482, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":19524
 *     return (CUresult(err), fptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetAttribute(attrib not None : CUfunction_attribute, kernel, dev):
 *     """ Returns information about a kernel.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_attrib, __pyx_n_s_CUfunction_attribute) < 0) __PYX_ERR(1, 19524, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_157cuKernelGetAttribute, 0, __pyx_n_s_cuKernelGetAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__563)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuKernelGetAttribute, __pyx_t_3) < 0) __PYX_ERR(1, 19524, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":19655
 *     return (CUresult(err), pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelSetAttribute(attrib not None : CUfunction_attribute, int val, kernel, dev):
 *     """ Sets information about a kernel.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attrib, __pyx_n_s_CUfunction_attribute) < 0) __PYX_ERR(1, 19655, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_159cuKernelSetAttribute, 0, __pyx_n_s_cuKernelSetAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__564)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuKernelSetAttribute, __pyx_t_2) < 0) __PYX_ERR(1, 19655, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":19764
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelSetCacheConfig(kernel, config not None : CUfunc_cache, dev):
 *     """ Sets the preferred cache configuration for a device kernel.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 19764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_config, __pyx_n_s_CUfunc_cache) < 0) __PYX_ERR(1, 19764, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_161cuKernelSetCacheConfig, 0, __pyx_n_s_cuKernelSetCacheConfig, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__565)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuKernelSetCacheConfig, __pyx_t_3) < 0) __PYX_ERR(1, 19764, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":19846
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetName(hfunc):
 *     """ Returns the function name for a :py:obj:`~.CUkernel` handle.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_163cuKernelGetName, 0, __pyx_n_s_cuKernelGetName, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__566)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19846, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuKernelGetName, __pyx_t_3) < 0) __PYX_ERR(1, 19846, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":19883
 *     return (CUresult(err), <bytes>name)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuKernelGetParamInfo(kernel, size_t paramIndex):
 *     """ Returns the offset and size of a kernel parameter in the device-side parameter layout.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_165cuKernelGetParamInfo, 0, __pyx_n_s_cuKernelGetParamInfo, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__567)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuKernelGetParamInfo, __pyx_t_3) < 0) __PYX_ERR(1, 19883, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":19933
 *     return (CUresult(err), paramOffset, paramSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetInfo():
 *     """ Gets free and total memory.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_167cuMemGetInfo, 0, __pyx_n_s_cuMemGetInfo, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__568)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemGetInfo, __pyx_t_3) < 0) __PYX_ERR(1, 19933, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":19972
 *     return (CUresult(err), free, total)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAlloc(size_t bytesize):
 *     """ Allocates device memory.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_169cuMemAlloc, 0, __pyx_n_s_cuMemAlloc, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__569)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 19972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemAlloc, __pyx_t_3) < 0) __PYX_ERR(1, 19972, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":20002
 *     return (CUresult(err), dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocPitch(size_t WidthInBytes, size_t Height, unsigned int ElementSizeBytes):
 *     """ Allocates pitched device memory.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_171cuMemAllocPitch, 0, __pyx_n_s_cuMemAllocPitch, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__570)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemAllocPitch, __pyx_t_3) < 0) __PYX_ERR(1, 20002, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":20065
 *     return (CUresult(err), dptr, pPitch)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFree(dptr):
 *     """ Frees device memory.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_173cuMemFree, 0, __pyx_n_s_cuMemFree, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__571)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemFree, __pyx_t_3) < 0) __PYX_ERR(1, 20065, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":20109
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAddressRange(dptr):
 *     """ Get information on memory allocations.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_175cuMemGetAddressRange, 0, __pyx_n_s_cuMemGetAddressRange, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__572)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemGetAddressRange, __pyx_t_3) < 0) __PYX_ERR(1, 20109, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":20150
 *     return (CUresult(err), pbase, psize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocHost(size_t bytesize):
 *     """ Allocates page-locked host memory.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_177cuMemAllocHost, 0, __pyx_n_s_cuMemAllocHost, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__573)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemAllocHost, __pyx_t_3) < 0) __PYX_ERR(1, 20150, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":20201
 *     return (CUresult(err), pp)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFreeHost(p):
 *     """ Frees page-locked host memory.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_179cuMemFreeHost, 0, __pyx_n_s_cuMemFreeHost, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__574)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemFreeHost, __pyx_t_3) < 0) __PYX_ERR(1, 20201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":20227
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostAlloc(size_t bytesize, unsigned int Flags):
 *     """ Allocates page-locked host memory.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_181cuMemHostAlloc, 0, __pyx_n_s_cuMemHostAlloc, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__575)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemHostAlloc, __pyx_t_3) < 0) __PYX_ERR(1, 20227, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":20314
 *     return (CUresult(err), pp)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostGetDevicePointer(p, unsigned int Flags):
 *     """ Passes back device pointer of mapped pinned memory.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_183cuMemHostGetDevicePointer, 0, __pyx_n_s_cuMemHostGetDevicePointer, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__576)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemHostGetDevicePointer, __pyx_t_3) < 0) __PYX_ERR(1, 20314, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":20371
 *     return (CUresult(err), pdptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostGetFlags(p):
 *     """ Passes back flags that were used for a pinned allocation.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_185cuMemHostGetFlags, 0, __pyx_n_s_cuMemHostGetFlags, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__577)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemHostGetFlags, __pyx_t_3) < 0) __PYX_ERR(1, 20371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":20404
 *     return (CUresult(err), pFlags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocManaged(size_t bytesize, unsigned int flags):
 *     """ Allocates memory that will be automatically managed by the Unified Memory system.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_187cuMemAllocManaged, 0, __pyx_n_s_cuMemAllocManaged, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__578)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20404, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemAllocManaged, __pyx_t_3) < 0) __PYX_ERR(1, 20404, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":20535
 *     return (CUresult(err), dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceRegisterAsyncNotification(device, callbackFunc, userData):
 *     """ Registers a callback function to receive async notifications.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_189cuDeviceRegisterAsyncNotification, 0, __pyx_n_s_cuDeviceRegisterAsyncNotificatio, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__579)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceRegisterAsyncNotificatio, __pyx_t_3) < 0) __PYX_ERR(1, 20535, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":20602
 *     return (CUresult(err), callback)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceUnregisterAsyncNotification(device, callback):
 *     """ Unregisters an async notification callback.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_191cuDeviceUnregisterAsyncNotification, 0, __pyx_n_s_cuDeviceUnregisterAsyncNotificat, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__580)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceUnregisterAsyncNotificat, __pyx_t_3) < 0) __PYX_ERR(1, 20602, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":20647
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetByPCIBusId(char* pciBusId):
 *     """ Returns a handle to a compute device.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_193cuDeviceGetByPCIBusId, 0, __pyx_n_s_cuDeviceGetByPCIBusId, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__581)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGetByPCIBusId, __pyx_t_3) < 0) __PYX_ERR(1, 20647, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":20676
 *     return (CUresult(err), dev)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetPCIBusId(int length, dev):
 *     """ Returns a PCI Bus Id string for the device.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_195cuDeviceGetPCIBusId, 0, __pyx_n_s_cuDeviceGetPCIBusId, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__582)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGetPCIBusId, __pyx_t_3) < 0) __PYX_ERR(1, 20676, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":20720
 *     return (CUresult(err), pypciBusId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcGetEventHandle(event):
 *     """ Gets an interprocess handle for a previously allocated event.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_197cuIpcGetEventHandle, 0, __pyx_n_s_cuIpcGetEventHandle, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__583)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuIpcGetEventHandle, __pyx_t_3) < 0) __PYX_ERR(1, 20720, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":20775
 *     return (CUresult(err), pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcOpenEventHandle(handle not None : CUipcEventHandle):
 *     """ Opens an interprocess event handle for use in the current process.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_handle_2, __pyx_n_s_CUipcEventHandle) < 0) __PYX_ERR(1, 20775, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_199cuIpcOpenEventHandle, 0, __pyx_n_s_cuIpcOpenEventHandle, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__584)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuIpcOpenEventHandle, __pyx_t_2) < 0) __PYX_ERR(1, 20775, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":20815
 *     return (CUresult(err), phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcGetMemHandle(dptr):
 *     """ Gets an interprocess memory handle for an existing device memory allocation.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_201cuIpcGetMemHandle, 0, __pyx_n_s_cuIpcGetMemHandle, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__585)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuIpcGetMemHandle, __pyx_t_2) < 0) __PYX_ERR(1, 20815, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":20865
 *     return (CUresult(err), pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcOpenMemHandle(handle not None : CUipcMemHandle, unsigned int Flags):
 *     """ Opens an interprocess memory handle exported from another process and returns a device pointer usable in the local process.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 20865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_handle_2, __pyx_n_s_CUipcMemHandle) < 0) __PYX_ERR(1, 20865, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_203cuIpcOpenMemHandle, 0, __pyx_n_s_cuIpcOpenMemHandle, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__586)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuIpcOpenMemHandle, __pyx_t_3) < 0) __PYX_ERR(1, 20865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":20927
 *     return (CUresult(err), pdptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuIpcCloseMemHandle(dptr):
 *     """ Attempts to close memory mapped with :py:obj:`~.cuIpcOpenMemHandle`.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_205cuIpcCloseMemHandle, 0, __pyx_n_s_cuIpcCloseMemHandle, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__587)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuIpcCloseMemHandle, __pyx_t_3) < 0) __PYX_ERR(1, 20927, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":20972
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostRegister(p, size_t bytesize, unsigned int Flags):
 *     """ Registers an existing host memory range for use by CUDA.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_207cuMemHostRegister, 0, __pyx_n_s_cuMemHostRegister, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__588)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 20972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemHostRegister, __pyx_t_3) < 0) __PYX_ERR(1, 20972, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":21073
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemHostUnregister(p):
 *     """ Unregisters a memory range that was registered with cuMemHostRegister.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_209cuMemHostUnregister, 0, __pyx_n_s_cuMemHostUnregister, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__589)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 21073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemHostUnregister, __pyx_t_3) < 0) __PYX_ERR(1, 21073, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":21102
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy(dst, src, size_t ByteCount):
 *     """ Copies memory.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_211cuMemcpy, 0, __pyx_n_s_cuMemcpy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__590)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 21102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpy, __pyx_t_3) < 0) __PYX_ERR(1, 21102, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":21152
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyPeer(dstDevice, dstContext, srcDevice, srcContext, size_t ByteCount):
 *     """ Copies device memory between two contexts.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_213cuMemcpyPeer, 0, __pyx_n_s_cuMemcpyPeer, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__591)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 21152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpyPeer, __pyx_t_3) < 0) __PYX_ERR(1, 21152, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":21223
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoD(dstDevice, srcHost, size_t ByteCount):
 *     """ Copies memory from Host to Device.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_215cuMemcpyHtoD, 0, __pyx_n_s_cuMemcpyHtoD, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__592)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 21223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpyHtoD, __pyx_t_3) < 0) __PYX_ERR(1, 21223, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":21263
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoH(dstHost, srcDevice, size_t ByteCount):
 *     """ Copies memory from Device to Host.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_217cuMemcpyDtoH, 0, __pyx_n_s_cuMemcpyDtoH, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__593)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 21263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpyDtoH, __pyx_t_3) < 0) __PYX_ERR(1, 21263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":21303
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoD(dstDevice, srcDevice, size_t ByteCount):
 *     """ Copies memory from Device to Device.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_219cuMemcpyDtoD, 0, __pyx_n_s_cuMemcpyDtoD, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__594)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 21303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpyDtoD, __pyx_t_3) < 0) __PYX_ERR(1, 21303, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":21350
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoA(dstArray, size_t dstOffset, srcDevice, size_t ByteCount):
 *     """ Copies memory from Device to Array.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_221cuMemcpyDtoA, 0, __pyx_n_s_cuMemcpyDtoA, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__595)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 21350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpyDtoA, __pyx_t_3) < 0) __PYX_ERR(1, 21350, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":21400
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoD(dstDevice, srcArray, size_t srcOffset, size_t ByteCount):
 *     """ Copies memory from Array to Device.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_223cuMemcpyAtoD, 0, __pyx_n_s_cuMemcpyAtoD, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__596)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 21400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpyAtoD, __pyx_t_3) < 0) __PYX_ERR(1, 21400, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":21452
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoA(dstArray, size_t dstOffset, srcHost, size_t ByteCount):
 *     """ Copies memory from Host to Array.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_225cuMemcpyHtoA, 0, __pyx_n_s_cuMemcpyHtoA, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__597)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 21452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpyHtoA, __pyx_t_3) < 0) __PYX_ERR(1, 21452, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":21495
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoH(dstHost, srcArray, size_t srcOffset, size_t ByteCount):
 *     """ Copies memory from Array to Host.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_227cuMemcpyAtoH, 0, __pyx_n_s_cuMemcpyAtoH, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__598)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 21495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpyAtoH, __pyx_t_3) < 0) __PYX_ERR(1, 21495, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":21538
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoA(dstArray, size_t dstOffset, srcArray, size_t srcOffset, size_t ByteCount):
 *     """ Copies memory from Array to Array.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_229cuMemcpyAtoA, 0, __pyx_n_s_cuMemcpyAtoA, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__599)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 21538, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpyAtoA, __pyx_t_3) < 0) __PYX_ERR(1, 21538, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":21593
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2D(pCopy : Optional[CUDA_MEMCPY2D]):
 *     """ Copies memory for 2D arrays.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 21593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pCopy, __pyx_kp_s_Optional_CUDA_MEMCPY2D) < 0) __PYX_ERR(1, 21593, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_231cuMemcpy2D, 0, __pyx_n_s_cuMemcpy2D, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__600)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpy2D, __pyx_t_2) < 0) __PYX_ERR(1, 21593, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":21716
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2DUnaligned(pCopy : Optional[CUDA_MEMCPY2D]):
 *     """ Copies memory for 2D arrays.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_pCopy, __pyx_kp_s_Optional_CUDA_MEMCPY2D) < 0) __PYX_ERR(1, 21716, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_233cuMemcpy2DUnaligned, 0, __pyx_n_s_cuMemcpy2DUnaligned, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__601)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 21716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpy2DUnaligned, __pyx_t_3) < 0) __PYX_ERR(1, 21716, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":21839
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3D(pCopy : Optional[CUDA_MEMCPY3D]):
 *     """ Copies memory for 3D arrays.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 21839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pCopy, __pyx_kp_s_Optional_CUDA_MEMCPY3D) < 0) __PYX_ERR(1, 21839, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_235cuMemcpy3D, 0, __pyx_n_s_cuMemcpy3D, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__602)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpy3D, __pyx_t_2) < 0) __PYX_ERR(1, 21839, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":21965
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DPeer(pCopy : Optional[CUDA_MEMCPY3D_PEER]):
 *     """ Copies memory between contexts.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 21965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_pCopy, __pyx_kp_s_Optional_CUDA_MEMCPY3D_PEER) < 0) __PYX_ERR(1, 21965, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_237cuMemcpy3DPeer, 0, __pyx_n_s_cuMemcpy3DPeer, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__603)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 21965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpy3DPeer, __pyx_t_3) < 0) __PYX_ERR(1, 21965, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":21991
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAsync(dst, src, size_t ByteCount, hStream):
 *     """ Copies memory asynchronously.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_239cuMemcpyAsync, 0, __pyx_n_s_cuMemcpyAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__604)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 21991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpyAsync, __pyx_t_3) < 0) __PYX_ERR(1, 21991, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":22052
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyPeerAsync(dstDevice, dstContext, srcDevice, srcContext, size_t ByteCount, hStream):
 *     """ Copies device memory between two contexts asynchronously.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_241cuMemcpyPeerAsync, 0, __pyx_n_s_cuMemcpyPeerAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__605)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 22052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpyPeerAsync, __pyx_t_3) < 0) __PYX_ERR(1, 22052, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":22134
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoDAsync(dstDevice, srcHost, size_t ByteCount, hStream):
 *     """ Copies memory from Host to Device.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_243cuMemcpyHtoDAsync, 0, __pyx_n_s_cuMemcpyHtoDAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__606)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 22134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpyHtoDAsync, __pyx_t_3) < 0) __PYX_ERR(1, 22134, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":22185
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoHAsync(dstHost, srcDevice, size_t ByteCount, hStream):
 *     """ Copies memory from Device to Host.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_245cuMemcpyDtoHAsync, 0, __pyx_n_s_cuMemcpyDtoHAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__607)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 22185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpyDtoHAsync, __pyx_t_3) < 0) __PYX_ERR(1, 22185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":22236
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyDtoDAsync(dstDevice, srcDevice, size_t ByteCount, hStream):
 *     """ Copies memory from Device to Device.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_247cuMemcpyDtoDAsync, 0, __pyx_n_s_cuMemcpyDtoDAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__608)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 22236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpyDtoDAsync, __pyx_t_3) < 0) __PYX_ERR(1, 22236, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":22294
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyHtoAAsync(dstArray, size_t dstOffset, srcHost, size_t ByteCount, hStream):
 *     """ Copies memory from Host to Array.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_249cuMemcpyHtoAAsync, 0, __pyx_n_s_cuMemcpyHtoAAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__609)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 22294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpyHtoAAsync, __pyx_t_3) < 0) __PYX_ERR(1, 22294, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":22348
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpyAtoHAsync(dstHost, srcArray, size_t srcOffset, size_t ByteCount, hStream):
 *     """ Copies memory from Array to Host.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_251cuMemcpyAtoHAsync, 0, __pyx_n_s_cuMemcpyAtoHAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__610)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 22348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpyAtoHAsync, __pyx_t_3) < 0) __PYX_ERR(1, 22348, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":22402
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy2DAsync(pCopy : Optional[CUDA_MEMCPY2D], hStream):
 *     """ Copies memory for 2D arrays.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 22402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pCopy, __pyx_kp_s_Optional_CUDA_MEMCPY2D) < 0) __PYX_ERR(1, 22402, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_253cuMemcpy2DAsync, 0, __pyx_n_s_cuMemcpy2DAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__611)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpy2DAsync, __pyx_t_2) < 0) __PYX_ERR(1, 22402, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":22543
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DAsync(pCopy : Optional[CUDA_MEMCPY3D], hStream):
 *     """ Copies memory for 3D arrays.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_pCopy, __pyx_kp_s_Optional_CUDA_MEMCPY3D) < 0) __PYX_ERR(1, 22543, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_255cuMemcpy3DAsync, 0, __pyx_n_s_cuMemcpy3DAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__612)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 22543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpy3DAsync, __pyx_t_3) < 0) __PYX_ERR(1, 22543, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":22680
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemcpy3DPeerAsync(pCopy : Optional[CUDA_MEMCPY3D_PEER], hStream):
 *     """ Copies memory between contexts asynchronously.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 22680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pCopy, __pyx_kp_s_Optional_CUDA_MEMCPY3D_PEER) < 0) __PYX_ERR(1, 22680, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_257cuMemcpy3DPeerAsync, 0, __pyx_n_s_cuMemcpy3DPeerAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__613)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemcpy3DPeerAsync, __pyx_t_2) < 0) __PYX_ERR(1, 22680, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":22717
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD8(dstDevice, unsigned char uc, size_t N):
 *     """ Initializes device memory.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_259cuMemsetD8, 0, __pyx_n_s_cuMemsetD8, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__614)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22717, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemsetD8, __pyx_t_2) < 0) __PYX_ERR(1, 22717, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":22753
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD16(dstDevice, unsigned short us, size_t N):
 *     """ Initializes device memory.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_261cuMemsetD16, 0, __pyx_n_s_cuMemsetD16, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__615)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemsetD16, __pyx_t_2) < 0) __PYX_ERR(1, 22753, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":22790
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD32(dstDevice, unsigned int ui, size_t N):
 *     """ Initializes device memory.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_263cuMemsetD32, 0, __pyx_n_s_cuMemsetD32, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__616)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22790, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemsetD32, __pyx_t_2) < 0) __PYX_ERR(1, 22790, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":22827
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D8(dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height):
 *     """ Initializes device memory.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_265cuMemsetD2D8, 0, __pyx_n_s_cuMemsetD2D8, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__617)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemsetD2D8, __pyx_t_2) < 0) __PYX_ERR(1, 22827, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":22871
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D16(dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height):
 *     """ Initializes device memory.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_267cuMemsetD2D16, 0, __pyx_n_s_cuMemsetD2D16, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__618)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemsetD2D16, __pyx_t_2) < 0) __PYX_ERR(1, 22871, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":22916
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D32(dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height):
 *     """ Initializes device memory.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_269cuMemsetD2D32, 0, __pyx_n_s_cuMemsetD2D32, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__619)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22916, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemsetD2D32, __pyx_t_2) < 0) __PYX_ERR(1, 22916, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":22961
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD8Async(dstDevice, unsigned char uc, size_t N, hStream):
 *     """ Sets device memory.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_271cuMemsetD8Async, 0, __pyx_n_s_cuMemsetD8Async, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__620)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 22961, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemsetD8Async, __pyx_t_2) < 0) __PYX_ERR(1, 22961, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":23008
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD16Async(dstDevice, unsigned short us, size_t N, hStream):
 *     """ Sets device memory.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_273cuMemsetD16Async, 0, __pyx_n_s_cuMemsetD16Async, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__621)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemsetD16Async, __pyx_t_2) < 0) __PYX_ERR(1, 23008, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":23056
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD32Async(dstDevice, unsigned int ui, size_t N, hStream):
 *     """ Sets device memory.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_275cuMemsetD32Async, 0, __pyx_n_s_cuMemsetD32Async, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__622)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemsetD32Async, __pyx_t_2) < 0) __PYX_ERR(1, 23056, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":23104
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D8Async(dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height, hStream):
 *     """ Sets device memory.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_277cuMemsetD2D8Async, 0, __pyx_n_s_cuMemsetD2D8Async, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__623)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemsetD2D8Async, __pyx_t_2) < 0) __PYX_ERR(1, 23104, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":23159
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D16Async(dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height, hStream):
 *     """ Sets device memory.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_279cuMemsetD2D16Async, 0, __pyx_n_s_cuMemsetD2D16Async, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__624)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemsetD2D16Async, __pyx_t_2) < 0) __PYX_ERR(1, 23159, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":23215
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemsetD2D32Async(dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height, hStream):
 *     """ Sets device memory.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_281cuMemsetD2D32Async, 0, __pyx_n_s_cuMemsetD2D32Async, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__625)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemsetD2D32Async, __pyx_t_2) < 0) __PYX_ERR(1, 23215, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":23271
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayCreate(pAllocateArray : Optional[CUDA_ARRAY_DESCRIPTOR]):
 *     """ Creates a 1D or 2D CUDA array.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_pAllocateArray, __pyx_kp_s_Optional_CUDA_ARRAY_DESCRIPTOR) < 0) __PYX_ERR(1, 23271, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_283cuArrayCreate, 0, __pyx_n_s_cuArrayCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__626)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 23271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuArrayCreate, __pyx_t_3) < 0) __PYX_ERR(1, 23271, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":23336
 *     return (CUresult(err), pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetDescriptor(hArray):
 *     """ Get a 1D or 2D CUDA array descriptor.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_285cuArrayGetDescriptor, 0, __pyx_n_s_cuArrayGetDescriptor, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__627)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 23336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuArrayGetDescriptor, __pyx_t_3) < 0) __PYX_ERR(1, 23336, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":23374
 *     return (CUresult(err), pArrayDescriptor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetSparseProperties(array):
 *     """ Returns the layout properties of a sparse CUDA array.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_287cuArrayGetSparseProperties, 0, __pyx_n_s_cuArrayGetSparseProperties, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__628)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 23374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuArrayGetSparseProperties, __pyx_t_3) < 0) __PYX_ERR(1, 23374, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":23425
 *     return (CUresult(err), sparseProperties)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayGetSparseProperties(mipmap):
 *     """ Returns the layout properties of a sparse CUDA mipmapped array.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_289cuMipmappedArrayGetSparseProperties, 0, __pyx_n_s_cuMipmappedArrayGetSparsePropert, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__629)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 23425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMipmappedArrayGetSparsePropert, __pyx_t_3) < 0) __PYX_ERR(1, 23425, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":23478
 *     return (CUresult(err), sparseProperties)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetMemoryRequirements(array, device):
 *     """ Returns the memory requirements of a CUDA array.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_291cuArrayGetMemoryRequirements, 0, __pyx_n_s_cuArrayGetMemoryRequirements, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__630)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 23478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuArrayGetMemoryRequirements, __pyx_t_3) < 0) __PYX_ERR(1, 23478, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":23532
 *     return (CUresult(err), memoryRequirements)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayGetMemoryRequirements(mipmap, device):
 *     """ Returns the memory requirements of a CUDA mipmapped array.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_293cuMipmappedArrayGetMemoryRequirements, 0, __pyx_n_s_cuMipmappedArrayGetMemoryRequire, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__631)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 23532, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMipmappedArrayGetMemoryRequire, __pyx_t_3) < 0) __PYX_ERR(1, 23532, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":23587
 *     return (CUresult(err), memoryRequirements)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayGetPlane(hArray, unsigned int planeIdx):
 *     """ Gets a CUDA array plane from a CUDA array.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_295cuArrayGetPlane, 0, __pyx_n_s_cuArrayGetPlane, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__632)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 23587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuArrayGetPlane, __pyx_t_3) < 0) __PYX_ERR(1, 23587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":23638
 *     return (CUresult(err), pPlaneArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArrayDestroy(hArray):
 *     """ Destroys a CUDA array.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_297cuArrayDestroy, 0, __pyx_n_s_cuArrayDestroy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__633)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 23638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuArrayDestroy, __pyx_t_3) < 0) __PYX_ERR(1, 23638, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":23670
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArray3DCreate(pAllocateArray : Optional[CUDA_ARRAY3D_DESCRIPTOR]):
 *     """ Creates a 3D CUDA array.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 23670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pAllocateArray, __pyx_kp_s_Optional_CUDA_ARRAY3D_DESCRIPTOR) < 0) __PYX_ERR(1, 23670, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_299cuArray3DCreate, 0, __pyx_n_s_cuArray3DCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__634)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23670, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuArray3DCreate, __pyx_t_2) < 0) __PYX_ERR(1, 23670, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":23799
 *     return (CUresult(err), pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuArray3DGetDescriptor(hArray):
 *     """ Get a 3D CUDA array descriptor.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_301cuArray3DGetDescriptor, 0, __pyx_n_s_cuArray3DGetDescriptor, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__635)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23799, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuArray3DGetDescriptor, __pyx_t_2) < 0) __PYX_ERR(1, 23799, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":23841
 *     return (CUresult(err), pArrayDescriptor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayCreate(pMipmappedArrayDesc : Optional[CUDA_ARRAY3D_DESCRIPTOR], unsigned int numMipmapLevels):
 *     """ Creates a CUDA mipmapped array.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 23841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_pMipmappedArrayDesc, __pyx_kp_s_Optional_CUDA_ARRAY3D_DESCRIPTOR) < 0) __PYX_ERR(1, 23841, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_303cuMipmappedArrayCreate, 0, __pyx_n_s_cuMipmappedArrayCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__636)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 23841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMipmappedArrayCreate, __pyx_t_3) < 0) __PYX_ERR(1, 23841, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":23958
 *     return (CUresult(err), pHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayGetLevel(hMipmappedArray, unsigned int level):
 *     """ Gets a mipmap level of a CUDA mipmapped array.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_305cuMipmappedArrayGetLevel, 0, __pyx_n_s_cuMipmappedArrayGetLevel, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__637)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 23958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMipmappedArrayGetLevel, __pyx_t_3) < 0) __PYX_ERR(1, 23958, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":23999
 *     return (CUresult(err), pLevelArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMipmappedArrayDestroy(hMipmappedArray):
 *     """ Destroys a CUDA mipmapped array.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_307cuMipmappedArrayDestroy, 0, __pyx_n_s_cuMipmappedArrayDestroy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__638)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 23999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMipmappedArrayDestroy, __pyx_t_3) < 0) __PYX_ERR(1, 23999, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":24031
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetHandleForAddressRange(dptr, size_t size, handleType not None : CUmemRangeHandleType, unsigned long long flags):
 *     """ Retrieve handle for an address range.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_handleType, __pyx_n_s_CUmemRangeHandleType) < 0) __PYX_ERR(1, 24031, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_309cuMemGetHandleForAddressRange, 0, __pyx_n_s_cuMemGetHandleForAddressRange, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__639)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemGetHandleForAddressRange, __pyx_t_2) < 0) __PYX_ERR(1, 24031, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":24095
 *     return (CUresult(err), handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAddressReserve(size_t size, size_t alignment, addr, unsigned long long flags):
 *     """ Allocate an address range reservation.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_311cuMemAddressReserve, 0, __pyx_n_s_cuMemAddressReserve, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__640)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemAddressReserve, __pyx_t_2) < 0) __PYX_ERR(1, 24095, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":24140
 *     return (CUresult(err), ptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAddressFree(ptr, size_t size):
 *     """ Free an address range reservation.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_313cuMemAddressFree, 0, __pyx_n_s_cuMemAddressFree, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__641)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemAddressFree, __pyx_t_2) < 0) __PYX_ERR(1, 24140, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":24176
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemCreate(size_t size, prop : Optional[CUmemAllocationProp], unsigned long long flags):
 *     """ Create a CUDA memory handle representing a memory allocation of a given size described by the given properties.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_prop, __pyx_kp_s_Optional_CUmemAllocationProp) < 0) __PYX_ERR(1, 24176, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_315cuMemCreate, 0, __pyx_n_s_cuMemCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__642)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemCreate, __pyx_t_3) < 0) __PYX_ERR(1, 24176, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":24231
 *     return (CUresult(err), handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRelease(handle):
 *     """ Release a memory handle representing a memory allocation which was previously allocated through cuMemCreate.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_317cuMemRelease, 0, __pyx_n_s_cuMemRelease, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__643)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemRelease, __pyx_t_3) < 0) __PYX_ERR(1, 24231, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":24272
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemMap(ptr, size_t size, size_t offset, handle, unsigned long long flags):
 *     """ Maps an allocation handle to a reserved virtual address range.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_319cuMemMap, 0, __pyx_n_s_cuMemMap, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__644)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemMap, __pyx_t_3) < 0) __PYX_ERR(1, 24272, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":24347
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemMapArrayAsync(mapInfoList : Optional[List[CUarrayMapInfo]], unsigned int count, hStream):
 *     """ Maps or unmaps subregions of sparse CUDA arrays and sparse CUDA mipmapped arrays.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mapInfoList, __pyx_kp_s_Optional_List_CUarrayMapInfo) < 0) __PYX_ERR(1, 24347, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_321cuMemMapArrayAsync, 0, __pyx_n_s_cuMemMapArrayAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__645)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemMapArrayAsync, __pyx_t_2) < 0) __PYX_ERR(1, 24347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":24516
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemUnmap(ptr, size_t size):
 *     """ Unmap the backing memory of a given address range.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_323cuMemUnmap, 0, __pyx_n_s_cuMemUnmap, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__647)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemUnmap, __pyx_t_2) < 0) __PYX_ERR(1, 24516, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":24561
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemSetAccess(ptr, size_t size, desc : Optional[List[CUmemAccessDesc]], size_t count):
 *     """ Set the access flags for each location specified in `desc` for the given virtual address range.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_desc, __pyx_kp_s_Optional_List_CUmemAccessDesc) < 0) __PYX_ERR(1, 24561, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_325cuMemSetAccess, 0, __pyx_n_s_cuMemSetAccess, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__648)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemSetAccess, __pyx_t_3) < 0) __PYX_ERR(1, 24561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":24629
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAccess(location : Optional[CUmemLocation], ptr):
 *     """ Get the access `flags` set for the given `location` and `ptr`.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_location_2, __pyx_kp_s_Optional_CUmemLocation) < 0) __PYX_ERR(1, 24629, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_327cuMemGetAccess, 0, __pyx_n_s_cuMemGetAccess, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__650)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemGetAccess, __pyx_t_2) < 0) __PYX_ERR(1, 24629, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":24665
 *     return (CUresult(err), flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemExportToShareableHandle(handle, handleType not None : CUmemAllocationHandleType, unsigned long long flags):
 *     """ Exports an allocation to a requested shareable handle type.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_handleType, __pyx_n_s_CUmemAllocationHandleType) < 0) __PYX_ERR(1, 24665, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_329cuMemExportToShareableHandle, 0, __pyx_n_s_cuMemExportToShareableHandle, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__651)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemExportToShareableHandle, __pyx_t_3) < 0) __PYX_ERR(1, 24665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":24720
 *     return (CUresult(err), cshareableHandle.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemImportFromShareableHandle(osHandle, shHandleType not None : CUmemAllocationHandleType):
 *     """ Imports an allocation from a requested shareable handle type.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_shHandleType, __pyx_n_s_CUmemAllocationHandleType) < 0) __PYX_ERR(1, 24720, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_331cuMemImportFromShareableHandle, 0, __pyx_n_s_cuMemImportFromShareableHandle, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__652)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24720, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemImportFromShareableHandle, __pyx_t_2) < 0) __PYX_ERR(1, 24720, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":24758
 *     return (CUresult(err), handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAllocationGranularity(prop : Optional[CUmemAllocationProp], option not None : CUmemAllocationGranularity_flags):
 *     """ Calculates either the minimal or recommended granularity.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 24758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_prop, __pyx_kp_s_Optional_CUmemAllocationProp) < 0) __PYX_ERR(1, 24758, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_option, __pyx_n_s_CUmemAllocationGranularity_flags) < 0) __PYX_ERR(1, 24758, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_333cuMemGetAllocationGranularity, 0, __pyx_n_s_cuMemGetAllocationGranularity, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__653)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemGetAllocationGranularity, __pyx_t_3) < 0) __PYX_ERR(1, 24758, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":24791
 *     return (CUresult(err), granularity)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemGetAllocationPropertiesFromHandle(handle):
 *     """ Retrieve the contents of the property structure defining properties for this handle.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_335cuMemGetAllocationPropertiesFromHandle, 0, __pyx_n_s_cuMemGetAllocationPropertiesFrom, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__654)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemGetAllocationPropertiesFrom, __pyx_t_3) < 0) __PYX_ERR(1, 24791, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":24825
 *     return (CUresult(err), prop)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRetainAllocationHandle(addr):
 *     """ Given an address `addr`, returns the allocation handle of the backing memory allocation.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_337cuMemRetainAllocationHandle, 0, __pyx_n_s_cuMemRetainAllocationHandle, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__655)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemRetainAllocationHandle, __pyx_t_3) < 0) __PYX_ERR(1, 24825, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":24860
 *     return (CUresult(err), handle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemFreeAsync(dptr, hStream):
 *     """ Frees memory with stream ordered semantics.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_339cuMemFreeAsync, 0, __pyx_n_s_cuMemFreeAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__656)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemFreeAsync, __pyx_t_3) < 0) __PYX_ERR(1, 24860, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":24906
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocAsync(size_t bytesize, hStream):
 *     """ Allocates memory with stream ordered semantics.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_341cuMemAllocAsync, 0, __pyx_n_s_cuMemAllocAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__657)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemAllocAsync, __pyx_t_3) < 0) __PYX_ERR(1, 24906, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":24955
 *     return (CUresult(err), dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolTrimTo(pool, size_t minBytesToKeep):
 *     """ Tries to release memory back to the OS.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_343cuMemPoolTrimTo, 0, __pyx_n_s_cuMemPoolTrimTo, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__658)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 24955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemPoolTrimTo, __pyx_t_3) < 0) __PYX_ERR(1, 24955, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":25002
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolSetAttribute(pool, attr not None : CUmemPool_attribute, value):
 *     """ Sets attributes of a memory pool.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attr, __pyx_n_s_CUmemPool_attribute) < 0) __PYX_ERR(1, 25002, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_345cuMemPoolSetAttribute, 0, __pyx_n_s_cuMemPoolSetAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__659)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemPoolSetAttribute, __pyx_t_2) < 0) __PYX_ERR(1, 25002, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":25074
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolGetAttribute(pool, attr not None : CUmemPool_attribute):
 *     """ Gets attributes of a memory pool.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_attr, __pyx_n_s_CUmemPool_attribute) < 0) __PYX_ERR(1, 25074, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_347cuMemPoolGetAttribute, 0, __pyx_n_s_cuMemPoolGetAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__660)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemPoolGetAttribute, __pyx_t_3) < 0) __PYX_ERR(1, 25074, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":25153
 *     return (CUresult(err), cvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolSetAccess(pool, map : Optional[List[CUmemAccessDesc]], size_t count):
 *     """ Controls visibility of pools between devices.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_map, __pyx_kp_s_Optional_List_CUmemAccessDesc) < 0) __PYX_ERR(1, 25153, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_349cuMemPoolSetAccess, 0, __pyx_n_s_cuMemPoolSetAccess, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__661)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemPoolSetAccess, __pyx_t_2) < 0) __PYX_ERR(1, 25153, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":25201
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolGetAccess(memPool, location : Optional[CUmemLocation]):
 *     """ Returns the accessibility of a pool from a device.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_location_2, __pyx_kp_s_Optional_CUmemLocation) < 0) __PYX_ERR(1, 25201, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_351cuMemPoolGetAccess, 0, __pyx_n_s_cuMemPoolGetAccess, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__663)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemPoolGetAccess, __pyx_t_3) < 0) __PYX_ERR(1, 25201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":25240
 *     return (CUresult(err), CUmemAccess_flags(flags))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolCreate(poolProps : Optional[CUmemPoolProps]):
 *     """ Creates a memory pool.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_poolProps_2, __pyx_kp_s_Optional_CUmemPoolProps) < 0) __PYX_ERR(1, 25240, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_353cuMemPoolCreate, 0, __pyx_n_s_cuMemPoolCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__664)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemPoolCreate, __pyx_t_2) < 0) __PYX_ERR(1, 25240, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":25285
 *     return (CUresult(err), pool)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolDestroy(pool):
 *     """ Destroys the specified memory pool.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_355cuMemPoolDestroy, 0, __pyx_n_s_cuMemPoolDestroy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__665)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemPoolDestroy, __pyx_t_2) < 0) __PYX_ERR(1, 25285, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":25328
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAllocFromPoolAsync(size_t bytesize, pool, hStream):
 *     """ Allocates memory from a specified pool with stream ordered semantics.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_357cuMemAllocFromPoolAsync, 0, __pyx_n_s_cuMemAllocFromPoolAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__666)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemAllocFromPoolAsync, __pyx_t_2) < 0) __PYX_ERR(1, 25328, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":25383
 *     return (CUresult(err), dptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolExportToShareableHandle(pool, handleType not None : CUmemAllocationHandleType, unsigned long long flags):
 *     """ Exports a memory pool to the requested handle type.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_handleType, __pyx_n_s_CUmemAllocationHandleType) < 0) __PYX_ERR(1, 25383, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_359cuMemPoolExportToShareableHandle, 0, __pyx_n_s_cuMemPoolExportToShareableHandle, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__667)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemPoolExportToShareableHandle, __pyx_t_3) < 0) __PYX_ERR(1, 25383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":25435
 *     return (CUresult(err), chandle_out.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolImportFromShareableHandle(handle, handleType not None : CUmemAllocationHandleType, unsigned long long flags):
 *     """ imports a memory pool from a shared handle.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_handleType, __pyx_n_s_CUmemAllocationHandleType) < 0) __PYX_ERR(1, 25435, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_361cuMemPoolImportFromShareableHandle, 0, __pyx_n_s_cuMemPoolImportFromShareableHand, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__668)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemPoolImportFromShareableHand, __pyx_t_2) < 0) __PYX_ERR(1, 25435, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":25473
 *     return (CUresult(err), pool_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolExportPointer(ptr):
 *     """ Export data to share a memory pool allocation between processes.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_363cuMemPoolExportPointer, 0, __pyx_n_s_cuMemPoolExportPointer, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__669)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemPoolExportPointer, __pyx_t_2) < 0) __PYX_ERR(1, 25473, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":25511
 *     return (CUresult(err), shareData_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPoolImportPointer(pool, shareData : Optional[CUmemPoolPtrExportData]):
 *     """ Import a memory pool allocation from another process.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_shareData, __pyx_kp_s_Optional_CUmemPoolPtrExportData) < 0) __PYX_ERR(1, 25511, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_365cuMemPoolImportPointer, 0, __pyx_n_s_cuMemPoolImportPointer, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__670)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemPoolImportPointer, __pyx_t_3) < 0) __PYX_ERR(1, 25511, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":25559
 *     return (CUresult(err), ptr_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastCreate(prop : Optional[CUmulticastObjectProp]):
 *     """ Create a generic allocation handle representing a multicast object described by the given properties.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_prop, __pyx_kp_s_Optional_CUmulticastObjectProp) < 0) __PYX_ERR(1, 25559, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_367cuMulticastCreate, 0, __pyx_n_s_cuMulticastCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__671)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMulticastCreate, __pyx_t_2) < 0) __PYX_ERR(1, 25559, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":25614
 *     return (CUresult(err), mcHandle)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastAddDevice(mcHandle, dev):
 *     """ Associate a device to a multicast object.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_369cuMulticastAddDevice, 0, __pyx_n_s_cuMulticastAddDevice, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__672)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25614, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMulticastAddDevice, __pyx_t_2) < 0) __PYX_ERR(1, 25614, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":25668
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastBindMem(mcHandle, size_t mcOffset, memHandle, size_t memOffset, size_t size, unsigned long long flags):
 *     """ Bind a memory allocation represented by a handle to a multicast object.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_371cuMulticastBindMem, 0, __pyx_n_s_cuMulticastBindMem, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__673)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMulticastBindMem, __pyx_t_2) < 0) __PYX_ERR(1, 25668, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":25741
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastBindAddr(mcHandle, size_t mcOffset, memptr, size_t size, unsigned long long flags):
 *     """ Bind a memory allocation represented by a virtual address to a multicast object.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_373cuMulticastBindAddr, 0, __pyx_n_s_cuMulticastBindAddr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__674)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMulticastBindAddr, __pyx_t_2) < 0) __PYX_ERR(1, 25741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":25810
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastUnbind(mcHandle, dev, size_t mcOffset, size_t size):
 *     """ Unbind any memory allocations bound to a multicast object at a given offset and upto a given size.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_375cuMulticastUnbind, 0, __pyx_n_s_cuMulticastUnbind, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__675)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMulticastUnbind, __pyx_t_2) < 0) __PYX_ERR(1, 25810, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":25867
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMulticastGetGranularity(prop : Optional[CUmulticastObjectProp], option not None : CUmulticastGranularity_flags):
 *     """ Calculates either the minimal or recommended granularity for multicast object.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_prop, __pyx_kp_s_Optional_CUmulticastObjectProp) < 0) __PYX_ERR(1, 25867, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_option, __pyx_n_s_CUmulticastGranularity_flags) < 0) __PYX_ERR(1, 25867, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_377cuMulticastGetGranularity, 0, __pyx_n_s_cuMulticastGetGranularity, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__676)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMulticastGetGranularity, __pyx_t_3) < 0) __PYX_ERR(1, 25867, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":25900
 *     return (CUresult(err), granularity)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerGetAttribute(attribute not None : CUpointer_attribute, ptr):
 *     """ Returns information about a pointer.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 25900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attribute, __pyx_n_s_CUpointer_attribute) < 0) __PYX_ERR(1, 25900, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_379cuPointerGetAttribute, 0, __pyx_n_s_cuPointerGetAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__677)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 25900, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuPointerGetAttribute, __pyx_t_2) < 0) __PYX_ERR(1, 25900, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":26102
 *     return (CUresult(err), cdata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchAsync(devPtr, size_t count, dstDevice, hStream):
 *     """ Prefetches memory to the specified destination device.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_381cuMemPrefetchAsync, 0, __pyx_n_s_cuMemPrefetchAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__678)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemPrefetchAsync, __pyx_t_2) < 0) __PYX_ERR(1, 26102, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":26216
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemPrefetchAsync_v2(devPtr, size_t count, location not None : CUmemLocation, unsigned int flags, hStream):
 *     """ Prefetches memory to the specified destination location.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_location_2, __pyx_n_s_CUmemLocation) < 0) __PYX_ERR(1, 26216, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_383cuMemPrefetchAsync_v2, 0, __pyx_n_s_cuMemPrefetchAsync_v2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__679)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 26216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemPrefetchAsync_v2, __pyx_t_3) < 0) __PYX_ERR(1, 26216, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":26336
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAdvise(devPtr, size_t count, advice not None : CUmem_advise, device):
 *     """ Advise about the usage of a given memory range.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 26336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_advice, __pyx_n_s_CUmem_advise) < 0) __PYX_ERR(1, 26336, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_385cuMemAdvise, 0, __pyx_n_s_cuMemAdvise, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__680)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemAdvise, __pyx_t_2) < 0) __PYX_ERR(1, 26336, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":26519
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemAdvise_v2(devPtr, size_t count, advice not None : CUmem_advise, location not None : CUmemLocation):
 *     """ Advise about the usage of a given memory range.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_advice, __pyx_n_s_CUmem_advise) < 0) __PYX_ERR(1, 26519, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_location_2, __pyx_n_s_CUmemLocation) < 0) __PYX_ERR(1, 26519, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_387cuMemAdvise_v2, 0, __pyx_n_s_cuMemAdvise_v2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__681)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 26519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemAdvise_v2, __pyx_t_3) < 0) __PYX_ERR(1, 26519, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":26722
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRangeGetAttribute(size_t dataSize, attribute not None : CUmem_range_attribute, devPtr, size_t count):
 *     """ Query an attribute of a given memory range.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 26722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attribute, __pyx_n_s_CUmem_range_attribute) < 0) __PYX_ERR(1, 26722, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_389cuMemRangeGetAttribute, 0, __pyx_n_s_cuMemRangeGetAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__682)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemRangeGetAttribute, __pyx_t_2) < 0) __PYX_ERR(1, 26722, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":26875
 *     return (CUresult(err), cdata.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuMemRangeGetAttributes(dataSizes : List[int], attributes : Optional[List[CUmem_range_attribute]], size_t numAttributes, devPtr, size_t count):
 *     """ Query attributes of a given memory range.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dataSizes, __pyx_kp_s_List_int) < 0) __PYX_ERR(1, 26875, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_attributes, __pyx_kp_s_Optional_List_CUmem_range_attrib) < 0) __PYX_ERR(1, 26875, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_391cuMemRangeGetAttributes, 0, __pyx_n_s_cuMemRangeGetAttributes, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__683)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 26875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuMemRangeGetAttributes, __pyx_t_3) < 0) __PYX_ERR(1, 26875, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":26957
 *     return (CUresult(err), [obj.pyObj() for obj in pylist])
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerSetAttribute(value, attribute not None : CUpointer_attribute, ptr):
 *     """ Set attributes on a previously allocated memory region.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 26957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attribute, __pyx_n_s_CUpointer_attribute) < 0) __PYX_ERR(1, 26957, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_393cuPointerSetAttribute, 0, __pyx_n_s_cuPointerSetAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__686)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 26957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuPointerSetAttribute, __pyx_t_2) < 0) __PYX_ERR(1, 26957, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":27010
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuPointerGetAttributes(unsigned int numAttributes, attributes : Optional[List[CUpointer_attribute]], ptr):
 *     """ Returns information about a pointer.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_attributes, __pyx_kp_s_Optional_List_CUpointer_attribut) < 0) __PYX_ERR(1, 27010, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_395cuPointerGetAttributes, 0, __pyx_n_s_cuPointerGetAttributes, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__687)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuPointerGetAttributes, __pyx_t_3) < 0) __PYX_ERR(1, 27010, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":27097
 *     return (CUresult(err), [obj.pyObj() for obj in pylist])
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamCreate(unsigned int Flags):
 *     """ Create a stream.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_397cuStreamCreate, 0, __pyx_n_s_cuStreamCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__689)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamCreate, __pyx_t_3) < 0) __PYX_ERR(1, 27097, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":27133
 *     return (CUresult(err), phStream)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamCreateWithPriority(unsigned int flags, int priority):
 *     """ Create a stream with the given priority.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_399cuStreamCreateWithPriority, 0, __pyx_n_s_cuStreamCreateWithPriority, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__690)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamCreateWithPriority, __pyx_t_3) < 0) __PYX_ERR(1, 27133, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":27182
 *     return (CUresult(err), phStream)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetPriority(hStream):
 *     """ Query the priority of a given stream.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_401cuStreamGetPriority, 0, __pyx_n_s_cuStreamGetPriority, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__691)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamGetPriority, __pyx_t_3) < 0) __PYX_ERR(1, 27182, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":27224
 *     return (CUresult(err), priority)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetFlags(hStream):
 *     """ Query the flags of a given stream.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_403cuStreamGetFlags, 0, __pyx_n_s_cuStreamGetFlags, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__692)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamGetFlags, __pyx_t_3) < 0) __PYX_ERR(1, 27224, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":27263
 *     return (CUresult(err), flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetId(hStream):
 *     """ Returns the unique Id associated with the stream handle supplied.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_405cuStreamGetId, 0, __pyx_n_s_cuStreamGetId, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__693)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamGetId, __pyx_t_3) < 0) __PYX_ERR(1, 27263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":27315
 *     return (CUresult(err), streamId)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCtx(hStream):
 *     """ Query the context associated with a stream.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_407cuStreamGetCtx, 0, __pyx_n_s_cuStreamGetCtx, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__694)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamGetCtx, __pyx_t_3) < 0) __PYX_ERR(1, 27315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":27370
 *     return (CUresult(err), pctx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWaitEvent(hStream, hEvent, unsigned int Flags):
 *     """ Make a compute stream wait on an event.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_409cuStreamWaitEvent, 0, __pyx_n_s_cuStreamWaitEvent, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__695)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamWaitEvent, __pyx_t_3) < 0) __PYX_ERR(1, 27370, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":27427
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamAddCallback(hStream, callback, userData, unsigned int flags):
 *     """ Add a callback to a compute stream.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_411cuStreamAddCallback, 0, __pyx_n_s_cuStreamAddCallback, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__696)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamAddCallback, __pyx_t_3) < 0) __PYX_ERR(1, 27427, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":27519
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBeginCapture(hStream, mode not None : CUstreamCaptureMode):
 *     """ Begins graph capture on a stream.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_CUstreamCaptureMode) < 0) __PYX_ERR(1, 27519, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_413cuStreamBeginCapture, 0, __pyx_n_s_cuStreamBeginCapture, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__697)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamBeginCapture, __pyx_t_2) < 0) __PYX_ERR(1, 27519, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":27572
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBeginCaptureToGraph(hStream, hGraph, dependencies : Optional[List[CUgraphNode]], dependencyData : Optional[List[CUgraphEdgeData]], size_t numDependencies, mode not None : CUstreamCaptureMode):
 *     """ Begins graph capture on a stream to an existing graph.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 27572, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dependencyData, __pyx_kp_s_Optional_List_CUgraphEdgeData) < 0) __PYX_ERR(1, 27572, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_mode, __pyx_n_s_CUstreamCaptureMode) < 0) __PYX_ERR(1, 27572, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_415cuStreamBeginCaptureToGraph, 0, __pyx_n_s_cuStreamBeginCaptureToGraph, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__698)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamBeginCaptureToGraph, __pyx_t_3) < 0) __PYX_ERR(1, 27572, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":27673
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuThreadExchangeStreamCaptureMode(mode not None : CUstreamCaptureMode):
 *     """ Swaps the stream capture interaction mode for a thread.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 27673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_CUstreamCaptureMode) < 0) __PYX_ERR(1, 27673, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_417cuThreadExchangeStreamCaptureMode, 0, __pyx_n_s_cuThreadExchangeStreamCaptureMod, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__701)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuThreadExchangeStreamCaptureMod, __pyx_t_2) < 0) __PYX_ERR(1, 27673, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":27741
 *     return (CUresult(err), CUstreamCaptureMode(cmode))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamEndCapture(hStream):
 *     """ Ends capture on a stream, returning the captured graph.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_419cuStreamEndCapture, 0, __pyx_n_s_cuStreamEndCapture, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__702)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamEndCapture, __pyx_t_2) < 0) __PYX_ERR(1, 27741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":27784
 *     return (CUresult(err), phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamIsCapturing(hStream):
 *     """ Returns a stream's capture status.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_421cuStreamIsCapturing, 0, __pyx_n_s_cuStreamIsCapturing, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__703)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamIsCapturing, __pyx_t_2) < 0) __PYX_ERR(1, 27784, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":27842
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCaptureInfo(hStream):
 *     """ Query a stream's capture state.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_423cuStreamGetCaptureInfo, 0, __pyx_n_s_cuStreamGetCaptureInfo, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__704)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27842, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamGetCaptureInfo, __pyx_t_2) < 0) __PYX_ERR(1, 27842, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":27921
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, numDependencies_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetCaptureInfo_v3(hStream):
 *     """ Query a stream's capture state (12.3+)
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_425cuStreamGetCaptureInfo_v3, 0, __pyx_n_s_cuStreamGetCaptureInfo_v3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__705)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 27921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamGetCaptureInfo_v3, __pyx_t_2) < 0) __PYX_ERR(1, 27921, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":28016
 *     return (CUresult(err), CUstreamCaptureStatus(captureStatus_out), id_out, graph_out, pydependencies_out, pyedgeData_out, numDependencies_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies(hStream, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (11.3+)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 28016, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_427cuStreamUpdateCaptureDependencies, 0, __pyx_n_s_cuStreamUpdateCaptureDependencie_3, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__706)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamUpdateCaptureDependencie_3, __pyx_t_3) < 0) __PYX_ERR(1, 28016, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":28087
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamUpdateCaptureDependencies_v2(hStream, dependencies : Optional[List[CUgraphNode]], dependencyData : Optional[List[CUgraphEdgeData]], size_t numDependencies, unsigned int flags):
 *     """ Update the set of dependencies in a capturing stream (12.3+)
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 28087, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dependencyData, __pyx_kp_s_Optional_List_CUgraphEdgeData) < 0) __PYX_ERR(1, 28087, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_429cuStreamUpdateCaptureDependencies_v2, 0, __pyx_n_s_cuStreamUpdateCaptureDependencie_4, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__707)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamUpdateCaptureDependencie_4, __pyx_t_2) < 0) __PYX_ERR(1, 28087, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":28167
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamAttachMemAsync(hStream, dptr, size_t length, unsigned int flags):
 *     """ Attach memory to a stream asynchronously.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_431cuStreamAttachMemAsync, 0, __pyx_n_s_cuStreamAttachMemAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__708)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamAttachMemAsync, __pyx_t_2) < 0) __PYX_ERR(1, 28167, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":28278
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamQuery(hStream):
 *     """ Determine status of a compute stream.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_433cuStreamQuery, 0, __pyx_n_s_cuStreamQuery, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__709)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamQuery, __pyx_t_2) < 0) __PYX_ERR(1, 28278, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":28316
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamSynchronize(hStream):
 *     """ Wait until a stream's tasks are completed.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_435cuStreamSynchronize, 0, __pyx_n_s_cuStreamSynchronize, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__710)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamSynchronize, __pyx_t_2) < 0) __PYX_ERR(1, 28316, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":28353
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamDestroy(hStream):
 *     """ Destroys a stream.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_437cuStreamDestroy, 0, __pyx_n_s_cuStreamDestroy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__711)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamDestroy, __pyx_t_2) < 0) __PYX_ERR(1, 28353, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":28391
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamCopyAttributes(dst, src):
 *     """ Copies attributes from source stream to destination stream.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_439cuStreamCopyAttributes, 0, __pyx_n_s_cuStreamCopyAttributes, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__712)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamCopyAttributes, __pyx_t_2) < 0) __PYX_ERR(1, 28391, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":28435
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetAttribute(hStream, attr not None : CUstreamAttrID):
 *     """ Queries stream attribute.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_attr, __pyx_n_s_CUstreamAttrID) < 0) __PYX_ERR(1, 28435, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_441cuStreamGetAttribute, 0, __pyx_n_s_cuStreamGetAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__713)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamGetAttribute, __pyx_t_3) < 0) __PYX_ERR(1, 28435, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":28474
 *     return (CUresult(err), value_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamSetAttribute(hStream, attr not None : CUstreamAttrID, value : Optional[CUstreamAttrValue]):
 *     """ Sets stream attribute.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attr, __pyx_n_s_CUstreamAttrID) < 0) __PYX_ERR(1, 28474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_value_2, __pyx_kp_s_Optional_CUstreamAttrValue) < 0) __PYX_ERR(1, 28474, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_443cuStreamSetAttribute, 0, __pyx_n_s_cuStreamSetAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__714)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamSetAttribute, __pyx_t_2) < 0) __PYX_ERR(1, 28474, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":28514
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventCreate(unsigned int Flags):
 *     """ Creates an event.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_445cuEventCreate, 0, __pyx_n_s_cuEventCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__715)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuEventCreate, __pyx_t_2) < 0) __PYX_ERR(1, 28514, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":28559
 *     return (CUresult(err), phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventRecord(hEvent, hStream):
 *     """ Records an event.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_447cuEventRecord, 0, __pyx_n_s_cuEventRecord, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__716)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuEventRecord, __pyx_t_2) < 0) __PYX_ERR(1, 28559, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":28616
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventRecordWithFlags(hEvent, hStream, unsigned int flags):
 *     """ Records an event.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_449cuEventRecordWithFlags, 0, __pyx_n_s_cuEventRecordWithFlags, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__717)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuEventRecordWithFlags, __pyx_t_2) < 0) __PYX_ERR(1, 28616, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":28683
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventQuery(hEvent):
 *     """ Queries an event's status.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_451cuEventQuery, 0, __pyx_n_s_cuEventQuery, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__718)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuEventQuery, __pyx_t_2) < 0) __PYX_ERR(1, 28683, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":28725
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventSynchronize(hEvent):
 *     """ Waits for an event to complete.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_453cuEventSynchronize, 0, __pyx_n_s_cuEventSynchronize, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__719)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuEventSynchronize, __pyx_t_2) < 0) __PYX_ERR(1, 28725, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":28766
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventDestroy(hEvent):
 *     """ Destroys an event.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_455cuEventDestroy, 0, __pyx_n_s_cuEventDestroy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__720)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28766, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuEventDestroy, __pyx_t_2) < 0) __PYX_ERR(1, 28766, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":28804
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventElapsedTime(hStart, hEnd):
 *     """ Computes the elapsed time between two events.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_457cuEventElapsedTime, 0, __pyx_n_s_cuEventElapsedTime, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__721)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuEventElapsedTime, __pyx_t_2) < 0) __PYX_ERR(1, 28804, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":28869
 *     return (CUresult(err), pMilliseconds)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuImportExternalMemory(memHandleDesc : Optional[CUDA_EXTERNAL_MEMORY_HANDLE_DESC]):
 *     """ Imports an external memory object.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 28869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_memHandleDesc, __pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_HA) < 0) __PYX_ERR(1, 28869, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_459cuImportExternalMemory, 0, __pyx_n_s_cuImportExternalMemory, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__722)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 28869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuImportExternalMemory, __pyx_t_3) < 0) __PYX_ERR(1, 28869, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":29019
 *     return (CUresult(err), extMem_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuExternalMemoryGetMappedBuffer(extMem, bufferDesc : Optional[CUDA_EXTERNAL_MEMORY_BUFFER_DESC]):
 *     """ Maps a buffer onto an imported memory object.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_bufferDesc, __pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_BU) < 0) __PYX_ERR(1, 29019, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_461cuExternalMemoryGetMappedBuffer, 0, __pyx_n_s_cuExternalMemoryGetMappedBuffer, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__723)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuExternalMemoryGetMappedBuffer, __pyx_t_2) < 0) __PYX_ERR(1, 29019, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":29084
 *     return (CUresult(err), devPtr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuExternalMemoryGetMappedMipmappedArray(extMem, mipmapDesc : Optional[CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC]):
 *     """ Maps a CUDA mipmapped array onto an external memory object.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_mipmapDesc, __pyx_kp_s_Optional_CUDA_EXTERNAL_MEMORY_MI) < 0) __PYX_ERR(1, 29084, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_463cuExternalMemoryGetMappedMipmappedArray, 0, __pyx_n_s_cuExternalMemoryGetMappedMipmapp, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__724)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuExternalMemoryGetMappedMipmapp, __pyx_t_3) < 0) __PYX_ERR(1, 29084, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":29152
 *     return (CUresult(err), mipmap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDestroyExternalMemory(extMem):
 *     """ Destroys an external memory object.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_465cuDestroyExternalMemory, 0, __pyx_n_s_cuDestroyExternalMemory, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__725)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDestroyExternalMemory, __pyx_t_3) < 0) __PYX_ERR(1, 29152, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":29187
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuImportExternalSemaphore(semHandleDesc : Optional[CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC]):
 *     """ Imports an external semaphore.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_semHandleDesc, __pyx_kp_s_Optional_CUDA_EXTERNAL_SEMAPHORE) < 0) __PYX_ERR(1, 29187, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_467cuImportExternalSemaphore, 0, __pyx_n_s_cuImportExternalSemaphore, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__726)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuImportExternalSemaphore, __pyx_t_2) < 0) __PYX_ERR(1, 29187, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":29332
 *     return (CUresult(err), extSem_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSignalExternalSemaphoresAsync(extSemArray : Optional[List[CUexternalSemaphore]], paramsArray : Optional[List[CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS]], unsigned int numExtSems, stream):
 *     """ Signals a set of external semaphore objects.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_extSemArray_2, __pyx_kp_s_Optional_List_CUexternalSemaphor) < 0) __PYX_ERR(1, 29332, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_paramsArray_2, __pyx_kp_s_Optional_List_CUDA_EXTERNAL_SEMA) < 0) __PYX_ERR(1, 29332, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_469cuSignalExternalSemaphoresAsync, 0, __pyx_n_s_cuSignalExternalSemaphoresAsync_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__727)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuSignalExternalSemaphoresAsync_2, __pyx_t_3) < 0) __PYX_ERR(1, 29332, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":29464
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuWaitExternalSemaphoresAsync(extSemArray : Optional[List[CUexternalSemaphore]], paramsArray : Optional[List[CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS]], unsigned int numExtSems, stream):
 *     """ Waits on a set of external semaphore objects.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_extSemArray_2, __pyx_kp_s_Optional_List_CUexternalSemaphor) < 0) __PYX_ERR(1, 29464, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_paramsArray_2, __pyx_kp_s_Optional_List_CUDA_EXTERNAL_SEMA_2) < 0) __PYX_ERR(1, 29464, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_471cuWaitExternalSemaphoresAsync, 0, __pyx_n_s_cuWaitExternalSemaphoresAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__730)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuWaitExternalSemaphoresAsync, __pyx_t_2) < 0) __PYX_ERR(1, 29464, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":29587
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDestroyExternalSemaphore(extSem):
 *     """ Destroys an external semaphore.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_473cuDestroyExternalSemaphore, 0, __pyx_n_s_cuDestroyExternalSemaphore, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__732)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDestroyExternalSemaphore, __pyx_t_2) < 0) __PYX_ERR(1, 29587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":29621
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWaitValue32(stream, addr, value, unsigned int flags):
 *     """ Wait on a memory location.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_475cuStreamWaitValue32, 0, __pyx_n_s_cuStreamWaitValue32, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__733)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamWaitValue32, __pyx_t_2) < 0) __PYX_ERR(1, 29621, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":29694
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWaitValue64(stream, addr, value, unsigned int flags):
 *     """ Wait on a memory location.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_477cuStreamWaitValue64, 0, __pyx_n_s_cuStreamWaitValue64, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__734)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamWaitValue64, __pyx_t_2) < 0) __PYX_ERR(1, 29694, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":29765
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWriteValue32(stream, addr, value, unsigned int flags):
 *     """ Write a value to memory.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_479cuStreamWriteValue32, 0, __pyx_n_s_cuStreamWriteValue32, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__735)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamWriteValue32, __pyx_t_2) < 0) __PYX_ERR(1, 29765, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":29826
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamWriteValue64(stream, addr, value, unsigned int flags):
 *     """ Write a value to memory.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_481cuStreamWriteValue64, 0, __pyx_n_s_cuStreamWriteValue64, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__736)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamWriteValue64, __pyx_t_2) < 0) __PYX_ERR(1, 29826, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":29889
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamBatchMemOp(stream, unsigned int count, paramArray : Optional[List[CUstreamBatchMemOpParams]], unsigned int flags):
 *     """ Batch operations to synchronize the stream via memory operations.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_paramArray_2, __pyx_kp_s_Optional_List_CUstreamBatchMemOp) < 0) __PYX_ERR(1, 29889, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_483cuStreamBatchMemOp, 0, __pyx_n_s_cuStreamBatchMemOp, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__737)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamBatchMemOp, __pyx_t_3) < 0) __PYX_ERR(1, 29889, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":29957
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetAttribute(attrib not None : CUfunction_attribute, hfunc):
 *     """ Returns information about a function.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 29957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attrib, __pyx_n_s_CUfunction_attribute) < 0) __PYX_ERR(1, 29957, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_485cuFuncGetAttribute, 0, __pyx_n_s_cuFuncGetAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__739)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 29957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuFuncGetAttribute, __pyx_t_2) < 0) __PYX_ERR(1, 29957, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":30088
 *     return (CUresult(err), pi)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetAttribute(hfunc, attrib not None : CUfunction_attribute, int value):
 *     """ Sets information about a function.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_attrib, __pyx_n_s_CUfunction_attribute) < 0) __PYX_ERR(1, 30088, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_487cuFuncSetAttribute, 0, __pyx_n_s_cuFuncSetAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__740)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 30088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuFuncSetAttribute, __pyx_t_3) < 0) __PYX_ERR(1, 30088, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":30175
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetCacheConfig(hfunc, config not None : CUfunc_cache):
 *     """ Sets the preferred cache configuration for a device function.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 30175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_config, __pyx_n_s_CUfunc_cache) < 0) __PYX_ERR(1, 30175, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_489cuFuncSetCacheConfig, 0, __pyx_n_s_cuFuncSetCacheConfig, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__741)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuFuncSetCacheConfig, __pyx_t_2) < 0) __PYX_ERR(1, 30175, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":30238
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetModule(hfunc):
 *     """ Returns a module handle.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_491cuFuncGetModule, 0, __pyx_n_s_cuFuncGetModule, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__742)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuFuncGetModule, __pyx_t_2) < 0) __PYX_ERR(1, 30238, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":30277
 *     return (CUresult(err), hmod)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetName(hfunc):
 *     """ Returns the function name for a :py:obj:`~.CUfunction` handle.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_493cuFuncGetName, 0, __pyx_n_s_cuFuncGetName, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__743)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuFuncGetName, __pyx_t_2) < 0) __PYX_ERR(1, 30277, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":30314
 *     return (CUresult(err), <bytes>name)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncGetParamInfo(func, size_t paramIndex):
 *     """ Returns the offset and size of a kernel parameter in the device-side parameter layout.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_495cuFuncGetParamInfo, 0, __pyx_n_s_cuFuncGetParamInfo, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__744)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuFuncGetParamInfo, __pyx_t_2) < 0) __PYX_ERR(1, 30314, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":30364
 *     return (CUresult(err), paramOffset, paramSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncIsLoaded(function):
 *     """ Returns if the function is loaded.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_497cuFuncIsLoaded, 0, __pyx_n_s_cuFuncIsLoaded, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__745)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuFuncIsLoaded, __pyx_t_2) < 0) __PYX_ERR(1, 30364, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":30399
 *     return (CUresult(err), CUfunctionLoadingState(state))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncLoad(function):
 *     """ Loads a function.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_499cuFuncLoad, 0, __pyx_n_s_cuFuncLoad, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__746)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuFuncLoad, __pyx_t_2) < 0) __PYX_ERR(1, 30399, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":30432
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchKernel(f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hStream, kernelParams, void_ptr extra):
 *     """ Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel`.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_501cuLaunchKernel, 0, __pyx_n_s_cuLaunchKernel, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__747)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLaunchKernel, __pyx_t_2) < 0) __PYX_ERR(1, 30432, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":30562
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchKernelEx(config : Optional[CUlaunchConfig], f, kernelParams, void_ptr extra):
 *     """ Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel` with launch-time configuration.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_config, __pyx_kp_s_Optional_CUlaunchConfig) < 0) __PYX_ERR(1, 30562, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_503cuLaunchKernelEx, 0, __pyx_n_s_cuLaunchKernelEx, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__748)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 30562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLaunchKernelEx, __pyx_t_3) < 0) __PYX_ERR(1, 30562, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":30767
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchCooperativeKernel(f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, hStream, kernelParams):
 *     """ Launches a CUDA function :py:obj:`~.CUfunction` or a CUDA kernel :py:obj:`~.CUkernel` where thread blocks can cooperate and synchronize as they execute.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_505cuLaunchCooperativeKernel, 0, __pyx_n_s_cuLaunchCooperativeKernel, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__749)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 30767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLaunchCooperativeKernel, __pyx_t_3) < 0) __PYX_ERR(1, 30767, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":30884
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchCooperativeKernelMultiDevice(launchParamsList : Optional[List[CUDA_LAUNCH_PARAMS]], unsigned int numDevices, unsigned int flags):
 *     """ Launches CUDA functions on multiple devices where thread blocks can cooperate and synchronize as they execute.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 30884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_launchParamsList, __pyx_kp_s_Optional_List_CUDA_LAUNCH_PARAMS) < 0) __PYX_ERR(1, 30884, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_507cuLaunchCooperativeKernelMultiDevice, 0, __pyx_n_s_cuLaunchCooperativeKernelMultiDe_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__750)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 30884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLaunchCooperativeKernelMultiDe_2, __pyx_t_2) < 0) __PYX_ERR(1, 30884, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":31052
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchHostFunc(hStream, fn, userData):
 *     """ Enqueues a host function call in a stream.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_509cuLaunchHostFunc, 0, __pyx_n_s_cuLaunchHostFunc, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__752)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLaunchHostFunc, __pyx_t_2) < 0) __PYX_ERR(1, 31052, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":31136
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetBlockShape(hfunc, int x, int y, int z):
 *     """ Sets the block-dimensions for the function.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_511cuFuncSetBlockShape, 0, __pyx_n_s_cuFuncSetBlockShape, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__753)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuFuncSetBlockShape, __pyx_t_2) < 0) __PYX_ERR(1, 31136, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":31177
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetSharedSize(hfunc, unsigned int numbytes):
 *     """ Sets the dynamic shared-memory size for the function.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_513cuFuncSetSharedSize, 0, __pyx_n_s_cuFuncSetSharedSize, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__754)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuFuncSetSharedSize, __pyx_t_2) < 0) __PYX_ERR(1, 31177, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":31215
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetSize(hfunc, unsigned int numbytes):
 *     """ Sets the parameter size for the function.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_515cuParamSetSize, 0, __pyx_n_s_cuParamSetSize, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__755)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuParamSetSize, __pyx_t_2) < 0) __PYX_ERR(1, 31215, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":31252
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSeti(hfunc, int offset, unsigned int value):
 *     """ Adds an integer parameter to the function's argument list.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_517cuParamSeti, 0, __pyx_n_s_cuParamSeti, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__756)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuParamSeti, __pyx_t_2) < 0) __PYX_ERR(1, 31252, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":31292
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetf(hfunc, int offset, float value):
 *     """ Adds a floating-point parameter to the function's argument list.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_519cuParamSetf, 0, __pyx_n_s_cuParamSetf, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__757)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuParamSetf, __pyx_t_2) < 0) __PYX_ERR(1, 31292, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":31332
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetv(hfunc, int offset, ptr, unsigned int numbytes):
 *     """ Adds arbitrary data to the function's argument list.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_521cuParamSetv, 0, __pyx_n_s_cuParamSetv, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__758)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuParamSetv, __pyx_t_2) < 0) __PYX_ERR(1, 31332, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":31376
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunch(f):
 *     """ Launches a CUDA function.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_523cuLaunch, 0, __pyx_n_s_cuLaunch, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__759)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLaunch, __pyx_t_2) < 0) __PYX_ERR(1, 31376, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":31424
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchGrid(f, int grid_width, int grid_height):
 *     """ Launches a CUDA function.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_525cuLaunchGrid, 0, __pyx_n_s_cuLaunchGrid, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__760)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLaunchGrid, __pyx_t_2) < 0) __PYX_ERR(1, 31424, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":31476
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuLaunchGridAsync(f, int grid_width, int grid_height, hStream):
 *     """ Launches a CUDA function.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_527cuLaunchGridAsync, 0, __pyx_n_s_cuLaunchGridAsync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__761)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuLaunchGridAsync, __pyx_t_2) < 0) __PYX_ERR(1, 31476, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":31545
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuParamSetTexRef(hfunc, int texunit, hTexRef):
 *     """ Adds a texture-reference to the function's argument list.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_529cuParamSetTexRef, 0, __pyx_n_s_cuParamSetTexRef, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__762)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuParamSetTexRef, __pyx_t_2) < 0) __PYX_ERR(1, 31545, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":31592
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuFuncSetSharedMemConfig(hfunc, config not None : CUsharedconfig):
 *     """ Sets the shared memory configuration for a device function.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_config, __pyx_n_s_CUsharedconfig) < 0) __PYX_ERR(1, 31592, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_531cuFuncSetSharedMemConfig, 0, __pyx_n_s_cuFuncSetSharedMemConfig, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__763)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuFuncSetSharedMemConfig, __pyx_t_3) < 0) __PYX_ERR(1, 31592, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":31662
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphCreate(unsigned int flags):
 *     """ Creates a graph.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_533cuGraphCreate, 0, __pyx_n_s_cuGraphCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__764)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphCreate, __pyx_t_3) < 0) __PYX_ERR(1, 31662, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":31688
 *     return (CUresult(err), phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddKernelNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_KERNEL_NODE_PARAMS]):
 *     """ Creates a kernel execution node and adds it to a graph.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 31688, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_KERNEL_NODE_PARAMS) < 0) __PYX_ERR(1, 31688, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_535cuGraphAddKernelNode, 0, __pyx_n_s_cuGraphAddKernelNode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__765)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphAddKernelNode, __pyx_t_2) < 0) __PYX_ERR(1, 31688, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":31805
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeGetParams(hNode):
 *     """ Returns a kernel node's parameters.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_537cuGraphKernelNodeGetParams, 0, __pyx_n_s_cuGraphKernelNodeGetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__766)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31805, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphKernelNodeGetParams, __pyx_t_2) < 0) __PYX_ERR(1, 31805, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":31849
 *     return (CUresult(err), nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeSetParams(hNode, nodeParams : Optional[CUDA_KERNEL_NODE_PARAMS]):
 *     """ Sets a kernel node's parameters.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_KERNEL_NODE_PARAMS) < 0) __PYX_ERR(1, 31849, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_539cuGraphKernelNodeSetParams, 0, __pyx_n_s_cuGraphKernelNodeSetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__767)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphKernelNodeSetParams, __pyx_t_3) < 0) __PYX_ERR(1, 31849, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":31884
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemcpyNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, copyParams : Optional[CUDA_MEMCPY3D], ctx):
 *     """ Creates a memcpy node and adds it to a graph.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 31884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 31884, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_copyParams_2, __pyx_kp_s_Optional_CUDA_MEMCPY3D) < 0) __PYX_ERR(1, 31884, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_541cuGraphAddMemcpyNode, 0, __pyx_n_s_cuGraphAddMemcpyNode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__768)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphAddMemcpyNode, __pyx_t_2) < 0) __PYX_ERR(1, 31884, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":31969
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemcpyNodeGetParams(hNode):
 *     """ Returns a memcpy node's parameters.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_543cuGraphMemcpyNodeGetParams, 0, __pyx_n_s_cuGraphMemcpyNodeGetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__769)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 31969, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphMemcpyNodeGetParams, __pyx_t_2) < 0) __PYX_ERR(1, 31969, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":32004
 *     return (CUresult(err), nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemcpyNodeSetParams(hNode, nodeParams : Optional[CUDA_MEMCPY3D]):
 *     """ Sets a memcpy node's parameters.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_MEMCPY3D) < 0) __PYX_ERR(1, 32004, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_545cuGraphMemcpyNodeSetParams, 0, __pyx_n_s_cuGraphMemcpyNodeSetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__770)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphMemcpyNodeSetParams, __pyx_t_3) < 0) __PYX_ERR(1, 32004, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":32039
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemsetNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, memsetParams : Optional[CUDA_MEMSET_NODE_PARAMS], ctx):
 *     """ Creates a memset node and adds it to a graph.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 32039, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_memsetParams, __pyx_kp_s_Optional_CUDA_MEMSET_NODE_PARAMS) < 0) __PYX_ERR(1, 32039, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_547cuGraphAddMemsetNode, 0, __pyx_n_s_cuGraphAddMemsetNode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__771)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphAddMemsetNode, __pyx_t_2) < 0) __PYX_ERR(1, 32039, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":32114
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemsetNodeGetParams(hNode):
 *     """ Returns a memset node's parameters.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_549cuGraphMemsetNodeGetParams, 0, __pyx_n_s_cuGraphMemsetNodeGetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__772)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphMemsetNodeGetParams, __pyx_t_2) < 0) __PYX_ERR(1, 32114, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":32149
 *     return (CUresult(err), nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemsetNodeSetParams(hNode, nodeParams : Optional[CUDA_MEMSET_NODE_PARAMS]):
 *     """ Sets a memset node's parameters.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_MEMSET_NODE_PARAMS) < 0) __PYX_ERR(1, 32149, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_551cuGraphMemsetNodeSetParams, 0, __pyx_n_s_cuGraphMemsetNodeSetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__773)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphMemsetNodeSetParams, __pyx_t_3) < 0) __PYX_ERR(1, 32149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":32184
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddHostNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_HOST_NODE_PARAMS]):
 *     """ Creates a host execution node and adds it to a graph.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 32184, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_HOST_NODE_PARAMS) < 0) __PYX_ERR(1, 32184, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_553cuGraphAddHostNode, 0, __pyx_n_s_cuGraphAddHostNode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__774)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphAddHostNode, __pyx_t_2) < 0) __PYX_ERR(1, 32184, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":32248
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphHostNodeGetParams(hNode):
 *     """ Returns a host node's parameters.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_555cuGraphHostNodeGetParams, 0, __pyx_n_s_cuGraphHostNodeGetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__775)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphHostNodeGetParams, __pyx_t_2) < 0) __PYX_ERR(1, 32248, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":32283
 *     return (CUresult(err), nodeParams)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphHostNodeSetParams(hNode, nodeParams : Optional[CUDA_HOST_NODE_PARAMS]):
 *     """ Sets a host node's parameters.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_HOST_NODE_PARAMS) < 0) __PYX_ERR(1, 32283, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_557cuGraphHostNodeSetParams, 0, __pyx_n_s_cuGraphHostNodeSetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__776)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphHostNodeSetParams, __pyx_t_3) < 0) __PYX_ERR(1, 32283, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":32318
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddChildGraphNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, childGraph):
 *     """ Creates a child graph node and adds it to a graph.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 32318, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_559cuGraphAddChildGraphNode, 0, __pyx_n_s_cuGraphAddChildGraphNode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__777)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphAddChildGraphNode, __pyx_t_2) < 0) __PYX_ERR(1, 32318, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":32393
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphChildGraphNodeGetGraph(hNode):
 *     """ Gets a handle to the embedded graph of a child graph node.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_561cuGraphChildGraphNodeGetGraph, 0, __pyx_n_s_cuGraphChildGraphNodeGetGraph, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__778)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphChildGraphNodeGetGraph, __pyx_t_2) < 0) __PYX_ERR(1, 32393, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":32433
 *     return (CUresult(err), phGraph)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEmptyNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies):
 *     """ Creates an empty node and adds it to a graph.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 32433, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_563cuGraphAddEmptyNode, 0, __pyx_n_s_cuGraphAddEmptyNode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__779)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphAddEmptyNode, __pyx_t_3) < 0) __PYX_ERR(1, 32433, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":32497
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventRecordNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, event):
 *     """ Creates an event record node and adds it to a graph.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 32497, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_565cuGraphAddEventRecordNode, 0, __pyx_n_s_cuGraphAddEventRecordNode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__780)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphAddEventRecordNode, __pyx_t_2) < 0) __PYX_ERR(1, 32497, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":32569
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventRecordNodeGetEvent(hNode):
 *     """ Returns the event associated with an event record node.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_567cuGraphEventRecordNodeGetEvent, 0, __pyx_n_s_cuGraphEventRecordNodeGetEvent, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__781)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphEventRecordNodeGetEvent, __pyx_t_2) < 0) __PYX_ERR(1, 32569, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":32604
 *     return (CUresult(err), event_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventRecordNodeSetEvent(hNode, event):
 *     """ Sets an event record node's event.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_569cuGraphEventRecordNodeSetEvent, 0, __pyx_n_s_cuGraphEventRecordNodeSetEvent, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__782)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphEventRecordNodeSetEvent, __pyx_t_2) < 0) __PYX_ERR(1, 32604, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":32647
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddEventWaitNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, event):
 *     """ Creates an event wait node and adds it to a graph.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 32647, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_571cuGraphAddEventWaitNode, 0, __pyx_n_s_cuGraphAddEventWaitNode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__783)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphAddEventWaitNode, __pyx_t_3) < 0) __PYX_ERR(1, 32647, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":32721
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventWaitNodeGetEvent(hNode):
 *     """ Returns the event associated with an event wait node.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_573cuGraphEventWaitNodeGetEvent, 0, __pyx_n_s_cuGraphEventWaitNodeGetEvent, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__784)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphEventWaitNodeGetEvent, __pyx_t_3) < 0) __PYX_ERR(1, 32721, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":32756
 *     return (CUresult(err), event_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphEventWaitNodeSetEvent(hNode, event):
 *     """ Sets an event wait node's event.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_575cuGraphEventWaitNodeSetEvent, 0, __pyx_n_s_cuGraphEventWaitNodeSetEvent, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__785)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32756, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphEventWaitNodeSetEvent, __pyx_t_3) < 0) __PYX_ERR(1, 32756, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":32799
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresSignalNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]):
 *     """ Creates an external semaphore signal node and adds it to a graph.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32799, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 32799, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_EXT_SEM_SIGNAL_NOD) < 0) __PYX_ERR(1, 32799, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_577cuGraphAddExternalSemaphoresSignalNode, 0, __pyx_n_s_cuGraphAddExternalSemaphoresSign_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__786)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32799, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphAddExternalSemaphoresSign_2, __pyx_t_2) < 0) __PYX_ERR(1, 32799, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":32864
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresSignalNodeGetParams(hNode):
 *     """ Returns an external semaphore signal node's parameters.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_579cuGraphExternalSemaphoresSignalNodeGetParams, 0, __pyx_n_s_cuGraphExternalSemaphoresSignalN, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__787)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32864, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExternalSemaphoresSignalN, __pyx_t_2) < 0) __PYX_ERR(1, 32864, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":32905
 *     return (CUresult(err), params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresSignalNodeSetParams(hNode, nodeParams : Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]):
 *     """ Sets an external semaphore signal node's parameters.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_EXT_SEM_SIGNAL_NOD) < 0) __PYX_ERR(1, 32905, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_581cuGraphExternalSemaphoresSignalNodeSetParams, 0, __pyx_n_s_cuGraphExternalSemaphoresSignalN_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__788)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExternalSemaphoresSignalN_2, __pyx_t_3) < 0) __PYX_ERR(1, 32905, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":32941
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddExternalSemaphoresWaitNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]):
 *     """ Creates an external semaphore wait node and adds it to a graph.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 32941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 32941, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_EXT_SEM_WAIT_NODE) < 0) __PYX_ERR(1, 32941, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_583cuGraphAddExternalSemaphoresWaitNode, 0, __pyx_n_s_cuGraphAddExternalSemaphoresWait_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__789)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 32941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphAddExternalSemaphoresWait_2, __pyx_t_2) < 0) __PYX_ERR(1, 32941, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":33006
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresWaitNodeGetParams(hNode):
 *     """ Returns an external semaphore wait node's parameters.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_585cuGraphExternalSemaphoresWaitNodeGetParams, 0, __pyx_n_s_cuGraphExternalSemaphoresWaitNod, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__790)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExternalSemaphoresWaitNod, __pyx_t_2) < 0) __PYX_ERR(1, 33006, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":33047
 *     return (CUresult(err), params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExternalSemaphoresWaitNodeSetParams(hNode, nodeParams : Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]):
 *     """ Sets an external semaphore wait node's parameters.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_EXT_SEM_WAIT_NODE) < 0) __PYX_ERR(1, 33047, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_587cuGraphExternalSemaphoresWaitNodeSetParams, 0, __pyx_n_s_cuGraphExternalSemaphoresWaitNod_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__791)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExternalSemaphoresWaitNod_2, __pyx_t_3) < 0) __PYX_ERR(1, 33047, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":33083
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddBatchMemOpNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]):
 *     """ Creates a batch memory operation node and adds it to a graph.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 33083, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_BATCH_MEM_OP_NODE) < 0) __PYX_ERR(1, 33083, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_589cuGraphAddBatchMemOpNode, 0, __pyx_n_s_cuGraphAddBatchMemOpNode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__792)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphAddBatchMemOpNode, __pyx_t_2) < 0) __PYX_ERR(1, 33083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":33151
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphBatchMemOpNodeGetParams(hNode):
 *     """ Returns a batch mem op node's parameters.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_591cuGraphBatchMemOpNodeGetParams, 0, __pyx_n_s_cuGraphBatchMemOpNodeGetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__793)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphBatchMemOpNodeGetParams, __pyx_t_2) < 0) __PYX_ERR(1, 33151, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":33191
 *     return (CUresult(err), nodeParams_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphBatchMemOpNodeSetParams(hNode, nodeParams : Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]):
 *     """ Sets a batch mem op node's parameters.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_BATCH_MEM_OP_NODE) < 0) __PYX_ERR(1, 33191, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_593cuGraphBatchMemOpNodeSetParams, 0, __pyx_n_s_cuGraphBatchMemOpNodeSetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__794)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphBatchMemOpNodeSetParams, __pyx_t_3) < 0) __PYX_ERR(1, 33191, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":33229
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecBatchMemOpNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_BATCH_MEM_OP_NODE_PARAMS]):
 *     """ Sets the parameters for a batch mem op node in the given graphExec.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_BATCH_MEM_OP_NODE) < 0) __PYX_ERR(1, 33229, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_595cuGraphExecBatchMemOpNodeSetParams, 0, __pyx_n_s_cuGraphExecBatchMemOpNodeSetPara, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__795)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExecBatchMemOpNodeSetPara, __pyx_t_2) < 0) __PYX_ERR(1, 33229, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":33298
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemAllocNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUDA_MEM_ALLOC_NODE_PARAMS]):
 *     """ Creates an allocation node and adds it to a graph.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 33298, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_MEM_ALLOC_NODE_PAR) < 0) __PYX_ERR(1, 33298, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_597cuGraphAddMemAllocNode, 0, __pyx_n_s_cuGraphAddMemAllocNode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__796)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphAddMemAllocNode, __pyx_t_3) < 0) __PYX_ERR(1, 33298, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":33402
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemAllocNodeGetParams(hNode):
 *     """ Returns a memory alloc node's parameters.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_599cuGraphMemAllocNodeGetParams, 0, __pyx_n_s_cuGraphMemAllocNodeGetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__797)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphMemAllocNodeGetParams, __pyx_t_3) < 0) __PYX_ERR(1, 33402, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":33440
 *     return (CUresult(err), params_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddMemFreeNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, dptr):
 *     """ Creates a memory free node and adds it to a graph.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 33440, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_601cuGraphAddMemFreeNode, 0, __pyx_n_s_cuGraphAddMemFreeNode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__798)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphAddMemFreeNode, __pyx_t_2) < 0) __PYX_ERR(1, 33440, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":33529
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphMemFreeNodeGetParams(hNode):
 *     """ Returns a memory free node's parameters.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_603cuGraphMemFreeNodeGetParams, 0, __pyx_n_s_cuGraphMemFreeNodeGetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__799)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphMemFreeNodeGetParams, __pyx_t_2) < 0) __PYX_ERR(1, 33529, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":33564
 *     return (CUresult(err), dptr_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGraphMemTrim(device):
 *     """ Free unused memory that was cached on the specified device for use with graphs back to the OS.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_605cuDeviceGraphMemTrim, 0, __pyx_n_s_cuDeviceGraphMemTrim, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__800)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGraphMemTrim, __pyx_t_2) < 0) __PYX_ERR(1, 33564, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":33598
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetGraphMemAttribute(device, attr not None : CUgraphMem_attribute):
 *     """ Query asynchronous allocation attributes related to graphs.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33598, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_attr, __pyx_n_s_CUgraphMem_attribute) < 0) __PYX_ERR(1, 33598, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_607cuDeviceGetGraphMemAttribute, 0, __pyx_n_s_cuDeviceGetGraphMemAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__801)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33598, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGetGraphMemAttribute, __pyx_t_3) < 0) __PYX_ERR(1, 33598, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":33652
 *     return (CUresult(err), cvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceSetGraphMemAttribute(device, attr not None : CUgraphMem_attribute, value):
 *     """ Set asynchronous allocation attributes related to graphs.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attr, __pyx_n_s_CUgraphMem_attribute) < 0) __PYX_ERR(1, 33652, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_609cuDeviceSetGraphMemAttribute, 0, __pyx_n_s_cuDeviceSetGraphMemAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__802)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceSetGraphMemAttribute, __pyx_t_2) < 0) __PYX_ERR(1, 33652, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":33699
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphClone(originalGraph):
 *     """ Clones a graph.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_611cuGraphClone, 0, __pyx_n_s_cuGraphClone, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__803)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphClone, __pyx_t_2) < 0) __PYX_ERR(1, 33699, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":33740
 *     return (CUresult(err), phGraphClone)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeFindInClone(hOriginalNode, hClonedGraph):
 *     """ Finds a cloned version of a node.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_613cuGraphNodeFindInClone, 0, __pyx_n_s_cuGraphNodeFindInClone, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__804)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphNodeFindInClone, __pyx_t_2) < 0) __PYX_ERR(1, 33740, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":33793
 *     return (CUresult(err), phNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetType(hNode):
 *     """ Returns a node's type.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_615cuGraphNodeGetType, 0, __pyx_n_s_cuGraphNodeGetType, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__805)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphNodeGetType, __pyx_t_2) < 0) __PYX_ERR(1, 33793, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":33829
 * 
 * @cython.embedsignature(True)
 * def cuGraphGetNodes(hGraph, size_t numNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's nodes.
 * 
 */
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "cuda/cuda.pyx":33828
 *     return (CUresult(err), CUgraphNodeType(typename))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetNodes(hGraph, size_t numNodes = 0):
 *     """ Returns a graph's nodes.
 */
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33828, __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)) __PYX_ERR(1, 33828, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_617cuGraphGetNodes, 0, __pyx_n_s_cuGraphGetNodes, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__806)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphGetNodes, __pyx_t_2) < 0) __PYX_ERR(1, 33828, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":33883
 * 
 * @cython.embedsignature(True)
 * def cuGraphGetRootNodes(hGraph, size_t numRootNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's root nodes.
 * 
 */
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "cuda/cuda.pyx":33882
 *     return (CUresult(err), pynodes, numNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetRootNodes(hGraph, size_t numRootNodes = 0):
 *     """ Returns a graph's root nodes.
 */
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33882, __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)) __PYX_ERR(1, 33882, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_619cuGraphGetRootNodes, 0, __pyx_n_s_cuGraphGetRootNodes, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__807)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphGetRootNodes, __pyx_t_2) < 0) __PYX_ERR(1, 33882, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":33937
 * 
 * @cython.embedsignature(True)
 * def cuGraphGetEdges(hGraph, size_t numEdges = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's dependency edges.
 * 
 */
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "cuda/cuda.pyx":33936
 *     return (CUresult(err), pyrootNodes, numRootNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetEdges(hGraph, size_t numEdges = 0):
 *     """ Returns a graph's dependency edges.
 */
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 33936, __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)) __PYX_ERR(1, 33936, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_621cuGraphGetEdges, 0, __pyx_n_s_cuGraphGetEdges, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__808)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 33936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphGetEdges, __pyx_t_2) < 0) __PYX_ERR(1, 33936, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":34005
 * 
 * @cython.embedsignature(True)
 * def cuGraphGetEdges_v2(hGraph, size_t numEdges = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a graph's dependency edges (12.3+)
 * 
 */
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "cuda/cuda.pyx":34004
 *     return (CUresult(err), pyfrom_, pyto, numEdges)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphGetEdges_v2(hGraph, size_t numEdges = 0):
 *     """ Returns a graph's dependency edges (12.3+)
 */
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34004, __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)) __PYX_ERR(1, 34004, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_623cuGraphGetEdges_v2, 0, __pyx_n_s_cuGraphGetEdges_v2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__809)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphGetEdges_v2, __pyx_t_2) < 0) __PYX_ERR(1, 34004, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":34090
 * 
 * @cython.embedsignature(True)
 * def cuGraphNodeGetDependencies(hNode, size_t numDependencies = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependencies.
 * 
 */
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "cuda/cuda.pyx":34089
 *     return (CUresult(err), pyfrom_, pyto, pyedgeData, numEdges)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependencies(hNode, size_t numDependencies = 0):
 *     """ Returns a node's dependencies.
 */
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34089, __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)) __PYX_ERR(1, 34089, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_625cuGraphNodeGetDependencies, 0, __pyx_n_s_cuGraphNodeGetDependencies, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__810)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphNodeGetDependencies, __pyx_t_2) < 0) __PYX_ERR(1, 34089, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":34145
 * 
 * @cython.embedsignature(True)
 * def cuGraphNodeGetDependencies_v2(hNode, size_t numDependencies = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependencies (12.3+)
 * 
 */
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "cuda/cuda.pyx":34144
 *     return (CUresult(err), pydependencies, numDependencies)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependencies_v2(hNode, size_t numDependencies = 0):
 *     """ Returns a node's dependencies (12.3+)
 */
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34144, __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)) __PYX_ERR(1, 34144, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_627cuGraphNodeGetDependencies_v2, 0, __pyx_n_s_cuGraphNodeGetDependencies_v2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__811)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphNodeGetDependencies_v2, __pyx_t_2) < 0) __PYX_ERR(1, 34144, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":34217
 * 
 * @cython.embedsignature(True)
 * def cuGraphNodeGetDependentNodes(hNode, size_t numDependentNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependent nodes.
 * 
 */
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "cuda/cuda.pyx":34216
 *     return (CUresult(err), pydependencies, pyedgeData, numDependencies)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependentNodes(hNode, size_t numDependentNodes = 0):
 *     """ Returns a node's dependent nodes.
 */
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34216, __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)) __PYX_ERR(1, 34216, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_629cuGraphNodeGetDependentNodes, 0, __pyx_n_s_cuGraphNodeGetDependentNodes, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__812)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphNodeGetDependentNodes, __pyx_t_2) < 0) __PYX_ERR(1, 34216, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":34272
 * 
 * @cython.embedsignature(True)
 * def cuGraphNodeGetDependentNodes_v2(hNode, size_t numDependentNodes = 0):             # <<<<<<<<<<<<<<
 *     """ Returns a node's dependent nodes (12.3+)
 * 
 */
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(((size_t)0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "cuda/cuda.pyx":34271
 *     return (CUresult(err), pydependentNodes, numDependentNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetDependentNodes_v2(hNode, size_t numDependentNodes = 0):
 *     """ Returns a node's dependent nodes (12.3+)
 */
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34271, __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)) __PYX_ERR(1, 34271, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_631cuGraphNodeGetDependentNodes_v2, 0, __pyx_n_s_cuGraphNodeGetDependentNodes_v2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__813)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphNodeGetDependentNodes_v2, __pyx_t_2) < 0) __PYX_ERR(1, 34271, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":34343
 *     return (CUresult(err), pydependentNodes, pyedgeData, numDependentNodes)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], size_t numDependencies):
 *     """ Adds dependency edges to a graph.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_from, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 34343, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_to, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 34343, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_633cuGraphAddDependencies, 0, __pyx_n_s_cuGraphAddDependencies, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__814)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphAddDependencies, __pyx_t_3) < 0) __PYX_ERR(1, 34343, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":34412
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddDependencies_v2(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], edgeData : Optional[List[CUgraphEdgeData]], size_t numDependencies):
 *     """ Adds dependency edges to a graph (12.3+)
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_from, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 34412, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_to, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 34412, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_edgeData, __pyx_kp_s_Optional_List_CUgraphEdgeData) < 0) __PYX_ERR(1, 34412, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_635cuGraphAddDependencies_v2, 0, __pyx_n_s_cuGraphAddDependencies_v2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__817)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphAddDependencies_v2, __pyx_t_2) < 0) __PYX_ERR(1, 34412, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":34496
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], size_t numDependencies):
 *     """ Removes dependency edges from a graph.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_from, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 34496, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_to, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 34496, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_637cuGraphRemoveDependencies, 0, __pyx_n_s_cuGraphRemoveDependencies, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__819)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphRemoveDependencies, __pyx_t_3) < 0) __PYX_ERR(1, 34496, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":34569
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRemoveDependencies_v2(hGraph, from_ : Optional[List[CUgraphNode]], to : Optional[List[CUgraphNode]], edgeData : Optional[List[CUgraphEdgeData]], size_t numDependencies):
 *     """ Removes dependency edges from a graph (12.3+)
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_from, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 34569, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_to, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 34569, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_edgeData, __pyx_kp_s_Optional_List_CUgraphEdgeData) < 0) __PYX_ERR(1, 34569, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_639cuGraphRemoveDependencies_v2, 0, __pyx_n_s_cuGraphRemoveDependencies_v2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__820)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphRemoveDependencies_v2, __pyx_t_2) < 0) __PYX_ERR(1, 34569, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":34659
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDestroyNode(hNode):
 *     """ Remove a node from the graph.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_641cuGraphDestroyNode, 0, __pyx_n_s_cuGraphDestroyNode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__821)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphDestroyNode, __pyx_t_2) < 0) __PYX_ERR(1, 34659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":34695
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphInstantiate(hGraph, unsigned long long flags):
 *     """ Creates an executable graph from a graph.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_643cuGraphInstantiate, 0, __pyx_n_s_cuGraphInstantiate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__822)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphInstantiate, __pyx_t_2) < 0) __PYX_ERR(1, 34695, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":34795
 *     return (CUresult(err), phGraphExec)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphInstantiateWithParams(hGraph, instantiateParams : Optional[CUDA_GRAPH_INSTANTIATE_PARAMS]):
 *     """ Creates an executable graph from a graph.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_instantiateParams, __pyx_kp_s_Optional_CUDA_GRAPH_INSTANTIATE) < 0) __PYX_ERR(1, 34795, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_645cuGraphInstantiateWithParams, 0, __pyx_n_s_cuGraphInstantiateWithParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__823)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphInstantiateWithParams, __pyx_t_3) < 0) __PYX_ERR(1, 34795, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":34936
 *     return (CUresult(err), phGraphExec)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecGetFlags(hGraphExec):
 *     """ Query the instantiation flags of an executable graph.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_647cuGraphExecGetFlags, 0, __pyx_n_s_cuGraphExecGetFlags, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__824)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExecGetFlags, __pyx_t_3) < 0) __PYX_ERR(1, 34936, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":34974
 *     return (CUresult(err), flags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecKernelNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_KERNEL_NODE_PARAMS]):
 *     """ Sets the parameters for a kernel node in the given graphExec.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 34974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_KERNEL_NODE_PARAMS) < 0) __PYX_ERR(1, 34974, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_649cuGraphExecKernelNodeSetParams, 0, __pyx_n_s_cuGraphExecKernelNodeSetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__825)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 34974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExecKernelNodeSetParams, __pyx_t_2) < 0) __PYX_ERR(1, 34974, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":35053
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecMemcpyNodeSetParams(hGraphExec, hNode, copyParams : Optional[CUDA_MEMCPY3D], ctx):
 *     """ Sets the parameters for a memcpy node in the given graphExec.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_copyParams_2, __pyx_kp_s_Optional_CUDA_MEMCPY3D) < 0) __PYX_ERR(1, 35053, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_651cuGraphExecMemcpyNodeSetParams, 0, __pyx_n_s_cuGraphExecMemcpyNodeSetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__826)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 35053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExecMemcpyNodeSetParams, __pyx_t_3) < 0) __PYX_ERR(1, 35053, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":35127
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecMemsetNodeSetParams(hGraphExec, hNode, memsetParams : Optional[CUDA_MEMSET_NODE_PARAMS], ctx):
 *     """ Sets the parameters for a memset node in the given graphExec.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 35127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_memsetParams, __pyx_kp_s_Optional_CUDA_MEMSET_NODE_PARAMS) < 0) __PYX_ERR(1, 35127, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_653cuGraphExecMemsetNodeSetParams, 0, __pyx_n_s_cuGraphExecMemsetNodeSetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__827)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExecMemsetNodeSetParams, __pyx_t_2) < 0) __PYX_ERR(1, 35127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":35201
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecHostNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_HOST_NODE_PARAMS]):
 *     """ Sets the parameters for a host node in the given graphExec.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_HOST_NODE_PARAMS) < 0) __PYX_ERR(1, 35201, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_655cuGraphExecHostNodeSetParams, 0, __pyx_n_s_cuGraphExecHostNodeSetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__828)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 35201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExecHostNodeSetParams, __pyx_t_3) < 0) __PYX_ERR(1, 35201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":35254
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecChildGraphNodeSetParams(hGraphExec, hNode, childGraph):
 *     """ Updates node parameters in the child graph node in the given graphExec.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_657cuGraphExecChildGraphNodeSetParams, 0, __pyx_n_s_cuGraphExecChildGraphNodeSetPara, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__829)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 35254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExecChildGraphNodeSetPara, __pyx_t_3) < 0) __PYX_ERR(1, 35254, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":35323
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecEventRecordNodeSetEvent(hGraphExec, hNode, event):
 *     """ Sets the event for an event record node in the given graphExec.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_659cuGraphExecEventRecordNodeSetEvent, 0, __pyx_n_s_cuGraphExecEventRecordNodeSetEve, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__830)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 35323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExecEventRecordNodeSetEve, __pyx_t_3) < 0) __PYX_ERR(1, 35323, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":35385
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecEventWaitNodeSetEvent(hGraphExec, hNode, event):
 *     """ Sets the event for an event wait node in the given graphExec.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_661cuGraphExecEventWaitNodeSetEvent, 0, __pyx_n_s_cuGraphExecEventWaitNodeSetEvent, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__831)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 35385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExecEventWaitNodeSetEvent, __pyx_t_3) < 0) __PYX_ERR(1, 35385, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":35447
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecExternalSemaphoresSignalNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_EXT_SEM_SIGNAL_NODE_PARAMS]):
 *     """ Sets the parameters for an external semaphore signal node in the given graphExec.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 35447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_EXT_SEM_SIGNAL_NOD) < 0) __PYX_ERR(1, 35447, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_663cuGraphExecExternalSemaphoresSignalNodeSetParams, 0, __pyx_n_s_cuGraphExecExternalSemaphoresSig, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__832)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExecExternalSemaphoresSig, __pyx_t_2) < 0) __PYX_ERR(1, 35447, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":35505
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecExternalSemaphoresWaitNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUDA_EXT_SEM_WAIT_NODE_PARAMS]):
 *     """ Sets the parameters for an external semaphore wait node in the given graphExec.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 35505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUDA_EXT_SEM_WAIT_NODE) < 0) __PYX_ERR(1, 35505, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_665cuGraphExecExternalSemaphoresWaitNodeSetParams, 0, __pyx_n_s_cuGraphExecExternalSemaphoresWai, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__833)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 35505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExecExternalSemaphoresWai, __pyx_t_3) < 0) __PYX_ERR(1, 35505, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":35563
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeSetEnabled(hGraphExec, hNode, unsigned int isEnabled):
 *     """ Enables or disables the specified node in the given graphExec.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_667cuGraphNodeSetEnabled, 0, __pyx_n_s_cuGraphNodeSetEnabled, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__834)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 35563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphNodeSetEnabled, __pyx_t_3) < 0) __PYX_ERR(1, 35563, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":35630
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeGetEnabled(hGraphExec, hNode):
 *     """ Query whether a node in the given graphExec is enabled.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_669cuGraphNodeGetEnabled, 0, __pyx_n_s_cuGraphNodeGetEnabled, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__835)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 35630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphNodeGetEnabled, __pyx_t_3) < 0) __PYX_ERR(1, 35630, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":35687
 *     return (CUresult(err), isEnabled)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphUpload(hGraphExec, hStream):
 *     """ Uploads an executable graph in a stream.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_671cuGraphUpload, 0, __pyx_n_s_cuGraphUpload, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__836)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 35687, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphUpload, __pyx_t_3) < 0) __PYX_ERR(1, 35687, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":35734
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphLaunch(hGraphExec, hStream):
 *     """ Launches an executable graph in a stream.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_673cuGraphLaunch, 0, __pyx_n_s_cuGraphLaunch, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__837)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 35734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphLaunch, __pyx_t_3) < 0) __PYX_ERR(1, 35734, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":35786
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecDestroy(hGraphExec):
 *     """ Destroys an executable graph.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_675cuGraphExecDestroy, 0, __pyx_n_s_cuGraphExecDestroy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__838)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 35786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExecDestroy, __pyx_t_3) < 0) __PYX_ERR(1, 35786, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":35820
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDestroy(hGraph):
 *     """ Destroys a graph.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_677cuGraphDestroy, 0, __pyx_n_s_cuGraphDestroy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__839)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 35820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphDestroy, __pyx_t_3) < 0) __PYX_ERR(1, 35820, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":35852
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecUpdate(hGraphExec, hGraph):
 *     """ Check whether an executable graph can be updated with a graph and perform the update if possible.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_679cuGraphExecUpdate, 0, __pyx_n_s_cuGraphExecUpdate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__840)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 35852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExecUpdate, __pyx_t_3) < 0) __PYX_ERR(1, 35852, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36024
 *     return (CUresult(err), resultInfo)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeCopyAttributes(dst, src):
 *     """ Copies attributes from source node to destination node.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_681cuGraphKernelNodeCopyAttributes, 0, __pyx_n_s_cuGraphKernelNodeCopyAttributes, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__841)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphKernelNodeCopyAttributes, __pyx_t_3) < 0) __PYX_ERR(1, 36024, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36069
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeGetAttribute(hNode, attr not None : CUkernelNodeAttrID):
 *     """ Queries node attribute.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attr, __pyx_n_s_CUkernelNodeAttrID) < 0) __PYX_ERR(1, 36069, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_683cuGraphKernelNodeGetAttribute, 0, __pyx_n_s_cuGraphKernelNodeGetAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__842)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphKernelNodeGetAttribute, __pyx_t_2) < 0) __PYX_ERR(1, 36069, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":36108
 *     return (CUresult(err), value_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphKernelNodeSetAttribute(hNode, attr not None : CUkernelNodeAttrID, value : Optional[CUkernelNodeAttrValue]):
 *     """ Sets node attribute.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_attr, __pyx_n_s_CUkernelNodeAttrID) < 0) __PYX_ERR(1, 36108, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_value_2, __pyx_kp_s_Optional_CUkernelNodeAttrValue) < 0) __PYX_ERR(1, 36108, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_685cuGraphKernelNodeSetAttribute, 0, __pyx_n_s_cuGraphKernelNodeSetAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__843)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphKernelNodeSetAttribute, __pyx_t_3) < 0) __PYX_ERR(1, 36108, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36147
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphDebugDotPrint(hGraph, char* path, unsigned int flags):
 *     """ Write a DOT file describing graph structure.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_687cuGraphDebugDotPrint, 0, __pyx_n_s_cuGraphDebugDotPrint, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__844)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphDebugDotPrint, __pyx_t_3) < 0) __PYX_ERR(1, 36147, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36184
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuUserObjectCreate(ptr, destroy, unsigned int initialRefcount, unsigned int flags):
 *     """ Create a user object.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_689cuUserObjectCreate, 0, __pyx_n_s_cuUserObjectCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__845)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuUserObjectCreate, __pyx_t_3) < 0) __PYX_ERR(1, 36184, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36241
 *     return (CUresult(err), object_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuUserObjectRetain(object, unsigned int count):
 *     """ Retain a reference to a user object.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_691cuUserObjectRetain, 0, __pyx_n_s_cuUserObjectRetain, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__846)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuUserObjectRetain, __pyx_t_3) < 0) __PYX_ERR(1, 36241, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36280
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuUserObjectRelease(object, unsigned int count):
 *     """ Release a reference to a user object.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_693cuUserObjectRelease, 0, __pyx_n_s_cuUserObjectRelease, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__847)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuUserObjectRelease, __pyx_t_3) < 0) __PYX_ERR(1, 36280, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36322
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphRetainUserObject(graph, object, unsigned int count, unsigned int flags):
 *     """ Retain a reference to a user object from a graph.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_695cuGraphRetainUserObject, 0, __pyx_n_s_cuGraphRetainUserObject, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__848)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphRetainUserObject, __pyx_t_3) < 0) __PYX_ERR(1, 36322, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36376
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphReleaseUserObject(graph, object, unsigned int count):
 *     """ Release a user object reference from a graph.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_697cuGraphReleaseUserObject, 0, __pyx_n_s_cuGraphReleaseUserObject, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__849)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphReleaseUserObject, __pyx_t_3) < 0) __PYX_ERR(1, 36376, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36425
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode(hGraph, dependencies : Optional[List[CUgraphNode]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 36425, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUgraphNodeParams) < 0) __PYX_ERR(1, 36425, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_699cuGraphAddNode, 0, __pyx_n_s_cuGraphAddNode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__850)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphAddNode, __pyx_t_2) < 0) __PYX_ERR(1, 36425, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":36498
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphAddNode_v2(hGraph, dependencies : Optional[List[CUgraphNode]], dependencyData : Optional[List[CUgraphEdgeData]], size_t numDependencies, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Adds a node of arbitrary type to a graph (12.3+)
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dependencies, __pyx_kp_s_Optional_List_CUgraphNode) < 0) __PYX_ERR(1, 36498, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dependencyData, __pyx_kp_s_Optional_List_CUgraphEdgeData) < 0) __PYX_ERR(1, 36498, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUgraphNodeParams) < 0) __PYX_ERR(1, 36498, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_701cuGraphAddNode_v2, 0, __pyx_n_s_cuGraphAddNode_v2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__851)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphAddNode_v2, __pyx_t_3) < 0) __PYX_ERR(1, 36498, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36587
 *     return (CUresult(err), phGraphNode)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphNodeSetParams(hNode, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Update's a graph node's parameters.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUgraphNodeParams) < 0) __PYX_ERR(1, 36587, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_703cuGraphNodeSetParams, 0, __pyx_n_s_cuGraphNodeSetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__852)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphNodeSetParams, __pyx_t_2) < 0) __PYX_ERR(1, 36587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":36628
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphExecNodeSetParams(hGraphExec, hNode, nodeParams : Optional[CUgraphNodeParams]):
 *     """ Update's a graph node's parameters in an instantiated graph.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 36628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_nodeParams, __pyx_kp_s_Optional_CUgraphNodeParams) < 0) __PYX_ERR(1, 36628, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_705cuGraphExecNodeSetParams, 0, __pyx_n_s_cuGraphExecNodeSetParams, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__853)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphExecNodeSetParams, __pyx_t_3) < 0) __PYX_ERR(1, 36628, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36686
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphConditionalHandleCreate(hGraph, ctx, unsigned int defaultLaunchValue, unsigned int flags):
 *     """ Create a conditional handle.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_707cuGraphConditionalHandleCreate, 0, __pyx_n_s_cuGraphConditionalHandleCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__854)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphConditionalHandleCreate, __pyx_t_3) < 0) __PYX_ERR(1, 36686, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36745
 *     return (CUresult(err), pHandle_out)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxActiveBlocksPerMultiprocessor(func, int blockSize, size_t dynamicSMemSize):
 *     """ Returns occupancy of a function.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_709cuOccupancyMaxActiveBlocksPerMultiprocessor, 0, __pyx_n_s_cuOccupancyMaxActiveBlocksPerMul, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__855)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuOccupancyMaxActiveBlocksPerMul, __pyx_t_3) < 0) __PYX_ERR(1, 36745, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36785
 *     return (CUresult(err), numBlocks)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(func, int blockSize, size_t dynamicSMemSize, unsigned int flags):
 *     """ Returns occupancy of a function.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_711cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, 0, __pyx_n_s_cuOccupancyMaxActiveBlocksPerMul_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__856)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuOccupancyMaxActiveBlocksPerMul_2, __pyx_t_3) < 0) __PYX_ERR(1, 36785, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36843
 *     return (CUresult(err), numBlocks)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxPotentialBlockSize(func, blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit):
 *     """ Suggest a launch configuration with reasonable occupancy.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_713cuOccupancyMaxPotentialBlockSize, 0, __pyx_n_s_cuOccupancyMaxPotentialBlockSize, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__857)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuOccupancyMaxPotentialBlockSize, __pyx_t_3) < 0) __PYX_ERR(1, 36843, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36920
 *     return (CUresult(err), minGridSize, blockSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxPotentialBlockSizeWithFlags(func, blockSizeToDynamicSMemSize, size_t dynamicSMemSize, int blockSizeLimit, unsigned int flags):
 *     """ Suggest a launch configuration with reasonable occupancy.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_715cuOccupancyMaxPotentialBlockSizeWithFlags, 0, __pyx_n_s_cuOccupancyMaxPotentialBlockSize_2, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__858)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36920, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuOccupancyMaxPotentialBlockSize_2, __pyx_t_3) < 0) __PYX_ERR(1, 36920, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":36996
 *     return (CUresult(err), minGridSize, blockSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyAvailableDynamicSMemPerBlock(func, int numBlocks, int blockSize):
 *     """ Returns dynamic shared memory available per block when launching `numBlocks` blocks on SM.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_717cuOccupancyAvailableDynamicSMemPerBlock, 0, __pyx_n_s_cuOccupancyAvailableDynamicSMemP, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__859)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 36996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuOccupancyAvailableDynamicSMemP, __pyx_t_3) < 0) __PYX_ERR(1, 36996, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":37032
 *     return (CUresult(err), dynamicSmemSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxPotentialClusterSize(func, config : Optional[CUlaunchConfig]):
 *     """ Given the kernel function (`func`) and launch configuration (`config`), return the maximum cluster size in `*clusterSize`.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 37032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_config, __pyx_kp_s_Optional_CUlaunchConfig) < 0) __PYX_ERR(1, 37032, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_719cuOccupancyMaxPotentialClusterSize, 0, __pyx_n_s_cuOccupancyMaxPotentialClusterSi, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__860)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37032, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuOccupancyMaxPotentialClusterSi, __pyx_t_2) < 0) __PYX_ERR(1, 37032, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":37080
 *     return (CUresult(err), clusterSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuOccupancyMaxActiveClusters(func, config : Optional[CUlaunchConfig]):
 *     """ Given the kernel function (`func`) and launch configuration (`config`), return the maximum number of clusters that could co-exist on the target device in `*numClusters`.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_config, __pyx_kp_s_Optional_CUlaunchConfig) < 0) __PYX_ERR(1, 37080, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_721cuOccupancyMaxActiveClusters, 0, __pyx_n_s_cuOccupancyMaxActiveClusters, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__861)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 37080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuOccupancyMaxActiveClusters, __pyx_t_3) < 0) __PYX_ERR(1, 37080, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":37128
 *     return (CUresult(err), numClusters)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetArray(hTexRef, hArray, unsigned int Flags):
 *     """ Binds an array as a texture reference.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_723cuTexRefSetArray, 0, __pyx_n_s_cuTexRefSetArray, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__862)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 37128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefSetArray, __pyx_t_3) < 0) __PYX_ERR(1, 37128, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":37179
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmappedArray(hTexRef, hMipmappedArray, unsigned int Flags):
 *     """ Binds a mipmapped array to a texture reference.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_725cuTexRefSetMipmappedArray, 0, __pyx_n_s_cuTexRefSetMipmappedArray, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__863)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 37179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefSetMipmappedArray, __pyx_t_3) < 0) __PYX_ERR(1, 37179, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":37230
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetAddress(hTexRef, dptr, size_t numbytes):
 *     """ Binds an address as a texture reference.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_727cuTexRefSetAddress, 0, __pyx_n_s_cuTexRefSetAddress, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__864)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 37230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefSetAddress, __pyx_t_3) < 0) __PYX_ERR(1, 37230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":37301
 *     return (CUresult(err), ByteOffset)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetAddress2D(hTexRef, desc : Optional[CUDA_ARRAY_DESCRIPTOR], dptr, size_t Pitch):
 *     """ Binds an address as a 2D texture reference.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 37301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_desc, __pyx_kp_s_Optional_CUDA_ARRAY_DESCRIPTOR) < 0) __PYX_ERR(1, 37301, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_729cuTexRefSetAddress2D, 0, __pyx_n_s_cuTexRefSetAddress2D, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__865)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefSetAddress2D, __pyx_t_2) < 0) __PYX_ERR(1, 37301, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":37380
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetFormat(hTexRef, fmt not None : CUarray_format, int NumPackedComponents):
 *     """ Sets the format for a texture reference.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fmt, __pyx_n_s_CUarray_format) < 0) __PYX_ERR(1, 37380, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_731cuTexRefSetFormat, 0, __pyx_n_s_cuTexRefSetFormat, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__866)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 37380, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefSetFormat, __pyx_t_3) < 0) __PYX_ERR(1, 37380, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":37423
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetAddressMode(hTexRef, int dim, am not None : CUaddress_mode):
 *     """ Sets the addressing mode for a texture reference.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 37423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_am, __pyx_n_s_CUaddress_mode) < 0) __PYX_ERR(1, 37423, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_733cuTexRefSetAddressMode, 0, __pyx_n_s_cuTexRefSetAddressMode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__867)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefSetAddressMode, __pyx_t_2) < 0) __PYX_ERR(1, 37423, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":37473
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetFilterMode(hTexRef, fm not None : CUfilter_mode):
 *     """ Sets the filtering mode for a texture reference.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fm, __pyx_n_s_CUfilter_mode) < 0) __PYX_ERR(1, 37473, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_735cuTexRefSetFilterMode, 0, __pyx_n_s_cuTexRefSetFilterMode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__868)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 37473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefSetFilterMode, __pyx_t_3) < 0) __PYX_ERR(1, 37473, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":37517
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmapFilterMode(hTexRef, fm not None : CUfilter_mode):
 *     """ Sets the mipmap filtering mode for a texture reference.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 37517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_fm, __pyx_n_s_CUfilter_mode) < 0) __PYX_ERR(1, 37517, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_737cuTexRefSetMipmapFilterMode, 0, __pyx_n_s_cuTexRefSetMipmapFilterMode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__869)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefSetMipmapFilterMode, __pyx_t_2) < 0) __PYX_ERR(1, 37517, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":37561
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmapLevelBias(hTexRef, float bias):
 *     """ Sets the mipmap level bias for a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_739cuTexRefSetMipmapLevelBias, 0, __pyx_n_s_cuTexRefSetMipmapLevelBias, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__870)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefSetMipmapLevelBias, __pyx_t_2) < 0) __PYX_ERR(1, 37561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":37602
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMipmapLevelClamp(hTexRef, float minMipmapLevelClamp, float maxMipmapLevelClamp):
 *     """ Sets the mipmap min/max mipmap level clamps for a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_741cuTexRefSetMipmapLevelClamp, 0, __pyx_n_s_cuTexRefSetMipmapLevelClamp, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__871)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefSetMipmapLevelClamp, __pyx_t_2) < 0) __PYX_ERR(1, 37602, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":37645
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetMaxAnisotropy(hTexRef, unsigned int maxAniso):
 *     """ Sets the maximum anisotropy for a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_743cuTexRefSetMaxAnisotropy, 0, __pyx_n_s_cuTexRefSetMaxAnisotropy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__872)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefSetMaxAnisotropy, __pyx_t_2) < 0) __PYX_ERR(1, 37645, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":37685
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetBorderColor(hTexRef, float pBorderColor):
 *     """ Sets the border color for a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_745cuTexRefSetBorderColor, 0, __pyx_n_s_cuTexRefSetBorderColor, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__873)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefSetBorderColor, __pyx_t_2) < 0) __PYX_ERR(1, 37685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":37730
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefSetFlags(hTexRef, unsigned int Flags):
 *     """ Sets the flags for a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_747cuTexRefSetFlags, 0, __pyx_n_s_cuTexRefSetFlags, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__874)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37730, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefSetFlags, __pyx_t_2) < 0) __PYX_ERR(1, 37730, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":37785
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetAddress(hTexRef):
 *     """ Gets the address associated with a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_749cuTexRefGetAddress, 0, __pyx_n_s_cuTexRefGetAddress, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__875)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefGetAddress, __pyx_t_2) < 0) __PYX_ERR(1, 37785, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":37824
 *     return (CUresult(err), pdptr)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetArray(hTexRef):
 *     """ Gets the array bound to a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_751cuTexRefGetArray, 0, __pyx_n_s_cuTexRefGetArray, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__876)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefGetArray, __pyx_t_2) < 0) __PYX_ERR(1, 37824, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":37863
 *     return (CUresult(err), phArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmappedArray(hTexRef):
 *     """ Gets the mipmapped array bound to a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_753cuTexRefGetMipmappedArray, 0, __pyx_n_s_cuTexRefGetMipmappedArray, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__877)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefGetMipmappedArray, __pyx_t_2) < 0) __PYX_ERR(1, 37863, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":37903
 *     return (CUresult(err), phMipmappedArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetAddressMode(hTexRef, int dim):
 *     """ Gets the addressing mode used by a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_755cuTexRefGetAddressMode, 0, __pyx_n_s_cuTexRefGetAddressMode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__878)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefGetAddressMode, __pyx_t_2) < 0) __PYX_ERR(1, 37903, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":37944
 *     return (CUresult(err), CUaddress_mode(pam))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetFilterMode(hTexRef):
 *     """ Gets the filter-mode used by a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_757cuTexRefGetFilterMode, 0, __pyx_n_s_cuTexRefGetFilterMode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__879)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefGetFilterMode, __pyx_t_2) < 0) __PYX_ERR(1, 37944, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":37982
 *     return (CUresult(err), CUfilter_mode(pfm))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetFormat(hTexRef):
 *     """ Gets the format used by a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_759cuTexRefGetFormat, 0, __pyx_n_s_cuTexRefGetFormat, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__880)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 37982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefGetFormat, __pyx_t_2) < 0) __PYX_ERR(1, 37982, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":38024
 *     return (CUresult(err), CUarray_format(pFormat), pNumChannels)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmapFilterMode(hTexRef):
 *     """ Gets the mipmap filtering mode for a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_761cuTexRefGetMipmapFilterMode, 0, __pyx_n_s_cuTexRefGetMipmapFilterMode, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__881)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefGetMipmapFilterMode, __pyx_t_2) < 0) __PYX_ERR(1, 38024, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":38062
 *     return (CUresult(err), CUfilter_mode(pfm))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmapLevelBias(hTexRef):
 *     """ Gets the mipmap level bias for a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_763cuTexRefGetMipmapLevelBias, 0, __pyx_n_s_cuTexRefGetMipmapLevelBias, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__882)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38062, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefGetMipmapLevelBias, __pyx_t_2) < 0) __PYX_ERR(1, 38062, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":38101
 *     return (CUresult(err), pbias)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMipmapLevelClamp(hTexRef):
 *     """ Gets the min/max mipmap level clamps for a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_765cuTexRefGetMipmapLevelClamp, 0, __pyx_n_s_cuTexRefGetMipmapLevelClamp, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__883)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefGetMipmapLevelClamp, __pyx_t_2) < 0) __PYX_ERR(1, 38101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":38143
 *     return (CUresult(err), pminMipmapLevelClamp, pmaxMipmapLevelClamp)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetMaxAnisotropy(hTexRef):
 *     """ Gets the maximum anisotropy for a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_767cuTexRefGetMaxAnisotropy, 0, __pyx_n_s_cuTexRefGetMaxAnisotropy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__884)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefGetMaxAnisotropy, __pyx_t_2) < 0) __PYX_ERR(1, 38143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":38181
 *     return (CUresult(err), pmaxAniso)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetBorderColor(hTexRef):
 *     """ Gets the border color used by a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_769cuTexRefGetBorderColor, 0, __pyx_n_s_cuTexRefGetBorderColor, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__885)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefGetBorderColor, __pyx_t_2) < 0) __PYX_ERR(1, 38181, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":38222
 *     return (CUresult(err), pBorderColor)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefGetFlags(hTexRef):
 *     """ Gets the flags used by a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_771cuTexRefGetFlags, 0, __pyx_n_s_cuTexRefGetFlags, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__886)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefGetFlags, __pyx_t_2) < 0) __PYX_ERR(1, 38222, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":38259
 *     return (CUresult(err), pFlags)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefCreate():
 *     """ Creates a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_773cuTexRefCreate, 0, __pyx_n_s_cuTexRefCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__887)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefCreate, __pyx_t_2) < 0) __PYX_ERR(1, 38259, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":38287
 *     return (CUresult(err), pTexRef)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexRefDestroy(hTexRef):
 *     """ Destroys a texture reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_775cuTexRefDestroy, 0, __pyx_n_s_cuTexRefDestroy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__888)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexRefDestroy, __pyx_t_2) < 0) __PYX_ERR(1, 38287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":38321
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfRefSetArray(hSurfRef, hArray, unsigned int Flags):
 *     """ Sets the CUDA array for a surface reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_777cuSurfRefSetArray, 0, __pyx_n_s_cuSurfRefSetArray, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__889)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuSurfRefSetArray, __pyx_t_2) < 0) __PYX_ERR(1, 38321, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":38373
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfRefGetArray(hSurfRef):
 *     """ Passes back the CUDA array bound to a surface reference.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_779cuSurfRefGetArray, 0, __pyx_n_s_cuSurfRefGetArray, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__890)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuSurfRefGetArray, __pyx_t_2) < 0) __PYX_ERR(1, 38373, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":38412
 *     return (CUresult(err), phArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectCreate(pResDesc : Optional[CUDA_RESOURCE_DESC], pTexDesc : Optional[CUDA_TEXTURE_DESC], pResViewDesc : Optional[CUDA_RESOURCE_VIEW_DESC]):
 *     """ Creates a texture object.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_pResDesc, __pyx_kp_s_Optional_CUDA_RESOURCE_DESC) < 0) __PYX_ERR(1, 38412, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_pTexDesc, __pyx_kp_s_Optional_CUDA_TEXTURE_DESC) < 0) __PYX_ERR(1, 38412, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_pResViewDesc, __pyx_kp_s_Optional_CUDA_RESOURCE_VIEW_DESC) < 0) __PYX_ERR(1, 38412, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_781cuTexObjectCreate, 0, __pyx_n_s_cuTexObjectCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__891)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 38412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexObjectCreate, __pyx_t_3) < 0) __PYX_ERR(1, 38412, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":38645
 *     return (CUresult(err), pTexObject)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectDestroy(texObject):
 *     """ Destroys a texture object.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_783cuTexObjectDestroy, 0, __pyx_n_s_cuTexObjectDestroy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__892)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 38645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexObjectDestroy, __pyx_t_3) < 0) __PYX_ERR(1, 38645, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":38677
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetResourceDesc(texObject):
 *     """ Returns a texture object's resource descriptor.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_785cuTexObjectGetResourceDesc, 0, __pyx_n_s_cuTexObjectGetResourceDesc, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__893)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 38677, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexObjectGetResourceDesc, __pyx_t_3) < 0) __PYX_ERR(1, 38677, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":38713
 *     return (CUresult(err), pResDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetTextureDesc(texObject):
 *     """ Returns a texture object's texture descriptor.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_787cuTexObjectGetTextureDesc, 0, __pyx_n_s_cuTexObjectGetTextureDesc, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__894)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 38713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexObjectGetTextureDesc, __pyx_t_3) < 0) __PYX_ERR(1, 38713, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":38749
 *     return (CUresult(err), pTexDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTexObjectGetResourceViewDesc(texObject):
 *     """ Returns a texture object's resource view descriptor.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_789cuTexObjectGetResourceViewDesc, 0, __pyx_n_s_cuTexObjectGetResourceViewDesc, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__895)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 38749, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTexObjectGetResourceViewDesc, __pyx_t_3) < 0) __PYX_ERR(1, 38749, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":38786
 *     return (CUresult(err), pResViewDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectCreate(pResDesc : Optional[CUDA_RESOURCE_DESC]):
 *     """ Creates a surface object.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 38786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pResDesc, __pyx_kp_s_Optional_CUDA_RESOURCE_DESC) < 0) __PYX_ERR(1, 38786, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_791cuSurfObjectCreate, 0, __pyx_n_s_cuSurfObjectCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__896)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuSurfObjectCreate, __pyx_t_2) < 0) __PYX_ERR(1, 38786, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":38823
 *     return (CUresult(err), pSurfObject)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectDestroy(surfObject):
 *     """ Destroys a surface object.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_793cuSurfObjectDestroy, 0, __pyx_n_s_cuSurfObjectDestroy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__897)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuSurfObjectDestroy, __pyx_t_2) < 0) __PYX_ERR(1, 38823, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":38855
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuSurfObjectGetResourceDesc(surfObject):
 *     """ Returns a surface object's resource descriptor.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_795cuSurfObjectGetResourceDesc, 0, __pyx_n_s_cuSurfObjectGetResourceDesc, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__898)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuSurfObjectGetResourceDesc, __pyx_t_2) < 0) __PYX_ERR(1, 38855, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":38891
 *     return (CUresult(err), pResDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeTiled(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[List[cuuint64_t]], globalStrides : Optional[List[cuuint64_t]], boxDim : Optional[List[cuuint32_t]], elementStrides : Optional[List[cuuint32_t]], interleave not None : CUtensorMapInterleave, swizzle not None : CUtensorMapSwizzle, l2Promotion not None : CUtensorMapL2promotion, oobFill not None : CUtensorMapFloatOOBfill):
 *     """ Create a tensor map descriptor object representing tiled memory region.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(9); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 38891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_tensorDataType, __pyx_n_s_CUtensorMapDataType) < 0) __PYX_ERR(1, 38891, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_globalDim, __pyx_kp_s_Optional_List_cuuint64_t) < 0) __PYX_ERR(1, 38891, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_globalStrides, __pyx_kp_s_Optional_List_cuuint64_t) < 0) __PYX_ERR(1, 38891, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_boxDim, __pyx_kp_s_Optional_List_cuuint32_t) < 0) __PYX_ERR(1, 38891, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_elementStrides, __pyx_kp_s_Optional_List_cuuint32_t) < 0) __PYX_ERR(1, 38891, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_interleave, __pyx_n_s_CUtensorMapInterleave) < 0) __PYX_ERR(1, 38891, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_swizzle, __pyx_n_s_CUtensorMapSwizzle) < 0) __PYX_ERR(1, 38891, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_l2Promotion, __pyx_n_s_CUtensorMapL2promotion) < 0) __PYX_ERR(1, 38891, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_oobFill, __pyx_n_s_CUtensorMapFloatOOBfill) < 0) __PYX_ERR(1, 38891, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_797cuTensorMapEncodeTiled, 0, __pyx_n_s_cuTensorMapEncodeTiled, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__899)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 38891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTensorMapEncodeTiled, __pyx_t_3) < 0) __PYX_ERR(1, 38891, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":39121
 *     return (CUresult(err), tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapEncodeIm2col(tensorDataType not None : CUtensorMapDataType, tensorRank, globalAddress, globalDim : Optional[List[cuuint64_t]], globalStrides : Optional[List[cuuint64_t]], pixelBoxLowerCorner : Optional[List[int]], pixelBoxUpperCorner : Optional[List[int]], channelsPerPixel, pixelsPerColumn, elementStrides : Optional[List[cuuint32_t]], interleave not None : CUtensorMapInterleave, swizzle not None : CUtensorMapSwizzle, l2Promotion not None : CUtensorMapL2promotion, oobFill not None : CUtensorMapFloatOOBfill):
 *     """ Create a tensor map descriptor object representing im2col memory region.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(10); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_tensorDataType, __pyx_n_s_CUtensorMapDataType) < 0) __PYX_ERR(1, 39121, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_globalDim, __pyx_kp_s_Optional_List_cuuint64_t) < 0) __PYX_ERR(1, 39121, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_globalStrides, __pyx_kp_s_Optional_List_cuuint64_t) < 0) __PYX_ERR(1, 39121, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pixelBoxLowerCorner, __pyx_kp_s_Optional_List_int) < 0) __PYX_ERR(1, 39121, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pixelBoxUpperCorner, __pyx_kp_s_Optional_List_int) < 0) __PYX_ERR(1, 39121, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_elementStrides, __pyx_kp_s_Optional_List_cuuint32_t) < 0) __PYX_ERR(1, 39121, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_interleave, __pyx_n_s_CUtensorMapInterleave) < 0) __PYX_ERR(1, 39121, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_swizzle, __pyx_n_s_CUtensorMapSwizzle) < 0) __PYX_ERR(1, 39121, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_l2Promotion, __pyx_n_s_CUtensorMapL2promotion) < 0) __PYX_ERR(1, 39121, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_oobFill, __pyx_n_s_CUtensorMapFloatOOBfill) < 0) __PYX_ERR(1, 39121, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_799cuTensorMapEncodeIm2col, 0, __pyx_n_s_cuTensorMapEncodeIm2col, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__904)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTensorMapEncodeIm2col, __pyx_t_2) < 0) __PYX_ERR(1, 39121, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":39394
 *     return (CUresult(err), tensorMap)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuTensorMapReplaceAddress(tensorMap : Optional[CUtensorMap], globalAddress):
 *     """ Modify an existing tensor map descriptor with an updated global address.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_tensorMap, __pyx_kp_s_Optional_CUtensorMap) < 0) __PYX_ERR(1, 39394, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_801cuTensorMapReplaceAddress, 0, __pyx_n_s_cuTensorMapReplaceAddress, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__907)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuTensorMapReplaceAddress, __pyx_t_3) < 0) __PYX_ERR(1, 39394, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":39428
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceCanAccessPeer(dev, peerDev):
 *     """ Queries if a device may directly access a peer device's memory.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_803cuDeviceCanAccessPeer, 0, __pyx_n_s_cuDeviceCanAccessPeer, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__908)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceCanAccessPeer, __pyx_t_3) < 0) __PYX_ERR(1, 39428, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":39480
 *     return (CUresult(err), canAccessPeer)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxEnablePeerAccess(peerContext, unsigned int Flags):
 *     """ Enables direct access to memory allocations in a peer context.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_805cuCtxEnablePeerAccess, 0, __pyx_n_s_cuCtxEnablePeerAccess, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__909)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxEnablePeerAccess, __pyx_t_3) < 0) __PYX_ERR(1, 39480, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":39547
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxDisablePeerAccess(peerContext):
 *     """ Disables direct access to memory allocations in a peer context and unregisters any registered allocations.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_807cuCtxDisablePeerAccess, 0, __pyx_n_s_cuCtxDisablePeerAccess, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__910)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39547, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxDisablePeerAccess, __pyx_t_3) < 0) __PYX_ERR(1, 39547, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":39584
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetP2PAttribute(attrib not None : CUdevice_P2PAttribute, srcDevice, dstDevice):
 *     """ Queries attributes of the link between two devices.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 39584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attrib, __pyx_n_s_CUdevice_P2PAttribute) < 0) __PYX_ERR(1, 39584, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_809cuDeviceGetP2PAttribute, 0, __pyx_n_s_cuDeviceGetP2PAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__911)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGetP2PAttribute, __pyx_t_2) < 0) __PYX_ERR(1, 39584, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":39654
 *     return (CUresult(err), value)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsUnregisterResource(resource):
 *     """ Unregisters a graphics resource for access by CUDA.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_811cuGraphicsUnregisterResource, 0, __pyx_n_s_cuGraphicsUnregisterResource, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__912)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39654, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphicsUnregisterResource, __pyx_t_2) < 0) __PYX_ERR(1, 39654, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":39690
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsSubResourceGetMappedArray(resource, unsigned int arrayIndex, unsigned int mipLevel):
 *     """ Get an array through which to access a subresource of a mapped graphics resource.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_813cuGraphicsSubResourceGetMappedArray, 0, __pyx_n_s_cuGraphicsSubResourceGetMappedAr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__913)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphicsSubResourceGetMappedAr, __pyx_t_2) < 0) __PYX_ERR(1, 39690, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":39743
 *     return (CUresult(err), pArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceGetMappedMipmappedArray(resource):
 *     """ Get a mipmapped array through which to access a mapped graphics resource.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_815cuGraphicsResourceGetMappedMipmappedArray, 0, __pyx_n_s_cuGraphicsResourceGetMappedMipma, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__914)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphicsResourceGetMappedMipma, __pyx_t_2) < 0) __PYX_ERR(1, 39743, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":39785
 *     return (CUresult(err), pMipmappedArray)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceGetMappedPointer(resource):
 *     """ Get a device pointer through which to access a mapped graphics resource.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_817cuGraphicsResourceGetMappedPointer, 0, __pyx_n_s_cuGraphicsResourceGetMappedPoint, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__915)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphicsResourceGetMappedPoint, __pyx_t_2) < 0) __PYX_ERR(1, 39785, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":39827
 *     return (CUresult(err), pDevPtr, pSize)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceSetMapFlags(resource, unsigned int flags):
 *     """ Set usage flags for mapping a graphics resource.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_819cuGraphicsResourceSetMapFlags, 0, __pyx_n_s_cuGraphicsResourceSetMapFlags, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__916)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphicsResourceSetMapFlags, __pyx_t_2) < 0) __PYX_ERR(1, 39827, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":39883
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsMapResources(unsigned int count, resources, hStream):
 *     """ Map graphics resources for access by CUDA.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_821cuGraphicsMapResources, 0, __pyx_n_s_cuGraphicsMapResources, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__917)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphicsMapResources, __pyx_t_2) < 0) __PYX_ERR(1, 39883, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":39943
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsUnmapResources(unsigned int count, resources, hStream):
 *     """ Unmap graphics resources.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_823cuGraphicsUnmapResources, 0, __pyx_n_s_cuGraphicsUnmapResources, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__918)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 39943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphicsUnmapResources, __pyx_t_2) < 0) __PYX_ERR(1, 39943, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":40001
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetProcAddress(char* symbol, int cudaVersion, flags):
 *     """ Returns the requested driver API function pointer.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_825cuGetProcAddress, 0, __pyx_n_s_cuGetProcAddress, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__919)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGetProcAddress, __pyx_t_2) < 0) __PYX_ERR(1, 40001, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":40100
 *     return (CUresult(err), pfn, CUdriverProcAddressQueryResult(symbolStatus))
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpGetAttribute(attrib not None : CUcoredumpSettings):
 *     """ Allows caller to fetch a coredump attribute value for the current context.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_attrib, __pyx_n_s_CUcoredumpSettings) < 0) __PYX_ERR(1, 40100, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_827cuCoredumpGetAttribute, 0, __pyx_n_s_cuCoredumpGetAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__920)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCoredumpGetAttribute, __pyx_t_3) < 0) __PYX_ERR(1, 40100, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":40178
 *     return (CUresult(err), cvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpGetAttributeGlobal(attrib not None : CUcoredumpSettings):
 *     """ Allows caller to fetch a coredump attribute value for the entire application.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attrib, __pyx_n_s_CUcoredumpSettings) < 0) __PYX_ERR(1, 40178, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_829cuCoredumpGetAttributeGlobal, 0, __pyx_n_s_cuCoredumpGetAttributeGlobal, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__921)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCoredumpGetAttributeGlobal, __pyx_t_2) < 0) __PYX_ERR(1, 40178, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":40251
 *     return (CUresult(err), cvalue.pyObj())
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpSetAttribute(attrib not None : CUcoredumpSettings, value):
 *     """ Allows caller to set a coredump attribute value for the current context.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_attrib, __pyx_n_s_CUcoredumpSettings) < 0) __PYX_ERR(1, 40251, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_831cuCoredumpSetAttribute, 0, __pyx_n_s_cuCoredumpSetAttribute, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__922)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCoredumpSetAttribute, __pyx_t_3) < 0) __PYX_ERR(1, 40251, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":40331
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCoredumpSetAttributeGlobal(attrib not None : CUcoredumpSettings, value):
 *     """ Allows caller to set a coredump attribute value globally.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_attrib, __pyx_n_s_CUcoredumpSettings) < 0) __PYX_ERR(1, 40331, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_833cuCoredumpSetAttributeGlobal, 0, __pyx_n_s_cuCoredumpSetAttributeGlobal, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__923)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCoredumpSetAttributeGlobal, __pyx_t_2) < 0) __PYX_ERR(1, 40331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":40416
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGetExportTable(pExportTableId : Optional[CUuuid]):
 *     """
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_pExportTableId, __pyx_kp_s_Optional_CUuuid) < 0) __PYX_ERR(1, 40416, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_835cuGetExportTable, 0, __pyx_n_s_cuGetExportTable, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__924)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGetExportTable, __pyx_t_3) < 0) __PYX_ERR(1, 40416, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":40437
 *     return (CUresult(err), ppExportTable)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxCreate(desc, dev, unsigned int flags):
 *     """ Creates a green context with a specified set of resources.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_837cuGreenCtxCreate, 0, __pyx_n_s_cuGreenCtxCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__925)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGreenCtxCreate, __pyx_t_3) < 0) __PYX_ERR(1, 40437, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":40509
 *     return (CUresult(err), phCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxDestroy(hCtx):
 *     """ Destroys a green context.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_839cuGreenCtxDestroy, 0, __pyx_n_s_cuGreenCtxDestroy, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__926)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGreenCtxDestroy, __pyx_t_3) < 0) __PYX_ERR(1, 40509, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":40544
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxFromGreenCtx(hCtx):
 *     """ Converts a green context into the primary context.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_841cuCtxFromGreenCtx, 0, __pyx_n_s_cuCtxFromGreenCtx, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__927)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40544, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxFromGreenCtx, __pyx_t_3) < 0) __PYX_ERR(1, 40544, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":40588
 *     return (CUresult(err), pContext)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDeviceGetDevResource(device, typename not None : CUdevResourceType):
 *     """ Get device resources.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_typename, __pyx_n_s_CUdevResourceType) < 0) __PYX_ERR(1, 40588, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_843cuDeviceGetDevResource, 0, __pyx_n_s_cuDeviceGetDevResource, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__928)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDeviceGetDevResource, __pyx_t_2) < 0) __PYX_ERR(1, 40588, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":40630
 *     return (CUresult(err), resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuCtxGetDevResource(hCtx, typename not None : CUdevResourceType):
 *     """ Get context resources.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_typename, __pyx_n_s_CUdevResourceType) < 0) __PYX_ERR(1, 40630, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_845cuCtxGetDevResource, 0, __pyx_n_s_cuCtxGetDevResource, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__929)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuCtxGetDevResource, __pyx_t_3) < 0) __PYX_ERR(1, 40630, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":40669
 *     return (CUresult(err), resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxGetDevResource(hCtx, typename not None : CUdevResourceType):
 *     """ Get green context resources.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_typename, __pyx_n_s_CUdevResourceType) < 0) __PYX_ERR(1, 40669, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_847cuGreenCtxGetDevResource, 0, __pyx_n_s_cuGreenCtxGetDevResource, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__930)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40669, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGreenCtxGetDevResource, __pyx_t_2) < 0) __PYX_ERR(1, 40669, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":40708
 *     return (CUresult(err), resource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevSmResourceSplitByCount(unsigned int nbGroups, input_ : Optional[CUdevResource], unsigned int useFlags, unsigned int minCount):
 *     """ Splits `CU_DEV_RESOURCE_TYPE_SM` resources.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_input, __pyx_kp_s_Optional_CUdevResource) < 0) __PYX_ERR(1, 40708, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_849cuDevSmResourceSplitByCount, 0, __pyx_n_s_cuDevSmResourceSplitByCount, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__931)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDevSmResourceSplitByCount, __pyx_t_3) < 0) __PYX_ERR(1, 40708, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":40804
 *     return (CUresult(err), pyresult, cnbGroups, remaining)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuDevResourceGenerateDesc(resources : Optional[List[CUdevResource]], unsigned int nbResources):
 *     """ Generate a resource descriptor.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 40804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_resources, __pyx_kp_s_Optional_List_CUdevResource) < 0) __PYX_ERR(1, 40804, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_851cuDevResourceGenerateDesc, 0, __pyx_n_s_cuDevResourceGenerateDesc, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__932)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuDevResourceGenerateDesc, __pyx_t_2) < 0) __PYX_ERR(1, 40804, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":40852
 *     return (CUresult(err), phDesc)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxRecordEvent(hCtx, hEvent):
 *     """ Records an event.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_853cuGreenCtxRecordEvent, 0, __pyx_n_s_cuGreenCtxRecordEvent, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__934)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGreenCtxRecordEvent, __pyx_t_2) < 0) __PYX_ERR(1, 40852, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":40904
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGreenCtxWaitEvent(hCtx, hEvent):
 *     """ Make a green context wait on an event.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_855cuGreenCtxWaitEvent, 0, __pyx_n_s_cuGreenCtxWaitEvent, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__935)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGreenCtxWaitEvent, __pyx_t_2) < 0) __PYX_ERR(1, 40904, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":40955
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuStreamGetGreenCtx(hStream):
 *     """ Query the green context associated with a stream.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_857cuStreamGetGreenCtx, 0, __pyx_n_s_cuStreamGetGreenCtx, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__936)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 40955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuStreamGetGreenCtx, __pyx_t_2) < 0) __PYX_ERR(1, 40955, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41006
 *     return (CUresult(err), phCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuProfilerStart():
 *     """ Enable profiling.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_859cuProfilerStart, 0, __pyx_n_s_cuProfilerStart, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__937)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41006, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuProfilerStart, __pyx_t_2) < 0) __PYX_ERR(1, 41006, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41030
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuProfilerStop():
 *     """ Disable profiling.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_861cuProfilerStop, 0, __pyx_n_s_cuProfilerStop, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__938)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41030, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuProfilerStop, __pyx_t_2) < 0) __PYX_ERR(1, 41030, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41054
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsEGLRegisterImage(image, unsigned int flags):
 *     """ Registers an EGL image.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_863cuGraphicsEGLRegisterImage, 0, __pyx_n_s_cuGraphicsEGLRegisterImage, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__939)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphicsEGLRegisterImage, __pyx_t_2) < 0) __PYX_ERR(1, 41054, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41125
 *     return (CUresult(err), pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerConnect(stream):
 *     """ Connect CUDA to EGLStream as a consumer.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_865cuEGLStreamConsumerConnect, 0, __pyx_n_s_cuEGLStreamConsumerConnect, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__940)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuEGLStreamConsumerConnect, __pyx_t_2) < 0) __PYX_ERR(1, 41125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41163
 *     return (CUresult(err), conn)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerConnectWithFlags(stream, unsigned int flags):
 *     """ Connect CUDA to EGLStream as a consumer with given flags.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_867cuEGLStreamConsumerConnectWithFlags, 0, __pyx_n_s_cuEGLStreamConsumerConnectWithFl, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__941)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuEGLStreamConsumerConnectWithFl, __pyx_t_2) < 0) __PYX_ERR(1, 41163, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41205
 *     return (CUresult(err), conn)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerDisconnect(conn):
 *     """ Disconnect CUDA as a consumer to EGLStream .
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_869cuEGLStreamConsumerDisconnect, 0, __pyx_n_s_cuEGLStreamConsumerDisconnect, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__942)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuEGLStreamConsumerDisconnect, __pyx_t_2) < 0) __PYX_ERR(1, 41205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41238
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerAcquireFrame(conn, pCudaResource, pStream, unsigned int timeout):
 *     """ Acquire an image frame from the EGLStream with CUDA as a consumer.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_871cuEGLStreamConsumerAcquireFrame, 0, __pyx_n_s_cuEGLStreamConsumerAcquireFrame, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__943)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuEGLStreamConsumerAcquireFrame, __pyx_t_2) < 0) __PYX_ERR(1, 41238, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41306
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamConsumerReleaseFrame(conn, pCudaResource, pStream):
 *     """ Releases the last frame acquired from the EGLStream.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_873cuEGLStreamConsumerReleaseFrame, 0, __pyx_n_s_cuEGLStreamConsumerReleaseFrame, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__944)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuEGLStreamConsumerReleaseFrame, __pyx_t_2) < 0) __PYX_ERR(1, 41306, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41366
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerConnect(stream, width, height):
 *     """ Connect CUDA to EGLStream as a producer.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_875cuEGLStreamProducerConnect, 0, __pyx_n_s_cuEGLStreamProducerConnect, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__945)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuEGLStreamProducerConnect, __pyx_t_2) < 0) __PYX_ERR(1, 41366, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41426
 *     return (CUresult(err), conn)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerDisconnect(conn):
 *     """ Disconnect CUDA as a producer to EGLStream .
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_877cuEGLStreamProducerDisconnect, 0, __pyx_n_s_cuEGLStreamProducerDisconnect, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__946)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuEGLStreamProducerDisconnect, __pyx_t_2) < 0) __PYX_ERR(1, 41426, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41459
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerPresentFrame(conn, eglframe not None : CUeglFrame, pStream):
 *     """ Present a CUDA eglFrame to the EGLStream with CUDA as a producer.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_eglframe, __pyx_n_s_CUeglFrame) < 0) __PYX_ERR(1, 41459, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_879cuEGLStreamProducerPresentFrame, 0, __pyx_n_s_cuEGLStreamProducerPresentFrame, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__947)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuEGLStreamProducerPresentFrame, __pyx_t_3) < 0) __PYX_ERR(1, 41459, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":41525
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEGLStreamProducerReturnFrame(conn, eglframe : Optional[CUeglFrame], pStream):
 *     """ Return the CUDA eglFrame to the EGLStream released by the consumer.
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_eglframe, __pyx_kp_s_Optional_CUeglFrame) < 0) __PYX_ERR(1, 41525, __pyx_L1_error)
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_881cuEGLStreamProducerReturnFrame, 0, __pyx_n_s_cuEGLStreamProducerReturnFrame, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__948)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuEGLStreamProducerReturnFrame, __pyx_t_2) < 0) __PYX_ERR(1, 41525, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41576
 *     return (CUresult(err),)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsResourceGetMappedEglFrame(resource, unsigned int index, unsigned int mipLevel):
 *     """ Get an eglFrame through which to access a registered EGL graphics resource.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_883cuGraphicsResourceGetMappedEglFrame, 0, __pyx_n_s_cuGraphicsResourceGetMappedEglFr, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__949)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphicsResourceGetMappedEglFr, __pyx_t_2) < 0) __PYX_ERR(1, 41576, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41620
 *     return (CUresult(err), eglFrame)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuEventCreateFromEGLSync(eglSync, unsigned int flags):
 *     """ Creates an event from EGLSync object.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_885cuEventCreateFromEGLSync, 0, __pyx_n_s_cuEventCreateFromEGLSync, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__950)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuEventCreateFromEGLSync, __pyx_t_2) < 0) __PYX_ERR(1, 41620, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41674
 *     return (CUresult(err), phEvent)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsGLRegisterBuffer(buffer, unsigned int Flags):
 *     """ Registers an OpenGL buffer object.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_887cuGraphicsGLRegisterBuffer, 0, __pyx_n_s_cuGraphicsGLRegisterBuffer, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__951)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphicsGLRegisterBuffer, __pyx_t_2) < 0) __PYX_ERR(1, 41674, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41726
 *     return (CUresult(err), pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsGLRegisterImage(image, target, unsigned int Flags):
 *     """ Register an OpenGL texture or renderbuffer object.
 */
  __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_889cuGraphicsGLRegisterImage, 0, __pyx_n_s_cuGraphicsGLRegisterImage, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__952)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41726, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphicsGLRegisterImage, __pyx_t_2) < 0) __PYX_ERR(1, 41726, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "cuda/cuda.pyx":41822
 *     return (CUresult(err), pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGLGetDevices(unsigned int cudaDeviceCount, deviceList not None : CUGLDeviceList):
 *     """ Gets the CUDA devices associated with the current OpenGL context.
 */
  __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 41822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_deviceList, __pyx_n_s_CUGLDeviceList) < 0) __PYX_ERR(1, 41822, __pyx_L1_error)
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_891cuGLGetDevices, 0, __pyx_n_s_cuGLGetDevices, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__953)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGLGetDevices, __pyx_t_3) < 0) __PYX_ERR(1, 41822, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":41885
 *     return (CUresult(err), pCudaDeviceCount, pypCudaDevices)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuVDPAUGetDevice(vdpDevice, vdpGetProcAddress):
 *     """ Gets the CUDA device associated with a VDPAU device.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_893cuVDPAUGetDevice, 0, __pyx_n_s_cuVDPAUGetDevice, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__954)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuVDPAUGetDevice, __pyx_t_3) < 0) __PYX_ERR(1, 41885, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":41933
 *     return (CUresult(err), pDevice)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuVDPAUCtxCreate(unsigned int flags, device, vdpDevice, vdpGetProcAddress):
 *     """ Create a CUDA context for interoperability with VDPAU.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_895cuVDPAUCtxCreate, 0, __pyx_n_s_cuVDPAUCtxCreate, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__955)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuVDPAUCtxCreate, __pyx_t_3) < 0) __PYX_ERR(1, 41933, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":41997
 *     return (CUresult(err), pCtx)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsVDPAURegisterVideoSurface(vdpSurface, unsigned int flags):
 *     """ Registers a VDPAU VdpVideoSurface object.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_897cuGraphicsVDPAURegisterVideoSurface, 0, __pyx_n_s_cuGraphicsVDPAURegisterVideoSurf, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__956)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 41997, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphicsVDPAURegisterVideoSurf, __pyx_t_3) < 0) __PYX_ERR(1, 41997, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":42055
 *     return (CUresult(err), pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def cuGraphicsVDPAURegisterOutputSurface(vdpSurface, unsigned int flags):
 *     """ Registers a VDPAU VdpOutputSurface object.
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_899cuGraphicsVDPAURegisterOutputSurface, 0, __pyx_n_s_cuGraphicsVDPAURegisterOutputSur, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__957)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 42055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_cuGraphicsVDPAURegisterOutputSur, __pyx_t_3) < 0) __PYX_ERR(1, 42055, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":42113
 *     return (CUresult(err), pCudaResource)
 * 
 * @cython.embedsignature(True)             # <<<<<<<<<<<<<<
 * def sizeof(objType):
 *     """ Returns the size of provided CUDA Python structure in bytes
 */
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_4cuda_4cuda_901sizeof, 0, __pyx_n_s_sizeof, NULL, __pyx_n_s_cuda_cuda, __pyx_d, ((PyObject *)__pyx_codeobj__958)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 42113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_sizeof, __pyx_t_3) < 0) __PYX_ERR(1, 42113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "cuda/cuda.pyx":1
 * # Copyright 2021-2024 NVIDIA Corporation.  All rights reserved.             # <<<<<<<<<<<<<<
 * #
 * # Please refer to the NVIDIA end user license agreement (EULA) associated
 */
  __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_3) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_TraceReturn(Py_None, 0);

  /*--- Wrapped vars code ---*/

  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  if (__pyx_m) {
    if (__pyx_d && stringtab_initialized) {
      __Pyx_AddTraceback("init cuda.cuda", __pyx_clineno, __pyx_lineno, __pyx_filename);
    }
    #if !CYTHON_USE_MODULE_STATE
    Py_CLEAR(__pyx_m);
    #else
    Py_DECREF(__pyx_m);
    if (pystate_addmodule_run) {
      PyObject *tp, *value, *tb;
      PyErr_Fetch(&tp, &value, &tb);
      PyState_RemoveModule(&__pyx_moduledef);
      PyErr_Restore(tp, value, tb);
    }
    #endif
  } else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_ImportError, "init cuda.cuda");
  }
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  return (__pyx_m != NULL) ? 0 : -1;
  #elif PY_MAJOR_VERSION >= 3
  return __pyx_m;
  #else
  return;
  #endif
}
/* #### Code section: cleanup_globals ### */
/* #### Code section: cleanup_module ### */
/* #### Code section: main_method ### */
/* #### Code section: utility_code_pragmas ### */
#ifdef _MSC_VER
#pragma warning( push )
/* Warning 4127: conditional expression is constant
 * Cython uses constant conditional expressions to allow in inline functions to be optimized at
 * compile-time, so this warning is not useful
 */
#pragma warning( disable : 4127 )
#endif



/* #### Code section: utility_code_def ### */

/* --- Runtime support code --- */
/* Refnanny */
#if CYTHON_REFNANNY
static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
    PyObject *m = NULL, *p = NULL;
    void *r = NULL;
    m = PyImport_ImportModule(modname);
    if (!m) goto end;
    p = PyObject_GetAttrString(m, "RefNannyAPI");
    if (!p) goto end;
    r = PyLong_AsVoidPtr(p);
end:
    Py_XDECREF(p);
    Py_XDECREF(m);
    return (__Pyx_RefNannyAPIStruct *)r;
}
#endif

/* PyErrExceptionMatches */
#if CYTHON_FAST_THREAD_STATE
static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
    Py_ssize_t i, n;
    n = PyTuple_GET_SIZE(tuple);
#if PY_MAJOR_VERSION >= 3
    for (i=0; i<n; i++) {
        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
    }
#endif
    for (i=0; i<n; i++) {
        if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1;
    }
    return 0;
}
static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {
    int result;
    PyObject *exc_type;
#if PY_VERSION_HEX >= 0x030C00A6
    PyObject *current_exception = tstate->current_exception;
    if (unlikely(!current_exception)) return 0;
    exc_type = (PyObject*) Py_TYPE(current_exception);
    if (exc_type == err) return 1;
#else
    exc_type = tstate->curexc_type;
    if (exc_type == err) return 1;
    if (unlikely(!exc_type)) return 0;
#endif
    #if CYTHON_AVOID_BORROWED_REFS
    Py_INCREF(exc_type);
    #endif
    if (unlikely(PyTuple_Check(err))) {
        result = __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
    } else {
        result = __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
    }
    #if CYTHON_AVOID_BORROWED_REFS
    Py_DECREF(exc_type);
    #endif
    return result;
}
#endif

/* PyErrFetchRestore */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
#if PY_VERSION_HEX >= 0x030C00A6
    PyObject *tmp_value;
    assert(type == NULL || (value != NULL && type == (PyObject*) Py_TYPE(value)));
    if (value) {
        #if CYTHON_COMPILING_IN_CPYTHON
        if (unlikely(((PyBaseExceptionObject*) value)->traceback != tb))
        #endif
            PyException_SetTraceback(value, tb);
    }
    tmp_value = tstate->current_exception;
    tstate->current_exception = value;
    Py_XDECREF(tmp_value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
#else
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    tmp_type = tstate->curexc_type;
    tmp_value = tstate->curexc_value;
    tmp_tb = tstate->curexc_traceback;
    tstate->curexc_type = type;
    tstate->curexc_value = value;
    tstate->curexc_traceback = tb;
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
#endif
}
static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
#if PY_VERSION_HEX >= 0x030C00A6
    PyObject* exc_value;
    exc_value = tstate->current_exception;
    tstate->current_exception = 0;
    *value = exc_value;
    *type = NULL;
    *tb = NULL;
    if (exc_value) {
        *type = (PyObject*) Py_TYPE(exc_value);
        Py_INCREF(*type);
        #if CYTHON_COMPILING_IN_CPYTHON
        *tb = ((PyBaseExceptionObject*) exc_value)->traceback;
        Py_XINCREF(*tb);
        #else
        *tb = PyException_GetTraceback(exc_value);
        #endif
    }
#else
    *type = tstate->curexc_type;
    *value = tstate->curexc_value;
    *tb = tstate->curexc_traceback;
    tstate->curexc_type = 0;
    tstate->curexc_value = 0;
    tstate->curexc_traceback = 0;
#endif
}
#endif

/* PyObjectGetAttrStr */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_getattro))
        return tp->tp_getattro(obj, attr_name);
#if PY_MAJOR_VERSION < 3
    if (likely(tp->tp_getattr))
        return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
#endif
    return PyObject_GetAttr(obj, attr_name);
}
#endif

/* PyObjectGetAttrStrNoError */
#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
        __Pyx_PyErr_Clear();
}
#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
    PyObject *result;
#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
    (void) PyObject_GetOptionalAttr(obj, attr_name, &result);
    return result;
#else
#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {
        return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1);
    }
#endif
    result = __Pyx_PyObject_GetAttrStr(obj, attr_name);
    if (unlikely(!result)) {
        __Pyx_PyObject_GetAttrStr_ClearAttributeError();
    }
    return result;
#endif
}

/* GetBuiltinName */
static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
    PyObject* result = __Pyx_PyObject_GetAttrStrNoError(__pyx_b, name);
    if (unlikely(!result) && !PyErr_Occurred()) {
        PyErr_Format(PyExc_NameError,
#if PY_MAJOR_VERSION >= 3
            "name '%U' is not defined", name);
#else
            "name '%.200s' is not defined", PyString_AS_STRING(name));
#endif
    }
    return result;
}

/* Profile */
#if CYTHON_PROFILE
static int __Pyx_TraceSetupAndCall(PyCodeObject** code,
                                   PyFrameObject** frame,
                                   PyThreadState* tstate,
                                   const char *funcname,
                                   const char *srcfile,
                                   int firstlineno) {
    PyObject *type, *value, *traceback;
    int retval;
    if (*frame == NULL || !CYTHON_PROFILE_REUSE_FRAME) {
        if (*code == NULL) {
            *code = __Pyx_createFrameCodeObject(funcname, srcfile, firstlineno);
            if (*code == NULL) return 0;
        }
        *frame = PyFrame_New(
            tstate,                          /*PyThreadState *tstate*/
            *code,                           /*PyCodeObject *code*/
            __pyx_d,                  /*PyObject *globals*/
            0                                /*PyObject *locals*/
        );
        if (*frame == NULL) return 0;
        if (CYTHON_TRACE && (*frame)->f_trace == NULL) {
            Py_INCREF(Py_None);
            (*frame)->f_trace = Py_None;
        }
#if PY_VERSION_HEX < 0x030400B1
    } else {
        (*frame)->f_tstate = tstate;
#endif
    }
    __Pyx_PyFrame_SetLineNumber(*frame, firstlineno);
    retval = 1;
    __Pyx_EnterTracing(tstate);
    __Pyx_ErrFetchInState(tstate, &type, &value, &traceback);
    #if CYTHON_TRACE
    if (tstate->c_tracefunc)
        retval = tstate->c_tracefunc(tstate->c_traceobj, *frame, PyTrace_CALL, NULL) == 0;
    if (retval && tstate->c_profilefunc)
    #endif
        retval = tstate->c_profilefunc(tstate->c_profileobj, *frame, PyTrace_CALL, NULL) == 0;
    __Pyx_LeaveTracing(tstate);
    if (retval) {
        __Pyx_ErrRestoreInState(tstate, type, value, traceback);
        return __Pyx_IsTracing(tstate, 0, 0) && retval;
    } else {
        Py_XDECREF(type);
        Py_XDECREF(value);
        Py_XDECREF(traceback);
        return -1;
    }
}
static PyCodeObject *__Pyx_createFrameCodeObject(const char *funcname, const char *srcfile, int firstlineno) {
    PyCodeObject *py_code = 0;
#if PY_MAJOR_VERSION >= 3
    py_code = PyCode_NewEmpty(srcfile, funcname, firstlineno);
    if (likely(py_code)) {
        py_code->co_flags |= CO_OPTIMIZED | CO_NEWLOCALS;
    }
#else
    PyObject *py_srcfile = 0;
    PyObject *py_funcname = 0;
    py_funcname = PyString_FromString(funcname);
    if (unlikely(!py_funcname)) goto bad;
    py_srcfile = PyString_FromString(srcfile);
    if (unlikely(!py_srcfile)) goto bad;
    py_code = PyCode_New(
        0,
        0,
        0,
        CO_OPTIMIZED | CO_NEWLOCALS,
        __pyx_empty_bytes,     /*PyObject *code,*/
        __pyx_empty_tuple,     /*PyObject *consts,*/
        __pyx_empty_tuple,     /*PyObject *names,*/
        __pyx_empty_tuple,     /*PyObject *varnames,*/
        __pyx_empty_tuple,     /*PyObject *freevars,*/
        __pyx_empty_tuple,     /*PyObject *cellvars,*/
        py_srcfile,       /*PyObject *filename,*/
        py_funcname,      /*PyObject *name,*/
        firstlineno,
        __pyx_empty_bytes      /*PyObject *lnotab*/
    );
bad:
    Py_XDECREF(py_srcfile);
    Py_XDECREF(py_funcname);
#endif
    return py_code;
}
#endif

/* GetTopmostException */
#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE
static _PyErr_StackItem *
__Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
{
    _PyErr_StackItem *exc_info = tstate->exc_info;
    while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) &&
           exc_info->previous_item != NULL)
    {
        exc_info = exc_info->previous_item;
    }
    return exc_info;
}
#endif

/* SaveResetException */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
  #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
    _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
    PyObject *exc_value = exc_info->exc_value;
    if (exc_value == NULL || exc_value == Py_None) {
        *value = NULL;
        *type = NULL;
        *tb = NULL;
    } else {
        *value = exc_value;
        Py_INCREF(*value);
        *type = (PyObject*) Py_TYPE(exc_value);
        Py_INCREF(*type);
        *tb = PyException_GetTraceback(exc_value);
    }
  #elif CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
    *type = exc_info->exc_type;
    *value = exc_info->exc_value;
    *tb = exc_info->exc_traceback;
    Py_XINCREF(*type);
    Py_XINCREF(*value);
    Py_XINCREF(*tb);
  #else
    *type = tstate->exc_type;
    *value = tstate->exc_value;
    *tb = tstate->exc_traceback;
    Py_XINCREF(*type);
    Py_XINCREF(*value);
    Py_XINCREF(*tb);
  #endif
}
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
  #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
    _PyErr_StackItem *exc_info = tstate->exc_info;
    PyObject *tmp_value = exc_info->exc_value;
    exc_info->exc_value = value;
    Py_XDECREF(tmp_value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
  #else
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    #if CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = tstate->exc_info;
    tmp_type = exc_info->exc_type;
    tmp_value = exc_info->exc_value;
    tmp_tb = exc_info->exc_traceback;
    exc_info->exc_type = type;
    exc_info->exc_value = value;
    exc_info->exc_traceback = tb;
    #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = type;
    tstate->exc_value = value;
    tstate->exc_traceback = tb;
    #endif
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
  #endif
}
#endif

/* FastTypeChecks */
#if CYTHON_COMPILING_IN_CPYTHON
static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
    while (a) {
        a = __Pyx_PyType_GetSlot(a, tp_base, PyTypeObject*);
        if (a == b)
            return 1;
    }
    return b == &PyBaseObject_Type;
}
static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {
    PyObject *mro;
    if (a == b) return 1;
    mro = a->tp_mro;
    if (likely(mro)) {
        Py_ssize_t i, n;
        n = PyTuple_GET_SIZE(mro);
        for (i = 0; i < n; i++) {
            if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)
                return 1;
        }
        return 0;
    }
    return __Pyx_InBases(a, b);
}
static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b) {
    PyObject *mro;
    if (cls == a || cls == b) return 1;
    mro = cls->tp_mro;
    if (likely(mro)) {
        Py_ssize_t i, n;
        n = PyTuple_GET_SIZE(mro);
        for (i = 0; i < n; i++) {
            PyObject *base = PyTuple_GET_ITEM(mro, i);
            if (base == (PyObject *)a || base == (PyObject *)b)
                return 1;
        }
        return 0;
    }
    return __Pyx_InBases(cls, a) || __Pyx_InBases(cls, b);
}
#if PY_MAJOR_VERSION == 2
static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) {
    PyObject *exception, *value, *tb;
    int res;
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ErrFetch(&exception, &value, &tb);
    res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0;
    if (unlikely(res == -1)) {
        PyErr_WriteUnraisable(err);
        res = 0;
    }
    if (!res) {
        res = PyObject_IsSubclass(err, exc_type2);
        if (unlikely(res == -1)) {
            PyErr_WriteUnraisable(err);
            res = 0;
        }
    }
    __Pyx_ErrRestore(exception, value, tb);
    return res;
}
#else
static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
    if (exc_type1) {
        return __Pyx_IsAnySubtype2((PyTypeObject*)err, (PyTypeObject*)exc_type1, (PyTypeObject*)exc_type2);
    } else {
        return __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
    }
}
#endif
static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
    Py_ssize_t i, n;
    assert(PyExceptionClass_Check(exc_type));
    n = PyTuple_GET_SIZE(tuple);
#if PY_MAJOR_VERSION >= 3
    for (i=0; i<n; i++) {
        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
    }
#endif
    for (i=0; i<n; i++) {
        PyObject *t = PyTuple_GET_ITEM(tuple, i);
        #if PY_MAJOR_VERSION < 3
        if (likely(exc_type == t)) return 1;
        #endif
        if (likely(PyExceptionClass_Check(t))) {
            if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1;
        } else {
        }
    }
    return 0;
}
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {
    if (likely(err == exc_type)) return 1;
    if (likely(PyExceptionClass_Check(err))) {
        if (likely(PyExceptionClass_Check(exc_type))) {
            return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);
        } else if (likely(PyTuple_Check(exc_type))) {
            return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);
        } else {
        }
    }
    return PyErr_GivenExceptionMatches(err, exc_type);
}
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) {
    assert(PyExceptionClass_Check(exc_type1));
    assert(PyExceptionClass_Check(exc_type2));
    if (likely(err == exc_type1 || err == exc_type2)) return 1;
    if (likely(PyExceptionClass_Check(err))) {
        return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2);
    }
    return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2));
}
#endif

/* TupleAndListFromArray */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE void __Pyx_copy_object_array(PyObject *const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) {
    PyObject *v;
    Py_ssize_t i;
    for (i = 0; i < length; i++) {
        v = dest[i] = src[i];
        Py_INCREF(v);
    }
}
static CYTHON_INLINE PyObject *
__Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n)
{
    PyObject *res;
    if (n <= 0) {
        Py_INCREF(__pyx_empty_tuple);
        return __pyx_empty_tuple;
    }
    res = PyTuple_New(n);
    if (unlikely(res == NULL)) return NULL;
    __Pyx_copy_object_array(src, ((PyTupleObject*)res)->ob_item, n);
    return res;
}
static CYTHON_INLINE PyObject *
__Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n)
{
    PyObject *res;
    if (n <= 0) {
        return PyList_New(0);
    }
    res = PyList_New(n);
    if (unlikely(res == NULL)) return NULL;
    __Pyx_copy_object_array(src, ((PyListObject*)res)->ob_item, n);
    return res;
}
#endif

/* BytesEquals */
static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API
    return PyObject_RichCompareBool(s1, s2, equals);
#else
    if (s1 == s2) {
        return (equals == Py_EQ);
    } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) {
        const char *ps1, *ps2;
        Py_ssize_t length = PyBytes_GET_SIZE(s1);
        if (length != PyBytes_GET_SIZE(s2))
            return (equals == Py_NE);
        ps1 = PyBytes_AS_STRING(s1);
        ps2 = PyBytes_AS_STRING(s2);
        if (ps1[0] != ps2[0]) {
            return (equals == Py_NE);
        } else if (length == 1) {
            return (equals == Py_EQ);
        } else {
            int result;
#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000)
            Py_hash_t hash1, hash2;
            hash1 = ((PyBytesObject*)s1)->ob_shash;
            hash2 = ((PyBytesObject*)s2)->ob_shash;
            if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
                return (equals == Py_NE);
            }
#endif
            result = memcmp(ps1, ps2, (size_t)length);
            return (equals == Py_EQ) ? (result == 0) : (result != 0);
        }
    } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) {
        return (equals == Py_NE);
    } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) {
        return (equals == Py_NE);
    } else {
        int result;
        PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
        if (!py_result)
            return -1;
        result = __Pyx_PyObject_IsTrue(py_result);
        Py_DECREF(py_result);
        return result;
    }
#endif
}

/* UnicodeEquals */
static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API
    return PyObject_RichCompareBool(s1, s2, equals);
#else
#if PY_MAJOR_VERSION < 3
    PyObject* owned_ref = NULL;
#endif
    int s1_is_unicode, s2_is_unicode;
    if (s1 == s2) {
        goto return_eq;
    }
    s1_is_unicode = PyUnicode_CheckExact(s1);
    s2_is_unicode = PyUnicode_CheckExact(s2);
#if PY_MAJOR_VERSION < 3
    if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) {
        owned_ref = PyUnicode_FromObject(s2);
        if (unlikely(!owned_ref))
            return -1;
        s2 = owned_ref;
        s2_is_unicode = 1;
    } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) {
        owned_ref = PyUnicode_FromObject(s1);
        if (unlikely(!owned_ref))
            return -1;
        s1 = owned_ref;
        s1_is_unicode = 1;
    } else if (((!s2_is_unicode) & (!s1_is_unicode))) {
        return __Pyx_PyBytes_Equals(s1, s2, equals);
    }
#endif
    if (s1_is_unicode & s2_is_unicode) {
        Py_ssize_t length;
        int kind;
        void *data1, *data2;
        if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0))
            return -1;
        length = __Pyx_PyUnicode_GET_LENGTH(s1);
        if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) {
            goto return_ne;
        }
#if CYTHON_USE_UNICODE_INTERNALS
        {
            Py_hash_t hash1, hash2;
        #if CYTHON_PEP393_ENABLED
            hash1 = ((PyASCIIObject*)s1)->hash;
            hash2 = ((PyASCIIObject*)s2)->hash;
        #else
            hash1 = ((PyUnicodeObject*)s1)->hash;
            hash2 = ((PyUnicodeObject*)s2)->hash;
        #endif
            if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
                goto return_ne;
            }
        }
#endif
        kind = __Pyx_PyUnicode_KIND(s1);
        if (kind != __Pyx_PyUnicode_KIND(s2)) {
            goto return_ne;
        }
        data1 = __Pyx_PyUnicode_DATA(s1);
        data2 = __Pyx_PyUnicode_DATA(s2);
        if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) {
            goto return_ne;
        } else if (length == 1) {
            goto return_eq;
        } else {
            int result = memcmp(data1, data2, (size_t)(length * kind));
            #if PY_MAJOR_VERSION < 3
            Py_XDECREF(owned_ref);
            #endif
            return (equals == Py_EQ) ? (result == 0) : (result != 0);
        }
    } else if ((s1 == Py_None) & s2_is_unicode) {
        goto return_ne;
    } else if ((s2 == Py_None) & s1_is_unicode) {
        goto return_ne;
    } else {
        int result;
        PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
        #if PY_MAJOR_VERSION < 3
        Py_XDECREF(owned_ref);
        #endif
        if (!py_result)
            return -1;
        result = __Pyx_PyObject_IsTrue(py_result);
        Py_DECREF(py_result);
        return result;
    }
return_eq:
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(owned_ref);
    #endif
    return (equals == Py_EQ);
return_ne:
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(owned_ref);
    #endif
    return (equals == Py_NE);
#endif
}

/* fastcall */
#if CYTHON_METH_FASTCALL
static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s)
{
    Py_ssize_t i, n = PyTuple_GET_SIZE(kwnames);
    for (i = 0; i < n; i++)
    {
        if (s == PyTuple_GET_ITEM(kwnames, i)) return kwvalues[i];
    }
    for (i = 0; i < n; i++)
    {
        int eq = __Pyx_PyUnicode_Equals(s, PyTuple_GET_ITEM(kwnames, i), Py_EQ);
        if (unlikely(eq != 0)) {
            if (unlikely(eq < 0)) return NULL;  // error
            return kwvalues[i];
        }
    }
    return NULL;  // not found (no exception set)
}
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) {
    Py_ssize_t i, nkwargs = PyTuple_GET_SIZE(kwnames);
    PyObject *dict;
    dict = PyDict_New();
    if (unlikely(!dict))
        return NULL;
    for (i=0; i<nkwargs; i++) {
        PyObject *key = PyTuple_GET_ITEM(kwnames, i);
        if (unlikely(PyDict_SetItem(dict, key, kwvalues[i]) < 0))
            goto bad;
    }
    return dict;
bad:
    Py_DECREF(dict);
    return NULL;
}
#endif
#endif

/* RaiseDoubleKeywords */
static void __Pyx_RaiseDoubleKeywordsError(
    const char* func_name,
    PyObject* kw_name)
{
    PyErr_Format(PyExc_TypeError,
        #if PY_MAJOR_VERSION >= 3
        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
        #else
        "%s() got multiple values for keyword argument '%s'", func_name,
        PyString_AsString(kw_name));
        #endif
}

/* ParseKeywords */
static int __Pyx_ParseOptionalKeywords(
    PyObject *kwds,
    PyObject *const *kwvalues,
    PyObject **argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    const char* function_name)
{
    PyObject *key = 0, *value = 0;
    Py_ssize_t pos = 0;
    PyObject*** name;
    PyObject*** first_kw_arg = argnames + num_pos_args;
    int kwds_is_tuple = CYTHON_METH_FASTCALL && likely(PyTuple_Check(kwds));
    while (1) {
        Py_XDECREF(key); key = NULL;
        Py_XDECREF(value); value = NULL;
        if (kwds_is_tuple) {
            Py_ssize_t size;
#if CYTHON_ASSUME_SAFE_MACROS
            size = PyTuple_GET_SIZE(kwds);
#else
            size = PyTuple_Size(kwds);
            if (size < 0) goto bad;
#endif
            if (pos >= size) break;
#if CYTHON_AVOID_BORROWED_REFS
            key = __Pyx_PySequence_ITEM(kwds, pos);
            if (!key) goto bad;
#elif CYTHON_ASSUME_SAFE_MACROS
            key = PyTuple_GET_ITEM(kwds, pos);
#else
            key = PyTuple_GetItem(kwds, pos);
            if (!key) goto bad;
#endif
            value = kwvalues[pos];
            pos++;
        }
        else
        {
            if (!PyDict_Next(kwds, &pos, &key, &value)) break;
#if CYTHON_AVOID_BORROWED_REFS
            Py_INCREF(key);
#endif
        }
        name = first_kw_arg;
        while (*name && (**name != key)) name++;
        if (*name) {
            values[name-argnames] = value;
#if CYTHON_AVOID_BORROWED_REFS
            Py_INCREF(value); // transfer ownership of value to values
            Py_DECREF(key);
#endif
            key = NULL;
            value = NULL;
            continue;
        }
#if !CYTHON_AVOID_BORROWED_REFS
        Py_INCREF(key);
#endif
        Py_INCREF(value);
        name = first_kw_arg;
        #if PY_MAJOR_VERSION < 3
        if (likely(PyString_Check(key))) {
            while (*name) {
                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
                        && _PyString_Eq(**name, key)) {
                    values[name-argnames] = value;
#if CYTHON_AVOID_BORROWED_REFS
                    value = NULL;  // ownership transferred to values
#endif
                    break;
                }
                name++;
            }
            if (*name) continue;
            else {
                PyObject*** argname = argnames;
                while (argname != first_kw_arg) {
                    if ((**argname == key) || (
                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
                             && _PyString_Eq(**argname, key))) {
                        goto arg_passed_twice;
                    }
                    argname++;
                }
            }
        } else
        #endif
        if (likely(PyUnicode_Check(key))) {
            while (*name) {
                int cmp = (
                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
                    (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
                #endif
                    PyUnicode_Compare(**name, key)
                );
                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
                if (cmp == 0) {
                    values[name-argnames] = value;
#if CYTHON_AVOID_BORROWED_REFS
                    value = NULL; // ownership transferred to values
#endif
                    break;
                }
                name++;
            }
            if (*name) continue;
            else {
                PyObject*** argname = argnames;
                while (argname != first_kw_arg) {
                    int cmp = (**argname == key) ? 0 :
                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
                        (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
                    #endif
                        PyUnicode_Compare(**argname, key);
                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
                    if (cmp == 0) goto arg_passed_twice;
                    argname++;
                }
            }
        } else
            goto invalid_keyword_type;
        if (kwds2) {
            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
        } else {
            goto invalid_keyword;
        }
    }
    Py_XDECREF(key);
    Py_XDECREF(value);
    return 0;
arg_passed_twice:
    __Pyx_RaiseDoubleKeywordsError(function_name, key);
    goto bad;
invalid_keyword_type:
    PyErr_Format(PyExc_TypeError,
        "%.200s() keywords must be strings", function_name);
    goto bad;
invalid_keyword:
    #if PY_MAJOR_VERSION < 3
    PyErr_Format(PyExc_TypeError,
        "%.200s() got an unexpected keyword argument '%.200s'",
        function_name, PyString_AsString(key));
    #else
    PyErr_Format(PyExc_TypeError,
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    #endif
bad:
    Py_XDECREF(key);
    Py_XDECREF(value);
    return -1;
}

/* RaiseArgTupleInvalid */
static void __Pyx_RaiseArgtupleInvalid(
    const char* func_name,
    int exact,
    Py_ssize_t num_min,
    Py_ssize_t num_max,
    Py_ssize_t num_found)
{
    Py_ssize_t num_expected;
    const char *more_or_less;
    if (num_found < num_min) {
        num_expected = num_min;
        more_or_less = "at least";
    } else {
        num_expected = num_max;
        more_or_less = "at most";
    }
    if (exact) {
        more_or_less = "exactly";
    }
    PyErr_Format(PyExc_TypeError,
                 "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
                 func_name, more_or_less, num_expected,
                 (num_expected == 1) ? "" : "s", num_found);
}

/* WriteUnraisableException */
static void __Pyx_WriteUnraisable(const char *name, int clineno,
                                  int lineno, const char *filename,
                                  int full_traceback, int nogil) {
    PyObject *old_exc, *old_val, *old_tb;
    PyObject *ctx;
    __Pyx_PyThreadState_declare
#ifdef WITH_THREAD
    PyGILState_STATE state;
    if (nogil)
        state = PyGILState_Ensure();
    else state = (PyGILState_STATE)0;
#endif
    CYTHON_UNUSED_VAR(clineno);
    CYTHON_UNUSED_VAR(lineno);
    CYTHON_UNUSED_VAR(filename);
    CYTHON_MAYBE_UNUSED_VAR(nogil);
    __Pyx_PyThreadState_assign
    __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
    if (full_traceback) {
        Py_XINCREF(old_exc);
        Py_XINCREF(old_val);
        Py_XINCREF(old_tb);
        __Pyx_ErrRestore(old_exc, old_val, old_tb);
        PyErr_PrintEx(1);
    }
    #if PY_MAJOR_VERSION < 3
    ctx = PyString_FromString(name);
    #else
    ctx = PyUnicode_FromString(name);
    #endif
    __Pyx_ErrRestore(old_exc, old_val, old_tb);
    if (!ctx) {
        PyErr_WriteUnraisable(Py_None);
    } else {
        PyErr_WriteUnraisable(ctx);
        Py_DECREF(ctx);
    }
#ifdef WITH_THREAD
    if (nogil)
        PyGILState_Release(state);
#endif
}

/* PyFunctionFastCall */
#if CYTHON_FAST_PYCALL && !CYTHON_VECTORCALL
static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,
                                               PyObject *globals) {
    PyFrameObject *f;
    PyThreadState *tstate = __Pyx_PyThreadState_Current;
    PyObject **fastlocals;
    Py_ssize_t i;
    PyObject *result;
    assert(globals != NULL);
    /* XXX Perhaps we should create a specialized
       PyFrame_New() that doesn't take locals, but does
       take builtins without sanity checking them.
       */
    assert(tstate != NULL);
    f = PyFrame_New(tstate, co, globals, NULL);
    if (f == NULL) {
        return NULL;
    }
    fastlocals = __Pyx_PyFrame_GetLocalsplus(f);
    for (i = 0; i < na; i++) {
        Py_INCREF(*args);
        fastlocals[i] = *args++;
    }
    result = PyEval_EvalFrameEx(f,0);
    ++tstate->recursion_depth;
    Py_DECREF(f);
    --tstate->recursion_depth;
    return result;
}
static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) {
    PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func);
    PyObject *globals = PyFunction_GET_GLOBALS(func);
    PyObject *argdefs = PyFunction_GET_DEFAULTS(func);
    PyObject *closure;
#if PY_MAJOR_VERSION >= 3
    PyObject *kwdefs;
#endif
    PyObject *kwtuple, **k;
    PyObject **d;
    Py_ssize_t nd;
    Py_ssize_t nk;
    PyObject *result;
    assert(kwargs == NULL || PyDict_Check(kwargs));
    nk = kwargs ? PyDict_Size(kwargs) : 0;
    #if PY_MAJOR_VERSION < 3
    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) {
        return NULL;
    }
    #else
    if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) {
        return NULL;
    }
    #endif
    if (
#if PY_MAJOR_VERSION >= 3
            co->co_kwonlyargcount == 0 &&
#endif
            likely(kwargs == NULL || nk == 0) &&
            co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) {
        if (argdefs == NULL && co->co_argcount == nargs) {
            result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals);
            goto done;
        }
        else if (nargs == 0 && argdefs != NULL
                 && co->co_argcount == Py_SIZE(argdefs)) {
            /* function called with no arguments, but all parameters have
               a default value: use default values as arguments .*/
            args = &PyTuple_GET_ITEM(argdefs, 0);
            result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals);
            goto done;
        }
    }
    if (kwargs != NULL) {
        Py_ssize_t pos, i;
        kwtuple = PyTuple_New(2 * nk);
        if (kwtuple == NULL) {
            result = NULL;
            goto done;
        }
        k = &PyTuple_GET_ITEM(kwtuple, 0);
        pos = i = 0;
        while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) {
            Py_INCREF(k[i]);
            Py_INCREF(k[i+1]);
            i += 2;
        }
        nk = i / 2;
    }
    else {
        kwtuple = NULL;
        k = NULL;
    }
    closure = PyFunction_GET_CLOSURE(func);
#if PY_MAJOR_VERSION >= 3
    kwdefs = PyFunction_GET_KW_DEFAULTS(func);
#endif
    if (argdefs != NULL) {
        d = &PyTuple_GET_ITEM(argdefs, 0);
        nd = Py_SIZE(argdefs);
    }
    else {
        d = NULL;
        nd = 0;
    }
#if PY_MAJOR_VERSION >= 3
    result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,
                               args, (int)nargs,
                               k, (int)nk,
                               d, (int)nd, kwdefs, closure);
#else
    result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL,
                               args, (int)nargs,
                               k, (int)nk,
                               d, (int)nd, closure);
#endif
    Py_XDECREF(kwtuple);
done:
    Py_LeaveRecursiveCall();
    return result;
}
#endif

/* PyObjectCall */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    PyObject *result;
    ternaryfunc call = Py_TYPE(func)->tp_call;
    if (unlikely(!call))
        return PyObject_Call(func, arg, kw);
    #if PY_MAJOR_VERSION < 3
    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
        return NULL;
    #else
    if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
        return NULL;
    #endif
    result = (*call)(func, arg, kw);
    Py_LeaveRecursiveCall();
    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
        PyErr_SetString(
            PyExc_SystemError,
            "NULL result without error in PyObject_Call");
    }
    return result;
}
#endif

/* PyObjectCallMethO */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
    PyObject *self, *result;
    PyCFunction cfunc;
    cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func);
    self = __Pyx_CyOrPyCFunction_GET_SELF(func);
    #if PY_MAJOR_VERSION < 3
    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
        return NULL;
    #else
    if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
        return NULL;
    #endif
    result = cfunc(self, arg);
    Py_LeaveRecursiveCall();
    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
        PyErr_SetString(
            PyExc_SystemError,
            "NULL result without error in PyObject_Call");
    }
    return result;
}
#endif

/* PyObjectFastCall */
#if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API
static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs) {
    PyObject *argstuple;
    PyObject *result = 0;
    size_t i;
    argstuple = PyTuple_New((Py_ssize_t)nargs);
    if (unlikely(!argstuple)) return NULL;
    for (i = 0; i < nargs; i++) {
        Py_INCREF(args[i]);
        if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) < 0) goto bad;
    }
    result = __Pyx_PyObject_Call(func, argstuple, kwargs);
  bad:
    Py_DECREF(argstuple);
    return result;
}
#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t _nargs, PyObject *kwargs) {
    Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs);
#if CYTHON_COMPILING_IN_CPYTHON
    if (nargs == 0 && kwargs == NULL) {
        if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS))
            return __Pyx_PyObject_CallMethO(func, NULL);
    }
    else if (nargs == 1 && kwargs == NULL) {
        if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O))
            return __Pyx_PyObject_CallMethO(func, args[0]);
    }
#endif
    #if PY_VERSION_HEX < 0x030800B1
    #if CYTHON_FAST_PYCCALL
    if (PyCFunction_Check(func)) {
        if (kwargs) {
            return _PyCFunction_FastCallDict(func, args, nargs, kwargs);
        } else {
            return _PyCFunction_FastCallKeywords(func, args, nargs, NULL);
        }
    }
    #if PY_VERSION_HEX >= 0x030700A1
    if (!kwargs && __Pyx_IS_TYPE(func, &PyMethodDescr_Type)) {
        return _PyMethodDescr_FastCallKeywords(func, args, nargs, NULL);
    }
    #endif
    #endif
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(func)) {
        return __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs);
    }
    #endif
    #endif
    if (kwargs == NULL) {
        #if CYTHON_VECTORCALL
        #if PY_VERSION_HEX < 0x03090000
        vectorcallfunc f = _PyVectorcall_Function(func);
        #else
        vectorcallfunc f = PyVectorcall_Function(func);
        #endif
        if (f) {
            return f(func, args, (size_t)nargs, NULL);
        }
        #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
        if (__Pyx_CyFunction_CheckExact(func)) {
            __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
            if (f) return f(func, args, (size_t)nargs, NULL);
        }
        #endif
    }
    if (nargs == 0) {
        return __Pyx_PyObject_Call(func, __pyx_empty_tuple, kwargs);
    }
    #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API
    return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs);
    #else
    return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs);
    #endif
}

/* UnicodeConcatInPlace */
# if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
static int
__Pyx_unicode_modifiable(PyObject *unicode)
{
    if (Py_REFCNT(unicode) != 1)
        return 0;
    if (!PyUnicode_CheckExact(unicode))
        return 0;
    if (PyUnicode_CHECK_INTERNED(unicode))
        return 0;
    return 1;
}
static CYTHON_INLINE PyObject *__Pyx_PyUnicode_ConcatInPlaceImpl(PyObject **p_left, PyObject *right
        #if CYTHON_REFNANNY
        , void* __pyx_refnanny
        #endif
    ) {
    PyObject *left = *p_left;
    Py_ssize_t left_len, right_len, new_len;
    if (unlikely(__Pyx_PyUnicode_READY(left) == -1))
        return NULL;
    if (unlikely(__Pyx_PyUnicode_READY(right) == -1))
        return NULL;
    left_len = PyUnicode_GET_LENGTH(left);
    if (left_len == 0) {
        Py_INCREF(right);
        return right;
    }
    right_len = PyUnicode_GET_LENGTH(right);
    if (right_len == 0) {
        Py_INCREF(left);
        return left;
    }
    if (unlikely(left_len > PY_SSIZE_T_MAX - right_len)) {
        PyErr_SetString(PyExc_OverflowError,
                        "strings are too large to concat");
        return NULL;
    }
    new_len = left_len + right_len;
    if (__Pyx_unicode_modifiable(left)
            && PyUnicode_CheckExact(right)
            && PyUnicode_KIND(right) <= PyUnicode_KIND(left)
            && !(PyUnicode_IS_ASCII(left) && !PyUnicode_IS_ASCII(right))) {
        int ret;
        __Pyx_GIVEREF(*p_left);
        ret = PyUnicode_Resize(p_left, new_len);
        __Pyx_GOTREF(*p_left);
        if (unlikely(ret != 0))
            return NULL;
        #if PY_VERSION_HEX >= 0x030d0000
        if (unlikely(PyUnicode_CopyCharacters(*p_left, left_len, right, 0, right_len) < 0)) return NULL;
        #else
        _PyUnicode_FastCopyCharacters(*p_left, left_len, right, 0, right_len);
        #endif
        __Pyx_INCREF(*p_left);
        __Pyx_GIVEREF(*p_left);
        return *p_left;
    } else {
        return __Pyx_PyUnicode_Concat(left, right);
    }
  }
#endif

/* KeywordStringCheck */
static int __Pyx_CheckKeywordStrings(
    PyObject *kw,
    const char* function_name,
    int kw_allowed)
{
    PyObject* key = 0;
    Py_ssize_t pos = 0;
#if CYTHON_COMPILING_IN_PYPY
    if (!kw_allowed && PyDict_Next(kw, &pos, &key, 0))
        goto invalid_keyword;
    return 1;
#else
    if (CYTHON_METH_FASTCALL && likely(PyTuple_Check(kw))) {
        Py_ssize_t kwsize;
#if CYTHON_ASSUME_SAFE_MACROS
        kwsize = PyTuple_GET_SIZE(kw);
#else
        kwsize = PyTuple_Size(kw);
        if (kwsize < 0) return 0;
#endif
        if (unlikely(kwsize == 0))
            return 1;
        if (!kw_allowed) {
#if CYTHON_ASSUME_SAFE_MACROS
            key = PyTuple_GET_ITEM(kw, 0);
#else
            key = PyTuple_GetItem(kw, pos);
            if (!key) return 0;
#endif
            goto invalid_keyword;
        }
#if PY_VERSION_HEX < 0x03090000
        for (pos = 0; pos < kwsize; pos++) {
#if CYTHON_ASSUME_SAFE_MACROS
            key = PyTuple_GET_ITEM(kw, pos);
#else
            key = PyTuple_GetItem(kw, pos);
            if (!key) return 0;
#endif
            if (unlikely(!PyUnicode_Check(key)))
                goto invalid_keyword_type;
        }
#endif
        return 1;
    }
    while (PyDict_Next(kw, &pos, &key, 0)) {
        #if PY_MAJOR_VERSION < 3
        if (unlikely(!PyString_Check(key)))
        #endif
            if (unlikely(!PyUnicode_Check(key)))
                goto invalid_keyword_type;
    }
    if (!kw_allowed && unlikely(key))
        goto invalid_keyword;
    return 1;
invalid_keyword_type:
    PyErr_Format(PyExc_TypeError,
        "%.200s() keywords must be strings", function_name);
    return 0;
#endif
invalid_keyword:
    #if PY_MAJOR_VERSION < 3
    PyErr_Format(PyExc_TypeError,
        "%.200s() got an unexpected keyword argument '%.200s'",
        function_name, PyString_AsString(key));
    #else
    PyErr_Format(PyExc_TypeError,
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    #endif
    return 0;
}

/* RaiseException */
#if PY_MAJOR_VERSION < 3
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
    __Pyx_PyThreadState_declare
    CYTHON_UNUSED_VAR(cause);
    Py_XINCREF(type);
    if (!value || value == Py_None)
        value = NULL;
    else
        Py_INCREF(value);
    if (!tb || tb == Py_None)
        tb = NULL;
    else {
        Py_INCREF(tb);
        if (!PyTraceBack_Check(tb)) {
            PyErr_SetString(PyExc_TypeError,
                "raise: arg 3 must be a traceback or None");
            goto raise_error;
        }
    }
    if (PyType_Check(type)) {
#if CYTHON_COMPILING_IN_PYPY
        if (!value) {
            Py_INCREF(Py_None);
            value = Py_None;
        }
#endif
        PyErr_NormalizeException(&type, &value, &tb);
    } else {
        if (value) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto raise_error;
        }
        value = type;
        type = (PyObject*) Py_TYPE(type);
        Py_INCREF(type);
        if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
            PyErr_SetString(PyExc_TypeError,
                "raise: exception class must be a subclass of BaseException");
            goto raise_error;
        }
    }
    __Pyx_PyThreadState_assign
    __Pyx_ErrRestore(type, value, tb);
    return;
raise_error:
    Py_XDECREF(value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
    return;
}
#else
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
    PyObject* owned_instance = NULL;
    if (tb == Py_None) {
        tb = 0;
    } else if (tb && !PyTraceBack_Check(tb)) {
        PyErr_SetString(PyExc_TypeError,
            "raise: arg 3 must be a traceback or None");
        goto bad;
    }
    if (value == Py_None)
        value = 0;
    if (PyExceptionInstance_Check(type)) {
        if (value) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto bad;
        }
        value = type;
        type = (PyObject*) Py_TYPE(value);
    } else if (PyExceptionClass_Check(type)) {
        PyObject *instance_class = NULL;
        if (value && PyExceptionInstance_Check(value)) {
            instance_class = (PyObject*) Py_TYPE(value);
            if (instance_class != type) {
                int is_subclass = PyObject_IsSubclass(instance_class, type);
                if (!is_subclass) {
                    instance_class = NULL;
                } else if (unlikely(is_subclass == -1)) {
                    goto bad;
                } else {
                    type = instance_class;
                }
            }
        }
        if (!instance_class) {
            PyObject *args;
            if (!value)
                args = PyTuple_New(0);
            else if (PyTuple_Check(value)) {
                Py_INCREF(value);
                args = value;
            } else
                args = PyTuple_Pack(1, value);
            if (!args)
                goto bad;
            owned_instance = PyObject_Call(type, args, NULL);
            Py_DECREF(args);
            if (!owned_instance)
                goto bad;
            value = owned_instance;
            if (!PyExceptionInstance_Check(value)) {
                PyErr_Format(PyExc_TypeError,
                             "calling %R should have returned an instance of "
                             "BaseException, not %R",
                             type, Py_TYPE(value));
                goto bad;
            }
        }
    } else {
        PyErr_SetString(PyExc_TypeError,
            "raise: exception class must be a subclass of BaseException");
        goto bad;
    }
    if (cause) {
        PyObject *fixed_cause;
        if (cause == Py_None) {
            fixed_cause = NULL;
        } else if (PyExceptionClass_Check(cause)) {
            fixed_cause = PyObject_CallObject(cause, NULL);
            if (fixed_cause == NULL)
                goto bad;
        } else if (PyExceptionInstance_Check(cause)) {
            fixed_cause = cause;
            Py_INCREF(fixed_cause);
        } else {
            PyErr_SetString(PyExc_TypeError,
                            "exception causes must derive from "
                            "BaseException");
            goto bad;
        }
        PyException_SetCause(value, fixed_cause);
    }
    PyErr_SetObject(type, value);
    if (tb) {
      #if PY_VERSION_HEX >= 0x030C00A6
        PyException_SetTraceback(value, tb);
      #elif CYTHON_FAST_THREAD_STATE
        PyThreadState *tstate = __Pyx_PyThreadState_Current;
        PyObject* tmp_tb = tstate->curexc_traceback;
        if (tb != tmp_tb) {
            Py_INCREF(tb);
            tstate->curexc_traceback = tb;
            Py_XDECREF(tmp_tb);
        }
#else
        PyObject *tmp_type, *tmp_value, *tmp_tb;
        PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
        Py_INCREF(tb);
        PyErr_Restore(tmp_type, tmp_value, tb);
        Py_XDECREF(tmp_tb);
#endif
    }
bad:
    Py_XDECREF(owned_instance);
    return;
}
#endif

/* PyObjectCallOneArg */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
    PyObject *args[2] = {NULL, arg};
    return __Pyx_PyObject_FastCall(func, args+1, 1 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}

/* GetException */
#if CYTHON_FAST_THREAD_STATE
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
#else
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
#endif
{
    PyObject *local_type = NULL, *local_value, *local_tb = NULL;
#if CYTHON_FAST_THREAD_STATE
    PyObject *tmp_type, *tmp_value, *tmp_tb;
  #if PY_VERSION_HEX >= 0x030C00A6
    local_value = tstate->current_exception;
    tstate->current_exception = 0;
    if (likely(local_value)) {
        local_type = (PyObject*) Py_TYPE(local_value);
        Py_INCREF(local_type);
        local_tb = PyException_GetTraceback(local_value);
    }
  #else
    local_type = tstate->curexc_type;
    local_value = tstate->curexc_value;
    local_tb = tstate->curexc_traceback;
    tstate->curexc_type = 0;
    tstate->curexc_value = 0;
    tstate->curexc_traceback = 0;
  #endif
#else
    PyErr_Fetch(&local_type, &local_value, &local_tb);
#endif
    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
#if CYTHON_FAST_THREAD_STATE && PY_VERSION_HEX >= 0x030C00A6
    if (unlikely(tstate->current_exception))
#elif CYTHON_FAST_THREAD_STATE
    if (unlikely(tstate->curexc_type))
#else
    if (unlikely(PyErr_Occurred()))
#endif
        goto bad;
    #if PY_MAJOR_VERSION >= 3
    if (local_tb) {
        if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
            goto bad;
    }
    #endif
    Py_XINCREF(local_tb);
    Py_XINCREF(local_type);
    Py_XINCREF(local_value);
    *type = local_type;
    *value = local_value;
    *tb = local_tb;
#if CYTHON_FAST_THREAD_STATE
    #if CYTHON_USE_EXC_INFO_STACK
    {
        _PyErr_StackItem *exc_info = tstate->exc_info;
      #if PY_VERSION_HEX >= 0x030B00a4
        tmp_value = exc_info->exc_value;
        exc_info->exc_value = local_value;
        tmp_type = NULL;
        tmp_tb = NULL;
        Py_XDECREF(local_type);
        Py_XDECREF(local_tb);
      #else
        tmp_type = exc_info->exc_type;
        tmp_value = exc_info->exc_value;
        tmp_tb = exc_info->exc_traceback;
        exc_info->exc_type = local_type;
        exc_info->exc_value = local_value;
        exc_info->exc_traceback = local_tb;
      #endif
    }
    #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = local_type;
    tstate->exc_value = local_value;
    tstate->exc_traceback = local_tb;
    #endif
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
#else
    PyErr_SetExcInfo(local_type, local_value, local_tb);
#endif
    return 0;
bad:
    *type = 0;
    *value = 0;
    *tb = 0;
    Py_XDECREF(local_type);
    Py_XDECREF(local_value);
    Py_XDECREF(local_tb);
    return -1;
}

/* PyIntBinop */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(intval);
    CYTHON_MAYBE_UNUSED_VAR(inplace);
    CYTHON_UNUSED_VAR(zerodivision_check);
    #if PY_MAJOR_VERSION < 3
    if (likely(PyInt_CheckExact(op1))) {
        const long b = intval;
        long x;
        long a = PyInt_AS_LONG(op1);
        
            x = (long)((unsigned long)a + (unsigned long)b);
            if (likely((x^a) >= 0 || (x^b) >= 0))
                return PyInt_FromLong(x);
            return PyLong_Type.tp_as_number->nb_add(op1, op2);
    }
    #endif
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        const long b = intval;
        long a, x;
#ifdef HAVE_LONG_LONG
        const PY_LONG_LONG llb = intval;
        PY_LONG_LONG lla, llx;
#endif
        if (unlikely(__Pyx_PyLong_IsZero(op1))) {
            return __Pyx_NewRef(op2);
        }
        if (likely(__Pyx_PyLong_IsCompact(op1))) {
            a = __Pyx_PyLong_CompactValue(op1);
        } else {
            const digit* digits = __Pyx_PyLong_Digits(op1);
            const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1);
            switch (size) {
                case -2:
                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                        a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    #ifdef HAVE_LONG_LONG
                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                        lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        goto long_long;
                    #endif
                    }
                    CYTHON_FALLTHROUGH;
                case 2:
                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                        a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    #ifdef HAVE_LONG_LONG
                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                        lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        goto long_long;
                    #endif
                    }
                    CYTHON_FALLTHROUGH;
                case -3:
                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                        a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    #ifdef HAVE_LONG_LONG
                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                        lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        goto long_long;
                    #endif
                    }
                    CYTHON_FALLTHROUGH;
                case 3:
                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                        a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    #ifdef HAVE_LONG_LONG
                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                        lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        goto long_long;
                    #endif
                    }
                    CYTHON_FALLTHROUGH;
                case -4:
                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                        a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    #ifdef HAVE_LONG_LONG
                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
                        lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        goto long_long;
                    #endif
                    }
                    CYTHON_FALLTHROUGH;
                case 4:
                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                        a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    #ifdef HAVE_LONG_LONG
                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
                        lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        goto long_long;
                    #endif
                    }
                    CYTHON_FALLTHROUGH;
                default: return PyLong_Type.tp_as_number->nb_add(op1, op2);
            }
        }
                x = a + b;
            return PyLong_FromLong(x);
#ifdef HAVE_LONG_LONG
        long_long:
                llx = lla + llb;
            return PyLong_FromLongLong(llx);
#endif
        
        
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        const long b = intval;
#if CYTHON_COMPILING_IN_LIMITED_API
        double a = __pyx_PyFloat_AsDouble(op1);
#else
        double a = PyFloat_AS_DOUBLE(op1);
#endif
            double result;
            
            PyFPE_START_PROTECT("add", return NULL)
            result = ((double)a) + (double)b;
            PyFPE_END_PROTECT(result)
            return PyFloat_FromDouble(result);
    }
    return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2);
}
#endif

/* PyIntBinop */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(intval);
    CYTHON_MAYBE_UNUSED_VAR(inplace);
    CYTHON_UNUSED_VAR(zerodivision_check);
    #if PY_MAJOR_VERSION < 3
    if (likely(PyInt_CheckExact(op1))) {
        const long b = intval;
        long x;
        long a = PyInt_AS_LONG(op1);
        
            x = (long)((unsigned long)a - (unsigned long)b);
            if (likely((x^a) >= 0 || (x^~b) >= 0))
                return PyInt_FromLong(x);
            return PyLong_Type.tp_as_number->nb_subtract(op1, op2);
    }
    #endif
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        const long b = intval;
        long a, x;
#ifdef HAVE_LONG_LONG
        const PY_LONG_LONG llb = intval;
        PY_LONG_LONG lla, llx;
#endif
        if (unlikely(__Pyx_PyLong_IsZero(op1))) {
            return PyLong_FromLong(-intval);
        }
        if (likely(__Pyx_PyLong_IsCompact(op1))) {
            a = __Pyx_PyLong_CompactValue(op1);
        } else {
            const digit* digits = __Pyx_PyLong_Digits(op1);
            const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1);
            switch (size) {
                case -2:
                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                        a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    #ifdef HAVE_LONG_LONG
                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                        lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        goto long_long;
                    #endif
                    }
                    CYTHON_FALLTHROUGH;
                case 2:
                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                        a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    #ifdef HAVE_LONG_LONG
                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                        lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        goto long_long;
                    #endif
                    }
                    CYTHON_FALLTHROUGH;
                case -3:
                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                        a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    #ifdef HAVE_LONG_LONG
                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                        lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        goto long_long;
                    #endif
                    }
                    CYTHON_FALLTHROUGH;
                case 3:
                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                        a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    #ifdef HAVE_LONG_LONG
                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                        lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        goto long_long;
                    #endif
                    }
                    CYTHON_FALLTHROUGH;
                case -4:
                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                        a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    #ifdef HAVE_LONG_LONG
                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
                        lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        goto long_long;
                    #endif
                    }
                    CYTHON_FALLTHROUGH;
                case 4:
                    if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                        a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        break;
                    #ifdef HAVE_LONG_LONG
                    } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
                        lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        goto long_long;
                    #endif
                    }
                    CYTHON_FALLTHROUGH;
                default: return PyLong_Type.tp_as_number->nb_subtract(op1, op2);
            }
        }
                x = a - b;
            return PyLong_FromLong(x);
#ifdef HAVE_LONG_LONG
        long_long:
                llx = lla - llb;
            return PyLong_FromLongLong(llx);
#endif
        
        
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        const long b = intval;
#if CYTHON_COMPILING_IN_LIMITED_API
        double a = __pyx_PyFloat_AsDouble(op1);
#else
        double a = PyFloat_AS_DOUBLE(op1);
#endif
            double result;
            
            PyFPE_START_PROTECT("subtract", return NULL)
            result = ((double)a) - (double)b;
            PyFPE_END_PROTECT(result)
            return PyFloat_FromDouble(result);
    }
    return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2);
}
#endif

/* PyDictVersioning */
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {
    PyObject *dict = Py_TYPE(obj)->tp_dict;
    return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
}
static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {
    PyObject **dictptr = NULL;
    Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;
    if (offset) {
#if CYTHON_COMPILING_IN_CPYTHON
        dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);
#else
        dictptr = _PyObject_GetDictPtr(obj);
#endif
    }
    return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
}
static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {
    PyObject *dict = Py_TYPE(obj)->tp_dict;
    if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
        return 0;
    return obj_dict_version == __Pyx_get_object_dict_version(obj);
}
#endif

/* GetModuleGlobalName */
#if CYTHON_USE_DICT_VERSIONS
static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
#else
static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
#endif
{
    PyObject *result;
#if !CYTHON_AVOID_BORROWED_REFS
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000
    result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return __Pyx_NewRef(result);
    } else if (unlikely(PyErr_Occurred())) {
        return NULL;
    }
#elif CYTHON_COMPILING_IN_LIMITED_API
    if (unlikely(!__pyx_m)) {
        return NULL;
    }
    result = PyObject_GetAttr(__pyx_m, name);
    if (likely(result)) {
        return result;
    }
#else
    result = PyDict_GetItem(__pyx_d, name);
    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return __Pyx_NewRef(result);
    }
#endif
#else
    result = PyObject_GetItem(__pyx_d, name);
    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return __Pyx_NewRef(result);
    }
    PyErr_Clear();
#endif
    return __Pyx_GetBuiltinName(name);
}

/* ArgTypeTest */
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)
{
    __Pyx_TypeName type_name;
    __Pyx_TypeName obj_type_name;
    if (unlikely(!type)) {
        PyErr_SetString(PyExc_SystemError, "Missing type object");
        return 0;
    }
    else if (exact) {
        #if PY_MAJOR_VERSION == 2
        if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1;
        #endif
    }
    else {
        if (likely(__Pyx_TypeCheck(obj, type))) return 1;
    }
    type_name = __Pyx_PyType_GetName(type);
    obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj));
    PyErr_Format(PyExc_TypeError,
        "Argument '%.200s' has incorrect type (expected " __Pyx_FMT_TYPENAME
        ", got " __Pyx_FMT_TYPENAME ")", name, type_name, obj_type_name);
    __Pyx_DECREF_TypeName(type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    return 0;
}

/* GetItemInt */
static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
    PyObject *r;
    if (unlikely(!j)) return NULL;
    r = PyObject_GetItem(o, j);
    Py_DECREF(j);
    return r;
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
                                                              CYTHON_NCP_UNUSED int wraparound,
                                                              CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    Py_ssize_t wrapped_i = i;
    if (wraparound & unlikely(i < 0)) {
        wrapped_i += PyList_GET_SIZE(o);
    }
    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
        PyObject *r = PyList_GET_ITEM(o, wrapped_i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              CYTHON_NCP_UNUSED int wraparound,
                                                              CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    Py_ssize_t wrapped_i = i;
    if (wraparound & unlikely(i < 0)) {
        wrapped_i += PyTuple_GET_SIZE(o);
    }
    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
        PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
                                                     CYTHON_NCP_UNUSED int wraparound,
                                                     CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
    if (is_list || PyList_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
        if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
            PyObject *r = PyList_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    }
    else if (PyTuple_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
        if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
            PyObject *r = PyTuple_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    } else {
        PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping;
        PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence;
        if (mm && mm->mp_subscript) {
            PyObject *r, *key = PyInt_FromSsize_t(i);
            if (unlikely(!key)) return NULL;
            r = mm->mp_subscript(o, key);
            Py_DECREF(key);
            return r;
        }
        if (likely(sm && sm->sq_item)) {
            if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) {
                Py_ssize_t l = sm->sq_length(o);
                if (likely(l >= 0)) {
                    i += l;
                } else {
                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                        return NULL;
                    PyErr_Clear();
                }
            }
            return sm->sq_item(o, i);
        }
    }
#else
    if (is_list || !PyMapping_Check(o)) {
        return PySequence_GetItem(o, i);
    }
#endif
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
}

/* PyObjectCallNoArg */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
    PyObject *arg[2] = {NULL, NULL};
    return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}

/* PySequenceMultiply */
static PyObject* __Pyx_PySequence_Multiply_Generic(PyObject *seq, Py_ssize_t mul) {
    PyObject *result, *pymul = PyInt_FromSsize_t(mul);
    if (unlikely(!pymul))
        return NULL;
    result = PyNumber_Multiply(seq, pymul);
    Py_DECREF(pymul);
    return result;
}
static CYTHON_INLINE PyObject* __Pyx_PySequence_Multiply(PyObject *seq, Py_ssize_t mul) {
#if CYTHON_USE_TYPE_SLOTS
    PyTypeObject *type = Py_TYPE(seq);
    if (likely(type->tp_as_sequence && type->tp_as_sequence->sq_repeat)) {
        return type->tp_as_sequence->sq_repeat(seq, mul);
    } else
#endif
    {
        return __Pyx_PySequence_Multiply_Generic(seq, mul);
    }
}

/* RaiseUnboundLocalError */
static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {
    PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
}

/* pep479 */
static void __Pyx_Generator_Replace_StopIteration(int in_async_gen) {
    PyObject *exc, *val, *tb, *cur_exc;
    __Pyx_PyThreadState_declare
    #ifdef __Pyx_StopAsyncIteration_USED
    int is_async_stopiteration = 0;
    #endif
    CYTHON_MAYBE_UNUSED_VAR(in_async_gen);
    cur_exc = PyErr_Occurred();
    if (likely(!__Pyx_PyErr_GivenExceptionMatches(cur_exc, PyExc_StopIteration))) {
        #ifdef __Pyx_StopAsyncIteration_USED
        if (in_async_gen && unlikely(__Pyx_PyErr_GivenExceptionMatches(cur_exc, __Pyx_PyExc_StopAsyncIteration))) {
            is_async_stopiteration = 1;
        } else
        #endif
            return;
    }
    __Pyx_PyThreadState_assign
    __Pyx_GetException(&exc, &val, &tb);
    Py_XDECREF(exc);
    Py_XDECREF(val);
    Py_XDECREF(tb);
    PyErr_SetString(PyExc_RuntimeError,
        #ifdef __Pyx_StopAsyncIteration_USED
        is_async_stopiteration ? "async generator raised StopAsyncIteration" :
        in_async_gen ? "async generator raised StopIteration" :
        #endif
        "generator raised StopIteration");
}

/* RaiseTooManyValuesToUnpack */
static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
    PyErr_Format(PyExc_ValueError,
                 "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);
}

/* RaiseNeedMoreValuesToUnpack */
static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
    PyErr_Format(PyExc_ValueError,
                 "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack",
                 index, (index == 1) ? "" : "s");
}

/* IterFinish */
static CYTHON_INLINE int __Pyx_IterFinish(void) {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType();
    if (unlikely(exc_type)) {
        if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))
            return -1;
        __Pyx_PyErr_Clear();
        return 0;
    }
    return 0;
}

/* UnpackItemEndCheck */
static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
    if (unlikely(retval)) {
        Py_DECREF(retval);
        __Pyx_RaiseTooManyValuesError(expected);
        return -1;
    }
    return __Pyx_IterFinish();
}

/* FixUpExtensionType */
#if CYTHON_USE_TYPE_SPECS
static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type) {
#if PY_VERSION_HEX > 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
    CYTHON_UNUSED_VAR(spec);
    CYTHON_UNUSED_VAR(type);
#else
    const PyType_Slot *slot = spec->slots;
    while (slot && slot->slot && slot->slot != Py_tp_members)
        slot++;
    if (slot && slot->slot == Py_tp_members) {
        int changed = 0;
#if !(PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON)
        const
#endif
            PyMemberDef *memb = (PyMemberDef*) slot->pfunc;
        while (memb && memb->name) {
            if (memb->name[0] == '_' && memb->name[1] == '_') {
#if PY_VERSION_HEX < 0x030900b1
                if (strcmp(memb->name, "__weaklistoffset__") == 0) {
                    assert(memb->type == T_PYSSIZET);
                    assert(memb->flags == READONLY);
                    type->tp_weaklistoffset = memb->offset;
                    changed = 1;
                }
                else if (strcmp(memb->name, "__dictoffset__") == 0) {
                    assert(memb->type == T_PYSSIZET);
                    assert(memb->flags == READONLY);
                    type->tp_dictoffset = memb->offset;
                    changed = 1;
                }
#if CYTHON_METH_FASTCALL
                else if (strcmp(memb->name, "__vectorcalloffset__") == 0) {
                    assert(memb->type == T_PYSSIZET);
                    assert(memb->flags == READONLY);
#if PY_VERSION_HEX >= 0x030800b4
                    type->tp_vectorcall_offset = memb->offset;
#else
                    type->tp_print = (printfunc) memb->offset;
#endif
                    changed = 1;
                }
#endif
#else
                if ((0));
#endif
#if PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON
                else if (strcmp(memb->name, "__module__") == 0) {
                    PyObject *descr;
                    assert(memb->type == T_OBJECT);
                    assert(memb->flags == 0 || memb->flags == READONLY);
                    descr = PyDescr_NewMember(type, memb);
                    if (unlikely(!descr))
                        return -1;
                    if (unlikely(PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr) < 0)) {
                        Py_DECREF(descr);
                        return -1;
                    }
                    Py_DECREF(descr);
                    changed = 1;
                }
#endif
            }
            memb++;
        }
        if (changed)
            PyType_Modified(type);
    }
#endif
    return 0;
}
#endif

/* PyObjectGetMethod */
static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) {
    PyObject *attr;
#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP
    __Pyx_TypeName type_name;
    PyTypeObject *tp = Py_TYPE(obj);
    PyObject *descr;
    descrgetfunc f = NULL;
    PyObject **dictptr, *dict;
    int meth_found = 0;
    assert (*method == NULL);
    if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) {
        attr = __Pyx_PyObject_GetAttrStr(obj, name);
        goto try_unpack;
    }
    if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) {
        return 0;
    }
    descr = _PyType_Lookup(tp, name);
    if (likely(descr != NULL)) {
        Py_INCREF(descr);
#if defined(Py_TPFLAGS_METHOD_DESCRIPTOR) && Py_TPFLAGS_METHOD_DESCRIPTOR
        if (__Pyx_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR))
#elif PY_MAJOR_VERSION >= 3
        #ifdef __Pyx_CyFunction_USED
        if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr)))
        #else
        if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type)))
        #endif
#else
        #ifdef __Pyx_CyFunction_USED
        if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr)))
        #else
        if (likely(PyFunction_Check(descr)))
        #endif
#endif
        {
            meth_found = 1;
        } else {
            f = Py_TYPE(descr)->tp_descr_get;
            if (f != NULL && PyDescr_IsData(descr)) {
                attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
                Py_DECREF(descr);
                goto try_unpack;
            }
        }
    }
    dictptr = _PyObject_GetDictPtr(obj);
    if (dictptr != NULL && (dict = *dictptr) != NULL) {
        Py_INCREF(dict);
        attr = __Pyx_PyDict_GetItemStr(dict, name);
        if (attr != NULL) {
            Py_INCREF(attr);
            Py_DECREF(dict);
            Py_XDECREF(descr);
            goto try_unpack;
        }
        Py_DECREF(dict);
    }
    if (meth_found) {
        *method = descr;
        return 1;
    }
    if (f != NULL) {
        attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
        Py_DECREF(descr);
        goto try_unpack;
    }
    if (likely(descr != NULL)) {
        *method = descr;
        return 0;
    }
    type_name = __Pyx_PyType_GetName(tp);
    PyErr_Format(PyExc_AttributeError,
#if PY_MAJOR_VERSION >= 3
                 "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'",
                 type_name, name);
#else
                 "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'",
                 type_name, PyString_AS_STRING(name));
#endif
    __Pyx_DECREF_TypeName(type_name);
    return 0;
#else
    attr = __Pyx_PyObject_GetAttrStr(obj, name);
    goto try_unpack;
#endif
try_unpack:
#if CYTHON_UNPACK_METHODS
    if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) {
        PyObject *function = PyMethod_GET_FUNCTION(attr);
        Py_INCREF(function);
        Py_DECREF(attr);
        *method = function;
        return 1;
    }
#endif
    *method = attr;
    return 0;
}

/* PyObjectCallMethod0 */
static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
    PyObject *method = NULL, *result = NULL;
    int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
    if (likely(is_method)) {
        result = __Pyx_PyObject_CallOneArg(method, obj);
        Py_DECREF(method);
        return result;
    }
    if (unlikely(!method)) goto bad;
    result = __Pyx_PyObject_CallNoArg(method);
    Py_DECREF(method);
bad:
    return result;
}

/* ValidateBasesTuple */
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases) {
    Py_ssize_t i, n;
#if CYTHON_ASSUME_SAFE_MACROS
    n = PyTuple_GET_SIZE(bases);
#else
    n = PyTuple_Size(bases);
    if (n < 0) return -1;
#endif
    for (i = 1; i < n; i++)
    {
#if CYTHON_AVOID_BORROWED_REFS
        PyObject *b0 = PySequence_GetItem(bases, i);
        if (!b0) return -1;
#elif CYTHON_ASSUME_SAFE_MACROS
        PyObject *b0 = PyTuple_GET_ITEM(bases, i);
#else
        PyObject *b0 = PyTuple_GetItem(bases, i);
        if (!b0) return -1;
#endif
        PyTypeObject *b;
#if PY_MAJOR_VERSION < 3
        if (PyClass_Check(b0))
        {
            PyErr_Format(PyExc_TypeError, "base class '%.200s' is an old-style class",
                         PyString_AS_STRING(((PyClassObject*)b0)->cl_name));
#if CYTHON_AVOID_BORROWED_REFS
            Py_DECREF(b0);
#endif
            return -1;
        }
#endif
        b = (PyTypeObject*) b0;
        if (!__Pyx_PyType_HasFeature(b, Py_TPFLAGS_HEAPTYPE))
        {
            __Pyx_TypeName b_name = __Pyx_PyType_GetName(b);
            PyErr_Format(PyExc_TypeError,
                "base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name);
            __Pyx_DECREF_TypeName(b_name);
#if CYTHON_AVOID_BORROWED_REFS
            Py_DECREF(b0);
#endif
            return -1;
        }
        if (dictoffset == 0)
        {
            Py_ssize_t b_dictoffset = 0;
#if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
            b_dictoffset = b->tp_dictoffset;
#else
            PyObject *py_b_dictoffset = PyObject_GetAttrString((PyObject*)b, "__dictoffset__");
            if (!py_b_dictoffset) goto dictoffset_return;
            b_dictoffset = PyLong_AsSsize_t(py_b_dictoffset);
            Py_DECREF(py_b_dictoffset);
            if (b_dictoffset == -1 && PyErr_Occurred()) goto dictoffset_return;
#endif
            if (b_dictoffset) {
                {
                    __Pyx_TypeName b_name = __Pyx_PyType_GetName(b);
                    PyErr_Format(PyExc_TypeError,
                        "extension type '%.200s' has no __dict__ slot, "
                        "but base type '" __Pyx_FMT_TYPENAME "' has: "
                        "either add 'cdef dict __dict__' to the extension type "
                        "or add '__slots__ = [...]' to the base type",
                        type_name, b_name);
                    __Pyx_DECREF_TypeName(b_name);
                }
#if !(CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY)
              dictoffset_return:
#endif
#if CYTHON_AVOID_BORROWED_REFS
                Py_DECREF(b0);
#endif
                return -1;
            }
        }
#if CYTHON_AVOID_BORROWED_REFS
        Py_DECREF(b0);
#endif
    }
    return 0;
}
#endif

/* PyType_Ready */
static int __Pyx_PyType_Ready(PyTypeObject *t) {
#if CYTHON_USE_TYPE_SPECS || !(CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API) || defined(PYSTON_MAJOR_VERSION)
    (void)__Pyx_PyObject_CallMethod0;
#if CYTHON_USE_TYPE_SPECS
    (void)__Pyx_validate_bases_tuple;
#endif
    return PyType_Ready(t);
#else
    int r;
    PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*);
    if (bases && unlikely(__Pyx_validate_bases_tuple(t->tp_name, t->tp_dictoffset, bases) == -1))
        return -1;
#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION)
    {
        int gc_was_enabled;
    #if PY_VERSION_HEX >= 0x030A00b1
        gc_was_enabled = PyGC_Disable();
        (void)__Pyx_PyObject_CallMethod0;
    #else
        PyObject *ret, *py_status;
        PyObject *gc = NULL;
        #if PY_VERSION_HEX >= 0x030700a1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM+0 >= 0x07030400)
        gc = PyImport_GetModule(__pyx_kp_u_gc);
        #endif
        if (unlikely(!gc)) gc = PyImport_Import(__pyx_kp_u_gc);
        if (unlikely(!gc)) return -1;
        py_status = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_isenabled);
        if (unlikely(!py_status)) {
            Py_DECREF(gc);
            return -1;
        }
        gc_was_enabled = __Pyx_PyObject_IsTrue(py_status);
        Py_DECREF(py_status);
        if (gc_was_enabled > 0) {
            ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_disable);
            if (unlikely(!ret)) {
                Py_DECREF(gc);
                return -1;
            }
            Py_DECREF(ret);
        } else if (unlikely(gc_was_enabled == -1)) {
            Py_DECREF(gc);
            return -1;
        }
    #endif
        t->tp_flags |= Py_TPFLAGS_HEAPTYPE;
#if PY_VERSION_HEX >= 0x030A0000
        t->tp_flags |= Py_TPFLAGS_IMMUTABLETYPE;
#endif
#else
        (void)__Pyx_PyObject_CallMethod0;
#endif
    r = PyType_Ready(t);
#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION)
        t->tp_flags &= ~Py_TPFLAGS_HEAPTYPE;
    #if PY_VERSION_HEX >= 0x030A00b1
        if (gc_was_enabled)
            PyGC_Enable();
    #else
        if (gc_was_enabled) {
            PyObject *tp, *v, *tb;
            PyErr_Fetch(&tp, &v, &tb);
            ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_enable);
            if (likely(ret || r == -1)) {
                Py_XDECREF(ret);
                PyErr_Restore(tp, v, tb);
            } else {
                Py_XDECREF(tp);
                Py_XDECREF(v);
                Py_XDECREF(tb);
                r = -1;
            }
        }
        Py_DECREF(gc);
    #endif
    }
#endif
    return r;
#endif
}

/* PyObject_GenericGetAttrNoDict */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) {
    __Pyx_TypeName type_name = __Pyx_PyType_GetName(tp);
    PyErr_Format(PyExc_AttributeError,
#if PY_MAJOR_VERSION >= 3
                 "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'",
                 type_name, attr_name);
#else
                 "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'",
                 type_name, PyString_AS_STRING(attr_name));
#endif
    __Pyx_DECREF_TypeName(type_name);
    return NULL;
}
static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) {
    PyObject *descr;
    PyTypeObject *tp = Py_TYPE(obj);
    if (unlikely(!PyString_Check(attr_name))) {
        return PyObject_GenericGetAttr(obj, attr_name);
    }
    assert(!tp->tp_dictoffset);
    descr = _PyType_Lookup(tp, attr_name);
    if (unlikely(!descr)) {
        return __Pyx_RaiseGenericGetAttributeError(tp, attr_name);
    }
    Py_INCREF(descr);
    #if PY_MAJOR_VERSION < 3
    if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS)))
    #endif
    {
        descrgetfunc f = Py_TYPE(descr)->tp_descr_get;
        if (unlikely(f)) {
            PyObject *res = f(descr, obj, (PyObject *)tp);
            Py_DECREF(descr);
            return res;
        }
    }
    return descr;
}
#endif

/* PyObject_GenericGetAttr */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) {
    if (unlikely(Py_TYPE(obj)->tp_dictoffset)) {
        return PyObject_GenericGetAttr(obj, attr_name);
    }
    return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name);
}
#endif

/* SetupReduce */
#if !CYTHON_COMPILING_IN_LIMITED_API
static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) {
  int ret;
  PyObject *name_attr;
  name_attr = __Pyx_PyObject_GetAttrStrNoError(meth, __pyx_n_s_name_3);
  if (likely(name_attr)) {
      ret = PyObject_RichCompareBool(name_attr, name, Py_EQ);
  } else {
      ret = -1;
  }
  if (unlikely(ret < 0)) {
      PyErr_Clear();
      ret = 0;
  }
  Py_XDECREF(name_attr);
  return ret;
}
static int __Pyx_setup_reduce(PyObject* type_obj) {
    int ret = 0;
    PyObject *object_reduce = NULL;
    PyObject *object_getstate = NULL;
    PyObject *object_reduce_ex = NULL;
    PyObject *reduce = NULL;
    PyObject *reduce_ex = NULL;
    PyObject *reduce_cython = NULL;
    PyObject *setstate = NULL;
    PyObject *setstate_cython = NULL;
    PyObject *getstate = NULL;
#if CYTHON_USE_PYTYPE_LOOKUP
    getstate = _PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate);
#else
    getstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_getstate);
    if (!getstate && PyErr_Occurred()) {
        goto __PYX_BAD;
    }
#endif
    if (getstate) {
#if CYTHON_USE_PYTYPE_LOOKUP
        object_getstate = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_getstate);
#else
        object_getstate = __Pyx_PyObject_GetAttrStrNoError((PyObject*)&PyBaseObject_Type, __pyx_n_s_getstate);
        if (!object_getstate && PyErr_Occurred()) {
            goto __PYX_BAD;
        }
#endif
        if (object_getstate != getstate) {
            goto __PYX_GOOD;
        }
    }
#if CYTHON_USE_PYTYPE_LOOKUP
    object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;
#else
    object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;
#endif
    reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto __PYX_BAD;
    if (reduce_ex == object_reduce_ex) {
#if CYTHON_USE_PYTYPE_LOOKUP
        object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD;
#else
        object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD;
#endif
        reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto __PYX_BAD;
        if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) {
            reduce_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_reduce_cython);
            if (likely(reduce_cython)) {
                ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
                ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
            } else if (reduce == object_reduce || PyErr_Occurred()) {
                goto __PYX_BAD;
            }
            setstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_setstate);
            if (!setstate) PyErr_Clear();
            if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) {
                setstate_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_setstate_cython);
                if (likely(setstate_cython)) {
                    ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
                    ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
                } else if (!setstate || PyErr_Occurred()) {
                    goto __PYX_BAD;
                }
            }
            PyType_Modified((PyTypeObject*)type_obj);
        }
    }
    goto __PYX_GOOD;
__PYX_BAD:
    if (!PyErr_Occurred()) {
        __Pyx_TypeName type_obj_name =
            __Pyx_PyType_GetName((PyTypeObject*)type_obj);
        PyErr_Format(PyExc_RuntimeError,
            "Unable to initialize pickling for " __Pyx_FMT_TYPENAME, type_obj_name);
        __Pyx_DECREF_TypeName(type_obj_name);
    }
    ret = -1;
__PYX_GOOD:
#if !CYTHON_USE_PYTYPE_LOOKUP
    Py_XDECREF(object_reduce);
    Py_XDECREF(object_reduce_ex);
    Py_XDECREF(object_getstate);
    Py_XDECREF(getstate);
#endif
    Py_XDECREF(reduce);
    Py_XDECREF(reduce_ex);
    Py_XDECREF(reduce_cython);
    Py_XDECREF(setstate);
    Py_XDECREF(setstate_cython);
    return ret;
}
#endif

/* TypeImport */
#ifndef __PYX_HAVE_RT_ImportType_3_0_7
#define __PYX_HAVE_RT_ImportType_3_0_7
static PyTypeObject *__Pyx_ImportType_3_0_7(PyObject *module, const char *module_name, const char *class_name,
    size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_7 check_size)
{
    PyObject *result = 0;
    char warning[200];
    Py_ssize_t basicsize;
    Py_ssize_t itemsize;
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *py_basicsize;
    PyObject *py_itemsize;
#endif
    result = PyObject_GetAttrString(module, class_name);
    if (!result)
        goto bad;
    if (!PyType_Check(result)) {
        PyErr_Format(PyExc_TypeError,
            "%.200s.%.200s is not a type object",
            module_name, class_name);
        goto bad;
    }
#if !CYTHON_COMPILING_IN_LIMITED_API
    basicsize = ((PyTypeObject *)result)->tp_basicsize;
    itemsize = ((PyTypeObject *)result)->tp_itemsize;
#else
    py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
    if (!py_basicsize)
        goto bad;
    basicsize = PyLong_AsSsize_t(py_basicsize);
    Py_DECREF(py_basicsize);
    py_basicsize = 0;
    if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
        goto bad;
    py_itemsize = PyObject_GetAttrString(result, "__itemsize__");
    if (!py_itemsize)
        goto bad;
    itemsize = PyLong_AsSsize_t(py_itemsize);
    Py_DECREF(py_itemsize);
    py_itemsize = 0;
    if (itemsize == (Py_ssize_t)-1 && PyErr_Occurred())
        goto bad;
#endif
    if (itemsize) {
        if (size % alignment) {
            alignment = size % alignment;
        }
        if (itemsize < (Py_ssize_t)alignment)
            itemsize = (Py_ssize_t)alignment;
    }
    if ((size_t)(basicsize + itemsize) < size) {
        PyErr_Format(PyExc_ValueError,
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
            "Expected %zd from C header, got %zd from PyObject",
            module_name, class_name, size, basicsize+itemsize);
        goto bad;
    }
    if (check_size == __Pyx_ImportType_CheckSize_Error_3_0_7 &&
            ((size_t)basicsize > size || (size_t)(basicsize + itemsize) < size)) {
        PyErr_Format(PyExc_ValueError,
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
            "Expected %zd from C header, got %zd-%zd from PyObject",
            module_name, class_name, size, basicsize, basicsize+itemsize);
        goto bad;
    }
    else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_0_7 && (size_t)basicsize > size) {
        PyOS_snprintf(warning, sizeof(warning),
            "%s.%s size changed, may indicate binary incompatibility. "
            "Expected %zd from C header, got %zd from PyObject",
            module_name, class_name, size, basicsize);
        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
    }
    return (PyTypeObject *)result;
bad:
    Py_XDECREF(result);
    return NULL;
}
#endif

/* Import */
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
    PyObject *module = 0;
    PyObject *empty_dict = 0;
    PyObject *empty_list = 0;
    #if PY_MAJOR_VERSION < 3
    PyObject *py_import;
    py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
    if (unlikely(!py_import))
        goto bad;
    if (!from_list) {
        empty_list = PyList_New(0);
        if (unlikely(!empty_list))
            goto bad;
        from_list = empty_list;
    }
    #endif
    empty_dict = PyDict_New();
    if (unlikely(!empty_dict))
        goto bad;
    {
        #if PY_MAJOR_VERSION >= 3
        if (level == -1) {
            if (strchr(__Pyx_MODULE_NAME, '.') != NULL) {
                module = PyImport_ImportModuleLevelObject(
                    name, __pyx_d, empty_dict, from_list, 1);
                if (unlikely(!module)) {
                    if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError)))
                        goto bad;
                    PyErr_Clear();
                }
            }
            level = 0;
        }
        #endif
        if (!module) {
            #if PY_MAJOR_VERSION < 3
            PyObject *py_level = PyInt_FromLong(level);
            if (unlikely(!py_level))
                goto bad;
            module = PyObject_CallFunctionObjArgs(py_import,
                name, __pyx_d, empty_dict, from_list, py_level, (PyObject *)NULL);
            Py_DECREF(py_level);
            #else
            module = PyImport_ImportModuleLevelObject(
                name, __pyx_d, empty_dict, from_list, level);
            #endif
        }
    }
bad:
    Py_XDECREF(empty_dict);
    Py_XDECREF(empty_list);
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(py_import);
    #endif
    return module;
}

/* ImportFrom */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
    PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
    if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
        const char* module_name_str = 0;
        PyObject* module_name = 0;
        PyObject* module_dot = 0;
        PyObject* full_name = 0;
        PyErr_Clear();
        module_name_str = PyModule_GetName(module);
        if (unlikely(!module_name_str)) { goto modbad; }
        module_name = PyUnicode_FromString(module_name_str);
        if (unlikely(!module_name)) { goto modbad; }
        module_dot = PyUnicode_Concat(module_name, __pyx_kp_u__959);
        if (unlikely(!module_dot)) { goto modbad; }
        full_name = PyUnicode_Concat(module_dot, name);
        if (unlikely(!full_name)) { goto modbad; }
        #if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM  < 0x07030400)
        {
            PyObject *modules = PyImport_GetModuleDict();
            if (unlikely(!modules))
                goto modbad;
            value = PyObject_GetItem(modules, full_name);
        }
        #else
        value = PyImport_GetModule(full_name);
        #endif
      modbad:
        Py_XDECREF(full_name);
        Py_XDECREF(module_dot);
        Py_XDECREF(module_name);
    }
    if (unlikely(!value)) {
        PyErr_Format(PyExc_ImportError,
        #if PY_MAJOR_VERSION < 3
            "cannot import name %.230s", PyString_AS_STRING(name));
        #else
            "cannot import name %S", name);
        #endif
    }
    return value;
}

/* ImportDottedModule */
#if PY_MAJOR_VERSION >= 3
static PyObject *__Pyx__ImportDottedModule_Error(PyObject *name, PyObject *parts_tuple, Py_ssize_t count) {
    PyObject *partial_name = NULL, *slice = NULL, *sep = NULL;
    if (unlikely(PyErr_Occurred())) {
        PyErr_Clear();
    }
    if (likely(PyTuple_GET_SIZE(parts_tuple) == count)) {
        partial_name = name;
    } else {
        slice = PySequence_GetSlice(parts_tuple, 0, count);
        if (unlikely(!slice))
            goto bad;
        sep = PyUnicode_FromStringAndSize(".", 1);
        if (unlikely(!sep))
            goto bad;
        partial_name = PyUnicode_Join(sep, slice);
    }
    PyErr_Format(
#if PY_MAJOR_VERSION < 3
        PyExc_ImportError,
        "No module named '%s'", PyString_AS_STRING(partial_name));
#else
#if PY_VERSION_HEX >= 0x030600B1
        PyExc_ModuleNotFoundError,
#else
        PyExc_ImportError,
#endif
        "No module named '%U'", partial_name);
#endif
bad:
    Py_XDECREF(sep);
    Py_XDECREF(slice);
    Py_XDECREF(partial_name);
    return NULL;
}
#endif
#if PY_MAJOR_VERSION >= 3
static PyObject *__Pyx__ImportDottedModule_Lookup(PyObject *name) {
    PyObject *imported_module;
#if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM  < 0x07030400)
    PyObject *modules = PyImport_GetModuleDict();
    if (unlikely(!modules))
        return NULL;
    imported_module = __Pyx_PyDict_GetItemStr(modules, name);
    Py_XINCREF(imported_module);
#else
    imported_module = PyImport_GetModule(name);
#endif
    return imported_module;
}
#endif
#if PY_MAJOR_VERSION >= 3
static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple) {
    Py_ssize_t i, nparts;
    nparts = PyTuple_GET_SIZE(parts_tuple);
    for (i=1; i < nparts && module; i++) {
        PyObject *part, *submodule;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        part = PyTuple_GET_ITEM(parts_tuple, i);
#else
        part = PySequence_ITEM(parts_tuple, i);
#endif
        submodule = __Pyx_PyObject_GetAttrStrNoError(module, part);
#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
        Py_DECREF(part);
#endif
        Py_DECREF(module);
        module = submodule;
    }
    if (unlikely(!module)) {
        return __Pyx__ImportDottedModule_Error(name, parts_tuple, i);
    }
    return module;
}
#endif
static PyObject *__Pyx__ImportDottedModule(PyObject *name, PyObject *parts_tuple) {
#if PY_MAJOR_VERSION < 3
    PyObject *module, *from_list, *star = __pyx_n_s__960;
    CYTHON_UNUSED_VAR(parts_tuple);
    from_list = PyList_New(1);
    if (unlikely(!from_list))
        return NULL;
    Py_INCREF(star);
    PyList_SET_ITEM(from_list, 0, star);
    module = __Pyx_Import(name, from_list, 0);
    Py_DECREF(from_list);
    return module;
#else
    PyObject *imported_module;
    PyObject *module = __Pyx_Import(name, NULL, 0);
    if (!parts_tuple || unlikely(!module))
        return module;
    imported_module = __Pyx__ImportDottedModule_Lookup(name);
    if (likely(imported_module)) {
        Py_DECREF(module);
        return imported_module;
    }
    PyErr_Clear();
    return __Pyx_ImportDottedModule_WalkParts(module, name, parts_tuple);
#endif
}
static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple) {
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030400B1
    PyObject *module = __Pyx__ImportDottedModule_Lookup(name);
    if (likely(module)) {
        PyObject *spec = __Pyx_PyObject_GetAttrStrNoError(module, __pyx_n_s_spec);
        if (likely(spec)) {
            PyObject *unsafe = __Pyx_PyObject_GetAttrStrNoError(spec, __pyx_n_s_initializing);
            if (likely(!unsafe || !__Pyx_PyObject_IsTrue(unsafe))) {
                Py_DECREF(spec);
                spec = NULL;
            }
            Py_XDECREF(unsafe);
        }
        if (likely(!spec)) {
            PyErr_Clear();
            return module;
        }
        Py_DECREF(spec);
        Py_DECREF(module);
    } else if (PyErr_Occurred()) {
        PyErr_Clear();
    }
#endif
    return __Pyx__ImportDottedModule(name, parts_tuple);
}

/* Py3UpdateBases */
static PyObject*
__Pyx_PEP560_update_bases(PyObject *bases)
{
    Py_ssize_t i, j, size_bases;
    PyObject *base, *meth, *new_base, *result, *new_bases = NULL;
    size_bases = PyTuple_GET_SIZE(bases);
    for (i = 0; i < size_bases; i++) {
        base  = PyTuple_GET_ITEM(bases, i);
        if (PyType_Check(base)) {
            if (new_bases) {
                if (PyList_Append(new_bases, base) < 0) {
                    goto error;
                }
            }
            continue;
        }
        meth = __Pyx_PyObject_GetAttrStrNoError(base, __pyx_n_s_mro_entries);
        if (!meth && PyErr_Occurred()) {
            goto error;
        }
        if (!meth) {
            if (new_bases) {
                if (PyList_Append(new_bases, base) < 0) {
                    goto error;
                }
            }
            continue;
        }
        new_base = __Pyx_PyObject_CallOneArg(meth, bases);
        Py_DECREF(meth);
        if (!new_base) {
            goto error;
        }
        if (!PyTuple_Check(new_base)) {
            PyErr_SetString(PyExc_TypeError,
                            "__mro_entries__ must return a tuple");
            Py_DECREF(new_base);
            goto error;
        }
        if (!new_bases) {
            if (!(new_bases = PyList_New(i))) {
                goto error;
            }
            for (j = 0; j < i; j++) {
                base = PyTuple_GET_ITEM(bases, j);
                PyList_SET_ITEM(new_bases, j, base);
                Py_INCREF(base);
            }
        }
        j = PyList_GET_SIZE(new_bases);
        if (PyList_SetSlice(new_bases, j, j, new_base) < 0) {
            goto error;
        }
        Py_DECREF(new_base);
    }
    if (!new_bases) {
        Py_INCREF(bases);
        return bases;
    }
    result = PyList_AsTuple(new_bases);
    Py_DECREF(new_bases);
    return result;
error:
    Py_XDECREF(new_bases);
    return NULL;
}

/* CalculateMetaclass */
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
    Py_ssize_t i, nbases;
#if CYTHON_ASSUME_SAFE_MACROS
    nbases = PyTuple_GET_SIZE(bases);
#else
    nbases = PyTuple_Size(bases);
    if (nbases < 0) return NULL;
#endif
    for (i=0; i < nbases; i++) {
        PyTypeObject *tmptype;
#if CYTHON_ASSUME_SAFE_MACROS
        PyObject *tmp = PyTuple_GET_ITEM(bases, i);
#else
        PyObject *tmp = PyTuple_GetItem(bases, i);
        if (!tmp) return NULL;
#endif
        tmptype = Py_TYPE(tmp);
#if PY_MAJOR_VERSION < 3
        if (tmptype == &PyClass_Type)
            continue;
#endif
        if (!metaclass) {
            metaclass = tmptype;
            continue;
        }
        if (PyType_IsSubtype(metaclass, tmptype))
            continue;
        if (PyType_IsSubtype(tmptype, metaclass)) {
            metaclass = tmptype;
            continue;
        }
        PyErr_SetString(PyExc_TypeError,
                        "metaclass conflict: "
                        "the metaclass of a derived class "
                        "must be a (non-strict) subclass "
                        "of the metaclasses of all its bases");
        return NULL;
    }
    if (!metaclass) {
#if PY_MAJOR_VERSION < 3
        metaclass = &PyClass_Type;
#else
        metaclass = &PyType_Type;
#endif
    }
    Py_INCREF((PyObject*) metaclass);
    return (PyObject*) metaclass;
}

/* PyObjectCall2Args */
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
    PyObject *args[3] = {NULL, arg1, arg2};
    return __Pyx_PyObject_FastCall(function, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}

/* PyObjectLookupSpecial */
#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error) {
    PyObject *res;
    PyTypeObject *tp = Py_TYPE(obj);
#if PY_MAJOR_VERSION < 3
    if (unlikely(PyInstance_Check(obj)))
        return with_error ? __Pyx_PyObject_GetAttrStr(obj, attr_name) : __Pyx_PyObject_GetAttrStrNoError(obj, attr_name);
#endif
    res = _PyType_Lookup(tp, attr_name);
    if (likely(res)) {
        descrgetfunc f = Py_TYPE(res)->tp_descr_get;
        if (!f) {
            Py_INCREF(res);
        } else {
            res = f(res, obj, (PyObject *)tp);
        }
    } else if (with_error) {
        PyErr_SetObject(PyExc_AttributeError, attr_name);
    }
    return res;
}
#endif

/* Py3ClassCreate */
static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name,
                                           PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) {
    PyObject *ns;
    if (metaclass) {
        PyObject *prep = __Pyx_PyObject_GetAttrStrNoError(metaclass, __pyx_n_s_prepare);
        if (prep) {
            PyObject *pargs[3] = {NULL, name, bases};
            ns = __Pyx_PyObject_FastCallDict(prep, pargs+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, mkw);
            Py_DECREF(prep);
        } else {
            if (unlikely(PyErr_Occurred()))
                return NULL;
            ns = PyDict_New();
        }
    } else {
        ns = PyDict_New();
    }
    if (unlikely(!ns))
        return NULL;
    if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)) goto bad;
#if PY_VERSION_HEX >= 0x03030000
    if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad;
#else
    CYTHON_MAYBE_UNUSED_VAR(qualname);
#endif
    if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)) goto bad;
    return ns;
bad:
    Py_DECREF(ns);
    return NULL;
}
#if PY_VERSION_HEX < 0x030600A4 && CYTHON_PEP487_INIT_SUBCLASS
static int __Pyx_SetNamesPEP487(PyObject *type_obj) {
    PyTypeObject *type = (PyTypeObject*) type_obj;
    PyObject *names_to_set, *key, *value, *set_name, *tmp;
    Py_ssize_t i = 0;
#if CYTHON_USE_TYPE_SLOTS
    names_to_set = PyDict_Copy(type->tp_dict);
#else
    {
        PyObject *d = PyObject_GetAttr(type_obj, __pyx_n_s_dict);
        names_to_set = NULL;
        if (likely(d)) {
            PyObject *names_to_set = PyDict_New();
            int ret = likely(names_to_set) ? PyDict_Update(names_to_set, d) : -1;
            Py_DECREF(d);
            if (unlikely(ret < 0))
                Py_CLEAR(names_to_set);
        }
    }
#endif
    if (unlikely(names_to_set == NULL))
        goto bad;
    while (PyDict_Next(names_to_set, &i, &key, &value)) {
        set_name = __Pyx_PyObject_LookupSpecialNoError(value, __pyx_n_s_set_name);
        if (unlikely(set_name != NULL)) {
            tmp = __Pyx_PyObject_Call2Args(set_name, type_obj, key);
            Py_DECREF(set_name);
            if (unlikely(tmp == NULL)) {
                __Pyx_TypeName value_type_name =
                    __Pyx_PyType_GetName(Py_TYPE(value));
                __Pyx_TypeName type_name = __Pyx_PyType_GetName(type);
                PyErr_Format(PyExc_RuntimeError,
#if PY_MAJOR_VERSION >= 3
                    "Error calling __set_name__ on '" __Pyx_FMT_TYPENAME "' instance %R " "in '" __Pyx_FMT_TYPENAME "'",
                    value_type_name, key, type_name);
#else
                    "Error calling __set_name__ on '" __Pyx_FMT_TYPENAME "' instance %.100s in '" __Pyx_FMT_TYPENAME "'",
                    value_type_name,
                    PyString_Check(key) ? PyString_AS_STRING(key) : "?",
                    type_name);
#endif
                goto bad;
            } else {
                Py_DECREF(tmp);
            }
        }
        else if (unlikely(PyErr_Occurred())) {
            goto bad;
        }
    }
    Py_DECREF(names_to_set);
    return 0;
bad:
    Py_XDECREF(names_to_set);
    return -1;
}
static PyObject *__Pyx_InitSubclassPEP487(PyObject *type_obj, PyObject *mkw) {
#if CYTHON_USE_TYPE_SLOTS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    PyTypeObject *type = (PyTypeObject*) type_obj;
    PyObject *mro = type->tp_mro;
    Py_ssize_t i, nbases;
    if (unlikely(!mro)) goto done;
    (void) &__Pyx_GetBuiltinName;
    Py_INCREF(mro);
    nbases = PyTuple_GET_SIZE(mro);
    assert(PyTuple_GET_ITEM(mro, 0) == type_obj);
    for (i = 1; i < nbases-1; i++) {
        PyObject *base, *dict, *meth;
        base = PyTuple_GET_ITEM(mro, i);
        dict = ((PyTypeObject *)base)->tp_dict;
        meth = __Pyx_PyDict_GetItemStrWithError(dict, __pyx_n_s_init_subclass);
        if (unlikely(meth)) {
            descrgetfunc f = Py_TYPE(meth)->tp_descr_get;
            PyObject *res;
            Py_INCREF(meth);
            if (likely(f)) {
                res = f(meth, NULL, type_obj);
                Py_DECREF(meth);
                if (unlikely(!res)) goto bad;
                meth = res;
            }
            res = __Pyx_PyObject_FastCallDict(meth, NULL, 0, mkw);
            Py_DECREF(meth);
            if (unlikely(!res)) goto bad;
            Py_DECREF(res);
            goto done;
        } else if (unlikely(PyErr_Occurred())) {
            goto bad;
        }
    }
done:
    Py_XDECREF(mro);
    return type_obj;
bad:
    Py_XDECREF(mro);
    Py_DECREF(type_obj);
    return NULL;
#else
    PyObject *super_type, *super, *func, *res;
#if CYTHON_COMPILING_IN_PYPY && !defined(PySuper_Type)
    super_type = __Pyx_GetBuiltinName(__pyx_n_s_super);
#else
    super_type = (PyObject*) &PySuper_Type;
    (void) &__Pyx_GetBuiltinName;
#endif
    super = likely(super_type) ? __Pyx_PyObject_Call2Args(super_type, type_obj, type_obj) : NULL;
#if CYTHON_COMPILING_IN_PYPY && !defined(PySuper_Type)
    Py_XDECREF(super_type);
#endif
    if (unlikely(!super)) {
        Py_CLEAR(type_obj);
        goto done;
    }
    func = __Pyx_PyObject_GetAttrStrNoError(super, __pyx_n_s_init_subclass);
    Py_DECREF(super);
    if (likely(!func)) {
        if (unlikely(PyErr_Occurred()))
            Py_CLEAR(type_obj);
        goto done;
    }
    res = __Pyx_PyObject_FastCallDict(func, NULL, 0, mkw);
    Py_DECREF(func);
    if (unlikely(!res))
        Py_CLEAR(type_obj);
    Py_XDECREF(res);
done:
    return type_obj;
#endif
}
#endif
static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases,
                                      PyObject *dict, PyObject *mkw,
                                      int calculate_metaclass, int allow_py2_metaclass) {
    PyObject *result;
    PyObject *owned_metaclass = NULL;
    PyObject *margs[4] = {NULL, name, bases, dict};
    if (allow_py2_metaclass) {
        owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_metaclass);
        if (owned_metaclass) {
            metaclass = owned_metaclass;
        } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) {
            PyErr_Clear();
        } else {
            return NULL;
        }
    }
    if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) {
        metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases);
        Py_XDECREF(owned_metaclass);
        if (unlikely(!metaclass))
            return NULL;
        owned_metaclass = metaclass;
    }
    result = __Pyx_PyObject_FastCallDict(metaclass, margs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET,
#if PY_VERSION_HEX < 0x030600A4
        (metaclass == (PyObject*)&PyType_Type) ? NULL : mkw
#else
        mkw
#endif
    );
    Py_XDECREF(owned_metaclass);
#if PY_VERSION_HEX < 0x030600A4 && CYTHON_PEP487_INIT_SUBCLASS
    if (likely(result) && likely(PyType_Check(result))) {
        if (unlikely(__Pyx_SetNamesPEP487(result) < 0)) {
            Py_CLEAR(result);
        } else {
            result = __Pyx_InitSubclassPEP487(result, mkw);
        }
    }
#else
    (void) &__Pyx_GetBuiltinName;
#endif
    return result;
}

/* FetchSharedCythonModule */
static PyObject *__Pyx_FetchSharedCythonABIModule(void) {
    return __Pyx_PyImport_AddModuleRef((char*) __PYX_ABI_MODULE_NAME);
}

/* FetchCommonType */
static int __Pyx_VerifyCachedType(PyObject *cached_type,
                               const char *name,
                               Py_ssize_t basicsize,
                               Py_ssize_t expected_basicsize) {
    if (!PyType_Check(cached_type)) {
        PyErr_Format(PyExc_TypeError,
            "Shared Cython type %.200s is not a type object", name);
        return -1;
    }
    if (basicsize != expected_basicsize) {
        PyErr_Format(PyExc_TypeError,
            "Shared Cython type %.200s has the wrong size, try recompiling",
            name);
        return -1;
    }
    return 0;
}
#if !CYTHON_USE_TYPE_SPECS
static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
    PyObject* abi_module;
    const char* object_name;
    PyTypeObject *cached_type = NULL;
    abi_module = __Pyx_FetchSharedCythonABIModule();
    if (!abi_module) return NULL;
    object_name = strrchr(type->tp_name, '.');
    object_name = object_name ? object_name+1 : type->tp_name;
    cached_type = (PyTypeObject*) PyObject_GetAttrString(abi_module, object_name);
    if (cached_type) {
        if (__Pyx_VerifyCachedType(
              (PyObject *)cached_type,
              object_name,
              cached_type->tp_basicsize,
              type->tp_basicsize) < 0) {
            goto bad;
        }
        goto done;
    }
    if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
    PyErr_Clear();
    if (PyType_Ready(type) < 0) goto bad;
    if (PyObject_SetAttrString(abi_module, object_name, (PyObject *)type) < 0)
        goto bad;
    Py_INCREF(type);
    cached_type = type;
done:
    Py_DECREF(abi_module);
    return cached_type;
bad:
    Py_XDECREF(cached_type);
    cached_type = NULL;
    goto done;
}
#else
static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases) {
    PyObject *abi_module, *cached_type = NULL;
    const char* object_name = strrchr(spec->name, '.');
    object_name = object_name ? object_name+1 : spec->name;
    abi_module = __Pyx_FetchSharedCythonABIModule();
    if (!abi_module) return NULL;
    cached_type = PyObject_GetAttrString(abi_module, object_name);
    if (cached_type) {
        Py_ssize_t basicsize;
#if CYTHON_COMPILING_IN_LIMITED_API
        PyObject *py_basicsize;
        py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__");
        if (unlikely(!py_basicsize)) goto bad;
        basicsize = PyLong_AsSsize_t(py_basicsize);
        Py_DECREF(py_basicsize);
        py_basicsize = 0;
        if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
#else
        basicsize = likely(PyType_Check(cached_type)) ? ((PyTypeObject*) cached_type)->tp_basicsize : -1;
#endif
        if (__Pyx_VerifyCachedType(
              cached_type,
              object_name,
              basicsize,
              spec->basicsize) < 0) {
            goto bad;
        }
        goto done;
    }
    if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
    PyErr_Clear();
    CYTHON_UNUSED_VAR(module);
    cached_type = __Pyx_PyType_FromModuleAndSpec(abi_module, spec, bases);
    if (unlikely(!cached_type)) goto bad;
    if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad;
    if (PyObject_SetAttrString(abi_module, object_name, cached_type) < 0) goto bad;
done:
    Py_DECREF(abi_module);
    assert(cached_type == NULL || PyType_Check(cached_type));
    return (PyTypeObject *) cached_type;
bad:
    Py_XDECREF(cached_type);
    cached_type = NULL;
    goto done;
}
#endif

/* PyVectorcallFastCallDict */
#if CYTHON_METH_FASTCALL
static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
{
    PyObject *res = NULL;
    PyObject *kwnames;
    PyObject **newargs;
    PyObject **kwvalues;
    Py_ssize_t i, pos;
    size_t j;
    PyObject *key, *value;
    unsigned long keys_are_strings;
    Py_ssize_t nkw = PyDict_GET_SIZE(kw);
    newargs = (PyObject **)PyMem_Malloc((nargs + (size_t)nkw) * sizeof(args[0]));
    if (unlikely(newargs == NULL)) {
        PyErr_NoMemory();
        return NULL;
    }
    for (j = 0; j < nargs; j++) newargs[j] = args[j];
    kwnames = PyTuple_New(nkw);
    if (unlikely(kwnames == NULL)) {
        PyMem_Free(newargs);
        return NULL;
    }
    kwvalues = newargs + nargs;
    pos = i = 0;
    keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS;
    while (PyDict_Next(kw, &pos, &key, &value)) {
        keys_are_strings &= Py_TYPE(key)->tp_flags;
        Py_INCREF(key);
        Py_INCREF(value);
        PyTuple_SET_ITEM(kwnames, i, key);
        kwvalues[i] = value;
        i++;
    }
    if (unlikely(!keys_are_strings)) {
        PyErr_SetString(PyExc_TypeError, "keywords must be strings");
        goto cleanup;
    }
    res = vc(func, newargs, nargs, kwnames);
cleanup:
    Py_DECREF(kwnames);
    for (i = 0; i < nkw; i++)
        Py_DECREF(kwvalues[i]);
    PyMem_Free(newargs);
    return res;
}
static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
{
    if (likely(kw == NULL) || PyDict_GET_SIZE(kw) == 0) {
        return vc(func, args, nargs, NULL);
    }
    return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw);
}
#endif

/* CythonFunctionShared */
#if CYTHON_COMPILING_IN_LIMITED_API
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
    if (__Pyx_CyFunction_Check(func)) {
        return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc;
    } else if (PyCFunction_Check(func)) {
        return PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
    }
    return 0;
}
#else
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
    return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
}
#endif
static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) {
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
    __Pyx_Py_XDECREF_SET(
        __Pyx_CyFunction_GetClassObj(f),
            ((classobj) ? __Pyx_NewRef(classobj) : NULL));
#else
    __Pyx_Py_XDECREF_SET(
        ((PyCMethodObject *) (f))->mm_class,
        (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL));
#endif
}
static PyObject *
__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure)
{
    CYTHON_UNUSED_VAR(closure);
    if (unlikely(op->func_doc == NULL)) {
#if CYTHON_COMPILING_IN_LIMITED_API
        op->func_doc = PyObject_GetAttrString(op->func, "__doc__");
        if (unlikely(!op->func_doc)) return NULL;
#else
        if (((PyCFunctionObject*)op)->m_ml->ml_doc) {
#if PY_MAJOR_VERSION >= 3
            op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
#else
            op->func_doc = PyString_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
#endif
            if (unlikely(op->func_doc == NULL))
                return NULL;
        } else {
            Py_INCREF(Py_None);
            return Py_None;
        }
#endif
    }
    Py_INCREF(op->func_doc);
    return op->func_doc;
}
static int
__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (value == NULL) {
        value = Py_None;
    }
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(op->func_doc, value);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(op->func_name == NULL)) {
#if CYTHON_COMPILING_IN_LIMITED_API
        op->func_name = PyObject_GetAttrString(op->func, "__name__");
#elif PY_MAJOR_VERSION >= 3
        op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
#else
        op->func_name = PyString_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
#endif
        if (unlikely(op->func_name == NULL))
            return NULL;
    }
    Py_INCREF(op->func_name);
    return op->func_name;
}
static int
__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
#if PY_MAJOR_VERSION >= 3
    if (unlikely(value == NULL || !PyUnicode_Check(value)))
#else
    if (unlikely(value == NULL || !PyString_Check(value)))
#endif
    {
        PyErr_SetString(PyExc_TypeError,
                        "__name__ must be set to a string object");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(op->func_name, value);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(context);
    Py_INCREF(op->func_qualname);
    return op->func_qualname;
}
static int
__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
#if PY_MAJOR_VERSION >= 3
    if (unlikely(value == NULL || !PyUnicode_Check(value)))
#else
    if (unlikely(value == NULL || !PyString_Check(value)))
#endif
    {
        PyErr_SetString(PyExc_TypeError,
                        "__qualname__ must be set to a string object");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(op->func_qualname, value);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(op->func_dict == NULL)) {
        op->func_dict = PyDict_New();
        if (unlikely(op->func_dict == NULL))
            return NULL;
    }
    Py_INCREF(op->func_dict);
    return op->func_dict;
}
static int
__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(value == NULL)) {
        PyErr_SetString(PyExc_TypeError,
               "function's dictionary may not be deleted");
        return -1;
    }
    if (unlikely(!PyDict_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
               "setting function's dictionary to a non-dict");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(op->func_dict, value);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(context);
    Py_INCREF(op->func_globals);
    return op->func_globals;
}
static PyObject *
__Pyx_CyFunction_get_closure(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(op);
    CYTHON_UNUSED_VAR(context);
    Py_INCREF(Py_None);
    return Py_None;
}
static PyObject *
__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, void *context)
{
    PyObject* result = (op->func_code) ? op->func_code : Py_None;
    CYTHON_UNUSED_VAR(context);
    Py_INCREF(result);
    return result;
}
static int
__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
    int result = 0;
    PyObject *res = op->defaults_getter((PyObject *) op);
    if (unlikely(!res))
        return -1;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    op->defaults_tuple = PyTuple_GET_ITEM(res, 0);
    Py_INCREF(op->defaults_tuple);
    op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
    Py_INCREF(op->defaults_kwdict);
    #else
    op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0);
    if (unlikely(!op->defaults_tuple)) result = -1;
    else {
        op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1);
        if (unlikely(!op->defaults_kwdict)) result = -1;
    }
    #endif
    Py_DECREF(res);
    return result;
}
static int
__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    if (!value) {
        value = Py_None;
    } else if (unlikely(value != Py_None && !PyTuple_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__defaults__ must be set to a tuple object");
        return -1;
    }
    PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__defaults__ will not "
                 "currently affect the values used in function calls", 1);
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(op->defaults_tuple, value);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, void *context) {
    PyObject* result = op->defaults_tuple;
    CYTHON_UNUSED_VAR(context);
    if (unlikely(!result)) {
        if (op->defaults_getter) {
            if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
            result = op->defaults_tuple;
        } else {
            result = Py_None;
        }
    }
    Py_INCREF(result);
    return result;
}
static int
__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    if (!value) {
        value = Py_None;
    } else if (unlikely(value != Py_None && !PyDict_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__kwdefaults__ must be set to a dict object");
        return -1;
    }
    PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__kwdefaults__ will not "
                 "currently affect the values used in function calls", 1);
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, void *context) {
    PyObject* result = op->defaults_kwdict;
    CYTHON_UNUSED_VAR(context);
    if (unlikely(!result)) {
        if (op->defaults_getter) {
            if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
            result = op->defaults_kwdict;
        } else {
            result = Py_None;
        }
    }
    Py_INCREF(result);
    return result;
}
static int
__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    if (!value || value == Py_None) {
        value = NULL;
    } else if (unlikely(!PyDict_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__annotations__ must be set to a dict object");
        return -1;
    }
    Py_XINCREF(value);
    __Pyx_Py_XDECREF_SET(op->func_annotations, value);
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, void *context) {
    PyObject* result = op->func_annotations;
    CYTHON_UNUSED_VAR(context);
    if (unlikely(!result)) {
        result = PyDict_New();
        if (unlikely(!result)) return NULL;
        op->func_annotations = result;
    }
    Py_INCREF(result);
    return result;
}
static PyObject *
__Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) {
    int is_coroutine;
    CYTHON_UNUSED_VAR(context);
    if (op->func_is_coroutine) {
        return __Pyx_NewRef(op->func_is_coroutine);
    }
    is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE;
#if PY_VERSION_HEX >= 0x03050000
    if (is_coroutine) {
        PyObject *module, *fromlist, *marker = __pyx_n_s_is_coroutine;
        fromlist = PyList_New(1);
        if (unlikely(!fromlist)) return NULL;
        Py_INCREF(marker);
#if CYTHON_ASSUME_SAFE_MACROS
        PyList_SET_ITEM(fromlist, 0, marker);
#else
        if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) {
            Py_DECREF(marker);
            Py_DECREF(fromlist);
            return NULL;
        }
#endif
        module = PyImport_ImportModuleLevelObject(__pyx_n_s_asyncio_coroutines, NULL, NULL, fromlist, 0);
        Py_DECREF(fromlist);
        if (unlikely(!module)) goto ignore;
        op->func_is_coroutine = __Pyx_PyObject_GetAttrStr(module, marker);
        Py_DECREF(module);
        if (likely(op->func_is_coroutine)) {
            return __Pyx_NewRef(op->func_is_coroutine);
        }
ignore:
        PyErr_Clear();
    }
#endif
    op->func_is_coroutine = __Pyx_PyBool_FromLong(is_coroutine);
    return __Pyx_NewRef(op->func_is_coroutine);
}
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *
__Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) {
    CYTHON_UNUSED_VAR(context);
    return PyObject_GetAttrString(op->func, "__module__");
}
static int
__Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    return PyObject_SetAttrString(op->func, "__module__", value);
}
#endif
static PyGetSetDef __pyx_CyFunction_getsets[] = {
    {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
    {(char *) "__doc__",  (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
    {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
    {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
    {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
    {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
    {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
    {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
    {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
    {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
    {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
    {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
    {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
    {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
    {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
    {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
    {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
    {(char *) "_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0},
#if CYTHON_COMPILING_IN_LIMITED_API
    {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0},
#endif
    {0, 0, 0, 0, 0}
};
static PyMemberDef __pyx_CyFunction_members[] = {
#if !CYTHON_COMPILING_IN_LIMITED_API
    {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0},
#endif
#if CYTHON_USE_TYPE_SPECS
    {(char *) "__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0},
#if CYTHON_METH_FASTCALL
#if CYTHON_BACKPORT_VECTORCALL
    {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0},
#else
#if !CYTHON_COMPILING_IN_LIMITED_API
    {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0},
#endif
#endif
#endif
#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
    {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0},
#else
    {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0},
#endif
#endif
    {0, 0, 0,  0, 0}
};
static PyObject *
__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, PyObject *args)
{
    CYTHON_UNUSED_VAR(args);
#if PY_MAJOR_VERSION >= 3
    Py_INCREF(m->func_qualname);
    return m->func_qualname;
#else
    return PyString_FromString(((PyCFunctionObject*)m)->m_ml->ml_name);
#endif
}
static PyMethodDef __pyx_CyFunction_methods[] = {
    {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
    {0, 0, 0, 0}
};
#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
#else
#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist)
#endif
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname,
                                       PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
#if !CYTHON_COMPILING_IN_LIMITED_API
    PyCFunctionObject *cf = (PyCFunctionObject*) op;
#endif
    if (unlikely(op == NULL))
        return NULL;
#if CYTHON_COMPILING_IN_LIMITED_API
    op->func = PyCFunction_NewEx(ml, (PyObject*)op, module);
    if (unlikely(!op->func)) return NULL;
#endif
    op->flags = flags;
    __Pyx_CyFunction_weakreflist(op) = NULL;
#if !CYTHON_COMPILING_IN_LIMITED_API
    cf->m_ml = ml;
    cf->m_self = (PyObject *) op;
#endif
    Py_XINCREF(closure);
    op->func_closure = closure;
#if !CYTHON_COMPILING_IN_LIMITED_API
    Py_XINCREF(module);
    cf->m_module = module;
#endif
    op->func_dict = NULL;
    op->func_name = NULL;
    Py_INCREF(qualname);
    op->func_qualname = qualname;
    op->func_doc = NULL;
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
    op->func_classobj = NULL;
#else
    ((PyCMethodObject*)op)->mm_class = NULL;
#endif
    op->func_globals = globals;
    Py_INCREF(op->func_globals);
    Py_XINCREF(code);
    op->func_code = code;
    op->defaults_pyobjects = 0;
    op->defaults_size = 0;
    op->defaults = NULL;
    op->defaults_tuple = NULL;
    op->defaults_kwdict = NULL;
    op->defaults_getter = NULL;
    op->func_annotations = NULL;
    op->func_is_coroutine = NULL;
#if CYTHON_METH_FASTCALL
    switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) {
    case METH_NOARGS:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS;
        break;
    case METH_O:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O;
        break;
    case METH_METHOD | METH_FASTCALL | METH_KEYWORDS:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD;
        break;
    case METH_FASTCALL | METH_KEYWORDS:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS;
        break;
    case METH_VARARGS | METH_KEYWORDS:
        __Pyx_CyFunction_func_vectorcall(op) = NULL;
        break;
    default:
        PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
        Py_DECREF(op);
        return NULL;
    }
#endif
    return (PyObject *) op;
}
static int
__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
{
    Py_CLEAR(m->func_closure);
#if CYTHON_COMPILING_IN_LIMITED_API
    Py_CLEAR(m->func);
#else
    Py_CLEAR(((PyCFunctionObject*)m)->m_module);
#endif
    Py_CLEAR(m->func_dict);
    Py_CLEAR(m->func_name);
    Py_CLEAR(m->func_qualname);
    Py_CLEAR(m->func_doc);
    Py_CLEAR(m->func_globals);
    Py_CLEAR(m->func_code);
#if !CYTHON_COMPILING_IN_LIMITED_API
#if PY_VERSION_HEX < 0x030900B1
    Py_CLEAR(__Pyx_CyFunction_GetClassObj(m));
#else
    {
        PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class;
        ((PyCMethodObject *) (m))->mm_class = NULL;
        Py_XDECREF(cls);
    }
#endif
#endif
    Py_CLEAR(m->defaults_tuple);
    Py_CLEAR(m->defaults_kwdict);
    Py_CLEAR(m->func_annotations);
    Py_CLEAR(m->func_is_coroutine);
    if (m->defaults) {
        PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
        int i;
        for (i = 0; i < m->defaults_pyobjects; i++)
            Py_XDECREF(pydefaults[i]);
        PyObject_Free(m->defaults);
        m->defaults = NULL;
    }
    return 0;
}
static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m)
{
    if (__Pyx_CyFunction_weakreflist(m) != NULL)
        PyObject_ClearWeakRefs((PyObject *) m);
    __Pyx_CyFunction_clear(m);
    __Pyx_PyHeapTypeObject_GC_Del(m);
}
static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
{
    PyObject_GC_UnTrack(m);
    __Pyx__CyFunction_dealloc(m);
}
static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
{
    Py_VISIT(m->func_closure);
#if CYTHON_COMPILING_IN_LIMITED_API
    Py_VISIT(m->func);
#else
    Py_VISIT(((PyCFunctionObject*)m)->m_module);
#endif
    Py_VISIT(m->func_dict);
    Py_VISIT(m->func_name);
    Py_VISIT(m->func_qualname);
    Py_VISIT(m->func_doc);
    Py_VISIT(m->func_globals);
    Py_VISIT(m->func_code);
#if !CYTHON_COMPILING_IN_LIMITED_API
    Py_VISIT(__Pyx_CyFunction_GetClassObj(m));
#endif
    Py_VISIT(m->defaults_tuple);
    Py_VISIT(m->defaults_kwdict);
    Py_VISIT(m->func_is_coroutine);
    if (m->defaults) {
        PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
        int i;
        for (i = 0; i < m->defaults_pyobjects; i++)
            Py_VISIT(pydefaults[i]);
    }
    return 0;
}
static PyObject*
__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
{
#if PY_MAJOR_VERSION >= 3
    return PyUnicode_FromFormat("<cyfunction %U at %p>",
                                op->func_qualname, (void *)op);
#else
    return PyString_FromFormat("<cyfunction %s at %p>",
                               PyString_AsString(op->func_qualname), (void *)op);
#endif
}
static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *f = ((__pyx_CyFunctionObject*)func)->func;
    PyObject *py_name = NULL;
    PyCFunction meth;
    int flags;
    meth = PyCFunction_GetFunction(f);
    if (unlikely(!meth)) return NULL;
    flags = PyCFunction_GetFlags(f);
    if (unlikely(flags < 0)) return NULL;
#else
    PyCFunctionObject* f = (PyCFunctionObject*)func;
    PyCFunction meth = f->m_ml->ml_meth;
    int flags = f->m_ml->ml_flags;
#endif
    Py_ssize_t size;
    switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
    case METH_VARARGS:
        if (likely(kw == NULL || PyDict_Size(kw) == 0))
            return (*meth)(self, arg);
        break;
    case METH_VARARGS | METH_KEYWORDS:
        return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw);
    case METH_NOARGS:
        if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
#if CYTHON_ASSUME_SAFE_MACROS
            size = PyTuple_GET_SIZE(arg);
#else
            size = PyTuple_Size(arg);
            if (unlikely(size < 0)) return NULL;
#endif
            if (likely(size == 0))
                return (*meth)(self, NULL);
#if CYTHON_COMPILING_IN_LIMITED_API
            py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
            if (!py_name) return NULL;
            PyErr_Format(PyExc_TypeError,
                "%.200S() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
                py_name, size);
            Py_DECREF(py_name);
#else
            PyErr_Format(PyExc_TypeError,
                "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
                f->m_ml->ml_name, size);
#endif
            return NULL;
        }
        break;
    case METH_O:
        if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
#if CYTHON_ASSUME_SAFE_MACROS
            size = PyTuple_GET_SIZE(arg);
#else
            size = PyTuple_Size(arg);
            if (unlikely(size < 0)) return NULL;
#endif
            if (likely(size == 1)) {
                PyObject *result, *arg0;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                arg0 = PyTuple_GET_ITEM(arg, 0);
                #else
                arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
                #endif
                result = (*meth)(self, arg0);
                #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
                Py_DECREF(arg0);
                #endif
                return result;
            }
#if CYTHON_COMPILING_IN_LIMITED_API
            py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
            if (!py_name) return NULL;
            PyErr_Format(PyExc_TypeError,
                "%.200S() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
                py_name, size);
            Py_DECREF(py_name);
#else
            PyErr_Format(PyExc_TypeError,
                "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
                f->m_ml->ml_name, size);
#endif
            return NULL;
        }
        break;
    default:
        PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
        return NULL;
    }
#if CYTHON_COMPILING_IN_LIMITED_API
    py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
    if (!py_name) return NULL;
    PyErr_Format(PyExc_TypeError, "%.200S() takes no keyword arguments",
                 py_name);
    Py_DECREF(py_name);
#else
    PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
                 f->m_ml->ml_name);
#endif
    return NULL;
}
static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    PyObject *self, *result;
#if CYTHON_COMPILING_IN_LIMITED_API
    self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func);
    if (unlikely(!self) && PyErr_Occurred()) return NULL;
#else
    self = ((PyCFunctionObject*)func)->m_self;
#endif
    result = __Pyx_CyFunction_CallMethod(func, self, arg, kw);
    return result;
}
static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
    PyObject *result;
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func;
#if CYTHON_METH_FASTCALL
     __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc);
    if (vc) {
#if CYTHON_ASSUME_SAFE_MACROS
        return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw);
#else
        (void) &__Pyx_PyVectorcall_FastCallDict;
        return PyVectorcall_Call(func, args, kw);
#endif
    }
#endif
    if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
        Py_ssize_t argc;
        PyObject *new_args;
        PyObject *self;
#if CYTHON_ASSUME_SAFE_MACROS
        argc = PyTuple_GET_SIZE(args);
#else
        argc = PyTuple_Size(args);
        if (unlikely(!argc) < 0) return NULL;
#endif
        new_args = PyTuple_GetSlice(args, 1, argc);
        if (unlikely(!new_args))
            return NULL;
        self = PyTuple_GetItem(args, 0);
        if (unlikely(!self)) {
            Py_DECREF(new_args);
#if PY_MAJOR_VERSION > 2
            PyErr_Format(PyExc_TypeError,
                         "unbound method %.200S() needs an argument",
                         cyfunc->func_qualname);
#else
            PyErr_SetString(PyExc_TypeError,
                            "unbound method needs an argument");
#endif
            return NULL;
        }
        result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
        Py_DECREF(new_args);
    } else {
        result = __Pyx_CyFunction_Call(func, args, kw);
    }
    return result;
}
#if CYTHON_METH_FASTCALL
static CYTHON_INLINE int __Pyx_CyFunction_Vectorcall_CheckArgs(__pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames)
{
    int ret = 0;
    if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
        if (unlikely(nargs < 1)) {
            PyErr_Format(PyExc_TypeError, "%.200s() needs an argument",
                         ((PyCFunctionObject*)cyfunc)->m_ml->ml_name);
            return -1;
        }
        ret = 1;
    }
    if (unlikely(kwnames) && unlikely(PyTuple_GET_SIZE(kwnames))) {
        PyErr_Format(PyExc_TypeError,
                     "%.200s() takes no keyword arguments", ((PyCFunctionObject*)cyfunc)->m_ml->ml_name);
        return -1;
    }
    return ret;
}
static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
    PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
#if CYTHON_BACKPORT_VECTORCALL
    Py_ssize_t nargs = (Py_ssize_t)nargsf;
#else
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
#endif
    PyObject *self;
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
        self = ((PyCFunctionObject*)cyfunc)->m_self;
        break;
    default:
        return NULL;
    }
    if (unlikely(nargs != 0)) {
        PyErr_Format(PyExc_TypeError,
            "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
            def->ml_name, nargs);
        return NULL;
    }
    return def->ml_meth(self, NULL);
}
static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
    PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
#if CYTHON_BACKPORT_VECTORCALL
    Py_ssize_t nargs = (Py_ssize_t)nargsf;
#else
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
#endif
    PyObject *self;
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
        self = ((PyCFunctionObject*)cyfunc)->m_self;
        break;
    default:
        return NULL;
    }
    if (unlikely(nargs != 1)) {
        PyErr_Format(PyExc_TypeError,
            "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
            def->ml_name, nargs);
        return NULL;
    }
    return def->ml_meth(self, args[0]);
}
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
    PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
#if CYTHON_BACKPORT_VECTORCALL
    Py_ssize_t nargs = (Py_ssize_t)nargsf;
#else
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
#endif
    PyObject *self;
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
        self = ((PyCFunctionObject*)cyfunc)->m_self;
        break;
    default:
        return NULL;
    }
    return ((_PyCFunctionFastWithKeywords)(void(*)(void))def->ml_meth)(self, args, nargs, kwnames);
}
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
    PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
    PyTypeObject *cls = (PyTypeObject *) __Pyx_CyFunction_GetClassObj(cyfunc);
#if CYTHON_BACKPORT_VECTORCALL
    Py_ssize_t nargs = (Py_ssize_t)nargsf;
#else
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
#endif
    PyObject *self;
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
        self = ((PyCFunctionObject*)cyfunc)->m_self;
        break;
    default:
        return NULL;
    }
    return ((__Pyx_PyCMethod)(void(*)(void))def->ml_meth)(self, cls, args, (size_t)nargs, kwnames);
}
#endif
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_CyFunctionType_slots[] = {
    {Py_tp_dealloc, (void *)__Pyx_CyFunction_dealloc},
    {Py_tp_repr, (void *)__Pyx_CyFunction_repr},
    {Py_tp_call, (void *)__Pyx_CyFunction_CallAsMethod},
    {Py_tp_traverse, (void *)__Pyx_CyFunction_traverse},
    {Py_tp_clear, (void *)__Pyx_CyFunction_clear},
    {Py_tp_methods, (void *)__pyx_CyFunction_methods},
    {Py_tp_members, (void *)__pyx_CyFunction_members},
    {Py_tp_getset, (void *)__pyx_CyFunction_getsets},
    {Py_tp_descr_get, (void *)__Pyx_PyMethod_New},
    {0, 0},
};
static PyType_Spec __pyx_CyFunctionType_spec = {
    __PYX_TYPE_MODULE_PREFIX "cython_function_or_method",
    sizeof(__pyx_CyFunctionObject),
    0,
#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
    Py_TPFLAGS_METHOD_DESCRIPTOR |
#endif
#if (defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL)
    _Py_TPFLAGS_HAVE_VECTORCALL |
#endif
    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
    __pyx_CyFunctionType_slots
};
#else
static PyTypeObject __pyx_CyFunctionType_type = {
    PyVarObject_HEAD_INIT(0, 0)
    __PYX_TYPE_MODULE_PREFIX "cython_function_or_method",
    sizeof(__pyx_CyFunctionObject),
    0,
    (destructor) __Pyx_CyFunction_dealloc,
#if !CYTHON_METH_FASTCALL
    0,
#elif CYTHON_BACKPORT_VECTORCALL
    (printfunc)offsetof(__pyx_CyFunctionObject, func_vectorcall),
#else
    offsetof(PyCFunctionObject, vectorcall),
#endif
    0,
    0,
#if PY_MAJOR_VERSION < 3
    0,
#else
    0,
#endif
    (reprfunc) __Pyx_CyFunction_repr,
    0,
    0,
    0,
    0,
    __Pyx_CyFunction_CallAsMethod,
    0,
    0,
    0,
    0,
#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
    Py_TPFLAGS_METHOD_DESCRIPTOR |
#endif
#if defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL
    _Py_TPFLAGS_HAVE_VECTORCALL |
#endif
    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
    0,
    (traverseproc) __Pyx_CyFunction_traverse,
    (inquiry) __Pyx_CyFunction_clear,
    0,
#if PY_VERSION_HEX < 0x030500A0
    offsetof(__pyx_CyFunctionObject, func_weakreflist),
#else
    offsetof(PyCFunctionObject, m_weakreflist),
#endif
    0,
    0,
    __pyx_CyFunction_methods,
    __pyx_CyFunction_members,
    __pyx_CyFunction_getsets,
    0,
    0,
    __Pyx_PyMethod_New,
    0,
    offsetof(__pyx_CyFunctionObject, func_dict),
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
#if PY_VERSION_HEX >= 0x030400a1
    0,
#endif
#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
    0,
#endif
#if __PYX_NEED_TP_PRINT_SLOT
    0,
#endif
#if PY_VERSION_HEX >= 0x030C0000
    0,
#endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
    0,
#endif
};
#endif
static int __pyx_CyFunction_init(PyObject *module) {
#if CYTHON_USE_TYPE_SPECS
    __pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CyFunctionType_spec, NULL);
#else
    CYTHON_UNUSED_VAR(module);
    __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type);
#endif
    if (unlikely(__pyx_CyFunctionType == NULL)) {
        return -1;
    }
    return 0;
}
static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->defaults = PyObject_Malloc(size);
    if (unlikely(!m->defaults))
        return PyErr_NoMemory();
    memset(m->defaults, 0, size);
    m->defaults_pyobjects = pyobjects;
    m->defaults_size = size;
    return m->defaults;
}
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->defaults_tuple = tuple;
    Py_INCREF(tuple);
}
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->defaults_kwdict = dict;
    Py_INCREF(dict);
}
static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->func_annotations = dict;
    Py_INCREF(dict);
}

/* CythonFunction */
static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname,
                                      PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
    PyObject *op = __Pyx_CyFunction_Init(
        PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType),
        ml, flags, qualname, closure, module, globals, code
    );
    if (likely(op)) {
        PyObject_GC_Track(op);
    }
    return op;
}

/* CLineInTraceback */
#ifndef CYTHON_CLINE_IN_TRACEBACK
static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) {
    PyObject *use_cline;
    PyObject *ptype, *pvalue, *ptraceback;
#if CYTHON_COMPILING_IN_CPYTHON
    PyObject **cython_runtime_dict;
#endif
    CYTHON_MAYBE_UNUSED_VAR(tstate);
    if (unlikely(!__pyx_cython_runtime)) {
        return c_line;
    }
    __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
#if CYTHON_COMPILING_IN_CPYTHON
    cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime);
    if (likely(cython_runtime_dict)) {
        __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
            use_cline, *cython_runtime_dict,
            __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback))
    } else
#endif
    {
      PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStrNoError(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback);
      if (use_cline_obj) {
        use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True;
        Py_DECREF(use_cline_obj);
      } else {
        PyErr_Clear();
        use_cline = NULL;
      }
    }
    if (!use_cline) {
        c_line = 0;
        (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);
    }
    else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
        c_line = 0;
    }
    __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
    return c_line;
}
#endif

/* CodeObjectCache */
#if !CYTHON_COMPILING_IN_LIMITED_API
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
    int start = 0, mid = 0, end = count - 1;
    if (end >= 0 && code_line > entries[end].code_line) {
        return count;
    }
    while (start < end) {
        mid = start + (end - start) / 2;
        if (code_line < entries[mid].code_line) {
            end = mid;
        } else if (code_line > entries[mid].code_line) {
             start = mid + 1;
        } else {
            return mid;
        }
    }
    if (code_line <= entries[mid].code_line) {
        return mid;
    } else {
        return mid + 1;
    }
}
static PyCodeObject *__pyx_find_code_object(int code_line) {
    PyCodeObject* code_object;
    int pos;
    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
        return NULL;
    }
    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
        return NULL;
    }
    code_object = __pyx_code_cache.entries[pos].code_object;
    Py_INCREF(code_object);
    return code_object;
}
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
    int pos, i;
    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
    if (unlikely(!code_line)) {
        return;
    }
    if (unlikely(!entries)) {
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
        if (likely(entries)) {
            __pyx_code_cache.entries = entries;
            __pyx_code_cache.max_count = 64;
            __pyx_code_cache.count = 1;
            entries[0].code_line = code_line;
            entries[0].code_object = code_object;
            Py_INCREF(code_object);
        }
        return;
    }
    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
        PyCodeObject* tmp = entries[pos].code_object;
        entries[pos].code_object = code_object;
        Py_DECREF(tmp);
        return;
    }
    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
        int new_max = __pyx_code_cache.max_count + 64;
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
            __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry));
        if (unlikely(!entries)) {
            return;
        }
        __pyx_code_cache.entries = entries;
        __pyx_code_cache.max_count = new_max;
    }
    for (i=__pyx_code_cache.count; i>pos; i--) {
        entries[i] = entries[i-1];
    }
    entries[pos].code_line = code_line;
    entries[pos].code_object = code_object;
    __pyx_code_cache.count++;
    Py_INCREF(code_object);
}
#endif

/* AddTraceback */
#include "compile.h"
#include "frameobject.h"
#include "traceback.h"
#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
  #ifndef Py_BUILD_CORE
    #define Py_BUILD_CORE 1
  #endif
  #include "internal/pycore_frame.h"
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict,
                                                       PyObject *firstlineno, PyObject *name) {
    PyObject *replace = NULL;
    if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL;
    if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL;
    replace = PyObject_GetAttrString(code, "replace");
    if (likely(replace)) {
        PyObject *result;
        result = PyObject_Call(replace, __pyx_empty_tuple, scratch_dict);
        Py_DECREF(replace);
        return result;
    }
    PyErr_Clear();
    #if __PYX_LIMITED_VERSION_HEX < 0x030780000
    {
        PyObject *compiled = NULL, *result = NULL;
        if (unlikely(PyDict_SetItemString(scratch_dict, "code", code))) return NULL;
        if (unlikely(PyDict_SetItemString(scratch_dict, "type", (PyObject*)(&PyType_Type)))) return NULL;
        compiled = Py_CompileString(
            "out = type(code)(\n"
            "  code.co_argcount, code.co_kwonlyargcount, code.co_nlocals, code.co_stacksize,\n"
            "  code.co_flags, code.co_code, code.co_consts, code.co_names,\n"
            "  code.co_varnames, code.co_filename, co_name, co_firstlineno,\n"
            "  code.co_lnotab)\n", "<dummy>", Py_file_input);
        if (!compiled) return NULL;
        result = PyEval_EvalCode(compiled, scratch_dict, scratch_dict);
        Py_DECREF(compiled);
        if (!result) PyErr_Print();
        Py_DECREF(result);
        result = PyDict_GetItemString(scratch_dict, "out");
        if (result) Py_INCREF(result);
        return result;
    }
    #else
    return NULL;
    #endif
}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename) {
    PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL;
    PyObject *replace = NULL, *getframe = NULL, *frame = NULL;
    PyObject *exc_type, *exc_value, *exc_traceback;
    int success = 0;
    if (c_line) {
        (void) __pyx_cfilenm;
        (void) __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line);
    }
    PyErr_Fetch(&exc_type, &exc_value, &exc_traceback);
    code_object = Py_CompileString("_getframe()", filename, Py_eval_input);
    if (unlikely(!code_object)) goto bad;
    py_py_line = PyLong_FromLong(py_line);
    if (unlikely(!py_py_line)) goto bad;
    py_funcname = PyUnicode_FromString(funcname);
    if (unlikely(!py_funcname)) goto bad;
    dict = PyDict_New();
    if (unlikely(!dict)) goto bad;
    {
        PyObject *old_code_object = code_object;
        code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname);
        Py_DECREF(old_code_object);
    }
    if (unlikely(!code_object)) goto bad;
    getframe = PySys_GetObject("_getframe");
    if (unlikely(!getframe)) goto bad;
    if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad;
    frame = PyEval_EvalCode(code_object, dict, dict);
    if (unlikely(!frame) || frame == Py_None) goto bad;
    success = 1;
  bad:
    PyErr_Restore(exc_type, exc_value, exc_traceback);
    Py_XDECREF(code_object);
    Py_XDECREF(py_py_line);
    Py_XDECREF(py_funcname);
    Py_XDECREF(dict);
    Py_XDECREF(replace);
    if (success) {
        PyTraceBack_Here(
            (struct _frame*)frame);
    }
    Py_XDECREF(frame);
}
#else
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
            const char *funcname, int c_line,
            int py_line, const char *filename) {
    PyCodeObject *py_code = NULL;
    PyObject *py_funcname = NULL;
    #if PY_MAJOR_VERSION < 3
    PyObject *py_srcfile = NULL;
    py_srcfile = PyString_FromString(filename);
    if (!py_srcfile) goto bad;
    #endif
    if (c_line) {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        if (!py_funcname) goto bad;
        #else
        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        if (!py_funcname) goto bad;
        funcname = PyUnicode_AsUTF8(py_funcname);
        if (!funcname) goto bad;
        #endif
    }
    else {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromString(funcname);
        if (!py_funcname) goto bad;
        #endif
    }
    #if PY_MAJOR_VERSION < 3
    py_code = __Pyx_PyCode_New(
        0,
        0,
        0,
        0,
        0,
        0,
        __pyx_empty_bytes, /*PyObject *code,*/
        __pyx_empty_tuple, /*PyObject *consts,*/
        __pyx_empty_tuple, /*PyObject *names,*/
        __pyx_empty_tuple, /*PyObject *varnames,*/
        __pyx_empty_tuple, /*PyObject *freevars,*/
        __pyx_empty_tuple, /*PyObject *cellvars,*/
        py_srcfile,   /*PyObject *filename,*/
        py_funcname,  /*PyObject *name,*/
        py_line,
        __pyx_empty_bytes  /*PyObject *lnotab*/
    );
    Py_DECREF(py_srcfile);
    #else
    py_code = PyCode_NewEmpty(filename, funcname, py_line);
    #endif
    Py_XDECREF(py_funcname);  // XDECREF since it's only set on Py3 if cline
    return py_code;
bad:
    Py_XDECREF(py_funcname);
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(py_srcfile);
    #endif
    return NULL;
}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename) {
    PyCodeObject *py_code = 0;
    PyFrameObject *py_frame = 0;
    PyThreadState *tstate = __Pyx_PyThreadState_Current;
    PyObject *ptype, *pvalue, *ptraceback;
    if (c_line) {
        c_line = __Pyx_CLineForTraceback(tstate, c_line);
    }
    py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
    if (!py_code) {
        __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
        py_code = __Pyx_CreateCodeObjectForTraceback(
            funcname, c_line, py_line, filename);
        if (!py_code) {
            /* If the code object creation fails, then we should clear the
               fetched exception references and propagate the new exception */
            Py_XDECREF(ptype);
            Py_XDECREF(pvalue);
            Py_XDECREF(ptraceback);
            goto bad;
        }
        __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
        __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
    }
    py_frame = PyFrame_New(
        tstate,            /*PyThreadState *tstate,*/
        py_code,           /*PyCodeObject *code,*/
        __pyx_d,    /*PyObject *globals,*/
        0                  /*PyObject *locals*/
    );
    if (!py_frame) goto bad;
    __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
    PyTraceBack_Here(py_frame);
bad:
    Py_XDECREF(py_code);
    Py_XDECREF(py_frame);
}
#endif

/* CIntFromPyVerify */
#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
    {\
        func_type value = func_value;\
        if (sizeof(target_type) < sizeof(func_type)) {\
            if (unlikely(value != (func_type) (target_type) value)) {\
                func_type zero = 0;\
                if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
                    return (target_type) -1;\
                if (is_unsigned && unlikely(value < zero))\
                    goto raise_neg_overflow;\
                else\
                    goto raise_overflow;\
            }\
        }\
        return (target_type) value;\
    }

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From___pyx_anon_enum(int value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(int) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(int) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(int) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(int),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(int));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUipcMem_flags_enum(enum CUipcMem_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUipcMem_flags_enum neg_one = (enum CUipcMem_flags_enum) -1, const_zero = (enum CUipcMem_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUipcMem_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUipcMem_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUipcMem_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUipcMem_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUipcMem_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUipcMem_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUipcMem_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemAttach_flags_enum(enum CUmemAttach_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAttach_flags_enum neg_one = (enum CUmemAttach_flags_enum) -1, const_zero = (enum CUmemAttach_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemAttach_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUmemAttach_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAttach_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemAttach_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAttach_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemAttach_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemAttach_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUctx_flags_enum(enum CUctx_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUctx_flags_enum neg_one = (enum CUctx_flags_enum) -1, const_zero = (enum CUctx_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUctx_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUctx_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUctx_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUctx_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUctx_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUctx_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUctx_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUevent_sched_flags_enum(enum CUevent_sched_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUevent_sched_flags_enum neg_one = (enum CUevent_sched_flags_enum) -1, const_zero = (enum CUevent_sched_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUevent_sched_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUevent_sched_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUevent_sched_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUevent_sched_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUevent_sched_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUevent_sched_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUevent_sched_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cl_event_flags_enum(enum cl_event_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cl_event_flags_enum neg_one = (enum cl_event_flags_enum) -1, const_zero = (enum cl_event_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum cl_event_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cl_event_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cl_event_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cl_event_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cl_event_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum cl_event_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum cl_event_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cl_context_flags_enum(enum cl_context_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cl_context_flags_enum neg_one = (enum cl_context_flags_enum) -1, const_zero = (enum cl_context_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum cl_context_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cl_context_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cl_context_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cl_context_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cl_context_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum cl_context_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum cl_context_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUstream_flags_enum(enum CUstream_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstream_flags_enum neg_one = (enum CUstream_flags_enum) -1, const_zero = (enum CUstream_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUstream_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUstream_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstream_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUstream_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstream_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUstream_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUstream_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUevent_flags_enum(enum CUevent_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUevent_flags_enum neg_one = (enum CUevent_flags_enum) -1, const_zero = (enum CUevent_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUevent_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUevent_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUevent_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUevent_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUevent_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUevent_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUevent_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUevent_record_flags_enum(enum CUevent_record_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUevent_record_flags_enum neg_one = (enum CUevent_record_flags_enum) -1, const_zero = (enum CUevent_record_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUevent_record_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUevent_record_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUevent_record_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUevent_record_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUevent_record_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUevent_record_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUevent_record_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUevent_wait_flags_enum(enum CUevent_wait_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUevent_wait_flags_enum neg_one = (enum CUevent_wait_flags_enum) -1, const_zero = (enum CUevent_wait_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUevent_wait_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUevent_wait_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUevent_wait_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUevent_wait_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUevent_wait_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUevent_wait_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUevent_wait_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUstreamWaitValue_flags_enum(enum CUstreamWaitValue_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamWaitValue_flags_enum neg_one = (enum CUstreamWaitValue_flags_enum) -1, const_zero = (enum CUstreamWaitValue_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUstreamWaitValue_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUstreamWaitValue_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamWaitValue_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUstreamWaitValue_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamWaitValue_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUstreamWaitValue_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUstreamWaitValue_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUstreamWriteValue_flags_enum(enum CUstreamWriteValue_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamWriteValue_flags_enum neg_one = (enum CUstreamWriteValue_flags_enum) -1, const_zero = (enum CUstreamWriteValue_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUstreamWriteValue_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUstreamWriteValue_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamWriteValue_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUstreamWriteValue_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamWriteValue_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUstreamWriteValue_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUstreamWriteValue_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUstreamBatchMemOpType_enum(enum CUstreamBatchMemOpType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamBatchMemOpType_enum neg_one = (enum CUstreamBatchMemOpType_enum) -1, const_zero = (enum CUstreamBatchMemOpType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUstreamBatchMemOpType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUstreamBatchMemOpType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamBatchMemOpType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUstreamBatchMemOpType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamBatchMemOpType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUstreamBatchMemOpType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUstreamBatchMemOpType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUstreamMemoryBarrier_flags_enum(enum CUstreamMemoryBarrier_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamMemoryBarrier_flags_enum neg_one = (enum CUstreamMemoryBarrier_flags_enum) -1, const_zero = (enum CUstreamMemoryBarrier_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUstreamMemoryBarrier_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUstreamMemoryBarrier_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamMemoryBarrier_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUstreamMemoryBarrier_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamMemoryBarrier_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUstreamMemoryBarrier_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUstreamMemoryBarrier_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUoccupancy_flags_enum(enum CUoccupancy_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUoccupancy_flags_enum neg_one = (enum CUoccupancy_flags_enum) -1, const_zero = (enum CUoccupancy_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUoccupancy_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUoccupancy_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUoccupancy_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUoccupancy_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUoccupancy_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUoccupancy_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUoccupancy_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUstreamUpdateCaptureDependencies_flags_enum(enum CUstreamUpdateCaptureDependencies_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamUpdateCaptureDependencies_flags_enum neg_one = (enum CUstreamUpdateCaptureDependencies_flags_enum) -1, const_zero = (enum CUstreamUpdateCaptureDependencies_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUstreamUpdateCaptureDependencies_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUstreamUpdateCaptureDependencies_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamUpdateCaptureDependencies_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUstreamUpdateCaptureDependencies_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamUpdateCaptureDependencies_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUstreamUpdateCaptureDependencies_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUstreamUpdateCaptureDependencies_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUasyncNotificationType_enum(enum CUasyncNotificationType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUasyncNotificationType_enum neg_one = (enum CUasyncNotificationType_enum) -1, const_zero = (enum CUasyncNotificationType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUasyncNotificationType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUasyncNotificationType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUasyncNotificationType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUasyncNotificationType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUasyncNotificationType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUasyncNotificationType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUasyncNotificationType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUarray_format_enum(enum CUarray_format_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUarray_format_enum neg_one = (enum CUarray_format_enum) -1, const_zero = (enum CUarray_format_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUarray_format_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUarray_format_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUarray_format_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUarray_format_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUarray_format_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUarray_format_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUarray_format_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUaddress_mode_enum(enum CUaddress_mode_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUaddress_mode_enum neg_one = (enum CUaddress_mode_enum) -1, const_zero = (enum CUaddress_mode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUaddress_mode_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUaddress_mode_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUaddress_mode_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUaddress_mode_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUaddress_mode_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUaddress_mode_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUaddress_mode_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUfilter_mode_enum(enum CUfilter_mode_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUfilter_mode_enum neg_one = (enum CUfilter_mode_enum) -1, const_zero = (enum CUfilter_mode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUfilter_mode_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUfilter_mode_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUfilter_mode_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUfilter_mode_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUfilter_mode_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUfilter_mode_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUfilter_mode_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUdevice_attribute_enum(enum CUdevice_attribute_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUdevice_attribute_enum neg_one = (enum CUdevice_attribute_enum) -1, const_zero = (enum CUdevice_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUdevice_attribute_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUdevice_attribute_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUdevice_attribute_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUdevice_attribute_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUdevice_attribute_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUdevice_attribute_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUdevice_attribute_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUpointer_attribute_enum(enum CUpointer_attribute_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUpointer_attribute_enum neg_one = (enum CUpointer_attribute_enum) -1, const_zero = (enum CUpointer_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUpointer_attribute_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUpointer_attribute_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUpointer_attribute_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUpointer_attribute_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUpointer_attribute_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUpointer_attribute_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUpointer_attribute_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUfunction_attribute_enum(enum CUfunction_attribute_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUfunction_attribute_enum neg_one = (enum CUfunction_attribute_enum) -1, const_zero = (enum CUfunction_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUfunction_attribute_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUfunction_attribute_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUfunction_attribute_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUfunction_attribute_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUfunction_attribute_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUfunction_attribute_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUfunction_attribute_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUfunc_cache_enum(enum CUfunc_cache_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUfunc_cache_enum neg_one = (enum CUfunc_cache_enum) -1, const_zero = (enum CUfunc_cache_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUfunc_cache_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUfunc_cache_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUfunc_cache_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUfunc_cache_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUfunc_cache_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUfunc_cache_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUfunc_cache_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUsharedconfig_enum(enum CUsharedconfig_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUsharedconfig_enum neg_one = (enum CUsharedconfig_enum) -1, const_zero = (enum CUsharedconfig_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUsharedconfig_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUsharedconfig_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUsharedconfig_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUsharedconfig_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUsharedconfig_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUsharedconfig_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUsharedconfig_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUshared_carveout_enum(enum CUshared_carveout_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUshared_carveout_enum neg_one = (enum CUshared_carveout_enum) -1, const_zero = (enum CUshared_carveout_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUshared_carveout_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUshared_carveout_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUshared_carveout_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUshared_carveout_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUshared_carveout_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUshared_carveout_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUshared_carveout_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemorytype_enum(enum CUmemorytype_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemorytype_enum neg_one = (enum CUmemorytype_enum) -1, const_zero = (enum CUmemorytype_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemorytype_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUmemorytype_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemorytype_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemorytype_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemorytype_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemorytype_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemorytype_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUcomputemode_enum(enum CUcomputemode_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUcomputemode_enum neg_one = (enum CUcomputemode_enum) -1, const_zero = (enum CUcomputemode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUcomputemode_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUcomputemode_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUcomputemode_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUcomputemode_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUcomputemode_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUcomputemode_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUcomputemode_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmem_advise_enum(enum CUmem_advise_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmem_advise_enum neg_one = (enum CUmem_advise_enum) -1, const_zero = (enum CUmem_advise_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmem_advise_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUmem_advise_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmem_advise_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmem_advise_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmem_advise_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmem_advise_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmem_advise_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmem_range_attribute_enum(enum CUmem_range_attribute_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmem_range_attribute_enum neg_one = (enum CUmem_range_attribute_enum) -1, const_zero = (enum CUmem_range_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmem_range_attribute_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUmem_range_attribute_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmem_range_attribute_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmem_range_attribute_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmem_range_attribute_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmem_range_attribute_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmem_range_attribute_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUjit_option_enum(enum CUjit_option_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUjit_option_enum neg_one = (enum CUjit_option_enum) -1, const_zero = (enum CUjit_option_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUjit_option_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUjit_option_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUjit_option_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUjit_option_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUjit_option_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUjit_option_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUjit_option_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUjit_target_enum(enum CUjit_target_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUjit_target_enum neg_one = (enum CUjit_target_enum) -1, const_zero = (enum CUjit_target_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUjit_target_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUjit_target_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUjit_target_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUjit_target_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUjit_target_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUjit_target_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUjit_target_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUjit_fallback_enum(enum CUjit_fallback_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUjit_fallback_enum neg_one = (enum CUjit_fallback_enum) -1, const_zero = (enum CUjit_fallback_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUjit_fallback_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUjit_fallback_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUjit_fallback_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUjit_fallback_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUjit_fallback_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUjit_fallback_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUjit_fallback_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUjit_cacheMode_enum(enum CUjit_cacheMode_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUjit_cacheMode_enum neg_one = (enum CUjit_cacheMode_enum) -1, const_zero = (enum CUjit_cacheMode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUjit_cacheMode_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUjit_cacheMode_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUjit_cacheMode_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUjit_cacheMode_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUjit_cacheMode_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUjit_cacheMode_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUjit_cacheMode_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUjitInputType_enum(enum CUjitInputType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUjitInputType_enum neg_one = (enum CUjitInputType_enum) -1, const_zero = (enum CUjitInputType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUjitInputType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUjitInputType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUjitInputType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUjitInputType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUjitInputType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUjitInputType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUjitInputType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphicsRegisterFlags_enum(enum CUgraphicsRegisterFlags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphicsRegisterFlags_enum neg_one = (enum CUgraphicsRegisterFlags_enum) -1, const_zero = (enum CUgraphicsRegisterFlags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphicsRegisterFlags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUgraphicsRegisterFlags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphicsRegisterFlags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphicsRegisterFlags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphicsRegisterFlags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphicsRegisterFlags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphicsRegisterFlags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphicsMapResourceFlags_enum(enum CUgraphicsMapResourceFlags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphicsMapResourceFlags_enum neg_one = (enum CUgraphicsMapResourceFlags_enum) -1, const_zero = (enum CUgraphicsMapResourceFlags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphicsMapResourceFlags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUgraphicsMapResourceFlags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphicsMapResourceFlags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphicsMapResourceFlags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphicsMapResourceFlags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphicsMapResourceFlags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphicsMapResourceFlags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUarray_cubemap_face_enum(enum CUarray_cubemap_face_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUarray_cubemap_face_enum neg_one = (enum CUarray_cubemap_face_enum) -1, const_zero = (enum CUarray_cubemap_face_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUarray_cubemap_face_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUarray_cubemap_face_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUarray_cubemap_face_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUarray_cubemap_face_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUarray_cubemap_face_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUarray_cubemap_face_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUarray_cubemap_face_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUlimit_enum(enum CUlimit_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUlimit_enum neg_one = (enum CUlimit_enum) -1, const_zero = (enum CUlimit_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUlimit_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUlimit_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUlimit_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUlimit_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUlimit_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUlimit_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUlimit_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUresourcetype_enum(enum CUresourcetype_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUresourcetype_enum neg_one = (enum CUresourcetype_enum) -1, const_zero = (enum CUresourcetype_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUresourcetype_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUresourcetype_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUresourcetype_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUresourcetype_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUresourcetype_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUresourcetype_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUresourcetype_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUaccessProperty_enum(enum CUaccessProperty_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUaccessProperty_enum neg_one = (enum CUaccessProperty_enum) -1, const_zero = (enum CUaccessProperty_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUaccessProperty_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUaccessProperty_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUaccessProperty_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUaccessProperty_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUaccessProperty_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUaccessProperty_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUaccessProperty_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphConditionalNodeType_enum(enum CUgraphConditionalNodeType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphConditionalNodeType_enum neg_one = (enum CUgraphConditionalNodeType_enum) -1, const_zero = (enum CUgraphConditionalNodeType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphConditionalNodeType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUgraphConditionalNodeType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphConditionalNodeType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphConditionalNodeType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphConditionalNodeType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphConditionalNodeType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphConditionalNodeType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphNodeType_enum(enum CUgraphNodeType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphNodeType_enum neg_one = (enum CUgraphNodeType_enum) -1, const_zero = (enum CUgraphNodeType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphNodeType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUgraphNodeType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphNodeType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphNodeType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphNodeType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphNodeType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphNodeType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphDependencyType_enum(enum CUgraphDependencyType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphDependencyType_enum neg_one = (enum CUgraphDependencyType_enum) -1, const_zero = (enum CUgraphDependencyType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphDependencyType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUgraphDependencyType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphDependencyType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphDependencyType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphDependencyType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphDependencyType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphDependencyType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphInstantiateResult_enum(enum CUgraphInstantiateResult_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphInstantiateResult_enum neg_one = (enum CUgraphInstantiateResult_enum) -1, const_zero = (enum CUgraphInstantiateResult_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphInstantiateResult_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUgraphInstantiateResult_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphInstantiateResult_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphInstantiateResult_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphInstantiateResult_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphInstantiateResult_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphInstantiateResult_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUsynchronizationPolicy_enum(enum CUsynchronizationPolicy_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUsynchronizationPolicy_enum neg_one = (enum CUsynchronizationPolicy_enum) -1, const_zero = (enum CUsynchronizationPolicy_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUsynchronizationPolicy_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUsynchronizationPolicy_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUsynchronizationPolicy_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUsynchronizationPolicy_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUsynchronizationPolicy_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUsynchronizationPolicy_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUsynchronizationPolicy_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUclusterSchedulingPolicy_enum(enum CUclusterSchedulingPolicy_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUclusterSchedulingPolicy_enum neg_one = (enum CUclusterSchedulingPolicy_enum) -1, const_zero = (enum CUclusterSchedulingPolicy_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUclusterSchedulingPolicy_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUclusterSchedulingPolicy_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUclusterSchedulingPolicy_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUclusterSchedulingPolicy_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUclusterSchedulingPolicy_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUclusterSchedulingPolicy_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUclusterSchedulingPolicy_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUlaunchMemSyncDomain_enum(enum CUlaunchMemSyncDomain_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUlaunchMemSyncDomain_enum neg_one = (enum CUlaunchMemSyncDomain_enum) -1, const_zero = (enum CUlaunchMemSyncDomain_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUlaunchMemSyncDomain_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUlaunchMemSyncDomain_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUlaunchMemSyncDomain_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUlaunchMemSyncDomain_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUlaunchMemSyncDomain_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUlaunchMemSyncDomain_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUlaunchMemSyncDomain_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUlaunchAttributeID_enum(enum CUlaunchAttributeID_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUlaunchAttributeID_enum neg_one = (enum CUlaunchAttributeID_enum) -1, const_zero = (enum CUlaunchAttributeID_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUlaunchAttributeID_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUlaunchAttributeID_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUlaunchAttributeID_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUlaunchAttributeID_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUlaunchAttributeID_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUlaunchAttributeID_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUlaunchAttributeID_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUstreamCaptureStatus_enum(enum CUstreamCaptureStatus_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamCaptureStatus_enum neg_one = (enum CUstreamCaptureStatus_enum) -1, const_zero = (enum CUstreamCaptureStatus_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUstreamCaptureStatus_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUstreamCaptureStatus_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamCaptureStatus_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUstreamCaptureStatus_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamCaptureStatus_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUstreamCaptureStatus_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUstreamCaptureStatus_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUstreamCaptureMode_enum(enum CUstreamCaptureMode_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamCaptureMode_enum neg_one = (enum CUstreamCaptureMode_enum) -1, const_zero = (enum CUstreamCaptureMode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUstreamCaptureMode_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUstreamCaptureMode_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamCaptureMode_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUstreamCaptureMode_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUstreamCaptureMode_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUstreamCaptureMode_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUstreamCaptureMode_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUdriverProcAddress_flags_enum(enum CUdriverProcAddress_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUdriverProcAddress_flags_enum neg_one = (enum CUdriverProcAddress_flags_enum) -1, const_zero = (enum CUdriverProcAddress_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUdriverProcAddress_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUdriverProcAddress_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUdriverProcAddress_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUdriverProcAddress_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUdriverProcAddress_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUdriverProcAddress_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUdriverProcAddress_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUdriverProcAddressQueryResult_enum(enum CUdriverProcAddressQueryResult_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUdriverProcAddressQueryResult_enum neg_one = (enum CUdriverProcAddressQueryResult_enum) -1, const_zero = (enum CUdriverProcAddressQueryResult_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUdriverProcAddressQueryResult_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUdriverProcAddressQueryResult_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUdriverProcAddressQueryResult_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUdriverProcAddressQueryResult_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUdriverProcAddressQueryResult_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUdriverProcAddressQueryResult_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUdriverProcAddressQueryResult_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUexecAffinityType_enum(enum CUexecAffinityType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUexecAffinityType_enum neg_one = (enum CUexecAffinityType_enum) -1, const_zero = (enum CUexecAffinityType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUexecAffinityType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUexecAffinityType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUexecAffinityType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUexecAffinityType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUexecAffinityType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUexecAffinityType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUexecAffinityType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUlibraryOption_enum(enum CUlibraryOption_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUlibraryOption_enum neg_one = (enum CUlibraryOption_enum) -1, const_zero = (enum CUlibraryOption_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUlibraryOption_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUlibraryOption_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUlibraryOption_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUlibraryOption_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUlibraryOption_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUlibraryOption_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUlibraryOption_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__cudaError_enum(enum cudaError_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaError_enum neg_one = (enum cudaError_enum) -1, const_zero = (enum cudaError_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum cudaError_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum cudaError_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaError_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum cudaError_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum cudaError_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum cudaError_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum cudaError_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUdevice_P2PAttribute_enum(enum CUdevice_P2PAttribute_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUdevice_P2PAttribute_enum neg_one = (enum CUdevice_P2PAttribute_enum) -1, const_zero = (enum CUdevice_P2PAttribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUdevice_P2PAttribute_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUdevice_P2PAttribute_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUdevice_P2PAttribute_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUdevice_P2PAttribute_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUdevice_P2PAttribute_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUdevice_P2PAttribute_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUdevice_P2PAttribute_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUresourceViewFormat_enum(enum CUresourceViewFormat_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUresourceViewFormat_enum neg_one = (enum CUresourceViewFormat_enum) -1, const_zero = (enum CUresourceViewFormat_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUresourceViewFormat_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUresourceViewFormat_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUresourceViewFormat_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUresourceViewFormat_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUresourceViewFormat_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUresourceViewFormat_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUresourceViewFormat_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUtensorMapDataType_enum(enum CUtensorMapDataType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapDataType_enum neg_one = (enum CUtensorMapDataType_enum) -1, const_zero = (enum CUtensorMapDataType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUtensorMapDataType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUtensorMapDataType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUtensorMapDataType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUtensorMapDataType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUtensorMapDataType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUtensorMapDataType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUtensorMapDataType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUtensorMapInterleave_enum(enum CUtensorMapInterleave_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapInterleave_enum neg_one = (enum CUtensorMapInterleave_enum) -1, const_zero = (enum CUtensorMapInterleave_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUtensorMapInterleave_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUtensorMapInterleave_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUtensorMapInterleave_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUtensorMapInterleave_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUtensorMapInterleave_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUtensorMapInterleave_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUtensorMapInterleave_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUtensorMapSwizzle_enum(enum CUtensorMapSwizzle_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapSwizzle_enum neg_one = (enum CUtensorMapSwizzle_enum) -1, const_zero = (enum CUtensorMapSwizzle_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUtensorMapSwizzle_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUtensorMapSwizzle_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUtensorMapSwizzle_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUtensorMapSwizzle_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUtensorMapSwizzle_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUtensorMapSwizzle_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUtensorMapSwizzle_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUtensorMapL2promotion_enum(enum CUtensorMapL2promotion_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapL2promotion_enum neg_one = (enum CUtensorMapL2promotion_enum) -1, const_zero = (enum CUtensorMapL2promotion_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUtensorMapL2promotion_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUtensorMapL2promotion_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUtensorMapL2promotion_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUtensorMapL2promotion_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUtensorMapL2promotion_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUtensorMapL2promotion_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUtensorMapL2promotion_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUtensorMapFloatOOBfill_enum(enum CUtensorMapFloatOOBfill_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapFloatOOBfill_enum neg_one = (enum CUtensorMapFloatOOBfill_enum) -1, const_zero = (enum CUtensorMapFloatOOBfill_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUtensorMapFloatOOBfill_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUtensorMapFloatOOBfill_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUtensorMapFloatOOBfill_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUtensorMapFloatOOBfill_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUtensorMapFloatOOBfill_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUtensorMapFloatOOBfill_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUtensorMapFloatOOBfill_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum neg_one = (enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum) -1, const_zero = (enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUexternalMemoryHandleType_enum(enum CUexternalMemoryHandleType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUexternalMemoryHandleType_enum neg_one = (enum CUexternalMemoryHandleType_enum) -1, const_zero = (enum CUexternalMemoryHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUexternalMemoryHandleType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUexternalMemoryHandleType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUexternalMemoryHandleType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUexternalMemoryHandleType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUexternalMemoryHandleType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUexternalMemoryHandleType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUexternalMemoryHandleType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUexternalSemaphoreHandleType_enum(enum CUexternalSemaphoreHandleType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUexternalSemaphoreHandleType_enum neg_one = (enum CUexternalSemaphoreHandleType_enum) -1, const_zero = (enum CUexternalSemaphoreHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUexternalSemaphoreHandleType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUexternalSemaphoreHandleType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUexternalSemaphoreHandleType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUexternalSemaphoreHandleType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUexternalSemaphoreHandleType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUexternalSemaphoreHandleType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUexternalSemaphoreHandleType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemAllocationHandleType_enum(enum CUmemAllocationHandleType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAllocationHandleType_enum neg_one = (enum CUmemAllocationHandleType_enum) -1, const_zero = (enum CUmemAllocationHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemAllocationHandleType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUmemAllocationHandleType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAllocationHandleType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemAllocationHandleType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAllocationHandleType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemAllocationHandleType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemAllocationHandleType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemAccess_flags_enum(enum CUmemAccess_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAccess_flags_enum neg_one = (enum CUmemAccess_flags_enum) -1, const_zero = (enum CUmemAccess_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemAccess_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUmemAccess_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAccess_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemAccess_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAccess_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemAccess_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemAccess_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemLocationType_enum(enum CUmemLocationType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemLocationType_enum neg_one = (enum CUmemLocationType_enum) -1, const_zero = (enum CUmemLocationType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemLocationType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUmemLocationType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemLocationType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemLocationType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemLocationType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemLocationType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemLocationType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemAllocationType_enum(enum CUmemAllocationType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAllocationType_enum neg_one = (enum CUmemAllocationType_enum) -1, const_zero = (enum CUmemAllocationType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemAllocationType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUmemAllocationType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAllocationType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemAllocationType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAllocationType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemAllocationType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemAllocationType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemAllocationGranularity_flags_enum(enum CUmemAllocationGranularity_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAllocationGranularity_flags_enum neg_one = (enum CUmemAllocationGranularity_flags_enum) -1, const_zero = (enum CUmemAllocationGranularity_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemAllocationGranularity_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUmemAllocationGranularity_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAllocationGranularity_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemAllocationGranularity_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAllocationGranularity_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemAllocationGranularity_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemAllocationGranularity_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemRangeHandleType_enum(enum CUmemRangeHandleType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemRangeHandleType_enum neg_one = (enum CUmemRangeHandleType_enum) -1, const_zero = (enum CUmemRangeHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemRangeHandleType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUmemRangeHandleType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemRangeHandleType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemRangeHandleType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemRangeHandleType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemRangeHandleType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemRangeHandleType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUarraySparseSubresourceType_enum(enum CUarraySparseSubresourceType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUarraySparseSubresourceType_enum neg_one = (enum CUarraySparseSubresourceType_enum) -1, const_zero = (enum CUarraySparseSubresourceType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUarraySparseSubresourceType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUarraySparseSubresourceType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUarraySparseSubresourceType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUarraySparseSubresourceType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUarraySparseSubresourceType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUarraySparseSubresourceType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUarraySparseSubresourceType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemOperationType_enum(enum CUmemOperationType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemOperationType_enum neg_one = (enum CUmemOperationType_enum) -1, const_zero = (enum CUmemOperationType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemOperationType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUmemOperationType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemOperationType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemOperationType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemOperationType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemOperationType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemOperationType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemHandleType_enum(enum CUmemHandleType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemHandleType_enum neg_one = (enum CUmemHandleType_enum) -1, const_zero = (enum CUmemHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemHandleType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUmemHandleType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemHandleType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemHandleType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemHandleType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemHandleType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemHandleType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemAllocationCompType_enum(enum CUmemAllocationCompType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAllocationCompType_enum neg_one = (enum CUmemAllocationCompType_enum) -1, const_zero = (enum CUmemAllocationCompType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemAllocationCompType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUmemAllocationCompType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAllocationCompType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemAllocationCompType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemAllocationCompType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemAllocationCompType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemAllocationCompType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmulticastGranularity_flags_enum(enum CUmulticastGranularity_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmulticastGranularity_flags_enum neg_one = (enum CUmulticastGranularity_flags_enum) -1, const_zero = (enum CUmulticastGranularity_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmulticastGranularity_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUmulticastGranularity_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmulticastGranularity_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmulticastGranularity_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmulticastGranularity_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmulticastGranularity_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmulticastGranularity_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphExecUpdateResult_enum(enum CUgraphExecUpdateResult_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphExecUpdateResult_enum neg_one = (enum CUgraphExecUpdateResult_enum) -1, const_zero = (enum CUgraphExecUpdateResult_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphExecUpdateResult_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUgraphExecUpdateResult_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphExecUpdateResult_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphExecUpdateResult_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphExecUpdateResult_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphExecUpdateResult_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphExecUpdateResult_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmemPool_attribute_enum(enum CUmemPool_attribute_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemPool_attribute_enum neg_one = (enum CUmemPool_attribute_enum) -1, const_zero = (enum CUmemPool_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmemPool_attribute_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUmemPool_attribute_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemPool_attribute_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmemPool_attribute_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmemPool_attribute_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmemPool_attribute_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmemPool_attribute_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphMem_attribute_enum(enum CUgraphMem_attribute_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphMem_attribute_enum neg_one = (enum CUgraphMem_attribute_enum) -1, const_zero = (enum CUgraphMem_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphMem_attribute_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUgraphMem_attribute_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphMem_attribute_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphMem_attribute_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphMem_attribute_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphMem_attribute_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphMem_attribute_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUflushGPUDirectRDMAWritesOptions_enum(enum CUflushGPUDirectRDMAWritesOptions_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUflushGPUDirectRDMAWritesOptions_enum neg_one = (enum CUflushGPUDirectRDMAWritesOptions_enum) -1, const_zero = (enum CUflushGPUDirectRDMAWritesOptions_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUflushGPUDirectRDMAWritesOptions_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesOptions_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesOptions_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUflushGPUDirectRDMAWritesOptions_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesOptions_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUflushGPUDirectRDMAWritesOptions_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUflushGPUDirectRDMAWritesOptions_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUGPUDirectRDMAWritesOrdering_enum(enum CUGPUDirectRDMAWritesOrdering_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUGPUDirectRDMAWritesOrdering_enum neg_one = (enum CUGPUDirectRDMAWritesOrdering_enum) -1, const_zero = (enum CUGPUDirectRDMAWritesOrdering_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUGPUDirectRDMAWritesOrdering_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUGPUDirectRDMAWritesOrdering_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUGPUDirectRDMAWritesOrdering_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUGPUDirectRDMAWritesOrdering_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUGPUDirectRDMAWritesOrdering_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUGPUDirectRDMAWritesOrdering_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUGPUDirectRDMAWritesOrdering_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUflushGPUDirectRDMAWritesScope_enum(enum CUflushGPUDirectRDMAWritesScope_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUflushGPUDirectRDMAWritesScope_enum neg_one = (enum CUflushGPUDirectRDMAWritesScope_enum) -1, const_zero = (enum CUflushGPUDirectRDMAWritesScope_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUflushGPUDirectRDMAWritesScope_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUflushGPUDirectRDMAWritesScope_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUflushGPUDirectRDMAWritesTarget_enum(enum CUflushGPUDirectRDMAWritesTarget_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUflushGPUDirectRDMAWritesTarget_enum neg_one = (enum CUflushGPUDirectRDMAWritesTarget_enum) -1, const_zero = (enum CUflushGPUDirectRDMAWritesTarget_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphDebugDot_flags_enum(enum CUgraphDebugDot_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphDebugDot_flags_enum neg_one = (enum CUgraphDebugDot_flags_enum) -1, const_zero = (enum CUgraphDebugDot_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphDebugDot_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUgraphDebugDot_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphDebugDot_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphDebugDot_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphDebugDot_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphDebugDot_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphDebugDot_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUuserObject_flags_enum(enum CUuserObject_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUuserObject_flags_enum neg_one = (enum CUuserObject_flags_enum) -1, const_zero = (enum CUuserObject_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUuserObject_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUuserObject_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUuserObject_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUuserObject_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUuserObject_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUuserObject_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUuserObject_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUuserObjectRetain_flags_enum(enum CUuserObjectRetain_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUuserObjectRetain_flags_enum neg_one = (enum CUuserObjectRetain_flags_enum) -1, const_zero = (enum CUuserObjectRetain_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUuserObjectRetain_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUuserObjectRetain_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUuserObjectRetain_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUuserObjectRetain_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUuserObjectRetain_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUuserObjectRetain_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUuserObjectRetain_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUgraphInstantiate_flags_enum(enum CUgraphInstantiate_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphInstantiate_flags_enum neg_one = (enum CUgraphInstantiate_flags_enum) -1, const_zero = (enum CUgraphInstantiate_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUgraphInstantiate_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUgraphInstantiate_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphInstantiate_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUgraphInstantiate_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUgraphInstantiate_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUgraphInstantiate_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUgraphInstantiate_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUdeviceNumaConfig_enum(enum CUdeviceNumaConfig_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUdeviceNumaConfig_enum neg_one = (enum CUdeviceNumaConfig_enum) -1, const_zero = (enum CUdeviceNumaConfig_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUdeviceNumaConfig_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUdeviceNumaConfig_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUdeviceNumaConfig_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUdeviceNumaConfig_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUdeviceNumaConfig_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUdeviceNumaConfig_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUdeviceNumaConfig_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUmoduleLoadingMode_enum(enum CUmoduleLoadingMode_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmoduleLoadingMode_enum neg_one = (enum CUmoduleLoadingMode_enum) -1, const_zero = (enum CUmoduleLoadingMode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUmoduleLoadingMode_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUmoduleLoadingMode_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmoduleLoadingMode_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUmoduleLoadingMode_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUmoduleLoadingMode_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUmoduleLoadingMode_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUmoduleLoadingMode_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUfunctionLoadingState_enum(enum CUfunctionLoadingState_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUfunctionLoadingState_enum neg_one = (enum CUfunctionLoadingState_enum) -1, const_zero = (enum CUfunctionLoadingState_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUfunctionLoadingState_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUfunctionLoadingState_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUfunctionLoadingState_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUfunctionLoadingState_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUfunctionLoadingState_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUfunctionLoadingState_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUfunctionLoadingState_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUcoredumpSettings_enum(enum CUcoredumpSettings_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUcoredumpSettings_enum neg_one = (enum CUcoredumpSettings_enum) -1, const_zero = (enum CUcoredumpSettings_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUcoredumpSettings_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUcoredumpSettings_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUcoredumpSettings_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUcoredumpSettings_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUcoredumpSettings_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUcoredumpSettings_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUcoredumpSettings_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_CUgreenCtxCreate_flags(CUgreenCtxCreate_flags value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const CUgreenCtxCreate_flags neg_one = (CUgreenCtxCreate_flags) -1, const_zero = (CUgreenCtxCreate_flags) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(CUgreenCtxCreate_flags) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(CUgreenCtxCreate_flags) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(CUgreenCtxCreate_flags) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(CUgreenCtxCreate_flags) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(CUgreenCtxCreate_flags) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(CUgreenCtxCreate_flags),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(CUgreenCtxCreate_flags));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_CUdevResourceType(CUdevResourceType value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const CUdevResourceType neg_one = (CUdevResourceType) -1, const_zero = (CUdevResourceType) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(CUdevResourceType) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(CUdevResourceType) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(CUdevResourceType) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(CUdevResourceType) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(CUdevResourceType) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(CUdevResourceType),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(CUdevResourceType));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__CUoutput_mode_enum(enum CUoutput_mode_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUoutput_mode_enum neg_one = (enum CUoutput_mode_enum) -1, const_zero = (enum CUoutput_mode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum CUoutput_mode_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum CUoutput_mode_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUoutput_mode_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum CUoutput_mode_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum CUoutput_mode_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum CUoutput_mode_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum CUoutput_mode_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglFrameType_enum(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum neg_one = (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) -1, const_zero = (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum(enum __pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum neg_one = (enum __pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum) -1, const_zero = (enum __pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_4cuda_5ccuda_CUeglResourceLocationFlags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum neg_one = (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) -1, const_zero = (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUGLDeviceList_enum(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum neg_one = (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) -1, const_zero = (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_4cuda_5ccuda_CUGLmap_flags_enum(enum __pyx_t_4cuda_5ccuda_CUGLmap_flags_enum value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_5ccuda_CUGLmap_flags_enum neg_one = (enum __pyx_t_4cuda_5ccuda_CUGLmap_flags_enum) -1, const_zero = (enum __pyx_t_4cuda_5ccuda_CUGLmap_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum __pyx_t_4cuda_5ccuda_CUGLmap_flags_enum) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum __pyx_t_4cuda_5ccuda_CUGLmap_flags_enum) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_5ccuda_CUGLmap_flags_enum) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum __pyx_t_4cuda_5ccuda_CUGLmap_flags_enum) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum __pyx_t_4cuda_5ccuda_CUGLmap_flags_enum) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_4cuda_5ccuda_CUGLmap_flags_enum),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(enum __pyx_t_4cuda_5ccuda_CUGLmap_flags_enum));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_As_unsigned_PY_LONG_LONG(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG) -1, const_zero = (unsigned PY_LONG_LONG) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(unsigned PY_LONG_LONG) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (unsigned PY_LONG_LONG) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(unsigned PY_LONG_LONG) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned PY_LONG_LONG) >= 2 * PyLong_SHIFT)) {
                                return (unsigned PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(unsigned PY_LONG_LONG) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned PY_LONG_LONG) >= 3 * PyLong_SHIFT)) {
                                return (unsigned PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(unsigned PY_LONG_LONG) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned PY_LONG_LONG) >= 4 * PyLong_SHIFT)) {
                                return (unsigned PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (unsigned PY_LONG_LONG) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(unsigned PY_LONG_LONG) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned PY_LONG_LONG, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(unsigned PY_LONG_LONG) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned PY_LONG_LONG, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT)) {
                                return (unsigned PY_LONG_LONG) (((unsigned PY_LONG_LONG)-1)*(((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(unsigned PY_LONG_LONG) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT)) {
                                return (unsigned PY_LONG_LONG) ((((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT)) {
                                return (unsigned PY_LONG_LONG) (((unsigned PY_LONG_LONG)-1)*(((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(unsigned PY_LONG_LONG) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT)) {
                                return (unsigned PY_LONG_LONG) ((((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT)) {
                                return (unsigned PY_LONG_LONG) (((unsigned PY_LONG_LONG)-1)*(((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(unsigned PY_LONG_LONG) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT)) {
                                return (unsigned PY_LONG_LONG) ((((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(unsigned PY_LONG_LONG) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned PY_LONG_LONG, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(unsigned PY_LONG_LONG) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned PY_LONG_LONG, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
            unsigned PY_LONG_LONG val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
#if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
#endif
            if (likely(v)) {
                int ret = -1;
#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                ret = _PyLong_AsByteArray((PyLongObject *)v,
                                           bytes, sizeof(val),
                                           is_little, !is_unsigned);
#else
                PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
                int bits, remaining_bits, is_negative = 0;
                long idigit;
                int chunk_size = (sizeof(long) < 8) ? 30 : 62;
                if (unlikely(!PyLong_CheckExact(v))) {
                    PyObject *tmp = v;
                    v = PyNumber_Long(v);
                    assert(PyLong_CheckExact(v));
                    Py_DECREF(tmp);
                    if (unlikely(!v)) return (unsigned PY_LONG_LONG) -1;
                }
#if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                if (Py_SIZE(x) == 0)
                    return (unsigned PY_LONG_LONG) 0;
                is_negative = Py_SIZE(x) < 0;
#else
                {
                    int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                    if (unlikely(result < 0))
                        return (unsigned PY_LONG_LONG) -1;
                    is_negative = result == 1;
                }
#endif
                if (is_unsigned && unlikely(is_negative)) {
                    goto raise_neg_overflow;
                } else if (is_negative) {
                    stepval = PyNumber_Invert(v);
                    if (unlikely(!stepval))
                        return (unsigned PY_LONG_LONG) -1;
                } else {
                    stepval = __Pyx_NewRef(v);
                }
                val = (unsigned PY_LONG_LONG) 0;
                mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
                shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
                for (bits = 0; bits < (int) sizeof(unsigned PY_LONG_LONG) * 8 - chunk_size; bits += chunk_size) {
                    PyObject *tmp, *digit;
                    digit = PyNumber_And(stepval, mask);
                    if (unlikely(!digit)) goto done;
                    idigit = PyLong_AsLong(digit);
                    Py_DECREF(digit);
                    if (unlikely(idigit < 0)) goto done;
                    tmp = PyNumber_Rshift(stepval, shift);
                    if (unlikely(!tmp)) goto done;
                    Py_DECREF(stepval); stepval = tmp;
                    val |= ((unsigned PY_LONG_LONG) idigit) << bits;
                    #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                    if (Py_SIZE(stepval) == 0)
                        goto unpacking_done;
                    #endif
                }
                idigit = PyLong_AsLong(stepval);
                if (unlikely(idigit < 0)) goto done;
                remaining_bits = ((int) sizeof(unsigned PY_LONG_LONG) * 8) - bits - (is_unsigned ? 0 : 1);
                if (unlikely(idigit >= (1L << remaining_bits)))
                    goto raise_overflow;
                val |= ((unsigned PY_LONG_LONG) idigit) << bits;
            #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
            unpacking_done:
            #endif
                if (!is_unsigned) {
                    if (unlikely(val & (((unsigned PY_LONG_LONG) 1) << (sizeof(unsigned PY_LONG_LONG) * 8 - 1))))
                        goto raise_overflow;
                    if (is_negative)
                        val = ~val;
                }
                ret = 0;
            done:
                Py_XDECREF(shift);
                Py_XDECREF(mask);
                Py_XDECREF(stepval);
#endif
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
            return (unsigned PY_LONG_LONG) -1;
        }
    } else {
        unsigned PY_LONG_LONG val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (unsigned PY_LONG_LONG) -1;
        val = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to unsigned PY_LONG_LONG");
    return (unsigned PY_LONG_LONG) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to unsigned PY_LONG_LONG");
    return (unsigned PY_LONG_LONG) -1;
}

/* CIntFromPy */
static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(int) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (int) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(int) >= 2 * PyLong_SHIFT)) {
                                return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(int) >= 3 * PyLong_SHIFT)) {
                                return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(int) >= 4 * PyLong_SHIFT)) {
                                return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (int) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(int) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(int) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(int) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
                                return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
                                return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
                                return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
                                return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) {
                                return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) {
                                return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(int) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(int) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
            int val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
#if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
#endif
            if (likely(v)) {
                int ret = -1;
#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                ret = _PyLong_AsByteArray((PyLongObject *)v,
                                           bytes, sizeof(val),
                                           is_little, !is_unsigned);
#else
                PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
                int bits, remaining_bits, is_negative = 0;
                long idigit;
                int chunk_size = (sizeof(long) < 8) ? 30 : 62;
                if (unlikely(!PyLong_CheckExact(v))) {
                    PyObject *tmp = v;
                    v = PyNumber_Long(v);
                    assert(PyLong_CheckExact(v));
                    Py_DECREF(tmp);
                    if (unlikely(!v)) return (int) -1;
                }
#if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                if (Py_SIZE(x) == 0)
                    return (int) 0;
                is_negative = Py_SIZE(x) < 0;
#else
                {
                    int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                    if (unlikely(result < 0))
                        return (int) -1;
                    is_negative = result == 1;
                }
#endif
                if (is_unsigned && unlikely(is_negative)) {
                    goto raise_neg_overflow;
                } else if (is_negative) {
                    stepval = PyNumber_Invert(v);
                    if (unlikely(!stepval))
                        return (int) -1;
                } else {
                    stepval = __Pyx_NewRef(v);
                }
                val = (int) 0;
                mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
                shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
                for (bits = 0; bits < (int) sizeof(int) * 8 - chunk_size; bits += chunk_size) {
                    PyObject *tmp, *digit;
                    digit = PyNumber_And(stepval, mask);
                    if (unlikely(!digit)) goto done;
                    idigit = PyLong_AsLong(digit);
                    Py_DECREF(digit);
                    if (unlikely(idigit < 0)) goto done;
                    tmp = PyNumber_Rshift(stepval, shift);
                    if (unlikely(!tmp)) goto done;
                    Py_DECREF(stepval); stepval = tmp;
                    val |= ((int) idigit) << bits;
                    #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                    if (Py_SIZE(stepval) == 0)
                        goto unpacking_done;
                    #endif
                }
                idigit = PyLong_AsLong(stepval);
                if (unlikely(idigit < 0)) goto done;
                remaining_bits = ((int) sizeof(int) * 8) - bits - (is_unsigned ? 0 : 1);
                if (unlikely(idigit >= (1L << remaining_bits)))
                    goto raise_overflow;
                val |= ((int) idigit) << bits;
            #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
            unpacking_done:
            #endif
                if (!is_unsigned) {
                    if (unlikely(val & (((int) 1) << (sizeof(int) * 8 - 1))))
                        goto raise_overflow;
                    if (is_negative)
                        val = ~val;
                }
                ret = 0;
            done:
                Py_XDECREF(shift);
                Py_XDECREF(mask);
                Py_XDECREF(stepval);
#endif
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
            return (int) -1;
        }
    } else {
        int val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (int) -1;
        val = __Pyx_PyInt_As_int(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to int");
    return (int) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to int");
    return (int) -1;
}

/* CIntFromPy */
static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const uint64_t neg_one = (uint64_t) -1, const_zero = (uint64_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(uint64_t) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(uint64_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (uint64_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(uint64_t, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(uint64_t) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint64_t) >= 2 * PyLong_SHIFT)) {
                                return (uint64_t) (((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(uint64_t) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint64_t) >= 3 * PyLong_SHIFT)) {
                                return (uint64_t) (((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(uint64_t) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint64_t) >= 4 * PyLong_SHIFT)) {
                                return (uint64_t) (((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (uint64_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(uint64_t) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(uint64_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(uint64_t) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(uint64_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(uint64_t, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(uint64_t) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT)) {
                                return (uint64_t) (((uint64_t)-1)*(((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(uint64_t) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT)) {
                                return (uint64_t) ((((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT)) {
                                return (uint64_t) (((uint64_t)-1)*(((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(uint64_t) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT)) {
                                return (uint64_t) ((((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint64_t) - 1 > 4 * PyLong_SHIFT)) {
                                return (uint64_t) (((uint64_t)-1)*(((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(uint64_t) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint64_t) - 1 > 4 * PyLong_SHIFT)) {
                                return (uint64_t) ((((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(uint64_t) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(uint64_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(uint64_t) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(uint64_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
            uint64_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
#if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
#endif
            if (likely(v)) {
                int ret = -1;
#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                ret = _PyLong_AsByteArray((PyLongObject *)v,
                                           bytes, sizeof(val),
                                           is_little, !is_unsigned);
#else
                PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
                int bits, remaining_bits, is_negative = 0;
                long idigit;
                int chunk_size = (sizeof(long) < 8) ? 30 : 62;
                if (unlikely(!PyLong_CheckExact(v))) {
                    PyObject *tmp = v;
                    v = PyNumber_Long(v);
                    assert(PyLong_CheckExact(v));
                    Py_DECREF(tmp);
                    if (unlikely(!v)) return (uint64_t) -1;
                }
#if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                if (Py_SIZE(x) == 0)
                    return (uint64_t) 0;
                is_negative = Py_SIZE(x) < 0;
#else
                {
                    int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                    if (unlikely(result < 0))
                        return (uint64_t) -1;
                    is_negative = result == 1;
                }
#endif
                if (is_unsigned && unlikely(is_negative)) {
                    goto raise_neg_overflow;
                } else if (is_negative) {
                    stepval = PyNumber_Invert(v);
                    if (unlikely(!stepval))
                        return (uint64_t) -1;
                } else {
                    stepval = __Pyx_NewRef(v);
                }
                val = (uint64_t) 0;
                mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
                shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
                for (bits = 0; bits < (int) sizeof(uint64_t) * 8 - chunk_size; bits += chunk_size) {
                    PyObject *tmp, *digit;
                    digit = PyNumber_And(stepval, mask);
                    if (unlikely(!digit)) goto done;
                    idigit = PyLong_AsLong(digit);
                    Py_DECREF(digit);
                    if (unlikely(idigit < 0)) goto done;
                    tmp = PyNumber_Rshift(stepval, shift);
                    if (unlikely(!tmp)) goto done;
                    Py_DECREF(stepval); stepval = tmp;
                    val |= ((uint64_t) idigit) << bits;
                    #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                    if (Py_SIZE(stepval) == 0)
                        goto unpacking_done;
                    #endif
                }
                idigit = PyLong_AsLong(stepval);
                if (unlikely(idigit < 0)) goto done;
                remaining_bits = ((int) sizeof(uint64_t) * 8) - bits - (is_unsigned ? 0 : 1);
                if (unlikely(idigit >= (1L << remaining_bits)))
                    goto raise_overflow;
                val |= ((uint64_t) idigit) << bits;
            #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
            unpacking_done:
            #endif
                if (!is_unsigned) {
                    if (unlikely(val & (((uint64_t) 1) << (sizeof(uint64_t) * 8 - 1))))
                        goto raise_overflow;
                    if (is_negative)
                        val = ~val;
                }
                ret = 0;
            done:
                Py_XDECREF(shift);
                Py_XDECREF(mask);
                Py_XDECREF(stepval);
#endif
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
            return (uint64_t) -1;
        }
    } else {
        uint64_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (uint64_t) -1;
        val = __Pyx_PyInt_As_uint64_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to uint64_t");
    return (uint64_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to uint64_t");
    return (uint64_t) -1;
}

/* CIntFromPy */
static CYTHON_INLINE unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(unsigned int) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(unsigned int, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (unsigned int) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(unsigned int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(unsigned int) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned int) >= 2 * PyLong_SHIFT)) {
                                return (unsigned int) (((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(unsigned int) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned int) >= 3 * PyLong_SHIFT)) {
                                return (unsigned int) (((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(unsigned int) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned int) >= 4 * PyLong_SHIFT)) {
                                return (unsigned int) (((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (unsigned int) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(unsigned int) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(unsigned int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(unsigned int) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT)) {
                                return (unsigned int) (((unsigned int)-1)*(((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(unsigned int) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT)) {
                                return (unsigned int) ((((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT)) {
                                return (unsigned int) (((unsigned int)-1)*(((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(unsigned int) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT)) {
                                return (unsigned int) ((((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT)) {
                                return (unsigned int) (((unsigned int)-1)*(((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(unsigned int) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT)) {
                                return (unsigned int) ((((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(unsigned int) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned int, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(unsigned int) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned int, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
            unsigned int val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
#if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
#endif
            if (likely(v)) {
                int ret = -1;
#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                ret = _PyLong_AsByteArray((PyLongObject *)v,
                                           bytes, sizeof(val),
                                           is_little, !is_unsigned);
#else
                PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
                int bits, remaining_bits, is_negative = 0;
                long idigit;
                int chunk_size = (sizeof(long) < 8) ? 30 : 62;
                if (unlikely(!PyLong_CheckExact(v))) {
                    PyObject *tmp = v;
                    v = PyNumber_Long(v);
                    assert(PyLong_CheckExact(v));
                    Py_DECREF(tmp);
                    if (unlikely(!v)) return (unsigned int) -1;
                }
#if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                if (Py_SIZE(x) == 0)
                    return (unsigned int) 0;
                is_negative = Py_SIZE(x) < 0;
#else
                {
                    int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                    if (unlikely(result < 0))
                        return (unsigned int) -1;
                    is_negative = result == 1;
                }
#endif
                if (is_unsigned && unlikely(is_negative)) {
                    goto raise_neg_overflow;
                } else if (is_negative) {
                    stepval = PyNumber_Invert(v);
                    if (unlikely(!stepval))
                        return (unsigned int) -1;
                } else {
                    stepval = __Pyx_NewRef(v);
                }
                val = (unsigned int) 0;
                mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
                shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
                for (bits = 0; bits < (int) sizeof(unsigned int) * 8 - chunk_size; bits += chunk_size) {
                    PyObject *tmp, *digit;
                    digit = PyNumber_And(stepval, mask);
                    if (unlikely(!digit)) goto done;
                    idigit = PyLong_AsLong(digit);
                    Py_DECREF(digit);
                    if (unlikely(idigit < 0)) goto done;
                    tmp = PyNumber_Rshift(stepval, shift);
                    if (unlikely(!tmp)) goto done;
                    Py_DECREF(stepval); stepval = tmp;
                    val |= ((unsigned int) idigit) << bits;
                    #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                    if (Py_SIZE(stepval) == 0)
                        goto unpacking_done;
                    #endif
                }
                idigit = PyLong_AsLong(stepval);
                if (unlikely(idigit < 0)) goto done;
                remaining_bits = ((int) sizeof(unsigned int) * 8) - bits - (is_unsigned ? 0 : 1);
                if (unlikely(idigit >= (1L << remaining_bits)))
                    goto raise_overflow;
                val |= ((unsigned int) idigit) << bits;
            #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
            unpacking_done:
            #endif
                if (!is_unsigned) {
                    if (unlikely(val & (((unsigned int) 1) << (sizeof(unsigned int) * 8 - 1))))
                        goto raise_overflow;
                    if (is_negative)
                        val = ~val;
                }
                ret = 0;
            done:
                Py_XDECREF(shift);
                Py_XDECREF(mask);
                Py_XDECREF(stepval);
#endif
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
            return (unsigned int) -1;
        }
    } else {
        unsigned int val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (unsigned int) -1;
        val = __Pyx_PyInt_As_unsigned_int(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to unsigned int");
    return (unsigned int) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to unsigned int");
    return (unsigned int) -1;
}

/* CIntFromPy */
static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const size_t neg_one = (size_t) -1, const_zero = (size_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(size_t) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(size_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (size_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(size_t, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(size_t) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(size_t) >= 2 * PyLong_SHIFT)) {
                                return (size_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(size_t) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(size_t) >= 3 * PyLong_SHIFT)) {
                                return (size_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(size_t) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(size_t) >= 4 * PyLong_SHIFT)) {
                                return (size_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (size_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(size_t) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(size_t) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(size_t, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(size_t) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT)) {
                                return (size_t) (((size_t)-1)*(((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(size_t) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT)) {
                                return (size_t) ((((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT)) {
                                return (size_t) (((size_t)-1)*(((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(size_t) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT)) {
                                return (size_t) ((((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT)) {
                                return (size_t) (((size_t)-1)*(((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(size_t) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT)) {
                                return (size_t) ((((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(size_t) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(size_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(size_t) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(size_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
            size_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
#if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
#endif
            if (likely(v)) {
                int ret = -1;
#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                ret = _PyLong_AsByteArray((PyLongObject *)v,
                                           bytes, sizeof(val),
                                           is_little, !is_unsigned);
#else
                PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
                int bits, remaining_bits, is_negative = 0;
                long idigit;
                int chunk_size = (sizeof(long) < 8) ? 30 : 62;
                if (unlikely(!PyLong_CheckExact(v))) {
                    PyObject *tmp = v;
                    v = PyNumber_Long(v);
                    assert(PyLong_CheckExact(v));
                    Py_DECREF(tmp);
                    if (unlikely(!v)) return (size_t) -1;
                }
#if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                if (Py_SIZE(x) == 0)
                    return (size_t) 0;
                is_negative = Py_SIZE(x) < 0;
#else
                {
                    int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                    if (unlikely(result < 0))
                        return (size_t) -1;
                    is_negative = result == 1;
                }
#endif
                if (is_unsigned && unlikely(is_negative)) {
                    goto raise_neg_overflow;
                } else if (is_negative) {
                    stepval = PyNumber_Invert(v);
                    if (unlikely(!stepval))
                        return (size_t) -1;
                } else {
                    stepval = __Pyx_NewRef(v);
                }
                val = (size_t) 0;
                mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
                shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
                for (bits = 0; bits < (int) sizeof(size_t) * 8 - chunk_size; bits += chunk_size) {
                    PyObject *tmp, *digit;
                    digit = PyNumber_And(stepval, mask);
                    if (unlikely(!digit)) goto done;
                    idigit = PyLong_AsLong(digit);
                    Py_DECREF(digit);
                    if (unlikely(idigit < 0)) goto done;
                    tmp = PyNumber_Rshift(stepval, shift);
                    if (unlikely(!tmp)) goto done;
                    Py_DECREF(stepval); stepval = tmp;
                    val |= ((size_t) idigit) << bits;
                    #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                    if (Py_SIZE(stepval) == 0)
                        goto unpacking_done;
                    #endif
                }
                idigit = PyLong_AsLong(stepval);
                if (unlikely(idigit < 0)) goto done;
                remaining_bits = ((int) sizeof(size_t) * 8) - bits - (is_unsigned ? 0 : 1);
                if (unlikely(idigit >= (1L << remaining_bits)))
                    goto raise_overflow;
                val |= ((size_t) idigit) << bits;
            #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
            unpacking_done:
            #endif
                if (!is_unsigned) {
                    if (unlikely(val & (((size_t) 1) << (sizeof(size_t) * 8 - 1))))
                        goto raise_overflow;
                    if (is_negative)
                        val = ~val;
                }
                ret = 0;
            done:
                Py_XDECREF(shift);
                Py_XDECREF(mask);
                Py_XDECREF(stepval);
#endif
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
            return (size_t) -1;
        }
    } else {
        size_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (size_t) -1;
        val = __Pyx_PyInt_As_size_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to size_t");
    return (size_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to size_t");
    return (size_t) -1;
}

/* CIntFromPy */
static CYTHON_INLINE unsigned char __Pyx_PyInt_As_unsigned_char(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned char neg_one = (unsigned char) -1, const_zero = (unsigned char) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(unsigned char) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(unsigned char, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (unsigned char) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(unsigned char, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(unsigned char) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned char) >= 2 * PyLong_SHIFT)) {
                                return (unsigned char) (((((unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(unsigned char) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned char) >= 3 * PyLong_SHIFT)) {
                                return (unsigned char) (((((((unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(unsigned char) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned char) >= 4 * PyLong_SHIFT)) {
                                return (unsigned char) (((((((((unsigned char)digits[3]) << PyLong_SHIFT) | (unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (unsigned char) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(unsigned char) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned char, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(unsigned char) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned char, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(unsigned char, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(unsigned char) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned char, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned char) - 1 > 2 * PyLong_SHIFT)) {
                                return (unsigned char) (((unsigned char)-1)*(((((unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(unsigned char) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned char) - 1 > 2 * PyLong_SHIFT)) {
                                return (unsigned char) ((((((unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(unsigned char) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned char, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned char) - 1 > 3 * PyLong_SHIFT)) {
                                return (unsigned char) (((unsigned char)-1)*(((((((unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(unsigned char) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned char) - 1 > 3 * PyLong_SHIFT)) {
                                return (unsigned char) ((((((((unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(unsigned char) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned char, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned char) - 1 > 4 * PyLong_SHIFT)) {
                                return (unsigned char) (((unsigned char)-1)*(((((((((unsigned char)digits[3]) << PyLong_SHIFT) | (unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(unsigned char) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned char, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned char) - 1 > 4 * PyLong_SHIFT)) {
                                return (unsigned char) ((((((((((unsigned char)digits[3]) << PyLong_SHIFT) | (unsigned char)digits[2]) << PyLong_SHIFT) | (unsigned char)digits[1]) << PyLong_SHIFT) | (unsigned char)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(unsigned char) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned char, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(unsigned char) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned char, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
            unsigned char val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
#if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
#endif
            if (likely(v)) {
                int ret = -1;
#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                ret = _PyLong_AsByteArray((PyLongObject *)v,
                                           bytes, sizeof(val),
                                           is_little, !is_unsigned);
#else
                PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
                int bits, remaining_bits, is_negative = 0;
                long idigit;
                int chunk_size = (sizeof(long) < 8) ? 30 : 62;
                if (unlikely(!PyLong_CheckExact(v))) {
                    PyObject *tmp = v;
                    v = PyNumber_Long(v);
                    assert(PyLong_CheckExact(v));
                    Py_DECREF(tmp);
                    if (unlikely(!v)) return (unsigned char) -1;
                }
#if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                if (Py_SIZE(x) == 0)
                    return (unsigned char) 0;
                is_negative = Py_SIZE(x) < 0;
#else
                {
                    int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                    if (unlikely(result < 0))
                        return (unsigned char) -1;
                    is_negative = result == 1;
                }
#endif
                if (is_unsigned && unlikely(is_negative)) {
                    goto raise_neg_overflow;
                } else if (is_negative) {
                    stepval = PyNumber_Invert(v);
                    if (unlikely(!stepval))
                        return (unsigned char) -1;
                } else {
                    stepval = __Pyx_NewRef(v);
                }
                val = (unsigned char) 0;
                mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
                shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
                for (bits = 0; bits < (int) sizeof(unsigned char) * 8 - chunk_size; bits += chunk_size) {
                    PyObject *tmp, *digit;
                    digit = PyNumber_And(stepval, mask);
                    if (unlikely(!digit)) goto done;
                    idigit = PyLong_AsLong(digit);
                    Py_DECREF(digit);
                    if (unlikely(idigit < 0)) goto done;
                    tmp = PyNumber_Rshift(stepval, shift);
                    if (unlikely(!tmp)) goto done;
                    Py_DECREF(stepval); stepval = tmp;
                    val |= ((unsigned char) idigit) << bits;
                    #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                    if (Py_SIZE(stepval) == 0)
                        goto unpacking_done;
                    #endif
                }
                idigit = PyLong_AsLong(stepval);
                if (unlikely(idigit < 0)) goto done;
                remaining_bits = ((int) sizeof(unsigned char) * 8) - bits - (is_unsigned ? 0 : 1);
                if (unlikely(idigit >= (1L << remaining_bits)))
                    goto raise_overflow;
                val |= ((unsigned char) idigit) << bits;
            #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
            unpacking_done:
            #endif
                if (!is_unsigned) {
                    if (unlikely(val & (((unsigned char) 1) << (sizeof(unsigned char) * 8 - 1))))
                        goto raise_overflow;
                    if (is_negative)
                        val = ~val;
                }
                ret = 0;
            done:
                Py_XDECREF(shift);
                Py_XDECREF(mask);
                Py_XDECREF(stepval);
#endif
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
            return (unsigned char) -1;
        }
    } else {
        unsigned char val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (unsigned char) -1;
        val = __Pyx_PyInt_As_unsigned_char(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to unsigned char");
    return (unsigned char) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to unsigned char");
    return (unsigned char) -1;
}

/* CIntFromPy */
static CYTHON_INLINE unsigned short __Pyx_PyInt_As_unsigned_short(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned short neg_one = (unsigned short) -1, const_zero = (unsigned short) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(unsigned short) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(unsigned short, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (unsigned short) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(unsigned short, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(unsigned short) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned short, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned short) >= 2 * PyLong_SHIFT)) {
                                return (unsigned short) (((((unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(unsigned short) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned short, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned short) >= 3 * PyLong_SHIFT)) {
                                return (unsigned short) (((((((unsigned short)digits[2]) << PyLong_SHIFT) | (unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(unsigned short) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned short, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned short) >= 4 * PyLong_SHIFT)) {
                                return (unsigned short) (((((((((unsigned short)digits[3]) << PyLong_SHIFT) | (unsigned short)digits[2]) << PyLong_SHIFT) | (unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (unsigned short) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(unsigned short) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned short, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(unsigned short) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned short, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(unsigned short, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(unsigned short) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned short, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned short) - 1 > 2 * PyLong_SHIFT)) {
                                return (unsigned short) (((unsigned short)-1)*(((((unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(unsigned short) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned short, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned short) - 1 > 2 * PyLong_SHIFT)) {
                                return (unsigned short) ((((((unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(unsigned short) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned short, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned short) - 1 > 3 * PyLong_SHIFT)) {
                                return (unsigned short) (((unsigned short)-1)*(((((((unsigned short)digits[2]) << PyLong_SHIFT) | (unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(unsigned short) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned short, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned short) - 1 > 3 * PyLong_SHIFT)) {
                                return (unsigned short) ((((((((unsigned short)digits[2]) << PyLong_SHIFT) | (unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(unsigned short) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned short, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned short) - 1 > 4 * PyLong_SHIFT)) {
                                return (unsigned short) (((unsigned short)-1)*(((((((((unsigned short)digits[3]) << PyLong_SHIFT) | (unsigned short)digits[2]) << PyLong_SHIFT) | (unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(unsigned short) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(unsigned short, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(unsigned short) - 1 > 4 * PyLong_SHIFT)) {
                                return (unsigned short) ((((((((((unsigned short)digits[3]) << PyLong_SHIFT) | (unsigned short)digits[2]) << PyLong_SHIFT) | (unsigned short)digits[1]) << PyLong_SHIFT) | (unsigned short)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(unsigned short) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned short, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(unsigned short) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned short, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
            unsigned short val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
#if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
#endif
            if (likely(v)) {
                int ret = -1;
#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                ret = _PyLong_AsByteArray((PyLongObject *)v,
                                           bytes, sizeof(val),
                                           is_little, !is_unsigned);
#else
                PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
                int bits, remaining_bits, is_negative = 0;
                long idigit;
                int chunk_size = (sizeof(long) < 8) ? 30 : 62;
                if (unlikely(!PyLong_CheckExact(v))) {
                    PyObject *tmp = v;
                    v = PyNumber_Long(v);
                    assert(PyLong_CheckExact(v));
                    Py_DECREF(tmp);
                    if (unlikely(!v)) return (unsigned short) -1;
                }
#if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                if (Py_SIZE(x) == 0)
                    return (unsigned short) 0;
                is_negative = Py_SIZE(x) < 0;
#else
                {
                    int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                    if (unlikely(result < 0))
                        return (unsigned short) -1;
                    is_negative = result == 1;
                }
#endif
                if (is_unsigned && unlikely(is_negative)) {
                    goto raise_neg_overflow;
                } else if (is_negative) {
                    stepval = PyNumber_Invert(v);
                    if (unlikely(!stepval))
                        return (unsigned short) -1;
                } else {
                    stepval = __Pyx_NewRef(v);
                }
                val = (unsigned short) 0;
                mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
                shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
                for (bits = 0; bits < (int) sizeof(unsigned short) * 8 - chunk_size; bits += chunk_size) {
                    PyObject *tmp, *digit;
                    digit = PyNumber_And(stepval, mask);
                    if (unlikely(!digit)) goto done;
                    idigit = PyLong_AsLong(digit);
                    Py_DECREF(digit);
                    if (unlikely(idigit < 0)) goto done;
                    tmp = PyNumber_Rshift(stepval, shift);
                    if (unlikely(!tmp)) goto done;
                    Py_DECREF(stepval); stepval = tmp;
                    val |= ((unsigned short) idigit) << bits;
                    #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                    if (Py_SIZE(stepval) == 0)
                        goto unpacking_done;
                    #endif
                }
                idigit = PyLong_AsLong(stepval);
                if (unlikely(idigit < 0)) goto done;
                remaining_bits = ((int) sizeof(unsigned short) * 8) - bits - (is_unsigned ? 0 : 1);
                if (unlikely(idigit >= (1L << remaining_bits)))
                    goto raise_overflow;
                val |= ((unsigned short) idigit) << bits;
            #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
            unpacking_done:
            #endif
                if (!is_unsigned) {
                    if (unlikely(val & (((unsigned short) 1) << (sizeof(unsigned short) * 8 - 1))))
                        goto raise_overflow;
                    if (is_negative)
                        val = ~val;
                }
                ret = 0;
            done:
                Py_XDECREF(shift);
                Py_XDECREF(mask);
                Py_XDECREF(stepval);
#endif
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
            return (unsigned short) -1;
        }
    } else {
        unsigned short val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (unsigned short) -1;
        val = __Pyx_PyInt_As_unsigned_short(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to unsigned short");
    return (unsigned short) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to unsigned short");
    return (unsigned short) -1;
}

/* CIntFromPy */
static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_As_PY_LONG_LONG(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const PY_LONG_LONG neg_one = (PY_LONG_LONG) -1, const_zero = (PY_LONG_LONG) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(PY_LONG_LONG) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (PY_LONG_LONG) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(PY_LONG_LONG) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(PY_LONG_LONG) >= 2 * PyLong_SHIFT)) {
                                return (PY_LONG_LONG) (((((PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(PY_LONG_LONG) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(PY_LONG_LONG) >= 3 * PyLong_SHIFT)) {
                                return (PY_LONG_LONG) (((((((PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(PY_LONG_LONG) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(PY_LONG_LONG) >= 4 * PyLong_SHIFT)) {
                                return (PY_LONG_LONG) (((((((((PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (PY_LONG_LONG) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(PY_LONG_LONG) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(PY_LONG_LONG, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(PY_LONG_LONG) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(PY_LONG_LONG, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(PY_LONG_LONG) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT)) {
                                return (PY_LONG_LONG) (((PY_LONG_LONG)-1)*(((((PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(PY_LONG_LONG) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT)) {
                                return (PY_LONG_LONG) ((((((PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT)) {
                                return (PY_LONG_LONG) (((PY_LONG_LONG)-1)*(((((((PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(PY_LONG_LONG) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT)) {
                                return (PY_LONG_LONG) ((((((((PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT)) {
                                return (PY_LONG_LONG) (((PY_LONG_LONG)-1)*(((((((((PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(PY_LONG_LONG) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(PY_LONG_LONG, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT)) {
                                return (PY_LONG_LONG) ((((((((((PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (PY_LONG_LONG)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(PY_LONG_LONG) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(PY_LONG_LONG, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(PY_LONG_LONG) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(PY_LONG_LONG, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
            PY_LONG_LONG val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
#if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
#endif
            if (likely(v)) {
                int ret = -1;
#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                ret = _PyLong_AsByteArray((PyLongObject *)v,
                                           bytes, sizeof(val),
                                           is_little, !is_unsigned);
#else
                PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
                int bits, remaining_bits, is_negative = 0;
                long idigit;
                int chunk_size = (sizeof(long) < 8) ? 30 : 62;
                if (unlikely(!PyLong_CheckExact(v))) {
                    PyObject *tmp = v;
                    v = PyNumber_Long(v);
                    assert(PyLong_CheckExact(v));
                    Py_DECREF(tmp);
                    if (unlikely(!v)) return (PY_LONG_LONG) -1;
                }
#if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                if (Py_SIZE(x) == 0)
                    return (PY_LONG_LONG) 0;
                is_negative = Py_SIZE(x) < 0;
#else
                {
                    int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                    if (unlikely(result < 0))
                        return (PY_LONG_LONG) -1;
                    is_negative = result == 1;
                }
#endif
                if (is_unsigned && unlikely(is_negative)) {
                    goto raise_neg_overflow;
                } else if (is_negative) {
                    stepval = PyNumber_Invert(v);
                    if (unlikely(!stepval))
                        return (PY_LONG_LONG) -1;
                } else {
                    stepval = __Pyx_NewRef(v);
                }
                val = (PY_LONG_LONG) 0;
                mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
                shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
                for (bits = 0; bits < (int) sizeof(PY_LONG_LONG) * 8 - chunk_size; bits += chunk_size) {
                    PyObject *tmp, *digit;
                    digit = PyNumber_And(stepval, mask);
                    if (unlikely(!digit)) goto done;
                    idigit = PyLong_AsLong(digit);
                    Py_DECREF(digit);
                    if (unlikely(idigit < 0)) goto done;
                    tmp = PyNumber_Rshift(stepval, shift);
                    if (unlikely(!tmp)) goto done;
                    Py_DECREF(stepval); stepval = tmp;
                    val |= ((PY_LONG_LONG) idigit) << bits;
                    #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                    if (Py_SIZE(stepval) == 0)
                        goto unpacking_done;
                    #endif
                }
                idigit = PyLong_AsLong(stepval);
                if (unlikely(idigit < 0)) goto done;
                remaining_bits = ((int) sizeof(PY_LONG_LONG) * 8) - bits - (is_unsigned ? 0 : 1);
                if (unlikely(idigit >= (1L << remaining_bits)))
                    goto raise_overflow;
                val |= ((PY_LONG_LONG) idigit) << bits;
            #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
            unpacking_done:
            #endif
                if (!is_unsigned) {
                    if (unlikely(val & (((PY_LONG_LONG) 1) << (sizeof(PY_LONG_LONG) * 8 - 1))))
                        goto raise_overflow;
                    if (is_negative)
                        val = ~val;
                }
                ret = 0;
            done:
                Py_XDECREF(shift);
                Py_XDECREF(mask);
                Py_XDECREF(stepval);
#endif
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
            return (PY_LONG_LONG) -1;
        }
    } else {
        PY_LONG_LONG val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (PY_LONG_LONG) -1;
        val = __Pyx_PyInt_As_PY_LONG_LONG(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to PY_LONG_LONG");
    return (PY_LONG_LONG) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to PY_LONG_LONG");
    return (PY_LONG_LONG) -1;
}

/* CIntFromPy */
static CYTHON_INLINE uint32_t __Pyx_PyInt_As_uint32_t(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const uint32_t neg_one = (uint32_t) -1, const_zero = (uint32_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(uint32_t) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(uint32_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (uint32_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(uint32_t, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(uint32_t) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint32_t) >= 2 * PyLong_SHIFT)) {
                                return (uint32_t) (((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(uint32_t) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint32_t) >= 3 * PyLong_SHIFT)) {
                                return (uint32_t) (((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(uint32_t) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint32_t) >= 4 * PyLong_SHIFT)) {
                                return (uint32_t) (((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (uint32_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(uint32_t) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(uint32_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(uint32_t) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(uint32_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(uint32_t, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(uint32_t) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT)) {
                                return (uint32_t) (((uint32_t)-1)*(((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(uint32_t) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT)) {
                                return (uint32_t) ((((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT)) {
                                return (uint32_t) (((uint32_t)-1)*(((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(uint32_t) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT)) {
                                return (uint32_t) ((((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint32_t) - 1 > 4 * PyLong_SHIFT)) {
                                return (uint32_t) (((uint32_t)-1)*(((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(uint32_t) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(uint32_t) - 1 > 4 * PyLong_SHIFT)) {
                                return (uint32_t) ((((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(uint32_t) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(uint32_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(uint32_t) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(uint32_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
            uint32_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
#if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
#endif
            if (likely(v)) {
                int ret = -1;
#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                ret = _PyLong_AsByteArray((PyLongObject *)v,
                                           bytes, sizeof(val),
                                           is_little, !is_unsigned);
#else
                PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
                int bits, remaining_bits, is_negative = 0;
                long idigit;
                int chunk_size = (sizeof(long) < 8) ? 30 : 62;
                if (unlikely(!PyLong_CheckExact(v))) {
                    PyObject *tmp = v;
                    v = PyNumber_Long(v);
                    assert(PyLong_CheckExact(v));
                    Py_DECREF(tmp);
                    if (unlikely(!v)) return (uint32_t) -1;
                }
#if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                if (Py_SIZE(x) == 0)
                    return (uint32_t) 0;
                is_negative = Py_SIZE(x) < 0;
#else
                {
                    int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                    if (unlikely(result < 0))
                        return (uint32_t) -1;
                    is_negative = result == 1;
                }
#endif
                if (is_unsigned && unlikely(is_negative)) {
                    goto raise_neg_overflow;
                } else if (is_negative) {
                    stepval = PyNumber_Invert(v);
                    if (unlikely(!stepval))
                        return (uint32_t) -1;
                } else {
                    stepval = __Pyx_NewRef(v);
                }
                val = (uint32_t) 0;
                mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
                shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
                for (bits = 0; bits < (int) sizeof(uint32_t) * 8 - chunk_size; bits += chunk_size) {
                    PyObject *tmp, *digit;
                    digit = PyNumber_And(stepval, mask);
                    if (unlikely(!digit)) goto done;
                    idigit = PyLong_AsLong(digit);
                    Py_DECREF(digit);
                    if (unlikely(idigit < 0)) goto done;
                    tmp = PyNumber_Rshift(stepval, shift);
                    if (unlikely(!tmp)) goto done;
                    Py_DECREF(stepval); stepval = tmp;
                    val |= ((uint32_t) idigit) << bits;
                    #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                    if (Py_SIZE(stepval) == 0)
                        goto unpacking_done;
                    #endif
                }
                idigit = PyLong_AsLong(stepval);
                if (unlikely(idigit < 0)) goto done;
                remaining_bits = ((int) sizeof(uint32_t) * 8) - bits - (is_unsigned ? 0 : 1);
                if (unlikely(idigit >= (1L << remaining_bits)))
                    goto raise_overflow;
                val |= ((uint32_t) idigit) << bits;
            #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
            unpacking_done:
            #endif
                if (!is_unsigned) {
                    if (unlikely(val & (((uint32_t) 1) << (sizeof(uint32_t) * 8 - 1))))
                        goto raise_overflow;
                    if (is_negative)
                        val = ~val;
                }
                ret = 0;
            done:
                Py_XDECREF(shift);
                Py_XDECREF(mask);
                Py_XDECREF(stepval);
#endif
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
            return (uint32_t) -1;
        }
    } else {
        uint32_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (uint32_t) -1;
        val = __Pyx_PyInt_As_uint32_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to uint32_t");
    return (uint32_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to uint32_t");
    return (uint32_t) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_PY_LONG_LONG(unsigned PY_LONG_LONG value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG) -1, const_zero = (unsigned PY_LONG_LONG) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(unsigned PY_LONG_LONG) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(unsigned PY_LONG_LONG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned PY_LONG_LONG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(unsigned PY_LONG_LONG) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned PY_LONG_LONG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(unsigned PY_LONG_LONG),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(unsigned PY_LONG_LONG));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(int) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(int) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(int) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(int),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(int));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const uint64_t neg_one = (uint64_t) -1, const_zero = (uint64_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(uint64_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(uint64_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint64_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(uint64_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint64_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(uint64_t),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(uint64_t));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE char __Pyx_PyInt_As_char(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const char neg_one = (char) -1, const_zero = (char) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(char) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(char, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (char) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(char, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(char) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(char) >= 2 * PyLong_SHIFT)) {
                                return (char) (((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(char) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(char) >= 3 * PyLong_SHIFT)) {
                                return (char) (((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(char) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(char) >= 4 * PyLong_SHIFT)) {
                                return (char) (((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (char) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(char) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(char, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(char) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(char, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(char, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(char) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(char, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(char) - 1 > 2 * PyLong_SHIFT)) {
                                return (char) (((char)-1)*(((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(char) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(char) - 1 > 2 * PyLong_SHIFT)) {
                                return (char) ((((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(char) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(char, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(char) - 1 > 3 * PyLong_SHIFT)) {
                                return (char) (((char)-1)*(((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(char) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(char) - 1 > 3 * PyLong_SHIFT)) {
                                return (char) ((((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(char) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(char, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(char) - 1 > 4 * PyLong_SHIFT)) {
                                return (char) (((char)-1)*(((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(char) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(char) - 1 > 4 * PyLong_SHIFT)) {
                                return (char) ((((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(char) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(char, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(char) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(char, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
            char val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
#if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
#endif
            if (likely(v)) {
                int ret = -1;
#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                ret = _PyLong_AsByteArray((PyLongObject *)v,
                                           bytes, sizeof(val),
                                           is_little, !is_unsigned);
#else
                PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
                int bits, remaining_bits, is_negative = 0;
                long idigit;
                int chunk_size = (sizeof(long) < 8) ? 30 : 62;
                if (unlikely(!PyLong_CheckExact(v))) {
                    PyObject *tmp = v;
                    v = PyNumber_Long(v);
                    assert(PyLong_CheckExact(v));
                    Py_DECREF(tmp);
                    if (unlikely(!v)) return (char) -1;
                }
#if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                if (Py_SIZE(x) == 0)
                    return (char) 0;
                is_negative = Py_SIZE(x) < 0;
#else
                {
                    int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                    if (unlikely(result < 0))
                        return (char) -1;
                    is_negative = result == 1;
                }
#endif
                if (is_unsigned && unlikely(is_negative)) {
                    goto raise_neg_overflow;
                } else if (is_negative) {
                    stepval = PyNumber_Invert(v);
                    if (unlikely(!stepval))
                        return (char) -1;
                } else {
                    stepval = __Pyx_NewRef(v);
                }
                val = (char) 0;
                mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
                shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
                for (bits = 0; bits < (int) sizeof(char) * 8 - chunk_size; bits += chunk_size) {
                    PyObject *tmp, *digit;
                    digit = PyNumber_And(stepval, mask);
                    if (unlikely(!digit)) goto done;
                    idigit = PyLong_AsLong(digit);
                    Py_DECREF(digit);
                    if (unlikely(idigit < 0)) goto done;
                    tmp = PyNumber_Rshift(stepval, shift);
                    if (unlikely(!tmp)) goto done;
                    Py_DECREF(stepval); stepval = tmp;
                    val |= ((char) idigit) << bits;
                    #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                    if (Py_SIZE(stepval) == 0)
                        goto unpacking_done;
                    #endif
                }
                idigit = PyLong_AsLong(stepval);
                if (unlikely(idigit < 0)) goto done;
                remaining_bits = ((int) sizeof(char) * 8) - bits - (is_unsigned ? 0 : 1);
                if (unlikely(idigit >= (1L << remaining_bits)))
                    goto raise_overflow;
                val |= ((char) idigit) << bits;
            #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
            unpacking_done:
            #endif
                if (!is_unsigned) {
                    if (unlikely(val & (((char) 1) << (sizeof(char) * 8 - 1))))
                        goto raise_overflow;
                    if (is_negative)
                        val = ~val;
                }
                ret = 0;
            done:
                Py_XDECREF(shift);
                Py_XDECREF(mask);
                Py_XDECREF(stepval);
#endif
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
            return (char) -1;
        }
    } else {
        char val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (char) -1;
        val = __Pyx_PyInt_As_char(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to char");
    return (char) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to char");
    return (char) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUstreamBatchMemOpType_enum __Pyx_PyInt_As_enum__CUstreamBatchMemOpType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamBatchMemOpType_enum neg_one = (enum CUstreamBatchMemOpType_enum) -1, const_zero = (enum CUstreamBatchMemOpType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUstreamBatchMemOpType_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUstreamBatchMemOpType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUstreamBatchMemOpType_enum) (((((enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUstreamBatchMemOpType_enum) (((((((enum CUstreamBatchMemOpType_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUstreamBatchMemOpType_enum) (((((((((enum CUstreamBatchMemOpType_enum)digits[3]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUstreamBatchMemOpType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUstreamBatchMemOpType_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUstreamBatchMemOpType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUstreamBatchMemOpType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUstreamBatchMemOpType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUstreamBatchMemOpType_enum) (((enum CUstreamBatchMemOpType_enum)-1)*(((((enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUstreamBatchMemOpType_enum) ((((((enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUstreamBatchMemOpType_enum) (((enum CUstreamBatchMemOpType_enum)-1)*(((((((enum CUstreamBatchMemOpType_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUstreamBatchMemOpType_enum) ((((((((enum CUstreamBatchMemOpType_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUstreamBatchMemOpType_enum) (((enum CUstreamBatchMemOpType_enum)-1)*(((((((((enum CUstreamBatchMemOpType_enum)digits[3]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamBatchMemOpType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamBatchMemOpType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUstreamBatchMemOpType_enum) ((((((((((enum CUstreamBatchMemOpType_enum)digits[3]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamBatchMemOpType_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUstreamBatchMemOpType_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUstreamBatchMemOpType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUstreamBatchMemOpType_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUstreamBatchMemOpType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUstreamBatchMemOpType_enum) -1;
    } else {
        enum CUstreamBatchMemOpType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUstreamBatchMemOpType_enum) -1;
        val = __Pyx_PyInt_As_enum__CUstreamBatchMemOpType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUstreamBatchMemOpType_enum");
    return (enum CUstreamBatchMemOpType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUstreamBatchMemOpType_enum");
    return (enum CUstreamBatchMemOpType_enum) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(unsigned int) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(unsigned int) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(unsigned int) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(unsigned int),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(unsigned int));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE enum CUasyncNotificationType_enum __Pyx_PyInt_As_enum__CUasyncNotificationType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUasyncNotificationType_enum neg_one = (enum CUasyncNotificationType_enum) -1, const_zero = (enum CUasyncNotificationType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUasyncNotificationType_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUasyncNotificationType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUasyncNotificationType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUasyncNotificationType_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUasyncNotificationType_enum) (((((enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUasyncNotificationType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUasyncNotificationType_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUasyncNotificationType_enum) (((((((enum CUasyncNotificationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUasyncNotificationType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUasyncNotificationType_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUasyncNotificationType_enum) (((((((((enum CUasyncNotificationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUasyncNotificationType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUasyncNotificationType_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUasyncNotificationType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUasyncNotificationType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUasyncNotificationType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUasyncNotificationType_enum) (((enum CUasyncNotificationType_enum)-1)*(((((enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUasyncNotificationType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUasyncNotificationType_enum) ((((((enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUasyncNotificationType_enum) (((enum CUasyncNotificationType_enum)-1)*(((((((enum CUasyncNotificationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUasyncNotificationType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUasyncNotificationType_enum) ((((((((enum CUasyncNotificationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUasyncNotificationType_enum) (((enum CUasyncNotificationType_enum)-1)*(((((((((enum CUasyncNotificationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUasyncNotificationType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUasyncNotificationType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUasyncNotificationType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUasyncNotificationType_enum) ((((((((((enum CUasyncNotificationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUasyncNotificationType_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUasyncNotificationType_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUasyncNotificationType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUasyncNotificationType_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUasyncNotificationType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUasyncNotificationType_enum) -1;
    } else {
        enum CUasyncNotificationType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUasyncNotificationType_enum) -1;
        val = __Pyx_PyInt_As_enum__CUasyncNotificationType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUasyncNotificationType_enum");
    return (enum CUasyncNotificationType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUasyncNotificationType_enum");
    return (enum CUasyncNotificationType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUaccessProperty_enum __Pyx_PyInt_As_enum__CUaccessProperty_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUaccessProperty_enum neg_one = (enum CUaccessProperty_enum) -1, const_zero = (enum CUaccessProperty_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUaccessProperty_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUaccessProperty_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUaccessProperty_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaccessProperty_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUaccessProperty_enum) (((((enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUaccessProperty_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaccessProperty_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUaccessProperty_enum) (((((((enum CUaccessProperty_enum)digits[2]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUaccessProperty_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaccessProperty_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUaccessProperty_enum) (((((((((enum CUaccessProperty_enum)digits[3]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[2]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUaccessProperty_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUaccessProperty_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUaccessProperty_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUaccessProperty_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUaccessProperty_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUaccessProperty_enum) (((enum CUaccessProperty_enum)-1)*(((((enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUaccessProperty_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUaccessProperty_enum) ((((((enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUaccessProperty_enum) (((enum CUaccessProperty_enum)-1)*(((((((enum CUaccessProperty_enum)digits[2]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUaccessProperty_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUaccessProperty_enum) ((((((((enum CUaccessProperty_enum)digits[2]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUaccessProperty_enum) (((enum CUaccessProperty_enum)-1)*(((((((((enum CUaccessProperty_enum)digits[3]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[2]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUaccessProperty_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaccessProperty_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaccessProperty_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUaccessProperty_enum) ((((((((((enum CUaccessProperty_enum)digits[3]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[2]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[1]) << PyLong_SHIFT) | (enum CUaccessProperty_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUaccessProperty_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUaccessProperty_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUaccessProperty_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUaccessProperty_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUaccessProperty_enum) -1;
    } else {
        enum CUaccessProperty_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUaccessProperty_enum) -1;
        val = __Pyx_PyInt_As_enum__CUaccessProperty_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUaccessProperty_enum");
    return (enum CUaccessProperty_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUaccessProperty_enum");
    return (enum CUaccessProperty_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUgraphConditionalNodeType_enum __Pyx_PyInt_As_enum__CUgraphConditionalNodeType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphConditionalNodeType_enum neg_one = (enum CUgraphConditionalNodeType_enum) -1, const_zero = (enum CUgraphConditionalNodeType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUgraphConditionalNodeType_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUgraphConditionalNodeType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUgraphConditionalNodeType_enum) (((((enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUgraphConditionalNodeType_enum) (((((((enum CUgraphConditionalNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUgraphConditionalNodeType_enum) (((((((((enum CUgraphConditionalNodeType_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUgraphConditionalNodeType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUgraphConditionalNodeType_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphConditionalNodeType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUgraphConditionalNodeType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphConditionalNodeType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUgraphConditionalNodeType_enum) (((enum CUgraphConditionalNodeType_enum)-1)*(((((enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUgraphConditionalNodeType_enum) ((((((enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUgraphConditionalNodeType_enum) (((enum CUgraphConditionalNodeType_enum)-1)*(((((((enum CUgraphConditionalNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUgraphConditionalNodeType_enum) ((((((((enum CUgraphConditionalNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUgraphConditionalNodeType_enum) (((enum CUgraphConditionalNodeType_enum)-1)*(((((((((enum CUgraphConditionalNodeType_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphConditionalNodeType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphConditionalNodeType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUgraphConditionalNodeType_enum) ((((((((((enum CUgraphConditionalNodeType_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphConditionalNodeType_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUgraphConditionalNodeType_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphConditionalNodeType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUgraphConditionalNodeType_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphConditionalNodeType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUgraphConditionalNodeType_enum) -1;
    } else {
        enum CUgraphConditionalNodeType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUgraphConditionalNodeType_enum) -1;
        val = __Pyx_PyInt_As_enum__CUgraphConditionalNodeType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUgraphConditionalNodeType_enum");
    return (enum CUgraphConditionalNodeType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUgraphConditionalNodeType_enum");
    return (enum CUgraphConditionalNodeType_enum) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_char(unsigned char value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned char neg_one = (unsigned char) -1, const_zero = (unsigned char) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(unsigned char) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(unsigned char) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned char) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(unsigned char) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned char) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(unsigned char),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(unsigned char));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE enum CUgraphInstantiateResult_enum __Pyx_PyInt_As_enum__CUgraphInstantiateResult_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphInstantiateResult_enum neg_one = (enum CUgraphInstantiateResult_enum) -1, const_zero = (enum CUgraphInstantiateResult_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUgraphInstantiateResult_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUgraphInstantiateResult_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUgraphInstantiateResult_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUgraphInstantiateResult_enum) (((((enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUgraphInstantiateResult_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUgraphInstantiateResult_enum) (((((((enum CUgraphInstantiateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUgraphInstantiateResult_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUgraphInstantiateResult_enum) (((((((((enum CUgraphInstantiateResult_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUgraphInstantiateResult_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUgraphInstantiateResult_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphInstantiateResult_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUgraphInstantiateResult_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphInstantiateResult_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUgraphInstantiateResult_enum) (((enum CUgraphInstantiateResult_enum)-1)*(((((enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUgraphInstantiateResult_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUgraphInstantiateResult_enum) ((((((enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUgraphInstantiateResult_enum) (((enum CUgraphInstantiateResult_enum)-1)*(((((((enum CUgraphInstantiateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUgraphInstantiateResult_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUgraphInstantiateResult_enum) ((((((((enum CUgraphInstantiateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUgraphInstantiateResult_enum) (((enum CUgraphInstantiateResult_enum)-1)*(((((((((enum CUgraphInstantiateResult_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUgraphInstantiateResult_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphInstantiateResult_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphInstantiateResult_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUgraphInstantiateResult_enum) ((((((((((enum CUgraphInstantiateResult_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphInstantiateResult_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUgraphInstantiateResult_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphInstantiateResult_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUgraphInstantiateResult_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphInstantiateResult_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUgraphInstantiateResult_enum) -1;
    } else {
        enum CUgraphInstantiateResult_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUgraphInstantiateResult_enum) -1;
        val = __Pyx_PyInt_As_enum__CUgraphInstantiateResult_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUgraphInstantiateResult_enum");
    return (enum CUgraphInstantiateResult_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUgraphInstantiateResult_enum");
    return (enum CUgraphInstantiateResult_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUsynchronizationPolicy_enum __Pyx_PyInt_As_enum__CUsynchronizationPolicy_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUsynchronizationPolicy_enum neg_one = (enum CUsynchronizationPolicy_enum) -1, const_zero = (enum CUsynchronizationPolicy_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUsynchronizationPolicy_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUsynchronizationPolicy_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUsynchronizationPolicy_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUsynchronizationPolicy_enum) (((((enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUsynchronizationPolicy_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUsynchronizationPolicy_enum) (((((((enum CUsynchronizationPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUsynchronizationPolicy_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUsynchronizationPolicy_enum) (((((((((enum CUsynchronizationPolicy_enum)digits[3]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUsynchronizationPolicy_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUsynchronizationPolicy_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUsynchronizationPolicy_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUsynchronizationPolicy_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUsynchronizationPolicy_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUsynchronizationPolicy_enum) (((enum CUsynchronizationPolicy_enum)-1)*(((((enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUsynchronizationPolicy_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUsynchronizationPolicy_enum) ((((((enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUsynchronizationPolicy_enum) (((enum CUsynchronizationPolicy_enum)-1)*(((((((enum CUsynchronizationPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUsynchronizationPolicy_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUsynchronizationPolicy_enum) ((((((((enum CUsynchronizationPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUsynchronizationPolicy_enum) (((enum CUsynchronizationPolicy_enum)-1)*(((((((((enum CUsynchronizationPolicy_enum)digits[3]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUsynchronizationPolicy_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsynchronizationPolicy_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsynchronizationPolicy_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUsynchronizationPolicy_enum) ((((((((((enum CUsynchronizationPolicy_enum)digits[3]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUsynchronizationPolicy_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUsynchronizationPolicy_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUsynchronizationPolicy_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUsynchronizationPolicy_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUsynchronizationPolicy_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUsynchronizationPolicy_enum) -1;
    } else {
        enum CUsynchronizationPolicy_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUsynchronizationPolicy_enum) -1;
        val = __Pyx_PyInt_As_enum__CUsynchronizationPolicy_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUsynchronizationPolicy_enum");
    return (enum CUsynchronizationPolicy_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUsynchronizationPolicy_enum");
    return (enum CUsynchronizationPolicy_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUclusterSchedulingPolicy_enum __Pyx_PyInt_As_enum__CUclusterSchedulingPolicy_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUclusterSchedulingPolicy_enum neg_one = (enum CUclusterSchedulingPolicy_enum) -1, const_zero = (enum CUclusterSchedulingPolicy_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUclusterSchedulingPolicy_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUclusterSchedulingPolicy_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUclusterSchedulingPolicy_enum) (((((enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUclusterSchedulingPolicy_enum) (((((((enum CUclusterSchedulingPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUclusterSchedulingPolicy_enum) (((((((((enum CUclusterSchedulingPolicy_enum)digits[3]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUclusterSchedulingPolicy_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUclusterSchedulingPolicy_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUclusterSchedulingPolicy_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUclusterSchedulingPolicy_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUclusterSchedulingPolicy_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUclusterSchedulingPolicy_enum) (((enum CUclusterSchedulingPolicy_enum)-1)*(((((enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUclusterSchedulingPolicy_enum) ((((((enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUclusterSchedulingPolicy_enum) (((enum CUclusterSchedulingPolicy_enum)-1)*(((((((enum CUclusterSchedulingPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUclusterSchedulingPolicy_enum) ((((((((enum CUclusterSchedulingPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUclusterSchedulingPolicy_enum) (((enum CUclusterSchedulingPolicy_enum)-1)*(((((((((enum CUclusterSchedulingPolicy_enum)digits[3]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUclusterSchedulingPolicy_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUclusterSchedulingPolicy_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUclusterSchedulingPolicy_enum) ((((((((((enum CUclusterSchedulingPolicy_enum)digits[3]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[2]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[1]) << PyLong_SHIFT) | (enum CUclusterSchedulingPolicy_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUclusterSchedulingPolicy_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUclusterSchedulingPolicy_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUclusterSchedulingPolicy_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUclusterSchedulingPolicy_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUclusterSchedulingPolicy_enum) -1;
    } else {
        enum CUclusterSchedulingPolicy_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUclusterSchedulingPolicy_enum) -1;
        val = __Pyx_PyInt_As_enum__CUclusterSchedulingPolicy_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUclusterSchedulingPolicy_enum");
    return (enum CUclusterSchedulingPolicy_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUclusterSchedulingPolicy_enum");
    return (enum CUclusterSchedulingPolicy_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUlaunchMemSyncDomain_enum __Pyx_PyInt_As_enum__CUlaunchMemSyncDomain_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUlaunchMemSyncDomain_enum neg_one = (enum CUlaunchMemSyncDomain_enum) -1, const_zero = (enum CUlaunchMemSyncDomain_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUlaunchMemSyncDomain_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUlaunchMemSyncDomain_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUlaunchMemSyncDomain_enum) (((((enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUlaunchMemSyncDomain_enum) (((((((enum CUlaunchMemSyncDomain_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUlaunchMemSyncDomain_enum) (((((((((enum CUlaunchMemSyncDomain_enum)digits[3]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUlaunchMemSyncDomain_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUlaunchMemSyncDomain_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUlaunchMemSyncDomain_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUlaunchMemSyncDomain_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUlaunchMemSyncDomain_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUlaunchMemSyncDomain_enum) (((enum CUlaunchMemSyncDomain_enum)-1)*(((((enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUlaunchMemSyncDomain_enum) ((((((enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUlaunchMemSyncDomain_enum) (((enum CUlaunchMemSyncDomain_enum)-1)*(((((((enum CUlaunchMemSyncDomain_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUlaunchMemSyncDomain_enum) ((((((((enum CUlaunchMemSyncDomain_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUlaunchMemSyncDomain_enum) (((enum CUlaunchMemSyncDomain_enum)-1)*(((((((((enum CUlaunchMemSyncDomain_enum)digits[3]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchMemSyncDomain_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchMemSyncDomain_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUlaunchMemSyncDomain_enum) ((((((((((enum CUlaunchMemSyncDomain_enum)digits[3]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchMemSyncDomain_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUlaunchMemSyncDomain_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUlaunchMemSyncDomain_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUlaunchMemSyncDomain_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUlaunchMemSyncDomain_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUlaunchMemSyncDomain_enum) -1;
    } else {
        enum CUlaunchMemSyncDomain_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUlaunchMemSyncDomain_enum) -1;
        val = __Pyx_PyInt_As_enum__CUlaunchMemSyncDomain_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUlaunchMemSyncDomain_enum");
    return (enum CUlaunchMemSyncDomain_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUlaunchMemSyncDomain_enum");
    return (enum CUlaunchMemSyncDomain_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUlaunchAttributeID_enum __Pyx_PyInt_As_enum__CUlaunchAttributeID_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUlaunchAttributeID_enum neg_one = (enum CUlaunchAttributeID_enum) -1, const_zero = (enum CUlaunchAttributeID_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUlaunchAttributeID_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUlaunchAttributeID_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUlaunchAttributeID_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUlaunchAttributeID_enum) (((((enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUlaunchAttributeID_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUlaunchAttributeID_enum) (((((((enum CUlaunchAttributeID_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUlaunchAttributeID_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUlaunchAttributeID_enum) (((((((((enum CUlaunchAttributeID_enum)digits[3]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUlaunchAttributeID_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUlaunchAttributeID_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUlaunchAttributeID_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUlaunchAttributeID_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUlaunchAttributeID_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUlaunchAttributeID_enum) (((enum CUlaunchAttributeID_enum)-1)*(((((enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUlaunchAttributeID_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUlaunchAttributeID_enum) ((((((enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUlaunchAttributeID_enum) (((enum CUlaunchAttributeID_enum)-1)*(((((((enum CUlaunchAttributeID_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUlaunchAttributeID_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUlaunchAttributeID_enum) ((((((((enum CUlaunchAttributeID_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUlaunchAttributeID_enum) (((enum CUlaunchAttributeID_enum)-1)*(((((((((enum CUlaunchAttributeID_enum)digits[3]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUlaunchAttributeID_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlaunchAttributeID_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlaunchAttributeID_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUlaunchAttributeID_enum) ((((((((((enum CUlaunchAttributeID_enum)digits[3]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[2]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[1]) << PyLong_SHIFT) | (enum CUlaunchAttributeID_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUlaunchAttributeID_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUlaunchAttributeID_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUlaunchAttributeID_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUlaunchAttributeID_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUlaunchAttributeID_enum) -1;
    } else {
        enum CUlaunchAttributeID_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUlaunchAttributeID_enum) -1;
        val = __Pyx_PyInt_As_enum__CUlaunchAttributeID_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUlaunchAttributeID_enum");
    return (enum CUlaunchAttributeID_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUlaunchAttributeID_enum");
    return (enum CUlaunchAttributeID_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUexecAffinityType_enum __Pyx_PyInt_As_enum__CUexecAffinityType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUexecAffinityType_enum neg_one = (enum CUexecAffinityType_enum) -1, const_zero = (enum CUexecAffinityType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUexecAffinityType_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUexecAffinityType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUexecAffinityType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexecAffinityType_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUexecAffinityType_enum) (((((enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUexecAffinityType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexecAffinityType_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUexecAffinityType_enum) (((((((enum CUexecAffinityType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUexecAffinityType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexecAffinityType_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUexecAffinityType_enum) (((((((((enum CUexecAffinityType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUexecAffinityType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUexecAffinityType_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUexecAffinityType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUexecAffinityType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUexecAffinityType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUexecAffinityType_enum) (((enum CUexecAffinityType_enum)-1)*(((((enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUexecAffinityType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUexecAffinityType_enum) ((((((enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUexecAffinityType_enum) (((enum CUexecAffinityType_enum)-1)*(((((((enum CUexecAffinityType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUexecAffinityType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUexecAffinityType_enum) ((((((((enum CUexecAffinityType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUexecAffinityType_enum) (((enum CUexecAffinityType_enum)-1)*(((((((((enum CUexecAffinityType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUexecAffinityType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexecAffinityType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexecAffinityType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUexecAffinityType_enum) ((((((((((enum CUexecAffinityType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexecAffinityType_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUexecAffinityType_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUexecAffinityType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUexecAffinityType_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUexecAffinityType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUexecAffinityType_enum) -1;
    } else {
        enum CUexecAffinityType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUexecAffinityType_enum) -1;
        val = __Pyx_PyInt_As_enum__CUexecAffinityType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUexecAffinityType_enum");
    return (enum CUexecAffinityType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUexecAffinityType_enum");
    return (enum CUexecAffinityType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemorytype_enum __Pyx_PyInt_As_enum__CUmemorytype_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemorytype_enum neg_one = (enum CUmemorytype_enum) -1, const_zero = (enum CUmemorytype_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUmemorytype_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUmemorytype_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUmemorytype_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemorytype_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUmemorytype_enum) (((((enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemorytype_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemorytype_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUmemorytype_enum) (((((((enum CUmemorytype_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemorytype_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemorytype_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUmemorytype_enum) (((((((((enum CUmemorytype_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUmemorytype_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUmemorytype_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemorytype_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemorytype_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemorytype_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemorytype_enum) (((enum CUmemorytype_enum)-1)*(((((enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUmemorytype_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemorytype_enum) ((((((enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemorytype_enum) (((enum CUmemorytype_enum)-1)*(((((((enum CUmemorytype_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemorytype_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemorytype_enum) ((((((((enum CUmemorytype_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemorytype_enum) (((enum CUmemorytype_enum)-1)*(((((((((enum CUmemorytype_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemorytype_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemorytype_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemorytype_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemorytype_enum) ((((((((((enum CUmemorytype_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemorytype_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUmemorytype_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemorytype_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemorytype_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemorytype_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUmemorytype_enum) -1;
    } else {
        enum CUmemorytype_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUmemorytype_enum) -1;
        val = __Pyx_PyInt_As_enum__CUmemorytype_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemorytype_enum");
    return (enum CUmemorytype_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemorytype_enum");
    return (enum CUmemorytype_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUarray_format_enum __Pyx_PyInt_As_enum__CUarray_format_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUarray_format_enum neg_one = (enum CUarray_format_enum) -1, const_zero = (enum CUarray_format_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUarray_format_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUarray_format_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUarray_format_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarray_format_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUarray_format_enum) (((((enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUarray_format_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarray_format_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUarray_format_enum) (((((((enum CUarray_format_enum)digits[2]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUarray_format_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarray_format_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUarray_format_enum) (((((((((enum CUarray_format_enum)digits[3]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[2]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUarray_format_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUarray_format_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUarray_format_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUarray_format_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUarray_format_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUarray_format_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarray_format_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUarray_format_enum) (((enum CUarray_format_enum)-1)*(((((enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUarray_format_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarray_format_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUarray_format_enum) ((((((enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUarray_format_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarray_format_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUarray_format_enum) (((enum CUarray_format_enum)-1)*(((((((enum CUarray_format_enum)digits[2]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUarray_format_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarray_format_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUarray_format_enum) ((((((((enum CUarray_format_enum)digits[2]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUarray_format_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarray_format_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUarray_format_enum) (((enum CUarray_format_enum)-1)*(((((((((enum CUarray_format_enum)digits[3]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[2]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUarray_format_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarray_format_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarray_format_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUarray_format_enum) ((((((((((enum CUarray_format_enum)digits[3]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[2]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[1]) << PyLong_SHIFT) | (enum CUarray_format_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUarray_format_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUarray_format_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUarray_format_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUarray_format_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUarray_format_enum) -1;
    } else {
        enum CUarray_format_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUarray_format_enum) -1;
        val = __Pyx_PyInt_As_enum__CUarray_format_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUarray_format_enum");
    return (enum CUarray_format_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUarray_format_enum");
    return (enum CUarray_format_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUresourcetype_enum __Pyx_PyInt_As_enum__CUresourcetype_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUresourcetype_enum neg_one = (enum CUresourcetype_enum) -1, const_zero = (enum CUresourcetype_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUresourcetype_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUresourcetype_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUresourcetype_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourcetype_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUresourcetype_enum) (((((enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUresourcetype_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourcetype_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUresourcetype_enum) (((((((enum CUresourcetype_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUresourcetype_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourcetype_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUresourcetype_enum) (((((((((enum CUresourcetype_enum)digits[3]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUresourcetype_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUresourcetype_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUresourcetype_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUresourcetype_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUresourcetype_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUresourcetype_enum) (((enum CUresourcetype_enum)-1)*(((((enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUresourcetype_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUresourcetype_enum) ((((((enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUresourcetype_enum) (((enum CUresourcetype_enum)-1)*(((((((enum CUresourcetype_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUresourcetype_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUresourcetype_enum) ((((((((enum CUresourcetype_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUresourcetype_enum) (((enum CUresourcetype_enum)-1)*(((((((((enum CUresourcetype_enum)digits[3]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUresourcetype_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourcetype_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourcetype_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUresourcetype_enum) ((((((((((enum CUresourcetype_enum)digits[3]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourcetype_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUresourcetype_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUresourcetype_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUresourcetype_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUresourcetype_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUresourcetype_enum) -1;
    } else {
        enum CUresourcetype_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUresourcetype_enum) -1;
        val = __Pyx_PyInt_As_enum__CUresourcetype_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUresourcetype_enum");
    return (enum CUresourcetype_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUresourcetype_enum");
    return (enum CUresourcetype_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUaddress_mode_enum __Pyx_PyInt_As_enum__CUaddress_mode_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUaddress_mode_enum neg_one = (enum CUaddress_mode_enum) -1, const_zero = (enum CUaddress_mode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUaddress_mode_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUaddress_mode_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUaddress_mode_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaddress_mode_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUaddress_mode_enum) (((((enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUaddress_mode_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaddress_mode_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUaddress_mode_enum) (((((((enum CUaddress_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUaddress_mode_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaddress_mode_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUaddress_mode_enum) (((((((((enum CUaddress_mode_enum)digits[3]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUaddress_mode_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUaddress_mode_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUaddress_mode_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUaddress_mode_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUaddress_mode_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUaddress_mode_enum) (((enum CUaddress_mode_enum)-1)*(((((enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUaddress_mode_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUaddress_mode_enum) ((((((enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUaddress_mode_enum) (((enum CUaddress_mode_enum)-1)*(((((((enum CUaddress_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUaddress_mode_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUaddress_mode_enum) ((((((((enum CUaddress_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUaddress_mode_enum) (((enum CUaddress_mode_enum)-1)*(((((((((enum CUaddress_mode_enum)digits[3]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUaddress_mode_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUaddress_mode_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUaddress_mode_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUaddress_mode_enum) ((((((((((enum CUaddress_mode_enum)digits[3]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUaddress_mode_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUaddress_mode_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUaddress_mode_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUaddress_mode_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUaddress_mode_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUaddress_mode_enum) -1;
    } else {
        enum CUaddress_mode_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUaddress_mode_enum) -1;
        val = __Pyx_PyInt_As_enum__CUaddress_mode_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUaddress_mode_enum");
    return (enum CUaddress_mode_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUaddress_mode_enum");
    return (enum CUaddress_mode_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUfilter_mode_enum __Pyx_PyInt_As_enum__CUfilter_mode_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUfilter_mode_enum neg_one = (enum CUfilter_mode_enum) -1, const_zero = (enum CUfilter_mode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUfilter_mode_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUfilter_mode_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUfilter_mode_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfilter_mode_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUfilter_mode_enum) (((((enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUfilter_mode_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfilter_mode_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUfilter_mode_enum) (((((((enum CUfilter_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUfilter_mode_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfilter_mode_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUfilter_mode_enum) (((((((((enum CUfilter_mode_enum)digits[3]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUfilter_mode_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUfilter_mode_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUfilter_mode_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUfilter_mode_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUfilter_mode_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUfilter_mode_enum) (((enum CUfilter_mode_enum)-1)*(((((enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUfilter_mode_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUfilter_mode_enum) ((((((enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUfilter_mode_enum) (((enum CUfilter_mode_enum)-1)*(((((((enum CUfilter_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUfilter_mode_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUfilter_mode_enum) ((((((((enum CUfilter_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUfilter_mode_enum) (((enum CUfilter_mode_enum)-1)*(((((((((enum CUfilter_mode_enum)digits[3]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUfilter_mode_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfilter_mode_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfilter_mode_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUfilter_mode_enum) ((((((((((enum CUfilter_mode_enum)digits[3]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[2]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[1]) << PyLong_SHIFT) | (enum CUfilter_mode_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUfilter_mode_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUfilter_mode_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUfilter_mode_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUfilter_mode_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUfilter_mode_enum) -1;
    } else {
        enum CUfilter_mode_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUfilter_mode_enum) -1;
        val = __Pyx_PyInt_As_enum__CUfilter_mode_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUfilter_mode_enum");
    return (enum CUfilter_mode_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUfilter_mode_enum");
    return (enum CUfilter_mode_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUresourceViewFormat_enum __Pyx_PyInt_As_enum__CUresourceViewFormat_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUresourceViewFormat_enum neg_one = (enum CUresourceViewFormat_enum) -1, const_zero = (enum CUresourceViewFormat_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUresourceViewFormat_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUresourceViewFormat_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUresourceViewFormat_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourceViewFormat_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUresourceViewFormat_enum) (((((enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUresourceViewFormat_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourceViewFormat_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUresourceViewFormat_enum) (((((((enum CUresourceViewFormat_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUresourceViewFormat_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourceViewFormat_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUresourceViewFormat_enum) (((((((((enum CUresourceViewFormat_enum)digits[3]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUresourceViewFormat_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUresourceViewFormat_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUresourceViewFormat_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUresourceViewFormat_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUresourceViewFormat_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUresourceViewFormat_enum) (((enum CUresourceViewFormat_enum)-1)*(((((enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUresourceViewFormat_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUresourceViewFormat_enum) ((((((enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUresourceViewFormat_enum) (((enum CUresourceViewFormat_enum)-1)*(((((((enum CUresourceViewFormat_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUresourceViewFormat_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUresourceViewFormat_enum) ((((((((enum CUresourceViewFormat_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUresourceViewFormat_enum) (((enum CUresourceViewFormat_enum)-1)*(((((((((enum CUresourceViewFormat_enum)digits[3]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUresourceViewFormat_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUresourceViewFormat_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUresourceViewFormat_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUresourceViewFormat_enum) ((((((((((enum CUresourceViewFormat_enum)digits[3]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[2]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[1]) << PyLong_SHIFT) | (enum CUresourceViewFormat_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUresourceViewFormat_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUresourceViewFormat_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUresourceViewFormat_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUresourceViewFormat_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUresourceViewFormat_enum) -1;
    } else {
        enum CUresourceViewFormat_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUresourceViewFormat_enum) -1;
        val = __Pyx_PyInt_As_enum__CUresourceViewFormat_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUresourceViewFormat_enum");
    return (enum CUresourceViewFormat_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUresourceViewFormat_enum");
    return (enum CUresourceViewFormat_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUexternalMemoryHandleType_enum __Pyx_PyInt_As_enum__CUexternalMemoryHandleType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUexternalMemoryHandleType_enum neg_one = (enum CUexternalMemoryHandleType_enum) -1, const_zero = (enum CUexternalMemoryHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUexternalMemoryHandleType_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUexternalMemoryHandleType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUexternalMemoryHandleType_enum) (((((enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUexternalMemoryHandleType_enum) (((((((enum CUexternalMemoryHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUexternalMemoryHandleType_enum) (((((((((enum CUexternalMemoryHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUexternalMemoryHandleType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUexternalMemoryHandleType_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUexternalMemoryHandleType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUexternalMemoryHandleType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUexternalMemoryHandleType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUexternalMemoryHandleType_enum) (((enum CUexternalMemoryHandleType_enum)-1)*(((((enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUexternalMemoryHandleType_enum) ((((((enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUexternalMemoryHandleType_enum) (((enum CUexternalMemoryHandleType_enum)-1)*(((((((enum CUexternalMemoryHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUexternalMemoryHandleType_enum) ((((((((enum CUexternalMemoryHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUexternalMemoryHandleType_enum) (((enum CUexternalMemoryHandleType_enum)-1)*(((((((((enum CUexternalMemoryHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalMemoryHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalMemoryHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUexternalMemoryHandleType_enum) ((((((((((enum CUexternalMemoryHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalMemoryHandleType_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUexternalMemoryHandleType_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUexternalMemoryHandleType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUexternalMemoryHandleType_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUexternalMemoryHandleType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUexternalMemoryHandleType_enum) -1;
    } else {
        enum CUexternalMemoryHandleType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUexternalMemoryHandleType_enum) -1;
        val = __Pyx_PyInt_As_enum__CUexternalMemoryHandleType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUexternalMemoryHandleType_enum");
    return (enum CUexternalMemoryHandleType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUexternalMemoryHandleType_enum");
    return (enum CUexternalMemoryHandleType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUexternalSemaphoreHandleType_enum __Pyx_PyInt_As_enum__CUexternalSemaphoreHandleType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUexternalSemaphoreHandleType_enum neg_one = (enum CUexternalSemaphoreHandleType_enum) -1, const_zero = (enum CUexternalSemaphoreHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUexternalSemaphoreHandleType_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUexternalSemaphoreHandleType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUexternalSemaphoreHandleType_enum) (((((enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUexternalSemaphoreHandleType_enum) (((((((enum CUexternalSemaphoreHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUexternalSemaphoreHandleType_enum) (((((((((enum CUexternalSemaphoreHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUexternalSemaphoreHandleType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUexternalSemaphoreHandleType_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUexternalSemaphoreHandleType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUexternalSemaphoreHandleType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUexternalSemaphoreHandleType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUexternalSemaphoreHandleType_enum) (((enum CUexternalSemaphoreHandleType_enum)-1)*(((((enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUexternalSemaphoreHandleType_enum) ((((((enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUexternalSemaphoreHandleType_enum) (((enum CUexternalSemaphoreHandleType_enum)-1)*(((((((enum CUexternalSemaphoreHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUexternalSemaphoreHandleType_enum) ((((((((enum CUexternalSemaphoreHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUexternalSemaphoreHandleType_enum) (((enum CUexternalSemaphoreHandleType_enum)-1)*(((((((((enum CUexternalSemaphoreHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUexternalSemaphoreHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUexternalSemaphoreHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUexternalSemaphoreHandleType_enum) ((((((((((enum CUexternalSemaphoreHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUexternalSemaphoreHandleType_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUexternalSemaphoreHandleType_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUexternalSemaphoreHandleType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUexternalSemaphoreHandleType_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUexternalSemaphoreHandleType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUexternalSemaphoreHandleType_enum) -1;
    } else {
        enum CUexternalSemaphoreHandleType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUexternalSemaphoreHandleType_enum) -1;
        val = __Pyx_PyInt_As_enum__CUexternalSemaphoreHandleType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUexternalSemaphoreHandleType_enum");
    return (enum CUexternalSemaphoreHandleType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUexternalSemaphoreHandleType_enum");
    return (enum CUexternalSemaphoreHandleType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUarraySparseSubresourceType_enum __Pyx_PyInt_As_enum__CUarraySparseSubresourceType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUarraySparseSubresourceType_enum neg_one = (enum CUarraySparseSubresourceType_enum) -1, const_zero = (enum CUarraySparseSubresourceType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUarraySparseSubresourceType_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUarraySparseSubresourceType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUarraySparseSubresourceType_enum) (((((enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUarraySparseSubresourceType_enum) (((((((enum CUarraySparseSubresourceType_enum)digits[2]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUarraySparseSubresourceType_enum) (((((((((enum CUarraySparseSubresourceType_enum)digits[3]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[2]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUarraySparseSubresourceType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUarraySparseSubresourceType_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUarraySparseSubresourceType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUarraySparseSubresourceType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUarraySparseSubresourceType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUarraySparseSubresourceType_enum) (((enum CUarraySparseSubresourceType_enum)-1)*(((((enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUarraySparseSubresourceType_enum) ((((((enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUarraySparseSubresourceType_enum) (((enum CUarraySparseSubresourceType_enum)-1)*(((((((enum CUarraySparseSubresourceType_enum)digits[2]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUarraySparseSubresourceType_enum) ((((((((enum CUarraySparseSubresourceType_enum)digits[2]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUarraySparseSubresourceType_enum) (((enum CUarraySparseSubresourceType_enum)-1)*(((((((((enum CUarraySparseSubresourceType_enum)digits[3]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[2]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUarraySparseSubresourceType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUarraySparseSubresourceType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUarraySparseSubresourceType_enum) ((((((((((enum CUarraySparseSubresourceType_enum)digits[3]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[2]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[1]) << PyLong_SHIFT) | (enum CUarraySparseSubresourceType_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUarraySparseSubresourceType_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUarraySparseSubresourceType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUarraySparseSubresourceType_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUarraySparseSubresourceType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUarraySparseSubresourceType_enum) -1;
    } else {
        enum CUarraySparseSubresourceType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUarraySparseSubresourceType_enum) -1;
        val = __Pyx_PyInt_As_enum__CUarraySparseSubresourceType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUarraySparseSubresourceType_enum");
    return (enum CUarraySparseSubresourceType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUarraySparseSubresourceType_enum");
    return (enum CUarraySparseSubresourceType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemOperationType_enum __Pyx_PyInt_As_enum__CUmemOperationType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemOperationType_enum neg_one = (enum CUmemOperationType_enum) -1, const_zero = (enum CUmemOperationType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUmemOperationType_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUmemOperationType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUmemOperationType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemOperationType_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUmemOperationType_enum) (((((enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemOperationType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemOperationType_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUmemOperationType_enum) (((((((enum CUmemOperationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemOperationType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemOperationType_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUmemOperationType_enum) (((((((((enum CUmemOperationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUmemOperationType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUmemOperationType_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemOperationType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemOperationType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemOperationType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemOperationType_enum) (((enum CUmemOperationType_enum)-1)*(((((enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUmemOperationType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemOperationType_enum) ((((((enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemOperationType_enum) (((enum CUmemOperationType_enum)-1)*(((((((enum CUmemOperationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemOperationType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemOperationType_enum) ((((((((enum CUmemOperationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemOperationType_enum) (((enum CUmemOperationType_enum)-1)*(((((((((enum CUmemOperationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemOperationType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemOperationType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemOperationType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemOperationType_enum) ((((((((((enum CUmemOperationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemOperationType_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUmemOperationType_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemOperationType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemOperationType_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemOperationType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUmemOperationType_enum) -1;
    } else {
        enum CUmemOperationType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUmemOperationType_enum) -1;
        val = __Pyx_PyInt_As_enum__CUmemOperationType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemOperationType_enum");
    return (enum CUmemOperationType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemOperationType_enum");
    return (enum CUmemOperationType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemHandleType_enum __Pyx_PyInt_As_enum__CUmemHandleType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemHandleType_enum neg_one = (enum CUmemHandleType_enum) -1, const_zero = (enum CUmemHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUmemHandleType_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUmemHandleType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUmemHandleType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemHandleType_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUmemHandleType_enum) (((((enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemHandleType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemHandleType_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUmemHandleType_enum) (((((((enum CUmemHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemHandleType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemHandleType_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUmemHandleType_enum) (((((((((enum CUmemHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUmemHandleType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUmemHandleType_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemHandleType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemHandleType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemHandleType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemHandleType_enum) (((enum CUmemHandleType_enum)-1)*(((((enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUmemHandleType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemHandleType_enum) ((((((enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemHandleType_enum) (((enum CUmemHandleType_enum)-1)*(((((((enum CUmemHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemHandleType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemHandleType_enum) ((((((((enum CUmemHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemHandleType_enum) (((enum CUmemHandleType_enum)-1)*(((((((((enum CUmemHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemHandleType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemHandleType_enum) ((((((((((enum CUmemHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemHandleType_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUmemHandleType_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemHandleType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemHandleType_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemHandleType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUmemHandleType_enum) -1;
    } else {
        enum CUmemHandleType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUmemHandleType_enum) -1;
        val = __Pyx_PyInt_As_enum__CUmemHandleType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemHandleType_enum");
    return (enum CUmemHandleType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemHandleType_enum");
    return (enum CUmemHandleType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemLocationType_enum __Pyx_PyInt_As_enum__CUmemLocationType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemLocationType_enum neg_one = (enum CUmemLocationType_enum) -1, const_zero = (enum CUmemLocationType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUmemLocationType_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUmemLocationType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUmemLocationType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemLocationType_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUmemLocationType_enum) (((((enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemLocationType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemLocationType_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUmemLocationType_enum) (((((((enum CUmemLocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemLocationType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemLocationType_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUmemLocationType_enum) (((((((((enum CUmemLocationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUmemLocationType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUmemLocationType_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemLocationType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemLocationType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemLocationType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemLocationType_enum) (((enum CUmemLocationType_enum)-1)*(((((enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUmemLocationType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemLocationType_enum) ((((((enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemLocationType_enum) (((enum CUmemLocationType_enum)-1)*(((((((enum CUmemLocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemLocationType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemLocationType_enum) ((((((((enum CUmemLocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemLocationType_enum) (((enum CUmemLocationType_enum)-1)*(((((((((enum CUmemLocationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemLocationType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemLocationType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemLocationType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemLocationType_enum) ((((((((((enum CUmemLocationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemLocationType_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUmemLocationType_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemLocationType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemLocationType_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemLocationType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUmemLocationType_enum) -1;
    } else {
        enum CUmemLocationType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUmemLocationType_enum) -1;
        val = __Pyx_PyInt_As_enum__CUmemLocationType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemLocationType_enum");
    return (enum CUmemLocationType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemLocationType_enum");
    return (enum CUmemLocationType_enum) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_short(unsigned short value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned short neg_one = (unsigned short) -1, const_zero = (unsigned short) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(unsigned short) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(unsigned short) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned short) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(unsigned short) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned short) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(unsigned short),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(unsigned short));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemAllocationType_enum __Pyx_PyInt_As_enum__CUmemAllocationType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAllocationType_enum neg_one = (enum CUmemAllocationType_enum) -1, const_zero = (enum CUmemAllocationType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUmemAllocationType_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUmemAllocationType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUmemAllocationType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationType_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationType_enum) (((((enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemAllocationType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationType_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationType_enum) (((((((enum CUmemAllocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemAllocationType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationType_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationType_enum) (((((((((enum CUmemAllocationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUmemAllocationType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUmemAllocationType_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemAllocationType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationType_enum) (((enum CUmemAllocationType_enum)-1)*(((((enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUmemAllocationType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationType_enum) ((((((enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationType_enum) (((enum CUmemAllocationType_enum)-1)*(((((((enum CUmemAllocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemAllocationType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationType_enum) ((((((((enum CUmemAllocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationType_enum) (((enum CUmemAllocationType_enum)-1)*(((((((((enum CUmemAllocationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemAllocationType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationType_enum) ((((((((((enum CUmemAllocationType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationType_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUmemAllocationType_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemAllocationType_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUmemAllocationType_enum) -1;
    } else {
        enum CUmemAllocationType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUmemAllocationType_enum) -1;
        val = __Pyx_PyInt_As_enum__CUmemAllocationType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemAllocationType_enum");
    return (enum CUmemAllocationType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemAllocationType_enum");
    return (enum CUmemAllocationType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemAllocationHandleType_enum __Pyx_PyInt_As_enum__CUmemAllocationHandleType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAllocationHandleType_enum neg_one = (enum CUmemAllocationHandleType_enum) -1, const_zero = (enum CUmemAllocationHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUmemAllocationHandleType_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUmemAllocationHandleType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUmemAllocationHandleType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationHandleType_enum) (((((enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemAllocationHandleType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationHandleType_enum) (((((((enum CUmemAllocationHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemAllocationHandleType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationHandleType_enum) (((((((((enum CUmemAllocationHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUmemAllocationHandleType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUmemAllocationHandleType_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationHandleType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemAllocationHandleType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationHandleType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationHandleType_enum) (((enum CUmemAllocationHandleType_enum)-1)*(((((enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUmemAllocationHandleType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationHandleType_enum) ((((((enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationHandleType_enum) (((enum CUmemAllocationHandleType_enum)-1)*(((((((enum CUmemAllocationHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemAllocationHandleType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationHandleType_enum) ((((((((enum CUmemAllocationHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationHandleType_enum) (((enum CUmemAllocationHandleType_enum)-1)*(((((((((enum CUmemAllocationHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemAllocationHandleType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationHandleType_enum) ((((((((((enum CUmemAllocationHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationHandleType_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUmemAllocationHandleType_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationHandleType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemAllocationHandleType_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationHandleType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUmemAllocationHandleType_enum) -1;
    } else {
        enum CUmemAllocationHandleType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUmemAllocationHandleType_enum) -1;
        val = __Pyx_PyInt_As_enum__CUmemAllocationHandleType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemAllocationHandleType_enum");
    return (enum CUmemAllocationHandleType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemAllocationHandleType_enum");
    return (enum CUmemAllocationHandleType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemAccess_flags_enum __Pyx_PyInt_As_enum__CUmemAccess_flags_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAccess_flags_enum neg_one = (enum CUmemAccess_flags_enum) -1, const_zero = (enum CUmemAccess_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUmemAccess_flags_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUmemAccess_flags_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUmemAccess_flags_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAccess_flags_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUmemAccess_flags_enum) (((((enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemAccess_flags_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAccess_flags_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUmemAccess_flags_enum) (((((((enum CUmemAccess_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemAccess_flags_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAccess_flags_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUmemAccess_flags_enum) (((((((((enum CUmemAccess_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUmemAccess_flags_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUmemAccess_flags_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAccess_flags_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemAccess_flags_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAccess_flags_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemAccess_flags_enum) (((enum CUmemAccess_flags_enum)-1)*(((((enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUmemAccess_flags_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemAccess_flags_enum) ((((((enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemAccess_flags_enum) (((enum CUmemAccess_flags_enum)-1)*(((((((enum CUmemAccess_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemAccess_flags_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemAccess_flags_enum) ((((((((enum CUmemAccess_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemAccess_flags_enum) (((enum CUmemAccess_flags_enum)-1)*(((((((((enum CUmemAccess_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemAccess_flags_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAccess_flags_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAccess_flags_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemAccess_flags_enum) ((((((((((enum CUmemAccess_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAccess_flags_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUmemAccess_flags_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAccess_flags_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemAccess_flags_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAccess_flags_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUmemAccess_flags_enum) -1;
    } else {
        enum CUmemAccess_flags_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUmemAccess_flags_enum) -1;
        val = __Pyx_PyInt_As_enum__CUmemAccess_flags_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemAccess_flags_enum");
    return (enum CUmemAccess_flags_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemAccess_flags_enum");
    return (enum CUmemAccess_flags_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUgraphExecUpdateResult_enum __Pyx_PyInt_As_enum__CUgraphExecUpdateResult_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphExecUpdateResult_enum neg_one = (enum CUgraphExecUpdateResult_enum) -1, const_zero = (enum CUgraphExecUpdateResult_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUgraphExecUpdateResult_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUgraphExecUpdateResult_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUgraphExecUpdateResult_enum) (((((enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUgraphExecUpdateResult_enum) (((((((enum CUgraphExecUpdateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUgraphExecUpdateResult_enum) (((((((((enum CUgraphExecUpdateResult_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUgraphExecUpdateResult_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUgraphExecUpdateResult_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphExecUpdateResult_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUgraphExecUpdateResult_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphExecUpdateResult_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUgraphExecUpdateResult_enum) (((enum CUgraphExecUpdateResult_enum)-1)*(((((enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUgraphExecUpdateResult_enum) ((((((enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUgraphExecUpdateResult_enum) (((enum CUgraphExecUpdateResult_enum)-1)*(((((((enum CUgraphExecUpdateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUgraphExecUpdateResult_enum) ((((((((enum CUgraphExecUpdateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUgraphExecUpdateResult_enum) (((enum CUgraphExecUpdateResult_enum)-1)*(((((((((enum CUgraphExecUpdateResult_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphExecUpdateResult_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphExecUpdateResult_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUgraphExecUpdateResult_enum) ((((((((((enum CUgraphExecUpdateResult_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphExecUpdateResult_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUgraphExecUpdateResult_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphExecUpdateResult_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUgraphExecUpdateResult_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphExecUpdateResult_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUgraphExecUpdateResult_enum) -1;
    } else {
        enum CUgraphExecUpdateResult_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUgraphExecUpdateResult_enum) -1;
        val = __Pyx_PyInt_As_enum__CUgraphExecUpdateResult_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUgraphExecUpdateResult_enum");
    return (enum CUgraphExecUpdateResult_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUgraphExecUpdateResult_enum");
    return (enum CUgraphExecUpdateResult_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUgraphNodeType_enum __Pyx_PyInt_As_enum__CUgraphNodeType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphNodeType_enum neg_one = (enum CUgraphNodeType_enum) -1, const_zero = (enum CUgraphNodeType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUgraphNodeType_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUgraphNodeType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUgraphNodeType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphNodeType_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUgraphNodeType_enum) (((((enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUgraphNodeType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphNodeType_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUgraphNodeType_enum) (((((((enum CUgraphNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUgraphNodeType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphNodeType_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUgraphNodeType_enum) (((((((((enum CUgraphNodeType_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUgraphNodeType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUgraphNodeType_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphNodeType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUgraphNodeType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphNodeType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUgraphNodeType_enum) (((enum CUgraphNodeType_enum)-1)*(((((enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUgraphNodeType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUgraphNodeType_enum) ((((((enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUgraphNodeType_enum) (((enum CUgraphNodeType_enum)-1)*(((((((enum CUgraphNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUgraphNodeType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUgraphNodeType_enum) ((((((((enum CUgraphNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUgraphNodeType_enum) (((enum CUgraphNodeType_enum)-1)*(((((((((enum CUgraphNodeType_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUgraphNodeType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphNodeType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphNodeType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUgraphNodeType_enum) ((((((((((enum CUgraphNodeType_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphNodeType_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUgraphNodeType_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphNodeType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUgraphNodeType_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphNodeType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUgraphNodeType_enum) -1;
    } else {
        enum CUgraphNodeType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUgraphNodeType_enum) -1;
        val = __Pyx_PyInt_As_enum__CUgraphNodeType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUgraphNodeType_enum");
    return (enum CUgraphNodeType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUgraphNodeType_enum");
    return (enum CUgraphNodeType_enum) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_PY_LONG_LONG(PY_LONG_LONG value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const PY_LONG_LONG neg_one = (PY_LONG_LONG) -1, const_zero = (PY_LONG_LONG) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(PY_LONG_LONG) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(PY_LONG_LONG) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(PY_LONG_LONG) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(PY_LONG_LONG) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(PY_LONG_LONG) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(PY_LONG_LONG),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(PY_LONG_LONG));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE CUdevResourceType __Pyx_PyInt_As_CUdevResourceType(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const CUdevResourceType neg_one = (CUdevResourceType) -1, const_zero = (CUdevResourceType) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(CUdevResourceType) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(CUdevResourceType, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (CUdevResourceType) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(CUdevResourceType, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(CUdevResourceType) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevResourceType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevResourceType) >= 2 * PyLong_SHIFT)) {
                                return (CUdevResourceType) (((((CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(CUdevResourceType) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevResourceType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevResourceType) >= 3 * PyLong_SHIFT)) {
                                return (CUdevResourceType) (((((((CUdevResourceType)digits[2]) << PyLong_SHIFT) | (CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(CUdevResourceType) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevResourceType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevResourceType) >= 4 * PyLong_SHIFT)) {
                                return (CUdevResourceType) (((((((((CUdevResourceType)digits[3]) << PyLong_SHIFT) | (CUdevResourceType)digits[2]) << PyLong_SHIFT) | (CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (CUdevResourceType) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(CUdevResourceType) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(CUdevResourceType, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(CUdevResourceType) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(CUdevResourceType, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(CUdevResourceType, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(CUdevResourceType) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevResourceType, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevResourceType) - 1 > 2 * PyLong_SHIFT)) {
                                return (CUdevResourceType) (((CUdevResourceType)-1)*(((((CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(CUdevResourceType) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevResourceType, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevResourceType) - 1 > 2 * PyLong_SHIFT)) {
                                return (CUdevResourceType) ((((((CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(CUdevResourceType) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevResourceType, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevResourceType) - 1 > 3 * PyLong_SHIFT)) {
                                return (CUdevResourceType) (((CUdevResourceType)-1)*(((((((CUdevResourceType)digits[2]) << PyLong_SHIFT) | (CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(CUdevResourceType) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevResourceType, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevResourceType) - 1 > 3 * PyLong_SHIFT)) {
                                return (CUdevResourceType) ((((((((CUdevResourceType)digits[2]) << PyLong_SHIFT) | (CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(CUdevResourceType) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevResourceType, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevResourceType) - 1 > 4 * PyLong_SHIFT)) {
                                return (CUdevResourceType) (((CUdevResourceType)-1)*(((((((((CUdevResourceType)digits[3]) << PyLong_SHIFT) | (CUdevResourceType)digits[2]) << PyLong_SHIFT) | (CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(CUdevResourceType) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevResourceType, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevResourceType) - 1 > 4 * PyLong_SHIFT)) {
                                return (CUdevResourceType) ((((((((((CUdevResourceType)digits[3]) << PyLong_SHIFT) | (CUdevResourceType)digits[2]) << PyLong_SHIFT) | (CUdevResourceType)digits[1]) << PyLong_SHIFT) | (CUdevResourceType)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(CUdevResourceType) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(CUdevResourceType, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(CUdevResourceType) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(CUdevResourceType, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (CUdevResourceType) -1;
    } else {
        CUdevResourceType val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (CUdevResourceType) -1;
        val = __Pyx_PyInt_As_CUdevResourceType(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to CUdevResourceType");
    return (CUdevResourceType) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to CUdevResourceType");
    return (CUdevResourceType) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum __Pyx_PyInt_As_enum____pyx_t_4cuda_5ccuda_CUeglFrameType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum neg_one = (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) -1, const_zero = (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) (((((enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) (((((((enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) (((((((((enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) (((enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)-1)*(((((enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) ((((((enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) (((enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)-1)*(((((((enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) ((((((((enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) (((enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)-1)*(((((((((enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) ((((((((((enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) -1;
    } else {
        enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_5ccuda_CUeglFrameType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum");
    return (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum");
    return (enum __pyx_t_4cuda_5ccuda_CUeglFrameType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum __Pyx_PyInt_As_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum neg_one = (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) -1, const_zero = (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) (((((enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) (((((((enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) (((((((((enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) (((enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)-1)*(((((enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) ((((((enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) (((enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)-1)*(((((((enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) ((((((((enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) (((enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)-1)*(((((((((enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) ((((((((((enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) -1;
    } else {
        enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_5ccuda_CUeglColorFormat_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum");
    return (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum");
    return (enum __pyx_t_4cuda_5ccuda_CUeglColorFormat_enum) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint32_t(uint32_t value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const uint32_t neg_one = (uint32_t) -1, const_zero = (uint32_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(uint32_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(uint32_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint32_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(uint32_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(uint32_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(uint32_t),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(uint32_t));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE enum cudaError_enum __Pyx_PyInt_As_enum__cudaError_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum cudaError_enum neg_one = (enum cudaError_enum) -1, const_zero = (enum cudaError_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum cudaError_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum cudaError_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum cudaError_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum cudaError_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum cudaError_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum cudaError_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum cudaError_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum cudaError_enum) (((((enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum cudaError_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum cudaError_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum cudaError_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum cudaError_enum) (((((((enum cudaError_enum)digits[2]) << PyLong_SHIFT) | (enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum cudaError_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum cudaError_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum cudaError_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum cudaError_enum) (((((((((enum cudaError_enum)digits[3]) << PyLong_SHIFT) | (enum cudaError_enum)digits[2]) << PyLong_SHIFT) | (enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum cudaError_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum cudaError_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaError_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum cudaError_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaError_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum cudaError_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum cudaError_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum cudaError_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum cudaError_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum cudaError_enum) (((enum cudaError_enum)-1)*(((((enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum cudaError_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum cudaError_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum cudaError_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum cudaError_enum) ((((((enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum cudaError_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum cudaError_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum cudaError_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum cudaError_enum) (((enum cudaError_enum)-1)*(((((((enum cudaError_enum)digits[2]) << PyLong_SHIFT) | (enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum cudaError_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum cudaError_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum cudaError_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum cudaError_enum) ((((((((enum cudaError_enum)digits[2]) << PyLong_SHIFT) | (enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum cudaError_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum cudaError_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum cudaError_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum cudaError_enum) (((enum cudaError_enum)-1)*(((((((((enum cudaError_enum)digits[3]) << PyLong_SHIFT) | (enum cudaError_enum)digits[2]) << PyLong_SHIFT) | (enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum cudaError_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum cudaError_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum cudaError_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum cudaError_enum) ((((((((((enum cudaError_enum)digits[3]) << PyLong_SHIFT) | (enum cudaError_enum)digits[2]) << PyLong_SHIFT) | (enum cudaError_enum)digits[1]) << PyLong_SHIFT) | (enum cudaError_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum cudaError_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaError_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum cudaError_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum cudaError_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum cudaError_enum) -1;
    } else {
        enum cudaError_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum cudaError_enum) -1;
        val = __Pyx_PyInt_As_enum__cudaError_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum cudaError_enum");
    return (enum cudaError_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum cudaError_enum");
    return (enum cudaError_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE CUdevice_v1 __Pyx_PyInt_As_CUdevice_v1(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const CUdevice_v1 neg_one = (CUdevice_v1) -1, const_zero = (CUdevice_v1) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(CUdevice_v1) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(CUdevice_v1, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (CUdevice_v1) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(CUdevice_v1, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(CUdevice_v1) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevice_v1, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevice_v1) >= 2 * PyLong_SHIFT)) {
                                return (CUdevice_v1) (((((CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(CUdevice_v1) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevice_v1, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevice_v1) >= 3 * PyLong_SHIFT)) {
                                return (CUdevice_v1) (((((((CUdevice_v1)digits[2]) << PyLong_SHIFT) | (CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(CUdevice_v1) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevice_v1, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevice_v1) >= 4 * PyLong_SHIFT)) {
                                return (CUdevice_v1) (((((((((CUdevice_v1)digits[3]) << PyLong_SHIFT) | (CUdevice_v1)digits[2]) << PyLong_SHIFT) | (CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (CUdevice_v1) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(CUdevice_v1) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(CUdevice_v1, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(CUdevice_v1) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(CUdevice_v1, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(CUdevice_v1, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(CUdevice_v1) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevice_v1, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevice_v1) - 1 > 2 * PyLong_SHIFT)) {
                                return (CUdevice_v1) (((CUdevice_v1)-1)*(((((CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(CUdevice_v1) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevice_v1, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevice_v1) - 1 > 2 * PyLong_SHIFT)) {
                                return (CUdevice_v1) ((((((CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(CUdevice_v1) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevice_v1, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevice_v1) - 1 > 3 * PyLong_SHIFT)) {
                                return (CUdevice_v1) (((CUdevice_v1)-1)*(((((((CUdevice_v1)digits[2]) << PyLong_SHIFT) | (CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(CUdevice_v1) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevice_v1, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevice_v1) - 1 > 3 * PyLong_SHIFT)) {
                                return (CUdevice_v1) ((((((((CUdevice_v1)digits[2]) << PyLong_SHIFT) | (CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(CUdevice_v1) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevice_v1, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevice_v1) - 1 > 4 * PyLong_SHIFT)) {
                                return (CUdevice_v1) (((CUdevice_v1)-1)*(((((((((CUdevice_v1)digits[3]) << PyLong_SHIFT) | (CUdevice_v1)digits[2]) << PyLong_SHIFT) | (CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(CUdevice_v1) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(CUdevice_v1, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(CUdevice_v1) - 1 > 4 * PyLong_SHIFT)) {
                                return (CUdevice_v1) ((((((((((CUdevice_v1)digits[3]) << PyLong_SHIFT) | (CUdevice_v1)digits[2]) << PyLong_SHIFT) | (CUdevice_v1)digits[1]) << PyLong_SHIFT) | (CUdevice_v1)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(CUdevice_v1) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(CUdevice_v1, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(CUdevice_v1) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(CUdevice_v1, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
            CUdevice_v1 val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
#if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
#endif
            if (likely(v)) {
                int ret = -1;
#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                ret = _PyLong_AsByteArray((PyLongObject *)v,
                                           bytes, sizeof(val),
                                           is_little, !is_unsigned);
#else
                PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
                int bits, remaining_bits, is_negative = 0;
                long idigit;
                int chunk_size = (sizeof(long) < 8) ? 30 : 62;
                if (unlikely(!PyLong_CheckExact(v))) {
                    PyObject *tmp = v;
                    v = PyNumber_Long(v);
                    assert(PyLong_CheckExact(v));
                    Py_DECREF(tmp);
                    if (unlikely(!v)) return (CUdevice_v1) -1;
                }
#if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                if (Py_SIZE(x) == 0)
                    return (CUdevice_v1) 0;
                is_negative = Py_SIZE(x) < 0;
#else
                {
                    int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                    if (unlikely(result < 0))
                        return (CUdevice_v1) -1;
                    is_negative = result == 1;
                }
#endif
                if (is_unsigned && unlikely(is_negative)) {
                    goto raise_neg_overflow;
                } else if (is_negative) {
                    stepval = PyNumber_Invert(v);
                    if (unlikely(!stepval))
                        return (CUdevice_v1) -1;
                } else {
                    stepval = __Pyx_NewRef(v);
                }
                val = (CUdevice_v1) 0;
                mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
                shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
                for (bits = 0; bits < (int) sizeof(CUdevice_v1) * 8 - chunk_size; bits += chunk_size) {
                    PyObject *tmp, *digit;
                    digit = PyNumber_And(stepval, mask);
                    if (unlikely(!digit)) goto done;
                    idigit = PyLong_AsLong(digit);
                    Py_DECREF(digit);
                    if (unlikely(idigit < 0)) goto done;
                    tmp = PyNumber_Rshift(stepval, shift);
                    if (unlikely(!tmp)) goto done;
                    Py_DECREF(stepval); stepval = tmp;
                    val |= ((CUdevice_v1) idigit) << bits;
                    #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                    if (Py_SIZE(stepval) == 0)
                        goto unpacking_done;
                    #endif
                }
                idigit = PyLong_AsLong(stepval);
                if (unlikely(idigit < 0)) goto done;
                remaining_bits = ((int) sizeof(CUdevice_v1) * 8) - bits - (is_unsigned ? 0 : 1);
                if (unlikely(idigit >= (1L << remaining_bits)))
                    goto raise_overflow;
                val |= ((CUdevice_v1) idigit) << bits;
            #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
            unpacking_done:
            #endif
                if (!is_unsigned) {
                    if (unlikely(val & (((CUdevice_v1) 1) << (sizeof(CUdevice_v1) * 8 - 1))))
                        goto raise_overflow;
                    if (is_negative)
                        val = ~val;
                }
                ret = 0;
            done:
                Py_XDECREF(shift);
                Py_XDECREF(mask);
                Py_XDECREF(stepval);
#endif
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
            return (CUdevice_v1) -1;
        }
    } else {
        CUdevice_v1 val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (CUdevice_v1) -1;
        val = __Pyx_PyInt_As_CUdevice_v1(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to CUdevice_v1");
    return (CUdevice_v1) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to CUdevice_v1");
    return (CUdevice_v1) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUdevice_attribute_enum __Pyx_PyInt_As_enum__CUdevice_attribute_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUdevice_attribute_enum neg_one = (enum CUdevice_attribute_enum) -1, const_zero = (enum CUdevice_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUdevice_attribute_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUdevice_attribute_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUdevice_attribute_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_attribute_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUdevice_attribute_enum) (((((enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUdevice_attribute_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_attribute_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUdevice_attribute_enum) (((((((enum CUdevice_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUdevice_attribute_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_attribute_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUdevice_attribute_enum) (((((((((enum CUdevice_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUdevice_attribute_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUdevice_attribute_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUdevice_attribute_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUdevice_attribute_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUdevice_attribute_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUdevice_attribute_enum) (((enum CUdevice_attribute_enum)-1)*(((((enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUdevice_attribute_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUdevice_attribute_enum) ((((((enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUdevice_attribute_enum) (((enum CUdevice_attribute_enum)-1)*(((((((enum CUdevice_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUdevice_attribute_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUdevice_attribute_enum) ((((((((enum CUdevice_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUdevice_attribute_enum) (((enum CUdevice_attribute_enum)-1)*(((((((((enum CUdevice_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUdevice_attribute_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUdevice_attribute_enum) ((((((((((enum CUdevice_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_attribute_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUdevice_attribute_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUdevice_attribute_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUdevice_attribute_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUdevice_attribute_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUdevice_attribute_enum) -1;
    } else {
        enum CUdevice_attribute_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUdevice_attribute_enum) -1;
        val = __Pyx_PyInt_As_enum__CUdevice_attribute_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUdevice_attribute_enum");
    return (enum CUdevice_attribute_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUdevice_attribute_enum");
    return (enum CUdevice_attribute_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUflushGPUDirectRDMAWritesTarget_enum __Pyx_PyInt_As_enum__CUflushGPUDirectRDMAWritesTarget_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUflushGPUDirectRDMAWritesTarget_enum neg_one = (enum CUflushGPUDirectRDMAWritesTarget_enum) -1, const_zero = (enum CUflushGPUDirectRDMAWritesTarget_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUflushGPUDirectRDMAWritesTarget_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesTarget_enum) (((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesTarget_enum) (((((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesTarget_enum) (((((((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[3]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUflushGPUDirectRDMAWritesTarget_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUflushGPUDirectRDMAWritesTarget_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUflushGPUDirectRDMAWritesTarget_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesTarget_enum) (((enum CUflushGPUDirectRDMAWritesTarget_enum)-1)*(((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesTarget_enum) ((((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesTarget_enum) (((enum CUflushGPUDirectRDMAWritesTarget_enum)-1)*(((((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesTarget_enum) ((((((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesTarget_enum) (((enum CUflushGPUDirectRDMAWritesTarget_enum)-1)*(((((((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[3]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesTarget_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesTarget_enum) ((((((((((enum CUflushGPUDirectRDMAWritesTarget_enum)digits[3]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesTarget_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUflushGPUDirectRDMAWritesTarget_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUflushGPUDirectRDMAWritesTarget_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUflushGPUDirectRDMAWritesTarget_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUflushGPUDirectRDMAWritesTarget_enum) -1;
    } else {
        enum CUflushGPUDirectRDMAWritesTarget_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUflushGPUDirectRDMAWritesTarget_enum) -1;
        val = __Pyx_PyInt_As_enum__CUflushGPUDirectRDMAWritesTarget_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUflushGPUDirectRDMAWritesTarget_enum");
    return (enum CUflushGPUDirectRDMAWritesTarget_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUflushGPUDirectRDMAWritesTarget_enum");
    return (enum CUflushGPUDirectRDMAWritesTarget_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUflushGPUDirectRDMAWritesScope_enum __Pyx_PyInt_As_enum__CUflushGPUDirectRDMAWritesScope_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUflushGPUDirectRDMAWritesScope_enum neg_one = (enum CUflushGPUDirectRDMAWritesScope_enum) -1, const_zero = (enum CUflushGPUDirectRDMAWritesScope_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUflushGPUDirectRDMAWritesScope_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesScope_enum) (((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesScope_enum) (((((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesScope_enum) (((((((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[3]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUflushGPUDirectRDMAWritesScope_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUflushGPUDirectRDMAWritesScope_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUflushGPUDirectRDMAWritesScope_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesScope_enum) (((enum CUflushGPUDirectRDMAWritesScope_enum)-1)*(((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesScope_enum) ((((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesScope_enum) (((enum CUflushGPUDirectRDMAWritesScope_enum)-1)*(((((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesScope_enum) ((((((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesScope_enum) (((enum CUflushGPUDirectRDMAWritesScope_enum)-1)*(((((((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[3]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUflushGPUDirectRDMAWritesScope_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUflushGPUDirectRDMAWritesScope_enum) ((((((((((enum CUflushGPUDirectRDMAWritesScope_enum)digits[3]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[2]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[1]) << PyLong_SHIFT) | (enum CUflushGPUDirectRDMAWritesScope_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUflushGPUDirectRDMAWritesScope_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUflushGPUDirectRDMAWritesScope_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUflushGPUDirectRDMAWritesScope_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUflushGPUDirectRDMAWritesScope_enum) -1;
    } else {
        enum CUflushGPUDirectRDMAWritesScope_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUflushGPUDirectRDMAWritesScope_enum) -1;
        val = __Pyx_PyInt_As_enum__CUflushGPUDirectRDMAWritesScope_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUflushGPUDirectRDMAWritesScope_enum");
    return (enum CUflushGPUDirectRDMAWritesScope_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUflushGPUDirectRDMAWritesScope_enum");
    return (enum CUflushGPUDirectRDMAWritesScope_enum) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const long neg_one = (long) -1, const_zero = (long) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(long) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(long) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(long) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
        return _PyLong_FromByteArray(bytes, sizeof(long),
                                     little, !is_unsigned);
#else
        PyObject *from_bytes, *result = NULL;
        PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
        from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
        if (!from_bytes) return NULL;
        py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long));
        if (!py_bytes) goto limited_bad;
        order_str = PyUnicode_FromString(little ? "little" : "big");
        if (!order_str) goto limited_bad;
        arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
        if (!arg_tuple) goto limited_bad;
        if (!is_unsigned) {
            kwds = PyDict_New();
            if (!kwds) goto limited_bad;
            if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
        }
        result = PyObject_Call(from_bytes, arg_tuple, kwds);
        limited_bad:
        Py_XDECREF(kwds);
        Py_XDECREF(arg_tuple);
        Py_XDECREF(order_str);
        Py_XDECREF(py_bytes);
        Py_XDECREF(from_bytes);
        return result;
#endif
    }
}

/* CIntFromPy */
static CYTHON_INLINE enum CUlimit_enum __Pyx_PyInt_As_enum__CUlimit_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUlimit_enum neg_one = (enum CUlimit_enum) -1, const_zero = (enum CUlimit_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUlimit_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUlimit_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUlimit_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlimit_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUlimit_enum) (((((enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUlimit_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlimit_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUlimit_enum) (((((((enum CUlimit_enum)digits[2]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUlimit_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlimit_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUlimit_enum) (((((((((enum CUlimit_enum)digits[3]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[2]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUlimit_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUlimit_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUlimit_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUlimit_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUlimit_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUlimit_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlimit_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUlimit_enum) (((enum CUlimit_enum)-1)*(((((enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUlimit_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlimit_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUlimit_enum) ((((((enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUlimit_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlimit_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUlimit_enum) (((enum CUlimit_enum)-1)*(((((((enum CUlimit_enum)digits[2]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUlimit_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlimit_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUlimit_enum) ((((((((enum CUlimit_enum)digits[2]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUlimit_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlimit_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUlimit_enum) (((enum CUlimit_enum)-1)*(((((((((enum CUlimit_enum)digits[3]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[2]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUlimit_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlimit_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlimit_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUlimit_enum) ((((((((((enum CUlimit_enum)digits[3]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[2]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[1]) << PyLong_SHIFT) | (enum CUlimit_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUlimit_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUlimit_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUlimit_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUlimit_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUlimit_enum) -1;
    } else {
        enum CUlimit_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUlimit_enum) -1;
        val = __Pyx_PyInt_As_enum__CUlimit_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUlimit_enum");
    return (enum CUlimit_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUlimit_enum");
    return (enum CUlimit_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUfunc_cache_enum __Pyx_PyInt_As_enum__CUfunc_cache_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUfunc_cache_enum neg_one = (enum CUfunc_cache_enum) -1, const_zero = (enum CUfunc_cache_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUfunc_cache_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUfunc_cache_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUfunc_cache_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunc_cache_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUfunc_cache_enum) (((((enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUfunc_cache_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunc_cache_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUfunc_cache_enum) (((((((enum CUfunc_cache_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUfunc_cache_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunc_cache_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUfunc_cache_enum) (((((((((enum CUfunc_cache_enum)digits[3]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUfunc_cache_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUfunc_cache_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUfunc_cache_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUfunc_cache_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUfunc_cache_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUfunc_cache_enum) (((enum CUfunc_cache_enum)-1)*(((((enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUfunc_cache_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUfunc_cache_enum) ((((((enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUfunc_cache_enum) (((enum CUfunc_cache_enum)-1)*(((((((enum CUfunc_cache_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUfunc_cache_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUfunc_cache_enum) ((((((((enum CUfunc_cache_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUfunc_cache_enum) (((enum CUfunc_cache_enum)-1)*(((((((((enum CUfunc_cache_enum)digits[3]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUfunc_cache_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunc_cache_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunc_cache_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUfunc_cache_enum) ((((((((((enum CUfunc_cache_enum)digits[3]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunc_cache_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUfunc_cache_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUfunc_cache_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUfunc_cache_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUfunc_cache_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUfunc_cache_enum) -1;
    } else {
        enum CUfunc_cache_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUfunc_cache_enum) -1;
        val = __Pyx_PyInt_As_enum__CUfunc_cache_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUfunc_cache_enum");
    return (enum CUfunc_cache_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUfunc_cache_enum");
    return (enum CUfunc_cache_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUsharedconfig_enum __Pyx_PyInt_As_enum__CUsharedconfig_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUsharedconfig_enum neg_one = (enum CUsharedconfig_enum) -1, const_zero = (enum CUsharedconfig_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUsharedconfig_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUsharedconfig_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUsharedconfig_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsharedconfig_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUsharedconfig_enum) (((((enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUsharedconfig_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsharedconfig_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUsharedconfig_enum) (((((((enum CUsharedconfig_enum)digits[2]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUsharedconfig_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsharedconfig_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUsharedconfig_enum) (((((((((enum CUsharedconfig_enum)digits[3]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[2]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUsharedconfig_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUsharedconfig_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUsharedconfig_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUsharedconfig_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUsharedconfig_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUsharedconfig_enum) (((enum CUsharedconfig_enum)-1)*(((((enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUsharedconfig_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUsharedconfig_enum) ((((((enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUsharedconfig_enum) (((enum CUsharedconfig_enum)-1)*(((((((enum CUsharedconfig_enum)digits[2]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUsharedconfig_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUsharedconfig_enum) ((((((((enum CUsharedconfig_enum)digits[2]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUsharedconfig_enum) (((enum CUsharedconfig_enum)-1)*(((((((((enum CUsharedconfig_enum)digits[3]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[2]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUsharedconfig_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUsharedconfig_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUsharedconfig_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUsharedconfig_enum) ((((((((((enum CUsharedconfig_enum)digits[3]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[2]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[1]) << PyLong_SHIFT) | (enum CUsharedconfig_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUsharedconfig_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUsharedconfig_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUsharedconfig_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUsharedconfig_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUsharedconfig_enum) -1;
    } else {
        enum CUsharedconfig_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUsharedconfig_enum) -1;
        val = __Pyx_PyInt_As_enum__CUsharedconfig_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUsharedconfig_enum");
    return (enum CUsharedconfig_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUsharedconfig_enum");
    return (enum CUsharedconfig_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUjit_option_enum __Pyx_PyInt_As_enum__CUjit_option_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUjit_option_enum neg_one = (enum CUjit_option_enum) -1, const_zero = (enum CUjit_option_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUjit_option_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUjit_option_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUjit_option_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjit_option_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUjit_option_enum) (((((enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUjit_option_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjit_option_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUjit_option_enum) (((((((enum CUjit_option_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUjit_option_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjit_option_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUjit_option_enum) (((((((((enum CUjit_option_enum)digits[3]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUjit_option_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUjit_option_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_option_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUjit_option_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_option_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUjit_option_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjit_option_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUjit_option_enum) (((enum CUjit_option_enum)-1)*(((((enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUjit_option_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjit_option_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUjit_option_enum) ((((((enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUjit_option_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjit_option_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUjit_option_enum) (((enum CUjit_option_enum)-1)*(((((((enum CUjit_option_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUjit_option_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjit_option_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUjit_option_enum) ((((((((enum CUjit_option_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUjit_option_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjit_option_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUjit_option_enum) (((enum CUjit_option_enum)-1)*(((((((((enum CUjit_option_enum)digits[3]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUjit_option_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjit_option_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjit_option_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUjit_option_enum) ((((((((((enum CUjit_option_enum)digits[3]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[2]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[1]) << PyLong_SHIFT) | (enum CUjit_option_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUjit_option_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_option_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUjit_option_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUjit_option_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUjit_option_enum) -1;
    } else {
        enum CUjit_option_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUjit_option_enum) -1;
        val = __Pyx_PyInt_As_enum__CUjit_option_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUjit_option_enum");
    return (enum CUjit_option_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUjit_option_enum");
    return (enum CUjit_option_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUjitInputType_enum __Pyx_PyInt_As_enum__CUjitInputType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUjitInputType_enum neg_one = (enum CUjitInputType_enum) -1, const_zero = (enum CUjitInputType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUjitInputType_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUjitInputType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUjitInputType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjitInputType_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUjitInputType_enum) (((((enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUjitInputType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjitInputType_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUjitInputType_enum) (((((((enum CUjitInputType_enum)digits[2]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUjitInputType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjitInputType_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUjitInputType_enum) (((((((((enum CUjitInputType_enum)digits[3]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[2]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUjitInputType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUjitInputType_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUjitInputType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUjitInputType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUjitInputType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUjitInputType_enum) (((enum CUjitInputType_enum)-1)*(((((enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUjitInputType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUjitInputType_enum) ((((((enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUjitInputType_enum) (((enum CUjitInputType_enum)-1)*(((((((enum CUjitInputType_enum)digits[2]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUjitInputType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUjitInputType_enum) ((((((((enum CUjitInputType_enum)digits[2]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUjitInputType_enum) (((enum CUjitInputType_enum)-1)*(((((((((enum CUjitInputType_enum)digits[3]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[2]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUjitInputType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUjitInputType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUjitInputType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUjitInputType_enum) ((((((((((enum CUjitInputType_enum)digits[3]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[2]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[1]) << PyLong_SHIFT) | (enum CUjitInputType_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUjitInputType_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUjitInputType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUjitInputType_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUjitInputType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUjitInputType_enum) -1;
    } else {
        enum CUjitInputType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUjitInputType_enum) -1;
        val = __Pyx_PyInt_As_enum__CUjitInputType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUjitInputType_enum");
    return (enum CUjitInputType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUjitInputType_enum");
    return (enum CUjitInputType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUlibraryOption_enum __Pyx_PyInt_As_enum__CUlibraryOption_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUlibraryOption_enum neg_one = (enum CUlibraryOption_enum) -1, const_zero = (enum CUlibraryOption_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUlibraryOption_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUlibraryOption_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUlibraryOption_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlibraryOption_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUlibraryOption_enum) (((((enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUlibraryOption_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlibraryOption_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUlibraryOption_enum) (((((((enum CUlibraryOption_enum)digits[2]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUlibraryOption_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlibraryOption_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUlibraryOption_enum) (((((((((enum CUlibraryOption_enum)digits[3]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[2]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUlibraryOption_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUlibraryOption_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUlibraryOption_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUlibraryOption_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUlibraryOption_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUlibraryOption_enum) (((enum CUlibraryOption_enum)-1)*(((((enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUlibraryOption_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUlibraryOption_enum) ((((((enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUlibraryOption_enum) (((enum CUlibraryOption_enum)-1)*(((((((enum CUlibraryOption_enum)digits[2]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUlibraryOption_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUlibraryOption_enum) ((((((((enum CUlibraryOption_enum)digits[2]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUlibraryOption_enum) (((enum CUlibraryOption_enum)-1)*(((((((((enum CUlibraryOption_enum)digits[3]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[2]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUlibraryOption_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUlibraryOption_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUlibraryOption_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUlibraryOption_enum) ((((((((((enum CUlibraryOption_enum)digits[3]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[2]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[1]) << PyLong_SHIFT) | (enum CUlibraryOption_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUlibraryOption_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUlibraryOption_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUlibraryOption_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUlibraryOption_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUlibraryOption_enum) -1;
    } else {
        enum CUlibraryOption_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUlibraryOption_enum) -1;
        val = __Pyx_PyInt_As_enum__CUlibraryOption_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUlibraryOption_enum");
    return (enum CUlibraryOption_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUlibraryOption_enum");
    return (enum CUlibraryOption_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUfunction_attribute_enum __Pyx_PyInt_As_enum__CUfunction_attribute_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUfunction_attribute_enum neg_one = (enum CUfunction_attribute_enum) -1, const_zero = (enum CUfunction_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUfunction_attribute_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUfunction_attribute_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUfunction_attribute_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunction_attribute_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUfunction_attribute_enum) (((((enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUfunction_attribute_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunction_attribute_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUfunction_attribute_enum) (((((((enum CUfunction_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUfunction_attribute_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunction_attribute_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUfunction_attribute_enum) (((((((((enum CUfunction_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUfunction_attribute_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUfunction_attribute_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUfunction_attribute_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUfunction_attribute_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUfunction_attribute_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUfunction_attribute_enum) (((enum CUfunction_attribute_enum)-1)*(((((enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUfunction_attribute_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUfunction_attribute_enum) ((((((enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUfunction_attribute_enum) (((enum CUfunction_attribute_enum)-1)*(((((((enum CUfunction_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUfunction_attribute_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUfunction_attribute_enum) ((((((((enum CUfunction_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUfunction_attribute_enum) (((enum CUfunction_attribute_enum)-1)*(((((((((enum CUfunction_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUfunction_attribute_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUfunction_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUfunction_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUfunction_attribute_enum) ((((((((((enum CUfunction_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUfunction_attribute_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUfunction_attribute_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUfunction_attribute_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUfunction_attribute_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUfunction_attribute_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUfunction_attribute_enum) -1;
    } else {
        enum CUfunction_attribute_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUfunction_attribute_enum) -1;
        val = __Pyx_PyInt_As_enum__CUfunction_attribute_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUfunction_attribute_enum");
    return (enum CUfunction_attribute_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUfunction_attribute_enum");
    return (enum CUfunction_attribute_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemRangeHandleType_enum __Pyx_PyInt_As_enum__CUmemRangeHandleType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemRangeHandleType_enum neg_one = (enum CUmemRangeHandleType_enum) -1, const_zero = (enum CUmemRangeHandleType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUmemRangeHandleType_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUmemRangeHandleType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUmemRangeHandleType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUmemRangeHandleType_enum) (((((enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemRangeHandleType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUmemRangeHandleType_enum) (((((((enum CUmemRangeHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemRangeHandleType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUmemRangeHandleType_enum) (((((((((enum CUmemRangeHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUmemRangeHandleType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUmemRangeHandleType_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemRangeHandleType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemRangeHandleType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemRangeHandleType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemRangeHandleType_enum) (((enum CUmemRangeHandleType_enum)-1)*(((((enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUmemRangeHandleType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemRangeHandleType_enum) ((((((enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemRangeHandleType_enum) (((enum CUmemRangeHandleType_enum)-1)*(((((((enum CUmemRangeHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemRangeHandleType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemRangeHandleType_enum) ((((((((enum CUmemRangeHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemRangeHandleType_enum) (((enum CUmemRangeHandleType_enum)-1)*(((((((((enum CUmemRangeHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemRangeHandleType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemRangeHandleType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemRangeHandleType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemRangeHandleType_enum) ((((((((((enum CUmemRangeHandleType_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemRangeHandleType_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUmemRangeHandleType_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemRangeHandleType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemRangeHandleType_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemRangeHandleType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUmemRangeHandleType_enum) -1;
    } else {
        enum CUmemRangeHandleType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUmemRangeHandleType_enum) -1;
        val = __Pyx_PyInt_As_enum__CUmemRangeHandleType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemRangeHandleType_enum");
    return (enum CUmemRangeHandleType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemRangeHandleType_enum");
    return (enum CUmemRangeHandleType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemAllocationGranularity_flags_enum __Pyx_PyInt_As_enum__CUmemAllocationGranularity_flags_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemAllocationGranularity_flags_enum neg_one = (enum CUmemAllocationGranularity_flags_enum) -1, const_zero = (enum CUmemAllocationGranularity_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUmemAllocationGranularity_flags_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUmemAllocationGranularity_flags_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationGranularity_flags_enum) (((((enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationGranularity_flags_enum) (((((((enum CUmemAllocationGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationGranularity_flags_enum) (((((((((enum CUmemAllocationGranularity_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUmemAllocationGranularity_flags_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUmemAllocationGranularity_flags_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationGranularity_flags_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemAllocationGranularity_flags_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationGranularity_flags_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationGranularity_flags_enum) (((enum CUmemAllocationGranularity_flags_enum)-1)*(((((enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationGranularity_flags_enum) ((((((enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationGranularity_flags_enum) (((enum CUmemAllocationGranularity_flags_enum)-1)*(((((((enum CUmemAllocationGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationGranularity_flags_enum) ((((((((enum CUmemAllocationGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationGranularity_flags_enum) (((enum CUmemAllocationGranularity_flags_enum)-1)*(((((((((enum CUmemAllocationGranularity_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemAllocationGranularity_flags_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemAllocationGranularity_flags_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemAllocationGranularity_flags_enum) ((((((((((enum CUmemAllocationGranularity_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemAllocationGranularity_flags_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUmemAllocationGranularity_flags_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationGranularity_flags_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemAllocationGranularity_flags_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemAllocationGranularity_flags_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUmemAllocationGranularity_flags_enum) -1;
    } else {
        enum CUmemAllocationGranularity_flags_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUmemAllocationGranularity_flags_enum) -1;
        val = __Pyx_PyInt_As_enum__CUmemAllocationGranularity_flags_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemAllocationGranularity_flags_enum");
    return (enum CUmemAllocationGranularity_flags_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemAllocationGranularity_flags_enum");
    return (enum CUmemAllocationGranularity_flags_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmemPool_attribute_enum __Pyx_PyInt_As_enum__CUmemPool_attribute_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmemPool_attribute_enum neg_one = (enum CUmemPool_attribute_enum) -1, const_zero = (enum CUmemPool_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUmemPool_attribute_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUmemPool_attribute_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUmemPool_attribute_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemPool_attribute_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUmemPool_attribute_enum) (((((enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemPool_attribute_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemPool_attribute_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUmemPool_attribute_enum) (((((((enum CUmemPool_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemPool_attribute_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemPool_attribute_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUmemPool_attribute_enum) (((((((((enum CUmemPool_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUmemPool_attribute_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUmemPool_attribute_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemPool_attribute_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemPool_attribute_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemPool_attribute_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemPool_attribute_enum) (((enum CUmemPool_attribute_enum)-1)*(((((enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUmemPool_attribute_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmemPool_attribute_enum) ((((((enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemPool_attribute_enum) (((enum CUmemPool_attribute_enum)-1)*(((((((enum CUmemPool_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmemPool_attribute_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmemPool_attribute_enum) ((((((((enum CUmemPool_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemPool_attribute_enum) (((enum CUmemPool_attribute_enum)-1)*(((((((((enum CUmemPool_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmemPool_attribute_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmemPool_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmemPool_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmemPool_attribute_enum) ((((((((((enum CUmemPool_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmemPool_attribute_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUmemPool_attribute_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemPool_attribute_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmemPool_attribute_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmemPool_attribute_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUmemPool_attribute_enum) -1;
    } else {
        enum CUmemPool_attribute_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUmemPool_attribute_enum) -1;
        val = __Pyx_PyInt_As_enum__CUmemPool_attribute_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmemPool_attribute_enum");
    return (enum CUmemPool_attribute_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmemPool_attribute_enum");
    return (enum CUmemPool_attribute_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmulticastGranularity_flags_enum __Pyx_PyInt_As_enum__CUmulticastGranularity_flags_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmulticastGranularity_flags_enum neg_one = (enum CUmulticastGranularity_flags_enum) -1, const_zero = (enum CUmulticastGranularity_flags_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUmulticastGranularity_flags_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUmulticastGranularity_flags_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUmulticastGranularity_flags_enum) (((((enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUmulticastGranularity_flags_enum) (((((((enum CUmulticastGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUmulticastGranularity_flags_enum) (((((((((enum CUmulticastGranularity_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUmulticastGranularity_flags_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUmulticastGranularity_flags_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmulticastGranularity_flags_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmulticastGranularity_flags_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmulticastGranularity_flags_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmulticastGranularity_flags_enum) (((enum CUmulticastGranularity_flags_enum)-1)*(((((enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmulticastGranularity_flags_enum) ((((((enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmulticastGranularity_flags_enum) (((enum CUmulticastGranularity_flags_enum)-1)*(((((((enum CUmulticastGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmulticastGranularity_flags_enum) ((((((((enum CUmulticastGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmulticastGranularity_flags_enum) (((enum CUmulticastGranularity_flags_enum)-1)*(((((((((enum CUmulticastGranularity_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmulticastGranularity_flags_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmulticastGranularity_flags_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmulticastGranularity_flags_enum) ((((((((((enum CUmulticastGranularity_flags_enum)digits[3]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[2]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[1]) << PyLong_SHIFT) | (enum CUmulticastGranularity_flags_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUmulticastGranularity_flags_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmulticastGranularity_flags_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmulticastGranularity_flags_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmulticastGranularity_flags_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUmulticastGranularity_flags_enum) -1;
    } else {
        enum CUmulticastGranularity_flags_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUmulticastGranularity_flags_enum) -1;
        val = __Pyx_PyInt_As_enum__CUmulticastGranularity_flags_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmulticastGranularity_flags_enum");
    return (enum CUmulticastGranularity_flags_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmulticastGranularity_flags_enum");
    return (enum CUmulticastGranularity_flags_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUpointer_attribute_enum __Pyx_PyInt_As_enum__CUpointer_attribute_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUpointer_attribute_enum neg_one = (enum CUpointer_attribute_enum) -1, const_zero = (enum CUpointer_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUpointer_attribute_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUpointer_attribute_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUpointer_attribute_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUpointer_attribute_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUpointer_attribute_enum) (((((enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUpointer_attribute_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUpointer_attribute_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUpointer_attribute_enum) (((((((enum CUpointer_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUpointer_attribute_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUpointer_attribute_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUpointer_attribute_enum) (((((((((enum CUpointer_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUpointer_attribute_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUpointer_attribute_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUpointer_attribute_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUpointer_attribute_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUpointer_attribute_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUpointer_attribute_enum) (((enum CUpointer_attribute_enum)-1)*(((((enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUpointer_attribute_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUpointer_attribute_enum) ((((((enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUpointer_attribute_enum) (((enum CUpointer_attribute_enum)-1)*(((((((enum CUpointer_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUpointer_attribute_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUpointer_attribute_enum) ((((((((enum CUpointer_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUpointer_attribute_enum) (((enum CUpointer_attribute_enum)-1)*(((((((((enum CUpointer_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUpointer_attribute_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUpointer_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUpointer_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUpointer_attribute_enum) ((((((((((enum CUpointer_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUpointer_attribute_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUpointer_attribute_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUpointer_attribute_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUpointer_attribute_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUpointer_attribute_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUpointer_attribute_enum) -1;
    } else {
        enum CUpointer_attribute_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUpointer_attribute_enum) -1;
        val = __Pyx_PyInt_As_enum__CUpointer_attribute_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUpointer_attribute_enum");
    return (enum CUpointer_attribute_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUpointer_attribute_enum");
    return (enum CUpointer_attribute_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmem_advise_enum __Pyx_PyInt_As_enum__CUmem_advise_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmem_advise_enum neg_one = (enum CUmem_advise_enum) -1, const_zero = (enum CUmem_advise_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUmem_advise_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUmem_advise_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUmem_advise_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_advise_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUmem_advise_enum) (((((enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmem_advise_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_advise_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUmem_advise_enum) (((((((enum CUmem_advise_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmem_advise_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_advise_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUmem_advise_enum) (((((((((enum CUmem_advise_enum)digits[3]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUmem_advise_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUmem_advise_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmem_advise_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmem_advise_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmem_advise_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmem_advise_enum) (((enum CUmem_advise_enum)-1)*(((((enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUmem_advise_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmem_advise_enum) ((((((enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmem_advise_enum) (((enum CUmem_advise_enum)-1)*(((((((enum CUmem_advise_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmem_advise_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmem_advise_enum) ((((((((enum CUmem_advise_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmem_advise_enum) (((enum CUmem_advise_enum)-1)*(((((((((enum CUmem_advise_enum)digits[3]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmem_advise_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_advise_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_advise_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmem_advise_enum) ((((((((((enum CUmem_advise_enum)digits[3]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_advise_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUmem_advise_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmem_advise_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmem_advise_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmem_advise_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUmem_advise_enum) -1;
    } else {
        enum CUmem_advise_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUmem_advise_enum) -1;
        val = __Pyx_PyInt_As_enum__CUmem_advise_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmem_advise_enum");
    return (enum CUmem_advise_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmem_advise_enum");
    return (enum CUmem_advise_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUmem_range_attribute_enum __Pyx_PyInt_As_enum__CUmem_range_attribute_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUmem_range_attribute_enum neg_one = (enum CUmem_range_attribute_enum) -1, const_zero = (enum CUmem_range_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUmem_range_attribute_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUmem_range_attribute_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUmem_range_attribute_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_range_attribute_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUmem_range_attribute_enum) (((((enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmem_range_attribute_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_range_attribute_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUmem_range_attribute_enum) (((((((enum CUmem_range_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmem_range_attribute_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_range_attribute_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUmem_range_attribute_enum) (((((((((enum CUmem_range_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUmem_range_attribute_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUmem_range_attribute_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmem_range_attribute_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmem_range_attribute_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmem_range_attribute_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmem_range_attribute_enum) (((enum CUmem_range_attribute_enum)-1)*(((((enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUmem_range_attribute_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUmem_range_attribute_enum) ((((((enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmem_range_attribute_enum) (((enum CUmem_range_attribute_enum)-1)*(((((((enum CUmem_range_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUmem_range_attribute_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUmem_range_attribute_enum) ((((((((enum CUmem_range_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmem_range_attribute_enum) (((enum CUmem_range_attribute_enum)-1)*(((((((((enum CUmem_range_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUmem_range_attribute_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUmem_range_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUmem_range_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUmem_range_attribute_enum) ((((((((((enum CUmem_range_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUmem_range_attribute_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUmem_range_attribute_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmem_range_attribute_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUmem_range_attribute_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUmem_range_attribute_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUmem_range_attribute_enum) -1;
    } else {
        enum CUmem_range_attribute_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUmem_range_attribute_enum) -1;
        val = __Pyx_PyInt_As_enum__CUmem_range_attribute_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUmem_range_attribute_enum");
    return (enum CUmem_range_attribute_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUmem_range_attribute_enum");
    return (enum CUmem_range_attribute_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUstreamCaptureMode_enum __Pyx_PyInt_As_enum__CUstreamCaptureMode_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUstreamCaptureMode_enum neg_one = (enum CUstreamCaptureMode_enum) -1, const_zero = (enum CUstreamCaptureMode_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUstreamCaptureMode_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUstreamCaptureMode_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUstreamCaptureMode_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUstreamCaptureMode_enum) (((((enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUstreamCaptureMode_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUstreamCaptureMode_enum) (((((((enum CUstreamCaptureMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUstreamCaptureMode_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUstreamCaptureMode_enum) (((((((((enum CUstreamCaptureMode_enum)digits[3]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUstreamCaptureMode_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUstreamCaptureMode_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUstreamCaptureMode_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUstreamCaptureMode_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUstreamCaptureMode_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUstreamCaptureMode_enum) (((enum CUstreamCaptureMode_enum)-1)*(((((enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUstreamCaptureMode_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUstreamCaptureMode_enum) ((((((enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUstreamCaptureMode_enum) (((enum CUstreamCaptureMode_enum)-1)*(((((((enum CUstreamCaptureMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUstreamCaptureMode_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUstreamCaptureMode_enum) ((((((((enum CUstreamCaptureMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUstreamCaptureMode_enum) (((enum CUstreamCaptureMode_enum)-1)*(((((((((enum CUstreamCaptureMode_enum)digits[3]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUstreamCaptureMode_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUstreamCaptureMode_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUstreamCaptureMode_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUstreamCaptureMode_enum) ((((((((((enum CUstreamCaptureMode_enum)digits[3]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[2]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[1]) << PyLong_SHIFT) | (enum CUstreamCaptureMode_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUstreamCaptureMode_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUstreamCaptureMode_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUstreamCaptureMode_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUstreamCaptureMode_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUstreamCaptureMode_enum) -1;
    } else {
        enum CUstreamCaptureMode_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUstreamCaptureMode_enum) -1;
        val = __Pyx_PyInt_As_enum__CUstreamCaptureMode_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUstreamCaptureMode_enum");
    return (enum CUstreamCaptureMode_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUstreamCaptureMode_enum");
    return (enum CUstreamCaptureMode_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUgraphMem_attribute_enum __Pyx_PyInt_As_enum__CUgraphMem_attribute_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUgraphMem_attribute_enum neg_one = (enum CUgraphMem_attribute_enum) -1, const_zero = (enum CUgraphMem_attribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUgraphMem_attribute_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUgraphMem_attribute_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUgraphMem_attribute_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUgraphMem_attribute_enum) (((((enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUgraphMem_attribute_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUgraphMem_attribute_enum) (((((((enum CUgraphMem_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUgraphMem_attribute_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUgraphMem_attribute_enum) (((((((((enum CUgraphMem_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUgraphMem_attribute_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUgraphMem_attribute_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphMem_attribute_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUgraphMem_attribute_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphMem_attribute_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUgraphMem_attribute_enum) (((enum CUgraphMem_attribute_enum)-1)*(((((enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUgraphMem_attribute_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUgraphMem_attribute_enum) ((((((enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUgraphMem_attribute_enum) (((enum CUgraphMem_attribute_enum)-1)*(((((((enum CUgraphMem_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUgraphMem_attribute_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUgraphMem_attribute_enum) ((((((((enum CUgraphMem_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUgraphMem_attribute_enum) (((enum CUgraphMem_attribute_enum)-1)*(((((((((enum CUgraphMem_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUgraphMem_attribute_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUgraphMem_attribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUgraphMem_attribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUgraphMem_attribute_enum) ((((((((((enum CUgraphMem_attribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUgraphMem_attribute_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUgraphMem_attribute_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphMem_attribute_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUgraphMem_attribute_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUgraphMem_attribute_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUgraphMem_attribute_enum) -1;
    } else {
        enum CUgraphMem_attribute_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUgraphMem_attribute_enum) -1;
        val = __Pyx_PyInt_As_enum__CUgraphMem_attribute_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUgraphMem_attribute_enum");
    return (enum CUgraphMem_attribute_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUgraphMem_attribute_enum");
    return (enum CUgraphMem_attribute_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUtensorMapDataType_enum __Pyx_PyInt_As_enum__CUtensorMapDataType_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapDataType_enum neg_one = (enum CUtensorMapDataType_enum) -1, const_zero = (enum CUtensorMapDataType_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUtensorMapDataType_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUtensorMapDataType_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUtensorMapDataType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapDataType_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUtensorMapDataType_enum) (((((enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUtensorMapDataType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapDataType_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUtensorMapDataType_enum) (((((((enum CUtensorMapDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUtensorMapDataType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapDataType_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUtensorMapDataType_enum) (((((((((enum CUtensorMapDataType_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUtensorMapDataType_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUtensorMapDataType_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapDataType_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUtensorMapDataType_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapDataType_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUtensorMapDataType_enum) (((enum CUtensorMapDataType_enum)-1)*(((((enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUtensorMapDataType_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUtensorMapDataType_enum) ((((((enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUtensorMapDataType_enum) (((enum CUtensorMapDataType_enum)-1)*(((((((enum CUtensorMapDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUtensorMapDataType_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUtensorMapDataType_enum) ((((((((enum CUtensorMapDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUtensorMapDataType_enum) (((enum CUtensorMapDataType_enum)-1)*(((((((((enum CUtensorMapDataType_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUtensorMapDataType_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapDataType_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapDataType_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUtensorMapDataType_enum) ((((((((((enum CUtensorMapDataType_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapDataType_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUtensorMapDataType_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapDataType_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUtensorMapDataType_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapDataType_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUtensorMapDataType_enum) -1;
    } else {
        enum CUtensorMapDataType_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUtensorMapDataType_enum) -1;
        val = __Pyx_PyInt_As_enum__CUtensorMapDataType_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUtensorMapDataType_enum");
    return (enum CUtensorMapDataType_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUtensorMapDataType_enum");
    return (enum CUtensorMapDataType_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUtensorMapInterleave_enum __Pyx_PyInt_As_enum__CUtensorMapInterleave_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapInterleave_enum neg_one = (enum CUtensorMapInterleave_enum) -1, const_zero = (enum CUtensorMapInterleave_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUtensorMapInterleave_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUtensorMapInterleave_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUtensorMapInterleave_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUtensorMapInterleave_enum) (((((enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUtensorMapInterleave_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUtensorMapInterleave_enum) (((((((enum CUtensorMapInterleave_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUtensorMapInterleave_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUtensorMapInterleave_enum) (((((((((enum CUtensorMapInterleave_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUtensorMapInterleave_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUtensorMapInterleave_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapInterleave_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUtensorMapInterleave_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapInterleave_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUtensorMapInterleave_enum) (((enum CUtensorMapInterleave_enum)-1)*(((((enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUtensorMapInterleave_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUtensorMapInterleave_enum) ((((((enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUtensorMapInterleave_enum) (((enum CUtensorMapInterleave_enum)-1)*(((((((enum CUtensorMapInterleave_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUtensorMapInterleave_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUtensorMapInterleave_enum) ((((((((enum CUtensorMapInterleave_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUtensorMapInterleave_enum) (((enum CUtensorMapInterleave_enum)-1)*(((((((((enum CUtensorMapInterleave_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUtensorMapInterleave_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapInterleave_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapInterleave_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUtensorMapInterleave_enum) ((((((((((enum CUtensorMapInterleave_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapInterleave_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUtensorMapInterleave_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapInterleave_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUtensorMapInterleave_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapInterleave_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUtensorMapInterleave_enum) -1;
    } else {
        enum CUtensorMapInterleave_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUtensorMapInterleave_enum) -1;
        val = __Pyx_PyInt_As_enum__CUtensorMapInterleave_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUtensorMapInterleave_enum");
    return (enum CUtensorMapInterleave_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUtensorMapInterleave_enum");
    return (enum CUtensorMapInterleave_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUtensorMapSwizzle_enum __Pyx_PyInt_As_enum__CUtensorMapSwizzle_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapSwizzle_enum neg_one = (enum CUtensorMapSwizzle_enum) -1, const_zero = (enum CUtensorMapSwizzle_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUtensorMapSwizzle_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUtensorMapSwizzle_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUtensorMapSwizzle_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUtensorMapSwizzle_enum) (((((enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUtensorMapSwizzle_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUtensorMapSwizzle_enum) (((((((enum CUtensorMapSwizzle_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUtensorMapSwizzle_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUtensorMapSwizzle_enum) (((((((((enum CUtensorMapSwizzle_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUtensorMapSwizzle_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUtensorMapSwizzle_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapSwizzle_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUtensorMapSwizzle_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapSwizzle_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUtensorMapSwizzle_enum) (((enum CUtensorMapSwizzle_enum)-1)*(((((enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUtensorMapSwizzle_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUtensorMapSwizzle_enum) ((((((enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUtensorMapSwizzle_enum) (((enum CUtensorMapSwizzle_enum)-1)*(((((((enum CUtensorMapSwizzle_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUtensorMapSwizzle_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUtensorMapSwizzle_enum) ((((((((enum CUtensorMapSwizzle_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUtensorMapSwizzle_enum) (((enum CUtensorMapSwizzle_enum)-1)*(((((((((enum CUtensorMapSwizzle_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUtensorMapSwizzle_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapSwizzle_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapSwizzle_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUtensorMapSwizzle_enum) ((((((((((enum CUtensorMapSwizzle_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapSwizzle_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUtensorMapSwizzle_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapSwizzle_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUtensorMapSwizzle_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapSwizzle_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUtensorMapSwizzle_enum) -1;
    } else {
        enum CUtensorMapSwizzle_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUtensorMapSwizzle_enum) -1;
        val = __Pyx_PyInt_As_enum__CUtensorMapSwizzle_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUtensorMapSwizzle_enum");
    return (enum CUtensorMapSwizzle_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUtensorMapSwizzle_enum");
    return (enum CUtensorMapSwizzle_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUtensorMapL2promotion_enum __Pyx_PyInt_As_enum__CUtensorMapL2promotion_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapL2promotion_enum neg_one = (enum CUtensorMapL2promotion_enum) -1, const_zero = (enum CUtensorMapL2promotion_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUtensorMapL2promotion_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUtensorMapL2promotion_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUtensorMapL2promotion_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUtensorMapL2promotion_enum) (((((enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUtensorMapL2promotion_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUtensorMapL2promotion_enum) (((((((enum CUtensorMapL2promotion_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUtensorMapL2promotion_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUtensorMapL2promotion_enum) (((((((((enum CUtensorMapL2promotion_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUtensorMapL2promotion_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUtensorMapL2promotion_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapL2promotion_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUtensorMapL2promotion_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapL2promotion_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUtensorMapL2promotion_enum) (((enum CUtensorMapL2promotion_enum)-1)*(((((enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUtensorMapL2promotion_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUtensorMapL2promotion_enum) ((((((enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUtensorMapL2promotion_enum) (((enum CUtensorMapL2promotion_enum)-1)*(((((((enum CUtensorMapL2promotion_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUtensorMapL2promotion_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUtensorMapL2promotion_enum) ((((((((enum CUtensorMapL2promotion_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUtensorMapL2promotion_enum) (((enum CUtensorMapL2promotion_enum)-1)*(((((((((enum CUtensorMapL2promotion_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUtensorMapL2promotion_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapL2promotion_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapL2promotion_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUtensorMapL2promotion_enum) ((((((((((enum CUtensorMapL2promotion_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapL2promotion_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUtensorMapL2promotion_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapL2promotion_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUtensorMapL2promotion_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapL2promotion_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUtensorMapL2promotion_enum) -1;
    } else {
        enum CUtensorMapL2promotion_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUtensorMapL2promotion_enum) -1;
        val = __Pyx_PyInt_As_enum__CUtensorMapL2promotion_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUtensorMapL2promotion_enum");
    return (enum CUtensorMapL2promotion_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUtensorMapL2promotion_enum");
    return (enum CUtensorMapL2promotion_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUtensorMapFloatOOBfill_enum __Pyx_PyInt_As_enum__CUtensorMapFloatOOBfill_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUtensorMapFloatOOBfill_enum neg_one = (enum CUtensorMapFloatOOBfill_enum) -1, const_zero = (enum CUtensorMapFloatOOBfill_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUtensorMapFloatOOBfill_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUtensorMapFloatOOBfill_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUtensorMapFloatOOBfill_enum) (((((enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUtensorMapFloatOOBfill_enum) (((((((enum CUtensorMapFloatOOBfill_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUtensorMapFloatOOBfill_enum) (((((((((enum CUtensorMapFloatOOBfill_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUtensorMapFloatOOBfill_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUtensorMapFloatOOBfill_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapFloatOOBfill_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUtensorMapFloatOOBfill_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapFloatOOBfill_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUtensorMapFloatOOBfill_enum) (((enum CUtensorMapFloatOOBfill_enum)-1)*(((((enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUtensorMapFloatOOBfill_enum) ((((((enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUtensorMapFloatOOBfill_enum) (((enum CUtensorMapFloatOOBfill_enum)-1)*(((((((enum CUtensorMapFloatOOBfill_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUtensorMapFloatOOBfill_enum) ((((((((enum CUtensorMapFloatOOBfill_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUtensorMapFloatOOBfill_enum) (((enum CUtensorMapFloatOOBfill_enum)-1)*(((((((((enum CUtensorMapFloatOOBfill_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUtensorMapFloatOOBfill_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUtensorMapFloatOOBfill_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUtensorMapFloatOOBfill_enum) ((((((((((enum CUtensorMapFloatOOBfill_enum)digits[3]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[2]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[1]) << PyLong_SHIFT) | (enum CUtensorMapFloatOOBfill_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUtensorMapFloatOOBfill_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapFloatOOBfill_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUtensorMapFloatOOBfill_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUtensorMapFloatOOBfill_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUtensorMapFloatOOBfill_enum) -1;
    } else {
        enum CUtensorMapFloatOOBfill_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUtensorMapFloatOOBfill_enum) -1;
        val = __Pyx_PyInt_As_enum__CUtensorMapFloatOOBfill_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUtensorMapFloatOOBfill_enum");
    return (enum CUtensorMapFloatOOBfill_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUtensorMapFloatOOBfill_enum");
    return (enum CUtensorMapFloatOOBfill_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUdevice_P2PAttribute_enum __Pyx_PyInt_As_enum__CUdevice_P2PAttribute_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUdevice_P2PAttribute_enum neg_one = (enum CUdevice_P2PAttribute_enum) -1, const_zero = (enum CUdevice_P2PAttribute_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUdevice_P2PAttribute_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUdevice_P2PAttribute_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUdevice_P2PAttribute_enum) (((((enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUdevice_P2PAttribute_enum) (((((((enum CUdevice_P2PAttribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUdevice_P2PAttribute_enum) (((((((((enum CUdevice_P2PAttribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUdevice_P2PAttribute_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUdevice_P2PAttribute_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUdevice_P2PAttribute_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUdevice_P2PAttribute_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUdevice_P2PAttribute_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUdevice_P2PAttribute_enum) (((enum CUdevice_P2PAttribute_enum)-1)*(((((enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUdevice_P2PAttribute_enum) ((((((enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUdevice_P2PAttribute_enum) (((enum CUdevice_P2PAttribute_enum)-1)*(((((((enum CUdevice_P2PAttribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUdevice_P2PAttribute_enum) ((((((((enum CUdevice_P2PAttribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUdevice_P2PAttribute_enum) (((enum CUdevice_P2PAttribute_enum)-1)*(((((((((enum CUdevice_P2PAttribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUdevice_P2PAttribute_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUdevice_P2PAttribute_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUdevice_P2PAttribute_enum) ((((((((((enum CUdevice_P2PAttribute_enum)digits[3]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[2]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[1]) << PyLong_SHIFT) | (enum CUdevice_P2PAttribute_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUdevice_P2PAttribute_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUdevice_P2PAttribute_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUdevice_P2PAttribute_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUdevice_P2PAttribute_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUdevice_P2PAttribute_enum) -1;
    } else {
        enum CUdevice_P2PAttribute_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUdevice_P2PAttribute_enum) -1;
        val = __Pyx_PyInt_As_enum__CUdevice_P2PAttribute_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUdevice_P2PAttribute_enum");
    return (enum CUdevice_P2PAttribute_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUdevice_P2PAttribute_enum");
    return (enum CUdevice_P2PAttribute_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum CUcoredumpSettings_enum __Pyx_PyInt_As_enum__CUcoredumpSettings_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum CUcoredumpSettings_enum neg_one = (enum CUcoredumpSettings_enum) -1, const_zero = (enum CUcoredumpSettings_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum CUcoredumpSettings_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum CUcoredumpSettings_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum CUcoredumpSettings_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUcoredumpSettings_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum CUcoredumpSettings_enum) (((((enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUcoredumpSettings_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUcoredumpSettings_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum CUcoredumpSettings_enum) (((((((enum CUcoredumpSettings_enum)digits[2]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUcoredumpSettings_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUcoredumpSettings_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum CUcoredumpSettings_enum) (((((((((enum CUcoredumpSettings_enum)digits[3]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[2]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum CUcoredumpSettings_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum CUcoredumpSettings_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUcoredumpSettings_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUcoredumpSettings_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUcoredumpSettings_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUcoredumpSettings_enum) (((enum CUcoredumpSettings_enum)-1)*(((((enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum CUcoredumpSettings_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum CUcoredumpSettings_enum) ((((((enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUcoredumpSettings_enum) (((enum CUcoredumpSettings_enum)-1)*(((((((enum CUcoredumpSettings_enum)digits[2]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum CUcoredumpSettings_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum CUcoredumpSettings_enum) ((((((((enum CUcoredumpSettings_enum)digits[2]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUcoredumpSettings_enum) (((enum CUcoredumpSettings_enum)-1)*(((((((((enum CUcoredumpSettings_enum)digits[3]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[2]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum CUcoredumpSettings_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum CUcoredumpSettings_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum CUcoredumpSettings_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum CUcoredumpSettings_enum) ((((((((((enum CUcoredumpSettings_enum)digits[3]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[2]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[1]) << PyLong_SHIFT) | (enum CUcoredumpSettings_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum CUcoredumpSettings_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUcoredumpSettings_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum CUcoredumpSettings_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum CUcoredumpSettings_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum CUcoredumpSettings_enum) -1;
    } else {
        enum CUcoredumpSettings_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum CUcoredumpSettings_enum) -1;
        val = __Pyx_PyInt_As_enum__CUcoredumpSettings_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum CUcoredumpSettings_enum");
    return (enum CUcoredumpSettings_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum CUcoredumpSettings_enum");
    return (enum CUcoredumpSettings_enum) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum __Pyx_PyInt_As_enum____pyx_t_4cuda_5ccuda_CUGLDeviceList_enum(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum neg_one = (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) -1, const_zero = (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) >= 2 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) (((((enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) >= 3 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) (((((((enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) >= 4 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) (((((((((enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) (((enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)-1)*(((((enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) - 1 > 2 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) ((((((enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) (((enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)-1)*(((((((enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) - 1 > 3 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) ((((((((enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) (((enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)-1)*(((((((((enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) - 1 > 4 * PyLong_SHIFT)) {
                                return (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) ((((((((((enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[3]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[2]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[1]) << PyLong_SHIFT) | (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available, cannot convert large enums");
        return (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) -1;
    } else {
        enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) -1;
        val = __Pyx_PyInt_As_enum____pyx_t_4cuda_5ccuda_CUGLDeviceList_enum(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum");
    return (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum");
    return (enum __pyx_t_4cuda_5ccuda_CUGLDeviceList_enum) -1;
}

/* FormatTypeName */
#if CYTHON_COMPILING_IN_LIMITED_API
static __Pyx_TypeName
__Pyx_PyType_GetName(PyTypeObject* tp)
{
    PyObject *name = __Pyx_PyObject_GetAttrStr((PyObject *)tp,
                                               __pyx_n_s_name_3);
    if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) {
        PyErr_Clear();
        Py_XDECREF(name);
        name = __Pyx_NewRef(__pyx_n_s__1338);
    }
    return name;
}
#endif

/* CIntFromPy */
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const long neg_one = (long) -1, const_zero = (long) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if ((sizeof(long) < sizeof(long))) {
            __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (long) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            if (unlikely(__Pyx_PyLong_IsNeg(x))) {
                goto raise_neg_overflow;
            } else if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_DigitCount(x)) {
                    case 2:
                        if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(long) >= 2 * PyLong_SHIFT)) {
                                return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(long) >= 3 * PyLong_SHIFT)) {
                                return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(long) >= 4 * PyLong_SHIFT)) {
                                return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                            }
                        }
                        break;
                }
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (long) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if ((sizeof(long) <= sizeof(unsigned long))) {
                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(long) <= sizeof(unsigned PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            if (__Pyx_PyLong_IsCompact(x)) {
                __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
            } else {
                const digit* digits = __Pyx_PyLong_Digits(x);
                assert(__Pyx_PyLong_DigitCount(x) > 1);
                switch (__Pyx_PyLong_SignedDigitCount(x)) {
                    case -2:
                        if ((8 * sizeof(long) - 1 > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
                                return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                            }
                        }
                        break;
                    case 2:
                        if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
                                return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                            }
                        }
                        break;
                    case -3:
                        if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
                                return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                            }
                        }
                        break;
                    case 3:
                        if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
                                return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                            }
                        }
                        break;
                    case -4:
                        if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) {
                                return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                            }
                        }
                        break;
                    case 4:
                        if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) {
                            if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                                __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                            } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) {
                                return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                            }
                        }
                        break;
                }
            }
#endif
            if ((sizeof(long) <= sizeof(long))) {
                __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if ((sizeof(long) <= sizeof(PY_LONG_LONG))) {
                __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
            long val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
#if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
#endif
            if (likely(v)) {
                int ret = -1;
#if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                ret = _PyLong_AsByteArray((PyLongObject *)v,
                                           bytes, sizeof(val),
                                           is_little, !is_unsigned);
#else
                PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
                int bits, remaining_bits, is_negative = 0;
                long idigit;
                int chunk_size = (sizeof(long) < 8) ? 30 : 62;
                if (unlikely(!PyLong_CheckExact(v))) {
                    PyObject *tmp = v;
                    v = PyNumber_Long(v);
                    assert(PyLong_CheckExact(v));
                    Py_DECREF(tmp);
                    if (unlikely(!v)) return (long) -1;
                }
#if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                if (Py_SIZE(x) == 0)
                    return (long) 0;
                is_negative = Py_SIZE(x) < 0;
#else
                {
                    int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                    if (unlikely(result < 0))
                        return (long) -1;
                    is_negative = result == 1;
                }
#endif
                if (is_unsigned && unlikely(is_negative)) {
                    goto raise_neg_overflow;
                } else if (is_negative) {
                    stepval = PyNumber_Invert(v);
                    if (unlikely(!stepval))
                        return (long) -1;
                } else {
                    stepval = __Pyx_NewRef(v);
                }
                val = (long) 0;
                mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
                shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
                for (bits = 0; bits < (int) sizeof(long) * 8 - chunk_size; bits += chunk_size) {
                    PyObject *tmp, *digit;
                    digit = PyNumber_And(stepval, mask);
                    if (unlikely(!digit)) goto done;
                    idigit = PyLong_AsLong(digit);
                    Py_DECREF(digit);
                    if (unlikely(idigit < 0)) goto done;
                    tmp = PyNumber_Rshift(stepval, shift);
                    if (unlikely(!tmp)) goto done;
                    Py_DECREF(stepval); stepval = tmp;
                    val |= ((long) idigit) << bits;
                    #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
                    if (Py_SIZE(stepval) == 0)
                        goto unpacking_done;
                    #endif
                }
                idigit = PyLong_AsLong(stepval);
                if (unlikely(idigit < 0)) goto done;
                remaining_bits = ((int) sizeof(long) * 8) - bits - (is_unsigned ? 0 : 1);
                if (unlikely(idigit >= (1L << remaining_bits)))
                    goto raise_overflow;
                val |= ((long) idigit) << bits;
            #if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030B0000
            unpacking_done:
            #endif
                if (!is_unsigned) {
                    if (unlikely(val & (((long) 1) << (sizeof(long) * 8 - 1))))
                        goto raise_overflow;
                    if (is_negative)
                        val = ~val;
                }
                ret = 0;
            done:
                Py_XDECREF(shift);
                Py_XDECREF(mask);
                Py_XDECREF(stepval);
#endif
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
            return (long) -1;
        }
    } else {
        long val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (long) -1;
        val = __Pyx_PyInt_As_long(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to long");
    return (long) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to long");
    return (long) -1;
}

/* SwapException */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
  #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
    _PyErr_StackItem *exc_info = tstate->exc_info;
    tmp_value = exc_info->exc_value;
    exc_info->exc_value = *value;
    if (tmp_value == NULL || tmp_value == Py_None) {
        Py_XDECREF(tmp_value);
        tmp_value = NULL;
        tmp_type = NULL;
        tmp_tb = NULL;
    } else {
        tmp_type = (PyObject*) Py_TYPE(tmp_value);
        Py_INCREF(tmp_type);
        #if CYTHON_COMPILING_IN_CPYTHON
        tmp_tb = ((PyBaseExceptionObject*) tmp_value)->traceback;
        Py_XINCREF(tmp_tb);
        #else
        tmp_tb = PyException_GetTraceback(tmp_value);
        #endif
    }
  #elif CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = tstate->exc_info;
    tmp_type = exc_info->exc_type;
    tmp_value = exc_info->exc_value;
    tmp_tb = exc_info->exc_traceback;
    exc_info->exc_type = *type;
    exc_info->exc_value = *value;
    exc_info->exc_traceback = *tb;
  #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = *type;
    tstate->exc_value = *value;
    tstate->exc_traceback = *tb;
  #endif
    *type = tmp_type;
    *value = tmp_value;
    *tb = tmp_tb;
}
#else
static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb);
    PyErr_SetExcInfo(*type, *value, *tb);
    *type = tmp_type;
    *value = tmp_value;
    *tb = tmp_tb;
}
#endif

/* PyObjectCallMethod1 */
#if !(CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2)
static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
    PyObject *result = __Pyx_PyObject_CallOneArg(method, arg);
    Py_DECREF(method);
    return result;
}
#endif
static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
#if CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2
    PyObject *args[2] = {obj, arg};
    (void) __Pyx_PyObject_GetMethod;
    (void) __Pyx_PyObject_CallOneArg;
    (void) __Pyx_PyObject_Call2Args;
    return PyObject_VectorcallMethod(method_name, args, 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
#else
    PyObject *method = NULL, *result;
    int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
    if (likely(is_method)) {
        result = __Pyx_PyObject_Call2Args(method, obj, arg);
        Py_DECREF(method);
        return result;
    }
    if (unlikely(!method)) return NULL;
    return __Pyx__PyObject_CallMethod1(method, arg);
#endif
}

/* CoroutineBase */
#include <frameobject.h>
#if PY_VERSION_HEX >= 0x030b00a6
  #ifndef Py_BUILD_CORE
    #define Py_BUILD_CORE 1
  #endif
  #include "internal/pycore_frame.h"
#endif
#define __Pyx_Coroutine_Undelegate(gen) Py_CLEAR((gen)->yieldfrom)
static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *__pyx_tstate, PyObject **pvalue) {
    PyObject *et, *ev, *tb;
    PyObject *value = NULL;
    CYTHON_UNUSED_VAR(__pyx_tstate);
    __Pyx_ErrFetch(&et, &ev, &tb);
    if (!et) {
        Py_XDECREF(tb);
        Py_XDECREF(ev);
        Py_INCREF(Py_None);
        *pvalue = Py_None;
        return 0;
    }
    if (likely(et == PyExc_StopIteration)) {
        if (!ev) {
            Py_INCREF(Py_None);
            value = Py_None;
        }
#if PY_VERSION_HEX >= 0x030300A0
        else if (likely(__Pyx_IS_TYPE(ev, (PyTypeObject*)PyExc_StopIteration))) {
            value = ((PyStopIterationObject *)ev)->value;
            Py_INCREF(value);
            Py_DECREF(ev);
        }
#endif
        else if (unlikely(PyTuple_Check(ev))) {
            if (PyTuple_GET_SIZE(ev) >= 1) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                value = PyTuple_GET_ITEM(ev, 0);
                Py_INCREF(value);
#else
                value = PySequence_ITEM(ev, 0);
#endif
            } else {
                Py_INCREF(Py_None);
                value = Py_None;
            }
            Py_DECREF(ev);
        }
        else if (!__Pyx_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration)) {
            value = ev;
        }
        if (likely(value)) {
            Py_XDECREF(tb);
            Py_DECREF(et);
            *pvalue = value;
            return 0;
        }
    } else if (!__Pyx_PyErr_GivenExceptionMatches(et, PyExc_StopIteration)) {
        __Pyx_ErrRestore(et, ev, tb);
        return -1;
    }
    PyErr_NormalizeException(&et, &ev, &tb);
    if (unlikely(!PyObject_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration))) {
        __Pyx_ErrRestore(et, ev, tb);
        return -1;
    }
    Py_XDECREF(tb);
    Py_DECREF(et);
#if PY_VERSION_HEX >= 0x030300A0
    value = ((PyStopIterationObject *)ev)->value;
    Py_INCREF(value);
    Py_DECREF(ev);
#else
    {
        PyObject* args = __Pyx_PyObject_GetAttrStr(ev, __pyx_n_s_args);
        Py_DECREF(ev);
        if (likely(args)) {
            value = PySequence_GetItem(args, 0);
            Py_DECREF(args);
        }
        if (unlikely(!value)) {
            __Pyx_ErrRestore(NULL, NULL, NULL);
            Py_INCREF(Py_None);
            value = Py_None;
        }
    }
#endif
    *pvalue = value;
    return 0;
}
static CYTHON_INLINE
void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *exc_state) {
#if PY_VERSION_HEX >= 0x030B00a4
    Py_CLEAR(exc_state->exc_value);
#else
    PyObject *t, *v, *tb;
    t = exc_state->exc_type;
    v = exc_state->exc_value;
    tb = exc_state->exc_traceback;
    exc_state->exc_type = NULL;
    exc_state->exc_value = NULL;
    exc_state->exc_traceback = NULL;
    Py_XDECREF(t);
    Py_XDECREF(v);
    Py_XDECREF(tb);
#endif
}
#define __Pyx_Coroutine_AlreadyRunningError(gen)  (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL)
static void __Pyx__Coroutine_AlreadyRunningError(__pyx_CoroutineObject *gen) {
    const char *msg;
    CYTHON_MAYBE_UNUSED_VAR(gen);
    if ((0)) {
    #ifdef __Pyx_Coroutine_USED
    } else if (__Pyx_Coroutine_Check((PyObject*)gen)) {
        msg = "coroutine already executing";
    #endif
    #ifdef __Pyx_AsyncGen_USED
    } else if (__Pyx_AsyncGen_CheckExact((PyObject*)gen)) {
        msg = "async generator already executing";
    #endif
    } else {
        msg = "generator already executing";
    }
    PyErr_SetString(PyExc_ValueError, msg);
}
#define __Pyx_Coroutine_NotStartedError(gen)  (__Pyx__Coroutine_NotStartedError(gen), (PyObject*)NULL)
static void __Pyx__Coroutine_NotStartedError(PyObject *gen) {
    const char *msg;
    CYTHON_MAYBE_UNUSED_VAR(gen);
    if ((0)) {
    #ifdef __Pyx_Coroutine_USED
    } else if (__Pyx_Coroutine_Check(gen)) {
        msg = "can't send non-None value to a just-started coroutine";
    #endif
    #ifdef __Pyx_AsyncGen_USED
    } else if (__Pyx_AsyncGen_CheckExact(gen)) {
        msg = "can't send non-None value to a just-started async generator";
    #endif
    } else {
        msg = "can't send non-None value to a just-started generator";
    }
    PyErr_SetString(PyExc_TypeError, msg);
}
#define __Pyx_Coroutine_AlreadyTerminatedError(gen, value, closing)  (__Pyx__Coroutine_AlreadyTerminatedError(gen, value, closing), (PyObject*)NULL)
static void __Pyx__Coroutine_AlreadyTerminatedError(PyObject *gen, PyObject *value, int closing) {
    CYTHON_MAYBE_UNUSED_VAR(gen);
    CYTHON_MAYBE_UNUSED_VAR(closing);
    #ifdef __Pyx_Coroutine_USED
    if (!closing && __Pyx_Coroutine_Check(gen)) {
        PyErr_SetString(PyExc_RuntimeError, "cannot reuse already awaited coroutine");
    } else
    #endif
    if (value) {
        #ifdef __Pyx_AsyncGen_USED
        if (__Pyx_AsyncGen_CheckExact(gen))
            PyErr_SetNone(__Pyx_PyExc_StopAsyncIteration);
        else
        #endif
        PyErr_SetNone(PyExc_StopIteration);
    }
}
static
PyObject *__Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value, int closing) {
    __Pyx_PyThreadState_declare
    PyThreadState *tstate;
    __Pyx_ExcInfoStruct *exc_state;
    PyObject *retval;
    assert(!self->is_running);
    if (unlikely(self->resume_label == 0)) {
        if (unlikely(value && value != Py_None)) {
            return __Pyx_Coroutine_NotStartedError((PyObject*)self);
        }
    }
    if (unlikely(self->resume_label == -1)) {
        return __Pyx_Coroutine_AlreadyTerminatedError((PyObject*)self, value, closing);
    }
#if CYTHON_FAST_THREAD_STATE
    __Pyx_PyThreadState_assign
    tstate = __pyx_tstate;
#else
    tstate = __Pyx_PyThreadState_Current;
#endif
    exc_state = &self->gi_exc_state;
    if (exc_state->exc_value) {
        #if CYTHON_COMPILING_IN_PYPY
        #else
        PyObject *exc_tb;
        #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON
        exc_tb = PyException_GetTraceback(exc_state->exc_value);
        #elif PY_VERSION_HEX >= 0x030B00a4
        exc_tb = ((PyBaseExceptionObject*) exc_state->exc_value)->traceback;
        #else
        exc_tb = exc_state->exc_traceback;
        #endif
        if (exc_tb) {
            PyTracebackObject *tb = (PyTracebackObject *) exc_tb;
            PyFrameObject *f = tb->tb_frame;
            assert(f->f_back == NULL);
            #if PY_VERSION_HEX >= 0x030B00A1
            f->f_back = PyThreadState_GetFrame(tstate);
            #else
            Py_XINCREF(tstate->frame);
            f->f_back = tstate->frame;
            #endif
            #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON
            Py_DECREF(exc_tb);
            #endif
        }
        #endif
    }
#if CYTHON_USE_EXC_INFO_STACK
    exc_state->previous_item = tstate->exc_info;
    tstate->exc_info = exc_state;
#else
    if (exc_state->exc_type) {
        __Pyx_ExceptionSwap(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback);
    } else {
        __Pyx_Coroutine_ExceptionClear(exc_state);
        __Pyx_ExceptionSave(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback);
    }
#endif
    self->is_running = 1;
    retval = self->body(self, tstate, value);
    self->is_running = 0;
#if CYTHON_USE_EXC_INFO_STACK
    exc_state = &self->gi_exc_state;
    tstate->exc_info = exc_state->previous_item;
    exc_state->previous_item = NULL;
    __Pyx_Coroutine_ResetFrameBackpointer(exc_state);
#endif
    return retval;
}
static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state) {
#if CYTHON_COMPILING_IN_PYPY
    CYTHON_UNUSED_VAR(exc_state);
#else
    PyObject *exc_tb;
    #if PY_VERSION_HEX >= 0x030B00a4
    if (!exc_state->exc_value) return;
    exc_tb = PyException_GetTraceback(exc_state->exc_value);
    #else
    exc_tb = exc_state->exc_traceback;
    #endif
    if (likely(exc_tb)) {
        PyTracebackObject *tb = (PyTracebackObject *) exc_tb;
        PyFrameObject *f = tb->tb_frame;
        Py_CLEAR(f->f_back);
        #if PY_VERSION_HEX >= 0x030B00a4
        Py_DECREF(exc_tb);
        #endif
    }
#endif
}
static CYTHON_INLINE
PyObject *__Pyx_Coroutine_MethodReturn(PyObject* gen, PyObject *retval) {
    CYTHON_MAYBE_UNUSED_VAR(gen);
    if (unlikely(!retval)) {
        __Pyx_PyThreadState_declare
        __Pyx_PyThreadState_assign
        if (!__Pyx_PyErr_Occurred()) {
            PyObject *exc = PyExc_StopIteration;
            #ifdef __Pyx_AsyncGen_USED
            if (__Pyx_AsyncGen_CheckExact(gen))
                exc = __Pyx_PyExc_StopAsyncIteration;
            #endif
            __Pyx_PyErr_SetNone(exc);
        }
    }
    return retval;
}
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
static CYTHON_INLINE
PyObject *__Pyx_PyGen_Send(PyGenObject *gen, PyObject *arg) {
#if PY_VERSION_HEX <= 0x030A00A1
    return _PyGen_Send(gen, arg);
#else
    PyObject *result;
    if (PyIter_Send((PyObject*)gen, arg ? arg : Py_None, &result) == PYGEN_RETURN) {
        if (PyAsyncGen_CheckExact(gen)) {
            assert(result == Py_None);
            PyErr_SetNone(PyExc_StopAsyncIteration);
        }
        else if (result == Py_None) {
            PyErr_SetNone(PyExc_StopIteration);
        }
        else {
#if PY_VERSION_HEX < 0x030d00A1
            _PyGen_SetStopIterationValue(result);
#else
            if (!PyTuple_Check(result) && !PyExceptionInstance_Check(result)) {
                PyErr_SetObject(PyExc_StopIteration, result);
            } else {
                PyObject *exc = __Pyx_PyObject_CallOneArg(PyExc_StopIteration, result);
                if (likely(exc != NULL)) {
                    PyErr_SetObject(PyExc_StopIteration, exc);
                    Py_DECREF(exc);
                }
            }
#endif
        }
        Py_DECREF(result);
        result = NULL;
    }
    return result;
#endif
}
#endif
static CYTHON_INLINE
PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) {
    PyObject *ret;
    PyObject *val = NULL;
    __Pyx_Coroutine_Undelegate(gen);
    __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, &val);
    ret = __Pyx_Coroutine_SendEx(gen, val, 0);
    Py_XDECREF(val);
    return ret;
}
static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) {
    PyObject *retval;
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
    PyObject *yf = gen->yieldfrom;
    if (unlikely(gen->is_running))
        return __Pyx_Coroutine_AlreadyRunningError(gen);
    if (yf) {
        PyObject *ret;
        gen->is_running = 1;
        #ifdef __Pyx_Generator_USED
        if (__Pyx_Generator_CheckExact(yf)) {
            ret = __Pyx_Coroutine_Send(yf, value);
        } else
        #endif
        #ifdef __Pyx_Coroutine_USED
        if (__Pyx_Coroutine_Check(yf)) {
            ret = __Pyx_Coroutine_Send(yf, value);
        } else
        #endif
        #ifdef __Pyx_AsyncGen_USED
        if (__pyx_PyAsyncGenASend_CheckExact(yf)) {
            ret = __Pyx_async_gen_asend_send(yf, value);
        } else
        #endif
        #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
        if (PyGen_CheckExact(yf)) {
            ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
        } else
        #endif
        #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03050000 && defined(PyCoro_CheckExact) && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
        if (PyCoro_CheckExact(yf)) {
            ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
        } else
        #endif
        {
            if (value == Py_None)
                ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf);
            else
                ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value);
        }
        gen->is_running = 0;
        if (likely(ret)) {
            return ret;
        }
        retval = __Pyx_Coroutine_FinishDelegation(gen);
    } else {
        retval = __Pyx_Coroutine_SendEx(gen, value, 0);
    }
    return __Pyx_Coroutine_MethodReturn(self, retval);
}
static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) {
    PyObject *retval = NULL;
    int err = 0;
    #ifdef __Pyx_Generator_USED
    if (__Pyx_Generator_CheckExact(yf)) {
        retval = __Pyx_Coroutine_Close(yf);
        if (!retval)
            return -1;
    } else
    #endif
    #ifdef __Pyx_Coroutine_USED
    if (__Pyx_Coroutine_Check(yf)) {
        retval = __Pyx_Coroutine_Close(yf);
        if (!retval)
            return -1;
    } else
    if (__Pyx_CoroutineAwait_CheckExact(yf)) {
        retval = __Pyx_CoroutineAwait_Close((__pyx_CoroutineAwaitObject*)yf, NULL);
        if (!retval)
            return -1;
    } else
    #endif
    #ifdef __Pyx_AsyncGen_USED
    if (__pyx_PyAsyncGenASend_CheckExact(yf)) {
        retval = __Pyx_async_gen_asend_close(yf, NULL);
    } else
    if (__pyx_PyAsyncGenAThrow_CheckExact(yf)) {
        retval = __Pyx_async_gen_athrow_close(yf, NULL);
    } else
    #endif
    {
        PyObject *meth;
        gen->is_running = 1;
        meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_close);
        if (unlikely(!meth)) {
            if (unlikely(PyErr_Occurred())) {
                PyErr_WriteUnraisable(yf);
            }
        } else {
            retval = __Pyx_PyObject_CallNoArg(meth);
            Py_DECREF(meth);
            if (unlikely(!retval))
                err = -1;
        }
        gen->is_running = 0;
    }
    Py_XDECREF(retval);
    return err;
}
static PyObject *__Pyx_Generator_Next(PyObject *self) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
    PyObject *yf = gen->yieldfrom;
    if (unlikely(gen->is_running))
        return __Pyx_Coroutine_AlreadyRunningError(gen);
    if (yf) {
        PyObject *ret;
        gen->is_running = 1;
        #ifdef __Pyx_Generator_USED
        if (__Pyx_Generator_CheckExact(yf)) {
            ret = __Pyx_Generator_Next(yf);
        } else
        #endif
        #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
        if (PyGen_CheckExact(yf)) {
            ret = __Pyx_PyGen_Send((PyGenObject*)yf, NULL);
        } else
        #endif
        #ifdef __Pyx_Coroutine_USED
        if (__Pyx_Coroutine_Check(yf)) {
            ret = __Pyx_Coroutine_Send(yf, Py_None);
        } else
        #endif
            ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf);
        gen->is_running = 0;
        if (likely(ret)) {
            return ret;
        }
        return __Pyx_Coroutine_FinishDelegation(gen);
    }
    return __Pyx_Coroutine_SendEx(gen, Py_None, 0);
}
static PyObject *__Pyx_Coroutine_Close_Method(PyObject *self, PyObject *arg) {
    CYTHON_UNUSED_VAR(arg);
    return __Pyx_Coroutine_Close(self);
}
static PyObject *__Pyx_Coroutine_Close(PyObject *self) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    PyObject *retval, *raised_exception;
    PyObject *yf = gen->yieldfrom;
    int err = 0;
    if (unlikely(gen->is_running))
        return __Pyx_Coroutine_AlreadyRunningError(gen);
    if (yf) {
        Py_INCREF(yf);
        err = __Pyx_Coroutine_CloseIter(gen, yf);
        __Pyx_Coroutine_Undelegate(gen);
        Py_DECREF(yf);
    }
    if (err == 0)
        PyErr_SetNone(PyExc_GeneratorExit);
    retval = __Pyx_Coroutine_SendEx(gen, NULL, 1);
    if (unlikely(retval)) {
        const char *msg;
        Py_DECREF(retval);
        if ((0)) {
        #ifdef __Pyx_Coroutine_USED
        } else if (__Pyx_Coroutine_Check(self)) {
            msg = "coroutine ignored GeneratorExit";
        #endif
        #ifdef __Pyx_AsyncGen_USED
        } else if (__Pyx_AsyncGen_CheckExact(self)) {
#if PY_VERSION_HEX < 0x03060000
            msg = "async generator ignored GeneratorExit - might require Python 3.6+ finalisation (PEP 525)";
#else
            msg = "async generator ignored GeneratorExit";
#endif
        #endif
        } else {
            msg = "generator ignored GeneratorExit";
        }
        PyErr_SetString(PyExc_RuntimeError, msg);
        return NULL;
    }
    raised_exception = PyErr_Occurred();
    if (likely(!raised_exception || __Pyx_PyErr_GivenExceptionMatches2(raised_exception, PyExc_GeneratorExit, PyExc_StopIteration))) {
        if (raised_exception) PyErr_Clear();
        Py_INCREF(Py_None);
        return Py_None;
    }
    return NULL;
}
static PyObject *__Pyx__Coroutine_Throw(PyObject *self, PyObject *typ, PyObject *val, PyObject *tb,
                                        PyObject *args, int close_on_genexit) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    PyObject *yf = gen->yieldfrom;
    if (unlikely(gen->is_running))
        return __Pyx_Coroutine_AlreadyRunningError(gen);
    if (yf) {
        PyObject *ret;
        Py_INCREF(yf);
        if (__Pyx_PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit) && close_on_genexit) {
            int err = __Pyx_Coroutine_CloseIter(gen, yf);
            Py_DECREF(yf);
            __Pyx_Coroutine_Undelegate(gen);
            if (err < 0)
                return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0));
            goto throw_here;
        }
        gen->is_running = 1;
        if (0
        #ifdef __Pyx_Generator_USED
            || __Pyx_Generator_CheckExact(yf)
        #endif
        #ifdef __Pyx_Coroutine_USED
            || __Pyx_Coroutine_Check(yf)
        #endif
            ) {
            ret = __Pyx__Coroutine_Throw(yf, typ, val, tb, args, close_on_genexit);
        #ifdef __Pyx_Coroutine_USED
        } else if (__Pyx_CoroutineAwait_CheckExact(yf)) {
            ret = __Pyx__Coroutine_Throw(((__pyx_CoroutineAwaitObject*)yf)->coroutine, typ, val, tb, args, close_on_genexit);
        #endif
        } else {
            PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_throw);
            if (unlikely(!meth)) {
                Py_DECREF(yf);
                if (unlikely(PyErr_Occurred())) {
                    gen->is_running = 0;
                    return NULL;
                }
                __Pyx_Coroutine_Undelegate(gen);
                gen->is_running = 0;
                goto throw_here;
            }
            if (likely(args)) {
                ret = __Pyx_PyObject_Call(meth, args, NULL);
            } else {
                PyObject *cargs[4] = {NULL, typ, val, tb};
                ret = __Pyx_PyObject_FastCall(meth, cargs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
            }
            Py_DECREF(meth);
        }
        gen->is_running = 0;
        Py_DECREF(yf);
        if (!ret) {
            ret = __Pyx_Coroutine_FinishDelegation(gen);
        }
        return __Pyx_Coroutine_MethodReturn(self, ret);
    }
throw_here:
    __Pyx_Raise(typ, val, tb, NULL);
    return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0));
}
static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) {
    PyObject *typ;
    PyObject *val = NULL;
    PyObject *tb = NULL;
    if (unlikely(!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb)))
        return NULL;
    return __Pyx__Coroutine_Throw(self, typ, val, tb, args, 1);
}
static CYTHON_INLINE int __Pyx_Coroutine_traverse_excstate(__Pyx_ExcInfoStruct *exc_state, visitproc visit, void *arg) {
#if PY_VERSION_HEX >= 0x030B00a4
    Py_VISIT(exc_state->exc_value);
#else
    Py_VISIT(exc_state->exc_type);
    Py_VISIT(exc_state->exc_value);
    Py_VISIT(exc_state->exc_traceback);
#endif
    return 0;
}
static int __Pyx_Coroutine_traverse(__pyx_CoroutineObject *gen, visitproc visit, void *arg) {
    Py_VISIT(gen->closure);
    Py_VISIT(gen->classobj);
    Py_VISIT(gen->yieldfrom);
    return __Pyx_Coroutine_traverse_excstate(&gen->gi_exc_state, visit, arg);
}
static int __Pyx_Coroutine_clear(PyObject *self) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    Py_CLEAR(gen->closure);
    Py_CLEAR(gen->classobj);
    Py_CLEAR(gen->yieldfrom);
    __Pyx_Coroutine_ExceptionClear(&gen->gi_exc_state);
#ifdef __Pyx_AsyncGen_USED
    if (__Pyx_AsyncGen_CheckExact(self)) {
        Py_CLEAR(((__pyx_PyAsyncGenObject*)gen)->ag_finalizer);
    }
#endif
    Py_CLEAR(gen->gi_code);
    Py_CLEAR(gen->gi_frame);
    Py_CLEAR(gen->gi_name);
    Py_CLEAR(gen->gi_qualname);
    Py_CLEAR(gen->gi_modulename);
    return 0;
}
static void __Pyx_Coroutine_dealloc(PyObject *self) {
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    PyObject_GC_UnTrack(gen);
    if (gen->gi_weakreflist != NULL)
        PyObject_ClearWeakRefs(self);
    if (gen->resume_label >= 0) {
        PyObject_GC_Track(self);
#if PY_VERSION_HEX >= 0x030400a1 && CYTHON_USE_TP_FINALIZE
        if (unlikely(PyObject_CallFinalizerFromDealloc(self)))
#else
        Py_TYPE(gen)->tp_del(self);
        if (unlikely(Py_REFCNT(self) > 0))
#endif
        {
            return;
        }
        PyObject_GC_UnTrack(self);
    }
#ifdef __Pyx_AsyncGen_USED
    if (__Pyx_AsyncGen_CheckExact(self)) {
        /* We have to handle this case for asynchronous generators
           right here, because this code has to be between UNTRACK
           and GC_Del. */
        Py_CLEAR(((__pyx_PyAsyncGenObject*)self)->ag_finalizer);
    }
#endif
    __Pyx_Coroutine_clear(self);
    __Pyx_PyHeapTypeObject_GC_Del(gen);
}
static void __Pyx_Coroutine_del(PyObject *self) {
    PyObject *error_type, *error_value, *error_traceback;
    __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
    __Pyx_PyThreadState_declare
    if (gen->resume_label < 0) {
        return;
    }
#if !CYTHON_USE_TP_FINALIZE
    assert(self->ob_refcnt == 0);
    __Pyx_SET_REFCNT(self, 1);
#endif
    __Pyx_PyThreadState_assign
    __Pyx_ErrFetch(&error_type, &error_value, &error_traceback);
#ifdef __Pyx_AsyncGen_USED
    if (__Pyx_AsyncGen_CheckExact(self)) {
        __pyx_PyAsyncGenObject *agen = (__pyx_PyAsyncGenObject*)self;
        PyObject *finalizer = agen->ag_finalizer;
        if (finalizer && !agen->ag_closed) {
            PyObject *res = __Pyx_PyObject_CallOneArg(finalizer, self);
            if (unlikely(!res)) {
                PyErr_WriteUnraisable(self);
            } else {
                Py_DECREF(res);
            }
            __Pyx_ErrRestore(error_type, error_value, error_traceback);
            return;
        }
    }
#endif
    if (unlikely(gen->resume_label == 0 && !error_value)) {
#ifdef __Pyx_Coroutine_USED
#ifdef __Pyx_Generator_USED
    if (!__Pyx_Generator_CheckExact(self))
#endif
        {
        PyObject_GC_UnTrack(self);
#if PY_MAJOR_VERSION >= 3  || defined(PyErr_WarnFormat)
        if (unlikely(PyErr_WarnFormat(PyExc_RuntimeWarning, 1, "coroutine '%.50S' was never awaited", gen->gi_qualname) < 0))
            PyErr_WriteUnraisable(self);
#else
        {PyObject *msg;
        char *cmsg;
        #if CYTHON_COMPILING_IN_PYPY
        msg = NULL;
        cmsg = (char*) "coroutine was never awaited";
        #else
        char *cname;
        PyObject *qualname;
        qualname = gen->gi_qualname;
        cname = PyString_AS_STRING(qualname);
        msg = PyString_FromFormat("coroutine '%.50s' was never awaited", cname);
        if (unlikely(!msg)) {
            PyErr_Clear();
            cmsg = (char*) "coroutine was never awaited";
        } else {
            cmsg = PyString_AS_STRING(msg);
        }
        #endif
        if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, cmsg, 1) < 0))
            PyErr_WriteUnraisable(self);
        Py_XDECREF(msg);}
#endif
        PyObject_GC_Track(self);
        }
#endif
    } else {
        PyObject *res = __Pyx_Coroutine_Close(self);
        if (unlikely(!res)) {
            if (PyErr_Occurred())
                PyErr_WriteUnraisable(self);
        } else {
            Py_DECREF(res);
        }
    }
    __Pyx_ErrRestore(error_type, error_value, error_traceback);
#if !CYTHON_USE_TP_FINALIZE
    assert(Py_REFCNT(self) > 0);
    if (likely(--self->ob_refcnt == 0)) {
        return;
    }
    {
        Py_ssize_t refcnt = Py_REFCNT(self);
        _Py_NewReference(self);
        __Pyx_SET_REFCNT(self, refcnt);
    }
#if CYTHON_COMPILING_IN_CPYTHON
    assert(PyType_IS_GC(Py_TYPE(self)) &&
           _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED);
    _Py_DEC_REFTOTAL;
#endif
#ifdef COUNT_ALLOCS
    --Py_TYPE(self)->tp_frees;
    --Py_TYPE(self)->tp_allocs;
#endif
#endif
}
static PyObject *
__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self, void *context)
{
    PyObject *name = self->gi_name;
    CYTHON_UNUSED_VAR(context);
    if (unlikely(!name)) name = Py_None;
    Py_INCREF(name);
    return name;
}
static int
__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
#if PY_MAJOR_VERSION >= 3
    if (unlikely(value == NULL || !PyUnicode_Check(value)))
#else
    if (unlikely(value == NULL || !PyString_Check(value)))
#endif
    {
        PyErr_SetString(PyExc_TypeError,
                        "__name__ must be set to a string object");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(self->gi_name, value);
    return 0;
}
static PyObject *
__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, void *context)
{
    PyObject *name = self->gi_qualname;
    CYTHON_UNUSED_VAR(context);
    if (unlikely(!name)) name = Py_None;
    Py_INCREF(name);
    return name;
}
static int
__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
#if PY_MAJOR_VERSION >= 3
    if (unlikely(value == NULL || !PyUnicode_Check(value)))
#else
    if (unlikely(value == NULL || !PyString_Check(value)))
#endif
    {
        PyErr_SetString(PyExc_TypeError,
                        "__qualname__ must be set to a string object");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_Py_XDECREF_SET(self->gi_qualname, value);
    return 0;
}
static PyObject *
__Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, void *context)
{
    PyObject *frame = self->gi_frame;
    CYTHON_UNUSED_VAR(context);
    if (!frame) {
        if (unlikely(!self->gi_code)) {
            Py_RETURN_NONE;
        }
        frame = (PyObject *) PyFrame_New(
            PyThreadState_Get(),            /*PyThreadState *tstate,*/
            (PyCodeObject*) self->gi_code,  /*PyCodeObject *code,*/
            __pyx_d,                 /*PyObject *globals,*/
            0                               /*PyObject *locals*/
        );
        if (unlikely(!frame))
            return NULL;
        self->gi_frame = frame;
    }
    Py_INCREF(frame);
    return frame;
}
static __pyx_CoroutineObject *__Pyx__Coroutine_New(
            PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
            PyObject *name, PyObject *qualname, PyObject *module_name) {
    __pyx_CoroutineObject *gen = PyObject_GC_New(__pyx_CoroutineObject, type);
    if (unlikely(!gen))
        return NULL;
    return __Pyx__Coroutine_NewInit(gen, body, code, closure, name, qualname, module_name);
}
static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
            __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
            PyObject *name, PyObject *qualname, PyObject *module_name) {
    gen->body = body;
    gen->closure = closure;
    Py_XINCREF(closure);
    gen->is_running = 0;
    gen->resume_label = 0;
    gen->classobj = NULL;
    gen->yieldfrom = NULL;
    #if PY_VERSION_HEX >= 0x030B00a4
    gen->gi_exc_state.exc_value = NULL;
    #else
    gen->gi_exc_state.exc_type = NULL;
    gen->gi_exc_state.exc_value = NULL;
    gen->gi_exc_state.exc_traceback = NULL;
    #endif
#if CYTHON_USE_EXC_INFO_STACK
    gen->gi_exc_state.previous_item = NULL;
#endif
    gen->gi_weakreflist = NULL;
    Py_XINCREF(qualname);
    gen->gi_qualname = qualname;
    Py_XINCREF(name);
    gen->gi_name = name;
    Py_XINCREF(module_name);
    gen->gi_modulename = module_name;
    Py_XINCREF(code);
    gen->gi_code = code;
    gen->gi_frame = NULL;
    PyObject_GC_Track(gen);
    return gen;
}

/* PatchModuleWithCoroutine */
static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code) {
#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
    int result;
    PyObject *globals, *result_obj;
    globals = PyDict_New();  if (unlikely(!globals)) goto ignore;
    result = PyDict_SetItemString(globals, "_cython_coroutine_type",
    #ifdef __Pyx_Coroutine_USED
        (PyObject*)__pyx_CoroutineType);
    #else
        Py_None);
    #endif
    if (unlikely(result < 0)) goto ignore;
    result = PyDict_SetItemString(globals, "_cython_generator_type",
    #ifdef __Pyx_Generator_USED
        (PyObject*)__pyx_GeneratorType);
    #else
        Py_None);
    #endif
    if (unlikely(result < 0)) goto ignore;
    if (unlikely(PyDict_SetItemString(globals, "_module", module) < 0)) goto ignore;
    if (unlikely(PyDict_SetItemString(globals, "__builtins__", __pyx_b) < 0)) goto ignore;
    result_obj = PyRun_String(py_code, Py_file_input, globals, globals);
    if (unlikely(!result_obj)) goto ignore;
    Py_DECREF(result_obj);
    Py_DECREF(globals);
    return module;
ignore:
    Py_XDECREF(globals);
    PyErr_WriteUnraisable(module);
    if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch module with custom type", 1) < 0)) {
        Py_DECREF(module);
        module = NULL;
    }
#else
    py_code++;
#endif
    return module;
}

/* PatchGeneratorABC */
#ifndef CYTHON_REGISTER_ABCS
#define CYTHON_REGISTER_ABCS 1
#endif
#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
static PyObject* __Pyx_patch_abc_module(PyObject *module);
static PyObject* __Pyx_patch_abc_module(PyObject *module) {
    module = __Pyx_Coroutine_patch_module(
        module, ""
"if _cython_generator_type is not None:\n"
"    try: Generator = _module.Generator\n"
"    except AttributeError: pass\n"
"    else: Generator.register(_cython_generator_type)\n"
"if _cython_coroutine_type is not None:\n"
"    try: Coroutine = _module.Coroutine\n"
"    except AttributeError: pass\n"
"    else: Coroutine.register(_cython_coroutine_type)\n"
    );
    return module;
}
#endif
static int __Pyx_patch_abc(void) {
#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
    static int abc_patched = 0;
    if (CYTHON_REGISTER_ABCS && !abc_patched) {
        PyObject *module;
        module = PyImport_ImportModule((PY_MAJOR_VERSION >= 3) ? "collections.abc" : "collections");
        if (unlikely(!module)) {
            PyErr_WriteUnraisable(NULL);
            if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning,
                    ((PY_MAJOR_VERSION >= 3) ?
                        "Cython module failed to register with collections.abc module" :
                        "Cython module failed to register with collections module"), 1) < 0)) {
                return -1;
            }
        } else {
            module = __Pyx_patch_abc_module(module);
            abc_patched = 1;
            if (unlikely(!module))
                return -1;
            Py_DECREF(module);
        }
        module = PyImport_ImportModule("backports_abc");
        if (module) {
            module = __Pyx_patch_abc_module(module);
            Py_XDECREF(module);
        }
        if (!module) {
            PyErr_Clear();
        }
    }
#else
    if ((0)) __Pyx_Coroutine_patch_module(NULL, NULL);
#endif
    return 0;
}

/* Generator */
static PyMethodDef __pyx_Generator_methods[] = {
    {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O,
     (char*) PyDoc_STR("send(arg) -> send 'arg' into generator,\nreturn next yielded value or raise StopIteration.")},
    {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS,
     (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in generator,\nreturn next yielded value or raise StopIteration.")},
    {"close", (PyCFunction) __Pyx_Coroutine_Close_Method, METH_NOARGS,
     (char*) PyDoc_STR("close() -> raise GeneratorExit inside generator.")},
    {0, 0, 0, 0}
};
static PyMemberDef __pyx_Generator_memberlist[] = {
    {(char *) "gi_running", T_BOOL, offsetof(__pyx_CoroutineObject, is_running), READONLY, NULL},
    {(char*) "gi_yieldfrom", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY,
     (char*) PyDoc_STR("object being iterated by 'yield from', or None")},
    {(char*) "gi_code", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_code), READONLY, NULL},
    {(char *) "__module__", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_modulename), 0, 0},
#if CYTHON_USE_TYPE_SPECS
    {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CoroutineObject, gi_weakreflist), READONLY, 0},
#endif
    {0, 0, 0, 0, 0}
};
static PyGetSetDef __pyx_Generator_getsets[] = {
    {(char *) "__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name,
     (char*) PyDoc_STR("name of the generator"), 0},
    {(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname,
     (char*) PyDoc_STR("qualified name of the generator"), 0},
    {(char *) "gi_frame", (getter)__Pyx_Coroutine_get_frame, NULL,
     (char*) PyDoc_STR("Frame of the generator"), 0},
    {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_GeneratorType_slots[] = {
    {Py_tp_dealloc, (void *)__Pyx_Coroutine_dealloc},
    {Py_tp_traverse, (void *)__Pyx_Coroutine_traverse},
    {Py_tp_iter, (void *)PyObject_SelfIter},
    {Py_tp_iternext, (void *)__Pyx_Generator_Next},
    {Py_tp_methods, (void *)__pyx_Generator_methods},
    {Py_tp_members, (void *)__pyx_Generator_memberlist},
    {Py_tp_getset, (void *)__pyx_Generator_getsets},
    {Py_tp_getattro, (void *) __Pyx_PyObject_GenericGetAttrNoDict},
#if CYTHON_USE_TP_FINALIZE
    {Py_tp_finalize, (void *)__Pyx_Coroutine_del},
#endif
    {0, 0},
};
static PyType_Spec __pyx_GeneratorType_spec = {
    __PYX_TYPE_MODULE_PREFIX "generator",
    sizeof(__pyx_CoroutineObject),
    0,
    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE,
    __pyx_GeneratorType_slots
};
#else
static PyTypeObject __pyx_GeneratorType_type = {
    PyVarObject_HEAD_INIT(0, 0)
    __PYX_TYPE_MODULE_PREFIX "generator",
    sizeof(__pyx_CoroutineObject),
    0,
    (destructor) __Pyx_Coroutine_dealloc,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE,
    0,
    (traverseproc) __Pyx_Coroutine_traverse,
    0,
    0,
    offsetof(__pyx_CoroutineObject, gi_weakreflist),
    0,
    (iternextfunc) __Pyx_Generator_Next,
    __pyx_Generator_methods,
    __pyx_Generator_memberlist,
    __pyx_Generator_getsets,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
#if CYTHON_USE_TP_FINALIZE
    0,
#else
    __Pyx_Coroutine_del,
#endif
    0,
#if CYTHON_USE_TP_FINALIZE
    __Pyx_Coroutine_del,
#elif PY_VERSION_HEX >= 0x030400a1
    0,
#endif
#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
    0,
#endif
#if __PYX_NEED_TP_PRINT_SLOT
    0,
#endif
#if PY_VERSION_HEX >= 0x030C0000
    0,
#endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
    0,
#endif
};
#endif
static int __pyx_Generator_init(PyObject *module) {
#if CYTHON_USE_TYPE_SPECS
    __pyx_GeneratorType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_GeneratorType_spec, NULL);
#else
    CYTHON_UNUSED_VAR(module);
    __pyx_GeneratorType_type.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
    __pyx_GeneratorType_type.tp_iter = PyObject_SelfIter;
    __pyx_GeneratorType = __Pyx_FetchCommonType(&__pyx_GeneratorType_type);
#endif
    if (unlikely(!__pyx_GeneratorType)) {
        return -1;
    }
    return 0;
}

/* CheckBinaryVersion */
static unsigned long __Pyx_get_runtime_version(void) {
#if __PYX_LIMITED_VERSION_HEX >= 0x030B00A4
    return Py_Version & ~0xFFUL;
#else
    const char* rt_version = Py_GetVersion();
    unsigned long version = 0;
    unsigned long factor = 0x01000000UL;
    unsigned int digit = 0;
    int i = 0;
    while (factor) {
        while ('0' <= rt_version[i] && rt_version[i] <= '9') {
            digit = digit * 10 + (unsigned int) (rt_version[i] - '0');
            ++i;
        }
        version += factor * digit;
        if (rt_version[i] != '.')
            break;
        digit = 0;
        factor >>= 8;
        ++i;
    }
    return version;
#endif
}
static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) {
    const unsigned long MAJOR_MINOR = 0xFFFF0000UL;
    if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR))
        return 0;
    if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR)))
        return 1;
    {
        char message[200];
        PyOS_snprintf(message, sizeof(message),
                      "compile time Python version %d.%d "
                      "of module '%.100s' "
                      "%s "
                      "runtime version %d.%d",
                       (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF),
                       __Pyx_MODULE_NAME,
                       (allow_newer) ? "was newer than" : "does not match",
                       (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF)
       );
        return PyErr_WarnEx(NULL, message, 1);
    }
}

/* FunctionImport */
#ifndef __PYX_HAVE_RT_ImportFunction_3_0_7
#define __PYX_HAVE_RT_ImportFunction_3_0_7
static int __Pyx_ImportFunction_3_0_7(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
    PyObject *d = 0;
    PyObject *cobj = 0;
    union {
        void (*fp)(void);
        void *p;
    } tmp;
    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
    if (!d)
        goto bad;
    cobj = PyDict_GetItemString(d, funcname);
    if (!cobj) {
        PyErr_Format(PyExc_ImportError,
            "%.200s does not export expected C function %.200s",
                PyModule_GetName(module), funcname);
        goto bad;
    }
    if (!PyCapsule_IsValid(cobj, sig)) {
        PyErr_Format(PyExc_TypeError,
            "C function %.200s.%.200s has wrong signature (expected %.500s, got %.500s)",
             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
        goto bad;
    }
    tmp.p = PyCapsule_GetPointer(cobj, sig);
    *f = tmp.fp;
    if (!(*f))
        goto bad;
    Py_DECREF(d);
    return 0;
bad:
    Py_XDECREF(d);
    return -1;
}
#endif

/* InitStrings */
#if PY_MAJOR_VERSION >= 3
static int __Pyx_InitString(__Pyx_StringTabEntry t, PyObject **str) {
    if (t.is_unicode | t.is_str) {
        if (t.intern) {
            *str = PyUnicode_InternFromString(t.s);
        } else if (t.encoding) {
            *str = PyUnicode_Decode(t.s, t.n - 1, t.encoding, NULL);
        } else {
            *str = PyUnicode_FromStringAndSize(t.s, t.n - 1);
        }
    } else {
        *str = PyBytes_FromStringAndSize(t.s, t.n - 1);
    }
    if (!*str)
        return -1;
    if (PyObject_Hash(*str) == -1)
        return -1;
    return 0;
}
#endif
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
    while (t->p) {
        #if PY_MAJOR_VERSION >= 3
        __Pyx_InitString(*t, t->p);
        #else
        if (t->is_unicode) {
            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
        } else if (t->intern) {
            *t->p = PyString_InternFromString(t->s);
        } else {
            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
        }
        if (!*t->p)
            return -1;
        if (PyObject_Hash(*t->p) == -1)
            return -1;
        #endif
        ++t;
    }
    return 0;
}

#include <string.h>
static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) {
    size_t len = strlen(s);
    if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) {
        PyErr_SetString(PyExc_OverflowError, "byte string is too long");
        return -1;
    }
    return (Py_ssize_t) len;
}
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
    Py_ssize_t len = __Pyx_ssize_strlen(c_str);
    if (unlikely(len < 0)) return NULL;
    return __Pyx_PyUnicode_FromStringAndSize(c_str, len);
}
static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) {
    Py_ssize_t len = __Pyx_ssize_strlen(c_str);
    if (unlikely(len < 0)) return NULL;
    return PyByteArray_FromStringAndSize(c_str, len);
}
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
    Py_ssize_t ignore;
    return __Pyx_PyObject_AsStringAndSize(o, &ignore);
}
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
#if !CYTHON_PEP393_ENABLED
static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
    char* defenc_c;
    PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
    if (!defenc) return NULL;
    defenc_c = PyBytes_AS_STRING(defenc);
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
    {
        char* end = defenc_c + PyBytes_GET_SIZE(defenc);
        char* c;
        for (c = defenc_c; c < end; c++) {
            if ((unsigned char) (*c) >= 128) {
                PyUnicode_AsASCIIString(o);
                return NULL;
            }
        }
    }
#endif
    *length = PyBytes_GET_SIZE(defenc);
    return defenc_c;
}
#else
static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
    if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
    if (likely(PyUnicode_IS_ASCII(o))) {
        *length = PyUnicode_GET_LENGTH(o);
        return PyUnicode_AsUTF8(o);
    } else {
        PyUnicode_AsASCIIString(o);
        return NULL;
    }
#else
    return PyUnicode_AsUTF8AndSize(o, length);
#endif
}
#endif
#endif
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
    if (
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
            __Pyx_sys_getdefaultencoding_not_ascii &&
#endif
            PyUnicode_Check(o)) {
        return __Pyx_PyUnicode_AsStringAndSize(o, length);
    } else
#endif
#if (!CYTHON_COMPILING_IN_PYPY && !CYTHON_COMPILING_IN_LIMITED_API) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
    if (PyByteArray_Check(o)) {
        *length = PyByteArray_GET_SIZE(o);
        return PyByteArray_AS_STRING(o);
    } else
#endif
    {
        char* result;
        int r = PyBytes_AsStringAndSize(o, &result, length);
        if (unlikely(r < 0)) {
            return NULL;
        } else {
            return result;
        }
    }
}
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
   int is_true = x == Py_True;
   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
   else return PyObject_IsTrue(x);
}
static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {
    int retval;
    if (unlikely(!x)) return -1;
    retval = __Pyx_PyObject_IsTrue(x);
    Py_DECREF(x);
    return retval;
}
static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) {
    __Pyx_TypeName result_type_name = __Pyx_PyType_GetName(Py_TYPE(result));
#if PY_MAJOR_VERSION >= 3
    if (PyLong_Check(result)) {
        if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
                "__int__ returned non-int (type " __Pyx_FMT_TYPENAME ").  "
                "The ability to return an instance of a strict subclass of int is deprecated, "
                "and may be removed in a future version of Python.",
                result_type_name)) {
            __Pyx_DECREF_TypeName(result_type_name);
            Py_DECREF(result);
            return NULL;
        }
        __Pyx_DECREF_TypeName(result_type_name);
        return result;
    }
#endif
    PyErr_Format(PyExc_TypeError,
                 "__%.4s__ returned non-%.4s (type " __Pyx_FMT_TYPENAME ")",
                 type_name, type_name, result_type_name);
    __Pyx_DECREF_TypeName(result_type_name);
    Py_DECREF(result);
    return NULL;
}
static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {
#if CYTHON_USE_TYPE_SLOTS
  PyNumberMethods *m;
#endif
  const char *name = NULL;
  PyObject *res = NULL;
#if PY_MAJOR_VERSION < 3
  if (likely(PyInt_Check(x) || PyLong_Check(x)))
#else
  if (likely(PyLong_Check(x)))
#endif
    return __Pyx_NewRef(x);
#if CYTHON_USE_TYPE_SLOTS
  m = Py_TYPE(x)->tp_as_number;
  #if PY_MAJOR_VERSION < 3
  if (m && m->nb_int) {
    name = "int";
    res = m->nb_int(x);
  }
  else if (m && m->nb_long) {
    name = "long";
    res = m->nb_long(x);
  }
  #else
  if (likely(m && m->nb_int)) {
    name = "int";
    res = m->nb_int(x);
  }
  #endif
#else
  if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
    res = PyNumber_Int(x);
  }
#endif
  if (likely(res)) {
#if PY_MAJOR_VERSION < 3
    if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) {
#else
    if (unlikely(!PyLong_CheckExact(res))) {
#endif
        return __Pyx_PyNumber_IntOrLongWrongResultType(res, name);
    }
  }
  else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_TypeError,
                    "an integer is required");
  }
  return res;
}
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
  Py_ssize_t ival;
  PyObject *x;
#if PY_MAJOR_VERSION < 3
  if (likely(PyInt_CheckExact(b))) {
    if (sizeof(Py_ssize_t) >= sizeof(long))
        return PyInt_AS_LONG(b);
    else
        return PyInt_AsSsize_t(b);
  }
#endif
  if (likely(PyLong_CheckExact(b))) {
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(__Pyx_PyLong_IsCompact(b))) {
        return __Pyx_PyLong_CompactValue(b);
    } else {
      const digit* digits = __Pyx_PyLong_Digits(b);
      const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(b);
      switch (size) {
         case 2:
           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -2:
           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case 3:
           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -3:
           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case 4:
           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -4:
           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
      }
    }
    #endif
    return PyLong_AsSsize_t(b);
  }
  x = PyNumber_Index(b);
  if (!x) return -1;
  ival = PyInt_AsSsize_t(x);
  Py_DECREF(x);
  return ival;
}
static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) {
  if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) {
    return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o);
#if PY_MAJOR_VERSION < 3
  } else if (likely(PyInt_CheckExact(o))) {
    return PyInt_AS_LONG(o);
#endif
  } else {
    Py_ssize_t ival;
    PyObject *x;
    x = PyNumber_Index(o);
    if (!x) return -1;
    ival = PyInt_AsLong(x);
    Py_DECREF(x);
    return ival;
  }
}
static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
  return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);
}
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
    return PyInt_FromSize_t(ival);
}


/* #### Code section: utility_code_pragmas_end ### */
#ifdef _MSC_VER
#pragma warning( pop )
#endif



/* #### Code section: end ### */
#endif /* Py_PYTHON_H */
